UNPKG

gojs

Version:

Interactive diagrams, charts, and graphs, such as trees, flowcharts, orgcharts, UML, BPMN, or business diagrams

121 lines 936 kB
/* * GoJS v2.0.0-beta8 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-2018 by Northwoods Software Corporation. All Rights Reserved. * THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: https://gojs.net/2.0.0-beta8/license.html. */ (function() { var t;function aa(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}}function ca(a){var b="undefined"!=typeof Symbol&&Symbol.iterator&&a[Symbol.iterator];return b?b.call(a):{next:aa(a)}}function ea(a){for(var b,c=[];!(b=a.next()).done;)c.push(b.value);return c}var fa="function"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},ha; if("function"==typeof Object.setPrototypeOf)ha=Object.setPrototypeOf;else{var ia;a:{var ja={a:!0},ka={};try{ka.__proto__=ja;ia=ka.a;break a}catch(a){}ia=!1}ha=ia?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var la=ha; function ma(a,b){a.prototype=fa(b.prototype);a.prototype.constructor=a;if(la)la(a,b);else for(var c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.mA=b.prototype}var na="undefined"!=typeof window&&window===self?self:"undefined"!=typeof global&&null!=global?global:self,oa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)}; function pa(a){if(a){for(var b=na,c=["Array","prototype","fill"],d=0;d<c.length-1;d++){var e=c[d];e in b||(b[e]={});b=b[e]}c=c[c.length-1];d=b[c];a=a(d);a!=d&&null!=a&&oa(b,c,{configurable:!0,writable:!0,value:a})}}pa(function(a){return a?a:function(a,c,d){var b=this.length||0;0>c&&(c=Math.max(0,b+c));if(null==d||d>b)d=b;d=Number(d);0>d&&(d=Math.max(0,b+d));for(c=Number(c||0);c<d;c++)this[c]=a;return this}});var ra="object"===typeof self&&self.self===self&&self||"object"===typeof global&&global.global===global&&global||"object"===typeof window&&window.window===window&&window||{};void 0===ra.requestAnimationFrame&&(ra.requestAnimationFrame=setImmediate);function sa(){}function ta(a,b){var c=-1;return function(){var d=this,e=arguments;-1!==c&&ra.clearTimeout(c);c=va(function(){c=-1;a.apply(d,e)},b)}}function va(a,b){return ra.setTimeout(a,b)}function wa(a){return ra.document.createElement(a)} function v(a){throw Error(a);}function xa(a,b){a="The object is frozen, so its properties cannot be set: "+a.toString();void 0!==b&&(a+=" to value: "+b);v(a)}function w(a,b,c,d){a instanceof b||(c=za(c),void 0!==d&&(c+="."+d),Aa(a,b,c))}function z(a,b,c,d){typeof a!==b&&(c=za(c),void 0!==d&&(c+="."+d),Aa(a,b,c))}function B(a,b,c){"number"===typeof a&&isFinite(a)||(b=za(b),void 0!==c&&(b+="."+c),v(b+" must be a real number type, and not NaN or Infinity: "+a))} function Aa(a,b,c,d){b=za(b);c=za(c);void 0!==d&&(c+="."+d);"string"===typeof a?v(c+" value is not an instance of "+b+': "'+a+'"'):v(c+" value is not an instance of "+b+": "+a)}function Ba(a,b,c,d){c=za(c);void 0!==d&&(c+="."+d);v(c+" is not in the range "+b+": "+a)}function Ca(a){v(("string"===typeof a.className?a.className:"")+" constructor cannot take any arguments.")} function Da(a){v("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.")}function Ea(a,b){v("No property to set for this enum value: "+b+" on "+a.toString())}function Ga(a){ra.console&&ra.console.log(a)} function Ia(){ra.console&&ra.console.log("Warning: List/Map/Set constructors no longer take an argument that enforces type.Instead they take an optional collection of Values to add to the collection. See 2.0 changelog for details.")}function Ka(a){return"object"===typeof a&&null!==a}function La(a){return Array.isArray(a)||ra.NodeList&&a instanceof ra.NodeList||ra.HTMLCollection&&a instanceof ra.HTMLCollection}function Oa(a,b,c){La(a)||Aa(a,"Array or NodeList or HTMLCollection",b,c)} function Pa(a){return Array.prototype.slice.call(a)}function Qa(a,b,c){Array.isArray(a)?b>=a.length?a.push(c):a.splice(b,0,c):v("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)}function Ra(a,b){Array.isArray(a)?b>=a.length?a.pop():a.splice(b,1):v("Cannot remove an object from an HTMLCollection or NodeList at "+b)}function Sa(){var a=Ta.pop();return void 0===a?[]:a}function Ua(a){a.length=0;Ta.push(a)} function za(a){return null===a?"*":"string"===typeof a?a:"function"===typeof a&&"string"===typeof a.className?a.className:""}function Wa(a){if("function"===typeof a){if(a.className)return a.className;if(a.name)return a.name;var b=a.toString();b=b.substring(9,b.indexOf("(")).trim();if(""!==b)return a._className=b}else if(Ka(a)&&a.constructor)return Wa(a.constructor);return typeof a} function Xa(a){var b=a;Ka(a)&&(a.text?b=a.text:a.name?b=a.name:void 0!==a.key?b=a.key:void 0!==a.id?b=a.id:a.constructor===Object&&(a.Text?b=a.Text:a.Name?b=a.Name:void 0!==a.Key?b=a.Key:void 0!==a.Id?b=a.Id:void 0!==a.ID&&(b=a.ID)));return void 0===b?"undefined":null===b?"null":b.toString()}function $a(a,b){if(a.hasOwnProperty(b))return!0;for(a=Object.getPrototypeOf(a);a&&a!==Function;){if(a.hasOwnProperty(b))return!0;var c=a.$z;if(c&&c[b])return!0;a=Object.getPrototypeOf(a)}return!1} function ab(a,b,c){Object.defineProperty(bb.prototype,a,{get:b,set:c})}function cb(){var a=db;if(0===a.length)for(var b=ra.document.getElementsByTagName("canvas"),c=b.length,d=0;d<c;d++){var e=b[d];e.parentElement&&e.parentElement.G&&a.push(e.parentElement.G)}return a} function eb(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);c=[];for(var d=0,e=0;e<a.length;e+=2)c[d++]=b[a.substr(e,2)];a=c.join("");a=""===a?"0":a;b=[];for(c=0;256>c;c++)b[c]=c;for(c=d=0;256>c;c++)d=(d+b[c]+119)%256,e=b[c],b[c]=b[d],b[d]=e;d=c=0;for(var f="",g=0;g<a.length;g++)c=(c+1)%256,d=(d+b[c])%256,e=b[c],b[c]=b[d],b[d]=e,f+=String.fromCharCode(a.charCodeAt(g)^b[(b[c]+b[d])%256]);return f} var fb=void 0!==ra.navigator&&0<ra.navigator.userAgent.indexOf("MSIE 9.0"),gb=void 0!==ra.navigator&&0<ra.navigator.userAgent.indexOf("MSIE 10.0"),ib=void 0!==ra.navigator&&0<ra.navigator.userAgent.indexOf("Trident/7"),kb=void 0!==ra.navigator&&0<ra.navigator.userAgent.indexOf("Edge/"),lb=void 0!==ra.navigator&&void 0!==ra.navigator.platform&&0<=ra.navigator.platform.toUpperCase().indexOf("MAC"),nb=void 0!==ra.navigator&&void 0!==ra.navigator.platform&&null!==ra.navigator.platform.match(/(iPhone|iPod|iPad)/i), pb=!1,qb=null,rb=null,Ta=[];Object.freeze([]);var db=[];sa.className="Util";sa.Dx="32ab5ff3b26f42dc0ed90f224c2913b5";sa.adym="gojs.net";sa.vfo="28e646fdb37b1981578a07";sa.className="Util";function D(a,b,c){sb(this);this.l=a;this.Va=b;this.w=c}D.prototype.toString=function(){return"EnumValue."+this.Va};function xb(a,b){return void 0===b||null===b||""===b?null:a[b]} function Ab(a,b,c,d){a.classType!==b&&(c=za(c),void 0!==d&&(c+="."+d),Aa(a,"function"==="a constant of class "+typeof b.className?b.className:"",c))}na.Object.defineProperties(D.prototype,{classType:{configurable:!0,get:function(){return this.l}},name:{configurable:!0,get:function(){return this.Va}},value:{configurable:!0,get:function(){return this.w}}});D.className="EnumValue";function Bb(){this.sw=[]}Bb.prototype.toString=function(){return this.sw.join("")}; Bb.prototype.add=function(a){""!==a&&this.sw.push(a)};Bb.className="StringBuilder";function Cb(){}Cb.className="PropertyCollection"; var E={Ai:!1,Ru:!1,Oy:!1,cA:!1,hA:!1,Bx:!1,bA:null,trace:function(a){ra.console&&ra.console.log(a)},wy:function(a){var b={},c;for(c in a){b.x=c;var d=a[b.x];if(void 0!==d.prototype){b.lm=Object.getOwnPropertyNames(d.prototype);for(var e={Zj:0};e.Zj<b.lm.length;e={Zj:e.Zj},e.Zj++){var f=Object.getOwnPropertyDescriptor(d.prototype,b.lm[e.Zj]);void 0!==f.get&&void 0===f.set&&Object.defineProperty(d.prototype,b.lm[e.Zj],{set:function(a,b){return function(){throw Error("Property "+a.lm[b.Zj]+" of "+a.x+ " is read-only.");}}(b,e)})}}b={lm:b.lm,x:b.x}}}};function Fb(){}Fb.prototype.reset=function(){};Fb.prototype.next=function(){return!1};Fb.prototype.hd=function(){return!1};Fb.prototype.first=function(){return null};Fb.prototype.any=function(){return!1};Fb.prototype.all=function(){return!0};Fb.prototype.each=function(){return this};Fb.prototype.map=function(){return this};Fb.prototype.filter=function(){return this};Fb.prototype.Bd=function(){};Fb.prototype.toString=function(){return"EmptyIterator"}; na.Object.defineProperties(Fb.prototype,{iterator:{configurable:!0,get:function(){return this}},count:{configurable:!0,get:function(){return 0}}});Fb.prototype.first=Fb.prototype.first;Fb.prototype.hasNext=Fb.prototype.hd;Fb.prototype.next=Fb.prototype.next;Fb.prototype.reset=Fb.prototype.reset;var Gb=null;Fb.className="EmptyIterator";Gb=new Fb;function Ib(a){this.key=-1;this.value=a}Ib.prototype.reset=function(){this.key=-1}; Ib.prototype.next=function(){return-1===this.key?(this.key=0,!0):!1};Ib.prototype.hd=function(){return this.next()};Ib.prototype.first=function(){this.key=0;return this.value};Ib.prototype.any=function(a){this.key=-1;return a(this.value)};Ib.prototype.all=function(a){this.key=-1;return a(this.value)};Ib.prototype.each=function(a){this.key=-1;a(this.value);return this};Ib.prototype.map=function(a){return new Ib(a(this.value))}; Ib.prototype.filter=function(a){return a(this.value)?new Ib(this.value):Gb};Ib.prototype.Bd=function(){this.value=null};Ib.prototype.toString=function(){return"SingletonIterator("+this.value+")"};na.Object.defineProperties(Ib.prototype,{iterator:{configurable:!0,get:function(){return this}},count:{configurable:!0,get:function(){return 1}}});Ib.prototype.first=Ib.prototype.first;Ib.prototype.hasNext=Ib.prototype.hd;Ib.prototype.next=Ib.prototype.next; Ib.prototype.reset=Ib.prototype.reset;Ib.className="SingletonIterator";function Jb(a){this.ub=a;this.Ze=null;a.Ka=null;this.oa=a.s;this.Sa=-1}Jb.prototype.reset=function(){var a=this.ub;a.Ka=null;this.oa=a.s;this.Sa=-1};Jb.prototype.next=function(){var a=this.ub;if(a.s!==this.oa){if(0>this.key)return!1;Da(a)}a=a.j;var b=a.length,c=++this.Sa,d=this.Ze;if(null!==d)for(;c<b;){var e=a[c];if(d(e))return this.key=this.Sa=c,this.value=e,!0;c++}else{if(c<b)return this.key=c,this.value=a[c],!0;this.Bd()}return!1}; Jb.prototype.hd=function(){return this.next()};Jb.prototype.first=function(){var a=this.ub;this.oa=a.s;this.Sa=0;a=a.j;var b=a.length,c=this.Ze;if(null!==c){for(var d=0;d<b;){var e=a[d];if(c(e))return this.key=this.Sa=d,this.value=e;d++}return null}return 0<b?(a=a[0],this.key=0,this.value=a):null};Jb.prototype.any=function(a){var b=this.ub;b.Ka=null;var c=b.s;this.Sa=-1;for(var d=b.j,e=d.length,f=this.Ze,g=0;g<e;g++){var h=d[g];if(null===f||f(h)){if(a(h))return!0;b.s!==c&&Da(b)}}return!1}; Jb.prototype.all=function(a){var b=this.ub;b.Ka=null;var c=b.s;this.Sa=-1;for(var d=b.j,e=d.length,f=this.Ze,g=0;g<e;g++){var h=d[g];if(null===f||f(h)){if(!a(h))return!1;b.s!==c&&Da(b)}}return!0};Jb.prototype.each=function(a){var b=this.ub;b.Ka=null;var c=b.s;this.Sa=-1;for(var d=b.j,e=d.length,f=this.Ze,g=0;g<e;g++){var h=d[g];if(null===f||f(h))a(h),b.s!==c&&Da(b)}return this}; Jb.prototype.map=function(a){var b=this.ub;b.Ka=null;var c=b.s;this.Sa=-1;for(var d=[],e=b.j,f=e.length,g=this.Ze,h=0;h<f;h++){var k=e[h];if(null===g||g(k))d.push(a(k)),b.s!==c&&Da(b)}a=new G;a.j=d;a.ob();return a.iterator};Jb.prototype.filter=function(a){var b=this.ub;b.Ka=null;var c=b.s;this.Sa=-1;for(var d=[],e=b.j,f=e.length,g=this.Ze,h=0;h<f;h++){var k=e[h];if(null===g||g(k))a(k)&&d.push(k),b.s!==c&&Da(b)}a=new G;a.j=d;a.ob();return a.iterator}; Jb.prototype.Bd=function(){this.key=-1;this.value=null;this.oa=-1;this.Ze=null;this.ub.Ka=this};Jb.prototype.toString=function(){return"ListIterator@"+this.Sa+"/"+this.ub.count}; na.Object.defineProperties(Jb.prototype,{iterator:{configurable:!0,get:function(){return this}},predicate:{configurable:!0,get:function(){return this.Ze},set:function(a){this.Ze=a}},count:{configurable:!0,get:function(){var a=this.Ze;if(null!==a){for(var b=0,c=this.ub.j,d=c.length,e=0;e<d;e++)a(c[e])&&b++;return b}return this.ub.j.length}}});Jb.prototype.first=Jb.prototype.first;Jb.prototype.hasNext=Jb.prototype.hd;Jb.prototype.next=Jb.prototype.next; Jb.prototype.reset=Jb.prototype.reset;Jb.className="ListIterator";function Kb(a){this.ub=a;a.Rg=null;this.oa=a.s;this.Sa=a.j.length}Kb.prototype.reset=function(){var a=this.ub;a.Rg=null;this.oa=a.s;this.Sa=a.j.length};Kb.prototype.next=function(){var a=this.ub;if(a.s!==this.oa){if(0>this.key)return!1;Da(a)}var b=--this.Sa;if(0<=b)return this.key=b,this.value=a.j[b],!0;this.Bd();return!1};Kb.prototype.hd=function(){return this.next()}; Kb.prototype.first=function(){var a=this.ub;this.oa=a.s;var b=a.j;this.Sa=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};Kb.prototype.any=function(a){var b=this.ub;b.Rg=null;var c=b.s,d=b.j,e=d.length;this.Sa=e;for(--e;0<=e;e--){if(a(d[e]))return!0;b.s!==c&&Da(b)}return!1};Kb.prototype.all=function(a){var b=this.ub;b.Rg=null;var c=b.s,d=b.j,e=d.length;this.Sa=e;for(--e;0<=e;e--){if(!a(d[e]))return!1;b.s!==c&&Da(b)}return!0}; Kb.prototype.each=function(a){var b=this.ub;b.Rg=null;var c=b.s,d=b.j,e=d.length;this.Sa=e;for(--e;0<=e;e--)a(d[e]),b.s!==c&&Da(b);return this};Kb.prototype.map=function(a){var b=this.ub;b.Rg=null;var c=b.s,d=[],e=b.j,f=e.length;this.Sa=f;for(--f;0<=f;f--)d.push(a(e[f])),b.s!==c&&Da(b);a=new G;a.j=d;a.ob();return a.iterator}; Kb.prototype.filter=function(a){var b=this.ub;b.Rg=null;var c=b.s,d=[],e=b.j,f=e.length;this.Sa=f;for(--f;0<=f;f--){var g=e[f];a(g)&&d.push(g);b.s!==c&&Da(b)}a=new G;a.j=d;a.ob();return a.iterator};Kb.prototype.Bd=function(){this.key=-1;this.value=null;this.oa=-1;this.ub.Rg=this};Kb.prototype.toString=function(){return"ListIteratorBackwards("+this.Sa+"/"+this.ub.count+")"}; na.Object.defineProperties(Kb.prototype,{iterator:{configurable:!0,get:function(){return this}},count:{configurable:!0,get:function(){return this.ub.j.length}}});Kb.prototype.first=Kb.prototype.first;Kb.prototype.hasNext=Kb.prototype.hd;Kb.prototype.next=Kb.prototype.next;Kb.prototype.reset=Kb.prototype.reset;Kb.className="ListIteratorBackwards"; function G(a){sb(this);this.u=!1;this.j=[];this.s=0;this.Rg=this.Ka=null;void 0!==a&&("function"===typeof a||"string"===typeof a?Ia():this.addAll(a))}t=G.prototype;t.ob=function(){var a=this.s;a++;999999999<a&&(a=0);this.s=a};t.freeze=function(){this.u=!0;return this};t.ja=function(){this.u=!1;return this};t.toString=function(){return"List()#"+Mb(this)};t.add=function(a){if(null===a)return this;this.u&&xa(this,a);this.j.push(a);this.ob();return this};t.push=function(a){this.add(a)}; t.addAll=function(a){if(null===a)return this;this.u&&xa(this);var b=this.j;if(La(a))for(var c=a.length,d=0;d<c;d++)b.push(a[d]);else for(a=a.iterator;a.next();)b.push(a.value);this.ob();return this};t.clear=function(){this.u&&xa(this);this.j.length=0;this.ob()};t.contains=function(a){return null===a?!1:-1!==this.j.indexOf(a)};t.has=function(a){return this.contains(a)};t.indexOf=function(a){return null===a?-1:this.j.indexOf(a)}; t.O=function(a){E&&B(a,G,"elt:i");var b=this.j;(0>a||a>=b.length)&&Ba(a,"0 <= i < length",G,"elt:i");return b[a]};t.get=function(a){return this.O(a)};t.md=function(a,b){E&&B(a,G,"setElt:i");var c=this.j;(0>a||a>=c.length)&&Ba(a,"0 <= i < length",G,"setElt:i");this.u&&xa(this,a);c[a]=b};t.set=function(a,b){this.md(a,b)};t.first=function(){var a=this.j;return 0===a.length?null:a[0]};t.fc=function(){var a=this.j,b=a.length;return 0<b?a[b-1]:null}; t.pop=function(){this.u&&xa(this);var a=this.j;return 0<a.length?a.pop():null};G.prototype.any=function(a){for(var b=this.j,c=this.s,d=b.length,e=0;e<d;e++){if(a(b[e]))return!0;this.s!==c&&Da(this)}return!1};G.prototype.all=function(a){for(var b=this.j,c=this.s,d=b.length,e=0;e<d;e++){if(!a(b[e]))return!1;this.s!==c&&Da(this)}return!0};G.prototype.each=function(a){for(var b=this.j,c=this.s,d=b.length,e=0;e<d;e++)a(b[e]),this.s!==c&&Da(this);return this}; G.prototype.map=function(a){for(var b=new G,c=[],d=this.j,e=this.s,f=d.length,g=0;g<f;g++)c.push(a(d[g])),this.s!==e&&Da(this);b.j=c;b.ob();return b};G.prototype.filter=function(a){for(var b=new G,c=[],d=this.j,e=this.s,f=d.length,g=0;g<f;g++){var h=d[g];a(h)&&c.push(h);this.s!==e&&Da(this)}b.j=c;b.ob();return b};t=G.prototype;t.Nb=function(a,b){E&&B(a,G,"insertAt:i");0>a&&Ba(a,">= 0",G,"insertAt:i");this.u&&xa(this,a);var c=this.j;a>=c.length?c.push(b):c.splice(a,0,b);this.ob()}; t.remove=function(a){if(null===a)return!1;this.u&&xa(this,a);var b=this.j;a=b.indexOf(a);if(-1===a)return!1;a===b.length-1?b.pop():b.splice(a,1);this.ob();return!0};t.delete=function(a){return this.remove(a)};t.qb=function(a){E&&B(a,G,"removeAt:i");var b=this.j;(0>a||a>=b.length)&&Ba(a,"0 <= i < length",G,"removeAt:i");this.u&&xa(this,a);a===b.length-1?b.pop():b.splice(a,1);this.ob()}; t.removeRange=function(a,b){E&&(B(a,G,"removeRange:from"),B(b,G,"removeRange:to"));var c=this.j,d=c.length;if(0>a)a=0;else if(a>=d)return this;if(0>b)return this;b>=d&&(b=d-1);if(a>b)return this;this.u&&xa(this);for(var e=a,f=b+1;f<d;)c[e++]=c[f++];c.length=d-(b-a+1);this.ob();return this};G.prototype.copy=function(){var a=new G,b=this.j;0<b.length&&(a.j=Array.prototype.slice.call(b));return a};t=G.prototype;t.Na=function(){for(var a=this.j,b=this.count,c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}; t.Vv=function(){for(var a=new H,b=this.j,c=this.count,d=0;d<c;d++)a.add(b[d]);return a};t.sort=function(a){E&&z(a,"function",G,"sort:sortfunc");this.u&&xa(this);this.j.sort(a);this.ob();return this}; t.Pi=function(a,b,c){var d=this.j,e=d.length;void 0===b&&(b=0);void 0===c&&(c=e);E&&(z(a,"function",G,"sortRange:sortfunc"),B(b,G,"sortRange:from"),B(c,G,"sortRange:to"));this.u&&xa(this);var f=c-b;if(1>=f)return this;(0>b||b>=e-1)&&Ba(b,"0 <= from < length",G,"sortRange:from");if(2===f)return c=d[b],e=d[b+1],0<a(c,e)&&(d[b]=e,d[b+1]=c,this.ob()),this;if(0===b)if(c>=e)d.sort(a);else for(b=d.slice(0,c),b.sort(a),a=0;a<c;a++)d[a]=b[a];else if(c>=e)for(c=d.slice(b),c.sort(a),a=b;a<e;a++)d[a]=c[a-b]; else for(e=d.slice(b,c),e.sort(a),a=b;a<c;a++)d[a]=e[a-b];this.ob();return this};t.reverse=function(){this.u&&xa(this);this.j.reverse();this.ob();return this}; na.Object.defineProperties(G.prototype,{_dataArray:{configurable:!0,get:function(){return this.j}},count:{configurable:!0,get:function(){return this.j.length}},size:{configurable:!0,get:function(){return this.j.length}},length:{configurable:!0,get:function(){return this.j.length}},iterator:{configurable:!0,get:function(){if(0>=this.j.length)return Gb;var a=this.Ka;return null!==a?(a.reset(),a):new Jb(this)}},iteratorBackwards:{configurable:!0, enumerable:!0,get:function(){if(0>=this.j.length)return Gb;var a=this.Rg;return null!==a?(a.reset(),a):new Kb(this)}}});G.prototype.reverse=G.prototype.reverse;G.prototype.sortRange=G.prototype.Pi;G.prototype.sort=G.prototype.sort;G.prototype.toSet=G.prototype.Vv;G.prototype.toArray=G.prototype.Na;G.prototype.removeRange=G.prototype.removeRange;G.prototype.removeAt=G.prototype.qb;G.prototype["delete"]=G.prototype.delete;G.prototype.remove=G.prototype.remove;G.prototype.insertAt=G.prototype.Nb; G.prototype.pop=G.prototype.pop;G.prototype.last=G.prototype.fc;G.prototype.first=G.prototype.first;G.prototype.set=G.prototype.set;G.prototype.setElt=G.prototype.md;G.prototype.get=G.prototype.get;G.prototype.elt=G.prototype.O;G.prototype.indexOf=G.prototype.indexOf;G.prototype.has=G.prototype.has;G.prototype.contains=G.prototype.contains;G.prototype.clear=G.prototype.clear;G.prototype.addAll=G.prototype.addAll;G.prototype.push=G.prototype.push;G.prototype.add=G.prototype.add;G.prototype.thaw=G.prototype.ja; G.prototype.freeze=G.prototype.freeze;G.className="List";function Nb(a){this.gg=a;a.Ka=null;this.oa=a.s;this.pa=null}Nb.prototype.reset=function(){var a=this.gg;a.Ka=null;this.oa=a.s;this.pa=null};Nb.prototype.next=function(){var a=this.gg;if(a.s!==this.oa){if(null===this.key)return!1;Da(a)}var b=this.pa;b=null===b?a.ga:b.qa;if(null!==b)return this.pa=b,this.value=b.value,this.key=b.key,!0;this.Bd();return!1};Nb.prototype.hd=function(){return this.next()}; Nb.prototype.first=function(){var a=this.gg;this.oa=a.s;a=a.ga;if(null!==a){this.pa=a;var b=a.value;this.key=a.key;return this.value=b}return null};Nb.prototype.any=function(a){var b=this.gg;b.Ka=null;var c=b.s;this.pa=null;for(var d=b.ga;null!==d;){if(a(d.value))return!0;b.s!==c&&Da(b);d=d.qa}return!1};Nb.prototype.all=function(a){var b=this.gg;b.Ka=null;var c=b.s;this.pa=null;for(var d=b.ga;null!==d;){if(!a(d.value))return!1;b.s!==c&&Da(b);d=d.qa}return!0}; Nb.prototype.each=function(a){var b=this.gg;b.Ka=null;var c=b.s;this.pa=null;for(var d=b.ga;null!==d;)a(d.value),b.s!==c&&Da(b),d=d.qa;return this};Nb.prototype.map=function(a){var b=this.gg;b.Ka=null;for(var c=new G,d=b.s,e=b.ga;null!==e;)c.add(a(e.value)),b.s!==d&&Da(b),e=e.qa;return c.iterator};Nb.prototype.filter=function(a){var b=this.gg;b.Ka=null;for(var c=new G,d=b.s,e=b.ga;null!==e;){var f=e.value;a(f)&&c.add(f);b.s!==d&&Da(b);e=e.qa}return c.iterator}; Nb.prototype.Bd=function(){this.value=this.key=null;this.oa=-1;this.gg.Ka=this};Nb.prototype.toString=function(){return null!==this.pa?"SetIterator@"+this.pa.value:"SetIterator"};na.Object.defineProperties(Nb.prototype,{iterator:{configurable:!0,get:function(){return this}},count:{configurable:!0,get:function(){return this.gg.Gb}}});Nb.prototype.first=Nb.prototype.first;Nb.prototype.hasNext=Nb.prototype.hd;Nb.prototype.next=Nb.prototype.next;Nb.prototype.reset=Nb.prototype.reset; Nb.className="SetIterator";function H(a){sb(this);this.u=!1;this.Hb={};this.Gb=0;this.Ka=null;this.s=0;this.Ue=this.ga=null;void 0!==a&&("function"===typeof a||"string"===typeof a?Ia():this.addAll(a))}t=H.prototype;t.ob=function(){var a=this.s;a++;999999999<a&&(a=0);this.s=a};t.freeze=function(){this.u=!0;return this};t.ja=function(){this.u=!1;return this};t.toString=function(){return"Set()#"+Mb(this)}; t.add=function(a){if(null===a)return this;this.u&&xa(this,a);var b=a;Ka(a)&&(b=Ob(a));void 0===this.Hb[b]&&(this.Gb++,a=new Pb(a,a),this.Hb[b]=a,b=this.Ue,null===b?this.ga=a:(a.sl=b,b.qa=a),this.Ue=a,this.ob());return this};t.addAll=function(a){if(null===a)return this;this.u&&xa(this);if(La(a))for(var b=a.length,c=0;c<b;c++)this.add(a[c]);else for(a=a.iterator;a.next();)this.add(a.value);return this}; t.contains=function(a){if(null===a)return!1;var b=a;return Ka(a)&&(b=Mb(a),void 0===b)?!1:void 0!==this.Hb[b]};t.has=function(a){return this.contains(a)};t.Ay=function(a){if(null===a)return!0;for(a=a.iterator;a.next();)if(!this.contains(a.value))return!1;return!0};t.By=function(a){if(null===a)return!0;for(a=a.iterator;a.next();)if(this.contains(a.value))return!0;return!1};t.first=function(){var a=this.ga;return null===a?null:a.value}; H.prototype.any=function(a){for(var b=this.s,c=this.ga;null!==c;){if(a(c.value))return!0;this.s!==b&&Da(this);c=c.qa}return!1};H.prototype.all=function(a){for(var b=this.s,c=this.ga;null!==c;){if(!a(c.value))return!1;this.s!==b&&Da(this);c=c.qa}return!0};H.prototype.each=function(a){for(var b=this.s,c=this.ga;null!==c;)a(c.value),this.s!==b&&Da(this),c=c.qa;return this};H.prototype.map=function(a){for(var b=new H,c=this.s,d=this.ga;null!==d;)b.add(a(d.value)),this.s!==c&&Da(this),d=d.qa;return b}; H.prototype.filter=function(a){for(var b=new H,c=this.s,d=this.ga;null!==d;){var e=d.value;a(e)&&b.add(e);this.s!==c&&Da(this);d=d.qa}return b};t=H.prototype;t.remove=function(a){if(null===a)return!1;this.u&&xa(this,a);var b=a;if(Ka(a)&&(b=Mb(a),void 0===b))return!1;a=this.Hb[b];if(void 0===a)return!1;var c=a.qa,d=a.sl;null!==c&&(c.sl=d);null!==d&&(d.qa=c);this.ga===a&&(this.ga=c);this.Ue===a&&(this.Ue=d);delete this.Hb[b];this.Gb--;this.ob();return!0};t.delete=function(a){return this.remove(a)}; t.jq=function(a){if(null===a)return this;this.u&&xa(this);if(La(a))for(var b=a.length,c=0;c<b;c++)this.remove(a[c]);else for(a=a.iterator;a.next();)this.remove(a.value);return this};t.Nz=function(a){if(null===a||0===this.count)return this;this.u&&xa(this);var b=new H;b.addAll(a);a=[];for(var c=this.iterator;c.next();){var d=c.value;b.contains(d)||a.push(d)}this.jq(a);return this};t.clear=function(){this.u&&xa(this);this.Hb={};this.Gb=0;null!==this.Ka&&this.Ka.reset();this.Ue=this.ga=null;this.ob()}; H.prototype.copy=function(){var a=new H,b=this.Hb,c;for(c in b)a.add(b[c].value);return a};H.prototype.Na=function(){var a=Array(this.Gb),b=this.Hb,c=0,d;for(d in b)a[c]=b[d].value,c++;return a};H.prototype.Uv=function(){var a=new G,b=this.Hb,c;for(c in b)a.add(b[c].value);return a};function sb(a){a.__gohashid=Qb++}function Ob(a){var b=a.__gohashid;void 0===b&&(b=Qb++,a.__gohashid=b);return b}function Mb(a){return a.__gohashid} na.Object.defineProperties(H.prototype,{count:{configurable:!0,get:function(){return this.Gb}},size:{configurable:!0,get:function(){return this.Gb}},iterator:{configurable:!0,get:function(){if(0>=this.Gb)return Gb;var a=this.Ka;return null!==a?(a.reset(),a):new Nb(this)}}});H.prototype.toList=H.prototype.Uv;H.prototype.toArray=H.prototype.Na;H.prototype.clear=H.prototype.clear;H.prototype.retainAll=H.prototype.Nz;H.prototype.removeAll=H.prototype.jq; H.prototype["delete"]=H.prototype.delete;H.prototype.remove=H.prototype.remove;H.prototype.first=H.prototype.first;H.prototype.containsAny=H.prototype.By;H.prototype.containsAll=H.prototype.Ay;H.prototype.has=H.prototype.has;H.prototype.contains=H.prototype.contains;H.prototype.addAll=H.prototype.addAll;H.prototype.add=H.prototype.add;H.prototype.thaw=H.prototype.ja;H.prototype.freeze=H.prototype.freeze;var Qb=1;H.className="Set";H.uniqueHash=sb;H.hashIdUnique=Ob;H.hashId=Mb; function Rb(a){this.la=a;this.oa=a.s;this.pa=null}Rb.prototype.reset=function(){this.oa=this.la.s;this.pa=null};Rb.prototype.next=function(){var a=this.la;if(a.s!==this.oa){if(null===this.key)return!1;Da(a)}var b=this.pa;b=null===b?a.ga:b.qa;if(null!==b)return this.pa=b,this.value=this.key=a=b.key,!0;this.Bd();return!1};Rb.prototype.hd=function(){return this.next()};Rb.prototype.first=function(){var a=this.la;this.oa=a.s;a=a.ga;return null!==a?(this.pa=a,this.value=this.key=a=a.key):null}; Rb.prototype.any=function(a){var b=this.la,c=b.s;this.pa=null;for(var d=b.ga;null!==d;){if(a(d.key))return!0;b.s!==c&&Da(b);d=d.qa}return!1};Rb.prototype.all=function(a){var b=this.la,c=b.s;this.pa=null;for(var d=b.ga;null!==d;){if(!a(d.key))return!1;b.s!==c&&Da(b);d=d.qa}return!0};Rb.prototype.each=function(a){var b=this.la,c=b.s;this.pa=null;for(var d=b.ga;null!==d;)a(d.key),b.s!==c&&Da(b),d=d.qa;return this}; Rb.prototype.map=function(a){var b=this.la,c=b.s;this.pa=null;for(var d=new G,e=b.ga;null!==e;)d.add(a(e.key)),b.s!==c&&Da(b),e=e.qa;return d.iterator};Rb.prototype.filter=function(a){var b=this.la,c=b.s;this.pa=null;for(var d=new G,e=b.ga;null!==e;){var f=e.key;a(f)&&d.add(f);b.s!==c&&Da(b);e=e.qa}return d.iterator};Rb.prototype.Bd=function(){this.value=this.key=null;this.oa=-1};Rb.prototype.toString=function(){return null!==this.pa?"MapKeySetIterator@"+this.pa.value:"MapKeySetIterator"}; na.Object.defineProperties(Rb.prototype,{iterator:{configurable:!0,get:function(){return this}},count:{configurable:!0,get:function(){return this.la.Gb}}});Rb.prototype.first=Rb.prototype.first;Rb.prototype.hasNext=Rb.prototype.hd;Rb.prototype.next=Rb.prototype.next;Rb.prototype.reset=Rb.prototype.reset;Rb.className="MapKeySetIterator";function Ub(a){H.call(this);sb(this);this.u=!0;this.la=a}ma(Ub,H);t=Ub.prototype;t.freeze=function(){return this};t.ja=function(){return this}; t.toString=function(){return"MapKeySet("+this.la.toString()+")"};t.add=function(){v("This Set is read-only: "+this.toString());return this};t.contains=function(a){return this.la.contains(a)};t.has=function(a){return this.contains(a)};t.remove=function(){v("This Set is read-only: "+this.toString());return!1};t.delete=function(a){return this.remove(a)};t.clear=function(){v("This Set is read-only: "+this.toString())};t.first=function(){var a=this.la.ga;return null!==a?a.key:null}; Ub.prototype.any=function(a){for(var b=this.la.ga;null!==b;){if(a(b.key))return!0;b=b.qa}return!1};Ub.prototype.all=function(a){for(var b=this.la.ga;null!==b;){if(!a(b.key))return!1;b=b.qa}return!0};Ub.prototype.each=function(a){for(var b=this.la.ga;null!==b;)a(b.key),b=b.qa;return this};Ub.prototype.map=function(a){for(var b=new H,c=this.la.ga;null!==c;)b.add(a(c.key)),c=c.qa;return b};Ub.prototype.filter=function(a){for(var b=new H,c=this.la.ga;null!==c;){var d=c.key;a(d)&&b.add(d);c=c.qa}return b}; Ub.prototype.copy=function(){return new Ub(this.la)};Ub.prototype.Vv=function(){var a=new H,b=this.la.Hb,c;for(c in b)a.add(b[c].key);return a};Ub.prototype.Na=function(){var a=this.la.Hb,b=Array(this.la.Gb),c=0,d;for(d in a)b[c]=a[d].key,c++;return b};Ub.prototype.Uv=function(){var a=new G,b=this.la.Hb,c;for(c in b)a.add(b[c].key);return a}; na.Object.defineProperties(Ub.prototype,{count:{configurable:!0,get:function(){return this.la.Gb}},size:{configurable:!0,get:function(){return this.la.Gb}},iterator:{configurable:!0,get:function(){return 0>=this.la.Gb?Gb:new Rb(this.la)}}});Ub.prototype.toList=Ub.prototype.Uv;Ub.prototype.toArray=Ub.prototype.Na;Ub.prototype.toSet=Ub.prototype.Vv;Ub.prototype.first=Ub.prototype.first;Ub.prototype.clear=Ub.prototype.clear;Ub.prototype["delete"]=Ub.prototype.delete; Ub.prototype.remove=Ub.prototype.remove;Ub.prototype.has=Ub.prototype.has;Ub.prototype.contains=Ub.prototype.contains;Ub.prototype.add=Ub.prototype.add;Ub.prototype.thaw=Ub.prototype.ja;Ub.prototype.freeze=Ub.prototype.freeze;Ub.className="MapKeySet";function Vb(a){this.la=a;a.Te=null;this.oa=a.s;this.pa=null}Vb.prototype.reset=function(){var a=this.la;a.Te=null;this.oa=a.s;this.pa=null}; Vb.prototype.next=function(){var a=this.la;if(a.s!==this.oa){if(null===this.key)return!1;Da(a)}var b=this.pa;b=null===b?a.ga:b.qa;if(null!==b)return this.pa=b,this.value=b.value,this.key=b.key,!0;this.Bd();return!1};Vb.prototype.hd=function(){return this.next()};Vb.prototype.first=function(){var a=this.la;this.oa=a.s;a=a.ga;if(null!==a){this.pa=a;var b=a.value;this.key=a.key;return this.value=b}return null}; Vb.prototype.any=function(a){var b=this.la;b.Te=null;var c=b.s;this.pa=null;for(var d=b.ga;null!==d;){if(a(d.value))return!0;b.s!==c&&Da(b);d=d.qa}return!1};Vb.prototype.all=function(a){var b=this.la;b.Te=null;var c=b.s;this.pa=null;for(var d=b.ga;null!==d;){if(!a(d.value))return!1;b.s!==c&&Da(b);d=d.qa}return!0};Vb.prototype.each=function(a){var b=this.la;b.Te=null;var c=b.s;this.pa=null;for(var d=b.ga;null!==d;)a(d.value),b.s!==c&&Da(b),d=d.qa;return this}; Vb.prototype.map=function(a){var b=this.la;b.Te=null;var c=b.s;this.pa=null;for(var d=new G,e=b.ga;null!==e;)d.add(a(e.value)),b.s!==c&&Da(b),e=e.qa;return d.iterator};Vb.prototype.filter=function(a){var b=this.la;b.Te=null;var c=b.s;this.pa=null;for(var d=new G,e=b.ga;null!==e;){var f=e.value;a(f)&&d.add(f);b.s!==c&&Da(b);e=e.qa}return d.iterator};Vb.prototype.Bd=function(){this.value=this.key=null;this.oa=-1;this.la.Te=this}; Vb.prototype.toString=function(){return null!==this.pa?"MapValueSetIterator@"+this.pa.value:"MapValueSetIterator"};na.Object.defineProperties(Vb.prototype,{iterator:{configurable:!0,get:function(){return this}},count:{configurable:!0,get:function(){return this.la.Gb}}});Vb.prototype.first=Vb.prototype.first;Vb.prototype.hasNext=Vb.prototype.hd;Vb.prototype.next=Vb.prototype.next;Vb.prototype.reset=Vb.prototype.reset;Vb.className="MapValueSetIterator"; function Pb(a,b){this.key=a;this.value=b;this.sl=this.qa=null}Pb.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};Pb.className="KeyValuePair";function Wb(a){this.la=a;a.Ka=null;this.oa=a.s;this.pa=null}Wb.prototype.reset=function(){var a=this.la;a.Ka=null;this.oa=a.s;this.pa=null}; Wb.prototype.next=function(){var a=this.la;if(a.s!==this.oa){if(null===this.key)return!1;Da(a)}var b=this.pa;b=null===b?a.ga:b.qa;if(null!==b)return this.pa=b,this.key=b.key,this.value=b.value,!0;this.Bd();return!1};Wb.prototype.hd=function(){return this.next()};Wb.prototype.first=function(){var a=this.la;this.oa=a.s;a=a.ga;return null!==a?(this.pa=a,this.key=a.key,this.value=a.value,a):null}; Wb.prototype.any=function(a){var b=this.la;b.Ka=null;var c=b.s;this.pa=null;for(var d=b.ga;null!==d;){if(a(d))return!0;b.s!==c&&Da(b);d=d.qa}return!1};Wb.prototype.all=function(a){var b=this.la;b.Ka=null;var c=b.s;this.pa=null;for(var d=b.ga;null!==d;){if(!a(d))return!1;b.s!==c&&Da(b);d=d.qa}return!0};Wb.prototype.each=function(a){var b=this.la;b.Ka=null;var c=b.s;this.pa=null;for(var d=b.ga;null!==d;)a(d),b.s!==c&&Da(b),d=d.qa;return this}; Wb.prototype.map=function(a){var b=this.la;b.Ka=null;var c=b.s;this.pa=null;for(var d=new G,e=b.ga;null!==e;)d.add(a(e)),b.s!==c&&Da(b),e=e.qa;return d.iterator};Wb.prototype.filter=function(a){var b=this.la;b.Ka=null;var c=b.s;this.pa=null;for(var d=new G,e=b.ga;null!==e;)a(e)&&d.add(e),b.s!==c&&Da(b),e=e.qa;return d.iterator};Wb.prototype.Bd=function(){this.value=this.key=null;this.oa=-1;this.la.Ka=this};Wb.prototype.toString=function(){return null!==this.pa?"MapIterator@"+this.pa:"MapIterator"}; na.Object.defineProperties(Wb.prototype,{iterator:{configurable:!0,get:function(){return this}},count:{configurable:!0,get:function(){return this.la.Gb}}});Wb.prototype.first=Wb.prototype.first;Wb.prototype.hasNext=Wb.prototype.hd;Wb.prototype.next=Wb.prototype.next;Wb.prototype.reset=Wb.prototype.reset;Wb.className="MapIterator"; function Yb(a){sb(this);this.u=!1;this.Hb={};this.Gb=0;this.Te=this.Ka=null;this.s=0;this.Ue=this.ga=null;void 0!==a&&("function"===typeof a||"string"===typeof a?Ia():this.addAll(a))}t=Yb.prototype;t.ob=function(){var a=this.s;a++;999999999<a&&(a=0);this.s=a};t.freeze=function(){this.u=!0;return this};t.ja=function(){this.u=!1;return this};t.toString=function(){return"Map()#"+Mb(this)}; t.add=function(a,b){this.u&&xa(this,a);var c=a;Ka(a)&&(c=Ob(a));var d=this.Hb[c];void 0===d?(this.Gb++,a=new Pb(a,b),this.Hb[c]=a,c=this.Ue,null===c?this.ga=a:(a.sl=c,c.qa=a),this.Ue=a,this.ob()):d.value=b;return this};t.set=function(a,b){return this.add(a,b)};t.addAll=function(a){if(null===a)return this;if(La(a))for(var b=a.length,c=0;c<b;c++){var d=a[c];this.add(d.key,d.value)}else for(a=a.iterator;a.next();)b=a.value,this.add(b.key,b.value);return this};t.first=function(){return this.ga}; Yb.prototype.any=function(a){for(var b=this.s,c=this.ga;null!==c;){if(a(c))return!0;this.s!==b&&Da(this);c=c.qa}return!1};Yb.prototype.all=function(a){for(var b=this.s,c=this.ga;null!==c;){if(!a(c))return!1;this.s!==b&&Da(this);c=c.qa}return!0};Yb.prototype.each=function(a){for(var b=this.s,c=this.ga;null!==c;)a(c),this.s!==b&&Da(this),c=c.qa;return this};Yb.prototype.map=function(a){for(var b=new Yb,c=this.s,d=this.ga;null!==d;)b.add(d.key,a(d)),this.s!==c&&Da(this),d=d.qa;return b}; Yb.prototype.filter=function(a){for(var b=new Yb,c=this.s,d=this.ga;null!==d;)a(d)&&b.add(d.key,d.value),this.s!==c&&Da(this),d=d.qa;return b};t=Yb.prototype;t.contains=function(a){var b=a;return Ka(a)&&(b=Mb(a),void 0===b)?!1:void 0!==this.Hb[b]};t.has=function(a){return this.contains(a)};t.K=function(a){var b=a;if(Ka(a)&&(b=Mb(a),void 0===b))return null;a=this.Hb[b];return void 0===a?null:a.value};t.get=function(a){return this.K(a)}; t.remove=function(a){if(null===a)return!1;this.u&&xa(this,a);var b=a;if(Ka(a)&&(b=Mb(a),void 0===b))return!1;a=this.Hb[b];if(void 0===a)return!1;var c=a.qa,d=a.sl;null!==c&&(c.sl=d);null!==d&&(d.qa=c);this.ga===a&&(this.ga=c);this.Ue===a&&(this.Ue=d);delete this.Hb[b];this.Gb--;this.ob();return!0};t.delete=function(a){return this.remove(a)};t.clear=function(){this.u&&xa(this);this.Hb={};this.Gb=0;null!==this.Ka&&this.Ka.reset();null!==this.Te&&this.Te.reset();this.Ue=this.ga=null;this.ob()}; Yb.prototype.copy=function(){var a=new Yb,b=this.Hb,c;for(c in b){var d=b[c];a.add(d.key,d.value)}return a};Yb.prototype.Na=function(){var a=this.Hb,b=Array(this.Gb),c=0,d;for(d in a){var e=a[d];b[c]=new Pb(e.key,e.value);c++}return b};Yb.prototype.be=function(){return new Ub(this)}; na.Object.defineProperties(Yb.prototype,{count:{configurable:!0,get:function(){return this.Gb}},size:{configurable:!0,get:function(){return this.Gb}},iterator:{configurable:!0,get:function(){if(0>=this.count)return Gb;var a=this.Ka;return null!==a?(a.reset(),a):new Wb(this)}},iteratorKeys:{configurable:!0,get:function(){return 0>=this.count?Gb:new Rb(this)}},iteratorValues:{configurable:!0,get:function(){if(0>=this.count)return Gb; var a=this.Te;return null!==a?(a.reset(),a):new Vb(this)}}});Yb.prototype.toKeySet=Yb.prototype.be;Yb.prototype.toArray=Yb.prototype.Na;Yb.prototype.clear=Yb.prototype.clear;Yb.prototype["delete"]=Yb.prototype.delete;Yb.prototype.remove=Yb.prototype.remove;Yb.prototype.get=Yb.prototype.get;Yb.prototype.getValue=Yb.prototype.K;Yb.prototype.has=Yb.prototype.has;Yb.prototype.contains=Yb.prototype.contains;Yb.prototype.first=Yb.prototype.first;Yb.prototype.addAll=Yb.prototype.addAll; Yb.prototype.set=Yb.prototype.set;Yb.prototype.add=Yb.prototype.add;Yb.prototype.thaw=Yb.prototype.ja;Yb.prototype.freeze=Yb.prototype.freeze;Yb.className="Map";function J(a,b){void 0===a?this.F=this.D=0:"number"===typeof a&&"number"===typeof b?(this.D=a,this.F=b):v("Invalid arguments to Point constructor: "+a+", "+b);this.u=!1}J.prototype.assign=function(a){this.D=a.D;this.F=a.F;return this};J.prototype.h=function(a,b){this.D=a;this.F=b;return this}; J.prototype.ug=function(a,b){E&&(z(a,"number",J,"setTo:x"),z(b,"number",J,"setTo:y"),this.ha());this.D=a;this.F=b;return this};J.prototype.set=function(a){E&&(w(a,J,J,"set:p"),this.ha());this.D=a.D;this.F=a.F;return this};J.prototype.copy=function(){var a=new J;a.D=this.D;a.F=this.F;return a};t=J.prototype;t.ia=function(){this.u=!0;Object.freeze(this);return this};t.J=function(){return Object.isFrozen(this)?this:this.copy().freeze()};t.freeze=function(){this.u=!0;return this}; t.ja=function(){Object.isFrozen(this)&&v("cannot thaw constant: "+this);this.u=!1;return this};t.ha=function(a){if(this.u){var b="The Point is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);v(b)}};function Zb(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));return new J(c,e)}return new J} function $b(a){E&&w(a,J);return a.x.toString()+" "+a.y.toString()}t.toString=function(){return"Point("+this.x+","+this.y+")"};t.A=function(a){return a instanceof J?this.D===a.x&&this.F===a.y:!1};t.Ci=function(a,b){return this.D===a&&this.F===b};t.Qa=function(a){return K.B(this.D,a.x)&&K.B(this.F,a.y)};t.add=function(a){E&&(w(a,J,J,"add:p"),this.ha());this.D+=a.x;this.F+=a.y;return this};t.ae=function(a){E&&(w(a,J,J,"subtract:p"),this.ha());this.D-=a.x;this.F-=a.y;return this}; t.offset=function(a,b){E&&(B(a,J,"offset:dx"),B(b,J,"offset:dy"),this.ha());this.D+=a;this.F+=b;return this};J.prototype.rotate=function(a){E&&(B(a,J,"rotate:angle"),this.ha());if(0===a)return this;var b=this.D,c=this.F;if(0===b&&0===c)return this;360<=a?a-=360:0>a&&(a+=360);if(90===a){a=0;var d=1}else 180===a?(a=-1,d=0):270===a?(a=0,d=-1):(d=a*Math.PI/180,a=Math.cos(d),d=Math.sin(d));this.D=a*b-d*c;this.F=d*b+a*c;return this};t=J.prototype; t.scale=function(a,b){E&&(B(a,J,"scale:sx"),B(b,J,"scale:sy"),this.ha());this.D*=a;this.F*=b;return this};t.Fe=function(a){E&&w(a,J,J,"distanceSquaredPoint:p");var b=a.x-this.D;a=a.y-this.F;return b*b+a*a};t.gd=function(a,b){E&&(B(a,J,"distanceSquared:px"),B(b,J,"distanceSquared:py"));a-=this.D;b-=this.F;return a*a+b*b};t.normalize=function(){E&&this.ha();var a=this.D,b=this.F,c=Math.sqrt(a*a+b*b);0<c&&(this.D=a/c,this.F=b/c);return this}; t.Wa=function(a){E&&w(a,J,J,"directionPoint:p");return ac(a.x-this.D,a.y-this.F)};t.direction=function(a,b){E&&(B(a,J,"direction:px"),B(b,J,"direction:py"));return ac(a-this.D,b-this.F)};function ac(a,b){if(0===a)return 0<b?90:0>b?270:0;if(0===b)return 0<a?0:180;if(isNaN(a)||isNaN(b))return 0;var c=180*Math.atan(Math.abs(b/a))/Math.PI;0>a?c=0>b?c+180:180-c:0>b&&(c=360-c);return c} t.Iz=function(a,b,c,d){E&&(B(a,J,"projectOntoLineSegment:px"),B(b,J,"projectOntoLineSegment:py"),B(c,J,"projectOntoLineSegment:qx"),B(d,J,"projectOntoLineSegment:qy"));K.Li(a,b,c,d,this.D,this.F,this);return this};t.Jz=function(a,b){E&&(w(a,J,J,"projectOntoLineSegmentPoint:p"),w(b,J,J,"projectOntoLineSegmentPoint:q"));K.Li(a.x,a.y,b.x,b.y,this.D,this.F,this);return this}; t.Sz=function(a,b,c,d){E&&(B(a,J,"snapToGrid:originx"),B(b,J,"snapToGrid:originy"),B(c,J,"snapToGrid:cellwidth"),B(d,J,"snapToGrid:cellheight"));K.Tp(this.D,this.F,a,b,c,d,this);return this};t.Tz=function(a,b){E&&(w(a,J,J,"snapToGridPoint:p"),w(b,fc,J,"snapToGridPoint:q"));K.Tp(this.D,this.F,a.x,a.y,b.width,b.height,this);return this};t.Oi=function(a,b){E&&(w(a,L,J,"setRectSpot:r"),w(b,M,J,"setRectSpot:spot"),this.ha());this.D=a.x+b.x*a.width+b.offsetX;this.F=a.y+b.y*a.height+b.offsetY;return this}; t.mk=function(a,b,c,d,e){E&&(B(a,J,"setSpot:x"),B(b,J,"setSpot:y"),B(c,J,"setSpot:w"),B(d,J,"setSpot:h"),(0>c||0>d)&&v("Point.setSpot:Width and height cannot be negative"),w(e,M,J,"setSpot:spot"),this.ha());this.D=a+e.x*c+e.offsetX;this.F=b+e.y*d+e.offsetY;return this};t.transform=function(a){E&&w(a,gc,J,"transform:t");a.va(this);return this};function hc(a,b){E&&w(b,gc,J,"transformInverted:t");b.Yd(a);return a} function ic(a,b,c,d,e,f){E&&(B(a,J,"distanceLineSegmentSquared:px"),B(b,J,"distanceLineSegmentSquared:py"),B(c,J,"distanceLineSegmentSquared:ax"),B(d,J,"distanceLineSegmentSquared:ay"),B(e,J,"distanceLineSegmentSquared:bx"),B(f,J,"distanceLineSegmentSquared:by"));var g=e-c,h=f-d,k=g*g+h*h;c-=a;d-=b;var l=-c*g-d*h;if(0>=l||l>=k)return g=e-a,h=f-b,Math.min(c*c+d*d,g*g+h*h);a=g*d-h*c;return a*a/k} function jc(a,b,c,d){E&&(B(a,J,"distanceSquared:px"),B(b,J,"distanceSquared:py"),B(c,J,"distanceSquared:qx"),B(d,J,"distanceSquared:qy"));a=c-a;b=d-b;return a*a+b*b}function kc(a,b,c,d){E&&(B(a,J,"direction:px"),B(b,J,"direction:py"),B(c,J,"direction:qx"),B(d,J,"direction:qy"));a=c-a;b=d-b;if(0===a)return 0<b?90:0>b?270:0;if(0===b)return 0<a?0:180;if(isNaN(a)||isNaN(b))return 0;d=180*Math.atan(Math.abs(b/a))/Math.PI;0>a?d=0>b?d+180:180-d:0>b&&(d=360-d);return d} t.o=function(){return isFinite(this.x)&&isFinite(this.y)};J.alloc=function(){var a=oc.pop();return void 0===a?new J:a};J.allocAt=function(a,b){var c=oc.pop();if(void 0===c)return new J(a,b);c.x=a;c.y=b;return c};J.free=function(a){oc.push(a)}; na.Object.defineProperties(J.prototype,{x:{configurable:!0,get:function(){return this.D},set:function(a){E&&(z(a,"number",J,"x"),this.ha(a));this.D=a}},y:{configurable:!0,get:function(){return this.F},set:function(a){E&&(z(a,"number",J,"y"),this.ha(a));this.F=a}}});J.prototype.isReal=J.prototype.o;J.prototype.setSpot=J.prototype.mk;J.prototype.setRectSpot=J.prototype.Oi;J.prototype.snapToGridPoint=J.prototype.Tz;J.prototype.snapToGrid=J.prototype.Sz; J.prototype.projectOntoLineSegmentPoint=J.prototype.Jz;J.prototype.projectOntoLineSegment=J.prototype.Iz;J.prototype.direction=J.prototype.direction;J.prototype.directionPoint=J.prototype.Wa;J.prototype.normalize=J.prototype.normalize;J.prototype.distanceSquared=J.prototype.gd;J.prototype.distanceSquaredPoint=J.prototype.Fe;J.prototype.scale=J.prototype.scale;J.prototype.rotate=J.prototype.rotate;J.prototype.offset=J.prototype.offset;J.prototype.subtract=J.prototype.ae;J.prototype.add=J.prototype.add; J.prototype.equalsApprox=J.prototype.Qa;J.prototype.equalTo=J.prototype.Ci;J.prototype.equals=J.prototype.A;J.prototype.set=J.prototype.set;J.prototype.setTo=J.prototype.ug;var pc=null,qc=null,rc=null,sc=null,tc=null,oc=[];J.className="Point";J.parse=Zb;J.stringify=$b;J.distanceLineSegmentSquared=ic;J.distanceSquared=jc;J.direction=kc;J.Origin=pc=(new J(0,0)).ia();J.InfiniteTopLeft=qc=(new J(-Infinity,-Infinity)).ia();J.InfiniteBottomRight=rc=(new J(Infinity,Infinity)).ia(); J.SixPoint=sc=(new J(6,6)).ia();J.NoPoint=tc=(new J(NaN,NaN)).ia();J.parse=Zb;J.stringify=$b;J.distanceLineSegmentSquared=ic;J.distanceSquared=jc;J.direction=kc;function fc(a,b){void 0===a?this.Z=this.aa=0:"number"===typeof a&&(0<=a||isNaN(a))&&"number"===typeof b&&(0<=b||isNaN(b))?(this.aa=a,this.Z=b):v("Invalid arguments to Size constructor: "+a+", "+b);this.u=!1}var uc,vc,wc,Cc,Dc,Ec,Fc;fc.prototype.assign=function(a){this.aa=a.aa;this.Z=a.Z;return this}; fc.prototype.h=function(a,b){this.aa=a;this.Z=b;return this};fc.prototype.ug=function(a,b){E&&(z(a,"number",fc,"setTo:w"),z(b,"number",fc,"setTo:h"),0>a&&Ba(a,">= 0",fc,"setTo:w"),0>b&&Ba(b,">= 0",fc,"setTo:h"),this.ha());this.aa=a;this.Z=b;return this};fc.prototype.set=function(a){E&&(w(a,fc,fc,"set:s"),this.ha());this.aa=a.aa;this.Z=a.Z;return this};fc.prototype.copy=function(){var a=new fc;a.aa=this.aa;a.Z=this.Z;return a};t=fc.prototype;t.ia=function(){this.u=!0;Object.freeze(this);return this}; t.J=function(){return Object.isFrozen(this)?this:this.copy().freeze()};t.freeze=function(){this.u=!0;return this};t.ja=function(){Object.isFrozen(this)&&v("cannot thaw constant: "+this);this.u=!1;return this};t.ha=function(a){if(this.u){var b="The Size is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);v(b)}}; function Gc(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));return new fc(c,e)}return new fc}function Hc(a){E&&w(a,fc);return a.width.toString()+" "+a.height.toString()}t.toString=function(){return"Size("+this.width+","+this.height+")"};t.A=function(a){return a instanceof fc?this.aa===a.width&&this.Z===a.height:!1};t.Ci=function(a,b){return this.aa===a&&this.Z===b}; t.Qa=function(a){return K.B(this.aa,a.width)&&K.B(this.Z,a.height)};t.o=function(){return isFinite(this.width)&&isFinite(this.height)};fc.alloc=function(){var a=Ic.pop();return void 0===a?new fc:a};fc.free=function(a){Ic.push(a)}; na.Object.defineProperties(fc.prototype,{width:{configurable:!0,get:function(){return this.aa},set:function(a){E&&(z(a,"number",fc,"width"),this.ha(a));0>a&&Ba(a,">= 0",fc,"width");this.aa=a}},height:{configurable:!0,get:function(){return this.Z},set:function(a){E&&(z(a,"number",fc,"height"),this.ha(a));0>a&&Ba(a,">= 0",fc,"height");this.Z=a}}});fc.prototype.isReal=fc.prototype.o;fc.prototype.equalsApprox=fc.prototype.Qa;fc.prototype.equalTo=fc.prototype.Ci; fc.prototype.equals=fc.prototype.A;fc.prototype.set=fc.prototype.set;fc.prototype.setTo=fc.prototype.ug;var Ic=[];fc.className="Size";fc.parse=Gc;fc.stringify=Hc;fc.ZeroSize=uc=(new fc(0,0)).ia();fc.OneSize=vc=(new fc(1,1)).ia();fc.SixSize=wc=(new fc(6,6)).ia();fc.EightSize=Cc=(new fc(8,8)).ia();fc.TenSize=Dc=(new fc(10,10)).ia();fc.InfiniteSize=Ec=(new fc(Infinity,Infinity)).ia();fc.NoSize=Fc=(new fc(NaN,NaN)).ia();fc.parse=Gc;fc.stringify=Hc; function L(a,b,c,d){void 0===a?this.Z=this.aa=this.F=this.D=0:a instanceof J?b instanceof J?(this.D=Math.min(a.D,b.D),this.F=Math.min(a.F,b.F),this.aa=Math.abs(a.D-b.D),this.Z=Math.abs(a.F-b.F)):b instanceof fc?(this.D=a.D,this.F=a.F,this.aa=b.aa,this.Z=b.Z):v("Incorrect arguments supplied to Rect constructor"):"number"===typeof a&&"number"===typeof b&&"number"===typeof c&&(0<=c||isNaN(c))&&"number"===typeof d&&(0<=d||isNaN(d))?(this.D=a,this.F=b,this.aa=c,this.Z=d):v("Invalid arguments to Rect constructor: "+ a+", "+b+", "+c+", "+d);this.u=!1}t=L.prototype;t.assign=function(a){this.D=a.D;this.F=a.F;this.aa=a.aa;this.Z=a.Z;return this};t.h=function(a,b,c,d){this.D=a;this.F=b;this.aa=c;this.Z=d;return this};function Jc(a,b,c){a.aa=b;a.Z=c}t.ug=function(a,b,c,d){E&&(z(a,"number",L,"setTo:x"),z(b,"number",L,"setTo:y"),z(c,"number",L,"setTo:w"),z(d,"number",L,"setTo:h"),0>c&&Ba(c,">= 0",L,"setTo:w"),0>d&&Ba(d,">= 0",L,"setTo:h"),this.ha());this.D=a;this.F=b;this.aa=c;this.Z=d;return this}; t.set=function(a){E&&(w(a,L,L,"set:r"),this.ha());this.D=a.D;this.F=a.F;this.aa=a.aa;this.Z=a.Z;return this};t.od=function(a){E&&(w(a,J,L,"setPoint:p"),this.ha());this.D=a.D;this.F=a.F;return this};t.Qz=function(a){E&&(w(a,fc,L,"setSize:s"),this.ha());this.aa=a.aa;this.Z=a.Z;return this};L.prototype.copy=function(){var a=new L;a.D=this.D;a.F=this.F;a.aa=this.aa;a.Z=this.Z;return a};t=L.prototype;t.ia=function(){this.u=!0;Object.freeze(this);return this}; t.J=function(){return Object.isFrozen(this)?this:this.copy().freeze()};t.freeze=function(){this.u=!0;return this};t.ja=function(){Object.isFrozen(this)&&v("cannot thaw constant: "+this);this.u=!1;return this};t.ha=function(a){if(this.u){var b="The Rect is frozen, so its properties cannot be set: "+this.toString();void 0!==a&&(b+=" to value: "+a);v(b)}}; function Kc(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));for(var f=0;""===a[b];)b++;(d=a[b++])&&(f=parseFloat(d));for(var g=0;""===a[b];)b++;(d=a[b++])&&(g=parseFloat(d));return new L(c,e,f,g)}return new L}function Pc(a){E&&w(a,L);return a.x.toString()+" "+a.y.toString()+" "+a.width.toString()+" "+a.height.toString()} t.toString=function(){return"Rect("+this.x+","+this.y+","+this.width+","+this.height+")"};t.A=function(a){return a instanceof L?this.D===a.x&&this.F===a.y&&this.aa===a.width&&this.Z===a.height:!1};t.Ci=function(a,b,c,d){return this.D===a&&this.F===b&&this.aa===c&&this.Z===d};t.Qa=function(a){return K.B(this.D,a.x)&&K.B(this.F,a.y)&&K.B(this.aa,a.width)&&K.B(this.Z,a.height)};function Qc(a,b){return K.ca(a.D,b.x)&&K.ca(a.F,b.y)&&K.