forked from cesine/MorphoParser
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathfielddb-glosser.min.js
More file actions
19 lines (19 loc) · 475 KB
/
Copy pathfielddb-glosser.min.js
File metadata and controls
19 lines (19 loc) · 475 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/*! fielddb-glosser - v2.2.0 - 2017-03-12
* https://github.com/OpenSourceFieldlinguistics/FieldDB/issues/milestones?state=closed
* Copyright (c) 2017 FieldDB Contributors; Licensed Apache 2.0 */
!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){"use strict";var d;try{d=document.Q||FieldDB.Q}catch(b){d||(d=a("q"))}var e={OFFLINE:{CODE:600,MESSAGE:"Unable to contact URL, you appear to be offline."},CLIENT_TIMEOUT:{CODE:500,MESSAGE:"The request to URL timed out, please try again. If this happens again, please report this."},CONNECTION_ABORTED:{CODE:500,MESSAGE:"The request to URL was aborted by the server, please report this."},CONNECTION_ERRORED:{CODE:500,MESSAGE:"Server is not responding for URL, please report this."},INTERNAL_SERVER_ERROR:{CODE:500},CLIENT_ERROR:{CODE:400},fieldDBtype:"CORS",timeout:3e4,debugMode:!1,debug:function(a,b,c){this.debugMode&&(a&&console.log("CORS-DEBUG: "+a),b&&console.log(b),c&&console.log(c))},warn:function(a,b,c){this.warnMessage&&this.warnMessage.indexOf("message")>-1||(this.warnMessage=this.warnMessage+a,console.warn("CORS-WARN: "+a),b&&console.log(b),c&&console.log(c))},bug:function(a){console.warn("CORS-BUG: "+a)},render:function(){this.debug("Render requested for CORS, but it doesnt know how to render itself.")},clearCookies:function(a){this.warn("TODO clear cookies requested for "+a)},preprocess:function(a){this.debug("\n\n\npreprocess "+a.url+" "+a.complete),a.complete=!1,a.percentComplete=0,a.method||(a.method=a.type||"GET"),a.url||this.bug("There was an error. Please report this."),a.data||(a.data=""),"GET"===a.method&&a.data&&(a.dataToSend=JSON.stringify(a.data).replace(/,/g,"&").replace(/:/g,"=").replace(/"/g,"").replace(/[}{]/g,""),a.url=a.url+"?"+a.dataToSend)},handleResponse:function(a,b){if(!a.complete){this.debug(a.url+" "+a.complete+": handleResponse "+a.url);var c,d,e,f=a.xhr.responseJSON||a.xhr.responseText||a.xhr.response;try{f=JSON.parse(f)}catch(a){}if(f||(f={}),f.reason&&(f.message=f.reason,delete f.reason),(d=f.status||a.xhr.status)<400)return this.debug("done "+a.url+" "+a.complete+"\n\n\n"),a.complete=!0,a.percentComplete=100,void b.resolve(f);"object"!=typeof f&&(f={message:f}),c=new Error(f.userFriendlyErrors?f.userFriendlyErrors[0]:f.message);for(e in f)f.hasOwnProperty(e)&&(c[e]=f[e]);c.status=d,this.handleError(a,c,b)}},handleError:function(a,b,c){if(!a.complete){this.debug(a.url+" "+a.complete+": handleError "+a.url);var d;if(this.debug(b.stack),d={userFriendlyErrors:b.userFriendlyErrors||[b.message||"There was an error contacting URL from "+window.location.href+" the app will not function normally. Please report this."],status:b.status||610,error:b},"missing"===d.userFriendlyErrors[0]?d.userFriendlyErrors.unshift("The server replied that "+a.url+" is missing, please report this."):"no_db_file"===d.userFriendlyErrors[0]&&d.userFriendlyErrors.unshift("That database doesn't exist. Are you sure this is the database you wanted to open: "+a.url),401===d.status&&e.application&&e.application.authentication&&e.application.authentication.dispatchEvent&&e.application.authentication.dispatchEvent("unauthorized"),d.status>=500)try{window&&window.navigator&&!window.navigator.onLine?(d.userFriendlyErrors.unshift(e.OFFLINE.MESSAGE),d.status=e.OFFLINE.CODE):b&&b.srcElement&&void 0!==b.srcElement.status&&(d.status=b.srcElement.status)}catch(a){}d.userFriendlyErrors[0]=d.userFriendlyErrors[0].replace("URL",a.url),this.bug(d.userFriendlyErrors[0]),d.details=a,d.details&&d.details.xhr&&(this.debug(a.url+" "+a.complete+": cleaning up ",a.url),a.status=a.status||a.xhr.status,delete a.xhr),this.debug(a.url+" "+a.complete+": done "+a.url+"\n\n\n"),a.complete=!0,c.reject(d)}},setHeader:function(a,b,c){a.setRequestHeader(b,c)},ontimeout:function(a,b,c){var d=new Error(this.CLIENT_TIMEOUT.MESSAGE);this.debug(a.url+" "+a.complete+": timed out."),d.status=this.CLIENT_TIMEOUT.CODE,this.handleError(a,d,c)},onabort:function(a,b,c){var d=new Error(this.CONNECTION_ABORTED.MESSAGE);this.debug(a.url+" "+a.complete+": was aborted."),d.status=this.CONNECTION_ABORTED.CODE,this.handleError(a,d,c)},onerror:function(a,b,c){var d=new Error(this.CONNECTION_ERRORED.MESSAGE);this.debug(a.url+" "+a.complete+": errored."),a.xhr&&a.xhr.status?d.status=a.xhr.status:a.status?d.status=a.status:d.status=this.CONNECTION_ERRORED.CODE,this.handleError(a,d,c)},onload:function(a,b,c){this.handleResponse(a,c)},onprogress:function(a,b){if(this.debug(a.url+" "+a.complete+": onprogress "+a.url+" "+a.complete,b),b.lengthComputable){var c=b.loaded/b.total*100;this.debug(a.url+" "+a.complete+": percentComplete "+a.url,c),console.log("Percent complete "+a.url+" : "+c),a.complete||(a.percentComplete=c)}a.onprogress&&"function"==typeof a.onprogress&&a.onprogress(b)}};e.buildXhr=function(a){var b;try{b=new XMLHttpRequest}catch(a){return this.warn("XMLHttpRequest is not defined, nothing will happen.",a),null}if("withCredentials"in b)try{b.open(a.method,a.url,!0)}catch(a){return console.log(a),this.error=a.message,null}else"undefined"!=typeof XDomainRequest?(b=new XDomainRequest,b.open(a.method,a.url)):b=null;if(b)return this.setHeader(b,"Content-type","application/json"),a.withCredentials!==!1&&(b.withCredentials=!0,a.url.lastIndexOf(".")>a.url.lastIndexOf("/")&&0!==a.url.substring(a.url.lastIndexOf(".")).indexOf("htm")&&(b.withCredentials=!1)),(a.timeout||this.timeout)&&(b.timeout=a.timeout||this.timeout),b},e.makeCORSRequest=function(a){var b,c,e=this,f=d.defer();if(!a||!a.url)return d.nextTick(function(){f.reject({status:400,details:a,userFriendlyErrors:["Url must be defined"]})}),f.promise;if(this.preprocess(a,f),a.url=a.url.replace("corpusdev","corpus"),!(c=this.buildXhr(a))){var g=this.error||"CORS not supported, your device will be unable to contact "+a.url;return this.bug(g),d.nextTick(function(){f.reject({status:620,details:a,userFriendlyErrors:[g]})}),f.promise}if(a&&a.data&&a.data.files){console.log("converting to formdata ",a.data),b=new FormData;for(var h in a.data)a.data.hasOwnProperty(h)&&b.append(h,a.data[h]);b=b,this.setHeader(c,"Content-Type","multipart/form-data")}else a.data&&(b=JSON.stringify(a.data));c.onprogress=function(b){e.onprogress(a,b,f)},c.onload=function(b){e.onload(a,b,f)},c.onerror=function(b){e.onerror(a,b,f)},c.onabort=function(b){e.onabort(a,b,f)},c.ontimeout=function(b){e.ontimeout(a,b,f)},a.xhr=c;try{b?(e.debug(a.url+" "+a.complete+": sending ",b),c.send(b)):c.send()}catch(b){e.warn("Caught an exception when calling send on xhr",b),b.details=a,f.reject(b)}return f.promise};try{c.CORS=e}catch(a){}try{document}catch(b){var f=a("./CORSNode").CORS;console.warn("REST requests: enabled"),c.CORS=f||e}},{"./CORSNode":2,q:3}],2:[function(a,b,c){var d=a("q"),e=a("http"),f=a("https"),g=a("url"),h=a("./CORS").CORS;h.buildXhr=function(){},h.setHeader=function(a,b,c){a.setHeader(b,c)};var i={};h.clearCookies=function(a){a&&(this.warn("clearing cookies on "+a),delete i[a])},h.makeCORSRequest=function(a){var b,c=this,h=d.defer(),j="";if(!a||!a.url)return d.nextTick(function(){h.reject({status:400,details:a,userFriendlyErrors:["Url must be defined"]})}),h.promise;this.preprocess(a,h);var k=g.parse(a.url),l=e;"https:"===k.protocol&&(l=f,k.port=k.port||443),delete k.protocol,k.method=a.method||"GET",b=l.request(k,function(d){var e="";d.setEncoding("utf8"),c.debug(a.url+" "+a.complete+": requesting "),d.on("data",function(b){e+=b,c.debug(a.url+" "+a.complete+": ondata "),c.onprogress.apply(c,[a,{lengthComputable:!0,loaded:e.length-b.length,total:e.length},h])}),d.on("end",function(){b.responseText=e,b.status=d.statusCode,d.headers&&d.headers["set-cookie"]&&(i[k.host]=d.headers["set-cookie"],c.debug(a.url+" "+a.complete+": cookies",i)),c.debug(a.url+" "+a.complete+": response headers "+a.url,d.headers),"DELETE"===a.method&&"/_session"===k.path&&c.clearCookies(k.host),c.onprogress.apply(c,[a,{lengthComputable:!0,loaded:e.length,total:e.length},h]),c.onload.apply(c,[a,{},h])})}),i[k.host]&&b.setHeader("Cookie",i[k.host].join(";")),c.debug(a.url+" "+a.complete+": request cookies "+b.getHeader("cookie")),b.setHeader("Content-type","application/json"),b.setTimeout(a.timeout||this.timeout),a&&a.data&&a.data.files||a.data&&(j=JSON.stringify(a.data)),b.on("error",function(b){c.onerror.apply(c,[a,b,h])}),b.on("timeout",function(d){c.ontimeout.apply(c,[a,d,h]),b.abort()}),a.xhr=b;try{j?(c.debug(a.url+" "+a.complete+": sending ",j),b.write(j)):b.write(""),b.end()}catch(b){c.warn("Caught an exception when calling send on xhr",b.stack),b.details=a,h.reject(b)}return h.promise},c&&(c.CORS=h)},{"./CORS":1,http:94,https:74,q:3,url:101}],3:[function(a,b,c){(function(a){!function(a){"use strict";if("function"==typeof bootstrap)bootstrap("promise",a);else if("object"==typeof c&&"object"==typeof b)b.exports=a();else if("function"==typeof define&&define.amd)define(a);else if("undefined"!=typeof ses){if(!ses.ok())return;ses.makeQ=a}else{if("undefined"==typeof window&&"undefined"==typeof self)throw new Error("This environment was not anticipated by Q. Please file a bug.");var d="undefined"!=typeof window?window:self,e=d.Q;d.Q=a(),d.Q.noConflict=function(){return d.Q=e,this}}}(function(){"use strict";function b(a){return function(){return V.apply(a,arguments)}}function c(a){return a===Object(a)}function d(a){return"[object StopIteration]"===ba(a)||a instanceof R}function e(a,b){if(P&&b.stack&&"object"==typeof a&&null!==a&&a.stack&&a.stack.indexOf(ca)===-1){for(var c=[],d=b;d;d=d.source)d.stack&&c.unshift(d.stack);c.unshift(a.stack);var e=c.join("\n"+ca+"\n");a.stack=f(e)}}function f(a){for(var b=a.split("\n"),c=[],d=0;d<b.length;++d){var e=b[d];i(e)||g(e)||!e||c.push(e)}return c.join("\n")}function g(a){return a.indexOf("(module.js:")!==-1||a.indexOf("(node.js:")!==-1}function h(a){var b=/at .+ \((.+):(\d+):(?:\d+)\)$/.exec(a);if(b)return[b[1],Number(b[2])];var c=/at ([^ ]+):(\d+):(?:\d+)$/.exec(a);if(c)return[c[1],Number(c[2])];var d=/.*@(.+):(\d+)$/.exec(a);return d?[d[1],Number(d[2])]:void 0}function i(a){var b=h(a);if(!b)return!1;var c=b[0],d=b[1];return c===Q&&d>=S&&d<=ha}function j(){if(P)try{throw new Error}catch(d){var a=d.stack.split("\n"),b=a[0].indexOf("@")>0?a[1]:a[2],c=h(b);if(!c)return;return Q=c[0],c[1]}}function k(a){return a instanceof o?a:s(a)?B(a):A(a)}function l(){function a(a){b=a,f.source=a,X(c,function(b,c){k.nextTick(function(){a.promiseDispatch.apply(a,c)})},void 0),c=void 0,d=void 0}var b,c=[],d=[],e=$(l.prototype),f=$(o.prototype);if(f.promiseDispatch=function(a,e,f){var g=W(arguments);c?(c.push(g),"when"===e&&f[1]&&d.push(f[1])):k.nextTick(function(){b.promiseDispatch.apply(b,g)})},f.valueOf=function(){if(c)return f;var a=q(b);return r(a)&&(b=a),a},f.inspect=function(){return b?b.inspect():{state:"pending"}},k.longStackSupport&&P)try{throw new Error}catch(a){f.stack=a.stack.substring(a.stack.indexOf("\n")+1)}return e.promise=f,e.resolve=function(c){b||a(k(c))},e.fulfill=function(c){b||a(A(c))},e.reject=function(c){b||a(z(c))},e.notify=function(a){b||X(d,function(b,c){k.nextTick(function(){c(a)})},void 0)},e}function m(a){if("function"!=typeof a)throw new TypeError("resolver must be a function.");var b=l();try{a(b.resolve,b.reject,b.notify)}catch(a){b.reject(a)}return b.promise}function n(a){return m(function(b,c){for(var d=0,e=a.length;d<e;d++)k(a[d]).then(b,c)})}function o(a,b,c){void 0===b&&(b=function(a){return z(new Error("Promise does not support operation: "+a))}),void 0===c&&(c=function(){return{state:"unknown"}});var d=$(o.prototype);if(d.promiseDispatch=function(c,e,f){var g;try{g=a[e]?a[e].apply(d,f):b.call(d,e,f)}catch(a){g=z(a)}c&&c(g)},d.inspect=c,c){var e=c();"rejected"===e.state&&(d.exception=e.reason),d.valueOf=function(){var a=c();return"pending"===a.state||"rejected"===a.state?d:a.value}}return d}function p(a,b,c,d){return k(a).then(b,c,d)}function q(a){if(r(a)){var b=a.inspect();if("fulfilled"===b.state)return b.value}return a}function r(a){return a instanceof o}function s(a){return c(a)&&"function"==typeof a.then}function t(a){return r(a)&&"pending"===a.inspect().state}function u(a){return!r(a)||"fulfilled"===a.inspect().state}function v(a){return r(a)&&"rejected"===a.inspect().state}function w(){da.length=0,ea.length=0,ga||(ga=!0)}function x(b,c){ga&&("object"==typeof a&&"function"==typeof a.emit&&k.nextTick.runAfter(function(){Y(ea,b)!==-1&&(a.emit("unhandledRejection",c,b),fa.push(b))}),ea.push(b),c&&void 0!==c.stack?da.push(c.stack):da.push("(no stack) "+c))}function y(b){if(ga){var c=Y(ea,b);c!==-1&&("object"==typeof a&&"function"==typeof a.emit&&k.nextTick.runAfter(function(){var d=Y(fa,b);d!==-1&&(a.emit("rejectionHandled",da[c],b),fa.splice(d,1))}),ea.splice(c,1),da.splice(c,1))}}function z(a){var b=o({when:function(b){return b&&y(this),b?b(a):this}},function(){return this},function(){return{state:"rejected",reason:a}});return x(b,a),b}function A(a){return o({when:function(){return a},get:function(b){return a[b]},set:function(b,c){a[b]=c},delete:function(b){delete a[b]},post:function(b,c){return null===b||void 0===b?a.apply(void 0,c):a[b].apply(a,c)},apply:function(b,c){return a.apply(b,c)},keys:function(){return aa(a)}},void 0,function(){return{state:"fulfilled",value:a}})}function B(a){var b=l();return k.nextTick(function(){try{a.then(b.resolve,b.reject,b.notify)}catch(a){b.reject(a)}}),b.promise}function C(a){return o({isDef:function(){}},function(b,c){return I(a,b,c)},function(){return k(a).inspect()})}function D(a,b,c){return k(a).spread(b,c)}function E(a){return function(){function b(a,b){var g;if("undefined"==typeof StopIteration){try{g=c[a](b)}catch(a){return z(a)}return g.done?k(g.value):p(g.value,e,f)}try{g=c[a](b)}catch(a){return d(a)?k(a.value):z(a)}return p(g,e,f)}var c=a.apply(this,arguments),e=b.bind(b,"next"),f=b.bind(b,"throw");return e()}}function F(a){k.done(k.async(a)())}function G(a){throw new R(a)}function H(a){return function(){return D([this,J(arguments)],function(b,c){return a.apply(b,c)})}}function I(a,b,c){return k(a).dispatch(b,c)}function J(a){return p(a,function(a){var b=0,c=l();return X(a,function(d,e,f){var g;r(e)&&"fulfilled"===(g=e.inspect()).state?a[f]=g.value:(++b,p(e,function(d){a[f]=d,0==--b&&c.resolve(a)},c.reject,function(a){c.notify({index:f,value:a})}))},void 0),0===b&&c.resolve(a),c.promise})}function K(a){if(0===a.length)return k.resolve();var b=k.defer(),c=0;return X(a,function(d,e,f){function g(a){b.resolve(a)}function h(){0===--c&&b.reject(new Error("Can't get fulfillment value from any promise, all promises were rejected."))}function i(a){b.notify({index:f,value:a})}var j=a[f];c++,p(j,g,h,i)},void 0),b.promise}function L(a){return p(a,function(a){return a=Z(a,k),p(J(Z(a,function(a){return p(a,T,T)})),function(){return a})})}function M(a){return k(a).allSettled()}function N(a,b){return k(a).then(void 0,void 0,b)}function O(a,b){return k(a).nodeify(b)}var P=!1;try{throw new Error}catch(a){P=!!a.stack}var Q,R,S=j(),T=function(){},U=function(){function b(){for(var a,b;d.next;)d=d.next,a=d.task,d.task=void 0,b=d.domain,b&&(d.domain=void 0,b.enter()),c(a,b);for(;i.length;)a=i.pop(),c(a);f=!1}function c(a,c){try{a()}catch(a){if(h)throw c&&c.exit(),setTimeout(b,0),c&&c.enter(),a;setTimeout(function(){throw a},0)}c&&c.exit()}var d={task:void 0,next:null},e=d,f=!1,g=void 0,h=!1,i=[];if(U=function(b){e=e.next={task:b,domain:h&&a.domain,next:null},f||(f=!0,g())},"object"==typeof a&&"[object process]"===a.toString()&&a.nextTick)h=!0,g=function(){a.nextTick(b)};else if("function"==typeof setImmediate)g="undefined"!=typeof window?setImmediate.bind(window,b):function(){setImmediate(b)};else if("undefined"!=typeof MessageChannel){var j=new MessageChannel;j.port1.onmessage=function(){g=k,j.port1.onmessage=b,b()};var k=function(){j.port2.postMessage(0)};g=function(){setTimeout(b,0),k()}}else g=function(){setTimeout(b,0)};return U.runAfter=function(a){i.push(a),f||(f=!0,g())},U}(),V=Function.call,W=b(Array.prototype.slice),X=b(Array.prototype.reduce||function(a,b){var c=0,d=this.length;if(1===arguments.length)for(;;){if(c in this){b=this[c++];break}if(++c>=d)throw new TypeError}for(;c<d;c++)c in this&&(b=a(b,this[c],c));return b}),Y=b(Array.prototype.indexOf||function(a){for(var b=0;b<this.length;b++)if(this[b]===a)return b;return-1}),Z=b(Array.prototype.map||function(a,b){var c=this,d=[];return X(c,function(e,f,g){d.push(a.call(b,f,g,c))},void 0),d}),$=Object.create||function(a){function b(){}return b.prototype=a,new b},_=b(Object.prototype.hasOwnProperty),aa=Object.keys||function(a){var b=[];for(var c in a)_(a,c)&&b.push(c);return b},ba=b(Object.prototype.toString);R="undefined"!=typeof ReturnValue?ReturnValue:function(a){this.value=a};var ca="From previous event:";k.resolve=k,k.nextTick=U,k.longStackSupport=!1,"object"==typeof a&&a&&a.env&&a.env.Q_DEBUG&&(k.longStackSupport=!0),k.defer=l,l.prototype.makeNodeResolver=function(){var a=this;return function(b,c){b?a.reject(b):arguments.length>2?a.resolve(W(arguments,1)):a.resolve(c)}},k.Promise=m,k.promise=m,m.race=n,m.all=J,m.reject=z,m.resolve=k,k.passByCopy=function(a){return a},o.prototype.passByCopy=function(){return this},k.join=function(a,b){return k(a).join(b)},o.prototype.join=function(a){return k([this,a]).spread(function(a,b){if(a===b)return a;throw new Error("Can't join: not the same: "+a+" "+b)})},k.race=n,o.prototype.race=function(){return this.then(k.race)},k.makePromise=o,o.prototype.toString=function(){return"[object Promise]"},o.prototype.then=function(a,b,c){function d(b){try{return"function"==typeof a?a(b):b}catch(a){return z(a)}}function f(a){if("function"==typeof b){e(a,h);try{return b(a)}catch(a){return z(a)}}return z(a)}function g(a){return"function"==typeof c?c(a):a}var h=this,i=l(),j=!1;return k.nextTick(function(){h.promiseDispatch(function(a){j||(j=!0,i.resolve(d(a)))},"when",[function(a){j||(j=!0,i.resolve(f(a)))}])}),h.promiseDispatch(void 0,"when",[void 0,function(a){var b,c=!1;try{b=g(a)}catch(a){if(c=!0,!k.onerror)throw a;k.onerror(a)}c||i.notify(b)}]),i.promise},k.tap=function(a,b){return k(a).tap(b)},o.prototype.tap=function(a){return a=k(a),this.then(function(b){return a.fcall(b).thenResolve(b)})},k.when=p,o.prototype.thenResolve=function(a){return this.then(function(){return a})},k.thenResolve=function(a,b){return k(a).thenResolve(b)},o.prototype.thenReject=function(a){return this.then(function(){throw a})},k.thenReject=function(a,b){return k(a).thenReject(b)},k.nearer=q,k.isPromise=r,k.isPromiseAlike=s,k.isPending=t,o.prototype.isPending=function(){return"pending"===this.inspect().state},k.isFulfilled=u,o.prototype.isFulfilled=function(){return"fulfilled"===this.inspect().state},k.isRejected=v,o.prototype.isRejected=function(){return"rejected"===this.inspect().state};var da=[],ea=[],fa=[],ga=!0;k.resetUnhandledRejections=w,k.getUnhandledReasons=function(){return da.slice()},k.stopUnhandledRejectionTracking=function(){w(),ga=!1},w(),k.reject=z,k.fulfill=A,k.master=C,k.spread=D,o.prototype.spread=function(a,b){return this.all().then(function(b){return a.apply(void 0,b)},b)},k.async=E,k.spawn=F,k.return=G,k.promised=H,k.dispatch=I,o.prototype.dispatch=function(a,b){var c=this,d=l();return k.nextTick(function(){c.promiseDispatch(d.resolve,a,b)}),d.promise},k.get=function(a,b){return k(a).dispatch("get",[b])},o.prototype.get=function(a){return this.dispatch("get",[a])},k.set=function(a,b,c){return k(a).dispatch("set",[b,c])},o.prototype.set=function(a,b){return this.dispatch("set",[a,b])},k.del=k.delete=function(a,b){return k(a).dispatch("delete",[b])},o.prototype.del=o.prototype.delete=function(a){return this.dispatch("delete",[a])},k.mapply=k.post=function(a,b,c){return k(a).dispatch("post",[b,c])},o.prototype.mapply=o.prototype.post=function(a,b){return this.dispatch("post",[a,b])},k.send=k.mcall=k.invoke=function(a,b){return k(a).dispatch("post",[b,W(arguments,2)])},o.prototype.send=o.prototype.mcall=o.prototype.invoke=function(a){return this.dispatch("post",[a,W(arguments,1)])},k.fapply=function(a,b){return k(a).dispatch("apply",[void 0,b])},o.prototype.fapply=function(a){return this.dispatch("apply",[void 0,a])},k.try=k.fcall=function(a){return k(a).dispatch("apply",[void 0,W(arguments,1)])},o.prototype.fcall=function(){return this.dispatch("apply",[void 0,W(arguments)])},k.fbind=function(a){var b=k(a),c=W(arguments,1);return function(){return b.dispatch("apply",[this,c.concat(W(arguments))])}},o.prototype.fbind=function(){var a=this,b=W(arguments);return function(){return a.dispatch("apply",[this,b.concat(W(arguments))])}},k.keys=function(a){return k(a).dispatch("keys",[])},o.prototype.keys=function(){return this.dispatch("keys",[])},k.all=J,o.prototype.all=function(){return J(this)},k.any=K,o.prototype.any=function(){return K(this)},k.allResolved=function(a,b,c){return function(){return"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(b+" is deprecated, use "+c+" instead.",new Error("").stack),a.apply(a,arguments)}}(L,"allResolved","allSettled"),o.prototype.allResolved=function(){return L(this)},k.allSettled=M,o.prototype.allSettled=function(){return this.then(function(a){return J(Z(a,function(a){function b(){return a.inspect()}return a=k(a),a.then(b,b)}))})},k.fail=k.catch=function(a,b){return k(a).then(void 0,b)},o.prototype.fail=o.prototype.catch=function(a){return this.then(void 0,a)},k.progress=N,o.prototype.progress=function(a){return this.then(void 0,void 0,a)},k.fin=k.finally=function(a,b){return k(a).finally(b)},o.prototype.fin=o.prototype.finally=function(a){return a=k(a),this.then(function(b){return a.fcall().then(function(){return b})},function(b){return a.fcall().then(function(){throw b})})},k.done=function(a,b,c,d){return k(a).done(b,c,d)},o.prototype.done=function(b,c,d){var f=function(a){k.nextTick(function(){if(e(a,g),!k.onerror)throw a;k.onerror(a)})},g=b||c||d?this.then(b,c,d):this;"object"==typeof a&&a&&a.domain&&(f=a.domain.bind(f)),g.then(void 0,f)},k.timeout=function(a,b,c){return k(a).timeout(b,c)},o.prototype.timeout=function(a,b){var c=l(),d=setTimeout(function(){b&&"string"!=typeof b||(b=new Error(b||"Timed out after "+a+" ms"),b.code="ETIMEDOUT"),c.reject(b)},a);return this.then(function(a){clearTimeout(d),c.resolve(a)},function(a){clearTimeout(d),c.reject(a)},c.notify),c.promise},k.delay=function(a,b){return void 0===b&&(b=a,a=void 0),k(a).delay(b)},o.prototype.delay=function(a){return this.then(function(b){var c=l();return setTimeout(function(){c.resolve(b)},a),c.promise})},k.nfapply=function(a,b){return k(a).nfapply(b)},o.prototype.nfapply=function(a){var b=l(),c=W(a);return c.push(b.makeNodeResolver()),this.fapply(c).fail(b.reject),b.promise},k.nfcall=function(a){var b=W(arguments,1);return k(a).nfapply(b)},o.prototype.nfcall=function(){var a=W(arguments),b=l();return a.push(b.makeNodeResolver()),this.fapply(a).fail(b.reject),b.promise},k.nfbind=k.denodeify=function(a){var b=W(arguments,1);return function(){var c=b.concat(W(arguments)),d=l();return c.push(d.makeNodeResolver()),k(a).fapply(c).fail(d.reject),d.promise}},o.prototype.nfbind=o.prototype.denodeify=function(){var a=W(arguments);return a.unshift(this),k.denodeify.apply(void 0,a)},k.nbind=function(a,b){var c=W(arguments,2);return function(){function d(){return a.apply(b,arguments)}var e=c.concat(W(arguments)),f=l();return e.push(f.makeNodeResolver()),k(d).fapply(e).fail(f.reject),f.promise}},o.prototype.nbind=function(){var a=W(arguments,0);return a.unshift(this),k.nbind.apply(void 0,a)},k.nmapply=k.npost=function(a,b,c){return k(a).npost(b,c)},o.prototype.nmapply=o.prototype.npost=function(a,b){var c=W(b||[]),d=l();return c.push(d.makeNodeResolver()),this.dispatch("post",[a,c]).fail(d.reject),d.promise},k.nsend=k.nmcall=k.ninvoke=function(a,b){var c=W(arguments,2),d=l();return c.push(d.makeNodeResolver()),k(a).dispatch("post",[b,c]).fail(d.reject),d.promise},o.prototype.nsend=o.prototype.nmcall=o.prototype.ninvoke=function(a){var b=W(arguments,1),c=l();return b.push(c.makeNodeResolver()),this.dispatch("post",[a,b]).fail(c.reject),c.promise},k.nodeify=O,o.prototype.nodeify=function(a){if(!a)return this;this.then(function(b){k.nextTick(function(){a(null,b)})},function(b){k.nextTick(function(){a(b)})})},k.noConflict=function(){throw new Error("Q.noConflict only works when Q is used as a global")};var ha=j();return k})}).call(this,a("_process"))},{_process:77}],4:[function(a,b,c){(function(b){var d=d||a("d3"),e=e||a("underscore");a("./Lexicon").LexiconFactory;!function(a){"use strict";var c=function(a){var b;b=a&&a.XMLHttpRequestLocal?a.XMLHttpRequestLocal:window.XMLHttpRequest;for(var c in a)a.hasOwnProperty(c)&&(this[c]=a[c]);var f=f||{debugMode:!0,bug:function(a){console.log(a)},debug:function(a,b,c,d){this.debugMode&&(console.log(a),b&&console.log(b),c&&console.log(c),d&&console.log(d))},makeCORSRequest:function(a){f.debugMode=!1,a.method||(a.method=a.type||"GET"),a.url||f.bug("There was an error. Please report this."),a.data||(a.data=""),a.dataToSend=JSON.stringify(a.data).replace(/,/g,"&").replace(/:/g,"=").replace(/"/g,"").replace(/[}{]/g,""),"GET"===a.method&&a.data&&(a.url=a.url+"?"+a.dataToSend);var c=function(a,c){var d=new b;return"withCredentials"in d?d.open(a,c,!0):"undefined"!=typeof XDomainRequest?(d=new XDomainRequest,d.open(a,c)):d=null,d}(a.method,a.url);if(!c)return void f.bug("CORS not supported, your browser is unable to contact the database.");c.setRequestHeader("Content-type","application/json"),c.withCredentials=!0,c.onload=function(b,d,e){var g=c.responseText;f.debugMode&&f.debug("Response from CORS request to "+a.url+": "+g),"function"==typeof a.success&&(g?a.success(JSON.parse(g)):(f.bug("There was no content in the server's response text. Please report this."),a.error(b,d,e))),f.debugMode=!1},c.onerror=function(b,c,d){f.debugMode&&f.debug(b,c,d),f.bug("There was an error making the CORS request to "+a.url+" from "+window.location.href+" the app will not function normally. Please report this."),"function"==typeof a.error&&a.error(b,c,d)},"POST"===a.method?c.send(JSON.stringify(a.data)):c.send()}};return this.currentCorpusName="",this.downloadPrecedenceRules=function(a,b,c){if(!b||"default"===b){if(!window.app)throw"Glosser cant be guessed, there is no app so the URL must be defined.";var d=window.app.get("corpus").get("couchConnection");b=f.getCouchUrl(d)+"/_design/pages/_view/precedence_rules?group=true"}var g=this;f.makeCORSRequest({type:"GET",url:b,success:function(b){var d=e.chain(b.rows).groupBy(function(a){return 1===a.key.distance&&(a.key.previous&&a.key.previous.morphemes&&(a.key.x=a.key.previous.morphemes),a.key.subsequent&&a.key.subsequent.morphemes&&(a.key.y=a.key.subsequent.morphemes)),a.key.x+"-"+a.key.y}).value();try{localStorage.setItem(a+"reducedRules",JSON.stringify(d))}catch(b){for(var f in localStorage)f.indexOf("reducedRules")>-1&&localStorage.removeItem(f);try{localStorage.setItem(a+"reducedRules",JSON.stringify(d))}catch(a){console.warn("Your lexicon is huge!",a)}}g.reducedRules=d,g.currentCorpusName=a,"function"==typeof c&&c(b.rows)},error:function(a){console.log("error getting precedence rules:",a)},dataType:""})},this.morphemefinder=function(a,b,c){if(!a)return"";if(c)return a;if(!b){if(!window.app||!window.app.get("corpus"))throw"Glosser can't be guessed, there is no app so the URL must be defined.";b=window.app.get("corpus").get("couchConnection").pouchname}var d="",e=this.reducedRules||localStorage.getItem(b+"reducedRules"),g=[];if(e){e=JSON.parse(e);var h=a.trim().split(/ +/);for(var i in h){h[i]="@"+h[i]+"@";var j=[];for(var k in e)h[i].indexOf(k.replace(/-/,""))>=0&&j.push({r:e[k]});var l=[];l.push("@");for(var m=0;m<10&&void 0!==l[m];m++)for(var n in j)if(!(l.length>2&&"@"===l[l.length-1])&&l[m]===j[n].r[0].key.x){if(l[m+1]){l.pop();break}l[m+1]=j[n].r[0].key.y}if(l.length>2&&"@"===l[0]&&"@"===l[l.length-1])l.pop(),l.shift(),g.push(l.join("-"));else{var o=[];if("@"!==l[l.length-1]||1===l.length){o.push("@");for(var p=0;p<10&&void 0!==o[p];p++)for(var q in j)if(o[p]===j[q].r[0].key.y){if(o[p+1]){o.pop();break}o[p+1]=j[q].r[0].key.x}}var r=[];r=l.concat(o.reverse());for(var s in r)r[s]="("+r[s]+")";var t=new RegExp(r.join("(.*)"),"");d=h[i].replace(t,"$1-$2-$3-$4-$5-$6-$7-$8-$9").replace(/\$[0-9]/g,"").replace(/@/g,"").replace(/--+/g,"-").replace(/^-/,"").replace(/-$/,""),f.debugMode&&f.debug("Potential parse of "+h[i].replace(/@/g,"")+" is "+d),g.push(d)}}}return g.join(" ")},this.contextSensitiveGlossFinder=function(a,b,c){var d=a.morphemes;if(!d)return"";if(c||!this.lexicon){var e=d.trim().replace(/[^ =-]+/g,"?");a.gloss=e}else a=this.lexicon.guessContextSensitiveGlosses(a);return a},this.simplisticGlossFinder=function(a,b,c){if(!a)return"";if(c){return a.trim().replace(/[^ -]+/g,"?")}if(!b){if(!window.app||!window.app.get("corpus"))throw"Glosser can't be guessed, there is no app so the URL must be defined.";b=window.app.get("corpus").get("couchConnection").pouchname}var d=localStorage.getItem(b+"lexiconResults");if(!d)return"";d=JSON.parse(d);var e=[],g=a.split(/ +/);for(var h in g){var i=g[h].split("-"),j=[];for(var k in i){var l=[],m=d[i[k]];m&&l.push(m),m=d[i[k].toLowerCase()],m&&l.push(m);var n="?";if(l.length>0){console.log("Glosses which match: ",l);try{n=l[0][0].gloss}catch(a){f.debug(l)}}j.push(n)}e.push(j.join("-"))}return e.join(" ")},this.guessUtteranceFromMorphemes=function(a,b){return!a.utterance&&a.morphemes&&(a.utterance=a.morphemes.replace(/[-.]/g,"")),a},this.guessMorphemesFromUtterance=function(a,b){return a.morphemes?a:(a.morphemes=this.morphemefinder(a.utterance,a.pouchname,b),a.gloss||(a=this.contextSensitiveGlossFinder(a,a.pouchname,b)),a)},this.guessGlossFromMorphemes=function(a,b){return a.gloss?a:(a.morphemes||(a.morphemes=a.utterance),a=this.contextSensitiveGlossFinder(a,a.pouchname,b))},this.generateForceDirectedRulesJsonForD3=function(a,b){if(b||(b=this.currentCorpusName),a||(a=this.reducedRules)||(localStorage.getItem(b+"precendenceRules"),a&&(a=JSON.parse(a))),a){var c=[],d=[];for(var e in a){"@"===a[e].key.x&&(a[e].key.x="#_"),"@"===a[e].key.y&&(a[e].key.y="_#");var f=d.indexOf(a[e].key.x);f<0&&(d.push(a[e].key.x),f=d.length-1);var g=d.indexOf(a[e].key.y);g<0&&(d.push(a[e].key.y),g=d.length-1),a[e].key.y.indexOf("@")===-1&&c.push({source:f,target:g,value:1})}var h=[];for(var i in d)h.push({name:d[i],length:d[i].length});var j={};return j.links=c,j.nodes=h,this.rulesGraph=j,j}},this.saveAndInterConnectInApp=function(a){"function"==typeof a&&a()},this.visualizeMorphemesAsForceDirectedGraph=function(a,b,c){if(!c)throw"Must provide corpus name to be able to visualize morphemes";if(this.currentCorpusName=c,a||(a=this.rulesGraph,a?0===a.links.length&&(a=this.generateForceDirectedRulesJsonForD3()):a=this.generateForceDirectedRulesJsonForD3()),a&&0!==this.rulesGraph.links.length){var e=a,f=d.scale.linear().range(["darkblue","darkred"]).domain([1,8]),g=d.scale.linear().range(["#FFFFF","#FFFF00"]).domain([1,8]),h=(d.scale.linear().range([0,800]),d.scale.linear().range([0,260]),d.layout.force().charge(-120).linkDistance(30).size([800,300])),i=d.select(b).append("svg").attr("width",800).attr("title","Morphology Visualization for "+c).attr("height",300),j="Click to search morphemes in your corpus";a.nodes.length<3&&(j="Your morpheme visualizer will appear here after you have synced.");var k=(i.append("text").attr("class","vis-title").attr("dy","1em").attr("dx","1em").style("fill","#cccccc").text(j),null);h.nodes(e.nodes).links(e.links).start();var l=i.selectAll("line.link").data(e.links).enter().append("line").attr("class","link").style("stroke",function(a){return g(a.value)}).style("stroke-width",function(a){return a.value}),m=i.selectAll("circle.node").data(e.nodes).enter().append("circle").attr("class","node").attr("r",5).attr("data-details",function(a){return a}).style("fill",function(a){
return"#_"===a.igt.morphemes?"#00000":"_#"===a.igt.morphemes?"#ffffff":f(a.length)}).on("mouseover",function(a){k=d.select("body").append("div").style("position","absolute").style("z-index","10").style("visibility","visible").style("color","#fff").text(a.igt.morphemes)}).on("mouseout",function(){k.style("visibility","hidden")}).on("click",function(a){if(window.app&&window.app.router){var b="corpus/"+c+"/search/morphemes:"+a.igt.morphemes;window.app.router.navigate(b,{trigger:!0})}}).call(h.drag);m.append("title").text(function(a){return a.igt.morphemes}),h.on("tick",function(){l.attr("x1",function(a){return a.source.x}).attr("y1",function(a){return a.source.y}).attr("x2",function(a){return a.target.x}).attr("y2",function(a){return a.target.y}),m.attr("cx",function(a){return a.x}).attr("cy",function(a){return a.y})})}},this.visualizePrecedenceRelationsAsForceDirectedGraph=function(a,b,c,e){var f={links:[],nodes:{}};if(!this.localDocument)return void console.warn(" Glosser Visualization requested but the DOM was not provided to the glosser ");var g=this.localDocument;if(a.precedenceGraph=a.precedenceRelations.filter(function(a){a.key.previous&&a.key.subsequent&&a.key.previous.morphemes&&a.key.subsequent.morphemes&&("@"!==a.key.previous.morphemes&&"_#"!==a.key.previous.morphemes&&"#_"!==a.key.previous.morphemes&&"@"!==a.key.subsequent.morphemes&&"_#"!==a.key.subsequent.morphemes&&"#_"!==a.key.subsequent.morphemes||!c)&&("@"===a.key.previous.morphemes&&(a.key.previous.morphemes="#_"),"@"===a.key.subsequent.morphemes&&(a.key.subsequent.morphemes="_#"),a.key.distance>1||"precedes"===a.key.relation&&(e=e||1,a.key.previous.confidence<e||a.key.subsequent.confidence<e||(a.key.source=a.key.previous,a.key.target=a.key.subsequent,f.links.push(a.key))))}),a.precedenceGraph=f,a.precedenceGraph&&0!==a.precedenceGraph.links.length){var h=b.clientWidth;a.precedenceGraph.links.map(function(b){b&&b.source&&b.source.morphemes&&b.target&&b.target.morphemes&&(a.precedenceGraph.nodes[b.source.morphemes]||(a.precedenceGraph.nodes[b.source.morphemes]={igt:b.source}),b.source=a.precedenceGraph.nodes[b.source.morphemes],a.precedenceGraph.nodes[b.target.morphemes]||(a.precedenceGraph.nodes[b.target.morphemes]={igt:b.target}),b.target=a.precedenceGraph.nodes[b.target.morphemes])}),window.mylexicon=a;var i=d.select("body").append("div").style("position","absolute").style("z-index","10").style("visibility","hidden").html(""),j=function(a){var b=a.source.x-a.target.x,c=a.source.y-a.target.y,d=Math.sqrt(b*b+c*c);return"M"+a.source.x+","+a.source.y+"A"+d+","+d+" 0 0,1 "+a.target.x+","+a.target.y},k=function(a){return"_#"===a.igt.morphemes&&(a.x=h-20,a.y=300),"#_"===a.igt.morphemes&&(a.x=20,a.y=300),"translate("+a.x+","+a.y+")"},l=d.scale.linear().range(["darkblue","darkred"]).domain([1,8]),m=(d.scale.linear().range(["#FFFFF","#FFFF00"]).domain([1,8]),d.layout.force().nodes(d.values(a.precedenceGraph.nodes)).links(a.precedenceGraph.links).size([h,600]).linkStrength(.5).linkDistance(60).charge(-400)),n=d.select(b).append("svg").attr("width",h).attr("height",600);n.append("defs").selectAll("marker").data(["precedes"]).enter().append("marker").attr("id",function(a){return a}).style("opacity",function(a){return.5}).attr("viewBox","0 -5 10 10").attr("refX",15).attr("refY",-1.5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M0,-5L10,0L0,5");var o=n.append("g").selectAll("path").data(m.links()).enter().append("path").attr("class",function(a){return"link "+a.relation+" distance"+a.distance}).attr("marker-end",function(a){return"url(#"+a.relation+")"}),p=n.append("g").selectAll("circle").data(m.nodes()).enter().append("circle").attr("class","node").attr("r",5).style("fill",function(a){return"#_"===a.igt.morphemes?"#00000":"_#"===a.igt.morphemes?"#ffffff":l(a.igt.morphemes.length)}).style("opacity",function(a){return a.igt.confidence?a.igt.confidence/2:1}).on("mouseover",function(a){var b=g.getElementById(a.igt.morphemes);return b=b?b.innerHTML+"<p>"+b.getAttribute("title")+"<p>":"Morpheme: "+a.igt.morphemes+"<br/> Gloss: "+a.igt.gloss+"<br/> Confidence: "+a.igt.confidence,i.style("visibility","visible").html("<div class='node_details_tooltip lexicon'>"+b+"</div>")}).on("mousemove",function(a){return i.style("top",event.pageY-10+"px").style("left",event.pageX+10+"px")}).on("mouseout",function(a){return i.style("visibility","hidden")}).on("click",function(b){if(window.app&&window.app.router){var c="corpus/"+a.pouchname+"/search/morphemes:"+b.igt.morphemes;window.app.router.navigate(c,{trigger:!0})}}).call(m.drag),q=n.append("g").selectAll("text").data(m.nodes()).enter().append("text").attr("x",8).attr("y",".31em").style("opacity",function(a){return a.igt.confidence?a.igt.confidence/2:1}).style("color",function(a){return"#_"===a.igt.morphemes?"#00000":"_#"===a.igt.morphemes?"#ffffff":l(a.igt.morphemes.length)}).text(function(a){return a.igt.morphemes}),r=function(){o.attr("d",j),p.attr("transform",k),q.attr("transform",k)};m.on("tick",r).start()}},this};a.Glosser=c,b.Glosser=c}("object"==typeof c&&c||this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./Lexicon":5,d3:25,underscore:105}],5:[function(a,b,c){(function(b){var d=(a("frb/dom"),a("frb/bindings")),e=a("collections/sorted-set"),f=a("collections/set"),g=a("../../FieldDB/api/CORS").CORS,h=a("q");!function(a){var c=function(a){return a.replace(/([()[{*+.$^\\|?])/g,"\\$1")},i=function(a){for(var b in a)a.hasOwnProperty(b)&&(this[b]=a[b]);this.fossil=JSON.parse(JSON.stringify(a.igt)),Object.call(this)};i.prototype=Object.create(Object.prototype,{constructor:{value:i},equals:{value:function(a){var b,c,d,e=this,f=!1;for(b in this.expandedIGTFields)c=this.expandedIGTFields[b],e.igt.hasOwnProperty(c)&&e.igt[c]===a.igt[c]&&(f=!0);if(f){for(b in this.combineFieldsIfEqual)c=this.combineFieldsIfEqual[b],e.hasOwnProperty(c)&&(d=[],e[c]=e[c].concat(a[c]),e[c].map(function(a){d.indexOf(a)===-1&&d.push(a)}),e[c]=d,a[c]=d);if(e.confidence&&a.confidence&&(e.confidence=(parseFloat(e.confidence,10)+parseFloat(a.confidence,10))/2,a.confidence=e.confidence),e.allomorphs||a.allomorphs){var g=e.allomorphs?e.allomorphs:"";g=g+g?", ":"",g=g+a.allomorphs?a.allomorphs:"",e.allomorphs=g,a.allomorphs=g}}return f}},expandedIGTFields:{value:["morphemes","gloss","allomorphy","phonetic","orthography"]},combineFieldsIfEqual:{value:["datumids","utteranceContext"]},sortBy:{value:"morphemes",writable:!0},compare:{value:function(a){var b=this;return a&&a.igt&&a.igt[this.sortBy]?b&&b.igt&&b.igt[this.sortBy]?"number"==typeof b.igt[this.sortBy]&&"number"==typeof a.igt[this.sortBy]?b.igt[this.sortBy]-a.igt[this.sortBy]:"string"==typeof b.igt[this.sortBy]&&"string"==typeof a.igt[this.sortBy]?b.igt[this.sortBy]<a.igt[this.sortBy]?-1:b.igt[this.sortBy]>a.igt[this.sortBy]?1:0:"string"==typeof b.igt[this.sortBy]?1:-1:1:-1}},clean:{value:function(){console.log("Preparing datum with this lexical entry to be cleaned...");var a=h.defer();this.cleanedData=[];var b=[],d=this;this.proposedChanges=[];for(var e=function(a){console.log(a),a.datumFields.map(function(a){if(d.fossil[a.label]!==d.igt[a.label]&&new RegExp(c(d.fossil[a.label]),"i").test(a.mask)){var b={before:a.mask+""};return a.mask=a.mask.replace(new RegExp(c(d.fossil[a.label]),"ig"),d.igt[a.label]),a.value=a.mask,b.after=a.mask,d.proposedChanges.push(b),a}}),d.cleanedData.push(a)},f=function(a){console.log(a),FieldDB&&FieldDB.FieldDBObject&&"function"==typeof FieldDB.FieldDBObject.bug&&FieldDB.FieldDBObject.bug("There was a problem saving your changes. "+a.reason)},i=0;i<this.datumids.length;i++)console.log(this.datumids.length[i]),b[i]=g.makeCORSRequest({method:"GET",dataType:"json",url:this.url+"/"+this.datumids[i]}),b[i].then(e).fail(f);return h.allSettled(b).then(function(b){a.resolve(d.proposedChanges)}),a.promise}},save:{value:function(){var a=h.defer(),b=this,c=[];for(console.log("Saving cleaned datum...");this.cleanedData.length>0;){var d=this.cleanedData.pop();c.push(g.makeCORSRequest({method:"PUT",dataType:"json",data:d,url:this.url+"/"+d._id}))}return h.allSettled(c).then(function(c){a.resolve(c),b.unsaved=!0}),a.promise}},unsaved:{configurable:!0,get:function(){return this._unsaved?this._unsaved:(this.fossil&&!this.equals({igt:this.fossil})&&(this._unsaved=!0),this._unsaved)},set:function(a){this._unsaved=a}}});var j=function(a,b,c,d){console.log("\tConstructing Lexicon... "),e.apply(this,Array.prototype.slice.call(arguments,1))};j.prototype=Object.create(e.prototype,{constructor:{value:j},sortBy:{value:"morphemes"},bindToView:{value:function(){var a,b,c,e,f,g,h,i,j,k,l,m=this;(a=this.element)&&m.localDOM&&(b=m.localDOM.createElement("ul"),a.appendChild(b),this.forEach(function(a){var n,o;if(!a.igt||"@"!==a.igt.morphemes){c=m.localDOM.createElement("li"),c.__data__=a,c.style.opacity=c.__data__.igt.confidence,c.__data__.igt.morphemes&&(c.id=c.__data__.igt.morphemes),j=m.localDOM.createElement("span"),j.contentEditable="true",j.classList.add("headword"),j.setAttribute("title","CLick to edit the headword of your lexical entry"),c.__data__.igt.headword=c.__data__.igt.headword||c.__data__.igt.morphemes?c.__data__.igt.morphemes:c.__data__.igt.gloss,k=m.localDOM.createElement("button"),k.classList.add("btn"),k.setAttribute("title","Click here to save"),k.innerHTML="Save",l=m.localDOM.createElement("span"),l.classList.add("utteranceContext"),n=m.localDOM.createElement("span"),n.contentEditable="true",n.classList.add("discussion"),n.hidden=!0,c.__data__.igt.discussion=c.__data__.igt.discussion||"Lorem ipsum dolor sit amet, consectetur adipisicing elit, ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",c.ondblclick=function(a){if(a&&a.target&&a.target.__data__){if(a.target.jsonView){a.target.__data__.clean().then(function(b){if(b.length>0){var c=[];b.map(function(a){c.push(a.before+" -> "+a.after)});window.confirm("Would you like to clean this lexical entry? (This will change all examples you see here to have this new information.)\n\n"+c.join("\n"))&&a.target.__data__.save().then(function(a){console.log("Saving success...",a)}).fail(function(a){console.log("Saving failed...",a)})}});n.hidden=!n.hidden,a.target.jsonView.hidden=n.hidden}else a.target.jsonView=m.localDOM.createElement("textarea"),a.target.appendChild(a.target.jsonView),a.target.jsonView.classList.add("lexiconJSON"),n.hidden=!n.hidden;if(a.target.jsonView.hidden){var b;try{b=JSON.parse(a.target.jsonView.innerHTML);for(var c in b)b.hasOwnProperty(c)}catch(b){console.warn("Invalid JSON "+a.target.jsonView.innerHTML,b)}}else a.target.jsonView.innerHTML=JSON.stringify(a.target.__data__.igt,null,2);window.currentlySelectedNode=a.target,console.log(window.currentlySelectedNode.__data__)}},i=m.localDOM.createElement("dl");var p={listItemView:c,saveButtonView:k,headwordView:j,contextsView:l,discussionView:n,fieldListView:i,fieldViews:{},data:void 0};for(o in c.__data__.igt)if(c.__data__.igt.hasOwnProperty(o)){if("discussion"===o||"headword"===o)continue;try{j.classList.add(o+":"+c.__data__.igt[o]),n.classList.add(o+":"+c.__data__.igt[o]),f=m.localDOM.createElement("dt"),e=m.localDOM.createElement("span"),e.innerHTML=o,e.classList.add("fieldlabel"),e.classList.add(o),e.classList.add(c.__data__.igt[o]),f.appendChild(e),i.appendChild(f),g=m.localDOM.createElement("dd"),h=m.localDOM.createElement("span"),h.contentEditable="true",h.classList.add("fieldvalue"),h.classList.add(o),h.classList.add(c.__data__.igt[o]),p.fieldViews[o]=h,g.appendChild(h),i.appendChild(g);var q="fieldViews."+o+".value",r="listItemView.__data__.igt."+o,s={};s[q]={"<-":r};var t={};t[r]={"<->":q},d.defineBindings(p,s),d.defineBindings(p,t)}catch(a){console.warn(a)}}d.defineBindings(p,{"headwordView.value":{"<-":"listItemView.__data__.igt.headword"},"saveButtonView.innerHTML":{"<-":"'Save '+listItemView.__data__.igt.headword"},"saveButtonView.classList.has('btn-danger')":{"<-":"listItemView.__data__.unsaved"},"discussionView.value":{"<-":"listItemView.__data__.igt.discussion"},"contextsView.innerHTML":{"<-":"listItemView.__data__.utteranceContext.join(' ; ')"},"listItemView.title":{"<-":"'Example: '+listItemView.__data__.utteranceContext.join(' Example: ')"},"listItemView.hidden":{"<-":"listItemView.__data__.igt.confidence < self.localDOM.getElementById('lexiconConfidenceThreshold').value / 10"}}),d.defineBindings(p,{"listItemView.__data__.igt.headword":{"<->":"headwordView.value"},"listItemView.__data__.igt.discussion":{"<->":"discussionView.value"}}),c.appendChild(j),c.appendChild(n),c.appendChild(i),c.appendChild(l),c.appendChild(k),b.appendChild(c)}}))}},toJSON:{value:function(){return JSON.stringify(this.toObject(),null,2)}},guessContextSensitiveGlosses:{value:function(a){if(!a.morphemes)return console.warn("There was no morphemes line to guess the gloss from..."),a;var b=[],c=[],d="",e=a.morphemes.split(/ +/),f=function(a){a.igt.morphemes===d&&(console.log(a),c.push(a))};for(var g in e){var h=e[g].split("-"),i=[];for(var j in h)if(h.hasOwnProperty(j)){c=[],d=h[j],this.filter(f);var k="?";if(c&&c.length>0){console.log("Glosses which match: "+h[j],c);try{k=c[0].igt.gloss}catch(a){console.log(c)}}i.push(k)}b.push(i.join("-"))}return a.glossAlternates=a.glossAlternates?a.glossAlternates.concat(b):b,a.gloss=b.join(" "),a}},generatePrecedenceForceDirectedRulesJsonForD3:{value:function(a){var b=[],c={},d={links:b,nodes:c};return this.precedenceGraph=d,d}}});var k=function(a){var b=new j;if(b.precedenceRelations=new f,b.references=new f,a.precedenceRelations)for(var c in a.precedenceRelations)try{delete a.precedenceRelations[c].key.previous.utterance,delete a.precedenceRelations[c].key.subsequent.utterance,a.precedenceRelations[c].key.utteranceContext=a.precedenceRelations[c].key.context.utterance,a.precedenceRelations[c].key.datumid=a.precedenceRelations[c].id,b.add(new i({igt:a.precedenceRelations[c].key.previous,datumids:[a.precedenceRelations[c].key.context.id],utteranceContext:[a.precedenceRelations[c].key.context.utterance],url:a.url})),b.add(new i({igt:a.precedenceRelations[c].key.subsequent,datumids:[a.precedenceRelations[c].key.context.id],utteranceContext:[a.precedenceRelations[c].key.context.utterance],url:a.url})),b.references.add(a.precedenceRelations[c].key.context.id),a.precedenceRelations[c].key.subsequent.morphemes.indexOf("@")===-1&&b.precedenceRelations.add(a.precedenceRelations[c].key)}catch(a){console.warn(a)}for(var d in a)a.hasOwnProperty(d)&&(b[d]=a[d]);return b};a.Lexicon=j,b.Lexicon=j,a.LexiconFactory=k,b.LexiconFactory=k}("object"==typeof c&&c||this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../FieldDB/api/CORS":1,"collections/set":17,"collections/sorted-set":23,"frb/bindings":29,"frb/dom":35,q:104}],6:[function(a,b,c){"use strict";function d(a,b){if(!(this instanceof d))return new d(a,b);b=b||Function.noop,this.getDefault=b,this.store=Object.create(null),this.length=0,this.addEach(a)}var e=(a("./shim"),a("./generic-collection")),f=a("./generic-map"),g=a("./listen/property-changes");b.exports=d,d.Dict=d,Object.addEach(d.prototype,e.prototype),Object.addEach(d.prototype,f.prototype),Object.addEach(d.prototype,g.prototype),d.prototype.constructClone=function(a){return new this.constructor(a,this.getDefault)},d.prototype.assertString=function(a){if("string"!=typeof a)throw new TypeError("key must be a string but Got "+a)},Object.defineProperty(d.prototype,"$__proto__",{writable:!0}),Object.defineProperty(d.prototype,"_hasProto",{get:function(){return this.hasOwnProperty("$__proto__")&&void 0!==this._protoValue}}),Object.defineProperty(d.prototype,"_protoValue",{get:function(){return this.$__proto__},set:function(a){this.$__proto__=a}}),d.prototype.get=function(a,b){return this.assertString(a),"__proto__"===a?this._hasProto?this._protoValue:arguments.length>1?b:this.getDefault(a):a in this.store?this.store[a]:arguments.length>1?b:this.getDefault(a)},d.prototype.set=function(a,b){this.assertString(a);var c="__proto__"===a;return(c?this._hasProto:a in this.store)?(this.dispatchesMapChanges&&this.dispatchBeforeMapChange(a,c?this._protoValue:this.store[a]),c?this._protoValue=b:this.store[a]=b,this.dispatchesMapChanges&&this.dispatchMapChange(a,b),!1):(this.dispatchesMapChanges&&this.dispatchBeforeMapChange(a,void 0),this.length++,c?this._protoValue=b:this.store[a]=b,this.dispatchesMapChanges&&this.dispatchMapChange(a,b),!0)},d.prototype.has=function(a){return this.assertString(a),"__proto__"===a?this._hasProto:a in this.store},d.prototype.delete=function(a){return this.assertString(a),"__proto__"===a?!!this._hasProto&&(this.dispatchesMapChanges&&this.dispatchBeforeMapChange(a,this._protoValue),this._protoValue=void 0,this.length--,this.dispatchesMapChanges&&this.dispatchMapChange(a,void 0),!0):a in this.store&&(this.dispatchesMapChanges&&this.dispatchBeforeMapChange(a,this.store[a]),delete this.store[a],this.length--,this.dispatchesMapChanges&&this.dispatchMapChange(a,void 0),!0)},d.prototype.clear=function(){var a;this._hasProto&&(this.dispatchesMapChanges&&this.dispatchBeforeMapChange("__proto__",this._protoValue),this._protoValue=void 0,this.dispatchesMapChanges&&this.dispatchMapChange("__proto__",void 0));for(a in this.store)this.dispatchesMapChanges&&this.dispatchBeforeMapChange(a,this.store[a]),delete this.store[a],this.dispatchesMapChanges&&this.dispatchMapChange(a,void 0);this.length=0},d.prototype.reduce=function(a,b,c){this._hasProto&&(b=a.call(c,b,"$__proto__","__proto__",this));var d=this.store;for(var e in this.store)b=a.call(c,b,d[e],e,this);return b},d.prototype.reduceRight=function(a,b,c){var d=this,e=this.store;return b=Object.keys(this.store).reduceRight(function(b,f){return a.call(c,b,e[f],f,d)},b),this._hasProto?a.call(c,b,this._protoValue,"__proto__",d):b},d.prototype.one=function(){var a;for(a in this.store)return this.store[a];return this._protoValue},d.prototype.toJSON=function(){return this.toObject()}},{"./generic-collection":8,"./generic-map":9,"./listen/property-changes":14,"./shim":22}],7:[function(a,b,c){"use strict";function d(a,b,c,e){if(!(this instanceof d))return new d(a,b,c,e);b=b||Object.equals,c=c||Object.hash,e=e||Function.noop,this.contentEquals=b,this.contentHash=c,this.getDefault=e;var f=this;this.buckets=new this.Buckets(null,function(){return new f.Bucket}),this.length=0,this.addEach(a)}var e=(a("./shim"),a("./dict")),f=a("./list"),g=a("./generic-collection"),h=a("./generic-set"),i=a("./tree-log"),j=a("./listen/property-changes");Object.prototype.hasOwnProperty;b.exports=d,d.FastSet=d,Object.addEach(d.prototype,g.prototype),Object.addEach(d.prototype,h.prototype),Object.addEach(d.prototype,j.prototype),d.prototype.Buckets=e,d.prototype.Bucket=f,d.prototype.constructClone=function(a){return new this.constructor(a,this.contentEquals,this.contentHash,this.getDefault)},d.prototype.has=function(a){var b=this.contentHash(a);return this.buckets.get(b).has(a)},d.prototype.get=function(a,b){if(b)throw new Error("FastSet#get does not support second argument: equals");var c=this.contentHash(a),d=this.buckets;return d.has(c)?d.get(c).get(a):this.getDefault(a)},d.prototype.delete=function(a,b){if(b)throw new Error("FastSet#delete does not support second argument: equals");var c=this.contentHash(a),d=this.buckets;if(d.has(c)){var e=d.get(c);if(e.delete(a))return this.length--,0===e.length&&d.delete(c),!0}return!1},d.prototype.clear=function(){this.buckets.clear(),this.length=0},d.prototype.add=function(a){var b=this.contentHash(a),c=this.buckets;return c.has(b)||c.set(b,new this.Bucket(null,this.contentEquals)),!c.get(b).has(a)&&(c.get(b).add(a),this.length++,!0)},d.prototype.reduce=function(a,b){var c=arguments[2],d=0;return this.buckets.reduce(function(b,e){return e.reduce(function(b,e){return a.call(c,b,e,d++,this)},b,this)},b,this)},d.prototype.one=function(){if(this.length>0)return this.buckets.one().one()},d.prototype.iterate=function(){return this.buckets.values().flatten().iterate()},d.prototype.log=function(a,b,c,d){a=a||i.unicodeSharp,b=b||this.logNode,c||(c=console.log,d=console),c=c.bind(d);var e=this.buckets,f=e.keys();f.forEach(function(g,h){var i,j;h===f.length-1?(i=a.fromAbove,j=" "):0===h?(i=a.branchDown,j=a.strafe):(i=a.fromBoth,j=a.strafe);var k=e.get(g);c.call(d,i+a.through+a.branchDown+" "+g),k.forEach(function(e,f){var g,h;f===k.head.prev?(g=a.fromAbove,h=" "):(g=a.fromBoth,h=a.strafe);var i;b(f,function(b){i?c.call(d,j+" "+h+" "+b):(c.call(d,j+" "+g+a.through+a.through+b),i=!0)},function(b){c.call(d,j+" "+a.strafe+" "+b)})})})},d.prototype.logNode=function(a,b){var c=a.value;Object(c)===c?JSON.stringify(c,null,4).split("\n").forEach(function(a){b(" "+a)}):b(" "+c)}},{"./dict":6,"./generic-collection":8,"./generic-set":11,"./list":12,"./listen/property-changes":14,"./shim":22,"./tree-log":24}],8:[function(a,b,c){"use strict";function d(){throw new Error("Can't construct. GenericCollection is a mixin.")}b.exports=d,d.EmptyArray=Object.freeze([]),d.prototype.addEach=function(a){if(a&&Object(a)===a)if("function"==typeof a.forEach)a.forEach(this.add,this);else if("number"==typeof a.length)for(var b=0;b<a.length;b++)this.add(a[b],b);else Object.keys(a).forEach(function(b){this.add(a[b],b)},this);else if(a&&"number"==typeof a.length)for(var b=0;b<a.length;b++)this.add(a[b],b);return this},d.prototype.deleteEach=function(a,b){return a.forEach(function(a){this.delete(a,b)},this),this},d.prototype.forEach=function(a){var b=arguments[1];return this.reduce(function(c,d,e,f,g){a.call(b,d,e,f,g)},void 0)},d.prototype.map=function(a){var b=arguments[1],c=[];return this.reduce(function(d,e,f,g,h){c.push(a.call(b,e,f,g,h))},void 0),c},d.prototype.enumerate=function(a){null==a&&(a=0);var b=[];return this.reduce(function(c,d){b.push([a++,d])},void 0),b},d.prototype.group=function(a,b,c){c=c||Object.equals;var d=[],e=[];return this.forEach(function(f,g,h){var i,g=a.call(b,f,g,h),j=e.indexOf(g,c);j===-1?(i=[],d.push([g,i]),e.push(g)):i=d[j][1],i.push(f)}),d},d.prototype.toArray=function(){return this.map(Function.identity)},d.prototype.toObject=function(){var a={};return this.reduce(function(b,c,d){a[d]=c},void 0),a},d.prototype.filter=function(a){var b=arguments[1],c=this.constructClone();return this.reduce(function(d,e,f,g,h){a.call(b,e,f,g,h)&&c.add(e,f)},void 0),c},d.prototype.every=function(a){var b=arguments[1];return this.reduce(function(c,d,e,f,g){return c&&a.call(b,d,e,f,g)},!0)},d.prototype.some=function(a){var b=arguments[1];return this.reduce(function(c,d,e,f,g){return c||a.call(b,d,e,f,g)},!1)},d.prototype.all=function(){return this.every(Boolean)},d.prototype.any=function(){return this.some(Boolean)},d.prototype.min=function(a){a=a||this.contentCompare||Object.compare;var b=!0;return this.reduce(function(c,d){return b?(b=!1,d):a(d,c)<0?d:c},void 0)},d.prototype.max=function(a){a=a||this.contentCompare||Object.compare;var b=!0;return this.reduce(function(c,d){return b?(b=!1,d):a(d,c)>0?d:c},void 0)},d.prototype.sum=function(a){return a=void 0===a?0:a,this.reduce(function(a,b){return a+b},a)},d.prototype.average=function(a){var b=void 0===a?0:a,c=void 0===a?0:a;return this.reduce(function(a,d){b+=d,c+=1},void 0),b/c},d.prototype.concat=function(){for(var a=this.constructClone(this),b=0;b<arguments.length;b++)a.addEach(arguments[b]);return a},d.prototype.flatten=function(){var a=this;return this.reduce(function(b,c){return c.forEach(function(a){this.push(a)},b,a),b},[])},d.prototype.zip=function(){var a=Array.prototype.slice.call(arguments);return a.unshift(this),Array.unzip(a)},d.prototype.join=function(a){return this.reduce(function(b,c){return void 0===b?c:b+a+c},void 0)},d.prototype.sorted=function(a,b,c){return a=a||this.contentCompare||Object.compare,a.by?(b=a.by,a=a.compare||this.contentCompare||Object.compare):b=b||Function.identity,void 0===c&&(c=1),this.map(function(a){return{by:b(a),value:a}}).sort(function(b,d){return a(b.by,d.by)*c}).map(function(a){return a.value})},d.prototype.reversed=function(){return this.constructClone(this).reverse()},d.prototype.clone=function(a,b){if(void 0===a)a=1/0;else if(0===a)return this;var c=this.constructClone();return this.forEach(function(d,e){c.add(Object.clone(d,a-1,b),e)},this),c},d.prototype.only=function(){if(1===this.length)return this.one()},d.prototype.iterator=function(){return this.iterate.apply(this,arguments)},a("./shim-array")},{"./shim-array":18}],9:[function(a,b,c){"use strict";function d(){throw new Error("Can't construct. GenericMap is a mixin.")}function e(a,b){this.key=a,this.value=b}var f=a("./shim-object"),g=a("./listen/map-changes"),h=a("./listen/property-changes");b.exports=d,f.addEach(d.prototype,g.prototype),f.addEach(d.prototype,h.prototype),d.prototype.isMap=!0,d.prototype.addEach=function(a){if(a&&f(a)===a)if("function"==typeof a.forEach)a.isMap===!0?a.forEach(function(a,b){this.set(b,a)},this):a.forEach(function(a){this.set(a[0],a[1])},this);else if("number"==typeof a.length)for(var b=0;b<a.length;b++)this.add(a[b],b);else f.keys(a).forEach(function(b){this.set(b,a[b])},this);else if(a&&"number"==typeof a.length)for(var b=0;b<a.length;b++)this.add(a[b],b);return this},d.prototype.get=function(a,b){var c=this.store.get(new this.Item(a));return c?c.value:arguments.length>1?b:this.getDefault(a)},d.prototype.set=function(a,b){var c=new this.Item(a,b),d=this.store.get(c),e=!1;return d?(this.dispatchesMapChanges&&this.dispatchBeforeMapChange(a,d.value),d.value=b,this.dispatchesMapChanges&&this.dispatchMapChange(a,b)):(this.dispatchesMapChanges&&this.dispatchBeforeMapChange(a,void 0),this.store.add(c)&&(this.length++,e=!0),this.dispatchesMapChanges&&this.dispatchMapChange(a,b)),e},d.prototype.add=function(a,b){return this.set(b,a)},d.prototype.has=function(a){return this.store.has(new this.Item(a))},d.prototype.delete=function(a){var b=new this.Item(a);if(this.store.has(b)){var c=this.store.get(b).value;return this.dispatchesMapChanges&&this.dispatchBeforeMapChange(a,c),this.store.delete(b),this.length--,this.dispatchesMapChanges&&this.dispatchMapChange(a,void 0),!0}return!1},d.prototype.clear=function(){var a;this.dispatchesMapChanges&&(this.forEach(function(a,b){this.dispatchBeforeMapChange(b,a)},this),a=this.keys()),this.store.clear(),this.length=0,this.dispatchesMapChanges&&a.forEach(function(a){this.dispatchMapChange(a)},this)},d.prototype.reduce=function(a,b,c){return this.store.reduce(function(b,d){return a.call(c,b,d.value,d.key,this)},b,this)},d.prototype.reduceRight=function(a,b,c){return this.store.reduceRight(function(b,d){return a.call(c,b,d.value,d.key,this)},b,this)},d.prototype.keys=function(){return this.map(function(a,b){return b})},d.prototype.values=function(){return this.map(Function.identity)},d.prototype.entries=function(){return this.map(function(a,b){return[b,a]})},d.prototype.items=function(){return this.entries()},d.prototype.equals=function(a,b){return b=b||f.equals,this===a||(a&&"function"==typeof a.every?a.length===this.length&&a.every(function(a,c){return b(this.get(c),a)},this):f.keys(a).length===this.length&&f.keys(a).every(function(c){return b(this.get(c),a[c])},this))},d.prototype.toJSON=function(){return this.entries()},d.prototype.Item=e,e.prototype.equals=function(a){return f.equals(this.key,a.key)&&f.equals(this.value,a.value)},e.prototype.compare=function(a){return f.compare(this.key,a.key)}},{"./listen/map-changes":13,"./listen/property-changes":14,"./shim-object":20}],10:[function(a,b,c){function d(){throw new Error("Can't construct. GenericOrder is a mixin.")}var e=a("./shim-object");b.exports=d,d.prototype.equals=function(a,b){if(b=b||this.contentEquals||e.equals,this===a)return!0;if(!a)return!1;return this.length===a.length&&this.zip(a).every(function(a){return b(a[0],a[1])})},d.prototype.compare=function(a,b){if(b=b||this.contentCompare||e.compare,this===a)return 0;if(!a)return 1;var c=Math.min(this.length,a.length),d=this.zip(a).reduce(function(a,d,e){return 0===a?e>=c?a:b(d[0],d[1]):a},0);return 0===d?this.length-a.length:d},d.prototype.toJSON=function(){return this.toArray()}},{"./shim-object":20}],11:[function(a,b,c){function d(){throw new Error("Can't construct. GenericSet is a mixin.")}b.exports=d,d.prototype.isSet=!0,d.prototype.union=function(a){var b=this.constructClone(this);return b.addEach(a),b},d.prototype.intersection=function(a){return this.constructClone(this.filter(function(b){return a.has(b)}))},d.prototype.difference=function(a){var b=this.constructClone(this);return b.deleteEach(a),b},d.prototype.symmetricDifference=function(a){var b=this.union(a),c=this.intersection(a);return b.difference(c)},d.prototype.deleteAll=function(a){return+this.delete(a)},d.prototype.equals=function(a,b){var c=this;return a&&"function"==typeof a.reduce&&this.length===a.length&&a.reduce(function(a,d){return a&&c.has(d,b)},!0)},d.prototype.toJSON=function(){return this.toArray()},d.prototype.contains=function(a){return this.has(a)},d.prototype.remove=function(a){return this.delete(a)},d.prototype.toggle=function(a){this.has(a)?this.delete(a):this.add(a)}},{}],12:[function(a,b,c){"use strict";function d(a,b,c){if(!(this instanceof d))return new d(a,b,c);var e=this.head=new this.Node;e.next=e,e.prev=e,this.contentEquals=b||Object.equals,this.getDefault=c||Function.noop,this.length=0,this.addEach(a)}function e(a){this.head=a,this.at=a.next}function f(a){this.value=a,this.prev=null,this.next=null}b.exports=d;var g=(a("./shim"),a("./generic-collection")),h=a("./generic-order"),i=a("./listen/property-changes"),j=a("./listen/range-changes");d.List=d,Object.addEach(d.prototype,g.prototype),Object.addEach(d.prototype,h.prototype),Object.addEach(d.prototype,i.prototype),Object.addEach(d.prototype,j.prototype),d.prototype.constructClone=function(a){return new this.constructor(a,this.contentEquals,this.getDefault)},d.prototype.find=function(a,b,c){b=b||this.contentEquals;for(var d=this.head,e=this.scan(c,d.next);e!==d;){if(b(e.value,a))return e;e=e.next}},d.prototype.findLast=function(a,b,c){b=b||this.contentEquals;for(var d=this.head,e=this.scan(c,d.prev);e!==d;){if(b(e.value,a))return e;e=e.prev}},d.prototype.has=function(a,b){return!!this.find(a,b)},d.prototype.get=function(a,b){var c=this.find(a,b);return c?c.value:this.getDefault(a)},d.prototype.delete=function(a,b){var c=this.findLast(a,b);if(c){if(this.dispatchesRangeChanges){var d=[],e=[a];this.dispatchBeforeRangeChange(d,e,c.index)}return c.delete(),this.length--,this.dispatchesRangeChanges&&(this.updateIndexes(c.next,c.index),this.dispatchRangeChange(d,e,c.index)),!0}return!1},d.prototype.deleteAll=function(a,b){b=b||this.contentEquals;for(var c=this.head,d=c.next,e=0;d!==c;)b(a,d.value)&&(d.delete(),e++),d=d.next;return this.length-=e,e},d.prototype.clear=function(){var a,b;this.dispatchesRangeChanges&&(b=this.toArray(),a=[],this.dispatchBeforeRangeChange(a,b,0)),this.head.next=this.head.prev=this.head,this.length=0,this.dispatchesRangeChanges&&this.dispatchRangeChange(a,b,0)},d.prototype.add=function(a){var b=new this.Node(a);return this.dispatchesRangeChanges&&(b.index=this.length,this.dispatchBeforeRangeChange([a],[],b.index)),this.head.addBefore(b),this.length++,this.dispatchesRangeChanges&&this.dispatchRangeChange([a],[],b.index),!0},d.prototype.push=function(){var a=this.head;if(this.dispatchesRangeChanges){var b=Array.prototype.slice.call(arguments),c=[],d=this.length;this.dispatchBeforeRangeChange(b,c,d);var e=this.head.prev}for(var f=0;f<arguments.length;f++){var g=arguments[f],h=new this.Node(g);a.addBefore(h)}this.length+=arguments.length,this.dispatchesRangeChanges&&(this.updateIndexes(e.next,void 0===e.index?0:e.index+1),this.dispatchRangeChange(b,c,d))},d.prototype.unshift=function(){if(this.dispatchesRangeChanges){
var a=Array.prototype.slice.call(arguments),b=[];this.dispatchBeforeRangeChange(a,b,0)}for(var c=this.head,d=0;d<arguments.length;d++){var e=arguments[d],f=new this.Node(e);c.addAfter(f),c=f}this.length+=arguments.length,this.dispatchesRangeChanges&&(this.updateIndexes(this.head.next,0),this.dispatchRangeChange(a,b,0))},d.prototype.pop=function(){var a,b=this.head;if(b.prev!==b){if(a=b.prev.value,this.dispatchesRangeChanges){var c=[],d=[a],e=this.length-1;this.dispatchBeforeRangeChange(c,d,e)}b.prev.delete(),this.length--,this.dispatchesRangeChanges&&this.dispatchRangeChange(c,d,e)}return a},d.prototype.shift=function(){var a,b=this.head;if(b.prev!==b){if(a=b.next.value,this.dispatchesRangeChanges){var c=[],d=[a];this.dispatchBeforeRangeChange(c,d,0)}b.next.delete(),this.length--,this.dispatchesRangeChanges&&(this.updateIndexes(this.head.next,0),this.dispatchRangeChange(c,d,0))}return a},d.prototype.peek=function(){if(this.head!==this.head.next)return this.head.next.value},d.prototype.poke=function(a){this.head!==this.head.next?this.head.next.value=a:this.push(a)},d.prototype.one=function(){return this.peek()},d.prototype.scan=function(a,b){var c=this.head;if("number"==typeof a){var d=a;if(d>=0)for(a=c.next;d&&(d--,(a=a.next)!=c););else for(a=c;d<0&&(d++,(a=a.prev)!=c););return a}return a||b},d.prototype.slice=function(a,b){var c=[],d=this.head;for(a=this.scan(a,d.next),b=this.scan(b,d);a!==b&&a!==d;)c.push(a.value),a=a.next;return c},d.prototype.splice=function(a,b){return this.swap(a,b,Array.prototype.slice.call(arguments,2))},d.prototype.swap=function(a,b,c){var d=a;a=this.scan(a,this.head),null==b&&(b=1/0),c=Array.from(c);for(var e=[],f=a;b--&&b>=0&&f!==this.head;)e.push(f.value),f=f.next;var g,h;this.dispatchesRangeChanges&&(g=a===this.head?this.length:a.prev===this.head?0:a.index,h=a.prev,this.dispatchBeforeRangeChange(c,e,g));for(var f=a,i=0,f=a;i<e.length;i++,f=f.next)f.delete();null==d&&f===this.head&&(f=this.head.next);for(var i=0;i<c.length;i++){var j=new this.Node(c[i]);f.addBefore(j)}return this.length+=c.length-e.length,this.dispatchesRangeChanges&&(a===this.head?this.updateIndexes(this.head.next,0):this.updateIndexes(h.next,h.index+1),this.dispatchRangeChange(c,e,g)),e},d.prototype.reverse=function(){if(this.dispatchesRangeChanges){var a=this.toArray(),b=a.reversed();this.dispatchBeforeRangeChange(b,a,0)}var c=this.head;do{var d=c.next;c.next=c.prev,c.prev=d,c=c.next}while(c!==this.head);return this.dispatchesRangeChanges&&this.dispatchRangeChange(b,a,0),this},d.prototype.sort=function(){this.swap(0,this.length,this.sorted())},d.prototype.reduce=function(a,b){for(var c=arguments[2],d=this.head,e=d.next;e!==d;)b=a.call(c,b,e.value,e,this),e=e.next;return b},d.prototype.reduceRight=function(a,b){for(var c=arguments[2],d=this.head,e=d.prev;e!==d;)b=a.call(c,b,e.value,e,this),e=e.prev;return b},d.prototype.updateIndexes=function(a,b){for(;a!==this.head;)a.index=b++,a=a.next},d.prototype.makeObservable=function(){this.head.index=-1,this.updateIndexes(this.head.next,0),this.dispatchesRangeChanges=!0},d.prototype.iterate=function(){return new e(this.head)},e.prototype.next=function(){if(this.at===this.head)throw StopIteration;var a=this.at.value;return this.at=this.at.next,a},d.prototype.Node=f,f.prototype.delete=function(){this.prev.next=this.next,this.next.prev=this.prev},f.prototype.addBefore=function(a){var b=this.prev;this.prev=a,a.prev=b,b.next=a,a.next=this},f.prototype.addAfter=function(a){var b=this.next;this.next=a,a.next=b,b.prev=a,a.prev=this}},{"./generic-collection":8,"./generic-order":10,"./listen/property-changes":14,"./listen/range-changes":15,"./shim":22}],13:[function(a,b,c){"use strict";function d(){throw new Error("Can't construct. MapChanges is a mixin.")}var e=a("weak-map"),f=a("../list");b.exports=d;var g=(Object.prototype.hasOwnProperty,new e),h=null;d.prototype.getAllMapChangeDescriptors=function(){return g.has(this)||(h||(h=a("../dict")),g.set(this,h())),g.get(this)},d.prototype.getMapChangeDescriptor=function(a){var b=this.getAllMapChangeDescriptors();return a=a||"",b.has(a)||b.set(a,{willChangeListeners:new f,changeListeners:new f}),b.get(a)},d.prototype.addMapChangeListener=function(a,b,c){!this.isObservable&&this.makeObservable&&this.makeObservable();var d,e=this.getMapChangeDescriptor(b);d=c?e.willChangeListeners:e.changeListeners,d.push(a),Object.defineProperty(this,"dispatchesMapChanges",{value:!0,writable:!0,configurable:!0,enumerable:!1});var f=this;return function(){f&&(f.removeMapChangeListener(a,b,c),f=null)}},d.prototype.removeMapChangeListener=function(a,b,c){var d,e=this.getMapChangeDescriptor(b);d=c?e.willChangeListeners:e.changeListeners;var f=d.findLast(a);if(!f)throw new Error("Can't remove map change listener: does not exist: token "+JSON.stringify(b));f.delete()},d.prototype.dispatchMapChange=function(a,b,c){var d="Map"+(c?"WillChange":"Change");this.getAllMapChangeDescriptors().forEach(function(e,f){if(!e.isActive){e.isActive=!0;var g;g=c?e.willChangeListeners:e.changeListeners;var h="handle"+(f.slice(0,1).toUpperCase()+f.slice(1))+d;try{g.forEach(function(c){if(c[h])c[h](b,a,this);else{if(!c.call)throw new Error("Handler "+c+" has no method "+h+" and is not callable");c.call(c,b,a,this)}},this)}finally{e.isActive=!1}}},this)},d.prototype.addBeforeMapChangeListener=function(a,b){return this.addMapChangeListener(a,b,!0)},d.prototype.removeBeforeMapChangeListener=function(a,b){return this.removeMapChangeListener(a,b,!0)},d.prototype.dispatchBeforeMapChange=function(a,b){return this.dispatchMapChange(a,b,!0)}},{"../dict":6,"../list":12,"weak-map":16}],14:[function(a,b,c){function d(){throw new Error("This is an abstract interface. Mix it. Don't construct it")}function e(a,b,c,d){var e,f,g,h=a.active,i=a.current,j=i.length,k=j;for(h.length>j&&(h.length=j);j--;)h[j]=i[j];for(f=0;f<k;f++)if(g=h[f],!f||i.indexOf(g)>=0){if(e=g[a.specificHandlerMethodName]||g[a.genericHandlerMethodName]||g,!e.call)throw new Error("No event listener for "+a.specificHandlerName+" or "+a.genericHandlerName+" or call on "+e);e.call(g,c,b,d)}}a("../shim");var f=Object.prototype.hasOwnProperty;b.exports=d,d.debug=!0,d.prototype.getOwnPropertyChangeDescriptor=function(a){this.__propertyChangeListeners__||Object.defineProperty(this,"__propertyChangeListeners__",{value:{},enumerable:!1,configurable:!0,writable:!0});var b=this.__propertyChangeListeners__;if(!f.call(b,a)){var c=String(a);c=c&&c[0].toUpperCase()+c.slice(1),b[a]={willChangeListeners:{current:[],active:[],specificHandlerMethodName:"handle"+c+"WillChange",genericHandlerMethodName:"handlePropertyWillChange"},changeListeners:{current:[],active:[],specificHandlerMethodName:"handle"+c+"Change",genericHandlerMethodName:"handlePropertyChange"}}}return b[a]},d.prototype.hasOwnPropertyChangeDescriptor=function(a){if(!this.__propertyChangeListeners__)return!1;if(!a)return!0;var b=this.__propertyChangeListeners__;return!!f.call(b,a)},d.prototype.addOwnPropertyChangeListener=function(a,b,c){this.makeObservable&&!this.isObservable&&this.makeObservable();var e,f=d.getOwnPropertyChangeDescriptor(this,a);e=c?f.willChangeListeners:f.changeListeners,d.makePropertyObservable(this,a),e.current.push(b);var g=this;return function(){d.removeOwnPropertyChangeListener(g,a,b,c),g=null}},d.prototype.addBeforeOwnPropertyChangeListener=function(a,b){return d.addOwnPropertyChangeListener(this,a,b,!0)},d.prototype.removeOwnPropertyChangeListener=function(a,b,c){var e,f=d.getOwnPropertyChangeDescriptor(this,a);e=c?f.willChangeListeners:f.changeListeners;var g=e.current.lastIndexOf(b);if(g===-1)throw new Error("Can't remove property change listener: does not exist: property name"+JSON.stringify(a));e.current.splice(g,1)},d.prototype.removeBeforeOwnPropertyChangeListener=function(a,b){return d.removeOwnPropertyChangeListener(this,a,b,!0)},d.prototype.dispatchOwnPropertyChange=function(a,b,c){var f,g=d.getOwnPropertyChangeDescriptor(this,a);if(!g.isActive){g.isActive=!0,f=c?g.willChangeListeners:g.changeListeners;try{e(f,a,b,this)}finally{g.isActive=!1}}},d.prototype.dispatchBeforeOwnPropertyChange=function(a,b){return d.dispatchOwnPropertyChange(this,a,b,!0)},d.prototype.makePropertyObservable=function(a){var b=this.__overriddenPropertyDescriptors__;if(b){if(f.call(b,a))return}else{if(Array.isArray(this))return;if(!Object.isExtensible(this))throw new Error("Can't make property "+JSON.stringify(a)+" observable on "+this+" because object is not extensible");b={},Object.defineProperty(this,"__overriddenPropertyDescriptors__",{value:b,enumerable:!1,writable:!0,configurable:!0})}var c;"object"==typeof this.__state__?c=this.__state__:(c={},Object.defineProperty(this,"__state__",{value:c,writable:!0,enumerable:!1})),c[a]=this[a];var d,g=this;do{if(d=Object.getOwnPropertyDescriptor(g,a))break;g=Object.getPrototypeOf(g)}while(g);if(d){if(!d.configurable)return;if(!d.writable&&!d.set)return}else d={value:void 0,enumerable:!0,writable:!0,configurable:!0};b[a]=d;var h;h="value"in d?{get:function(){return d.value},set:function(b){var f,g;if(b!==d.value){if(f=this.__propertyChangeListeners__[a],!(g=f.isActive)){f.isActive=!0;try{e(f.willChangeListeners,a,d.value,this)}finally{}}if(d.value=b,c[a]=b,!g)try{e(f.changeListeners,a,b,this)}finally{f.isActive=!1}}},enumerable:d.enumerable,configurable:!0}:{get:d.get,set:function(b){var f,g,h=this[a];if(d.set.call(this,b),(b=this[a])!==h){if(f=this.__propertyChangeListeners__[a],!(g=f.isActive)){f.isActive=!0;try{e(f.willChangeListeners,a,h,this)}finally{}}if(c[a]=b,!g)try{e(f.changeListeners,a,b,this)}finally{f.isActive=!1}}},enumerable:d.enumerable,configurable:!0},Object.defineProperty(this,a,h)},d.getOwnPropertyChangeDescriptor=function(a,b){return a.getOwnPropertyChangeDescriptor?a.getOwnPropertyChangeDescriptor(b):d.prototype.getOwnPropertyChangeDescriptor.call(a,b)},d.hasOwnPropertyChangeDescriptor=function(a,b){return a.hasOwnPropertyChangeDescriptor?a.hasOwnPropertyChangeDescriptor(b):d.prototype.hasOwnPropertyChangeDescriptor.call(a,b)},d.addOwnPropertyChangeListener=function(a,b,c,e){if(Object.isObject(a))return a.addOwnPropertyChangeListener?a.addOwnPropertyChangeListener(b,c,e):d.prototype.addOwnPropertyChangeListener.call(a,b,c,e)},d.removeOwnPropertyChangeListener=function(a,b,c,e){if(Object.isObject(a))return a.removeOwnPropertyChangeListener?a.removeOwnPropertyChangeListener(b,c,e):d.prototype.removeOwnPropertyChangeListener.call(a,b,c,e)},d.dispatchOwnPropertyChange=function(a,b,c,e){if(Object.isObject(a))return a.dispatchOwnPropertyChange?a.dispatchOwnPropertyChange(b,c,e):d.prototype.dispatchOwnPropertyChange.call(a,b,c,e)},d.addBeforeOwnPropertyChangeListener=function(a,b,c){return d.addOwnPropertyChangeListener(a,b,c,!0)},d.removeBeforeOwnPropertyChangeListener=function(a,b,c){return d.removeOwnPropertyChangeListener(a,b,c,!0)},d.dispatchBeforeOwnPropertyChange=function(a,b,c){return d.dispatchOwnPropertyChange(a,b,c,!0)},d.makePropertyObservable=function(a,b){return a.makePropertyObservable?a.makePropertyObservable(b):d.prototype.makePropertyObservable.call(a,b)}},{"../shim":22}],15:[function(a,b,c){"use strict";function d(){throw new Error("Can't construct. RangeChanges is a mixin.")}var e=a("weak-map"),f=a("../dict"),g=new e;b.exports=d,d.prototype.getAllRangeChangeDescriptors=function(){return g.has(this)||g.set(this,f()),g.get(this)},d.prototype.getRangeChangeDescriptor=function(a){var b=this.getAllRangeChangeDescriptors();return a=a||"",b.has(a)||b.set(a,{isActive:!1,changeListeners:[],willChangeListeners:[]}),b.get(a)},d.prototype.addRangeChangeListener=function(a,b,c){!this.isObservable&&this.makeObservable&&this.makeObservable();var d,e=this.getRangeChangeDescriptor(b);d=c?e.willChangeListeners:e.changeListeners,d.push(a),Object.defineProperty(this,"dispatchesRangeChanges",{value:!0,writable:!0,configurable:!0,enumerable:!1});var f=this;return function(){f&&(f.removeRangeChangeListener(a,b,c),f=null)}},d.prototype.removeRangeChangeListener=function(a,b,c){var d,e=this.getRangeChangeDescriptor(b);d=c?e.willChangeListeners:e.changeListeners;var f=d.lastIndexOf(a);if(f===-1)throw new Error("Can't remove range change listener: does not exist: token "+JSON.stringify(b));d.splice(f,1)},d.prototype.dispatchRangeChange=function(a,b,c,d){var e="Range"+(d?"WillChange":"Change");this.getAllRangeChangeDescriptors().forEach(function(f,g){if(!f.isActive){f.isActive=!0;var h;h=d?f.willChangeListeners:f.changeListeners;var i="handle"+(g.slice(0,1).toUpperCase()+g.slice(1))+e;try{h.slice().forEach(function(e){if(!(h.indexOf(e)<0))if(e[i])e[i](a,b,c,this,d);else{if(!e.call)throw new Error("Handler "+e+" has no method "+i+" and is not callable");e.call(this,a,b,c,this,d)}},this)}finally{f.isActive=!1}}},this)},d.prototype.addBeforeRangeChangeListener=function(a,b){return this.addRangeChangeListener(a,b,!0)},d.prototype.removeBeforeRangeChangeListener=function(a,b){return this.removeRangeChangeListener(a,b,!0)},d.prototype.dispatchBeforeRangeChange=function(a,b,c){return this.dispatchRangeChange(a,b,c,!0)}},{"../dict":6,"weak-map":16}],16:[function(a,b,c){!function(){"use strict";function a(b){b.permitHostObjects___&&b.permitHostObjects___(a)}function c(a){return!(a.substr(0,n.length)==n&&"___"===a.substr(a.length-3))}function d(a){if(a!==Object(a))throw new TypeError("Not an object: "+a);var b=a[o];if(b&&b.key===a)return b;if(m(a)){b={key:a};try{return l(a,o,{value:b,writable:!1,enumerable:!1,configurable:!1}),b}catch(a){return}}}function e(a){return a.prototype=null,Object.freeze(a)}function f(){s||"undefined"==typeof console||(s=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}if("undefined"==typeof ses||!ses.ok||ses.ok()){"undefined"!=typeof ses&&(ses.weakMapPermitHostObjects=a);var g=!1;if("function"==typeof WeakMap){var h=WeakMap;if("undefined"!=typeof navigator&&/Firefox/.test(navigator.userAgent));else{var i=new h,j=Object.freeze({});if(i.set(j,1),1===i.get(j))return void(b.exports=WeakMap);g=!0}}var k=(Object.prototype.hasOwnProperty,Object.getOwnPropertyNames),l=Object.defineProperty,m=Object.isExtensible,n="weakmap:",o=n+"ident:"+Math.random()+"___";if("undefined"!=typeof crypto&&"function"==typeof crypto.getRandomValues&&"function"==typeof ArrayBuffer&&"function"==typeof Uint8Array){var p=new ArrayBuffer(25),q=new Uint8Array(p);crypto.getRandomValues(q),o=n+"rand:"+Array.prototype.map.call(q,function(a){return(a%36).toString(36)}).join("")+"___"}if(l(Object,"getOwnPropertyNames",{value:function(a){return k(a).filter(c)}}),"getPropertyNames"in Object){var r=Object.getPropertyNames;l(Object,"getPropertyNames",{value:function(a){return r(a).filter(c)}})}!function(){var a=Object.freeze;l(Object,"freeze",{value:function(b){return d(b),a(b)}});var b=Object.seal;l(Object,"seal",{value:function(a){return d(a),b(a)}});var c=Object.preventExtensions;l(Object,"preventExtensions",{value:function(a){return d(a),c(a)}})}();var s=!1,t=0,u=function(){function a(a,b){var c,e=d(a);return e?j in e?e[j]:b:(c=h.indexOf(a),c>=0?i[c]:b)}function b(a){var b=d(a);return b?j in b:h.indexOf(a)>=0}function c(a,b){var c,e=d(a);return e?e[j]=b:(c=h.indexOf(a),c>=0?i[c]=b:(c=h.length,i[c]=b,h[c]=a)),this}function g(a){var b,c,e=d(a);return e?j in e&&delete e[j]:!((b=h.indexOf(a))<0)&&(c=h.length-1,h[b]=void 0,i[b]=i[c],h[b]=h[c],h.length=c,i.length=c,!0)}this instanceof u||f();var h=[],i=[],j=t++;return Object.create(u.prototype,{get___:{value:e(a)},has___:{value:e(b)},set___:{value:e(c)},delete___:{value:e(g)}})};u.prototype=Object.create(Object.prototype,{get:{value:function(a,b){return this.get___(a,b)},writable:!0,configurable:!0},has:{value:function(a){return this.has___(a)},writable:!0,configurable:!0},set:{value:function(a,b){return this.set___(a,b)},writable:!0,configurable:!0},delete:{value:function(a){return this.delete___(a)},writable:!0,configurable:!0}}),"function"==typeof h?function(){function c(){function b(a,b){return k?j.has(a)?j.get(a):k.get___(a,b):j.get(a,b)}function c(a){return j.has(a)||!!k&&k.has___(a)}function d(a){var b=!!j.delete(a);return k?k.delete___(a)||b:b}this instanceof u||f();var i,j=new h,k=void 0,l=!1;return i=g?function(a,b){return j.set(a,b),j.has(a)||(k||(k=new u),k.set(a,b)),this}:function(a,b){if(l)try{j.set(a,b)}catch(c){k||(k=new u),k.set___(a,b)}else j.set(a,b);return this},Object.create(u.prototype,{get___:{value:e(b)},has___:{value:e(c)},set___:{value:e(i)},delete___:{value:e(d)},permitHostObjects___:{value:e(function(b){if(b!==a)throw new Error("bogus call to permitHostObjects___");l=!0})}})}g&&"undefined"!=typeof Proxy&&(Proxy=void 0),c.prototype=u.prototype,b.exports=c,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),b.exports=u)}}()},{}],17:[function(a,b,c){"use strict";function d(a,b,c,e){if(!(this instanceof d))return new d(a,b,c,e);b=b||Object.equals,c=c||Object.hash,e=e||Function.noop,this.contentEquals=b,this.contentHash=c,this.getDefault=e,this.order=new this.Order(void 0,b),this.store=new this.Store(void 0,function(a,c){return b(a.value,c.value)},function(a){return c(a.value)}),this.length=0,this.addEach(a)}var e=(a("./shim"),a("./list")),f=a("./fast-set"),g=a("./generic-collection"),h=a("./generic-set"),i=a("./listen/property-changes"),j=a("./listen/range-changes");b.exports=d,d.Set=d,Object.addEach(d.prototype,g.prototype),Object.addEach(d.prototype,h.prototype),Object.addEach(d.prototype,i.prototype),Object.addEach(d.prototype,j.prototype),d.prototype.Order=e,d.prototype.Store=f,d.prototype.constructClone=function(a){return new this.constructor(a,this.contentEquals,this.contentHash,this.getDefault)},d.prototype.has=function(a){var b=new this.order.Node(a);return this.store.has(b)},d.prototype.get=function(a,b){if(b)throw new Error("Set#get does not support second argument: equals");var c=new this.order.Node(a);return c=this.store.get(c),c?c.value:this.getDefault(a)},d.prototype.add=function(a){var b=new this.order.Node(a);if(!this.store.has(b)){var c=this.length;return this.dispatchesRangeChanges&&this.dispatchBeforeRangeChange([a],[],c),this.order.add(a),b=this.order.head.prev,this.store.add(b),this.length++,this.dispatchesRangeChanges&&this.dispatchRangeChange([a],[],c),!0}return!1},d.prototype.delete=function(a,b){if(b)throw new Error("Set#delete does not support second argument: equals");var c=new this.order.Node(a);return!!this.store.has(c)&&(c=this.store.get(c),this.dispatchesRangeChanges&&this.dispatchBeforeRangeChange([],[a],c.index),this.store.delete(c),this.order.splice(c,1),this.length--,this.dispatchesRangeChanges&&this.dispatchRangeChange([],[a],c.index),!0)},d.prototype.pop=function(){if(this.length){var a=this.order.head.prev.value;return this.delete(a),a}},d.prototype.shift=function(){if(this.length){var a=this.order.head.next.value;return this.delete(a),a}},d.prototype.one=function(){if(this.length>0)return this.store.one().value},d.prototype.clear=function(){var a;this.dispatchesRangeChanges&&(a=this.toArray(),this.dispatchBeforeRangeChange([],a,0)),this.store.clear(),this.order.clear(),this.length=0,this.dispatchesRangeChanges&&this.dispatchRangeChange([],a,0)},d.prototype.reduce=function(a,b){var c=arguments[2],d=0;return this.order.reduce(function(b,e){return a.call(c,b,e,d++,this)},b,this)},d.prototype.reduceRight=function(a,b){var c=arguments[2],d=this.order,e=this.length-1;return d.reduceRight(function(b,d){return a.call(c,b,d,e--,this)},b,this)},d.prototype.iterate=function(){return this.order.iterate()},d.prototype.log=function(){var a=this.store;return a.log.apply(a,arguments)},d.prototype.makeObservable=function(){this.order.makeObservable()}},{"./fast-set":7,"./generic-collection":8,"./generic-set":11,"./list":12,"./listen/property-changes":14,"./listen/range-changes":15,"./shim":22}],18:[function(a,b,c){"use strict";function d(a,b){Object.defineProperty(Array.prototype,a,{value:b,writable:!0,configurable:!0,enumerable:!1})}function e(a,b,c){this.array=a,this.start=null==b?0:b,this.end=c}var f=(a("./shim-function"),a("./generic-collection")),g=a("./generic-order"),h=a("weak-map");b.exports=Array;var i=Array.prototype.splice,j=Array.prototype.slice;Array.empty=[],Object.freeze&&Object.freeze(Array.empty),Array.from=function(a){var b=[];return b.addEach(a),b},Array.unzip=function(a){for(var b=[],c=1/0,d=0;d<a.length;d++){var e=a[d];a[d]=e.toArray(),e.length<c&&(c=e.length)}for(var d=0;d<a.length;d++)for(var e=a[d],f=0;f<e.length;f++)f<c&&f in e&&(b[f]=b[f]||[],b[f][d]=e[f]);return b},d("addEach",f.prototype.addEach),d("deleteEach",f.prototype.deleteEach),d("toArray",f.prototype.toArray),d("toObject",f.prototype.toObject),d("all",f.prototype.all),d("any",f.prototype.any),d("min",f.prototype.min),d("max",f.prototype.max),d("sum",f.prototype.sum),d("average",f.prototype.average),d("only",f.prototype.only),d("flatten",f.prototype.flatten),d("zip",f.prototype.zip),d("enumerate",f.prototype.enumerate),d("group",f.prototype.group),d("sorted",f.prototype.sorted),d("reversed",f.prototype.reversed),d("constructClone",function(a){var b=new this.constructor;return b.addEach(a),b}),d("has",function(a,b){return this.find(a,b)!==-1}),d("get",function(a,b){if(+a!==a)throw new Error("Indicies must be numbers");return!a in this?b:this[a]}),d("set",function(a,b){return this[a]=b,!0}),d("add",function(a){return this.push(a),!0}),d("delete",function(a,b){var c=this.find(a,b);return c!==-1&&(this.splice(c,1),!0)}),d("deleteAll",function(a,b){b=b||this.contentEquals||Object.equals;for(var c=0,d=0;d<this.length;)b(a,this[d])?(this.swap(d,1),c++):d++;return c}),d("find",function(a,b){b=b||this.contentEquals||Object.equals;for(var c=0;c<this.length;c++)if(c in this&&b(a,this[c]))return c;return-1}),d("findLast",function(a,b){b=b||this.contentEquals||Object.equals;var c=this.length;do{if(--c in this&&b(this[c],a))return c}while(c>0);return-1}),d("swap",function(a,b,c){var d,e,f,g,h;if(a>this.length&&(this.length=a),void 0!==c){if(d=[a,b],Array.isArray(c)||(c=j.call(c)),f=0,(e=c.length)<1e3){for(f;f<e;f++)d[f+2]=c[f];return i.apply(this,d)}for(h=i.apply(this,d),f;f<e;){for(d=[a+f,0],g=2;g<1002&&f<e;g++,f++)d[g]=c[f];i.apply(this,d)}return h}return void 0!==b?i.call(this,a,b):void 0!==a?i.call(this,a):[]}),d("peek",function(){return this[0]}),d("poke",function(a){this.length>0&&(this[0]=a)}),d("peekBack",function(){if(this.length>0)return this[this.length-1]}),d("pokeBack",function(a){this.length>0&&(this[this.length-1]=a)}),d("one",function(){for(var a in this)if(Object.owns(this,a))return this[a]}),Array.prototype.clear||d("clear",function(){return this.length=0,this}),d("compare",function(a,b){b=b||Object.compare;var c,d,e,f,h;if(this===a)return 0;if(!a||!Array.isArray(a))return g.prototype.compare.call(this,a,b);for(d=Math.min(this.length,a.length),c=0;c<d;c++)if(c in this){if(!(c in a))return-1;if(e=this[c],f=a[c],h=b(e,f))return h}else if(c in a)return 1;return this.length-a.length}),d("equals",function(a,b){b=b||Object.equals;var c,d,e=0,f=this.length;if(this===a)return!0;if(!a||!Array.isArray(a))return g.prototype.equals.call(this,a);if(f!==a.length)return!1;for(;e<f;++e)if(e in this){if(!(e in a))return!1;if(c=this[e],d=a[e],!b(c,d))return!1}else if(e in a)return!1;return!0}),d("clone",function(a,b){if(null==a)a=1/0;else if(0===a)return this;if(b=b||new h,b.has(this))return b.get(this);var c=new Array(this.length);b.set(this,c);for(var d in this)c[d]=Object.clone(this[d],a-1,b);return c}),d("iterate",function(a,b){return new e(this,a,b)}),d("Iterator",e),e.prototype.next=function(){if(this.start===(null==this.end?this.array.length:this.end))throw StopIteration;return this.array[this.start++]}},{"./generic-collection":8,"./generic-order":10,"./shim-function":19,"weak-map":16}],19:[function(a,b,c){b.exports=Function,Function.noop=function(){},Function.identity=function(a){return a},Function.by=function(a,b){b=b||Object.compare,a=a||Function.identity;var c=function(c,d){return b(a(c),a(d))};return c.compare=b,c.by=a,c},Function.get=function(a){return function(b){return Object.get(b,a)}}},{}],20:[function(a,b,c){"use strict";var d=a("weak-map");b.exports=Object,Object.empty=Object.freeze(Object.create(null)),Object.isObject=function(a){return Object(a)===a},Object.getValueOf=function(a){return a&&"function"==typeof a.valueOf&&(a=a.valueOf()),a};var e=new d;Object.hash=function(a){return a&&"function"==typeof a.hash?""+a.hash():Object(a)===a?(e.has(a)||e.set(a,Math.random().toString(36).slice(2)),e.get(a)):""+a};var f=Object.prototype.hasOwnProperty;Object.owns=function(a,b){return f.call(a,b)},Object.has=function(a,b){if("object"!=typeof a)throw new Error("Object.has can't accept non-object: "+typeof a);if(a&&"function"==typeof a.has)return a.has(b);if("string"==typeof b)return b in a&&a[b]!==Object.prototype[b];throw new Error("Key must be a string for Object.has on plain objects")},Object.get=function(a,b,c){if("object"!=typeof a)throw new Error("Object.get can't accept non-object: "+typeof a);return a&&"function"==typeof a.get?a.get(b,c):Object.has(a,b)?a[b]:c},Object.set=function(a,b,c){a&&"function"==typeof a.set?a.set(b,c):a[b]=c},Object.addEach=function(a,b){if(b)if("function"!=typeof b.forEach||b.hasOwnProperty("forEach"))if("number"==typeof b.length)for(var c=0;c<b.length;c++)a[c]=b[c];else Object.keys(b).forEach(function(c){a[c]=b[c]});else b.isMap===!0?b.forEach(function(b,c){a[c]=b}):b.forEach(function(b){a[b[0]]=b[1]});else;return a},Object.forEach=function(a,b,c){Object.keys(a).forEach(function(d){b.call(c,a[d],d,a)})},Object.map=function(a,b,c){return Object.keys(a).map(function(d){return b.call(c,a[d],d,a)})},Object.values=function(a){return Object.map(a,Function.identity)},Object.concat=function(){for(var a={},b=0;b<arguments.length;b++)Object.addEach(a,arguments[b]);return a},Object.from=Object.concat,Object.is=function(a,b){return a===b?0!==a||1/a==1/b:a!==a&&b!==b},Object.equals=function(a,b,c,e){if(c=c||Object.equals,a=Object.getValueOf(a),b=Object.getValueOf(b),a===b)return!0;if(Object.isObject(a)){if(e=e||new d,e.has(a))return!0;e.set(a,!0)}if(Object.isObject(a)&&"function"==typeof a.equals)return a.equals(b,c,e);if(Object.isObject(b)&&"function"==typeof b.equals)return b.equals(a,c,e);if(Object.isObject(a)&&Object.isObject(b)&&Object.getPrototypeOf(a)===Object.prototype&&Object.getPrototypeOf(b)===Object.prototype){for(var f in a)if(!c(a[f],b[f],c,e))return!1;for(var f in b)if(!(f in a&&c(b[f],a[f],c,e)))return!1;return!0}return a!==a&&b!==b||(!a||!b)&&a===b},Object.compare=function(a,b){if(a=Object.getValueOf(a),b=Object.getValueOf(b),a===b)return 0;var c=typeof a,d=typeof b;return"number"===c&&"number"===d?a-b:"string"===c&&"string"===d?a<b?-(1/0):1/0:a&&"function"==typeof a.compare?a.compare(b):b&&"function"==typeof b.compare?-b.compare(a):0},Object.clone=function(a,b,c){if(a=Object.getValueOf(a),c=c||new d,void 0===b)b=1/0;else if(0===b)return a;if(Object.isObject(a)){if(!c.has(a))if(a&&"function"==typeof a.clone)c.set(a,a.clone(b,c));else{var e=Object.getPrototypeOf(a);if(null!==e&&e!==Object.prototype)throw new Error("Can't clone "+a);var f=Object.create(e);c.set(a,f);for(var g in a)f[g]=Object.clone(a[g],b-1,c)}return c.get(a)}return a},Object.clear=function(a){if(a&&"function"==typeof a.clear)a.clear();else for(var b=Object.keys(a),c=b.length;c;)c--,delete a[b[c]];return a}},{"weak-map":16}],21:[function(a,b,c){if(!RegExp.escape){RegExp.escape=function(a){return a.replace(/[-[\]{}()*+?.\\^$|,#\s]/g,"\\$&")}}},{}],22:[function(a,b,c){a("./shim-array"),a("./shim-object"),a("./shim-function"),a("./shim-regexp")},{"./shim-array":18,"./shim-function":19,"./shim-object":20,"./shim-regexp":21}],23:[function(a,b,c){"use strict";function d(a,b,c,e){if(!(this instanceof d))return new d(a,b,c,e);this.contentEquals=b||Object.equals,this.contentCompare=c||Object.compare,this.getDefault=e||Function.noop,this.root=null,this.length=0,this.addEach(a)}function e(a){this.value=a,this.left=null,this.right=null,this.length=1}function f(a,b,c){if(this.set=a,this.prev=null,this.end=c,b){var d=this.set.findLeastGreaterThanOrEqual(b);d&&(this.set.splay(d.value),this.prev=d.getPrevious())}}b.exports=d;var g=(a("./shim"),a("./generic-collection")),h=a("./generic-set"),i=a("./listen/property-changes"),j=a("./listen/range-changes"),k=a("./tree-log");d.SortedSet=d,Object.addEach(d.prototype,g.prototype),Object.addEach(d.prototype,h.prototype),Object.addEach(d.prototype,i.prototype),Object.addEach(d.prototype,j.prototype),d.prototype.isSorted=!0,d.prototype.constructClone=function(a){return new this.constructor(a,this.contentEquals,this.contentCompare,this.getDefault)},d.prototype.has=function(a,b){if(b)throw new Error("SortedSet#has does not support second argument: equals");return!!this.root&&(this.splay(a),this.contentEquals(a,this.root.value))},d.prototype.get=function(a,b){if(b)throw new Error("SortedSet#get does not support second argument: equals");return this.root&&(this.splay(a),this.contentEquals(a,this.root.value))?this.root.value:this.getDefault(a)},d.prototype.add=function(a){var b=new this.Node(a);if(!this.root)return this.dispatchesRangeChanges&&this.dispatchBeforeRangeChange([a],[],0),this.root=b,this.length++,this.dispatchesRangeChanges&&this.dispatchRangeChange([a],[],0),!0;if(this.splay(a),!this.contentEquals(a,this.root.value)){var c=this.contentCompare(a,this.root.value);if(0===c)throw new Error("SortedSet cannot contain incomparable but inequal values: "+a+" and "+this.root.value);return this.dispatchesRangeChanges&&this.dispatchBeforeRangeChange([a],[],this.root.index),c<0?(b.right=this.root,b.left=this.root.left,this.root.left=null,this.root.touch()):(b.left=this.root,b.right=this.root.right,this.root.right=null,this.root.touch()),b.touch(),this.root=b,this.length++,this.dispatchesRangeChanges&&this.dispatchRangeChange([a],[],this.root.index),!0}return!1},d.prototype.delete=function(a,b){if(b)throw new Error("SortedSet#delete does not support second argument: equals");if(this.root&&(this.splay(a),this.contentEquals(a,this.root.value))){var c=this.root.index;if(this.dispatchesRangeChanges&&this.dispatchBeforeRangeChange([],[a],c),this.root.left){var d=this.root.right;this.root=this.root.left,this.splay(a),this.root.right=d}else this.root=this.root.right;return this.length--,this.root&&this.root.touch(),this.dispatchesRangeChanges&&this.dispatchRangeChange([],[a],c),!0}return!1},d.prototype.indexOf=function(a,b){if(b)throw new Error("SortedSet#indexOf does not support second argument: startIndex");return this.root&&(this.splay(a),this.contentEquals(a,this.root.value))?this.root.index:-1},d.prototype.find=function(a,b,c){if(b)throw new Error("SortedSet#find does not support second argument: equals");if(c)throw new Error("SortedSet#find does not support third argument: index");if(this.root&&(this.splay(a),this.contentEquals(a,this.root.value)))return this.root},d.prototype.findGreatest=function(a){if(this.root){for(a=a||this.root;a.right;)a=a.right;return a}},d.prototype.findLeast=function(a){if(this.root){for(a=a||this.root;a.left;)a=a.left;return a}},d.prototype.findGreatestLessThanOrEqual=function(a){if(this.root)return this.splay(a),this.contentCompare(this.root.value,a)>0?this.root.getPrevious():this.root},d.prototype.findGreatestLessThan=function(a){if(this.root)return this.splay(a),this.contentCompare(this.root.value,a)>=0?this.root.getPrevious():this.root},d.prototype.findLeastGreaterThanOrEqual=function(a){if(this.root)return this.splay(a),this.contentCompare(this.root.value,a)>=0?this.root:this.root.getNext()},d.prototype.findLeastGreaterThan=function(a){if(this.root)return this.splay(a),this.contentCompare(this.root.value,a)<=0?this.root.getNext():this.root},d.prototype.pop=function(){if(this.root){var a=this.findGreatest();return this.delete(a.value),a.value}},d.prototype.shift=function(){if(this.root){var a=this.findLeast()
;return this.delete(a.value),a.value}},d.prototype.push=function(){this.addEach(arguments)},d.prototype.unshift=function(){this.addEach(arguments)},d.prototype.slice=function(a,b){a=a||0,b=b||this.length,a<0&&(a+=this.length),b<0&&(b+=this.length);var c=[];if(this.root)for(this.splayIndex(a);this.root.index<b&&(c.push(this.root.value),this.root.right);)this.splay(this.root.getNext().value);return c},d.prototype.splice=function(a,b){return this.swap(a,b,Array.prototype.slice.call(arguments,2))},d.prototype.swap=function(a,b,c){if(void 0===a&&void 0===b)return[];a=a||0,a<0&&(a+=this.length),void 0===b&&(b=1/0);var d=[];if(this.root){this.splayIndex(a);for(var e=0;e<b;e++){d.push(this.root.value);var f=this.root.getNext();if(this.delete(this.root.value),!f)break;this.splay(f.value)}}return this.addEach(c),d},d.prototype.splay=function(a){var b,c,d,f,g,h;if(this.root){for(b=c=d=new this.Node,h=new this.Node,g=this.root;;){var i=this.contentCompare(a,g.value);if(i<0){if(!g.left)break;if(this.contentCompare(a,g.left.value)<0&&(f=g.left,g.left=f.right,g.touch(),f.right=g,f.touch(),g=f,!g.left))break;f=new e,f.right=g,f.left=h.left,h.left=f,d.left=g,d.touch(),d=g,g=g.left}else{if(!(i>0))break;if(!g.right)break;if(this.contentCompare(a,g.right.value)>0&&(f=g.right,g.right=f.left,g.touch(),f.left=g,f.touch(),g=f,!g.right))break;f=new e,f.left=g,f.right=h.right,h.right=f,c.right=g,c.touch(),c=g,g=g.right}}for(c.right=g.left,c.touch(),d.left=g.right,d.touch(),g.left=b.right,g.right=b.left;h.left;)h.left.right.touch(),h.left=h.left.left;for(;h.right;)h.right.left.touch(),h.right=h.right.right;g.touch(),this.root=g}},d.prototype.splayIndex=function(a){if(this.root){for(var b=this.root,c=this.root.index;c!==a;)if(c>a&&b.left)b=b.left,c-=1+(b.right?b.right.length:0);else{if(!(c<a&&b.right))break;b=b.right,c+=1+(b.left?b.left.length:0)}return this.splay(b.value),this.root.index===a}return!1},d.prototype.reduce=function(a,b,c){return this.root&&(b=this.root.reduce(a,b,0,c,this)),b},d.prototype.reduceRight=function(a,b,c){return this.root&&(b=this.root.reduceRight(a,b,this.length-1,c,this)),b},d.prototype.min=function(a){var b=this.findLeast(a);if(b)return b.value},d.prototype.max=function(a){var b=this.findGreatest(a);if(b)return b.value},d.prototype.one=function(){return this.min()},d.prototype.clear=function(){var a;this.dispatchesRangeChanges&&(a=this.toArray(),this.dispatchBeforeRangeChange([],a,0)),this.root=null,this.length=0,this.dispatchesRangeChanges&&this.dispatchRangeChange([],a,0)},d.prototype.iterate=function(a,b){return new this.Iterator(this,a,b)},d.prototype.Iterator=f,d.prototype.summary=function(){return this.root?this.root.summary():"()"},d.prototype.log=function(a,b,c,d){a=a||k.unicodeRound,b=b||this.logNode,c||(c=console.log,d=console),c=c.bind(d),this.root&&this.root.log(a,b,c,c)},d.prototype.logNode=function(a,b,c){b(" "+a.value)},d.logCharsets=k,d.prototype.Node=e,e.prototype.reduce=function(a,b,c,d,e,f){if(f=f||0,this.left){var g=this.left.length;b=this.left.reduce(a,b,c,d,e,f+1),c+=g}return b=a.call(d,b,this.value,c,e,this,f),c+=1,this.right&&(b=this.right.reduce(a,b,c,d,e,f+1)),b},e.prototype.reduceRight=function(a,b,c,d,e,f){return f=f||0,this.right&&(b=this.right.reduce(a,b,c,d,e,f+1),c-=this.right.length),b=a.call(d,b,this.value,this.value,e,this,f),c-=1,this.left&&(b=this.left.reduce(a,b,c,d,e,f+1)),b},e.prototype.touch=function(){this.length=1+(this.left?this.left.length:0)+(this.right?this.right.length:0),this.index=this.left?this.left.length:0},e.prototype.checkIntegrity=function(){var a=1;if(a+=this.left?this.left.checkIntegrity():0,a+=this.right?this.right.checkIntegrity():0,this.length!==a)throw new Error("Integrity check failed: "+this.summary());return a},e.prototype.getNext=function(){var a=this;if(a.right){for(a=a.right;a.left;)a=a.left;return a}},e.prototype.getPrevious=function(){var a=this;if(a.left){for(a=a.left;a.right;)a=a.right;return a}},e.prototype.summary=function(){var a=this.value||"-";return a+=" <"+this.length,this.left||this.right?"("+a+" "+(this.left?this.left.summary():"()")+", "+(this.right?this.right.summary():"()")+")":"("+a+")"},e.prototype.log=function(a,b,c,d){var e,f=this;e=this.left&&this.right?a.intersection:this.left?a.branchUp:this.right?a.branchDown:a.through;var g;this.left&&this.left.log(a,b,function(b){g?d(a.strafe+" "+b):(g=!0,d(a.fromBelow+a.through+b))},function(a){d(" "+a)});var h;b(this,function(b){h?c((f.right?a.strafe:" ")+b):(h=!0,c(e+b))},function(b){d((f.left?a.strafe:" ")+b)});var i;this.right&&this.right.log(a,b,function(b){i?c(" "+b):(i=!0,c(a.fromAbove+a.through+b))},function(b){c(a.strafe+" "+b)})},f.prototype.next=function(){var a;if(!(a=this.prev?this.set.findLeastGreaterThan(this.prev.value):this.set.findLeast()))throw StopIteration;if(void 0!==this.end&&this.set.contentCompare(a.value,this.end)>=0)throw StopIteration;return this.prev=a,a.value}},{"./generic-collection":8,"./generic-set":11,"./listen/property-changes":14,"./listen/range-changes":15,"./shim":22,"./tree-log":24}],24:[function(a,b,c){"use strict";function d(){}b.exports=d,d.ascii={intersection:"+",through:"-",branchUp:"+",branchDown:"+",fromBelow:".",fromAbove:"'",fromBoth:"+",strafe:"|"},d.unicodeRound={intersection:"╋",through:"━",branchUp:"┻",branchDown:"┳",fromBelow:"╭",fromAbove:"╰",fromBoth:"┣",strafe:"┃"},d.unicodeSharp={intersection:"╋",through:"━",branchUp:"┻",branchDown:"┳",fromBelow:"┏",fromAbove:"┗",fromBoth:"┣",strafe:"┃"}},{}],25:[function(a,b,c){!function(){function a(a){return a&&(a.ownerDocument||a.document||a).documentElement}function c(a){return a&&(a.ownerDocument&&a.ownerDocument.defaultView||a.document&&a||a.defaultView)}function d(a,b){return a<b?-1:a>b?1:a>=b?0:NaN}function e(a){return null===a?NaN:+a}function f(a){return!isNaN(a)}function g(a){return{left:function(b,c,d,e){for(arguments.length<3&&(d=0),arguments.length<4&&(e=b.length);d<e;){var f=d+e>>>1;a(b[f],c)<0?d=f+1:e=f}return d},right:function(b,c,d,e){for(arguments.length<3&&(d=0),arguments.length<4&&(e=b.length);d<e;){var f=d+e>>>1;a(b[f],c)>0?e=f:d=f+1}return d}}}function h(a){return a.length}function i(a){for(var b=1;a*b%1;)b*=10;return b}function j(a,b){for(var c in b)Object.defineProperty(a.prototype,c,{value:b[c],enumerable:!1})}function k(){this._=Object.create(null)}function l(a){return(a+="")===tg||a[0]===ug?ug+a:a}function m(a){return(a+="")[0]===ug?a.slice(1):a}function n(a){return l(a)in this._}function o(a){return(a=l(a))in this._&&delete this._[a]}function p(){var a=[];for(var b in this._)a.push(m(b));return a}function q(){var a=0;for(var b in this._)++a;return a}function r(){for(var a in this._)return!1;return!0}function s(){this._=Object.create(null)}function t(a){return a}function u(a,b,c){return function(){var d=c.apply(b,arguments);return d===b?a:d}}function v(a,b){if(b in a)return b;b=b.charAt(0).toUpperCase()+b.slice(1);for(var c=0,d=vg.length;c<d;++c){var e=vg[c]+b;if(e in a)return e}}function w(){}function x(){}function y(a){function b(){for(var b,d=c,e=-1,f=d.length;++e<f;)(b=d[e].on)&&b.apply(this,arguments);return a}var c=[],d=new k;return b.on=function(b,e){var f,g=d.get(b);return arguments.length<2?g&&g.on:(g&&(g.on=null,c=c.slice(0,f=c.indexOf(g)).concat(c.slice(f+1)),d.remove(b)),e&&c.push(d.set(b,{on:e})),a)},b}function z(){ig.event.preventDefault()}function A(){for(var a,b=ig.event;a=b.sourceEvent;)b=a;return b}function B(a){for(var b=new x,c=0,d=arguments.length;++c<d;)b[arguments[c]]=y(b);return b.of=function(c,d){return function(e){try{var f=e.sourceEvent=ig.event;e.target=a,ig.event=e,b[e.type].apply(c,d)}finally{ig.event=f}}},b}function C(a){return xg(a,Bg),a}function D(a){return"function"==typeof a?a:function(){return yg(a,this)}}function E(a){return"function"==typeof a?a:function(){return zg(a,this)}}function F(a,b){function c(){this.removeAttribute(a)}function d(){this.removeAttributeNS(a.space,a.local)}function e(){this.setAttribute(a,b)}function f(){this.setAttributeNS(a.space,a.local,b)}function g(){var c=b.apply(this,arguments);null==c?this.removeAttribute(a):this.setAttribute(a,c)}function h(){var c=b.apply(this,arguments);null==c?this.removeAttributeNS(a.space,a.local):this.setAttributeNS(a.space,a.local,c)}return a=ig.ns.qualify(a),null==b?a.local?d:c:"function"==typeof b?a.local?h:g:a.local?f:e}function G(a){return a.trim().replace(/\s+/g," ")}function H(a){return new RegExp("(?:^|\\s+)"+ig.requote(a)+"(?:\\s+|$)","g")}function I(a){return(a+"").trim().split(/^|\s+/)}function J(a,b){function c(){for(var c=-1;++c<e;)a[c](this,b)}function d(){for(var c=-1,d=b.apply(this,arguments);++c<e;)a[c](this,d)}a=I(a).map(K);var e=a.length;return"function"==typeof b?d:c}function K(a){var b=H(a);return function(c,d){if(e=c.classList)return d?e.add(a):e.remove(a);var e=c.getAttribute("class")||"";d?(b.lastIndex=0,b.test(e)||c.setAttribute("class",G(e+" "+a))):c.setAttribute("class",G(e.replace(b," ")))}}function L(a,b,c){function d(){this.style.removeProperty(a)}function e(){this.style.setProperty(a,b,c)}function f(){var d=b.apply(this,arguments);null==d?this.style.removeProperty(a):this.style.setProperty(a,d,c)}return null==b?d:"function"==typeof b?f:e}function M(a,b){function c(){delete this[a]}function d(){this[a]=b}function e(){var c=b.apply(this,arguments);null==c?delete this[a]:this[a]=c}return null==b?c:"function"==typeof b?e:d}function N(a){function b(){var b=this.ownerDocument,c=this.namespaceURI;return c===Cg&&b.documentElement.namespaceURI===Cg?b.createElement(a):b.createElementNS(c,a)}function c(){return this.ownerDocument.createElementNS(a.space,a.local)}return"function"==typeof a?a:(a=ig.ns.qualify(a)).local?c:b}function O(){var a=this.parentNode;a&&a.removeChild(this)}function P(a){return{__data__:a}}function Q(a){return function(){return Ag(this,a)}}function R(a){return arguments.length||(a=d),function(b,c){return b&&c?a(b.__data__,c.__data__):!b-!c}}function S(a,b){for(var c=0,d=a.length;c<d;c++)for(var e,f=a[c],g=0,h=f.length;g<h;g++)(e=f[g])&&b(e,g,c);return a}function T(a){return xg(a,Eg),a}function U(a){var b,c;return function(d,e,f){var g,h=a[f].update,i=h.length;for(f!=c&&(c=f,b=0),e>=b&&(b=e+1);!(g=h[b])&&++b<i;);return g}}function V(a,b,c){function d(){var b=this[g];b&&(this.removeEventListener(a,b,b.$),delete this[g])}function e(){var e=i(b,kg(arguments));d.call(this),this.addEventListener(a,this[g]=e,e.$=c),e._=b}function f(){var b,c=new RegExp("^__on([^.]+)"+ig.requote(a)+"$");for(var d in this)if(b=d.match(c)){var e=this[d];this.removeEventListener(b[1],e,e.$),delete this[d]}}var g="__on"+a,h=a.indexOf("."),i=W;h>0&&(a=a.slice(0,h));var j=Fg.get(a);return j&&(a=j,i=X),h?b?e:d:b?w:f}function W(a,b){return function(c){var d=ig.event;ig.event=c,b[0]=this.__data__;try{a.apply(this,b)}finally{ig.event=d}}}function X(a,b){var c=W(a,b);return function(a){var b=this,d=a.relatedTarget;d&&(d===b||8&d.compareDocumentPosition(b))||c.call(b,a)}}function Y(b){var d=".dragsuppress-"+ ++Hg,e="click"+d,f=ig.select(c(b)).on("touchmove"+d,z).on("dragstart"+d,z).on("selectstart"+d,z);if(null==Gg&&(Gg=!("onselectstart"in b)&&v(b.style,"userSelect")),Gg){var g=a(b).style,h=g[Gg];g[Gg]="none"}return function(a){if(f.on(d,null),Gg&&(g[Gg]=h),a){var b=function(){f.on(e,null)};f.on(e,function(){z(),b()},!0),setTimeout(b,0)}}}function Z(a,b){b.changedTouches&&(b=b.changedTouches[0]);var d=a.ownerSVGElement||a;if(d.createSVGPoint){var e=d.createSVGPoint();if(Ig<0){var f=c(a);if(f.scrollX||f.scrollY){d=ig.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var g=d[0][0].getScreenCTM();Ig=!(g.f||g.e),d.remove()}}return Ig?(e.x=b.pageX,e.y=b.pageY):(e.x=b.clientX,e.y=b.clientY),e=e.matrixTransform(a.getScreenCTM().inverse()),[e.x,e.y]}var h=a.getBoundingClientRect();return[b.clientX-h.left-a.clientLeft,b.clientY-h.top-a.clientTop]}function $(){return ig.event.changedTouches[0].identifier}function _(a){return a>0?1:a<0?-1:0}function aa(a,b,c){return(b[0]-a[0])*(c[1]-a[1])-(b[1]-a[1])*(c[0]-a[0])}function ba(a){return a>1?0:a<-1?Lg:Math.acos(a)}function ca(a){return a>1?Og:a<-1?-Og:Math.asin(a)}function da(a){return((a=Math.exp(a))-1/a)/2}function ea(a){return((a=Math.exp(a))+1/a)/2}function fa(a){return((a=Math.exp(2*a))-1)/(a+1)}function ga(a){return(a=Math.sin(a/2))*a}function ha(){}function ia(a,b,c){return this instanceof ia?(this.h=+a,this.s=+b,void(this.l=+c)):arguments.length<2?a instanceof ia?new ia(a.h,a.s,a.l):wa(""+a,xa,ia):new ia(a,b,c)}function ja(a,b,c){function d(a){return a>360?a-=360:a<0&&(a+=360),a<60?f+(g-f)*a/60:a<180?g:a<240?f+(g-f)*(240-a)/60:f}function e(a){return Math.round(255*d(a))}var f,g;return a=isNaN(a)?0:(a%=360)<0?a+360:a,b=isNaN(b)?0:b<0?0:b>1?1:b,c=c<0?0:c>1?1:c,g=c<=.5?c*(1+b):c+b-c*b,f=2*c-g,new sa(e(a+120),e(a),e(a-120))}function ka(a,b,c){return this instanceof ka?(this.h=+a,this.c=+b,void(this.l=+c)):arguments.length<2?a instanceof ka?new ka(a.h,a.c,a.l):a instanceof ma?oa(a.l,a.a,a.b):oa((a=ya((a=ig.rgb(a)).r,a.g,a.b)).l,a.a,a.b):new ka(a,b,c)}function la(a,b,c){return isNaN(a)&&(a=0),isNaN(b)&&(b=0),new ma(c,Math.cos(a*=Pg)*b,Math.sin(a)*b)}function ma(a,b,c){return this instanceof ma?(this.l=+a,this.a=+b,void(this.b=+c)):arguments.length<2?a instanceof ma?new ma(a.l,a.a,a.b):a instanceof ka?la(a.h,a.c,a.l):ya((a=sa(a)).r,a.g,a.b):new ma(a,b,c)}function na(a,b,c){var d=(a+16)/116,e=d+b/500,f=d-c/200;return e=pa(e)*Yg,d=pa(d)*Zg,f=pa(f)*$g,new sa(ra(3.2404542*e-1.5371385*d-.4985314*f),ra(-.969266*e+1.8760108*d+.041556*f),ra(.0556434*e-.2040259*d+1.0572252*f))}function oa(a,b,c){return a>0?new ka(Math.atan2(c,b)*Qg,Math.sqrt(b*b+c*c),a):new ka(NaN,NaN,a)}function pa(a){return a>.206893034?a*a*a:(a-4/29)/7.787037}function qa(a){return a>.008856?Math.pow(a,1/3):7.787037*a+4/29}function ra(a){return Math.round(255*(a<=.00304?12.92*a:1.055*Math.pow(a,1/2.4)-.055))}function sa(a,b,c){return this instanceof sa?(this.r=~~a,this.g=~~b,void(this.b=~~c)):arguments.length<2?a instanceof sa?new sa(a.r,a.g,a.b):wa(""+a,sa,ja):new sa(a,b,c)}function ta(a){return new sa(a>>16,a>>8&255,255&a)}function ua(a){return ta(a)+""}function va(a){return a<16?"0"+Math.max(0,a).toString(16):Math.min(255,a).toString(16)}function wa(a,b,c){var d,e,f,g=0,h=0,i=0;if(d=/([a-z]+)\((.*)\)/.exec(a=a.toLowerCase()))switch(e=d[2].split(","),d[1]){case"hsl":return c(parseFloat(e[0]),parseFloat(e[1])/100,parseFloat(e[2])/100);case"rgb":return b(Aa(e[0]),Aa(e[1]),Aa(e[2]))}return(f=bh.get(a))?b(f.r,f.g,f.b):(null==a||"#"!==a.charAt(0)||isNaN(f=parseInt(a.slice(1),16))||(4===a.length?(g=(3840&f)>>4,g|=g>>4,h=240&f,h|=h>>4,i=15&f,i|=i<<4):7===a.length&&(g=(16711680&f)>>16,h=(65280&f)>>8,i=255&f)),b(g,h,i))}function xa(a,b,c){var d,e,f=Math.min(a/=255,b/=255,c/=255),g=Math.max(a,b,c),h=g-f,i=(g+f)/2;return h?(e=i<.5?h/(g+f):h/(2-g-f),d=a==g?(b-c)/h+(b<c?6:0):b==g?(c-a)/h+2:(a-b)/h+4,d*=60):(d=NaN,e=i>0&&i<1?0:d),new ia(d,e,i)}function ya(a,b,c){a=za(a),b=za(b),c=za(c);var d=qa((.4124564*a+.3575761*b+.1804375*c)/Yg),e=qa((.2126729*a+.7151522*b+.072175*c)/Zg);return ma(116*e-16,500*(d-e),200*(e-qa((.0193339*a+.119192*b+.9503041*c)/$g)))}function za(a){return(a/=255)<=.04045?a/12.92:Math.pow((a+.055)/1.055,2.4)}function Aa(a){var b=parseFloat(a);return"%"===a.charAt(a.length-1)?Math.round(2.55*b):b}function Ba(a){return"function"==typeof a?a:function(){return a}}function Ca(a){return function(b,c,d){return 2===arguments.length&&"function"==typeof c&&(d=c,c=null),Da(b,c,a,d)}}function Da(a,b,c,d){function e(){var a,b=i.status;if(!b&&Fa(i)||b>=200&&b<300||304===b){try{a=c.call(f,i)}catch(a){return void g.error.call(f,a)}g.load.call(f,a)}else g.error.call(f,i)}var f={},g=ig.dispatch("beforesend","progress","load","error"),h={},i=new XMLHttpRequest,j=null;return!this.XDomainRequest||"withCredentials"in i||!/^(http(s)?:)?\/\//.test(a)||(i=new XDomainRequest),"onload"in i?i.onload=i.onerror=e:i.onreadystatechange=function(){i.readyState>3&&e()},i.onprogress=function(a){var b=ig.event;ig.event=a;try{g.progress.call(f,i)}finally{ig.event=b}},f.header=function(a,b){return a=(a+"").toLowerCase(),arguments.length<2?h[a]:(null==b?delete h[a]:h[a]=b+"",f)},f.mimeType=function(a){return arguments.length?(b=null==a?null:a+"",f):b},f.responseType=function(a){return arguments.length?(j=a,f):j},f.response=function(a){return c=a,f},["get","post"].forEach(function(a){f[a]=function(){return f.send.apply(f,[a].concat(kg(arguments)))}}),f.send=function(c,d,e){if(2===arguments.length&&"function"==typeof d&&(e=d,d=null),i.open(c,a,!0),null==b||"accept"in h||(h.accept=b+",*/*"),i.setRequestHeader)for(var k in h)i.setRequestHeader(k,h[k]);return null!=b&&i.overrideMimeType&&i.overrideMimeType(b),null!=j&&(i.responseType=j),null!=e&&f.on("error",e).on("load",function(a){e(null,a)}),g.beforesend.call(f,i),i.send(null==d?null:d),f},f.abort=function(){return i.abort(),f},ig.rebind(f,g,"on"),null==d?f:f.get(Ea(d))}function Ea(a){return 1===a.length?function(b,c){a(null==b?c:null)}:a}function Fa(a){var b=a.responseType;return b&&"text"!==b?a.response:a.responseText}function Ga(a,b,c){var d=arguments.length;d<2&&(b=0),d<3&&(c=Date.now());var e=c+b,f={c:a,t:e,n:null};return dh?dh.n=f:ch=f,dh=f,eh||(fh=clearTimeout(fh),eh=1,gh(Ha)),f}function Ha(){var a=Ia(),b=Ja()-a;b>24?(isFinite(b)&&(clearTimeout(fh),fh=setTimeout(Ha,b)),eh=0):(eh=1,gh(Ha))}function Ia(){for(var a=Date.now(),b=ch;b;)a>=b.t&&b.c(a-b.t)&&(b.c=null),b=b.n;return a}function Ja(){for(var a,b=ch,c=1/0;b;)b.c?(b.t<c&&(c=b.t),b=(a=b).n):b=a?a.n=b.n:ch=b.n;return dh=a,c}function Ka(a,b){return b-(a?Math.ceil(Math.log(a)/Math.LN10):1)}function La(a,b){var c=Math.pow(10,3*sg(8-b));return{scale:b>8?function(a){return a/c}:function(a){return a*c},symbol:a}}function Ma(a){var b=a.decimal,c=a.thousands,d=a.grouping,e=a.currency,f=d&&c?function(a,b){for(var e=a.length,f=[],g=0,h=d[0],i=0;e>0&&h>0&&(i+h+1>b&&(h=Math.max(1,b-i)),f.push(a.substring(e-=h,e+h)),!((i+=h+1)>b));)h=d[g=(g+1)%d.length];return f.reverse().join(c)}:t;return function(a){var c=ih.exec(a),d=c[1]||" ",g=c[2]||">",h=c[3]||"-",i=c[4]||"",j=c[5],k=+c[6],l=c[7],m=c[8],n=c[9],o=1,p="",q="",r=!1,s=!0;switch(m&&(m=+m.substring(1)),(j||"0"===d&&"="===g)&&(j=d="0",g="="),n){case"n":l=!0,n="g";break;case"%":o=100,q="%",n="f";break;case"p":o=100,q="%",n="r";break;case"b":case"o":case"x":case"X":"#"===i&&(p="0"+n.toLowerCase());case"c":s=!1;case"d":r=!0,m=0;break;case"s":o=-1,n="r"}"$"===i&&(p=e[0],q=e[1]),"r"!=n||m||(n="g"),null!=m&&("g"==n?m=Math.max(1,Math.min(21,m)):"e"!=n&&"f"!=n||(m=Math.max(0,Math.min(20,m)))),n=jh.get(n)||Na;var t=j&&l;return function(a){var c=q;if(r&&a%1)return"";var e=a<0||0===a&&1/a<0?(a=-a,"-"):"-"===h?"":h;if(o<0){var i=ig.formatPrefix(a,m);a=i.scale(a),c=i.symbol+q}else a*=o;a=n(a,m);var u,v,w=a.lastIndexOf(".");if(w<0){var x=s?a.lastIndexOf("e"):-1;x<0?(u=a,v=""):(u=a.substring(0,x),v=a.substring(x))}else u=a.substring(0,w),v=b+a.substring(w+1);!j&&l&&(u=f(u,1/0));var y=p.length+u.length+v.length+(t?0:e.length),z=y<k?new Array(y=k-y+1).join(d):"";return t&&(u=f(z+u,z.length?k-v.length:1/0)),e+=p,a=u+v,("<"===g?e+a+z:">"===g?z+e+a:"^"===g?z.substring(0,y>>=1)+e+a+z.substring(y):e+(t?a:z+a))+c}}}function Na(a){return a+""}function Oa(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Pa(a,b,c){function d(b){var c=a(b),d=f(c,1);return b-c<d-b?c:d}function e(c){return b(c=a(new lh(c-1)),1),c}function f(a,c){return b(a=new lh(+a),c),a}function g(a,d,f){var g=e(a),h=[];if(f>1)for(;g<d;)c(g)%f||h.push(new Date(+g)),b(g,1);else for(;g<d;)h.push(new Date(+g)),b(g,1);return h}function h(a,b,c){try{lh=Oa;var d=new Oa;return d._=a,g(d,b,c)}finally{lh=Date}}a.floor=a,a.round=d,a.ceil=e,a.offset=f,a.range=g;var i=a.utc=Qa(a);return i.floor=i,i.round=Qa(d),i.ceil=Qa(e),i.offset=Qa(f),i.range=h,a}function Qa(a){return function(b,c){try{lh=Oa;var d=new Oa;return d._=b,a(d,c)._}finally{lh=Date}}}function Ra(a){function b(a){function b(b){for(var c,e,f,g=[],h=-1,i=0;++h<d;)37===a.charCodeAt(h)&&(g.push(a.slice(i,h)),null!=(e=nh[c=a.charAt(++h)])&&(c=a.charAt(++h)),(f=C[c])&&(c=f(b,null==e?"e"===c?" ":"0":e)),g.push(c),i=h+1);return g.push(a.slice(i,h)),g.join("")}var d=a.length;return b.parse=function(b){var d={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null};if(c(d,a,b,0)!=b.length)return null;"p"in d&&(d.H=d.H%12+12*d.p);var e=null!=d.Z&&lh!==Oa,f=new(e?Oa:lh);return"j"in d?f.setFullYear(d.y,0,d.j):"W"in d||"U"in d?("w"in d||(d.w="W"in d?1:0),f.setFullYear(d.y,0,1),f.setFullYear(d.y,0,"W"in d?(d.w+6)%7+7*d.W-(f.getDay()+5)%7:d.w+7*d.U-(f.getDay()+6)%7)):f.setFullYear(d.y,d.m,d.d),f.setHours(d.H+(d.Z/100|0),d.M+d.Z%100,d.S,d.L),e?f._:f},b.toString=function(){return a},b}function c(a,b,c,d){for(var e,f,g,h=0,i=b.length,j=c.length;h<i;){if(d>=j)return-1;if(37===(e=b.charCodeAt(h++))){if(g=b.charAt(h++),!(f=D[g in nh?b.charAt(h++):g])||(d=f(a,c,d))<0)return-1}else if(e!=c.charCodeAt(d++))return-1}return d}function d(a,b,c){w.lastIndex=0;var d=w.exec(b.slice(c));return d?(a.w=x.get(d[0].toLowerCase()),c+d[0].length):-1}function e(a,b,c){u.lastIndex=0;var d=u.exec(b.slice(c));return d?(a.w=v.get(d[0].toLowerCase()),c+d[0].length):-1}function f(a,b,c){A.lastIndex=0;var d=A.exec(b.slice(c));return d?(a.m=B.get(d[0].toLowerCase()),c+d[0].length):-1}function g(a,b,c){y.lastIndex=0;var d=y.exec(b.slice(c));return d?(a.m=z.get(d[0].toLowerCase()),c+d[0].length):-1}function h(a,b,d){return c(a,C.c.toString(),b,d)}function i(a,b,d){return c(a,C.x.toString(),b,d)}function j(a,b,d){return c(a,C.X.toString(),b,d)}function k(a,b,c){var d=t.get(b.slice(c,c+=2).toLowerCase());return null==d?-1:(a.p=d,c)}var l=a.dateTime,m=a.date,n=a.time,o=a.periods,p=a.days,q=a.shortDays,r=a.months,s=a.shortMonths;b.utc=function(a){function c(a){try{lh=Oa;var b=new lh;return b._=a,d(b)}finally{lh=Date}}var d=b(a);return c.parse=function(a){try{lh=Oa;var b=d.parse(a);return b&&b._}finally{lh=Date}},c.toString=d.toString,c},b.multi=b.utc.multi=jb;var t=ig.map(),u=Ta(p),v=Ua(p),w=Ta(q),x=Ua(q),y=Ta(r),z=Ua(r),A=Ta(s),B=Ua(s);o.forEach(function(a,b){t.set(a.toLowerCase(),b)});var C={a:function(a){return q[a.getDay()]},A:function(a){return p[a.getDay()]},b:function(a){return s[a.getMonth()]},B:function(a){return r[a.getMonth()]},c:b(l),d:function(a,b){return Sa(a.getDate(),b,2)},e:function(a,b){return Sa(a.getDate(),b,2)},H:function(a,b){return Sa(a.getHours(),b,2)},I:function(a,b){return Sa(a.getHours()%12||12,b,2)},j:function(a,b){return Sa(1+kh.dayOfYear(a),b,3)},L:function(a,b){return Sa(a.getMilliseconds(),b,3)},m:function(a,b){return Sa(a.getMonth()+1,b,2)},M:function(a,b){return Sa(a.getMinutes(),b,2)},p:function(a){return o[+(a.getHours()>=12)]},S:function(a,b){return Sa(a.getSeconds(),b,2)},U:function(a,b){return Sa(kh.sundayOfYear(a),b,2)},w:function(a){return a.getDay()},W:function(a,b){return Sa(kh.mondayOfYear(a),b,2)},x:b(m),X:b(n),y:function(a,b){return Sa(a.getFullYear()%100,b,2)},Y:function(a,b){return Sa(a.getFullYear()%1e4,b,4)},Z:hb,"%":function(){return"%"}},D={a:d,A:e,b:f,B:g,c:h,d:bb,e:bb,H:db,I:db,j:cb,L:gb,m:ab,M:eb,p:k,S:fb,U:Wa,w:Va,W:Xa,x:i,X:j,y:Za,Y:Ya,Z:$a,"%":ib};return b}function Sa(a,b,c){var d=a<0?"-":"",e=(d?-a:a)+"",f=e.length;return d+(f<c?new Array(c-f+1).join(b)+e:e)}function Ta(a){return new RegExp("^(?:"+a.map(ig.requote).join("|")+")","i")}function Ua(a){for(var b=new k,c=-1,d=a.length;++c<d;)b.set(a[c].toLowerCase(),c);return b}function Va(a,b,c){oh.lastIndex=0;var d=oh.exec(b.slice(c,c+1));return d?(a.w=+d[0],c+d[0].length):-1}function Wa(a,b,c){oh.lastIndex=0;var d=oh.exec(b.slice(c));return d?(a.U=+d[0],c+d[0].length):-1}function Xa(a,b,c){oh.lastIndex=0;var d=oh.exec(b.slice(c));return d?(a.W=+d[0],c+d[0].length):-1}function Ya(a,b,c){oh.lastIndex=0;var d=oh.exec(b.slice(c,c+4));return d?(a.y=+d[0],c+d[0].length):-1}function Za(a,b,c){oh.lastIndex=0;var d=oh.exec(b.slice(c,c+2));return d?(a.y=_a(+d[0]),c+d[0].length):-1}function $a(a,b,c){return/^[+-]\d{4}$/.test(b=b.slice(c,c+5))?(a.Z=-b,c+5):-1}function _a(a){return a+(a>68?1900:2e3)}function ab(a,b,c){oh.lastIndex=0;var d=oh.exec(b.slice(c,c+2));return d?(a.m=d[0]-1,c+d[0].length):-1}function bb(a,b,c){oh.lastIndex=0;var d=oh.exec(b.slice(c,c+2));return d?(a.d=+d[0],c+d[0].length):-1}function cb(a,b,c){oh.lastIndex=0;var d=oh.exec(b.slice(c,c+3));return d?(a.j=+d[0],c+d[0].length):-1}function db(a,b,c){oh.lastIndex=0;var d=oh.exec(b.slice(c,c+2));return d?(a.H=+d[0],c+d[0].length):-1}function eb(a,b,c){oh.lastIndex=0;var d=oh.exec(b.slice(c,c+2));return d?(a.M=+d[0],c+d[0].length):-1}function fb(a,b,c){oh.lastIndex=0;var d=oh.exec(b.slice(c,c+2));return d?(a.S=+d[0],c+d[0].length):-1}function gb(a,b,c){oh.lastIndex=0;var d=oh.exec(b.slice(c,c+3));return d?(a.L=+d[0],c+d[0].length):-1}function hb(a){var b=a.getTimezoneOffset(),c=b>0?"-":"+",d=sg(b)/60|0,e=sg(b)%60;return c+Sa(d,"0",2)+Sa(e,"0",2)}function ib(a,b,c){ph.lastIndex=0;var d=ph.exec(b.slice(c,c+1));return d?c+d[0].length:-1}function jb(a){for(var b=a.length,c=-1;++c<b;)a[c][0]=this(a[c][0]);return function(b){for(var c=0,d=a[c];!d[1](b);)d=a[++c];return d[0](b)}}function kb(){}function lb(a,b,c){var d=c.s=a+b,e=d-a,f=d-e;c.t=a-f+(b-e)}function mb(a,b){a&&th.hasOwnProperty(a.type)&&th[a.type](a,b)}function nb(a,b,c){var d,e=-1,f=a.length-c;for(b.lineStart();++e<f;)d=a[e],b.point(d[0],d[1],d[2]);b.lineEnd()}function ob(a,b){var c=-1,d=a.length;for(b.polygonStart();++c<d;)nb(a[c],b,1);b.polygonEnd()}function pb(){function a(a,b){a*=Pg,b=b*Pg/2+Lg/4;var c=a-d,g=c>=0?1:-1,h=g*c,i=Math.cos(b),j=Math.sin(b),k=f*j,l=e*i+k*Math.cos(h),m=k*g*Math.sin(h);vh.add(Math.atan2(m,l)),d=a,e=i,f=j}var b,c,d,e,f;wh.point=function(g,h){wh.point=a,d=(b=g)*Pg,e=Math.cos(h=(c=h)*Pg/2+Lg/4),f=Math.sin(h)},wh.lineEnd=function(){a(b,c)}}function qb(a){var b=a[0],c=a[1],d=Math.cos(c);return[d*Math.cos(b),d*Math.sin(b),Math.sin(c)]}function rb(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]}function sb(a,b){return[a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]*b[0]]}function tb(a,b){a[0]+=b[0],a[1]+=b[1],a[2]+=b[2]}function ub(a,b){return[a[0]*b,a[1]*b,a[2]*b]}function vb(a){var b=Math.sqrt(a[0]*a[0]+a[1]*a[1]+a[2]*a[2]);a[0]/=b,a[1]/=b,a[2]/=b}function wb(a){return[Math.atan2(a[1],a[0]),ca(a[2])]}function xb(a,b){return sg(a[0]-b[0])<Jg&&sg(a[1]-b[1])<Jg}function yb(a,b){a*=Pg;var c=Math.cos(b*=Pg);zb(c*Math.cos(a),c*Math.sin(a),Math.sin(b))}function zb(a,b,c){++xh,zh+=(a-zh)/xh,Ah+=(b-Ah)/xh,Bh+=(c-Bh)/xh}function Ab(){function a(a,e){a*=Pg;var f=Math.cos(e*=Pg),g=f*Math.cos(a),h=f*Math.sin(a),i=Math.sin(e),j=Math.atan2(Math.sqrt((j=c*i-d*h)*j+(j=d*g-b*i)*j+(j=b*h-c*g)*j),b*g+c*h+d*i);yh+=j,Ch+=j*(b+(b=g)),Dh+=j*(c+(c=h)),Eh+=j*(d+(d=i)),zb(b,c,d)}var b,c,d;Ih.point=function(e,f){e*=Pg;var g=Math.cos(f*=Pg);b=g*Math.cos(e),c=g*Math.sin(e),d=Math.sin(f),Ih.point=a,zb(b,c,d)}}function Bb(){Ih.point=yb}function Cb(){function a(a,b){a*=Pg;var c=Math.cos(b*=Pg),g=c*Math.cos(a),h=c*Math.sin(a),i=Math.sin(b),j=e*i-f*h,k=f*g-d*i,l=d*h-e*g,m=Math.sqrt(j*j+k*k+l*l),n=d*g+e*h+f*i,o=m&&-ba(n)/m,p=Math.atan2(m,n);Fh+=o*j,Gh+=o*k,Hh+=o*l,yh+=p,Ch+=p*(d+(d=g)),Dh+=p*(e+(e=h)),Eh+=p*(f+(f=i)),zb(d,e,f)}var b,c,d,e,f;Ih.point=function(g,h){b=g,c=h,Ih.point=a,g*=Pg;var i=Math.cos(h*=Pg);d=i*Math.cos(g),e=i*Math.sin(g),f=Math.sin(h),zb(d,e,f)},Ih.lineEnd=function(){a(b,c),Ih.lineEnd=Bb,Ih.point=yb}}function Db(a,b){function c(c,d){return c=a(c,d),b(c[0],c[1])}return a.invert&&b.invert&&(c.invert=function(c,d){return(c=b.invert(c,d))&&a.invert(c[0],c[1])}),c}function Eb(){return!0}function Fb(a,b,c,d,e){var f=[],g=[];if(a.forEach(function(a){if(!((b=a.length-1)<=0)){var b,c=a[0],d=a[b];if(xb(c,d)){e.lineStart();for(var h=0;h<b;++h)e.point((c=a[h])[0],c[1]);return void e.lineEnd()}var i=new Hb(c,a,null,!0),j=new Hb(c,null,i,!1);i.o=j,f.push(i),g.push(j),i=new Hb(d,a,null,!1),j=new Hb(d,null,i,!0),i.o=j,f.push(i),g.push(j)}}),g.sort(b),Gb(f),Gb(g),f.length){for(var h=0,i=c,j=g.length;h<j;++h)g[h].e=i=!i;for(var k,l,m=f[0];;){for(var n=m,o=!0;n.v;)if((n=n.n)===m)return;k=n.z,e.lineStart();do{if(n.v=n.o.v=!0,n.e){if(o)for(var h=0,j=k.length;h<j;++h)e.point((l=k[h])[0],l[1]);else d(n.x,n.n.x,1,e);n=n.n}else{if(o){k=n.p.z;for(var h=k.length-1;h>=0;--h)e.point((l=k[h])[0],l[1])}else d(n.x,n.p.x,-1,e);n=n.p}n=n.o,k=n.z,o=!o}while(!n.v);e.lineEnd()}}}function Gb(a){if(b=a.length){for(var b,c,d=0,e=a[0];++d<b;)e.n=c=a[d],c.p=e,e=c;e.n=c=a[0],c.p=e}}function Hb(a,b,c,d){this.x=a,this.z=b,this.o=c,this.e=d,this.v=!1,this.n=this.p=null}function Ib(a,b,c,d){return function(e,f){function g(b,c){var d=e(b,c);a(b=d[0],c=d[1])&&f.point(b,c)}function h(a,b){var c=e(a,b);q.point(c[0],c[1])}function i(){s.point=h,q.lineStart()}function j(){s.point=g,q.lineEnd()}function k(a,b){p.push([a,b]);var c=e(a,b);u.point(c[0],c[1])}function l(){u.lineStart(),p=[]}function m(){k(p[0][0],p[0][1]),u.lineEnd();var a,b=u.clean(),c=t.buffer(),d=c.length;if(p.pop(),o.push(p),p=null,d)if(1&b){a=c[0];var e,d=a.length-1,g=-1;if(d>0){for(v||(f.polygonStart(),v=!0),f.lineStart();++g<d;)f.point((e=a[g])[0],e[1]);f.lineEnd()}}else d>1&&2&b&&c.push(c.pop().concat(c.shift())),n.push(c.filter(Jb))}var n,o,p,q=b(f),r=e.invert(d[0],d[1]),s={point:g,lineStart:i,lineEnd:j,polygonStart:function(){s.point=k,s.lineStart=l,s.lineEnd=m,n=[],o=[]},polygonEnd:function(){s.point=g,s.lineStart=i,s.lineEnd=j,n=ig.merge(n);var a=Pb(r,o);n.length?(v||(f.polygonStart(),v=!0),Fb(n,Lb,a,c,f)):a&&(v||(f.polygonStart(),v=!0),f.lineStart(),c(null,null,1,f),f.lineEnd()),v&&(f.polygonEnd(),v=!1),n=o=null},sphere:function(){f.polygonStart(),f.lineStart(),c(null,null,1,f),f.lineEnd(),f.polygonEnd()}},t=Kb(),u=b(t),v=!1;return s}}function Jb(a){return a.length>1}function Kb(){var a,b=[];return{lineStart:function(){b.push(a=[])},point:function(b,c){a.push([b,c])},lineEnd:w,buffer:function(){var c=b;return b=[],a=null,c},rejoin:function(){b.length>1&&b.push(b.pop().concat(b.shift()))}}}function Lb(a,b){return((a=a.x)[0]<0?a[1]-Og-Jg:Og-a[1])-((b=b.x)[0]<0?b[1]-Og-Jg:Og-b[1])}function Mb(a){var b,c=NaN,d=NaN,e=NaN;return{lineStart:function(){a.lineStart(),b=1},point:function(f,g){var h=f>0?Lg:-Lg,i=sg(f-c);sg(i-Lg)<Jg?(a.point(c,d=(d+g)/2>0?Og:-Og),a.point(e,d),a.lineEnd(),a.lineStart(),a.point(h,d),a.point(f,d),b=0):e!==h&&i>=Lg&&(sg(c-e)<Jg&&(c-=e*Jg),sg(f-h)<Jg&&(f-=h*Jg),d=Nb(c,d,f,g),a.point(e,d),a.lineEnd(),a.lineStart(),a.point(h,d),b=0),a.point(c=f,d=g),e=h},lineEnd:function(){a.lineEnd(),c=d=NaN},clean:function(){return 2-b}}}function Nb(a,b,c,d){var e,f,g=Math.sin(a-c);return sg(g)>Jg?Math.atan((Math.sin(b)*(f=Math.cos(d))*Math.sin(c)-Math.sin(d)*(e=Math.cos(b))*Math.sin(a))/(e*f*g)):(b+d)/2}function Ob(a,b,c,d){var e;if(null==a)e=c*Og,d.point(-Lg,e),d.point(0,e),d.point(Lg,e),d.point(Lg,0),d.point(Lg,-e),d.point(0,-e),d.point(-Lg,-e),d.point(-Lg,0),d.point(-Lg,e);else if(sg(a[0]-b[0])>Jg){var f=a[0]<b[0]?Lg:-Lg;e=c*f/2,d.point(-f,e),d.point(0,e),d.point(f,e)}else d.point(b[0],b[1])}function Pb(a,b){var c=a[0],d=a[1],e=[Math.sin(c),-Math.cos(c),0],f=0,g=0;vh.reset();for(var h=0,i=b.length;h<i;++h){var j=b[h],k=j.length;if(k)for(var l=j[0],m=l[0],n=l[1]/2+Lg/4,o=Math.sin(n),p=Math.cos(n),q=1;;){q===k&&(q=0),a=j[q];var r=a[0],s=a[1]/2+Lg/4,t=Math.sin(s),u=Math.cos(s),v=r-m,w=v>=0?1:-1,x=w*v,y=x>Lg,z=o*t;if(vh.add(Math.atan2(z*w*Math.sin(x),p*u+z*Math.cos(x))),f+=y?v+w*Mg:v,y^m>=c^r>=c){var A=sb(qb(l),qb(a));vb(A);var B=sb(e,A);vb(B);var C=(y^v>=0?-1:1)*ca(B[2]);(d>C||d===C&&(A[0]||A[1]))&&(g+=y^v>=0?1:-1)}if(!q++)break;m=r,o=t,p=u,l=a}}return(f<-Jg||f<Jg&&vh<-Jg)^1&g}function Qb(a){function b(a,b){return Math.cos(a)*Math.cos(b)>f}function c(a){var c,f,i,j,k;return{lineStart:function(){j=i=!1,k=1},point:function(l,m){var n,o=[l,m],p=b(l,m),q=g?p?0:e(l,m):p?e(l+(l<0?Lg:-Lg),m):0;if(!c&&(j=i=p)&&a.lineStart(),p!==i&&(n=d(c,o),(xb(c,n)||xb(o,n))&&(o[0]+=Jg,o[1]+=Jg,p=b(o[0],o[1]))),p!==i)k=0,p?(a.lineStart(),n=d(o,c),a.point(n[0],n[1])):(n=d(c,o),a.point(n[0],n[1]),a.lineEnd()),c=n;else if(h&&c&&g^p){var r;q&f||!(r=d(o,c,!0))||(k=0,g?(a.lineStart(),
a.point(r[0][0],r[0][1]),a.point(r[1][0],r[1][1]),a.lineEnd()):(a.point(r[1][0],r[1][1]),a.lineEnd(),a.lineStart(),a.point(r[0][0],r[0][1])))}!p||c&&xb(c,o)||a.point(o[0],o[1]),c=o,i=p,f=q},lineEnd:function(){i&&a.lineEnd(),c=null},clean:function(){return k|(j&&i)<<1}}}function d(a,b,c){var d=qb(a),e=qb(b),g=[1,0,0],h=sb(d,e),i=rb(h,h),j=h[0],k=i-j*j;if(!k)return!c&&a;var l=f*i/k,m=-f*j/k,n=sb(g,h),o=ub(g,l);tb(o,ub(h,m));var p=n,q=rb(o,p),r=rb(p,p),s=q*q-r*(rb(o,o)-1);if(!(s<0)){var t=Math.sqrt(s),u=ub(p,(-q-t)/r);if(tb(u,o),u=wb(u),!c)return u;var v,w=a[0],x=b[0],y=a[1],z=b[1];x<w&&(v=w,w=x,x=v);var A=x-w,B=sg(A-Lg)<Jg,C=B||A<Jg;if(!B&&z<y&&(v=y,y=z,z=v),C?B?y+z>0^u[1]<(sg(u[0]-w)<Jg?y:z):y<=u[1]&&u[1]<=z:A>Lg^(w<=u[0]&&u[0]<=x)){var D=ub(p,(-q+t)/r);return tb(D,o),[u,wb(D)]}}}function e(b,c){var d=g?a:Lg-a,e=0;return b<-d?e|=1:b>d&&(e|=2),c<-d?e|=4:c>d&&(e|=8),e}var f=Math.cos(a),g=f>0,h=sg(f)>Jg;return Ib(b,c,pc(a,6*Pg),g?[0,-a]:[-Lg,a-Lg])}function Rb(a,b,c,d){return function(e){var f,g=e.a,h=e.b,i=g.x,j=g.y,k=h.x,l=h.y,m=0,n=1,o=k-i,p=l-j;if(f=a-i,o||!(f>0)){if(f/=o,o<0){if(f<m)return;f<n&&(n=f)}else if(o>0){if(f>n)return;f>m&&(m=f)}if(f=c-i,o||!(f<0)){if(f/=o,o<0){if(f>n)return;f>m&&(m=f)}else if(o>0){if(f<m)return;f<n&&(n=f)}if(f=b-j,p||!(f>0)){if(f/=p,p<0){if(f<m)return;f<n&&(n=f)}else if(p>0){if(f>n)return;f>m&&(m=f)}if(f=d-j,p||!(f<0)){if(f/=p,p<0){if(f>n)return;f>m&&(m=f)}else if(p>0){if(f<m)return;f<n&&(n=f)}return m>0&&(e.a={x:i+m*o,y:j+m*p}),n<1&&(e.b={x:i+n*o,y:j+n*p}),e}}}}}}function Sb(a,b,c,d){function e(d,e){return sg(d[0]-a)<Jg?e>0?0:3:sg(d[0]-c)<Jg?e>0?2:1:sg(d[1]-b)<Jg?e>0?1:0:e>0?3:2}function f(a,b){return g(a.x,b.x)}function g(a,b){var c=e(a,1),d=e(b,1);return c!==d?c-d:0===c?b[1]-a[1]:1===c?a[0]-b[0]:2===c?a[1]-b[1]:b[0]-a[0]}return function(h){function i(a){for(var b=0,c=q.length,d=a[1],e=0;e<c;++e)for(var f,g=1,h=q[e],i=h.length,j=h[0];g<i;++g)f=h[g],j[1]<=d?f[1]>d&&aa(j,f,a)>0&&++b:f[1]<=d&&aa(j,f,a)<0&&--b,j=f;return 0!==b}function j(f,h,i,j){var k=0,l=0;if(null==f||(k=e(f,i))!==(l=e(h,i))||g(f,h)<0^i>0)do{j.point(0===k||3===k?a:c,k>1?d:b)}while((k=(k+i+4)%4)!==l);else j.point(h[0],h[1])}function k(e,f){return a<=e&&e<=c&&b<=f&&f<=d}function l(a,b){k(a,b)&&h.point(a,b)}function m(){D.point=o,q&&q.push(r=[]),y=!0,x=!1,v=w=NaN}function n(){p&&(o(s,t),u&&x&&B.rejoin(),p.push(B.buffer())),D.point=l,x&&h.lineEnd()}function o(a,b){a=Math.max(-Kh,Math.min(Kh,a)),b=Math.max(-Kh,Math.min(Kh,b));var c=k(a,b);if(q&&r.push([a,b]),y)s=a,t=b,u=c,y=!1,c&&(h.lineStart(),h.point(a,b));else if(c&&x)h.point(a,b);else{var d={a:{x:v,y:w},b:{x:a,y:b}};C(d)?(x||(h.lineStart(),h.point(d.a.x,d.a.y)),h.point(d.b.x,d.b.y),c||h.lineEnd(),z=!1):c&&(h.lineStart(),h.point(a,b),z=!1)}v=a,w=b,x=c}var p,q,r,s,t,u,v,w,x,y,z,A=h,B=Kb(),C=Rb(a,b,c,d),D={point:l,lineStart:m,lineEnd:n,polygonStart:function(){h=B,p=[],q=[],z=!0},polygonEnd:function(){h=A,p=ig.merge(p);var b=i([a,d]),c=z&&b,e=p.length;(c||e)&&(h.polygonStart(),c&&(h.lineStart(),j(null,null,1,h),h.lineEnd()),e&&Fb(p,f,b,j,h),h.polygonEnd()),p=q=r=null}};return D}}function Tb(a){var b=0,c=Lg/3,d=hc(a),e=d(b,c);return e.parallels=function(a){return arguments.length?d(b=a[0]*Lg/180,c=a[1]*Lg/180):[b/Lg*180,c/Lg*180]},e}function Ub(a,b){function c(a,b){var c=Math.sqrt(f-2*e*Math.sin(b))/e;return[c*Math.sin(a*=e),g-c*Math.cos(a)]}var d=Math.sin(a),e=(d+Math.sin(b))/2,f=1+d*(2*e-d),g=Math.sqrt(f)/e;return c.invert=function(a,b){var c=g-b;return[Math.atan2(a,c)/e,ca((f-(a*a+c*c)*e*e)/(2*e))]},c}function Vb(){function a(a,b){Mh+=e*a-d*b,d=a,e=b}var b,c,d,e;Rh.point=function(f,g){Rh.point=a,b=d=f,c=e=g},Rh.lineEnd=function(){a(b,c)}}function Wb(a,b){a<Nh&&(Nh=a),a>Ph&&(Ph=a),b<Oh&&(Oh=b),b>Qh&&(Qh=b)}function Xb(){function a(a,b){g.push("M",a,",",b,f)}function b(a,b){g.push("M",a,",",b),h.point=c}function c(a,b){g.push("L",a,",",b)}function d(){h.point=a}function e(){g.push("Z")}var f=Yb(4.5),g=[],h={point:a,lineStart:function(){h.point=b},lineEnd:d,polygonStart:function(){h.lineEnd=e},polygonEnd:function(){h.lineEnd=d,h.point=a},pointRadius:function(a){return f=Yb(a),h},result:function(){if(g.length){var a=g.join("");return g=[],a}}};return h}function Yb(a){return"m0,"+a+"a"+a+","+a+" 0 1,1 0,"+-2*a+"a"+a+","+a+" 0 1,1 0,"+2*a+"z"}function Zb(a,b){zh+=a,Ah+=b,++Bh}function $b(){function a(a,d){var e=a-b,f=d-c,g=Math.sqrt(e*e+f*f);Ch+=g*(b+a)/2,Dh+=g*(c+d)/2,Eh+=g,Zb(b=a,c=d)}var b,c;Th.point=function(d,e){Th.point=a,Zb(b=d,c=e)}}function _b(){Th.point=Zb}function ac(){function a(a,b){var c=a-d,f=b-e,g=Math.sqrt(c*c+f*f);Ch+=g*(d+a)/2,Dh+=g*(e+b)/2,Eh+=g,g=e*a-d*b,Fh+=g*(d+a),Gh+=g*(e+b),Hh+=3*g,Zb(d=a,e=b)}var b,c,d,e;Th.point=function(f,g){Th.point=a,Zb(b=d=f,c=e=g)},Th.lineEnd=function(){a(b,c)}}function bc(a){function b(b,c){a.moveTo(b+g,c),a.arc(b,c,g,0,Mg)}function c(b,c){a.moveTo(b,c),h.point=d}function d(b,c){a.lineTo(b,c)}function e(){h.point=b}function f(){a.closePath()}var g=4.5,h={point:b,lineStart:function(){h.point=c},lineEnd:e,polygonStart:function(){h.lineEnd=f},polygonEnd:function(){h.lineEnd=e,h.point=b},pointRadius:function(a){return g=a,h},result:w};return h}function cc(a){function b(a){return(h?d:c)(a)}function c(b){return fc(b,function(c,d){c=a(c,d),b.point(c[0],c[1])})}function d(b){function c(c,d){c=a(c,d),b.point(c[0],c[1])}function d(){t=NaN,y.point=f,b.lineStart()}function f(c,d){var f=qb([c,d]),g=a(c,d);e(t,u,s,v,w,x,t=g[0],u=g[1],s=c,v=f[0],w=f[1],x=f[2],h,b),b.point(t,u)}function g(){y.point=c,b.lineEnd()}function i(){d(),y.point=j,y.lineEnd=k}function j(a,b){f(l=a,m=b),n=t,o=u,p=v,q=w,r=x,y.point=f}function k(){e(t,u,s,v,w,x,n,o,l,p,q,r,h,b),y.lineEnd=g,g()}var l,m,n,o,p,q,r,s,t,u,v,w,x,y={point:c,lineStart:d,lineEnd:g,polygonStart:function(){b.polygonStart(),y.lineStart=i},polygonEnd:function(){b.polygonEnd(),y.lineStart=d}};return y}function e(b,c,d,h,i,j,k,l,m,n,o,p,q,r){var s=k-b,t=l-c,u=s*s+t*t;if(u>4*f&&q--){var v=h+n,w=i+o,x=j+p,y=Math.sqrt(v*v+w*w+x*x),z=Math.asin(x/=y),A=sg(sg(x)-1)<Jg||sg(d-m)<Jg?(d+m)/2:Math.atan2(w,v),B=a(A,z),C=B[0],D=B[1],E=C-b,F=D-c,G=t*E-s*F;(G*G/u>f||sg((s*E+t*F)/u-.5)>.3||h*n+i*o+j*p<g)&&(e(b,c,d,h,i,j,C,D,A,v/=y,w/=y,x,q,r),r.point(C,D),e(C,D,A,v,w,x,k,l,m,n,o,p,q,r))}}var f=.5,g=Math.cos(30*Pg),h=16;return b.precision=function(a){return arguments.length?(h=(f=a*a)>0&&16,b):Math.sqrt(f)},b}function dc(a){var b=cc(function(b,c){return a([b*Qg,c*Qg])});return function(a){return ic(b(a))}}function ec(a){this.stream=a}function fc(a,b){return{point:b,sphere:function(){a.sphere()},lineStart:function(){a.lineStart()},lineEnd:function(){a.lineEnd()},polygonStart:function(){a.polygonStart()},polygonEnd:function(){a.polygonEnd()}}}function gc(a){return hc(function(){return a})()}function hc(a){function b(a){return a=h(a[0]*Pg,a[1]*Pg),[a[0]*m+i,j-a[1]*m]}function c(a){return(a=h.invert((a[0]-i)/m,(j-a[1])/m))&&[a[0]*Qg,a[1]*Qg]}function d(){h=Db(g=lc(r,s,u),f);var a=f(p,q);return i=n-a[0]*m,j=o+a[1]*m,e()}function e(){return k&&(k.valid=!1,k=null),b}var f,g,h,i,j,k,l=cc(function(a,b){return a=f(a,b),[a[0]*m+i,j-a[1]*m]}),m=150,n=480,o=250,p=0,q=0,r=0,s=0,u=0,v=Jh,w=t,x=null,y=null;return b.stream=function(a){return k&&(k.valid=!1),k=ic(v(g,l(w(a)))),k.valid=!0,k},b.clipAngle=function(a){return arguments.length?(v=null==a?(x=a,Jh):Qb((x=+a)*Pg),e()):x},b.clipExtent=function(a){return arguments.length?(y=a,w=a?Sb(a[0][0],a[0][1],a[1][0],a[1][1]):t,e()):y},b.scale=function(a){return arguments.length?(m=+a,d()):m},b.translate=function(a){return arguments.length?(n=+a[0],o=+a[1],d()):[n,o]},b.center=function(a){return arguments.length?(p=a[0]%360*Pg,q=a[1]%360*Pg,d()):[p*Qg,q*Qg]},b.rotate=function(a){return arguments.length?(r=a[0]%360*Pg,s=a[1]%360*Pg,u=a.length>2?a[2]%360*Pg:0,d()):[r*Qg,s*Qg,u*Qg]},ig.rebind(b,l,"precision"),function(){return f=a.apply(this,arguments),b.invert=f.invert&&c,d()}}function ic(a){return fc(a,function(b,c){a.point(b*Pg,c*Pg)})}function jc(a,b){return[a,b]}function kc(a,b){return[a>Lg?a-Mg:a<-Lg?a+Mg:a,b]}function lc(a,b,c){return a?b||c?Db(nc(a),oc(b,c)):nc(a):b||c?oc(b,c):kc}function mc(a){return function(b,c){return b+=a,[b>Lg?b-Mg:b<-Lg?b+Mg:b,c]}}function nc(a){var b=mc(a);return b.invert=mc(-a),b}function oc(a,b){function c(a,b){var c=Math.cos(b),h=Math.cos(a)*c,i=Math.sin(a)*c,j=Math.sin(b),k=j*d+h*e;return[Math.atan2(i*f-k*g,h*d-j*e),ca(k*f+i*g)]}var d=Math.cos(a),e=Math.sin(a),f=Math.cos(b),g=Math.sin(b);return c.invert=function(a,b){var c=Math.cos(b),h=Math.cos(a)*c,i=Math.sin(a)*c,j=Math.sin(b),k=j*f-i*g;return[Math.atan2(i*f+j*g,h*d+k*e),ca(k*d-h*e)]},c}function pc(a,b){var c=Math.cos(a),d=Math.sin(a);return function(e,f,g,h){var i=g*b;null!=e?(e=qc(c,e),f=qc(c,f),(g>0?e<f:e>f)&&(e+=g*Mg)):(e=a+g*Mg,f=a-.5*i);for(var j,k=e;g>0?k>f:k<f;k-=i)h.point((j=wb([c,-d*Math.cos(k),-d*Math.sin(k)]))[0],j[1])}}function qc(a,b){var c=qb(b);c[0]-=a,vb(c);var d=ba(-c[1]);return((-c[2]<0?-d:d)+2*Math.PI-Jg)%(2*Math.PI)}function rc(a,b,c){var d=ig.range(a,b-Jg,c).concat(b);return function(a){return d.map(function(b){return[a,b]})}}function sc(a,b,c){var d=ig.range(a,b-Jg,c).concat(b);return function(a){return d.map(function(b){return[b,a]})}}function tc(a){return a.source}function uc(a){return a.target}function vc(a,b,c,d){var e=Math.cos(b),f=Math.sin(b),g=Math.cos(d),h=Math.sin(d),i=e*Math.cos(a),j=e*Math.sin(a),k=g*Math.cos(c),l=g*Math.sin(c),m=2*Math.asin(Math.sqrt(ga(d-b)+e*g*ga(c-a))),n=1/Math.sin(m),o=m?function(a){var b=Math.sin(a*=m)*n,c=Math.sin(m-a)*n,d=c*i+b*k,e=c*j+b*l,g=c*f+b*h;return[Math.atan2(e,d)*Qg,Math.atan2(g,Math.sqrt(d*d+e*e))*Qg]}:function(){return[a*Qg,b*Qg]};return o.distance=m,o}function wc(){function a(a,e){var f=Math.sin(e*=Pg),g=Math.cos(e),h=sg((a*=Pg)-b),i=Math.cos(h);Uh+=Math.atan2(Math.sqrt((h=g*Math.sin(h))*h+(h=d*f-c*g*i)*h),c*f+d*g*i),b=a,c=f,d=g}var b,c,d;Vh.point=function(e,f){b=e*Pg,c=Math.sin(f*=Pg),d=Math.cos(f),Vh.point=a},Vh.lineEnd=function(){Vh.point=Vh.lineEnd=w}}function xc(a,b){function c(b,c){var d=Math.cos(b),e=Math.cos(c),f=a(d*e);return[f*e*Math.sin(b),f*Math.sin(c)]}return c.invert=function(a,c){var d=Math.sqrt(a*a+c*c),e=b(d),f=Math.sin(e),g=Math.cos(e);return[Math.atan2(a*f,d*g),Math.asin(d&&c*f/d)]},c}function yc(a,b){function c(a,b){g>0?b<-Og+Jg&&(b=-Og+Jg):b>Og-Jg&&(b=Og-Jg);var c=g/Math.pow(e(b),f);return[c*Math.sin(f*a),g-c*Math.cos(f*a)]}var d=Math.cos(a),e=function(a){return Math.tan(Lg/4+a/2)},f=a===b?Math.sin(a):Math.log(d/Math.cos(b))/Math.log(e(b)/e(a)),g=d*Math.pow(e(a),f)/f;return f?(c.invert=function(a,b){var c=g-b,d=_(f)*Math.sqrt(a*a+c*c);return[Math.atan2(a,c)/f,2*Math.atan(Math.pow(g/d,1/f))-Og]},c):Ac}function zc(a,b){function c(a,b){var c=f-b;return[c*Math.sin(e*a),f-c*Math.cos(e*a)]}var d=Math.cos(a),e=a===b?Math.sin(a):(d-Math.cos(b))/(b-a),f=d/e+a;return sg(e)<Jg?jc:(c.invert=function(a,b){var c=f-b;return[Math.atan2(a,c)/e,f-_(e)*Math.sqrt(a*a+c*c)]},c)}function Ac(a,b){return[a,Math.log(Math.tan(Lg/4+b/2))]}function Bc(a){var b,c=gc(a),d=c.scale,e=c.translate,f=c.clipExtent;return c.scale=function(){var a=d.apply(c,arguments);return a===c?b?c.clipExtent(null):c:a},c.translate=function(){var a=e.apply(c,arguments);return a===c?b?c.clipExtent(null):c:a},c.clipExtent=function(a){var g=f.apply(c,arguments);if(g===c){if(b=null==a){var h=Lg*d(),i=e();f([[i[0]-h,i[1]-h],[i[0]+h,i[1]+h]])}}else b&&(g=null);return g},c.clipExtent(null)}function Cc(a,b){return[Math.log(Math.tan(Lg/4+b/2)),-a]}function Dc(a){return a[0]}function Ec(a){return a[1]}function Fc(a){for(var b=a.length,c=[0,1],d=2,e=2;e<b;e++){for(;d>1&&aa(a[c[d-2]],a[c[d-1]],a[e])<=0;)--d;c[d++]=e}return c.slice(0,d)}function Gc(a,b){return a[0]-b[0]||a[1]-b[1]}function Hc(a,b,c){return(c[0]-b[0])*(a[1]-b[1])<(c[1]-b[1])*(a[0]-b[0])}function Ic(a,b,c,d){var e=a[0],f=c[0],g=b[0]-e,h=d[0]-f,i=a[1],j=c[1],k=b[1]-i,l=d[1]-j,m=(h*(i-j)-l*(e-f))/(l*g-h*k);return[e+m*g,i+m*k]}function Jc(a){var b=a[0],c=a[a.length-1];return!(b[0]-c[0]||b[1]-c[1])}function Kc(){dd(this),this.edge=this.site=this.circle=null}function Lc(a){var b=fi.pop()||new Kc;return b.site=a,b}function Mc(a){Wc(a),ci.remove(a),fi.push(a),dd(a)}function Nc(a){var b=a.circle,c=b.x,d=b.cy,e={x:c,y:d},f=a.P,g=a.N,h=[a];Mc(a);for(var i=f;i.circle&&sg(c-i.circle.x)<Jg&&sg(d-i.circle.cy)<Jg;)f=i.P,h.unshift(i),Mc(i),i=f;h.unshift(i),Wc(i);for(var j=g;j.circle&&sg(c-j.circle.x)<Jg&&sg(d-j.circle.cy)<Jg;)g=j.N,h.push(j),Mc(j),j=g;h.push(j),Wc(j);var k,l=h.length;for(k=1;k<l;++k)j=h[k],i=h[k-1],ad(j.edge,i.site,j.site,e);i=h[0],j=h[l-1],j.edge=$c(i.site,j.site,null,e),Vc(i),Vc(j)}function Oc(a){for(var b,c,d,e,f=a.x,g=a.y,h=ci._;h;)if((d=Pc(h,g)-f)>Jg)h=h.L;else{if(!((e=f-Qc(h,g))>Jg)){d>-Jg?(b=h.P,c=h):e>-Jg?(b=h,c=h.N):b=c=h;break}if(!h.R){b=h;break}h=h.R}var i=Lc(a);if(ci.insert(b,i),b||c){if(b===c)return Wc(b),c=Lc(b.site),ci.insert(i,c),i.edge=c.edge=$c(b.site,i.site),Vc(b),void Vc(c);if(!c)return void(i.edge=$c(b.site,i.site));Wc(b),Wc(c);var j=b.site,k=j.x,l=j.y,m=a.x-k,n=a.y-l,o=c.site,p=o.x-k,q=o.y-l,r=2*(m*q-n*p),s=m*m+n*n,t=p*p+q*q,u={x:(q*s-n*t)/r+k,y:(m*t-p*s)/r+l};ad(c.edge,j,o,u),i.edge=$c(j,a,null,u),c.edge=$c(a,o,null,u),Vc(b),Vc(c)}}function Pc(a,b){var c=a.site,d=c.x,e=c.y,f=e-b;if(!f)return d;var g=a.P;if(!g)return-(1/0);c=g.site;var h=c.x,i=c.y,j=i-b;if(!j)return h;var k=h-d,l=1/f-1/j,m=k/j;return l?(-m+Math.sqrt(m*m-2*l*(k*k/(-2*j)-i+j/2+e-f/2)))/l+d:(d+h)/2}function Qc(a,b){var c=a.N;if(c)return Pc(c,b);var d=a.site;return d.y===b?d.x:1/0}function Rc(a){this.site=a,this.edges=[]}function Sc(a){for(var b,c,d,e,f,g,h,i,j,k,l=a[0][0],m=a[1][0],n=a[0][1],o=a[1][1],p=bi,q=p.length;q--;)if((f=p[q])&&f.prepare())for(h=f.edges,i=h.length,g=0;g<i;)k=h[g].end(),d=k.x,e=k.y,j=h[++g%i].start(),b=j.x,c=j.y,(sg(d-b)>Jg||sg(e-c)>Jg)&&(h.splice(g,0,new bd(_c(f.site,k,sg(d-l)<Jg&&o-e>Jg?{x:l,y:sg(b-l)<Jg?c:o}:sg(e-o)<Jg&&m-d>Jg?{x:sg(c-o)<Jg?b:m,y:o}:sg(d-m)<Jg&&e-n>Jg?{x:m,y:sg(b-m)<Jg?c:n}:sg(e-n)<Jg&&d-l>Jg?{x:sg(c-n)<Jg?b:l,y:n}:null),f.site,null)),++i)}function Tc(a,b){return b.angle-a.angle}function Uc(){dd(this),this.x=this.y=this.arc=this.site=this.cy=null}function Vc(a){var b=a.P,c=a.N;if(b&&c){var d=b.site,e=a.site,f=c.site;if(d!==f){var g=e.x,h=e.y,i=d.x-g,j=d.y-h,k=f.x-g,l=f.y-h,m=2*(i*l-j*k);if(!(m>=-Kg)){var n=i*i+j*j,o=k*k+l*l,p=(l*n-j*o)/m,q=(i*o-k*n)/m,l=q+h,r=gi.pop()||new Uc;r.arc=a,r.site=e,r.x=p+g,r.y=l+Math.sqrt(p*p+q*q),r.cy=l,a.circle=r;for(var s=null,t=ei._;t;)if(r.y<t.y||r.y===t.y&&r.x<=t.x){if(!t.L){s=t.P;break}t=t.L}else{if(!t.R){s=t;break}t=t.R}ei.insert(s,r),s||(di=r)}}}}function Wc(a){var b=a.circle;b&&(b.P||(di=b.N),ei.remove(b),gi.push(b),dd(b),a.circle=null)}function Xc(a){for(var b,c=ai,d=Rb(a[0][0],a[0][1],a[1][0],a[1][1]),e=c.length;e--;)b=c[e],(!Yc(b,a)||!d(b)||sg(b.a.x-b.b.x)<Jg&&sg(b.a.y-b.b.y)<Jg)&&(b.a=b.b=null,c.splice(e,1))}function Yc(a,b){var c=a.b;if(c)return!0;var d,e,f=a.a,g=b[0][0],h=b[1][0],i=b[0][1],j=b[1][1],k=a.l,l=a.r,m=k.x,n=k.y,o=l.x,p=l.y,q=(m+o)/2,r=(n+p)/2;if(p===n){if(q<g||q>=h)return;if(m>o){if(f){if(f.y>=j)return}else f={x:q,y:i};c={x:q,y:j}}else{if(f){if(f.y<i)return}else f={x:q,y:j};c={x:q,y:i}}}else if(d=(m-o)/(p-n),e=r-d*q,d<-1||d>1)if(m>o){if(f){if(f.y>=j)return}else f={x:(i-e)/d,y:i};c={x:(j-e)/d,y:j}}else{if(f){if(f.y<i)return}else f={x:(j-e)/d,y:j};c={x:(i-e)/d,y:i}}else if(n<p){if(f){if(f.x>=h)return}else f={x:g,y:d*g+e};c={x:h,y:d*h+e}}else{if(f){if(f.x<g)return}else f={x:h,y:d*h+e};c={x:g,y:d*g+e}}return a.a=f,a.b=c,!0}function Zc(a,b){this.l=a,this.r=b,this.a=this.b=null}function $c(a,b,c,d){var e=new Zc(a,b);return ai.push(e),c&&ad(e,a,b,c),d&&ad(e,b,a,d),bi[a.i].edges.push(new bd(e,a,b)),bi[b.i].edges.push(new bd(e,b,a)),e}function _c(a,b,c){var d=new Zc(a,null);return d.a=b,d.b=c,ai.push(d),d}function ad(a,b,c,d){a.a||a.b?a.l===c?a.b=d:a.a=d:(a.a=d,a.l=b,a.r=c)}function bd(a,b,c){var d=a.a,e=a.b;this.edge=a,this.site=b,this.angle=c?Math.atan2(c.y-b.y,c.x-b.x):a.l===b?Math.atan2(e.x-d.x,d.y-e.y):Math.atan2(d.x-e.x,e.y-d.y)}function cd(){this._=null}function dd(a){a.U=a.C=a.L=a.R=a.P=a.N=null}function ed(a,b){var c=b,d=b.R,e=c.U;e?e.L===c?e.L=d:e.R=d:a._=d,d.U=e,c.U=d,c.R=d.L,c.R&&(c.R.U=c),d.L=c}function fd(a,b){var c=b,d=b.L,e=c.U;e?e.L===c?e.L=d:e.R=d:a._=d,d.U=e,c.U=d,c.L=d.R,c.L&&(c.L.U=c),d.R=c}function gd(a){for(;a.L;)a=a.L;return a}function hd(a,b){var c,d,e,f=a.sort(id).pop();for(ai=[],bi=new Array(a.length),ci=new cd,ei=new cd;;)if(e=di,f&&(!e||f.y<e.y||f.y===e.y&&f.x<e.x))f.x===c&&f.y===d||(bi[f.i]=new Rc(f),Oc(f),c=f.x,d=f.y),f=a.pop();else{if(!e)break;Nc(e.arc)}b&&(Xc(b),Sc(b));var g={cells:bi,edges:ai};return ci=ei=ai=bi=null,g}function id(a,b){return b.y-a.y||b.x-a.x}function jd(a,b,c){return(a.x-c.x)*(b.y-a.y)-(a.x-b.x)*(c.y-a.y)}function kd(a){return a.x}function ld(a){return a.y}function md(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function nd(a,b,c,d,e,f){if(!a(b,c,d,e,f)){var g=.5*(c+e),h=.5*(d+f),i=b.nodes;i[0]&&nd(a,i[0],c,d,g,h),i[1]&&nd(a,i[1],g,d,e,h),i[2]&&nd(a,i[2],c,h,g,f),i[3]&&nd(a,i[3],g,h,e,f)}}function od(a,b,c,d,e,f,g){var h,i=1/0;return function a(j,k,l,m,n){if(!(k>f||l>g||m<d||n<e)){if(o=j.point){var o,p=b-j.x,q=c-j.y,r=p*p+q*q;if(r<i){var s=Math.sqrt(i=r);d=b-s,e=c-s,f=b+s,g=c+s,h=o}}for(var t=j.nodes,u=.5*(k+m),v=.5*(l+n),w=b>=u,x=c>=v,y=x<<1|w,z=y+4;y<z;++y)if(j=t[3&y])switch(3&y){case 0:a(j,k,l,u,v);break;case 1:a(j,u,l,m,v);break;case 2:a(j,k,v,u,n);break;case 3:a(j,u,v,m,n)}}}(a,d,e,f,g),h}function pd(a,b){a=ig.rgb(a),b=ig.rgb(b);var c=a.r,d=a.g,e=a.b,f=b.r-c,g=b.g-d,h=b.b-e;return function(a){return"#"+va(Math.round(c+f*a))+va(Math.round(d+g*a))+va(Math.round(e+h*a))}}function qd(a,b){var c,d={},e={};for(c in a)c in b?d[c]=td(a[c],b[c]):e[c]=a[c];for(c in b)c in a||(e[c]=b[c]);return function(a){for(c in d)e[c]=d[c](a);return e}}function rd(a,b){return a=+a,b=+b,function(c){return a*(1-c)+b*c}}function sd(a,b){var c,d,e,f=ii.lastIndex=ji.lastIndex=0,g=-1,h=[],i=[];for(a+="",b+="";(c=ii.exec(a))&&(d=ji.exec(b));)(e=d.index)>f&&(e=b.slice(f,e),h[g]?h[g]+=e:h[++g]=e),(c=c[0])===(d=d[0])?h[g]?h[g]+=d:h[++g]=d:(h[++g]=null,i.push({i:g,x:rd(c,d)})),f=ji.lastIndex;return f<b.length&&(e=b.slice(f),h[g]?h[g]+=e:h[++g]=e),h.length<2?i[0]?(b=i[0].x,function(a){return b(a)+""}):function(){return b}:(b=i.length,function(a){for(var c,d=0;d<b;++d)h[(c=i[d]).i]=c.x(a);return h.join("")})}function td(a,b){for(var c,d=ig.interpolators.length;--d>=0&&!(c=ig.interpolators[d](a,b)););return c}function ud(a,b){var c,d=[],e=[],f=a.length,g=b.length,h=Math.min(a.length,b.length);for(c=0;c<h;++c)d.push(td(a[c],b[c]));for(;c<f;++c)e[c]=a[c];for(;c<g;++c)e[c]=b[c];return function(a){for(c=0;c<h;++c)e[c]=d[c](a);return e}}function vd(a){return function(b){return b<=0?0:b>=1?1:a(b)}}function wd(a){return function(b){return 1-a(1-b)}}function xd(a){return function(b){return.5*(b<.5?a(2*b):2-a(2-2*b))}}function yd(a){return a*a}function zd(a){return a*a*a}function Ad(a){if(a<=0)return 0;if(a>=1)return 1;var b=a*a,c=b*a;return 4*(a<.5?c:3*(a-b)+c-.75)}function Bd(a){return function(b){return Math.pow(b,a)}}function Cd(a){return 1-Math.cos(a*Og)}function Dd(a){return Math.pow(2,10*(a-1))}function Ed(a){return 1-Math.sqrt(1-a*a)}function Fd(a,b){var c;return arguments.length<2&&(b=.45),arguments.length?c=b/Mg*Math.asin(1/a):(a=1,c=b/4),function(d){return 1+a*Math.pow(2,-10*d)*Math.sin((d-c)*Mg/b)}}function Gd(a){return a||(a=1.70158),function(b){return b*b*((a+1)*b-a)}}function Hd(a){return a<1/2.75?7.5625*a*a:a<2/2.75?7.5625*(a-=1.5/2.75)*a+.75:a<2.5/2.75?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375}function Id(a,b){a=ig.hcl(a),b=ig.hcl(b);var c=a.h,d=a.c,e=a.l,f=b.h-c,g=b.c-d,h=b.l-e;return isNaN(g)&&(g=0,d=isNaN(d)?b.c:d),isNaN(f)?(f=0,c=isNaN(c)?b.h:c):f>180?f-=360:f<-180&&(f+=360),function(a){return la(c+f*a,d+g*a,e+h*a)+""}}function Jd(a,b){a=ig.hsl(a),b=ig.hsl(b);var c=a.h,d=a.s,e=a.l,f=b.h-c,g=b.s-d,h=b.l-e;return isNaN(g)&&(g=0,d=isNaN(d)?b.s:d),isNaN(f)?(f=0,c=isNaN(c)?b.h:c):f>180?f-=360:f<-180&&(f+=360),function(a){return ja(c+f*a,d+g*a,e+h*a)+""}}function Kd(a,b){a=ig.lab(a),b=ig.lab(b);var c=a.l,d=a.a,e=a.b,f=b.l-c,g=b.a-d,h=b.b-e;return function(a){return na(c+f*a,d+g*a,e+h*a)+""}}function Ld(a,b){return b-=a,function(c){return Math.round(a+b*c)}}function Md(a){var b=[a.a,a.b],c=[a.c,a.d],d=Od(b),e=Nd(b,c),f=Od(Pd(c,b,-e))||0;b[0]*c[1]<c[0]*b[1]&&(b[0]*=-1,b[1]*=-1,d*=-1,e*=-1),this.rotate=(d?Math.atan2(b[1],b[0]):Math.atan2(-c[0],c[1]))*Qg,this.translate=[a.e,a.f],this.scale=[d,f],this.skew=f?Math.atan2(e,f)*Qg:0}function Nd(a,b){return a[0]*b[0]+a[1]*b[1]}function Od(a){var b=Math.sqrt(Nd(a,a));return b&&(a[0]/=b,a[1]/=b),b}function Pd(a,b,c){return a[0]+=c*b[0],a[1]+=c*b[1],a}function Qd(a){return a.length?a.pop()+",":""}function Rd(a,b,c,d){if(a[0]!==b[0]||a[1]!==b[1]){var e=c.push("translate(",null,",",null,")");d.push({i:e-4,x:rd(a[0],b[0])},{i:e-2,x:rd(a[1],b[1])})}else(b[0]||b[1])&&c.push("translate("+b+")")}function Sd(a,b,c,d){a!==b?(a-b>180?b+=360:b-a>180&&(a+=360),d.push({i:c.push(Qd(c)+"rotate(",null,")")-2,x:rd(a,b)})):b&&c.push(Qd(c)+"rotate("+b+")")}function Td(a,b,c,d){a!==b?d.push({i:c.push(Qd(c)+"skewX(",null,")")-2,x:rd(a,b)}):b&&c.push(Qd(c)+"skewX("+b+")")}function Ud(a,b,c,d){if(a[0]!==b[0]||a[1]!==b[1]){var e=c.push(Qd(c)+"scale(",null,",",null,")");d.push({i:e-4,x:rd(a[0],b[0])},{i:e-2,x:rd(a[1],b[1])})}else 1===b[0]&&1===b[1]||c.push(Qd(c)+"scale("+b+")")}function Vd(a,b){var c=[],d=[];return a=ig.transform(a),b=ig.transform(b),Rd(a.translate,b.translate,c,d),Sd(a.rotate,b.rotate,c,d),Td(a.skew,b.skew,c,d),Ud(a.scale,b.scale,c,d),a=b=null,function(a){for(var b,e=-1,f=d.length;++e<f;)c[(b=d[e]).i]=b.x(a);return c.join("")}}function Wd(a,b){return b=(b-=a=+a)||1/b,function(c){return(c-a)/b}}function Xd(a,b){return b=(b-=a=+a)||1/b,function(c){return Math.max(0,Math.min(1,(c-a)/b))}}function Yd(a){for(var b=a.source,c=a.target,d=$d(b,c),e=[b];b!==d;)b=b.parent,e.push(b);for(var f=e.length;c!==d;)e.splice(f,0,c),c=c.parent;return e}function Zd(a){for(var b=[],c=a.parent;null!=c;)b.push(a),a=c,c=c.parent;return b.push(a),b}function $d(a,b){if(a===b)return a;for(var c=Zd(a),d=Zd(b),e=c.pop(),f=d.pop(),g=null;e===f;)g=e,e=c.pop(),f=d.pop();return g}function _d(a){a.fixed|=2}function ae(a){a.fixed&=-7}function be(a){a.fixed|=4,a.px=a.x,a.py=a.y}function ce(a){a.fixed&=-5}function de(a,b,c){var d=0,e=0;if(a.charge=0,!a.leaf)for(var f,g=a.nodes,h=g.length,i=-1;++i<h;)null!=(f=g[i])&&(de(f,b,c),a.charge+=f.charge,d+=f.charge*f.cx,e+=f.charge*f.cy);if(a.point){a.leaf||(a.point.x+=Math.random()-.5,a.point.y+=Math.random()-.5);var j=b*c[a.point.index];a.charge+=a.pointCharge=j,d+=j*a.point.x,e+=j*a.point.y}a.cx=d/a.charge,a.cy=e/a.charge}function ee(a,b){return ig.rebind(a,b,"sort","children","value"),a.nodes=a,a.links=ke,a}function fe(a,b){for(var c=[a];null!=(a=c.pop());)if(b(a),(e=a.children)&&(d=e.length))for(var d,e;--d>=0;)c.push(e[d])}function ge(a,b){for(var c=[a],d=[];null!=(a=c.pop());)if(d.push(a),(f=a.children)&&(e=f.length))for(var e,f,g=-1;++g<e;)c.push(f[g]);for(;null!=(a=d.pop());)b(a)}function he(a){return a.children}function ie(a){return a.value}function je(a,b){return b.value-a.value}function ke(a){return ig.merge(a.map(function(a){return(a.children||[]).map(function(b){return{source:a,target:b}})}))}function le(a){return a.x}function me(a){return a.y}function ne(a,b,c){a.y0=b,a.y=c}function oe(a){return ig.range(a.length)}function pe(a){for(var b=-1,c=a[0].length,d=[];++b<c;)d[b]=0;return d}function qe(a){for(var b,c=1,d=0,e=a[0][1],f=a.length;c<f;++c)(b=a[c][1])>e&&(d=c,e=b);return d}function re(a){return a.reduce(se,0)}function se(a,b){return a+b[1]}function te(a,b){return ue(a,Math.ceil(Math.log(b.length)/Math.LN2+1))}function ue(a,b){for(var c=-1,d=+a[0],e=(a[1]-d)/b,f=[];++c<=b;)f[c]=e*c+d;return f}function ve(a){return[ig.min(a),ig.max(a)]}function we(a,b){return a.value-b.value}function xe(a,b){var c=a._pack_next;a._pack_next=b,b._pack_prev=a,b._pack_next=c,c._pack_prev=b}function ye(a,b){a._pack_next=b,b._pack_prev=a}function ze(a,b){var c=b.x-a.x,d=b.y-a.y,e=a.r+b.r;return.999*e*e>c*c+d*d}function Ae(a){function b(a){k=Math.min(a.x-a.r,k),l=Math.max(a.x+a.r,l),m=Math.min(a.y-a.r,m),n=Math.max(a.y+a.r,n)}if((c=a.children)&&(j=c.length)){var c,d,e,f,g,h,i,j,k=1/0,l=-(1/0),m=1/0,n=-(1/0);if(c.forEach(Be),d=c[0],d.x=-d.r,d.y=0,b(d),j>1&&(e=c[1],e.x=e.r,e.y=0,b(e),j>2))for(f=c[2],Ee(d,e,f),b(f),xe(d,f),d._pack_prev=f,xe(f,e),e=d._pack_next,g=3;g<j;g++){Ee(d,e,f=c[g]);var o=0,p=1,q=1;for(h=e._pack_next;h!==e;h=h._pack_next,p++)if(ze(h,f)){o=1;break}if(1==o)for(i=d._pack_prev;i!==h._pack_prev&&!ze(i,f);i=i._pack_prev,q++);o?(p<q||p==q&&e.r<d.r?ye(d,e=h):ye(d=i,e),g--):(xe(d,f),e=f,b(f))}var r=(k+l)/2,s=(m+n)/2,t=0;for(g=0;g<j;g++)f=c[g],f.x-=r,f.y-=s,t=Math.max(t,f.r+Math.sqrt(f.x*f.x+f.y*f.y));a.r=t,c.forEach(Ce)}}function Be(a){a._pack_next=a._pack_prev=a}function Ce(a){delete a._pack_next,delete a._pack_prev}function De(a,b,c,d){var e=a.children;if(a.x=b+=d*a.x,a.y=c+=d*a.y,a.r*=d,e)for(var f=-1,g=e.length;++f<g;)De(e[f],b,c,d)}function Ee(a,b,c){var d=a.r+c.r,e=b.x-a.x,f=b.y-a.y;if(d&&(e||f)){var g=b.r+c.r,h=e*e+f*f;g*=g,d*=d;var i=.5+(d-g)/(2*h),j=Math.sqrt(Math.max(0,2*g*(d+h)-(d-=h)*d-g*g))/(2*h);c.x=a.x+i*e+j*f,c.y=a.y+i*f-j*e}else c.x=a.x+d,c.y=a.y}function Fe(a,b){return a.parent==b.parent?1:2}function Ge(a){var b=a.children;return b.length?b[0]:a.t}function He(a){var b,c=a.children;return(b=c.length)?c[b-1]:a.t}function Ie(a,b,c){var d=c/(b.i-a.i);b.c-=d,b.s+=c,a.c+=d,b.z+=c,b.m+=c}function Je(a){for(var b,c=0,d=0,e=a.children,f=e.length;--f>=0;)b=e[f],b.z+=c,b.m+=c,c+=b.s+(d+=b.c)}function Ke(a,b,c){return a.a.parent===b.parent?a.a:c}function Le(a){return 1+ig.max(a,function(a){return a.y})}function Me(a){return a.reduce(function(a,b){return a+b.x},0)/a.length}function Ne(a){var b=a.children;return b&&b.length?Ne(b[0]):a}function Oe(a){var b,c=a.children;return c&&(b=c.length)?Oe(c[b-1]):a}function Pe(a){return{x:a.x,y:a.y,dx:a.dx,dy:a.dy}}function Qe(a,b){var c=a.x+b[3],d=a.y+b[0],e=a.dx-b[1]-b[3],f=a.dy-b[0]-b[2];return e<0&&(c+=e/2,e=0),f<0&&(d+=f/2,f=0),{x:c,y:d,dx:e,dy:f}}function Re(a){var b=a[0],c=a[a.length-1];return b<c?[b,c]:[c,b]}function Se(a){return a.rangeExtent?a.rangeExtent():Re(a.range())}function Te(a,b,c,d){var e=c(a[0],a[1]),f=d(b[0],b[1]);return function(a){return f(e(a))}}function Ue(a,b){var c,d=0,e=a.length-1,f=a[d],g=a[e];return g<f&&(c=d,d=e,e=c,c=f,f=g,g=c),a[d]=b.floor(f),a[e]=b.ceil(g),a}function Ve(a){return a?{floor:function(b){return Math.floor(b/a)*a},ceil:function(b){return Math.ceil(b/a)*a}}:ui}function We(a,b,c,d){var e=[],f=[],g=0,h=Math.min(a.length,b.length)-1;for(a[h]<a[0]&&(a=a.slice().reverse(),b=b.slice().reverse());++g<=h;)e.push(c(a[g-1],a[g])),f.push(d(b[g-1],b[g]));return function(b){var c=ig.bisect(a,b,1,h)-1;return f[c](e[c](b))}}function Xe(a,b,c,d){function e(){var e=Math.min(a.length,b.length)>2?We:Te,i=d?Xd:Wd;return g=e(a,b,i,c),h=e(b,a,i,td),f}function f(a){return g(a)}var g,h;return f.invert=function(a){return h(a)},f.domain=function(b){return arguments.length?(a=b.map(Number),e()):a},f.range=function(a){return arguments.length?(b=a,e()):b},f.rangeRound=function(a){return f.range(a).interpolate(Ld)},f.clamp=function(a){return arguments.length?(d=a,e()):d},f.interpolate=function(a){return arguments.length?(c=a,e()):c},f.ticks=function(b){return _e(a,b)},f.tickFormat=function(b,c){return af(a,b,c)},f.nice=function(b){return Ze(a,b),e()},f.copy=function(){return Xe(a,b,c,d)},e()}function Ye(a,b){return ig.rebind(a,b,"range","rangeRound","interpolate","clamp")}function Ze(a,b){return Ue(a,Ve($e(a,b)[2])),Ue(a,Ve($e(a,b)[2])),a}function $e(a,b){null==b&&(b=10);var c=Re(a),d=c[1]-c[0],e=Math.pow(10,Math.floor(Math.log(d/b)/Math.LN10)),f=b/d*e;return f<=.15?e*=10:f<=.35?e*=5:f<=.75&&(e*=2),c[0]=Math.ceil(c[0]/e)*e,c[1]=Math.floor(c[1]/e)*e+.5*e,c[2]=e,c}function _e(a,b){return ig.range.apply(ig,$e(a,b))}function af(a,b,c){var d=$e(a,b);if(c){var e=ih.exec(c);if(e.shift(),"s"===e[8]){var f=ig.formatPrefix(Math.max(sg(d[0]),sg(d[1])));return e[7]||(e[7]="."+bf(f.scale(d[2]))),e[8]="f",c=ig.format(e.join("")),function(a){return c(f.scale(a))+f.symbol}}e[7]||(e[7]="."+cf(e[8],d)),c=e.join("")}else c=",."+bf(d[2])+"f";return ig.format(c)}function bf(a){return-Math.floor(Math.log(a)/Math.LN10+.01)}function cf(a,b){var c=bf(b[2]);return a in vi?Math.abs(c-bf(Math.max(sg(b[0]),sg(b[1]))))+ +("e"!==a):c-2*("%"===a)}function df(a,b,c,d){function e(a){return(c?Math.log(a<0?0:a):-Math.log(a>0?0:-a))/Math.log(b)}function f(a){return c?Math.pow(b,a):-Math.pow(b,-a)}function g(b){return a(e(b))}return g.invert=function(b){return f(a.invert(b))},g.domain=function(b){return arguments.length?(c=b[0]>=0,a.domain((d=b.map(Number)).map(e)),g):d},g.base=function(c){return arguments.length?(b=+c,a.domain(d.map(e)),g):b},g.nice=function(){var b=Ue(d.map(e),c?Math:xi);return a.domain(b),d=b.map(f),g},g.ticks=function(){var a=Re(d),g=[],h=a[0],i=a[1],j=Math.floor(e(h)),k=Math.ceil(e(i)),l=b%1?2:b;if(isFinite(k-j)){if(c){for(;j<k;j++)for(var m=1;m<l;m++)g.push(f(j)*m);g.push(f(j))}else for(g.push(f(j));j++<k;)for(var m=l-1;m>0;m--)g.push(f(j)*m);for(j=0;g[j]<h;j++);for(k=g.length;g[k-1]>i;k--);g=g.slice(j,k)}return g},g.tickFormat=function(a,c){if(!arguments.length)return wi;arguments.length<2?c=wi:"function"!=typeof c&&(c=ig.format(c));var d=Math.max(1,b*a/g.ticks().length);return function(a){var g=a/f(Math.round(e(a)));return g*b<b-.5&&(g*=b),g<=d?c(a):""}},g.copy=function(){return df(a.copy(),b,c,d)},Ye(g,a)}function ef(a,b,c){function d(b){return a(e(b))}var e=ff(b),f=ff(1/b);return d.invert=function(b){return f(a.invert(b))},d.domain=function(b){return arguments.length?(a.domain((c=b.map(Number)).map(e)),d):c},d.ticks=function(a){return _e(c,a)},d.tickFormat=function(a,b){return af(c,a,b)},d.nice=function(a){return d.domain(Ze(c,a))},d.exponent=function(g){return arguments.length?(e=ff(b=g),f=ff(1/b),a.domain(c.map(e)),d):b},d.copy=function(){return ef(a.copy(),b,c)},Ye(d,a)}function ff(a){return function(b){return b<0?-Math.pow(-b,a):Math.pow(b,a)}}function gf(a,b){function c(c){return f[((e.get(c)||("range"===b.t?e.set(c,a.push(c)):NaN))-1)%f.length]}function d(b,c){return ig.range(a.length).map(function(a){return b+c*a})}var e,f,g;return c.domain=function(d){if(!arguments.length)return a;a=[],e=new k;for(var f,g=-1,h=d.length;++g<h;)e.has(f=d[g])||e.set(f,a.push(f));return c[b.t].apply(c,b.a)},c.range=function(a){return arguments.length?(f=a,g=0,b={t:"range",a:arguments},c):f},c.rangePoints=function(e,h){arguments.length<2&&(h=0);var i=e[0],j=e[1],k=a.length<2?(i=(i+j)/2,0):(j-i)/(a.length-1+h);return f=d(i+k*h/2,k),g=0,b={t:"rangePoints",a:arguments},c},c.rangeRoundPoints=function(e,h){arguments.length<2&&(h=0);var i=e[0],j=e[1],k=a.length<2?(i=j=Math.round((i+j)/2),0):(j-i)/(a.length-1+h)|0;return f=d(i+Math.round(k*h/2+(j-i-(a.length-1+h)*k)/2),k),g=0,b={t:"rangeRoundPoints",a:arguments},c},c.rangeBands=function(e,h,i){arguments.length<2&&(h=0),arguments.length<3&&(i=h);var j=e[1]<e[0],k=e[j-0],l=e[1-j],m=(l-k)/(a.length-h+2*i);return f=d(k+m*i,m),j&&f.reverse(),g=m*(1-h),b={t:"rangeBands",a:arguments},c},c.rangeRoundBands=function(e,h,i){arguments.length<2&&(h=0),arguments.length<3&&(i=h);var j=e[1]<e[0],k=e[j-0],l=e[1-j],m=Math.floor((l-k)/(a.length-h+2*i));return f=d(k+Math.round((l-k-(a.length-h)*m)/2),m),j&&f.reverse(),g=Math.round(m*(1-h)),b={t:"rangeRoundBands",a:arguments},c},c.rangeBand=function(){return g},c.rangeExtent=function(){return Re(b.a[0])},c.copy=function(){return gf(a,b)},c.domain(a)}function hf(a,b){function c(){var c=0,d=b.length;for(h=[];++c<d;)h[c-1]=ig.quantile(a,c/d);return g}function g(a){if(!isNaN(a=+a))return b[ig.bisect(h,a)]}var h;return g.domain=function(b){return arguments.length?(a=b.map(e).filter(f).sort(d),c()):a},g.range=function(a){return arguments.length?(b=a,c()):b},g.quantiles=function(){return h},g.invertExtent=function(c){return c=b.indexOf(c),c<0?[NaN,NaN]:[c>0?h[c-1]:a[0],c<h.length?h[c]:a[a.length-1]]},g.copy=function(){
return hf(a,b)},c()}function jf(a,b,c){function d(b){return c[Math.max(0,Math.min(g,Math.floor(f*(b-a))))]}function e(){return f=c.length/(b-a),g=c.length-1,d}var f,g;return d.domain=function(c){return arguments.length?(a=+c[0],b=+c[c.length-1],e()):[a,b]},d.range=function(a){return arguments.length?(c=a,e()):c},d.invertExtent=function(b){return b=c.indexOf(b),b=b<0?NaN:b/f+a,[b,b+1/f]},d.copy=function(){return jf(a,b,c)},e()}function kf(a,b){function c(c){if(c<=c)return b[ig.bisect(a,c)]}return c.domain=function(b){return arguments.length?(a=b,c):a},c.range=function(a){return arguments.length?(b=a,c):b},c.invertExtent=function(c){return c=b.indexOf(c),[a[c-1],a[c]]},c.copy=function(){return kf(a,b)},c}function lf(a){function b(a){return+a}return b.invert=b,b.domain=b.range=function(c){return arguments.length?(a=c.map(b),b):a},b.ticks=function(b){return _e(a,b)},b.tickFormat=function(b,c){return af(a,b,c)},b.copy=function(){return lf(a)},b}function mf(){return 0}function nf(a){return a.innerRadius}function of(a){return a.outerRadius}function pf(a){return a.startAngle}function qf(a){return a.endAngle}function rf(a){return a&&a.padAngle}function sf(a,b,c,d){return(a-c)*b-(b-d)*a>0?0:1}function tf(a,b,c,d,e){var f=a[0]-b[0],g=a[1]-b[1],h=(e?d:-d)/Math.sqrt(f*f+g*g),i=h*g,j=-h*f,k=a[0]+i,l=a[1]+j,m=b[0]+i,n=b[1]+j,o=(k+m)/2,p=(l+n)/2,q=m-k,r=n-l,s=q*q+r*r,t=c-d,u=k*n-m*l,v=(r<0?-1:1)*Math.sqrt(Math.max(0,t*t*s-u*u)),w=(u*r-q*v)/s,x=(-u*q-r*v)/s,y=(u*r+q*v)/s,z=(-u*q+r*v)/s,A=w-o,B=x-p,C=y-o,D=z-p;return A*A+B*B>C*C+D*D&&(w=y,x=z),[[w-i,x-j],[w*c/t,x*c/t]]}function uf(a){function b(b){function g(){j.push("M",f(a(k),h))}for(var i,j=[],k=[],l=-1,m=b.length,n=Ba(c),o=Ba(d);++l<m;)e.call(this,i=b[l],l)?k.push([+n.call(this,i,l),+o.call(this,i,l)]):k.length&&(g(),k=[]);return k.length&&g(),j.length?j.join(""):null}var c=Dc,d=Ec,e=Eb,f=vf,g=f.key,h=.7;return b.x=function(a){return arguments.length?(c=a,b):c},b.y=function(a){return arguments.length?(d=a,b):d},b.defined=function(a){return arguments.length?(e=a,b):e},b.interpolate=function(a){return arguments.length?(g="function"==typeof a?f=a:(f=Di.get(a)||vf).key,b):g},b.tension=function(a){return arguments.length?(h=a,b):h},b}function vf(a){return a.length>1?a.join("L"):a+"Z"}function wf(a){return a.join("L")+"Z"}function xf(a){for(var b=0,c=a.length,d=a[0],e=[d[0],",",d[1]];++b<c;)e.push("H",(d[0]+(d=a[b])[0])/2,"V",d[1]);return c>1&&e.push("H",d[0]),e.join("")}function yf(a){for(var b=0,c=a.length,d=a[0],e=[d[0],",",d[1]];++b<c;)e.push("V",(d=a[b])[1],"H",d[0]);return e.join("")}function zf(a){for(var b=0,c=a.length,d=a[0],e=[d[0],",",d[1]];++b<c;)e.push("H",(d=a[b])[0],"V",d[1]);return e.join("")}function Af(a,b){return a.length<4?vf(a):a[1]+Df(a.slice(1,-1),Ef(a,b))}function Bf(a,b){return a.length<3?wf(a):a[0]+Df((a.push(a[0]),a),Ef([a[a.length-2]].concat(a,[a[1]]),b))}function Cf(a,b){return a.length<3?vf(a):a[0]+Df(a,Ef(a,b))}function Df(a,b){if(b.length<1||a.length!=b.length&&a.length!=b.length+2)return vf(a);var c=a.length!=b.length,d="",e=a[0],f=a[1],g=b[0],h=g,i=1;if(c&&(d+="Q"+(f[0]-2*g[0]/3)+","+(f[1]-2*g[1]/3)+","+f[0]+","+f[1],e=a[1],i=2),b.length>1){h=b[1],f=a[i],i++,d+="C"+(e[0]+g[0])+","+(e[1]+g[1])+","+(f[0]-h[0])+","+(f[1]-h[1])+","+f[0]+","+f[1];for(var j=2;j<b.length;j++,i++)f=a[i],h=b[j],d+="S"+(f[0]-h[0])+","+(f[1]-h[1])+","+f[0]+","+f[1]}if(c){var k=a[i];d+="Q"+(f[0]+2*h[0]/3)+","+(f[1]+2*h[1]/3)+","+k[0]+","+k[1]}return d}function Ef(a,b){for(var c,d=[],e=(1-b)/2,f=a[0],g=a[1],h=1,i=a.length;++h<i;)c=f,f=g,g=a[h],d.push([e*(g[0]-c[0]),e*(g[1]-c[1])]);return d}function Ff(a){if(a.length<3)return vf(a);var b=1,c=a.length,d=a[0],e=d[0],f=d[1],g=[e,e,e,(d=a[1])[0]],h=[f,f,f,d[1]],i=[e,",",f,"L",Jf(Gi,g),",",Jf(Gi,h)];for(a.push(a[c-1]);++b<=c;)d=a[b],g.shift(),g.push(d[0]),h.shift(),h.push(d[1]),Kf(i,g,h);return a.pop(),i.push("L",d),i.join("")}function Gf(a){if(a.length<4)return vf(a);for(var b,c=[],d=-1,e=a.length,f=[0],g=[0];++d<3;)b=a[d],f.push(b[0]),g.push(b[1]);for(c.push(Jf(Gi,f)+","+Jf(Gi,g)),--d;++d<e;)b=a[d],f.shift(),f.push(b[0]),g.shift(),g.push(b[1]),Kf(c,f,g);return c.join("")}function Hf(a){for(var b,c,d=-1,e=a.length,f=e+4,g=[],h=[];++d<4;)c=a[d%e],g.push(c[0]),h.push(c[1]);for(b=[Jf(Gi,g),",",Jf(Gi,h)],--d;++d<f;)c=a[d%e],g.shift(),g.push(c[0]),h.shift(),h.push(c[1]),Kf(b,g,h);return b.join("")}function If(a,b){var c=a.length-1;if(c)for(var d,e,f=a[0][0],g=a[0][1],h=a[c][0]-f,i=a[c][1]-g,j=-1;++j<=c;)d=a[j],e=j/c,d[0]=b*d[0]+(1-b)*(f+e*h),d[1]=b*d[1]+(1-b)*(g+e*i);return Ff(a)}function Jf(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]}function Kf(a,b,c){a.push("C",Jf(Ei,b),",",Jf(Ei,c),",",Jf(Fi,b),",",Jf(Fi,c),",",Jf(Gi,b),",",Jf(Gi,c))}function Lf(a,b){return(b[1]-a[1])/(b[0]-a[0])}function Mf(a){for(var b=0,c=a.length-1,d=[],e=a[0],f=a[1],g=d[0]=Lf(e,f);++b<c;)d[b]=(g+(g=Lf(e=f,f=a[b+1])))/2;return d[b]=g,d}function Nf(a){for(var b,c,d,e,f=[],g=Mf(a),h=-1,i=a.length-1;++h<i;)b=Lf(a[h],a[h+1]),sg(b)<Jg?g[h]=g[h+1]=0:(c=g[h]/b,d=g[h+1]/b,(e=c*c+d*d)>9&&(e=3*b/Math.sqrt(e),g[h]=e*c,g[h+1]=e*d));for(h=-1;++h<=i;)e=(a[Math.min(i,h+1)][0]-a[Math.max(0,h-1)][0])/(6*(1+g[h]*g[h])),f.push([e||0,g[h]*e||0]);return f}function Of(a){return a.length<3?vf(a):a[0]+Df(a,Nf(a))}function Pf(a){for(var b,c,d,e=-1,f=a.length;++e<f;)b=a[e],c=b[0],d=b[1]-Og,b[0]=c*Math.cos(d),b[1]=c*Math.sin(d);return a}function Qf(a){function b(b){function i(){p.push("M",h(a(r),l),k,j(a(q.reverse()),l),"Z")}for(var m,n,o,p=[],q=[],r=[],s=-1,t=b.length,u=Ba(c),v=Ba(e),w=c===d?function(){return n}:Ba(d),x=e===f?function(){return o}:Ba(f);++s<t;)g.call(this,m=b[s],s)?(q.push([n=+u.call(this,m,s),o=+v.call(this,m,s)]),r.push([+w.call(this,m,s),+x.call(this,m,s)])):q.length&&(i(),q=[],r=[]);return q.length&&i(),p.length?p.join(""):null}var c=Dc,d=Dc,e=0,f=Ec,g=Eb,h=vf,i=h.key,j=h,k="L",l=.7;return b.x=function(a){return arguments.length?(c=d=a,b):d},b.x0=function(a){return arguments.length?(c=a,b):c},b.x1=function(a){return arguments.length?(d=a,b):d},b.y=function(a){return arguments.length?(e=f=a,b):f},b.y0=function(a){return arguments.length?(e=a,b):e},b.y1=function(a){return arguments.length?(f=a,b):f},b.defined=function(a){return arguments.length?(g=a,b):g},b.interpolate=function(a){return arguments.length?(i="function"==typeof a?h=a:(h=Di.get(a)||vf).key,j=h.reverse||h,k=h.closed?"M":"L",b):i},b.tension=function(a){return arguments.length?(l=a,b):l},b}function Rf(a){return a.radius}function Sf(a){return[a.x,a.y]}function Tf(a){return function(){var b=a.apply(this,arguments),c=b[0],d=b[1]-Og;return[c*Math.cos(d),c*Math.sin(d)]}}function Uf(){return 64}function Vf(){return"circle"}function Wf(a){var b=Math.sqrt(a/Lg);return"M0,"+b+"A"+b+","+b+" 0 1,1 0,"+-b+"A"+b+","+b+" 0 1,1 0,"+b+"Z"}function Xf(a){return function(){var b,c,d;(b=this[a])&&(d=b[c=b.active])&&(d.timer.c=null,d.timer.t=NaN,--b.count?delete b[c]:delete this[a],b.active+=.5,d.event&&d.event.interrupt.call(this,this.__data__,d.index))}}function Yf(a,b,c){return xg(a,Ni),a.namespace=b,a.id=c,a}function Zf(a,b,c,d){var e=a.id,f=a.namespace;return S(a,"function"==typeof c?function(a,g,h){a[f][e].tween.set(b,d(c.call(a,a.__data__,g,h)))}:(c=d(c),function(a){a[f][e].tween.set(b,c)}))}function $f(a){return null==a&&(a=""),function(){this.textContent=a}}function _f(a){return null==a?"__transition__":"__transition_"+a+"__"}function ag(a,b,c,d,e){function f(a){var b=p.delay;if(j.t=b+i,b<=a)return g(a-b);j.c=g}function g(c){var e=o.active,f=o[e];f&&(f.timer.c=null,f.timer.t=NaN,--o.count,delete o[e],f.event&&f.event.interrupt.call(a,a.__data__,f.index));for(var g in o)if(+g<d){var k=o[g];k.timer.c=null,k.timer.t=NaN,--o.count,delete o[g]}j.c=h,Ga(function(){return j.c&&h(c||1)&&(j.c=null,j.t=NaN),1},0,i),o.active=d,p.event&&p.event.start.call(a,a.__data__,b),n=[],p.tween.forEach(function(c,d){(d=d.call(a,a.__data__,b))&&n.push(d)}),m=p.ease,l=p.duration}function h(e){for(var f=e/l,g=m(f),h=n.length;h>0;)n[--h].call(a,g);if(f>=1)return p.event&&p.event.end.call(a,a.__data__,b),--o.count?delete o[d]:delete a[c],1}var i,j,l,m,n,o=a[c]||(a[c]={active:0,count:0}),p=o[d];p||(i=e.time,j=Ga(f,0,i),p=o[d]={tween:new k,time:i,timer:j,delay:e.delay,duration:e.duration,ease:e.ease,index:b},e=null,++o.count)}function bg(a,b,c){a.attr("transform",function(a){var d=b(a);return"translate("+(isFinite(d)?d:c(a))+",0)"})}function cg(a,b,c){a.attr("transform",function(a){var d=b(a);return"translate(0,"+(isFinite(d)?d:c(a))+")"})}function dg(a){return a.toISOString()}function eg(a,b,c){function d(b){return a(b)}function e(a,c){var d=a[1]-a[0],e=d/c,f=ig.bisect(Wi,e);return f==Wi.length?[b.year,$e(a.map(function(a){return a/31536e6}),c)[2]]:f?b[e/Wi[f-1]<Wi[f]/e?f-1:f]:[Zi,$e(a,c)[2]]}return d.invert=function(b){return fg(a.invert(b))},d.domain=function(b){return arguments.length?(a.domain(b),d):a.domain().map(fg)},d.nice=function(a,b){function c(c){return!isNaN(c)&&!a.range(c,fg(+c+1),b).length}var f=d.domain(),g=Re(f),h=null==a?e(g,10):"number"==typeof a&&e(g,a);return h&&(a=h[0],b=h[1]),d.domain(Ue(f,b>1?{floor:function(b){for(;c(b=a.floor(b));)b=fg(b-1);return b},ceil:function(b){for(;c(b=a.ceil(b));)b=fg(+b+1);return b}}:a))},d.ticks=function(a,b){var c=Re(d.domain()),f=null==a?e(c,10):"number"==typeof a?e(c,a):!a.range&&[{range:a},b];return f&&(a=f[0],b=f[1]),a.range(c[0],fg(+c[1]+1),b<1?1:b)},d.tickFormat=function(){return c},d.copy=function(){return eg(a.copy(),b,c)},Ye(d,a)}function fg(a){return new Date(a)}function gg(a){return JSON.parse(a.responseText)}function hg(a){var b=lg.createRange();return b.selectNode(lg.body),b.createContextualFragment(a.responseText)}var ig={version:"3.5.17"},jg=[].slice,kg=function(a){return jg.call(a)},lg=this.document;if(lg)try{kg(lg.documentElement.childNodes)[0].nodeType}catch(a){kg=function(a){for(var b=a.length,c=new Array(b);b--;)c[b]=a[b];return c}}if(Date.now||(Date.now=function(){return+new Date}),lg)try{lg.createElement("DIV").style.setProperty("opacity",0,"")}catch(a){var mg=this.Element.prototype,ng=mg.setAttribute,og=mg.setAttributeNS,pg=this.CSSStyleDeclaration.prototype,qg=pg.setProperty;mg.setAttribute=function(a,b){ng.call(this,a,b+"")},mg.setAttributeNS=function(a,b,c){og.call(this,a,b,c+"")},pg.setProperty=function(a,b,c){qg.call(this,a,b+"",c)}}ig.ascending=d,ig.descending=function(a,b){return b<a?-1:b>a?1:b>=a?0:NaN},ig.min=function(a,b){var c,d,e=-1,f=a.length;if(1===arguments.length){for(;++e<f;)if(null!=(d=a[e])&&d>=d){c=d;break}for(;++e<f;)null!=(d=a[e])&&c>d&&(c=d)}else{for(;++e<f;)if(null!=(d=b.call(a,a[e],e))&&d>=d){c=d;break}for(;++e<f;)null!=(d=b.call(a,a[e],e))&&c>d&&(c=d)}return c},ig.max=function(a,b){var c,d,e=-1,f=a.length;if(1===arguments.length){for(;++e<f;)if(null!=(d=a[e])&&d>=d){c=d;break}for(;++e<f;)null!=(d=a[e])&&d>c&&(c=d)}else{for(;++e<f;)if(null!=(d=b.call(a,a[e],e))&&d>=d){c=d;break}for(;++e<f;)null!=(d=b.call(a,a[e],e))&&d>c&&(c=d)}return c},ig.extent=function(a,b){var c,d,e,f=-1,g=a.length;if(1===arguments.length){for(;++f<g;)if(null!=(d=a[f])&&d>=d){c=e=d;break}for(;++f<g;)null!=(d=a[f])&&(c>d&&(c=d),e<d&&(e=d))}else{for(;++f<g;)if(null!=(d=b.call(a,a[f],f))&&d>=d){c=e=d;break}for(;++f<g;)null!=(d=b.call(a,a[f],f))&&(c>d&&(c=d),e<d&&(e=d))}return[c,e]},ig.sum=function(a,b){var c,d=0,e=a.length,g=-1;if(1===arguments.length)for(;++g<e;)f(c=+a[g])&&(d+=c);else for(;++g<e;)f(c=+b.call(a,a[g],g))&&(d+=c);return d},ig.mean=function(a,b){var c,d=0,g=a.length,h=-1,i=g;if(1===arguments.length)for(;++h<g;)f(c=e(a[h]))?d+=c:--i;else for(;++h<g;)f(c=e(b.call(a,a[h],h)))?d+=c:--i;if(i)return d/i},ig.quantile=function(a,b){var c=(a.length-1)*b+1,d=Math.floor(c),e=+a[d-1],f=c-d;return f?e+f*(a[d]-e):e},ig.median=function(a,b){var c,g=[],h=a.length,i=-1;if(1===arguments.length)for(;++i<h;)f(c=e(a[i]))&&g.push(c);else for(;++i<h;)f(c=e(b.call(a,a[i],i)))&&g.push(c);if(g.length)return ig.quantile(g.sort(d),.5)},ig.variance=function(a,b){var c,d,g=a.length,h=0,i=0,j=-1,k=0;if(1===arguments.length)for(;++j<g;)f(c=e(a[j]))&&(d=c-h,h+=d/++k,i+=d*(c-h));else for(;++j<g;)f(c=e(b.call(a,a[j],j)))&&(d=c-h,h+=d/++k,i+=d*(c-h));if(k>1)return i/(k-1)},ig.deviation=function(){var a=ig.variance.apply(this,arguments);return a?Math.sqrt(a):a};var rg=g(d);ig.bisectLeft=rg.left,ig.bisect=ig.bisectRight=rg.right,ig.bisector=function(a){return g(1===a.length?function(b,c){return d(a(b),c)}:a)},ig.shuffle=function(a,b,c){(f=arguments.length)<3&&(c=a.length,f<2&&(b=0));for(var d,e,f=c-b;f;)e=Math.random()*f--|0,d=a[f+b],a[f+b]=a[e+b],a[e+b]=d;return a},ig.permute=function(a,b){for(var c=b.length,d=new Array(c);c--;)d[c]=a[b[c]];return d},ig.pairs=function(a){for(var b=0,c=a.length-1,d=a[0],e=new Array(c<0?0:c);b<c;)e[b]=[d,d=a[++b]];return e},ig.transpose=function(a){if(!(e=a.length))return[];for(var b=-1,c=ig.min(a,h),d=new Array(c);++b<c;)for(var e,f=-1,g=d[b]=new Array(e);++f<e;)g[f]=a[f][b];return d},ig.zip=function(){return ig.transpose(arguments)},ig.keys=function(a){var b=[];for(var c in a)b.push(c);return b},ig.values=function(a){var b=[];for(var c in a)b.push(a[c]);return b},ig.entries=function(a){var b=[];for(var c in a)b.push({key:c,value:a[c]});return b},ig.merge=function(a){for(var b,c,d,e=a.length,f=-1,g=0;++f<e;)g+=a[f].length;for(c=new Array(g);--e>=0;)for(d=a[e],b=d.length;--b>=0;)c[--g]=d[b];return c};var sg=Math.abs;ig.range=function(a,b,c){if(arguments.length<3&&(c=1,arguments.length<2&&(b=a,a=0)),(b-a)/c==1/0)throw new Error("infinite range");var d,e=[],f=i(sg(c)),g=-1;if(a*=f,b*=f,c*=f,c<0)for(;(d=a+c*++g)>b;)e.push(d/f);else for(;(d=a+c*++g)<b;)e.push(d/f);return e},ig.map=function(a,b){var c=new k;if(a instanceof k)a.forEach(function(a,b){c.set(a,b)});else if(Array.isArray(a)){var d,e=-1,f=a.length;if(1===arguments.length)for(;++e<f;)c.set(e,a[e]);else for(;++e<f;)c.set(b.call(a,d=a[e],e),d)}else for(var g in a)c.set(g,a[g]);return c};var tg="__proto__",ug="\0";j(k,{has:n,get:function(a){return this._[l(a)]},set:function(a,b){return this._[l(a)]=b},remove:o,keys:p,values:function(){var a=[];for(var b in this._)a.push(this._[b]);return a},entries:function(){var a=[];for(var b in this._)a.push({key:m(b),value:this._[b]});return a},size:q,empty:r,forEach:function(a){for(var b in this._)a.call(this,m(b),this._[b])}}),ig.nest=function(){function a(b,g,h){if(h>=f.length)return d?d.call(e,g):c?g.sort(c):g;for(var i,j,l,m,n=-1,o=g.length,p=f[h++],q=new k;++n<o;)(m=q.get(i=p(j=g[n])))?m.push(j):q.set(i,[j]);return b?(j=b(),l=function(c,d){j.set(c,a(b,d,h))}):(j={},l=function(c,d){j[c]=a(b,d,h)}),q.forEach(l),j}function b(a,c){if(c>=f.length)return a;var d=[],e=g[c++];return a.forEach(function(a,e){d.push({key:a,values:b(e,c)})}),e?d.sort(function(a,b){return e(a.key,b.key)}):d}var c,d,e={},f=[],g=[];return e.map=function(b,c){return a(c,b,0)},e.entries=function(c){return b(a(ig.map,c,0),0)},e.key=function(a){return f.push(a),e},e.sortKeys=function(a){return g[f.length-1]=a,e},e.sortValues=function(a){return c=a,e},e.rollup=function(a){return d=a,e},e},ig.set=function(a){var b=new s;if(a)for(var c=0,d=a.length;c<d;++c)b.add(a[c]);return b},j(s,{has:n,add:function(a){return this._[l(a+="")]=!0,a},remove:o,values:p,size:q,empty:r,forEach:function(a){for(var b in this._)a.call(this,m(b))}}),ig.behavior={},ig.rebind=function(a,b){for(var c,d=1,e=arguments.length;++d<e;)a[c=arguments[d]]=u(a,b,b[c]);return a};var vg=["webkit","ms","moz","Moz","o","O"];ig.dispatch=function(){for(var a=new x,b=-1,c=arguments.length;++b<c;)a[arguments[b]]=y(a);return a},x.prototype.on=function(a,b){var c=a.indexOf("."),d="";if(c>=0&&(d=a.slice(c+1),a=a.slice(0,c)),a)return arguments.length<2?this[a].on(d):this[a].on(d,b);if(2===arguments.length){if(null==b)for(a in this)this.hasOwnProperty(a)&&this[a].on(d,null);return this}},ig.event=null,ig.requote=function(a){return a.replace(wg,"\\$&")};var wg=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,xg={}.__proto__?function(a,b){a.__proto__=b}:function(a,b){for(var c in b)a[c]=b[c]},yg=function(a,b){return b.querySelector(a)},zg=function(a,b){return b.querySelectorAll(a)},Ag=function(a,b){var c=a.matches||a[v(a,"matchesSelector")];return(Ag=function(a,b){return c.call(a,b)})(a,b)};"function"==typeof Sizzle&&(yg=function(a,b){return Sizzle(a,b)[0]||null},zg=Sizzle,Ag=Sizzle.matchesSelector),ig.selection=function(){return ig.select(lg.documentElement)};var Bg=ig.selection.prototype=[];Bg.select=function(a){var b,c,d,e,f=[];a=D(a);for(var g=-1,h=this.length;++g<h;){f.push(b=[]),b.parentNode=(d=this[g]).parentNode;for(var i=-1,j=d.length;++i<j;)(e=d[i])?(b.push(c=a.call(e,e.__data__,i,g)),c&&"__data__"in e&&(c.__data__=e.__data__)):b.push(null)}return C(f)},Bg.selectAll=function(a){var b,c,d=[];a=E(a);for(var e=-1,f=this.length;++e<f;)for(var g=this[e],h=-1,i=g.length;++h<i;)(c=g[h])&&(d.push(b=kg(a.call(c,c.__data__,h,e))),b.parentNode=c);return C(d)};var Cg="http://www.w3.org/1999/xhtml",Dg={svg:"http://www.w3.org/2000/svg",xhtml:Cg,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};ig.ns={prefix:Dg,qualify:function(a){var b=a.indexOf(":"),c=a;return b>=0&&"xmlns"!==(c=a.slice(0,b))&&(a=a.slice(b+1)),Dg.hasOwnProperty(c)?{space:Dg[c],local:a}:a}},Bg.attr=function(a,b){if(arguments.length<2){if("string"==typeof a){var c=this.node();return a=ig.ns.qualify(a),a.local?c.getAttributeNS(a.space,a.local):c.getAttribute(a)}for(b in a)this.each(F(b,a[b]));return this}return this.each(F(a,b))},Bg.classed=function(a,b){if(arguments.length<2){if("string"==typeof a){var c=this.node(),d=(a=I(a)).length,e=-1;if(b=c.classList){for(;++e<d;)if(!b.contains(a[e]))return!1}else for(b=c.getAttribute("class");++e<d;)if(!H(a[e]).test(b))return!1;return!0}for(b in a)this.each(J(b,a[b]));return this}return this.each(J(a,b))},Bg.style=function(a,b,d){var e=arguments.length;if(e<3){if("string"!=typeof a){e<2&&(b="");for(d in a)this.each(L(d,a[d],b));return this}if(e<2){var f=this.node();return c(f).getComputedStyle(f,null).getPropertyValue(a)}d=""}return this.each(L(a,b,d))},Bg.property=function(a,b){if(arguments.length<2){if("string"==typeof a)return this.node()[a];for(b in a)this.each(M(b,a[b]));return this}return this.each(M(a,b))},Bg.text=function(a){return arguments.length?this.each("function"==typeof a?function(){var b=a.apply(this,arguments);this.textContent=null==b?"":b}:null==a?function(){this.textContent=""}:function(){this.textContent=a}):this.node().textContent},Bg.html=function(a){return arguments.length?this.each("function"==typeof a?function(){var b=a.apply(this,arguments);this.innerHTML=null==b?"":b}:null==a?function(){this.innerHTML=""}:function(){this.innerHTML=a}):this.node().innerHTML},Bg.append=function(a){return a=N(a),this.select(function(){return this.appendChild(a.apply(this,arguments))})},Bg.insert=function(a,b){return a=N(a),b=D(b),this.select(function(){return this.insertBefore(a.apply(this,arguments),b.apply(this,arguments)||null)})},Bg.remove=function(){return this.each(O)},Bg.data=function(a,b){function c(a,c){var d,e,f,g=a.length,l=c.length,m=Math.min(g,l),n=new Array(l),o=new Array(l),p=new Array(g);if(b){var q,r=new k,s=new Array(g);for(d=-1;++d<g;)(e=a[d])&&(r.has(q=b.call(e,e.__data__,d))?p[d]=e:r.set(q,e),s[d]=q);for(d=-1;++d<l;)(e=r.get(q=b.call(c,f=c[d],d)))?e!==!0&&(n[d]=e,e.__data__=f):o[d]=P(f),r.set(q,!0);for(d=-1;++d<g;)d in s&&r.get(s[d])!==!0&&(p[d]=a[d])}else{for(d=-1;++d<m;)e=a[d],f=c[d],e?(e.__data__=f,n[d]=e):o[d]=P(f);for(;d<l;++d)o[d]=P(c[d]);for(;d<g;++d)p[d]=a[d]}o.update=n,o.parentNode=n.parentNode=p.parentNode=a.parentNode,h.push(o),i.push(n),j.push(p)}var d,e,f=-1,g=this.length;if(!arguments.length){for(a=new Array(g=(d=this[0]).length);++f<g;)(e=d[f])&&(a[f]=e.__data__);return a}var h=T([]),i=C([]),j=C([]);if("function"==typeof a)for(;++f<g;)c(d=this[f],a.call(d,d.parentNode.__data__,f));else for(;++f<g;)c(d=this[f],a);return i.enter=function(){return h},i.exit=function(){return j},i},Bg.datum=function(a){return arguments.length?this.property("__data__",a):this.property("__data__")},Bg.filter=function(a){var b,c,d,e=[];"function"!=typeof a&&(a=Q(a));for(var f=0,g=this.length;f<g;f++){e.push(b=[]),b.parentNode=(c=this[f]).parentNode;for(var h=0,i=c.length;h<i;h++)(d=c[h])&&a.call(d,d.__data__,h,f)&&b.push(d)}return C(e)},Bg.order=function(){for(var a=-1,b=this.length;++a<b;)for(var c,d=this[a],e=d.length-1,f=d[e];--e>=0;)(c=d[e])&&(f&&f!==c.nextSibling&&f.parentNode.insertBefore(c,f),f=c);return this},Bg.sort=function(a){a=R.apply(this,arguments);for(var b=-1,c=this.length;++b<c;)this[b].sort(a);return this.order()},Bg.each=function(a){return S(this,function(b,c,d){a.call(b,b.__data__,c,d)})},Bg.call=function(a){var b=kg(arguments);return a.apply(b[0]=this,b),this},Bg.empty=function(){return!this.node()},Bg.node=function(){for(var a=0,b=this.length;a<b;a++)for(var c=this[a],d=0,e=c.length;d<e;d++){var f=c[d];if(f)return f}return null},Bg.size=function(){var a=0;return S(this,function(){++a}),a};var Eg=[];ig.selection.enter=T,ig.selection.enter.prototype=Eg,Eg.append=Bg.append,Eg.empty=Bg.empty,Eg.node=Bg.node,Eg.call=Bg.call,Eg.size=Bg.size,Eg.select=function(a){for(var b,c,d,e,f,g=[],h=-1,i=this.length;++h<i;){d=(e=this[h]).update,g.push(b=[]),b.parentNode=e.parentNode;for(var j=-1,k=e.length;++j<k;)(f=e[j])?(b.push(d[j]=c=a.call(e.parentNode,f.__data__,j,h)),c.__data__=f.__data__):b.push(null)}return C(g)},Eg.insert=function(a,b){return arguments.length<2&&(b=U(this)),Bg.insert.call(this,a,b)},ig.select=function(b){var c;return"string"==typeof b?(c=[yg(b,lg)],c.parentNode=lg.documentElement):(c=[b],c.parentNode=a(b)),C([c])},ig.selectAll=function(a){var b;return"string"==typeof a?(b=kg(zg(a,lg)),b.parentNode=lg.documentElement):(b=kg(a),b.parentNode=null),C([b])},Bg.on=function(a,b,c){var d=arguments.length;if(d<3){if("string"!=typeof a){d<2&&(b=!1);for(c in a)this.each(V(c,a[c],b));return this}if(d<2)return(d=this.node()["__on"+a])&&d._;c=!1}return this.each(V(a,b,c))};var Fg=ig.map({mouseenter:"mouseover",mouseleave:"mouseout"});lg&&Fg.forEach(function(a){"on"+a in lg&&Fg.remove(a)});var Gg,Hg=0;ig.mouse=function(a){return Z(a,A())};var Ig=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;ig.touch=function(a,b,c){if(arguments.length<3&&(c=b,b=A().changedTouches),b)for(var d,e=0,f=b.length;e<f;++e)if((d=b[e]).identifier===c)return Z(a,d)},ig.behavior.drag=function(){function a(){this.on("mousedown.drag",f).on("touchstart.drag",g)}function b(a,b,c,f,g){return function(){function h(){var a,c,d=b(m,p);d&&(a=d[0]-t[0],c=d[1]-t[1],o|=a|c,t=d,n({type:"drag",x:d[0]+j[0],y:d[1]+j[1],dx:a,dy:c}))}function i(){b(m,p)&&(r.on(f+q,null).on(g+q,null),s(o),n({type:"dragend"}))}var j,k=this,l=ig.event.target.correspondingElement||ig.event.target,m=k.parentNode,n=d.of(k,arguments),o=0,p=a(),q=".drag"+(null==p?"":"-"+p),r=ig.select(c(l)).on(f+q,h).on(g+q,i),s=Y(l),t=b(m,p);e?(j=e.apply(k,arguments),j=[j.x-t[0],j.y-t[1]]):j=[0,0],n({type:"dragstart"})}}var d=B(a,"drag","dragstart","dragend"),e=null,f=b(w,ig.mouse,c,"mousemove","mouseup"),g=b($,ig.touch,t,"touchmove","touchend");return a.origin=function(b){return arguments.length?(e=b,a):e},ig.rebind(a,d,"on")},ig.touches=function(a,b){return arguments.length<2&&(b=A().touches),b?kg(b).map(function(b){var c=Z(a,b);return c.identifier=b.identifier,c}):[]};var Jg=1e-6,Kg=Jg*Jg,Lg=Math.PI,Mg=2*Lg,Ng=Mg-Jg,Og=Lg/2,Pg=Lg/180,Qg=180/Lg,Rg=Math.SQRT2;ig.interpolateZoom=function(a,b){var c,d,e=a[0],f=a[1],g=a[2],h=b[0],i=b[1],j=b[2],k=h-e,l=i-f,m=k*k+l*l;if(m<Kg)d=Math.log(j/g)/Rg,c=function(a){return[e+a*k,f+a*l,g*Math.exp(Rg*a*d)]};else{var n=Math.sqrt(m),o=(j*j-g*g+4*m)/(2*g*2*n),p=(j*j-g*g-4*m)/(2*j*2*n),q=Math.log(Math.sqrt(o*o+1)-o);d=(Math.log(Math.sqrt(p*p+1)-p)-q)/Rg,c=function(a){var b=a*d,c=ea(q),h=g/(2*n)*(c*fa(Rg*b+q)-da(q));return[e+h*k,f+h*l,g*c/ea(Rg*b+q)]}}return c.duration=1e3*d,c},ig.behavior.zoom=function(){function a(a){a.on(F,l).on(Tg+".zoom",n).on("dblclick.zoom",o).on(I,m)}function b(a){return[(a[0]-y.x)/y.k,(a[1]-y.y)/y.k]}function d(a){return[a[0]*y.k+y.x,a[1]*y.k+y.y]}function e(a){y.k=Math.max(C[0],Math.min(C[1],a))}function f(a,b){b=d(b),y.x+=a[0]-b[0],y.y+=a[1]-b[1]}function g(b,c,d,g){b.__chart__={x:y.x,y:y.y,k:y.k},e(Math.pow(2,g)),f(q=c,d),b=ig.select(b),D>0&&(b=b.transition().duration(D)),b.call(a.event)}function h(){v&&v.domain(u.range().map(function(a){return(a-y.x)/y.k}).map(u.invert)),x&&x.domain(w.range().map(function(a){return(a-y.y)/y.k}).map(w.invert))}function i(a){E++||a({type:"zoomstart"})}function j(a){h(),a({type:"zoom",scale:y.k,translate:[y.x,y.y]})}function k(a){--E||(a({type:"zoomend"}),q=null)}function l(){function a(){h=1,f(ig.mouse(e),m),j(g)}function d(){l.on(G,null).on(H,null),n(h),k(g)}var e=this,g=J.of(e,arguments),h=0,l=ig.select(c(e)).on(G,a).on(H,d),m=b(ig.mouse(e)),n=Y(e);Mi.call(e),i(g)}function m(){function a(){var a=ig.touches(o);return n=y.k,a.forEach(function(a){a.identifier in q&&(q[a.identifier]=b(a))}),a}function c(){var b=ig.event.target;ig.select(b).on(u,d).on(v,h),w.push(b);for(var c=ig.event.changedTouches,e=0,f=c.length;e<f;++e)q[c[e].identifier]=null;var i=a(),j=Date.now();if(1===i.length){if(j-t<500){var k=i[0];g(o,k,q[k.identifier],Math.floor(Math.log(y.k)/Math.LN2)+1),z()}t=j}else if(i.length>1){var k=i[0],l=i[1],m=k[0]-l[0],n=k[1]-l[1];r=m*m+n*n}}function d(){var a,b,c,d,g=ig.touches(o);Mi.call(o);for(var h=0,i=g.length;h<i;++h,d=null)if(c=g[h],d=q[c.identifier]){if(b)break;a=c,b=d}if(d){var k=(k=c[0]-a[0])*k+(k=c[1]-a[1])*k,l=r&&Math.sqrt(k/r);a=[(a[0]+c[0])/2,(a[1]+c[1])/2],b=[(b[0]+d[0])/2,(b[1]+d[1])/2],e(l*n)}t=null,f(a,b),j(p)}function h(){if(ig.event.touches.length){for(var b=ig.event.changedTouches,c=0,d=b.length;c<d;++c)delete q[b[c].identifier];for(var e in q)return void a()}ig.selectAll(w).on(s,null),x.on(F,l).on(I,m),A(),k(p)}var n,o=this,p=J.of(o,arguments),q={},r=0,s=".zoom-"+ig.event.changedTouches[0].identifier,u="touchmove"+s,v="touchend"+s,w=[],x=ig.select(o),A=Y(o);c(),i(p),x.on(F,null).on(I,c)}function n(){var a=J.of(this,arguments);s?clearTimeout(s):(Mi.call(this),p=b(q=r||ig.mouse(this)),i(a)),s=setTimeout(function(){s=null,k(a)},50),z(),e(Math.pow(2,.002*Sg())*y.k),f(q,p),j(a)}function o(){var a=ig.mouse(this),c=Math.log(y.k)/Math.LN2;g(this,a,b(a),ig.event.shiftKey?Math.ceil(c)-1:Math.floor(c)+1)}var p,q,r,s,t,u,v,w,x,y={x:0,y:0,k:1},A=[960,500],C=Ug,D=250,E=0,F="mousedown.zoom",G="mousemove.zoom",H="mouseup.zoom",I="touchstart.zoom",J=B(a,"zoomstart","zoom","zoomend");return Tg||(Tg="onwheel"in lg?(Sg=function(){return-ig.event.deltaY*(ig.event.deltaMode?120:1)},"wheel"):"onmousewheel"in lg?(Sg=function(){return ig.event.wheelDelta},"mousewheel"):(Sg=function(){return-ig.event.detail},"MozMousePixelScroll")),a.event=function(a){a.each(function(){var a=J.of(this,arguments),b=y;Ki?ig.select(this).transition().each("start.zoom",function(){y=this.__chart__||{x:0,y:0,k:1},i(a)}).tween("zoom:zoom",function(){var c=A[0],d=A[1],e=q?q[0]:c/2,f=q?q[1]:d/2,g=ig.interpolateZoom([(e-y.x)/y.k,(f-y.y)/y.k,c/y.k],[(e-b.x)/b.k,(f-b.y)/b.k,c/b.k]);return function(b){var d=g(b),h=c/d[2];this.__chart__=y={x:e-d[0]*h,y:f-d[1]*h,k:h},j(a)}}).each("interrupt.zoom",function(){k(a)}).each("end.zoom",function(){k(a)}):(this.__chart__=y,i(a),j(a),k(a))})},a.translate=function(b){return arguments.length?(y={x:+b[0],y:+b[1],k:y.k},h(),a):[y.x,y.y]},a.scale=function(b){return arguments.length?(y={x:y.x,y:y.y,k:null},e(+b),h(),a):y.k},a.scaleExtent=function(b){return arguments.length?(C=null==b?Ug:[+b[0],+b[1]],a):C},a.center=function(b){return arguments.length?(r=b&&[+b[0],+b[1]],a):r},a.size=function(b){return arguments.length?(A=b&&[+b[0],+b[1]],a):A},a.duration=function(b){return arguments.length?(D=+b,a):D},a.x=function(b){return arguments.length?(v=b,u=b.copy(),y={x:0,y:0,k:1},a):v},a.y=function(b){return arguments.length?(x=b,w=b.copy(),y={x:0,y:0,k:1},a):x},ig.rebind(a,J,"on")};var Sg,Tg,Ug=[0,1/0];ig.color=ha,ha.prototype.toString=function(){return this.rgb()+""},ig.hsl=ia;var Vg=ia.prototype=new ha;Vg.brighter=function(a){return a=Math.pow(.7,arguments.length?a:1),new ia(this.h,this.s,this.l/a)},Vg.darker=function(a){return a=Math.pow(.7,arguments.length?a:1),new ia(this.h,this.s,a*this.l)},Vg.rgb=function(){return ja(this.h,this.s,this.l)},ig.hcl=ka;var Wg=ka.prototype=new ha;Wg.brighter=function(a){return new ka(this.h,this.c,Math.min(100,this.l+Xg*(arguments.length?a:1)))},Wg.darker=function(a){return new ka(this.h,this.c,Math.max(0,this.l-Xg*(arguments.length?a:1)))},Wg.rgb=function(){return la(this.h,this.c,this.l).rgb()},ig.lab=ma;var Xg=18,Yg=.95047,Zg=1,$g=1.08883,_g=ma.prototype=new ha;_g.brighter=function(a){return new ma(Math.min(100,this.l+Xg*(arguments.length?a:1)),this.a,this.b)},_g.darker=function(a){return new ma(Math.max(0,this.l-Xg*(arguments.length?a:1)),this.a,this.b)},_g.rgb=function(){return na(this.l,this.a,this.b)},ig.rgb=sa;var ah=sa.prototype=new ha;ah.brighter=function(a){a=Math.pow(.7,arguments.length?a:1);var b=this.r,c=this.g,d=this.b,e=30;return b||c||d?(b&&b<e&&(b=e),c&&c<e&&(c=e),d&&d<e&&(d=e),new sa(Math.min(255,b/a),Math.min(255,c/a),Math.min(255,d/a))):new sa(e,e,e)},ah.darker=function(a){return a=Math.pow(.7,arguments.length?a:1),new sa(a*this.r,a*this.g,a*this.b)},ah.hsl=function(){return xa(this.r,this.g,this.b)},ah.toString=function(){return"#"+va(this.r)+va(this.g)+va(this.b)};var bh=ig.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,
white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});bh.forEach(function(a,b){bh.set(a,ta(b))}),ig.functor=Ba,ig.xhr=Ca(t),ig.dsv=function(a,b){function c(a,c,f){arguments.length<3&&(f=c,c=null);var g=Da(a,b,null==c?d:e(c),f);return g.row=function(a){return arguments.length?g.response(null==(c=a)?d:e(a)):c},g}function d(a){return c.parse(a.responseText)}function e(a){return function(b){return c.parse(b.responseText,a)}}function f(b){return b.map(g).join(a)}function g(a){return h.test(a)?'"'+a.replace(/\"/g,'""')+'"':a}var h=new RegExp('["'+a+"\n]"),i=a.charCodeAt(0);return c.parse=function(a,b){var d;return c.parseRows(a,function(a,c){if(d)return d(a,c-1);var e=new Function("d","return {"+a.map(function(a,b){return JSON.stringify(a)+": d["+b+"]"}).join(",")+"}");d=b?function(a,c){return b(e(a),c)}:e})},c.parseRows=function(a,b){function c(){if(k>=j)return g;if(e)return e=!1,f;var b=k;if(34===a.charCodeAt(b)){for(var c=b;c++<j;)if(34===a.charCodeAt(c)){if(34!==a.charCodeAt(c+1))break;++c}k=c+2;var d=a.charCodeAt(c+1);return 13===d?(e=!0,10===a.charCodeAt(c+2)&&++k):10===d&&(e=!0),a.slice(b+1,c).replace(/""/g,'"')}for(;k<j;){var d=a.charCodeAt(k++),h=1;if(10===d)e=!0;else if(13===d)e=!0,10===a.charCodeAt(k)&&(++k,++h);else if(d!==i)continue;return a.slice(b,k-h)}return a.slice(b)}for(var d,e,f={},g={},h=[],j=a.length,k=0,l=0;(d=c())!==g;){for(var m=[];d!==f&&d!==g;)m.push(d),d=c();b&&null==(m=b(m,l++))||h.push(m)}return h},c.format=function(b){if(Array.isArray(b[0]))return c.formatRows(b);var d=new s,e=[];return b.forEach(function(a){for(var b in a)d.has(b)||e.push(d.add(b))}),[e.map(g).join(a)].concat(b.map(function(b){return e.map(function(a){return g(b[a])}).join(a)})).join("\n")},c.formatRows=function(a){return a.map(f).join("\n")},c},ig.csv=ig.dsv(",","text/csv"),ig.tsv=ig.dsv("\t","text/tab-separated-values");var ch,dh,eh,fh,gh=this[v(this,"requestAnimationFrame")]||function(a){setTimeout(a,17)};ig.timer=function(){Ga.apply(this,arguments)},ig.timer.flush=function(){Ia(),Ja()},ig.round=function(a,b){return b?Math.round(a*(b=Math.pow(10,b)))/b:Math.round(a)};var hh=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"].map(La);ig.formatPrefix=function(a,b){var c=0;return(a=+a)&&(a<0&&(a*=-1),b&&(a=ig.round(a,Ka(a,b))),c=1+Math.floor(1e-12+Math.log(a)/Math.LN10),c=Math.max(-24,Math.min(24,3*Math.floor((c-1)/3)))),hh[8+c/3]};var ih=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,jh=ig.map({b:function(a){return a.toString(2)},c:function(a){return String.fromCharCode(a)},o:function(a){return a.toString(8)},x:function(a){return a.toString(16)},X:function(a){return a.toString(16).toUpperCase()},g:function(a,b){return a.toPrecision(b)},e:function(a,b){return a.toExponential(b)},f:function(a,b){return a.toFixed(b)},r:function(a,b){return(a=ig.round(a,Ka(a,b))).toFixed(Math.max(0,Math.min(20,Ka(a*(1+1e-15),b))))}}),kh=ig.time={},lh=Date;Oa.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){mh.setUTCDate.apply(this._,arguments)},setDay:function(){mh.setUTCDay.apply(this._,arguments)},setFullYear:function(){mh.setUTCFullYear.apply(this._,arguments)},setHours:function(){mh.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){mh.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){mh.setUTCMinutes.apply(this._,arguments)},setMonth:function(){mh.setUTCMonth.apply(this._,arguments)},setSeconds:function(){mh.setUTCSeconds.apply(this._,arguments)},setTime:function(){mh.setTime.apply(this._,arguments)}};var mh=Date.prototype;kh.year=Pa(function(a){return a=kh.day(a),a.setMonth(0,1),a},function(a,b){a.setFullYear(a.getFullYear()+b)},function(a){return a.getFullYear()}),kh.years=kh.year.range,kh.years.utc=kh.year.utc.range,kh.day=Pa(function(a){var b=new lh(2e3,0);return b.setFullYear(a.getFullYear(),a.getMonth(),a.getDate()),b},function(a,b){a.setDate(a.getDate()+b)},function(a){return a.getDate()-1}),kh.days=kh.day.range,kh.days.utc=kh.day.utc.range,kh.dayOfYear=function(a){var b=kh.year(a);return Math.floor((a-b-6e4*(a.getTimezoneOffset()-b.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(a,b){b=7-b;var c=kh[a]=Pa(function(a){return(a=kh.day(a)).setDate(a.getDate()-(a.getDay()+b)%7),a},function(a,b){a.setDate(a.getDate()+7*Math.floor(b))},function(a){var c=kh.year(a).getDay();return Math.floor((kh.dayOfYear(a)+(c+b)%7)/7)-(c!==b)});kh[a+"s"]=c.range,kh[a+"s"].utc=c.utc.range,kh[a+"OfYear"]=function(a){var c=kh.year(a).getDay();return Math.floor((kh.dayOfYear(a)+(c+b)%7)/7)}}),kh.week=kh.sunday,kh.weeks=kh.sunday.range,kh.weeks.utc=kh.sunday.utc.range,kh.weekOfYear=kh.sundayOfYear;var nh={"-":"",_:" ",0:"0"},oh=/^\s*\d+/,ph=/^%/;ig.locale=function(a){return{numberFormat:Ma(a),timeFormat:Ra(a)}};var qh=ig.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});ig.format=qh.numberFormat,ig.geo={},kb.prototype={s:0,t:0,add:function(a){lb(a,this.t,rh),lb(rh.s,this.s,this),this.s?this.t+=rh.t:this.s=rh.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var rh=new kb;ig.geo.stream=function(a,b){a&&sh.hasOwnProperty(a.type)?sh[a.type](a,b):mb(a,b)};var sh={Feature:function(a,b){mb(a.geometry,b)},FeatureCollection:function(a,b){for(var c=a.features,d=-1,e=c.length;++d<e;)mb(c[d].geometry,b)}},th={Sphere:function(a,b){b.sphere()},Point:function(a,b){a=a.coordinates,b.point(a[0],a[1],a[2])},MultiPoint:function(a,b){for(var c=a.coordinates,d=-1,e=c.length;++d<e;)a=c[d],b.point(a[0],a[1],a[2])},LineString:function(a,b){nb(a.coordinates,b,0)},MultiLineString:function(a,b){for(var c=a.coordinates,d=-1,e=c.length;++d<e;)nb(c[d],b,0)},Polygon:function(a,b){ob(a.coordinates,b)},MultiPolygon:function(a,b){for(var c=a.coordinates,d=-1,e=c.length;++d<e;)ob(c[d],b)},GeometryCollection:function(a,b){for(var c=a.geometries,d=-1,e=c.length;++d<e;)mb(c[d],b)}};ig.geo.area=function(a){return uh=0,ig.geo.stream(a,wh),uh};var uh,vh=new kb,wh={sphere:function(){uh+=4*Lg},point:w,lineStart:w,lineEnd:w,polygonStart:function(){vh.reset(),wh.lineStart=pb},polygonEnd:function(){var a=2*vh;uh+=a<0?4*Lg+a:a,wh.lineStart=wh.lineEnd=wh.point=w}};ig.geo.bounds=function(){function a(a,b){t.push(u=[k=a,m=a]),b<l&&(l=b),b>n&&(n=b)}function b(b,c){var d=qb([b*Pg,c*Pg]);if(r){var e=sb(r,d),f=[e[1],-e[0],0],g=sb(f,e);vb(g),g=wb(g);var i=b-o,j=i>0?1:-1,p=g[0]*Qg*j,q=sg(i)>180;if(q^(j*o<p&&p<j*b)){var s=g[1]*Qg;s>n&&(n=s)}else if(p=(p+360)%360-180,q^(j*o<p&&p<j*b)){var s=-g[1]*Qg;s<l&&(l=s)}else c<l&&(l=c),c>n&&(n=c);q?b<o?h(k,b)>h(k,m)&&(m=b):h(b,m)>h(k,m)&&(k=b):m>=k?(b<k&&(k=b),b>m&&(m=b)):b>o?h(k,b)>h(k,m)&&(m=b):h(b,m)>h(k,m)&&(k=b)}else a(b,c);r=d,o=b}function c(){v.point=b}function d(){u[0]=k,u[1]=m,v.point=a,r=null}function e(a,c){if(r){var d=a-o;s+=sg(d)>180?d+(d>0?360:-360):d}else p=a,q=c;wh.point(a,c),b(a,c)}function f(){wh.lineStart()}function g(){e(p,q),wh.lineEnd(),sg(s)>Jg&&(k=-(m=180)),u[0]=k,u[1]=m,r=null}function h(a,b){return(b-=a)<0?b+360:b}function i(a,b){return a[0]-b[0]}function j(a,b){return b[0]<=b[1]?b[0]<=a&&a<=b[1]:a<b[0]||b[1]<a}var k,l,m,n,o,p,q,r,s,t,u,v={point:a,lineStart:c,lineEnd:d,polygonStart:function(){v.point=e,v.lineStart=f,v.lineEnd=g,s=0,wh.polygonStart()},polygonEnd:function(){wh.polygonEnd(),v.point=a,v.lineStart=c,v.lineEnd=d,vh<0?(k=-(m=180),l=-(n=90)):s>Jg?n=90:s<-Jg&&(l=-90),u[0]=k,u[1]=m}};return function(a){n=m=-(k=l=1/0),t=[],ig.geo.stream(a,v);var b=t.length;if(b){t.sort(i);for(var c,d=1,e=t[0],f=[e];d<b;++d)c=t[d],j(c[0],e)||j(c[1],e)?(h(e[0],c[1])>h(e[0],e[1])&&(e[1]=c[1]),h(c[0],e[1])>h(e[0],e[1])&&(e[0]=c[0])):f.push(e=c);for(var g,c,o=-(1/0),b=f.length-1,d=0,e=f[b];d<=b;e=c,++d)c=f[d],(g=h(e[1],c[0]))>o&&(o=g,k=c[0],m=e[1])}return t=u=null,k===1/0||l===1/0?[[NaN,NaN],[NaN,NaN]]:[[k,l],[m,n]]}}(),ig.geo.centroid=function(a){xh=yh=zh=Ah=Bh=Ch=Dh=Eh=Fh=Gh=Hh=0,ig.geo.stream(a,Ih);var b=Fh,c=Gh,d=Hh,e=b*b+c*c+d*d;return e<Kg&&(b=Ch,c=Dh,d=Eh,yh<Jg&&(b=zh,c=Ah,d=Bh),(e=b*b+c*c+d*d)<Kg)?[NaN,NaN]:[Math.atan2(c,b)*Qg,ca(d/Math.sqrt(e))*Qg]};var xh,yh,zh,Ah,Bh,Ch,Dh,Eh,Fh,Gh,Hh,Ih={sphere:w,point:yb,lineStart:Ab,lineEnd:Bb,polygonStart:function(){Ih.lineStart=Cb},polygonEnd:function(){Ih.lineStart=Ab}},Jh=Ib(Eb,Mb,Ob,[-Lg,-Lg/2]),Kh=1e9;ig.geo.clipExtent=function(){var a,b,c,d,e,f,g={stream:function(a){return e&&(e.valid=!1),e=f(a),e.valid=!0,e},extent:function(h){return arguments.length?(f=Sb(a=+h[0][0],b=+h[0][1],c=+h[1][0],d=+h[1][1]),e&&(e.valid=!1,e=null),g):[[a,b],[c,d]]}};return g.extent([[0,0],[960,500]])},(ig.geo.conicEqualArea=function(){return Tb(Ub)}).raw=Ub,ig.geo.albers=function(){return ig.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},ig.geo.albersUsa=function(){function a(a){var f=a[0],g=a[1];return b=null,c(f,g),b||(d(f,g),b)||e(f,g),b}var b,c,d,e,f=ig.geo.albers(),g=ig.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),h=ig.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),i={point:function(a,c){b=[a,c]}};return a.invert=function(a){var b=f.scale(),c=f.translate(),d=(a[0]-c[0])/b,e=(a[1]-c[1])/b;return(e>=.12&&e<.234&&d>=-.425&&d<-.214?g:e>=.166&&e<.234&&d>=-.214&&d<-.115?h:f).invert(a)},a.stream=function(a){var b=f.stream(a),c=g.stream(a),d=h.stream(a);return{point:function(a,e){b.point(a,e),c.point(a,e),d.point(a,e)},sphere:function(){b.sphere(),c.sphere(),d.sphere()},lineStart:function(){b.lineStart(),c.lineStart(),d.lineStart()},lineEnd:function(){b.lineEnd(),c.lineEnd(),d.lineEnd()},polygonStart:function(){b.polygonStart(),c.polygonStart(),d.polygonStart()},polygonEnd:function(){b.polygonEnd(),c.polygonEnd(),d.polygonEnd()}}},a.precision=function(b){return arguments.length?(f.precision(b),g.precision(b),h.precision(b),a):f.precision()},a.scale=function(b){return arguments.length?(f.scale(b),g.scale(.35*b),h.scale(b),a.translate(f.translate())):f.scale()},a.translate=function(b){if(!arguments.length)return f.translate();var j=f.scale(),k=+b[0],l=+b[1];return c=f.translate(b).clipExtent([[k-.455*j,l-.238*j],[k+.455*j,l+.238*j]]).stream(i).point,d=g.translate([k-.307*j,l+.201*j]).clipExtent([[k-.425*j+Jg,l+.12*j+Jg],[k-.214*j-Jg,l+.234*j-Jg]]).stream(i).point,e=h.translate([k-.205*j,l+.212*j]).clipExtent([[k-.214*j+Jg,l+.166*j+Jg],[k-.115*j-Jg,l+.234*j-Jg]]).stream(i).point,a},a.scale(1070)};var Lh,Mh,Nh,Oh,Ph,Qh,Rh={point:w,lineStart:w,lineEnd:w,polygonStart:function(){Mh=0,Rh.lineStart=Vb},polygonEnd:function(){Rh.lineStart=Rh.lineEnd=Rh.point=w,Lh+=sg(Mh/2)}},Sh={point:Wb,lineStart:w,lineEnd:w,polygonStart:w,polygonEnd:w},Th={point:Zb,lineStart:$b,lineEnd:_b,polygonStart:function(){Th.lineStart=ac},polygonEnd:function(){Th.point=Zb,Th.lineStart=$b,Th.lineEnd=_b}};ig.geo.path=function(){function a(a){return a&&("function"==typeof h&&f.pointRadius(+h.apply(this,arguments)),g&&g.valid||(g=e(f)),ig.geo.stream(a,g)),f.result()}function b(){return g=null,a}var c,d,e,f,g,h=4.5;return a.area=function(a){return Lh=0,ig.geo.stream(a,e(Rh)),Lh},a.centroid=function(a){return zh=Ah=Bh=Ch=Dh=Eh=Fh=Gh=Hh=0,ig.geo.stream(a,e(Th)),Hh?[Fh/Hh,Gh/Hh]:Eh?[Ch/Eh,Dh/Eh]:Bh?[zh/Bh,Ah/Bh]:[NaN,NaN]},a.bounds=function(a){return Ph=Qh=-(Nh=Oh=1/0),ig.geo.stream(a,e(Sh)),[[Nh,Oh],[Ph,Qh]]},a.projection=function(a){return arguments.length?(e=(c=a)?a.stream||dc(a):t,b()):c},a.context=function(a){return arguments.length?(f=null==(d=a)?new Xb:new bc(a),"function"!=typeof h&&f.pointRadius(h),b()):d},a.pointRadius=function(b){return arguments.length?(h="function"==typeof b?b:(f.pointRadius(+b),+b),a):h},a.projection(ig.geo.albersUsa()).context(null)},ig.geo.transform=function(a){return{stream:function(b){var c=new ec(b);for(var d in a)c[d]=a[d];return c}}},ec.prototype={point:function(a,b){this.stream.point(a,b)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},ig.geo.projection=gc,ig.geo.projectionMutator=hc,(ig.geo.equirectangular=function(){return gc(jc)}).raw=jc.invert=jc,ig.geo.rotation=function(a){function b(b){return b=a(b[0]*Pg,b[1]*Pg),b[0]*=Qg,b[1]*=Qg,b}return a=lc(a[0]%360*Pg,a[1]*Pg,a.length>2?a[2]*Pg:0),b.invert=function(b){return b=a.invert(b[0]*Pg,b[1]*Pg),b[0]*=Qg,b[1]*=Qg,b},b},kc.invert=jc,ig.geo.circle=function(){function a(){var a="function"==typeof d?d.apply(this,arguments):d,b=lc(-a[0]*Pg,-a[1]*Pg,0).invert,e=[];return c(null,null,1,{point:function(a,c){e.push(a=b(a,c)),a[0]*=Qg,a[1]*=Qg}}),{type:"Polygon",coordinates:[e]}}var b,c,d=[0,0],e=6;return a.origin=function(b){return arguments.length?(d=b,a):d},a.angle=function(d){return arguments.length?(c=pc((b=+d)*Pg,e*Pg),a):b},a.precision=function(d){return arguments.length?(c=pc(b*Pg,(e=+d)*Pg),a):e},a.angle(90)},ig.geo.distance=function(a,b){var c,d=(b[0]-a[0])*Pg,e=a[1]*Pg,f=b[1]*Pg,g=Math.sin(d),h=Math.cos(d),i=Math.sin(e),j=Math.cos(e),k=Math.sin(f),l=Math.cos(f);return Math.atan2(Math.sqrt((c=l*g)*c+(c=j*k-i*l*h)*c),i*k+j*l*h)},ig.geo.graticule=function(){function a(){return{type:"MultiLineString",coordinates:b()}}function b(){return ig.range(Math.ceil(f/q)*q,e,q).map(m).concat(ig.range(Math.ceil(j/r)*r,i,r).map(n)).concat(ig.range(Math.ceil(d/o)*o,c,o).filter(function(a){return sg(a%q)>Jg}).map(k)).concat(ig.range(Math.ceil(h/p)*p,g,p).filter(function(a){return sg(a%r)>Jg}).map(l))}var c,d,e,f,g,h,i,j,k,l,m,n,o=10,p=o,q=90,r=360,s=2.5;return a.lines=function(){return b().map(function(a){return{type:"LineString",coordinates:a}})},a.outline=function(){return{type:"Polygon",coordinates:[m(f).concat(n(i).slice(1),m(e).reverse().slice(1),n(j).reverse().slice(1))]}},a.extent=function(b){return arguments.length?a.majorExtent(b).minorExtent(b):a.minorExtent()},a.majorExtent=function(b){return arguments.length?(f=+b[0][0],e=+b[1][0],j=+b[0][1],i=+b[1][1],f>e&&(b=f,f=e,e=b),j>i&&(b=j,j=i,i=b),a.precision(s)):[[f,j],[e,i]]},a.minorExtent=function(b){return arguments.length?(d=+b[0][0],c=+b[1][0],h=+b[0][1],g=+b[1][1],d>c&&(b=d,d=c,c=b),h>g&&(b=h,h=g,g=b),a.precision(s)):[[d,h],[c,g]]},a.step=function(b){return arguments.length?a.majorStep(b).minorStep(b):a.minorStep()},a.majorStep=function(b){return arguments.length?(q=+b[0],r=+b[1],a):[q,r]},a.minorStep=function(b){return arguments.length?(o=+b[0],p=+b[1],a):[o,p]},a.precision=function(b){return arguments.length?(s=+b,k=rc(h,g,90),l=sc(d,c,s),m=rc(j,i,90),n=sc(f,e,s),a):s},a.majorExtent([[-180,-90+Jg],[180,90-Jg]]).minorExtent([[-180,-80-Jg],[180,80+Jg]])},ig.geo.greatArc=function(){function a(){return{type:"LineString",coordinates:[b||d.apply(this,arguments),c||e.apply(this,arguments)]}}var b,c,d=tc,e=uc;return a.distance=function(){return ig.geo.distance(b||d.apply(this,arguments),c||e.apply(this,arguments))},a.source=function(c){return arguments.length?(d=c,b="function"==typeof c?null:c,a):d},a.target=function(b){return arguments.length?(e=b,c="function"==typeof b?null:b,a):e},a.precision=function(){return arguments.length?a:0},a},ig.geo.interpolate=function(a,b){return vc(a[0]*Pg,a[1]*Pg,b[0]*Pg,b[1]*Pg)},ig.geo.length=function(a){return Uh=0,ig.geo.stream(a,Vh),Uh};var Uh,Vh={sphere:w,point:w,lineStart:wc,lineEnd:w,polygonStart:w,polygonEnd:w},Wh=xc(function(a){return Math.sqrt(2/(1+a))},function(a){return 2*Math.asin(a/2)});(ig.geo.azimuthalEqualArea=function(){return gc(Wh)}).raw=Wh;var Xh=xc(function(a){var b=Math.acos(a);return b&&b/Math.sin(b)},t);(ig.geo.azimuthalEquidistant=function(){return gc(Xh)}).raw=Xh,(ig.geo.conicConformal=function(){return Tb(yc)}).raw=yc,(ig.geo.conicEquidistant=function(){return Tb(zc)}).raw=zc;var Yh=xc(function(a){return 1/a},Math.atan);(ig.geo.gnomonic=function(){return gc(Yh)}).raw=Yh,Ac.invert=function(a,b){return[a,2*Math.atan(Math.exp(b))-Og]},(ig.geo.mercator=function(){return Bc(Ac)}).raw=Ac;var Zh=xc(function(){return 1},Math.asin);(ig.geo.orthographic=function(){return gc(Zh)}).raw=Zh;var $h=xc(function(a){return 1/(1+a)},function(a){return 2*Math.atan(a)});(ig.geo.stereographic=function(){return gc($h)}).raw=$h,Cc.invert=function(a,b){return[-b,2*Math.atan(Math.exp(a))-Og]},(ig.geo.transverseMercator=function(){var a=Bc(Cc),b=a.center,c=a.rotate;return a.center=function(a){return a?b([-a[1],a[0]]):(a=b(),[a[1],-a[0]])},a.rotate=function(a){return a?c([a[0],a[1],a.length>2?a[2]+90:90]):(a=c(),[a[0],a[1],a[2]-90])},c([0,0,90])}).raw=Cc,ig.geom={},ig.geom.hull=function(a){function b(a){if(a.length<3)return[];var b,e=Ba(c),f=Ba(d),g=a.length,h=[],i=[];for(b=0;b<g;b++)h.push([+e.call(this,a[b],b),+f.call(this,a[b],b),b]);for(h.sort(Gc),b=0;b<g;b++)i.push([h[b][0],-h[b][1]]);var j=Fc(h),k=Fc(i),l=k[0]===j[0],m=k[k.length-1]===j[j.length-1],n=[];for(b=j.length-1;b>=0;--b)n.push(a[h[j[b]][2]]);for(b=+l;b<k.length-m;++b)n.push(a[h[k[b]][2]]);return n}var c=Dc,d=Ec;return arguments.length?b(a):(b.x=function(a){return arguments.length?(c=a,b):c},b.y=function(a){return arguments.length?(d=a,b):d},b)},ig.geom.polygon=function(a){return xg(a,_h),a};var _h=ig.geom.polygon.prototype=[];_h.area=function(){for(var a,b=-1,c=this.length,d=this[c-1],e=0;++b<c;)a=d,d=this[b],e+=a[1]*d[0]-a[0]*d[1];return.5*e},_h.centroid=function(a){var b,c,d=-1,e=this.length,f=0,g=0,h=this[e-1];for(arguments.length||(a=-1/(6*this.area()));++d<e;)b=h,h=this[d],c=b[0]*h[1]-h[0]*b[1],f+=(b[0]+h[0])*c,g+=(b[1]+h[1])*c;return[f*a,g*a]},_h.clip=function(a){for(var b,c,d,e,f,g,h=Jc(a),i=-1,j=this.length-Jc(this),k=this[j-1];++i<j;){for(b=a.slice(),a.length=0,e=this[i],f=b[(d=b.length-h)-1],c=-1;++c<d;)g=b[c],Hc(g,k,e)?(Hc(f,k,e)||a.push(Ic(f,g,k,e)),a.push(g)):Hc(f,k,e)&&a.push(Ic(f,g,k,e)),f=g;h&&a.push(a[0]),k=e}return a};var ai,bi,ci,di,ei,fi=[],gi=[];Rc.prototype.prepare=function(){for(var a,b=this.edges,c=b.length;c--;)a=b[c].edge,a.b&&a.a||b.splice(c,1);return b.sort(Tc),b.length},bd.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},cd.prototype={insert:function(a,b){var c,d,e;if(a){if(b.P=a,b.N=a.N,a.N&&(a.N.P=b),a.N=b,a.R){for(a=a.R;a.L;)a=a.L;a.L=b}else a.R=b;c=a}else this._?(a=gd(this._),b.P=null,b.N=a,a.P=a.L=b,c=a):(b.P=b.N=null,this._=b,c=null);for(b.L=b.R=null,b.U=c,b.C=!0,a=b;c&&c.C;)d=c.U,c===d.L?(e=d.R,e&&e.C?(c.C=e.C=!1,d.C=!0,a=d):(a===c.R&&(ed(this,c),a=c,c=a.U),c.C=!1,d.C=!0,fd(this,d))):(e=d.L,e&&e.C?(c.C=e.C=!1,d.C=!0,a=d):(a===c.L&&(fd(this,c),a=c,c=a.U),c.C=!1,d.C=!0,ed(this,d))),c=a.U;this._.C=!1},remove:function(a){a.N&&(a.N.P=a.P),a.P&&(a.P.N=a.N),a.N=a.P=null;var b,c,d,e=a.U,f=a.L,g=a.R;if(c=f?g?gd(g):f:g,e?e.L===a?e.L=c:e.R=c:this._=c,f&&g?(d=c.C,c.C=a.C,c.L=f,f.U=c,c!==g?(e=c.U,c.U=a.U,a=c.R,e.L=a,c.R=g,g.U=c):(c.U=e,e=c,a=c.R)):(d=a.C,a=c),a&&(a.U=e),!d){if(a&&a.C)return void(a.C=!1);do{if(a===this._)break;if(a===e.L){if(b=e.R,b.C&&(b.C=!1,e.C=!0,ed(this,e),b=e.R),b.L&&b.L.C||b.R&&b.R.C){b.R&&b.R.C||(b.L.C=!1,b.C=!0,fd(this,b),b=e.R),b.C=e.C,e.C=b.R.C=!1,ed(this,e),a=this._;break}}else if(b=e.L,b.C&&(b.C=!1,e.C=!0,fd(this,e),b=e.L),b.L&&b.L.C||b.R&&b.R.C){b.L&&b.L.C||(b.R.C=!1,b.C=!0,ed(this,b),b=e.L),b.C=e.C,e.C=b.L.C=!1,fd(this,e),a=this._;break}b.C=!0,a=e,e=e.U}while(!a.C);a&&(a.C=!1)}}},ig.geom.voronoi=function(a){function b(a){var b=new Array(a.length),d=h[0][0],e=h[0][1],f=h[1][0],g=h[1][1];return hd(c(a),h).cells.forEach(function(c,h){var i=c.edges,j=c.site;(b[h]=i.length?i.map(function(a){var b=a.start();return[b.x,b.y]}):j.x>=d&&j.x<=f&&j.y>=e&&j.y<=g?[[d,g],[f,g],[f,e],[d,e]]:[]).point=a[h]}),b}function c(a){return a.map(function(a,b){return{x:Math.round(f(a,b)/Jg)*Jg,y:Math.round(g(a,b)/Jg)*Jg,i:b}})}var d=Dc,e=Ec,f=d,g=e,h=hi;return a?b(a):(b.links=function(a){return hd(c(a)).edges.filter(function(a){return a.l&&a.r}).map(function(b){return{source:a[b.l.i],target:a[b.r.i]}})},b.triangles=function(a){var b=[];return hd(c(a)).cells.forEach(function(c,d){for(var e,f=c.site,g=c.edges.sort(Tc),h=-1,i=g.length,j=g[i-1].edge,k=j.l===f?j.r:j.l;++h<i;)j,e=k,j=g[h].edge,k=j.l===f?j.r:j.l,d<e.i&&d<k.i&&jd(f,e,k)<0&&b.push([a[d],a[e.i],a[k.i]])}),b},b.x=function(a){return arguments.length?(f=Ba(d=a),b):d},b.y=function(a){return arguments.length?(g=Ba(e=a),b):e},b.clipExtent=function(a){return arguments.length?(h=null==a?hi:a,b):h===hi?null:h},b.size=function(a){return arguments.length?b.clipExtent(a&&[[0,0],a]):h===hi?null:h&&h[1]},b)};var hi=[[-1e6,-1e6],[1e6,1e6]];ig.geom.delaunay=function(a){return ig.geom.voronoi().triangles(a)},ig.geom.quadtree=function(a,b,c,d,e){function f(a){function f(a,b,c,d,e,f,g,h){if(!isNaN(c)&&!isNaN(d))if(a.leaf){var i=a.x,k=a.y;if(null!=i)if(sg(i-c)+sg(k-d)<.01)j(a,b,c,d,e,f,g,h);else{var l=a.point;a.x=a.y=a.point=null,j(a,l,i,k,e,f,g,h),j(a,b,c,d,e,f,g,h)}else a.x=c,a.y=d,a.point=b}else j(a,b,c,d,e,f,g,h)}function j(a,b,c,d,e,g,h,i){var j=.5*(e+h),k=.5*(g+i),l=c>=j,m=d>=k,n=m<<1|l;a.leaf=!1,a=a.nodes[n]||(a.nodes[n]=md()),l?e=j:h=j,m?g=k:i=k,f(a,b,c,d,e,g,h,i)}var k,l,m,n,o,p,q,r,s,t=Ba(h),u=Ba(i);if(null!=b)p=b,q=c,r=d,s=e;else if(r=s=-(p=q=1/0),l=[],m=[],o=a.length,g)for(n=0;n<o;++n)k=a[n],k.x<p&&(p=k.x),k.y<q&&(q=k.y),k.x>r&&(r=k.x),k.y>s&&(s=k.y),l.push(k.x),m.push(k.y);else for(n=0;n<o;++n){var v=+t(k=a[n],n),w=+u(k,n);v<p&&(p=v),w<q&&(q=w),v>r&&(r=v),w>s&&(s=w),l.push(v),m.push(w)}var x=r-p,y=s-q;x>y?s=q+x:r=p+y;var z=md();if(z.add=function(a){f(z,a,+t(a,++n),+u(a,n),p,q,r,s)},z.visit=function(a){nd(a,z,p,q,r,s)},z.find=function(a){return od(z,a[0],a[1],p,q,r,s)},n=-1,null==b){for(;++n<o;)f(z,a[n],l[n],m[n],p,q,r,s);--n}else a.forEach(z.add);return l=m=a=k=null,z}var g,h=Dc,i=Ec;return(g=arguments.length)?(h=kd,i=ld,3===g&&(e=c,d=b,c=b=0),f(a)):(f.x=function(a){return arguments.length?(h=a,f):h},f.y=function(a){return arguments.length?(i=a,f):i},f.extent=function(a){return arguments.length?(null==a?b=c=d=e=null:(b=+a[0][0],c=+a[0][1],d=+a[1][0],e=+a[1][1]),f):null==b?null:[[b,c],[d,e]]},f.size=function(a){return arguments.length?(null==a?b=c=d=e=null:(b=c=0,d=+a[0],e=+a[1]),f):null==b?null:[d-b,e-c]},f)},ig.interpolateRgb=pd,ig.interpolateObject=qd,ig.interpolateNumber=rd,ig.interpolateString=sd;var ii=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ji=new RegExp(ii.source,"g");ig.interpolate=td,ig.interpolators=[function(a,b){var c=typeof b;return("string"===c?bh.has(b.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(b)?pd:sd:b instanceof ha?pd:Array.isArray(b)?ud:"object"===c&&isNaN(b)?qd:rd)(a,b)}],ig.interpolateArray=ud;var ki=function(){return t},li=ig.map({linear:ki,poly:Bd,quad:function(){return yd},cubic:function(){return zd},sin:function(){return Cd},exp:function(){return Dd},circle:function(){return Ed},elastic:Fd,back:Gd,bounce:function(){return Hd}}),mi=ig.map({in:t,out:wd,"in-out":xd,"out-in":function(a){return xd(wd(a))}});ig.ease=function(a){var b=a.indexOf("-"),c=b>=0?a.slice(0,b):a,d=b>=0?a.slice(b+1):"in";return c=li.get(c)||ki,d=mi.get(d)||t,vd(d(c.apply(null,jg.call(arguments,1))))},ig.interpolateHcl=Id,ig.interpolateHsl=Jd,ig.interpolateLab=Kd,ig.interpolateRound=Ld,ig.transform=function(a){var b=lg.createElementNS(ig.ns.prefix.svg,"g");return(ig.transform=function(a){if(null!=a){b.setAttribute("transform",a);var c=b.transform.baseVal.consolidate()}return new Md(c?c.matrix:ni)})(a)},Md.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var ni={a:1,b:0,c:0,d:1,e:0,f:0};ig.interpolateTransform=Vd,ig.layout={},ig.layout.bundle=function(){return function(a){for(var b=[],c=-1,d=a.length;++c<d;)b.push(Yd(a[c]));return b}},ig.layout.chord=function(){function a(){var a,j,l,m,n,o={},p=[],q=ig.range(f),r=[];for(c=[],d=[],a=0,m=-1;++m<f;){for(j=0,n=-1;++n<f;)j+=e[m][n];p.push(j),r.push(ig.range(f)),a+=j}for(g&&q.sort(function(a,b){return g(p[a],p[b])}),h&&r.forEach(function(a,b){a.sort(function(a,c){return h(e[b][a],e[b][c])})}),a=(Mg-k*f)/a,j=0,m=-1;++m<f;){for(l=j,n=-1;++n<f;){var s=q[m],t=r[s][n],u=e[s][t],v=j,w=j+=u*a;o[s+"-"+t]={index:s,subindex:t,startAngle:v,endAngle:w,value:u}}d[s]={index:s,startAngle:l,endAngle:j,value:p[s]},j+=k}for(m=-1;++m<f;)for(n=m-1;++n<f;){var x=o[m+"-"+n],y=o[n+"-"+m];(x.value||y.value)&&c.push(x.value<y.value?{source:y,target:x}:{source:x,target:y})}i&&b()}function b(){c.sort(function(a,b){return i((a.source.value+a.target.value)/2,(b.source.value+b.target.value)/2)})}var c,d,e,f,g,h,i,j={},k=0;return j.matrix=function(a){return arguments.length?(f=(e=a)&&e.length,c=d=null,j):e},j.padding=function(a){return arguments.length?(k=a,c=d=null,j):k},j.sortGroups=function(a){return arguments.length?(g=a,c=d=null,j):g},j.sortSubgroups=function(a){return arguments.length?(h=a,c=null,j):h},j.sortChords=function(a){return arguments.length?(i=a,c&&b(),j):i},j.chords=function(){return c||a(),c},j.groups=function(){return d||a(),d},j},ig.layout.force=function(){function a(a){return function(b,c,d,e){if(b.point!==a){var f=b.cx-a.x,g=b.cy-a.y,h=e-c,i=f*f+g*g;if(h*h/r<i){if(i<p){var j=b.charge/i;a.px-=f*j,a.py-=g*j}return!0}if(b.point&&i&&i<p){var j=b.pointCharge/i;a.px-=f*j,a.py-=g*j}}return!b.charge}}function b(a){a.px=ig.event.x,a.py=ig.event.y,i.resume()}var c,d,e,f,g,h,i={},j=ig.dispatch("start","tick","end"),k=[1,1],l=.9,m=oi,n=pi,o=-30,p=qi,q=.1,r=.64,s=[],u=[];return i.tick=function(){if((e*=.99)<.005)return c=null,j.end({type:"end",alpha:e=0}),!0;var b,d,i,m,n,p,r,t,v,w=s.length,x=u.length;for(d=0;d<x;++d)i=u[d],m=i.source,n=i.target,t=n.x-m.x,v=n.y-m.y,(p=t*t+v*v)&&(p=e*g[d]*((p=Math.sqrt(p))-f[d])/p,t*=p,v*=p,n.x-=t*(r=m.weight+n.weight?m.weight/(m.weight+n.weight):.5),n.y-=v*r,m.x+=t*(r=1-r),m.y+=v*r);if((r=e*q)&&(t=k[0]/2,v=k[1]/2,d=-1,r))for(;++d<w;)i=s[d],i.x+=(t-i.x)*r,i.y+=(v-i.y)*r;if(o)for(de(b=ig.geom.quadtree(s),e,h),d=-1;++d<w;)(i=s[d]).fixed||b.visit(a(i));for(d=-1;++d<w;)i=s[d],i.fixed?(i.x=i.px,i.y=i.py):(i.x-=(i.px-(i.px=i.x))*l,i.y-=(i.py-(i.py=i.y))*l);j.tick({type:"tick",alpha:e})},i.nodes=function(a){return arguments.length?(s=a,i):s},i.links=function(a){return arguments.length?(u=a,i):u},i.size=function(a){return arguments.length?(k=a,i):k},i.linkDistance=function(a){return arguments.length?(m="function"==typeof a?a:+a,i):m},i.distance=i.linkDistance,i.linkStrength=function(a){return arguments.length?(n="function"==typeof a?a:+a,i):n},i.friction=function(a){return arguments.length?(l=+a,i):l},i.charge=function(a){return arguments.length?(o="function"==typeof a?a:+a,i):o},i.chargeDistance=function(a){return arguments.length?(p=a*a,i):Math.sqrt(p)},i.gravity=function(a){return arguments.length?(q=+a,i):q},i.theta=function(a){return arguments.length?(r=a*a,i):Math.sqrt(r)},i.alpha=function(a){return arguments.length?(a=+a,e?a>0?e=a:(c.c=null,c.t=NaN,c=null,j.end({type:"end",alpha:e=0})):a>0&&(j.start({type:"start",alpha:e=a}),c=Ga(i.tick)),i):e},i.start=function(){function a(a,d){if(!c){for(c=new Array(e),i=0;i<e;++i)c[i]=[];for(i=0;i<j;++i){var f=u[i];c[f.source.index].push(f.target),c[f.target.index].push(f.source)}}for(var g,h=c[b],i=-1,k=h.length;++i<k;)if(!isNaN(g=h[i][a]))return g;return Math.random()*d}var b,c,d,e=s.length,j=u.length,l=k[0],p=k[1];for(b=0;b<e;++b)(d=s[b]).index=b,d.weight=0;for(b=0;b<j;++b)d=u[b],"number"==typeof d.source&&(d.source=s[d.source]),"number"==typeof d.target&&(d.target=s[d.target]),++d.source.weight,++d.target.weight;for(b=0;b<e;++b)d=s[b],isNaN(d.x)&&(d.x=a("x",l)),isNaN(d.y)&&(d.y=a("y",p)),isNaN(d.px)&&(d.px=d.x),isNaN(d.py)&&(d.py=d.y);if(f=[],"function"==typeof m)for(b=0;b<j;++b)f[b]=+m.call(this,u[b],b);else for(b=0;b<j;++b)f[b]=m;if(g=[],"function"==typeof n)for(b=0;b<j;++b)g[b]=+n.call(this,u[b],b);else for(b=0;b<j;++b)g[b]=n;if(h=[],"function"==typeof o)for(b=0;b<e;++b)h[b]=+o.call(this,s[b],b);else for(b=0;b<e;++b)h[b]=o;return i.resume()},i.resume=function(){return i.alpha(.1)},i.stop=function(){return i.alpha(0)},i.drag=function(){if(d||(d=ig.behavior.drag().origin(t).on("dragstart.force",_d).on("drag.force",b).on("dragend.force",ae)),!arguments.length)return d;this.on("mouseover.force",be).on("mouseout.force",ce).call(d)},ig.rebind(i,j,"on")};var oi=20,pi=1,qi=1/0;ig.layout.hierarchy=function(){function a(e){var f,g=[e],h=[];for(e.depth=0;null!=(f=g.pop());)if(h.push(f),(j=c.call(a,f,f.depth))&&(i=j.length)){for(var i,j,k;--i>=0;)g.push(k=j[i]),k.parent=f,k.depth=f.depth+1;d&&(f.value=0),f.children=j}else d&&(f.value=+d.call(a,f,f.depth)||0),delete f.children;return ge(e,function(a){var c,e;b&&(c=a.children)&&c.sort(b),d&&(e=a.parent)&&(e.value+=a.value)}),h}var b=je,c=he,d=ie;return a.sort=function(c){return arguments.length?(b=c,a):b},a.children=function(b){return arguments.length?(c=b,a):c},a.value=function(b){return arguments.length?(d=b,a):d},a.revalue=function(b){return d&&(fe(b,function(a){a.children&&(a.value=0)}),ge(b,function(b){var c;b.children||(b.value=+d.call(a,b,b.depth)||0),(c=b.parent)&&(c.value+=b.value)})),b},a},ig.layout.partition=function(){function a(b,c,d,e){var f=b.children;if(b.x=c,b.y=b.depth*e,b.dx=d,b.dy=e,f&&(g=f.length)){var g,h,i,j=-1;for(d=b.value?d/b.value:0;++j<g;)a(h=f[j],c,i=h.value*d,e),c+=i}}function b(a){var c=a.children,d=0;if(c&&(e=c.length))for(var e,f=-1;++f<e;)d=Math.max(d,b(c[f]));return 1+d}function c(c,f){var g=d.call(this,c,f);return a(g[0],0,e[0],e[1]/b(g[0])),g}var d=ig.layout.hierarchy(),e=[1,1];return c.size=function(a){return arguments.length?(e=a,c):e},ee(c,d)},ig.layout.pie=function(){function a(g){var h,i=g.length,j=g.map(function(c,d){return+b.call(a,c,d)}),k=+("function"==typeof d?d.apply(this,arguments):d),l=("function"==typeof e?e.apply(this,arguments):e)-k,m=Math.min(Math.abs(l)/i,+("function"==typeof f?f.apply(this,arguments):f)),n=m*(l<0?-1:1),o=ig.sum(j),p=o?(l-i*n)/o:0,q=ig.range(i),r=[];return null!=c&&q.sort(c===ri?function(a,b){return j[b]-j[a]}:function(a,b){return c(g[a],g[b])}),q.forEach(function(a){r[a]={data:g[a],value:h=j[a],startAngle:k,endAngle:k+=h*p+n,padAngle:m}}),r}var b=Number,c=ri,d=0,e=Mg,f=0;return a.value=function(c){return arguments.length?(b=c,a):b},a.sort=function(b){return arguments.length?(c=b,a):c},a.startAngle=function(b){return arguments.length?(d=b,a):d},a.endAngle=function(b){return arguments.length?(e=b,a):e},a.padAngle=function(b){return arguments.length?(f=b,a):f},a};var ri={};ig.layout.stack=function(){function a(h,i){if(!(m=h.length))return h;var j=h.map(function(c,d){return b.call(a,c,d)}),k=j.map(function(b){return b.map(function(b,c){return[f.call(a,b,c),g.call(a,b,c)]})}),l=c.call(a,k,i);j=ig.permute(j,l),k=ig.permute(k,l);var m,n,o,p,q=d.call(a,k,i),r=j[0].length;for(o=0;o<r;++o)for(e.call(a,j[0][o],p=q[o],k[0][o][1]),n=1;n<m;++n)e.call(a,j[n][o],p+=k[n-1][o][1],k[n][o][1]);return h}var b=t,c=oe,d=pe,e=ne,f=le,g=me;return a.values=function(c){return arguments.length?(b=c,a):b},a.order=function(b){return arguments.length?(c="function"==typeof b?b:si.get(b)||oe,a):c},a.offset=function(b){return arguments.length?(d="function"==typeof b?b:ti.get(b)||pe,a):d},a.x=function(b){return arguments.length?(f=b,a):f},a.y=function(b){return arguments.length?(g=b,a):g},
a.out=function(b){return arguments.length?(e=b,a):e},a};var si=ig.map({"inside-out":function(a){var b,c,d=a.length,e=a.map(qe),f=a.map(re),g=ig.range(d).sort(function(a,b){return e[a]-e[b]}),h=0,i=0,j=[],k=[];for(b=0;b<d;++b)c=g[b],h<i?(h+=f[c],j.push(c)):(i+=f[c],k.push(c));return k.reverse().concat(j)},reverse:function(a){return ig.range(a.length).reverse()},default:oe}),ti=ig.map({silhouette:function(a){var b,c,d,e=a.length,f=a[0].length,g=[],h=0,i=[];for(c=0;c<f;++c){for(b=0,d=0;b<e;b++)d+=a[b][c][1];d>h&&(h=d),g.push(d)}for(c=0;c<f;++c)i[c]=(h-g[c])/2;return i},wiggle:function(a){var b,c,d,e,f,g,h,i,j,k=a.length,l=a[0],m=l.length,n=[];for(n[0]=i=j=0,c=1;c<m;++c){for(b=0,e=0;b<k;++b)e+=a[b][c][1];for(b=0,f=0,h=l[c][0]-l[c-1][0];b<k;++b){for(d=0,g=(a[b][c][1]-a[b][c-1][1])/(2*h);d<b;++d)g+=(a[d][c][1]-a[d][c-1][1])/h;f+=g*a[b][c][1]}n[c]=i-=e?f/e*h:0,i<j&&(j=i)}for(c=0;c<m;++c)n[c]-=j;return n},expand:function(a){var b,c,d,e=a.length,f=a[0].length,g=1/e,h=[];for(c=0;c<f;++c){for(b=0,d=0;b<e;b++)d+=a[b][c][1];if(d)for(b=0;b<e;b++)a[b][c][1]/=d;else for(b=0;b<e;b++)a[b][c][1]=g}for(c=0;c<f;++c)h[c]=0;return h},zero:pe});ig.layout.histogram=function(){function a(a,f){for(var g,h,i=[],j=a.map(c,this),k=d.call(this,j,f),l=e.call(this,k,j,f),f=-1,m=j.length,n=l.length-1,o=b?1:1/m;++f<n;)g=i[f]=[],g.dx=l[f+1]-(g.x=l[f]),g.y=0;if(n>0)for(f=-1;++f<m;)(h=j[f])>=k[0]&&h<=k[1]&&(g=i[ig.bisect(l,h,1,n)-1],g.y+=o,g.push(a[f]));return i}var b=!0,c=Number,d=ve,e=te;return a.value=function(b){return arguments.length?(c=b,a):c},a.range=function(b){return arguments.length?(d=Ba(b),a):d},a.bins=function(b){return arguments.length?(e="number"==typeof b?function(a){return ue(a,b)}:Ba(b),a):e},a.frequency=function(c){return arguments.length?(b=!!c,a):b},a},ig.layout.pack=function(){function a(a,f){var g=c.call(this,a,f),h=g[0],i=e[0],j=e[1],k=null==b?Math.sqrt:"function"==typeof b?b:function(){return b};if(h.x=h.y=0,ge(h,function(a){a.r=+k(a.value)}),ge(h,Ae),d){var l=d*(b?1:Math.max(2*h.r/i,2*h.r/j))/2;ge(h,function(a){a.r+=l}),ge(h,Ae),ge(h,function(a){a.r-=l})}return De(h,i/2,j/2,b?1:1/Math.max(2*h.r/i,2*h.r/j)),g}var b,c=ig.layout.hierarchy().sort(we),d=0,e=[1,1];return a.size=function(b){return arguments.length?(e=b,a):e},a.radius=function(c){return arguments.length?(b=null==c||"function"==typeof c?c:+c,a):b},a.padding=function(b){return arguments.length?(d=+b,a):d},ee(a,c)},ig.layout.tree=function(){function a(a,e){var k=g.call(this,a,e),l=k[0],m=b(l);if(ge(m,c),m.parent.m=-m.z,fe(m,d),j)fe(l,f);else{var n=l,o=l,p=l;fe(l,function(a){a.x<n.x&&(n=a),a.x>o.x&&(o=a),a.depth>p.depth&&(p=a)});var q=h(n,o)/2-n.x,r=i[0]/(o.x+h(o,n)/2+q),s=i[1]/(p.depth||1);fe(l,function(a){a.x=(a.x+q)*r,a.y=a.depth*s})}return k}function b(a){for(var b,c={A:null,children:[a]},d=[c];null!=(b=d.pop());)for(var e,f=b.children,g=0,h=f.length;g<h;++g)d.push((f[g]=e={_:f[g],parent:b,children:(e=f[g].children)&&e.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:g}).a=e);return c.children[0]}function c(a){var b=a.children,c=a.parent.children,d=a.i?c[a.i-1]:null;if(b.length){Je(a);var f=(b[0].z+b[b.length-1].z)/2;d?(a.z=d.z+h(a._,d._),a.m=a.z-f):a.z=f}else d&&(a.z=d.z+h(a._,d._));a.parent.A=e(a,d,a.parent.A||c[0])}function d(a){a._.x=a.z+a.parent.m,a.m+=a.parent.m}function e(a,b,c){if(b){for(var d,e=a,f=a,g=b,i=e.parent.children[0],j=e.m,k=f.m,l=g.m,m=i.m;g=He(g),e=Ge(e),g&&e;)i=Ge(i),f=He(f),f.a=a,d=g.z+l-e.z-j+h(g._,e._),d>0&&(Ie(Ke(g,a,c),a,d),j+=d,k+=d),l+=g.m,j+=e.m,m+=i.m,k+=f.m;g&&!He(f)&&(f.t=g,f.m+=l-k),e&&!Ge(i)&&(i.t=e,i.m+=j-m,c=a)}return c}function f(a){a.x*=i[0],a.y=a.depth*i[1]}var g=ig.layout.hierarchy().sort(null).value(null),h=Fe,i=[1,1],j=null;return a.separation=function(b){return arguments.length?(h=b,a):h},a.size=function(b){return arguments.length?(j=null==(i=b)?f:null,a):j?null:i},a.nodeSize=function(b){return arguments.length?(j=null==(i=b)?null:f,a):j?i:null},ee(a,g)},ig.layout.cluster=function(){function a(a,f){var g,h=b.call(this,a,f),i=h[0],j=0;ge(i,function(a){var b=a.children;b&&b.length?(a.x=Me(b),a.y=Le(b)):(a.x=g?j+=c(a,g):0,a.y=0,g=a)});var k=Ne(i),l=Oe(i),m=k.x-c(k,l)/2,n=l.x+c(l,k)/2;return ge(i,e?function(a){a.x=(a.x-i.x)*d[0],a.y=(i.y-a.y)*d[1]}:function(a){a.x=(a.x-m)/(n-m)*d[0],a.y=(1-(i.y?a.y/i.y:1))*d[1]}),h}var b=ig.layout.hierarchy().sort(null).value(null),c=Fe,d=[1,1],e=!1;return a.separation=function(b){return arguments.length?(c=b,a):c},a.size=function(b){return arguments.length?(e=null==(d=b),a):e?null:d},a.nodeSize=function(b){return arguments.length?(e=null!=(d=b),a):e?d:null},ee(a,b)},ig.layout.treemap=function(){function a(a,b){for(var c,d,e=-1,f=a.length;++e<f;)d=(c=a[e]).value*(b<0?0:b),c.area=isNaN(d)||d<=0?0:d}function b(c){var f=c.children;if(f&&f.length){var g,h,i,j=l(c),k=[],m=f.slice(),o=1/0,p="slice"===n?j.dx:"dice"===n?j.dy:"slice-dice"===n?1&c.depth?j.dy:j.dx:Math.min(j.dx,j.dy);for(a(m,j.dx*j.dy/c.value),k.area=0;(i=m.length)>0;)k.push(g=m[i-1]),k.area+=g.area,"squarify"!==n||(h=d(k,p))<=o?(m.pop(),o=h):(k.area-=k.pop().area,e(k,p,j,!1),p=Math.min(j.dx,j.dy),k.length=k.area=0,o=1/0);k.length&&(e(k,p,j,!0),k.length=k.area=0),f.forEach(b)}}function c(b){var d=b.children;if(d&&d.length){var f,g=l(b),h=d.slice(),i=[];for(a(h,g.dx*g.dy/b.value),i.area=0;f=h.pop();)i.push(f),i.area+=f.area,null!=f.z&&(e(i,f.z?g.dx:g.dy,g,!h.length),i.length=i.area=0);d.forEach(c)}}function d(a,b){for(var c,d=a.area,e=0,f=1/0,g=-1,h=a.length;++g<h;)(c=a[g].area)&&(c<f&&(f=c),c>e&&(e=c));return d*=d,b*=b,d?Math.max(b*e*o/d,d/(b*f*o)):1/0}function e(a,b,c,d){var e,f=-1,g=a.length,h=c.x,j=c.y,k=b?i(a.area/b):0;if(b==c.dx){for((d||k>c.dy)&&(k=c.dy);++f<g;)e=a[f],e.x=h,e.y=j,e.dy=k,h+=e.dx=Math.min(c.x+c.dx-h,k?i(e.area/k):0);e.z=!0,e.dx+=c.x+c.dx-h,c.y+=k,c.dy-=k}else{for((d||k>c.dx)&&(k=c.dx);++f<g;)e=a[f],e.x=h,e.y=j,e.dx=k,j+=e.dy=Math.min(c.y+c.dy-j,k?i(e.area/k):0);e.z=!1,e.dy+=c.y+c.dy-j,c.x+=k,c.dx-=k}}function f(d){var e=g||h(d),f=e[0];return f.x=f.y=0,f.value?(f.dx=j[0],f.dy=j[1]):f.dx=f.dy=0,g&&h.revalue(f),a([f],f.dx*f.dy/f.value),(g?c:b)(f),m&&(g=e),e}var g,h=ig.layout.hierarchy(),i=Math.round,j=[1,1],k=null,l=Pe,m=!1,n="squarify",o=.5*(1+Math.sqrt(5));return f.size=function(a){return arguments.length?(j=a,f):j},f.padding=function(a){function b(b){var c=a.call(f,b,b.depth);return null==c?Pe(b):Qe(b,"number"==typeof c?[c,c,c,c]:c)}function c(b){return Qe(b,a)}if(!arguments.length)return k;var d;return l=null==(k=a)?Pe:"function"==(d=typeof a)?b:"number"===d?(a=[a,a,a,a],c):c,f},f.round=function(a){return arguments.length?(i=a?Math.round:Number,f):i!=Number},f.sticky=function(a){return arguments.length?(m=a,g=null,f):m},f.ratio=function(a){return arguments.length?(o=a,f):o},f.mode=function(a){return arguments.length?(n=a+"",f):n},ee(f,h)},ig.random={normal:function(a,b){var c=arguments.length;return c<2&&(b=1),c<1&&(a=0),function(){var c,d,e;do{c=2*Math.random()-1,d=2*Math.random()-1,e=c*c+d*d}while(!e||e>1);return a+b*c*Math.sqrt(-2*Math.log(e)/e)}},logNormal:function(){var a=ig.random.normal.apply(ig,arguments);return function(){return Math.exp(a())}},bates:function(a){var b=ig.random.irwinHall(a);return function(){return b()/a}},irwinHall:function(a){return function(){for(var b=0,c=0;c<a;c++)b+=Math.random();return b}}},ig.scale={};var ui={floor:t,ceil:t};ig.scale.linear=function(){return Xe([0,1],[0,1],td,!1)};var vi={s:1,g:1,p:1,r:1,e:1};ig.scale.log=function(){return df(ig.scale.linear().domain([0,1]),10,!0,[1,10])};var wi=ig.format(".0e"),xi={floor:function(a){return-Math.ceil(-a)},ceil:function(a){return-Math.floor(-a)}};ig.scale.pow=function(){return ef(ig.scale.linear(),1,[0,1])},ig.scale.sqrt=function(){return ig.scale.pow().exponent(.5)},ig.scale.ordinal=function(){return gf([],{t:"range",a:[[]]})},ig.scale.category10=function(){return ig.scale.ordinal().range(yi)},ig.scale.category20=function(){return ig.scale.ordinal().range(zi)},ig.scale.category20b=function(){return ig.scale.ordinal().range(Ai)},ig.scale.category20c=function(){return ig.scale.ordinal().range(Bi)};var yi=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(ua),zi=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(ua),Ai=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(ua),Bi=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(ua);ig.scale.quantile=function(){return hf([],[])},ig.scale.quantize=function(){return jf(0,1,[0,1])},ig.scale.threshold=function(){return kf([.5],[0,1])},ig.scale.identity=function(){return lf([0,1])},ig.svg={},ig.svg.arc=function(){function a(){var a=Math.max(0,+c.apply(this,arguments)),j=Math.max(0,+d.apply(this,arguments)),k=g.apply(this,arguments)-Og,l=h.apply(this,arguments)-Og,m=Math.abs(l-k),n=k>l?0:1;if(j<a&&(o=j,j=a,a=o),m>=Ng)return b(j,n)+(a?b(a,1-n):"")+"Z";var o,p,q,r,s,t,u,v,w,x,y,z,A=0,B=0,C=[];if((r=(+i.apply(this,arguments)||0)/2)&&(q=f===Ci?Math.sqrt(a*a+j*j):+f.apply(this,arguments),n||(B*=-1),j&&(B=ca(q/j*Math.sin(r))),a&&(A=ca(q/a*Math.sin(r)))),j){s=j*Math.cos(k+B),t=j*Math.sin(k+B),u=j*Math.cos(l-B),v=j*Math.sin(l-B);var D=Math.abs(l-k-2*B)<=Lg?0:1;if(B&&sf(s,t,u,v)===n^D){var E=(k+l)/2;s=j*Math.cos(E),t=j*Math.sin(E),u=v=null}}else s=t=0;if(a){w=a*Math.cos(l-A),x=a*Math.sin(l-A),y=a*Math.cos(k+A),z=a*Math.sin(k+A);var F=Math.abs(k-l+2*A)<=Lg?0:1;if(A&&sf(w,x,y,z)===1-n^F){var G=(k+l)/2;w=a*Math.cos(G),x=a*Math.sin(G),y=z=null}}else w=x=0;if(m>Jg&&(o=Math.min(Math.abs(j-a)/2,+e.apply(this,arguments)))>.001){p=a<j^n?0:1;var H=o,I=o;if(m<Lg){var J=null==y?[w,x]:null==u?[s,t]:Ic([s,t],[y,z],[u,v],[w,x]),K=s-J[0],L=t-J[1],M=u-J[0],N=v-J[1],O=1/Math.sin(Math.acos((K*M+L*N)/(Math.sqrt(K*K+L*L)*Math.sqrt(M*M+N*N)))/2),P=Math.sqrt(J[0]*J[0]+J[1]*J[1]);I=Math.min(o,(a-P)/(O-1)),H=Math.min(o,(j-P)/(O+1))}if(null!=u){var Q=tf(null==y?[w,x]:[y,z],[s,t],j,H,n),R=tf([u,v],[w,x],j,H,n);o===H?C.push("M",Q[0],"A",H,",",H," 0 0,",p," ",Q[1],"A",j,",",j," 0 ",1-n^sf(Q[1][0],Q[1][1],R[1][0],R[1][1]),",",n," ",R[1],"A",H,",",H," 0 0,",p," ",R[0]):C.push("M",Q[0],"A",H,",",H," 0 1,",p," ",R[0])}else C.push("M",s,",",t);if(null!=y){var S=tf([s,t],[y,z],a,-I,n),T=tf([w,x],null==u?[s,t]:[u,v],a,-I,n);o===I?C.push("L",T[0],"A",I,",",I," 0 0,",p," ",T[1],"A",a,",",a," 0 ",n^sf(T[1][0],T[1][1],S[1][0],S[1][1]),",",1-n," ",S[1],"A",I,",",I," 0 0,",p," ",S[0]):C.push("L",T[0],"A",I,",",I," 0 0,",p," ",S[0])}else C.push("L",w,",",x)}else C.push("M",s,",",t),null!=u&&C.push("A",j,",",j," 0 ",D,",",n," ",u,",",v),C.push("L",w,",",x),null!=y&&C.push("A",a,",",a," 0 ",F,",",1-n," ",y,",",z);return C.push("Z"),C.join("")}function b(a,b){return"M0,"+a+"A"+a+","+a+" 0 1,"+b+" 0,"+-a+"A"+a+","+a+" 0 1,"+b+" 0,"+a}var c=nf,d=of,e=mf,f=Ci,g=pf,h=qf,i=rf;return a.innerRadius=function(b){return arguments.length?(c=Ba(b),a):c},a.outerRadius=function(b){return arguments.length?(d=Ba(b),a):d},a.cornerRadius=function(b){return arguments.length?(e=Ba(b),a):e},a.padRadius=function(b){return arguments.length?(f=b==Ci?Ci:Ba(b),a):f},a.startAngle=function(b){return arguments.length?(g=Ba(b),a):g},a.endAngle=function(b){return arguments.length?(h=Ba(b),a):h},a.padAngle=function(b){return arguments.length?(i=Ba(b),a):i},a.centroid=function(){var a=(+c.apply(this,arguments)+ +d.apply(this,arguments))/2,b=(+g.apply(this,arguments)+ +h.apply(this,arguments))/2-Og;return[Math.cos(b)*a,Math.sin(b)*a]},a};var Ci="auto";ig.svg.line=function(){return uf(t)};var Di=ig.map({linear:vf,"linear-closed":wf,step:xf,"step-before":yf,"step-after":zf,basis:Ff,"basis-open":Gf,"basis-closed":Hf,bundle:If,cardinal:Cf,"cardinal-open":Af,"cardinal-closed":Bf,monotone:Of});Di.forEach(function(a,b){b.key=a,b.closed=/-closed$/.test(a)});var Ei=[0,2/3,1/3,0],Fi=[0,1/3,2/3,0],Gi=[0,1/6,2/3,1/6];ig.svg.line.radial=function(){var a=uf(Pf);return a.radius=a.x,delete a.x,a.angle=a.y,delete a.y,a},yf.reverse=zf,zf.reverse=yf,ig.svg.area=function(){return Qf(t)},ig.svg.area.radial=function(){var a=Qf(Pf);return a.radius=a.x,delete a.x,a.innerRadius=a.x0,delete a.x0,a.outerRadius=a.x1,delete a.x1,a.angle=a.y,delete a.y,a.startAngle=a.y0,delete a.y0,a.endAngle=a.y1,delete a.y1,a},ig.svg.chord=function(){function a(a,h){var i=b(this,f,a,h),j=b(this,g,a,h);return"M"+i.p0+d(i.r,i.p1,i.a1-i.a0)+(c(i,j)?e(i.r,i.p1,i.r,i.p0):e(i.r,i.p1,j.r,j.p0)+d(j.r,j.p1,j.a1-j.a0)+e(j.r,j.p1,i.r,i.p0))+"Z"}function b(a,b,c,d){var e=b.call(a,c,d),f=h.call(a,e,d),g=i.call(a,e,d)-Og,k=j.call(a,e,d)-Og;return{r:f,a0:g,a1:k,p0:[f*Math.cos(g),f*Math.sin(g)],p1:[f*Math.cos(k),f*Math.sin(k)]}}function c(a,b){return a.a0==b.a0&&a.a1==b.a1}function d(a,b,c){return"A"+a+","+a+" 0 "+ +(c>Lg)+",1 "+b}function e(a,b,c,d){return"Q 0,0 "+d}var f=tc,g=uc,h=Rf,i=pf,j=qf;return a.radius=function(b){return arguments.length?(h=Ba(b),a):h},a.source=function(b){return arguments.length?(f=Ba(b),a):f},a.target=function(b){return arguments.length?(g=Ba(b),a):g},a.startAngle=function(b){return arguments.length?(i=Ba(b),a):i},a.endAngle=function(b){return arguments.length?(j=Ba(b),a):j},a},ig.svg.diagonal=function(){function a(a,e){var f=b.call(this,a,e),g=c.call(this,a,e),h=(f.y+g.y)/2,i=[f,{x:f.x,y:h},{x:g.x,y:h},g];return i=i.map(d),"M"+i[0]+"C"+i[1]+" "+i[2]+" "+i[3]}var b=tc,c=uc,d=Sf;return a.source=function(c){return arguments.length?(b=Ba(c),a):b},a.target=function(b){return arguments.length?(c=Ba(b),a):c},a.projection=function(b){return arguments.length?(d=b,a):d},a},ig.svg.diagonal.radial=function(){var a=ig.svg.diagonal(),b=Sf,c=a.projection;return a.projection=function(a){return arguments.length?c(Tf(b=a)):b},a},ig.svg.symbol=function(){function a(a,d){return(Hi.get(b.call(this,a,d))||Wf)(c.call(this,a,d))}var b=Vf,c=Uf;return a.type=function(c){return arguments.length?(b=Ba(c),a):b},a.size=function(b){return arguments.length?(c=Ba(b),a):c},a};var Hi=ig.map({circle:Wf,cross:function(a){var b=Math.sqrt(a/5)/2;return"M"+-3*b+","+-b+"H"+-b+"V"+-3*b+"H"+b+"V"+-b+"H"+3*b+"V"+b+"H"+b+"V"+3*b+"H"+-b+"V"+b+"H"+-3*b+"Z"},diamond:function(a){var b=Math.sqrt(a/(2*Ji)),c=b*Ji;return"M0,"+-b+"L"+c+",0 0,"+b+" "+-c+",0Z"},square:function(a){var b=Math.sqrt(a)/2;return"M"+-b+","+-b+"L"+b+","+-b+" "+b+","+b+" "+-b+","+b+"Z"},"triangle-down":function(a){var b=Math.sqrt(a/Ii),c=b*Ii/2;return"M0,"+c+"L"+b+","+-c+" "+-b+","+-c+"Z"},"triangle-up":function(a){var b=Math.sqrt(a/Ii),c=b*Ii/2;return"M0,"+-c+"L"+b+","+c+" "+-b+","+c+"Z"}});ig.svg.symbolTypes=Hi.keys();var Ii=Math.sqrt(3),Ji=Math.tan(30*Pg);Bg.transition=function(a){for(var b,c,d=Ki||++Oi,e=_f(a),f=[],g=Li||{time:Date.now(),ease:Ad,delay:0,duration:250},h=-1,i=this.length;++h<i;){f.push(b=[]);for(var j=this[h],k=-1,l=j.length;++k<l;)(c=j[k])&&ag(c,k,e,d,g),b.push(c)}return Yf(f,e,d)},Bg.interrupt=function(a){return this.each(null==a?Mi:Xf(_f(a)))};var Ki,Li,Mi=Xf(_f()),Ni=[],Oi=0;Ni.call=Bg.call,Ni.empty=Bg.empty,Ni.node=Bg.node,Ni.size=Bg.size,ig.transition=function(a,b){return a&&a.transition?Ki?a.transition(b):a:ig.selection().transition(a)},ig.transition.prototype=Ni,Ni.select=function(a){var b,c,d,e=this.id,f=this.namespace,g=[];a=D(a);for(var h=-1,i=this.length;++h<i;){g.push(b=[]);for(var j=this[h],k=-1,l=j.length;++k<l;)(d=j[k])&&(c=a.call(d,d.__data__,k,h))?("__data__"in d&&(c.__data__=d.__data__),ag(c,k,f,e,d[f][e]),b.push(c)):b.push(null)}return Yf(g,f,e)},Ni.selectAll=function(a){var b,c,d,e,f,g=this.id,h=this.namespace,i=[];a=E(a);for(var j=-1,k=this.length;++j<k;)for(var l=this[j],m=-1,n=l.length;++m<n;)if(d=l[m]){f=d[h][g],c=a.call(d,d.__data__,m,j),i.push(b=[]);for(var o=-1,p=c.length;++o<p;)(e=c[o])&&ag(e,o,h,g,f),b.push(e)}return Yf(i,h,g)},Ni.filter=function(a){var b,c,d,e=[];"function"!=typeof a&&(a=Q(a));for(var f=0,g=this.length;f<g;f++){e.push(b=[]);for(var c=this[f],h=0,i=c.length;h<i;h++)(d=c[h])&&a.call(d,d.__data__,h,f)&&b.push(d)}return Yf(e,this.namespace,this.id)},Ni.tween=function(a,b){var c=this.id,d=this.namespace;return arguments.length<2?this.node()[d][c].tween.get(a):S(this,null==b?function(b){b[d][c].tween.remove(a)}:function(e){e[d][c].tween.set(a,b)})},Ni.attr=function(a,b){function c(){this.removeAttribute(h)}function d(){this.removeAttributeNS(h.space,h.local)}function e(a){return null==a?c:(a+="",function(){var b,c=this.getAttribute(h);return c!==a&&(b=g(c,a),function(a){this.setAttribute(h,b(a))})})}function f(a){return null==a?d:(a+="",function(){var b,c=this.getAttributeNS(h.space,h.local);return c!==a&&(b=g(c,a),function(a){this.setAttributeNS(h.space,h.local,b(a))})})}if(arguments.length<2){for(b in a)this.attr(b,a[b]);return this}var g="transform"==a?Vd:td,h=ig.ns.qualify(a);return Zf(this,"attr."+a,b,h.local?f:e)},Ni.attrTween=function(a,b){function c(a,c){var d=b.call(this,a,c,this.getAttribute(e));return d&&function(a){this.setAttribute(e,d(a))}}function d(a,c){var d=b.call(this,a,c,this.getAttributeNS(e.space,e.local));return d&&function(a){this.setAttributeNS(e.space,e.local,d(a))}}var e=ig.ns.qualify(a);return this.tween("attr."+a,e.local?d:c)},Ni.style=function(a,b,d){function e(){this.style.removeProperty(a)}function f(b){return null==b?e:(b+="",function(){var e,f=c(this).getComputedStyle(this,null).getPropertyValue(a);return f!==b&&(e=td(f,b),function(b){this.style.setProperty(a,e(b),d)})})}var g=arguments.length;if(g<3){if("string"!=typeof a){g<2&&(b="");for(d in a)this.style(d,a[d],b);return this}d=""}return Zf(this,"style."+a,b,f)},Ni.styleTween=function(a,b,d){function e(e,f){var g=b.call(this,e,f,c(this).getComputedStyle(this,null).getPropertyValue(a));return g&&function(b){this.style.setProperty(a,g(b),d)}}return arguments.length<3&&(d=""),this.tween("style."+a,e)},Ni.text=function(a){return Zf(this,"text",a,$f)},Ni.remove=function(){var a=this.namespace;return this.each("end.transition",function(){var b;this[a].count<2&&(b=this.parentNode)&&b.removeChild(this)})},Ni.ease=function(a){var b=this.id,c=this.namespace;return arguments.length<1?this.node()[c][b].ease:("function"!=typeof a&&(a=ig.ease.apply(ig,arguments)),S(this,function(d){d[c][b].ease=a}))},Ni.delay=function(a){var b=this.id,c=this.namespace;return arguments.length<1?this.node()[c][b].delay:S(this,"function"==typeof a?function(d,e,f){d[c][b].delay=+a.call(d,d.__data__,e,f)}:(a=+a,function(d){d[c][b].delay=a}))},Ni.duration=function(a){var b=this.id,c=this.namespace;return arguments.length<1?this.node()[c][b].duration:S(this,"function"==typeof a?function(d,e,f){d[c][b].duration=Math.max(1,a.call(d,d.__data__,e,f))}:(a=Math.max(1,a),function(d){d[c][b].duration=a}))},Ni.each=function(a,b){var c=this.id,d=this.namespace;if(arguments.length<2){var e=Li,f=Ki;try{Ki=c,S(this,function(b,e,f){Li=b[d][c],a.call(b,b.__data__,e,f)})}finally{Li=e,Ki=f}}else S(this,function(e){var f=e[d][c];(f.event||(f.event=ig.dispatch("start","end","interrupt"))).on(a,b)});return this},Ni.transition=function(){for(var a,b,c,d,e=this.id,f=++Oi,g=this.namespace,h=[],i=0,j=this.length;i<j;i++){h.push(a=[]);for(var b=this[i],k=0,l=b.length;k<l;k++)(c=b[k])&&(d=c[g][e],ag(c,k,g,f,{time:d.time,ease:d.ease,delay:d.delay+d.duration,duration:d.duration})),a.push(c)}return Yf(h,g,f)},ig.svg.axis=function(){function a(a){a.each(function(){var a,j=ig.select(this),k=this.__chart__||c,l=this.__chart__=c.copy(),m=null==i?l.ticks?l.ticks.apply(l,h):l.domain():i,n=null==b?l.tickFormat?l.tickFormat.apply(l,h):t:b,o=j.selectAll(".tick").data(m,l),p=o.enter().insert("g",".domain").attr("class","tick").style("opacity",Jg),q=ig.transition(o.exit()).style("opacity",Jg).remove(),r=ig.transition(o.order()).style("opacity",1),s=Math.max(e,0)+g,u=Se(l),v=j.selectAll(".domain").data([0]),w=(v.enter().append("path").attr("class","domain"),ig.transition(v));p.append("line"),p.append("text");var x,y,z,A,B=p.select("line"),C=r.select("line"),D=o.select("text").text(n),E=p.select("text"),F=r.select("text"),G="top"===d||"left"===d?-1:1;if("bottom"===d||"top"===d?(a=bg,x="x",z="y",y="x2",A="y2",D.attr("dy",G<0?"0em":".71em").style("text-anchor","middle"),w.attr("d","M"+u[0]+","+G*f+"V0H"+u[1]+"V"+G*f)):(a=cg,x="y",z="x",y="y2",A="x2",D.attr("dy",".32em").style("text-anchor",G<0?"end":"start"),w.attr("d","M"+G*f+","+u[0]+"H0V"+u[1]+"H"+G*f)),B.attr(A,G*e),E.attr(z,G*s),C.attr(y,0).attr(A,G*e),F.attr(x,0).attr(z,G*s),l.rangeBand){var H=l,I=H.rangeBand()/2;k=l=function(a){return H(a)+I}}else k.rangeBand?k=l:q.call(a,l,k);p.call(a,k,l),r.call(a,l,l)})}var b,c=ig.scale.linear(),d=Pi,e=6,f=6,g=3,h=[10],i=null;return a.scale=function(b){return arguments.length?(c=b,a):c},a.orient=function(b){return arguments.length?(d=b in Qi?b+"":Pi,a):d},a.ticks=function(){return arguments.length?(h=kg(arguments),a):h},a.tickValues=function(b){return arguments.length?(i=b,a):i},a.tickFormat=function(c){return arguments.length?(b=c,a):b},a.tickSize=function(b){var c=arguments.length;return c?(e=+b,f=+arguments[c-1],a):e},a.innerTickSize=function(b){return arguments.length?(e=+b,a):e},a.outerTickSize=function(b){return arguments.length?(f=+b,a):f},a.tickPadding=function(b){return arguments.length?(g=+b,a):g},a.tickSubdivide=function(){return arguments.length&&a},a};var Pi="bottom",Qi={top:1,right:1,bottom:1,left:1};ig.svg.brush=function(){function a(c){c.each(function(){var c=ig.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",f).on("touchstart.brush",f),g=c.selectAll(".background").data([0]);g.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),c.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var h=c.selectAll(".resize").data(p,t);h.exit().remove(),h.enter().append("g").attr("class",function(a){return"resize "+a}).style("cursor",function(a){return Ri[a]}).append("rect").attr("x",function(a){return/[ew]$/.test(a)?-3:null}).attr("y",function(a){return/^[ns]/.test(a)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),h.style("display",a.empty()?"none":null);var i,l=ig.transition(c),m=ig.transition(g);j&&(i=Se(j),m.attr("x",i[0]).attr("width",i[1]-i[0]),d(l)),k&&(i=Se(k),m.attr("y",i[0]).attr("height",i[1]-i[0]),e(l)),b(l)})}function b(a){a.selectAll(".resize").attr("transform",function(a){return"translate("+l[+/e$/.test(a)]+","+m[+/^s/.test(a)]+")"})}function d(a){a.select(".extent").attr("x",l[0]),a.selectAll(".extent,.n>rect,.s>rect").attr("width",l[1]-l[0])}function e(a){a.select(".extent").attr("y",m[0]),a.selectAll(".extent,.e>rect,.w>rect").attr("height",m[1]-m[0])}function f(){function f(){32==ig.event.keyCode&&(D||(t=null,F[0]-=l[1],F[1]-=m[1],D=2),z())}function p(){32==ig.event.keyCode&&2==D&&(F[0]+=l[1],F[1]+=m[1],D=0,z())}function q(){var a=ig.mouse(v),c=!1;u&&(a[0]+=u[0],a[1]+=u[1]),D||(ig.event.altKey?(t||(t=[(l[0]+l[1])/2,(m[0]+m[1])/2]),F[0]=l[+(a[0]<t[0])],F[1]=m[+(a[1]<t[1])]):t=null),B&&r(a,j,0)&&(d(y),c=!0),C&&r(a,k,1)&&(e(y),c=!0),c&&(b(y),x({type:"brush",mode:D?"move":"resize"}))}function r(a,b,c){var d,e,f=Se(b),i=f[0],j=f[1],k=F[c],p=c?m:l,q=p[1]-p[0];if(D&&(i-=k,j-=q+k),d=(c?o:n)?Math.max(i,Math.min(j,a[c])):a[c],D?e=(d+=k)+q:(t&&(k=Math.max(i,Math.min(j,2*t[c]-d))),k<d?(e=d,d=k):e=k),p[0]!=d||p[1]!=e)return c?h=null:g=null,p[0]=d,p[1]=e,!0}function s(){q(),y.style("pointer-events","all").selectAll(".resize").style("display",a.empty()?"none":null),ig.select("body").style("cursor",null),G.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),E(),x({type:"brushend"})}var t,u,v=this,w=ig.select(ig.event.target),x=i.of(v,arguments),y=ig.select(v),A=w.datum(),B=!/^(n|s)$/.test(A)&&j,C=!/^(e|w)$/.test(A)&&k,D=w.classed("extent"),E=Y(v),F=ig.mouse(v),G=ig.select(c(v)).on("keydown.brush",f).on("keyup.brush",p);if(ig.event.changedTouches?G.on("touchmove.brush",q).on("touchend.brush",s):G.on("mousemove.brush",q).on("mouseup.brush",s),y.interrupt().selectAll("*").interrupt(),D)F[0]=l[0]-F[0],F[1]=m[0]-F[1];else if(A){var H=+/w$/.test(A),I=+/^n/.test(A);u=[l[1-H]-F[0],m[1-I]-F[1]],F[0]=l[H],F[1]=m[I]}else ig.event.altKey&&(t=F.slice());y.style("pointer-events","none").selectAll(".resize").style("display",null),ig.select("body").style("cursor",w.style("cursor")),x({type:"brushstart"}),q()}var g,h,i=B(a,"brushstart","brush","brushend"),j=null,k=null,l=[0,0],m=[0,0],n=!0,o=!0,p=Si[0];return a.event=function(a){a.each(function(){var a=i.of(this,arguments),b={x:l,y:m,i:g,j:h},c=this.__chart__||b;this.__chart__=b,Ki?ig.select(this).transition().each("start.brush",function(){g=c.i,h=c.j,l=c.x,m=c.y,a({type:"brushstart"})}).tween("brush:brush",function(){var c=ud(l,b.x),d=ud(m,b.y);return g=h=null,function(e){l=b.x=c(e),m=b.y=d(e),a({type:"brush",mode:"resize"})}}).each("end.brush",function(){g=b.i,h=b.j,a({type:"brush",mode:"resize"}),a({type:"brushend"})}):(a({type:"brushstart"}),a({type:"brush",mode:"resize"}),a({type:"brushend"}))})},a.x=function(b){return arguments.length?(j=b,p=Si[!j<<1|!k],a):j},a.y=function(b){return arguments.length?(k=b,p=Si[!j<<1|!k],a):k},a.clamp=function(b){return arguments.length?(j&&k?(n=!!b[0],o=!!b[1]):j?n=!!b:k&&(o=!!b),a):j&&k?[n,o]:j?n:k?o:null},a.extent=function(b){var c,d,e,f,i;return arguments.length?(j&&(c=b[0],d=b[1],k&&(c=c[0],d=d[0]),g=[c,d],j.invert&&(c=j(c),d=j(d)),d<c&&(i=c,c=d,d=i),c==l[0]&&d==l[1]||(l=[c,d])),k&&(e=b[0],f=b[1],j&&(e=e[1],f=f[1]),h=[e,f],k.invert&&(e=k(e),f=k(f)),f<e&&(i=e,e=f,f=i),e==m[0]&&f==m[1]||(m=[e,f])),a):(j&&(g?(c=g[0],d=g[1]):(c=l[0],d=l[1],j.invert&&(c=j.invert(c),d=j.invert(d)),d<c&&(i=c,c=d,d=i))),k&&(h?(e=h[0],f=h[1]):(e=m[0],f=m[1],k.invert&&(e=k.invert(e),f=k.invert(f)),f<e&&(i=e,e=f,f=i))),j&&k?[[c,e],[d,f]]:j?[c,d]:k&&[e,f])},a.clear=function(){return a.empty()||(l=[0,0],m=[0,0],g=h=null),a},a.empty=function(){return!!j&&l[0]==l[1]||!!k&&m[0]==m[1]},ig.rebind(a,i,"on")};var Ri={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Si=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Ti=kh.format=qh.timeFormat,Ui=Ti.utc,Vi=Ui("%Y-%m-%dT%H:%M:%S.%LZ");Ti.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?dg:Vi,dg.parse=function(a){var b=new Date(a);return isNaN(b)?null:b},dg.toString=Vi.toString,kh.second=Pa(function(a){return new lh(1e3*Math.floor(a/1e3))},function(a,b){a.setTime(a.getTime()+1e3*Math.floor(b))},function(a){return a.getSeconds()}),kh.seconds=kh.second.range,kh.seconds.utc=kh.second.utc.range,kh.minute=Pa(function(a){return new lh(6e4*Math.floor(a/6e4))},function(a,b){a.setTime(a.getTime()+6e4*Math.floor(b))},function(a){return a.getMinutes()}),kh.minutes=kh.minute.range,kh.minutes.utc=kh.minute.utc.range,kh.hour=Pa(function(a){var b=a.getTimezoneOffset()/60;return new lh(36e5*(Math.floor(a/36e5-b)+b))},function(a,b){a.setTime(a.getTime()+36e5*Math.floor(b))},function(a){return a.getHours()}),kh.hours=kh.hour.range,kh.hours.utc=kh.hour.utc.range,kh.month=Pa(function(a){return a=kh.day(a),a.setDate(1),a},function(a,b){a.setMonth(a.getMonth()+b)},function(a){return a.getMonth()}),kh.months=kh.month.range,kh.months.utc=kh.month.utc.range;var Wi=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Xi=[[kh.second,1],[kh.second,5],[kh.second,15],[kh.second,30],[kh.minute,1],[kh.minute,5],[kh.minute,15],[kh.minute,30],[kh.hour,1],[kh.hour,3],[kh.hour,6],[kh.hour,12],[kh.day,1],[kh.day,2],[kh.week,1],[kh.month,1],[kh.month,3],[kh.year,1]],Yi=Ti.multi([[".%L",function(a){return a.getMilliseconds()}],[":%S",function(a){return a.getSeconds()}],["%I:%M",function(a){return a.getMinutes()}],["%I %p",function(a){return a.getHours()}],["%a %d",function(a){return a.getDay()&&1!=a.getDate()}],["%b %d",function(a){return 1!=a.getDate()}],["%B",function(a){return a.getMonth()}],["%Y",Eb]]),Zi={range:function(a,b,c){return ig.range(Math.ceil(a/c)*c,+b,c).map(fg)},floor:t,ceil:t};Xi.year=kh.year,kh.scale=function(){return eg(ig.scale.linear(),Xi,Yi)};var $i=Xi.map(function(a){return[a[0].utc,a[1]]}),_i=Ui.multi([[".%L",function(a){return a.getUTCMilliseconds()}],[":%S",function(a){return a.getUTCSeconds()}],["%I:%M",function(a){return a.getUTCMinutes()}],["%I %p",function(a){return a.getUTCHours()}],["%a %d",function(a){return a.getUTCDay()&&1!=a.getUTCDate()}],["%b %d",function(a){return 1!=a.getUTCDate()}],["%B",function(a){return a.getUTCMonth()}],["%Y",Eb]]);$i.year=kh.year.utc,kh.scale.utc=function(){return eg(ig.scale.linear(),$i,_i)},ig.text=Ca(function(a){return a.responseText}),ig.json=function(a,b){return Da(a,"application/json",gg,b)},ig.html=function(a,b){return Da(a,"text/html",hg,b)},ig.xml=Ca(function(a){return a.responseXML}),"function"==typeof define&&define.amd?(this.d3=ig,define(ig)):"object"==typeof b&&b.exports?b.exports=ig:this.d3=ig}()},{}],26:[function(a,b,c){function d(a,b){return d.semantics.solve(a,b)}b.exports=d,d.semantics={solve:function(a,b){for(;;){for(;this.simplifiers.hasOwnProperty(a.type);){var c=this.simplifiers[a.type](a);if(!c)break;a=c}var d=this.rotateTargetToSource.hasOwnProperty(a.type),e=this.rotateSourceToTarget.hasOwnProperty(b.type);if(!d&&!e)break;d?(b=this.rotateTargetToSource[a.type](a,b),a=a.args[0]):e&&(a=this.rotateSourceToTarget[b.type](a,b),b=b.args[0])}return[a,b]},simplifiers:{not:function(a){var b=a.args[0];if("not"===b.type)return b.args[0]},add:function(a){var b=a.args[0];if("literal"===b.type&&""===b.value)return{type:"toString",args:[a.args[1]]}},someBlock:function(a){return{type:"not",args:[{type:"everyBlock",args:[a.args[0],{type:"not",args:[a.args[1]]}]}]}}},rotateTargetToSource:{reflect:function(a,b){return{type:a.type,args:[b]}},invert:function(a,b,c){return{type:c,args:[b,a.args[1]]}},toNumber:function(a,b){return this.reflect(a,b)},toString:function(a,b){return this.reflect(a,b)},not:function(a,b){return this.reflect(a,b)},neg:function(a,b){return this.reflect(a,b)},add:function(a,b){return this.invert(a,b,"sub")},sub:function(a,b){return this.invert(a,b,"add")},mul:function(a,b){return this.invert(a,b,"div")},div:function(a,b){return this.invert(a,b,"mul")},pow:function(a,b){return this.invert(a,b,"root")},root:function(a,b){return this.invert(a,b,"pow")},join:function(a,b){return this.invert(a,b,"split")},split:function(a,b){return this.invert(a,b,"join")}},rotateSourceToTarget:{rangeContent:function(a,b){return"rangeContent"===a.type?a:{type:b.type,args:[a]}}}}},{}],27:[function(a,b,c){function d(a,b,c){c.target=a,c.targetPath=b;var d=c.source=c.source||a,j=c["<-"]||c["<->"]||"",k=c.twoWay="<->"in c;c.sourcePath=j;var l=(c.value,c.parameters=c.parameters||d),m=c.document,n=c.components,p=c.trace,q=c.sourceScope=new o(d);q.parameters=l,q.document=m,q.components=n;var r=c.targetScope=new o(a);if(r.parameters=l,r.document=m,r.components=n,c.converter){var s=c.converter;s.convert&&(c.convert=s.convert.bind(s)),s.revert&&(c.revert=s.revert.bind(s))}else if(c.reverter){var t=c.reverter;t.convert&&(c.revert=t.convert.bind(t)),t.revert&&(c.convert=t.revert.bind(t))}var u=c.convert,v=c.revert,w=c.sourceSyntax=g(j),x=c.targetSyntax=g(b),y=h(x,w);if(x=y[0],w=y[1],k&&"rangeContent"===x.type)return f(r,x.args[0],q,w,u,v,c,p?{sourcePath:i(w),targetPath:i(x.args[0])}:null);p&&console.log("DEFINE BINDING",b,"<-",j,a);var z=e(r,x,q,w,u,c,p),y=h(w,x);w=y[0],x=y[1];var A=Function.noop;return k&&(p&&console.log("DEFINE BINDING",b,"->",j,d),A=e(q,w,r,x,v,c,p)),function(){z(),A()}}function e(a,b,c,d,e,f,g){var h=j(d);return e&&(h=m.makeConverterObserver(h,e,c)),k(b)(h,c,a,f,g?{sourcePath:i(d),targetPath:i(b)}:null)}function f(a,b,c,d,e,f,g,h){function i(a,b,c){q||(q=!0,
h&&console.log("RANGE CONTENT PROPAGATED",h.targetPath,"<-",h.sourcePath,"PLUS",a,"MINUS",b,"AT",c),o.swap(c,b.length,a),q=!1)}function k(a,b,c){q||(q=!0,h&&console.log("RANGE CONTENT PROPAGATED",h.targetPath,"->",h.sourcePath,"PLUS",a,"MINUS",b,"AT",c),p.swap(c,b.length,a),q=!1)}function m(){if(p!==o){h&&console.log("RANGE CONTENT BOUND",h.targetPath,"<->",h.sourcePath),q=!0;var b=n(p,i,c),d=n(o,k,a);return q=!1,function(){h&&console.log("RANGE CONTENT UNBOUND",h.targetPath,"<->",h.sourcePath),b(),d()}}}var o,p,q,r=j(d),s=j(b),t=l(d),u=l(b),v=Function.noop;q=!0;var w=s(function(a){v(),v=Function.noop,h&&console.log("RANGE CONTENT TARGET",h.targetPath,"SET TO",a),a&&a.addRangeChangeListener&&(o=a,p&&o?(h&&console.log("RANGE CONTENT TARGET REPLACES SOURCE",h.targetPath,"->",h.sourcePath,"WITH",o),q=!0,p.swap(0,p.length,o),q=!1,v=m()):p||q||(h&&console.log("RANGE CONTENT TARGET INITIALIZED TO COPY OF SOURCE",h.targetPath,"<-",tarce.sourcePath,"WITH",p),t(o.clone(),c)))},a);q=!1;var x=r(function(b){v(),v=Function.noop,h&&console.log("RANGE CONTENT SOURCE",h.sourcePath,"SET TO",b),b&&b.addRangeChangeListener&&(p=b,o&&p?(h&&console.log("RANGE CONTENT SOURCE REPLACES TARGET",h.targetPath,"<-",h.sourcePath,"WITH",p),q=!0,o.swap(0,o.length,p),q=!1,v=m()):o||u(p.clone(),a))},c);return o||p||t([],c),function(){v(),w(),x()}}var g=a("./parse"),h=a("./algebra"),i=a("./stringify"),j=a("./compile-observer"),k=a("./compile-binder"),l=a("./compile-assigner"),m=a("./observers"),n=m.observeRangeChange,o=(a("./binders"),a("./scope"));b.exports=d},{"./algebra":26,"./binders":28,"./compile-assigner":30,"./compile-binder":31,"./compile-observer":33,"./observers":63,"./parse":65,"./scope":66,"./stringify":67}],28:[function(a,b,c){function d(){return new Error("").stack.replace(/^.*\n.*\n/,"\n")}function e(a,b,c,e,f,g){return c(function(c){if(!f.isActive)try{f.isActive=!0,g&&console.log("SET",g.targetPath,"TO",c,"ON",a,"BECAUSE",g.sourcePath,d()),Array.isArray(a)&&b>>>0===b?a.set(b,c):a[b]=c}finally{f.isActive=!1}},e)}function f(a,b){return function(c,d,e,f,g){return b(function(b){if(null!=b)return a(function(a){if(null!=a)return a.bindProperty?a.bindProperty(b,c,d,f,g):H(a,b,c,d,f,g)},e)},e)}}function g(a,b,c,e,f,g){return c(function(c){if(!f.isActive)try{f.isActive=!0,g&&console.log("SET FOR KEY",b,"TO",c,"ON",a,"BECAUSE",g.sourcePath,d()),a.set(b,c)}finally{f.isActive=!1}},e)}function h(a,b){return function(c,d,e,f,g){return a(function(a){if(a)return b(function(b){if(null!=b)return I(a,b,c,d,f,g)},e)},e)}}function i(a,b){return function(c,e,f,g,h){return a(function(a){if(a)return b(function(b){if(null!=b)return c(function(c){if(c)(a.has||a.contains).call(a,b)||(h&&console.log("ADD",b,"TO",h.targetPath,"BECAUSE",h.sourcePath,d()),a.add(b));else for(;(a.has||a.contains).call(a,b);)h&&console.log("REMOVE",b,"FROM",h.targetPath,"BECAUSE",h.sourcePath,d()),(a.remove||a.delete).call(a,b)},e)},f)},f)}}function j(a,b){return function(c,e,f,g,h){return c(function(c){if(c){h&&console.log("BIND",h.targetPath,"TO",h.sourcePath,d());var f=a(b,e,e,g,h)||Function.noop;return function(){f(),h&&console.log("UNBIND",h.targetPath,"FROM",h.sourcePath,d())}}},f)}}function k(a,b,c){return function(d,e,f,g,h){return d(function(d){if(d)return a(function(a){function d(a,d,i){e.swap(i,d.length,a.map(function(a,d){var e=f.nest(a);return b(c,e,e,g,h)}))}if(a){var e=[],i=z(a,d,f)||Function.noop;return function(){A(e),i()}}},f)},e)}}function l(a,b,c,d,e,f){var g=B(d),h=D(c,g);return function(c,d,g,i,j){return c(function(c){if(null!=c){if(c){var d=a(e,F,g,i,j)||Function.noop,k=b(f,F,g,i,j)||Function.noop;return function(){d(),k()}}return a(h,g,g,i,j)}},d)}}function m(a,b,c,d,e,f){var g=B(d),h=C(c,g);return function(c,d,g,i,j){return c(function(c){if(null!=c){if(c)return a(h,g,g,i,j);var d=a(e,G,g,i,j)||Function.noop,k=b(f,G,g,i,j)||Function.noop;return function(){d(),k()}}},d)}}function n(a,b,c){return function(d,e,f,g,h){return a(function(a){if(null!=a)return a?b(d,e,f,g,h):c(d,e,f,g,h)},e)}}function o(a){return function(b,c,d,e,f){return a(function(a){if(a)return b(function(b){null!=b&&(a.splice?a.splice(0,a.length,b):a.clear&&a.add&&(a.clear(),a.add(b)))},c)},d)}}function p(a){return function(b,c,d,e,f){return a(function(a){if(a)return b(function(b){null!=b&&b!==a.one()&&(a.splice?a.splice(0,a.length,b):a.clear&&a.add&&(a.clear(),a.add(b)))},c)},d)}}function q(a,b){return function(c,e,f,g,h){return a(function(a){return a?c(function(b){function c(b,c,e){w(a)||(h&&console.log("SWAPPING",c,"FOR",b,"AT",e,"ON",h.targetPath,d()),a.swap?a.swap(e,c.length,b):a.add&&(a.remove||a.delete)&&(b.forEach(a.add,a),c.forEach(a.remove||a.delete,a)))}if(b!==a){if(!b)return void a.clear();if(b.addRangeChangeListener)return b.addRangeChangeListener(c),c(Array.from(b),Array.from(a),0),function(){b.removeRangeChangeListener(c)}}},e):b(y.makeLiteralObserver([]),e,f,g,h)},f)}}function r(a){return function(b,c,e,f,g){return a(function(a){if(a)return b(function(b){function c(b,c){if(!f.isActive)try{f.isActive=!0,void 0===b?(g&&g&&console.log("DELETED",g.targetPath,"FOR KEY",c,"ON",a,"BECAUSE",g.sourcePath,d()),Array.isArray(a)?a.splice(c,1):a.delete(c)):(g&&g&&console.log("SET",g.targetPath,"FOR KEY",c,"TO",b,"ON",a,"BECAUSE",g.sourcePath,d()),a.set(c,b))}finally{f.isActive=!1}}return b?(a.clear(),b.forEach(c),b.addMapChangeListener(c)):void a.clear()},c)},e)}}function s(a){return function(b,c,d,e,f){return a(function(a){if(a)return b(function(b){function c(b,c,d){if(!w(a)){var e=a.length-d-c.length;a.swap(e,c.length,b.reversed())}}return b?(b.addRangeChangeListener(c),c(b,a,0),function(){b.removeRangeChangeListener(c)}):void a.clear()},c)},d)}}function t(a){return function(b,c,d,e,f){return b(function(b){if(!b)return a(E,c,d,e,f)},d)}}function u(a){return function(b,c,d,e,f){if(d.parent)return a(b,c,d.parent,e,f)}}function v(a,b){return function(c,d,e,f,g){return a(function(a){if(null!=a)return b(c,d,e.nest(a),f,g)},e)}}function w(a){return a.getRangeChangeDescriptor&&a.getRangeChangeDescriptor().isActive}var x=a("./scope"),y=a("./observers"),z=y.observeRangeChange,A=y.cancelEach,B=y.makeNotObserver,C=y.makeOrObserver,D=y.makeAndObserver,E=(y.observeValue,y.makeLiteralObserver()),F=new x(!0),G=new x(!1);c.bindProperty=e;var H=e;c.makePropertyBinder=f,c.bindGet=g;var I=g;c.makeGetBinder=h,c.makeHasBinder=i,c.makeEqualityBinder=j,c.makeEveryBlockBinder=k,c.makeAndBinder=l,c.makeOrBinder=m,c.makeConditionalBinder=n,c.makeOnlyBinder=o,c.makeOneBinder=p,c.makeRangeContentBinder=q,c.makeMapContentBinder=r,c.makeReversedBinder=s,c.makeDefinedBinder=t,c.makeParentBinder=u,c.makeWithBinder=v},{"./observers":63,"./scope":66}],29:[function(a,b,c){function d(a,b,c){if(b)for(var d in b)e(a,d,b[d],c);return a}function e(a,b,d,e){e=e||Object.empty;var g=f(a);if(n.call(g,b))throw new Error("Can't bind to already bound target, "+JSON.stringify(b));return"<-"in d||"<->"in d||"compute"in d?(d.target=a,d.parameters=d.parameters||e.parameters,d.document=d.document||e.document,d.components=d.components||e.components,d.cancel="compute"in d?l(a,b,d):k(a,b,d),g[b]=d,c.count++):("get"in d||"set"in d||"writable"in d||(d.writable=!0),"configurable"in d||(d.configurable=!0),"enumerable"in d||(d.enumerable=!0),Object.defineProperty(a,b,d)),a}function f(a){return m.has(a)||m.set(a,{}),m.get(a)}function g(a,b){return f(a)[b]}function h(a){var b=f(a);for(var c in b)i(a,c)}function i(a,b){var d=f(a);if(!d[b])throw new Error("Can't cancel non-existent binding to "+JSON.stringify(b));var e=d[b];if(e&&e.cancel){e.cancel(),delete d[b],c.count--;for(var b in d)return;m.delete(a)}}var j=a("collections/map"),k=a("./bind"),l=a("./compute"),m=(a("./observe"),a("./stringify"),new j),n=Object.prototype.hasOwnProperty;c.count=0,c.bindings=m,c.defineBindings=d,c.defineBinding=e,c.getBindings=f,c.getBinding=g,c.cancelBindings=h,c.cancelBinding=i},{"./bind":27,"./compute":34,"./observe":62,"./stringify":67,"collections/map":51}],30:[function(a,b,c){function d(a){return d.semantics.compile(a)}var e=a("./compile-evaluator"),f=a("./algebra"),g=(a("./scope"),{type:"value"}),h={type:"literal",value:!0},i={type:"literal",value:!1};b.exports=d,d.semantics={compile:function(a){var b=this.compilers;if("equals"===a.type){var c=this.compile(a.args[0]),d=this.compileEvaluator(a.args[1]);return b.equals(c,d)}if("if"===a.type){var e=this.compileEvaluator(a.args[0]),h=this.compile(a.args[1]),i=this.compile(a.args[2]);return b.if(e,h,i)}if("and"===a.type||"or"===a.type){var j=f(a.args[0],g),k=f(a.args[1],g),l=this.compileEvaluator(a.args[0]),d=this.compileEvaluator(a.args[1]),m=this.compileEvaluator(j[1]),n=this.compileEvaluator(k[1]),c=this.compile(j[0]),o=this.compile(k[0]);return b[a.type](c,o,l,d,m,n)}if("everyBlock"===a.type){var p=this.compileEvaluator(a.args[0]),q=f(a.args[1],{type:"literal",value:!0}),r=this.compile(q[0]),s=this.compileEvaluator(q[1]);return b.everyBlock(p,r,s)}if("parent"===a.type){var t=this.compile(a.args[0]);return function(a,b){return t(a,b.parent)}}if(b.hasOwnProperty(a.type)){var u=a.args.map(this.compileEvaluator,this.compileEvaluator.semantics);return b[a.type].apply(null,u)}throw new Error("Can't compile assigner for "+JSON.stringify(a.type))},compileEvaluator:e,compilers:{property:function(a,b){return function(c,d){var e=a(d);if(e){var f=b(d);null!=f&&(Array.isArray(e)?e.set(f,c):e[f]=c)}}},get:function(a,b){return function(c,d){var e=a(d);if(e){var f=b(d);null!=f&&e.set(f,c)}}},has:function(a,b){return function(c,d){var e=a(d);if(e){var f=b(d);null!=c&&(c?(e.has||e.contains).call(e,f)||e.add(f):(e.has||e.contains).call(e,f)&&(e.remove||e.delete).call(e,f))}}},equals:function(a,b){return function(c,d){if(c)return a(b(d),d)}},if:function(a,b,c){return function(d,e){var f=a(e);if(null!=f)return f?b(d,e):c(d,e)}},and:function(a,b,c,d,e,f){return function(g,i){null!=g&&(g?(a(e(h),i),b(f(h),i)):a(c(i)&&!d(i),i))}},or:function(a,b,c,d,e,f){return function(g,h){null!=g&&(g?a(c(h)||!d(h),h):(a(e(i),h),b(f(i),h)))}},rangeContent:function(a){return function(b,c){var d=a(c);d&&(b?d.swap(0,d.length,b):d.clear())}},mapContent:function(a){return function(b,c){var d=a(c);d&&(d.clear(),c.value&&d.addEach(b))}},reversed:function(a){return function(b,c){var d=a(c);d&&d.swap(0,d.length,b.reversed())}},everyBlock:function(a,b,c){return function(d,e){if(d){var f=a(e),g=c(e);f.forEach(function(a){b(g,e.nest(a))})}}}}}},{"./algebra":26,"./compile-evaluator":32,"./scope":66}],31:[function(a,b,c){function d(a){return d.semantics.compile(a)}var e=a("./compile-observer"),f=(a("./observers"),a("./binders")),g=a("./algebra"),h={type:"value"},i={type:"literal",value:!0};b.exports=d,d.semantics={compilers:{property:f.makePropertyBinder,get:f.makeGetBinder,has:f.makeHasBinder,only:f.makeOnlyBinder,one:f.makeOneBinder,rangeContent:f.makeRangeContentBinder,mapContent:f.makeMapContentBinder,reversed:f.makeReversedBinder,and:f.makeAndBinder,or:f.makeOrBinder},compile:function(a){var b=this.compilers;if("default"===a.type)return this.compile(a.args[0]);if("literal"===a.type){if(null==a.value)return Function.noop;throw new Error("Can't bind to literal: "+a.value)}if("equals"===a.type){var c=this.compile(a.args[0]),d=e(a.args[1]);return f.makeEqualityBinder(c,d)}if("if"===a.type){var j=e(a.args[0]),k=this.compile(a.args[1]),l=this.compile(a.args[2]);return f.makeConditionalBinder(j,k,l)}if("and"===a.type||"or"===a.type){var m=g(a.args[0],h),n=g(a.args[1],h),c=this.compile(m[0]),o=this.compile(n[0]),p=e(m[1]),q=e(n[1]),r=e(a.args[0]),d=e(a.args[1]);return this.compilers[a.type](c,o,r,d,p,q)}if("everyBlock"===a.type){var s=e(a.args[0]),t=g(a.args[1],i),u=this.compile(t[0]),v=e(t[1]);return f.makeEveryBlockBinder(s,u,v)}if("rangeContent"===a.type){var w,x=e(a.args[0]);try{w=this.compile(a.args[0])}catch(a){w=Function.noop}return f.makeRangeContentBinder(x,w)}if("defined"===a.type){var w=this.compile(a.args[0]);return f.makeDefinedBinder(w)}if("parent"===a.type){var w=this.compile(a.args[0]);return f.makeParentBinder(w)}if("with"===a.type){var x=e(a.args[0]),w=this.compile(a.args[1]);return f.makeWithBinder(x,w)}if(b.hasOwnProperty(a.type)){var y=a.args.map(e,e.semantics);return b[a.type].apply(null,y)}throw new Error("Can't compile binder for "+JSON.stringify(a.type))}}},{"./algebra":26,"./binders":28,"./compile-observer":33,"./observers":63}],32:[function(a,b,c){function d(a){return d.semantics.compile(a)}var e=a("collections/shim-object"),f=a("collections/map"),g=a("collections/sorted-set"),h=a("./operators");a("./scope");b.exports=d;var i={literal:function(a){return function(){return a.value}},value:function(a){return function(a){return a.value}},parameters:function(a){return function(a){return a.parameters}},element:function(a){return function(b){return b.document.getElementById(a.id)}},component:function(a){return function(b){return b.components.getObjectByLabel(a.label)}},tuple:function(a){var b=a.args.map(this.compile,this);return function(a){return b.map(function(b){return b(a)})}},record:function(a){var b=a.args,c={};for(var d in b)c[d]=this.compile(b[d]);return function(a){var b={};for(var d in c)b[d]=c[d](a);return b}}},j={mapBlock:function(a,b){return function(c){return a(c).map(function(a){return b(c.nest(a))})}},filterBlock:function(a,b){return function(c){return a(c).filter(function(a){return b(c.nest(a))})}},someBlock:function(a,b){return function(c){return a(c).some(function(a){return b(c.nest(a))})}},everyBlock:function(a,b){return function(c){return a(c).every(function(a){return b(c.nest(a))})}},sortedBlock:function(a,b){return function(c){return a(c).sorted(Function.by(function(a){return b(c.nest(a))}))}},sortedSetBlock:function(a,b){return function(c){function d(a){return b(c.nest(a))}function f(a,b){return e.compare(d(a),d(b))}function h(a,b){return e.equals(d(a),d(b))}return new g(a(c),h,f)}},groupBlock:function(a,b){return function(c){return a(c).group(function(a){return b(c.nest(a))})}},groupMapBlock:function(a,b){return function(c){return new f(a(c).group(function(a){return b(c.nest(a))}))}},minBlock:function(a,b){return function(c){return a(c).min(Function.by(function(a){return b(c.nest(a))}))}},maxBlock:function(a,b){return function(c){return a(c).max(Function.by(function(a){return b(c.nest(a))}))}},parent:function(a){return function(b){return a(b.parent)}},with:function(a,b){return function(c){return b(c.nest(a(c)))}},if:function(a,b,c){return function(d){var e=a(d);if(null!=e)return e?b(d):c(d)}},not:function(a){return function(b){return!a(b)}},and:function(a,b){return function(c){return a(c)&&b(c)}},or:function(a,b){return function(c){return a(c)||b(c)}},default:function(a,b){return function(c){var d=a(c);return null==d&&(d=b(c)),d}},defined:function(a){return function(b){return null!=a(b)}},path:function(b,c){return function(e){var f=b(e),g=c(e),h=a("./parse");try{return d(h(g))(e.nest(f))}catch(a){}}}},k=e.clone(h,1);e.addEach(k,{property:function(a,b){return a[b]},get:function(a,b){return a.get(b)},mapContent:Function.identity,rangeContent:Function.identity,view:function(a,b,c){return a.slice(b,b+c)}});d.semantics={compilers:i,argCompilers:j,operators:k,compile:function(a){var b=this.compilers,c=this.argCompilers,d=this.operators;if(b.hasOwnProperty(a.type))return b[a.type].call(this,a);if(c.hasOwnProperty(a.type)){var e=a.args.map(this.compile,this);return c[a.type].apply(null,e)}d.hasOwnProperty(a.type)||(d[a.type]=function(b){var c=Array.prototype.slice.call(arguments,1);if(!b[a.type])throw new TypeError("Can't call "+JSON.stringify(a.type)+" of "+b);return b[a.type].apply(b,c)});var f=d[a.type],e=a.args.map(this.compile,this);return function(a){var b=e.map(function(b){return b(a)});if(b.every(h.defined))return f.apply(null,b)}}}},{"./operators":64,"./parse":65,"./scope":66,"collections/map":51,"collections/shim-object":56,"collections/sorted-set":60}],33:[function(a,b,c){function d(a){return g.compile(a)}var e=a("./observers"),f=a("./operators");b.exports=d;var g=d.semantics={compilers:{property:e.makePropertyObserver,get:e.makeGetObserver,path:e.makePathObserver,with:e.makeWithObserver,if:e.makeConditionalObserver,parent:e.makeParentObserver,not:e.makeNotObserver,and:e.makeAndObserver,or:e.makeOrObserver,default:e.makeDefaultObserver,defined:e.makeDefinedObserver,rangeContent:Function.identity,mapContent:Function.identity,keys:e.makeKeysObserver,values:e.makeValuesObserver,items:e.makeEntriesObserver,entries:e.makeEntriesObserver,toMap:e.makeToMapObserver,mapBlock:e.makeMapBlockObserver,filterBlock:e.makeFilterBlockObserver,everyBlock:e.makeEveryBlockObserver,someBlock:e.makeSomeBlockObserver,sortedBlock:e.makeSortedBlockObserver,sortedSetBlock:e.makeSortedSetBlockObserver,groupBlock:e.makeGroupBlockObserver,groupMapBlock:e.makeGroupMapBlockObserver,minBlock:e.makeMinBlockObserver,maxBlock:e.makeMaxBlockObserver,min:e.makeMinObserver,max:e.makeMaxObserver,enumerate:e.makeEnumerationObserver,reversed:e.makeReversedObserver,flatten:e.makeFlattenObserver,concat:e.makeConcatObserver,view:e.makeViewObserver,sum:e.makeSumObserver,average:e.makeAverageObserver,last:e.makeLastObserver,only:e.makeOnlyObserver,one:e.makeOneObserver,has:e.makeHasObserver,tuple:e.makeArrayObserver,range:e.makeRangeObserver,startsWith:e.makeStartsWithObserver,endsWith:e.makeEndsWithObserver,contains:e.makeContainsObserver,join:e.makeJoinObserver,toArray:e.makeToArrayObserver,asArray:e.makeToArrayObserver},compile:function(a){var b=this.compilers;if("literal"===a.type)return e.makeLiteralObserver(a.value);if("value"===a.type)return e.observeValue;if("parameters"===a.type)return e.observeParameters;if("element"===a.type)return e.makeElementObserver(a.id);if("component"===a.type)return e.makeComponentObserver(a.label,a);if("record"===a.type){var c={},d=a.args;for(var f in d)c[f]=this.compile(d[f]);return e.makeObjectObserver(c)}b.hasOwnProperty(a.type)||(b[a.type]=e.makeMethodObserverMaker(a.type));var g=a.args.map(this.compile,this);return b[a.type].apply(null,g)}},h=g.compilers;Object.keys(f).forEach(function(a){h[a]||(h[a]=e.makeOperatorObserverMaker(f[a]))}),h.toString=e.makeOperatorObserverMaker(f.toString)},{"./observers":63,"./operators":64}],34:[function(a,b,c){function d(a,b,c){c.target=a,c.targetPath=b;var d=c.source=c.source||a,j=c.args,k=c.compute,l=c.parameters=c.parameters||d,m=c.document,n=c.components,o=c.trace,p=c.sourceScope=new i(d);p.parameters=l,p.document=m,p.components=n;var q=c.targetScope=new i(a);q.parameters=l,q.document=m,q.components=n;var r=j.map(function(a){return e(a)}).map(function(a){if("rangeContent"===a.type){var b=f(a.args[0]);return h.makeRangeContentObserver(b)}if("mapContent"===a.type){var b=f(a.args[0]);return h.makeMapContentObserver(b)}return f(a)}),s=h.makeRangeContentObserver(h.makeObserversObserver(r)),t=h.makeComputerObserver(s,k,a);return g(e(b))(t,p,q,c,o?{sourcePath:j.join(", "),targetPath:b}:void 0)}var e=a("./parse"),f=a("./compile-observer"),g=a("./compile-binder"),h=a("./observers"),i=a("./scope");b.exports=d},{"./compile-binder":31,"./compile-observer":33,"./observers":63,"./parse":65,"./scope":66}],35:[function(a,b,c){function d(a){i.dispatchOwnPropertyChange(a.target,"checked",a.target.checked)}function e(a){i.dispatchOwnPropertyChange(a.target,"value",a.target.value)}function f(a){i.dispatchOwnPropertyChange(a.target,"innerHTML",a.target.innerHTML),i.dispatchOwnPropertyChange(a.target,"innerText",a.target.innerText),i.dispatchOwnPropertyChange(a.target,"value",a.target.innerText)}function g(a){"checked"===a?this.addEventListener("change",d):"value"===a&&(this.addEventListener("change",e),"text"===this.type||"TEXTAREA"===this.nodeName?this.addEventListener("keyup",e):this.contentEditable&&(this.innerText=this.innerText?this.innerText:this.value,this.addEventListener("keyup",f)))}function h(a){"checked"===a?this.removeEventListener("change",d):"value"===a&&(this.removeEventListener("change",e),"text"===this.type||"TEXTAREA"===this.nodeName?this.removeEventListener("keyup",e):this.contentEditable&&this.removeEventListener("keyup",f))}var i=a("collections/listen/property-changes"),j=Object.getPrototypeOf(document.createElement("input"));j.makePropertyObservable=g,j.makePropertyUnobservable=h;var k=Object.getPrototypeOf(document.createElement("textarea"));k.makePropertyObservable=g,k.makePropertyUnobservable=h;var l=Object.getPrototypeOf(document.createElement("span"));l.makePropertyObservable=g,l.makePropertyUnobservable=h},{"collections/listen/property-changes":49}],36:[function(a,b,c){b.exports=function(){function a(a,b,c,d,e){this.expected=a,this.found=b,this.offset=c,this.line=d,this.column=e,this.name="SyntaxError",this.message=function(a,b){var c,d;switch(a.length){case 0:c="end of input";break;case 1:c=a[0];break;default:c=a.slice(0,-1).join(", ")+" or "+a[a.length-1]}return d=b?'"'+function(a){function b(a){return a.charCodeAt(0).toString(16).toUpperCase()}return a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E\x0F]/g,function(a){return"\\x0"+b(a)}).replace(/[\x10-\x1F\x80-\xFF]/g,function(a){return"\\x"+b(a)}).replace(/[\u0180-\u0FFF]/g,function(a){return"\\u0"+b(a)}).replace(/[\u1080-\uFFFF]/g,function(a){return"\\u"+b(a)})}(b)+'"':"end of input","Expected "+c+" but "+d+" found."}(a,b)}function b(b){function c(a){return Rd!==a&&(Rd>a&&(Rd=0,Sd={line:1,column:1,seenCR:!1}),function(a,c,d){var e,f;for(e=c;e<d;e++)f=b.charAt(e),"\n"===f?(a.seenCR||a.line++,a.column=1,a.seenCR=!1):"\r"===f||"\u2028"===f||"\u2029"===f?(a.line++,a.column=1,a.seenCR=!0):(a.column++,a.seenCR=!1)}(Sd,Rd,a),Rd=a),Sd}function d(a){Pd<Td||(Pd>Td&&(Td=Pd,Ud=[]),Ud.push(a))}function e(){var a;return Vd++,a=h(),Vd--,null===a&&(null,0===Vd&&d($)),a}function f(){var a,c,f,g,h,i,j;if(a=Pd,null!==(c=e())){for(f=[],g=Pd,44===b.charCodeAt(Pd)?(h=aa,Pd++):(h=null,0===Vd&&d(ba)),null!==h?(i=N(),null!==i?(j=e(),null!==j?(h=[h,i,j],g=h):(Pd=g,g=_)):(Pd=g,g=_)):(Pd=g,g=_);null!==g;)f.push(g),g=Pd,44===b.charCodeAt(Pd)?(h=aa,Pd++):(h=null,0===Vd&&d(ba)),null!==h?(i=N(),null!==i?(j=e(),null!==j?(h=[h,i,j],g=h):(Pd=g,g=_)):(Pd=g,g=_)):(Pd=g,g=_);null!==f?(Qd=a,c=ca(c,f),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)}else Pd=a,a=_;return a}function g(){var a,c,e,g;return a=Pd,40===b.charCodeAt(Pd)?(c=da,Pd++):(c=null,0===Vd&&d(ea)),null!==c?(e=N(),null!==e?(41===b.charCodeAt(Pd)?(g=fa,Pd++):(g=null,0===Vd&&d(ga)),null!==g?(Qd=a,c=ha(),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_),null===a&&(a=Pd,40===b.charCodeAt(Pd)?(c=da,Pd++):(c=null,0===Vd&&d(ea)),null!==c?(e=f(),null!==e?(41===b.charCodeAt(Pd)?(g=fa,Pd++):(g=null,0===Vd&&d(ga)),null!==g?(Qd=a,c=ia(e),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)),a}function h(){var a,c,f,g,h,j,k,l,m,n,o;return a=Pd,c=i(),null!==c?(f=N(),null!==f?(g=Pd,63===b.charCodeAt(Pd)?(h=ka,Pd++):(h=null,0===Vd&&d(la)),null!==h?(j=N(),null!==j?(k=e(),null!==k?(l=N(),null!==l?(58===b.charCodeAt(Pd)?(m=ma,Pd++):(m=null,0===Vd&&d(na)),null!==m?(n=N(),null!==n?(o=e(),null!==o?(h=[h,j,k,l,m,n,o],g=h):(Pd=g,g=_)):(Pd=g,g=_)):(Pd=g,g=_)):(Pd=g,g=_)):(Pd=g,g=_)):(Pd=g,g=_)):(Pd=g,g=_),null===g&&(g=ja),null!==g?(Qd=a,c=oa(c,g),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_),a}function i(){var a,c,e,f,g,h,i,k;if(a=Pd,null!==(c=j())){for(e=[],f=Pd,g=N(),null!==g?(b.substr(Pd,2)===pa?(h=pa,Pd+=2):(h=null,0===Vd&&d(qa)),null!==h?(i=N(),null!==i?(k=j(),null!==k?(g=[g,h,i,k],f=g):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_);null!==f;)e.push(f),f=Pd,g=N(),null!==g?(b.substr(Pd,2)===pa?(h=pa,Pd+=2):(h=null,0===Vd&&d(qa)),null!==h?(i=N(),null!==i?(k=j(),null!==k?(g=[g,h,i,k],f=g):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_);null!==e?(Qd=a,c=ra(c,e),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)}else Pd=a,a=_;return a}function j(){var a,c,e,f,g,h,i,j;if(a=Pd,null!==(c=k())){for(e=[],f=Pd,g=N(),null!==g?(b.substr(Pd,2)===sa?(h=sa,Pd+=2):(h=null,0===Vd&&d(ta)),null!==h?(i=N(),null!==i?(j=k(),null!==j?(g=[g,h,i,j],f=g):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_);null!==f;)e.push(f),f=Pd,g=N(),null!==g?(b.substr(Pd,2)===sa?(h=sa,Pd+=2):(h=null,0===Vd&&d(ta)),null!==h?(i=N(),null!==i?(j=k(),null!==j?(g=[g,h,i,j],f=g):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_);null!==e?(Qd=a,c=ra(c,e),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)}else Pd=a,a=_;return a}function k(){var a,c,e,f,g,h,i,j,k;return a=Pd,c=l(),null!==c?(e=Pd,f=N(),null!==f?(g=Pd,b.substr(Pd,3)===ua?(h=ua,Pd+=3):(h=null,0===Vd&&d(va)),null===h&&(b.substr(Pd,2)===wa?(h=wa,Pd+=2):(h=null,0===Vd&&d(xa)),null===h&&(b.substr(Pd,2)===ya?(h=ya,Pd+=2):(h=null,0===Vd&&d(za)),null===h&&(h=Pd,60===b.charCodeAt(Pd)?(i=Aa,Pd++):(i=null,0===Vd&&d(Ba)),null!==i?(j=Pd,Vd++,45===b.charCodeAt(Pd)?(k=Ca,Pd++):(k=null,0===Vd&&d(Da)),Vd--,null===k?j=ja:(Pd=j,j=_),null!==j?(i=[i,j],h=i):(Pd=h,h=_)):(Pd=h,h=_),null===h&&(62===b.charCodeAt(Pd)?(h=Ea,Pd++):(h=null,0===Vd&&d(Fa)),null===h&&(b.substr(Pd,2)===Ga?(h=Ga,Pd+=2):(h=null,0===Vd&&d(Ha)),null===h&&(b.substr(Pd,2)===Ia?(h=Ia,Pd+=2):(h=null,0===Vd&&d(Ja)))))))),null!==h&&(h=b.substring(g,Pd)),g=h,null!==g?(h=N(),null!==h?(i=l(),null!==i?(f=[f,g,h,i],e=f):(Pd=e,e=_)):(Pd=e,e=_)):(Pd=e,e=_)):(Pd=e,e=_),null===e&&(e=ja),null!==e?(Qd=a,c=Ka(c,e),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_),a}function l(){var a,c,e,f,g,h,i,j;if(a=Pd,null!==(c=m())){for(e=[],f=Pd,g=N(),null!==g?(h=Pd,43===b.charCodeAt(Pd)?(i=La,Pd++):(i=null,0===Vd&&d(Ma)),null===i&&(45===b.charCodeAt(Pd)?(i=Ca,Pd++):(i=null,0===Vd&&d(Da))),null!==i&&(i=b.substring(h,Pd)),h=i,null!==h?(i=N(),null!==i?(j=m(),null!==j?(g=[g,h,i,j],f=g):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_);null!==f;)e.push(f),f=Pd,g=N(),null!==g?(h=Pd,43===b.charCodeAt(Pd)?(i=La,Pd++):(i=null,0===Vd&&d(Ma)),null===i&&(45===b.charCodeAt(Pd)?(i=Ca,Pd++):(i=null,0===Vd&&d(Da))),null!==i&&(i=b.substring(h,Pd)),h=i,null!==h?(i=N(),null!==i?(j=m(),null!==j?(g=[g,h,i,j],f=g):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_);null!==e?(Qd=a,c=ra(c,e),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)}else Pd=a,a=_;return a}function m(){var a,c,e,f,g,h,i,j;if(a=Pd,null!==(c=n())){for(e=[],f=Pd,g=N(),null!==g?(h=Pd,42===b.charCodeAt(Pd)?(i=Na,Pd++):(i=null,0===Vd&&d(Oa)),null===i&&(47===b.charCodeAt(Pd)?(i=Pa,Pd++):(i=null,0===Vd&&d(Qa)),null===i&&(37===b.charCodeAt(Pd)?(i=Ra,Pd++):(i=null,0===Vd&&d(Sa)),null===i&&(b.substr(Pd,3)===Ta?(i=Ta,Pd+=3):(i=null,0===Vd&&d(Ua))))),null!==i&&(i=b.substring(h,Pd)),h=i,null!==h?(i=N(),null!==i?(j=n(),null!==j?(g=[g,h,i,j],f=g):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_);null!==f;)e.push(f),f=Pd,g=N(),null!==g?(h=Pd,42===b.charCodeAt(Pd)?(i=Na,Pd++):(i=null,0===Vd&&d(Oa)),null===i&&(47===b.charCodeAt(Pd)?(i=Pa,Pd++):(i=null,0===Vd&&d(Qa)),null===i&&(37===b.charCodeAt(Pd)?(i=Ra,Pd++):(i=null,0===Vd&&d(Sa)),null===i&&(b.substr(Pd,3)===Ta?(i=Ta,Pd+=3):(i=null,0===Vd&&d(Ua))))),null!==i&&(i=b.substring(h,Pd)),h=i,null!==h?(i=N(),null!==i?(j=n(),null!==j?(g=[g,h,i,j],f=g):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_);null!==e?(Qd=a,c=ra(c,e),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)}else Pd=a,a=_;return a}function n(){var a,c,e,f,g,h,i,j;if(a=Pd,null!==(c=o())){for(e=[],f=Pd,g=N(),null!==g?(h=Pd,b.substr(Pd,2)===Va?(i=Va,Pd+=2):(i=null,0===Vd&&d(Wa)),null===i&&(b.substr(Pd,2)===Xa?(i=Xa,Pd+=2):(i=null,0===Vd&&d(Ya)),null===i&&(b.substr(Pd,2)===Za?(i=Za,Pd+=2):(i=null,0===Vd&&d($a)))),null!==i&&(i=b.substring(h,Pd)),h=i,null!==h?(i=N(),null!==i?(j=o(),null!==j?(g=[g,h,i,j],f=g):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_);null!==f;)e.push(f),f=Pd,g=N(),null!==g?(h=Pd,b.substr(Pd,2)===Va?(i=Va,Pd+=2):(i=null,0===Vd&&d(Wa)),null===i&&(b.substr(Pd,2)===Xa?(i=Xa,Pd+=2):(i=null,0===Vd&&d(Ya)),null===i&&(b.substr(Pd,2)===Za?(i=Za,Pd+=2):(i=null,0===Vd&&d($a)))),null!==i&&(i=b.substring(h,Pd)),h=i,null!==h?(i=N(),null!==i?(j=o(),null!==j?(g=[g,h,i,j],f=g):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_);null!==e?(Qd=a,c=ra(c,e),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)}else Pd=a,a=_;return a}function o(){var a,c,e,f,g,h,i,j;if(a=Pd,null!==(c=p())){for(e=[],f=Pd,g=N(),null!==g?(b.substr(Pd,2)===_a?(h=_a,Pd+=2):(h=null,0===Vd&&d(ab)),null!==h?(i=N(),null!==i?(j=p(),null!==j?(g=[g,h,i,j],f=g):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_);null!==f;)e.push(f),f=Pd,g=N(),null!==g?(b.substr(Pd,2)===_a?(h=_a,Pd+=2):(h=null,0===Vd&&d(ab)),null!==h?(i=N(),null!==i?(j=p(),null!==j?(g=[g,h,i,j],f=g):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_);null!==e?(Qd=a,c=ra(c,e),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)}else Pd=a,a=_;return a}function p(){var a,c,e;return a=Pd,c=Pd,33===b.charCodeAt(Pd)?(e=bb,Pd++):(e=null,0===Vd&&d(cb)),null===e&&(43===b.charCodeAt(Pd)?(e=La,Pd++):(e=null,0===Vd&&d(Ma)),null===e&&(45===b.charCodeAt(Pd)?(e=Ca,Pd++):(e=null,0===Vd&&d(Da)))),null!==e&&(e=b.substring(c,Pd)),c=e,null!==c?(e=p(),null!==e?(Qd=a,c=db(c,e),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_),null===a&&(a=q()),a}function q(){var a,b,c,d;if(a=Pd,null!==(b=t())){for(c=[],d=r();null!==d;)c.push(d),d=r();null!==c?(Qd=a,b=eb(b,c),null===b?(Pd=a,a=b):a=b):(Pd=a,a=_)}else Pd=a,a=_;return a}function r(){var a,c,f,g;return a=Pd,46===b.charCodeAt(Pd)?(c=fb,Pd++):(c=null,0===Vd&&d(gb)),null!==c?(f=s(),null!==f?(Qd=a,c=hb(f),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_),null===a&&(a=Pd,91===b.charCodeAt(Pd)?(c=ib,Pd++):(c=null,0===Vd&&d(jb)),null!==c?(f=e(),null!==f?(93===b.charCodeAt(Pd)?(g=kb,Pd++):(g=null,0===Vd&&d(lb)),null!==g?(Qd=a,c=mb(f),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)),a}function s(){var a,c,f,h,i;return a=Pd,c=Pd,f=u(),null!==f&&(f=b.substring(c,Pd)),c=f,null!==c?(123===b.charCodeAt(Pd)?(f=nb,Pd++):(f=null,0===Vd&&d(ob)),null!==f?(h=e(),null!==h?(125===b.charCodeAt(Pd)?(i=pb,Pd++):(i=null,0===Vd&&d(qb)),null!==i?(Qd=a,c=rb(c,h),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_),null===a&&(a=Pd,c=Pd,f=u(),null!==f&&(f=b.substring(c,Pd)),c=f,null!==c?(f=g(),null!==f?(Qd=a,c=sb(c,f),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_),null===a&&(a=Pd,c=J(),null!==c&&(Qd=a,c=tb(c)),null===c?(Pd=a,a=c):a=c,null===a&&(a=Pd,c=Pd,f=u(),null!==f&&(f=b.substring(c,Pd)),c=f,null!==c&&(Qd=a,c=ub(c)),null===c?(Pd=a,a=c):a=c,null===a&&(a=Pd,c=A(),null!==c&&(Qd=a,c=vb(c)),null===c?(Pd=a,a=c):a=c,null===a&&(a=Pd,c=B(),null!==c&&(Qd=a,c=vb(c)),null===c?(Pd=a,a=c):a=c,null===a&&(a=Pd,40===b.charCodeAt(Pd)?(c=da,Pd++):(c=null,0===Vd&&d(ea)),null!==c?(f=e(),null!==f?(41===b.charCodeAt(Pd)?(h=fa,Pd++):(h=null,0===Vd&&d(ga)),null!==h?(Qd=a,c=vb(f),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_))))))),a}function t(){var a,c,f,h;return a=A(),null===a&&null===(a=B())&&null===(a=v())&&null===(a=E())&&(a=Pd,b.substr(Pd,4)===wb?(c=wb,Pd+=4):(c=null,0===Vd&&d(xb)),null!==c&&(Qd=a,c=yb()),null===c?(Pd=a,a=c):a=c,null===a&&(a=Pd,b.substr(Pd,4)===zb?(c=zb,Pd+=4):(c=null,0===Vd&&d(Ab)),null!==c&&(Qd=a,c=Bb()),null===c?(Pd=a,a=c):a=c,null===a&&(a=Pd,b.substr(Pd,5)===Cb?(c=Cb,Pd+=5):(c=null,0===Vd&&d(Db)),null!==c&&(Qd=a,c=Eb()),null===c?(Pd=a,a=c):a=c,null===a&&(a=Pd,b.substr(Pd,4)===Fb?(c=Fb,Pd+=4):(c=null,0===Vd&&d(Gb)),null!==c&&(Qd=a,c=Hb()),null===c?(Pd=a,a=c):a=c,null===a&&(a=Pd,64===b.charCodeAt(Pd)?(c=Ib,Pd++):(c=null,0===Vd&&d(Jb)),null!==c?(f=Pd,h=T(),null!==h&&(h=b.substring(f,Pd)),f=h,null!==f?(Qd=a,c=Kb(f),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_),null===a&&(a=Pd,36===b.charCodeAt(Pd)?(c=Lb,Pd++):(c=null,0===Vd&&d(Mb)),null!==c?(f=Pd,h=u(),null!==h&&(h=b.substring(f,Pd)),f=h,null!==f?(Qd=a,c=Nb(f),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_),null===a&&(a=Pd,36===b.charCodeAt(Pd)?(c=Lb,Pd++):(c=null,0===Vd&&d(Mb)),null!==c&&(Qd=a,c=Ob()),null===c?(Pd=a,a=c):a=c,null===a&&(a=Pd,35===b.charCodeAt(Pd)?(c=Pb,Pd++):(c=null,0===Vd&&d(Qb)),null!==c?(f=Pd,h=u(),null!==h&&(h=b.substring(f,Pd)),f=h,null!==f?(Qd=a,c=Rb(f),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_),null===a&&(a=Pd,38===b.charCodeAt(Pd)?(c=Sb,Pd++):(c=null,0===Vd&&d(Tb)),null!==c?(f=Pd,h=u(),null!==h&&(h=b.substring(f,Pd)),f=h,null!==f?(h=g(),
null!==h?(Qd=a,c=Ub(f,h),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_),null===a&&(a=Pd,94===b.charCodeAt(Pd)?(c=Vb,Pd++):(c=null,0===Vd&&d(Wb)),null!==c?(f=t(),null!==f?(Qd=a,c=Xb(f),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_),null===a&&(a=Pd,40===b.charCodeAt(Pd)?(c=da,Pd++):(c=null,0===Vd&&d(ea)),null!==c?(f=e(),null!==f?(41===b.charCodeAt(Pd)?(h=fa,Pd++):(h=null,0===Vd&&d(ga)),null!==h?(Qd=a,c=Yb(f),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_),null===a&&(a=Pd,c=s(),null!==c&&(Qd=a,c=Zb(c)),null===c?(Pd=a,a=c):a=c,null===a&&(a=Pd,c=[],null!==c&&(Qd=a,c=$b()),null===c?(Pd=a,a=c):a=c))))))))))))),a}function u(){var a,c;if(Vd++,a=[],ac.test(b.charAt(Pd))?(c=b.charAt(Pd),Pd++):(c=null,0===Vd&&d(bc)),null!==c)for(;null!==c;)a.push(c),ac.test(b.charAt(Pd))?(c=b.charAt(Pd),Pd++):(c=null,0===Vd&&d(bc));else a=_;return Vd--,null===a&&(c=null,0===Vd&&d(_b)),a}function v(){var a,c,e,f;if(Vd++,a=Pd,39===b.charCodeAt(Pd)?(c=dc,Pd++):(c=null,0===Vd&&d(ec)),null!==c){for(e=[],f=w();null!==f;)e.push(f),f=w();null!==e?(39===b.charCodeAt(Pd)?(f=dc,Pd++):(f=null,0===Vd&&d(ec)),null!==f?(Qd=a,c=fc(e),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_)}else Pd=a,a=_;if(null===a)if(a=Pd,34===b.charCodeAt(Pd)?(c=gc,Pd++):(c=null,0===Vd&&d(hc)),null!==c){for(e=[],f=x();null!==f;)e.push(f),f=x();null!==e?(34===b.charCodeAt(Pd)?(f=gc,Pd++):(f=null,0===Vd&&d(hc)),null!==f?(Qd=a,c=fc(e),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_)}else Pd=a,a=_;return Vd--,null===a&&(c=null,0===Vd&&d(cc)),a}function w(){var a,c;return ic.test(b.charAt(Pd))?(a=b.charAt(Pd),Pd++):(a=null,0===Vd&&d(jc)),null===a&&(a=Pd,b.substr(Pd,2)===kc?(c=kc,Pd+=2):(c=null,0===Vd&&d(lc)),null!==c&&(Qd=a,c=mc()),null===c?(Pd=a,a=c):a=c,null===a&&(a=y())),a}function x(){var a,c;return nc.test(b.charAt(Pd))?(a=b.charAt(Pd),Pd++):(a=null,0===Vd&&d(oc)),null===a&&(a=Pd,b.substr(Pd,2)===pc?(c=pc,Pd+=2):(c=null,0===Vd&&d(qc)),null!==c&&(Qd=a,c=rc()),null===c?(Pd=a,a=c):a=c,null===a&&(a=y())),a}function y(){var a,c,e,f,g,h,i,j;return a=Pd,b.substr(Pd,2)===sc?(c=sc,Pd+=2):(c=null,0===Vd&&d(tc)),null!==c&&(Qd=a,c=uc()),null===c?(Pd=a,a=c):a=c,null===a&&(a=Pd,b.substr(Pd,2)===vc?(c=vc,Pd+=2):(c=null,0===Vd&&d(wc)),null!==c&&(Qd=a,c=xc()),null===c?(Pd=a,a=c):a=c,null===a&&(a=Pd,b.substr(Pd,2)===yc?(c=yc,Pd+=2):(c=null,0===Vd&&d(zc)),null!==c&&(Qd=a,c=Ac()),null===c?(Pd=a,a=c):a=c,null===a&&(a=Pd,b.substr(Pd,2)===Bc?(c=Bc,Pd+=2):(c=null,0===Vd&&d(Cc)),null!==c&&(Qd=a,c=Dc()),null===c?(Pd=a,a=c):a=c,null===a&&(a=Pd,b.substr(Pd,2)===Ec?(c=Ec,Pd+=2):(c=null,0===Vd&&d(Fc)),null!==c&&(Qd=a,c=Gc()),null===c?(Pd=a,a=c):a=c,null===a&&(a=Pd,b.substr(Pd,2)===Hc?(c=Hc,Pd+=2):(c=null,0===Vd&&d(Ic)),null!==c&&(Qd=a,c=Jc()),null===c?(Pd=a,a=c):a=c,null===a&&(a=Pd,b.substr(Pd,2)===Kc?(c=Kc,Pd+=2):(c=null,0===Vd&&d(Lc)),null!==c&&(Qd=a,c=Mc()),null===c?(Pd=a,a=c):a=c,null===a&&(a=Pd,b.substr(Pd,2)===Nc?(c=Nc,Pd+=2):(c=null,0===Vd&&d(Oc)),null!==c&&(Qd=a,c=Pc()),null===c?(Pd=a,a=c):a=c,null===a&&(a=Pd,b.substr(Pd,2)===Qc?(c=Qc,Pd+=2):(c=null,0===Vd&&d(Rc)),null!==c?(e=Pd,f=Pd,g=z(),null!==g?(h=z(),null!==h?(i=z(),null!==i?(j=z(),null!==j?(g=[g,h,i,j],f=g):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_),null!==f&&(f=b.substring(e,Pd)),e=f,null!==e?(Qd=a,c=Sc(e),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_))))))))),a}function z(){var a;return Tc.test(b.charAt(Pd))?(a=b.charAt(Pd),Pd++):(a=null,0===Vd&&d(Uc)),a}function A(){var a,c,e,g;return a=Pd,91===b.charCodeAt(Pd)?(c=ib,Pd++):(c=null,0===Vd&&d(jb)),null!==c?(e=N(),null!==e?(93===b.charCodeAt(Pd)?(g=kb,Pd++):(g=null,0===Vd&&d(lb)),null!==g?(Qd=a,c=Vc(),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_),null===a&&(a=Pd,91===b.charCodeAt(Pd)?(c=ib,Pd++):(c=null,0===Vd&&d(jb)),null!==c?(e=f(),null!==e?(93===b.charCodeAt(Pd)?(g=kb,Pd++):(g=null,0===Vd&&d(lb)),null!==g?(Qd=a,c=Wc(e),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)),a}function B(){var a,c,e,f,g,h;return a=Pd,123===b.charCodeAt(Pd)?(c=nb,Pd++):(c=null,0===Vd&&d(ob)),null!==c?(e=N(),null!==e?(125===b.charCodeAt(Pd)?(f=pb,Pd++):(f=null,0===Vd&&d(qb)),null!==f?(g=N(),null!==g?(Qd=a,c=Xc(),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_),null===a&&(a=Pd,123===b.charCodeAt(Pd)?(c=nb,Pd++):(c=null,0===Vd&&d(ob)),null!==c?(e=N(),null!==e?(f=C(),null!==f?(125===b.charCodeAt(Pd)?(g=pb,Pd++):(g=null,0===Vd&&d(qb)),null!==g?(h=N(),null!==h?(Qd=a,c=Yc(f),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)),a}function C(){var a,c,e,f,g,h,i;if(a=Pd,null!==(c=D())){for(e=[],f=Pd,44===b.charCodeAt(Pd)?(g=aa,Pd++):(g=null,0===Vd&&d(ba)),null!==g?(h=N(),null!==h?(i=D(),null!==i?(g=[g,h,i],f=g):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_);null!==f;)e.push(f),f=Pd,44===b.charCodeAt(Pd)?(g=aa,Pd++):(g=null,0===Vd&&d(ba)),null!==g?(h=N(),null!==h?(i=D(),null!==i?(g=[g,h,i],f=g):(Pd=f,f=_)):(Pd=f,f=_)):(Pd=f,f=_);null!==e?(Qd=a,c=Zc(c,e),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)}else Pd=a,a=_;return a}function D(){var a,c,f,g,h;return a=Pd,c=Pd,f=u(),null!==f&&(f=b.substring(c,Pd)),c=f,null!==c?(58===b.charCodeAt(Pd)?(f=ma,Pd++):(f=null,0===Vd&&d(na)),null!==f?(g=N(),null!==g?(h=e(),null!==h?(Qd=a,c=$c(c,h),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_),a}function E(){var a,c,e;return Vd++,a=Pd,c=Pd,e=F(),null!==e&&(e=b.substring(c,Pd)),c=e,null!==c&&(Qd=a,c=ad(c)),null===c?(Pd=a,a=c):a=c,Vd--,null===a&&(c=null,0===Vd&&d(_c)),a}function F(){var a,b,c,d;return a=Pd,b=G(),null!==b?(c=H(),null!==c?(d=I(),null!==d?(b=[b,c,d],a=b):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_),null===a&&(a=Pd,b=G(),null!==b?(c=H(),null!==c?(b=[b,c],a=b):(Pd=a,a=_)):(Pd=a,a=_),null===a&&(a=Pd,b=G(),null!==b?(c=I(),null!==c?(b=[b,c],a=b):(Pd=a,a=_)):(Pd=a,a=_),null===a&&(a=G()))),a}function G(){var a,c,e,f;return a=Pd,c=M(),null!==c?(e=J(),null!==e?(c=[c,e],a=c):(Pd=a,a=_)):(Pd=a,a=_),null===a&&null===(a=L())&&(a=Pd,45===b.charCodeAt(Pd)?(c=Ca,Pd++):(c=null,0===Vd&&d(Da)),null!==c?(e=M(),null!==e?(f=J(),null!==f?(c=[c,e,f],a=c):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_),null===a&&(a=Pd,45===b.charCodeAt(Pd)?(c=Ca,Pd++):(c=null,0===Vd&&d(Da)),null!==c?(e=L(),null!==e?(c=[c,e],a=c):(Pd=a,a=_)):(Pd=a,a=_))),a}function H(){var a,c,e;return a=Pd,46===b.charCodeAt(Pd)?(c=fb,Pd++):(c=null,0===Vd&&d(gb)),null!==c?(e=J(),null!==e?(c=[c,e],a=c):(Pd=a,a=_)):(Pd=a,a=_),a}function I(){var a,b,c;return a=Pd,b=K(),null!==b?(c=J(),null!==c?(b=[b,c],a=b):(Pd=a,a=_)):(Pd=a,a=_),a}function J(){var a,b;if(a=[],null!==(b=L()))for(;null!==b;)a.push(b),b=L();else a=_;return a}function K(){var a,c,e;return a=Pd,bd.test(b.charAt(Pd))?(c=b.charAt(Pd),Pd++):(c=null,0===Vd&&d(cd)),null!==c?(dd.test(b.charAt(Pd))?(e=b.charAt(Pd),Pd++):(e=null,0===Vd&&d(ed)),null===e&&(e=ja),null!==e?(c=[c,e],a=c):(Pd=a,a=_)):(Pd=a,a=_),a}function L(){var a;return fd.test(b.charAt(Pd))?(a=b.charAt(Pd),Pd++):(a=null,0===Vd&&d(gd)),a}function M(){var a;return hd.test(b.charAt(Pd))?(a=b.charAt(Pd),Pd++):(a=null,0===Vd&&d(id)),a}function N(){var a,b;for(a=[],b=O(),null===b&&(b=P());null!==b;)a.push(b),null===(b=O())&&(b=P());return a}function O(){var a;return Vd++,kd.test(b.charAt(Pd))?(a=b.charAt(Pd),Pd++):(a=null,0===Vd&&d(ld)),null===a&&(md.test(b.charAt(Pd))?(a=b.charAt(Pd),Pd++):(a=null,0===Vd&&d(nd))),Vd--,null===a&&(null,0===Vd&&d(jd)),a}function P(){var a;return Vd++,pd.test(b.charAt(Pd))?(a=b.charAt(Pd),Pd++):(a=null,0===Vd&&d(qd)),Vd--,null===a&&(null,0===Vd&&d(od)),a}function Q(){var a,b,c,d;if(a=Pd,null!==(b=N())){for(c=[],d=R();null!==d;)c.push(d),d=R();null!==c?(d=N(),null!==d?(Qd=a,b=rd(c),null===b?(Pd=a,a=b):a=b):(Pd=a,a=_)):(Pd=a,a=_)}else Pd=a,a=_;return a}function R(){var a,c,e,f,g,h,i,j,k,l;return a=Pd,64===b.charCodeAt(Pd)?(c=Ib,Pd++):(c=null,0===Vd&&d(Jb)),null!==c?(e=Pd,f=T(),null!==f&&(f=b.substring(e,Pd)),e=f,null!==e?(f=N(),null!==f?(g=S(),null===g&&(g=ja),null!==g?(123===b.charCodeAt(Pd)?(h=nb,Pd++):(h=null,0===Vd&&d(ob)),null!==h?(i=N(),null!==i?(j=U(),null!==j?(125===b.charCodeAt(Pd)?(k=pb,Pd++):(k=null,0===Vd&&d(qb)),null!==k?(l=N(),null!==l?(Qd=a,c=sd(e,g,j),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_),a}function S(){var a,c,f,g,h,i,j,k;return a=Pd,60===b.charCodeAt(Pd)?(c=Aa,Pd++):(c=null,0===Vd&&d(Ba)),null===c&&(58===b.charCodeAt(Pd)?(c=ma,Pd++):(c=null,0===Vd&&d(na))),null!==c?(f=N(),null!==f?(g=v(),null===g&&(g=ja),null!==g?(h=N(),null!==h?(i=Pd,j=Pd,Vd++,123===b.charCodeAt(Pd)?(k=nb,Pd++):(k=null,0===Vd&&d(ob)),Vd--,null===k?j=ja:(Pd=j,j=_),null!==j?(k=e(),null!==k?(j=[j,k],i=j):(Pd=i,i=_)):(Pd=i,i=_),null===i&&(i=ja),null!==i?(j=N(),null!==j?(Qd=a,c=td(c,g,i),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_),null===a&&(a=Pd,c=N(),null!==c&&(Qd=a,c=ud()),null===c?(Pd=a,a=c):a=c),a}function T(){var a,c,e,f,g,h,i;if(a=Pd,c=[],vd.test(b.charAt(Pd))?(e=b.charAt(Pd),Pd++):(e=null,0===Vd&&d(wd)),null!==e)for(;null!==e;)c.push(e),vd.test(b.charAt(Pd))?(e=b.charAt(Pd),Pd++):(e=null,0===Vd&&d(wd));else c=_;if(null!==c){if(e=[],f=Pd,58===b.charCodeAt(Pd)?(g=ma,Pd++):(g=null,0===Vd&&d(na)),null!==g){if(h=[],vd.test(b.charAt(Pd))?(i=b.charAt(Pd),Pd++):(i=null,0===Vd&&d(wd)),null!==i)for(;null!==i;)h.push(i),vd.test(b.charAt(Pd))?(i=b.charAt(Pd),Pd++):(i=null,0===Vd&&d(wd));else h=_;null!==h?(g=[g,h],f=g):(Pd=f,f=_)}else Pd=f,f=_;for(;null!==f;)if(e.push(f),f=Pd,58===b.charCodeAt(Pd)?(g=ma,Pd++):(g=null,0===Vd&&d(na)),null!==g){if(h=[],vd.test(b.charAt(Pd))?(i=b.charAt(Pd),Pd++):(i=null,0===Vd&&d(wd)),null!==i)for(;null!==i;)h.push(i),vd.test(b.charAt(Pd))?(i=b.charAt(Pd),Pd++):(i=null,0===Vd&&d(wd));else h=_;null!==h?(g=[g,h],f=g):(Pd=f,f=_)}else Pd=f,f=_;null!==e?(c=[c,e],a=c):(Pd=a,a=_)}else Pd=a,a=_;return a}function U(){var a,c,e,f,g,h,i,j,k;if(a=Pd,null!==(c=V()))if(null!==(e=N())){for(f=[],g=Pd,59===b.charCodeAt(Pd)?(h=xd,Pd++):(h=null,0===Vd&&d(yd)),null!==h?(i=N(),null!==i?(j=V(),null!==j?(k=N(),null!==k?(h=[h,i,j,k],g=h):(Pd=g,g=_)):(Pd=g,g=_)):(Pd=g,g=_)):(Pd=g,g=_);null!==g;)f.push(g),g=Pd,59===b.charCodeAt(Pd)?(h=xd,Pd++):(h=null,0===Vd&&d(yd)),null!==h?(i=N(),null!==i?(j=V(),null!==j?(k=N(),null!==k?(h=[h,i,j,k],g=h):(Pd=g,g=_)):(Pd=g,g=_)):(Pd=g,g=_)):(Pd=g,g=_);null!==f?(59===b.charCodeAt(Pd)?(g=xd,Pd++):(g=null,0===Vd&&d(yd)),null===g&&(g=ja),null!==g?(h=N(),null!==h?(Qd=a,c=ca(c,f),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)}else Pd=a,a=_;else Pd=a,a=_;return null===a&&(a=Pd,c=V(),null!==c?(e=N(),null!==e?(59===b.charCodeAt(Pd)?(f=xd,Pd++):(f=null,0===Vd&&d(yd)),null===f&&(f=ja),null!==f?(g=N(),null!==g?(Qd=a,c=zd(c),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_),null===a&&(a=Pd,c=N(),null!==c&&(Qd=a,c=ha()),null===c?(Pd=a,a=c):a=c)),a}function V(){var a,c,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;if(a=Pd,b.substr(Pd,2)===Ad?(c=Ad,Pd+=2):(c=null,0===Vd&&d(Bd)),null===c&&(b.substr(Pd,6)===Cd?(c=Cd,Pd+=6):(c=null,0===Vd&&d(Dd))),null!==c?(32===b.charCodeAt(Pd)?(f=Ed,Pd++):(f=null,0===Vd&&d(Fd)),null!==f?(g=N(),null!==g?(h=Pd,i=u(),null!==i&&(i=b.substring(h,Pd)),h=i,null!==h?(i=N(),null!==i?(b.substr(Pd,2)===Gd?(j=Gd,Pd+=2):(j=null,0===Vd&&d(Hd)),null!==j?(k=N(),null!==k?(l=e(),null!==l?(m=N(),null!==m?(Qd=a,c=Id(c,h,l),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_),null===a){if(a=Pd,null!==(c=e()))if(null!==(f=N()))if(58===b.charCodeAt(Pd)?(g=ma,Pd++):(g=null,0===Vd&&d(na)),null===g&&(b.substr(Pd,3)===Jd?(g=Jd,Pd+=3):(g=null,0===Vd&&d(Kd)),null===g&&(b.substr(Pd,2)===Ld?(g=Ld,Pd+=2):(g=null,0===Vd&&d(Md)))),null!==g)if(null!==(h=N()))if(null!==(i=e()))if(null!==(j=N())){for(k=[],l=Pd,44===b.charCodeAt(Pd)?(m=aa,Pd++):(m=null,0===Vd&&d(ba)),null!==m?(n=N(),null!==n?(o=Pd,p=u(),null!==p&&(p=b.substring(o,Pd)),o=p,null!==o?(p=N(),null!==p?(58===b.charCodeAt(Pd)?(q=ma,Pd++):(q=null,0===Vd&&d(na)),null!==q?(r=N(),null!==r?(s=e(),null!==s?(t=N(),null!==t?(m=[m,n,o,p,q,r,s,t],l=m):(Pd=l,l=_)):(Pd=l,l=_)):(Pd=l,l=_)):(Pd=l,l=_)):(Pd=l,l=_)):(Pd=l,l=_)):(Pd=l,l=_)):(Pd=l,l=_);null!==l;)k.push(l),l=Pd,44===b.charCodeAt(Pd)?(m=aa,Pd++):(m=null,0===Vd&&d(ba)),null!==m?(n=N(),null!==n?(o=Pd,p=u(),null!==p&&(p=b.substring(o,Pd)),o=p,null!==o?(p=N(),null!==p?(58===b.charCodeAt(Pd)?(q=ma,Pd++):(q=null,0===Vd&&d(na)),null!==q?(r=N(),null!==r?(s=e(),null!==s?(t=N(),null!==t?(m=[m,n,o,p,q,r,s,t],l=m):(Pd=l,l=_)):(Pd=l,l=_)):(Pd=l,l=_)):(Pd=l,l=_)):(Pd=l,l=_)):(Pd=l,l=_)):(Pd=l,l=_)):(Pd=l,l=_);null!==k?(Qd=a,c=Nd(c,g,i,k),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)}else Pd=a,a=_;else Pd=a,a=_;else Pd=a,a=_;else Pd=a,a=_;else Pd=a,a=_;else Pd=a,a=_;null===a&&(a=Pd,c=Pd,f=u(),null!==f&&(f=b.substring(c,Pd)),c=f,null!==c?(f=N(),null!==f?(g=e(),null!==g?(h=N(),null!==h?(Qd=a,c=Od(c,g),null===c?(Pd=a,a=c):a=c):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_)):(Pd=a,a=_))}return a}var W,X=arguments.length>1?arguments[1]:{},Y={expression:e,sheet:Q},Z=e,$="expression",_=null,aa=",",ba='","',ca=function(a,b){for(var c=[a],d=0;d<b.length;d++)c.push(b[d][2]);return c},da="(",ea='"("',fa=")",ga='")"',ha=function(){return[]},ia=function(a){return a},ja="",ka="?",la='"?"',ma=":",na='":"',oa=function(a,b){if(b){return{type:"if",args:[a,b[2],b[6]]}}return a},pa="||",qa='"||"',ra=function(a,b){for(var c=0;c<b.length;c++)a={type:Wd[b[c][1]],args:[a,b[c][3]]};return a},sa="&&",ta='"&&"',ua="<=>",va='"<=>"',wa="<=",xa='"<="',ya=">=",za='">="',Aa="<",Ba='"<"',Ca="-",Da='"-"',Ea=">",Fa='">"',Ga="==",Ha='"=="',Ia="!=",Ja='"!="',Ka=function(a,b){if(b){var c=b[1],d=b[3];return"!="===c?{type:"not",args:[{type:"equals",args:[a,d]}]}:{type:Wd[c],args:[a,d]}}return a},La="+",Ma='"+"',Na="*",Oa='"*"',Pa="/",Qa='"/"',Ra="%",Sa='"%"',Ta="rem",Ua='"rem"',Va="**",Wa='"**"',Xa="//",Ya='"//"',Za="%%",$a='"%%"',_a="??",ab='"??"',bb="!",cb='"!"',db=function(a,b){return{type:Xd[a],args:[b]}},eb=function(a,b){for(var c=0;c<b.length;c++)a=b[c](a);return a},fb=".",gb='"."',hb=function(a){return a},ib="[",jb='"["',kb="]",lb='"]"',mb=function(a){return function(b){return{type:"property",args:[b,a]}}},nb="{",ob='"{"',pb="}",qb='"}"',rb=function(a,b){return Yd[a]?function(c){return{type:Yd[a],args:[c,b]}}:"value"===b.type?function(b){return{type:a,args:[b]}}:function(c){return{type:a,args:[{type:"mapBlock",args:[c,b]}]}}},sb=function(a,b){return function(c){return{type:a,args:[c].concat(b)}}},tb=function(a){return function(b){return{type:"property",args:[b,{type:"literal",value:+a.join("")}]}}},ub=function(a){return function(b){return{type:"property",args:[b,{type:"literal",value:a}]}}},vb=function(a){return function(b){return{type:"with",args:[b,a]}}},wb="this",xb='"this"',yb=function(){return{type:"value"}},zb="true",Ab='"true"',Bb=function(){return{type:"literal",value:!0}},Cb="false",Db='"false"',Eb=function(){return{type:"literal",value:!1}},Fb="null",Gb='"null"',Hb=function(){return{type:"literal",value:null}},Ib="@",Jb='"@"',Kb=function(a){return{type:"component",label:a}},Lb="$",Mb='"$"',Nb=function(a){return{type:"property",args:[{type:"parameters"},{type:"literal",value:a}]}},Ob=function(){return{type:"parameters"}},Pb="#",Qb='"#"',Rb=function(a){return{type:"element",id:a}},Sb="&",Tb='"&"',Ub=function(a,b){return{type:a,args:b,inline:!0}},Vb="^",Wb='"^"',Xb=function(a){return{type:"parent",args:[a]}},Yb=function(a){return a},Zb=function(a){return a({type:"value"})},$b=function(){return{type:"value"}},_b="word",ac=/^[a-zA-Z_0-9\-]/,bc="[a-zA-Z_0-9\\-]",cc="string",dc="'",ec='"\'"',fc=function(a){return{type:"literal",value:a.join("")}},gc='"',hc='"\\""',ic=/^[^'\\\0-\x1F]/,jc="[^'\\\\\\0-\\x1F]",kc="\\'",lc='"\\\\\'"',mc=function(){return"'"},nc=/^[^"\\\0-\x1F]/,oc='[^"\\\\\\0-\\x1F]',pc='\\"',qc='"\\\\\\""',rc=function(){return'"'},sc="\\\\",tc='"\\\\\\\\"',uc=function(){return"\\"},vc="\\/",wc='"\\\\/"',xc=function(){return"/"},yc="\\b",zc='"\\\\b"',Ac=function(){return"\b"},Bc="\\f",Cc='"\\\\f"',Dc=function(){return"\f"},Ec="\\n",Fc='"\\\\n"',Gc=function(){return"\n"},Hc="\\r",Ic='"\\\\r"',Jc=function(){return"\r"},Kc="\\t",Lc='"\\\\t"',Mc=function(){return"\t"},Nc="\\0",Oc='"\\\\0"',Pc=function(){return"\0"},Qc="\\u",Rc='"\\\\u"',Sc=function(a){return String.fromCharCode(parseInt(a,16))},Tc=/^[0-9a-fA-F]/,Uc="[0-9a-fA-F]",Vc=function(){return{type:"tuple",args:[]}},Wc=function(a){return{type:"tuple",args:a}},Xc=function(){return{type:"record",args:[]}},Yc=function(a){return{type:"record",args:a}},Zc=function(a,b){var c={};c[a[0]]=a[1];for(var d=0;d<b.length;d++)c[b[d][2][0]]=b[d][2][1];return c},$c=function(a,b){return[a,b]},_c="number",ad=function(a){return{type:"literal",value:+a}},bd=/^[eE]/,cd="[eE]",dd=/^[+\-]/,ed="[+\\-]",fd=/^[0-9]/,gd="[0-9]",hd=/^[1-9]/,id="[1-9]",jd="whitespace",kd=/^[\t\x0B\f \xA0\uFEFF]/,ld="[\\t\\x0B\\f \\xA0\\uFEFF]",md=/^[ \xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000]/,nd="[ \\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000]",od="line terminator",pd=/^[\n\r\u2028\u2029]/,qd="[\\n\\r\\u2028\\u2029]",rd=function(a){return{type:"sheet",blocks:a}},sd=function(a,b,c){return{type:"block",connection:b.connection,module:b.module,exports:b.exports,label:a,statements:c}},td=function(a,b,c){return{connection:{"<":"prototype",":":"object"}[a],module:b&&b.value,exports:""!==c?c[1]:void 0}},ud=function(){return{}},vd=/^[a-zA-Z_0-9]/,wd="[a-zA-Z_0-9]",xd=";",yd='";"',zd=function(a){return[a]},Ad="on",Bd='"on"',Cd="before",Dd='"before"',Ed=" ",Fd='" "',Gd="->",Hd='"->"',Id=function(a,b,c){return{type:"event",when:a,event:b,listener:c}},Jd="<->",Kd='"<->"',Ld="<-",Md='"<-"',Nd=function(a,b,c,d){var e={type:Zd[b],args:[a,c]};if(d.length){for(var f={},g=0;g<d.length;g++)f[d[g][2]]=d[g][6];e.descriptor=f}return e},Od=function(a,b){return{type:"unit",name:a,value:b}},Pd=0,Qd=0,Rd=0,Sd={line:1,column:1,seenCR:!1},Td=0,Ud=[],Vd=0;if("startRule"in X){if(!(X.startRule in Y))throw new Error("Can't start parsing from rule \""+X.startRule+'".');Z=Y[X.startRule]}var Wd={"**":"pow","//":"root","%%":"log","*":"mul","/":"div","%":"mod",rem:"rem","+":"add","-":"sub","<":"lt",">":"gt","<=":"le",">=":"ge","==":"equals","<=>":"compare","??":"default","&&":"and","||":"or","<-":"bind","<->":"bind2",":":"assign"},Xd={"+":"toNumber","-":"neg","!":"not","^":"parent"},Yd={map:"mapBlock",filter:"filterBlock",some:"someBlock",every:"everyBlock",sorted:"sortedBlock",sortedSet:"sortedSetBlock",group:"groupBlock",groupMap:"groupMapBlock",min:"minBlock",max:"maxBlock"},Zd={":":"assign","<-":"bind","<->":"bind2"};if(null!==(W=Z())&&Pd===b.length)return W;throw function(a){var b=0;for(a.sort();b<a.length;)a[b-1]===a[b]?a.splice(b,1):b++}(Ud),Qd=Math.max(Pd,Td),new a(Ud,Qd<b.length?b.charAt(Qd):null,Qd,c(Qd).line,c(Qd).column)}return function(a,b){function c(){this.constructor=a}c.prototype=b.prototype,a.prototype=new c}(a,Error),{SyntaxError:a,parse:b}}()},{}],37:[function(a,b,c){var d=a("collections/set"),e=a("collections/dict"),f=c.precedence=e();(c.precedenceLevels=[["tuple","record"],["literal","value","parameters","property","element","component","mapBlock","filterBlock","sortedBlock","groupBlock","groupMapBlock","with"],["not","neg","number","parent"],["scope"],["default"],["pow","root","log"],["mul","div","mod","rem"],["add","sub"],["equals","lt","gt","le","ge","compare"],["and"],["or"],["if"]]).forEach(function(a){var b=d(f.keys());a.forEach(function(a){f.set(a,b)})});var g=c.operatorTokens=e({"**":"pow","//":"root","%%":"log","*":"mul","/":"div","%":"mod",rem:"rem","+":"add","-":"sub","<":"lt",">":"gt","<=":"le",">=":"ge","==":"equals","<=>":"compare","!=":"notEquals","??":"default","&&":"and","||":"or","?":"then",":":"else"});c.operatorTypes=e(g.map(function(a,b){return[a,b]}))},{"collections/dict":39,"collections/set":53}],38:[function(a,b,c){"use strict";function d(a,b){for(var c,d=(b.length+1)*(a.length+1),e=Array(d),f=Array(b.length+1),g=Array(b.length+1),h=0;h<a.length+1;h++){for(var i=0;i<b.length+1;i++){var j,k;if(0===h&&0===i)j=" ",k=0;else if(0===h)j="insert",k=i;else if(0===i)j="delete",k=h;else if(a[h-1]===b[i-1])j="retain",k=g[i-1];else{var l=f[i-1],m=g[i];m<l?(j="delete",k=m+1):(j="insert",k=l+1)}e[h+i*(a.length+1)]=j,f[i]=k}c=f,f=g,g=c}return{edges:e,cost:g[b.length],source:b,target:a}}function e(a){for(var b,c,d=[],e=a.edges,f=b=a.target.length,g=a.source.length;b||g;){var h=e[b+g*(f+1)];if("delete"===h){if(c&&"delete"===c[0])c[1]++;else{var i=["delete",1];c=i,d.push(i)}b--}else if("insert"===h){if(c&&"insert"===c[0])c[1]++;else{var i=["insert",1];c=i,d.push(i)}g--}else if("retain"===h){var i=["retain",1];c&&"retain"===c[0]?c[1]++:(c=i,d.push(i)),b--,g--}}return d.reverse(),d}function f(a,b){return e(d(a,b))}function g(a,b){for(var c=f(a,b),d=[],e=0,g=0,h=0;h<c.length;){var i=c[h++];if("insert"===i[0])d.push([g,0,b.slice(g,g+i[1])]),g+=i[1];else if("delete"===i[0])if(h<c.length&&"insert"===c[h][0]){var j=c[h++];d.push([g,i[1],b.slice(g,g+j[1])]),e+=i[1],g+=j[1]}else d.push([g,i[1]]),e+=i[1];else"retain"==i[0]&&(e+=i[1],g+=i[1])}return d}function h(a,b){for(var c=0;c<b.length;c++)a.swap.apply(a,b[c])}function i(a,b){h(a,g(a,b))}a("collections/shim"),c.graphOt=d,c.traceOt=e,c.ot=f,c.diff=g,c.apply=h,c.merge=i},{"collections/shim":58}],39:[function(a,b,c){"use strict";function d(a,b){if(!(this instanceof d))return new d(a,b);b=b||Function.noop,this.getDefault=b,this.store={},this.length=0,this.addEach(a)}function e(a){return"~"+a}function f(a){return a.slice(1)}var g=(a("./shim"),a("./generic-collection")),h=a("./generic-map"),i=a("./listen/property-changes");b.exports=d,d.Dict=d,Object.addEach(d.prototype,g.prototype),Object.addEach(d.prototype,h.prototype),Object.addEach(d.prototype,i.prototype),d.prototype.constructClone=function(a){return new this.constructor(a,this.mangle,this.getDefault)},d.prototype.assertString=function(a){if("string"!=typeof a)throw new TypeError("key must be a string but Got "+a)},d.prototype.get=function(a,b){this.assertString(a);var c=e(a);return c in this.store?this.store[c]:arguments.length>1?b:this.getDefault(a)},d.prototype.set=function(a,b){this.assertString(a);var c=e(a);return c in this.store?(this.dispatchesBeforeMapChanges&&this.dispatchBeforeMapChange(a,this.store[c]),this.store[c]=b,this.dispatchesMapChanges&&this.dispatchMapChange(a,b),!1):(this.dispatchesMapChanges&&this.dispatchBeforeMapChange(a,void 0),this.length++,this.store[c]=b,this.dispatchesMapChanges&&this.dispatchMapChange(a,b),!0)},d.prototype.has=function(a){return this.assertString(a),e(a)in this.store},d.prototype.delete=function(a){this.assertString(a);var b=e(a);return b in this.store&&(this.dispatchesMapChanges&&this.dispatchBeforeMapChange(a,this.store[b]),delete this.store[e(a)],this.length--,this.dispatchesMapChanges&&this.dispatchMapChange(a,void 0),!0)},d.prototype.clear=function(){var a,b;for(b in this.store)a=f(b),this.dispatchesMapChanges&&this.dispatchBeforeMapChange(a,this.store[b]),delete this.store[b],this.dispatchesMapChanges&&this.dispatchMapChange(a,void 0);this.length=0},d.prototype.reduce=function(a,b,c){for(var d in this.store)b=a.call(c,b,this.store[d],f(d),this);return b},d.prototype.reduceRight=function(a,b,c){var d=this,e=this.store;return Object.keys(this.store).reduceRight(function(b,g){return a.call(c,b,e[g],f(g),d)},b)},d.prototype.one=function(){var a;for(a in this.store)return this.store[a]}},{"./generic-collection":41,"./generic-map":42,"./listen/property-changes":49,"./shim":58}],40:[function(a,b,c){"use strict";function d(a,b,c,e){if(!(this instanceof d))return new d(a,b,c,e);b=b||Object.equals,c=c||Object.hash,e=e||Function.noop,this.contentEquals=b,this.contentHash=c,this.getDefault=e,this.buckets=new this.Buckets(null,this.Bucket),this.length=0,this.addEach(a)}var e=(a("./shim"),a("./dict")),f=a("./list"),g=a("./generic-collection"),h=a("./generic-set"),i=a("./tree-log"),j=a("./listen/property-changes");Object.prototype.hasOwnProperty;b.exports=d,d.FastSet=d,Object.addEach(d.prototype,g.prototype),Object.addEach(d.prototype,h.prototype),Object.addEach(d.prototype,j.prototype),d.prototype.Buckets=e,d.prototype.Bucket=f,d.prototype.constructClone=function(a){return new this.constructor(a,this.contentEquals,this.contentHash,this.getDefault)},d.prototype.has=function(a){var b=this.contentHash(a);return this.buckets.get(b).has(a)},d.prototype.get=function(a){var b=this.contentHash(a),c=this.buckets;return c.has(b)?c.get(b).get(a):this.getDefault(a)},d.prototype.delete=function(a){var b=this.contentHash(a),c=this.buckets;if(c.has(b)){var d=c.get(b);if(d.delete(a))return this.length--,0===d.length&&c.delete(b),!0}return!1},d.prototype.clear=function(){this.buckets.clear(),this.length=0},d.prototype.add=function(a){var b=this.contentHash(a),c=this.buckets;return c.has(b)||c.set(b,new this.Bucket(null,this.contentEquals)),!c.get(b).has(a)&&(c.get(b).add(a),this.length++,!0)},d.prototype.reduce=function(a,b){var c=arguments[2],d=0;return this.buckets.reduce(function(b,e){return e.reduce(function(b,e){return a.call(c,b,e,d++,this)},b,this)},b,this)},d.prototype.one=function(){if(this.length>0)return this.buckets.one().one()},d.prototype.iterate=function(){return this.buckets.values().flatten().iterate()},d.prototype.log=function(a,b,c,d){a=a||i.unicodeSharp,b=b||this.logNode,c||(c=console.log,d=console),c=c.bind(d);var e=this.buckets,f=e.keys();f.forEach(function(g,h){var i,j;h===f.length-1?(i=a.fromAbove,j=" "):0===h?(i=a.branchDown,j=a.strafe):(i=a.fromBoth,j=a.strafe);var k=e.get(g);c.call(d,i+a.through+a.branchDown+" "+g),k.forEach(function(e,f){var g,h;f===k.head.prev?(g=a.fromAbove,h=" "):(g=a.fromBoth,h=a.strafe);var i;b(f,function(b){i?c.call(d,j+" "+h+" "+b):(c.call(d,j+" "+g+a.through+a.through+b),i=!0)},function(b){c.call(d,j+" "+a.strafe+" "+b)})})})},d.prototype.logNode=function(a,b){var c=a.value;Object(c)===c?JSON.stringify(c,null,4).split("\n").forEach(function(a){b(" "+a)}):b(" "+c)}},{"./dict":39,"./generic-collection":41,"./generic-set":44,"./list":46,"./listen/property-changes":49,"./shim":58,"./tree-log":61}],41:[function(a,b,c){"use strict";function d(){throw new Error("Can't construct. GenericCollection is a mixin.")}b.exports=d,d.prototype.addEach=function(a){if(a&&Object(a)===a)if("function"==typeof a.forEach)a.forEach(this.add,this);else if("number"==typeof a.length)for(var b=0;b<a.length;b++)this.add(a[b],b);else Object.keys(a).forEach(function(b){this.add(a[b],b)},this);return this},d.prototype.deleteEach=function(a,b){return a.forEach(function(a){this.delete(a,b)},this),this},d.prototype.forEach=function(a){var b=arguments[1];return this.reduce(function(c,d,e,f,g){a.call(b,d,e,f,g)},void 0)},d.prototype.map=function(a){var b=arguments[1],c=[];return this.reduce(function(d,e,f,g,h){c.push(a.call(b,e,f,g,h))},void 0),c},d.prototype.enumerate=function(a){null==a&&(a=0);var b=[];return this.reduce(function(c,d){b.push([a++,d])},void 0),b},d.prototype.group=function(a,b,c){c=c||Object.equals;var d=[],e=[];return this.forEach(function(f,g,h){var i,g=a.call(b,f,g,h),j=e.indexOf(g,c);j===-1?(i=[],d.push([g,i]),e.push(g)):i=d[j][1],i.push(f)}),d},d.prototype.toArray=function(){return this.map(Function.identity)},d.prototype.toObject=function(){var a={};return this.reduce(function(b,c,d){a[d]=c},void 0),a},d.prototype.filter=function(a){var b=arguments[1],c=this.constructClone();return this.reduce(function(d,e,f,g,h){a.call(b,e,f,g,h)&&c.add(e)},void 0),c},d.prototype.every=function(a){var b=arguments[1];return this.reduce(function(c,d,e,f,g){return c&&a.call(b,d,e,f,g)},!0)},d.prototype.some=function(a){var b=arguments[1];return this.reduce(function(c,d,e,f,g){return c||a.call(b,d,e,f,g)},!1)},d.prototype.all=function(){return this.every(Boolean)},d.prototype.any=function(){return this.some(Boolean)},d.prototype.min=function(a){a=a||this.contentCompare||Object.compare;var b=!0;return this.reduce(function(c,d){return b?(b=!1,d):a(d,c)<0?d:c},void 0)},d.prototype.max=function(a){a=a||this.contentCompare||Object.compare;var b=!0;return this.reduce(function(c,d){return b?(b=!1,d):a(d,c)>0?d:c},void 0)},d.prototype.sum=function(a){return a=void 0===a?0:a,this.reduce(function(a,b){return a+b},a)},d.prototype.average=function(a){var b=void 0===a?0:a,c=void 0===a?0:a;return this.reduce(function(a,d){b+=d,c+=1},void 0),b/c},d.prototype.concat=function(){for(var a=this.constructClone(this),b=0;b<arguments.length;b++)a.addEach(arguments[b]);return a},d.prototype.flatten=function(){var a=this;return this.reduce(function(b,c){return c.forEach(function(a){this.push(a)},b,a),b},[])},d.prototype.zip=function(){var a=Array.prototype.slice.call(arguments);return a.unshift(this),Array.unzip(a)},d.prototype.join=function(a){return this.reduce(function(b,c){return b+a+c})},d.prototype.sorted=function(a,b,c){return a=a||this.contentCompare||Object.compare,a.by?(b=a.by,a=a.compare||this.contentCompare||Object.compare):b=b||Function.identity,void 0===c&&(c=1),this.map(function(a){return{by:b(a),value:a}}).sort(function(b,d){return a(b.by,d.by)*c}).map(function(a){return a.value})},d.prototype.reversed=function(){return this.constructClone(this).reverse()},d.prototype.clone=function(a,b){if(void 0===a)a=1/0;else if(0===a)return this;var c=this.constructClone();return this.forEach(function(d,e){c.add(Object.clone(d,a-1,b),e)},this),c},d.prototype.only=function(){if(1===this.length)return this.one()},d.prototype.iterator=function(){return this.iterate.apply(this,arguments)},a("./shim-array")},{"./shim-array":54}],42:[function(a,b,c){"use strict";function d(){throw new Error("Can't construct. GenericMap is a mixin.")}function e(a,b){this.key=a,this.value=b}var f=a("./shim-object"),g=a("./listen/map-changes"),h=a("./listen/property-changes");b.exports=d,f.addEach(d.prototype,g.prototype),f.addEach(d.prototype,h.prototype),d.prototype.isMap=!0,d.prototype.addEach=function(a){return a&&f(a)===a&&("function"==typeof a.forEach?a.isMap===!0?a.forEach(function(a,b){this.set(b,a)},this):a.forEach(function(a){this.set(a[0],a[1])},this):f.keys(a).forEach(function(b){this.set(b,a[b])},this)),this},d.prototype.get=function(a,b){var c=this.store.get(new this.Item(a));return c?c.value:arguments.length>1?b:this.getDefault(a)},d.prototype.set=function(a,b){var c=new this.Item(a,b),d=this.store.get(c),e=!1;return d?(this.dispatchesMapChanges&&this.dispatchBeforeMapChange(a,d.value),d.value=b,this.dispatchesMapChanges&&this.dispatchMapChange(a,b)):(this.dispatchesMapChanges&&this.dispatchBeforeMapChange(a,void 0),this.store.add(c)&&(this.length++,e=!0),this.dispatchesMapChanges&&this.dispatchMapChange(a,b)),e},d.prototype.add=function(a,b){return this.set(b,a)},d.prototype.has=function(a){return this.store.has(new this.Item(a))},d.prototype.delete=function(a){var b=new this.Item(a);if(this.store.has(b)){var c=this.store.get(b).value;return this.dispatchesMapChanges&&this.dispatchBeforeMapChange(a,c),this.store.delete(b),this.length--,this.dispatchesMapChanges&&this.dispatchMapChange(a,void 0),!0}return!1},d.prototype.clear=function(){var a;this.dispatchesMapChanges&&(this.forEach(function(a,b){this.dispatchBeforeMapChange(b,a)},this),a=this.keys()),this.store.clear(),this.length=0,this.dispatchesMapChanges&&a.forEach(function(a){this.dispatchMapChange(a)},this)},d.prototype.reduce=function(a,b,c){return this.store.reduce(function(b,d){return a.call(c,b,d.value,d.key,this)},b,this)},d.prototype.reduceRight=function(a,b,c){return this.store.reduceRight(function(b,d){return a.call(c,b,d.value,d.key,this)},b,this)},d.prototype.keys=function(){return this.map(function(a,b){return b})},d.prototype.values=function(){return this.map(Function.identity)},d.prototype.entries=function(){return this.map(function(a,b){return[b,a]})},d.prototype.items=function(){return this.entries()},d.prototype.equals=function(a,b){return b=b||f.equals,this===a||(f.can(a,"every")?a.length===this.length&&a.every(function(a,c){
return b(this.get(c),a)},this):f.keys(a).length===this.length&&f.keys(a).every(function(c){return b(this.get(c),a[c])},this))},d.prototype.Item=e,e.prototype.equals=function(a){return f.equals(this.key,a.key)&&f.equals(this.value,a.value)},e.prototype.compare=function(a){return f.compare(this.key,a.key)}},{"./listen/map-changes":48,"./listen/property-changes":49,"./shim-object":56}],43:[function(a,b,c){function d(){throw new Error("Can't construct. GenericOrder is a mixin.")}var e=a("./shim-object");b.exports=d,d.prototype.equals=function(a,b){if(b=b||this.contentEquals||e.equals,this===a)return!0;if(!a)return!1;return this.length===a.length&&this.zip(a).every(function(a){return b(a[0],a[1])})},d.prototype.compare=function(a,b){if(b=b||this.contentCompare||e.compare,this===a)return 0;if(!a)return 1;var c=Math.min(this.length,a.length),d=this.zip(a).reduce(function(a,d,e){return 0===a?e>=c?a:b(d[0],d[1]):a},0);return 0===d?this.length-a.length:d}},{"./shim-object":56}],44:[function(a,b,c){function d(){throw new Error("Can't construct. GenericSet is a mixin.")}b.exports=d,d.prototype.union=function(a){var b=this.constructClone(this);return b.addEach(a),b},d.prototype.intersection=function(a){return this.constructClone(this.filter(function(b){return a.has(b)}))},d.prototype.difference=function(a){var b=this.constructClone(this);return b.deleteEach(a),b},d.prototype.symmetricDifference=function(a){var b=this.union(a),c=this.intersection(a);return b.difference(c)},d.prototype.equals=function(a,b){var c=this;return Object.can(a,"reduce")&&this.length===a.length&&a.reduce(function(a,d){return a&&c.has(d,b)},!0)},d.prototype.contains=function(a){return this.has(a)},d.prototype.remove=function(a){return this.delete(a)},d.prototype.toggle=function(a){this.has(a)?this.delete(a):this.add(a)}},{}],45:[function(a,b,c){function d(a,b,c){if(!(this instanceof d))return new d(a,b,c);this.contentEquals=b||Object.equals,this.contentCompare=c||Object.compare,this.content=[],this.length=0,this.addEach(a)}var e=(a("./listen/array-changes"),a("./shim"),a("./generic-collection")),f=a("./listen/map-changes"),g=a("./listen/range-changes"),h=a("./listen/property-changes");b.exports=d,d.Heap=d,Object.addEach(d.prototype,e.prototype),Object.addEach(d.prototype,h.prototype),Object.addEach(d.prototype,g.prototype),Object.addEach(d.prototype,f.prototype),d.prototype.constructClone=function(a){return new this.constructor(a,this.contentEquals,this.contentCompare)},d.prototype.push=function(a){this.content.push(a),this.float(this.content.length-1),this.length++},d.prototype.pop=function(){var a=this.content[0],b=this.content.pop();return this.content.length>0&&(this.content.set(0,b),this.sink(0)),this.length--,a},d.prototype.add=function(a){this.push(a)},d.prototype.indexOf=function(a){for(var b=0;b<this.length;b++)if(this.contentEquals(this.content[b],a))return b;return-1},d.prototype.delete=function(a){var b=this.indexOf(a);if(b===-1)return!1;var c=this.content.pop();if(b===this.content.length)return!0;this.content.set(b,c);var d=this.contentCompare(c,a);return d>0?this.float(b):d<0&&this.sink(b),this.length--,!0},d.prototype.peek=function(){if(this.length)return this.content[0]},d.prototype.max=function(){return this.peek()},d.prototype.one=function(){return this.peek()},d.prototype.float=function(a){for(var b=this.content[a];a>0;){var c=Math.floor((a+1)/2)-1,d=this.content[c];if(!(this.contentCompare(d,b)<0))break;this.content.set(c,b),this.content.set(a,d),a=c}},d.prototype.sink=function(a){for(var b,c,d,e,f,g,h=this.content.length,i=this.content[a];;){if(e=2*(a+1),d=e-1,g=!1,d<h){var b=this.content[d],j=this.contentCompare(b,i);j>0&&(f=d,g=!0)}if(e<h){var c=this.content[e],j=this.contentCompare(c,g?b:i);j>0&&(f=e,g=!0)}if(!g)break;this.content.set(a,this.content[f]),this.content.set(f,i),a=f}},d.prototype.clear=function(){this.content.clear(),this.length=0},d.prototype.reduce=function(a,b){var c=arguments[2];return this.content.reduce(function(b,d,e){return a.call(c,b,d,e,this)},b,this)},d.prototype.reduceRight=function(a,b){var c=arguments[2];return this.content.reduceRight(function(b,d,e){return a.call(c,b,d,e,this)},b,this)},d.prototype.makeObservable=function(){this.content.addRangeChangeListener(this,"content"),this.content.addBeforeRangeChangeListener(this,"content"),this.content.addMapChangeListener(this,"content"),this.content.addBeforeMapChangeListener(this,"content")},d.prototype.handleContentRangeChange=function(a,b,c){this.dispatchRangeChange(a,b,c)},d.prototype.handleContentRangeWillChange=function(a,b,c){this.dispatchBeforeRangeChange(a,b,c)},d.prototype.handleContentMapChange=function(a,b){this.dispatchMapChange(b,a)},d.prototype.handleContentMapWillChange=function(a,b){this.dispatchBeforeMapChange(b,a)}},{"./generic-collection":41,"./listen/array-changes":47,"./listen/map-changes":48,"./listen/property-changes":49,"./listen/range-changes":50,"./shim":58}],46:[function(a,b,c){"use strict";function d(a,b,c){if(!(this instanceof d))return new d(a,b,c);var e=this.head=new this.Node;e.next=e,e.prev=e,this.contentEquals=b||Object.equals,this.getDefault=c||Function.noop,this.length=0,this.addEach(a)}function e(a){this.head=a,this.at=a.next}function f(a){this.value=a,this.prev=null,this.next=null}b.exports=d;var g=(a("./shim"),a("./generic-collection")),h=a("./generic-order"),i=a("./listen/property-changes"),j=a("./listen/range-changes");d.List=d,Object.addEach(d.prototype,g.prototype),Object.addEach(d.prototype,h.prototype),Object.addEach(d.prototype,i.prototype),Object.addEach(d.prototype,j.prototype),d.prototype.constructClone=function(a){return new this.constructor(a,this.contentEquals,this.getDefault)},d.prototype.find=function(a,b){b=b||this.contentEquals;for(var c=this.head,d=c.next;d!==c;){if(b(d.value,a))return d;d=d.next}},d.prototype.findLast=function(a,b){b=b||this.contentEquals;for(var c=this.head,d=c.prev;d!==c;){if(b(d.value,a))return d;d=d.prev}},d.prototype.has=function(a,b){return!!this.find(a,b)},d.prototype.get=function(a,b){var c=this.find(a,b);return c?c.value:this.getDefault(a)},d.prototype.delete=function(a,b){var c=this.findLast(a,b);if(c){if(this.dispatchesRangeChanges){var d=[],e=[a];this.dispatchBeforeRangeChange(d,e,c.index)}return c.delete(),this.length--,this.dispatchesRangeChanges&&(this.updateIndexes(c.next,c.index),this.dispatchRangeChange(d,e,c.index)),!0}return!1},d.prototype.clear=function(){var a,b;this.dispatchesRangeChanges&&(b=this.toArray(),a=[],this.dispatchBeforeRangeChange(a,b,0)),this.head.next=this.head.prev=this.head,this.length=0,this.dispatchesRangeChanges&&this.dispatchRangeChange(a,b,0)},d.prototype.add=function(a){var b=new this.Node(a);return this.dispatchesRangeChanges&&(b.index=this.length,this.dispatchBeforeRangeChange([a],[],b.index)),this.head.addBefore(b),this.length++,this.dispatchesRangeChanges&&this.dispatchRangeChange([a],[],b.index),!0},d.prototype.push=function(){var a=this.head;if(this.dispatchesRangeChanges){var b=Array.prototype.slice.call(arguments),c=[],d=this.length;this.dispatchBeforeRangeChange(b,c,d);var e=this.head.prev}for(var f=0;f<arguments.length;f++){var g=arguments[f],h=new this.Node(g);a.addBefore(h)}this.length+=arguments.length,this.dispatchesRangeChanges&&(this.updateIndexes(e.next,void 0===e.index?0:e.index+1),this.dispatchRangeChange(b,c,d))},d.prototype.unshift=function(){if(this.dispatchesRangeChanges){var a=Array.prototype.slice.call(arguments),b=[];this.dispatchBeforeRangeChange(a,b,0)}for(var c=this.head,d=0;d<arguments.length;d++){var e=arguments[d],f=new this.Node(e);c.addAfter(f),c=f}this.length+=arguments.length,this.dispatchesRangeChanges&&(this.updateIndexes(this.head.next,0),this.dispatchRangeChange(a,b,0))},d.prototype.pop=function(){var a,b=this.head;if(b.prev!==b){if(a=b.prev.value,this.dispatchesRangeChanges){var c=[],d=[a],e=this.length-1;this.dispatchBeforeRangeChange(c,d,e)}b.prev.delete(),this.length--,this.dispatchesRangeChanges&&this.dispatchRangeChange(c,d,e)}return a},d.prototype.shift=function(){var a,b=this.head;if(b.prev!==b){if(a=b.next.value,this.dispatchesRangeChanges){var c=[],d=[a];this.dispatchBeforeRangeChange(c,d,0)}b.next.delete(),this.length--,this.dispatchesRangeChanges&&(this.updateIndexes(this.head.next,0),this.dispatchRangeChange(c,d,0))}return a},d.prototype.peek=function(){if(this.head!==this.head.next)return this.head.next.value},d.prototype.poke=function(a){this.head!==this.head.next?this.head.next.value=a:this.push(a)},d.prototype.one=function(){return this.peek()},d.prototype.scan=function(a,b){var c=this.head;if("number"==typeof a){var d=a;if(d>=0)for(a=c.next;d&&(d--,(a=a.next)!=c););else for(a=c;d<0&&(d++,(a=a.prev)!=c););return a}return a||b},d.prototype.slice=function(a,b){var c=[],d=this.head;for(a=this.scan(a,d.next),b=this.scan(b,d);a!==b&&a!==d;)c.push(a.value),a=a.next;return c},d.prototype.splice=function(a,b){return this.swap(a,b,Array.prototype.slice.call(arguments,2))},d.prototype.swap=function(a,b,c){var d=a;a=this.scan(a,this.head),null==b&&(b=1/0),c=Array.from(c);for(var e=[],f=a;b--&&b>=0&&f!==this.head;)e.push(f.value),f=f.next;var g,h;this.dispatchesRangeChanges&&(g=a===this.head?this.length:a.prev===this.head?0:a.index,h=a.prev,this.dispatchBeforeRangeChange(c,e,g));for(var f=a,i=0,f=a;i<e.length;i++,f=f.next)f.delete();null==d&&f===this.head&&(f=this.head.next);for(var i=0;i<c.length;i++){var j=new this.Node(c[i]);f.addBefore(j)}return this.length+=c.length-e.length,this.dispatchesRangeChanges&&(a===this.head?this.updateIndexes(this.head.next,0):this.updateIndexes(h.next,h.index+1),this.dispatchRangeChange(c,e,g)),e},d.prototype.reverse=function(){if(this.dispatchesRangeChanges){var a=this.toArray(),b=a.reversed();this.dispatchBeforeRangeChange(b,a,0)}var c=this.head;do{var d=c.next;c.next=c.prev,c.prev=d,c=c.next}while(c!==this.head);return this.dispatchesRangeChanges&&this.dispatchRangeChange(b,a,0),this},d.prototype.sort=function(){this.swap(0,this.length,this.sorted())},d.prototype.reduce=function(a,b){for(var c=arguments[2],d=this.head,e=d.next;e!==d;)b=a.call(c,b,e.value,e,this),e=e.next;return b},d.prototype.reduceRight=function(a,b){for(var c=arguments[2],d=this.head,e=d.prev;e!==d;)b=a.call(c,b,e.value,e,this),e=e.prev;return b},d.prototype.updateIndexes=function(a,b){for(;a!==this.head;)a.index=b++,a=a.next},d.prototype.makeObservable=function(){this.head.index=-1,this.updateIndexes(this.head.next,0),this.dispatchesRangeChanges=!0},d.prototype.iterate=function(){return new e(this.head)},e.prototype.next=function(){if(this.at===this.head)throw StopIteration;var a=this.at.value;return this.at=this.at.next,a},d.prototype.Node=f,f.prototype.delete=function(){this.prev.next=this.next,this.next.prev=this.prev},f.prototype.addBefore=function(a){var b=this.prev;this.prev=a,a.prev=b,b.next=a,a.next=this},f.prototype.addAfter=function(a){var b=this.next;this.next=a,a.next=b,b.prev=a,a.prev=this}},{"./generic-collection":41,"./generic-order":43,"./listen/property-changes":49,"./listen/range-changes":50,"./shim":58}],47:[function(a,b,c){function d(a){for(var b in a)Object.defineProperty(Array.prototype,b,{value:a[b],writable:!0,configurable:!0,enumerable:!1})}a("../shim");var e,f=(a("../list"),a("weak-map"),a("./property-changes")),g=a("./range-changes"),h=a("./map-changes"),i=Array.prototype.splice,j=Array.prototype.slice,k=(Array.prototype.reverse,Array.prototype.sort),l={}.__proto__===Object.prototype;e=l?function(){this.__proto__=n}:function(){Object.defineProperties(this,m)},Object.defineProperty(Array.prototype,"makeObservable",{value:e,writable:!0,configurable:!0,enumerable:!1}),d(f.prototype),d(g.prototype),d(h.prototype);var m={isObservable:{value:!0,writable:!0,configurable:!0},makeObservable:{value:Function.noop,writable:!0,configurable:!0},reverse:{value:function(){var a=this.constructClone(this);return a.reverse(),this.swap(0,this.length,a),this},writable:!0,configurable:!0},sort:{value:function(){this.dispatchBeforeRangeChange(this,this,0);for(var a=0;a<this.length;a++)f.dispatchBeforeOwnPropertyChange(this,a,this[a]),this.dispatchBeforeMapChange(a,this[a]);k.apply(this,arguments);for(var a=0;a<this.length;a++)f.dispatchOwnPropertyChange(this,a,this[a]),this.dispatchMapChange(a,this[a]);return this.dispatchRangeChange(this,this,0),this},writable:!0,configurable:!0},splice:{value:function(a,b){var c=j.call(this,a,a+b),d=j.call(arguments,2);if(!c.length&&!d.length)return d;var e=d.length-c.length,g=this.length,h=Math.max(this.length+e,a+d.length),k=Math.max(g,h);if(e&&f.dispatchBeforeOwnPropertyChange(this,"length",this.length),this.dispatchBeforeRangeChange(d,c,a),0===e)for(var l=a;l<a+d.length;l++)f.dispatchBeforeOwnPropertyChange(this,l,this[l]),this.dispatchBeforeMapChange(l,this[l]);else if(f.hasOwnPropertyChangeDescriptor(this))for(var l=a;l<k;l++)f.dispatchBeforeOwnPropertyChange(this,l,this[l]),this.dispatchBeforeMapChange(l,this[l]);a>g&&(this.length=a);var m=i.apply(this,arguments);if(0===e)for(var l=a;l<a+d.length;l++)f.dispatchOwnPropertyChange(this,l,this[l]),this.dispatchMapChange(l,this[l]);else if(f.hasOwnPropertyChangeDescriptor(this))for(var l=a;l<k;l++)f.dispatchOwnPropertyChange(this,l,this[l]),this.dispatchMapChange(l,this[l]);return this.dispatchRangeChange(d,c,a),e&&f.dispatchOwnPropertyChange(this,"length",this.length),m},writable:!0,configurable:!0},set:{value:function(a,b){return this.splice(a,1,b),this},writable:!0,configurable:!0},shift:{value:function(){return this.splice(0,1)[0]},writable:!0,configurable:!0},pop:{value:function(){if(this.length)return this.splice(this.length-1,1)[0]},writable:!0,configurable:!0},push:{value:function(a){if(1===arguments.length)return this.splice(this.length,0,a);var b=j.call(arguments);return this.swap(this.length,0,b)},writable:!0,configurable:!0},unshift:{value:function(a){if(1===arguments.length)return this.splice(0,0,a);var b=j.call(arguments);return this.swap(0,0,b)},writable:!0,configurable:!0},clear:{value:function(){return this.splice(0,this.length)},writable:!0,configurable:!0}},n=Object.create(Array.prototype,m)},{"../list":46,"../shim":58,"./map-changes":48,"./property-changes":49,"./range-changes":50,"weak-map":52}],48:[function(a,b,c){"use strict";function d(){throw new Error("Can't construct. MapChanges is a mixin.")}var e=a("weak-map"),f=a("../list");b.exports=d;var g=(Object.prototype.hasOwnProperty,new e);d.prototype.getAllMapChangeDescriptors=function(){var b=a("../dict");return g.has(this)||g.set(this,b()),g.get(this)},d.prototype.getMapChangeDescriptor=function(a){var b=this.getAllMapChangeDescriptors();return a=a||"",b.has(a)||b.set(a,{willChangeListeners:new f,changeListeners:new f}),b.get(a)},d.prototype.addMapChangeListener=function(a,b,c){!this.isObservable&&this.makeObservable&&this.makeObservable();var d,e=this.getMapChangeDescriptor(b);d=c?e.willChangeListeners:e.changeListeners,d.push(a),Object.defineProperty(this,"dispatchesMapChanges",{value:!0,writable:!0,configurable:!0,enumerable:!1});var f=this;return function(){f&&(f.removeMapChangeListener(a,b,c),f=null)}},d.prototype.removeMapChangeListener=function(a,b,c){var d,e=this.getMapChangeDescriptor(b);d=c?e.willChangeListeners:e.changeListeners;var f=d.findLast(a);if(!f)throw new Error("Can't remove listener: does not exist.");f.delete()},d.prototype.dispatchMapChange=function(a,b,c){var d="Map"+(c?"WillChange":"Change");this.getAllMapChangeDescriptors().forEach(function(e,f){if(!e.isActive){e.isActive=!0;var g;g=c?e.willChangeListeners:e.changeListeners;var h="handle"+(f.slice(0,1).toUpperCase()+f.slice(1))+d;try{g.forEach(function(c){if(c[h])c[h](b,a,this);else{if(!c.call)throw new Error("Handler "+c+" has no method "+h+" and is not callable");c.call(c,b,a,this)}},this)}finally{e.isActive=!1}}},this)},d.prototype.addBeforeMapChangeListener=function(a,b){return this.addMapChangeListener(a,b,!0)},d.prototype.removeBeforeMapChangeListener=function(a,b){return this.removeMapChangeListener(a,b,!0)},d.prototype.dispatchBeforeMapChange=function(a,b){return this.dispatchMapChange(a,b,!0)}},{"../dict":39,"../list":46,"weak-map":52}],49:[function(a,b,c){function d(){throw new Error("This is an abstract interface. Mix it. Don't construct it")}a("../shim");var e=a("weak-map"),f=Object.prototype.hasOwnProperty,g=new e,h=new e;b.exports=d,d.debug=!0,d.prototype.getOwnPropertyChangeDescriptor=function(a){g.has(this)||g.set(this,{});var b=g.get(this);return f.call(b,a)||(b[a]={willChangeListeners:[],changeListeners:[]}),b[a]},d.prototype.hasOwnPropertyChangeDescriptor=function(a){if(!g.has(this))return!1;if(!a)return!0;var b=g.get(this);return!!f.call(b,a)},d.prototype.addOwnPropertyChangeListener=function(a,b,c){this.makeObservable&&!this.isObservable&&this.makeObservable();var e,f=d.getOwnPropertyChangeDescriptor(this,a);e=c?f.willChangeListeners:f.changeListeners,d.makePropertyObservable(this,a),e.push(b);var g=this;return function(){d.removeOwnPropertyChangeListener(g,a,e,c),g=null}},d.prototype.addBeforeOwnPropertyChangeListener=function(a,b){return d.addOwnPropertyChangeListener(this,a,b,!0)},d.prototype.removeOwnPropertyChangeListener=function(a,b,c){var e,f=d.getOwnPropertyChangeDescriptor(this,a);e=c?f.willChangeListeners:f.changeListeners;var g=e.lastIndexOf(b);if(g===-1)throw new Error("Can't remove listener: does not exist.");e.splice(g,1),f.changeListeners.length+f.willChangeListeners.length===0&&d.makePropertyUnobservable(this,a)},d.prototype.removeBeforeOwnPropertyChangeListener=function(a,b){return d.removeOwnPropertyChangeListener(this,a,b,!0)},d.prototype.dispatchOwnPropertyChange=function(a,b,c){var e=d.getOwnPropertyChangeDescriptor(this,a);if(!e.isActive){e.isActive=!0;var f;f=c?e.willChangeListeners:e.changeListeners;var g=(c?"Will":"")+"Change",h="handleProperty"+g,i=String(a);i=i&&i[0].toUpperCase()+i.slice(1);var j="handle"+i+g;try{f.forEach(function(c){var d=c;if(c=c[j]||c[h]||c,!c.call)throw new Error("No event listener for "+j+" or "+h+" or call on "+c);c.call(d,b,a,this)},this)}finally{e.isActive=!1}}},d.prototype.dispatchBeforeOwnPropertyChange=function(a,b){return d.dispatchOwnPropertyChange(this,a,b,!0)},d.prototype.makePropertyObservable=function(a){if(!Array.isArray(this)){if(!Object.isExtensible(this,a))throw new Error("Can't make property "+JSON.stringify(a)+" observable on "+this+" because object is not extensible");var b;"object"==typeof this.__state__?b=this.__state__:(b={},Object.isExtensible(this,"__state__")&&Object.defineProperty(this,"__state__",{value:b,writable:!0,enumerable:!1})),b[a]=this[a],h.has(this)||(c={},h.set(this,c));var c=h.get(this);if(!f.call(c,a)){var e,g=this;Object.getOwnPropertyDescriptor(g,a);do{if(e=Object.getOwnPropertyDescriptor(g,a))break;g=Object.getPrototypeOf(g)}while(g);if(e=e||{value:void 0,enumerable:!0,writable:!0,configurable:!0},!e.configurable)throw new Error("Can't observe non-configurable properties");if(c[a]=e,e.writable||e.set){var i;i="value"in e?{get:function(){return e.value},set:function(c){return c===e.value?c:(d.dispatchBeforeOwnPropertyChange(this,a,e.value),e.value=c,b[a]=c,d.dispatchOwnPropertyChange(this,a,c),c)},enumerable:e.enumerable,configurable:!0}:{get:function(){if(e.get)return e.get.apply(this,arguments)},set:function(c){var f;return e.get&&(f=e.get.apply(this,arguments)),e.set&&e.set.apply(this,arguments),e.get&&(c=e.get.apply(this,arguments),b[a]=c),c===f?c:(d.dispatchBeforeOwnPropertyChange(this,a,f),d.dispatchOwnPropertyChange(this,a,c),c)},enumerable:e.enumerable,configurable:!0},Object.defineProperty(this,a,i)}}}},d.prototype.makePropertyUnobservable=function(a){if(!Array.isArray(this)){if(!h.has(this))throw new Error("Can't uninstall observer on property");var b=h.get(this);if(!b[a])throw new Error("Can't uninstall observer on property");var c=b[a];delete b[a];var d;"object"==typeof this.__state__?d=this.__state__:(d={},Object.isExtensible(this,"__state__")&&Object.defineProperty(this,"__state__",{value:d,writable:!0,enumerable:!1})),delete d[a],Object.defineProperty(this,a,c)}},d.getOwnPropertyChangeDescriptor=function(a,b){return a.getOwnPropertyChangeDescriptor?a.getOwnPropertyChangeDescriptor(b):d.prototype.getOwnPropertyChangeDescriptor.call(a,b)},d.hasOwnPropertyChangeDescriptor=function(a,b){return a.hasOwnPropertyChangeDescriptor?a.hasOwnPropertyChangeDescriptor(b):d.prototype.hasOwnPropertyChangeDescriptor.call(a,b)},d.addOwnPropertyChangeListener=function(a,b,c,e){if(Object.isObject(a))return a.addOwnPropertyChangeListener?a.addOwnPropertyChangeListener(b,c,e):d.prototype.addOwnPropertyChangeListener.call(a,b,c,e)},d.removeOwnPropertyChangeListener=function(a,b,c,e){if(Object.isObject(a))return a.removeOwnPropertyChangeListener?a.removeOwnPropertyChangeListener(b,c,e):d.prototype.removeOwnPropertyChangeListener.call(a,b,c,e)},d.dispatchOwnPropertyChange=function(a,b,c,e){if(Object.isObject(a))return a.dispatchOwnPropertyChange?a.dispatchOwnPropertyChange(b,c,e):d.prototype.dispatchOwnPropertyChange.call(a,b,c,e)},d.addBeforeOwnPropertyChangeListener=function(a,b,c){return d.addOwnPropertyChangeListener(a,b,c,!0)},d.removeBeforeOwnPropertyChangeListener=function(a,b,c){return d.removeOwnPropertyChangeListener(a,b,c,!0)},d.dispatchBeforeOwnPropertyChange=function(a,b,c){return d.dispatchOwnPropertyChange(a,b,c,!0)},d.makePropertyObservable=function(a,b){return a.makePropertyObservable?a.makePropertyObservable(b):d.prototype.makePropertyObservable.call(a,b)},d.makePropertyUnobservable=function(a,b){return a.makePropertyUnobservable?a.makePropertyUnobservable(b):d.prototype.makePropertyUnobservable.call(a,b)}},{"../shim":58,"weak-map":52}],50:[function(a,b,c){"use strict";function d(){throw new Error("Can't construct. RangeChanges is a mixin.")}var e=a("weak-map"),f=a("../dict"),g=new e;b.exports=d,d.prototype.getAllRangeChangeDescriptors=function(){return g.has(this)||g.set(this,f()),g.get(this)},d.prototype.getRangeChangeDescriptor=function(a){var b=this.getAllRangeChangeDescriptors();return a=a||"",b.has(a)||b.set(a,{isActive:!1,changeListeners:[],willChangeListeners:[]}),b.get(a)},d.prototype.addRangeChangeListener=function(a,b,c){!this.isObservable&&this.makeObservable&&this.makeObservable();var d,e=this.getRangeChangeDescriptor(b);d=c?e.willChangeListeners:e.changeListeners,d.push(a),Object.defineProperty(this,"dispatchesRangeChanges",{value:!0,writable:!0,configurable:!0,enumerable:!1});var f=this;return function(){f&&(f.removeRangeChangeListener(a,b,c),f=null)}},d.prototype.removeRangeChangeListener=function(a,b,c){var d,e=this.getRangeChangeDescriptor(b);d=c?e.willChangeListeners:e.changeListeners;var f=d.lastIndexOf(a);if(f===-1)throw new Error("Can't remove listener: does not exist.");d.splice(f,1)},d.prototype.dispatchRangeChange=function(a,b,c,d){var e="Range"+(d?"WillChange":"Change");this.getAllRangeChangeDescriptors().forEach(function(f,g){if(!f.isActive){f.isActive=!0;var h;h=d?f.willChangeListeners:f.changeListeners;var i="handle"+(g.slice(0,1).toUpperCase()+g.slice(1))+e;try{h.forEach(function(e){if(e[i])e[i](a,b,c,this,d);else{if(!e.call)throw new Error("Handler "+e+" has no method "+i+" and is not callable");e.call(this,a,b,c,this,d)}},this)}finally{f.isActive=!1}}},this)},d.prototype.addBeforeRangeChangeListener=function(a,b){return this.addRangeChangeListener(a,b,!0)},d.prototype.removeBeforeRangeChangeListener=function(a,b){return this.removeRangeChangeListener(a,b,!0)},d.prototype.dispatchBeforeRangeChange=function(a,b,c){return this.dispatchRangeChange(a,b,c,!0)}},{"../dict":39,"weak-map":52}],51:[function(a,b,c){"use strict";function d(a,b,c,f){if(!(this instanceof d))return new d(a,b,c,f);b=b||Object.equals,c=c||Object.hash,f=f||Function.noop,this.contentEquals=b,this.contentHash=c,this.getDefault=f,this.store=new e(void 0,function(a,c){return b(a.key,c.key)},function(a){return c(a.key)}),this.length=0,this.addEach(a)}var e=(a("./shim"),a("./set")),f=a("./generic-collection"),g=a("./generic-map"),h=a("./listen/property-changes");b.exports=d,d.Map=d,Object.addEach(d.prototype,f.prototype),Object.addEach(d.prototype,g.prototype),Object.addEach(d.prototype,h.prototype),d.prototype.constructClone=function(a){return new this.constructor(a,this.contentEquals,this.contentHash,this.getDefault)},d.prototype.log=function(a,b,c,d){b=b||this.logNode,this.store.log(a,function(a,c,d){b(a.value.value,c,d)},c,d)},d.prototype.logNode=function(a,b){b(" key: "+a.key),b(" value: "+a.value)}},{"./generic-collection":41,"./generic-map":42,"./listen/property-changes":49,"./set":53,"./shim":58}],52:[function(a,b,c){!function(){"use strict";function a(b){b.permitHostObjects___&&b.permitHostObjects___(a)}function c(a){return!(a.substr(0,j.length)==j&&"___"===a.substr(a.length-3))}function d(a){if(a!==Object(a))throw new TypeError("Not an object: "+a);var b=a[k];if(b&&b.key===a)return b;if(i(a)){return b={key:a,gets:[],vals:[]},h(a,k,{value:b,writable:!1,enumerable:!1,configurable:!1}),b}}function e(a){return a.prototype=null,Object.freeze(a)}if("undefined"==typeof ses||!ses.ok||ses.ok()){if("undefined"!=typeof ses&&(ses.weakMapPermitHostObjects=a),"function"==typeof WeakMap){var f=WeakMap;if("undefined"==typeof navigator||!/Firefox/.test(navigator.userAgent))return void(b.exports=WeakMap)}var g=(Object.prototype.hasOwnProperty,Object.getOwnPropertyNames),h=Object.defineProperty,i=Object.isExtensible,j="weakmap:",k=j+"ident:"+Math.random()+"___";if("undefined"!=typeof crypto&&"function"==typeof crypto.getRandomValues&&"function"==typeof ArrayBuffer&&"function"==typeof Uint8Array){var l=new ArrayBuffer(25),m=new Uint8Array(l);crypto.getRandomValues(m),k=j+"rand:"+Array.prototype.map.call(m,function(a){return(a%36).toString(36)}).join("")+"___"}if(h(Object,"getOwnPropertyNames",{value:function(a){return g(a).filter(c)}}),"getPropertyNames"in Object){var n=Object.getPropertyNames;h(Object,"getPropertyNames",{value:function(a){return n(a).filter(c)}})}!function(){var a=Object.freeze;h(Object,"freeze",{value:function(b){return d(b),a(b)}});var b=Object.seal;h(Object,"seal",{value:function(a){return d(a),b(a)}});var c=Object.preventExtensions;h(Object,"preventExtensions",{value:function(a){return d(a),c(a)}})}();var o=function(){function a(b,c){var e,f,i=d(b);return i?(e=i.gets.indexOf(a),f=i.vals):(e=g.indexOf(b),f=h),e>=0?f[e]:c}function b(b){var c=d(b);return(c?c.gets.indexOf(a):g.indexOf(b))>=0}function c(b,c){var e,f=d(b);f?(e=f.gets.indexOf(a),e>=0?f.vals[e]=c:(f.gets.push(a),f.vals.push(c))):(e=g.indexOf(b),e>=0?h[e]=c:(g.push(b),h.push(c)))}function f(b){var c,e=d(b);return e?(c=e.gets.indexOf(a))>=0&&(e.gets.splice(c,1),e.vals.splice(c,1)):(c=g.indexOf(b))>=0&&(g.splice(c,1),h.splice(c,1)),!0}var g=[],h=[];return Object.create(o.prototype,{get___:{value:e(a)},has___:{value:e(b)},set___:{value:e(c)},delete___:{value:e(f)}})};o.prototype=Object.create(Object.prototype,{get:{value:function(a,b){return this.get___(a,b)},writable:!0,configurable:!0},has:{value:function(a){return this.has___(a)},writable:!0,configurable:!0},set:{value:function(a,b){this.set___(a,b)},writable:!0,configurable:!0},delete:{value:function(a){return this.delete___(a)},writable:!0,configurable:!0}}),"function"==typeof f?function(){function c(){function b(a,b){return i?h.has(a)?h.get(a):i.get___(a,b):h.get(a,b)}function c(a){return h.has(a)||!!i&&i.has___(a)}function d(a,b){if(j)try{h.set(a,b)}catch(c){i||(i=new o),i.set___(a,b)}else h.set(a,b)}function g(a){h.delete(a),i&&i.delete___(a)}var h=new f,i=void 0,j=!1;return Object.create(o.prototype,{get___:{value:e(b)},has___:{value:e(c)},set___:{value:e(d)},delete___:{value:e(g)},permitHostObjects___:{value:e(function(b){if(b!==a)throw new Error("bogus call to permitHostObjects___");j=!0})}})}c.prototype=o.prototype,b.exports=c,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),b.exports=o)}}()},{}],53:[function(a,b,c){"use strict";function d(a,b,c,e){if(!(this instanceof d))return new d(a,b,c,e);b=b||Object.equals,c=c||Object.hash,e=e||Function.noop,this.contentEquals=b,this.contentHash=c,this.getDefault=e,this.order=new this.Order(void 0,b),this.store=new this.Store(void 0,function(a,c){return b(a.value,c.value)},function(a){return c(a.value)}),this.length=0,this.addEach(a)}var e=(a("./shim"),a("./list")),f=a("./fast-set"),g=a("./generic-collection"),h=a("./generic-set"),i=a("./listen/property-changes"),j=a("./listen/range-changes");b.exports=d,d.Set=d,Object.addEach(d.prototype,g.prototype),Object.addEach(d.prototype,h.prototype),Object.addEach(d.prototype,i.prototype),Object.addEach(d.prototype,j.prototype),d.prototype.Order=e,d.prototype.Store=f,d.prototype.constructClone=function(a){return new this.constructor(a,this.contentEquals,this.contentHash,this.getDefault)},d.prototype.has=function(a){var b=new this.order.Node(a);return this.store.has(b)},d.prototype.get=function(a){var b=new this.order.Node(a);return b=this.store.get(b),b?b.value:this.getDefault(a)},d.prototype.add=function(a){var b=new this.order.Node(a);if(!this.store.has(b)){var c=this.length;return this.dispatchesRangeChanges&&this.dispatchBeforeRangeChange([a],[],c),this.order.add(a),b=this.order.head.prev,this.store.add(b),this.length++,this.dispatchesRangeChanges&&this.dispatchRangeChange([a],[],c),!0}return!1},d.prototype.delete=function(a){var b=new this.order.Node(a);if(this.store.has(b)){var b=this.store.get(b);return this.dispatchesRangeChanges&&this.dispatchBeforeRangeChange([],[a],b.index),this.store.delete(b),this.order.splice(b,1),this.length--,this.dispatchesRangeChanges&&this.dispatchRangeChange([],[a],b.index),!0}return!1},d.prototype.pop=function(){if(this.length){var a=this.order.head.prev.value;return this.delete(a),a}},d.prototype.shift=function(){if(this.length){var a=this.order.head.next.value;return this.delete(a),a}},d.prototype.one=function(){if(this.length>0)return this.store.one().value},d.prototype.clear=function(){var a;this.dispatchesRangeChanges&&(a=this.toArray(),this.dispatchBeforeRangeChange([],a,0)),this.store.clear(),this.order.clear(),this.length=0,this.dispatchesRangeChanges&&this.dispatchRangeChange([],a,0)},d.prototype.reduce=function(a,b){var c=arguments[2],d=0;return this.order.reduce(function(b,e){return a.call(c,b,e,d++,this)},b,this)},d.prototype.reduceRight=function(a,b){var c=arguments[2],d=this.order,e=this.length-1;return d.reduceRight(function(b,d){return a.call(c,b,d,e--,this)},b,this)},d.prototype.iterate=function(){return this.order.iterate()},d.prototype.log=function(){var a=this.store;return a.log.apply(a,arguments)},d.prototype.makeObservable=function(){this.order.makeObservable()}},{"./fast-set":40,"./generic-collection":41,"./generic-set":44,"./list":46,"./listen/property-changes":49,"./listen/range-changes":50,"./shim":58}],54:[function(a,b,c){"use strict";function d(a,b){Object.defineProperty(Array.prototype,a,{value:b,writable:!0,configurable:!0,enumerable:!1})}function e(a,b,c){this.array=a,this.start=null==b?0:b,this.end=c}var f=(a("./shim-function"),a("./generic-collection")),g=a("./generic-order"),h=a("weak-map");b.exports=Array,Array.empty=[],Object.freeze&&Object.freeze(Array.empty),Array.from=function(a){var b=[];return b.addEach(a),b},Array.unzip=function(a){for(var b=[],c=1/0,d=0;d<a.length;d++){var e=a[d];a[d]=e.toArray(),e.length<c&&(c=e.length)}for(var d=0;d<a.length;d++)for(var e=a[d],f=0;f<e.length;f++)f<c&&f in e&&(b[f]=b[f]||[],b[f][d]=e[f]);return b},d("addEach",f.prototype.addEach),d("deleteEach",f.prototype.deleteEach),d("toArray",f.prototype.toArray),d("toObject",f.prototype.toObject),d("all",f.prototype.all),d("any",f.prototype.any),d("min",f.prototype.min),d("max",f.prototype.max),d("sum",f.prototype.sum),d("average",f.prototype.average),d("only",f.prototype.only),d("flatten",f.prototype.flatten),d("zip",f.prototype.zip),d("enumerate",f.prototype.enumerate),d("group",f.prototype.group),d("sorted",f.prototype.sorted),
d("reversed",f.prototype.reversed),d("constructClone",function(a){var b=new this.constructor;return b.addEach(a),b}),d("has",function(a,b){return this.find(a,b)!==-1}),d("get",function(a,b){if(+a!==a)throw new Error("Indicies must be numbers");return!a in this?b:this[a]}),d("set",function(a,b){return this.splice(a,1,b),!0}),d("add",function(a){return this.push(a),!0}),d("delete",function(a,b){var c=this.find(a,b);return c!==-1&&(this.splice(c,1),!0)}),d("find",function(a,b){b=b||this.contentEquals||Object.equals;for(var c=0;c<this.length;c++)if(c in this&&b(this[c],a))return c;return-1}),d("findLast",function(a,b){b=b||this.contentEquals||Object.equals;var c=this.length;do{if(--c in this&&b(this[c],a))return c}while(c>0);return-1}),d("swap",function(a,b,c){var d=Array.prototype.slice.call(arguments,0,2);return c&&(Array.isArray(c)||(c=Array.prototype.slice.call(c)),d.push.apply(d,c)),this.splice.apply(this,d)}),d("one",function(){for(var a in this)if(Object.owns(this,a))return this[a]}),d("clear",function(){return this.length=0,this}),d("compare",function(a,b){b=b||Object.compare;var c,d,e,f,h;if(this===a)return 0;if(!a||!Array.isArray(a))return g.prototype.compare.call(this,a,b);for(d=Math.min(this.length,a.length),c=0;c<d;c++)if(c in this){if(!(c in a))return-1;if(e=this[c],f=a[c],h=b(e,f))return h}else if(c in a)return 1;return this.length-a.length}),d("equals",function(a,b){b=b||Object.equals;var c,d,e=0,f=this.length;if(this===a)return!0;if(!a||!Array.isArray(a))return g.prototype.equals.call(this,a);if(f!==a.length)return!1;for(;e<f;++e)if(e in this){if(!(e in a))return!1;if(c=this[e],d=a[e],!b(c,d))return!1}else if(e in a)return!1;return!0}),d("clone",function(a,b){if(void 0===a)a=1/0;else if(0===a)return this;b=b||new h;var c=[];for(var d in this)Object.owns(this,d)&&(c[d]=Object.clone(this[d],a-1,b));return c}),d("iterate",function(a,b){return new e(this,a,b)}),d("Iterator",e),e.prototype.next=function(){if(this.start===(null==this.end?this.array.length:this.end))throw StopIteration;return this.array[this.start++]}},{"./generic-collection":41,"./generic-order":43,"./shim-function":55,"weak-map":52}],55:[function(a,b,c){arguments[4][19][0].apply(c,arguments)},{dup:19}],56:[function(a,b,c){"use strict";var d=a("weak-map");b.exports=Object,Object.empty=Object.freeze(Object.create(null)),Object.isObject=function(a){return Object(a)===a},Object.getValueOf=function(a){return Object.can(a,"valueOf")&&(a=a.valueOf()),a};var e=new d;Object.hash=function(a){return Object.can(a,"hash")?""+a.hash():Object(a)===a?(e.has(a)||e.set(a,Math.random().toString(36).slice(2)),e.get(a)):""+a};var f=Object.prototype.hasOwnProperty;Object.owns=function(a,b){return f.call(a,b)},Object.can=function(a,b){return null!=a&&"function"==typeof a[b]&&!f.call(a,b)},Object.has=function(a,b){if("object"!=typeof a)throw new Error("Object.has can't accept non-object: "+typeof a);if(Object.can(a,"has"))return a.has(b);if("string"==typeof b)return b in a&&a[b]!==Object.prototype[b];throw new Error("Key must be a string for Object.has on plain objects")},Object.get=function(a,b,c){if("object"!=typeof a)throw new Error("Object.get can't accept non-object: "+typeof a);return Object.can(a,"get")?a.get(b,c):Object.has(a,b)?a[b]:c},Object.set=function(a,b,c){Object.can(a,"set")?a.set(b,c):a[b]=c},Object.addEach=function(a,b){return b&&(Object.can(b,"forEach")?"function"==typeof b.keys?b.forEach(function(b,c){a[c]=b}):b.forEach(function(b){a[b[0]]=b[1]}):Object.keys(b).forEach(function(c){a[c]=b[c]})),a},Object.forEach=function(a,b,c){Object.keys(a).forEach(function(d){b.call(c,a[d],d,a)})},Object.map=function(a,b,c){return Object.keys(a).map(function(d){return b.call(c,a[d],d,a)})},Object.values=function(a){return Object.map(a,Function.identity)},Object.concat=function(){for(var a={},b=0;b<arguments.length;b++)Object.addEach(a,arguments[b]);return a},Object.from=Object.concat,Object.is=function(a,b){return a===b?0!==a||1/a==1/b:a!==a&&b!==b},Object.equals=function(a,b,c){if(c=c||Object.equals,a=Object.getValueOf(a),b=Object.getValueOf(b),a===b)return 0!==a||1/a==1/b;if(null===a||null===b)return a===b;if(Object.can(a,"equals"))return a.equals(b,c);if(Object.can(b,"equals"))return b.equals(a,c);if("object"==typeof a&&"object"==typeof b){var d=Object.getPrototypeOf(a);if(d===Object.getPrototypeOf(b)&&(d===Object.prototype||null===d)){for(var e in a)if(!c(a[e],b[e]))return!1;for(var e in b)if(!c(a[e],b[e]))return!1;return!0}}return a!==a&&b!==b},Object.compare=function(a,b){a=Object.getValueOf(a),b=Object.getValueOf(b);var c=typeof a,d=typeof b;return a===b?0:c!==d?0:"number"===c?a-b:"string"===c?a<b?-1:1:Object.can(a,"compare")?a.compare(b):Object.can(b,"compare")?-b.compare(a):0},Object.clone=function(a,b,c){if(a=Object.getValueOf(a),c=c||new d,void 0===b)b=1/0;else if(0===b)return a;if(Object.isObject(a)){if(!c.has(a))if(Object.can(a,"clone"))c.set(a,a.clone(b,c));else{var e=Object.getPrototypeOf(a);if(null!==e&&e!==Object.prototype)throw new Error("Can't clone "+a);var f=Object.create(e);c.set(a,f);for(var g in a)f[g]=Object.clone(a[g],b-1,c)}return c.get(a)}return a},Object.clear=function(a){if(Object.can(a,"clear"))a.clear();else for(var b=Object.keys(a),c=b.length;c;)c--,delete a[b[c]];return a}},{"weak-map":52}],57:[function(a,b,c){arguments[4][21][0].apply(c,arguments)},{dup:21}],58:[function(a,b,c){arguments[4][22][0].apply(c,arguments)},{"./shim-array":54,"./shim-function":55,"./shim-object":56,"./shim-regexp":57,dup:22}],59:[function(a,b,c){"use strict";function d(a,b,c,e){if(!(this instanceof d))return new d(a,b,c,e);Array.isArray(a)?(this.array=a,a=a.splice(0,a.length)):this.array=[],this.contentEquals=b||Object.equals,this.contentCompare=c||Object.compare,this.getDefault=e||Function.noop,this.length=0,this.addEach(a)}function e(a,b,c){for(var d=0,e=a.length-1;d<=e;){var f=d+e>>1,g=c(b,a[f]);if(g>0)d=f+1;else{if(!(g<0))return f;e=f-1}}return-(d+1)}function f(a,b,c,d){var f=e(a,b,c);if(f<0)return-1;for(;f>0&&d(b,a[f-1]);)f--;return d(b,a[f])?f:-1}function g(a,b,c,d){var f=e(a,b,c);if(f<0)return-1;for(;f<a.length-1&&d(b,a[f+1]);)f++;return d(b,a[f])?f:-1}function h(a,b,c){var d=e(a,b,c);if(d<0)return-d-1;for(var f=a.length-1;d<f&&0===c(b,a[d+1]);)d++;return d}b.exports=d;var i=(a("./shim"),a("./generic-collection")),j=a("./listen/property-changes"),k=a("./listen/range-changes");d.SortedArray=d,Object.addEach(d.prototype,i.prototype),Object.addEach(d.prototype,j.prototype),Object.addEach(d.prototype,k.prototype),d.prototype.constructClone=function(a){return new this.constructor(a,this.contentEquals,this.contentCompare,this.getDefault)},d.prototype.has=function(a){var b=e(this.array,a,this.contentCompare);return b>=0&&this.contentEquals(this.array[b],a)},d.prototype.get=function(a){var b=f(this.array,a,this.contentCompare,this.contentEquals);return b!==-1?this.array[b]:this.getDefault(a)},d.prototype.add=function(a){var b=h(this.array,a,this.contentCompare);return this.dispatchesRangeChanges&&this.dispatchBeforeRangeChange([a],[],b),this.array.splice(b,0,a),this.length++,this.dispatchesRangeChanges&&this.dispatchRangeChange([a],[],b),!0},d.prototype.delete=function(a){var b=f(this.array,a,this.contentCompare,this.contentEquals);return b!==-1&&(this.dispatchesRangeChanges&&this.dispatchBeforeRangeChange([],[a],b),this.array.splice(b,1),this.length--,this.dispatchesRangeChanges&&this.dispatchRangeChange([],[a],b),!0)},d.prototype.indexOf=function(a){return f(this.array,a,this.contentCompare,this.contentEquals)},d.prototype.lastIndexOf=function(a){return g(this.array,a,this.contentCompare,this.contentEquals)},d.prototype.find=function(a){return f(this.array,a,this.contentCompare,this.contentEquals)},d.prototype.findLast=function(a){return g(this.array,a,this.contentCompare,this.contentEquals)},d.prototype.push=function(){this.addEach(arguments)},d.prototype.unshift=function(){this.addEach(arguments)},d.prototype.pop=function(){return this.array.pop()},d.prototype.shift=function(){return this.array.shift()},d.prototype.slice=function(){return this.array.slice.apply(this.array,arguments)},d.prototype.splice=function(a,b){return this.swap(a,b,Array.prototype.slice.call(arguments,2))},d.prototype.swap=function(a,b,c){if(void 0===a&&void 0===b)return[];a=a||0,a<0&&(a+=this.length),void 0===b&&(b=1/0);var d=this.slice(a,a+b);return this.dispatchesRangeChanges&&this.dispatchBeforeRangeChange(c,d,a),this.array.splice(a,b),this.addEach(c),this.dispatchesRangeChanges&&this.dispatchRangeChange(c,d,a),d},d.prototype.reduce=function(a,b){var c=arguments[2];return this.array.reduce(function(b,d,e){return a.call(c,b,d,e,this)},b,this)},d.prototype.reduceRight=function(){var a=arguments[2];return this.array.reduceRight(function(b,c,d){return callback.call(a,b,c,d,this)},basis,this)},d.prototype.min=function(){if(this.length)return this.array[0]},d.prototype.max=function(){if(this.length)return this.array[this.length-1]},d.prototype.one=function(){return this.array.one()},d.prototype.clear=function(){var a;this.dispatchesRangeChanges&&(a=this.array.slice(),this.dispatchBeforeRangeChange([],a,0)),this.length=0,this.array.clear(),this.dispatchesRangeChanges&&this.dispatchRangeChange([],a,0)},d.prototype.equals=function(a,b){return this.array.equals(a,b)},d.prototype.compare=function(a,b){return this.array.compare(a,b)},d.prototype.iterate=function(a,b){return new this.Iterator(this.array,a,b)},d.prototype.Iterator=Array.prototype.Iterator},{"./generic-collection":41,"./listen/property-changes":49,"./listen/range-changes":50,"./shim":58}],60:[function(a,b,c){"use strict";function d(a,b,c,e){if(!(this instanceof d))return new d(a,b,c,e);this.contentEquals=b||Object.equals,this.contentCompare=c||Object.compare,this.getDefault=e||Function.noop,this.root=null,this.length=0,this.addEach(a)}function e(a){this.value=a,this.left=null,this.right=null,this.length=1}function f(a,b,c){if(this.set=a,this.prev=null,this.end=c,b){var d=this.set.findLeastGreaterThanOrEqual(b);d&&(this.set.splay(d.value),this.prev=d.getPrevious())}}b.exports=d;var g=(a("./shim"),a("./generic-collection")),h=a("./generic-set"),i=a("./listen/property-changes"),j=a("./listen/range-changes"),k=a("./tree-log");d.SortedSet=d,Object.addEach(d.prototype,g.prototype),Object.addEach(d.prototype,h.prototype),Object.addEach(d.prototype,i.prototype),Object.addEach(d.prototype,j.prototype),d.prototype.constructClone=function(a){return new this.constructor(a,this.contentEquals,this.contentCompare,this.getDefault)},d.prototype.has=function(a){return!!this.root&&(this.splay(a),this.contentEquals(a,this.root.value))},d.prototype.get=function(a){return this.root&&(this.splay(a),this.contentEquals(a,this.root.value))?this.root.value:this.getDefault(a)},d.prototype.add=function(a){var b=new this.Node(a);if(!this.root)return this.dispatchesRangeChanges&&this.dispatchBeforeRangeChange([a],[],0),this.root=b,this.length++,this.dispatchesRangeChanges&&this.dispatchRangeChange([a],[],0),!0;if(this.splay(a),!this.contentEquals(a,this.root.value)){var c=this.contentCompare(a,this.root.value);if(0===c)throw new Error("SortedSet cannot contain incomparable but inequal values: "+a+" and "+this.root.value);return this.dispatchesRangeChanges&&this.dispatchBeforeRangeChange([a],[],this.root.index),c<0?(b.right=this.root,b.left=this.root.left,this.root.left=null,this.root.touch()):(b.left=this.root,b.right=this.root.right,this.root.right=null,this.root.touch()),b.touch(),this.root=b,this.length++,this.dispatchesRangeChanges&&this.dispatchRangeChange([a],[],this.root.index),!0}return!1},d.prototype.delete=function(a){if(this.root&&(this.splay(a),this.contentEquals(a,this.root.value))){var b=this.root.index;if(this.dispatchesRangeChanges&&this.dispatchBeforeRangeChange([],[a],b),this.root.left){var c=this.root.right;this.root=this.root.left,this.splay(a),this.root.right=c}else this.root=this.root.right;return this.length--,this.root&&this.root.touch(),this.dispatchesRangeChanges&&this.dispatchRangeChange([],[a],b),!0}return!1},d.prototype.indexOf=function(a){return this.root&&(this.splay(a),this.contentEquals(a,this.root.value))?this.root.index:-1},d.prototype.find=function(a){if(this.root&&(this.splay(a),this.contentEquals(a,this.root.value)))return this.root},d.prototype.findGreatest=function(a){if(this.root){for(a=a||this.root;a.right;)a=a.right;return a}},d.prototype.findLeast=function(a){if(this.root){for(a=a||this.root;a.left;)a=a.left;return a}},d.prototype.findGreatestLessThanOrEqual=function(a){if(this.root)return this.splay(a),this.root},d.prototype.findGreatestLessThan=function(a){if(this.root)return this.splay(a),this.root.getPrevious()},d.prototype.findLeastGreaterThanOrEqual=function(a){if(this.root){this.splay(a);return 0===this.contentCompare(a,this.root.value)?this.root:this.root.getNext()}},d.prototype.findLeastGreaterThan=function(a){if(this.root){this.splay(a);this.contentCompare(a,this.root.value);return this.root.getNext()}},d.prototype.pop=function(){if(this.root){var a=this.findGreatest();return this.delete(a.value),a.value}},d.prototype.shift=function(){if(this.root){var a=this.findLeast();return this.delete(a.value),a.value}},d.prototype.push=function(){this.addEach(arguments)},d.prototype.unshift=function(){this.addEach(arguments)},d.prototype.slice=function(a,b){a=a||0,b=b||this.length,a<0&&(a+=this.length),b<0&&(b+=this.length);var c=[];if(this.root)for(this.splayIndex(a);this.root.index<b&&(c.push(this.root.value),this.root.right);)this.splay(this.root.getNext().value);return c},d.prototype.splice=function(a,b){return this.swap(a,b,Array.prototype.slice.call(arguments,2))},d.prototype.swap=function(a,b,c){if(void 0===a&&void 0===b)return[];a=a||0,a<0&&(a+=this.length),void 0===b&&(b=1/0);var d=[];if(this.root){this.splayIndex(a);for(var e=0;e<b;e++){d.push(this.root.value);var f=this.root.getNext();if(this.delete(this.root.value),!f)break;this.splay(f.value)}}return this.addEach(c),d},d.prototype.splay=function(a){var b,c,d,f,g,h;if(this.root){for(b=c=d=new this.Node,h=new this.Node,g=this.root;;){var i=this.contentCompare(a,g.value);if(i<0){if(!g.left)break;if(this.contentCompare(a,g.left.value)<0&&(f=g.left,g.left=f.right,g.touch(),f.right=g,f.touch(),g=f,!g.left))break;f=new e,f.right=g,f.left=h.left,h.left=f,d.left=g,d.touch(),d=g,g=g.left}else{if(!(i>0))break;if(!g.right)break;if(this.contentCompare(a,g.right.value)>0&&(f=g.right,g.right=f.left,g.touch(),f.left=g,f.touch(),g=f,!g.right))break;f=new e,f.left=g,f.right=h.right,h.right=f,c.right=g,c.touch(),c=g,g=g.right}}for(c.right=g.left,c.touch(),d.left=g.right,d.touch(),g.left=b.right,g.right=b.left;h.left;)h.left.right.touch(),h.left=h.left.left;for(;h.right;)h.right.left.touch(),h.right=h.right.right;g.touch(),this.root=g}},d.prototype.splayIndex=function(a){if(this.root){for(var b=this.root,c=this.root.index;c!==a;)if(c>a&&b.left)b=b.left,c-=1+(b.right?b.right.length:0);else{if(!(c<a&&b.right))break;b=b.right,c+=1+(b.left?b.left.length:0)}return this.splay(b.value),this.root.index===a}return!1},d.prototype.reduce=function(a,b,c){return this.root&&(b=this.root.reduce(a,b,0,c,this)),b},d.prototype.reduceRight=function(a,b,c){return this.root&&(b=this.root.reduceRight(a,b,this.length-1,c,this)),b},d.prototype.min=function(a){var b=this.findLeast(a);if(b)return b.value},d.prototype.max=function(a){var b=this.findGreatest(a);if(b)return b.value},d.prototype.one=function(){return this.min()},d.prototype.clear=function(){var a;this.dispatchesRangeChanges&&(a=this.toArray(),this.dispatchBeforeRangeChange([],a,0)),this.root=null,this.length=0,this.dispatchesRangeChanges&&this.dispatchRangeChange([],a,0)},d.prototype.iterate=function(a,b){return new this.Iterator(this,a,b)},d.prototype.Iterator=f,d.prototype.summary=function(){return this.root?this.root.summary():"()"},d.prototype.log=function(a,b,c,d){a=a||k.unicodeRound,b=b||this.logNode,c||(c=console.log,d=console),c=c.bind(d),this.root&&this.root.log(a,b,c,c)},d.prototype.logNode=function(a,b,c){b(" "+a.value)},d.logCharsets=k,d.prototype.Node=e,e.prototype.reduce=function(a,b,c,d,e,f){if(f=f||0,this.left){var g=this.left.length;b=this.left.reduce(a,b,c,d,e,f+1),c+=g}return b=a.call(d,b,this.value,c,e,this,f),c+=1,this.right&&(b=this.right.reduce(a,b,c,d,e,f+1)),b},e.prototype.reduceRight=function(a,b,c,d,e,f){return f=f||0,this.right&&(b=this.right.reduce(a,b,c,d,e,f+1),c-=this.right.length),b=a.call(d,b,this.value,this.value,e,this,f),c-=1,this.left&&(b=this.left.reduce(a,b,c,d,e,f+1)),b},e.prototype.touch=function(){this.length=1+(this.left?this.left.length:0)+(this.right?this.right.length:0),this.index=this.left?this.left.length:0},e.prototype.checkIntegrity=function(){var a=1;if(a+=this.left?this.left.checkIntegrity():0,a+=this.right?this.right.checkIntegrity():0,this.length!==a)throw new Error("Integrity check failed: "+this.summary());return a},e.prototype.getNext=function(){var a=this;if(a.right){for(a=a.right;a.left;)a=a.left;return a}},e.prototype.getPrevious=function(){var a=this;if(a.left){for(a=a.left;a.right;)a=a.right;return a}},e.prototype.summary=function(){var a=this.value||"-";return a+=" <"+this.length,this.left||this.right?"("+a+" "+(this.left?this.left.summary():"()")+", "+(this.right?this.right.summary():"()")+")":"("+a+")"},e.prototype.log=function(a,b,c,d){var e,f=this;e=this.left&&this.right?a.intersection:this.left?a.branchUp:this.right?a.branchDown:a.through;var g;this.left&&this.left.log(a,b,function(b){g?d(a.strafe+" "+b):(g=!0,d(a.fromBelow+a.through+b))},function(a){d(" "+a)});var h;b(this,function(b){h?c((f.right?a.strafe:" ")+b):(h=!0,c(e+b))},function(b){d((f.left?a.strafe:" ")+b)});var i;this.right&&this.right.log(a,b,function(b){i?c(" "+b):(i=!0,c(a.fromAbove+a.through+b))},function(b){c(a.strafe+" "+b)})},f.prototype.next=function(){var a;if(!(a=this.prev?this.set.findLeastGreaterThan(this.prev.value):this.set.findLeast()))throw StopIteration;if(void 0!==this.end&&this.set.contentCompare(a.value,this.end)>=0)throw StopIteration;return this.prev=a,a.value}},{"./generic-collection":41,"./generic-set":44,"./listen/property-changes":49,"./listen/range-changes":50,"./shim":58,"./tree-log":61}],61:[function(a,b,c){arguments[4][24][0].apply(c,arguments)},{dup:24}],62:[function(a,b,c){function d(a,b,c){var d;d="function"==typeof c?{change:c}:c,d=d||j,d.source=a,d.sourcePath=b;var k=d.parameters=d.parameters||a,l=d.document,m=d.components,n=d.beforeChange,o=d.contentChange,p=new i(a);p.parameters=k,p.document=l,p.components=m,p.beforeChange=n;var q=e(b),r=f(q);return o===!0&&(r=g.makeRangeContentObserver(r)),r(h(function(b){if(b){if("function"!=typeof o)return d.change.apply(a,arguments);if("function"==typeof o)return b.addRangeChangeListener(o),function(){b.removeRangeChangeListener(o)}}else;}),p)}var e=a("./parse"),f=a("./compile-observer"),g=a("./observers"),h=g.autoCancelPrevious,i=a("./scope");b.exports=d;var j={}},{"./compile-observer":33,"./observers":63,"./parse":65,"./scope":66}],63:[function(a,b,c){function d(a){return function(b){return b(a)}}function e(a,b){return a(b.value)}function f(a,b){return a(b.parameters)}function g(a){return function(b,c){return b(c.document.getElementById(a))}}function h(a,b){return function(c,d){var e=d.components,f=e.getObjectByLabel||e.getComponentByLabel,g=f.call(e,a);return b.component=g,c(g)}}function i(a,b,c,d){function e(a,b,d){f(),f=c(a,b,d)||Function.noop}if(null==a)return c();var f=Function.noop;return ya.addOwnPropertyChangeListener(a,b,e,d.beforeChange),e(a[b],b,a),function(){f(),ya.removeOwnPropertyChangeListener(a,b,e,d.beforeChange)}}function j(a,b){return function(c,d){return b(function(b){return"string"!=typeof b&&"number"!=typeof b?c():a(function(a){return null==a?c():a.observeProperty?a.observeProperty(b,c,d):Ea(a,b,c,d)},d)},d)}}function k(a,b,c,d){function e(a,d,e){g(b,d)&&(f(),f=c(a,b,e)||Function.noop)}var f=Function.noop,g=a.contentEquals||Object.equals;return e(a.get(b),b,a),a.addMapChangeListener(e,d.beforeChange),function(){f(),a.removeMapChangeListener(e)}}function l(a,b){return function(c,d){return a(function(a){return a?b(function(b){return null==b?c():a.observeGet?a.observeGet(b,c,d):Fa(a,b,c,d)},d):c()},d)}}function m(a,b){return function(c,d){return c=va(c),b(function(b){return a(function(a){return a?$(a,function(){return c((a.has||a.contains).call(a,b))},d):c()},d)},d)}}function n(a){return function(b,c){for(var d=Array(a.length),e=0;e<a.length;e++)d[e]=void 0;var f=a.map(function(a,b){return a(function(a){d.set(b,a)},c)}),g=b(d)||Function.noop;return function(){g(),wa(f)}}}function o(a){return function(b,c){var d={},e={};for(var f in a)!function(a,b){d[a]=b(function(b){e[a]=b},c)}(f,a[f]);var g=b(e)||Function.noop;return function(){g();for(var a in d)d[a]()}}}function p(){return n(Array.prototype.slice.call(arguments))}function q(a){return function(){var b=n(Array.prototype.slice.call(arguments)),c=fa(b);return function(b,d){return c(function(c){return c.every(Da.defined)?b(a.apply(void 0,c)):b()},d)}}}function r(a){var b=a.slice(0,1).toUpperCase()+a.slice(1),c="make"+b+"Observer",d="observe"+b;return function(){var b=arguments[0],e=Array.prototype.slice.call(arguments,1),f=n(e),g=fa(f);return function(f,h){return b(function(b){return b?b[c]?b[c].apply(b,e)(f,h):b[d]?b[d](f,h):g(function(c){return c.every(Da.defined)&&"function"==typeof b[a]?f(b[a].apply(b,c)):f()},h):f()},h)}}}function s(a){return function(b,c){return a(function(a){return b(!a)},c)}}function t(a,b){return function(c,d){return a(function(a){return a?b(c,d):c(a)},d)}}function u(a,b){return function(c,d){return a(function(a){return a?c(a):b(c,d)},d)}}function v(a,b,c){return function(d,e){return a(function(a){return null==a?d():a?b(d,e):c(d,e)},e)}}function w(a){return function(b,c){return a(function(a){return b(null!=a)},c)}}function x(a,b){return function(c,d){return a(function(a){return null==a?b(c,d):c(a)},d)}}function y(a,b){return function(c,d){return a(function(a){function e(b){for(;b<a.length;b++)h[b].index=b}function f(a,c,f){h.swap(f,c.length,a.map(function(a,b){return{index:f+b}})),e(f+a.length);var j,k=[];wa(i.swap(f,c.length,a.map(function(a,c){var e=h[f+c];return b(function(a){j?g.set(e.index,a):k[c]=a},d.nest(a))}))),j=!0,g.swap(f,c.length,k)}if(!a)return c();var g=[],h=[],i=[],j=$(a,f,d),k=c(g,a)||Function.noop;return function(){k(),wa(i),j()}},d)}}function z(a,b){var c=y(a,b);return function(a,b){return c(function(c,d){function e(a){for(;a<c.length;a++)i[a+1]=i[a]+!!c[a]}function f(a,b,c){var f=d.slice(c,c+a.length),h=b.map(Boolean).sum(),j=f.filter(function(b,c){return a[c]}),k=i[c],l=g.slice(k,k+h);(l.length!==j.length||l.some(function(a,b){return a!==j[b]}))&&g.swap(k,h,j),e(k)}if(!d)return a();var g=[],h=[],i=[0],j=$(c,f,b),k=a(g)||Function.noop;return function(){k(),wa(h),j()}},b)}}function A(a,b){var c=D(b),d=y(a,c);return Ga(function(a,b){return d(function(c){function d(a,b){f.deleteEach(b),f.addEach(a)}if(!c)return a();var e=[],f=za(e,B,C),g=$(c,d,b),h=a(e)||Function.noop;return function(){h(),g()}},b)},la)}function B(a,b){return Object.equals(a[1],b[1])}function C(a,b){return Object.compare(a[1],b[1])}function D(a){return function(b,c){return a(function(a){return b([c.value,a])},c)}}function E(a,b){var c=D(b),d=y(a,c),e=K(d,na),f=y(e,_(na));return function(a,b){function c(a,b){return a=h.get(a),b=h.get(b),Object.compare(a,b)}function d(a,b){return a=h.get(a),b=h.get(b),Object.equals(a,b)}function e(a,b){b.forEach(function(a){i.delete(a[0]),h.delete(a[0])}),a.forEach(function(a){h.set(a[0],a[1]),i.add(a[0])})}function g(a){return i.clear(),$(a,e,b)}var h=new Ba,i=new Aa(null,d,c),j=a(i)||Function.noop,k=f(g,b);return function(){j(),k()}}}function F(a){return function(b,c){return a(function(a){function d(a,b,c){var d=e.length-c-b.length;e.swap(d,b.length,a.reversed())}if(!a)return b();var e=[],f=$(a,d,c),g=b(e);return function(){g(),f()}},c)}}function G(a){return function(b,c){return a(function(a){function d(b){for(var c=b;c<a.length;c++)i[c].index=c,a[c]?h[c+1]=h[c]+a[c].length:h[c+1]=h[c]}function e(a,b,e){var j=h[e],k=h[e+b.length],l=k-j;f.swap(j,l,[]),i.swap(e,b.length,a.map(function(){return{index:null}})),d(e),wa(g.swap(e,b.length,a.map(function(a,b){function g(a,b,c){d(j.index);var e=h[j.index]+c,g=h[j.index]+c+b.length,i=g-e;f.swap(e,i,a)}var j=i[e+b];return $(a,g,c)})))}if(!a)return b();var f=[],g=[],h=[0],i=[],j=$(a,e,c),k=b(f)||Function.noop;return function(){k(),wa(g),j()}},c)}}function H(){return Ia(n(Array.prototype.slice.call(arguments)))}function I(a,b){return qa(j(Ha(a,b),Ja),Boolean)}function J(a,b){return qa(j(Ha(a,qa(b,Da.not)),Ja),Da.not)}function K(a,b){return Na(L(a,b))}function L(a,b){var c=D(b),d=y(a,c);return function(a,b){return d(function(c,d){function e(a,b,c){b.forEach(function(a){var b=f.get(a[1]);1===b.length?f.delete(a[1]):b.delete(a[0])}),a.forEach(function(a){var b,c=!f.has(a[1]);b=c?d.constructClone():f.get(a[1]),b.add(a[0]),c&&f.set(a[1],b)})}if(!c)return a();var f=Ba(),g=$(c,e,b),h=a(f)||Function.noop;return function(){g(),h()}},b)}}function M(a,b,c){function d(a,b){return Object.compare(a[1],b[1])*c}var e=D(b),f=y(a,e);return function(a,b){return f(function(c){function e(a,b){g.addEach(a),g.deleteEach(b)}function f(b,c){if(0===c)return b?a(b[0]):a()}if(!c)return a();var g=new Ca(null,B,d),h=$(c,e,b),i=ha(g,f,b);return function(){h(),i()}},b)}}function N(a,b){return M(a,b,1)}function O(a,b){return M(a,b,-1)}function P(a){return M(a,e,1)}function Q(a){return M(a,e,-1)}function R(a){return function(b){return function(c,d){return c=va(c),b(function(b){if(!b)return c();var e=a(b,c);return $(b,function(a,b,d){return c(e(a,b,d))},d)},d)}}}function S(a){return"number"==typeof a&&!isNaN(a)}function T(a,b,c){return c||(c=b,b=Ka),function(d,e){return a(function(a){function f(b,c,d){if(l){var e=b.length-c.length;d<=h?e>0?(k.swap(0,0,a.slice(h,h+e)),k.splice(g,k.length-g)):(k.splice(0,-e),k.swap(k.length,0,a.slice(h+k.length,h+g))):d<h+g&&(k.swap(d-h,c.length,b),e>0?k.splice(g,k.length-g):k.swap(k.length,0,a.slice(h+k.length,h+g)))}}if(!a)return d();var g,h,i,j,k=[],l=!1,m=$(a,f,e),n=c(function(b){b=+b,isNaN(b)&&(b=void 0);var c="number"==typeof b&&"number"==typeof h,d=Math.max(0,b);"number"==typeof j&&(d=Math.min(d,a.length-j)),l!==c?(c?k.swap(0,0,a.slice(j,j+d)):k.clear(),l=c):l&&i!==d&&(d<i?k.splice(b,i-d):k.swap(i,0,a.slice(j+i,j+d))),g=b,i=d},e),o=b(function(b){b=+b,isNaN(b)&&(b=void 0);var c="number"==typeof g&&"number"==typeof b,d=Math.max(0,b);"number"==typeof g&&(d=Math.min(d,a.length));var e=Math.max(0,g);if("number"==typeof d&&(e=Math.min(e,a.length-d)),l!==c)c?k.swap(0,k.length,a.slice(d,d+e)):k.clear(),l=c;else if(l&&j!==d){var f=Math.abs(d-j);f<i&&d<j?(k.swap(0,0,a.slice(d,j)),k.splice(e,k.length-e)):f<i&&d>j?(k.swap(k.length,0,a.slice(j+i,d+e)),k.splice(0,k.length-e)):k.swap(0,k.length,a.slice(d,d+e))}h=b,j=d,i=e},e),p=d(k)||Function.noop;return function(){p(),n(),o(),m()}},e)}}function U(a){return function(b,c){return a(function(a){function d(a){for(;a<f.length;a++)f[a].set(0,a)}function e(a,b,c){f.swap(c,b.length,a.map(function(a,b){return[c+b,a]})),d(c+a.length)}if(!a)return b();var f=[],g=$(a,e,c),h=b(f)||Function.noop;return function(){h(),g()}},c)}}function V(a){return function(b,c){var d=[],e=b(d)||Function.noop,f=a(function(a){if(null==(a>>>=0))d.clear();else if(a>d.length){for(var b=[],c=d.length;c<a;c++)b.push(c);d.swap(d.length,0,b)}else a<d.length&&d.splice(a,d.length)},c)||Function.noop;return function(){e(),f()}}}function W(a,b){return function(c,d){return b(function(b){var e=new RegExp("^"+RegExp.escape(b));return a(function(a){return c(e.test(a))},d)},d)}}function X(a,b){return function(c,d){return b(function(b){var e=new RegExp(RegExp.escape(b)+"$");return a(function(a){return c(e.test(a))},d)},d)}}function Y(a,b){return function(c,d){return b(function(b){var e=new RegExp(RegExp.escape(b));return a(function(a){return c(e.test(a))},d)},d)}}function Z(a,b){return b=b||La,function(c,d){return a(function(a){return a?b(function(b){function e(){f=c(a.join(b))||Function.noop}if("string"!=typeof b)return c();var f=Function.noop,g=$(a,e,d);return function(){g(),f()}},d):c()},d)}}function $(a,b,c){function d(a,c,d){e(),e=b(a,c,d)||Function.noop}if(!a)return Function.noop;var e=Function.noop;if(!a.toArray)return Function.noop;if(!a.addRangeChangeListener)return Function.noop;d(a.toArray(),[],0);var f=a.addRangeChangeListener(d,null,c.beforeChange);return function(){e(),f()}}function _(a){return function(b,c){return a(function(a){return Ma(a,b,c)},c)}}function aa(a,b,c){function d(c,d,h){if(e+=c.length-d.length,!(h+d.length<e&&h+c.length<e)){var i=e<0?null:a.get(e);f(),f=b(i)||Function.noop,g=i}}var e=-1,f=Function.noop,g=null,h=$(a,d,c);return function(){f(),h()}}function ba(a){return function(b,c){return a(va(function(a){return ca(a,b,c)}),c)}}function ca(a,b,c){function d(c,d,f){return e+=c.length-d.length,1!==e?b():b(a.only())}var e=0;return $(a,d,c)}function da(a){return function(b,c){return a(va(function(a){return ea(a,b,c)}),c)}}function ea(a,b,c){function d(c,d,f){return e+=c.length-d.length,0===e?b():b(a.one())}var e=0;return $(a,d,c)}function fa(a){return function(b,c){return a(function(a){return a&&a.addRangeChangeListener?$(a,function(){return b(a)},c):b(a)},c)}}function ga(a){return function(b,c){return a(function(a){return a&&a.addMapChangeListener?ha(a,function(){return b(a)},c):b(a)},c)}}function ha(a,b,c){function d(a,c,d){var f=e.get(c)||Function.noop;e.delete(c),f(),f=b(a,c,d)||Function.noop,void 0===a?f():e.set(c,f)}if(a.addMapChangeListener){var e=new Ba;a.forEach(d);var f=a.addMapChangeListener(d,c.beforeChange);return function(){e.forEach(function(a){a()}),f()}}}function ia(a){return function(b,c){return a(function(a){return a?ja(a,b,c):b()},c)}}function ja(a,b,c){function d(a,b,c){var d,g;f.has(b)?null==a?(d=f.get(b),f.delete(b),g=e.indexOf(d),e.splice(g,1)):(d=f.get(b),d.set(1,a)):(d=[b,a],f.set(b,d),e.push(d))}var e=[],f=Ba(),g=b(e)||Function.noop,h=ha(a,d,c)||Function.noop;return function(){g(),h()}}function ka(a){return Ga(Na(a),la)}function la(a,b){return b.value?a(b.value[0]):a()}function ma(a){return Ga(Na(a),na)}function na(a,b){return b.value?a(b.value[1]):a()}function oa(a){return function(b,c){var d=new Ba,e=b(d)||Function.noop,f=a(function(a){if(d.clear(),a&&"object"==typeof a){if(a.addRangeChangeListener)return Oa(function(a){function b(a,b){b.forEach(function(a){d.delete(a[0])}),a.forEach(function(a){d.set(a[0],a[1])})}return $(a,b,c)},c.nest(a));if(a.addMapChangeListener)return ha(a,function(a,b){void 0===a?d.delete(b):d.set(b,a)},c);var b=Object.keys(a).map(function(b){return Ea(a,b,function(a){void 0===a?d.delete(b):d.set(b,a)},c)});return function(){wa(b)}}},c)||Function.noop;return function(){e(),f()}}}function pa(a){return function(b,c){return c.parent?a(b,c.parent):b()}}function qa(a,b,c){return function(d,e){return d=va(d),a(function(a){return d(b.call(c,a))},e)}}function ra(a,b,c){return function(d,e){return d=va(d),a(function(a){if(a&&a.every(Da.defined))return d(b.apply(c,a))},e)}}function sa(b,c){var d=a("./parse"),e=a("./compile-observer");return function(a,f){return a=va(a),c(function(c){if(null==c)return a();var g,h;try{g=d(c),h=e(g)}catch(b){return a()}return b(function(b){return h(a,f.nest(b))},f)},f)}}function ta(a,b){return function(c,d){return a(function(a){return null==a?c():b(function(a){return null==a?c():c(a)},d.nest(a))},d)}}function ua(a){return function(){var b=a.apply(this,arguments);return function(a,c){var d=[],e=b(function(a){function b(a,b,c){d.swap(c,b.length,a)}if(a){Pa(d,a);return a.addRangeChangeListener(b,null,c.beforeChange)}d.clear()},c),f=a(d)||Function.noop;return function(){e(),f()}}}}function va(a){var b;return function(c){if(c!==b){var d=a.apply(this,arguments);return b=c,d}}}function wa(a){a.forEach(function(a){a&&a()})}function xa(a){return function(){return a.apply(null,arguments)||Function.noop}}a("collections/shim")
;var ya=a("collections/listen/property-changes");a("collections/listen/array-changes");var za=a("collections/sorted-array"),Aa=a("collections/sorted-set"),Ba=a("collections/map"),Ca=(a("collections/set"),a("collections/heap")),Da=(a("./scope"),a("./operators"));c.makeLiteralObserver=d,c.observeValue=e,c.observeParameters=f,c.makeElementObserver=g,c.makeComponentObserver=h,c.observeProperty=i;var Ea=i;c.makePropertyObserver=j,c.observeKey=k,c.observeGet=k;var Fa=k;c.makeGetObserver=l,c.makeHasObserver=m,c.makeObserversObserver=n,c.makeRecordObserver=o,c.makeObjectObserver=o,c.makeTupleObserver=p,c.makeArrayObserver=p,c.makeOperatorObserverMaker=q,c.makeMethodObserverMaker=r,c.makeNotObserver=s,c.makeAndObserver=t,c.makeOrObserver=u,c.makeConditionalObserver=v,c.makeDefinedObserver=w,c.makeDefaultObserver=x;var Ga=c.makeMapBlockObserver=ua(y),Ha=c.makeFilterBlockObserver=ua(z);c.makeSortedBlockObserver=A,c.makeSortedSetBlockObserver=E,c.makeReversedObserver=ua(F);var Ia=c.makeFlattenObserver=ua(G);c.makeConcatObserver=H,c.makeSomeBlockObserver=I,c.makeEveryBlockObserver=J,c.makeGroupBlockObserver=K,c.makeGroupMapBlockObserver=L,c.makeMaxBlockObserver=N,c.makeMinBlockObserver=O,c.makeMaxObserver=P,c.makeMinObserver=Q;var Ja=d("length");c.makeSumObserver=R(function(){var a=0;return function(b,c,d){return b=b.filter(S),c=c.filter(S),a+=b.sum()-c.sum()}}),c.makeAverageObserver=R(function(){var a=0,b=0;return function(c,d,e){return c=c.filter(S),d=d.filter(S),a+=c.sum()-d.sum(),b+=c.length-d.length,a/b}}),c.makeViewObserver=ua(T);var Ka=d(0);c.makeEnumerateObserver=ua(U),c.makeEnumerationObserver=c.makeEnumerateObserver,c.makeRangeObserver=V,c.makeStartsWithObserver=W,c.makeEndsWithObserver=X,c.makeContainsObserver=Y,c.makeJoinObserver=Z;var La=d("");c.observeRangeChange=$,c.makeLastObserver=_,c.observeLast=aa;var Ma=aa;c.makeOnlyObserver=ba,c.observeOnly=ca,c.makeOneObserver=da,c.observeOne=ea,c.makeRangeContentObserver=fa,c.makeMapContentObserver=ga,c.observeMapChange=ha;var Na=c.makeEntriesObserver=ua(ia);c.observeEntries=ja,c.makeKeysObserver=ka,c.observeEntryKey=la,c.makeValuesObserver=ma,c.observeEntryValue=na,c.makeToMapObserver=oa;var Oa=Ga(K(e,la),_(na));c.makeParentObserver=pa,c.makeConverterObserver=qa,c.makeComputerObserver=ra,c.makePathObserver=sa,c.makeExpressionObserver=sa,c.makeWithObserver=ta,c.makeToArrayObserver=ua(Function.identity),c.makeAsArrayObserver=c.makeToArrayObserver;var Pa=a("./merge").merge;c.makeUniq=va,c.cancelEach=wa,c.autoCancelPrevious=xa},{"./compile-observer":33,"./merge":38,"./operators":64,"./parse":65,"./scope":66,"collections/heap":45,"collections/listen/array-changes":47,"collections/listen/property-changes":49,"collections/map":51,"collections/set":53,"collections/shim":58,"collections/sorted-array":59,"collections/sorted-set":60}],64:[function(a,b,c){a("collections/shim-object"),a("collections/shim-regexp");var d=a("collections/map"),e=a("collections/set");c.toNumber=function(a){return+a},c.toString=function(a){return null==a?a:"string"==typeof a||"number"==typeof a?""+a:null},c.toArray=Array.from,c.toMap=d,c.toSet=e,c.not=function(a){return!a},c.neg=function(a){return-a},c.pow=function(a,b){return Math.pow(a,b)},c.root=function(a,b){return Math.pow(a,1/b)},c.log=function(a,b){return Math.log(a)/Math.log(b)},c.mul=function(a,b){return a*b},c.div=function(a,b){return a/b},c.mod=function(a,b){return(a%b+b)%b},c.rem=function(a,b){return a%b},c.add=function(a,b){return a+b},c.sub=function(a,b){return a-b},c.ceil=function(a){return Math.ceil(a)},c.floor=function(a){return Math.floor(a)},c.round=function(a){return Math.round(a)},c.lt=function(a,b){return Object.compare(a,b)<0},c.gt=function(a,b){return Object.compare(a,b)>0},c.le=function(a,b){return Object.compare(a,b)<=0},c.ge=function(a,b){return Object.compare(a,b)>=0},c.equals=Object.equals,c.compare=Object.compare,c.and=function(a,b){return a&&b},c.or=function(a,b){return a||b},c.defined=function(a){return null!=a},c.startsWith=function(a,b){return new RegExp("^"+RegExp.escape(b)).test(a)},c.endsWith=function(a,b){return new RegExp(RegExp.escape(b)+"$").test(a)},c.contains=function(a,b){return new RegExp(RegExp.escape(b)).test(a)},c.join=function(a,b){return a.join(b||"")},c.split=function(a,b){return a.split(b||"")},c.range=function(a){for(var b=[],c=0;c<a;c++)b.push(c);return b},c.last=function(a){return a.get(a.length-1)}},{"collections/map":51,"collections/set":53,"collections/shim-object":56,"collections/shim-regexp":57}],65:[function(a,b,c){function d(a,b){if(Array.isArray(a))return{type:"tuple",args:a.map(function(a){return d(a,b)})};try{return e.parse(a,b||Object.empty)}catch(a){throw a.message=a.message.replace(/[\s\.]+$/,"")+" on line "+a.line+" column "+a.column,a}}a("collections/shim");var e=a("./grammar");b.exports=d},{"./grammar":36,"collections/shim":58}],66:[function(a,b,c){function d(a){this.parent=null,this.value=a}b.exports=d,d.prototype.nest=function(a){var b=Object.create(this);return b.value=a,b.parent=this,b}},{}],67:[function(a,b,c){"use strict";function d(a,b){return d.semantics.stringify(a,b)}function e(a){return function(b,c,d){var e=a+"{"+d(b.args[1],c)+"}";return"value"===b.args[0].type?e:d(b.args[0],c)+"."+e}}var f=(a("./parse"),a("./language").precedence),g=a("./language").operatorTypes;a("./language").operatorTokens;b.exports=d,d.semantics={makeBlockStringifier:e,stringify:function(a,b,c){function d(a){var c=g(a,b);return c?c:"this"}var e,g=this.stringify.bind(this),h=this.stringifiers;if(h[a.type])e=h[a.type](a,b,g);else if(a.inline)e="&"+a.type+"("+a.args.map(d).join(", ")+")";else{var i;1===a.args.length&&"mapBlock"===a.args[0].type?(i=a.type+"{"+g(a.args[0].args[1],b)+"}",a=a.args[0]):i=a.type+"("+a.args.slice(1).map(d).join(", ")+")",e="value"===a.args[0].type?i:g(a.args[0],b)+"."+i}return!c||c.type===a.type&&"if"!==c.type||f.get(c.type).has(a.type)?e:"("+e+")"},stringifiers:{value:function(a,b,c){return""},literal:function(a,b,c){return"string"==typeof a.value?"'"+a.value.replace("'","\\'")+"'":""+a.value},parameters:function(a,b,c){return"$"},record:function(a,b,c){return"{"+Object.map(a.args,function(a,d){var e;return e="value"===a.type?"this":c(a,b),d+": "+e}).join(", ")+"}"},tuple:function(a,b,c){return"["+Object.map(a.args,function(a){return"value"===a.type?"this":c(a)}).join(", ")+"]"},component:function(a,b){var c;return b&&b.components&&a.component?b.components.getObjectLabel?c=b.components.getObjectLabel(a.component):b.components.getLabelForObject&&(c=b.components.getLabelForObject(a.component)):c=a.label,"@"+c},element:function(a){return"#"+a.id},mapBlock:e("map"),filterBlock:e("filter"),someBlock:e("some"),everyBlock:e("every"),sortedBlock:e("sorted"),sortedSetBlock:e("sortedSet"),groupBlock:e("group"),groupMapBlock:e("groupMap"),minBlock:e("min"),maxBlock:e("max"),property:function(a,b,c){return"value"===a.args[0].type?"string"==typeof a.args[1].value?a.args[1].value:"literal"===a.args[1].type?"."+a.args[1].value:"this["+c(a.args[1],b)+"]":"parameters"===a.args[0].type?"$"+a.args[1].value:"literal"===a.args[1].type&&/^[\w\d_]+$/.test(a.args[1].value)?c(a.args[0],b,{type:"scope"})+"."+a.args[1].value:c(a.args[0],{type:"scope"},b)+"["+c(a.args[1],b)+"]"},with:function(a,b,c){var d=c(a.args[1],b,a);return c(a.args[0],b)+"."+d},not:function(a,b,c){return"equals"===a.args[0].type?c(a.args[0].args[0],b,{type:"equals"})+" != "+c(a.args[0].args[1],b,{type:"equals"}):"!"+c(a.args[0],b,a)},neg:function(a,b,c){return"-"+c(a.args[0],b,a)},toNumber:function(a,b,c){return"+"+c(a.args[0],b,a)},parent:function(a,b,c){return"^"+c(a.args[0],b,a)},if:function(a,b,c){return c(a.args[0],b,a)+" ? "+c(a.args[1],b)+" : "+c(a.args[2],b)},event:function(a,b,c){return a.when+" "+a.event+" -> "+c(a.listener,b)},binding:function(a,b,c,d){var e=d(b.args[0],c)+" "+a+" "+d(b.args[1],c),f="",g=b.descriptor;if(g)for(var h in g)f+=", "+h+": "+d(g[h],c);return e+f},bind:function(a,b,c){return this.binding("<-",a,b,c)},bind2:function(a,b,c){return this.binding("<->",a,b,c)},assign:function(a,b,c){return c(a.args[0],b)+": "+c(a.args[1],b)},block:function(a,b,c){var d="@"+a.label;return a.connection&&("prototype"===a.connection?d+=" < ":"object"===a.connection&&(d+=" : "),d+=c({type:"literal",value:a.module}),a.exports&&"value"!==a.exports.type&&(d+=" "+c(a.exports,b))),d+" {\n"+a.statements.map(function(a){return" "+c(a,b)+";\n"}).join("")+"}\n"},sheet:function(a,b,c){return"\n"+a.blocks.map(function(a){return c(a,b)}).join("\n")+"\n"}}},g.forEach(function(a,b){d.semantics.stringifiers[b]=function(b,c,d){return b.args.map(function(a){return d(a,c,b)}).join(" "+a+" ").trim()}})},{"./language":37,"./parse":65}],68:[function(a,b,c){},{}],69:[function(a,b,c){(function(b){"use strict";function d(){return f.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function e(a,b){if(d()<b)throw new RangeError("Invalid typed array length");return f.TYPED_ARRAY_SUPPORT?(a=new Uint8Array(b),a.__proto__=f.prototype):(null===a&&(a=new f(b)),a.length=b),a}function f(a,b,c){if(!(f.TYPED_ARRAY_SUPPORT||this instanceof f))return new f(a,b,c);if("number"==typeof a){if("string"==typeof b)throw new Error("If encoding is specified then the first argument must be a string");return j(this,a)}return g(this,a,b,c)}function g(a,b,c,d){if("number"==typeof b)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&b instanceof ArrayBuffer?m(a,b,c,d):"string"==typeof b?k(a,b,c):n(a,b)}function h(a){if("number"!=typeof a)throw new TypeError('"size" argument must be a number');if(a<0)throw new RangeError('"size" argument must not be negative')}function i(a,b,c,d){return h(b),b<=0?e(a,b):void 0!==c?"string"==typeof d?e(a,b).fill(c,d):e(a,b).fill(c):e(a,b)}function j(a,b){if(h(b),a=e(a,b<0?0:0|o(b)),!f.TYPED_ARRAY_SUPPORT)for(var c=0;c<b;++c)a[c]=0;return a}function k(a,b,c){if("string"==typeof c&&""!==c||(c="utf8"),!f.isEncoding(c))throw new TypeError('"encoding" must be a valid string encoding');var d=0|q(b,c);a=e(a,d);var g=a.write(b,c);return g!==d&&(a=a.slice(0,g)),a}function l(a,b){var c=b.length<0?0:0|o(b.length);a=e(a,c);for(var d=0;d<c;d+=1)a[d]=255&b[d];return a}function m(a,b,c,d){if(b.byteLength,c<0||b.byteLength<c)throw new RangeError("'offset' is out of bounds");if(b.byteLength<c+(d||0))throw new RangeError("'length' is out of bounds");return b=void 0===c&&void 0===d?new Uint8Array(b):void 0===d?new Uint8Array(b,c):new Uint8Array(b,c,d),f.TYPED_ARRAY_SUPPORT?(a=b,a.__proto__=f.prototype):a=l(a,b),a}function n(a,b){if(f.isBuffer(b)){var c=0|o(b.length);return a=e(a,c),0===a.length?a:(b.copy(a,0,0,c),a)}if(b){if("undefined"!=typeof ArrayBuffer&&b.buffer instanceof ArrayBuffer||"length"in b)return"number"!=typeof b.length||X(b.length)?e(a,0):l(a,b);if("Buffer"===b.type&&$(b.data))return l(a,b.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function o(a){if(a>=d())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+d().toString(16)+" bytes");return 0|a}function p(a){return+a!=a&&(a=0),f.alloc(+a)}function q(a,b){if(f.isBuffer(a))return a.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(a)||a instanceof ArrayBuffer))return a.byteLength;"string"!=typeof a&&(a=""+a);var c=a.length;if(0===c)return 0;for(var d=!1;;)switch(b){case"ascii":case"latin1":case"binary":return c;case"utf8":case"utf-8":case void 0:return S(a).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*c;case"hex":return c>>>1;case"base64":return V(a).length;default:if(d)return S(a).length;b=(""+b).toLowerCase(),d=!0}}function r(a,b,c){var d=!1;if((void 0===b||b<0)&&(b=0),b>this.length)return"";if((void 0===c||c>this.length)&&(c=this.length),c<=0)return"";if(c>>>=0,b>>>=0,c<=b)return"";for(a||(a="utf8");;)switch(a){case"hex":return G(this,b,c);case"utf8":case"utf-8":return C(this,b,c);case"ascii":return E(this,b,c);case"latin1":case"binary":return F(this,b,c);case"base64":return B(this,b,c);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return H(this,b,c);default:if(d)throw new TypeError("Unknown encoding: "+a);a=(a+"").toLowerCase(),d=!0}}function s(a,b,c){var d=a[b];a[b]=a[c],a[c]=d}function t(a,b,c,d,e){if(0===a.length)return-1;if("string"==typeof c?(d=c,c=0):c>2147483647?c=2147483647:c<-2147483648&&(c=-2147483648),c=+c,isNaN(c)&&(c=e?0:a.length-1),c<0&&(c=a.length+c),c>=a.length){if(e)return-1;c=a.length-1}else if(c<0){if(!e)return-1;c=0}if("string"==typeof b&&(b=f.from(b,d)),f.isBuffer(b))return 0===b.length?-1:u(a,b,c,d,e);if("number"==typeof b)return b&=255,f.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?e?Uint8Array.prototype.indexOf.call(a,b,c):Uint8Array.prototype.lastIndexOf.call(a,b,c):u(a,[b],c,d,e);throw new TypeError("val must be string, number or Buffer")}function u(a,b,c,d,e){function f(a,b){return 1===g?a[b]:a.readUInt16BE(b*g)}var g=1,h=a.length,i=b.length;if(void 0!==d&&("ucs2"===(d=String(d).toLowerCase())||"ucs-2"===d||"utf16le"===d||"utf-16le"===d)){if(a.length<2||b.length<2)return-1;g=2,h/=2,i/=2,c/=2}var j;if(e){var k=-1;for(j=c;j<h;j++)if(f(a,j)===f(b,k===-1?0:j-k)){if(k===-1&&(k=j),j-k+1===i)return k*g}else k!==-1&&(j-=j-k),k=-1}else for(c+i>h&&(c=h-i),j=c;j>=0;j--){for(var l=!0,m=0;m<i;m++)if(f(a,j+m)!==f(b,m)){l=!1;break}if(l)return j}return-1}function v(a,b,c,d){c=Number(c)||0;var e=a.length-c;d?(d=Number(d))>e&&(d=e):d=e;var f=b.length;if(f%2!=0)throw new TypeError("Invalid hex string");d>f/2&&(d=f/2);for(var g=0;g<d;++g){var h=parseInt(b.substr(2*g,2),16);if(isNaN(h))return g;a[c+g]=h}return g}function w(a,b,c,d){return W(S(b,a.length-c),a,c,d)}function x(a,b,c,d){return W(T(b),a,c,d)}function y(a,b,c,d){return x(a,b,c,d)}function z(a,b,c,d){return W(V(b),a,c,d)}function A(a,b,c,d){return W(U(b,a.length-c),a,c,d)}function B(a,b,c){return 0===b&&c===a.length?Y.fromByteArray(a):Y.fromByteArray(a.slice(b,c))}function C(a,b,c){c=Math.min(a.length,c);for(var d=[],e=b;e<c;){var f=a[e],g=null,h=f>239?4:f>223?3:f>191?2:1;if(e+h<=c){var i,j,k,l;switch(h){case 1:f<128&&(g=f);break;case 2:i=a[e+1],128==(192&i)&&(l=(31&f)<<6|63&i)>127&&(g=l);break;case 3:i=a[e+1],j=a[e+2],128==(192&i)&&128==(192&j)&&(l=(15&f)<<12|(63&i)<<6|63&j)>2047&&(l<55296||l>57343)&&(g=l);break;case 4:i=a[e+1],j=a[e+2],k=a[e+3],128==(192&i)&&128==(192&j)&&128==(192&k)&&(l=(15&f)<<18|(63&i)<<12|(63&j)<<6|63&k)>65535&&l<1114112&&(g=l)}}null===g?(g=65533,h=1):g>65535&&(g-=65536,d.push(g>>>10&1023|55296),g=56320|1023&g),d.push(g),e+=h}return D(d)}function D(a){var b=a.length;if(b<=_)return String.fromCharCode.apply(String,a);for(var c="",d=0;d<b;)c+=String.fromCharCode.apply(String,a.slice(d,d+=_));return c}function E(a,b,c){var d="";c=Math.min(a.length,c);for(var e=b;e<c;++e)d+=String.fromCharCode(127&a[e]);return d}function F(a,b,c){var d="";c=Math.min(a.length,c);for(var e=b;e<c;++e)d+=String.fromCharCode(a[e]);return d}function G(a,b,c){var d=a.length;(!b||b<0)&&(b=0),(!c||c<0||c>d)&&(c=d);for(var e="",f=b;f<c;++f)e+=R(a[f]);return e}function H(a,b,c){for(var d=a.slice(b,c),e="",f=0;f<d.length;f+=2)e+=String.fromCharCode(d[f]+256*d[f+1]);return e}function I(a,b,c){if(a%1!=0||a<0)throw new RangeError("offset is not uint");if(a+b>c)throw new RangeError("Trying to access beyond buffer length")}function J(a,b,c,d,e,g){if(!f.isBuffer(a))throw new TypeError('"buffer" argument must be a Buffer instance');if(b>e||b<g)throw new RangeError('"value" argument is out of bounds');if(c+d>a.length)throw new RangeError("Index out of range")}function K(a,b,c,d){b<0&&(b=65535+b+1);for(var e=0,f=Math.min(a.length-c,2);e<f;++e)a[c+e]=(b&255<<8*(d?e:1-e))>>>8*(d?e:1-e)}function L(a,b,c,d){b<0&&(b=4294967295+b+1);for(var e=0,f=Math.min(a.length-c,4);e<f;++e)a[c+e]=b>>>8*(d?e:3-e)&255}function M(a,b,c,d,e,f){if(c+d>a.length)throw new RangeError("Index out of range");if(c<0)throw new RangeError("Index out of range")}function N(a,b,c,d,e){return e||M(a,b,c,4,3.4028234663852886e38,-3.4028234663852886e38),Z.write(a,b,c,d,23,4),c+4}function O(a,b,c,d,e){return e||M(a,b,c,8,1.7976931348623157e308,-1.7976931348623157e308),Z.write(a,b,c,d,52,8),c+8}function P(a){if(a=Q(a).replace(aa,""),a.length<2)return"";for(;a.length%4!=0;)a+="=";return a}function Q(a){return a.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function R(a){return a<16?"0"+a.toString(16):a.toString(16)}function S(a,b){b=b||1/0;for(var c,d=a.length,e=null,f=[],g=0;g<d;++g){if((c=a.charCodeAt(g))>55295&&c<57344){if(!e){if(c>56319){(b-=3)>-1&&f.push(239,191,189);continue}if(g+1===d){(b-=3)>-1&&f.push(239,191,189);continue}e=c;continue}if(c<56320){(b-=3)>-1&&f.push(239,191,189),e=c;continue}c=65536+(e-55296<<10|c-56320)}else e&&(b-=3)>-1&&f.push(239,191,189);if(e=null,c<128){if((b-=1)<0)break;f.push(c)}else if(c<2048){if((b-=2)<0)break;f.push(c>>6|192,63&c|128)}else if(c<65536){if((b-=3)<0)break;f.push(c>>12|224,c>>6&63|128,63&c|128)}else{if(!(c<1114112))throw new Error("Invalid code point");if((b-=4)<0)break;f.push(c>>18|240,c>>12&63|128,c>>6&63|128,63&c|128)}}return f}function T(a){for(var b=[],c=0;c<a.length;++c)b.push(255&a.charCodeAt(c));return b}function U(a,b){for(var c,d,e,f=[],g=0;g<a.length&&!((b-=2)<0);++g)c=a.charCodeAt(g),d=c>>8,e=c%256,f.push(e),f.push(d);return f}function V(a){return Y.toByteArray(P(a))}function W(a,b,c,d){for(var e=0;e<d&&!(e+c>=b.length||e>=a.length);++e)b[e+c]=a[e];return e}function X(a){return a!==a}var Y=a("base64-js"),Z=a("ieee754"),$=a("isarray");c.Buffer=f,c.SlowBuffer=p,c.INSPECT_MAX_BYTES=50,f.TYPED_ARRAY_SUPPORT=void 0!==b.TYPED_ARRAY_SUPPORT?b.TYPED_ARRAY_SUPPORT:function(){try{var a=new Uint8Array(1);return a.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===a.foo()&&"function"==typeof a.subarray&&0===a.subarray(1,1).byteLength}catch(a){return!1}}(),c.kMaxLength=d(),f.poolSize=8192,f._augment=function(a){return a.__proto__=f.prototype,a},f.from=function(a,b,c){return g(null,a,b,c)},f.TYPED_ARRAY_SUPPORT&&(f.prototype.__proto__=Uint8Array.prototype,f.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&f[Symbol.species]===f&&Object.defineProperty(f,Symbol.species,{value:null,configurable:!0})),f.alloc=function(a,b,c){return i(null,a,b,c)},f.allocUnsafe=function(a){return j(null,a)},f.allocUnsafeSlow=function(a){return j(null,a)},f.isBuffer=function(a){return!(null==a||!a._isBuffer)},f.compare=function(a,b){if(!f.isBuffer(a)||!f.isBuffer(b))throw new TypeError("Arguments must be Buffers");if(a===b)return 0;for(var c=a.length,d=b.length,e=0,g=Math.min(c,d);e<g;++e)if(a[e]!==b[e]){c=a[e],d=b[e];break}return c<d?-1:d<c?1:0},f.isEncoding=function(a){switch(String(a).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},f.concat=function(a,b){if(!$(a))throw new TypeError('"list" argument must be an Array of Buffers');if(0===a.length)return f.alloc(0);var c;if(void 0===b)for(b=0,c=0;c<a.length;++c)b+=a[c].length;var d=f.allocUnsafe(b),e=0;for(c=0;c<a.length;++c){var g=a[c];if(!f.isBuffer(g))throw new TypeError('"list" argument must be an Array of Buffers');g.copy(d,e),e+=g.length}return d},f.byteLength=q,f.prototype._isBuffer=!0,f.prototype.swap16=function(){var a=this.length;if(a%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var b=0;b<a;b+=2)s(this,b,b+1);return this},f.prototype.swap32=function(){var a=this.length;if(a%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var b=0;b<a;b+=4)s(this,b,b+3),s(this,b+1,b+2);return this},f.prototype.swap64=function(){var a=this.length;if(a%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var b=0;b<a;b+=8)s(this,b,b+7),s(this,b+1,b+6),s(this,b+2,b+5),s(this,b+3,b+4);return this},f.prototype.toString=function(){var a=0|this.length;return 0===a?"":0===arguments.length?C(this,0,a):r.apply(this,arguments)},f.prototype.equals=function(a){if(!f.isBuffer(a))throw new TypeError("Argument must be a Buffer");return this===a||0===f.compare(this,a)},f.prototype.inspect=function(){var a="",b=c.INSPECT_MAX_BYTES;return this.length>0&&(a=this.toString("hex",0,b).match(/.{2}/g).join(" "),this.length>b&&(a+=" ... ")),"<Buffer "+a+">"},f.prototype.compare=function(a,b,c,d,e){if(!f.isBuffer(a))throw new TypeError("Argument must be a Buffer");if(void 0===b&&(b=0),void 0===c&&(c=a?a.length:0),void 0===d&&(d=0),void 0===e&&(e=this.length),b<0||c>a.length||d<0||e>this.length)throw new RangeError("out of range index");if(d>=e&&b>=c)return 0;if(d>=e)return-1;if(b>=c)return 1;if(b>>>=0,c>>>=0,d>>>=0,e>>>=0,this===a)return 0;for(var g=e-d,h=c-b,i=Math.min(g,h),j=this.slice(d,e),k=a.slice(b,c),l=0;l<i;++l)if(j[l]!==k[l]){g=j[l],h=k[l];break}return g<h?-1:h<g?1:0},f.prototype.includes=function(a,b,c){return this.indexOf(a,b,c)!==-1},f.prototype.indexOf=function(a,b,c){return t(this,a,b,c,!0)},f.prototype.lastIndexOf=function(a,b,c){return t(this,a,b,c,!1)},f.prototype.write=function(a,b,c,d){if(void 0===b)d="utf8",c=this.length,b=0;else if(void 0===c&&"string"==typeof b)d=b,c=this.length,b=0;else{if(!isFinite(b))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");b|=0,isFinite(c)?(c|=0,void 0===d&&(d="utf8")):(d=c,c=void 0)}var e=this.length-b;if((void 0===c||c>e)&&(c=e),a.length>0&&(c<0||b<0)||b>this.length)throw new RangeError("Attempt to write outside buffer bounds");d||(d="utf8");for(var f=!1;;)switch(d){case"hex":return v(this,a,b,c);case"utf8":case"utf-8":return w(this,a,b,c);case"ascii":return x(this,a,b,c);case"latin1":case"binary":return y(this,a,b,c);case"base64":return z(this,a,b,c);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A(this,a,b,c);default:if(f)throw new TypeError("Unknown encoding: "+d);d=(""+d).toLowerCase(),f=!0}},f.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var _=4096;f.prototype.slice=function(a,b){var c=this.length;a=~~a,b=void 0===b?c:~~b,a<0?(a+=c)<0&&(a=0):a>c&&(a=c),b<0?(b+=c)<0&&(b=0):b>c&&(b=c),b<a&&(b=a);var d;if(f.TYPED_ARRAY_SUPPORT)d=this.subarray(a,b),d.__proto__=f.prototype;else{var e=b-a;d=new f(e,void 0);for(var g=0;g<e;++g)d[g]=this[g+a]}return d},f.prototype.readUIntLE=function(a,b,c){a|=0,b|=0,c||I(a,b,this.length);for(var d=this[a],e=1,f=0;++f<b&&(e*=256);)d+=this[a+f]*e;return d},f.prototype.readUIntBE=function(a,b,c){a|=0,b|=0,c||I(a,b,this.length);for(var d=this[a+--b],e=1;b>0&&(e*=256);)d+=this[a+--b]*e;return d},f.prototype.readUInt8=function(a,b){return b||I(a,1,this.length),this[a]},f.prototype.readUInt16LE=function(a,b){return b||I(a,2,this.length),this[a]|this[a+1]<<8},f.prototype.readUInt16BE=function(a,b){return b||I(a,2,this.length),this[a]<<8|this[a+1]},f.prototype.readUInt32LE=function(a,b){return b||I(a,4,this.length),(this[a]|this[a+1]<<8|this[a+2]<<16)+16777216*this[a+3]},f.prototype.readUInt32BE=function(a,b){return b||I(a,4,this.length),16777216*this[a]+(this[a+1]<<16|this[a+2]<<8|this[a+3])},f.prototype.readIntLE=function(a,b,c){a|=0,b|=0,c||I(a,b,this.length);for(var d=this[a],e=1,f=0;++f<b&&(e*=256);)d+=this[a+f]*e;return e*=128,d>=e&&(d-=Math.pow(2,8*b)),d},f.prototype.readIntBE=function(a,b,c){a|=0,b|=0,c||I(a,b,this.length);for(var d=b,e=1,f=this[a+--d];d>0&&(e*=256);)f+=this[a+--d]*e;return e*=128,f>=e&&(f-=Math.pow(2,8*b)),f},f.prototype.readInt8=function(a,b){return b||I(a,1,this.length),128&this[a]?(255-this[a]+1)*-1:this[a]},f.prototype.readInt16LE=function(a,b){b||I(a,2,this.length);var c=this[a]|this[a+1]<<8;return 32768&c?4294901760|c:c},f.prototype.readInt16BE=function(a,b){b||I(a,2,this.length);var c=this[a+1]|this[a]<<8;return 32768&c?4294901760|c:c},f.prototype.readInt32LE=function(a,b){return b||I(a,4,this.length),this[a]|this[a+1]<<8|this[a+2]<<16|this[a+3]<<24},f.prototype.readInt32BE=function(a,b){return b||I(a,4,this.length),this[a]<<24|this[a+1]<<16|this[a+2]<<8|this[a+3]},f.prototype.readFloatLE=function(a,b){return b||I(a,4,this.length),Z.read(this,a,!0,23,4)},f.prototype.readFloatBE=function(a,b){return b||I(a,4,this.length),Z.read(this,a,!1,23,4)},f.prototype.readDoubleLE=function(a,b){return b||I(a,8,this.length),Z.read(this,a,!0,52,8)},f.prototype.readDoubleBE=function(a,b){return b||I(a,8,this.length),Z.read(this,a,!1,52,8)},f.prototype.writeUIntLE=function(a,b,c,d){if(a=+a,b|=0,c|=0,!d){J(this,a,b,c,Math.pow(2,8*c)-1,0)}var e=1,f=0;for(this[b]=255&a;++f<c&&(e*=256);)this[b+f]=a/e&255;return b+c},f.prototype.writeUIntBE=function(a,b,c,d){if(a=+a,b|=0,c|=0,!d){J(this,a,b,c,Math.pow(2,8*c)-1,0)}var e=c-1,f=1;for(this[b+e]=255&a;--e>=0&&(f*=256);)this[b+e]=a/f&255;return b+c},f.prototype.writeUInt8=function(a,b,c){return a=+a,b|=0,c||J(this,a,b,1,255,0),f.TYPED_ARRAY_SUPPORT||(a=Math.floor(a)),this[b]=255&a,b+1},f.prototype.writeUInt16LE=function(a,b,c){return a=+a,b|=0,c||J(this,a,b,2,65535,0),f.TYPED_ARRAY_SUPPORT?(this[b]=255&a,this[b+1]=a>>>8):K(this,a,b,!0),b+2},f.prototype.writeUInt16BE=function(a,b,c){return a=+a,b|=0,c||J(this,a,b,2,65535,0),f.TYPED_ARRAY_SUPPORT?(this[b]=a>>>8,this[b+1]=255&a):K(this,a,b,!1),b+2},f.prototype.writeUInt32LE=function(a,b,c){return a=+a,b|=0,c||J(this,a,b,4,4294967295,0),f.TYPED_ARRAY_SUPPORT?(this[b+3]=a>>>24,this[b+2]=a>>>16,this[b+1]=a>>>8,this[b]=255&a):L(this,a,b,!0),b+4},f.prototype.writeUInt32BE=function(a,b,c){return a=+a,b|=0,c||J(this,a,b,4,4294967295,0),f.TYPED_ARRAY_SUPPORT?(this[b]=a>>>24,this[b+1]=a>>>16,this[b+2]=a>>>8,this[b+3]=255&a):L(this,a,b,!1),b+4},f.prototype.writeIntLE=function(a,b,c,d){if(a=+a,b|=0,!d){var e=Math.pow(2,8*c-1);J(this,a,b,c,e-1,-e)}var f=0,g=1,h=0;for(this[b]=255&a;++f<c&&(g*=256);)a<0&&0===h&&0!==this[b+f-1]&&(h=1),this[b+f]=(a/g>>0)-h&255;return b+c},f.prototype.writeIntBE=function(a,b,c,d){if(a=+a,b|=0,!d){var e=Math.pow(2,8*c-1);J(this,a,b,c,e-1,-e)}var f=c-1,g=1,h=0;for(this[b+f]=255&a;--f>=0&&(g*=256);)a<0&&0===h&&0!==this[b+f+1]&&(h=1),this[b+f]=(a/g>>0)-h&255;return b+c},f.prototype.writeInt8=function(a,b,c){return a=+a,b|=0,c||J(this,a,b,1,127,-128),f.TYPED_ARRAY_SUPPORT||(a=Math.floor(a)),a<0&&(a=255+a+1),this[b]=255&a,b+1},f.prototype.writeInt16LE=function(a,b,c){return a=+a,b|=0,c||J(this,a,b,2,32767,-32768),f.TYPED_ARRAY_SUPPORT?(this[b]=255&a,this[b+1]=a>>>8):K(this,a,b,!0),b+2},f.prototype.writeInt16BE=function(a,b,c){return a=+a,b|=0,c||J(this,a,b,2,32767,-32768),f.TYPED_ARRAY_SUPPORT?(this[b]=a>>>8,this[b+1]=255&a):K(this,a,b,!1),b+2},f.prototype.writeInt32LE=function(a,b,c){return a=+a,b|=0,c||J(this,a,b,4,2147483647,-2147483648),f.TYPED_ARRAY_SUPPORT?(this[b]=255&a,this[b+1]=a>>>8,this[b+2]=a>>>16,this[b+3]=a>>>24):L(this,a,b,!0),b+4},f.prototype.writeInt32BE=function(a,b,c){return a=+a,b|=0,c||J(this,a,b,4,2147483647,-2147483648),a<0&&(a=4294967295+a+1),f.TYPED_ARRAY_SUPPORT?(this[b]=a>>>24,this[b+1]=a>>>16,this[b+2]=a>>>8,this[b+3]=255&a):L(this,a,b,!1),b+4},f.prototype.writeFloatLE=function(a,b,c){return N(this,a,b,!0,c)},f.prototype.writeFloatBE=function(a,b,c){return N(this,a,b,!1,c)},f.prototype.writeDoubleLE=function(a,b,c){return O(this,a,b,!0,c)},f.prototype.writeDoubleBE=function(a,b,c){return O(this,a,b,!1,c)},f.prototype.copy=function(a,b,c,d){if(c||(c=0),d||0===d||(d=this.length),b>=a.length&&(b=a.length),b||(b=0),d>0&&d<c&&(d=c),d===c)return 0;if(0===a.length||0===this.length)return 0;if(b<0)throw new RangeError("targetStart out of bounds");if(c<0||c>=this.length)throw new RangeError("sourceStart out of bounds");if(d<0)throw new RangeError("sourceEnd out of bounds");d>this.length&&(d=this.length),a.length-b<d-c&&(d=a.length-b+c);var e,g=d-c;if(this===a&&c<b&&b<d)for(e=g-1;e>=0;--e)a[e+b]=this[e+c];else if(g<1e3||!f.TYPED_ARRAY_SUPPORT)for(e=0;e<g;++e)a[e+b]=this[e+c];else Uint8Array.prototype.set.call(a,this.subarray(c,c+g),b);return g},f.prototype.fill=function(a,b,c,d){if("string"==typeof a){if("string"==typeof b?(d=b,b=0,c=this.length):"string"==typeof c&&(d=c,c=this.length),1===a.length){var e=a.charCodeAt(0);e<256&&(a=e)}if(void 0!==d&&"string"!=typeof d)throw new TypeError("encoding must be a string");if("string"==typeof d&&!f.isEncoding(d))throw new TypeError("Unknown encoding: "+d)}else"number"==typeof a&&(a&=255);if(b<0||this.length<b||this.length<c)throw new RangeError("Out of range index");if(c<=b)return this;b>>>=0,c=void 0===c?this.length:c>>>0,a||(a=0);var g;if("number"==typeof a)for(g=b;g<c;++g)this[g]=a;else{var h=f.isBuffer(a)?a:S(new f(a,d).toString()),i=h.length;for(g=0;g<c-b;++g)this[g+b]=h[g%i]}return this};var aa=/[^+\/0-9A-Za-z-_]/g}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"base64-js":70,ieee754:71,isarray:72}],70:[function(a,b,c){"use strict";function d(a){var b=a.length;if(b%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===a[b-2]?2:"="===a[b-1]?1:0}function e(a){return 3*a.length/4-d(a)}function f(a){var b,c,e,f,g,h,i=a.length;g=d(a),h=new l(3*i/4-g),e=g>0?i-4:i;var j=0;for(b=0,c=0;b<e;b+=4,c+=3)f=k[a.charCodeAt(b)]<<18|k[a.charCodeAt(b+1)]<<12|k[a.charCodeAt(b+2)]<<6|k[a.charCodeAt(b+3)],h[j++]=f>>16&255,h[j++]=f>>8&255,h[j++]=255&f;return 2===g?(f=k[a.charCodeAt(b)]<<2|k[a.charCodeAt(b+1)]>>4,h[j++]=255&f):1===g&&(f=k[a.charCodeAt(b)]<<10|k[a.charCodeAt(b+1)]<<4|k[a.charCodeAt(b+2)]>>2,h[j++]=f>>8&255,h[j++]=255&f),h}function g(a){return j[a>>18&63]+j[a>>12&63]+j[a>>6&63]+j[63&a]}function h(a,b,c){for(var d,e=[],f=b;f<c;f+=3)d=(a[f]<<16)+(a[f+1]<<8)+a[f+2],e.push(g(d));return e.join("")}function i(a){for(var b,c=a.length,d=c%3,e="",f=[],g=0,i=c-d;g<i;g+=16383)f.push(h(a,g,g+16383>i?i:g+16383));return 1===d?(b=a[c-1],e+=j[b>>2],e+=j[b<<4&63],e+="=="):2===d&&(b=(a[c-2]<<8)+a[c-1],e+=j[b>>10],e+=j[b>>4&63],e+=j[b<<2&63],e+="="),f.push(e),f.join("")}c.byteLength=e,c.toByteArray=f,c.fromByteArray=i;for(var j=[],k=[],l="undefined"!=typeof Uint8Array?Uint8Array:Array,m="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0,o=m.length;n<o;++n)j[n]=m[n],k[m.charCodeAt(n)]=n;k["-".charCodeAt(0)]=62,k["_".charCodeAt(0)]=63},{}],71:[function(a,b,c){c.read=function(a,b,c,d,e){var f,g,h=8*e-d-1,i=(1<<h)-1,j=i>>1,k=-7,l=c?e-1:0,m=c?-1:1,n=a[b+l];for(l+=m,f=n&(1<<-k)-1,n>>=-k,k+=h;k>0;f=256*f+a[b+l],l+=m,k-=8);for(g=f&(1<<-k)-1,f>>=-k,k+=d;k>0;g=256*g+a[b+l],l+=m,k-=8);if(0===f)f=1-j;else{if(f===i)return g?NaN:1/0*(n?-1:1);g+=Math.pow(2,d),f-=j}return(n?-1:1)*g*Math.pow(2,f-d)},c.write=function(a,b,c,d,e,f){var g,h,i,j=8*f-e-1,k=(1<<j)-1,l=k>>1,m=23===e?Math.pow(2,-24)-Math.pow(2,-77):0,n=d?0:f-1,o=d?1:-1,p=b<0||0===b&&1/b<0?1:0;for(b=Math.abs(b),isNaN(b)||b===1/0?(h=isNaN(b)?1:0,g=k):(g=Math.floor(Math.log(b)/Math.LN2),b*(i=Math.pow(2,-g))<1&&(g--,i*=2),b+=g+l>=1?m/i:m*Math.pow(2,1-l),b*i>=2&&(g++,i/=2),g+l>=k?(h=0,g=k):g+l>=1?(h=(b*i-1)*Math.pow(2,e),g+=l):(h=b*Math.pow(2,l-1)*Math.pow(2,e),g=0));e>=8;a[c+n]=255&h,n+=o,h/=256,e-=8);for(g=g<<e|h,j+=e;j>0;a[c+n]=255&g,n+=o,g/=256,j-=8);a[c+n-o]|=128*p}},{}],72:[function(a,b,c){var d={}.toString;b.exports=Array.isArray||function(a){return"[object Array]"==d.call(a)}},{}],73:[function(a,b,c){function d(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function e(a){return"function"==typeof a}function f(a){return"number"==typeof a}function g(a){return"object"==typeof a&&null!==a}function h(a){return void 0===a}b.exports=d,d.EventEmitter=d,d.prototype._events=void 0,d.prototype._maxListeners=void 0,d.defaultMaxListeners=10,d.prototype.setMaxListeners=function(a){if(!f(a)||a<0||isNaN(a))throw TypeError("n must be a positive number");return this._maxListeners=a,this},d.prototype.emit=function(a){var b,c,d,f,i,j;if(this._events||(this._events={}),"error"===a&&(!this._events.error||g(this._events.error)&&!this._events.error.length)){if((b=arguments[1])instanceof Error)throw b;var k=new Error('Uncaught, unspecified "error" event. ('+b+")");throw k.context=b,k}if(c=this._events[a],h(c))return!1
;if(e(c))switch(arguments.length){case 1:c.call(this);break;case 2:c.call(this,arguments[1]);break;case 3:c.call(this,arguments[1],arguments[2]);break;default:f=Array.prototype.slice.call(arguments,1),c.apply(this,f)}else if(g(c))for(f=Array.prototype.slice.call(arguments,1),j=c.slice(),d=j.length,i=0;i<d;i++)j[i].apply(this,f);return!0},d.prototype.addListener=function(a,b){var c;if(!e(b))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",a,e(b.listener)?b.listener:b),this._events[a]?g(this._events[a])?this._events[a].push(b):this._events[a]=[this._events[a],b]:this._events[a]=b,g(this._events[a])&&!this._events[a].warned&&(c=h(this._maxListeners)?d.defaultMaxListeners:this._maxListeners)&&c>0&&this._events[a].length>c&&(this._events[a].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[a].length),"function"==typeof console.trace&&console.trace()),this},d.prototype.on=d.prototype.addListener,d.prototype.once=function(a,b){function c(){this.removeListener(a,c),d||(d=!0,b.apply(this,arguments))}if(!e(b))throw TypeError("listener must be a function");var d=!1;return c.listener=b,this.on(a,c),this},d.prototype.removeListener=function(a,b){var c,d,f,h;if(!e(b))throw TypeError("listener must be a function");if(!this._events||!this._events[a])return this;if(c=this._events[a],f=c.length,d=-1,c===b||e(c.listener)&&c.listener===b)delete this._events[a],this._events.removeListener&&this.emit("removeListener",a,b);else if(g(c)){for(h=f;h-- >0;)if(c[h]===b||c[h].listener&&c[h].listener===b){d=h;break}if(d<0)return this;1===c.length?(c.length=0,delete this._events[a]):c.splice(d,1),this._events.removeListener&&this.emit("removeListener",a,b)}return this},d.prototype.removeAllListeners=function(a){var b,c;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[a]&&delete this._events[a],this;if(0===arguments.length){for(b in this._events)"removeListener"!==b&&this.removeAllListeners(b);return this.removeAllListeners("removeListener"),this._events={},this}if(c=this._events[a],e(c))this.removeListener(a,c);else if(c)for(;c.length;)this.removeListener(a,c[c.length-1]);return delete this._events[a],this},d.prototype.listeners=function(a){return this._events&&this._events[a]?e(this._events[a])?[this._events[a]]:this._events[a].slice():[]},d.prototype.listenerCount=function(a){if(this._events){var b=this._events[a];if(e(b))return 1;if(b)return b.length}return 0},d.listenerCount=function(a,b){return a.listenerCount(b)}},{}],74:[function(a,b,c){var d=a("http"),e=b.exports;for(var f in d)d.hasOwnProperty(f)&&(e[f]=d[f]);e.request=function(a,b){return a||(a={}),a.scheme="https",a.protocol="https:",d.request.call(this,a,b)}},{http:94}],75:[function(a,b,c){"function"==typeof Object.create?b.exports=function(a,b){a.super_=b,a.prototype=Object.create(b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}})}:b.exports=function(a,b){a.super_=b;var c=function(){};c.prototype=b.prototype,a.prototype=new c,a.prototype.constructor=a}},{}],76:[function(a,b,c){function d(a){return!!a.constructor&&"function"==typeof a.constructor.isBuffer&&a.constructor.isBuffer(a)}function e(a){return"function"==typeof a.readFloatLE&&"function"==typeof a.slice&&d(a.slice(0,0))}b.exports=function(a){return null!=a&&(d(a)||e(a)||!!a._isBuffer)}},{}],77:[function(a,b,c){function d(){throw new Error("setTimeout has not been defined")}function e(){throw new Error("clearTimeout has not been defined")}function f(a){if(l===setTimeout)return setTimeout(a,0);if((l===d||!l)&&setTimeout)return l=setTimeout,setTimeout(a,0);try{return l(a,0)}catch(b){try{return l.call(null,a,0)}catch(b){return l.call(this,a,0)}}}function g(a){if(m===clearTimeout)return clearTimeout(a);if((m===e||!m)&&clearTimeout)return m=clearTimeout,clearTimeout(a);try{return m(a)}catch(b){try{return m.call(null,a)}catch(b){return m.call(this,a)}}}function h(){q&&o&&(q=!1,o.length?p=o.concat(p):r=-1,p.length&&i())}function i(){if(!q){var a=f(h);q=!0;for(var b=p.length;b;){for(o=p,p=[];++r<b;)o&&o[r].run();r=-1,b=p.length}o=null,q=!1,g(a)}}function j(a,b){this.fun=a,this.array=b}function k(){}var l,m,n=b.exports={};!function(){try{l="function"==typeof setTimeout?setTimeout:d}catch(a){l=d}try{m="function"==typeof clearTimeout?clearTimeout:e}catch(a){m=e}}();var o,p=[],q=!1,r=-1;n.nextTick=function(a){var b=new Array(arguments.length-1);if(arguments.length>1)for(var c=1;c<arguments.length;c++)b[c-1]=arguments[c];p.push(new j(a,b)),1!==p.length||q||f(i)},j.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=k,n.addListener=k,n.once=k,n.off=k,n.removeListener=k,n.removeAllListeners=k,n.emit=k,n.binding=function(a){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(a){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}},{}],78:[function(a,b,c){(function(a){!function(d){function e(a){throw new RangeError(H[a])}function f(a,b){for(var c=a.length,d=[];c--;)d[c]=b(a[c]);return d}function g(a,b){var c=a.split("@"),d="";return c.length>1&&(d=c[0]+"@",a=c[1]),a=a.replace(G,"."),d+f(a.split("."),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;e<f;)b=a.charCodeAt(e++),b>=55296&&b<=56319&&e<f?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return a-48<10?a-22:a-65<26?a-65:a-97<26?a-97:w}function k(a,b){return a+22+75*(a<26)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),c<0&&(c=0),d=0;d<c;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;f<q;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=k<=t?x:k>=t+y?y:k-t,!(m<n);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;i<q;++i)(p=a[i])<128&&u.push(K(p));for(d=f=u.length,f&&u.push(D);d<q;){for(j=v,i=0;i<q;++i)(p=a[i])>=b&&p<j&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;i<q;++i)if(p=a[i],p<b&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=n<=g?x:n>=g+y?y:n-g,!(m<o);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c&&!c.nodeType&&c,r="object"==typeof b&&b&&!b.nodeType&&b,s="object"==typeof a&&a;s.global!==s&&s.window!==s&&s.self!==s||(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^\x20-\x7E]/,G=/[\x2E\u3002\uFF0E\uFF61]/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.4.1",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&r)if(b.exports==q)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],79:[function(a,b,c){"use strict";function d(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,c,f){b=b||"&",c=c||"=";var g={};if("string"!=typeof a||0===a.length)return g;a=a.split(b);var h=1e3;f&&"number"==typeof f.maxKeys&&(h=f.maxKeys);var i=a.length;h>0&&i>h&&(i=h);for(var j=0;j<i;++j){var k,l,m,n,o=a[j].replace(/\+/g,"%20"),p=o.indexOf(c);p>=0?(k=o.substr(0,p),l=o.substr(p+1)):(k=o,l=""),m=decodeURIComponent(k),n=decodeURIComponent(l),d(g,m)?e(g[m])?g[m].push(n):g[m]=[g[m],n]:g[m]=n}return g};var e=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],80:[function(a,b,c){"use strict";function d(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d<a.length;d++)c.push(b(a[d],d));return c}var e=function(a){switch(typeof a){case"string":return a;case"boolean":return a?"true":"false";case"number":return isFinite(a)?a:"";default:return""}};b.exports=function(a,b,c,h){return b=b||"&",c=c||"=",null===a&&(a=void 0),"object"==typeof a?d(g(a),function(g){var h=encodeURIComponent(e(g))+c;return f(a[g])?d(a[g],function(a){return h+encodeURIComponent(e(a))}).join(b):h+encodeURIComponent(e(a[g]))}).join(b):h?encodeURIComponent(e(h))+c+encodeURIComponent(e(a)):""};var f=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)},g=Object.keys||function(a){var b=[];for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&b.push(c);return b}},{}],81:[function(a,b,c){"use strict";c.decode=c.parse=a("./decode"),c.encode=c.stringify=a("./encode")},{"./decode":79,"./encode":80}],82:[function(a,b,c){"use strict";function d(a){if(!(this instanceof d))return new d(a);j.call(this,a),k.call(this,a),a&&a.readable===!1&&(this.readable=!1),a&&a.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,a&&a.allowHalfOpen===!1&&(this.allowHalfOpen=!1),this.once("end",e)}function e(){this.allowHalfOpen||this._writableState.ended||h(f,this)}function f(a){a.end()}var g=Object.keys||function(a){var b=[];for(var c in a)b.push(c);return b};b.exports=d;var h=a("process-nextick-args"),i=a("core-util-is");i.inherits=a("inherits");var j=a("./_stream_readable"),k=a("./_stream_writable");i.inherits(d,j);for(var l=g(k.prototype),m=0;m<l.length;m++){var n=l[m];d.prototype[n]||(d.prototype[n]=k.prototype[n])}},{"./_stream_readable":84,"./_stream_writable":86,"core-util-is":89,inherits:75,"process-nextick-args":91}],83:[function(a,b,c){"use strict";function d(a){if(!(this instanceof d))return new d(a);e.call(this,a)}b.exports=d;var e=a("./_stream_transform"),f=a("core-util-is");f.inherits=a("inherits"),f.inherits(d,e),d.prototype._transform=function(a,b,c){c(null,a)}},{"./_stream_transform":85,"core-util-is":89,inherits:75}],84:[function(a,b,c){(function(c){"use strict";function d(a,b,c){if("function"==typeof a.prependListener)return a.prependListener(b,c);a._events&&a._events[b]?F(a._events[b])?a._events[b].unshift(c):a._events[b]=[c,a._events[b]]:a.on(b,c)}function e(b,c){D=D||a("./_stream_duplex"),b=b||{},this.objectMode=!!b.objectMode,c instanceof D&&(this.objectMode=this.objectMode||!!b.readableObjectMode);var d=b.highWaterMark,e=this.objectMode?16:16384;this.highWaterMark=d||0===d?d:e,this.highWaterMark=~~this.highWaterMark,this.buffer=new O,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=b.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,b.encoding&&(N||(N=a("string_decoder/").StringDecoder),this.decoder=new N(b.encoding),this.encoding=b.encoding)}function f(b){if(D=D||a("./_stream_duplex"),!(this instanceof f))return new f(b);this._readableState=new e(b,this),this.readable=!0,b&&"function"==typeof b.read&&(this._read=b.read),G.call(this)}function g(a,b,c,d,e){var f=k(b,c);if(f)a.emit("error",f);else if(null===c)b.reading=!1,l(a,b);else if(b.objectMode||c&&c.length>0)if(b.ended&&!e){var g=new Error("stream.push() after EOF");a.emit("error",g)}else if(b.endEmitted&&e){var i=new Error("stream.unshift() after end event");a.emit("error",i)}else{var j;!b.decoder||e||d||(c=b.decoder.write(c),j=!b.objectMode&&0===c.length),e||(b.reading=!1),j||(b.flowing&&0===b.length&&!b.sync?(a.emit("data",c),a.read(0)):(b.length+=b.objectMode?1:c.length,e?b.buffer.unshift(c):b.buffer.push(c),b.needReadable&&m(a))),o(a,b)}else e||(b.reading=!1);return h(b)}function h(a){return!a.ended&&(a.needReadable||a.length<a.highWaterMark||0===a.length)}function i(a){return a>=P?a=P:(a--,a|=a>>>1,a|=a>>>2,a|=a>>>4,a|=a>>>8,a|=a>>>16,a++),a}function j(a,b){return a<=0||0===b.length&&b.ended?0:b.objectMode?1:a!==a?b.flowing&&b.length?b.buffer.head.data.length:b.length:(a>b.highWaterMark&&(b.highWaterMark=i(a)),a<=b.length?a:b.ended?b.length:(b.needReadable=!0,0))}function k(a,b){var c=null;return I.isBuffer(b)||"string"==typeof b||null===b||void 0===b||a.objectMode||(c=new TypeError("Invalid non-string/buffer chunk")),c}function l(a,b){if(!b.ended){if(b.decoder){var c=b.decoder.end();c&&c.length&&(b.buffer.push(c),b.length+=b.objectMode?1:c.length)}b.ended=!0,m(a)}}function m(a){var b=a._readableState;b.needReadable=!1,b.emittedReadable||(M("emitReadable",b.flowing),b.emittedReadable=!0,b.sync?E(n,a):n(a))}function n(a){M("emit readable"),a.emit("readable"),u(a)}function o(a,b){b.readingMore||(b.readingMore=!0,E(p,a,b))}function p(a,b){for(var c=b.length;!b.reading&&!b.flowing&&!b.ended&&b.length<b.highWaterMark&&(M("maybeReadMore read 0"),a.read(0),c!==b.length);)c=b.length;b.readingMore=!1}function q(a){return function(){var b=a._readableState;M("pipeOnDrain",b.awaitDrain),b.awaitDrain&&b.awaitDrain--,0===b.awaitDrain&&H(a,"data")&&(b.flowing=!0,u(a))}}function r(a){M("readable nexttick read 0"),a.read(0)}function s(a,b){b.resumeScheduled||(b.resumeScheduled=!0,E(t,a,b))}function t(a,b){b.reading||(M("resume read 0"),a.read(0)),b.resumeScheduled=!1,b.awaitDrain=0,a.emit("resume"),u(a),b.flowing&&!b.reading&&a.read(0)}function u(a){var b=a._readableState;for(M("flow",b.flowing);b.flowing&&null!==a.read(););}function v(a,b){if(0===b.length)return null;var c;return b.objectMode?c=b.buffer.shift():!a||a>=b.length?(c=b.decoder?b.buffer.join(""):1===b.buffer.length?b.buffer.head.data:b.buffer.concat(b.length),b.buffer.clear()):c=w(a,b.buffer,b.decoder),c}function w(a,b,c){var d;return a<b.head.data.length?(d=b.head.data.slice(0,a),b.head.data=b.head.data.slice(a)):d=a===b.head.data.length?b.shift():c?x(a,b):y(a,b),d}function x(a,b){var c=b.head,d=1,e=c.data;for(a-=e.length;c=c.next;){var f=c.data,g=a>f.length?f.length:a;if(e+=g===f.length?f:f.slice(0,a),0===(a-=g)){g===f.length?(++d,c.next?b.head=c.next:b.head=b.tail=null):(b.head=c,c.data=f.slice(g));break}++d}return b.length-=d,e}function y(a,b){var c=J.allocUnsafe(a),d=b.head,e=1;for(d.data.copy(c),a-=d.data.length;d=d.next;){var f=d.data,g=a>f.length?f.length:a;if(f.copy(c,c.length-a,0,g),0===(a-=g)){g===f.length?(++e,d.next?b.head=d.next:b.head=b.tail=null):(b.head=d,d.data=f.slice(g));break}++e}return b.length-=e,c}function z(a){var b=a._readableState;if(b.length>0)throw new Error('"endReadable()" called on non-empty stream');b.endEmitted||(b.ended=!0,E(A,b,a))}function A(a,b){a.endEmitted||0!==a.length||(a.endEmitted=!0,b.readable=!1,b.emit("end"))}function B(a,b){for(var c=0,d=a.length;c<d;c++)b(a[c],c)}function C(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1}b.exports=f;var D,E=a("process-nextick-args"),F=a("isarray");f.ReadableState=e;var G,H=(a("events").EventEmitter,function(a,b){return a.listeners(b).length});!function(){try{G=a("stream")}catch(a){}finally{G||(G=a("events").EventEmitter)}}();var I=a("buffer").Buffer,J=a("buffer-shims"),K=a("core-util-is");K.inherits=a("inherits");var L=a("util"),M=void 0;M=L&&L.debuglog?L.debuglog("stream"):function(){};var N,O=a("./internal/streams/BufferList");K.inherits(f,G),f.prototype.push=function(a,b){var c=this._readableState;return c.objectMode||"string"!=typeof a||(b=b||c.defaultEncoding)!==c.encoding&&(a=J.from(a,b),b=""),g(this,c,a,b,!1)},f.prototype.unshift=function(a){return g(this,this._readableState,a,"",!0)},f.prototype.isPaused=function(){return this._readableState.flowing===!1},f.prototype.setEncoding=function(b){return N||(N=a("string_decoder/").StringDecoder),this._readableState.decoder=new N(b),this._readableState.encoding=b,this};var P=8388608;f.prototype.read=function(a){M("read",a),a=parseInt(a,10);var b=this._readableState,c=a;if(0!==a&&(b.emittedReadable=!1),0===a&&b.needReadable&&(b.length>=b.highWaterMark||b.ended))return M("read: emitReadable",b.length,b.ended),0===b.length&&b.ended?z(this):m(this),null;if(0===(a=j(a,b))&&b.ended)return 0===b.length&&z(this),null;var d=b.needReadable;M("need readable",d),(0===b.length||b.length-a<b.highWaterMark)&&(d=!0,M("length less than watermark",d)),b.ended||b.reading?(d=!1,M("reading or ended",d)):d&&(M("do read"),b.reading=!0,b.sync=!0,0===b.length&&(b.needReadable=!0),this._read(b.highWaterMark),b.sync=!1,b.reading||(a=j(c,b)));var e;return e=a>0?v(a,b):null,null===e?(b.needReadable=!0,a=0):b.length-=a,0===b.length&&(b.ended||(b.needReadable=!0),c!==a&&b.ended&&z(this)),null!==e&&this.emit("data",e),e},f.prototype._read=function(a){this.emit("error",new Error("_read() is not implemented"))},f.prototype.pipe=function(a,b){function e(a){M("onunpipe"),a===m&&g()}function f(){M("onend"),a.end()}function g(){M("cleanup"),a.removeListener("close",j),a.removeListener("finish",k),a.removeListener("drain",r),a.removeListener("error",i),a.removeListener("unpipe",e),m.removeListener("end",f),m.removeListener("end",g),m.removeListener("data",h),s=!0,!n.awaitDrain||a._writableState&&!a._writableState.needDrain||r()}function h(b){M("ondata"),t=!1,!1!==a.write(b)||t||((1===n.pipesCount&&n.pipes===a||n.pipesCount>1&&C(n.pipes,a)!==-1)&&!s&&(M("false write response, pause",m._readableState.awaitDrain),m._readableState.awaitDrain++,t=!0),m.pause())}function i(b){M("onerror",b),l(),a.removeListener("error",i),0===H(a,"error")&&a.emit("error",b)}function j(){a.removeListener("finish",k),l()}function k(){M("onfinish"),a.removeListener("close",j),l()}function l(){M("unpipe"),m.unpipe(a)}var m=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=a;break;case 1:n.pipes=[n.pipes,a];break;default:n.pipes.push(a)}n.pipesCount+=1,M("pipe count=%d opts=%j",n.pipesCount,b);var o=(!b||b.end!==!1)&&a!==c.stdout&&a!==c.stderr,p=o?f:g;n.endEmitted?E(p):m.once("end",p),a.on("unpipe",e);var r=q(m);a.on("drain",r);var s=!1,t=!1;return m.on("data",h),d(a,"error",i),a.once("close",j),a.once("finish",k),a.emit("pipe",m),n.flowing||(M("pipe resume"),m.resume()),a},f.prototype.unpipe=function(a){var b=this._readableState;if(0===b.pipesCount)return this;if(1===b.pipesCount)return a&&a!==b.pipes?this:(a||(a=b.pipes),b.pipes=null,b.pipesCount=0,b.flowing=!1,a&&a.emit("unpipe",this),this);if(!a){var c=b.pipes,d=b.pipesCount;b.pipes=null,b.pipesCount=0,b.flowing=!1;for(var e=0;e<d;e++)c[e].emit("unpipe",this);return this}var f=C(b.pipes,a);return f===-1?this:(b.pipes.splice(f,1),b.pipesCount-=1,1===b.pipesCount&&(b.pipes=b.pipes[0]),a.emit("unpipe",this),this)},f.prototype.on=function(a,b){var c=G.prototype.on.call(this,a,b);if("data"===a)this._readableState.flowing!==!1&&this.resume();else if("readable"===a){var d=this._readableState;d.endEmitted||d.readableListening||(d.readableListening=d.needReadable=!0,d.emittedReadable=!1,d.reading?d.length&&m(this):E(r,this))}return c},f.prototype.addListener=f.prototype.on,f.prototype.resume=function(){var a=this._readableState;return a.flowing||(M("resume"),a.flowing=!0,s(this,a)),this},f.prototype.pause=function(){return M("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(M("pause"),this._readableState.flowing=!1,this.emit("pause")),this},f.prototype.wrap=function(a){var b=this._readableState,c=!1,d=this;a.on("end",function(){if(M("wrapped end"),b.decoder&&!b.ended){var a=b.decoder.end();a&&a.length&&d.push(a)}d.push(null)}),a.on("data",function(e){if(M("wrapped data"),b.decoder&&(e=b.decoder.write(e)),(!b.objectMode||null!==e&&void 0!==e)&&(b.objectMode||e&&e.length)){d.push(e)||(c=!0,a.pause())}});for(var e in a)void 0===this[e]&&"function"==typeof a[e]&&(this[e]=function(b){return function(){return a[b].apply(a,arguments)}}(e));return B(["error","close","destroy","pause","resume"],function(b){a.on(b,d.emit.bind(d,b))}),d._read=function(b){M("wrapped _read",b),c&&(c=!1,a.resume())},d},f._fromList=v}).call(this,a("_process"))},{"./_stream_duplex":82,"./internal/streams/BufferList":87,_process:77,buffer:69,"buffer-shims":88,"core-util-is":89,events:73,inherits:75,isarray:90,"process-nextick-args":91,"string_decoder/":100,util:68}],85:[function(a,b,c){"use strict";function d(a){this.afterTransform=function(b,c){return e(a,b,c)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function e(a,b,c){var d=a._transformState;d.transforming=!1;var e=d.writecb;if(!e)return a.emit("error",new Error("no writecb in Transform class"));d.writechunk=null,d.writecb=null,null!==c&&void 0!==c&&a.push(c),e(b);var f=a._readableState;f.reading=!1,(f.needReadable||f.length<f.highWaterMark)&&a._read(f.highWaterMark)}function f(a){if(!(this instanceof f))return new f(a);h.call(this,a),this._transformState=new d(this);var b=this;this._readableState.needReadable=!0,this._readableState.sync=!1,a&&("function"==typeof a.transform&&(this._transform=a.transform),"function"==typeof a.flush&&(this._flush=a.flush)),this.once("prefinish",function(){"function"==typeof this._flush?this._flush(function(a,c){g(b,a,c)}):g(b)})}function g(a,b,c){if(b)return a.emit("error",b);null!==c&&void 0!==c&&a.push(c);var d=a._writableState,e=a._transformState;if(d.length)throw new Error("Calling transform done when ws.length != 0");if(e.transforming)throw new Error("Calling transform done when still transforming");return a.push(null)}b.exports=f;var h=a("./_stream_duplex"),i=a("core-util-is");i.inherits=a("inherits"),i.inherits(f,h),f.prototype.push=function(a,b){return this._transformState.needTransform=!1,h.prototype.push.call(this,a,b)},f.prototype._transform=function(a,b,c){throw new Error("_transform() is not implemented")},f.prototype._write=function(a,b,c){var d=this._transformState;if(d.writecb=c,d.writechunk=a,d.writeencoding=b,!d.transforming){var e=this._readableState;(d.needTransform||e.needReadable||e.length<e.highWaterMark)&&this._read(e.highWaterMark)}},f.prototype._read=function(a){var b=this._transformState;null!==b.writechunk&&b.writecb&&!b.transforming?(b.transforming=!0,this._transform(b.writechunk,b.writeencoding,b.afterTransform)):b.needTransform=!0}},{"./_stream_duplex":82,"core-util-is":89,inherits:75}],86:[function(a,b,c){(function(c){"use strict";function d(){}function e(a,b,c){this.chunk=a,this.encoding=b,this.callback=c,this.next=null}function f(b,c){x=x||a("./_stream_duplex"),b=b||{},this.objectMode=!!b.objectMode,c instanceof x&&(this.objectMode=this.objectMode||!!b.writableObjectMode);var d=b.highWaterMark,e=this.objectMode?16:16384;this.highWaterMark=d||0===d?d:e,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var f=b.decodeStrings===!1;this.decodeStrings=!f,this.defaultEncoding=b.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){o(c,a)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new w(this)}function g(b){if(x=x||a("./_stream_duplex"),!(F.call(g,this)||this instanceof x))return new g(b);this._writableState=new f(b,this),this.writable=!0,b&&("function"==typeof b.write&&(this._write=b.write),"function"==typeof b.writev&&(this._writev=b.writev)),B.call(this)}function h(a,b){var c=new Error("write after end");a.emit("error",c),y(b,c)}function i(a,b,c,d){var e=!0,f=!1;return null===c?f=new TypeError("May not write null values to stream"):D.isBuffer(c)||"string"==typeof c||void 0===c||b.objectMode||(f=new TypeError("Invalid non-string/buffer chunk")),f&&(a.emit("error",f),y(d,f),e=!1),e}function j(a,b,c){return a.objectMode||a.decodeStrings===!1||"string"!=typeof b||(b=E.from(b,c)),b}function k(a,b,c,d,f){c=j(b,c,d),D.isBuffer(c)&&(d="buffer");var g=b.objectMode?1:c.length;b.length+=g;var h=b.length<b.highWaterMark;if(h||(b.needDrain=!0),b.writing||b.corked){var i=b.lastBufferedRequest;b.lastBufferedRequest=new e(c,d,f),i?i.next=b.lastBufferedRequest:b.bufferedRequest=b.lastBufferedRequest,b.bufferedRequestCount+=1}else l(a,b,!1,g,c,d,f);return h}function l(a,b,c,d,e,f,g){b.writelen=d,b.writecb=g,b.writing=!0,b.sync=!0,c?a._writev(e,b.onwrite):a._write(e,f,b.onwrite),b.sync=!1}function m(a,b,c,d,e){--b.pendingcb,c?y(e,d):e(d),a._writableState.errorEmitted=!0,a.emit("error",d)}function n(a){a.writing=!1,a.writecb=null,a.length-=a.writelen,a.writelen=0}function o(a,b){var c=a._writableState,d=c.sync,e=c.writecb;if(n(c),b)m(a,c,d,b,e);else{var f=s(c);f||c.corked||c.bufferProcessing||!c.bufferedRequest||r(a,c),d?z(p,a,c,f,e):p(a,c,f,e)}}function p(a,b,c,d){c||q(a,b),b.pendingcb--,d(),u(a,b)}function q(a,b){0===b.length&&b.needDrain&&(b.needDrain=!1,a.emit("drain"))}function r(a,b){b.bufferProcessing=!0;var c=b.bufferedRequest;if(a._writev&&c&&c.next){var d=b.bufferedRequestCount,e=new Array(d),f=b.corkedRequestsFree;f.entry=c;for(var g=0;c;)e[g]=c,c=c.next,g+=1;l(a,b,!0,b.length,e,"",f.finish),b.pendingcb++,b.lastBufferedRequest=null,f.next?(b.corkedRequestsFree=f.next,f.next=null):b.corkedRequestsFree=new w(b)}else{for(;c;){var h=c.chunk,i=c.encoding,j=c.callback;if(l(a,b,!1,b.objectMode?1:h.length,h,i,j),c=c.next,b.writing)break}null===c&&(b.lastBufferedRequest=null)}b.bufferedRequestCount=0,b.bufferedRequest=c,b.bufferProcessing=!1}function s(a){return a.ending&&0===a.length&&null===a.bufferedRequest&&!a.finished&&!a.writing}function t(a,b){b.prefinished||(b.prefinished=!0,a.emit("prefinish"))}function u(a,b){var c=s(b);return c&&(0===b.pendingcb?(t(a,b),b.finished=!0,a.emit("finish")):t(a,b)),c}function v(a,b,c){b.ending=!0,u(a,b),c&&(b.finished?y(c):a.once("finish",c)),b.ended=!0,a.writable=!1}function w(a){var b=this;this.next=null,this.entry=null,this.finish=function(c){var d=b.entry;for(b.entry=null;d;){var e=d.callback;a.pendingcb--,e(c),d=d.next}a.corkedRequestsFree?a.corkedRequestsFree.next=b:a.corkedRequestsFree=b}}b.exports=g;var x,y=a("process-nextick-args"),z=!c.browser&&["v0.10","v0.9."].indexOf(c.version.slice(0,5))>-1?setImmediate:y;g.WritableState=f;var A=a("core-util-is");A.inherits=a("inherits");var B,C={deprecate:a("util-deprecate")};!function(){try{B=a("stream")}catch(a){}finally{B||(B=a("events").EventEmitter)}}();var D=a("buffer").Buffer,E=a("buffer-shims");A.inherits(g,B),f.prototype.getBuffer=function(){for(var a=this.bufferedRequest,b=[];a;)b.push(a),a=a.next;return b},function(){try{Object.defineProperty(f.prototype,"buffer",{get:C.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")})}catch(a){}}();var F;"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(F=Function.prototype[Symbol.hasInstance],Object.defineProperty(g,Symbol.hasInstance,{value:function(a){return!!F.call(this,a)||a&&a._writableState instanceof f}})):F=function(a){return a instanceof this},g.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},g.prototype.write=function(a,b,c){var e=this._writableState,f=!1;return"function"==typeof b&&(c=b,b=null),D.isBuffer(a)?b="buffer":b||(b=e.defaultEncoding),"function"!=typeof c&&(c=d),e.ended?h(this,c):i(this,e,a,c)&&(e.pendingcb++,f=k(this,e,a,b,c)),f},g.prototype.cork=function(){this._writableState.corked++},g.prototype.uncork=function(){var a=this._writableState;a.corked&&(a.corked--,a.writing||a.corked||a.finished||a.bufferProcessing||!a.bufferedRequest||r(this,a))},g.prototype.setDefaultEncoding=function(a){if("string"==typeof a&&(a=a.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((a+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+a);return this._writableState.defaultEncoding=a,this},g.prototype._write=function(a,b,c){c(new Error("_write() is not implemented"))},g.prototype._writev=null,g.prototype.end=function(a,b,c){var d=this._writableState;"function"==typeof a?(c=a,a=null,b=null):"function"==typeof b&&(c=b,b=null),null!==a&&void 0!==a&&this.write(a,b),d.corked&&(d.corked=1,this.uncork()),d.ending||d.finished||v(this,d,c)}}).call(this,a("_process"))},{"./_stream_duplex":82,_process:77,buffer:69,"buffer-shims":88,"core-util-is":89,events:73,inherits:75,"process-nextick-args":91,"util-deprecate":92}],87:[function(a,b,c){"use strict";function d(){this.head=null,this.tail=null,this.length=0}var e=(a("buffer").Buffer,a("buffer-shims"));b.exports=d,d.prototype.push=function(a){var b={data:a,next:null};this.length>0?this.tail.next=b:this.head=b,this.tail=b,++this.length},d.prototype.unshift=function(a){var b={data:a,next:this.head};0===this.length&&(this.tail=b),this.head=b,++this.length},d.prototype.shift=function(){if(0!==this.length){var a=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,a}},d.prototype.clear=function(){this.head=this.tail=null,this.length=0},d.prototype.join=function(a){if(0===this.length)return"";for(var b=this.head,c=""+b.data;b=b.next;)c+=a+b.data;return c},d.prototype.concat=function(a){if(0===this.length)return e.alloc(0);if(1===this.length)return this.head.data;for(var b=e.allocUnsafe(a>>>0),c=this.head,d=0;c;)c.data.copy(b,d),d+=c.data.length,c=c.next;return b}},{buffer:69,"buffer-shims":88}],88:[function(a,b,c){(function(b){"use strict";var d=a("buffer"),e=d.Buffer,f=d.SlowBuffer,g=d.kMaxLength||2147483647;c.alloc=function(a,b,c){if("function"==typeof e.alloc)return e.alloc(a,b,c);if("number"==typeof c)throw new TypeError("encoding must not be number");if("number"!=typeof a)throw new TypeError("size must be a number");if(a>g)throw new RangeError("size is too large");var d=c,f=b;void 0===f&&(d=void 0,f=0);var h=new e(a);if("string"==typeof f)for(var i=new e(f,d),j=i.length,k=-1;++k<a;)h[k]=i[k%j];else h.fill(f);return h},c.allocUnsafe=function(a){if("function"==typeof e.allocUnsafe)return e.allocUnsafe(a);if("number"!=typeof a)throw new TypeError("size must be a number");if(a>g)throw new RangeError("size is too large");return new e(a)},c.from=function(a,c,d){if("function"==typeof e.from&&(!b.Uint8Array||Uint8Array.from!==e.from))return e.from(a,c,d);if("number"==typeof a)throw new TypeError('"value" argument must not be a number');if("string"==typeof a)return new e(a,c);if("undefined"!=typeof ArrayBuffer&&a instanceof ArrayBuffer){var f=c;if(1===arguments.length)return new e(a);void 0===f&&(f=0);var g=d;if(void 0===g&&(g=a.byteLength-f),f>=a.byteLength)throw new RangeError("'offset' is out of bounds");if(g>a.byteLength-f)throw new RangeError("'length' is out of bounds");return new e(a.slice(f,f+g))}if(e.isBuffer(a)){var h=new e(a.length);return a.copy(h,0,0,a.length),h}if(a){if(Array.isArray(a)||"undefined"!=typeof ArrayBuffer&&a.buffer instanceof ArrayBuffer||"length"in a)return new e(a);if("Buffer"===a.type&&Array.isArray(a.data))return new e(a.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")},c.allocUnsafeSlow=function(a){if("function"==typeof e.allocUnsafeSlow)return e.allocUnsafeSlow(a);if("number"!=typeof a)throw new TypeError("size must be a number");if(a>=g)throw new RangeError("size is too large")
;return new f(a)}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{buffer:69}],89:[function(a,b,c){(function(a){function b(a){return Array.isArray?Array.isArray(a):"[object Array]"===q(a)}function d(a){return"boolean"==typeof a}function e(a){return null===a}function f(a){return null==a}function g(a){return"number"==typeof a}function h(a){return"string"==typeof a}function i(a){return"symbol"==typeof a}function j(a){return void 0===a}function k(a){return"[object RegExp]"===q(a)}function l(a){return"object"==typeof a&&null!==a}function m(a){return"[object Date]"===q(a)}function n(a){return"[object Error]"===q(a)||a instanceof Error}function o(a){return"function"==typeof a}function p(a){return null===a||"boolean"==typeof a||"number"==typeof a||"string"==typeof a||"symbol"==typeof a||void 0===a}function q(a){return Object.prototype.toString.call(a)}c.isArray=b,c.isBoolean=d,c.isNull=e,c.isNullOrUndefined=f,c.isNumber=g,c.isString=h,c.isSymbol=i,c.isUndefined=j,c.isRegExp=k,c.isObject=l,c.isDate=m,c.isError=n,c.isFunction=o,c.isPrimitive=p,c.isBuffer=a.isBuffer}).call(this,{isBuffer:a("../../../../insert-module-globals/node_modules/is-buffer/index.js")})},{"../../../../insert-module-globals/node_modules/is-buffer/index.js":76}],90:[function(a,b,c){arguments[4][72][0].apply(c,arguments)},{dup:72}],91:[function(a,b,c){(function(a){"use strict";function c(b,c,d,e){if("function"!=typeof b)throw new TypeError('"callback" argument must be a function');var f,g,h=arguments.length;switch(h){case 0:case 1:return a.nextTick(b);case 2:return a.nextTick(function(){b.call(null,c)});case 3:return a.nextTick(function(){b.call(null,c,d)});case 4:return a.nextTick(function(){b.call(null,c,d,e)});default:for(f=new Array(h-1),g=0;g<f.length;)f[g++]=arguments[g];return a.nextTick(function(){b.apply(null,f)})}}!a.version||0===a.version.indexOf("v0.")||0===a.version.indexOf("v1.")&&0!==a.version.indexOf("v1.8.")?b.exports=c:b.exports=a.nextTick}).call(this,a("_process"))},{_process:77}],92:[function(a,b,c){(function(a){function c(a,b){function c(){if(!e){if(d("throwDeprecation"))throw new Error(b);d("traceDeprecation")?console.trace(b):console.warn(b),e=!0}return a.apply(this,arguments)}if(d("noDeprecation"))return a;var e=!1;return c}function d(b){try{if(!a.localStorage)return!1}catch(a){return!1}var c=a.localStorage[b];return null!=c&&"true"===String(c).toLowerCase()}b.exports=c}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],93:[function(a,b,c){(function(d){var e=function(){try{return a("stream")}catch(a){}}();c=b.exports=a("./lib/_stream_readable.js"),c.Stream=e||c,c.Readable=c,c.Writable=a("./lib/_stream_writable.js"),c.Duplex=a("./lib/_stream_duplex.js"),c.Transform=a("./lib/_stream_transform.js"),c.PassThrough=a("./lib/_stream_passthrough.js"),!d.browser&&"disable"===d.env.READABLE_STREAM&&e&&(b.exports=e)}).call(this,a("_process"))},{"./lib/_stream_duplex.js":82,"./lib/_stream_passthrough.js":83,"./lib/_stream_readable.js":84,"./lib/_stream_transform.js":85,"./lib/_stream_writable.js":86,_process:77}],94:[function(a,b,c){(function(b){var d=a("./lib/request"),e=a("xtend"),f=a("builtin-status-codes"),g=a("url"),h=c;h.request=function(a,c){a="string"==typeof a?g.parse(a):e(a);var f=b.location.protocol.search(/^https?:$/)===-1?"http:":"",h=a.protocol||f,i=a.hostname||a.host,j=a.port,k=a.path||"/";i&&i.indexOf(":")!==-1&&(i="["+i+"]"),a.url=(i?h+"//"+i:"")+(j?":"+j:"")+k,a.method=(a.method||"GET").toUpperCase(),a.headers=a.headers||{};var l=new d(a);return c&&l.on("response",c),l},h.get=function(a,b){var c=h.request(a,b);return c.end(),c},h.Agent=function(){},h.Agent.defaultMaxSockets=4,h.STATUS_CODES=f,h.METHODS=["CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REPORT","SEARCH","SUBSCRIBE","TRACE","UNLOCK","UNSUBSCRIBE"]}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./lib/request":96,"builtin-status-codes":98,url:101,xtend:103}],95:[function(a,b,c){(function(a){function b(){if(void 0!==f)return f;if(a.XMLHttpRequest){f=new a.XMLHttpRequest;try{f.open("GET",a.XDomainRequest?"/":"https://example.com")}catch(a){f=null}}else f=null;return f}function d(a){var c=b();if(!c)return!1;try{return c.responseType=a,c.responseType===a}catch(a){}return!1}function e(a){return"function"==typeof a}c.fetch=e(a.fetch)&&e(a.ReadableStream),c.blobConstructor=!1;try{new Blob([new ArrayBuffer(1)]),c.blobConstructor=!0}catch(a){}var f,g=void 0!==a.ArrayBuffer,h=g&&e(a.ArrayBuffer.prototype.slice);c.arraybuffer=c.fetch||g&&d("arraybuffer"),c.msstream=!c.fetch&&h&&d("ms-stream"),c.mozchunkedarraybuffer=!c.fetch&&g&&d("moz-chunked-arraybuffer"),c.overrideMimeType=c.fetch||!!b()&&e(b().overrideMimeType),c.vbArray=e(a.VBArray),f=null}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],96:[function(a,b,c){(function(c,d,e){function f(a,b){return h.fetch&&b?"fetch":h.mozchunkedarraybuffer?"moz-chunked-arraybuffer":h.msstream?"ms-stream":h.arraybuffer&&a?"arraybuffer":h.vbArray&&a?"text:vbarray":"text"}function g(a){try{var b=a.status;return null!==b&&0!==b}catch(a){return!1}}var h=a("./capability"),i=a("inherits"),j=a("./response"),k=a("readable-stream"),l=a("to-arraybuffer"),m=j.IncomingMessage,n=j.readyStates,o=b.exports=function(a){var b=this;k.Writable.call(b),b._opts=a,b._body=[],b._headers={},a.auth&&b.setHeader("Authorization","Basic "+new e(a.auth).toString("base64")),Object.keys(a.headers).forEach(function(c){b.setHeader(c,a.headers[c])});var c,d=!0;if("disable-fetch"===a.mode||"timeout"in a)d=!1,c=!0;else if("prefer-streaming"===a.mode)c=!1;else if("allow-wrong-content-type"===a.mode)c=!h.overrideMimeType;else{if(a.mode&&"default"!==a.mode&&"prefer-fast"!==a.mode)throw new Error("Invalid value for opts.mode");c=!0}b._mode=f(c,d),b.on("finish",function(){b._onFinish()})};i(o,k.Writable),o.prototype.setHeader=function(a,b){var c=this,d=a.toLowerCase();p.indexOf(d)===-1&&(c._headers[d]={name:a,value:b})},o.prototype.getHeader=function(a){return this._headers[a.toLowerCase()].value},o.prototype.removeHeader=function(a){delete this._headers[a.toLowerCase()]},o.prototype._onFinish=function(){var a=this;if(!a._destroyed){var b=a._opts,f=a._headers,g=null;if("POST"!==b.method&&"PUT"!==b.method&&"PATCH"!==b.method&&"MERGE"!==b.method||(g=h.blobConstructor?new d.Blob(a._body.map(function(a){return l(a)}),{type:(f["content-type"]||{}).value||""}):e.concat(a._body).toString()),"fetch"===a._mode){var i=Object.keys(f).map(function(a){return[f[a].name,f[a].value]});d.fetch(a._opts.url,{method:a._opts.method,headers:i,body:g||void 0,mode:"cors",credentials:b.withCredentials?"include":"same-origin"}).then(function(b){a._fetchResponse=b,a._connect()},function(b){a.emit("error",b)})}else{var j=a._xhr=new d.XMLHttpRequest;try{j.open(a._opts.method,a._opts.url,!0)}catch(b){return void c.nextTick(function(){a.emit("error",b)})}"responseType"in j&&(j.responseType=a._mode.split(":")[0]),"withCredentials"in j&&(j.withCredentials=!!b.withCredentials),"text"===a._mode&&"overrideMimeType"in j&&j.overrideMimeType("text/plain; charset=x-user-defined"),"timeout"in b&&(j.timeout=b.timeout,j.ontimeout=function(){a.emit("timeout")}),Object.keys(f).forEach(function(a){j.setRequestHeader(f[a].name,f[a].value)}),a._response=null,j.onreadystatechange=function(){switch(j.readyState){case n.LOADING:case n.DONE:a._onXHRProgress()}},"moz-chunked-arraybuffer"===a._mode&&(j.onprogress=function(){a._onXHRProgress()}),j.onerror=function(){a._destroyed||a.emit("error",new Error("XHR error"))};try{j.send(g)}catch(b){return void c.nextTick(function(){a.emit("error",b)})}}}},o.prototype._onXHRProgress=function(){var a=this;g(a._xhr)&&!a._destroyed&&(a._response||a._connect(),a._response._onXHRProgress())},o.prototype._connect=function(){var a=this;a._destroyed||(a._response=new m(a._xhr,a._fetchResponse,a._mode),a._response.on("error",function(b){a.emit("error",b)}),a.emit("response",a._response))},o.prototype._write=function(a,b,c){this._body.push(a),c()},o.prototype.abort=o.prototype.destroy=function(){var a=this;a._destroyed=!0,a._response&&(a._response._destroyed=!0),a._xhr&&a._xhr.abort()},o.prototype.end=function(a,b,c){var d=this;"function"==typeof a&&(c=a,a=void 0),k.Writable.prototype.end.call(d,a,b,c)},o.prototype.flushHeaders=function(){},o.prototype.setTimeout=function(){},o.prototype.setNoDelay=function(){},o.prototype.setSocketKeepAlive=function(){};var p=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","user-agent","via"]}).call(this,a("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},a("buffer").Buffer)},{"./capability":95,"./response":97,_process:77,buffer:69,inherits:75,"readable-stream":93,"to-arraybuffer":99}],97:[function(a,b,c){(function(b,d,e){var f=a("./capability"),g=a("inherits"),h=a("readable-stream"),i=c.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},j=c.IncomingMessage=function(a,c,d){function g(){j.read().then(function(a){if(!i._destroyed){if(a.done)return void i.push(null);i.push(new e(a.value)),g()}}).catch(function(a){i.emit("error",a)})}var i=this;if(h.Readable.call(i),i._mode=d,i.headers={},i.rawHeaders=[],i.trailers={},i.rawTrailers=[],i.on("end",function(){b.nextTick(function(){i.emit("close")})}),"fetch"===d){i._fetchResponse=c,i.url=c.url,i.statusCode=c.status,i.statusMessage=c.statusText,c.headers.forEach(function(a,b){i.headers[b.toLowerCase()]=a,i.rawHeaders.push(b,a)});var j=c.body.getReader();g()}else{i._xhr=a,i._pos=0,i.url=a.responseURL,i.statusCode=a.status,i.statusMessage=a.statusText;if(a.getAllResponseHeaders().split(/\r?\n/).forEach(function(a){var b=a.match(/^([^:]+):\s*(.*)/);if(b){var c=b[1].toLowerCase();"set-cookie"===c?(void 0===i.headers[c]&&(i.headers[c]=[]),i.headers[c].push(b[2])):void 0!==i.headers[c]?i.headers[c]+=", "+b[2]:i.headers[c]=b[2],i.rawHeaders.push(b[1],b[2])}}),i._charset="x-user-defined",!f.overrideMimeType){var k=i.rawHeaders["mime-type"];if(k){var l=k.match(/;\s*charset=([^;])(;|$)/);l&&(i._charset=l[1].toLowerCase())}i._charset||(i._charset="utf-8")}}};g(j,h.Readable),j.prototype._read=function(){},j.prototype._onXHRProgress=function(){var a=this,b=a._xhr,c=null;switch(a._mode){case"text:vbarray":if(b.readyState!==i.DONE)break;try{c=new d.VBArray(b.responseBody).toArray()}catch(a){}if(null!==c){a.push(new e(c));break}case"text":try{c=b.responseText}catch(b){a._mode="text:vbarray";break}if(c.length>a._pos){var f=c.substr(a._pos);if("x-user-defined"===a._charset){for(var g=new e(f.length),h=0;h<f.length;h++)g[h]=255&f.charCodeAt(h);a.push(g)}else a.push(f,a._charset);a._pos=c.length}break;case"arraybuffer":if(b.readyState!==i.DONE||!b.response)break;c=b.response,a.push(new e(new Uint8Array(c)));break;case"moz-chunked-arraybuffer":if(c=b.response,b.readyState!==i.LOADING||!c)break;a.push(new e(new Uint8Array(c)));break;case"ms-stream":if(c=b.response,b.readyState!==i.LOADING)break;var j=new d.MSStreamReader;j.onprogress=function(){j.result.byteLength>a._pos&&(a.push(new e(new Uint8Array(j.result.slice(a._pos)))),a._pos=j.result.byteLength)},j.onload=function(){a.push(null)},j.readAsArrayBuffer(c)}a._xhr.readyState===i.DONE&&"ms-stream"!==a._mode&&a.push(null)}}).call(this,a("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},a("buffer").Buffer)},{"./capability":95,_process:77,buffer:69,inherits:75,"readable-stream":93}],98:[function(a,b,c){b.exports={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"}},{}],99:[function(a,b,c){var d=a("buffer").Buffer;b.exports=function(a){if(a instanceof Uint8Array){if(0===a.byteOffset&&a.byteLength===a.buffer.byteLength)return a.buffer;if("function"==typeof a.buffer.slice)return a.buffer.slice(a.byteOffset,a.byteOffset+a.byteLength)}if(d.isBuffer(a)){for(var b=new Uint8Array(a.length),c=a.length,e=0;e<c;e++)b[e]=a[e];return b.buffer}throw new Error("Argument must be a Buffer")}},{buffer:69}],100:[function(a,b,c){function d(a){if(a&&!i(a))throw new Error("Unknown encoding: "+a)}function e(a){return a.toString(this.encoding)}function f(a){this.charReceived=a.length%2,this.charLength=this.charReceived?2:0}function g(a){this.charReceived=a.length%3,this.charLength=this.charReceived?3:0}var h=a("buffer").Buffer,i=h.isEncoding||function(a){switch(a&&a.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}},j=c.StringDecoder=function(a){switch(this.encoding=(a||"utf8").toLowerCase().replace(/[-_]/,""),d(a),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=f;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=g;break;default:return void(this.write=e)}this.charBuffer=new h(6),this.charReceived=0,this.charLength=0};j.prototype.write=function(a){for(var b="";this.charLength;){var c=a.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:a.length;if(a.copy(this.charBuffer,this.charReceived,0,c),this.charReceived+=c,this.charReceived<this.charLength)return"";a=a.slice(c,a.length),b=this.charBuffer.slice(0,this.charLength).toString(this.encoding);var d=b.charCodeAt(b.length-1);if(!(d>=55296&&d<=56319)){if(this.charReceived=this.charLength=0,0===a.length)return b;break}this.charLength+=this.surrogateSize,b=""}this.detectIncompleteChar(a);var e=a.length;this.charLength&&(a.copy(this.charBuffer,0,a.length-this.charReceived,e),e-=this.charReceived),b+=a.toString(this.encoding,0,e);var e=b.length-1,d=b.charCodeAt(e);if(d>=55296&&d<=56319){var f=this.surrogateSize;return this.charLength+=f,this.charReceived+=f,this.charBuffer.copy(this.charBuffer,f,0,f),a.copy(this.charBuffer,0,0,f),b.substring(0,e)}return b},j.prototype.detectIncompleteChar=function(a){for(var b=a.length>=3?3:a.length;b>0;b--){var c=a[a.length-b];if(1==b&&c>>5==6){this.charLength=2;break}if(b<=2&&c>>4==14){this.charLength=3;break}if(b<=3&&c>>3==30){this.charLength=4;break}}this.charReceived=b},j.prototype.end=function(a){var b="";if(a&&a.length&&(b=this.write(a)),this.charReceived){var c=this.charReceived,d=this.charBuffer,e=this.encoding;b+=d.slice(0,c).toString(e)}return b}},{buffer:69}],101:[function(a,b,c){"use strict";function d(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function e(a,b,c){if(a&&j.isObject(a)&&a instanceof d)return a;var e=new d;return e.parse(a,b,c),e}function f(a){return j.isString(a)&&(a=e(a)),a instanceof d?a.format():d.prototype.format.call(a)}function g(a,b){return e(a,!1,!0).resolve(b)}function h(a,b){return a?e(a,!1,!0).resolveObject(b):b}var i=a("punycode"),j=a("./util");c.parse=e,c.resolve=g,c.resolveObject=h,c.format=f,c.Url=d;var k=/^([a-z0-9.+-]+:)/i,l=/:[0-9]*$/,m=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,n=["<",">",'"',"`"," ","\r","\n","\t"],o=["{","}","|","\\","^","`"].concat(n),p=["'"].concat(o),q=["%","/","?",";","#"].concat(p),r=["/","?","#"],s={javascript:!0,"javascript:":!0},t={javascript:!0,"javascript:":!0},u={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},v=a("querystring");d.prototype.parse=function(a,b,c){if(!j.isString(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a.indexOf("?"),e=d!==-1&&d<a.indexOf("#")?"?":"#",f=a.split(e);f[0]=f[0].replace(/\\/g,"/"),a=f.join(e);var g=a;if(g=g.trim(),!c&&1===a.split("#").length){var h=m.exec(g);if(h)return this.path=g,this.href=g,this.pathname=h[1],h[2]?(this.search=h[2],this.query=b?v.parse(this.search.substr(1)):this.search.substr(1)):b&&(this.search="",this.query={}),this}var l=k.exec(g);if(l){l=l[0];var n=l.toLowerCase();this.protocol=n,g=g.substr(l.length)}if(c||l||g.match(/^\/\/[^@\/]+@[^@\/]+/)){var o="//"===g.substr(0,2);!o||l&&t[l]||(g=g.substr(2),this.slashes=!0)}if(!t[l]&&(o||l&&!u[l])){for(var w=-1,x=0;x<r.length;x++){var y=g.indexOf(r[x]);y!==-1&&(w===-1||y<w)&&(w=y)}var z,A;A=w===-1?g.lastIndexOf("@"):g.lastIndexOf("@",w),A!==-1&&(z=g.slice(0,A),g=g.slice(A+1),this.auth=decodeURIComponent(z)),w=-1;for(var x=0;x<q.length;x++){var y=g.indexOf(q[x]);y!==-1&&(w===-1||y<w)&&(w=y)}w===-1&&(w=g.length),this.host=g.slice(0,w),g=g.slice(w),this.parseHost(),this.hostname=this.hostname||"";var B="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!B)for(var C=this.hostname.split(/\./),x=0,D=C.length;x<D;x++){var E=C[x];if(E&&!E.match(/^[+a-z0-9A-Z_-]{0,63}$/)){for(var F="",G=0,H=E.length;G<H;G++)F+=E.charCodeAt(G)>127?"x":E[G];if(!F.match(/^[+a-z0-9A-Z_-]{0,63}$/)){var I=C.slice(0,x),J=C.slice(x+1),K=E.match(/^([+a-z0-9A-Z_-]{0,63})(.*)$/);K&&(I.push(K[1]),J.unshift(K[2])),J.length&&(g="/"+J.join(".")+g),this.hostname=I.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),B||(this.hostname=i.toASCII(this.hostname));var L=this.port?":"+this.port:"",M=this.hostname||"";this.host=M+L,this.href+=this.host,B&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==g[0]&&(g="/"+g))}if(!s[n])for(var x=0,D=p.length;x<D;x++){var N=p[x];if(g.indexOf(N)!==-1){var O=encodeURIComponent(N);O===N&&(O=escape(N)),g=g.split(N).join(O)}}var P=g.indexOf("#");P!==-1&&(this.hash=g.substr(P),g=g.slice(0,P));var Q=g.indexOf("?");if(Q!==-1?(this.search=g.substr(Q),this.query=g.substr(Q+1),b&&(this.query=v.parse(this.query)),g=g.slice(0,Q)):b&&(this.search="",this.query={}),g&&(this.pathname=g),u[n]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var L=this.pathname||"",R=this.search||"";this.path=L+R}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(this.hostname.indexOf(":")===-1?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j.isObject(this.query)&&Object.keys(this.query).length&&(f=v.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||u[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(j.isString(a)){var b=new d;b.parse(a,!1,!0),a=b}for(var c=new d,e=Object.keys(this),f=0;f<e.length;f++){var g=e[f];c[g]=this[g]}if(c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol){for(var h=Object.keys(a),i=0;i<h.length;i++){var k=h[i];"protocol"!==k&&(c[k]=a[k])}return u[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c}if(a.protocol&&a.protocol!==c.protocol){if(!u[a.protocol]){for(var l=Object.keys(a),m=0;m<l.length;m++){var n=l[m];c[n]=a[n]}return c.href=c.format(),c}if(c.protocol=a.protocol,a.host||t[a.protocol])c.pathname=a.pathname;else{for(var o=(a.pathname||"").split("/");o.length&&!(a.host=o.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==o[0]&&o.unshift(""),o.length<2&&o.unshift(""),c.pathname=o.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var p=c.pathname||"",q=c.search||"";c.path=p+q}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var r=c.pathname&&"/"===c.pathname.charAt(0),s=a.host||a.pathname&&"/"===a.pathname.charAt(0),v=s||r||c.host&&a.pathname,w=v,x=c.pathname&&c.pathname.split("/")||[],o=a.pathname&&a.pathname.split("/")||[],y=c.protocol&&!u[c.protocol];if(y&&(c.hostname="",c.port=null,c.host&&(""===x[0]?x[0]=c.host:x.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===o[0]?o[0]=a.host:o.unshift(a.host)),a.host=null),v=v&&(""===o[0]||""===x[0])),s)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,x=o;else if(o.length)x||(x=[]),x.pop(),x=x.concat(o),c.search=a.search,c.query=a.query;else if(!j.isNullOrUndefined(a.search)){if(y){c.hostname=c.host=x.shift();var z=!!(c.host&&c.host.indexOf("@")>0)&&c.host.split("@");z&&(c.auth=z.shift(),c.host=c.hostname=z.shift())}return c.search=a.search,c.query=a.query,j.isNull(c.pathname)&&j.isNull(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!x.length)return c.pathname=null,c.search?c.path="/"+c.search:c.path=null,c.href=c.format(),c;for(var A=x.slice(-1)[0],B=(c.host||a.host||x.length>1)&&("."===A||".."===A)||""===A,C=0,D=x.length;D>=0;D--)A=x[D],"."===A?x.splice(D,1):".."===A?(x.splice(D,1),C++):C&&(x.splice(D,1),C--);if(!v&&!w)for(;C--;C)x.unshift("..");!v||""===x[0]||x[0]&&"/"===x[0].charAt(0)||x.unshift(""),B&&"/"!==x.join("/").substr(-1)&&x.push("");var E=""===x[0]||x[0]&&"/"===x[0].charAt(0);if(y){c.hostname=c.host=E?"":x.length?x.shift():"";var z=!!(c.host&&c.host.indexOf("@")>0)&&c.host.split("@");z&&(c.auth=z.shift(),c.host=c.hostname=z.shift())}return v=v||c.host&&x.length,v&&!E&&x.unshift(""),x.length?c.pathname=x.join("/"):(c.pathname=null,c.path=null),j.isNull(c.pathname)&&j.isNull(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=l.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{"./util":102,punycode:78,querystring:81}],102:[function(a,b,c){"use strict";b.exports={isString:function(a){return"string"==typeof a},isObject:function(a){return"object"==typeof a&&null!==a},isNull:function(a){return null===a},isNullOrUndefined:function(a){return null==a}}},{}],103:[function(a,b,c){function d(){for(var a={},b=0;b<arguments.length;b++){var c=arguments[b];for(var d in c)e.call(c,d)&&(a[d]=c[d])}return a}b.exports=d;var e=Object.prototype.hasOwnProperty},{}],104:[function(a,b,c){arguments[4][3][0].apply(c,arguments)},{_process:77,dup:3}],105:[function(a,b,c){(function(){var a=this,d=a._,e={},f=Array.prototype,g=Object.prototype,h=Function.prototype,i=f.push,j=f.slice,k=f.concat,l=g.toString,m=g.hasOwnProperty,n=f.forEach,o=f.map,p=f.reduce,q=f.reduceRight,r=f.filter,s=f.every,t=f.some,u=f.indexOf,v=f.lastIndexOf,w=Array.isArray,x=Object.keys,y=h.bind,z=function(a){return a instanceof z?a:this instanceof z?void(this._wrapped=a):new z(a)};void 0!==c?(void 0!==b&&b.exports&&(c=b.exports=z),c._=z):a._=z,z.VERSION="1.5.2";var A=z.each=z.forEach=function(a,b,c){if(null!=a)if(n&&a.forEach===n)a.forEach(b,c);else if(a.length===+a.length){for(var d=0,f=a.length;d<f;d++)if(b.call(c,a[d],d,a)===e)return}else for(var g=z.keys(a),d=0,f=g.length;d<f;d++)if(b.call(c,a[g[d]],g[d],a)===e)return};z.map=z.collect=function(a,b,c){var d=[];return null==a?d:o&&a.map===o?a.map(b,c):(A(a,function(a,e,f){d.push(b.call(c,a,e,f))}),d)};var B="Reduce of empty array with no initial value";z.reduce=z.foldl=z.inject=function(a,b,c,d){var e=arguments.length>2;if(null==a&&(a=[]),p&&a.reduce===p)return d&&(b=z.bind(b,d)),e?a.reduce(b,c):a.reduce(b);if(A(a,function(a,f,g){e?c=b.call(d,c,a,f,g):(c=a,e=!0)}),!e)throw new TypeError(B);return c},z.reduceRight=z.foldr=function(a,b,c,d){var e=arguments.length>2;if(null==a&&(a=[]),q&&a.reduceRight===q)return d&&(b=z.bind(b,d)),e?a.reduceRight(b,c):a.reduceRight(b);var f=a.length;if(f!==+f){var g=z.keys(a);f=g.length}if(A(a,function(h,i,j){i=g?g[--f]:--f,e?c=b.call(d,c,a[i],i,j):(c=a[i],e=!0)}),!e)throw new TypeError(B);return c},z.find=z.detect=function(a,b,c){var d;return C(a,function(a,e,f){if(b.call(c,a,e,f))return d=a,!0}),d},z.filter=z.select=function(a,b,c){var d=[];return null==a?d:r&&a.filter===r?a.filter(b,c):(A(a,function(a,e,f){b.call(c,a,e,f)&&d.push(a)}),d)},z.reject=function(a,b,c){return z.filter(a,function(a,d,e){return!b.call(c,a,d,e)},c)},z.every=z.all=function(a,b,c){b||(b=z.identity);var d=!0;return null==a?d:s&&a.every===s?a.every(b,c):(A(a,function(a,f,g){if(!(d=d&&b.call(c,a,f,g)))return e}),!!d)};var C=z.some=z.any=function(a,b,c){b||(b=z.identity);var d=!1;return null==a?d:t&&a.some===t?a.some(b,c):(A(a,function(a,f,g){if(d||(d=b.call(c,a,f,g)))return e}),!!d)};z.contains=z.include=function(a,b){return null!=a&&(u&&a.indexOf===u?a.indexOf(b)!=-1:C(a,function(a){return a===b}))},z.invoke=function(a,b){var c=j.call(arguments,2),d=z.isFunction(b);return z.map(a,function(a){return(d?b:a[b]).apply(a,c)})},z.pluck=function(a,b){return z.map(a,function(a){return a[b]})},z.where=function(a,b,c){return z.isEmpty(b)?c?void 0:[]:z[c?"find":"filter"](a,function(a){for(var c in b)if(b[c]!==a[c])return!1;return!0})},z.findWhere=function(a,b){return z.where(a,b,!0)},z.max=function(a,b,c){if(!b&&z.isArray(a)&&a[0]===+a[0]&&a.length<65535)return Math.max.apply(Math,a);if(!b&&z.isEmpty(a))return-(1/0);var d={computed:-(1/0),value:-(1/0)};return A(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;g>d.computed&&(d={value:a,computed:g})}),d.value},z.min=function(a,b,c){if(!b&&z.isArray(a)&&a[0]===+a[0]&&a.length<65535)return Math.min.apply(Math,a);if(!b&&z.isEmpty(a))return 1/0;var d={computed:1/0,value:1/0};return A(a,function(a,e,f){var g=b?b.call(c,a,e,f):a;g<d.computed&&(d={value:a,computed:g})}),d.value},z.shuffle=function(a){var b,c=0,d=[];return A(a,function(a){b=z.random(c++),d[c-1]=d[b],d[b]=a}),d},z.sample=function(a,b,c){return arguments.length<2||c?a[z.random(a.length-1)]:z.shuffle(a).slice(0,Math.max(0,b))};var D=function(a){return z.isFunction(a)?a:function(b){return b[a]}};z.sortBy=function(a,b,c){var d=D(b);return z.pluck(z.map(a,function(a,b,e){return{value:a,index:b,criteria:d.call(c,a,b,e)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;if(c!==d){if(c>d||void 0===c)return 1;if(c<d||void 0===d)return-1}return a.index-b.index}),"value")};var E=function(a){return function(b,c,d){var e={},f=null==c?z.identity:D(c);return A(b,function(c,g){a(e,f.call(d,c,g,b),c)}),e}};z.groupBy=E(function(a,b,c){(z.has(a,b)?a[b]:a[b]=[]).push(c)}),z.indexBy=E(function(a,b,c){a[b]=c}),z.countBy=E(function(a,b){z.has(a,b)?a[b]++:a[b]=1}),z.sortedIndex=function(a,b,c,d){c=null==c?z.identity:D(c);for(var e=c.call(d,b),f=0,g=a.length;f<g;){var h=f+g>>>1;c.call(d,a[h])<e?f=h+1:g=h}return f},z.toArray=function(a){return a?z.isArray(a)?j.call(a):a.length===+a.length?z.map(a,z.identity):z.values(a):[]},z.size=function(a){return null==a?0:a.length===+a.length?a.length:z.keys(a).length},z.first=z.head=z.take=function(a,b,c){if(null!=a)return null==b||c?a[0]:j.call(a,0,b)},z.initial=function(a,b,c){return j.call(a,0,a.length-(null==b||c?1:b))},z.last=function(a,b,c){if(null!=a)return null==b||c?a[a.length-1]:j.call(a,Math.max(a.length-b,0))},z.rest=z.tail=z.drop=function(a,b,c){return j.call(a,null==b||c?1:b)},z.compact=function(a){return z.filter(a,z.identity)};var F=function(a,b,c){return b&&z.every(a,z.isArray)?k.apply(c,a):(A(a,function(a){z.isArray(a)||z.isArguments(a)?b?i.apply(c,a):F(a,b,c):c.push(a)}),c)};z.flatten=function(a,b){return F(a,b,[])},z.without=function(a){return z.difference(a,j.call(arguments,1))},z.uniq=z.unique=function(a,b,c,d){z.isFunction(b)&&(d=c,c=b,b=!1);var e=c?z.map(a,c,d):a,f=[],g=[];return A(e,function(c,d){(b?d&&g[g.length-1]===c:z.contains(g,c))||(g.push(c),f.push(a[d]))}),f},z.union=function(){return z.uniq(z.flatten(arguments,!0))},z.intersection=function(a){var b=j.call(arguments,1);return z.filter(z.uniq(a),function(a){return z.every(b,function(b){return z.indexOf(b,a)>=0})})},z.difference=function(a){var b=k.apply(f,j.call(arguments,1));return z.filter(a,function(a){return!z.contains(b,a)})},z.zip=function(){for(var a=z.max(z.pluck(arguments,"length").concat(0)),b=new Array(a),c=0;c<a;c++)b[c]=z.pluck(arguments,""+c);return b},z.object=function(a,b){if(null==a)return{};for(var c={},d=0,e=a.length;d<e;d++)b?c[a[d]]=b[d]:c[a[d][0]]=a[d][1];return c},z.indexOf=function(a,b,c){if(null==a)return-1;var d=0,e=a.length;if(c){if("number"!=typeof c)return d=z.sortedIndex(a,b),a[d]===b?d:-1;d=c<0?Math.max(0,e+c):c}if(u&&a.indexOf===u)return a.indexOf(b,c);for(;d<e;d++)if(a[d]===b)return d;return-1},z.lastIndexOf=function(a,b,c){if(null==a)return-1;var d=null!=c;if(v&&a.lastIndexOf===v)return d?a.lastIndexOf(b,c):a.lastIndexOf(b);for(var e=d?c:a.length;e--;)if(a[e]===b)return e;return-1},z.range=function(a,b,c){arguments.length<=1&&(b=a||0,a=0),c=arguments[2]||1;for(var d=Math.max(Math.ceil((b-a)/c),0),e=0,f=new Array(d);e<d;)f[e++]=a,a+=c;return f};var G=function(){};z.bind=function(a,b){var c,d;if(y&&a.bind===y)return y.apply(a,j.call(arguments,1));if(!z.isFunction(a))throw new TypeError;return c=j.call(arguments,2),d=function(){if(!(this instanceof d))return a.apply(b,c.concat(j.call(arguments)));G.prototype=a.prototype;var e=new G;G.prototype=null;var f=a.apply(e,c.concat(j.call(arguments)));return Object(f)===f?f:e}},z.partial=function(a){var b=j.call(arguments,1);return function(){return a.apply(this,b.concat(j.call(arguments)))}},z.bindAll=function(a){var b=j.call(arguments,1);if(0===b.length)throw new Error("bindAll must be passed function names");return A(b,function(b){a[b]=z.bind(a[b],a)}),a},z.memoize=function(a,b){var c={};return b||(b=z.identity),function(){var d=b.apply(this,arguments);return z.has(c,d)?c[d]:c[d]=a.apply(this,arguments)}},z.delay=function(a,b){var c=j.call(arguments,2);return setTimeout(function(){return a.apply(null,c)},b)},z.defer=function(a){return z.delay.apply(z,[a,1].concat(j.call(arguments,1)))},z.throttle=function(a,b,c){var d,e,f,g=null,h=0;c||(c={});var i=function(){h=c.leading===!1?0:new Date,g=null,f=a.apply(d,e)};return function(){var j=new Date;h||c.leading!==!1||(h=j);var k=b-(j-h);return d=this,e=arguments,k<=0?(clearTimeout(g),g=null,h=j,
f=a.apply(d,e)):g||c.trailing===!1||(g=setTimeout(i,k)),f}},z.debounce=function(a,b,c){var d,e,f,g,h;return function(){f=this,e=arguments,g=new Date;var i=function(){var j=new Date-g;j<b?d=setTimeout(i,b-j):(d=null,c||(h=a.apply(f,e)))},j=c&&!d;return d||(d=setTimeout(i,b)),j&&(h=a.apply(f,e)),h}},z.once=function(a){var b,c=!1;return function(){return c?b:(c=!0,b=a.apply(this,arguments),a=null,b)}},z.wrap=function(a,b){return function(){var c=[a];return i.apply(c,arguments),b.apply(this,c)}},z.compose=function(){var a=arguments;return function(){for(var b=arguments,c=a.length-1;c>=0;c--)b=[a[c].apply(this,b)];return b[0]}},z.after=function(a,b){return function(){if(--a<1)return b.apply(this,arguments)}},z.keys=x||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var b=[];for(var c in a)z.has(a,c)&&b.push(c);return b},z.values=function(a){for(var b=z.keys(a),c=b.length,d=new Array(c),e=0;e<c;e++)d[e]=a[b[e]];return d},z.pairs=function(a){for(var b=z.keys(a),c=b.length,d=new Array(c),e=0;e<c;e++)d[e]=[b[e],a[b[e]]];return d},z.invert=function(a){for(var b={},c=z.keys(a),d=0,e=c.length;d<e;d++)b[a[c[d]]]=c[d];return b},z.functions=z.methods=function(a){var b=[];for(var c in a)z.isFunction(a[c])&&b.push(c);return b.sort()},z.extend=function(a){return A(j.call(arguments,1),function(b){if(b)for(var c in b)a[c]=b[c]}),a},z.pick=function(a){var b={};return A(k.apply(f,j.call(arguments,1)),function(c){c in a&&(b[c]=a[c])}),b},z.omit=function(a){var b={},c=k.apply(f,j.call(arguments,1));for(var d in a)z.contains(c,d)||(b[d]=a[d]);return b},z.defaults=function(a){return A(j.call(arguments,1),function(b){if(b)for(var c in b)void 0===a[c]&&(a[c]=b[c])}),a},z.clone=function(a){return z.isObject(a)?z.isArray(a)?a.slice():z.extend({},a):a},z.tap=function(a,b){return b(a),a};var H=function(a,b,c,d){if(a===b)return 0!==a||1/a==1/b;if(null==a||null==b)return a===b;a instanceof z&&(a=a._wrapped),b instanceof z&&(b=b._wrapped);var e=l.call(a);if(e!=l.call(b))return!1;switch(e){case"[object String]":return a==String(b);case"[object Number]":return a!=+a?b!=+b:0==a?1/a==1/b:a==+b;case"[object Date]":case"[object Boolean]":return+a==+b;case"[object RegExp]":return a.source==b.source&&a.global==b.global&&a.multiline==b.multiline&&a.ignoreCase==b.ignoreCase}if("object"!=typeof a||"object"!=typeof b)return!1;for(var f=c.length;f--;)if(c[f]==a)return d[f]==b;var g=a.constructor,h=b.constructor;if(g!==h&&!(z.isFunction(g)&&g instanceof g&&z.isFunction(h)&&h instanceof h))return!1;c.push(a),d.push(b);var i=0,j=!0;if("[object Array]"==e){if(i=a.length,j=i==b.length)for(;i--&&(j=H(a[i],b[i],c,d)););}else{for(var k in a)if(z.has(a,k)&&(i++,!(j=z.has(b,k)&&H(a[k],b[k],c,d))))break;if(j){for(k in b)if(z.has(b,k)&&!i--)break;j=!i}}return c.pop(),d.pop(),j};z.isEqual=function(a,b){return H(a,b,[],[])},z.isEmpty=function(a){if(null==a)return!0;if(z.isArray(a)||z.isString(a))return 0===a.length;for(var b in a)if(z.has(a,b))return!1;return!0},z.isElement=function(a){return!(!a||1!==a.nodeType)},z.isArray=w||function(a){return"[object Array]"==l.call(a)},z.isObject=function(a){return a===Object(a)},A(["Arguments","Function","String","Number","Date","RegExp"],function(a){z["is"+a]=function(b){return l.call(b)=="[object "+a+"]"}}),z.isArguments(arguments)||(z.isArguments=function(a){return!(!a||!z.has(a,"callee"))}),"function"!=typeof/./&&(z.isFunction=function(a){return"function"==typeof a}),z.isFinite=function(a){return isFinite(a)&&!isNaN(parseFloat(a))},z.isNaN=function(a){return z.isNumber(a)&&a!=+a},z.isBoolean=function(a){return a===!0||a===!1||"[object Boolean]"==l.call(a)},z.isNull=function(a){return null===a},z.isUndefined=function(a){return void 0===a},z.has=function(a,b){return m.call(a,b)},z.noConflict=function(){return a._=d,this},z.identity=function(a){return a},z.times=function(a,b,c){for(var d=Array(Math.max(0,a)),e=0;e<a;e++)d[e]=b.call(c,e);return d},z.random=function(a,b){return null==b&&(b=a,a=0),a+Math.floor(Math.random()*(b-a+1))};var I={escape:{"&":"&","<":"<",">":">",'"':""","'":"'"}};I.unescape=z.invert(I.escape);var J={escape:new RegExp("["+z.keys(I.escape).join("")+"]","g"),unescape:new RegExp("("+z.keys(I.unescape).join("|")+")","g")};z.each(["escape","unescape"],function(a){z[a]=function(b){return null==b?"":(""+b).replace(J[a],function(b){return I[a][b]})}}),z.result=function(a,b){if(null!=a){var c=a[b];return z.isFunction(c)?c.call(a):c}},z.mixin=function(a){A(z.functions(a),function(b){var c=z[b]=a[b];z.prototype[b]=function(){var a=[this._wrapped];return i.apply(a,arguments),M.call(this,c.apply(z,a))}})};var K=0;z.uniqueId=function(a){var b=++K+"";return a?a+b:b},z.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var L={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"};z.template=function(a,b,c){var d;c=z.defaults({},c,z.templateSettings);var e=new RegExp([(c.escape||/(.)^/).source,(c.interpolate||/(.)^/).source,(c.evaluate||/(.)^/).source].join("|")+"|$","g"),f=0,g="__p+='";a.replace(e,function(b,c,d,e,h){return g+=a.slice(f,h).replace(/\\|'|\r|\n|\t|\u2028|\u2029/g,function(a){return"\\"+L[a]}),c&&(g+="'+\n((__t=("+c+"))==null?'':_.escape(__t))+\n'"),d&&(g+="'+\n((__t=("+d+"))==null?'':__t)+\n'"),e&&(g+="';\n"+e+"\n__p+='"),f=h+b.length,b}),g+="';\n",c.variable||(g="with(obj||{}){\n"+g+"}\n"),g="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+g+"return __p;\n";try{d=new Function(c.variable||"obj","_",g)}catch(a){throw a.source=g,a}if(b)return d(b,z);var h=function(a){return d.call(this,a,z)};return h.source="function("+(c.variable||"obj")+"){\n"+g+"}",h},z.chain=function(a){return z(a).chain()};var M=function(a){return this._chain?z(a).chain():a};z.mixin(z),A(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var b=f[a];z.prototype[a]=function(){var c=this._wrapped;return b.apply(c,arguments),"shift"!=a&&"splice"!=a||0!==c.length||delete c[0],M.call(this,c)}}),A(["concat","join","slice"],function(a){var b=f[a];z.prototype[a]=function(){return M.call(this,b.apply(this._wrapped,arguments))}}),z.extend(z.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}})}).call(this)},{}]},{},[4]);