gojs
Version:
Interactive diagrams, charts, and graphs, such as trees, flowcharts, orgcharts, UML, BPMN, or business diagrams
119 lines • 872 kB
JavaScript
/*
* GoJS v1.6.10 JavaScript Library for HTML Diagrams
* Northwoods Software, https://www.nwoods.com/
* GoJS and Northwoods Software are registered trademarks of Northwoods Software Corporation.
* Copyright (C) 1998-2016 by Northwoods Software Corporation. All Rights Reserved.
* THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/1.6.10/doc/license.html.
*/
(function(window) { var f,ca={};if(!window.document||void 0===window.document.createElement("canvas").getContext)throw window.console&&window.console.log("The HTML Canvas element is not supported in this browser,or this browser is in Compatibility mode."),Error("The HTML Canvas element is not supported in this browser,or this browser is in Compatibility mode.");if(!Object.defineProperty)throw Error("GoJS requires a newer version of JavaScript");
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return g.apply(a,e.concat(d.call(arguments)))}function c(){}var d=Array.prototype.slice,e=d.call(arguments,1),g=this;c.prototype=this.prototype;b.prototype=new c;return b});
(function(){for(var a=0,b=["ms","moz","webkit","o"],c=0;c<b.length&&!window.requestAnimationFrame;++c)window.requestAnimationFrame=window[b[c]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[b[c]+"CancelAnimationFrame"]||window[b[c]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(b){var c=(new Date).getTime(),g=Math.max(8,16-(c-a)),h=window.setTimeout(function(){b(c+g)},g);a=c+g;return h});window.cancelAnimationFrame||(window.cancelAnimationFrame=
function(a){window.clearTimeout(a)})})();
var u={gj:!1,nA:!1,ME:!1,mI:!1,EF:!1,dF:!1,Dt:null,enableBoundsInfo:function(a){u.gj=!0;a&&a.su()},disableBoundsInfo:function(a){u.gj=!1;a&&(da(a),a.su())},JE:function(a,b){void 0===a&&(a=u.Dt);void 0===b&&(b=a.Ll("").pb);var c=b.length,d=a.nb.getContext("2d");d.fillStyle="rgba(255,255,0,.3)";for(var e=0;e<c;e++){var g=b.ia(e),h=g.ba;if(null!==g.za)u.JE(a,g.za);else{var k=g.Fk.copy();k.QA(g.Md);d.save();d.transform(k.m11,k.m12,k.m21,k.m22,k.dx,k.dy);d.fillRect(h.x,h.y,h.width,h.height);d.restore()}}},
KE:function(a,b){a||(a=u.Dt);b||(b=a.Ll("").pb);var c=a.nb.getContext("2d"),d=b.length;c.fillStyle="rgba(0,0,255,.3)";for(var e=0;e<d;e++){var g=b.ia(e),h=g.Ga,k=g.Fk;null!==g.za?u.KE(a,g.za):(c.save(),c.transform(k.m11,k.m12,k.m21,k.m22,k.dx,k.dy),c.fillRect(h.x,h.y,h.width,h.height),c.restore())}},hI:function(a,b){a||(a=u.Dt);b||(b=a.Ll("").pb);var c=a.nb.getContext("2d"),d=b.length;c.fillStyle="rgba(0,0,255,.3)";for(var e=0;e<d;e++){var g=b.ia(e),h=g.Ia,k=g.Fk;null!==g.za?u.hI(a,g.za):(c.save(),
c.transform(k.m11,k.m12,k.m21,k.m22,k.dx,k.dy),c.fillRect(h.x||0,h.y||0,h.width,h.height),c.restore())}},kL:function(){u.KE();u.JE()},lL:function(a){a||(a=u.Dt);var b=a.Fc;a=a.nb.getContext("2d");a.strokeStyle="rgba(0,255,0,.9)";a.strokeRect(b.x,b.y,b.width,b.height)},LE:function(a,b){b.fillStyle="red";b.fillRect(0,0,8,8);b.lineWidth=8;b.strokeStyle="rgba(255,255,0,.6)";var c=a.Ab;b.strokeRect(c.x,c.y,c.width,c.height);b.fillStyle="rgba(0,255,0,.2)";b.fillRect(a.Fc.x,a.Fc.y,a.Fc.width,a.Fc.height)},
iI:function(a,b){b instanceof fa||(a.lineWidth=2,a.strokeStyle="rgba(255,0,0,.5)",a.strokeRect(b.Yb.x,b.Yb.y,b.Yb.width,b.Yb.height),void 0!==b.stroke&&(a.strokeStyle=b.stroke),void 0!==b.Qe&&(a.lineWidth=b.Qe),null!==b.V&&b.V.type===ia&&(a.lineWidth=1,a.strokeStyle="rgba(10,200,10,.6)",void 0!==b.stroke&&(a.strokeStyle=b.stroke),void 0!==b.Qe&&(a.lineWidth=b.Qe)))},jI:function(a,b){a.lineWidth=1;a.strokeStyle="rgba(0,0,255,.5)";a.strokeRect(b.Ga.x,b.Ga.y,b.Ga.width,b.Ga.height);void 0!==b.stroke&&
(a.strokeStyle=b.stroke);void 0!==b.Qe&&(a.lineWidth=b.Qe)},mA:function(a,b,c){a.setTransform(1,0,0,1,0,0);a.scale(b.he,b.he);a.transform(c.m11,c.m12,c.m21,c.m22,c.dx,c.dy);c=b.Zb.length;for(var d=0;d<c;d++)for(var e=b.Zb.ia(d),g=e.pb.length,h=0;h<g;h++){var k=e.pb.ia(h);if(void 0!==k.location&&null!==k.location){if(k.location.H()){var l=k.location.x,m=k.location.y;a.beginPath();a.strokeStyle="limegreen";a.lineWidth=2;a.moveTo(l,m+6);a.lineTo(l,m);a.lineTo(l+6,m);a.moveTo(l,m);a.lineTo(l+10,m+20);
a.stroke()}l=k.position.x;m=k.position.y;a.beginPath();a.strokeStyle="red";a.lineWidth=2;a.moveTo(l,m+6);a.lineTo(l,m);a.lineTo(l+6,m);a.moveTo(l,m);a.lineTo(l+20,m+10);a.stroke()}}a.setTransform(1,0,0,1,0,0)},mL:function(a,b,c){var d=a.length;b.fillStyle="rgba(255,0,0,.1)";for(var e=0;e<d;e++){var g,h=a[e];g=c.Md;var k=h.x,l=h.y,m=k+h.width,n=l+h.height,p=g.m11,q=g.m12,r=g.m21,s=g.m22,t=g.dx,v=g.dy,y=k*p+l*r+t,h=k*q+l*s+v;g=m*p+l*r+t;var l=m*q+l*s+v,A=k*p+n*r+t,k=k*q+n*s+v,p=m*p+n*r+t,m=m*q+n*s+
v,n=y,q=h,n=Math.min(n,g),y=Math.max(y,g),q=Math.min(q,l),h=Math.max(h,l),n=Math.min(n,A),y=Math.max(y,A),q=Math.min(q,k),h=Math.max(h,k),n=Math.min(n,p),y=Math.max(y,p),q=Math.min(q,m),h=Math.max(h,m);g=new w(n,q,y-n,h-q);b.fillRect(g.x,g.y,g.width,g.height)}},kI:function(a,b,c,d,e){a.fillStyle="rgba(0,255,0,.2)";a.fillRect(b,c,d,e)},lI:function(a,b,c){a.save();var d=b.Md;d.reset();1!==b.scale&&d.scale(b.scale);b=b.position;0===b.x&&0===b.y||d.translate(-b.x,-b.y);a.setTransform(d.m11,d.m12,d.m21,
d.m22,d.dx,d.dy);c=c.Zc.o;d=c.length;for(b=0;b<d;b++){var e=c[b];a.beginPath();a.moveTo(e.x-4,e.y);a.lineTo(e.x+4,e.y);a.moveTo(e.x,e.y-4);a.lineTo(e.x,e.y+4);a.lineWidth=2;a.strokeStyle="rgba(255,0,0,.9)";a.stroke()}a.restore()},iL:function(a){a||(a=u.Dt);for(a=a.yn;a.next();)x.trace(a.value.toString())},fM:function(a,b){var c=b.to(a),d=b.Sb;d.ue=b.vB(c);d.ha=c;return ja(b,d,a)},aM:function(a,b){b.oe(a.ha)&&(b.uf.fillStyle="lime",b.uf.lm="lime",b.uf.fillRect(a.ue.x,a.ue.y,1*b.scale,1*b.scale))},
bM:function(a){var b=ka(a,!1,null,null);if(!b.Ip){a=a.uf;for(var c=0;c<=b.Ym;c++)for(var d=0;d<=b.Zm;d++){var e=b.mc[c][d];if(0!==e){var g=c*b.Rd+b.Uf,h=d*b.Cd+b.Vf;0!==e&&(a.fillStyle="rgba(255, 0, 0, .2)",a.fillRect(g,h,b.Rd,b.Cd));999999<=e||(e%=10,a.fillStyle="blue",a.fillText(e.toString(),g,h+b.Cd))}}}},dumpReferences:function(a){if(a instanceof z)for(a=a.yn;a.next();){var b=a.value;x.trace(b.toString());for(b=b.ri;b.next();)u.dumpReferences(b.value)}else if(a instanceof D){x.trace("References for "+
a);null!==a.layer&&x.trace(" "+a.layer.toString()+' LayerName: "'+a.Kf+'"');a.Hn!==a&&x.trace(" SelectionObject: "+a.Hn.toString()+' SelectionObjectName: "'+a.gy+'"');a.$b!==a&&x.trace(" LocationObject: "+a.$b.toString()+' LocationObjectName: "'+a.Nx+'"');if(a.Tg){for(var c="",b=a.Tg.i;b.next();)c+=b.key+" ";x.trace(" Adornments: "+c)}null!==a.Va&&x.trace(" ContainingGroup: "+a.Va.toString());if(a instanceof E){if(a.Gd)for(b=a.Gd.i;b.next(););if(0<a.ce.count){c="";for(b=a.ce;b.next();)c+=b.value.toString()+
", ";x.trace(" Links: "+c)}null!==a.Pd&&x.trace(" LabeledLink: "+a.Pd.toString());if(a instanceof F){x.trace(" Placeholder: "+a.placeholder);c="";for(b=a.Ic;b.next();)c+=b.value.toString()+", ";x.trace(" Members: "+c);c="";for(b=a.Im.i;b.next();)c+=b.value.toString()+", ";x.trace(" NestedGroups: "+c);x.trace(" Layout: "+a.Ub)}}else if(a instanceof G){x.trace(" Path: "+a.path);x.trace(" From: "+a.Z+" "+a.bd+' "'+a.bg+'"');x.trace(" To: "+a.ea+" "+a.Bd+' "'+a.Rg+'"');c="";for(b=a.Jf;b.next();)c+=
b.value.toString()+", ";x.trace(" LabelNodes: "+c)}}},dumpVisualTree:function(a){if(a instanceof z)for(a=a.yn;a.next();){var b=a.value;x.trace(b.toString());for(b=b.ri;b.next();)u.dumpVisualTree(b.value)}else a instanceof D&&(b=" ",a.yE&&(b+="c"),a.DE&&(b+="d"),a.bF&&(b+="g"),a.CF&&(b+="m"),a.RF&&(b+="h"),a.SF&&(b+="z"),a.XF&&(b+="o"),a.Ak&&(b+="s"),a.pG&&(b+="t"),a.eG&&(b+="A"),a.Ex&&(b+="B"),a.EA&&(b+="L"),a.kb&&(b+="S"),a.xk&&(b+="H"),u.zC(a,1,b))},zC:function(a,b,c){for(var d="",e=0;e<b;e++)d+=
" ";d+=a.toString();c&&(d+=c);c=" ";c=a.visible?c+"v":c+"~";a.kg&&(c+="p");a.Hf&&(c+="m");a.Vt&&(c+="a");d+=c;if(0!==a.ac||0!==a.column)d+=" ["+a.ac+","+a.column+"]";d+=" "+a.ba.toString();a.Ba.H()&&(d+=" d:"+a.Ba.toString());a.Ga.H()&&(d+=" n:"+a.Ga.toString());1!==a.scale&&(d+=" s:"+a.scale);0!==a.angle&&(d+=" a:"+a.angle);null!==a.background&&(d+=" b:"+a.background.toString());null!==a.Al&&(d+=" a:"+a.background.toString());a instanceof H&&(d+=" elts:"+a.za.count,0!==a.uG&&(d+=" top:"+a.uG),0!==
a.vF&&(d+=" left:"+a.vF),null!==a.bu&&(d+=" itemArray#:"+x.cb(a.bu)),a.$I&&(d+=" cat:"+a.$I),null!==a.data&&(d+=" data:"+a.data));null!==a.Ad&&(d+=' portId: "'+a.Ad+'"');x.trace(d);if(a instanceof H)for(a=a.elements;a.next();)u.zC(a.value,b+1,"")},oL:function(a){x.trace("DelayedReferences ("+a.pg.count+")");for(a=a.pg.i;a.next();){for(var b="",c=a.value.i;c.next();)b+=la(c.value)+", ";x.trace(" "+a.key+": "+b)}},mE:function(a,b){if(!x.Za(b)||b instanceof Element||b instanceof CanvasRenderingContext2D||
b instanceof ma||b instanceof pa)return"";var c="",d;for(d in b)if("string"!==typeof d)""===c&&(c=b+"\n"),c+=" "+d+" is not a string property\n";else if("_"!==d.charAt(0)&&!(2>=d.length)){var e=x.wb(b,d);if(null!==e&&"function"!==typeof e){if(b.hasOwnProperty(d)){var g=Object.getPrototypeOf(b);if(g&&g.mw&&g.mw[d])continue}else if(x.yx(b,d))continue;""===c&&(c=b+"\n");c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n"}}return c},ex:function(a,b){if(null!==b&&void 0!==b&&"number"!==typeof b&&
"string"!==typeof b&&"boolean"!==typeof b&&"function"!==typeof b)if(void 0!==x.nd(b)){if(!u.Bw.contains(b))if(u.Bw.add(b),u.aw.add(u.mE(a,b)),b instanceof J||b instanceof K||b instanceof ra)for(var c=b.i;c.next();)u.ex(a+"["+c.key+"]",c.value);else for(c in b){var d=x.wb(b,c);if(void 0!==d&&null!==d&&x.Za(d)&&d!==b.mw){if(b instanceof sa){if(d===b.Pj)continue}else if(b instanceof H){if("data"===c||d===b.de)continue;if("itemArray"===c||d===b.Mi)continue;if(b instanceof D&&d===b.ml)continue}else if(!(b instanceof
z))if(b instanceof ua){if("archetypeGroupData"===c||d===b.Ky)continue}else if(b instanceof va){if("archetypeLinkData"===c||d===b.My)continue;if("archetypeLabelNodeData"===c||d===b.Ly)continue}else if(b instanceof wa){if("archetypeNodeData"===c||d===b.Sk)continue}else if(b instanceof L){if("nodeDataArray"===c||d===b.yf)continue;if("linkDataArray"===c||d===b.xf||d===b.Em)continue;if(d===b.vc)continue;if(d===b.pg)continue}else if(b instanceof xa||b instanceof ya||b instanceof Aa)continue;u.ex(a+"."+
c,d)}}}else if(Array.isArray(b))for(c=0;c<b.length;c++)u.ex(a+"["+c+"]",b[c]);else u.aw.add(u.mE(a,b))},checkProperties:function(a){void 0===u.Bw?u.Bw=new K(Object):u.Bw.clear();u.aw=new Ba;u.ex("",a);a=u.aw.toString();u.aw=null;return a}};ca.Debug=u;
var x={pd:1,Uc:2,gd:4,fd:8,vn:void 0!==window.navigator&&0<window.navigator.userAgent.indexOf("534.30")&&0<window.navigator.userAgent.indexOf("Android"),UI:void 0!==window.navigator&&0<window.navigator.userAgent.indexOf("MSIE 10.0"),VI:void 0!==window.navigator&&0<window.navigator.userAgent.indexOf("Trident/7"),wL:void 0!==window.navigator&&0<window.navigator.userAgent.indexOf("Edge/"),wk:void 0!==window.navigator&&void 0!==window.navigator.platform&&0<=window.navigator.platform.toUpperCase().indexOf("MAC"),
nF:void 0!==window.navigator&&void 0!==window.navigator.platform&&null!==window.navigator.platform.match(/(iPhone|iPod|iPad)/i),AE:function(a,b,c){var d=-1;return function(){var e=this,g=arguments;-1!==d&&x.clearTimeout(d);d=x.setTimeout(function(){d=-1;c||a.apply(e,g)},b);c&&!d&&a.apply(e,g)}},setTimeout:function(a,b){return window.setTimeout(a,b)},clearTimeout:function(a){window.clearTimeout(a)},createElement:function(a){return window.document.createElement(a)},k:function(a){throw Error(a);},pa:function(a,
b){var c="The object is frozen, so its properties cannot be set: "+a.toString();void 0!==b&&(c+=" to value: "+b);x.k(c)},l:function(a,b,c,d){a instanceof b||(c=x.getTypeName(c),void 0!==d&&(c+="."+d),x.jc(a,b,c))},g:function(a,b,c,d){typeof a!==b&&(c=x.getTypeName(c),void 0!==d&&(c+="."+d),x.jc(a,b,c))},p:function(a,b,c){"number"===typeof a&&isFinite(a)||(b=x.getTypeName(b),void 0!==c&&(b+="."+c),x.k(b+" must be a real number type, and not NaN or Infinity: "+a))},Ca:function(a,b,c,d){a instanceof
Ca&&a.Ae===b||(c=x.getTypeName(c),void 0!==d&&(c+="."+d),x.jc(a,"a constant of class "+x.mf(b),c))},xt:function(a,b){"string"===typeof a?Da(a)||x.k('Color "'+a+'" is not a valid color string for '+b):a instanceof Ea||x.k("Value for "+b+" must be a color string or a Brush, not "+a)},jc:function(a,b,c,d){b=x.getTypeName(b);c=x.getTypeName(c);void 0!==d&&(c+="."+d);"string"===typeof a?x.k(c+" value is not an instance of "+b+': "'+a+'"'):x.k(c+" value is not an instance of "+b+": "+a)},la:function(a,
b,c,d){c=x.getTypeName(c);void 0!==d&&(c+="."+d);x.k(c+" is not in the range "+b+": "+a)},od:function(a){x.k(x.mf(a)+" constructor cannot take any arguments.")},Sa:function(a){x.k("Collection was modified during iteration: "+a.toString()+"\n Perhaps you should iterate over a copy of the collection,\n or you could collect items to be removed from the collection after the iteration.")},trace:function(a){window.console&&window.console.log(a)},Za:function(a){return"object"===typeof a&&null!==a},isArray:function(a){return Array.isArray(a)||
a instanceof NodeList||a instanceof HTMLCollection},WI:function(a){return Array.isArray(a)},wt:function(a,b,c){x.isArray(a)||x.jc(a,"Array or NodeList or HTMLCollection",b,c)},cb:function(a){return a.length},Dl:function(a){return Array.prototype.slice.call(a)},Xa:function(a,b){Array.isArray(a);return a[b]},iE:function(a,b,c){Array.isArray(a)?a[b]=c:x.k("Cannot replace an object in an HTMLCollection or NodeList at "+b)},bA:function(a,b){if(Array.isArray(a))return a.indexOf(b);for(var c=a.length,d=
0;d<c;d++)if(a[d]===b)return d;return-1},fj:function(a,b,c){Array.isArray(a)?b>=a.length?a.push(c):a.splice(b,0,c):x.k("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)},li:function(a,b){Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1):x.k("Cannot remove an object from an HTMLCollection or NodeList at "+b)},By:[],P:function(){var a=x.By.pop();return void 0===a?new N:a},Vb:function(a,b){var c=x.By.pop();if(void 0===c)return new N(a,b);c.x=a;c.y=b;return c},A:function(a){x.By.push(a)},
NB:[],gm:function(){var a=x.NB.pop();return void 0===a?new Fa:a},tk:function(a){x.NB.push(a)},Cy:[],mg:function(){var a=x.Cy.pop();return void 0===a?new w:a},Dk:function(a,b,c,d){var e=x.Cy.pop();if(void 0===e)return new w(a,b,c,d);e.x=a;e.y=b;e.width=c;e.height=d;return e},qc:function(a){x.Cy.push(a)},OB:[],Jh:function(){var a=x.OB.pop();return void 0===a?new Ha:a},lf:function(a){x.OB.push(a)},Dy:null,u:function(){var a=x.Dy;return null!==a?(x.Dy=null,a):new Ia},v:function(a){a.reset();x.Dy=a},MB:[],
ub:function(){var a=x.MB.pop();return void 0===a?[]:a},xa:function(a){a.length=0;x.MB.push(a)},Lh:Object.freeze([]),km:1,lc:function(a){a.__gohashid=x.km++},St:function(a){var b=a.__gohashid;void 0===b&&(b=x.km++,a.__gohashid=b);return b},nd:function(a){return a.__gohashid},ja:function(a,b){b.Oy=a;ca[a]=b},Qa:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},mi:function(a){a.hH=!0},defineProperty:function(a,b,c,d,e){x.g(a,"function","Util.defineProperty:classfunc");
x.g(b,"object","Util.defineProperty:propobj");x.g(c,"function","Util.defineProperty:getter");x.g(d,"function","Util.defineProperty:setter");for(var g in b){b=b[g];c={get:c,set:d,enumerable:!0};if(void 0!==e)for(var h in e)c[h]=e[h];Object.defineProperty(a.prototype,g,c);e=Object.getOwnPropertyDescriptor(a.prototype,g);b&&e&&Object.defineProperty(a.prototype,b,e);break}},uK:!1,w:function(a,b,c,d){x.g(a,"function","Util.defineReadOnlyProperty:classfunc");x.g(b,"object","Util.defineReadOnlyProperty:propobj");
x.g(c,"function","Util.defineReadOnlyProperty:getter");for(var e in b){var g=b[e];b={get:c,set:function(a){x.k('The property "'+g+'" is read-only and cannot be set to '+a)},enumerable:!0};if(void 0!==d)for(var h in d)b[h]=d[h];Object.defineProperty(a.prototype,e,b);d=Object.getOwnPropertyDescriptor(a.prototype,e);g&&d&&Object.defineProperty(a.prototype,g,d);break}},Yd:function(a,b){for(var c in b)b[c]=!0;a.prototype.mw=b},getTypeName:function(a){return void 0===a?"":"string"===typeof a?a:"function"===
typeof a?x.mf(a):null===a?"*":""},mf:function(a){if("function"===typeof a){if(a.Oy)return a.Oy;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("("),b=b.substring(9,c).trim();if(""!==b)return a.Oy=b}else if("object"===typeof a&&a.constructor)return x.mf(a.constructor);return typeof a},s:function(a,b,c){x.g(a,"function","Util.defineEnumValue:classfunc");x.g(b,"string","Util.defineEnumValue:name");x.g(c,"number","Util.defineEnumValue:num");c=new Ca(a,b,c);Object.freeze(c);a[b]=c;var d=a.Qu;d instanceof
ra||(d=new ra("string",Ca),a.Qu=d);d.add(b,c);return c},wb:function(a,b){if(!a||!b)return null;var c=void 0;try{"function"===typeof b?c=b(a):"function"===typeof a.getAttribute?(c=a.getAttribute(b),null===c&&(c=void 0)):c=a[b]}catch(d){u&&x.trace("property get error: "+d.toString())}return c},Ra:function(a,b,c){if(a&&b)try{"function"===typeof b?b(a,c):"function"===typeof a.setAttribute?a.setAttribute(b,c):a[b]=c}catch(d){u&&x.trace("property set error: "+d.toString())}},Bu:function(a,b){x.g(a,"object",
"Setting properties requires Objects as arguments");x.g(b,"object","Setting properties requires Objects as arguments");var c=a instanceof H,d=a instanceof z,e;for(e in b){""===e&&x.k("Setting properties requires non-empty property names");var g=a,h=e;if(c||d){var k=e.indexOf(".");if(0<k){var l=e.substring(0,k);if(c)g=a.ne(l);else if(g=a[l],void 0===g||null===g)g=a.lb[l];x.Za(g)?h=e.substr(k+1):x.k("Unable to find object named: "+l+" in "+a.toString()+" when trying to set property: "+e)}}if("_"!==
h[0]&&!x.yx(g,h))if(d&&"ModelChanged"===h){a.vH(b[h]);continue}else if(d&&"Changed"===h){a.an(b[h]);continue}else if(d&&x.yx(a.lb,h))g=a.lb;else if(d&&Ja(a,h)){a.Xz(h,b[h]);continue}else if(a instanceof L&&"Changed"===h){a.an(b[h]);continue}else x.k('Trying to set undefined property "'+h+'" on object: '+g.toString());g[h]=b[e];"_"===h[0]&&g instanceof O&&g.sH(h)}},yx:function(a,b){if(a.hasOwnProperty(b))return!0;for(var c=Object.getPrototypeOf(a);c&&c!==Function;){if(c.hasOwnProperty(b))return!0;
var d=c.mw;if(d&&d[b])return!0;c=Object.getPrototypeOf(c)}return!1},IJ:function(a){for(var b=[],c=0;256>c;c++)b[c]=c;for(var d=0,e=0,c=0;256>c;c++)d=(d+b[c]+119)%256,e=b[c],b[c]=b[d],b[d]=e;for(var d=c=0,g="",h=0;h<a.length;h++)c=(c+1)%256,d=(d+b[c])%256,e=b[c],b[c]=b[d],b[d]=e,g+=String.fromCharCode(a.charCodeAt(h)^b[(b[c]+b[d])%256]);return g},HI:function(a){for(var b=[],c=0;256>c;c++)b["0123456789abcdef".charAt(c>>4)+"0123456789abcdef".charAt(c&15)]=String.fromCharCode(c);a.length%2&&(a="0"+a);
for(var d=[],e=0,c=0;c<a.length;c+=2)d[e++]=b[a.substr(c,2)];a=d.join("");return""===a?"0":a},Fg:function(a){return x.IJ(x.HI(a))},im:null,adym:"7da71ca0ad381e90",JH:"@COLOR1",KH:"@COLOR2"};
x.im=function(){var a=window.document.createElement("canvas"),b=a.getContext("2d");b[x.Fg("7ca11abfd022028846")]=x.Fg("398c3597c01238");for(var c=["5da73c80a3330d854f9e5e671d6633","32ab5ff3b26f42dc0ed90f22422913b54ae6247590da4bb21c324ba3a84e385776","54a702f3e53909c447824c6706603faf4cfb236cdfda5de14c134ba1a95a2d4c7cc6f93c1387","74bf19bce72555874c86"],d=1;5>d;d++)b[x.Fg("7ca11abfd7330390")](x.Fg(c[d-1]),10,15*d+0);b[x.Fg("7ca11abfd022028846")]=x.Fg("39f046ebb36e4b");for(d=1;5>d;d++)b[x.Fg("7ca11abfd7330390")](x.Fg(c[d-
1]),10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])x.s=function(a,b){var c=new Ca(a,b,2);Object.freeze(c);a[b]=c;var d=a.Qu;d instanceof ra||(d=new ra("string",Ca),a.Qu=d);d.add(b,c);return c};return a}();function Ca(a,b,c){x.lc(this);this.YB=a;this.Wb=b;this.mH=c}x.ja("EnumValue",Ca);Ca.prototype.toString=function(){return x.mf(this.YB)+"."+this.Wb};x.w(Ca,{Ae:"classType"},function(){return this.YB});x.w(Ca,{name:"name"},function(){return this.Wb});x.w(Ca,{value:"value"},function(){return this.mH});
var La;Ca.findName=La=function(a,b){if(void 0===b||null===b||""===b)return null;x.g(a,"function","findName:classfunc");x.g(b,"string","EnumValue.findName:name");var c=a.Qu;return c instanceof ra?c.oa(b):null};function Ba(){this.XB=[]}Ba.prototype.toString=function(){return this.XB.join("")};Ba.prototype.add=function(a){""!==a&&this.XB.push(a)};function pa(){}
function Oa(a){void 0===a&&(a=42);this.seed=a;this.ty=48271;this.Pu=2147483647;this.JB=this.Pu/this.ty;this.OG=this.Pu%this.ty;this.JG=1/this.Pu;this.random()}Oa.prototype.random=function(){var a=this.seed%this.JB*this.ty-this.seed/this.JB*this.OG;this.seed=0<a?a:a+this.Pu;return this.seed*this.JG};function Qa(){}x.w(Qa,{i:"iterator"},function(){return this});Qa.prototype.reset=Qa.prototype.reset=function(){};Qa.prototype.next=Qa.prototype.hasNext=Qa.prototype.next=function(){return!1};
Qa.prototype.first=Qa.prototype.first=function(){return null};Qa.prototype.any=function(){return!1};Qa.prototype.all=function(){return!0};Qa.prototype.each=function(){return this};Qa.prototype.map=function(){return this};Qa.prototype.filter=function(){return this};Qa.prototype.concat=function(a){return a.i};x.w(Qa,{count:"count"},function(){return 0});Qa.prototype.Pf=function(){};Qa.prototype.toString=function(){return"EmptyIterator"};var Ra=new Qa;function Sa(a){this.key=-1;this.value=a}
x.Yd(Sa,{key:!0,value:!0});x.w(Sa,{i:"iterator"},function(){return this});Sa.prototype.reset=Sa.prototype.reset=function(){this.key=-1};Sa.prototype.next=Sa.prototype.hasNext=Sa.prototype.next=function(){return-1===this.key?(this.key=0,!0):!1};Sa.prototype.first=Sa.prototype.first=function(){this.key=0;return this.value};Sa.prototype.any=function(a){this.key=-1;return a(this.value)};Sa.prototype.all=function(a){this.key=-1;return a(this.value)};
Sa.prototype.each=function(a){this.key=-1;a(this.value);return this};Sa.prototype.map=function(a){return new Sa(a(this.value))};Sa.prototype.filter=function(a){return a(this.value)?new Sa(this.value):Ra};Sa.prototype.concat=function(a){return new Ua(this,a.i)};x.w(Sa,{count:"count"},function(){return 1});Sa.prototype.Pf=function(){this.value=null};Sa.prototype.toString=function(){return"SingletonIterator("+this.value+")"};function Ua(a,b){this.el=a;this.fl=b;this.Tu=!1}x.Yd(Ua,{key:!0,value:!0});
x.w(Ua,{i:"iterator"},function(){return this});Ua.prototype.reset=Ua.prototype.reset=function(){this.el.reset();this.fl.reset();this.Tu=!1};Ua.prototype.next=Ua.prototype.hasNext=Ua.prototype.next=function(){if(!this.Tu){var a=this.el;if(a.next())return this.key=a.key,this.value=a.value,!0;this.Tu=!0}return this.Tu&&(a=this.fl,a.next())?(this.key=a.key,this.value=a.value,!0):!1};Ua.prototype.first=Ua.prototype.first=function(){this.reset();return this.next()?this.value:null};
Ua.prototype.any=function(a){return this.el.any(a)||this.fl.any(a)?!0:!1};Ua.prototype.all=function(a){return this.el.all(a)&&this.fl.all(a)?!0:!1};Ua.prototype.each=function(a){this.el.each(a);this.fl.each(a);return this};Ua.prototype.map=function(a){return new Ua(this.el.map(a),this.fl.map(a))};Ua.prototype.filter=function(a){return new Ua(this.el.filter(a),this.fl.filter(a))};Ua.prototype.concat=function(a){return new Ua(this,a.i)};x.w(Ua,{count:"count"},function(){return this.el.count+this.fl.count});
Ua.prototype.Pf=function(){this.value=this.key=null};Ua.prototype.toString=function(){return"ConcatIterator()"};function Wa(a){this.Bc=a;this.$h=null;this.reset()}x.Yd(Wa,{key:!0,value:!0});x.w(Wa,{i:"iterator"},function(){return this});x.defineProperty(Wa,{Dn:"predicate"},function(){return this.$h},function(a){this.$h=a});Wa.prototype.reset=Wa.prototype.reset=function(){var a=this.Bc;a.fc=null;this.qb=a.G;this.Vc=-1};
Wa.prototype.next=Wa.prototype.hasNext=Wa.prototype.next=function(){var a=this.Bc;if(a.G!==this.qb){if(0>this.key)return!1;x.Sa(a)}var a=a.o,b=a.length,c=++this.Vc,d=this.$h;if(null!==d)for(;c<b;){var e=a[c];if(d(e))return this.key=this.Vc=c,this.value=e,!0;c++}else{if(c<b)return this.key=c,this.value=a[c],!0;this.Pf()}return!1};
Wa.prototype.first=Wa.prototype.first=function(){var a=this.Bc;this.qb=a.G;this.Vc=0;var a=a.o,b=a.length,c=this.$h;if(null!==c){for(var d=0;d<b;){var e=a[d];if(c(e))return this.key=this.Vc=d,this.value=e;d++}return null}return 0<b?(e=a[0],this.key=0,this.value=e):null};Wa.prototype.any=function(a){var b=this.Bc;b.fc=null;var c=b.G;this.Vc=-1;for(var d=b.o,e=d.length,g=this.$h,h=0;h<e;h++){var k=d[h];if(null===g||g(k)){if(a(k))return!0;b.G!==c&&x.Sa(b)}}return!1};
Wa.prototype.all=function(a){var b=this.Bc;b.fc=null;var c=b.G;this.Vc=-1;for(var d=b.o,e=d.length,g=this.$h,h=0;h<e;h++){var k=d[h];if(null===g||g(k)){if(!a(k))return!1;b.G!==c&&x.Sa(b)}}return!0};Wa.prototype.each=function(a){var b=this.Bc;b.fc=null;var c=b.G;this.Vc=-1;for(var d=b.o,e=d.length,g=this.$h,h=0;h<e;h++){var k=d[h];if(null===g||g(k))a(k),b.G!==c&&x.Sa(b)}return this};
Wa.prototype.map=function(a){var b=this.Bc;b.fc=null;var c=b.G;this.Vc=-1;for(var d=[],e=b.o,g=e.length,h=this.$h,k=0;k<g;k++){var l=e[k];if(null===h||h(l))d.push(a(l)),b.G!==c&&x.Sa(b)}a=new J;a.o=d;a.Kc();return a.i};Wa.prototype.filter=function(a){var b=this.Bc;b.fc=null;var c=b.G;this.Vc=-1;for(var d=[],e=b.o,g=e.length,h=this.$h,k=0;k<g;k++){var l=e[k];if(null===h||h(l))a(l)&&d.push(l),b.G!==c&&x.Sa(b)}a=new J(b.da);a.o=d;a.Kc();return a.i};
Wa.prototype.concat=function(a){this.Bc.fc=null;return new Ua(this,a.i)};x.w(Wa,{count:"count"},function(){var a=this.$h;if(null!==a){for(var b=0,c=this.Bc.o,d=c.length,e=0;e<d;e++)a(c[e])&&b++;return b}return this.Bc.o.length});Wa.prototype.Pf=function(){this.key=-1;this.value=null;this.qb=-1;this.$h=null;this.Bc.fc=this};Wa.prototype.toString=function(){return"ListIterator@"+this.Vc+"/"+this.Bc.count};function Xa(a){this.Bc=a;this.reset()}x.Yd(Xa,{key:!0,value:!0});x.w(Xa,{i:"iterator"},function(){return this});
Xa.prototype.reset=Xa.prototype.reset=function(){var a=this.Bc;a.Nj=null;this.qb=a.G;this.Vc=a.o.length};Xa.prototype.next=Xa.prototype.hasNext=Xa.prototype.next=function(){var a=this.Bc;if(a.G!==this.qb){if(0>this.key)return!1;x.Sa(a)}var b=--this.Vc;if(0<=b)return this.key=b,this.value=a.o[b],!0;this.Pf();return!1};Xa.prototype.first=Xa.prototype.first=function(){var a=this.Bc;this.qb=a.G;var b=a.o;this.Vc=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};
Xa.prototype.any=function(a){var b=this.Bc;b.Nj=null;var c=b.G,d=b.o,e=d.length;this.Vc=e;for(e-=1;0<=e;e--){if(a(d[e]))return!0;b.G!==c&&x.Sa(b)}return!1};Xa.prototype.all=function(a){var b=this.Bc;b.Nj=null;var c=b.G,d=b.o,e=d.length;this.Vc=e;for(e-=1;0<=e;e--){if(!a(d[e]))return!1;b.G!==c&&x.Sa(b)}return!0};Xa.prototype.each=function(a){var b=this.Bc;b.Nj=null;var c=b.G,d=b.o,e=d.length;this.Vc=e;for(e-=1;0<=e;e--)a(d[e]),b.G!==c&&x.Sa(b);return this};
Xa.prototype.map=function(a){var b=this.Bc;b.Nj=null;var c=b.G,d=[],e=b.o,g=e.length;this.Vc=g;for(g-=1;0<=g;g--)d.push(a(e[g])),b.G!==c&&x.Sa(b);a=new J;a.o=d;a.Kc();return a.i};Xa.prototype.filter=function(a){var b=this.Bc;b.Nj=null;var c=b.G,d=[],e=b.o,g=e.length;this.Vc=g;for(g-=1;0<=g;g--){var h=e[g];a(h)&&d.push(h);b.G!==c&&x.Sa(b)}a=new J(b.da);a.o=d;a.Kc();return a.i};Xa.prototype.concat=function(a){this.Bc.Nj=null;return new Ua(this,a.i)};x.w(Xa,{count:"count"},function(){return this.Bc.o.length});
Xa.prototype.Pf=function(){this.key=-1;this.value=null;this.qb=-1;this.Bc.Nj=this};Xa.prototype.toString=function(){return"ListIteratorBackwards("+this.Vc+"/"+this.Bc.count+")"};
function J(a){x.lc(this);this.F=!1;this.o=[];this.G=0;this.Nj=this.fc=null;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.da=a:x.la(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:x.la(a,"null, a primitive type name, or a class type",
"List constructor: type")}x.ja("List",J);J.prototype.Vg=function(a){null!==this.da&&("string"===typeof this.da?typeof a===this.da&&null!==a||x.jc(a,this.da):a instanceof this.da||x.jc(a,this.da))};J.prototype.Kc=function(){var a=this.G;a++;999999999<a&&(a=0);this.G=a};J.prototype.freeze=J.prototype.freeze=function(){this.F=!0;return this};J.prototype.thaw=J.prototype.Wa=function(){this.F=!1;return this};J.prototype.toString=function(){return"List("+x.getTypeName(this.da)+")#"+x.nd(this)};
J.prototype.add=J.prototype.push=J.prototype.add=function(a){null!==a&&(u&&this.Vg(a),this.F&&x.pa(this,a),this.o.push(a),this.Kc())};J.prototype.addAll=J.prototype.ad=function(a){if(null===a)return this;this.F&&x.pa(this);var b=this.o;if(x.isArray(a))for(var c=x.cb(a),d=0;d<c;d++){var e=x.Xa(a,d);u&&this.Vg(e);b.push(e)}else for(a=a.i;a.next();)e=a.value,u&&this.Vg(e),b.push(e);this.Kc();return this};J.prototype.clear=J.prototype.clear=function(){this.F&&x.pa(this);this.o.length=0;this.Kc()};
J.prototype.contains=J.prototype.has=J.prototype.contains=function(a){if(null===a)return!1;u&&this.Vg(a);return-1!==this.o.indexOf(a)};J.prototype.indexOf=J.prototype.indexOf=function(a){if(null===a)return-1;u&&this.Vg(a);return this.o.indexOf(a)};J.prototype.elt=J.prototype.get=J.prototype.ia=function(a){u&&x.p(a,J,"elt:i");var b=this.o;(0>a||a>=b.length)&&x.la(a,"0 <= i < length",J,"elt:i");return b[a]};
J.prototype.setElt=J.prototype.set=J.prototype.Og=function(a,b){u&&(this.Vg(b),x.p(a,J,"setElt:i"));var c=this.o;(0>a||a>=c.length)&&x.la(a,"0 <= i < length",J,"setElt:i");this.F&&x.pa(this,a);c[a]=b};J.prototype.first=J.prototype.first=function(){var a=this.o;return 0===a.length?null:a[0]};J.prototype.last=J.prototype.be=function(){var a=this.o,b=a.length;return 0<b?a[b-1]:null};J.prototype.pop=J.prototype.pop=function(){this.F&&x.pa(this);var a=this.o;return 0<a.length?a.pop():null};
J.prototype.any=function(a){for(var b=this.o,c=this.G,d=b.length,e=0;e<d;e++){if(a(b[e]))return!0;this.G!==c&&x.Sa(this)}return!1};J.prototype.all=function(a){for(var b=this.o,c=this.G,d=b.length,e=0;e<d;e++){if(!a(b[e]))return!1;this.G!==c&&x.Sa(this)}return!0};J.prototype.each=function(a){for(var b=this.o,c=this.G,d=b.length,e=0;e<d;e++)a(b[e]),this.G!==c&&x.Sa(this);return this};
J.prototype.map=function(a){for(var b=new J,c=[],d=this.o,e=this.G,g=d.length,h=0;h<g;h++)c.push(a(d[h])),this.G!==e&&x.Sa(this);b.o=c;b.Kc();return b};J.prototype.filter=function(a){for(var b=new J(this.da),c=[],d=this.o,e=this.G,g=d.length,h=0;h<g;h++){var k=d[h];a(k)&&c.push(k);this.G!==e&&x.Sa(this)}b.o=c;b.Kc();return b};J.prototype.concat=function(a){return this.copy().ad(a)};
J.prototype.insertAt=J.prototype.Od=function(a,b){u&&(this.Vg(b),x.p(a,J,"insertAt:i"));0>a&&x.la(a,">= 0",J,"insertAt:i");this.F&&x.pa(this,a);var c=this.o;a>=c.length?c.push(b):c.splice(a,0,b);this.Kc();return!0};J.prototype.remove=J.prototype["delete"]=J.prototype.remove=function(a){if(null===a)return!1;u&&this.Vg(a);this.F&&x.pa(this,a);var b=this.o;a=b.indexOf(a);if(-1===a)return!1;a===b.length-1?b.pop():b.splice(a,1);this.Kc();return!0};
J.prototype.removeAt=J.prototype.ed=function(a){u&&x.p(a,J,"removeAt:i");var b=this.o;(0>a||a>=b.length)&&x.la(a,"0 <= i < length",J,"removeAt:i");this.F&&x.pa(this,a);a===b.length-1?b.pop():b.splice(a,1);this.Kc()};
J.prototype.removeRange=J.prototype.removeRange=function(a,b){u&&(x.p(a,J,"removeRange:from"),x.p(b,J,"removeRange:to"));var c=this.o;(0>a||a>=c.length)&&x.la(a,"0 <= from < length",J,"elt:from");(0>b||b>=c.length)&&x.la(b,"0 <= to < length",J,"elt:to");this.F&&x.pa(this,a);var d=c.slice((b||a)+1||c.length);c.length=0>a?c.length+a:a;c.push.apply(c,d);this.Kc()};J.prototype.copy=function(){var a=new J(this.da),b=this.o;0<b.length&&(a.o=Array.prototype.slice.call(b));return a};
J.prototype.toArray=J.prototype.kc=function(){for(var a=this.o,b=this.count,c=Array(b),d=0;d<b;d++)c[d]=a[d];return c};J.prototype.toSet=J.prototype.tG=function(){for(var a=new K(this.da),b=this.o,c=this.count,d=0;d<c;d++)a.add(b[d]);return a};J.prototype.sort=J.prototype.sort=function(a){u&&x.g(a,"function",J,"sort:sortfunc");this.F&&x.pa(this);this.o.sort(a);this.Kc();return this};
J.prototype.sortRange=J.prototype.mq=function(a,b,c){var d=this.o,e=d.length;void 0===b&&(b=0);void 0===c&&(c=e);u&&(x.g(a,"function",J,"sortRange:sortfunc"),x.p(b,J,"sortRange:from"),x.p(c,J,"sortRange:to"));this.F&&x.pa(this);var g=c-b;if(1>=g)return this;(0>b||b>=e-1)&&x.la(b,"0 <= from < length",J,"sortRange:from");if(2===g)return c=d[b],e=d[b+1],0<a(c,e)&&(d[b]=e,d[b+1]=c,this.Kc()),this;if(0===b)if(c>=e)d.sort(a);else for(g=d.slice(0,c),g.sort(a),a=0;a<c;a++)d[a]=g[a];else if(c>=e)for(g=d.slice(b),
g.sort(a),a=b;a<e;a++)d[a]=g[a-b];else for(g=d.slice(b,c),g.sort(a),a=b;a<c;a++)d[a]=g[a-b];this.Kc();return this};J.prototype.reverse=J.prototype.reverse=function(){this.F&&x.pa(this);this.o.reverse();this.Kc();return this};x.w(J,{count:"count"},function(){return this.o.length});x.w(J,{size:"size"},function(){return this.o.length});x.w(J,{length:"length"},function(){return this.o.length});x.w(J,{i:"iterator"},function(){if(0>=this.o.length)return Ra;var a=this.fc;return null!==a?(a.reset(),a):new Wa(this)});
x.w(J,{xn:"iteratorBackwards"},function(){if(0>=this.o.length)return Ra;var a=this.Nj;return null!==a?(a.reset(),a):new Xa(this)});function Ya(a){this.bi=a;this.reset()}x.Yd(Ya,{key:!0,value:!0});x.w(Ya,{i:"iterator"},function(){return this});Ya.prototype.reset=Ya.prototype.reset=function(){var a=this.bi;a.fc=null;this.qb=a.G;this.ob=null};
Ya.prototype.next=Ya.prototype.hasNext=Ya.prototype.next=function(){var a=this.bi;if(a.G!==this.qb){if(null===this.key)return!1;x.Sa(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.value=b.value,this.key=b.key,!0;this.Pf();return!1};Ya.prototype.first=Ya.prototype.first=function(){var a=this.bi;this.qb=a.G;a=a.La;if(null!==a){this.ob=a;var b=a.value;this.key=a.key;return this.value=b}return null};
Ya.prototype.any=function(a){var b=this.bi;b.fc=null;var c=b.G;this.ob=null;for(var d=b.La;null!==d;){if(a(d.value))return!0;b.G!==c&&x.Sa(b);d=d.eb}return!1};Ya.prototype.all=function(a){var b=this.bi;b.fc=null;var c=b.G;this.ob=null;for(var d=b.La;null!==d;){if(!a(d.value))return!1;b.G!==c&&x.Sa(b);d=d.eb}return!0};Ya.prototype.each=function(a){var b=this.bi;b.fc=null;var c=b.G;this.ob=null;for(var d=b.La;null!==d;)a(d.value),b.G!==c&&x.Sa(b),d=d.eb;return this};
Ya.prototype.map=function(a){var b=this.bi;b.fc=null;for(var c=new J,d=b.G,e=b.La;null!==e;)c.add(a(e.value)),b.G!==d&&x.Sa(b),e=e.eb;return c.i};Ya.prototype.filter=function(a){var b=this.bi;b.fc=null;for(var c=new J(b.da),d=b.G,e=b.La;null!==e;){var g=e.value;a(g)&&c.add(g);b.G!==d&&x.Sa(b);e=e.eb}return c.i};Ya.prototype.concat=function(a){this.bi.fc=null;return new Ua(this,a.i)};x.w(Ya,{count:"count"},function(){return this.bi.rd});
Ya.prototype.Pf=function(){this.value=this.key=null;this.qb=-1;this.bi.fc=this};Ya.prototype.toString=function(){return null!==this.ob?"SetIterator@"+this.ob.value:"SetIterator"};
function K(a){x.lc(this);this.F=!1;void 0===a||null===a?this.da=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.da=a:x.la(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.da=a===Object?"object":a===String?"string":a===Number?"number":a:x.la(a,"null, a primitive type name, or a class type","Set constructor: type");this.sd={};this.rd=0;this.fc=null;this.G=0;this.Xh=this.La=null}x.ja("Set",K);
K.prototype.Vg=function(a){null!==this.da&&("string"===typeof this.da?typeof a===this.da&&null!==a||x.jc(a,this.da):a instanceof this.da||x.jc(a,this.da))};K.prototype.Kc=function(){var a=this.G;a++;999999999<a&&(a=0);this.G=a};K.prototype.freeze=K.prototype.freeze=function(){this.F=!0;return this};K.prototype.thaw=K.prototype.Wa=function(){this.F=!1;return this};K.prototype.toString=function(){return"Set("+x.getTypeName(this.da)+")#"+x.nd(this)};
K.prototype.add=K.prototype.add=function(a){if(null===a)return!1;u&&this.Vg(a);this.F&&x.pa(this,a);var b=a;x.Za(a)&&(b=x.St(a));return void 0===this.sd[b]?(this.rd++,a=new Za(a,a),this.sd[b]=a,b=this.Xh,null===b?this.La=a:(a.Po=b,b.eb=a),this.Xh=a,this.Kc(),!0):!1};K.prototype.addAll=K.prototype.ad=function(a){if(null===a)return this;this.F&&x.pa(this);if(x.isArray(a))for(var b=x.cb(a),c=0;c<b;c++)this.add(x.Xa(a,c));else for(a=a.i;a.next();)this.add(a.value);return this};
K.prototype.contains=K.prototype.has=K.prototype.contains=function(a){if(null===a)return!1;u&&this.Vg(a);var b=a;return x.Za(a)&&(b=x.nd(a),void 0===b)?!1:void 0!==this.sd[b]};K.prototype.containsAll=function(a){if(null===a)return!0;for(a=a.i;a.next();)if(!this.contains(a.value))return!1;return!0};K.prototype.containsAny=function(a){if(null===a)return!0;for(a=a.i;a.next();)if(this.contains(a.value))return!0;return!1};
K.prototype.first=K.prototype.first=function(){var a=this.La;return null===a?null:a.value};K.prototype.any=function(a){for(var b=this.G,c=this.La;null!==c;){if(a(c.value))return!0;this.G!==b&&x.Sa(this);c=c.eb}return!1};K.prototype.all=function(a){for(var b=this.G,c=this.La;null!==c;){if(!a(c.value))return!1;this.G!==b&&x.Sa(this);c=c.eb}return!0};K.prototype.each=function(a){for(var b=this.G,c=this.La;null!==c;)a(c.value),this.G!==b&&x.Sa(this),c=c.eb;return this};
K.prototype.map=function(a){for(var b=new K,c=this.G,d=this.La;null!==d;)b.add(a(d.value)),this.G!==c&&x.Sa(this),d=d.eb;return b};K.prototype.filter=function(a){for(var b=new K(this.da),c=this.G,d=this.La;null!==d;){var e=d.value;a(e)&&b.add(e);this.G!==c&&x.Sa(this);d=d.eb}return b};K.prototype.concat=function(a){return this.copy().ad(a)};
K.prototype.remove=K.prototype["delete"]=K.prototype.remove=function(a){if(null===a)return!1;u&&this.Vg(a);this.F&&x.pa(this,a);var b=a;if(x.Za(a)&&(b=x.nd(a),void 0===b))return!1;a=this.sd[b];if(void 0===a)return!1;var c=a.eb,d=a.Po;null!==c&&(c.Po=d);null!==d&&(d.eb=c);this.La===a&&(this.La=c);this.Xh===a&&(this.Xh=d);delete this.sd[b];this.rd--;this.Kc();return!0};
K.prototype.removeAll=K.prototype.eB=function(a){if(null===a)return this;this.F&&x.pa(this);if(x.isArray(a))for(var b=x.cb(a),c=0;c<b;c++)this.remove(x.Xa(a,c));else for(a=a.i;a.next();)this.remove(a.value);return this};K.prototype.retainAll=function(a){if(null===a||0===this.count)return this;this.F&&x.pa(this);var b=new K(this.da);b.ad(a);a=[];for(var c=this.i;c.next();){var d=c.value;b.contains(d)||a.push(d)}this.eB(a);return this};
K.prototype.clear=K.prototype.clear=function(){this.F&&x.pa(this);this.sd={};this.rd=0;this.Xh=this.La=null;this.Kc()};K.prototype.copy=function(){var a=new K(this.da),b=this.sd,c;for(c in b)a.add(b[c].value);return a};K.prototype.toArray=K.prototype.kc=function(){var a=Array(this.rd),b=this.sd,c=0,d;for(d in b)a[c]=b[d].value,c++;return a};K.prototype.toList=function(){var a=new J(this.da),b=this.sd,c;for(c in b)a.add(b[c].value);return a};x.w(K,{count:"count"},function(){return this.rd});
x.w(K,{size:"size"},function(){return this.rd});x.w(K,{i:"iterator"},function(){if(0>=this.rd)return Ra;var a=this.fc;return null!==a?(a.reset(),a):new Ya(this)});function $a(a){this.Oa=a;this.reset()}x.Yd($a,{key:!0,value:!0});x.w($a,{i:"iterator"},function(){return this});$a.prototype.reset=$a.prototype.reset=function(){this.qb=this.Oa.G;this.ob=null};
$a.prototype.next=$a.prototype.hasNext=$a.prototype.next=function(){var a=this.Oa;if(a.G!==this.qb){if(null===this.key)return!1;x.Sa(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.value=this.key=a=b.key,!0;this.Pf();return!1};$a.prototype.first=$a.prototype.first=function(){var a=this.Oa;this.qb=a.G;a=a.La;return null!==a?(this.ob=a,this.value=this.key=a=a.key):null};
$a.prototype.any=function(a){var b=this.Oa,c=b.G;this.ob=null;for(var d=b.La;null!==d;){if(a(d.key))return!0;b.G!==c&&x.Sa(b);d=d.eb}return!1};$a.prototype.all=function(a){var b=this.Oa,c=b.G;this.ob=null;for(var d=b.La;null!==d;){if(!a(d.key))return!1;b.G!==c&&x.Sa(b);d=d.eb}return!0};$a.prototype.each=function(a){var b=this.Oa,c=b.G;this.ob=null;for(var d=b.La;null!==d;)a(d.key),b.G!==c&&x.Sa(b),d=d.eb;return this};
$a.prototype.map=function(a){var b=this.Oa,c=b.G;this.ob=null;for(var d=new J,e=b.La;null!==e;)d.add(a(e.key)),b.G!==c&&x.Sa(b),e=e.eb;return d.i};$a.prototype.filter=function(a){var b=this.Oa,c=b.G;this.ob=null;for(var d=new J(b.cf),e=b.La;null!==e;){var g=e.key;a(g)&&d.add(g);b.G!==c&&x.Sa(b);e=e.eb}return d.i};$a.prototype.concat=function(a){return new Ua(this,a.i)};x.w($a,{count:"count"},function(){return this.Oa.rd});$a.prototype.Pf=function(){this.value=this.key=null;this.qb=-1};
$a.prototype.toString=function(){return null!==this.ob?"MapKeySetIterator@"+this.ob.value:"MapKeySetIterator"};function cb(a){x.lc(this);this.F=!0;this.Oa=a}x.Qa(cb,K);cb.prototype.freeze=function(){return this};cb.prototype.Wa=function(){return this};cb.prototype.toString=function(){return"MapKeySet("+this.Oa.toString()+")"};cb.prototype.add=cb.prototype.set=cb.prototype.add=function(){x.k("This Set is read-only: "+this.toString());return!1};
cb.prototype.contains=cb.prototype.has=cb.prototype.contains=function(a){return this.Oa.contains(a)};cb.prototype.remove=cb.prototype["delete"]=cb.prototype.remove=function(){x.k("This Set is read-only: "+this.toString());return!1};cb.prototype.clear=cb.prototype.clear=function(){x.k("This Set is read-only: "+this.toString())};cb.prototype.first=cb.prototype.first=function(){var a=this.Oa.La;return null!==a?a.key:null};
cb.prototype.any=function(a){for(var b=this.Oa.La;null!==b;){if(a(b.key))return!0;b=b.eb}return!1};cb.prototype.all=function(a){for(var b=this.Oa.La;null!==b;){if(!a(b.key))return!1;b=b.eb}return!0};cb.prototype.each=function(a){for(var b=this.Oa.La;null!==b;)a(b.key),b=b.eb;return this};cb.prototype.map=function(a){for(var b=new K,c=this.Oa.La;null!==c;)b.add(a(c.key)),c=c.eb;return b};
cb.prototype.filter=function(a){for(var b=new K(this.Oa.cf),c=this.Oa.La;null!==c;){var d=c.key;a(d)&&b.add(d);c=c.eb}return b};cb.prototype.concat=function(a){return this.tG().ad(a)};cb.prototype.copy=function(){return new cb(this.Oa)};cb.prototype.toSet=cb.prototype.tG=function(){var a=new K(this.Oa.cf),b=this.Oa.sd,c;for(c in b)a.add(b[c].key);return a};cb.prototype.toArray=cb.prototype.kc=function(){var a=this.Oa.sd,b=Array(this.Oa.rd),c=0,d;for(d in a)b[c]=a[d].key,c++;return b};
cb.prototype.toList=function(){var a=new J(this.da),b=this.Oa.sd,c;for(c in b)a.add(b[c].key);return a};x.w(cb,{count:"count"},function(){return this.Oa.rd});x.w(cb,{size:"size"},function(){return this.Oa.rd});x.w(cb,{i:"iterator"},function(){return 0>=this.Oa.rd?Ra:new $a(this.Oa)});function eb(a){this.Oa=a;this.reset()}x.Yd(eb,{key:!0,value:!0});x.w(eb,{i:"iterator"},function(){return this});eb.prototype.reset=eb.prototype.reset=function(){var a=this.Oa;a.Oj=null;this.qb=a.G;this.ob=null};
eb.prototype.next=eb.prototype.hasNext=eb.prototype.next=function(){var a=this.Oa;if(a.G!==this.qb){if(null===this.key)return!1;x.Sa(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.value=b.value,this.key=b.key,!0;this.Pf();return!1};eb.prototype.first=eb.prototype.first=function(){var a=this.Oa;this.qb=a.G;a=a.La;if(null!==a){this.ob=a;var b=a.value;this.key=a.key;return this.value=b}return null};
eb.prototype.any=function(a){var b=this.Oa;b.Oj=null;var c=b.G;this.ob=null;for(var d=b.La;null!==d;){if(a(d.value))return!0;b.G!==c&&x.Sa(b);d=d.eb}return!1};eb.prototype.all=function(a){var b=this.Oa;b.Oj=null;var c=b.G;this.ob=null;for(var d=b.La;null!==d;){if(!a(d.value))return!1;b.G!==c&&x.Sa(b);d=d.eb}return!0};eb.prototype.each=function(a){var b=this.Oa;b.Oj=null;var c=b.G;this.ob=null;for(var d=b.La;null!==d;)a(d.value),b.G!==c&&x.Sa(b),d=d.eb;return this};
eb.prototype.map=function(a){var b=this.Oa;b.Oj=null;var c=b.G;this.ob=null;for(var d=new J,e=b.La;null!==e;)d.add(a(e.value)),b.G!==c&&x.Sa(b),e=e.eb;return d.i};eb.prototype.filter=function(a){var b=this.Oa;b.Oj=null;var c=b.G;this.ob=null;for(var d=new J(b.cf),e=b.La;null!==e;){var g=e.value;a(g)&&d.add(g);b.G!==c&&x.Sa(b);e=e.eb}return d.i};eb.prototype.concat=function(a){this.Oa.Oj=null;return new Ua(this,a.i)};x.w(eb,{count:"count"},function(){return this.Oa.rd});
eb.prototype.Pf=function(){this.value=this.key=null;this.qb=-1;this.Oa.Oj=this};eb.prototype.toString=function(){return null!==this.ob?"MapValueSetIterator@"+this.ob.value:"MapValueSetIterator"};function Za(a,b){this.key=a;this.value=b;this.Po=this.eb=null}x.Yd(Za,{key:!0,value:!0});Za.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};function fb(a){this.Oa=a;this.reset()}x.Yd(fb,{key:!0,value:!0});x.w(fb,{i:"iterator"},function(){return this});
fb.prototype.reset=fb.prototype.reset=function(){var a=this.Oa;a.fc=null;this.qb=a.G;this.ob=null};fb.prototype.next=fb.prototype.hasNext=fb.prototype.next=function(){var a=this.Oa;if(a.G!==this.qb){if(null===this.key)return!1;x.Sa(a)}var b=this.ob,b=null===b?a.La:b.eb;if(null!==b)return this.ob=b,this.key=b.key,this.value=b.value,!0;this.Pf();return!1};
fb.prototype.first=fb.prototype.first=function(){var a=this.Oa;this.qb=a.G;a=a.La;return null!==a?(this.ob=a,this.key=a.key,this.value=a.value,a):null};fb.prototype.any=function(a){var b=this.Oa;b.fc=null;var c=b.G;this.ob=null;for(var d=b.La;null!==d;){if(a(d))return!0;b.G!==c&&x.Sa(b);d=d.eb}return!1};fb.prototype.all=function(a){var b=this.Oa;b.fc=null;var c=b.G;this.ob=null;for(var d=b.La;null!==d;){if(!a(d))return!1;b.G!==c&&x.Sa(b);d=d.eb}return!0};
fb.prototype.each=function(a){var b=this.Oa;b.fc=null;var c=b.G;this.ob=null;for(var d=b.La;null!==d;)a(d),b.G!==c&&x.Sa(b),d=d.eb;return this};fb.prototype.map=function(a){var b=this.Oa;b.fc=null;var c=b.G;this.ob=null;for(var d=new J,e=b.La;null!==e;)d.add(a(e)),b.G!==c&&x.Sa(b),e=e.eb;return d.i};fb.prototype.filter=function(a){var b=this.Oa;b.fc=null;var c=b.G;this.ob=null;for(var d=new J,e=b.La;null!==e;)a(e)&&d.add(e),b.G!==c&&x.Sa(b),e=e.eb;return d.i};
fb.prototype.concat=function(a){this.Oa.fc=null;return new Ua(this,a.i)};x.w(fb,{count:"count"},function(){return this.Oa.rd});fb.prototype.Pf=function(){this.value=this.key=null;this.qb=-1;this.Oa.fc=this};fb.prototype.toString=function(){return null!==this.ob?"MapIterator@"+this.ob:"MapIterator"};
function ra(a,b){x.lc(this);this.F=!1;void 0===a||null===a?this.cf=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.cf=a:x.la(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.cf=a===Object?"object":a===String?"string":a===Number?"number":a:x.la(a,"null, a primitive type name, or a class type","Map constructor: keytype");void 0===b||null===b?this.ji=null:"string"===typeof b?"object"===b||"string"===b||"boolean"===b||"number"===
b||"function"===b?this.ji=b:x.la(b,"the string 'object', 'number', 'string', 'boolean', or 'function'","Map constructor: valtype"):"function"===typeof b?this.ji=b===Object?"object":b===String?"string":b===Number?"number":b===Boolean?"boolean":b===Function?"function":b:x.la(b,"null, a primitive type name, or a class type","Map constructor: valtype");this.sd={};this.rd=0;this.Oj=this.fc=null;this.G=0;this.Xh=this.La=null}x.ja("Map",ra);
function hb(a,b){null!==a.cf&&("string"===typeof a.cf?typeof b===a.cf&&null!==b||x.jc(b,a.cf):b instanceof a.cf||x.jc(b,a.cf))}ra.prototype.Kc=function(){var a=this.G;a++;999999999<a&&(a=0);this.G=a};ra.prototype.freeze=ra.prototype.freeze=function(){this.F=!0;return this};ra.prototype.thaw=ra.prototype.Wa=function(){this.F=!1;return this};ra.prototype.toString=function(){return"Map("+x.getTypeName(this.cf)+","+x.getTypeName(this.ji)+")#"+x.nd(this)};
ra.prototype.add=ra.prototype.set=ra.prototype.add=function(a,b){u&&(hb(this,a),null!==this.ji&&("string"===typeof this.ji?typeof b===this.ji&&null!==b||x.jc(b,this.ji):b instanceof this.ji||x.jc(b,this.ji)));this.F&&x.pa(this,a);var c=a;x.Za(a)&&(c=x.St(a));var d=this.sd[c];if(void 0===d)return this.rd++,d=new Za(a,b),this.sd[c]=d,c=this.Xh,null===c?this.La=d:(d.Po=c,c.eb=d),this.Xh=d,this.Kc(),!0;d.value=b;return!1};
ra.prototype.addAll=ra.prototype.ad=function(a){if(null===a)return this;if(x.isArray(a))for(var b=x.cb(a),c=0;c<b;c++){var d=x.Xa(a,c);this.add(d.key,d.value)}else for(a=a.i;a.next();)this.add(a.key,a.value);return this};ra.prototype.first=ra.prototype.first=function(){return this.La};ra.prototype.any=function(a){for(var b=this.G,c=this.La;null!==c;){if(a(c))return!0;this.G!==b&&x.Sa(this);c=c.eb}return!1};
ra.prototype.all=function(a){for(var b=this.G,c=this.La;null!==c;){if(!a(c))return!1;this.G!==b&&x.Sa(this);c=c.eb}return!0};ra.prototype.each=function(a){for(var b=this.G,c=this.La;null!==c;)a(c),this.G!==b&&x.Sa(this),c=c.eb;return this};ra.prototype.map=function(a){for(var b=new ra(this.cf),c=this.G,d=this.La;null!==d;)b.add(d.key,a(d)),this.G!==c&&x.Sa(this),d=d.eb;return b};
ra.prototype.filter=function(a){for(var b=new ra(this.cf,this.ji),c=this.G,d=this.La;null!==d;)a(d)&&b.add(d.key,d.value),this.G!==c&&x.Sa(this),d=d.eb;return b};ra.prototype.concat=function(a){return this.copy().ad(a)};ra.prototype.contains=ra.prototype.has=ra.prototype.contains=function(a){u&&hb(this,a);var b=a;return x.Za(a)&&(b=x.nd(a),void 0===b)?!1:void 0!==this.sd[b]};
ra.prototype.getValue=ra.prototype.get=ra.prototype.oa=function(a){u&&hb(this,a);var b=a;if(x.Za(a)&&(b=x.nd(a),void 0===b))return null;a=this.sd[b];return void 0===a?null:a.value};
ra.prototype.remove=ra.prototype["delete"]=ra.prototype.remove=function(a){if(null===a)return!1;u&&hb(this,a);this.F&&x.pa(this,a);var b=a;if(x.Za(a)&&(b=x.nd(a),void 0===b))return!1;a=this.sd[b];if(void 0===a)return!1;var c=a.eb,d=a.Po;null!==c&&(c.Po=d);null!==d&&(d.eb=c);this.La===a&&(this.La=c);this.Xh===a&&(this.Xh=d);delete this.sd[b];this.rd--;this.Kc();return!0};ra.prototype.clear=ra.prototype.clear=function(){this.F&&x.pa(this);this.sd={};this.rd=0;this.Xh=this.La=null;this.Kc()};
ra.prototype.copy=function(){var a=new ra(this.cf,th