===========================================================
                                      .___ __  __   
          _________________  __ __  __| _/|__|/  |_ 
         / ___\_` __ \__  \ |  |  \/ __ | | \\_  __\
        / /_/  >  | \// __ \|  |  / /_/ | |  ||  |  
        \___  /|__|  (____  /____/\____ | |__||__|  
       /_____/            \/           \/           
              grep rough audit - static analysis tool
                  v2.8 written by @Wireghoul
=================================[justanotherhacker.com]===
q2-feature-table-2019.10.0+dfsg/versioneer.py-77-
q2-feature-table-2019.10.0+dfsg/versioneer.py:78:`_version.py` also contains `$Revision$` markers, and the installation
q2-feature-table-2019.10.0+dfsg/versioneer.py-79-process marks `_version.py` to have this marker rewritten with a tag name
##############################################
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-36195-    const o = obj + '[' + $(key) + ']';
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:36196:    return `$=${value};if(${o}!==$)${o}=$,m=1;`;
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-36197-  }
##############################################
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-36414-  function anchorExpr(s, e, m) {
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:36415:    return `item.anchor === "${Start$1}" ? ${s} : item.anchor === "${End$1}" ? ${e} : ${m}`;
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-36416-  }
##############################################
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-36511-
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:36512:  const alignExpr$1 = `datum.${Perc}<=0?"${Left$1}":datum.${Perc}>=1?"${Right$1}":"${Center$1}"`,
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:36513:        baselineExpr = `datum.${Perc}<=0?"${Bottom$1}":datum.${Perc}>=1?"${Top$1}":"${Middle$1}"`;
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-36514-
##############################################
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-36596-        encode = {},
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:36597:        xSignal = `${columns} ? datum.${Offset} : datum.${Size}`,
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-36598-        yEncode = height ? encoder(height) : {field: Size},
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:36599:        index = `datum.${Index}`,
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:36600:        ncols = `max(1, ${columns})`,
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-36601-        enter, update, labelOffset, symbols, labels, nrows, sort;
##############################################
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-36708-    if (_.isVertical(true)) {
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:36709:      nrows = `ceil(item.mark.items.length / ${ncols})`;
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:36710:      update.row.signal = `${index}%${nrows}`;
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:36711:      update.column.signal = `floor(${index} / ${nrows})`;
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-36712-      sort = {field: ['row', index]};
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-36713-    } else {
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:36714:      update.row.signal = `floor(${index} / ${ncols})`;
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:36715:      update.column.signal = `${index} % ${ncols}`;
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-36716-      sort = {field: index};
##############################################
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-36718-    // handle zero column case (implies infinite columns)
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:36719:    update.column.signal = `${columns}?${update.column.signal}:${index}`;
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-36720-
##############################################
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-36752-        isR = 'item.orient === "right"',
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:36753:        isLR = `(${isL} || ${isR})`,
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:36754:        isVG = `datum.vgrad && ${isLR}`,
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-36755-        baseline = anchorExpr('"top"', '"bottom"', '"middle"'),
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-36756-        alignFlip = anchorExpr('"right"', '"left"', '"center"'),
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:36757:        exprAlign = `datum.vgrad && ${isR} ? (${alignFlip}) : (${isLR} && !(datum.vgrad && ${isL})) ? "left" : ${alignExpr}`,
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:36758:        exprAnchor = `item._anchor || (${isLR} ? "middle" : "start")`,
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:36759:        exprAngle = `${isVG} ? (${isL} ? -90 : 90) : 0`,
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:36760:        exprBaseline = `${isLR} ? (datum.vgrad ? (${isR} ? "bottom" : "top") : ${baseline}) : "top"`;
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-36761-
##############################################
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-37456-      params.count = params.count || scope.signalRef(
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:37457:        `max(2,2*floor((${deref(_.gradientLength())})/100))`
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-37458-      );
##############################################
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-37544-    return parseExpression$1(
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:37545:      `max(ceil(sqrt(${size})+${strokeWidth}),${fontSize})`,
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-37546-      scope
##############################################
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-37551-    return spec[name]
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:37552:      ? `scale("${spec[name]}",datum)`
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-37553-      : getEncoding(name, marks[0].encode);
##############################################
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-37559-
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:37560:  const angleExpr = `item.orient==="${Left$1}"?-90:item.orient==="${Right$1}"?90:0`,
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:37561:        baselineExpr$1 = `item.orient==="${Bottom$1}"?"${Top$1}":"${Bottom$1}"`;
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-37562-
##############################################
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-38030-    titlePos = {
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:38031:      signal: `lerp(range("${spec.scale}"), ${anchorExpr(0, 1, 0.5)})`
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-38032-    };
##############################################
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-38097-        maxExtent:    encoder(_('maxExtent')),
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js:38098:        range:        {signal: `abs(span(range("${spec.scale}")))`}
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.js-38099-      }
##############################################
q2-feature-table-2019.10.0+dfsg/debian/JS/vega/vega.min.js:1:!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((t=t||self).vega={})}(this,function(t){"use strict";function n(t,n,e){return t.fields=n||[],t.fname=e,t}function e(t){return null==t?null:t.fname}function r(t){return null==t?null:t.fields}function i(t){throw Error(t)}function a(t){var n,e,r,a=[],u=null,o=0,s=t.length,l="";function c(){a.push(l+t.substring(n,e)),l="",n=e+1}for(t+="",n=e=0;e<s;++e)if("\\"===(r=t[e]))l+=t.substring(n,e),n=++e;else if(r===u)c(),u=null,o=-1;else{if(u)continue;n===o&&'"'===r?(n=e+1,u=r):n===o&&"'"===r?(n=e+1,u=r):"."!==r||o?"["===r?(e>n&&c(),o=n=e+1):"]"===r&&(o||i("Access path missing open bracket: "+t),o>0&&c(),o=0,n=e+1):e>n?c():n=e+1}return o&&i("Access path missing closing bracket: "+t),u&&i("Access path missing closing quote: "+t),e>n&&(e++,c()),a}var u=Array.isArray;function o(t){return t===Object(t)}function s(t){return"string"==typeof t}function l(t){return u(t)?"["+t.map(l)+"]":o(t)||s(t)?JSON.stringify(t).replace("\u2028","\\u2028").replace("\u2029","\\u2029"):t}function c(t,e){var r=a(t),i="return _["+r.map(l).join("][")+"];";return n(Function("_",i),[t=1===r.length?r[0]:t],e||t)}var f=[],h=c("id"),d=n(function(t){return t},f,"identity"),p=n(function(){return 0},f,"zero"),g=n(function(){return 1},f,"one"),m=n(function(){return!0},f,"true"),v=n(function(){return!1},f,"false");function y(t,n,e){var r=[n].concat([].slice.call(e));console[t](...r)}var x=0,_=1,b=2,w=3,A=4;function M(t,n){var e=t||x;return{level:function(t){return arguments.length?(e=+t,this):e},error:function(){return e>=_&&y(n||"error","ERROR",arguments),this},warn:function(){return e>=b&&y(n||"warn","WARN",arguments),this},info:function(){return e>=w&&y(n||"log","INFO",arguments),this},debug:function(){return e>=A&&y(n||"log","DEBUG",arguments),this}}}function k(t){return t[t.length-1]}function E(t){return null==t||""===t?null:+t}function C(t){return function(n){return t*Math.exp(n)}}function D(t){return function(n){return Math.log(t*n)}}function F(t){return function(n){return Math.sign(n)*Math.log1p(Math.abs(n/t))}}function S(t){return function(n){return Math.sign(n)*Math.expm1(Math.abs(n))*t}}function B(t){return function(n){return n<0?-Math.pow(-n,t):Math.pow(n,t)}}function O(t,n,e,r){var i=e(t[0]),a=e(k(t)),u=(a-i)*n;return[r(i-u),r(a-u)]}function z(t,n){return O(t,n,E,d)}function N(t,n){var e=Math.sign(t[0]);return O(t,n,D(e),C(e))}function T(t,n,e){return O(t,n,B(e),B(1/e))}function R(t,n,e){return O(t,n,F(e),S(e))}function P(t,n,e,r,i){var a=r(t[0]),u=r(k(t)),o=null!=n?r(n):(a+u)/2;return[i(o+(a-o)*e),i(o+(u-o)*e)]}function L(t,n,e){return P(t,n,e,E,d)}function q(t,n,e){var r=Math.sign(t[0]);return P(t,n,e,D(r),C(r))}function U(t,n,e,r){return P(t,n,e,B(r),B(1/r))}function j(t,n,e,r){return P(t,n,e,F(r),S(r))}function $(t){return 1+~~(new Date(t).getMonth()/3)}function I(t){return 1+~~(new Date(t).getUTCMonth()/3)}function W(t){return null!=t?u(t)?t:[t]:[]}function H(t,n,e){var r,i=t[0],a=t[1];return a<i&&(r=a,a=i,i=r),(r=a-i)>=e-n?[n,e]:[i=Math.min(Math.max(i,n),e-r),i+r]}function Y(t){return"function"==typeof t}function G(t,e){var i,u,o,s,c,f,h,d,p,g=[],m=(t=W(t)).map(function(t,n){return null==t?null:(g.push(n),Y(t)?t:a(t).map(l).join("]["))}),v=g.length-1,y=W(e),x="var u,v;return ";if(v<0)return null;for(u=0;u<=v;++u)Y(o=m[i=g[u]])?(s="(u=this."+(f="f"+i)+"(a))",c="(v=this."+f+"(b))",(h=h||{})[f]=o):(s="(u=a["+o+"])",c="(v=b["+o+"])"),f="((v=v instanceof Date?+v:v),(u=u instanceof Date?+u:u))","descending"!==y[i]?(p=1,d=-1):(p=-1,d=1),x+="("+s+"<"+c+"||u==null)&&v!=null?"+d+":(u>v||v==null)&&u!=null?"+p+":"+f+"!==u&&v===v?"+d+":v!==v&&u===u?"+p+(i<v?":":":0");return o=Function("a","b",x+";"),h&&(o=o.bind(h)),t=t.reduce(function(t,n){return Y(n)?(r(n)||[]).forEach(function(n){t[n]=1}):null!=n&&(t[n+""]=1),t},{}),n(o,Object.keys(t))}function V(t){return Y(t)?t:function(){return t}}function X(t,n){var e,r;function i(){n(r),e=r=null}return function(n){r=n,e&&clearTimeout(e),e=setTimeout(i,t)}}function Z(t){for(var n,e,r=1,i=arguments.length;r<i;++r)for(e in n=arguments[r])t[e]=n[e];return t}function J(t,n){var e,r,i,a,u=0;if(t&&(e=t.length))if(null==n){for(r=t[u];null==r||r!=r;r=t[++u]);for(i=a=r;u<e;++u)null!=(r=t[u])&&(r<i&&(i=r),r>a&&(a=r))}else{for(r=n(t[u]);null==r||r!=r;r=n(t[++u]));for(i=a=r;u<e;++u)null!=(r=n(t[u]))&&(r<i&&(i=r),r>a&&(a=r))}return[i,a]}function Q(t,n){var e,r,i,a,u,o=-1,s=t.length;if(null==n){for(;++o<s;)if(null!=(r=t[o])&&r>=r){e=i=r;break}for(a=u=o;++o<s;)null!=(r=t[o])&&(e>r&&(e=r,a=o),i<r&&(i=r,u=o))}else{for(;++o<s;)if(null!=(r=n(t[o],o,t))&&r>=r){e=i=r;break}for(a=u=o;++o<s;)null!=(r=n(t[o],o,t))&&(e>r&&(e=r,a=o),i<r&&(i=r,u=o))}return[a,u]}var K={};function tt(t){var n,e,r={};function i(t){return r.hasOwnProperty(t)&&r[t]!==K}return n={size:0,empty:0,object:r,has:i,get:function(t){return i(t)?r[t]:void 0},set:function(t,e){return i(t)||(++n.size,r[t]===K&&--n.empty),r[t]=e,this},delete:function(t){return i(t)&&(--n.size,++n.empty,r[t]=K),this},clear:function(){n.size=n.empty=0,n.object=r={}},test:function(t){return arguments.length?(e=t,n):e},clean:function(){var t,i,a={},u=0;for(t in r)(i=r[t])===K||e&&e(i)||(a[t]=i,++u);n.size=u,n.empty=0,n.object=r=a}},t&&Object.keys(t).forEach(function(e){n.set(e,t[e])}),n}function nt(t,n,e,r,i,a){if(!e&&0!==e)return a;var u,o,s=t[0],l=k(t),c=+e;return l<s&&(u=s,s=l,l=u),(u=Math.abs(n-s))<(o=Math.abs(l-n))&&u<=c?r:o<=c?i:a}function et(t,n){var e=t.prototype=Object.create(n.prototype);return e.constructor=t,e}function rt(t,n,e,r){var i,a=n[0],u=n[n.length-1];return a>u&&(i=a,a=u,u=i),r=void 0===r||r,((e=void 0===e||e)?a<=t:a<t)&&(r?t<=u:t<u)}function it(t){return"boolean"==typeof t}function at(t){return"[object Date]"===Object.prototype.toString.call(t)}function ut(t){return"number"==typeof t}function ot(t){return"[object RegExp]"===Object.prototype.toString.call(t)}function st(t,e){return t&&(t=e?W(t).map(function(t){return t.replace(/\\(.)/g,"$1")}):W(t)),n(t&&t.length?Function("_","return ''+"+t.map(function(t){return"_["+(e?l(t):a(t).map(l).join("]["))+"]"}).join("+'|'+")+";"):function(){return""},t,"key")}function lt(t,n){const e=t[0],r=k(t),i=+n;return i?1===i?r:e+i*(r-e):e}function ct(t,n,e,r){var i=n.length,a=e.length;if(!a)return n;if(!i)return e;for(var u=r||new n.constructor(i+a),o=0,s=0,l=0;o<i&&s<a;++l)u[l]=t(n[o],e[s])>0?e[s++]:n[o++];for(;o<i;++o,++l)u[l]=n[o];for(;s<a;++s,++l)u[l]=e[s];return u}function ft(t,n){for(var e="";--n>=0;)e+=t;return e}function ht(t,n,e,r){var i=e||" ",a=t+"",u=n-a.length;return u<=0?a:"left"===r?ft(i,u)+a:"center"===r?ft(i,~~(u/2))+a+ft(i,Math.ceil(u/2)):a+ft(i,u)}function dt(t){return k(t)-t[0]||0}function pt(t){return null==t||""===t?null:!(!t||"false"===t||"0"===t)&&!!t}function gt(t){return ut(t)?t:at(t)?t:Date.parse(t)}function mt(t,n){return n=n||gt,null==t||""===t?null:n(t)}function vt(t){return null==t||""===t?null:t+""}function yt(t){for(var n={},e=0,r=t.length;e<r;++e)n[t[e]]=!0;return n}function xt(t,n,e,r){var i=null!=r?r:"…",a=t+"",u=a.length,o=Math.max(0,n-i.length);return u<=n?a:"left"===e?i+a.slice(u-o):"center"===e?a.slice(0,Math.ceil(o/2))+i+a.slice(u-~~(o/2)):a.slice(0,o)+i}function _t(t,n,e){if(t){var r,i=0,a=t.length;if(n)for(;i<a;++i)(r=n(t[i]))&&e(r,i,t);else t.forEach(e)}}function bt(t){var n=t||d,e=[],r={};return e.add=function(t){var i=n(t);return r[i]||(r[i]=1,e.push(t)),e},e.remove=function(t){var i,a=n(t);return r[a]&&(r[a]=0,(i=e.indexOf(t))>=0&&e.splice(i,1)),e},e}async function wt(t,n){try{await n(t)}catch(n){t.error(n)}}var At=Symbol("vega_id"),Mt=1;function kt(t){return!(!t||!Et(t))}function Et(t){return t[At]}function Ct(t,n){return t[At]=n,t}function Dt(t){var n=t===Object(t)?t:{data:t};return Et(n)?n:Ct(n,Mt++)}function Ft(t){return St(t,Dt({}))}function St(t,n){for(var e in t)n[e]=t[e];return n}function Bt(t,n){return Ct(n,Et(t))}function Ot(t){return t&&t.constructor===zt}function zt(){var t=[],n=[],e=[],r=[],i=[],a=!1;return{constructor:zt,insert:function(n){for(var e=W(n),r=0,i=e.length;r<i;++r)t.push(e[r]);return this},remove:function(t){for(var e=Y(t)?r:n,i=W(t),a=0,u=i.length;a<u;++a)e.push(i[a]);return this},modify:function(t,n,r){var a={field:n,value:V(r)};return Y(t)?(a.filter=t,i.push(a)):(a.tuple=t,e.push(a)),this},encode:function(t,n){return Y(t)?i.push({filter:t,field:n}):e.push({tuple:t,field:n}),this},reflow:function(){return a=!0,this},pulse:function(u,o){var s,l,c,f,h,d,p={},g={};for(s=0,l=o.length;s<l;++s)p[Et(o[s])]=1;for(s=0,l=n.length;s<l;++s)p[Et(h=n[s])]=-1;for(s=0,l=r.length;s<l;++s)f=r[s],o.forEach(function(t){f(t)&&(p[Et(t)]=-1)});for(s=0,l=t.length;s<l;++s)d=Et(h=t[s]),p[d]?p[d]=1:u.add.push(Dt(t[s]));for(s=0,l=o.length;s<l;++s)h=o[s],p[Et(h)]<0&&u.rem.push(h);function m(t,n,e){e?t[n]=e(t):u.encode=n,a||(g[Et(t)]=t)}for(s=0,l=e.length;s<l;++s)h=(c=e[s]).tuple,f=c.field,(d=p[Et(h)])>0&&(m(h,f,c.value),u.modifies(f));for(s=0,l=i.length;s<l;++s)c=i[s],f=c.filter,o.forEach(function(t){f(t)&&p[Et(t)]>0&&m(t,c.field,c.value)}),u.modifies(c.field);if(a)u.mod=n.length||r.length?o.filter(function(t){return p[Et(t)]>0}):o.slice();else for(d in g)u.mod.push(g[d]);return u}}}var Nt="_:mod:_";function Tt(){Object.defineProperty(this,Nt,{writable:!0,value:{}})}var Rt=Tt.prototype;Rt.set=function(t,n,e,r){var i=this,a=i[t],o=i[Nt];return null!=n&&n>=0?(a[n]!==e||r)&&(a[n]=e,o[n+":"+t]=-1,o[t]=-1):(a!==e||r)&&(i[t]=e,o[t]=u(e)?1+e.length:-1),i},Rt.modified=function(t,n){var e,r=this[Nt];if(!arguments.length){for(e in r)if(r[e])return!0;return!1}if(u(t)){for(e=0;e<t.length;++e)if(r[t[e]])return!0;return!1}return null!=n&&n>=0?n+1<r[t]||!!r[n+":"+t]:!!r[t]},Rt.clear=function(){return this[Nt]={},this};var Pt=0,Lt=new Tt;function qt(t,n,e,r){this.id=++Pt,this.value=t,this.stamp=-1,this.rank=-1,this.qrank=-1,this.flags=0,n&&(this._update=n),e&&this.parameters(e,r)}var Ut=qt.prototype;function jt(t){return function(n){var e=this.flags;return 0===arguments.length?!!(e&t):(this.flags=n?e|t:e&~t,this)}}Ut.targets=function(){return this._targets||(this._targets=bt(h))},Ut.set=function(t){return this.value!==t?(this.value=t,1):0},Ut.skip=jt(1),Ut.modified=jt(2),Ut.parameters=function(t,n,e){n=!1!==n;var r,a,o,s,l=this,c=l._argval=l._argval||new Tt,f=l._argops=l._argops||[],h=[];function d(t,e,r){r instanceof qt?(r!==l&&(n&&r.targets().add(l),h.push(r)),f.push({op:r,name:t,index:e})):c.set(t,e,r)}for(r in t)if(a=t[r],"pulse"===r)W(a).forEach(function(t){t instanceof qt?t!==l&&(t.targets().add(l),h.push(t)):i("Pulse parameters must be operator instances.")}),l.source=a;else if(u(a))for(c.set(r,-1,Array(o=a.length)),s=0;s<o;++s)d(r,s,a[s]);else d(r,-1,a);return this.marshall().clear(),e&&(f.initonly=!0),h},Ut.marshall=function(t){var n,e,r,i,a,u=this._argval||Lt,o=this._argops;if(o){for(e=0,r=o.length;e<r;++e)a=(i=(n=o[e]).op).modified()&&i.stamp===t,u.set(n.name,n.index,i.value,a);if(o.initonly){for(e=0;e<r;++e)(n=o[e]).op.targets().remove(this);this._argops=null,this._update=null}}return u},Ut.evaluate=function(t){var n=this._update;if(n){var e=this.marshall(t.stamp),r=n.call(this,e,t);if(e.clear(),r!==this.value)this.value=r;else if(!this.modified())return t.StopPropagation}},Ut.run=function(t){return t.stamp<=this.stamp?t.StopPropagation:(this.skip()?(this.skip(!1),n=0):n=this.evaluate(t),this.stamp=t.stamp,this.pulse=n||t);var n};var $t=0;function It(t,n,e){this.id=++$t,this.value=null,e&&(this.receive=e),t&&(this._filter=t),n&&(this._apply=n)}function Wt(t,n,e){return new It(t,n,e)}var Ht=It.prototype;Ht._filter=m,Ht._apply=d,Ht.targets=function(){return this._targets||(this._targets=bt(h))},Ht.consume=function(t){return arguments.length?(this._consume=!!t,this):!!this._consume},Ht.receive=function(t){if(this._filter(t)){for(var n=this.value=this._apply(t),e=this._targets,r=e?e.length:0,i=0;i<r;++i)e[i].receive(n);this._consume&&(t.preventDefault(),t.stopPropagation())}},Ht.filter=function(t){var n=Wt(t);return this.targets().add(n),n},Ht.apply=function(t){var n=Wt(null,t);return this.targets().add(n),n},Ht.merge=function(){var t=Wt();this.targets().add(t);for(var n=0,e=arguments.length;n<e;++n)arguments[n].targets().add(t);return t},Ht.throttle=function(t){var n=-1;return this.filter(function(){var e=Date.now();return e-n>t?(n=e,1):0})},Ht.debounce=function(t){var n=Wt();return this.targets().add(Wt(null,null,X(t,function(t){var e=t.dataflow;n.receive(t),e&&e.run&&e.run()}))),n},Ht.between=function(t,n){var e=!1;return t.targets().add(Wt(null,null,function(){e=!0})),n.targets().add(Wt(null,null,function(){e=!1})),this.filter(function(){return e})};var Yt=/^([A-Za-z]+:)?\/\//,Gt="file://";async function Vt(t,n){const e=await this.sanitize(t,n),r=e.href;return e.localFile?this.file(r):this.http(r,n)}async function Xt(t,n){n=Z({},this.options,n);const e=this.fileAccess,r={href:null};let a,u,o,s;return null!=t&&"string"==typeof t||i("Sanitize failure, invalid URI: "+l(t)),u=Yt.test(t),(s=n.baseURL)&&!u&&(t.startsWith("/")||"/"===s[s.length-1]||(t="/"+t),t=s+t),o=(a=t.startsWith(Gt))||"file"===n.mode||"http"!==n.mode&&!u&&e,a?t=t.slice(Gt.length):t.startsWith("//")&&("file"===n.defaultProtocol?(t=t.slice(2),o=!0):t=(n.defaultProtocol||"http")+":"+t),Object.defineProperty(r,"localFile",{value:!!o}),r.href=t,n.target&&(r.target=n.target+""),n.rel&&(r.rel=n.rel+""),r}function Zt(t){return t?function(n){return new Promise(function(e,r){t.readFile(n,function(t,n){t?r(t):e(n)})})}:Jt}async function Jt(){i("No file system access.")}function Qt(t){return t?async function(n,e){const r=Z({},this.options.http,e),a=e&&e.response,u=await t(n,r);return u.ok?Y(u[a])?u[a]():u.text():i(u.status+""+u.statusText)}:Kt}async function Kt(){i("No HTTP fetch method available.")}var tn={boolean:pt,integer:E,number:E,date:mt,string:vt,unknown:d},nn=[function(t){return"true"===t||"false"===t||!0===t||!1===t},function(t){return un(t)&&(t=+t)==~~t},un,function(t){return!isNaN(Date.parse(t))}],en=["boolean","integer","number","date"];function rn(t,n){if(!t||!t.length)return"unknown";var e,r,i,a,u=0,o=t.length,s=nn.length,l=nn.map(function(t,n){return n+1});for(r=0,o=t.length;r<o;++r)for(e=n?t[r][n]:t[r],i=0;i<s;++i)if(l[i]&&(null!=(a=e)&&a==a)&&!nn[i](e)&&(l[i]=0,++u===nn.length))return"string";return u=l.reduce(function(t,n){return 0===t?n:t},0)-1,en[u]}function an(t,n){return n.reduce(function(n,e){return n[e]=rn(t,e),n},{})}function un(t){return!(isNaN(+t)||t instanceof Date)}var on={},sn={},ln=34,cn=10,fn=13;function hn(t){return new Function("d","return {"+t.map(function(t,n){return JSON.stringify(t)+": d["+n+"]"}).join(",")+"}")}function dn(t){var n=Object.create(null),e=[];return t.forEach(function(t){for(var r in t)r in n||e.push(n[r]=r)}),e}function pn(t,n){var e=t+"",r=e.length;return r<n?new Array(n-r+1).join(0)+e:e}function gn(t){var n,e=t.getUTCHours(),r=t.getUTCMinutes(),i=t.getUTCSeconds(),a=t.getUTCMilliseconds();return isNaN(t)?"Invalid Date":((n=t.getUTCFullYear())<0?"-"+pn(-n,6):n>9999?"+"+pn(n,6):pn(n,4))+"-"+pn(t.getUTCMonth()+1,2)+"-"+pn(t.getUTCDate(),2)+(a?"T"+pn(e,2)+":"+pn(r,2)+":"+pn(i,2)+"."+pn(a,3)+"Z":i?"T"+pn(e,2)+":"+pn(r,2)+":"+pn(i,2)+"Z":r||e?"T"+pn(e,2)+":"+pn(r,2)+"Z":"")}function mn(t){var n=new RegExp('["'+t+"\n\r]"),e=t.charCodeAt(0);function r(t,n){var r,i=[],a=t.length,u=0,o=0,s=a<=0,l=!1;function c(){if(s)return sn;if(l)return l=!1,on;var n,r,i=u;if(t.charCodeAt(i)===ln){for(;u++<a&&t.charCodeAt(u)!==ln||t.charCodeAt(++u)===ln;);return(n=u)>=a?s=!0:(r=t.charCodeAt(u++))===cn?l=!0:r===fn&&(l=!0,t.charCodeAt(u)===cn&&++u),t.slice(i+1,n-1).replace(/""/g,'"')}for(;u<a;){if((r=t.charCodeAt(n=u++))===cn)l=!0;else if(r===fn)l=!0,t.charCodeAt(u)===cn&&++u;else if(r!==e)continue;return t.slice(i,n)}return s=!0,t.slice(i,a)}for(t.charCodeAt(a-1)===cn&&--a,t.charCodeAt(a-1)===fn&&--a;(r=c())!==sn;){for(var f=[];r!==on&&r!==sn;)f.push(r),r=c();n&&null==(f=n(f,o++))||i.push(f)}return i}function i(n,e){return n.map(function(n){return e.map(function(t){return u(n[t])}).join(t)})}function a(n){return n.map(u).join(t)}function u(t){return null==t?"":t instanceof Date?gn(t):n.test(t+="")?'"'+t.replace(/"/g,'""')+'"':t}return{parse:function(t,n){var e,i,a=r(t,function(t,r){if(e)return e(t,r-1);i=t,e=n?function(t,n){var e=hn(t);return function(r,i){return n(e(r),i,t)}}(t,n):hn(t)});return a.columns=i||[],a},parseRows:r,format:function(n,e){return null==e&&(e=dn(n)),[e.map(u).join(t)].concat(i(n,e)).join("\n")},formatBody:function(t,n){return null==n&&(n=dn(t)),i(t,n).join("\n")},formatRows:function(t){return t.map(a).join("\n")}}}mn(","),mn("\t");function vn(t){const n=function(n,e){const r={delimiter:t};return yn(n,e?Z(e,r):r)};return n.responseType="text",n}function yn(t,n){return n.header&&(t=n.header.map(l).join(n.delimiter)+"\n"+t),mn(n.delimiter).parse(t+"")}function xn(t,n){const e=n&&n.property?c(n.property):d;return!o(t)||(r=t,"function"==typeof Buffer&&Y(Buffer.isBuffer)&&Buffer.isBuffer(r))?e(JSON.parse(t)):function(t,n){return n&&n.copy?JSON.parse(JSON.stringify(t)):t}(e(t));var r}function _n(t){return t}function bn(t,n){return"GeometryCollection"===n.type?{type:"FeatureCollection",features:n.geometries.map(function(n){return wn(t,n)})}:wn(t,n)}function wn(t,n){var e=n.id,r=n.bbox,i=null==n.properties?{}:n.properties,a=An(t,n);return null==e&&null==r?{type:"Feature",properties:i,geometry:a}:null==r?{type:"Feature",id:e,properties:i,geometry:a}:{type:"Feature",id:e,bbox:r,properties:i,geometry:a}}function An(t,n){var e=function(t){if(null==t)return _n;var n,e,r=t.scale[0],i=t.scale[1],a=t.translate[0],u=t.translate[1];return function(t,o){o||(n=e=0);var s=2,l=t.length,c=new Array(l);for(c[0]=(n+=t[0])*r+a,c[1]=(e+=t[1])*i+u;s<l;)c[s]=t[s],++s;return c}}(t.transform),r=t.arcs;function i(t,n){n.length&&n.pop();for(var i=r[t<0?~t:t],a=0,u=i.length;a<u;++a)n.push(e(i[a],a));t<0&&function(t,n){for(var e,r=t.length,i=r-n;i<--r;)e=t[i],t[i++]=t[r],t[r]=e}(n,u)}function a(t){return e(t)}function u(t){for(var n=[],e=0,r=t.length;e<r;++e)i(t[e],n);return n.length<2&&n.push(n[0]),n}function o(t){for(var n=u(t);n.length<4;)n.push(n[0]);return n}function s(t){return t.map(o)}return function t(n){var e,r=n.type;switch(r){case"GeometryCollection":return{type:r,geometries:n.geometries.map(t)};case"Point":e=a(n.coordinates);break;case"MultiPoint":e=n.coordinates.map(a);break;case"LineString":e=u(n.arcs);break;case"MultiLineString":e=n.arcs.map(u);break;case"Polygon":e=s(n.arcs);break;case"MultiPolygon":e=n.arcs.map(s);break;default:return null}return{type:r,coordinates:e}}(n)}function Mn(t,n){var e={},r={},i={},a=[],u=-1;function o(t,n){for(var r in t){var i=t[r];delete n[i.start],delete i.start,delete i.end,i.forEach(function(t){e[t<0?~t:t]=1}),a.push(i)}}return n.forEach(function(e,r){var i,a=t.arcs[e<0?~e:e];a.length<3&&!a[1][0]&&!a[1][1]&&(i=n[++u],n[u]=e,n[r]=i)}),n.forEach(function(n){var e,a,u=function(n){var e,r=t.arcs[n<0?~n:n],i=r[0];t.transform?(e=[0,0],r.forEach(function(t){e[0]+=t[0],e[1]+=t[1]})):e=r[r.length-1];return n<0?[e,i]:[i,e]}(n),o=u[0],s=u[1];if(e=i[o])if(delete i[e.end],e.push(n),e.end=s,a=r[s]){delete r[a.start];var l=a===e?e:e.concat(a);r[l.start=e.start]=i[l.end=a.end]=l}else r[e.start]=i[e.end]=e;else if(e=r[s])if(delete r[e.start],e.unshift(n),e.start=o,a=i[o]){delete i[a.end];var c=a===e?e:a.concat(e);r[c.start=a.start]=i[c.end=e.end]=c}else r[e.start]=i[e.end]=e;else r[(e=[n]).start=o]=i[e.end=s]=e}),o(i,r),o(r,i),n.forEach(function(t){e[t<0?~t:t]||a.push([t])}),a}function kn(t){return An(t,function(t,n,e){var r,i,a;if(arguments.length>1)r=function(t,n,e){var r,i=[],a=[];function u(t){var n=t<0?~t:t;(a[n]||(a[n]=[])).push({i:t,g:r})}function o(t){t.forEach(u)}function s(t){t.forEach(o)}return function t(n){switch(r=n,n.type){case"GeometryCollection":n.geometries.forEach(t);break;case"LineString":o(n.arcs);break;case"MultiLineString":case"Polygon":s(n.arcs);break;case"MultiPolygon":n.arcs.forEach(s)}}(n),a.forEach(null==e?function(t){i.push(t[0].i)}:function(t){e(t[0].g,t[t.length-1].g)&&i.push(t[0].i)}),i}(0,n,e);else for(i=0,r=new Array(a=t.arcs.length);i<a;++i)r[i]=i;return{type:"MultiLineString",arcs:Mn(t,r)}}.apply(this,arguments))}yn.responseType="text",xn.responseType="json";const En={interior:(t,n)=>t!==n,exterior:(t,n)=>t===n};function Cn(t,n){let e,r,a,u;return t=xn(t,n),n&&n.feature?(e=bn,a=n.feature):n&&n.mesh?(e=kn,a=n.mesh,u=En[n.filter]):i("Missing TopoJSON feature or mesh parameter."),(r=(r=t.objects[a])?e(t,r,u):i("Invalid TopoJSON object: "+a))&&r.features||[r]}Cn.responseType="json";const Dn={dsv:yn,csv:vn(","),tsv:vn("\t"),json:xn,topojson:Cn};function Fn(t,n){return arguments.length>1?(Dn[t]=n,this):Dn.hasOwnProperty(t)?Dn[t]:null}function Sn(t){const n=Fn(t);return n&&n.responseType||"text"}var Bn=new Date,On=new Date;function zn(t,n,e,r){function i(n){return t(n=new Date(+n)),n}return i.floor=i,i.ceil=function(e){return t(e=new Date(e-1)),n(e,1),t(e),e},i.round=function(t){var n=i(t),e=i.ceil(t);return t-n<e-t?n:e},i.offset=function(t,e){return n(t=new Date(+t),null==e?1:Math.floor(e)),t},i.range=function(e,r,a){var u,o=[];if(e=i.ceil(e),a=null==a?1:Math.floor(a),!(e<r&&a>0))return o;do{o.push(u=new Date(+e)),n(e,a),t(e)}while(u<e&&e<r);return o},i.filter=function(e){return zn(function(n){if(n>=n)for(;t(n),!e(n);)n.setTime(n-1)},function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;n(t,-1),!e(t););else for(;--r>=0;)for(;n(t,1),!e(t););})},e&&(i.count=function(n,r){return Bn.setTime(+n),On.setTime(+r),t(Bn),t(On),Math.floor(e(Bn,On))},i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?function(n){return r(n)%t==0}:function(n){return i.count(0,n)%t==0}):i:null}),i}var Nn=zn(function(){},function(t,n){t.setTime(+t+n)},function(t,n){return n-t});Nn.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?zn(function(n){n.setTime(Math.floor(n/t)*t)},function(n,e){n.setTime(+n+e*t)},function(n,e){return(e-n)/t}):Nn:null};var Tn=6e4,Rn=6048e5,Pn=zn(function(t){t.setTime(t-t.getMilliseconds())},function(t,n){t.setTime(+t+1e3*n)},function(t,n){return(n-t)/1e3},function(t){return t.getUTCSeconds()}),Ln=zn(function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())},function(t,n){t.setTime(+t+n*Tn)},function(t,n){return(n-t)/Tn},function(t){return t.getMinutes()}),qn=zn(function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-t.getMinutes()*Tn)},function(t,n){t.setTime(+t+36e5*n)},function(t,n){return(n-t)/36e5},function(t){return t.getHours()}),Un=zn(function(t){t.setHours(0,0,0,0)},function(t,n){t.setDate(t.getDate()+n)},function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*Tn)/864e5},function(t){return t.getDate()-1});function jn(t){return zn(function(n){n.setDate(n.getDate()-(n.getDay()+7-t)%7),n.setHours(0,0,0,0)},function(t,n){t.setDate(t.getDate()+7*n)},function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*Tn)/Rn})}var $n=jn(0),In=jn(1),Wn=(jn(2),jn(3),jn(4)),Hn=(jn(5),jn(6),zn(function(t){t.setDate(1),t.setHours(0,0,0,0)},function(t,n){t.setMonth(t.getMonth()+n)},function(t,n){return n.getMonth()-t.getMonth()+12*(n.getFullYear()-t.getFullYear())},function(t){return t.getMonth()})),Yn=zn(function(t){t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,n){t.setFullYear(t.getFullYear()+n)},function(t,n){return n.getFullYear()-t.getFullYear()},function(t){return t.getFullYear()});Yn.every=function(t){return isFinite(t=Math.floor(t))&&t>0?zn(function(n){n.setFullYear(Math.floor(n.getFullYear()/t)*t),n.setMonth(0,1),n.setHours(0,0,0,0)},function(n,e){n.setFullYear(n.getFullYear()+e*t)}):null};var Gn=zn(function(t){t.setUTCSeconds(0,0)},function(t,n){t.setTime(+t+n*Tn)},function(t,n){return(n-t)/Tn},function(t){return t.getUTCMinutes()}),Vn=zn(function(t){t.setUTCMinutes(0,0,0)},function(t,n){t.setTime(+t+36e5*n)},function(t,n){return(n-t)/36e5},function(t){return t.getUTCHours()}),Xn=zn(function(t){t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCDate(t.getUTCDate()+n)},function(t,n){return(n-t)/864e5},function(t){return t.getUTCDate()-1});function Zn(t){return zn(function(n){n.setUTCDate(n.getUTCDate()-(n.getUTCDay()+7-t)%7),n.setUTCHours(0,0,0,0)},function(t,n){t.setUTCDate(t.getUTCDate()+7*n)},function(t,n){return(n-t)/Rn})}var Jn=Zn(0),Qn=Zn(1),Kn=(Zn(2),Zn(3),Zn(4)),te=(Zn(5),Zn(6),zn(function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCMonth(t.getUTCMonth()+n)},function(t,n){return n.getUTCMonth()-t.getUTCMonth()+12*(n.getUTCFullYear()-t.getUTCFullYear())},function(t){return t.getUTCMonth()})),ne=zn(function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n)},function(t,n){return n.getUTCFullYear()-t.getUTCFullYear()},function(t){return t.getUTCFullYear()});function ee(t){if(0<=t.y&&t.y<100){var n=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return n.setFullYear(t.y),n}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function re(t){if(0<=t.y&&t.y<100){var n=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return n.setUTCFullYear(t.y),n}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function ie(t){return{y:t,m:0,d:1,H:0,M:0,S:0,L:0}}ne.every=function(t){return isFinite(t=Math.floor(t))&&t>0?zn(function(n){n.setUTCFullYear(Math.floor(n.getUTCFullYear()/t)*t),n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0)},function(n,e){n.setUTCFullYear(n.getUTCFullYear()+e*t)}):null};var ae,ue,oe,se,le,ce={"-":"",_:" ",0:"0"},fe=/^\s*\d+/,he=/^%/,de=/[\\^$*+?|[\]().{}]/g;function pe(t,n,e){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a<e?new Array(e-a+1).join(n)+i:i)}function ge(t){return t.replace(de,"\\$&")}function me(t){return new RegExp("^(?:"+t.map(ge).join("|")+")","i")}function ve(t){for(var n={},e=-1,r=t.length;++e<r;)n[t[e].toLowerCase()]=e;return n}function ye(t,n,e){var r=fe.exec(n.slice(e,e+1));return r?(t.w=+r[0],e+r[0].length):-1}function xe(t,n,e){var r=fe.exec(n.slice(e,e+1));return r?(t.u=+r[0],e+r[0].length):-1}function _e(t,n,e){var r=fe.exec(n.slice(e,e+2));return r?(t.U=+r[0],e+r[0].length):-1}function be(t,n,e){var r=fe.exec(n.slice(e,e+2));return r?(t.V=+r[0],e+r[0].length):-1}function we(t,n,e){var r=fe.exec(n.slice(e,e+2));return r?(t.W=+r[0],e+r[0].length):-1}function Ae(t,n,e){var r=fe.exec(n.slice(e,e+4));return r?(t.y=+r[0],e+r[0].length):-1}function Me(t,n,e){var r=fe.exec(n.slice(e,e+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),e+r[0].length):-1}function ke(t,n,e){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(n.slice(e,e+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),e+r[0].length):-1}function Ee(t,n,e){var r=fe.exec(n.slice(e,e+2));return r?(t.m=r[0]-1,e+r[0].length):-1}function Ce(t,n,e){var r=fe.exec(n.slice(e,e+2));return r?(t.d=+r[0],e+r[0].length):-1}function De(t,n,e){var r=fe.exec(n.slice(e,e+3));return r?(t.m=0,t.d=+r[0],e+r[0].length):-1}function Fe(t,n,e){var r=fe.exec(n.slice(e,e+2));return r?(t.H=+r[0],e+r[0].length):-1}function Se(t,n,e){var r=fe.exec(n.slice(e,e+2));return r?(t.M=+r[0],e+r[0].length):-1}function Be(t,n,e){var r=fe.exec(n.slice(e,e+2));return r?(t.S=+r[0],e+r[0].length):-1}function Oe(t,n,e){var r=fe.exec(n.slice(e,e+3));return r?(t.L=+r[0],e+r[0].length):-1}function ze(t,n,e){var r=fe.exec(n.slice(e,e+6));return r?(t.L=Math.floor(r[0]/1e3),e+r[0].length):-1}function Ne(t,n,e){var r=he.exec(n.slice(e,e+1));return r?e+r[0].length:-1}function Te(t,n,e){var r=fe.exec(n.slice(e));return r?(t.Q=+r[0],e+r[0].length):-1}function Re(t,n,e){var r=fe.exec(n.slice(e));return r?(t.Q=1e3*+r[0],e+r[0].length):-1}function Pe(t,n){return pe(t.getDate(),n,2)}function Le(t,n){return pe(t.getHours(),n,2)}function qe(t,n){return pe(t.getHours()%12||12,n,2)}function Ue(t,n){return pe(1+Un.count(Yn(t),t),n,3)}function je(t,n){return pe(t.getMilliseconds(),n,3)}function $e(t,n){return je(t,n)+"000"}function Ie(t,n){return pe(t.getMonth()+1,n,2)}function We(t,n){return pe(t.getMinutes(),n,2)}function He(t,n){return pe(t.getSeconds(),n,2)}function Ye(t){var n=t.getDay();return 0===n?7:n}function Ge(t,n){return pe($n.count(Yn(t),t),n,2)}function Ve(t,n){var e=t.getDay();return t=e>=4||0===e?Wn(t):Wn.ceil(t),pe(Wn.count(Yn(t),t)+(4===Yn(t).getDay()),n,2)}function Xe(t){return t.getDay()}function Ze(t,n){return pe(In.count(Yn(t),t),n,2)}function Je(t,n){return pe(t.getFullYear()%100,n,2)}function Qe(t,n){return pe(t.getFullYear()%1e4,n,4)}function Ke(t){var n=t.getTimezoneOffset();return(n>0?"-":(n*=-1,"+"))+pe(n/60|0,"0",2)+pe(n%60,"0",2)}function tr(t,n){return pe(t.getUTCDate(),n,2)}function nr(t,n){return pe(t.getUTCHours(),n,2)}function er(t,n){return pe(t.getUTCHours()%12||12,n,2)}function rr(t,n){return pe(1+Xn.count(ne(t),t),n,3)}function ir(t,n){return pe(t.getUTCMilliseconds(),n,3)}function ar(t,n){return ir(t,n)+"000"}function ur(t,n){return pe(t.getUTCMonth()+1,n,2)}function or(t,n){return pe(t.getUTCMinutes(),n,2)}function sr(t,n){return pe(t.getUTCSeconds(),n,2)}function lr(t){var n=t.getUTCDay();return 0===n?7:n}function cr(t,n){return pe(Jn.count(ne(t),t),n,2)}function fr(t,n){var e=t.getUTCDay();return t=e>=4||0===e?Kn(t):Kn.ceil(t),pe(Kn.count(ne(t),t)+(4===ne(t).getUTCDay()),n,2)}function hr(t){return t.getUTCDay()}function dr(t,n){return pe(Qn.count(ne(t),t),n,2)}function pr(t,n){return pe(t.getUTCFullYear()%100,n,2)}function gr(t,n){return pe(t.getUTCFullYear()%1e4,n,4)}function mr(){return"+0000"}function vr(){return"%"}function yr(t){return+t}function xr(t){return Math.floor(+t/1e3)}function _r(t){return ae=function(t){var n=t.dateTime,e=t.date,r=t.time,i=t.periods,a=t.days,u=t.shortDays,o=t.months,s=t.shortMonths,l=me(i),c=ve(i),f=me(a),h=ve(a),d=me(u),p=ve(u),g=me(o),m=ve(o),v=me(s),y=ve(s),x={a:function(t){return u[t.getDay()]},A:function(t){return a[t.getDay()]},b:function(t){return s[t.getMonth()]},B:function(t){return o[t.getMonth()]},c:null,d:Pe,e:Pe,f:$e,H:Le,I:qe,j:Ue,L:je,m:Ie,M:We,p:function(t){return i[+(t.getHours()>=12)]},Q:yr,s:xr,S:He,u:Ye,U:Ge,V:Ve,w:Xe,W:Ze,x:null,X:null,y:Je,Y:Qe,Z:Ke,"%":vr},_={a:function(t){return u[t.getUTCDay()]},A:function(t){return a[t.getUTCDay()]},b:function(t){return s[t.getUTCMonth()]},B:function(t){return o[t.getUTCMonth()]},c:null,d:tr,e:tr,f:ar,H:nr,I:er,j:rr,L:ir,m:ur,M:or,p:function(t){return i[+(t.getUTCHours()>=12)]},Q:yr,s:xr,S:sr,u:lr,U:cr,V:fr,w:hr,W:dr,x:null,X:null,y:pr,Y:gr,Z:mr,"%":vr},b={a:function(t,n,e){var r=d.exec(n.slice(e));return r?(t.w=p[r[0].toLowerCase()],e+r[0].length):-1},A:function(t,n,e){var r=f.exec(n.slice(e));return r?(t.w=h[r[0].toLowerCase()],e+r[0].length):-1},b:function(t,n,e){var r=v.exec(n.slice(e));return r?(t.m=y[r[0].toLowerCase()],e+r[0].length):-1},B:function(t,n,e){var r=g.exec(n.slice(e));return r?(t.m=m[r[0].toLowerCase()],e+r[0].length):-1},c:function(t,e,r){return M(t,n,e,r)},d:Ce,e:Ce,f:ze,H:Fe,I:Fe,j:De,L:Oe,m:Ee,M:Se,p:function(t,n,e){var r=l.exec(n.slice(e));return r?(t.p=c[r[0].toLowerCase()],e+r[0].length):-1},Q:Te,s:Re,S:Be,u:xe,U:_e,V:be,w:ye,W:we,x:function(t,n,r){return M(t,e,n,r)},X:function(t,n,e){return M(t,r,n,e)},y:Me,Y:Ae,Z:ke,"%":Ne};function w(t,n){return function(e){var r,i,a,u=[],o=-1,s=0,l=t.length;for(e instanceof Date||(e=new Date(+e));++o<l;)37===t.charCodeAt(o)&&(u.push(t.slice(s,o)),null!=(i=ce[r=t.charAt(++o)])?r=t.charAt(++o):i="e"===r?" ":"0",(a=n[r])&&(r=a(e,i)),u.push(r),s=o+1);return u.push(t.slice(s,o)),u.join("")}}function A(t,n){return function(e){var r,i,a=ie(1900);if(M(a,t,e+="",0)!=e.length)return null;if("Q"in a)return new Date(a.Q);if("p"in a&&(a.H=a.H%12+12*a.p),"V"in a){if(a.V<1||a.V>53)return null;"w"in a||(a.w=1),"Z"in a?(i=(r=re(ie(a.y))).getUTCDay(),r=i>4||0===i?Qn.ceil(r):Qn(r),r=Xn.offset(r,7*(a.V-1)),a.y=r.getUTCFullYear(),a.m=r.getUTCMonth(),a.d=r.getUTCDate()+(a.w+6)%7):(i=(r=n(ie(a.y))).getDay(),r=i>4||0===i?In.ceil(r):In(r),r=Un.offset(r,7*(a.V-1)),a.y=r.getFullYear(),a.m=r.getMonth(),a.d=r.getDate()+(a.w+6)%7)}else("W"in a||"U"in a)&&("w"in a||(a.w="u"in a?a.u%7:"W"in a?1:0),i="Z"in a?re(ie(a.y)).getUTCDay():n(ie(a.y)).getDay(),a.m=0,a.d="W"in a?(a.w+6)%7+7*a.W-(i+5)%7:a.w+7*a.U-(i+6)%7);return"Z"in a?(a.H+=a.Z/100|0,a.M+=a.Z%100,re(a)):n(a)}}function M(t,n,e,r){for(var i,a,u=0,o=n.length,s=e.length;u<o;){if(r>=s)return-1;if(37===(i=n.charCodeAt(u++))){if(i=n.charAt(u++),!(a=b[i in ce?n.charAt(u++):i])||(r=a(t,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}return x.x=w(e,x),x.X=w(r,x),x.c=w(n,x),_.x=w(e,_),_.X=w(r,_),_.c=w(n,_),{format:function(t){var n=w(t+="",x);return n.toString=function(){return t},n},parse:function(t){var n=A(t+="",ee);return n.toString=function(){return t},n},utcFormat:function(t){var n=w(t+="",_);return n.toString=function(){return t},n},utcParse:function(t){var n=A(t,re);return n.toString=function(){return t},n}}}(t),ue=ae.format,oe=ae.parse,se=ae.utcFormat,le=ae.utcParse,ae}_r({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",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"]});Date.prototype.toISOString||se("%Y-%m-%dT%H:%M:%S.%LZ");+new Date("2000-01-01T00:00:00.000Z")||le("%Y-%m-%dT%H:%M:%S.%LZ");function br(t,n,e){const r=Fn((n=n||{}).type||"json");return r||i("Unknown data format type: "+n.type),t=r(t,n),n.parse&&function(t,n,e){if(!t.length)return;e=e||oe;var r,i,a,u,o,s,l,c=t.columns||Object.keys(t[0]);"auto"===n&&(n=an(t,c));for(c=Object.keys(n),r=c.map(function(t){var r,i,a=n[t];if(a&&(0===a.indexOf("date:")||0===a.indexOf("utc:")))return("'"===(i=(r=a.split(/:(.+)?/,2))[1])[0]&&"'"===i[i.length-1]||'"'===i[0]&&'"'===i[i.length-1])&&(i=i.slice(1,-1)),"utc"===r[0]?le(i):e(i);if(!tn[a])throw Error("Illegal format pattern: "+t+":"+a);return tn[a]}),u=0,s=t.length,l=c.length;u<s;++u)for(i=t[u],o=0;o<l;++o)a=c[o],i[a]=r[o](i[a])}(t,n.parse,e),t.hasOwnProperty("columns")&&delete t.columns,t}var wr=function(t,n){return function(e){return{options:e||{},sanitize:Xt,load:Vt,fileAccess:!!n,file:Zt(n),http:Qt(t)}}}("undefined"!=typeof fetch&&fetch,null);const Ar=br;var Mr={skip:!0};function kr(t,n,e,r,i,a){var u,o,s=Z({},a,Mr);Y(e)||(e=V(e)),void 0===r?u=(n=>t.touch(e(n))):Y(r)?(o=new qt(null,r,i,!1),u=(n=>{o.evaluate(n);const r=e(n),i=o.value;Ot(i)?t.pulse(r,i,a):t.update(r,i,s)})):u=(n=>t.update(e(n),r,s)),n.apply(u)}function Er(t,n,e,r,i,a){if(void 0===r)n.targets().add(e);else{const u=a||{},o=new qt(null,function(t,n){return n=Y(n)?n:V(n),t?function(e,r){const i=n(e,r);return t.skip()||(t.skip(i!==this.value).value=i),i}:n}(e,r),i,!1);o.modified(u.force),o.rank=n.rank,n.targets().add(o),e&&(o.skip(!0),o.value=e.value,o.targets().add(e),t.connect(e,[o]))}}var Cr={};function Dr(t,n,e){this.dataflow=t,this.stamp=null==n?-1:n,this.add=[],this.rem=[],this.mod=[],this.fields=null,this.encode=e||null}var Fr=Dr.prototype;function Sr(t,n){return t?function(e,r){return t(e,r)&&n(e,r)}:n}function Br(t,n){var e=[];return _t(t,n,function(t){e.push(t)}),e}function Or(t,n){var e={};return t.visit(n,function(t){e[Et(t)]=1}),function(t){return e[Et(t)]?null:t}}function zr(t,n,e,r){var i,a,u,o,s,l=this,c=0;for(this.dataflow=t,this.stamp=n,this.fields=null,this.encode=r||null,this.pulses=e,u=0,o=e.length;u<o;++u)if((i=e[u]).stamp===n){if(i.fields)for(s in a=l.fields||(l.fields={}),i.fields)a[s]=1;i.changed(l.ADD)&&(c|=l.ADD),i.changed(l.REM)&&(c|=l.REM),i.changed(l.MOD)&&(c|=l.MOD)}this.changes=c}Fr.StopPropagation=Cr,Fr.ADD=1,Fr.REM=2,Fr.MOD=4,Fr.ADD_REM=3,Fr.ADD_MOD=5,Fr.ALL=7,Fr.REFLOW=8,Fr.SOURCE=16,Fr.NO_SOURCE=32,Fr.NO_FIELDS=64,Fr.fork=function(t){return new Dr(this.dataflow).init(this,t)},Fr.clone=function(){var t=this.fork(7);return t.add=t.add.slice(),t.rem=t.rem.slice(),t.mod=t.mod.slice(),t.source&&(t.source=t.source.slice()),t.materialize(23)},Fr.addAll=function(){var t=this;return this.source&&this.source.length!==this.add.length?((t=new Dr(this.dataflow).init(this)).add=t.source,t):t},Fr.init=function(t,n){var e=this;return e.stamp=t.stamp,e.encode=t.encode,!t.fields||64&n||(e.fields=t.fields),1&n?(e.addF=t.addF,e.add=t.add):(e.addF=null,e.add=[]),2&n?(e.remF=t.remF,e.rem=t.rem):(e.remF=null,e.rem=[]),4&n?(e.modF=t.modF,e.mod=t.mod):(e.modF=null,e.mod=[]),32&n?(e.srcF=null,e.source=null):(e.srcF=t.srcF,e.source=t.source),e},Fr.runAfter=function(t){this.dataflow.runAfter(t)},Fr.changed=function(t){var n=t||7;return 1&n&&this.add.length||2&n&&this.rem.length||4&n&&this.mod.length},Fr.reflow=function(t){if(t)return this.fork(7).reflow();var n=this.add.length,e=this.source&&this.source.length;return e&&e!==n&&(this.mod=this.source,n&&this.filter(4,Or(this,1))),this},Fr.modifies=function(t){var n=W(t),e=this.fields||(this.fields={});return n.forEach(function(t){e[t]=!0}),this},Fr.modified=function(t){var n=this.fields;return!(!this.mod.length||!n)&&(arguments.length?u(t)?t.some(function(t){return n[t]}):n[t]:!!n)},Fr.filter=function(t,n){var e=this;return 1&t&&(e.addF=Sr(e.addF,n)),2&t&&(e.remF=Sr(e.remF,n)),4&t&&(e.modF=Sr(e.modF,n)),16&t&&(e.srcF=Sr(e.srcF,n)),e},Fr.materialize=function(t){var n=this;return 1&(t=t||7)&&n.addF&&(n.add=Br(n.add,n.addF),n.addF=null),2&t&&n.remF&&(n.rem=Br(n.rem,n.remF),n.remF=null),4&t&&n.modF&&(n.mod=Br(n.mod,n.modF),n.modF=null),16&t&&n.srcF&&(n.source=n.source.filter(n.srcF),n.srcF=null),n},Fr.visit=function(t,n){var e,r,i=this,a=n;return 16&t?(_t(i.source,i.srcF,a),i):(1&t&&_t(i.add,i.addF,a),2&t&&_t(i.rem,i.remF,a),4&t&&_t(i.mod,i.modF,a),8&t&&(e=i.source)&&((r=i.add.length+i.mod.length)===e.length||_t(e,r?Or(i,5):i.srcF,a)),i)};var Nr=et(zr,Dr);function Tr(t){return t.error("Dataflow already running. Use runAsync() to chain invocations."),t}Nr.fork=function(t){var n=new Dr(this.dataflow).init(this,t&this.NO_FIELDS);return void 0!==t&&(t&n.ADD&&this.visit(n.ADD,function(t){return n.add.push(t)}),t&n.REM&&this.visit(n.REM,function(t){return n.rem.push(t)}),t&n.MOD&&this.visit(n.MOD,function(t){return n.mod.push(t)})),n},Nr.changed=function(t){return this.changes&t},Nr.modified=function(t){var n=this,e=n.fields;return e&&n.changes&n.MOD?u(t)?t.some(function(t){return e[t]}):e[t]:0},Nr.filter=function(){i("MultiPulse does not support filtering.")},Nr.materialize=function(){i("MultiPulse does not support materialization.")},Nr.visit=function(t,n){var e=this,r=e.pulses,i=r.length,a=0;if(t&e.SOURCE)for(;a<i;++a)r[a].visit(t,n);else for(;a<i;++a)r[a].stamp===e.stamp&&r[a].visit(t,n);return e};var Rr={skip:!1,force:!1};function Pr(t){var n=[];return{size:()=>n.length,peek:()=>n[0],push:e=>(n.push(e),Lr(n,0,n.length-1,t)),pop:()=>{var e,r=n.pop();return n.length?(e=n[0],n[0]=r,function(t,n,e){var r,i=n,a=t.length,u=t[n],o=1+(n<<1);for(;o<a;)(r=o+1)<a&&e(t[o],t[r])>=0&&(o=r),t[n]=t[o],o=1+((n=o)<<1);t[n]=u,Lr(t,i,n,e)}(n,0,t)):e=r,e}}}function Lr(t,n,e,r){var i,a,u;for(i=t[e];e>n&&r(i,a=t[u=e-1>>1])<0;)t[e]=a,e=u;return t[e]=i}function qr(){this.logger(M()),this.logLevel(_),this._clock=0,this._rank=0;try{this._loader=wr()}catch(t){}this._touched=bt(h),this._pulses={},this._pulse=null,this._heap=Pr((t,n)=>t.qrank-n.qrank),this._postrun=[]}var Ur=qr.prototype;function jr(t){return function(){return this._log[t].apply(this,arguments)}}function $r(t,n){qt.call(this,t,null,n)}Ur.stamp=function(){return this._clock},Ur.loader=function(t){return arguments.length?(this._loader=t,this):this._loader},Ur.cleanThreshold=1e4,Ur.add=function(t,n,e,r){var i,a=1;return t instanceof qt?i=t:t&&t.prototype instanceof qt?i=new t:Y(t)?i=new qt(null,t):(a=0,i=new qt(t,n)),this.rank(i),a&&(r=e,e=n),e&&this.connect(i,i.parameters(e,r)),this.touch(i),i},Ur.connect=function(t,n){var e,r,i=t.rank;for(e=0,r=n.length;e<r;++e)if(i<n[e].rank)return void this.rerank(t)},Ur.rank=function(t){t.rank=++this._rank},Ur.rerank=function(t){for(var n,e,r,a=[t];a.length;)if(this.rank(n=a.pop()),e=n._targets)for(r=e.length;--r>=0;)a.push(n=e[r]),n===t&&i("Cycle detected in dataflow graph.")},Ur.pulse=function(t,n,e){this.touch(t,e||Rr);var r=new Dr(this,this._clock+(this._pulse?0:1)),i=t.pulse&&t.pulse.source||[];return r.target=t,this._pulses[t.id]=n.pulse(r,i),this},Ur.touch=function(t,n){var e=n||Rr;return this._pulse?this._enqueue(t):this._touched.add(t),e.skip&&t.skip(!0),this},Ur.update=function(t,n,e){var r=e||Rr;return(t.set(n)||r.force)&&this.touch(t,r),this},Ur.changeset=zt,Ur.ingest=function(t,n,e){return this.pulse(t,this.changeset().insert(Ar(n,e)))},Ur.parse=Ar,Ur.preload=async function(t,n,e){const r=this,i=r._pending||function(t){var n,e=new Promise(function(t){n=t});return e.requests=0,e.done=function(){0==--e.requests&&(t._pending=null,n(t))},t._pending=e}(r);i.requests+=1;const a=await r.request(n,e);return r.pulse(t,r.changeset().remove(m).insert(a.data||[])),i.done(),a},Ur.request=async function(t,n){const e=this;let r,i=0;try{r=await e.loader().load(t,{context:"dataflow",response:Sn(n&&n.type)});try{r=Ar(r,n)}catch(n){i=-2,e.warn("Data ingestion failed",t,n)}}catch(n){i=-1,e.warn("Loading failed",t,n)}return{data:r,status:i}},Ur.events=function(t,n,e,r){for(var i,a=this,u=Wt(e,r),o=function(t){t.dataflow=a;try{u.receive(t)}catch(t){a.error(t)}finally{a.run()}},s=0,l=(i="string"==typeof t&&"undefined"!=typeof document?document.querySelectorAll(t):W(t)).length;s<l;++s)i[s].addEventListener(n,o);return u},Ur.on=function(t,n,e,r,i){return(t instanceof qt?Er:kr)(this,t,n,e,r,i),this},Ur.evaluate=async function(t,n,e){const r=this,i=r.logLevel();if(r._pulse)return Tr(r);if(r._pending&&await r._pending,n&&await wt(r,n),!r._touched.length)return r.info("Dataflow invoked, but nothing to do."),r;let a,u,o,s,l=++r._clock,c=0;r._pulse=new Dr(r,l,t),i>=w&&(o=Date.now(),r.debug("-- START PROPAGATION ("+l+") -----")),r._touched.forEach(function(t){r._enqueue(t,!0)}),r._touched=bt(h);try{for(;r._heap.size()>0;)(a=r._heap.pop()).rank===a.qrank?((u=a.run(r._getPulse(a,t))).then&&(u=await u),i>=A&&r.debug(a.id,u===Cr?"STOP":u,a),u!==Cr&&(r._pulse=u,a._targets&&a._targets.forEach(t=>r._enqueue(t))),++c):r._enqueue(a,!0)}catch(t){s=t}if(r._pulses={},r._pulse=null,i>=w&&(o=Date.now()-o,r.info("> Pulse "+l+": "+c+" operators; "+o+"ms")),s&&(r._postrun=[],r.error(s)),r._postrun.length){const t=r._postrun.sort((t,n)=>n.priority-t.priority);r._postrun=[];for(let n=0;n<t.length;++n)await wt(r,t[n].callback)}return e&&await wt(r,e),r},Ur.run=function(t,n,e){return this._pulse?Tr(this):(this.evaluate(t,n,e),this)},Ur.runAsync=async function(t,n,e){for(;this._running;)await this._running;const r=()=>this._running=null;return(this._running=this.evaluate(t,n,e)).then(r,r),this._running},Ur.runAfter=function(t,n,e){if(this._pulse||n)this._postrun.push({priority:e||0,callback:t});else try{t(this)}catch(t){this.error(t)}},Ur._enqueue=function(t,n){var e=!this._pulses[t.id];e&&(this._pulses[t.id]=this._pulse),(e||n)&&(t.qrank=t.rank,this._heap.push(t))},Ur._getPulse=function(t,n){var e,r=t.source,i=this._clock;return r&&u(r)?new zr(this,i,e=r.map(function(t){return t.pulse}),n):(e=this._pulses[t.id],r&&((r=r.pulse)&&r!==Cr?r.stamp===i&&e.target!==t?e=r:e.source=r.source:e.source=[]),e)},Ur.logger=function(t){return arguments.length?(this._log=t,this):this._log},Ur.error=jr("error"),Ur.warn=jr("warn"),Ur.info=jr("info"),Ur.debug=jr("debug"),Ur.logLevel=jr("level");var Ir=et($r,qt);Ir.run=function(t){return t.stamp<=this.stamp?t.StopPropagation:(this.skip()?this.skip(!1):n=this.evaluate(t),n=n||t,this.stamp=t.stamp,n.then?n=n.then(t=>this.pulse=t):n!==t.StopPropagation&&(this.pulse=n),n);var n},Ir.evaluate=function(t){var n=this.marshall(t.stamp),e=this.transform(n,t);return n.clear(),e},Ir.transform=function(){};var Wr={};function Hr(t){var n=Yr(t);return n&&n.Definition||null}function Yr(t){return t=t&&t.toLowerCase(),Wr.hasOwnProperty(t)?Wr[t]:null}function Gr(t){return t&&t.length?1===t.length?t[0]:(n=t,function(t){for(var e=n.length,r=1,i=String(n[0](t));r<e;++r)i+="|"+n[r](t);return i}):function(){return""};var n}function Vr(t,n,e){return e||t+(n?"_"+n:"")}var Xr={values:Qr({name:"values",init:"cell.store = true;",set:"cell.data.values()",idx:-1}),count:Qr({name:"count",set:"cell.num"}),__count__:Qr({name:"count",set:"this.missing + this.valid"}),missing:Qr({name:"missing",set:"this.missing"}),valid:Qr({name:"valid",set:"this.valid"}),sum:Qr({name:"sum",init:"this.sum = 0;",add:"this.sum += +v;",rem:"this.sum -= v;",set:"this.sum"}),mean:Qr({name:"mean",init:"this.mean = 0;",add:"var d = v - this.mean; this.mean += d / this.valid;",rem:"var d = v - this.mean; this.mean -= this.valid ? d / this.valid : this.mean;",set:"this.valid ? this.mean : undefined"}),average:Qr({name:"average",set:"this.valid ? this.mean : undefined",req:["mean"],idx:1}),variance:Qr({name:"variance",init:"this.dev = 0;",add:"this.dev += d * (v - this.mean);",rem:"this.dev -= d * (v - this.mean);",set:"this.valid > 1 ? this.dev / (this.valid-1) : undefined",req:["mean"],idx:1}),variancep:Qr({name:"variancep",set:"this.valid > 1 ? this.dev / this.valid : undefined",req:["variance"],idx:2}),stdev:Qr({name:"stdev",set:"this.valid > 1 ? Math.sqrt(this.dev / (this.valid-1)) : undefined",req:["variance"],idx:2}),stdevp:Qr({name:"stdevp",set:"this.valid > 1 ? Math.sqrt(this.dev / this.valid) : undefined",req:["variance"],idx:2}),stderr:Qr({name:"stderr",set:"this.valid > 1 ? Math.sqrt(this.dev / (this.valid * (this.valid-1))) : undefined",req:["variance"],idx:2}),distinct:Qr({name:"distinct",set:"cell.data.distinct(this.get)",req:["values"],idx:3}),ci0:Qr({name:"ci0",set:"cell.data.ci0(this.get)",req:["values"],idx:3}),ci1:Qr({name:"ci1",set:"cell.data.ci1(this.get)",req:["values"],idx:3}),median:Qr({name:"median",set:"cell.data.q2(this.get)",req:["values"],idx:3}),q1:Qr({name:"q1",set:"cell.data.q1(this.get)",req:["values"],idx:3}),q3:Qr({name:"q3",set:"cell.data.q3(this.get)",req:["values"],idx:3}),argmin:Qr({name:"argmin",init:"this.argmin = undefined;",add:"if (v < this.min) this.argmin = t;",rem:"if (v <= this.min) this.argmin = undefined;",set:"this.argmin || cell.data.argmin(this.get)",req:["min"],str:["values"],idx:3}),argmax:Qr({name:"argmax",init:"this.argmax = undefined;",add:"if (v > this.max) this.argmax = t;",rem:"if (v >= this.max) this.argmax = undefined;",set:"this.argmax || cell.data.argmax(this.get)",req:["max"],str:["values"],idx:3}),min:Qr({name:"min",init:"this.min = undefined;",add:"if (v < this.min || this.min === undefined) this.min = v;",rem:"if (v <= this.min) this.min = NaN;",set:"this.min = (isNaN(this.min) ? cell.data.min(this.get) : this.min)",str:["values"],idx:4}),max:Qr({name:"max",init:"this.max = undefined;",add:"if (v > this.max || this.max === undefined) this.max = v;",rem:"if (v >= this.max) this.max = NaN;",set:"this.max = (isNaN(this.max) ? cell.data.max(this.get) : this.max)",str:["values"],idx:4})},Zr=Object.keys(Xr);function Jr(t,n){return Xr[t](n)}function Qr(t){return function(n){var e=Z({init:"",add:"",rem:"",idx:0},t);return e.out=n||t.name,e}}function Kr(t,n){return t.idx-n.idx}function ti(t,n){var e=n||d,r=function(t,n){var e,r=t.reduce(function t(e,r){function i(n){e[n]||t(e,e[n]=Xr[n]())}return r.req&&r.req.forEach(i),n&&r.str&&r.str.forEach(i),e},t.reduce(function(t,n){return t[n.name]=n,t},{})),i=[];for(e in r)i.push(r[e]);return i.sort(Kr)}(t,!0),i="var cell = this.cell; this.valid = 0; this.missing = 0;",a="this.cell = cell; this.init();",u="if(v==null){++this.missing; return;} if(v!==v) return; ++this.valid;",o="if(v==null){--this.missing; return;} if(v!==v) return; --this.valid;",s="var cell = this.cell;";return r.forEach(function(t){i+=t.init,u+=t.add,o+=t.rem}),t.slice().sort(Kr).forEach(function(t){s+="t['"+t.out+"']="+t.set+";"}),s+="return t;",(a=Function("cell",a)).prototype.init=Function(i),a.prototype.add=Function("v","t",u),a.prototype.rem=Function("v","t",o),a.prototype.set=Function("t",s),a.prototype.get=e,a.fields=t.map(function(t){return t.out}),a}function ni(t){var n,e,r,i,a,u,o,s,l=t.maxbins||20,c=t.base||10,f=Math.log(c),h=t.divide||[5,2],d=t.extent[0],p=t.extent[1],g=p-d||Math.abs(d)||1;if(t.step)n=t.step;else if(t.steps){for(a=g/l,u=0,o=t.steps.length;u<o&&t.steps[u]<a;++u);n=t.steps[Math.max(0,u-1)]}else{for(e=Math.ceil(Math.log(l)/f),r=t.minstep||0,n=Math.max(r,Math.pow(c,Math.round(Math.log(g)/f)-e));Math.ceil(g/n)>l;)n*=c;for(u=0,o=h.length;u<o;++u)(a=n/h[u])>=r&&g/a<=l&&(n=a)}return i=(a=Math.log(n))>=0?0:1+~~(-a/f),s=Math.pow(c,-i-1),(t.nice||void 0===t.nice)&&(d=d<(a=Math.floor(d/n+s)*n)?a-n:a,p=Math.ceil(p/n)*n),{start:d,stop:p===d?d+n:p,step:n}}function*ei(t,n){if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(yield n);else{let e=-1;for(let r of t)null!=(r=n(r,++e,t))&&(r=+r)>=r&&(yield r)}}function ri(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function ii(t){var n;return 1===t.length&&(n=t,t=function(t,e){return ri(n(t),e)}),{left:function(n,e,r,i){for(null==r&&(r=0),null==i&&(i=n.length);r<i;){var a=r+i>>>1;t(n[a],e)<0?r=a+1:i=a}return r},right:function(n,e,r,i){for(null==r&&(r=0),null==i&&(i=n.length);r<i;){var a=r+i>>>1;t(n[a],e)>0?i=a:r=a+1}return r}}}t.random=Math.random;var ai=ii(ri),ui=ai.right,oi=ai.left;function si(t,n){let e,r;if(void 0===n)for(let n of t)null!=n&&n>=n&&(void 0===e?e=r=n:(e>n&&(e=n),r<n&&(r=n)));else{let i=-1;for(let a of t)null!=(a=n(a,++i,t))&&a>=a&&(void 0===e?e=r=a:(e>a&&(e=a),r<a&&(r=a)))}return[e,r]}function li(t,n,e){t=+t,n=+n,e=(i=arguments.length)<2?(n=t,t=0,1):i<3?1:+e;for(var r=-1,i=0|Math.max(0,Math.ceil((n-t)/e)),a=new Array(i);++r<i;)a[r]=t+r*e;return a}var ci=Math.sqrt(50),fi=Math.sqrt(10),hi=Math.sqrt(2);function di(t,n,e){var r,i,a,u,o=-1;if(e=+e,(t=+t)===(n=+n)&&e>0)return[t];if((r=n<t)&&(i=t,t=n,n=i),0===(u=pi(t,n,e))||!isFinite(u))return[];if(u>0)for(t=Math.ceil(t/u),n=Math.floor(n/u),a=new Array(i=Math.ceil(n-t+1));++o<i;)a[o]=(t+o)*u;else for(t=Math.floor(t*u),n=Math.ceil(n*u),a=new Array(i=Math.ceil(t-n+1));++o<i;)a[o]=(t-o)/u;return r&&a.reverse(),a}function pi(t,n,e){var r=(n-t)/Math.max(0,e),i=Math.floor(Math.log(r)/Math.LN10),a=r/Math.pow(10,i);return i>=0?(a>=ci?10:a>=fi?5:a>=hi?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=ci?10:a>=fi?5:a>=hi?2:1)}function gi(t,n,e){var r=Math.abs(n-t)/Math.max(0,e),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),a=r/i;return a>=ci?i*=10:a>=fi?i*=5:a>=hi&&(i*=2),n<t?-i:i}function mi(t,n,e=function(t){return null===t?NaN:+t}){if(r=t.length){if((n=+n)<=0||r<2)return+e(t[0],0,t);if(n>=1)return+e(t[r-1],r-1,t);var r,i=(r-1)*n,a=Math.floor(i),u=+e(t[a],a,t);return u+(+e(t[a+1],a+1,t)-u)*(i-a)}}function vi(t,n,e=0,r=t.length-1,i=ri){for(;r>e;){if(r-e>600){const a=r-e+1,u=n-e+1,o=Math.log(a),s=.5*Math.exp(2*o/3),l=.5*Math.sqrt(o*s*(a-s)/a)*(u-a/2<0?-1:1);vi(t,n,Math.max(e,Math.floor(n-u*s/a+l)),Math.min(r,Math.floor(n+(a-u)*s/a+l)),i)}const a=t[n];let u=e,o=r;for(yi(t,e,n),i(t[r],a)>0&&yi(t,e,r);u<o;){for(yi(t,u,o),++u,--o;i(t[u],a)<0;)++u;for(;i(t[o],a)>0;)--o}0===i(t[e],a)?yi(t,e,o):yi(t,++o,r),o<=n&&(e=o+1),n<=o&&(r=o-1)}return t}function yi(t,n,e){const r=t[n];t[n]=t[e],t[e]=r}function xi(t,n){if(!(t=Float64Array.from(function*(t,n){if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(yield n);else{let e=-1;for(let r of t)null!=(r=n(r,++e,t))&&(r=+r)>=r&&(yield r)}}(t,n))).length)return;const e=t.length,r=e>>1;return vi(t,r-1,0),0==(1&e)&&vi(t,r,r),mi(t,.5)}function _i(n,e,r,i){if(!n.length)return[void 0,void 0];var a,u,o,s,l=Float64Array.from(ei(n,i)),c=l.length,f=e;for(o=0,s=Array(f);o<f;++o){for(a=0,u=0;u<c;++u)a+=l[~~(t.random()*c)];s[o]=a/c}return[mi(s.sort(ri),r/2),mi(s,1-r/2)]}function bi(t,n){var e=Float64Array.from(ei(t,n));return[mi(e.sort(ri),.25),mi(e,.5),mi(e,.75)]}function wi(n,e){var r,i,a=NaN,u={mean:function(t){return arguments.length?(r=t||0,a=NaN,u):r},stdev:function(t){return arguments.length?(i=null==t?1:t,a=NaN,u):i},sample:function(){var n,e,u=0,o=0;if(a==a)return u=a,a=NaN,u;do{n=(u=2*t.random()-1)*u+(o=2*t.random()-1)*o}while(0===n||n>1);return e=Math.sqrt(-2*Math.log(n)/n),a=r+o*e*i,r+u*e*i},pdf:function(t){var n=Math.exp(Math.pow(t-r,2)/(-2*Math.pow(i,2)));return 1/(i*Math.sqrt(2*Math.PI))*n},cdf:function(t){var n,e=(t-r)/i,a=Math.abs(e);if(a>37)n=0;else{var u=Math.exp(-a*a/2);a<7.07106781186547?(n=u*((((((.0352624965998911*a+.700383064443688)*a+6.37396220353165)*a+33.912866078383)*a+112.079291497871)*a+221.213596169931)*a+220.206867912376),n/=((((((.0883883476483184*a+1.75566716318264)*a+16.064177579207)*a+86.7807322029461)*a+296.564248779674)*a+637.333633378831)*a+793.826512519948)*a+440.413735824752):n=u/(a+1/(a+2/(a+3/(a+4/(a+.65)))))/2.506628274631}return e>0?1-n:n},icdf:function(t){if(t<=0||t>=1)return NaN;var n=2*t-1,e=8*(Math.PI-3)/(3*Math.PI*(4-Math.PI)),a=2/(Math.PI*e)+Math.log(1-Math.pow(n,2))/2,u=Math.log(1-n*n)/e,o=(n>0?1:-1)*Math.sqrt(Math.sqrt(a*a-u)-a);return r+i*Math.SQRT2*o}};return u.mean(n).stdev(e)}function Ai(n,e){var r=wi(),i={},a=0;return i.data=function(t){return arguments.length?(n=t,a=t?t.length:0,i.bandwidth(e)):n},i.bandwidth=function(t){return arguments.length?(!(e=t)&&n&&(a=(r=n).length,u=bi(r),o=(u[2]-u[0])/1.34,e=1.06*Math.min(Math.sqrt(function(t,n){let e,r=0,i=0,a=0;if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(a+=(e=n-i)*(n-(i+=e/++r)));else{let u=-1;for(let o of t)null!=(o=n(o,++u,t))&&(o=+o)>=o&&(a+=(e=o-i)*(o-(i+=e/++r)))}if(r>1)return a/(r-1)}(r)),o)*Math.pow(a,-.2)),i):e;var r,a,u,o},i.sample=function(){return n[~~(t.random()*a)]+e*r.sample()},i.pdf=function(t){for(var i=0,u=0;u<a;++u)i+=r.pdf((t-n[u])/e);return i/e/a},i.cdf=function(t){for(var i=0,u=0;u<a;++u)i+=r.cdf((t-n[u])/e);return i/a},i.icdf=function(){throw Error("KDE icdf not supported.")},i.data(n)}function Mi(n,e){var r,i={},a=0;return i.weights=function(t){return arguments.length?(r=function(t){var n,e=[],r=0;for(n=0;n<a;++n)r+=e[n]=null==t[n]?1:+t[n];for(n=0;n<a;++n)e[n]/=r;return e}(e=t||[]),i):e},i.distributions=function(t){return arguments.length?(t?(a=t.length,n=t):(a=0,n=[]),i.weights(e)):n},i.sample=function(){for(var e=t.random(),i=n[a-1],u=r[0],o=0;o<a-1;u+=r[++o])if(e<u){i=n[o];break}return i.sample()},i.pdf=function(t){for(var e=0,i=0;i<a;++i)e+=r[i]*n[i].pdf(t);return e},i.cdf=function(t){for(var e=0,i=0;i<a;++i)e+=r[i]*n[i].cdf(t);return e},i.icdf=function(){throw Error("Mixture icdf not supported.")},i.distributions(n).weights(e)}function ki(n,e){null==e&&(e=null==n?1:n,n=0);var r,i,a,u={};return u.min=function(t){return arguments.length?(a=i-(r=t||0),u):r},u.max=function(t){return arguments.length?(a=(i=t||0)-r,u):i},u.sample=function(){return r+a*t.random()},u.pdf=function(t){return t>=r&&t<=i?1/a:0},u.cdf=function(t){return t<r?0:t>i?1:(t-r)/a},u.icdf=function(t){return t>=0&&t<=1?r+t*a:NaN},u.min(n).max(e)}function Ei(t,n,e,r){const i=r-t*t,a=Math.abs(i)<1e-24?0:(e-t*n)/i;return[n-a*t,a]}function Ci(t,n,e,r){t=t.filter(t=>{let r=n(t),i=e(t);return null!=r&&(r=+r)>=r&&null!=i&&(i=+i)>=i}),r&&t.sort((t,e)=>n(t)-n(e));const i=new Float64Array(t.length),a=new Float64Array(t.length);let u=0;for(let r of t)i[u]=n(r),a[u]=e(r),++u;return[i,a]}function Di(t,n,e,r){let i,a,u=-1,o=-1;for(let s of t)i=n(s,++u,t),a=e(s,u,t),null!=i&&(i=+i)>=i&&null!=a&&(a=+a)>=a&&r(i,a,++o)}function Fi(t,n,e,r,i){let a=0,u=0;return Di(t,n,e,(t,n)=>{const e=n-i(t),o=n-r;a+=e*e,u+=o*o}),1-a/u}function Si(t,n,e){let r=0,i=0,a=0,u=0,o=0;Di(t,n,e,(t,n)=>{r+=t,i+=n,a+=t*n,u+=t*t,++o});const s=Ei(r/o,i/o,a/o,u/o),l=t=>s[0]+s[1]*t;return{coef:s,predict:l,rSquared:Fi(t,n,e,i/o,l)}}function Bi(t,n,e){let r=0,i=0,a=0,u=0,o=0;Di(t,n,e,(t,n)=>{t=Math.log(t),r+=t,i+=n,a+=t*n,u+=t*t,++o});const s=Ei(r/o,i/o,a/o,u/o),l=t=>s[0]+s[1]*Math.log(t);return{coef:s,predict:l,rSquared:Fi(t,n,e,i/o,l)}}function Oi(t,n,e){let r=0,i=0,a=0,u=0,o=0,s=0;Di(t,n,e,(t,n)=>{const e=Math.log(n),l=t*n;r+=n,a+=l,o+=t*l,i+=n*e,u+=l*e,++s});const l=Ei(a/r,i/r,u/r,o/r),c=t=>l[0]*Math.exp(l[1]*t);return l[0]=Math.exp(l[0]),{coef:l,predict:c,rSquared:Fi(t,n,e,r/s,c)}}function zi(t,n,e){let r=0,i=0,a=0,u=0,o=0,s=0;Di(t,n,e,(t,n)=>{const e=Math.log(t),l=Math.log(n);r+=e,i+=l,a+=e*l,u+=e*e,o+=n,++s});const l=Ei(r/s,i/s,a/s,u/s),c=t=>l[0]*Math.pow(t,l[1]);return l[0]=Math.exp(l[0]),{coef:l,predict:c,rSquared:Fi(t,n,e,o/s,c)}}function Ni(t,n,e){let r=0,i=0,a=0,u=0,o=0,s=0,l=0,c=0;Di(t,n,e,(t,n)=>{const e=t*t;r+=t,i+=n,a+=e,u+=e*t,o+=e*e,s+=t*n,l+=e*n,++c});const f=a-r*r/c,h=u-a*r/c,d=o-a*a/c,p=f*d-h*h,g=((l-=a*(i/=c))*f-(s-=r*i)*h)/p,m=(s*d-l*h)/p,v=i-m*(r/c)-g*(a/c),y=t=>g*t*t+m*t+v;return{coef:[v,m,g],predict:y,rSquared:Fi(t,n,e,i,y)}}function Ti(t,n,e,r){if(1===r)return Si(t,n,e);if(2===r)return Ni(t,n,e);const[i,a]=Ci(t,n,e),u=i.length,o=[],s=[],l=r+1;let c,f,h,d,p,g=0;for(c=0;c<u;++c)g+=a[c];for(c=0;c<l;++c){for(h=0,d=0;h<u;++h)d+=Math.pow(i[h],c)*a[h];for(o.push(d),p=new Float64Array(l),f=0;f<l;++f){for(h=0,d=0;h<u;++h)d+=Math.pow(i[h],c+f);p[f]=d}s.push(p)}s.push(o);const m=function(t){const n=t.length-1,e=[];let r,i,a,u,o;for(r=0;r<n;++r){for(u=r,i=r+1;i<n;++i)Math.abs(t[r][i])>Math.abs(t[r][u])&&(u=i);for(a=r;a<n+1;++a)o=t[a][r],t[a][r]=t[a][u],t[a][u]=o;for(i=r+1;i<n;++i)for(a=n;a>=r;a--)t[a][i]-=t[a][r]*t[r][i]/t[r][r]}for(i=n-1;i>=0;--i){for(o=0,a=i+1;a<n;++a)o+=t[a][i]*e[a];e[i]=(t[n][i]-o)/t[i][i]}return e}(s),v=t=>{let n=0,e=0,r=m.length;for(;e<r;++e)n+=m[e]*Math.pow(t,e);return n};return{coef:m,predict:v,rSquared:Fi(t,n,e,g/u,v)}}const Ri=2,Pi=1e-12;function Li(t,n,e,r){const[i,a]=Ci(t,n,e,!0),u=i.length,o=Math.max(2,~~(r*u)),s=new Float64Array(u),l=new Float64Array(u),c=new Float64Array(u).fill(1);for(let t=-1;++t<=Ri;){const n=[0,o-1];for(let t=0;t<u;++t){const e=i[t],r=n[0],u=n[1],o=e-i[r]>i[u]-e?r:u;let f=0,h=0,d=0,p=0,g=0,m=1/Math.abs(i[o]-e||1);for(let t=r;t<=u;++t){const n=i[t],r=a[t],u=qi(Math.abs(e-n)*m)*c[t],o=n*u;f+=u,h+=o,d+=r*u,p+=r*o,g+=n*o}const[v,y]=Ei(h/f,d/f,p/f,g/f);s[t]=v+y*e,l[t]=Math.abs(a[t]-s[t]),Ui(i,t+1,n)}if(t===Ri)break;const e=xi(l);if(Math.abs(e)<Pi)break;for(let t,n,r=0;r<u;++r)t=l[r]/(6*e),c[r]=t>=1?Pi:(n=1-t*t)*n}return function(t,n){const e=t.length,r=[];for(let i,a=0,u=0,o=[];a<e;++a)i=t[a],o[0]===i?o[1]+=(n[a]-o[1])/++u:(u=0,o=[i,n[a]],r.push(o));return r}(i,s)}function qi(t){return(t=1-t*t*t)*t*t}function Ui(t,n,e){let r=t[n],i=e[0],a=e[1]+1;if(!(a>=t.length))for(;n>i&&t[a]-r<=r-t[i];)e[0]=++i,e[1]=a,++a}const ji=.1*Math.PI/180;function $i(t,n,e,r){e=e||25,r=Math.max(e,r||200);const i=n=>[n,t(n)],a=n[0],u=n[1],o=u-a,s=o/r,l=[i(a)],c=[];if(e===r){for(let t=1;t<r;++t)l.push(i(a+t/e*o));return l.push(i(u)),l}c.push(i(u));for(let t=e;--t>0;)c.push(i(a+t/e*o));let f=l[0],h=c[c.length-1];for(;h;){const t=i((f[0]+h[0])/2);t[0]-f[0]>=s&&Ii(f,t,h)>ji?c.push(t):(f=h,l.push(h),c.pop()),h=c[c.length-1]}return l}function Ii(t,n,e){const r=Math.atan2(e[1]-t[1],e[0]-t[0]),i=Math.atan2(n[1]-t[1],n[0]-t[0]);return Math.abs(r-i)}function Wi(t){this._key=t?c(t):Et,this.reset()}var Hi=Wi.prototype;function Yi(t){$r.call(this,null,t),this._adds=[],this._mods=[],this._alen=0,this._mlen=0,this._drop=!0,this._cross=!1,this._dims=[],this._dnames=[],this._measures=[],this._countOnly=!1,this._counts=null,this._prev=null,this._inputs=null,this._outputs=null}Hi.reset=function(){this._add=[],this._rem=[],this._ext=null,this._get=null,this._q=null},Hi.add=function(t){this._add.push(t)},Hi.rem=function(t){this._rem.push(t)},Hi.values=function(){if(this._get=null,0===this._rem.length)return this._add;var t,n,e,r=this._add,i=this._rem,a=this._key,u=r.length,o=i.length,s=Array(u-o),l={};for(t=0;t<o;++t)l[a(i[t])]=1;for(t=0,n=0;t<u;++t)l[a(e=r[t])]?l[a(e)]=0:s[n++]=e;return this._rem=[],this._add=s},Hi.distinct=function(t){for(var n,e=this.values(),r=e.length,i={},a=0;--r>=0;)n=t(e[r])+"",i.hasOwnProperty(n)||(i[n]=1,++a);return a},Hi.extent=function(t){if(this._get!==t||!this._ext){var n=this.values(),e=Q(n,t);this._ext=[n[e[0]],n[e[1]]],this._get=t}return this._ext},Hi.argmin=function(t){return this.extent(t)[0]||{}},Hi.argmax=function(t){return this.extent(t)[1]||{}},Hi.min=function(t){var n=this.extent(t)[0];return null!=n?t(n):void 0},Hi.max=function(t){var n=this.extent(t)[1];return null!=n?t(n):void 0},Hi.quartile=function(t){return this._get===t&&this._q||(this._q=bi(this.values(),t),this._get=t),this._q},Hi.q1=function(t){return this.quartile(t)[0]},Hi.q2=function(t){return this.quartile(t)[1]},Hi.q3=function(t){return this.quartile(t)[2]},Hi.ci=function(t){return this._get===t&&this._ci||(this._ci=_i(this.values(),1e3,.05,t),this._get=t),this._ci},Hi.ci0=function(t){return this.ci(t)[0]},Hi.ci1=function(t){return this.ci(t)[1]},Yi.Definition={type:"Aggregate",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:Zr},{name:"fields",type:"field",null:!0,array:!0},{name:"as",type:"string",null:!0,array:!0},{name:"drop",type:"boolean",default:!0},{name:"cross",type:"boolean",default:!1},{name:"key",type:"field"}]};var Gi=et(Yi,$r);Gi.transform=function(t,n){var e,r=this,i=n.fork(n.NO_SOURCE|n.NO_FIELDS);return this.stamp=i.stamp,this.value&&((e=t.modified())||n.modified(this._inputs))?(this._prev=this.value,this.value=e?this.init(t):{},n.visit(n.SOURCE,function(t){r.add(t)})):(this.value=this.value||this.init(t),n.visit(n.REM,function(t){r.rem(t)}),n.visit(n.ADD,function(t){r.add(t)})),i.modifies(this._outputs),r._drop=!1!==t.drop,t.cross&&r._dims.length>1&&(r._drop=!1,this.cross()),r.changes(i)},Gi.cross=function(){var t=this,n=t.value,e=t._dnames,r=e.map(function(){return{}}),i=e.length;function a(t){var n,a,u,o;for(n in t)for(u=t[n].tuple,a=0;a<i;++a)r[a][o=u[e[a]]]=o}a(t._prev),a(n),function a(u,o,s){var l,c,f=e[s],h=r[s++];for(l in h)o[f]=h[l],c=u?u+"|"+l:l,s<i?a(c,o,s):n[c]||t.cell(c,o)}("",{},0)},Gi.init=function(t){var n=this._inputs=[],a=this._outputs=[],u={};function o(t){for(var e,i=W(r(t)),a=0,o=i.length;a<o;++a)u[e=i[a]]||(u[e]=1,n.push(e))}this._dims=W(t.groupby),this._dnames=this._dims.map(function(t){var n=e(t);return o(t),a.push(n),n}),this.cellkey=t.key?t.key:Gr(this._dims),this._countOnly=!0,this._counts=[],this._measures=[];var s,l,c,f,h,d,p=t.fields||[null],g=t.ops||["count"],m=t.as||[],v=p.length,y={};for(v!==g.length&&i("Unmatched number of fields and aggregate ops."),d=0;d<v;++d)s=p[d],l=g[d],null==s&&"count"!==l&&i("Null aggregate field specified."),h=Vr(l,f=e(s),m[d]),a.push(h),"count"!==l?((c=y[f])||(o(s),(c=y[f]=[]).field=s,this._measures.push(c)),"count"!==l&&(this._countOnly=!1),c.push(Jr(l,h))):this._counts.push(h);return this._measures=this._measures.map(function(t){return ti(t,t.field)}),{}},Gi.cellkey=Gr(),Gi.cell=function(t,n){var e=this.value[t];return e?0===e.num&&this._drop&&e.stamp<this.stamp?(e.stamp=this.stamp,this._adds[this._alen++]=e):e.stamp<this.stamp&&(e.stamp=this.stamp,this._mods[this._mlen++]=e):(e=this.value[t]=this.newcell(t,n),this._adds[this._alen++]=e),e},Gi.newcell=function(t,n){var e={key:t,num:0,agg:null,tuple:this.newtuple(n,this._prev&&this._prev[t]),stamp:this.stamp,store:!1};if(!this._countOnly){var r,i=this._measures,a=i.length;for(e.agg=Array(a),r=0;r<a;++r)e.agg[r]=new i[r](e)}return e.store&&(e.data=new Wi),e},Gi.newtuple=function(t,n){var e,r,i=this._dnames,a=this._dims,u={};for(e=0,r=a.length;e<r;++e)u[i[e]]=a[e](t);return n?Bt(n.tuple,u):Dt(u)},Gi.add=function(t){var n,e,r,i=this.cellkey(t),a=this.cell(i,t);if(a.num+=1,!this._countOnly)for(a.store&&a.data.add(t),e=0,r=(n=a.agg).length;e<r;++e)n[e].add(n[e].get(t),t)},Gi.rem=function(t){var n,e,r,i=this.cellkey(t),a=this.cell(i,t);if(a.num-=1,!this._countOnly)for(a.store&&a.data.rem(t),e=0,r=(n=a.agg).length;e<r;++e)n[e].rem(n[e].get(t),t)},Gi.celltuple=function(t){var n,e,r,i=t.tuple,a=this._counts;for(t.store&&t.data.values(),e=0,r=a.length;e<r;++e)i[a[e]]=t.num;if(!this._countOnly)for(e=0,r=(n=t.agg).length;e<r;++e)n[e].set(i);return i},Gi.changes=function(t){var n,e,r,i,a=this._adds,u=this._mods,o=this._prev,s=this._drop,l=t.add,c=t.rem,f=t.mod;if(o)for(e in o)n=o[e],s&&!n.num||c.push(n.tuple);for(r=0,i=this._alen;r<i;++r)l.push(this.celltuple(a[r])),a[r]=null;for(r=0,i=this._mlen;r<i;++r)(0===(n=u[r]).num&&s?c:f).push(this.celltuple(n)),u[r]=null;return this._alen=this._mlen=0,this._prev=null,t};function Vi(t){$r.call(this,null,t)}Vi.Definition={type:"Bin",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"anchor",type:"number"},{name:"maxbins",type:"number",default:20},{name:"base",type:"number",default:10},{name:"divide",type:"number",array:!0,default:[5,2]},{name:"extent",type:"number",array:!0,length:2,required:!0},{name:"step",type:"number"},{name:"steps",type:"number",array:!0},{name:"minstep",type:"number",default:0},{name:"nice",type:"boolean",default:!0},{name:"name",type:"string"},{name:"as",type:"string",array:!0,length:2,default:["bin0","bin1"]}]};var Xi=et(Vi,$r);function Zi(t,n,e){var r=t,i=n||[],a=e||[],u={},o=0;return{add:function(t){a.push(t)},remove:function(t){u[r(t)]=++o},size:function(){return i.length},data:function(t,n){return o&&(i=i.filter(function(t){return!u[r(t)]}),u={},o=0),n&&t&&i.sort(t),a.length&&(i=t?ct(t,i,a.sort(t)):i.concat(a),a=[]),i}}}function Ji(t){$r.call(this,[],t)}function Qi(t){qt.call(this,null,Ki,t)}function Ki(t){return this.value&&!t.modified()?this.value:G(t.fields,t.orders)}function ta(t){$r.call(this,null,t)}Xi.transform=function(t,n){var e,i=this._bins(t),a=i.start,u=i.step,o=t.as||["bin0","bin1"],s=o[0],l=o[1];return e=t.modified()?(n=n.reflow(!0)).SOURCE:n.modified(r(t.field))?n.ADD_MOD:n.ADD,n.visit(e,function(t){var n=i(t);t[s]=n,t[l]=null==n?null:a+u*(1+(n-a)/u)}),n.modifies(o)},Xi._bins=function(t){if(this.value&&!t.modified())return this.value;var i,a,u=t.field,o=ni(t),s=o.start,l=o.stop,c=o.step;null!=(i=t.anchor)&&(a=i-(s+c*Math.floor((i-s)/c)),s+=a,l+=a);var f=function(t){var n=u(t);return null==n?null:(n=Math.max(s,Math.min(+n,l-c)),s+c*Math.floor(1e-14+(n-s)/c))};return f.start=s,f.stop=l,f.step=c,this.value=n(f,r(u),t.name||"bin_"+e(u))},Ji.Definition={type:"Collect",metadata:{source:!0},params:[{name:"sort",type:"compare"}]},et(Ji,$r).transform=function(t,n){var e=n.fork(n.ALL),r=Zi(Et,this.value,e.materialize(e.ADD).add),i=t.sort,a=n.changed()||i&&(t.modified("sort")||n.modified(i.fields));return e.visit(e.REM,r.remove),this.modified(a),this.value=e.source=r.data(i,a),n.source&&n.source.root&&(this.value.root=n.source.root),e},et(Qi,qt),ta.Definition={type:"CountPattern",metadata:{generates:!0,changes:!0},params:[{name:"field",type:"field",required:!0},{name:"case",type:"enum",values:["upper","lower","mixed"],default:"mixed"},{name:"pattern",type:"string",default:'[\\w"]+'},{name:"stopwords",type:"string",default:""},{name:"as",type:"string",array:!0,length:2,default:["text","count"]}]};var na=et(ta,$r);function ea(t){$r.call(this,null,t)}na.transform=function(t,n){function e(n){return function(e){for(var r,i=function(t,n,e){switch(n){case"upper":t=t.toUpperCase();break;case"lower":t=t.toLowerCase()}return t.match(e)}(o(e),t.case,a)||[],s=0,l=i.length;s<l;++s)u.test(r=i[s])||n(r)}}var r=this._parameterCheck(t,n),i=this._counts,a=this._match,u=this._stop,o=t.field,s=t.as||["text","count"],l=e(function(t){i[t]=1+(i[t]||0)}),c=e(function(t){i[t]-=1});return r?n.visit(n.SOURCE,l):(n.visit(n.ADD,l),n.visit(n.REM,c)),this._finish(n,s)},na._parameterCheck=function(t,n){var e=!1;return!t.modified("stopwords")&&this._stop||(this._stop=new RegExp("^"+(t.stopwords||"")+"$","i"),e=!0),!t.modified("pattern")&&this._match||(this._match=new RegExp(t.pattern||"[\\w']+","g"),e=!0),(t.modified("field")||n.modified(t.field.fields))&&(e=!0),e&&(this._counts={}),e},na._finish=function(t,n){var e,r,i,a=this._counts,u=this._tuples||(this._tuples={}),o=n[0],s=n[1],l=t.fork(t.NO_SOURCE|t.NO_FIELDS);for(e in a)r=u[e],i=a[e]||0,!r&&i?(u[e]=r=Dt({}),r[o]=e,r[s]=i,l.add.push(r)):0===i?(r&&l.rem.push(r),a[e]=null,u[e]=null):r[s]!==i&&(r[s]=i,l.mod.push(r));return l.modifies(n)},ea.Definition={type:"Cross",metadata:{generates:!0},params:[{name:"filter",type:"expr"},{name:"as",type:"string",array:!0,length:2,default:["a","b"]}]},et(ea,$r).transform=function(t,n){var e=n.fork(n.NO_SOURCE),r=this.value,i=t.as||["a","b"],a=i[0],u=i[1];return!r||n.changed(n.ADD_REM)||t.modified("as")||t.modified("filter")?(r&&(e.rem=r),r=n.materialize(n.SOURCE).source,e.add=this.value=function(t,n,e,r){for(var i,a,u=[],o={},s=t.length,l=0;l<s;++l)for(o[n]=a=t[l],i=0;i<s;++i)o[e]=t[i],r(o)&&(u.push(Dt(o)),(o={})[n]=a);return u}(r,a,u,t.filter||m)):e.mod=r,e.source=this.value,e.modifies(i)};var ra={kde:Ai,mixture:Mi,normal:wi,uniform:ki},ia="distributions",aa="function",ua="field";function oa(t){$r.call(this,null,t)}var sa=[{key:{function:"normal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"uniform"},params:[{name:"min",type:"number",default:0},{name:"max",type:"number",default:1}]},{key:{function:"kde"},params:[{name:"field",type:"field",required:!0},{name:"from",type:"data"},{name:"bandwidth",type:"number",default:0}]}],la={key:{function:"mixture"},params:[{name:"distributions",type:"param",array:!0,params:sa},{name:"weights",type:"number",array:!0}]};function ca(t){qt.call(this,null,fa,t),this.modified(!0)}function fa(t){var i=t.expr;return this.value&&!t.modified("expr")?this.value:n(n=>i(n,t),r(i),e(i))}function ha(t){$r.call(this,[void 0,void 0],t)}function da(t,n){qt.call(this,t),this.parent=n}oa.Definition={type:"Density",metadata:{generates:!0},params:[{name:"extent",type:"number",array:!0,length:2},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"method",type:"string",default:"pdf",values:["pdf","cdf"]},{name:"distribution",type:"param",params:sa.concat(la)},{name:"as",type:"string",array:!0,default:["value","density"]}]},et(oa,$r).transform=function(t,n){var e=n.fork(n.NO_SOURCE|n.NO_FIELDS);if(!this.value||n.changed()||t.modified()){var r=function t(n,e){var r=n[aa];ra.hasOwnProperty(r)||i("Unknown distribution function: "+r);var a=ra[r]();for(var u in n)u===ua?a.data((n.from||e()).map(n[u])):u===ia?a[u](n[u].map(function(n){return t(n,e)})):typeof a[u]===aa&&a[u](n[u]);return a}(t.distribution,function(t){return function(){return t.materialize(t.SOURCE).source}}(n)),a=t.steps||t.minsteps||25,u=t.steps||t.maxsteps||200,o=t.method||"pdf";"pdf"!==o&&"cdf"!==o&&i("Invalid density method: "+o),t.extent||r.data||i("Missing density extent parameter."),o=r[o];var s=t.as||["value","density"],l=$i(o,t.extent||J(r.data()),a,u).map(t=>{var n={};return n[s[0]]=t[0],n[s[1]]=t[1],Dt(n)});this.value&&(e.rem=this.value),this.value=e.add=e.source=l}return e},et(ca,qt),ha.Definition={type:"Extent",metadata:{},params:[{name:"field",type:"field",required:!0}]},et(ha,$r).transform=function(t,n){var e,r=this.value,i=t.field,a=r[0],u=r[1];((e=n.changed()||n.modified(i.fields)||t.modified("field"))||null==a)&&(a=1/0,u=-1/0),n.visit(e?n.SOURCE:n.ADD,function(t){var n=i(t);null!=n&&((n=+n)<a&&(a=n),n>u&&(u=n))}),isFinite(a)&&isFinite(u)||(a=u=void 0),this.value=[a,u]};var pa=et(da,qt);function ga(t){$r.call(this,{},t),this._keys=tt();var n=this._targets=[];n.active=0,n.forEach=function(t){for(var e=0,r=n.active;e<r;++e)t(n[e],e,n)}}pa.connect=function(t){return this.targets().add(t),t.source=this},pa.add=function(t){this.value.add.push(t)},pa.rem=function(t){this.value.rem.push(t)},pa.mod=function(t){this.value.mod.push(t)},pa.init=function(t){this.value.init(t,t.NO_SOURCE)},pa.evaluate=function(){return this.value};var ma=et(ga,$r);function va(t){qt.call(this,null,ya,t)}function ya(t){return this.value&&!t.modified()?this.value:u(t.name)?W(t.name).map(function(t){return c(t)}):c(t.name,t.as)}function xa(t){$r.call(this,tt(),t)}function _a(t,n){return t?t.map(function(t,r){return n[r]||e(t)}):null}function ba(t){$r.call(this,[],t)}function wa(t){$r.call(this,[],t)}function Aa(t){$r.call(this,null,t)}function Ma(t){$r.call(this,[],t)}ma.activate=function(t){this._targets[this._targets.active++]=t},ma.subflow=function(t,n,e,r){var i,a,u=this.value,o=u.hasOwnProperty(t)&&u[t];return o?o.value.stamp<e.stamp&&(o.init(e),this.activate(o)):(a=r||(a=this._group[t])&&a.tuple,o=(i=e.dataflow).add(new da(e.fork(e.NO_SOURCE),this)).connect(n(i,t,a)),u[t]=o,this.activate(o)),o},ma.transform=function(t,n){var e=n.dataflow,r=this,i=t.key,a=t.subflow,u=this._keys,o=t.modified("key");function s(t){return r.subflow(t,a,n)}return this._group=t.group||{},this._targets.active=0,n.visit(n.REM,function(t){var n=Et(t),e=u.get(n);void 0!==e&&(u.delete(n),s(e).rem(t))}),n.visit(n.ADD,function(t){var n=i(t);u.set(Et(t),n),s(n).add(t)}),o||n.modified(i.fields)?n.visit(n.MOD,function(t){var n=Et(t),e=u.get(n),r=i(t);e===r?s(r).mod(t):(u.set(n,r),s(e).rem(t),s(r).add(t))}):n.changed(n.MOD)&&n.visit(n.MOD,function(t){s(u.get(Et(t))).mod(t)}),o&&n.visit(n.REFLOW,function(t){var n=Et(t),e=u.get(n),r=i(t);e!==r&&(u.set(n,r),s(e).rem(t),s(r).add(t))}),u.empty>e.cleanThreshold&&e.runAfter(u.clean),n},et(va,qt),xa.Definition={type:"Filter",metadata:{changes:!0},params:[{name:"expr",type:"expr",required:!0}]},et(xa,$r).transform=function(t,n){var e=n.dataflow,r=this.value,i=n.fork(),a=i.add,u=i.rem,o=i.mod,s=t.expr,l=!0;function c(n){var e=Et(n),i=s(n,t),c=r.get(e);i&&c?(r.delete(e),a.push(n)):i||c?l&&i&&!c&&o.push(n):(r.set(e,1),u.push(n))}return n.visit(n.REM,function(t){var n=Et(t);r.has(n)?r.delete(n):u.push(t)}),n.visit(n.ADD,function(n){s(n,t)?a.push(n):r.set(Et(n),1)}),n.visit(n.MOD,c),t.modified()&&(l=!1,n.visit(n.REFLOW,c)),r.empty>e.cleanThreshold&&e.runAfter(r.clean),i},ba.Definition={type:"Flatten",metadata:{generates:!0},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0}]},et(ba,$r).transform=function(t,n){var e=n.fork(n.NO_SOURCE),r=t.fields,i=_a(r,t.as||[]),a=i.length;return e.rem=this.value,n.visit(n.SOURCE,function(t){for(var n,u,o,s=r.map(function(n){return n(t)}),l=s.reduce(function(t,n){return Math.max(t,n.length)},0),c=0;c<l;++c){for(u=Ft(t),n=0;n<a;++n)u[i[n]]=null==(o=s[n][c])?null:o;e.add.push(u)}}),this.value=e.source=e.add,e.modifies(i)},wa.Definition={type:"Fold",metadata:{generates:!0},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0,length:2,default:["key","value"]}]},et(wa,$r).transform=function(t,n){var r=n.fork(n.NO_SOURCE),i=t.fields,a=i.map(e),u=t.as||["key","value"],o=u[0],s=u[1],l=i.length;return r.rem=this.value,n.visit(n.SOURCE,function(t){for(var n,e=0;e<l;++e)(n=Ft(t))[o]=a[e],n[s]=i[e](t),r.add.push(n)}),this.value=r.source=r.add,r.modifies(u)},Aa.Definition={type:"Formula",metadata:{modifies:!0},params:[{name:"expr",type:"expr",required:!0},{name:"as",type:"string",required:!0},{name:"initonly",type:"boolean"}]},et(Aa,$r).transform=function(t,n){var e=t.expr,r=t.as,i=t.modified(),a=t.initonly?n.ADD:i?n.SOURCE:n.modified(e.fields)?n.ADD_MOD:n.ADD;return i&&(n=n.materialize().reflow(!0)),t.initonly||n.modifies(r),n.visit(a,function(n){n[r]=e(n,t)})},et(Ma,$r).transform=function(t,n){var e,r,i,a=this.value,u=n.fork(n.ALL),o=t.size-a.length,s=t.generator;if(o>0){for(e=[];--o>=0;)e.push(i=Dt(s(t))),a.push(i);u.add=u.add.length?u.materialize(u.ADD).add.concat(e):e}else r=a.slice(0,-o),u.rem=u.rem.length?u.materialize(u.REM).rem.concat(r):r,a=a.slice(-o);return u.source=this.value=a,u};var ka={value:"value",median:xi,mean:function(t,n){let e=0,r=0;if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(++e,r+=n);else{let i=-1;for(let a of t)null!=(a=n(a,++i,t))&&(a=+a)>=a&&(++e,r+=a)}if(e)return r/e},min:function(t,n){let e;if(void 0===n)for(let n of t)null!=n&&n>=n&&(void 0===e||e>n)&&(e=n);else{let r=-1;for(let i of t)null!=(i=n(i,++r,t))&&i>=i&&(void 0===e||e>i)&&(e=i)}return e},max:function(t,n){let e;if(void 0===n)for(let n of t)null!=n&&n>=n&&(void 0===e||e<n)&&(e=n);else{let r=-1;for(let i of t)null!=(i=n(i,++r,t))&&i>=i&&(void 0===e||e<i)&&(e=i)}return e}},Ea=[];function Ca(t){$r.call(this,[],t)}function Da(t){Yi.call(this,t)}Ca.Definition={type:"Impute",metadata:{changes:!0},params:[{name:"field",type:"field",required:!0},{name:"key",type:"field",required:!0},{name:"keyvals",array:!0},{name:"groupby",type:"field",array:!0},{name:"method",type:"enum",default:"value",values:["value","mean","median","max","min"]},{name:"value",default:0}]},et(Ca,$r).transform=function(t,n){var r,a,u,o,s,l,c,f,h,d,p=n.fork(n.ALL),g=function(t){var n,e=t.method||ka.value;if(null!=ka[e])return e===ka.value?(n=void 0!==t.value?t.value:0,function(){return n}):ka[e];i("Unrecognized imputation method: "+e)}(t),m=function(t){var n=t.field;return function(t){return t?n(t):NaN}}(t),v=e(t.field),y=e(t.key),x=(t.groupby||[]).map(e),_=function(t,n,e,r){var i,a,u,o,s,l,c,f,h=function(t){return t(f)},d=[],p=r?r.slice():[],g={},m={};for(p.forEach(function(t,n){g[t]=n+1}),o=0,c=t.length;o<c;++o)f=t[o],l=e(f),s=g[l]||(g[l]=p.push(l)),a=(i=n?n.map(h):Ea)+"",(u=m[a])||(u=m[a]=[],d.push(u),u.values=i),u[s-1]=f;return d.domain=p,d}(n.source,t.groupby,t.key,t.keyvals),b=[],w=this.value,A=_.domain.length;for(s=0,f=_.length;s<f;++s)for(u=(r=_[s]).values,a=NaN,c=0;c<A;++c)if(null==r[c]){for(o=_.domain[c],d={_impute:!0},l=0,h=u.length;l<h;++l)d[x[l]]=u[l];d[y]=o,d[v]=isNaN(a)?a=g(r,m):a,b.push(Dt(d))}return b.length&&(p.add=p.materialize(p.ADD).add.concat(b)),w.length&&(p.rem=p.materialize(p.REM).rem.concat(w)),this.value=b,p},Da.Definition={type:"JoinAggregate",metadata:{modifies:!0},params:[{name:"groupby",type:"field",array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"ops",type:"enum",array:!0,values:Zr},{name:"as",type:"string",null:!0,array:!0},{name:"key",type:"field"}]};var Fa=et(Da,Yi);function Sa(t){$r.call(this,null,t)}function Ba(t){qt.call(this,null,Oa,t)}function Oa(t){return this.value&&!t.modified()?this.value:st(t.fields,t.flat)}function za(t){$r.call(this,[],t)}function Na(t,n,e){e.forEach(Dt);const r=n.fork(n.NO_FIELDS&n.NO_SOURCE);return r.rem=t.value,t.value=r.add=r.source=e,r}function Ta(t){$r.call(this,{},t)}function Ra(t){qt.call(this,null,Pa,t)}function Pa(t){if(this.value&&!t.modified())return this.value;var n,e,r,i=1/0,a=-1/0,u=t.extents;for(n=0,e=u.length;n<e;++n)(r=u[n])[0]<i&&(i=r[0]),r[1]>a&&(a=r[1]);return[i,a]}function La(t){qt.call(this,null,qa,t)}function qa(t){return this.value&&!t.modified()?this.value:t.values.reduce(function(t,n){return t.concat(n)},[])}function Ua(t){$r.call(this,null,t)}function ja(t){Yi.call(this,t)}Fa.transform=function(t,n){var e,r=this,i=t.modified();return r.value&&(i||n.modified(r._inputs))?(e=r.value=i?r.init(t):{},n.visit(n.SOURCE,function(t){r.add(t)})):(e=r.value=r.value||this.init(t),n.visit(n.REM,function(t){r.rem(t)}),n.visit(n.ADD,function(t){r.add(t)})),r.changes(),n.visit(n.SOURCE,function(t){Z(t,e[r.cellkey(t)].tuple)}),n.reflow(i).modifies(this._outputs)},Fa.changes=function(){var t,n,e=this._adds,r=this._mods;for(t=0,n=this._alen;t<n;++t)this.celltuple(e[t]),e[t]=null;for(t=0,n=this._mlen;t<n;++t)this.celltuple(r[t]),r[t]=null;this._alen=this._mlen=0},Sa.Definition={type:"KDE",metadata:{generates:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"cumulative",type:"boolean",default:!1},{name:"counts",type:"boolean",default:!1},{name:"bandwidth",type:"number",default:0},{name:"extent",type:"number",array:!0,length:2},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"as",type:"string",array:!0,default:["value","density"]}]},et(Sa,$r).transform=function(t,n){var r=n.fork(n.NO_SOURCE|n.NO_FIELDS);if(!this.value||n.changed()||t.modified()){const a=function(t,n,e){var r,i,a,u,o,s,l=[],c=function(t){return t(u)};if(null==n)l.push(t.map(e));else for(r={},i=0,a=t.length;i<a;++i)u=t[i],o=n.map(c),(s=r[o])||(r[o]=s=[],s.dims=o,l.push(s)),s.push(e(u));return l}(n.materialize(n.SOURCE).source,t.groupby,t.field),u=(t.groupby||[]).map(e),o=t.bandwidth,s=t.cumulative?"cdf":"pdf",l=t.steps||t.minsteps||25,c=t.steps||t.maxsteps||200,f=t.as||["value","density"],h=[];"pdf"!==s&&"cdf"!==s&&i("Invalid density method: "+s),a.forEach(n=>{const e=Ai(n,o)[s],r=t.counts?n.length:1;$i(e,t.extent||si(n),l,c).forEach(t=>{const e={};for(let t=0;t<u.length;++t)e[u[t]]=n.dims[t];e[f[0]]=t[0],e[f[1]]=t[1]*r,h.push(Dt(e))})}),this.value&&(r.rem=this.value),this.value=r.add=r.source=h}return r},et(Ba,qt),et(za,$r).transform=function(t,n){const e=n.dataflow;return t.values?Na(this,n,e.parse(t.values,t.format)):e.request(t.url,t.format).then(t=>Na(this,n,t.data||[]))},Ta.Definition={type:"Lookup",metadata:{modifies:!0},params:[{name:"index",type:"index",params:[{name:"from",type:"data",required:!0},{name:"key",type:"field",required:!0}]},{name:"values",type:"field",array:!0},{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0},{name:"default",default:null}]},et(Ta,$r).transform=function(t,n){var r,a,u=n,o=t.as,s=t.fields,l=t.index,c=t.values,f=null==t.default?null:t.default,h=t.modified(),d=h?n.SOURCE:n.ADD,p=s.length;return c?(a=c.length,p>1&&!o&&i('Multi-field lookup requires explicit "as" parameter.'),o&&o.length!==p*a&&i('The "as" parameter has too few output field names.'),o=o||c.map(e),r=function(t){for(var n,e,r=0,i=0;r<p;++r)if(null==(e=l.get(s[r](t))))for(n=0;n<a;++n,++i)t[o[i]]=f;else for(n=0;n<a;++n,++i)t[o[i]]=c[n](e)}):(o||i("Missing output field names."),r=function(t){for(var n,e=0;e<p;++e)n=l.get(s[e](t)),t[o[e]]=null==n?f:n}),h?u=n.reflow(!0):d|=s.some(function(t){return n.modified(t.fields)})?n.MOD:0,n.visit(d,r),u.modifies(o)},et(Ra,qt),et(La,qt),et(Ua,$r),Ua.prototype.transform=function(t,n){return this.modified(t.modified()),this.value=t,n.fork(n.NO_SOURCE|n.NO_FIELDS)},ja.Definition={type:"Pivot",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"value",type:"field",required:!0},{name:"op",type:"enum",values:Zr,default:"sum"},{name:"limit",type:"number",default:0},{name:"key",type:"field"}]};var $a=et(ja,Yi);function Ia(t){ga.call(this,t)}function Wa(t){$r.call(this,null,t)}function Ha(t){$r.call(this,null,t)}function Ya(t){$r.call(this,null,t)}function Ga(t){$r.call(this,[],t),this.count=0}function Va(t){$r.call(this,null,t)}function Xa(t){$r.call(this,null,t),this.modified(!0)}function Za(t){$r.call(this,tt(),t)}function Ja(t){$r.call(this,null,t)}$a._transform=$a.transform,$a.transform=function(t,e){return this._transform(function(t,e){var i=t.field,a=t.value,u=("count"===t.op?"__count__":t.op)||"sum",o=r(i).concat(r(a)),s=function(t,n,e){var r={},i=[];return e.visit(e.SOURCE,function(n){var e=t(n);r[e]||(r[e]=1,i.push(e))}),i.sort(function(t,n){return(t<n||null==t)&&null!=n?-1:(t>n||null==n)&&null!=t?1:(n=n instanceof Date?+n:n,(t=t instanceof Date?+t:t)!==t&&n==n?-1:n!=n&&t==t?1:0)}),n?i.slice(0,n):i}(i,t.limit||0,e);return{key:t.key,groupby:t.groupby,ops:s.map(function(){return u}),fields:s.map(function(t){return function(t,e,r,i){return n(function(n){return e(n)===t?r(n):NaN},i,t+"")}(t,i,a,o)}),as:s.map(function(t){return t+""}),modified:t.modified.bind(t)}}(t,e),e)},et(Ia,ga).transform=function(t,n){var e=this,a=t.subflow,u=t.field;return(t.modified("field")||u&&n.modified(r(u)))&&i("PreFacet does not support field modification."),this._targets.active=0,n.visit(n.MOD,function(t){var r=e.subflow(Et(t),a,n,t);u?u(t).forEach(function(t){r.mod(t)}):r.mod(t)}),n.visit(n.ADD,function(t){var r=e.subflow(Et(t),a,n,t);u?u(t).forEach(function(t){r.add(Dt(t))}):r.add(t)}),n.visit(n.REM,function(t){var r=e.subflow(Et(t),a,n,t);u?u(t).forEach(function(t){r.rem(t)}):r.rem(t)}),n},Wa.Definition={type:"Project",metadata:{generates:!0,changes:!0},params:[{name:"fields",type:"field",array:!0},{name:"as",type:"string",null:!0,array:!0}]},et(Wa,$r).transform=function(t,n){var e,r,i=t.fields,a=_a(t.fields,t.as||[]),u=i?function(t,n){return function(t,n,e,r){for(var i=0,a=e.length;i<a;++i)n[r[i]]=e[i](t);return n}(t,n,i,a)}:St;return this.value?r=this.value:(n=n.addAll(),r=this.value={}),e=n.fork(n.NO_SOURCE),n.visit(n.REM,function(t){var n=Et(t);e.rem.push(r[n]),r[n]=null}),n.visit(n.ADD,function(t){var n=u(t,Dt({}));r[Et(t)]=n,e.add.push(n)}),n.visit(n.MOD,function(t){e.mod.push(u(t,r[Et(t)]))}),e},et(Ha,$r).transform=function(t,n){return this.value=t.value,t.modified("value")?n.fork(n.NO_SOURCE|n.NO_FIELDS):n.StopPropagation},et(Ya,$r).transform=function(t,n){var e,r;return this.value?r=this.value:(e=n=n.addAll(),r=this.value={}),t.derive&&(e=n.fork(n.NO_SOURCE),n.visit(n.REM,function(t){var n=Et(t);e.rem.push(r[n]),r[n]=null}),n.visit(n.ADD,function(t){var n=Ft(t);r[Et(t)]=n,e.add.push(n)}),n.visit(n.MOD,function(t){e.mod.push(St(t,r[Et(t)]))})),e},Ga.Definition={type:"Sample",metadata:{},params:[{name:"size",type:"number",default:1e3}]},et(Ga,$r).transform=function(n,e){var r=e.fork(e.NO_SOURCE),i=n.modified("size"),a=n.size,u=this.value,o=this.count,s=0,l=u.reduce(function(t,n){return t[Et(n)]=1,t},{});function c(n){var e,i;u.length<a?u.push(n):(i=~~((o+1)*t.random()))<u.length&&i>=s&&(e=u[i],l[Et(e)]&&r.rem.push(e),u[i]=n),++o}if(e.rem.length&&(e.visit(e.REM,function(t){var n=Et(t);l[n]&&(l[n]=-1,r.rem.push(t)),--o}),u=u.filter(function(t){return-1!==l[Et(t)]})),(e.rem.length||i)&&u.length<a&&e.source&&(s=o=u.length,e.visit(e.SOURCE,function(t){l[Et(t)]||c(t)}),s=-1),i&&u.length>a){for(var f=0,h=u.length-a;f<h;++f)l[Et(u[f])]=-1,r.rem.push(u[f]);u=u.slice(h)}return e.mod.length&&e.visit(e.MOD,function(t){l[Et(t)]&&r.mod.push(t)}),e.add.length&&e.visit(e.ADD,c),(e.add.length||s<0)&&(r.add=u.filter(function(t){return!l[Et(t)]})),this.count=o,this.value=r.source=u,r},Va.Definition={type:"Sequence",metadata:{changes:!0},params:[{name:"start",type:"number",required:!0},{name:"stop",type:"number",required:!0},{name:"step",type:"number",default:1},{name:"as",type:"string",default:"data"}]},et(Va,$r).transform=function(t,n){if(!this.value||t.modified()){var e=n.materialize().fork(n.MOD),r=t.as||"data";return e.rem=this.value?n.rem.concat(this.value):n.rem,this.value=li(t.start,t.stop,t.step||1).map(function(t){var n={};return n[r]=t,Dt(n)}),e.add=n.add.concat(this.value),e}},et(Xa,$r).transform=function(t,n){return this.value=n.source,n.changed()?n.fork(n.NO_SOURCE|n.NO_FIELDS):n.StopPropagation},et(Za,$r).transform=function(t,n){var e=n.dataflow,r=t.field,i=this.value,a=!0;function u(t){i.set(r(t),t)}return t.modified("field")||n.modified(r.fields)?(i.clear(),n.visit(n.SOURCE,u)):n.changed()?(n.visit(n.REM,function(t){i.delete(r(t))}),n.visit(n.ADD,u)):a=!1,this.modified(a),i.empty>e.cleanThreshold&&e.runAfter(i.clean),n.fork()},et(Ja,$r).transform=function(t,n){(!this.value||t.modified("field")||t.modified("sort")||n.changed()||t.sort&&n.modified(t.sort.fields))&&(this.value=(t.sort?n.source.slice().sort(t.sort):n.source).map(t.field))};const Qa={row_number:function(){return{next:t=>t.index+1}},rank:function(){let t;return{init:()=>t=1,next:n=>{let e=n.index,r=n.data;return e&&n.compare(r[e-1],r[e])?t=e+1:t}}},dense_rank:function(){let t;return{init:()=>t=1,next:n=>{let e=n.index,r=n.data;return e&&n.compare(r[e-1],r[e])?++t:t}}},percent_rank:function(){let t=Qa.rank(),n=t.next;return{init:t.init,next:t=>(n(t)-1)/(t.data.length-1)}},cume_dist:function(){let t;return{init:()=>t=0,next:n=>{let e=n.index,r=n.data,i=n.compare;if(t<e){for(;e+1<r.length&&!i(r[e],r[e+1]);)++e;t=e}return(1+t)/r.length}}},ntile:function(t,n){(n=+n)>0||i("ntile num must be greater than zero.");let e=Qa.cume_dist(),r=e.next;return{init:e.init,next:t=>Math.ceil(n*r(t))}},lag:function(t,n){return n=+n||1,{next:e=>{let r=e.index-n;return r>=0?t(e.data[r]):null}}},lead:function(t,n){return n=+n||1,{next:e=>{let r=e.index+n,i=e.data;return r<i.length?t(i[r]):null}}},first_value:function(t){return{next:n=>t(n.data[n.i0])}},last_value:function(t){return{next:n=>t(n.data[n.i1-1])}},nth_value:function(t,n){return(n=+n)>0||i("nth_value nth must be greater than zero."),{next:e=>{let r=e.i0+(n-1);return r<e.i1?t(e.data[r]):null}}},prev_value:function(t){let n=null;return{next:e=>{let r=t(e.data[e.index]);return null!=r?n=r:n}}},next_value:function(t){let n=null,e=-1;return{next:r=>{let i=r.data;return r.index<=e?n:(e=function(t,n,e){for(let r=n.length;e<r;++e){let r=t(n[e]);if(null!=r)return e}return-1}(t,i,r.index))<0?(e=i.length,n=null):n=t(i[e])}}}};var Ka=Object.keys(Qa);function tu(t){let n=this,a=W(t.ops),u=W(t.fields),o=W(t.params),s=W(t.as),l=n.outputs=[],c=n.windows=[],f={},h={},d=!0,g=[],m=[];function v(t){W(r(t)).forEach(t=>f[t]=1)}v(t.sort),a.forEach(function(t,n){let r=u[n],a=e(r),f=Vr(t,a,s[n]);if(v(r),l.push(f),Qa.hasOwnProperty(t))c.push(function(t,n,e,r){let i=Qa[t](n,e);return{init:i.init||p,update:function(t,n){n[r]=i.next(t)}}}(t,u[n],o[n],f));else{if(null==r&&"count"!==t&&i("Null aggregate field specified."),"count"===t)return void g.push(f);d=!1;let n=h[a];n||((n=h[a]=[]).field=r,m.push(n)),n.push(Jr(t,f))}}),(g.length||m.length)&&(n.cell=function(t,n,e){t=t.map(t=>ti(t,t.field));let r={num:0,agg:null,store:!1,count:n};if(!e)for(var i=t.length,a=r.agg=Array(i),u=0;u<i;++u)a[u]=new t[u](r);if(r.store)var o=r.data=new Wi;return r.add=function(t){if(r.num+=1,!e){o&&o.add(t);for(let n=0;n<i;++n)a[n].add(a[n].get(t),t)}},r.rem=function(t){if(r.num-=1,!e){o&&o.rem(t);for(let n=0;n<i;++n)a[n].rem(a[n].get(t),t)}},r.set=function(t){let i,u;for(o&&o.values(),i=0,u=n.length;i<u;++i)t[n[i]]=r.num;if(!e)for(i=0,u=a.length;i<u;++i)a[i].set(t)},r.init=function(){r.num=0,o&&o.reset();for(let t=0;t<i;++t)a[t].init()},r}(m,g,d)),n.inputs=Object.keys(f)}const nu=tu.prototype;function eu(t){$r.call(this,{},t),this._mlen=0,this._mods=[]}nu.init=function(){this.windows.forEach(t=>t.init()),this.cell&&this.cell.init()},nu.update=function(t,n){let e,r=this.cell,i=this.windows,a=t.data,u=i&&i.length;if(r){for(e=t.p0;e<t.i0;++e)r.rem(a[e]);for(e=t.p1;e<t.i1;++e)r.add(a[e]);r.set(n)}for(e=0;e<u;++e)i[e].update(t,n)},eu.Definition={type:"Window",metadata:{modifies:!0},params:[{name:"sort",type:"compare"},{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:Ka.concat(Zr)},{name:"params",type:"number",null:!0,array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"as",type:"string",null:!0,array:!0},{name:"frame",type:"number",null:!0,array:!0,length:2,default:[null,0]},{name:"ignorePeers",type:"boolean",default:!1}]};var ru=et(eu,$r);function iu(t,n,e){var r=e.sort,i=r&&!e.ignorePeers,a=e.frame||[null,0],u=t.data(r),o=u.length,s=0,l=i?ii(r):null,c={i0:0,i1:0,p0:0,p1:0,index:0,data:u,compare:r||V(-1)};for(n.init();s<o;++s)au(c,a,s,o),i&&uu(c,l),n.update(c,u[s])}function au(t,n,e,r){t.p0=t.i0,t.p1=t.i1,t.i0=null==n[0]?0:Math.max(0,e-Math.abs(n[0])),t.i1=null==n[1]?r:Math.min(r,e+Math.abs(n[1])+1),t.index=e}function uu(t,n){var e=t.i0,r=t.i1-1,i=t.compare,a=t.data,u=a.length-1;e>0&&!i(a[e],a[e-1])&&(t.i0=n.left(a,a[e])),r<u&&!i(a[r],a[r+1])&&(t.i1=n.right(a,a[r]))}ru.transform=function(t,n){var e,r,i=this,a=i.state,u=t.modified();this.stamp=n.stamp,a&&!u||(a=i.state=new tu(t));var o=Gr(t.groupby);function s(t){return i.group(o(t))}for(u||n.modified(a.inputs)?(i.value={},n.visit(n.SOURCE,function(t){s(t).add(t)})):(n.visit(n.REM,function(t){s(t).remove(t)}),n.visit(n.ADD,function(t){s(t).add(t)})),e=0,r=i._mlen;e<r;++e)iu(i._mods[e],a,t);return i._mlen=0,i._mods=[],n.reflow(u).modifies(a.outputs)},ru.group=function(t){var n=this.value[t];return n||((n=this.value[t]=Zi(Et)).stamp=-1),n.stamp<this.stamp&&(n.stamp=this.stamp,this._mods[this._mlen++]=n),n};var ou=Object.freeze({aggregate:Yi,bin:Vi,collect:Ji,compare:Qi,countpattern:ta,cross:ea,density:oa,expression:ca,extent:ha,facet:ga,field:va,filter:xa,flatten:ba,fold:wa,formula:Aa,generate:Ma,impute:Ca,joinaggregate:Da,kde:Sa,key:Ba,load:za,lookup:Ta,multiextent:Ra,multivalues:La,params:Ua,pivot:ja,prefacet:Ia,project:Wa,proxy:Ha,relay:Ya,sample:Ga,sequence:Va,sieve:Xa,subflow:da,tupleindex:Za,values:Ja,window:eu});const su="top",lu="left",cu="right",fu="bottom",hu="top-left",du="top-right",pu="bottom-left",gu="bottom-right",mu="start",vu="middle",yu="end",xu="x",_u="y",bu="group",wu="axis",Au="title",Mu="frame",ku="scope",Eu="legend",Cu="row-header",Du="row-footer",Fu="row-title",Su="column-header",Bu="column-footer",Ou="column-title",zu="padding",Nu="symbol",Tu="fit",Ru="fit-x",Pu="fit-y",Lu="pad",qu="none",Uu="all",ju="each",$u="flush",Iu="column",Wu="row";function Hu(t){this.clear(),t&&this.union(t)}var Yu=Hu.prototype;Yu.clone=function(){return new Hu(this)},Yu.clear=function(){return this.x1=+Number.MAX_VALUE,this.y1=+Number.MAX_VALUE,this.x2=-Number.MAX_VALUE,this.y2=-Number.MAX_VALUE,this},Yu.empty=function(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},Yu.equals=function(t){return this.x1===t.x1&&this.y1===t.y1&&this.x2===t.x2&&this.y2===t.y2},Yu.set=function(t,n,e,r){return e<t?(this.x2=t,this.x1=e):(this.x1=t,this.x2=e),r<n?(this.y2=n,this.y1=r):(this.y1=n,this.y2=r),this},Yu.add=function(t,n){return t<this.x1&&(this.x1=t),n<this.y1&&(this.y1=n),t>this.x2&&(this.x2=t),n>this.y2&&(this.y2=n),this},Yu.expand=function(t){return this.x1-=t,this.y1-=t,this.x2+=t,this.y2+=t,this},Yu.round=function(){return this.x1=Math.floor(this.x1),this.y1=Math.floor(this.y1),this.x2=Math.ceil(this.x2),this.y2=Math.ceil(this.y2),this},Yu.translate=function(t,n){return this.x1+=t,this.x2+=t,this.y1+=n,this.y2+=n,this},Yu.rotate=function(t,n,e){const r=this.rotatedPoints(t,n,e);return this.clear().add(r[0],r[1]).add(r[2],r[3]).add(r[4],r[5]).add(r[6],r[7])},Yu.rotatedPoints=function(t,n,e){var{x1:r,y1:i,x2:a,y2:u}=this,o=Math.cos(t),s=Math.sin(t),l=n-n*o+e*s,c=e-n*s-e*o;return[o*r-s*i+l,s*r+o*i+c,o*r-s*u+l,s*r+o*u+c,o*a-s*i+l,s*a+o*i+c,o*a-s*u+l,s*a+o*u+c]},Yu.union=function(t){return t.x1<this.x1&&(this.x1=t.x1),t.y1<this.y1&&(this.y1=t.y1),t.x2>this.x2&&(this.x2=t.x2),t.y2>this.y2&&(this.y2=t.y2),this},Yu.intersect=function(t){return t.x1>this.x1&&(this.x1=t.x1),t.y1>this.y1&&(this.y1=t.y1),t.x2<this.x2&&(this.x2=t.x2),t.y2<this.y2&&(this.y2=t.y2),this},Yu.encloses=function(t){return t&&this.x1<=t.x1&&this.x2>=t.x2&&this.y1<=t.y1&&this.y2>=t.y2},Yu.alignsWith=function(t){return t&&(this.x1==t.x1||this.x2==t.x2||this.y1==t.y1||this.y2==t.y2)},Yu.intersects=function(t){return t&&!(this.x2<t.x1||this.x1>t.x2||this.y2<t.y1||this.y1>t.y2)},Yu.contains=function(t,n){return!(t<this.x1||t>this.x2||n<this.y1||n>this.y2)},Yu.width=function(){return this.x2-this.x1},Yu.height=function(){return this.y2-this.y1};var Gu=0;const Vu="p_";function Xu(t){return t&&t.gradient}function Zu(t,n,e){let r=t.id,i=t.gradient,a="radial"===i?Vu:"";return r||(r=t.id="gradient_"+Gu++,"radial"===i?(t.x1=Ju(t.x1,.5),t.y1=Ju(t.y1,.5),t.r1=Ju(t.r1,0),t.x2=Ju(t.x2,.5),t.y2=Ju(t.y2,.5),t.r2=Ju(t.r2,.5),a=Vu):(t.x1=Ju(t.x1,0),t.y1=Ju(t.y1,0),t.x2=Ju(t.x2,1),t.y2=Ju(t.y2,0))),n[r]=t,"url("+(e||"")+"#"+a+r+")"}function Ju(t,n){return null!=t?t:n}function Qu(t,n){var e,r=[];return e={gradient:"linear",x1:t?t[0]:0,y1:t?t[1]:0,x2:n?n[0]:1,y2:n?n[1]:0,stops:r,stop:function(t,n){return r.push({offset:t,color:n}),e}}}function Ku(t){this.mark=t,this.bounds=this.bounds||new Hu}function to(t){Ku.call(this,t),this.items=this.items||[]}function no(t,n){if("undefined"!=typeof document&&document.createElement){var e=document.createElement("canvas");if(e&&e.getContext)return e.width=t,e.height=n,e}return null}function eo(){return"undefined"!=typeof Image?Image:null}function ro(t){this._pending=0,this._loader=t||wr()}et(to,Ku);var io=ro.prototype;function ao(t){t._pending+=1}function uo(t){t._pending-=1}io.pending=function(){return this._pending},io.sanitizeURL=function(t){var n=this;return ao(n),n._loader.sanitize(t,{context:"href"}).then(function(t){return uo(n),t}).catch(function(){return uo(n),null})},io.loadImage=function(t){var n=this,e=eo();return ao(n),n._loader.sanitize(t,{context:"image"}).then(function(t){var r=t.href;if(!r||!e)throw{url:r};var i=new e;return i.onload=function(){uo(n),i.loaded=!0},i.onerror=function(){uo(n),i.loaded=!1},i.src=r,i}).catch(function(t){return uo(n),{loaded:!1,width:0,height:0,src:t&&t.url||""}})},io.ready=function(){var t=this;return new Promise(function(n){!function e(r){t.pending()?setTimeout(function(){e(!0)},10):n(r)}(!1)})};var oo=Math.PI,so=2*oo,lo=so-1e-6;function co(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function fo(){return new co}function ho(t){return function(){return t}}co.prototype=fo.prototype={constructor:co,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,e,r){this._+="Q"+ +t+","+ +n+","+(this._x1=+e)+","+(this._y1=+r)},bezierCurveTo:function(t,n,e,r,i,a){this._+="C"+ +t+","+ +n+","+ +e+","+ +r+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,n,e,r,i){t=+t,n=+n,e=+e,r=+r,i=+i;var a=this._x1,u=this._y1,o=e-t,s=r-n,l=a-t,c=u-n,f=l*l+c*c;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(f>1e-6)if(Math.abs(c*o-s*l)>1e-6&&i){var h=e-a,d=r-u,p=o*o+s*s,g=h*h+d*d,m=Math.sqrt(p),v=Math.sqrt(f),y=i*Math.tan((oo-Math.acos((p+f-g)/(2*m*v)))/2),x=y/v,_=y/m;Math.abs(x-1)>1e-6&&(this._+="L"+(t+x*l)+","+(n+x*c)),this._+="A"+i+","+i+",0,0,"+ +(c*h>l*d)+","+(this._x1=t+_*o)+","+(this._y1=n+_*s)}else this._+="L"+(this._x1=t)+","+(this._y1=n);else;},arc:function(t,n,e,r,i,a){t=+t,n=+n;var u=(e=+e)*Math.cos(r),o=e*Math.sin(r),s=t+u,l=n+o,c=1^a,f=a?r-i:i-r;if(e<0)throw new Error("negative radius: "+e);null===this._x1?this._+="M"+s+","+l:(Math.abs(this._x1-s)>1e-6||Math.abs(this._y1-l)>1e-6)&&(this._+="L"+s+","+l),e&&(f<0&&(f=f%so+so),f>lo?this._+="A"+e+","+e+",0,1,"+c+","+(t-u)+","+(n-o)+"A"+e+","+e+",0,1,"+c+","+(this._x1=s)+","+(this._y1=l):f>1e-6&&(this._+="A"+e+","+e+",0,"+ +(f>=oo)+","+c+","+(this._x1=t+e*Math.cos(i))+","+(this._y1=n+e*Math.sin(i))))},rect:function(t,n,e,r){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +e+"v"+ +r+"h"+-e+"Z"},toString:function(){return this._}};var po=Math.abs,go=Math.atan2,mo=Math.cos,vo=Math.max,yo=Math.min,xo=Math.sin,_o=Math.sqrt,bo=1e-12,wo=Math.PI,Ao=wo/2,Mo=2*wo;function ko(t){return t>=1?Ao:t<=-1?-Ao:Math.asin(t)}function Eo(t){return t.innerRadius}function Co(t){return t.outerRadius}function Do(t){return t.startAngle}function Fo(t){return t.endAngle}function So(t){return t&&t.padAngle}function Bo(t,n,e,r,i,a,u){var o=t-e,s=n-r,l=(u?a:-a)/_o(o*o+s*s),c=l*s,f=-l*o,h=t+c,d=n+f,p=e+c,g=r+f,m=(h+p)/2,v=(d+g)/2,y=p-h,x=g-d,_=y*y+x*x,b=i-a,w=h*g-p*d,A=(x<0?-1:1)*_o(vo(0,b*b*_-w*w)),M=(w*x-y*A)/_,k=(-w*y-x*A)/_,E=(w*x+y*A)/_,C=(-w*y+x*A)/_,D=M-m,F=k-v,S=E-m,B=C-v;return D*D+F*F>S*S+B*B&&(M=E,k=C),{cx:M,cy:k,x01:-c,y01:-f,x11:M*(i/b-1),y11:k*(i/b-1)}}function Oo(t){this._context=t}function zo(t){return new Oo(t)}function No(t){return t[0]}function To(t){return t[1]}function Ro(){var t=No,n=To,e=ho(!0),r=null,i=zo,a=null;function u(u){var o,s,l,c=u.length,f=!1;for(null==r&&(a=i(l=fo())),o=0;o<=c;++o)!(o<c&&e(s=u[o],o,u))===f&&((f=!f)?a.lineStart():a.lineEnd()),f&&a.point(+t(s,o,u),+n(s,o,u));if(l)return a=null,l+""||null}return u.x=function(n){return arguments.length?(t="function"==typeof n?n:ho(+n),u):t},u.y=function(t){return arguments.length?(n="function"==typeof t?t:ho(+t),u):n},u.defined=function(t){return arguments.length?(e="function"==typeof t?t:ho(!!t),u):e},u.curve=function(t){return arguments.length?(i=t,null!=r&&(a=i(r)),u):i},u.context=function(t){return arguments.length?(null==t?r=a=null:a=i(r=t),u):r},u}function Po(){var t=No,n=null,e=ho(0),r=To,i=ho(!0),a=null,u=zo,o=null;function s(s){var l,c,f,h,d,p=s.length,g=!1,m=new Array(p),v=new Array(p);for(null==a&&(o=u(d=fo())),l=0;l<=p;++l){if(!(l<p&&i(h=s[l],l,s))===g)if(g=!g)c=l,o.areaStart(),o.lineStart();else{for(o.lineEnd(),o.lineStart(),f=l-1;f>=c;--f)o.point(m[f],v[f]);o.lineEnd(),o.areaEnd()}g&&(m[l]=+t(h,l,s),v[l]=+e(h,l,s),o.point(n?+n(h,l,s):m[l],r?+r(h,l,s):v[l]))}if(d)return o=null,d+""||null}function l(){return Ro().defined(i).curve(u).context(a)}return s.x=function(e){return arguments.length?(t="function"==typeof e?e:ho(+e),n=null,s):t},s.x0=function(n){return arguments.length?(t="function"==typeof n?n:ho(+n),s):t},s.x1=function(t){return arguments.length?(n=null==t?null:"function"==typeof t?t:ho(+t),s):n},s.y=function(t){return arguments.length?(e="function"==typeof t?t:ho(+t),r=null,s):e},s.y0=function(t){return arguments.length?(e="function"==typeof t?t:ho(+t),s):e},s.y1=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:ho(+t),s):r},s.lineX0=s.lineY0=function(){return l().x(t).y(e)},s.lineY1=function(){return l().x(t).y(r)},s.lineX1=function(){return l().x(n).y(e)},s.defined=function(t){return arguments.length?(i="function"==typeof t?t:ho(!!t),s):i},s.curve=function(t){return arguments.length?(u=t,null!=a&&(o=u(a)),s):u},s.context=function(t){return arguments.length?(null==t?a=o=null:o=u(a=t),s):a},s}Oo.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:this._context.lineTo(t,n)}}};var Lo={draw:function(t,n){var e=Math.sqrt(n/wo);t.moveTo(e,0),t.arc(0,0,e,0,Mo)}};function qo(){}function Uo(t,n,e){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+n)/6,(t._y0+4*t._y1+e)/6)}function jo(t){this._context=t}function $o(t){this._context=t}function Io(t){this._context=t}function Wo(t,n){this._basis=new jo(t),this._beta=n}jo.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Uo(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Uo(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},$o.prototype={areaStart:qo,areaEnd:qo,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x2=t,this._y2=n;break;case 1:this._point=2,this._x3=t,this._y3=n;break;case 2:this._point=3,this._x4=t,this._y4=n,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+n)/6);break;default:Uo(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},Io.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var e=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+n)/6;this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break;case 3:this._point=4;default:Uo(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},Wo.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,n=this._y,e=t.length-1;if(e>0)for(var r,i=t[0],a=n[0],u=t[e]-i,o=n[e]-a,s=-1;++s<=e;)r=s/e,this._basis.point(this._beta*t[s]+(1-this._beta)*(i+r*u),this._beta*n[s]+(1-this._beta)*(a+r*o));this._x=this._y=null,this._basis.lineEnd()},point:function(t,n){this._x.push(+t),this._y.push(+n)}};var Ho=function t(n){function e(t){return 1===n?new jo(t):new Wo(t,n)}return e.beta=function(n){return t(+n)},e}(.85);function Yo(t,n,e){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-n),t._y2+t._k*(t._y1-e),t._x2,t._y2)}function Go(t,n){this._context=t,this._k=(1-n)/6}Go.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Yo(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2,this._x1=t,this._y1=n;break;case 2:this._point=3;default:Yo(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Vo=function t(n){function e(t){return new Go(t,n)}return e.tension=function(n){return t(+n)},e}(0);function Xo(t,n){this._context=t,this._k=(1-n)/6}Xo.prototype={areaStart:qo,areaEnd:qo,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:Yo(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Zo=function t(n){function e(t){return new Xo(t,n)}return e.tension=function(n){return t(+n)},e}(0);function Jo(t,n){this._context=t,this._k=(1-n)/6}Jo.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Yo(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Qo=function t(n){function e(t){return new Jo(t,n)}return e.tension=function(n){return t(+n)},e}(0);function Ko(t,n,e){var r=t._x1,i=t._y1,a=t._x2,u=t._y2;if(t._l01_a>bo){var o=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,s=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*o-t._x0*t._l12_2a+t._x2*t._l01_2a)/s,i=(i*o-t._y0*t._l12_2a+t._y2*t._l01_2a)/s}if(t._l23_a>bo){var l=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,c=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*l+t._x1*t._l23_2a-n*t._l12_2a)/c,u=(u*l+t._y1*t._l23_2a-e*t._l12_2a)/c}t._context.bezierCurveTo(r,i,a,u,t._x2,t._y2)}function ts(t,n){this._context=t,this._alpha=n}ts.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3;default:Ko(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var ns=function t(n){function e(t){return n?new ts(t,n):new Go(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function es(t,n){this._context=t,this._alpha=n}es.prototype={areaStart:qo,areaEnd:qo,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:Ko(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var rs=function t(n){function e(t){return n?new es(t,n):new Xo(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function is(t,n){this._context=t,this._alpha=n}is.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Ko(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var as=function t(n){function e(t){return n?new is(t,n):new Jo(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function us(t){this._context=t}function os(t){return t<0?-1:1}function ss(t,n,e){var r=t._x1-t._x0,i=n-t._x1,a=(t._y1-t._y0)/(r||i<0&&-0),u=(e-t._y1)/(i||r<0&&-0),o=(a*i+u*r)/(r+i);return(os(a)+os(u))*Math.min(Math.abs(a),Math.abs(u),.5*Math.abs(o))||0}function ls(t,n){var e=t._x1-t._x0;return e?(3*(t._y1-t._y0)/e-n)/2:n}function cs(t,n,e){var r=t._x0,i=t._y0,a=t._x1,u=t._y1,o=(a-r)/3;t._context.bezierCurveTo(r+o,i+o*n,a-o,u-o*e,a,u)}function fs(t){this._context=t}function hs(t){this._context=new ds(t)}function ds(t){this._context=t}function ps(t){this._context=t}function gs(t){var n,e,r=t.length-1,i=new Array(r),a=new Array(r),u=new Array(r);for(i[0]=0,a[0]=2,u[0]=t[0]+2*t[1],n=1;n<r-1;++n)i[n]=1,a[n]=4,u[n]=4*t[n]+2*t[n+1];for(i[r-1]=2,a[r-1]=7,u[r-1]=8*t[r-1]+t[r],n=1;n<r;++n)e=i[n]/a[n-1],a[n]-=e,u[n]-=e*u[n-1];for(i[r-1]=u[r-1]/a[r-1],n=r-2;n>=0;--n)i[n]=(u[n]-i[n+1])/a[n];for(a[r-1]=(t[r]+i[r-1])/2,n=0;n<r-1;++n)a[n]=2*t[n+1]-i[n+1];return[i,a]}function ms(t,n){this._context=t,this._t=n}us.prototype={areaStart:qo,areaEnd:qo,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,n){t=+t,n=+n,this._point?this._context.lineTo(t,n):(this._point=1,this._context.moveTo(t,n))}},fs.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:cs(this,this._t0,ls(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){var e=NaN;if(n=+n,(t=+t)!==this._x1||n!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,cs(this,ls(this,e=ss(this,t,n)),e);break;default:cs(this,this._t0,e=ss(this,t,n))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n,this._t0=e}}},(hs.prototype=Object.create(fs.prototype)).point=function(t,n){fs.prototype.point.call(this,n,t)},ds.prototype={moveTo:function(t,n){this._context.moveTo(n,t)},closePath:function(){this._context.closePath()},lineTo:function(t,n){this._context.lineTo(n,t)},bezierCurveTo:function(t,n,e,r,i,a){this._context.bezierCurveTo(n,t,r,e,a,i)}},ps.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,n=this._y,e=t.length;if(e)if(this._line?this._context.lineTo(t[0],n[0]):this._context.moveTo(t[0],n[0]),2===e)this._context.lineTo(t[1],n[1]);else for(var r=gs(t),i=gs(n),a=0,u=1;u<e;++a,++u)this._context.bezierCurveTo(r[0][a],i[0][a],r[1][a],i[1][a],t[u],n[u]);(this._line||0!==this._line&&1===e)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,n){this._x.push(+t),this._y.push(+n)}},ms.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,n),this._context.lineTo(t,n);else{var e=this._x*(1-this._t)+t*this._t;this._context.lineTo(e,this._y),this._context.lineTo(e,n)}}this._x=t,this._y=n}};var vs={basis:{curve:function(t){return new jo(t)}},"basis-closed":{curve:function(t){return new $o(t)}},"basis-open":{curve:function(t){return new Io(t)}},bundle:{curve:Ho,tension:"beta",value:.85},cardinal:{curve:Vo,tension:"tension",value:0},"cardinal-open":{curve:Qo,tension:"tension",value:0},"cardinal-closed":{curve:Zo,tension:"tension",value:0},"catmull-rom":{curve:ns,tension:"alpha",value:.5},"catmull-rom-closed":{curve:rs,tension:"alpha",value:.5},"catmull-rom-open":{curve:as,tension:"alpha",value:.5},linear:{curve:zo},"linear-closed":{curve:function(t){return new us(t)}},monotone:{horizontal:function(t){return new hs(t)},vertical:function(t){return new fs(t)}},natural:{curve:function(t){return new ps(t)}},step:{curve:function(t){return new ms(t,.5)}},"step-after":{curve:function(t){return new ms(t,1)}},"step-before":{curve:function(t){return new ms(t,0)}}};function ys(t,n,e){var r=vs.hasOwnProperty(t)&&vs[t],i=null;return r&&(i=r.curve||r[n||"vertical"],r.tension&&null!=e&&(i=i[r.tension](e))),i}var xs={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7},_s=[/([MLHVCSQTAZmlhvcsqtaz])/g,/###/,/(\d)([-+])/g,/\s|,|###/];function bs(t){var n,e,r,i,a,u,o,s,l,c,f,h=[];for(s=0,c=(n=t.slice().replace(_s[0],"###$1").split(_s[1]).slice(1)).length;s<c;++s){for(r=(e=n[s]).slice(1).trim().replace(_s[2],"$1###$2").split(_s[3]),i=[u=e.charAt(0)],l=0,f=r.length;l<f;++l)(a=+r[l])===a&&i.push(a);if(o=xs[u.toLowerCase()],i.length-1>o)for(l=1,f=i.length;l<f;l+=o)h.push([u].concat(i.slice(l,l+o)));else h.push(i)}return h}var ws=Math.PI/180,As=Math.PI/2,Ms=2*Math.PI,ks=Math.sqrt(3)/2,Es={},Cs={},Ds=[].join;function Fs(t){var n=Ds.call(t);if(Cs[n])return Cs[n];var e=t[0],r=t[1],i=t[2],a=t[3],u=t[4],o=t[5],s=t[6],l=t[7],c=l*u,f=-s*o,h=s*u,d=l*o,p=Math.cos(i),g=Math.sin(i),m=Math.cos(a),v=Math.sin(a),y=.5*(a-i),x=Math.sin(.5*y),_=8/3*x*x/Math.sin(y),b=e+p-_*g,w=r+g+_*p,A=e+m,M=r+v,k=A+_*v,E=M-_*m;return Cs[n]=[c*b+f*w,h*b+d*w,c*k+f*E,h*k+d*E,c*A+f*M,h*A+d*M]}var Ss=["l",0,0,0,0,0,0,0];function Bs(t,n){var e=Ss[0]=t[0];if("a"===e||"A"===e)Ss[1]=n*t[1],Ss[2]=n*t[2],Ss[3]=t[3],Ss[4]=t[4],Ss[5]=t[5],Ss[6]=n*t[6],Ss[7]=n*t[7];else for(var r=1,i=t.length;r<i;++r)Ss[r]=n*t[r];return Ss}function Os(t,n,e,r,i){var a,u,o,s,l,c=null,f=0,h=0,d=0,p=0;null==e&&(e=0),null==r&&(r=0),null==i&&(i=1),t.beginPath&&t.beginPath();for(var g=0,m=n.length;g<m;++g){switch(a=n[g],1!==i&&(a=Bs(a,i)),a[0]){case"l":f+=a[1],h+=a[2],t.lineTo(f+e,h+r);break;case"L":f=a[1],h=a[2],t.lineTo(f+e,h+r);break;case"h":f+=a[1],t.lineTo(f+e,h+r);break;case"H":f=a[1],t.lineTo(f+e,h+r);break;case"v":h+=a[1],t.lineTo(f+e,h+r);break;case"V":h=a[1],t.lineTo(f+e,h+r);break;case"m":f+=a[1],h+=a[2],t.moveTo(f+e,h+r);break;case"M":f=a[1],h=a[2],t.moveTo(f+e,h+r);break;case"c":u=f+a[5],o=h+a[6],d=f+a[3],p=h+a[4],t.bezierCurveTo(f+a[1]+e,h+a[2]+r,d+e,p+r,u+e,o+r),f=u,h=o;break;case"C":f=a[5],h=a[6],d=a[3],p=a[4],t.bezierCurveTo(a[1]+e,a[2]+r,d+e,p+r,f+e,h+r);break;case"s":u=f+a[3],o=h+a[4],d=2*f-d,p=2*h-p,t.bezierCurveTo(d+e,p+r,f+a[1]+e,h+a[2]+r,u+e,o+r),d=f+a[1],p=h+a[2],f=u,h=o;break;case"S":u=a[3],o=a[4],d=2*f-d,p=2*h-p,t.bezierCurveTo(d+e,p+r,a[1]+e,a[2]+r,u+e,o+r),f=u,h=o,d=a[1],p=a[2];break;case"q":u=f+a[3],o=h+a[4],d=f+a[1],p=h+a[2],t.quadraticCurveTo(d+e,p+r,u+e,o+r),f=u,h=o;break;case"Q":u=a[3],o=a[4],t.quadraticCurveTo(a[1]+e,a[2]+r,u+e,o+r),f=u,h=o,d=a[1],p=a[2];break;case"t":u=f+a[1],o=h+a[2],null===c[0].match(/[QqTt]/)?(d=f,p=h):"t"===c[0]?(d=2*f-s,p=2*h-l):"q"===c[0]&&(d=2*f-d,p=2*h-p),s=d,l=p,t.quadraticCurveTo(d+e,p+r,u+e,o+r),h=o,d=(f=u)+a[1],p=h+a[2];break;case"T":u=a[1],o=a[2],d=2*f-d,p=2*h-p,t.quadraticCurveTo(d+e,p+r,u+e,o+r),f=u,h=o;break;case"a":zs(t,f+e,h+r,[a[1],a[2],a[3],a[4],a[5],a[6]+f+e,a[7]+h+r]),f+=a[6],h+=a[7];break;case"A":zs(t,f+e,h+r,[a[1],a[2],a[3],a[4],a[5],a[6]+e,a[7]+r]),f=a[6],h=a[7];break;case"z":case"Z":t.closePath()}c=a}}function zs(t,n,e,r){for(var i=function(t,n,e,r,i,a,u,o,s){var l=Ds.call(arguments);if(Es[l])return Es[l];var c=u*ws,f=Math.sin(c),h=Math.cos(c),d=h*(o-t)*.5+f*(s-n)*.5,p=h*(s-n)*.5-f*(o-t)*.5,g=d*d/((e=Math.abs(e))*e)+p*p/((r=Math.abs(r))*r);g>1&&(e*=g=Math.sqrt(g),r*=g);var m=h/e,v=f/e,y=-f/r,x=h/r,_=m*o+v*s,b=y*o+x*s,w=m*t+v*n,A=y*t+x*n,M=1/((w-_)*(w-_)+(A-b)*(A-b))-.25;M<0&&(M=0);var k=Math.sqrt(M);a==i&&(k=-k);var E=.5*(_+w)-k*(A-b),C=.5*(b+A)+k*(w-_),D=Math.atan2(b-C,_-E),F=Math.atan2(A-C,w-E)-D;F<0&&1===a?F+=Ms:F>0&&0===a&&(F-=Ms);for(var S=Math.ceil(Math.abs(F/(As+.001))),B=[],O=0;O<S;++O){var z=D+O*F/S,N=D+(O+1)*F/S;B[O]=[E,C,z,N,e,r,f,h]}return Es[l]=B}(r[5],r[6],r[0],r[1],r[3],r[4],r[2],n,e),a=0;a<i.length;++a){var u=Fs(i[a]);t.bezierCurveTo(u[0],u[1],u[2],u[3],u[4],u[5])}}var Ns={circle:{draw:function(t,n){var e=Math.sqrt(n)/2;t.moveTo(e,0),t.arc(0,0,e,0,Ms)}},cross:{draw:function(t,n){var e=Math.sqrt(n)/2,r=e/2.5;t.moveTo(-e,-r),t.lineTo(-e,r),t.lineTo(-r,r),t.lineTo(-r,e),t.lineTo(r,e),t.lineTo(r,r),t.lineTo(e,r),t.lineTo(e,-r),t.lineTo(r,-r),t.lineTo(r,-e),t.lineTo(-r,-e),t.lineTo(-r,-r),t.closePath()}},diamond:{draw:function(t,n){var e=Math.sqrt(n)/2;t.moveTo(-e,0),t.lineTo(0,-e),t.lineTo(e,0),t.lineTo(0,e),t.closePath()}},square:{draw:function(t,n){var e=Math.sqrt(n),r=-e/2;t.rect(r,r,e,e)}},arrow:{draw:function(t,n){var e=Math.sqrt(n)/2,r=e/7,i=e/2.5,a=e/8;t.moveTo(-r,e),t.lineTo(r,e),t.lineTo(r,-a),t.lineTo(i,-a),t.lineTo(0,-e),t.lineTo(-i,-a),t.lineTo(-r,-a),t.closePath()}},wedge:{draw:function(t,n){var e=Math.sqrt(n)/2,r=ks*e,i=r-.5773502691896257*e,a=e/4;t.moveTo(0,-r-i),t.lineTo(-a,r-i),t.lineTo(a,r-i),t.closePath()}},triangle:{draw:function(t,n){var e=Math.sqrt(n)/2,r=ks*e,i=r-.5773502691896257*e;t.moveTo(0,-r-i),t.lineTo(-e,r-i),t.lineTo(e,r-i),t.closePath()}},"triangle-up":{draw:function(t,n){var e=Math.sqrt(n)/2,r=ks*e;t.moveTo(0,-r),t.lineTo(-e,r),t.lineTo(e,r),t.closePath()}},"triangle-down":{draw:function(t,n){var e=Math.sqrt(n)/2,r=ks*e;t.moveTo(0,r),t.lineTo(-e,-r),t.lineTo(e,-r),t.closePath()}},"triangle-right":{draw:function(t,n){var e=Math.sqrt(n)/2,r=ks*e;t.moveTo(r,0),t.lineTo(-r,-e),t.lineTo(-r,e),t.closePath()}},"triangle-left":{draw:function(t,n){var e=Math.sqrt(n)/2,r=ks*e;t.moveTo(-r,0),t.lineTo(r,-e),t.lineTo(r,e),t.closePath()}},stroke:{draw:function(t,n){var e=Math.sqrt(n)/2;t.moveTo(-e,0),t.lineTo(e,0)}}};function Ts(t){return Ns.hasOwnProperty(t)?Ns[t]:function(t){if(!Rs.hasOwnProperty(t)){var n=bs(t);Rs[t]={draw:function(t,e){Os(t,n,0,0,Math.sqrt(e)/2)}}}return Rs[t]}(t)}var Rs={};function Ps(t){return t.x}function Ls(t){return t.y}function qs(t){return t.width}function Us(t){return t.height}function js(t){return function(){return t}}function $s(){var t=Ps,n=Ls,e=qs,r=Us,i=js(0),a=null;function u(u,o,s){var l,c=null!=o?o:+t.call(this,u),f=null!=s?s:+n.call(this,u),h=+e.call(this,u),d=+r.call(this,u),p=+i.call(this,u);if(a||(a=l=fo()),p<=0)a.rect(c,f,h,d);else{var g=c+h,m=f+d;a.moveTo(c+p,f),a.lineTo(g-p,f),a.quadraticCurveTo(g,f,g,f+p),a.lineTo(g,m-p),a.quadraticCurveTo(g,m,g-p,m),a.lineTo(c+p,m),a.quadraticCurveTo(c,m,c,m-p),a.lineTo(c,f+p),a.quadraticCurveTo(c,f,c+p,f),a.closePath()}if(l)return a=null,l+""||null}return u.x=function(n){return arguments.length?(t="function"==typeof n?n:js(+n),u):t},u.y=function(t){return arguments.length?(n="function"==typeof t?t:js(+t),u):n},u.width=function(t){return arguments.length?(e="function"==typeof t?t:js(+t),u):e},u.height=function(t){return arguments.length?(r="function"==typeof t?t:js(+t),u):r},u.cornerRadius=function(t){return arguments.length?(i="function"==typeof t?t:js(+t),u):i},u.context=function(t){return arguments.length?(a=null==t?null:t,u):a},u}function Is(){var t,n,e,r,i,a,u,o,s=null;function l(t,n,e){var r=e/2;if(i){var l=u-n,c=t-a;if(l||c){var f=Math.sqrt(l*l+c*c),h=(l/=f)*o,d=(c/=f)*o,p=Math.atan2(c,l);s.moveTo(a-h,u-d),s.lineTo(t-l*r,n-c*r),s.arc(t,n,r,p-Math.PI,p),s.lineTo(a+h,u+d),s.arc(a,u,o,p,p+Math.PI)}else s.arc(t,n,r,0,Ms);s.closePath()}else i=1;a=t,u=n,o=r}function c(a){var u,o,c,f=a.length,h=!1;for(null==s&&(s=c=fo()),u=0;u<=f;++u)!(u<f&&r(o=a[u],u,a))===h&&(h=!h)&&(i=0),h&&l(+t(o,u,a),+n(o,u,a),+e(o,u,a));if(c)return s=null,c+""||null}return c.x=function(n){return arguments.length?(t=n,c):t},c.y=function(t){return arguments.length?(n=t,c):n},c.size=function(t){return arguments.length?(e=t,c):e},c.defined=function(t){return arguments.length?(r=t,c):r},c.context=function(t){return arguments.length?(s=null==t?null:t,c):s},c}function Ws(t){return t.x||0}function Hs(t){return t.y||0}function Ys(t){return t.cornerRadius||0}function Gs(t){return!(!1===t.defined)}var Vs=function(){var t=Eo,n=Co,e=ho(0),r=null,i=Do,a=Fo,u=So,o=null;function s(){var s,l,c,f=+t.apply(this,arguments),h=+n.apply(this,arguments),d=i.apply(this,arguments)-Ao,p=a.apply(this,arguments)-Ao,g=po(p-d),m=p>d;if(o||(o=s=fo()),h<f&&(l=h,h=f,f=l),h>bo)if(g>Mo-bo)o.moveTo(h*mo(d),h*xo(d)),o.arc(0,0,h,d,p,!m),f>bo&&(o.moveTo(f*mo(p),f*xo(p)),o.arc(0,0,f,p,d,m));else{var v,y,x=d,_=p,b=d,w=p,A=g,M=g,k=u.apply(this,arguments)/2,E=k>bo&&(r?+r.apply(this,arguments):_o(f*f+h*h)),C=yo(po(h-f)/2,+e.apply(this,arguments)),D=C,F=C;if(E>bo){var S=ko(E/f*xo(k)),B=ko(E/h*xo(k));(A-=2*S)>bo?(b+=S*=m?1:-1,w-=S):(A=0,b=w=(d+p)/2),(M-=2*B)>bo?(x+=B*=m?1:-1,_-=B):(M=0,x=_=(d+p)/2)}var O=h*mo(x),z=h*xo(x),N=f*mo(w),T=f*xo(w);if(C>bo){var R,P=h*mo(_),L=h*xo(_),q=f*mo(b),U=f*xo(b);if(g<wo&&(R=function(t,n,e,r,i,a,u,o){var s=e-t,l=r-n,c=u-i,f=o-a,h=f*s-c*l;if(!(h*h<bo))return[t+(h=(c*(n-a)-f*(t-i))/h)*s,n+h*l]}(O,z,q,U,P,L,N,T))){var j=O-R[0],$=z-R[1],I=P-R[0],W=L-R[1],H=1/xo(((c=(j*I+$*W)/(_o(j*j+$*$)*_o(I*I+W*W)))>1?0:c<-1?wo:Math.acos(c))/2),Y=_o(R[0]*R[0]+R[1]*R[1]);D=yo(C,(f-Y)/(H-1)),F=yo(C,(h-Y)/(H+1))}}M>bo?F>bo?(v=Bo(q,U,O,z,h,F,m),y=Bo(P,L,N,T,h,F,m),o.moveTo(v.cx+v.x01,v.cy+v.y01),F<C?o.arc(v.cx,v.cy,F,go(v.y01,v.x01),go(y.y01,y.x01),!m):(o.arc(v.cx,v.cy,F,go(v.y01,v.x01),go(v.y11,v.x11),!m),o.arc(0,0,h,go(v.cy+v.y11,v.cx+v.x11),go(y.cy+y.y11,y.cx+y.x11),!m),o.arc(y.cx,y.cy,F,go(y.y11,y.x11),go(y.y01,y.x01),!m))):(o.moveTo(O,z),o.arc(0,0,h,x,_,!m)):o.moveTo(O,z),f>bo&&A>bo?D>bo?(v=Bo(N,T,P,L,f,-D,m),y=Bo(O,z,q,U,f,-D,m),o.lineTo(v.cx+v.x01,v.cy+v.y01),D<C?o.arc(v.cx,v.cy,D,go(v.y01,v.x01),go(y.y01,y.x01),!m):(o.arc(v.cx,v.cy,D,go(v.y01,v.x01),go(v.y11,v.x11),!m),o.arc(0,0,f,go(v.cy+v.y11,v.cx+v.x11),go(y.cy+y.y11,y.cx+y.x11),m),o.arc(y.cx,y.cy,D,go(y.y11,y.x11),go(y.y01,y.x01),!m))):o.arc(0,0,f,w,b,m):o.lineTo(N,T)}else o.moveTo(0,0);if(o.closePath(),s)return o=null,s+""||null}return s.centroid=function(){var e=(+t.apply(this,arguments)+ +n.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-wo/2;return[mo(r)*e,xo(r)*e]},s.innerRadius=function(n){return arguments.length?(t="function"==typeof n?n:ho(+n),s):t},s.outerRadius=function(t){return arguments.length?(n="function"==typeof t?t:ho(+t),s):n},s.cornerRadius=function(t){return arguments.length?(e="function"==typeof t?t:ho(+t),s):e},s.padRadius=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:ho(+t),s):r},s.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:ho(+t),s):i},s.endAngle=function(t){return arguments.length?(a="function"==typeof t?t:ho(+t),s):a},s.padAngle=function(t){return arguments.length?(u="function"==typeof t?t:ho(+t),s):u},s.context=function(t){return arguments.length?(o=null==t?null:t,s):o},s}().startAngle(function(t){return t.startAngle||0}).endAngle(function(t){return t.endAngle||0}).padAngle(function(t){return t.padAngle||0}).innerRadius(function(t){return t.innerRadius||0}).outerRadius(function(t){return t.outerRadius||0}).cornerRadius(Ys),Xs=Po().x(Ws).y1(Hs).y0(function(t){return(t.y||0)+(t.height||0)}).defined(Gs),Zs=Po().y(Hs).x1(Ws).x0(function(t){return(t.x||0)+(t.width||0)}).defined(Gs),Js=Ro().x(Ws).y(Hs).defined(Gs),Qs=$s().x(Ws).y(Hs).width(function(t){return t.width||0}).height(function(t){return t.height||0}).cornerRadius(Ys),Ks=function(){var t=ho(Lo),n=ho(64),e=null;function r(){var r;if(e||(e=r=fo()),t.apply(this,arguments).draw(e,+n.apply(this,arguments)),r)return e=null,r+""||null}return r.type=function(n){return arguments.length?(t="function"==typeof n?n:ho(n),r):t},r.size=function(t){return arguments.length?(n="function"==typeof t?t:ho(+t),r):n},r.context=function(t){return arguments.length?(e=null==t?null:t,r):e},r}().type(function(t){return Ts(t.shape||"circle")}).size(function(t){return null==t.size?64:t.size}),tl=Is().x(Ws).y(Hs).defined(Gs).size(function(t){return t.size||1});function nl(t,n,e,r){return Qs.context(t)(n,e,r)}function el(t,n){return n.stroke&&0!==n.opacity&&0!==n.strokeOpacity&&t.expand(null!=n.strokeWidth?+n.strokeWidth:1),t}var rl,il=Ms-1e-8;function al(t){return rl=t,al}function ul(){}function ol(t,n){rl.add(t,n)}al.beginPath=ul,al.closePath=ul,al.moveTo=ol,al.lineTo=ol,al.rect=function(t,n,e,r){ol(t,n),ol(t+e,n+r)},al.quadraticCurveTo=function(t,n,e,r){ol(t,n),ol(e,r)},al.bezierCurveTo=function(t,n,e,r,i,a){ol(t,n),ol(e,r),ol(i,a)},al.arc=function(t,n,e,r,i,a){if(Math.abs(i-r)>il)return ol(t-e,n-e),void ol(t+e,n+e);var u,o,s,l,c=1/0,f=-1/0,h=1/0,d=-1/0;function p(t){s=e*Math.cos(t),l=e*Math.sin(t),s<c&&(c=s),s>f&&(f=s),l<h&&(h=l),l>d&&(d=l)}if(p(r),p(i),i!==r)if((r%=Ms)<0&&(r+=Ms),(i%=Ms)<0&&(i+=Ms),i<r&&(a=!a,u=r,r=i,i=u),a)for(i-=Ms,u=r-r%As,o=0;o<4&&u>i;++o,u-=As)p(u);else for(u=r-r%As+As,o=0;o<4&&u<i;++o,u+=As)p(u);ol(t+c,n+h),ol(t+f,n+d)};var sl=(sl=no(1,1))?sl.getContext("2d"):null;const ll=new Hu;function cl(t){return function(n,e){if(!sl)return!0;t(sl,n),ll.clear().union(n.bounds).intersect(e).round();const{x1:r,y1:i,x2:a,y2:u}=ll;for(let t=i;t<=u;++t)for(let n=r;n<=a;++n)if(sl.isPointInPath(n,t))return!0;return!1}}function fl(t,n){return n.contains(t.x||0,t.y||0)}function hl(t,n){const e=t.x||0,r=t.y||0,i=t.width||0,a=t.height||0;return n.intersects(ll.set(e,r,e+i,r+a))}function dl(t,n){const e=t.x||0,r=t.y||0;return pl(n,e,r,null!=t.x2?t.x2:e,null!=t.y2?t.y2:r)}function pl(t,n,e,r,i){const{x1:a,y1:u,x2:o,y2:s}=t,l=r-n,c=i-e;let f,h,d,p,g=0,m=1;for(p=0;p<4;++p){if(0===p&&(f=-l,h=-(a-n)),1===p&&(f=l,h=o-n),2===p&&(f=-c,h=-(u-e)),3===p&&(f=c,h=s-e),Math.abs(f)<1e-10&&h<0)return!1;if(d=h/f,f<0){if(d>m)return!1;d>g&&(g=d)}else if(f>0){if(d<g)return!1;d<m&&(m=d)}}return!0}function gl(t,n,e){return Xu(e)?function(t,n,e){const r=e.width(),i=e.height(),a=n.stops,u=a.length,o="radial"===n.gradient?t.createRadialGradient(e.x1+(n.x1||.5)*r,e.y1+(n.y1||.5)*i,Math.max(r,i)*(n.r1||0),e.x1+(n.x2||.5)*r,e.y1+(n.y2||.5)*i,Math.max(r,i)*(n.r2||.5)):t.createLinearGradient(e.x1+(n.x1||0)*r,e.y1+(n.y1||0)*i,e.x1+(n.x2||1)*r,e.y1+(n.y2||0)*i);for(let t=0;t<u;++t)o.addColorStop(a[t].offset,a[t].color);return o}(t,e,n.bounds):e}function ml(t,n,e){return(e*=null==n.fillOpacity?1:n.fillOpacity)>0&&(t.globalAlpha=e,t.fillStyle=gl(t,n,n.fill),!0)}var vl=[];function yl(t,n,e){var r=null!=(r=n.strokeWidth)?r:1;return!(r<=0)&&((e*=null==n.strokeOpacity?1:n.strokeOpacity)>0&&(t.globalAlpha=e,t.strokeStyle=gl(t,n,n.stroke),t.lineWidth=r,t.lineCap=n.strokeCap||"butt",t.lineJoin=n.strokeJoin||"miter",t.miterLimit=n.strokeMiterLimit||10,t.setLineDash&&(t.setLineDash(n.strokeDash||vl),t.lineDashOffset=n.strokeDashOffset||0),!0))}function xl(t,n){return t.zindex-n.zindex||t.index-n.index}function _l(t){if(!t.zdirty)return t.zitems;var n,e,r,i=t.items,a=[];for(e=0,r=i.length;e<r;++e)(n=i[e]).index=e,n.zindex&&a.push(n);return t.zdirty=!1,t.zitems=a.sort(xl)}function bl(t,n){var e,r,i=t.items;if(i&&i.length){var a=_l(t);if(a&&a.length){for(e=0,r=i.length;e<r;++e)i[e].zindex||n(i[e]);i=a}for(e=0,r=i.length;e<r;++e)n(i[e])}}function wl(t,n){var e,r,i=t.items;if(!i||!i.length)return null;var a=_l(t);for(a&&a.length&&(i=a),r=i.length;--r>=0;)if(e=n(i[r]))return e;if(i===a)for(r=(i=t.items).length;--r>=0;)if(!i[r].zindex&&(e=n(i[r])))return e;return null}function Al(t){return function(n,e,r){bl(e,function(e){r&&!r.intersects(e.bounds)||Ml(t,n,e,e)})}}function Ml(t,n,e,r){var i=null==e.opacity?1:e.opacity;0!==i&&(t(n,r)||(e.fill&&ml(n,e,i)&&n.fill(),e.stroke&&yl(n,e,i)&&n.stroke()))}function kl(t){return t=t||m,function(n,e,r,i,a,u){return r*=n.pixelRatio,i*=n.pixelRatio,wl(e,function(e){var o=e.bounds;if((!o||o.contains(a,u))&&o)return t(n,e,r,i,a,u)?e:void 0})}}function El(t,n){return function(e,r,i,a){var u,o,s=Array.isArray(r)?r[0]:r,l=null==n?s.fill:n,c=s.stroke&&e.isPointInStroke;return c&&(u=s.strokeWidth,o=s.strokeCap,e.lineWidth=null!=u?u:1,e.lineCap=null!=o?o:"butt"),!t(e,r)&&(l&&e.isPointInPath(i,a)||c&&e.isPointInStroke(i,a))}}function Cl(t){return kl(El(t))}function Dl(t,n){return"translate("+t+","+n+")"}function Fl(t){return"rotate("+t+")"}function Sl(t){return Dl(t.x||0,t.y||0)}function Bl(t,n,e){function r(t,e){var r=e.x||0,i=e.y||0,a=e.angle||0;t.translate(r,i),a&&t.rotate(a*=ws),t.beginPath(),n(t,e),a&&t.rotate(-a),t.translate(-r,-i)}return{type:t,tag:"path",nested:!1,attr:function(t,e){t("transform",function(t){return Dl(t.x||0,t.y||0)+(t.angle?" "+Fl(t.angle):"")}(e)),t("d",n(null,e))},bound:function(t,e){var r=e.x||0,i=e.y||0;return n(al(t),e),el(t,e).translate(r,i),e.angle&&t.rotate(e.angle*ws,r,i),t},draw:Al(r),pick:Cl(r),isect:e||cl(r)}}var Ol=Bl("arc",function(t,n){return Vs.context(t)(n)});function zl(t,n,e){function r(t,e){t.beginPath(),n(t,e)}var i,a=El(r);return{type:t,tag:"path",nested:!0,attr:function(t,e){var r=e.mark.items;r.length&&t("d",n(null,r))},bound:function(t,e){var r=e.items;return 0===r.length?t:(n(al(t),r),el(t,r[0]))},draw:(i=r,function(t,n,e){!n.items.length||e&&!e.intersects(n.bounds)||Ml(i,t,n.items[0],n.items)}),pick:function(t,n,e,r,i,u){var o=n.items,s=n.bounds;return!o||!o.length||s&&!s.contains(i,u)?null:(e*=t.pixelRatio,r*=t.pixelRatio,a(t,o,e,r)?o[0]:null)},isect:fl,tip:e}}var Nl=zl("area",function(t,n){var e=n[0],r=e.interpolate||"linear";return("horizontal"===e.orient?Zs:Xs).curve(ys(r,e.orient,e.tension)).context(t)(n)},function(t,n){for(var e,r,i="horizontal"===t[0].orient?n[1]:n[0],a="horizontal"===t[0].orient?"y":"x",u=t.length,o=1/0;--u>=0;)!1!==t[u].defined&&(r=Math.abs(t[u][a]-i))<o&&(o=r,e=t[u]);return e}),Tl=1;function Rl(t,n,e){var r=n.clip,i=t._defs,a=n.clip_id||(n.clip_id="clip"+Tl++),u=i.clipping[a]||(i.clipping[a]={id:a});return Y(r)?u.path=r(null):(u.width=e.width||0,u.height=e.height||0),"url(#"+a+")"}var Pl=.5;function Ll(t,n){var e=n.stroke?Pl:0;t.beginPath(),nl(t,n,e,e)}var ql=El(Ll);var Ul={type:"group",tag:"g",nested:!1,attr:function(t,n){t("transform",Sl(n))},bound:function(t,n){if(!n.clip&&n.items)for(var e=n.items,r=0,i=e.length;r<i;++r)t.union(e[r].bounds);return(n.clip||n.width||n.height)&&!n.noBound&&t.add(0,0).add(n.width||0,n.height||0),el(t,n),t.translate(n.x||0,n.y||0)},draw:function(t,n,e){var r=this;bl(n,function(n){var i,a=n.x||0,u=n.y||0,o=n.width||0,s=n.height||0;t.save(),t.translate(a,u),(n.stroke||n.fill)&&(i=null==n.opacity?1:n.opacity)>0&&(Ll(t,n),n.fill&&ml(t,n,i)&&t.fill(),n.stroke&&yl(t,n,i)&&t.stroke()),n.clip&&(t.beginPath(),t.rect(0,0,o,s),t.clip()),e&&e.translate(-a,-u),bl(n,function(n){r.draw(t,n,e)}),e&&e.translate(a,u),t.restore()})},pick:function(t,n,e,r,i,a){if(n.bounds&&!n.bounds.contains(i,a)||!n.items)return null;var u=this,o=e*t.pixelRatio,s=r*t.pixelRatio;return wl(n,function(l){var c,f,h,d;if(!(d=l.bounds)||d.contains(i,a))return f=l.x||0,h=l.y||0,t.save(),t.translate(f,h),f=i-f,h=a-h,!(c=wl(l,function(t){return function(t,n,e){return(!1!==t.interactive||"group"===t.marktype)&&t.bounds&&t.bounds.contains(n,e)}(t,f,h)?u.pick(t,e,r,f,h):null}))&&!1!==n.interactive&&(l.fill||l.stroke)&&ql(t,l,o,s)&&(c=l),t.restore(),c||null})},isect:hl,background:function(t,n){var e=n.stroke?Pl:0;t("class","background"),t("d",nl(null,n,e,e))},foreground:function(t,n,e){t("clip-path",n.clip?Rl(e,n,n):null)}};function jl(t,n){var e=t.image;return e&&e.url===t.url||(e={loaded:!1,width:0,height:0},n.loadImage(t.url).then(function(n){t.image=n,t.image.url=t.url})),e}function $l(t,n){return"center"===t?n/2:"right"===t?n:0}function Il(t,n){return"middle"===t?n/2:"bottom"===t?n:0}var Wl={type:"image",tag:"image",nested:!1,attr:function(t,n,e){var r=jl(n,e),i=n.x||0,a=n.y||0,u=(null!=n.width?n.width:r.width)||0,o=(null!=n.height?n.height:r.height)||0,s=!1===n.aspect?"none":"xMidYMid";i-=$l(n.align,u),a-=Il(n.baseline,o),t("href",r.src||"","http://www.w3.org/1999/xlink","xlink:href"),t("transform",Dl(i,a)),t("width",u),t("height",o),t("preserveAspectRatio",s)},bound:function(t,n){var e=n.image,r=n.x||0,i=n.y||0,a=(null!=n.width?n.width:e&&e.width)||0,u=(null!=n.height?n.height:e&&e.height)||0;return r-=$l(n.align,a),i-=Il(n.baseline,u),t.set(r,i,r+a,i+u)},draw:function(t,n,e){var r=this;bl(n,function(n){if(!e||e.intersects(n.bounds)){var i,a,u,o,s=jl(n,r),l=n.x||0,c=n.y||0,f=(null!=n.width?n.width:s.width)||0,h=(null!=n.height?n.height:s.height)||0;l-=$l(n.align,f),c-=Il(n.baseline,h),!1!==n.aspect&&(a=s.width/s.height,u=n.width/n.height,a==a&&u==u&&a!==u&&(u<a?(c+=(h-(o=f/a))/2,h=o):(l+=(f-(o=h*a))/2,f=o))),s.loaded&&(t.globalAlpha=null!=(i=n.opacity)?i:1,t.drawImage(s,l,c,f,h))}})},pick:kl(),isect:m,get:jl,xOffset:$l,yOffset:Il},Hl=zl("line",function(t,n){var e=n[0],r=e.interpolate||"linear";return Js.curve(ys(r,e.orient,e.tension)).context(t)(n)},function(t,n){for(var e,r,i=Math.pow(t[0].strokeWidth||1,2),a=t.length;--a>=0;)if(!1!==t[a].defined&&(e=t[a].x-n[0])*e+(r=t[a].y-n[1])*r<i)return t[a];return null});function Yl(t,n){var e=n.path;if(null==e)return!0;var r=n.pathCache;r&&r.path===e||((n.pathCache=r=bs(e)).path=e),Os(t,r,n.x,n.y)}var Gl={type:"path",tag:"path",nested:!1,attr:function(t,n){t("transform",Sl(n)),t("d",n.path)},bound:function(t,n){return Yl(al(t),n)?t.set(0,0,0,0):el(t,n)},draw:Al(Yl),pick:Cl(Yl),isect:cl(Yl)};function Vl(t,n){t.beginPath(),nl(t,n)}var Xl={type:"rect",tag:"path",nested:!1,attr:function(t,n){t("d",nl(null,n))},bound:function(t,n){var e,r;return el(t.set(e=n.x||0,r=n.y||0,e+n.width||0,r+n.height||0),n)},draw:Al(Vl),pick:Cl(Vl),isect:hl};function Zl(t,n,e){var r,i,a,u;return!(!n.stroke||!yl(t,n,e))&&(r=n.x||0,i=n.y||0,a=null!=n.x2?n.x2:r,u=null!=n.y2?n.y2:i,t.beginPath(),t.moveTo(r,i),t.lineTo(a,u),!0)}var Jl,Ql={type:"rule",tag:"line",nested:!1,attr:function(t,n){t("transform",Sl(n)),t("x2",null!=n.x2?n.x2-(n.x||0):0),t("y2",null!=n.y2?n.y2-(n.y||0):0)},bound:function(t,n){var e,r;return el(t.set(e=n.x||0,r=n.y||0,null!=n.x2?n.x2:e,null!=n.y2?n.y2:r),n)},draw:function(t,n,e){bl(n,function(n){if(!e||e.intersects(n.bounds)){var r=null==n.opacity?1:n.opacity;r&&Zl(t,n,r)&&t.stroke()}})},pick:kl(function(t,n,e,r){return!!t.isPointInStroke&&Zl(t,n,1)&&t.isPointInStroke(e,r)}),isect:dl},Kl=Bl("shape",function(t,n){return(n.mark.shape||n.shape).context(t)(n)}),tc=Bl("symbol",function(t,n){return Ks.context(t)(n)},fl),nc={height:uc,measureWidth:ic,estimateWidth:ec,width:ec,canvas:oc};function ec(t){return Jl=uc(t),rc(sc(t))}function rc(t){return~~(.8*t.length*Jl)}function ic(t){return uc(t)<=0?0:(sl.font=cc(t),ac(sc(t)))}function ac(t){return sl.measureText(t).width}function uc(t){return null!=t.fontSize?t.fontSize:11}function oc(t){nc.width=t&&sl?ic:ec}function sc(t){var n=t.text;return null==n?"":t.limit>0?function(t){var n,e=+t.limit,r=t.text+"";nc.width===ic?(sl.font=cc(t),n=ac):(Jl=uc(t),n=rc);if(n(r)<e)return r;var i,a=t.ellipsis||"…",u="rtl"===t.dir,o=0,s=r.length;if(e-=n(a),u){for(;o<s;)i=o+s>>>1,n(r.slice(i))>e?o=i+1:s=i;return a+r.slice(o)}for(;o<s;)i=1+(o+s>>>1),n(r.slice(0,i))<e?o=i:s=i-1;return r.slice(0,o)+a}(t):n+""}function lc(t,n){var e=t.font;return(n&&e?String(e).replace(/"/g,"'"):e)||"sans-serif"}function cc(t,n){return(t.fontStyle?t.fontStyle+" ":"")+(t.fontVariant?t.fontVariant+" ":"")+(t.fontWeight?t.fontWeight+" ":"")+uc(t)+"px "+lc(t,n)}function fc(t){var n=t.baseline,e=uc(t);return Math.round("top"===n?.79*e:"middle"===n?.3*e:"bottom"===n?-.21*e:0)}oc(!0);var hc={left:"start",center:"middle",right:"end"},dc=new Hu;function pc(t){var n,e=t.x||0,r=t.y||0,i=t.radius||0;return i&&(n=(t.theta||0)-As,e+=i*Math.cos(n),r+=i*Math.sin(n)),dc.x1=e,dc.y1=r,dc}function gc(t,n,e){var r,i=nc.height(n),a=n.align,u=pc(n),o=u.x1,s=u.y1,l=n.dx||0,c=(n.dy||0)+fc(n)-Math.round(.8*i);if(r=nc.width(n),"center"===a?l-=r/2:"right"===a&&(l-=r),t.set(l+=o,c+=s,l+r,c+i),n.angle&&!e)t.rotate(n.angle*ws,o,s);else if(2===e)return t.rotatedPoints(n.angle*ws,o,s);return t}var mc={arc:Ol,area:Nl,group:Ul,image:Wl,line:Hl,path:Gl,rect:Xl,rule:Ql,shape:Kl,symbol:tc,text:{type:"text",tag:"text",nested:!1,attr:function(t,n){var e,r=n.dx||0,i=(n.dy||0)+fc(n),a=pc(n),u=a.x1,o=a.y1,s=n.angle||0;t("text-anchor",hc[n.align]||"start"),s?(e=Dl(u,o)+" "+Fl(s),(r||i)&&(e+=" "+Dl(r,i))):e=Dl(u+r,o+i),t("transform",e)},bound:gc,draw:function(t,n,e){bl(n,function(n){var r,i,a,u,o;e&&!e.intersects(n.bounds)||(o=sc(n))&&(0===(r=null==n.opacity?1:n.opacity)||n.fontSize<=0||(t.font=cc(n),t.textAlign=n.align||"left",a=(i=pc(n)).x1,u=i.y1,n.angle&&(t.save(),t.translate(a,u),t.rotate(n.angle*ws),a=u=0),a+=n.dx||0,u+=(n.dy||0)+fc(n),n.fill&&ml(t,n,r)&&t.fillText(o,a,u),n.stroke&&yl(t,n,r)&&t.strokeText(o,a,u),n.angle&&t.restore()))})},pick:kl(function(t,n,e,r,i,a){if(n.fontSize<=0)return!1;if(!n.angle)return!0;var u=pc(n),o=u.x1,s=u.y1,l=gc(dc,n,1),c=-n.angle*ws,f=Math.cos(c),h=Math.sin(c),d=f*i-h*a+(o-f*o+h*s),p=h*i+f*a+(s-h*o-f*s);return l.contains(d,p)}),isect:function(t,n){var e=gc(dc,t,2);return pl(n,e[0],e[1],e[2],e[3])||pl(n,e[0],e[1],e[4],e[5])||pl(n,e[4],e[5],e[6],e[7])||pl(n,e[2],e[3],e[6],e[7])}},trail:zl("trail",function(t,n){return tl.context(t)(n)},function(t,n){for(var e,r,i=t.length;--i>=0;)if(!1!==t[i].defined&&(e=t[i].x-n[0])*e+(r=t[i].y-n[1])*r<(e=t[i].size||1)*e)return t[i];return null})};function vc(t,n,e){var r=mc[t.mark.marktype],i=n||r.bound;return r.nested&&(t=t.mark),i(t.bounds||(t.bounds=new Hu),t,e)}var yc={mark:null};function xc(t,n,e){var r,i,a,u,o=mc[t.marktype],s=o.bound,l=t.items,c=l&&l.length;if(o.nested)return c?a=l[0]:(yc.mark=t,a=yc),u=vc(a,s,e),n=n&&n.union(u)||u;if(n=n||t.bounds&&t.bounds.clear()||new Hu,c)for(r=0,i=l.length;r<i;++r)n.union(vc(l[r],s,e));return t.bounds=n}var _c=["marktype","name","role","interactive","clip","items","zindex","x","y","width","height","align","baseline","fill","fillOpacity","opacity","stroke","strokeOpacity","strokeWidth","strokeCap","strokeDash","strokeDashOffset","startAngle","endAngle","innerRadius","outerRadius","cornerRadius","padAngle","interpolate","tension","orient","defined","url","path","x2","y2","size","shape","text","angle","theta","radius","dx","dy","font","fontSize","fontWeight","fontStyle","fontVariant"];function bc(t,n){return JSON.stringify(t,_c,n)}function wc(t){return function t(n){var e,r,i,a=n.marktype,u=n.items;if(u)for(r=0,i=u.length;r<i;++r)e=a?"mark":"group",u[r][e]=n,u[r].zindex&&(u[r][e].zdirty=!0),"group"===(a||e)&&t(u[r]);a&&xc(n);return n}("string"==typeof t?JSON.parse(t):t)}function Ac(t){arguments.length?this.root=wc(t):(this.root=kc({marktype:"group",name:"root",role:"frame"}),this.root.items=[new to(this.root)])}var Mc=Ac.prototype;function kc(t,n){return{bounds:new Hu,clip:!!t.clip,group:n,interactive:!1!==t.interactive,items:[],marktype:t.marktype,name:t.name||void 0,role:t.role||void 0,zindex:t.zindex||0}}function Ec(t,n,e){return!t&&"undefined"!=typeof document&&document.createElement&&(t=document),t?e?t.createElementNS(e,n):t.createElement(n):null}function Cc(t,n){n=n.toLowerCase();for(var e=t.childNodes,r=0,i=e.length;r<i;++r)if(e[r].tagName.toLowerCase()===n)return e[r]}function Dc(t,n,e,r){var i,a=t.childNodes[n];return a&&a.tagName.toLowerCase()===e.toLowerCase()||(i=a||null,a=Ec(t.ownerDocument,e,r),t.insertBefore(a,i)),a}function Fc(t,n){for(var e=t.childNodes,r=e.length;r>n;)t.removeChild(e[--r]);return t}function Sc(t){return"mark-"+t.marktype+(t.role?" role-"+t.role:"")+(t.name?" "+t.name:"")}function Bc(t,n){var e=n.getBoundingClientRect();return[t.clientX-e.left-(n.clientLeft||0),t.clientY-e.top-(n.clientTop||0)]}function Oc(t,n){this._active=null,this._handlers={},this._loader=t||wr(),this._tooltip=n||zc}function zc(t,n,e,r){t.element().setAttribute("title",r||"")}Mc.toJSON=function(t){return bc(this.root,t||0)},Mc.mark=function(t,n,e){var r=kc(t,n=n||this.root.items[0]);return n.items[e]=r,r.zindex&&(r.group.zdirty=!0),r};var Nc=Oc.prototype;function Tc(t){this._el=null,this._bgcolor=null,this._loader=new ro(t)}Nc.initialize=function(t,n,e){return this._el=t,this._obj=e||null,this.origin(n)},Nc.element=function(){return this._el},Nc.canvas=function(){return this._el&&this._el.firstChild},Nc.origin=function(t){return arguments.length?(this._origin=t||[0,0],this):this._origin.slice()},Nc.scene=function(t){return arguments.length?(this._scene=t,this):this._scene},Nc.on=function(){},Nc.off=function(){},Nc._handlerIndex=function(t,n,e){for(var r=t?t.length:0;--r>=0;)if(t[r].type===n&&(!e||t[r].handler===e))return r;return-1},Nc.handlers=function(t){var n,e=this._handlers,r=[];if(t)r.push.apply(r,e[this.eventName(t)]);else for(n in e)r.push.apply(r,e[n]);return r},Nc.eventName=function(t){var n=t.indexOf(".");return n<0?t:t.slice(0,n)},Nc.handleHref=function(t,n,e){this._loader.sanitize(e,{context:"href"}).then(function(n){var e=new MouseEvent(t.type,t),r=Ec(null,"a");for(var i in n)r.setAttribute(i,n[i]);r.dispatchEvent(e)}).catch(function(){})},Nc.handleTooltip=function(t,n,e){if(n&&null!=n.tooltip){n=function(t,n,e,r){var i,a,u=t&&t.mark;if(u&&(i=mc[u.marktype]).tip){for((a=Bc(n,e))[0]-=r[0],a[1]-=r[1];t=t.mark.group;)a[0]-=t.x||0,a[1]-=t.y||0;t=i.tip(u.items,a)}return t}(n,t,this.canvas(),this._origin);var r=e&&n&&n.tooltip||null;this._tooltip.call(this._obj,this,t,n,r)}},Nc.getItemBoundingClientRect=function(t){if(n=this.canvas()){for(var n,e=n.getBoundingClientRect(),r=this._origin,i=t.bounds,a=i.x1+r[0]+e.left,u=i.y1+r[1]+e.top,o=i.width(),s=i.height();t.mark&&(t=t.mark.group);)a+=t.x||0,u+=t.y||0;return{x:a,y:u,width:o,height:s,left:a,top:u,right:a+o,bottom:u+s}}};var Rc=Tc.prototype;Rc.initialize=function(t,n,e,r,i){return this._el=t,this.resize(n,e,r,i)},Rc.element=function(){return this._el},Rc.canvas=function(){return this._el&&this._el.firstChild},Rc.background=function(t){return 0===arguments.length?this._bgcolor:(this._bgcolor=t,this)},Rc.resize=function(t,n,e,r){return this._width=t,this._height=n,this._origin=e||[0,0],this._scale=r||1,this},Rc.dirty=function(){},Rc.render=function(t){var n=this;return n._call=function(){n._render(t)},n._call(),n._call=null,n},Rc._render=function(){},Rc.renderAsync=function(t){var n=this.render(t);return this._ready?this._ready.then(function(){return n}):Promise.resolve(n)},Rc._load=function(t,n){var e=this,r=e._loader[t](n);if(!e._ready){var i=e._call;e._ready=e._loader.ready().then(function(t){t&&i(),e._ready=null})}return r},Rc.sanitizeURL=function(t){return this._load("sanitizeURL",t)},Rc.loadImage=function(t){return this._load("loadImage",t)};var Pc="mouseout";function Lc(t,n){Oc.call(this,t,n),this._down=null,this._touch=null,this._first=!0}var qc=et(Lc,Oc);function Uc(t,n,e){return function(r){var i=this._active,a=this.pickEvent(r);a===i?this.fire(t,r):(i&&i.exit||this.fire(e,r),this._active=a,this.fire(n,r),this.fire(t,r))}}function jc(t){return function(n){this.fire(t,n),this._active=null}}qc.initialize=function(t,n,e){var r=this._canvas=t&&Cc(t,"canvas");if(r){var i=this;this.events.forEach(function(t){r.addEventListener(t,function(n){qc[t]?qc[t].call(i,n):i.fire(t,n)})})}return Oc.prototype.initialize.call(this,t,n,e)},qc.canvas=function(){return this._canvas},qc.context=function(){return this._canvas.getContext("2d")},qc.events=["keydown","keypress","keyup","dragenter","dragleave","dragover","mousedown","mouseup","mousemove","mouseout","mouseover","click","dblclick","wheel","mousewheel","touchstart","touchmove","touchend"],qc.DOMMouseScroll=function(t){this.fire("mousewheel",t)},qc.mousemove=Uc("mousemove","mouseover","mouseout"),qc.dragover=Uc("dragover","dragenter","dragleave"),qc.mouseout=jc("mouseout"),qc.dragleave=jc("dragleave"),qc.mousedown=function(t){this._down=this._active,this.fire("mousedown",t)},qc.click=function(t){this._down===this._active&&(this.fire("click",t),this._down=null)},qc.touchstart=function(t){this._touch=this.pickEvent(t.changedTouches[0]),this._first&&(this._active=this._touch,this._first=!1),this.fire("touchstart",t,!0)},qc.touchmove=function(t){this.fire("touchmove",t,!0)},qc.touchend=function(t){this.fire("touchend",t,!0),this._touch=null},qc.fire=function(t,n,e){var r,i,a=e?this._touch:this._active,u=this._handlers[t];if(n.vegaType=t,"click"===t&&a&&a.href?this.handleHref(n,a,a.href):"mousemove"!==t&&t!==Pc||this.handleTooltip(n,a,t!==Pc),u)for(r=0,i=u.length;r<i;++r)u[r].handler.call(this._obj,n,a)},qc.on=function(t,n){var e=this.eventName(t),r=this._handlers;return this._handlerIndex(r[e],t,n)<0&&(r[e]||(r[e]=[])).push({type:t,handler:n}),this},qc.off=function(t,n){var e=this.eventName(t),r=this._handlers[e],i=this._handlerIndex(r,t,n);return i>=0&&r.splice(i,1),this},qc.pickEvent=function(t){var n=Bc(t,this._canvas),e=this._origin;return this.pick(this._scene,n[0],n[1],n[0]-e[0],n[1]-e[1])},qc.pick=function(t,n,e,r,i){var a=this.context();return mc[t.marktype].pick.call(this,a,t,n,e,r,i)};var $c="undefined"!=typeof window&&window.devicePixelRatio||1;function Ic(t){Tc.call(this,t),this._redraw=!1,this._dirty=new Hu}var Wc=et(Ic,Tc),Hc=Tc.prototype,Yc=new Hu;function Gc(t,n){Oc.call(this,t,n);var e=this;e._hrefHandler=Xc(e,function(t,n){n&&n.href&&e.handleHref(t,n,n.href)}),e._tooltipHandler=Xc(e,function(t,n){e.handleTooltip(t,n,t.type!==Pc)})}Wc.initialize=function(t,n,e,r,i,a){return this._options=a,this._canvas=no(1,1,a&&a.type),t&&(Fc(t,0).appendChild(this._canvas),this._canvas.setAttribute("class","marks")),Hc.initialize.call(this,t,n,e,r,i)},Wc.resize=function(t,n,e,r){return Hc.resize.call(this,t,n,e,r),function(t,n,e,r,i,a){var u,o="undefined"!=typeof HTMLElement&&t instanceof HTMLElement&&null!=t.parentNode,s=t.getContext("2d"),l=o?$c:i;for(u in t.width=n*l,t.height=e*l,a)s[u]=a[u];o&&1!==l&&(t.style.width=n+"px",t.style.height=e+"px"),s.pixelRatio=l,s.setTransform(l,0,0,l,l*r[0],l*r[1])}(this._canvas,this._width,this._height,this._origin,this._scale,this._options&&this._options.context),this._redraw=!0,this},Wc.canvas=function(){return this._canvas},Wc.context=function(){return this._canvas?this._canvas.getContext("2d"):null},Wc.dirty=function(t){var n=function(t,n){if(null==n)return t;for(var e=Yc.clear().union(t);null!=n;n=n.mark.group)e.translate(n.x||0,n.y||0);return e}(t.bounds,t.mark.group);this._dirty.union(n)},Wc._render=function(t){var n=this.context(),e=this._origin,r=this._width,i=this._height,a=this._dirty;return n.save(),this._redraw||a.empty()?(this._redraw=!1,a=null):a=function(t,n,e){return n.expand(1).round(),n.translate(-e[0]%1,-e[1]%1),t.beginPath(),t.rect(n.x1,n.y1,n.width(),n.height()),t.clip(),n}(n,a,e),this.clear(-e[0],-e[1],r,i),this.draw(n,t,a),n.restore(),this._dirty.clear(),this},Wc.draw=function(t,n,e){var r=mc[n.marktype];n.clip&&function(t,n){var e=n.clip;if(t.save(),t.beginPath(),Y(e))e(t);else{var r=n.group;t.rect(0,0,r.width||0,r.height||0)}t.clip()}(t,n),r.draw.call(this,t,n,e),n.clip&&t.restore()},Wc.clear=function(t,n,e,r){var i=this.context();i.clearRect(t,n,e,r),null!=this._bgcolor&&(i.fillStyle=this._bgcolor,i.fillRect(t,n,e,r))};var Vc=et(Gc,Oc);function Xc(t,n){return function(e){var r=e.target.__data__;e.vegaType=e.type,r=Array.isArray(r)?r[0]:r,n.call(t._obj,e,r)}}function Zc(t,n,e){var r,i,a="<"+t;if(n)for(r in n)null!=(i=n[r])&&(a+=" "+r+'="'+i+'"');return e&&(a+=" "+e),a+">"}function Jc(t){return"</"+t+">"}Vc.initialize=function(t,n,e){var r=this._svg;return r&&(r.removeEventListener("click",this._hrefHandler),r.removeEventListener("mousemove",this._tooltipHandler),r.removeEventListener(Pc,this._tooltipHandler)),this._svg=r=t&&Cc(t,"svg"),r&&(r.addEventListener("click",this._hrefHandler),r.addEventListener("mousemove",this._tooltipHandler),r.addEventListener(Pc,this._tooltipHandler)),Oc.prototype.initialize.call(this,t,n,e)},Vc.canvas=function(){return this._svg},Vc.on=function(t,n){var e=this.eventName(t),r=this._handlers;if(this._handlerIndex(r[e],t,n)<0){var i={type:t,handler:n,listener:Xc(this,n)};(r[e]||(r[e]=[])).push(i),this._svg&&this._svg.addEventListener(e,i.listener)}return this},Vc.off=function(t,n){var e=this.eventName(t),r=this._handlers[e],i=this._handlerIndex(r,t,n);return i>=0&&(this._svg&&this._svg.removeEventListener(e,r[i].listener),r.splice(i,1)),this};var Qc={version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},Kc={fill:"fill",fillOpacity:"fill-opacity",stroke:"stroke",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",strokeCap:"stroke-linecap",strokeJoin:"stroke-linejoin",strokeDash:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeMiterLimit:"stroke-miterlimit",opacity:"opacity"},tf=Object.keys(Kc),nf=Qc.xmlns;function ef(t){Tc.call(this,t),this._dirtyID=1,this._dirty=[],this._svg=null,this._root=null,this._defs=null}var rf=et(ef,Tc),af=Tc.prototype;function uf(t,n,e){var r,i,a;if("radial"===n.gradient){var u=Dc(t,e++,"pattern",nf);u.setAttribute("id",Vu+n.id),u.setAttribute("viewBox","0,0,1,1"),u.setAttribute("width","100%"),u.setAttribute("height","100%"),u.setAttribute("preserveAspectRatio","xMidYMid slice"),(u=Dc(u,0,"rect",nf)).setAttribute("width","1"),u.setAttribute("height","1"),u.setAttribute("fill","url("+gf()+"#"+n.id+")"),(t=Dc(t,e++,"radialGradient",nf)).setAttribute("id",n.id),t.setAttribute("fx",n.x1),t.setAttribute("fy",n.y1),t.setAttribute("fr",n.r1),t.setAttribute("cx",n.x2),t.setAttribute("cy",n.y2),t.setAttribute("r",n.r2)}else(t=Dc(t,e++,"linearGradient",nf)).setAttribute("id",n.id),t.setAttribute("x1",n.x1),t.setAttribute("x2",n.x2),t.setAttribute("y1",n.y1),t.setAttribute("y2",n.y2);for(r=0,i=n.stops.length;r<i;++r)(a=Dc(t,r,"stop",nf)).setAttribute("offset",n.stops[r].offset),a.setAttribute("stop-color",n.stops[r].color);return Fc(t,r),e}function of(t,n,e){var r;return(t=Dc(t,e,"clipPath",nf)).setAttribute("id",n.id),n.path?(r=Dc(t,0,"path",nf)).setAttribute("d",n.path):((r=Dc(t,0,"rect",nf)).setAttribute("x",0),r.setAttribute("y",0),r.setAttribute("width",n.width),r.setAttribute("height",n.height)),e+1}function sf(t,n){for(;t&&t.dirty!==n;t=t.mark.group){if(t.dirty=n,!t.mark||t.mark.dirty===n)return;t.mark.dirty=n}}function lf(t,n,e,r,i){var a,u=t._svg;if(!u&&(u=Ec(a=n.ownerDocument,r,nf),t._svg=u,t.mark&&(u.__data__=t,u.__values__={fill:"default"},"g"===r))){var o=Ec(a,"path",nf);o.setAttribute("class","background"),u.appendChild(o),o.__data__=t;var s=Ec(a,"g",nf);u.appendChild(s),s.__data__=t}return(u.ownerSVGElement!==i||function(t){var n=t.mark||t.group;return n&&n.items.length>1}(t)&&u.previousSibling!==e)&&n.insertBefore(u,e?e.nextSibling:n.firstChild),u}rf.initialize=function(t,n,e,r){return t&&(this._svg=Dc(t,0,"svg",nf),this._svg.setAttribute("class","marks"),Fc(t,1),this._root=Dc(this._svg,0,"g",nf),Fc(this._svg,1)),this._defs={gradient:{},clipping:{}},this.background(this._bgcolor),af.initialize.call(this,t,n,e,r)},rf.background=function(t){return arguments.length&&this._svg&&this._svg.style.setProperty("background-color",t),af.background.apply(this,arguments)},rf.resize=function(t,n,e,r){return af.resize.call(this,t,n,e,r),this._svg&&(this._svg.setAttribute("width",this._width*this._scale),this._svg.setAttribute("height",this._height*this._scale),this._svg.setAttribute("viewBox","0 0 "+this._width+" "+this._height),this._root.setAttribute("transform","translate("+this._origin+")")),this._dirty=[],this},rf.canvas=function(){return this._svg},rf.svg=function(){if(!this._svg)return null;var t={class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:"0 0 "+this._width+" "+this._height};for(var n in Qc)t[n]=Qc[n];var e=this._bgcolor?Zc("rect",{width:this._width,height:this._height,style:"fill: "+this._bgcolor+";"})+Jc("rect"):"";return Zc("svg",t)+e+this._svg.innerHTML+Jc("svg")},rf._render=function(t){return this._dirtyCheck()&&(this._dirtyAll&&this._resetDefs(),this.draw(this._root,t),Fc(this._root,1)),this.updateDefs(),this._dirty=[],++this._dirtyID,this},rf.updateDefs=function(){var t,n=this._svg,e=this._defs,r=e.el,i=0;for(t in e.gradient)r||(e.el=r=Dc(n,0,"defs",nf)),i=uf(r,e.gradient[t],i);for(t in e.clipping)r||(e.el=r=Dc(n,0,"defs",nf)),i=of(r,e.clipping[t],i);r&&(0===i?(n.removeChild(r),e.el=null):Fc(r,i))},rf._resetDefs=function(){var t=this._defs;t.gradient={},t.clipping={}},rf.dirty=function(t){t.dirty!==this._dirtyID&&(t.dirty=this._dirtyID,this._dirty.push(t))},rf.isDirty=function(t){return this._dirtyAll||!t._svg||t.dirty===this._dirtyID},rf._dirtyCheck=function(){this._dirtyAll=!0;var t=this._dirty;if(!t.length)return!0;var n,e,r,i,a,u,o,s=++this._dirtyID;for(a=0,u=t.length;a<u;++a)(e=(n=t[a]).mark).marktype!==r&&(r=e.marktype,i=mc[r]),e.zdirty&&e.dirty!==s&&(this._dirtyAll=!1,sf(n,s),e.items.forEach(function(t){t.dirty=s})),e.zdirty||(n.exit?(i.nested&&e.items.length?(o=e.items[0])._svg&&this._update(i,o._svg,o):n._svg&&(o=n._svg.parentNode)&&o.removeChild(n._svg),n._svg=null):(n=i.nested?e.items[0]:n)._update!==s&&(n._svg&&n._svg.ownerSVGElement?this._update(i,n._svg,n):(this._dirtyAll=!1,sf(n,s)),n._update=s));return!this._dirtyAll},rf.draw=function(t,n,e){if(!this.isDirty(n))return n._svg;var r,i=this,a=this._svg,u=mc[n.marktype],o=!1===n.interactive?"none":null,s="g"===u.tag,l=null,c=0;function f(t){var n=i.isDirty(t),e=lf(t,r,l,u.tag,a);n&&(i._update(u,e,t),s&&function(t,n,e){n=n.lastChild;var r,i=0;bl(e,function(e){r=t.draw(n,e,r),++i}),Fc(n,1+i)}(i,e,t)),l=e,++c}return(r=lf(n,t,e,"g",a)).setAttribute("class",Sc(n)),s||r.style.setProperty("pointer-events",o),n.clip?r.setAttribute("clip-path",Rl(i,n,n.group)):r.removeAttribute("clip-path"),u.nested?n.items.length&&f(n.items[0]):bl(n,f),Fc(r,c),r};var cf=null,ff=null,hf={group:function(t,n,e){ff=n.__values__,cf=n.childNodes[1],t.foreground(pf,e,this),cf=n.childNodes[0],t.background(pf,e,this);var r=!1===e.mark.interactive?"none":null;r!==ff.events&&(cf.style.setProperty("pointer-events",r),ff.events=r)},text:function(t,n,e){var r;(r=sc(e))!==ff.text&&(n.textContent=r,ff.text=r),df(n,"font-family",lc(e)),df(n,"font-size",uc(e)+"px"),df(n,"font-style",e.fontStyle),df(n,"font-variant",e.fontVariant),df(n,"font-weight",e.fontWeight)}};function df(t,n,e){e!==ff[n]&&(null==e?t.style.removeProperty(n):t.style.setProperty(n,e+""),ff[n]=e)}function pf(t,n,e){n!==ff[t]&&(null!=n?e?cf.setAttributeNS(e,t,n):cf.setAttribute(t,n):e?cf.removeAttributeNS(e,t):cf.removeAttribute(t),ff[t]=n)}function gf(){var t;return"undefined"==typeof window?"":(t=window.location).hash?t.href.slice(0,-t.hash.length):t.href}function mf(t){Tc.call(this,t),this._text={head:"",bg:"",root:"",foot:"",defs:"",body:""},this._defs={gradient:{},clipping:{}}}rf._update=function(t,n,e){cf=n,ff=n.__values__,t.attr(pf,e,this);var r=hf[t.type];r&&r.call(this,t,n,e),this.style(cf,e)},rf.style=function(t,n){var e,r,i,a,u;if(null!=n)for(e=0,r=tf.length;e<r;++e)u=n[i=tf[e]],"font"===i&&(u=lc(n)),u!==ff[i]&&(a=Kc[i],null==u?"fill"===a?t.style.setProperty(a,"none"):t.style.removeProperty(a):(Xu(u)&&(u=Zu(u,this._defs.gradient,gf())),t.style.setProperty(a,u+"")),ff[i]=u)};var vf,yf=et(mf,Tc),xf=Tc.prototype;function _f(t,n,e,r){vf[r||t]=n}function bf(t,n,e,r){if(null==t)return"";var i,a,u,o,s,l="";for("bgrect"===e&&!1===n.interactive&&(l+="pointer-events: none; "),"text"===e&&(l+="font-family: "+lc(t)+"; ",l+="font-size: "+uc(t)+"px; ",t.fontStyle&&(l+="font-style: "+t.fontStyle+"; "),t.fontVariant&&(l+="font-variant: "+t.fontVariant+"; "),t.fontWeight&&(l+="font-weight: "+t.fontWeight+"; ")),i=0,a=tf.length;i<a;++i)u=tf[i],o=Kc[u],null==(s=t[u])?"fill"===o&&(l+="fill: none; "):"transparent"!==s||"fill"!==o&&"stroke"!==o?(Xu(s)&&(s=Zu(s,r.gradient,"")),l+=o+": "+s+"; "):l+=o+": none; ";return l?'style="'+l.trim()+'"':null}yf.resize=function(t,n,e,r){xf.resize.call(this,t,n,e,r);var i=this._origin,a=this._text,u={class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:"0 0 "+this._width+" "+this._height};for(var o in Qc)u[o]=Qc[o];a.head=Zc("svg",u);var s=this._bgcolor;return"transparent"!==s&&"none"!==s||(s=null),a.bg=s?Zc("rect",{width:this._width,height:this._height,style:"fill: "+s+";"})+Jc("rect"):"",a.root=Zc("g",{transform:"translate("+i+")"}),a.foot=Jc("g")+Jc("svg"),this},yf.background=function(){var t=xf.background.apply(this,arguments);return arguments.length&&this._text.head&&this.resize(this._width,this._height,this._origin,this._scale),t},yf.svg=function(){var t=this._text;return t.head+t.bg+t.defs+t.root+t.body+t.foot},yf._render=function(t){return this._text.body=this.mark(t),this._text.defs=this.buildDefs(),this},yf.buildDefs=function(){var t,n,e,r,i,a=this._defs,u="";for(n in a.gradient){for(i=(e=a.gradient[n]).stops,"radial"===e.gradient?(u+=Zc(r="pattern",{id:Vu+n,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),u+=Zc("rect",{width:"1",height:"1",fill:"url(#"+n+")"})+Jc("rect"),u+=Jc(r),u+=Zc(r="radialGradient",{id:n,fx:e.x1,fy:e.y1,fr:e.r1,cx:e.x2,cy:e.y2,r:e.r2})):u+=Zc(r="linearGradient",{id:n,x1:e.x1,x2:e.x2,y1:e.y1,y2:e.y2}),t=0;t<i.length;++t)u+=Zc("stop",{offset:i[t].offset,"stop-color":i[t].color})+Jc("stop");u+=Jc(r)}for(n in a.clipping)e=a.clipping[n],u+=Zc("clipPath",{id:n}),e.path?u+=Zc("path",{d:e.path})+Jc("path"):u+=Zc("rect",{x:0,y:0,width:e.width,height:e.height})+Jc("rect"),u+=Jc("clipPath");return u.length>0?Zc("defs")+u+Jc("defs"):""},yf.attributes=function(t,n){return vf={},t(_f,n,this),vf},yf.href=function(t){var n,e=this,r=t.href;if(r){if(n=e._hrefs&&e._hrefs[r])return n;e.sanitizeURL(r).then(function(t){t["xlink:href"]=t.href,t.href=null,(e._hrefs||(e._hrefs={}))[r]=t})}return null},yf.mark=function(t){var n,e=this,r=mc[t.marktype],i=r.tag,a=this._defs,u="";function o(o){var s=e.href(o);s&&(u+=Zc("a",s)),n="g"!==i?bf(o,t,i,a):null,u+=Zc(i,e.attributes(r.attr,o),n),"text"===i?u+=sc(o).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"):"g"===i&&(u+=Zc("path",e.attributes(r.background,o),bf(o,t,"bgrect",a))+Jc("path"),u+=Zc("g",e.attributes(r.foreground,o))+e.markGroup(o)+Jc("g")),u+=Jc(i),s&&(u+=Jc("a"))}return"g"!==i&&!1===t.interactive&&(n='style="pointer-events: none;"'),u+=Zc("g",{class:Sc(t),"clip-path":t.clip?Rl(e,t,t.group):null},n),r.nested?t.items&&t.items.length&&o(t.items[0]):bl(t,o),u+Jc("g")},yf.markGroup=function(t){var n=this,e="";return bl(t,function(t){e+=n.mark(t)}),e};var wf={Canvas:"canvas",PNG:"png",SVG:"svg",None:"none"},Af={};function Mf(t,n){return t=String(t||"").toLowerCase(),arguments.length>1?(Af[t]=n,this):Af[t]}function kf(t,n,e){const r=[],a=(new Hu).union(n),u=t.marktype;return u?Ef(t,a,e,r):"group"===u?Cf(t,a,e,r):i("Intersect scene must be mark node or group item.")}function Ef(t,n,e,r){if(function(t,n,e){return t.bounds&&n.intersects(t.bounds)&&("group"===t.marktype||!1!==t.interactive&&(!e||e(t)))}(t,n,e)){const i=t.items,a=t.marktype,u=i.length;let o=0;if("group"===a)for(;o<u;++o)Cf(i[o],n,e,r);else for(const t=mc[a].isect;o<u;++o){let e=i[o];Df(e,n,t)&&r.push(e)}}return r}function Cf(t,n,e,r){e&&e(t.mark)&&Df(t,n,mc.group.isect)&&r.push(t);const i=t.items,a=i&&i.length;if(a){const u=t.x||0,o=t.y||0;n.translate(-u,-o);for(let t=0;t<a;++t)Ef(i[t],n,e,r);n.translate(u,o)}return r}function Df(t,n,e){const r=t.bounds;return n.encloses(r)||n.intersects(r)&&e(t,n)}Af.canvas=Af.png={renderer:Ic,headless:Ic,handler:Lc},Af.svg={renderer:ef,headless:mf,handler:Gc},Af.none={};var Ff=new Hu;function Sf(t){var n=t.clip;if(Y(n))n(al(Ff.clear()));else{if(!n)return;Ff.set(0,0,t.group.width,t.group.height)}t.bounds.intersect(Ff)}var Bf=1e-9;function Of(t,n,e){return t===n||("path"===e?zf(t,n):t instanceof Date&&n instanceof Date?+t==+n:ut(t)&&ut(n)?Math.abs(t-n)<=Bf:t&&n&&(o(t)||o(n))?null!=t&&null!=n&&function(t,n){var e,r,i=Object.keys(t),a=Object.keys(n);if(i.length!==a.length)return!1;for(i.sort(),a.sort(),r=i.length-1;r>=0;r--)if(i[r]!=a[r])return!1;for(r=i.length-1;r>=0;r--)if(e=i[r],!Of(t[e],n[e],e))return!1;return typeof t==typeof n}(t,n):t==n)}function zf(t,n){return Of(bs(t),bs(n))}function Nf(t){$r.call(this,null,t)}function Tf(t,n,e){return n(t.bounds.clear(),t,e)}et(Nf,$r).transform=function(t,n){var e,r=n.dataflow,i=t.mark,a=i.marktype,u=mc[a],o=u.bound,s=i.bounds;return u.nested?(i.items.length&&r.dirty(i.items[0]),s=Tf(i,o),i.items.forEach(function(t){t.bounds.clear().union(s)})):a===bu||t.modified()?(n.visit(n.MOD,function(t){r.dirty(t)}),s.clear(),i.items.forEach(function(t){s.union(Tf(t,o))}),i.role===Eu&&n.reflow()):(e=n.changed(n.REM),n.visit(n.ADD,function(t){s.union(Tf(t,o))}),n.visit(n.MOD,function(t){e=e||s.alignsWith(t.bounds),r.dirty(t),s.union(Tf(t,o))}),e&&(s.clear(),i.items.forEach(function(t){s.union(t.bounds)}))),Sf(i),n.modifies("bounds")};var Rf=":vega_identifier:";function Pf(t){$r.call(this,0,t)}function Lf(t){$r.call(this,null,t)}function qf(t){$r.call(this,null,t)}Pf.Definition={type:"Identifier",metadata:{modifies:!0},params:[{name:"as",type:"string",required:!0}]},et(Pf,$r).transform=function(t,n){var e=function(t){var n=t._signals[Rf];n||(t._signals[Rf]=n=t.add(0));return n}(n.dataflow),r=e.value,i=t.as;return n.visit(n.ADD,function(t){t[i]||(t[i]=++r)}),e.set(this.value=r),n},et(Lf,$r).transform=function(t,n){var e=this.value;e||((e=n.dataflow.scenegraph().mark(t.markdef,function(t){var n=t.groups,e=t.parent;return n&&1===n.size?n.get(Object.keys(n.object)[0]):n&&e?n.lookup(e):null}(t),t.index)).group.context=t.context,t.context.group||(t.context.group=e.group),e.source=this,e.clip=t.clip,e.interactive=t.interactive,this.value=e);var r=e.marktype===bu?to:Ku;return n.visit(n.ADD,function(t){r.call(t,e)}),(t.modified("clip")||t.modified("interactive"))&&(e.clip=t.clip,e.interactive=!!t.interactive,e.zdirty=!0,n.reflow()),e.items=n.source,n};var Uf=et(qf,$r),jf={parity:function(t){return t.filter((t,n)=>n%2?t.opacity=0:1)},greedy:function(t,n){var e;return t.filter((t,r)=>r&&$f(e.bounds,t.bounds,n)?t.opacity=0:(e=t,1))}};function $f(t,n,e){return e>Math.max(n.x1-t.x2,t.x1-n.x2,n.y1-t.y2,t.y1-n.y2)}function If(t,n){for(var e,r=1,i=t.length,a=t[0].bounds;r<i;a=e,++r)if($f(a,e=t[r].bounds,n))return!0}function Wf(t){var n=t.bounds;return n.width()>1&&n.height()>1}function Hf(t){return t.forEach(t=>t.opacity=1),t}function Yf(t,n){return t.reflow(n.modified()).modifies("opacity")}function Gf(t){$r.call(this,null,t)}Uf.transform=function(t,n){var e,r,i,a=jf[t.method]||jf.parity,u=n.materialize(n.SOURCE).source,o=t.separation||0;if(u&&u.length){if(!t.method)return t.modified("method")&&(Hf(u),n=Yf(n,t)),n;if(t.sort&&(u=u.slice().sort(t.sort)),e=Hf(u=u.filter(Wf)),n=Yf(n,t),e.length>=3&&If(e,o)){do{e=a(e,o)}while(e.length>=3&&If(e,o));e.length<3&&!k(u).opacity&&(e.length>1&&(k(e).opacity=0),k(u).opacity=1)}var s,l,c,f,h;return t.boundScale&&t.boundTolerance>=0&&(s=t.boundScale,l=t.boundOrient,c=+t.boundTolerance,f=s.range(),h=new Hu,l===su||l===fu?h.set(f[0],-1/0,f[1],1/0):h.set(-1/0,f[0],1/0,f[1]),h.expand(c||1),r=(t=>h.encloses(t.bounds)),u.forEach(t=>{r(t)||(t.opacity=0)})),i=e[0].mark.bounds.clear(),u.forEach(t=>{t.opacity&&i.union(t.bounds)}),n}},et(Gf,$r).transform=function(t,n){var e=n.dataflow;if(n.visit(n.ALL,function(t){e.dirty(t)}),n.fields&&n.fields.zindex){var r=n.source&&n.source[0];r&&(r.mark.zdirty=!0)}};const Vf=new Hu;function Xf(t,n,e){return t[n]===e?0:(t[n]=e,1)}const Zf=.5;function Jf(t){var n=t.items[0].datum.orient;return n===lu||n===cu}function Qf(t,n,e,r){var i,a,u=n.items[0],o=u.datum,s=o.orient,l=function(t){var n=+t.grid;return[t.ticks?n++:-1,t.labels?n++:-1,n+ +t.domain]}(o),c=u.range,f=u.offset,h=u.position,d=u.minExtent,p=u.maxExtent,g=o.title&&u.items[l[2]].items[0],m=u.titlePadding,v=u.bounds,y=0,x=0;switch(Vf.clear().union(v),v.clear(),(i=l[0])>-1&&v.union(u.items[i].bounds),(i=l[1])>-1&&v.union(u.items[i].bounds),s){case su:y=h||0,x=-f,a=Math.max(d,Math.min(p,-v.y1)),g&&(a=Kf(g,a,m,0,-1,v)),v.add(0,-a).add(c,0);break;case lu:y=-f,x=h||0,a=Math.max(d,Math.min(p,-v.x1)),g&&(a=Kf(g,a,m,1,-1,v)),v.add(-a,0).add(0,c);break;case cu:y=e+f,x=h||0,a=Math.max(d,Math.min(p,v.x2)),g&&(a=Kf(g,a,m,1,1,v)),v.add(0,0).add(a,c);break;case fu:y=h||0,x=r+f,a=Math.max(d,Math.min(p,v.y2)),g&&(a=Kf(g,a,m,0,1,v)),v.add(0,0).add(c,a);break;default:y=u.x,x=u.y}return el(v.translate(y,x),u),Xf(u,"x",y+Zf)|Xf(u,"y",x+Zf)&&(u.bounds=Vf,t.dirty(u),u.bounds=v,t.dirty(u)),u.mark.bounds.clear().union(v)}function Kf(t,n,e,r,i,a){var u=t.bounds,o=0,s=0;return t.auto?(n+=e,r?o=(t.x||0)-(t.x=i*n):s=(t.y||0)-(t.y=i*n),u.translate(-o,-s),t.mark.bounds.set(u.x1,u.y1,u.x2,u.y2),r?(a.add(0,u.y1).add(0,u.y2),n+=u.width()):(a.add(u.x1,0).add(u.x2,0),n+=u.height())):a.union(u),n}function th(t){return(new Hu).set(0,0,t.width||0,t.height||0)}function nh(t){var n=t.bounds.clone();return n.empty()?n.set(0,0,0,0):n.translate(-(t.x||0),-(t.y||0))}function eh(t,n,e){var r=o(t)?t[n]:t;return null!=r?r:void 0!==e?e:0}function rh(t){return t<0?Math.ceil(-t):0}function ih(t,n,e){var r,i,a,u,o,s,l,c,f,h,d,p=!e.nodirty,g=e.bounds===$u?th:nh,m=Vf.set(0,0,0,0),v=eh(e.align,Iu),y=eh(e.align,Wu),x=eh(e.padding,Iu),_=eh(e.padding,Wu),b=e.columns||n.length,w=b<0?1:Math.ceil(n.length/b),A=n.length,M=Array(A),k=Array(b),E=0,C=Array(A),D=Array(w),F=0,S=Array(A),B=Array(A),O=Array(A);for(i=0;i<b;++i)k[i]=0;for(i=0;i<w;++i)D[i]=0;for(i=0;i<A;++i)s=n[i],o=O[i]=g(s),s.x=s.x||0,S[i]=0,s.y=s.y||0,B[i]=0,a=i%b,u=~~(i/b),E=Math.max(E,l=Math.ceil(o.x2)),F=Math.max(F,c=Math.ceil(o.y2)),k[a]=Math.max(k[a],l),D[u]=Math.max(D[u],c),M[i]=x+rh(o.x1),C[i]=_+rh(o.y1),p&&t.dirty(n[i]);for(i=0;i<A;++i)i%b==0&&(M[i]=0),i<b&&(C[i]=0);if(v===ju)for(a=1;a<b;++a){for(d=0,i=a;i<A;i+=b)d<M[i]&&(d=M[i]);for(i=a;i<A;i+=b)M[i]=d+k[a-1]}else if(v===Uu){for(d=0,i=0;i<A;++i)i%b&&d<M[i]&&(d=M[i]);for(i=0;i<A;++i)i%b&&(M[i]=d+E)}else for(v=!1,a=1;a<b;++a)for(i=a;i<A;i+=b)M[i]+=k[a-1];if(y===ju)for(u=1;u<w;++u){for(d=0,r=(i=u*b)+b;i<r;++i)d<C[i]&&(d=C[i]);for(i=u*b;i<r;++i)C[i]=d+D[u-1]}else if(y===Uu){for(d=0,i=b;i<A;++i)d<C[i]&&(d=C[i]);for(i=b;i<A;++i)C[i]=d+F}else for(y=!1,u=1;u<w;++u)for(r=(i=u*b)+b;i<r;++i)C[i]+=D[u-1];for(f=0,i=0;i<A;++i)f=M[i]+(i%b?f:0),S[i]+=f-n[i].x;for(a=0;a<b;++a)for(h=0,i=a;i<A;i+=b)h+=C[i],B[i]+=h-n[i].y;if(v&&eh(e.center,Iu)&&w>1)for(i=0;i<A;++i)(f=(o=v===Uu?E:k[i%b])-O[i].x2-n[i].x-S[i])>0&&(S[i]+=f/2);if(y&&eh(e.center,Wu)&&1!==b)for(i=0;i<A;++i)(h=(o=y===Uu?F:D[~~(i/b)])-O[i].y2-n[i].y-B[i])>0&&(B[i]+=h/2);for(i=0;i<A;++i)m.union(O[i].translate(S[i],B[i]));switch(f=eh(e.anchor,xu),h=eh(e.anchor,_u),eh(e.anchor,Iu)){case yu:f-=m.width();break;case vu:f-=m.width()/2}switch(eh(e.anchor,Wu)){case yu:h-=m.height();break;case vu:h-=m.height()/2}for(f=Math.round(f),h=Math.round(h),m.clear(),i=0;i<A;++i)n[i].mark.bounds.clear();for(i=0;i<A;++i)(s=n[i]).x+=S[i]+=f,s.y+=B[i]+=h,m.union(s.mark.bounds.union(s.bounds.translate(S[i],B[i]))),p&&t.dirty(s);return m}function ah(t,n,e){var r,i,a,u,o,s,l,c=function(t){for(var n,e,r=t.items,i=r.length,a=0,u={marks:[],rowheaders:[],rowfooters:[],colheaders:[],colfooters:[],rowtitle:null,coltitle:null};a<i;++a)if(e=(n=r[a]).items,n.marktype===bu)switch(n.role){case wu:case Eu:break;case Cu:u.rowheaders.push(...e);break;case Du:u.rowfooters.push(...e);break;case Su:u.colheaders.push(...e);break;case Bu:u.colfooters.push(...e);break;case Fu:u.rowtitle=e[0];break;case Ou:u.coltitle=e[0];break;default:u.marks.push(...e)}return u}(n),f=c.marks,h=e.bounds===$u?uh:oh,d=e.offset,p=e.columns||f.length,g=p<0?1:Math.ceil(f.length/p),m=g*p;const v=ih(t,f,e);c.rowheaders&&(s=eh(e.headerBand,Wu,null),r=ch(t,c.rowheaders,f,p,g,-eh(d,"rowHeader"),sh,0,h,"x1",0,p,1,s)),c.colheaders&&(s=eh(e.headerBand,Iu,null),i=ch(t,c.colheaders,f,p,p,-eh(d,"columnHeader"),sh,1,h,"y1",0,1,p,s)),c.rowfooters&&(s=eh(e.footerBand,Wu,null),a=ch(t,c.rowfooters,f,p,g,eh(d,"rowFooter"),lh,0,h,"x2",p-1,p,1,s)),c.colfooters&&(s=eh(e.footerBand,Iu,null),u=ch(t,c.colfooters,f,p,p,eh(d,"columnFooter"),lh,1,h,"y2",m-p,1,p,s)),c.rowtitle&&(o=eh(e.titleAnchor,Wu),l=eh(d,"rowTitle"),l=o===yu?a+l:r-l,s=eh(e.titleBand,Wu,.5),fh(t,c.rowtitle,l,0,v,s)),c.coltitle&&(o=eh(e.titleAnchor,Iu),l=eh(d,"columnTitle"),l=o===yu?u+l:i-l,s=eh(e.titleBand,Iu,.5),fh(t,c.coltitle,l,1,v,s))}function uh(t,n){return"x1"===n?t.x||0:"y1"===n?t.y||0:"x2"===n?(t.x||0)+(t.width||0):"y2"===n?(t.y||0)+(t.height||0):void 0}function oh(t,n){return t.bounds[n]}function sh(t,n){return Math.floor(Math.min(t,n))}function lh(t,n){return Math.ceil(Math.max(t,n))}function ch(t,n,e,r,i,a,u,o,s,l,c,f,h,d){var p,g,m,v,y,x,_,b,w,A=e.length,M=0,k=0;if(!A)return M;for(p=c;p<A;p+=f)e[p]&&(M=u(M,s(e[p],l)));if(!n.length)return M;for(n.length>i&&(t.warn("Grid headers exceed limit: "+i),n=n.slice(0,i)),M+=a,g=0,v=n.length;g<v;++g)t.dirty(n[g]),n[g].mark.bounds.clear();for(p=c,g=0,v=n.length;g<v;++g,p+=f){for(y=(x=n[g]).mark.bounds,m=p;m>=0&&null==(_=e[m]);m-=h);o?(b=null==d?_.x:Math.round(_.bounds.x1+d*_.bounds.width()),w=M):(b=M,w=null==d?_.y:Math.round(_.bounds.y1+d*_.bounds.height())),y.union(x.bounds.translate(b-(x.x||0),w-(x.y||0))),x.x=b,x.y=w,t.dirty(x),k=u(k,y[l])}return k}function fh(t,n,e,r,i,a){if(n){t.dirty(n);var u=e,o=e;r?u=Math.round(i.x1+a*i.width()):o=Math.round(i.y1+a*i.height()),n.bounds.translate(u-(n.x||0),o-(n.y||0)),n.mark.bounds.clear().union(n.bounds),n.x=u,n.y=o,t.dirty(n)}}function hh(t,n,e,r,i,a,u){const o=function(t,n){const e=t[n]||{};return(n,r)=>null!=e[n]?e[n]:null!=t[n]?t[n]:r}(e,n),s=(f=t,h=o("offset",0),d=-1/0,f.forEach(t=>{null!=t.offset&&(d=Math.max(d,t.offset))}),d>-1/0?d:h),l=o("anchor",mu),c=l===yu?1:l===vu?.5:0;var f,h,d;const p={align:ju,bounds:o("bounds",$u),columns:"vertical"===o("direction")?1:t.length,padding:o("margin",8),center:o("center"),nodirty:!0};switch(n){case lu:p.anchor={x:Math.floor(r.x1)-s,column:yu,y:c*(u||r.height()+2*r.y1),row:l};break;case cu:p.anchor={x:Math.ceil(r.x2)+s,y:c*(u||r.height()+2*r.y1),row:l};break;case su:p.anchor={y:Math.floor(i.y1)-s,row:yu,x:c*(a||i.width()+2*i.x1),column:l};break;case fu:p.anchor={y:Math.ceil(i.y2)+s,x:c*(a||i.width()+2*i.x1),column:l};break;case hu:p.anchor={x:s,y:s};break;case du:p.anchor={x:a-s,y:s,column:yu};break;case pu:p.anchor={x:s,y:u-s,row:yu};break;case gu:p.anchor={x:a-s,y:u-s,column:yu,row:yu}}return p}function dh(t,n){var e,r,i,a,u=n.items[0],o=u.datum,s=u.orient,l=u.bounds,c=u.x,f=u.y;return u._bounds?u._bounds.clear().union(l):u._bounds=l.clone(),l.clear(),function(t,n,e){var r=n.padding,i=r-e.x,a=r-e.y;if(n.datum.title){var u=n.items[1].items[0],o=u.anchor,s=n.titlePadding||0,l=r-u.x,c=r-u.y;switch(u.orient){case lu:i+=Math.ceil(u.bounds.width())+s;break;case cu:case fu:break;default:a+=u.fontSize+s}switch((i||a)&&gh(t,e,i,a),u.orient){case lu:c+=ph(n,e,u,o,0,1);break;case cu:l+=ph(n,e,u,yu,1,0)+s,c+=ph(n,e,u,o,0,1);break;case fu:l+=ph(n,e,u,o,1,0),c+=ph(n,e,u,yu,0,0,1)+s;break;default:l+=ph(n,e,u,o,1,0)}(l||c)&&gh(t,u,l,c),(l=Math.round(u.bounds.x1-r))<0&&(gh(t,e,-l,0),gh(t,u,-l,0))}else(i||a)&&gh(t,e,i,a)}(t,u,u.items[0].items[0]),l=function(t,n){return t.items.forEach(t=>n.union(t.bounds)),n.x1=t.padding,n.y1=t.padding,n}(u,l),e=2*u.padding,r=2*u.padding,l.empty()||(e=Math.ceil(l.width()+e),r=Math.ceil(l.height()+r)),o.type===Nu&&(i=u.items[0].items[0].items[0].items,a=i.reduce(function(t,n){return t[n.column]=Math.max(n.bounds.x2-n.x,t[n.column]||0),t},{}),i.forEach(function(t){t.width=a[t.column],t.height=t.bounds.y2-t.y})),s!==qu&&(u.x=c=0,u.y=f=0),u.width=e,u.height=r,el(l.set(c,f,c+e,f+r),u),u.mark.bounds.clear().union(l),u}function ph(t,n,e,r,i,a,u){const o="symbol"!==t.datum.type,s=e.datum.vgrad,l=(!o||!a&&s||u?n:n.items[0]).bounds[i?"x2":"y2"]-t.padding,c=s&&a?l:0,f=s&&a?0:l;return Math.round(r===mu?c:r===yu?f:.5*l)}function gh(t,n,e,r){n.x+=e,n.y+=r,n.bounds.translate(e,r),n.mark.bounds.translate(e,r),t.dirty(n)}function mh(t){$r.call(this,null,t)}et(mh,$r).transform=function(t,n){var e=n.dataflow;return t.mark.items.forEach(function(n){t.layout&&ah(e,n,t.layout),function(t,n,e){var r,i,a,u,o,s=n.items,l=Math.max(0,n.width||0),c=Math.max(0,n.height||0),f=(new Hu).set(0,0,l,c),h=f.clone(),d=f.clone(),p=[];for(u=0,o=s.length;u<o;++u)switch((i=s[u]).role){case wu:(Jf(i)?h:d).union(Qf(t,i,l,c));break;case Au:r=i;break;case Eu:p.push(dh(t,i));break;case Mu:case ku:case Cu:case Du:case Fu:case Su:case Bu:case Ou:h.union(i.bounds),d.union(i.bounds);break;default:f.union(i.bounds)}if(p.length){const n={};p.forEach(t=>{(a=t.orient||cu)!==qu&&(n[a]||(n[a]=[])).push(t)});for(let r in n){const i=n[r];ih(t,i,hh(i,r,e.legends,h,d,l,c))}p.forEach(n=>{const r=n.bounds;if(r.equals(n._bounds)||(n.bounds=n._bounds,t.dirty(n),n.bounds=r,t.dirty(n)),e.autosize&&e.autosize.type===Tu)switch(n.orient){case lu:case cu:f.add(r.x1,0).add(r.x2,0);break;case su:case fu:f.add(0,r.y1).add(0,r.y2)}else f.union(r)})}f.union(h).union(d),r&&f.union(function(t,n,e,r,i){var a,u=n.items[0],o=u.frame,s=u.orient,l=u.anchor,c=u.offset,f=u.bounds,h=0,d=s===lu||s===cu?r:e,p=0,g=0;switch(o!==bu?s===lu?(h=i.y2,d=i.y1):s===cu?(h=i.y1,d=i.y2):(h=i.x1,d=i.x2):s===lu&&(h=r,d=0),a=l===mu?h:l===yu?d:(h+d)/2,Vf.clear().union(f),s){case su:p=a,g=i.y1-c;break;case lu:p=i.x1-c,g=a;break;case cu:p=i.x2+c,g=a;break;case fu:p=a,g=i.y2+c;break;default:p=u.x,g=u.y}return f.translate(p-(u.x||0),g-(u.y||0)),Xf(u,"x",p)|Xf(u,"y",g)&&(u.bounds=Vf,t.dirty(u),u.bounds=f,t.dirty(u)),n.bounds.clear().union(f)}(t,r,l,c,f));!function(t,n,e,r){var i=r.autosize||{},a=i.type,u=t._width,o=t._height,s=t.padding();if(t._autosize<1||!a)return;var l=Math.max(0,n.width||0),c=Math.max(0,Math.ceil(-e.x1)),f=Math.max(0,Math.ceil(e.x2-l)),h=Math.max(0,n.height||0),d=Math.max(0,Math.ceil(-e.y1)),p=Math.max(0,Math.ceil(e.y2-h));i.contains===zu&&(u-=s.left+s.right,o-=s.top+s.bottom);a===qu?(c=0,d=0,l=u,h=o):a===Tu?(l=Math.max(0,u-c-f),h=Math.max(0,o-d-p)):a===Ru?(l=Math.max(0,u-c-f),o=h+d+p):a===Pu?(u=l+c+f,h=Math.max(0,o-d-p)):a===Lu&&(u=l+c+f,o=h+d+p);t._resizeView(u,o,l,h,[c,d],i.resize)}(t,n,f,e)}(e,n,t)}),t.modified()&&n.reflow(),n};var vh=Object.freeze({bound:Nf,identifier:Pf,mark:Lf,overlap:qf,render:Gf,viewlayout:mh});function yh(t,n,e){var r=t-n+2*e;return t?r>0?r:1:0}const xh="identity",_h="linear",bh="log",wh="pow",Ah="sqrt",Mh="symlog",kh="time",Eh="utc",Ch="sequential",Dh="diverging",Fh="quantile",Sh="quantize",Bh="threshold",Oh="ordinal",zh="point",Nh="band",Th="bin-ordinal";function Rh(t){return t===Fh}function Ph(t){return function(t){return t&&t.startsWith(Ch)}(t)||function(t){return t&&t.startsWith(Dh)}(t)}function Lh(t){return t===bh||t.endsWith("-log")}function qh(t){switch(t){case _h:case bh:case wh:case Ah:case Mh:case kh:case Eh:case Ch:return!0}return!1}function Uh(t){return t===Th||t===Oh||t===Nh||t===zh}function jh(t){return t===Th||t===Fh||t===Sh||t===Bh}var $h={millisecond:Nn,second:Pn,minute:Ln,hour:qn,day:Un,week:$n,month:Hn,year:Yn},Ih={millisecond:Nn,second:Pn,minute:Gn,hour:Vn,day:Xn,week:Jn,month:te,year:ne};function Wh(t,n){const e=n===Eh?Ih:$h;return e.hasOwnProperty(t)&&e[t]}function Hh(t,n){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(n).domain(t)}return this}function Yh(t,n){switch(arguments.length){case 0:break;case 1:this.interpolator(t);break;default:this.interpolator(n).domain(t)}return this}const Gh=Symbol("implicit");function Vh(){var t=new Map,n=[],e=[],r=Gh;function i(i){var a=i+"",u=t.get(a);if(!u){if(r!==Gh)return r;t.set(a,u=n.push(i))}return e[(u-1)%e.length]}return i.domain=function(e){if(!arguments.length)return n.slice();n=[],t=new Map;for(const r of e){const e=r+"";t.has(e)||t.set(e,n.push(r))}return i},i.range=function(t){return arguments.length?(e=Array.from(t),i):e.slice()},i.unknown=function(t){return arguments.length?(r=t,i):r},i.copy=function(){return Vh(n,e).unknown(r)},Hh.apply(i,arguments),i}function Xh(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function Zh(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function Jh(){}var Qh="\\s*([+-]?\\d+)\\s*",Kh="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",td="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",nd=/^#([0-9a-f]{3})$/,ed=/^#([0-9a-f]{6})$/,rd=new RegExp("^rgb\\("+[Qh,Qh,Qh]+"\\)$"),id=new RegExp("^rgb\\("+[td,td,td]+"\\)$"),ad=new RegExp("^rgba\\("+[Qh,Qh,Qh,Kh]+"\\)$"),ud=new RegExp("^rgba\\("+[td,td,td,Kh]+"\\)$"),od=new RegExp("^hsl\\("+[Kh,td,td]+"\\)$"),sd=new RegExp("^hsla\\("+[Kh,td,td,Kh]+"\\)$"),ld={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};function cd(t){var n;return t=(t+"").trim().toLowerCase(),(n=nd.exec(t))?new gd((n=parseInt(n[1],16))>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):(n=ed.exec(t))?fd(parseInt(n[1],16)):(n=rd.exec(t))?new gd(n[1],n[2],n[3],1):(n=id.exec(t))?new gd(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=ad.exec(t))?hd(n[1],n[2],n[3],n[4]):(n=ud.exec(t))?hd(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=od.exec(t))?vd(n[1],n[2]/100,n[3]/100,1):(n=sd.exec(t))?vd(n[1],n[2]/100,n[3]/100,n[4]):ld.hasOwnProperty(t)?fd(ld[t]):"transparent"===t?new gd(NaN,NaN,NaN,0):null}function fd(t){return new gd(t>>16&255,t>>8&255,255&t,1)}function hd(t,n,e,r){return r<=0&&(t=n=e=NaN),new gd(t,n,e,r)}function dd(t){return t instanceof Jh||(t=cd(t)),t?new gd((t=t.rgb()).r,t.g,t.b,t.opacity):new gd}function pd(t,n,e,r){return 1===arguments.length?dd(t):new gd(t,n,e,null==r?1:r)}function gd(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function md(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function vd(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new xd(t,n,e,r)}function yd(t,n,e,r){return 1===arguments.length?function(t){if(t instanceof xd)return new xd(t.h,t.s,t.l,t.opacity);if(t instanceof Jh||(t=cd(t)),!t)return new xd;if(t instanceof xd)return t;var n=(t=t.rgb()).r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),a=Math.max(n,e,r),u=NaN,o=a-i,s=(a+i)/2;return o?(u=n===a?(e-r)/o+6*(e<r):e===a?(r-n)/o+2:(n-e)/o+4,o/=s<.5?a+i:2-a-i,u*=60):o=s>0&&s<1?0:u,new xd(u,o,s,t.opacity)}(t):new xd(t,n,e,null==r?1:r)}function xd(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function _d(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}Xh(Jh,cd,{displayable:function(){return this.rgb().displayable()},hex:function(){return this.rgb().hex()},toString:function(){return this.rgb()+""}}),Xh(gd,pd,Zh(Jh,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new gd(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new gd(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},hex:function(){return"#"+md(this.r)+md(this.g)+md(this.b)},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}})),Xh(xd,yd,Zh(Jh,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new xd(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new xd(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new gd(_d(t>=240?t-240:t+120,i,r),_d(t,i,r),_d(t<120?t+240:t-120,i,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var bd=Math.PI/180,wd=180/Math.PI,Ad=.96422,Md=1,kd=.82521,Ed=4/29,Cd=6/29,Dd=3*Cd*Cd,Fd=Cd*Cd*Cd;function Sd(t){if(t instanceof Od)return new Od(t.l,t.a,t.b,t.opacity);if(t instanceof Ld){if(isNaN(t.h))return new Od(t.l,0,0,t.opacity);var n=t.h*bd;return new Od(t.l,Math.cos(n)*t.c,Math.sin(n)*t.c,t.opacity)}t instanceof gd||(t=dd(t));var e,r,i=Rd(t.r),a=Rd(t.g),u=Rd(t.b),o=zd((.2225045*i+.7168786*a+.0606169*u)/Md);return i===a&&a===u?e=r=o:(e=zd((.4360747*i+.3850649*a+.1430804*u)/Ad),r=zd((.0139322*i+.0971045*a+.7141733*u)/kd)),new Od(116*o-16,500*(e-o),200*(o-r),t.opacity)}function Bd(t,n,e,r){return 1===arguments.length?Sd(t):new Od(t,n,e,null==r?1:r)}function Od(t,n,e,r){this.l=+t,this.a=+n,this.b=+e,this.opacity=+r}function zd(t){return t>Fd?Math.pow(t,1/3):t/Dd+Ed}function Nd(t){return t>Cd?t*t*t:Dd*(t-Ed)}function Td(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Rd(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Pd(t,n,e,r){return 1===arguments.length?function(t){if(t instanceof Ld)return new Ld(t.h,t.c,t.l,t.opacity);if(t instanceof Od||(t=Sd(t)),0===t.a&&0===t.b)return new Ld(NaN,0,t.l,t.opacity);var n=Math.atan2(t.b,t.a)*wd;return new Ld(n<0?n+360:n,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}(t):new Ld(t,n,e,null==r?1:r)}function Ld(t,n,e,r){this.h=+t,this.c=+n,this.l=+e,this.opacity=+r}Xh(Od,Bd,Zh(Jh,{brighter:function(t){return new Od(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new Od(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,n=isNaN(this.a)?t:t+this.a/500,e=isNaN(this.b)?t:t-this.b/200;return new gd(Td(3.1338561*(n=Ad*Nd(n))-1.6168667*(t=Md*Nd(t))-.4906146*(e=kd*Nd(e))),Td(-.9787684*n+1.9161415*t+.033454*e),Td(.0719453*n-.2289914*t+1.4052427*e),this.opacity)}})),Xh(Ld,Pd,Zh(Jh,{brighter:function(t){return new Ld(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new Ld(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return Sd(this).rgb()}}));var qd=-.14861,Ud=1.78277,jd=-.29227,$d=-.90649,Id=1.97294,Wd=Id*$d,Hd=Id*Ud,Yd=Ud*jd-$d*qd;function Gd(t,n,e,r){return 1===arguments.length?function(t){if(t instanceof Vd)return new Vd(t.h,t.s,t.l,t.opacity);t instanceof gd||(t=dd(t));var n=t.r/255,e=t.g/255,r=t.b/255,i=(Yd*r+Wd*n-Hd*e)/(Yd+Wd-Hd),a=r-i,u=(Id*(e-i)-jd*a)/$d,o=Math.sqrt(u*u+a*a)/(Id*i*(1-i)),s=o?Math.atan2(u,a)*wd-120:NaN;return new Vd(s<0?s+360:s,o,i,t.opacity)}(t):new Vd(t,n,e,null==r?1:r)}function Vd(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function Xd(t,n,e,r,i){var a=t*t,u=a*t;return((1-3*t+3*a-u)*n+(4-6*a+3*u)*e+(1+3*t+3*a-3*u)*r+u*i)/6}function Zd(t){var n=t.length-1;return function(e){var r=e<=0?e=0:e>=1?(e=1,n-1):Math.floor(e*n),i=t[r],a=t[r+1],u=r>0?t[r-1]:2*i-a,o=r<n-1?t[r+2]:2*a-i;return Xd((e-r/n)*n,u,i,a,o)}}function Jd(t){var n=t.length;return function(e){var r=Math.floor(((e%=1)<0?++e:e)*n),i=t[(r+n-1)%n],a=t[r%n],u=t[(r+1)%n],o=t[(r+2)%n];return Xd((e-r/n)*n,i,a,u,o)}}function Qd(t){return function(){return t}}function Kd(t,n){return function(e){return t+e*n}}function tp(t,n){var e=n-t;return e?Kd(t,e>180||e<-180?e-360*Math.round(e/360):e):Qd(isNaN(t)?n:t)}function np(t){return 1==(t=+t)?ep:function(n,e){return e-n?function(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}(n,e,t):Qd(isNaN(n)?e:n)}}function ep(t,n){var e=n-t;return e?Kd(t,e):Qd(isNaN(t)?n:t)}Xh(Vd,Gd,Zh(Jh,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Vd(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Vd(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*bd,n=+this.l,e=isNaN(this.s)?0:this.s*n*(1-n),r=Math.cos(t),i=Math.sin(t);return new gd(255*(n+e*(qd*r+Ud*i)),255*(n+e*(jd*r+$d*i)),255*(n+e*(Id*r)),this.opacity)}}));var rp=function t(n){var e=np(n);function r(t,n){var r=e((t=pd(t)).r,(n=pd(n)).r),i=e(t.g,n.g),a=e(t.b,n.b),u=ep(t.opacity,n.opacity);return function(n){return t.r=r(n),t.g=i(n),t.b=a(n),t.opacity=u(n),t+""}}return r.gamma=t,r}(1);function ip(t){return function(n){var e,r,i=n.length,a=new Array(i),u=new Array(i),o=new Array(i);for(e=0;e<i;++e)r=pd(n[e]),a[e]=r.r||0,u[e]=r.g||0,o[e]=r.b||0;return a=t(a),u=t(u),o=t(o),r.opacity=1,function(t){return r.r=a(t),r.g=u(t),r.b=o(t),r+""}}}var ap=ip(Zd),up=ip(Jd);function op(t,n){var e,r=n?n.length:0,i=t?Math.min(r,t.length):0,a=new Array(i),u=new Array(r);for(e=0;e<i;++e)a[e]=pp(t[e],n[e]);for(;e<r;++e)u[e]=n[e];return function(t){for(e=0;e<i;++e)u[e]=a[e](t);return u}}function sp(t,n){var e=new Date;return n-=t=+t,function(r){return e.setTime(t+n*r),e}}function lp(t,n){return n-=t=+t,function(e){return t+n*e}}function cp(t,n){var e,r={},i={};for(e in null!==t&&"object"==typeof t||(t={}),null!==n&&"object"==typeof n||(n={}),n)e in t?r[e]=pp(t[e],n[e]):i[e]=n[e];return function(t){for(e in r)i[e]=r[e](t);return i}}var fp=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,hp=new RegExp(fp.source,"g");function dp(t,n){var e,r,i,a=fp.lastIndex=hp.lastIndex=0,u=-1,o=[],s=[];for(t+="",n+="";(e=fp.exec(t))&&(r=hp.exec(n));)(i=r.index)>a&&(i=n.slice(a,i),o[u]?o[u]+=i:o[++u]=i),(e=e[0])===(r=r[0])?o[u]?o[u]+=r:o[++u]=r:(o[++u]=null,s.push({i:u,x:lp(e,r)})),a=hp.lastIndex;return a<n.length&&(i=n.slice(a),o[u]?o[u]+=i:o[++u]=i),o.length<2?s[0]?function(t){return function(n){return t(n)+""}}(s[0].x):function(t){return function(){return t}}(n):(n=s.length,function(t){for(var e,r=0;r<n;++r)o[(e=s[r]).i]=e.x(t);return o.join("")})}function pp(t,n){var e,r=typeof n;return null==n||"boolean"===r?Qd(n):("number"===r?lp:"string"===r?(e=cd(n))?(n=e,rp):dp:n instanceof cd?rp:n instanceof Date?sp:Array.isArray(n)?op:"function"!=typeof n.valueOf&&"function"!=typeof n.toString||isNaN(n)?cp:lp)(t,n)}function gp(t,n){return n-=t=+t,function(e){return Math.round(t+n*e)}}var mp,vp,yp,xp,_p=180/Math.PI,bp={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function wp(t,n,e,r,i,a){var u,o,s;return(u=Math.sqrt(t*t+n*n))&&(t/=u,n/=u),(s=t*e+n*r)&&(e-=t*s,r-=n*s),(o=Math.sqrt(e*e+r*r))&&(e/=o,r/=o,s/=o),t*r<n*e&&(t=-t,n=-n,s=-s,u=-u),{translateX:i,translateY:a,rotate:Math.atan2(n,t)*_p,skewX:Math.atan(s)*_p,scaleX:u,scaleY:o}}function Ap(t,n,e,r){function i(t){return t.length?t.pop()+" ":""}return function(a,u){var o=[],s=[];return a=t(a),u=t(u),function(t,r,i,a,u,o){if(t!==i||r!==a){var s=u.push("translate(",null,n,null,e);o.push({i:s-4,x:lp(t,i)},{i:s-2,x:lp(r,a)})}else(i||a)&&u.push("translate("+i+n+a+e)}(a.translateX,a.translateY,u.translateX,u.translateY,o,s),function(t,n,e,a){t!==n?(t-n>180?n+=360:n-t>180&&(t+=360),a.push({i:e.push(i(e)+"rotate(",null,r)-2,x:lp(t,n)})):n&&e.push(i(e)+"rotate("+n+r)}(a.rotate,u.rotate,o,s),function(t,n,e,a){t!==n?a.push({i:e.push(i(e)+"skewX(",null,r)-2,x:lp(t,n)}):n&&e.push(i(e)+"skewX("+n+r)}(a.skewX,u.skewX,o,s),function(t,n,e,r,a,u){if(t!==e||n!==r){var o=a.push(i(a)+"scale(",null,",",null,")");u.push({i:o-4,x:lp(t,e)},{i:o-2,x:lp(n,r)})}else 1===e&&1===r||a.push(i(a)+"scale("+e+","+r+")")}(a.scaleX,a.scaleY,u.scaleX,u.scaleY,o,s),a=u=null,function(t){for(var n,e=-1,r=s.length;++e<r;)o[(n=s[e]).i]=n.x(t);return o.join("")}}}var Mp=Ap(function(t){return"none"===t?bp:(mp||(mp=document.createElement("DIV"),vp=document.documentElement,yp=document.defaultView),mp.style.transform=t,t=yp.getComputedStyle(vp.appendChild(mp),null).getPropertyValue("transform"),vp.removeChild(mp),wp(+(t=t.slice(7,-1).split(","))[0],+t[1],+t[2],+t[3],+t[4],+t[5]))},"px, ","px)","deg)"),kp=Ap(function(t){return null==t?bp:(xp||(xp=document.createElementNS("http://www.w3.org/2000/svg","g")),xp.setAttribute("transform",t),(t=xp.transform.baseVal.consolidate())?wp((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):bp)},", ",")",")"),Ep=Math.SQRT2,Cp=2,Dp=4,Fp=1e-12;function Sp(t){return((t=Math.exp(t))+1/t)/2}function Bp(t){return function(n,e){var r=t((n=yd(n)).h,(e=yd(e)).h),i=ep(n.s,e.s),a=ep(n.l,e.l),u=ep(n.opacity,e.opacity);return function(t){return n.h=r(t),n.s=i(t),n.l=a(t),n.opacity=u(t),n+""}}}var Op=Bp(tp),zp=Bp(ep);function Np(t){return function(n,e){var r=t((n=Pd(n)).h,(e=Pd(e)).h),i=ep(n.c,e.c),a=ep(n.l,e.l),u=ep(n.opacity,e.opacity);return function(t){return n.h=r(t),n.c=i(t),n.l=a(t),n.opacity=u(t),n+""}}}var Tp=Np(tp),Rp=Np(ep);function Pp(t){return function n(e){function r(n,r){var i=t((n=Gd(n)).h,(r=Gd(r)).h),a=ep(n.s,r.s),u=ep(n.l,r.l),o=ep(n.opacity,r.opacity);return function(t){return n.h=i(t),n.s=a(t),n.l=u(Math.pow(t,e)),n.opacity=o(t),n+""}}return e=+e,r.gamma=n,r}(1)}var Lp=Pp(tp),qp=Pp(ep);function Up(t,n){for(var e=0,r=n.length-1,i=n[0],a=new Array(r<0?0:r);e<r;)a[e]=t(i,i=n[++e]);return function(t){var n=Math.max(0,Math.min(r-1,Math.floor(t*=r)));return a[n](t-n)}}var jp=Object.freeze({interpolate:pp,interpolateArray:op,interpolateBasis:Zd,interpolateBasisClosed:Jd,interpolateDate:sp,interpolateDiscrete:function(t){var n=t.length;return function(e){return t[Math.max(0,Math.min(n-1,Math.floor(e*n)))]}},interpolateHue:function(t,n){var e=tp(+t,+n);return function(t){var n=e(t);return n-360*Math.floor(n/360)}},interpolateNumber:lp,interpolateObject:cp,interpolateRound:gp,interpolateString:dp,interpolateTransformCss:Mp,interpolateTransformSvg:kp,interpolateZoom:function(t,n){var e,r,i=t[0],a=t[1],u=t[2],o=n[0],s=n[1],l=n[2],c=o-i,f=s-a,h=c*c+f*f;if(h<Fp)r=Math.log(l/u)/Ep,e=function(t){return[i+t*c,a+t*f,u*Math.exp(Ep*t*r)]};else{var d=Math.sqrt(h),p=(l*l-u*u+Dp*h)/(2*u*Cp*d),g=(l*l-u*u-Dp*h)/(2*l*Cp*d),m=Math.log(Math.sqrt(p*p+1)-p),v=Math.log(Math.sqrt(g*g+1)-g);r=(v-m)/Ep,e=function(t){var n,e=t*r,o=Sp(m),s=u/(Cp*d)*(o*(n=Ep*e+m,((n=Math.exp(2*n))-1)/(n+1))-function(t){return((t=Math.exp(t))-1/t)/2}(m));return[i+s*c,a+s*f,u*o/Sp(Ep*e+m)]}}return e.duration=1e3*r,e},interpolateRgb:rp,interpolateRgbBasis:ap,interpolateRgbBasisClosed:up,interpolateHsl:Op,interpolateHslLong:zp,interpolateLab:function(t,n){var e=ep((t=Bd(t)).l,(n=Bd(n)).l),r=ep(t.a,n.a),i=ep(t.b,n.b),a=ep(t.opacity,n.opacity);return function(n){return t.l=e(n),t.a=r(n),t.b=i(n),t.opacity=a(n),t+""}},interpolateHcl:Tp,interpolateHclLong:Rp,interpolateCubehelix:Lp,interpolateCubehelixLong:qp,piecewise:Up,quantize:function(t,n){for(var e=new Array(n),r=0;r<n;++r)e[r]=t(r/(n-1));return e}});function $p(t){return+t}var Ip=[0,1];function Wp(t){return t}function Hp(t,n){return(n-=t=+t)?function(e){return(e-t)/n}:(e=isNaN(n)?NaN:.5,function(){return e});var e}function Yp(t){var n,e=t[0],r=t[t.length-1];return e>r&&(n=e,e=r,r=n),function(t){return Math.max(e,Math.min(r,t))}}function Gp(t,n,e){var r=t[0],i=t[1],a=n[0],u=n[1];return i<r?(r=Hp(i,r),a=e(u,a)):(r=Hp(r,i),a=e(a,u)),function(t){return a(r(t))}}function Vp(t,n,e){var r=Math.min(t.length,n.length)-1,i=new Array(r),a=new Array(r),u=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),n=n.slice().reverse());++u<r;)i[u]=Hp(t[u],t[u+1]),a[u]=e(n[u],n[u+1]);return function(n){var e=ui(t,n,1,r)-1;return a[e](i[e](n))}}function Xp(t,n){return n.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function Zp(){var t,n,e,r,i,a,u=Ip,o=Ip,s=pp,l=Wp;function c(){return r=Math.min(u.length,o.length)>2?Vp:Gp,i=a=null,f}function f(n){return isNaN(n=+n)?e:(i||(i=r(u.map(t),o,s)))(t(l(n)))}return f.invert=function(e){return l(n((a||(a=r(o,u.map(t),lp)))(e)))},f.domain=function(t){return arguments.length?(u=Array.from(t,$p),l===Wp||(l=Yp(u)),c()):u.slice()},f.range=function(t){return arguments.length?(o=Array.from(t),c()):o.slice()},f.rangeRound=function(t){return o=Array.from(t),s=gp,c()},f.clamp=function(t){return arguments.length?(l=t?Yp(u):Wp,f):l!==Wp},f.interpolate=function(t){return arguments.length?(s=t,c()):s},f.unknown=function(t){return arguments.length?(e=t,f):e},function(e,r){return t=e,n=r,c()}}function Jp(t,n){return Zp()(t,n)}function Qp(t,n){if((e=(t=n?t.toExponential(n-1):t.toExponential()).indexOf("e"))<0)return null;var e,r=t.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+t.slice(e+1)]}function Kp(t){return(t=Qp(Math.abs(t)))?t[1]:NaN}var tg,ng=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function eg(t){return new rg(t)}function rg(t){if(!(n=ng.exec(t)))throw new Error("invalid format: "+t);var n;this.fill=n[1]||" ",this.align=n[2]||">",this.sign=n[3]||"-",this.symbol=n[4]||"",this.zero=!!n[5],this.width=n[6]&&+n[6],this.comma=!!n[7],this.precision=n[8]&&+n[8].slice(1),this.trim=!!n[9],this.type=n[10]||""}function ig(t,n){var e=Qp(t,n);if(!e)return t+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}eg.prototype=rg.prototype,rg.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var ag={"%":function(t,n){return(100*t).toFixed(n)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,n){return t.toExponential(n)},f:function(t,n){return t.toFixed(n)},g:function(t,n){return t.toPrecision(n)},o:function(t){return Math.round(t).toString(8)},p:function(t,n){return ig(100*t,n)},r:ig,s:function(t,n){var e=Qp(t,n);if(!e)return t+"";var r=e[0],i=e[1],a=i-(tg=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,u=r.length;return a===u?r:a>u?r+new Array(a-u+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+Qp(t,Math.max(0,n+a-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function ug(t){return t}var og,sg,lg,cg=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function fg(t){var n,e,r=t.grouping&&t.thousands?(n=t.grouping,e=t.thousands,function(t,r){for(var i=t.length,a=[],u=0,o=n[0],s=0;i>0&&o>0&&(s+o+1>r&&(o=Math.max(1,r-s)),a.push(t.substring(i-=o,i+o)),!((s+=o+1)>r));)o=n[u=(u+1)%n.length];return a.reverse().join(e)}):ug,i=t.currency,a=t.decimal,u=t.numerals?function(t){return function(n){return n.replace(/[0-9]/g,function(n){return t[+n]})}}(t.numerals):ug,o=t.percent||"%";function s(t){var n=(t=eg(t)).fill,e=t.align,s=t.sign,l=t.symbol,c=t.zero,f=t.width,h=t.comma,d=t.precision,p=t.trim,g=t.type;"n"===g?(h=!0,g="g"):ag[g]||(null==d&&(d=12),p=!0,g="g"),(c||"0"===n&&"="===e)&&(c=!0,n="0",e="=");var m="$"===l?i[0]:"#"===l&&/[boxX]/.test(g)?"0"+g.toLowerCase():"",v="$"===l?i[1]:/[%p]/.test(g)?o:"",y=ag[g],x=/[defgprs%]/.test(g);function _(t){var i,o,l,_=m,b=v;if("c"===g)b=y(t)+b,t="";else{var w=(t=+t)<0;if(t=y(Math.abs(t),d),p&&(t=function(t){t:for(var n,e=t.length,r=1,i=-1;r<e;++r)switch(t[r]){case".":i=n=r;break;case"0":0===i&&(i=r),n=r;break;default:if(i>0){if(!+t[r])break t;i=0}}return i>0?t.slice(0,i)+t.slice(n+1):t}(t)),w&&0==+t&&(w=!1),_=(w?"("===s?s:"-":"-"===s||"("===s?"":s)+_,b=("s"===g?cg[8+tg/3]:"")+b+(w&&"("===s?")":""),x)for(i=-1,o=t.length;++i<o;)if(48>(l=t.charCodeAt(i))||l>57){b=(46===l?a+t.slice(i+1):t.slice(i))+b,t=t.slice(0,i);break}}h&&!c&&(t=r(t,1/0));var A=_.length+t.length+b.length,M=A<f?new Array(f-A+1).join(n):"";switch(h&&c&&(t=r(M+t,M.length?f-b.length:1/0),M=""),e){case"<":t=_+t+b+M;break;case"=":t=_+M+t+b;break;case"^":t=M.slice(0,A=M.length>>1)+_+t+b+M.slice(A);break;default:t=M+_+t+b}return u(t)}return d=null==d?6:/[gprs]/.test(g)?Math.max(1,Math.min(21,d)):Math.max(0,Math.min(20,d)),_.toString=function(){return t+""},_}return{format:s,formatPrefix:function(t,n){var e=s(((t=eg(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(Kp(n)/3))),i=Math.pow(10,-r),a=cg[8+r/3];return function(t){return e(i*t)+a}}}}function hg(t){return og=fg(t),sg=og.format,lg=og.formatPrefix,og}function dg(t,n,e,r){var i,a=gi(t,n,e);switch((r=eg(null==r?",f":r)).type){case"s":var u=Math.max(Math.abs(t),Math.abs(n));return null!=r.precision||isNaN(i=function(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Kp(n)/3)))-Kp(Math.abs(t)))}(a,u))||(r.precision=i),lg(r,u);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=function(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,Kp(n)-Kp(t))+1}(a,Math.max(Math.abs(t),Math.abs(n))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=function(t){return Math.max(0,-Kp(Math.abs(t)))}(a))||(r.precision=i-2*("%"===r.type))}return sg(r)}function pg(t){var n=t.domain;return t.ticks=function(t){var e=n();return di(e[0],e[e.length-1],null==t?10:t)},t.tickFormat=function(t,e){var r=n();return dg(r[0],r[r.length-1],null==t?10:t,e)},t.nice=function(e){null==e&&(e=10);var r,i=n(),a=0,u=i.length-1,o=i[a],s=i[u];return s<o&&(r=o,o=s,s=r,r=a,a=u,u=r),(r=pi(o,s,e))>0?r=pi(o=Math.floor(o/r)*r,s=Math.ceil(s/r)*r,e):r<0&&(r=pi(o=Math.ceil(o*r)/r,s=Math.floor(s*r)/r,e)),r>0?(i[a]=Math.floor(o/r)*r,i[u]=Math.ceil(s/r)*r,n(i)):r<0&&(i[a]=Math.ceil(o*r)/r,i[u]=Math.floor(s*r)/r,n(i)),t},t}function gg(t,n){var e,r=0,i=(t=t.slice()).length-1,a=t[r],u=t[i];return u<a&&(e=r,r=i,i=e,e=a,a=u,u=e),t[r]=n.floor(a),t[i]=n.ceil(u),t}function mg(t){return Math.log(t)}function vg(t){return Math.exp(t)}function yg(t){return-Math.log(-t)}function xg(t){return-Math.exp(-t)}function _g(t){return isFinite(t)?+("1e"+t):t<0?0:t}function bg(t){return function(n){return-t(-n)}}function wg(t){var n,e,r=t(mg,vg),i=r.domain,a=10;function u(){return n=function(t){return t===Math.E?Math.log:10===t&&Math.log10||2===t&&Math.log2||(t=Math.log(t),function(n){return Math.log(n)/t})}(a),e=function(t){return 10===t?_g:t===Math.E?Math.exp:function(n){return Math.pow(t,n)}}(a),i()[0]<0?(n=bg(n),e=bg(e),t(yg,xg)):t(mg,vg),r}return r.base=function(t){return arguments.length?(a=+t,u()):a},r.domain=function(t){return arguments.length?(i(t),u()):i()},r.ticks=function(t){var r,u=i(),o=u[0],s=u[u.length-1];(r=s<o)&&(h=o,o=s,s=h);var l,c,f,h=n(o),d=n(s),p=null==t?10:+t,g=[];if(!(a%1)&&d-h<p){if(h=Math.round(h)-1,d=Math.round(d)+1,o>0){for(;h<d;++h)for(c=1,l=e(h);c<a;++c)if(!((f=l*c)<o)){if(f>s)break;g.push(f)}}else for(;h<d;++h)for(c=a-1,l=e(h);c>=1;--c)if(!((f=l*c)<o)){if(f>s)break;g.push(f)}}else g=di(h,d,Math.min(d-h,p)).map(e);return r?g.reverse():g},r.tickFormat=function(t,i){if(null==i&&(i=10===a?".0e":","),"function"!=typeof i&&(i=sg(i)),t===1/0)return i;null==t&&(t=10);var u=Math.max(1,a*t/r.ticks().length);return function(t){var r=t/e(Math.round(n(t)));return r*a<a-.5&&(r*=a),r<=u?i(t):""}},r.nice=function(){return i(gg(i(),{floor:function(t){return e(Math.floor(n(t)))},ceil:function(t){return e(Math.ceil(n(t)))}}))},r}function Ag(t){return function(n){return Math.sign(n)*Math.log1p(Math.abs(n/t))}}function Mg(t){return function(n){return Math.sign(n)*Math.expm1(Math.abs(n))*t}}function kg(t){var n=1,e=t(Ag(n),Mg(n));return e.constant=function(e){return arguments.length?t(Ag(n=+e),Mg(n)):n},pg(e)}function Eg(t){return function(n){return n<0?-Math.pow(-n,t):Math.pow(n,t)}}function Cg(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function Dg(t){return t<0?-t*t:t*t}function Fg(t){var n=t(Wp,Wp),e=1;return n.exponent=function(n){return arguments.length?1===(e=+n)?t(Wp,Wp):.5===e?t(Cg,Dg):t(Eg(e),Eg(1/e)):e},pg(n)}function Sg(){var t=Fg(Zp());return t.copy=function(){return Xp(t,Sg()).exponent(t.exponent())},Hh.apply(t,arguments),t}hg({decimal:".",thousands:",",grouping:[3],currency:["$",""]});var Bg=1e3,Og=60*Bg,zg=60*Og,Ng=24*zg,Tg=7*Ng,Rg=30*Ng,Pg=365*Ng;function Lg(t){return new Date(t)}function qg(t){return t instanceof Date?+t:+new Date(+t)}function Ug(t,n,e,r,i,a,u,o,s){var l=Jp(Wp,Wp),c=l.invert,f=l.domain,h=s(".%L"),d=s(":%S"),p=s("%I:%M"),g=s("%I %p"),m=s("%a %d"),v=s("%b %d"),y=s("%B"),x=s("%Y"),_=[[u,1,Bg],[u,5,5*Bg],[u,15,15*Bg],[u,30,30*Bg],[a,1,Og],[a,5,5*Og],[a,15,15*Og],[a,30,30*Og],[i,1,zg],[i,3,3*zg],[i,6,6*zg],[i,12,12*zg],[r,1,Ng],[r,2,2*Ng],[e,1,Tg],[n,1,Rg],[n,3,3*Rg],[t,1,Pg]];function b(o){return(u(o)<o?h:a(o)<o?d:i(o)<o?p:r(o)<o?g:n(o)<o?e(o)<o?m:v:t(o)<o?y:x)(o)}function w(n,e,r,i){if(null==n&&(n=10),"number"==typeof n){var a=Math.abs(r-e)/n,u=ii(function(t){return t[2]}).right(_,a);u===_.length?(i=gi(e/Pg,r/Pg,n),n=t):u?(i=(u=_[a/_[u-1][2]<_[u][2]/a?u-1:u])[1],n=u[0]):(i=Math.max(gi(e,r,n),1),n=o)}return null==i?n:n.every(i)}return l.invert=function(t){return new Date(c(t))},l.domain=function(t){return arguments.length?f(Array.from(t,qg)):f().map(Lg)},l.ticks=function(t,n){var e,r=f(),i=r[0],a=r[r.length-1],u=a<i;return u&&(e=i,i=a,a=e),e=(e=w(t,i,a,n))?e.range(i,a+1):[],u?e.reverse():e},l.tickFormat=function(t,n){return null==n?b:s(n)},l.nice=function(t,n){var e=f();return(t=w(t,e[0],e[e.length-1],n))?f(gg(e,t)):l},l.copy=function(){return Xp(l,Ug(t,n,e,r,i,a,u,o,s))},l}function jg(){var t,n,e,r,i,a=0,u=1,o=Wp,s=!1;function l(n){return isNaN(n=+n)?i:o(0===e?.5:(n=(r(n)-t)*e,s?Math.max(0,Math.min(1,n)):n))}return l.domain=function(i){return arguments.length?([a,u]=i,t=r(a=+a),n=r(u=+u),e=t===n?0:1/(n-t),l):[a,u]},l.clamp=function(t){return arguments.length?(s=!!t,l):s},l.interpolator=function(t){return arguments.length?(o=t,l):o},l.unknown=function(t){return arguments.length?(i=t,l):i},function(i){return r=i,t=i(a),n=i(u),e=t===n?0:1/(n-t),l}}function $g(t,n){return n.domain(t.domain()).interpolator(t.interpolator()).clamp(t.clamp()).unknown(t.unknown())}function Ig(){var t=pg(jg()(Wp));return t.copy=function(){return $g(t,Ig())},Yh.apply(t,arguments)}function Wg(){var t=Fg(jg());return t.copy=function(){return $g(t,Wg()).exponent(t.exponent())},Yh.apply(t,arguments)}function Hg(){var t,n,e,r,i,a,u,o=0,s=.5,l=1,c=Wp,f=!1;function h(t){return isNaN(t=+t)?u:(t=.5+((t=+a(t))-n)*(t<n?r:i),c(f?Math.max(0,Math.min(1,t)):t))}return h.domain=function(u){return arguments.length?([o,s,l]=u,t=a(o=+o),n=a(s=+s),e=a(l=+l),r=t===n?0:.5/(n-t),i=n===e?0:.5/(e-n),h):[o,s,l]},h.clamp=function(t){return arguments.length?(f=!!t,h):f},h.interpolator=function(t){return arguments.length?(c=t,h):c},h.unknown=function(t){return arguments.length?(u=t,h):u},function(u){return a=u,t=u(o),n=u(s),e=u(l),r=t===n?0:.5/(n-t),i=n===e?0:.5/(e-n),h}}function Yg(){var t=Fg(Hg());return t.copy=function(){return $g(t,Yg()).exponent(t.exponent())},Yh.apply(t,arguments)}function Gg(){var t,n,e=Vh().unknown(void 0),r=e.domain,i=e.range,a=[0,1],u=!1,o=0,s=0,l=.5;function c(){var e=r().length,c=a[1]<a[0],f=a[c-0],h=a[1-c],d=yh(e,o,s);t=(h-f)/(d||1),u&&(t=Math.floor(t)),f+=(h-f-t*(e-o))*l,n=t*(1-o),u&&(f=Math.round(f),n=Math.round(n));var p=li(e).map(function(n){return f+t*n});return i(c?p.reverse():p)}return delete e.unknown,e.domain=function(t){return arguments.length?(r(t),c()):r()},e.range=function(t){return arguments.length?(a=[+t[0],+t[1]],c()):a.slice()},e.rangeRound=function(t){return a=[+t[0],+t[1]],u=!0,c()},e.bandwidth=function(){return n},e.step=function(){return t},e.round=function(t){return arguments.length?(u=!!t,c()):u},e.padding=function(t){return arguments.length?(s=Math.max(0,Math.min(1,t)),o=s,c()):o},e.paddingInner=function(t){return arguments.length?(o=Math.max(0,Math.min(1,t)),c()):o},e.paddingOuter=function(t){return arguments.length?(s=Math.max(0,Math.min(1,t)),c()):s},e.align=function(t){return arguments.length?(l=Math.max(0,Math.min(1,t)),c()):l},e.invertRange=function(t){if(null!=t[0]&&null!=t[1]){var e,u,o,s=+t[0],l=+t[1],c=a[1]<a[0],f=c?i().reverse():i(),h=f.length-1;if(s==s&&l==l&&(l<s&&(o=s,s=l,l=o),!(l<f[0]||s>a[1-c])))return e=Math.max(0,ui(f,s)-1),u=s===l?e:ui(f,l)-1,s-f[e]>n+1e-10&&++e,c&&(o=e,e=h-u,u=h-o),e>u?void 0:r().slice(e,u+1)}},e.invert=function(t){var n=e.invertRange([t,t]);return n?n[0]:n},e.copy=function(){return Gg().domain(r()).range(a).round(u).paddingInner(o).paddingOuter(s).align(l)},c()}var Vg=Array.prototype.map;var Xg=Array.prototype.slice;function Zg(t,n){return arguments.length>1?(Jg[t]=function(t,n){return function(){var e=n();return e.invertRange||(e.invertRange=e.invert?function(t){return function(n){var e,r=n[0],i=n[1];return i<r&&(e=r,r=i,i=e),[t.invert(r),t.invert(i)]}}(e):e.invertExtent?function(t){return function(n){var e,r,i,a,u=t.range(),o=n[0],s=n[1],l=-1;for(s<o&&(r=o,o=s,s=r),i=0,a=u.length;i<a;++i)u[i]>=o&&u[i]<=s&&(l<0&&(l=i),e=i);if(!(l<0))return o=t.invertExtent(u[l]),s=t.invertExtent(u[e]),[void 0===o[0]?o[1]:o[0],void 0===s[1]?s[0]:s[1]]}}(e):void 0),e.type=t,e}}(t,n),this):Jg.hasOwnProperty(t)?Jg[t]:void 0}var Jg={[xh]:function t(n){var e;function r(t){return isNaN(t=+t)?e:t}return r.invert=r,r.domain=r.range=function(t){return arguments.length?(n=Array.from(t,$p),r):n.slice()},r.unknown=function(t){return arguments.length?(e=t,r):e},r.copy=function(){return t(n).unknown(e)},n=arguments.length?Array.from(n,$p):[0,1],pg(r)},[_h]:function t(){var n=Jp(Wp,Wp);return n.copy=function(){return Xp(n,t())},Hh.apply(n,arguments),pg(n)},[bh]:function t(){var n=wg(Zp()).domain([1,10]);return n.copy=function(){return Xp(n,t()).base(n.base())},Hh.apply(n,arguments),n},[wh]:Sg,[Ah]:function(){return Sg.apply(null,arguments).exponent(.5)},[Mh]:function t(){var n=kg(Zp());return n.copy=function(){return Xp(n,t()).constant(n.constant())},Hh.apply(n,arguments)},[kh]:function(){return Hh.apply(Ug(Yn,Hn,$n,Un,qn,Ln,Pn,Nn,ue).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)},[Eh]:function(){return Hh.apply(Ug(ne,te,Jn,Xn,Vn,Gn,Pn,Nn,se).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)},[Ch]:Ig,[Ch+"-"+_h]:Ig,[Ch+"-"+bh]:function t(){var n=wg(jg()).domain([1,10]);return n.copy=function(){return $g(n,t()).base(n.base())},Yh.apply(n,arguments)},[Ch+"-"+wh]:Wg,[Ch+"-"+Ah]:function(){return Wg.apply(null,arguments).exponent(.5)},[Ch+"-"+Mh]:function t(){var n=kg(jg());return n.copy=function(){return $g(n,t()).constant(n.constant())},Yh.apply(n,arguments)},[Dh+"-"+_h]:function t(){var n=pg(Hg()(Wp));return n.copy=function(){return $g(n,t())},Yh.apply(n,arguments)},[Dh+"-"+bh]:function t(){var n=wg(Hg()).domain([.1,1,10]);return n.copy=function(){return $g(n,t()).base(n.base())},Yh.apply(n,arguments)},[Dh+"-"+wh]:Yg,[Dh+"-"+Ah]:function(){return Yg.apply(null,arguments).exponent(.5)},[Dh+"-"+Mh]:function t(){var n=kg(Hg());return n.copy=function(){return $g(n,t()).constant(n.constant())},Yh.apply(n,arguments)},[Fh]:function t(){var n,e=[],r=[],i=[];function a(){var t=0,n=Math.max(1,r.length);for(i=new Array(n-1);++t<n;)i[t-1]=mi(e,t/n);return u}function u(t){return isNaN(t=+t)?n:r[ui(i,t)]}return u.invertExtent=function(t){var n=r.indexOf(t);return n<0?[NaN,NaN]:[n>0?i[n-1]:e[0],n<i.length?i[n]:e[e.length-1]]},u.domain=function(t){if(!arguments.length)return e.slice();e=[];for(let n of t)null==n||isNaN(n=+n)||e.push(n);return e.sort(ri),a()},u.range=function(t){return arguments.length?(r=Array.from(t),a()):r.slice()},u.unknown=function(t){return arguments.length?(n=t,u):n},u.quantiles=function(){return i.slice()},u.copy=function(){return t().domain(e).range(r).unknown(n)},Hh.apply(u,arguments)},[Sh]:function t(){var n,e=0,r=1,i=1,a=[.5],u=[0,1];function o(t){return t<=t?u[ui(a,t,0,i)]:n}function s(){var t=-1;for(a=new Array(i);++t<i;)a[t]=((t+1)*r-(t-i)*e)/(i+1);return o}return o.domain=function(t){return arguments.length?([e,r]=t,e=+e,r=+r,s()):[e,r]},o.range=function(t){return arguments.length?(i=(u=Array.from(t)).length-1,s()):u.slice()},o.invertExtent=function(t){var n=u.indexOf(t);return n<0?[NaN,NaN]:n<1?[e,a[0]]:n>=i?[a[i-1],r]:[a[n-1],a[n]]},o.unknown=function(t){return arguments.length?(n=t,o):o},o.thresholds=function(){return a.slice()},o.copy=function(){return t().domain([e,r]).range(u).unknown(n)},Hh.apply(pg(o),arguments)},[Bh]:function t(){var n,e=[.5],r=[0,1],i=1;function a(t){return t<=t?r[ui(e,t,0,i)]:n}return a.domain=function(t){return arguments.length?(e=Array.from(t),i=Math.min(e.length,r.length-1),a):e.slice()},a.range=function(t){return arguments.length?(r=Array.from(t),i=Math.min(e.length,r.length-1),a):r.slice()},a.invertExtent=function(t){var n=r.indexOf(t);return[e[n-1],e[n]]},a.unknown=function(t){return arguments.length?(n=t,a):n},a.copy=function(){return t().domain(e).range(r).unknown(n)},Hh.apply(a,arguments)},[Th]:function t(){var n=[],e=[];function r(t){return null==t||t!=t?void 0:e[(ui(n,t)-1)%e.length]}return r.domain=function(t){return arguments.length?(n=function(t){return Vg.call(t,function(t){return+t})}(t),r):n.slice()},r.range=function(t){return arguments.length?(e=Xg.call(t),r):e.slice()},r.tickFormat=function(t,e){return dg(n[0],k(n),null==t?10:t,e)},r.copy=function(){return t().domain(r.domain()).range(r.range())},r},[Oh]:Vh,[Nh]:Gg,[zh]:function(){return function t(n){var e=n.copy;return n.padding=n.paddingOuter,delete n.paddingInner,n.copy=function(){return t(e())},n}(Gg().paddingInner(1))}};for(var Qg in Jg)Zg(Qg,Jg[Qg]);const Kg=["clamp","base","constant","exponent"];function tm(t,n){var e=n[0],r=k(n)-e;return function(n){return t(e+n*r)}}function nm(t,n,e){return Up(im(n||"rgb",e),t)}function em(t,n){for(var e=new Array(n),r=n+1,i=0;i<n;)e[i]=t(++i/r);return e}function rm(t,n,e){var r,i,a,u=e-n;return u&&isFinite(u)?(r=(i=t.type).indexOf("-"),i=r<0?i:i.slice(r+1),a=Zg(i)().domain([n,e]).range([0,1]),Kg.forEach(n=>t[n]?a[n](t[n]()):0),a):V(.5)}function im(t,n){var e=jp[function(t){return"interpolate"+t.toLowerCase().split("-").map(function(t){return t[0].toUpperCase()+t.slice(1)}).join("")}(t)];return null!=n&&e&&e.gamma?e.gamma(n):e}function am(t){for(var n=t.length/6|0,e=new Array(n),r=0;r<n;)e[r]="#"+t.slice(6*r,6*++r);return e}function um(t,n){for(let e in t)sm(e,n(t[e]))}const om={};function sm(t,n){return t=t&&t.toLowerCase(),arguments.length>1?(om[t]=n,this):om[t]}function lm(t,n,e){var r;return ut(n)&&null!=e&&(n=Math.min(n,~~(dt(t.domain())/e)||1)),o(n)&&(r=n.step,n=n.interval),s(n)&&(n=Wh(n,t.type)||i("Only time and utc scales accept interval strings."),r&&(n=n.every(r))),n}function cm(t,n,e){var r=t.range(),i=Math.floor(r[0]),a=Math.ceil(k(r));if(i>a&&(r=a,a=i,i=r),n=n.filter(function(n){return n=t(n),i<=n&&n<=a}),e>0&&n.length>1){for(var u=[n[0],k(n)];n.length>e&&n.length>=3;)n=n.filter(function(t,n){return!(n%2)});n.length<3&&(n=u)}return n}function fm(t,n){return t.bins?cm(t,function(t,n){var e=t.length,r=~~(e/(n||e));return r<2?t.slice():t.filter(function(t,n){return!(n%r)})}(t.bins,n)):t.ticks?t.ticks(n):t.domain()}function hm(t,n,e,r){var i,a,u=t.tickFormat?t.tickFormat(n,e):e&&r===kh?ue(e):e?sg(e):String;if(Lh(t.type)){var o=function(t){var n=eg(t||",");if(null==n.precision){switch(n.precision=12,n.type){case"%":n.precision-=2;break;case"e":n.precision-=1}return e=sg(n),r=sg(".1f")(1)[1],function(t){var n,i,a=e(t),u=a.indexOf(r);if(u<0)return a;for(n=function(t,n){var e,r=t.lastIndexOf("e");if(r>0)return r;for(r=t.length;--r>n;)if((e=t.charCodeAt(r))>=48&&e<=57)return r+1}(a,u),i=n<a.length?a.slice(n):"";--n>u;)if("0"!==a[n]){++n;break}return a.slice(0,n)+i}}return sg(n);var e,r}(e);u=t.bins?o:(i=u,a=o,function(t){return i(t)?a(t):""})}return u}function dm(t){$r.call(this,null,t)}function pm(t){$r.call(this,null,t)}function gm(){return Dt({})}function mm(t){return t.exit}function vm(t){$r.call(this,null,t)}um({category10:"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf",category20:"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",category20b:"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",category20c:"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",tableau10:"4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",tableau20:"4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5",accent:"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666",dark2:"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666",paired:"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928",pastel1:"fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2",pastel2:"b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc",set1:"e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999",set2:"66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3",set3:"8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"},am),um({blues:"cfe1f2bed8eca8cee58fc1de74b2d75ba3cf4592c63181bd206fb2125ca40a4a90",greens:"d3eecdc0e6baabdda594d3917bc77d60ba6c46ab5e329a512089430e7735036429",greys:"e2e2e2d4d4d4c4c4c4b1b1b19d9d9d8888887575756262624d4d4d3535351e1e1e",oranges:"fdd8b3fdc998fdb87bfda55efc9244f87f2cf06b18e4580bd14904b93d029f3303",purples:"e2e1efd4d4e8c4c5e0b4b3d6a3a0cc928ec3827cb97566ae684ea25c3696501f8c",reds:"fdc9b4fcb49afc9e80fc8767fa7051f6573fec3f2fdc2a25c81b1db21218970b13",blueGreen:"d5efedc1e8e0a7ddd18bd2be70c6a958ba9144ad77319c5d2089460e7736036429",bluePurple:"ccddecbad0e4a8c2dd9ab0d4919cc98d85be8b6db28a55a6873c99822287730f71",greenBlue:"d3eecec5e8c3b1e1bb9bd8bb82cec269c2ca51b2cd3c9fc7288abd1675b10b60a1",orangeRed:"fddcaffdcf9bfdc18afdad77fb9562f67d53ee6545e24932d32d1ebf130da70403",purpleBlue:"dbdaebc8cee4b1c3de97b7d87bacd15b9fc93a90c01e7fb70b70ab056199045281",purpleBlueGreen:"dbd8eac8cee4b0c3de93b7d872acd1549fc83892bb1c88a3097f8702736b016353",purpleRed:"dcc9e2d3b3d7ce9eccd186c0da6bb2e14da0e23189d91e6fc61159ab07498f023a",redPurple:"fccfccfcbec0faa9b8f98faff571a5ec539ddb3695c41b8aa908808d0179700174",yellowGreen:"e4f4acd1eca0b9e2949ed68880c97c62bb6e47aa5e3297502083440e723b036034",yellowOrangeBrown:"feeaa1fedd84fecc63feb746fca031f68921eb7215db5e0bc54c05ab3d038f3204",yellowOrangeRed:"fee087fed16ffebd59fea849fd903efc7335f9522bee3423de1b20ca0b22af0225",blueOrange:"134b852f78b35da2cb9dcae1d2e5eff2f0ebfce0bafbbf74e8932fc5690d994a07",brownBlueGreen:"704108a0651ac79548e3c78af3e6c6eef1eac9e9e48ed1c74da79e187a72025147",purpleGreen:"5b1667834792a67fb6c9aed3e6d6e8eff0efd9efd5aedda971bb75368e490e5e29",purpleOrange:"4114696647968f83b7b9b4d6dadbebf3eeeafce0bafbbf74e8932fc5690d994a07",redBlue:"8c0d25bf363adf745ef4ae91fbdbc9f2efeed2e5ef9dcae15da2cb2f78b3134b85",redGrey:"8c0d25bf363adf745ef4ae91fcdccbfaf4f1e2e2e2c0c0c0969696646464343434",yellowGreenBlue:"eff9bddbf1b4bde5b594d5b969c5be45b4c22c9ec02182b82163aa23479c1c3185",redYellowBlue:"a50026d4322cf16e43fcac64fedd90faf8c1dcf1ecabd6e875abd04a74b4313695",redYellowGreen:"a50026d4322cf16e43fcac63fedd8df9f7aed7ee8ea4d86e64bc6122964f006837",pinkYellowGreen:"8e0152c0267edd72adf0b3d6faddedf5f3efe1f2cab6de8780bb474f9125276419",spectral:"9e0142d13c4bf0704afcac63fedd8dfbf8b0e0f3a1a9dda269bda94288b55e4fa2",viridis:"440154470e61481a6c482575472f7d443a834144873d4e8a39568c35608d31688e2d708e2a788e27818e23888e21918d1f988b1fa08822a8842ab07f35b77943bf7154c56866cc5d7ad1518fd744a5db36bcdf27d2e21be9e51afde725",magma:"0000040404130b0924150e3720114b2c11603b0f704a107957157e651a80721f817f24828c29819a2e80a8327db6377ac43c75d1426fde4968e95462f1605df76f5cfa7f5efc8f65fe9f6dfeaf78febf84fece91fddea0fcedaffcfdbf",inferno:"0000040403130c0826170c3b240c4f330a5f420a68500d6c5d126e6b176e781c6d86216b932667a12b62ae305cbb3755c73e4cd24644dd513ae65c30ed6925f3771af8850ffb9506fca50afcb519fac62df6d645f2e661f3f484fcffa4",plasma:"0d088723069033059742039d5002a25d01a66a00a87801a88405a7900da49c179ea72198b12a90ba3488c33d80cb4779d35171da5a69e16462e76e5bed7953f2834cf68f44fa9a3dfca636fdb32ffec029fcce25f9dc24f5ea27f0f921",rainbow:"6e40aa883eb1a43db3bf3cafd83fa4ee4395fe4b83ff576eff6659ff7847ff8c38f3a130e2b72fcfcc36bee044aff05b8ff4576ff65b52f6673af27828ea8d1ddfa319d0b81cbecb23abd82f96e03d82e14c6edb5a5dd0664dbf6e40aa",sinebow:"ff4040fc582af47218e78d0bd5a703bfbf00a7d5038de70b72f41858fc2a40ff402afc5818f4720be78d03d5a700bfbf03a7d50b8de71872f42a58fc4040ff582afc7218f48d0be7a703d5bf00bfd503a7e70b8df41872fc2a58ff4040",browns:"eedbbdecca96e9b97ae4a865dc9856d18954c7784cc0673fb85536ad44339f3632",tealBlues:"bce4d89dd3d181c3cb65b3c245a2b9368fae347da0306a932c5985",teals:"bbdfdfa2d4d58ac9c975bcbb61b0af4da5a43799982b8b8c1e7f7f127273006667",warmGreys:"dcd4d0cec5c1c0b8b4b3aaa7a59c9998908c8b827f7e7673726866665c5a59504e",goldGreen:"f4d166d5ca60b6c35c98bb597cb25760a6564b9c533f8f4f33834a257740146c36",goldOrange:"f4d166f8be5cf8aa4cf5983bf3852aef701be2621fd65322c54923b142239e3a26",goldRed:"f4d166f6be59f9aa51fc964ef6834bee734ae56249db5247cf4244c43141b71d3e",lightGreyRed:"efe9e6e1dad7d5cbc8c8bdb9bbaea9cd967ddc7b43e15f19df4011dc000b",lightGreyTeal:"e4eaead6dcddc8ced2b7c2c7a6b4bc64b0bf22a6c32295c11f85be1876bc",lightMulti:"e0f1f2c4e9d0b0de9fd0e181f6e072f6c053f3993ef77440ef4a3c",lightOrange:"f2e7daf7d5baf9c499fab184fa9c73f68967ef7860e8645bde515bd43d5b",lightTealBlue:"e3e9e0c0dccf9aceca7abfc859afc0389fb9328dad2f7ca0276b95255988",darkBlue:"3232322d46681a5c930074af008cbf05a7ce25c0dd38daed50f3faffffff",darkGold:"3c3c3c584b37725e348c7631ae8b2bcfa424ecc31ef9de30fff184ffffff",darkGreen:"3a3a3a215748006f4d048942489e4276b340a6c63dd2d836ffeb2cffffaa",darkMulti:"3737371f5287197d8c29a86995ce3fffe800ffffff",darkRed:"3434347036339e3c38cc4037e75d1eec8620eeab29f0ce32ffeb2c"},t=>nm(am(t))),et(dm,$r).transform=function(t,n){if(this.value&&!t.modified())return n.StopPropagation;var e=n.fork(n.NO_SOURCE|n.NO_FIELDS),r=this.value,i=t.scale,a=lm(i,null==t.count?t.values?t.values.length:10:t.count,t.minstep),u=t.format||hm(i,a,t.formatSpecifier,t.formatType),o=t.values?cm(i,t.values,a):fm(i,a);return r&&(e.rem=r),r=o.map(function(t,n){return Dt({index:n/(o.length-1||1),value:t,label:u(t)})}),t.extra&&r.length&&r.push(Dt({index:-1,extra:{value:r[0].value},label:""})),e.source=r,e.add=r,this.value=r,e},et(pm,$r).transform=function(t,n){var e=n.dataflow,r=n.fork(n.NO_SOURCE|n.NO_FIELDS),a=t.item||gm,o=t.key||Et,s=this.value;return u(r.encode)&&(r.encode=null),s&&(t.modified("key")||n.modified(o))&&i("DataJoin does not support modified key function or fields."),s||(n=n.addAll(),this.value=s=tt().test(mm),s.lookup=function(t){return s.get(o(t))}),n.visit(n.ADD,function(t){var n=o(t),e=s.get(n);e?e.exit?(s.empty--,r.add.push(e)):r.mod.push(e):(s.set(n,e=a(t)),r.add.push(e)),e.datum=t,e.exit=!1}),n.visit(n.MOD,function(t){var n=o(t),e=s.get(n);e&&(e.datum=t,r.mod.push(e))}),n.visit(n.REM,function(t){var n=o(t),e=s.get(n);t!==e.datum||e.exit||(r.rem.push(e),e.exit=!0,++s.empty)}),n.changed(n.ADD_MOD)&&r.modifies("datum"),t.clean&&s.empty>e.cleanThreshold&&e.runAfter(s.clean),r},et(vm,$r).transform=function(t,n){var e=n.fork(n.ADD_REM),r=t.mod||!1,i=t.encoders,a=n.encode;if(u(a)){if(!e.changed()&&!a.every(function(t){return i[t]}))return n.StopPropagation;a=a[0],e.encode=null}var o="enter"===a,s=i.update||v,l=i.enter||v,c=i.exit||v,f=(a&&!o?i[a]:s)||v;if(n.changed(n.ADD)&&(n.visit(n.ADD,function(n){l(n,t),s(n,t)}),e.modifies(l.output),e.modifies(s.output),f!==v&&f!==s&&(n.visit(n.ADD,function(n){f(n,t)}),e.modifies(f.output))),n.changed(n.REM)&&c!==v&&(n.visit(n.REM,function(n){c(n,t)}),e.modifies(c.output)),o||f!==v){var h=n.MOD|(t.modified()?n.REFLOW:0);o?(n.visit(h,function(n){var i=l(n,t)||r;(f(n,t)||i)&&e.mod.push(n)}),e.mod.length&&e.modifies(l.output)):n.visit(h,function(n){(f(n,t)||r)&&e.mod.push(n)}),e.mod.length&&e.modifies(f.output)}return e.changed()?e:n.StopPropagation};var ym="symbol",xm="discrete";const _m={[Fh]:"quantiles",[Sh]:"thresholds",[Bh]:"domain"},bm={[Fh]:"quantiles",[Sh]:"domain"};function wm(t,n){return t.bins?function(t){const n=t.slice(0,-1);return n.max=k(t),n}(t.bins):_m[t.type]?function(t){const n=[-1/0].concat(t);return n.max=1/0,n}(t[_m[t.type]]()):fm(t,n)}function Am(t,n,e,r,i){const a=bm[t.type]&&i!==kh?function(t,n){var e,r=t[bm[t.type]](),i=r.length,a=i>1?r[1]-r[0]:r[0];for(e=1;e<i;++e)a=Math.min(a,r[e]-r[e-1]);return dg(0,a,30,n)}(t,r):hm(t,n,r,i);return e===ym&&function(t){return _m[t.type]||t.bins}(t)?function(t){return function(n,e,r){var i=r[e+1]||r.max||1/0,a=Mm(n,t),u=Mm(i,t);return a&&u?a+"–"+u:u?"< "+u:"≥ "+a}}(a):e===xm?function(t){return function(n,e){return e?t(n):null}}(a):function(t){return function(n){return t(n)}}(a)}function Mm(t,n){return isFinite(t)?n(t):null}function km(t){$r.call(this,[],t)}et(km,$r).transform=function(t,n){if(null!=this.value&&!t.modified())return n.StopPropagation;var e,r,i,a,u=n.fork(n.NO_SOURCE|n.NO_FIELDS),o=this.value,s=t.type||ym,l=t.scale,c=lm(l,null==t.count?5:t.count,t.minstep),f=t.format||Am(l,c,s,t.formatSpecifier,t.formatType),h=t.values||wm(l,c);return o&&(u.rem=o),s===ym?(Y(i=t.size)?(t.values||0!==l(h[0])||(h=h.slice(1)),a=h.reduce(function(n,e){return Math.max(n,i(e,t))},0)):i=V(a=i||8),o=h.map(function(n,e){return Dt({index:e,label:f(n,e,h),value:n,offset:a,size:i(n,t)})})):"gradient"===s?(e=l.domain(),r=rm(l,e[0],k(e)),h.length<3&&!t.values&&e[0]!==k(e)&&(h=[e[0],k(e)]),o=h.map(function(t,n){return Dt({index:n,label:f(t,n,h),value:t,perc:r(t)})})):(i=h.length-1,r=function(t){var n=t.domain(),e=n.length-1,r=+n[0],i=+k(n),a=i-r;if(t.type===Bh){var u=e?a/e:.1;a=(i+=u)-(r-=u)}return function(t){return(t-r)/a}}(l),o=h.map(function(t,n){return Dt({index:n,label:f(t,n,h),value:t,perc:n?r(t):0,perc2:n===i?1:r(h[n+1])})})),u.source=o,u.add=o,this.value=o,u};var Em=tt({line:Om,"line-radial":function(t,n,e,r){return Om(n*Math.cos(t),n*Math.sin(t),r*Math.cos(e),r*Math.sin(e))},arc:zm,"arc-radial":function(t,n,e,r){return zm(n*Math.cos(t),n*Math.sin(t),r*Math.cos(e),r*Math.sin(e))},curve:Nm,"curve-radial":function(t,n,e,r){return Nm(n*Math.cos(t),n*Math.sin(t),r*Math.cos(e),r*Math.sin(e))},"orthogonal-horizontal":function(t,n,e,r){return"M"+t+","+n+"V"+r+"H"+e},"orthogonal-vertical":function(t,n,e,r){return"M"+t+","+n+"H"+e+"V"+r},"orthogonal-radial":function(t,n,e,r){var i=Math.cos(t),a=Math.sin(t),u=Math.cos(e),o=Math.sin(e),s=Math.abs(e-t)>Math.PI?e<=t:e>t;return"M"+n*i+","+n*a+"A"+n+","+n+" 0 0,"+(s?1:0)+" "+n*u+","+n*o+"L"+r*u+","+r*o},"diagonal-horizontal":function(t,n,e,r){var i=(t+e)/2;return"M"+t+","+n+"C"+i+","+n+" "+i+","+r+" "+e+","+r},"diagonal-vertical":function(t,n,e,r){var i=(n+r)/2;return"M"+t+","+n+"C"+t+","+i+" "+e+","+i+" "+e+","+r},"diagonal-radial":function(t,n,e,r){var i=Math.cos(t),a=Math.sin(t),u=Math.cos(e),o=Math.sin(e),s=(n+r)/2;return"M"+n*i+","+n*a+"C"+s*i+","+s*a+" "+s*u+","+s*o+" "+r*u+","+r*o}});function Cm(t){return t.source.x}function Dm(t){return t.source.y}function Fm(t){return t.target.x}function Sm(t){return t.target.y}function Bm(t){$r.call(this,{},t)}function Om(t,n,e,r){return"M"+t+","+n+"L"+e+","+r}function zm(t,n,e,r){var i=e-t,a=r-n,u=Math.sqrt(i*i+a*a)/2;return"M"+t+","+n+"A"+u+","+u+" "+180*Math.atan2(a,i)/Math.PI+" 0 1 "+e+","+r}function Nm(t,n,e,r){var i=e-t,a=r-n,u=.2*(i+a),o=.2*(a-i);return"M"+t+","+n+"C"+(t+u)+","+(n+o)+" "+(e+o)+","+(r-u)+" "+e+","+r}function Tm(t){$r.call(this,null,t)}Bm.Definition={type:"LinkPath",metadata:{modifies:!0},params:[{name:"sourceX",type:"field",default:"source.x"},{name:"sourceY",type:"field",default:"source.y"},{name:"targetX",type:"field",default:"target.x"},{name:"targetY",type:"field",default:"target.y"},{name:"orient",type:"enum",default:"vertical",values:["horizontal","vertical","radial"]},{name:"shape",type:"enum",default:"line",values:["line","arc","curve","diagonal","orthogonal"]},{name:"require",type:"signal"},{name:"as",type:"string",default:"path"}]},et(Bm,$r).transform=function(t,n){var e=t.sourceX||Cm,r=t.sourceY||Dm,a=t.targetX||Fm,u=t.targetY||Sm,o=t.as||"path",s=t.orient||"vertical",l=t.shape||"line",c=Em.get(l+"-"+s)||Em.get(l);return c||i("LinkPath unsupported type: "+t.shape+(t.orient?"-"+t.orient:"")),n.visit(n.SOURCE,function(t){t[o]=c(e(t),r(t),a(t),u(t))}),n.reflow(t.modified()).modifies(o)},Tm.Definition={type:"Pie",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"startAngle",type:"number",default:0},{name:"endAngle",type:"number",default:6.283185307179586},{name:"sort",type:"boolean",default:!1},{name:"as",type:"string",array:!0,length:2,default:["startAngle","endAngle"]}]},et(Tm,$r).transform=function(t,n){var e,r,i,a=t.as||["startAngle","endAngle"],u=a[0],o=a[1],s=t.field||g,l=t.startAngle||0,c=null!=t.endAngle?t.endAngle:2*Math.PI,f=n.source,h=f.map(s),d=h.length,p=l,m=(c-l)/function(t,n){let e=0;if(void 0===n)for(let n of t)(n=+n)&&(e+=n);else{let r=-1;for(let i of t)(i=+n(i,++r,t))&&(e+=i)}return e}(h),v=li(d);for(t.sort&&v.sort(function(t,n){return h[t]-h[n]}),e=0;e<d;++e)i=h[v[e]],(r=f[v[e]])[u]=p,r[o]=p+=i*m;return this.value=h,n.reflow(t.modified()).modifies(a)};var Rm=5;function Pm(t){return qh(t)&&t!==Ch}var Lm=yt(["set","modified","clear","type","scheme","schemeExtent","schemeCount","domain","domainMin","domainMid","domainMax","domainRaw","domainImplicit","nice","zero","bins","range","rangeStep","round","reverse","interpolate","interpolateGamma"]);function qm(t){$r.call(this,null,t),this.modified(!0)}function Um(t,n,e){Lh(t)&&(Math.abs(n.reduce(function(t,n){return t+(n<0?-1:n>0?1:0)},0))!==n.length&&e.warn("Log scale domain includes zero: "+l(n)));return n}function jm(t,n,e){return Y(t)&&(n||e)?tm(t,$m(n||[0,1],e)):t}function $m(t,n){return n?t.slice().reverse():t}function Im(t){$r.call(this,null,t)}et(qm,$r).transform=function(t,n){var e=n.dataflow,r=this.value,a=function(t){var n,e=t.type,r="";if(e===Ch)return Ch+"-"+_h;(function(t){const n=t.type;return qh(n)&&n!==kh&&n!==Eh&&(t.scheme||t.range&&t.range.length&&t.range.every(s))})(t)&&(n=t.rawDomain?t.rawDomain.length:t.domain?t.domain.length+ +(null!=t.domainMid):0,r=2===n?Ch+"-":3===n?Dh+"-":"");return(r+e||_h).toLowerCase()}(t);for(a in r&&a===r.type||(this.value=r=Zg(a)()),t)if(!Lm[a]){if("padding"===a&&Pm(r.type))continue;Y(r[a])?r[a](t[a]):e.warn("Unsupported scale property: "+a)}return function(t,n,e){var r=n.round||!1,a=n.range;if(null!=n.rangeStep)a=function(t,n,e){t!==Nh&&t!==zh&&i("Only band and point scales support rangeStep.");var r=(null!=n.paddingOuter?n.paddingOuter:n.padding)||0,a=t===zh?1:(null!=n.paddingInner?n.paddingInner:n.padding)||0;return[0,n.rangeStep*yh(e,a,r)]}(t.type,n,e);else if(n.scheme){if(a=function(t,n,e){var r,a,o=n.schemeExtent;u(n.scheme)?a=nm(n.scheme,n.interpolate,n.interpolateGamma):(r=n.scheme.toLowerCase(),(a=sm(r))||i("Unrecognized scheme name: "+n.scheme));return e=t===Bh?e+1:t===Th?e-1:t===Fh||t===Sh?+n.schemeCount||Rm:e,Ph(t)?jm(a,o,n.reverse):Y(a)?em(jm(a,o),e):t===Oh?a:a.slice(0,e)}(t.type,n,e),Y(a))return t.interpolator(a)}else if(a&&Ph(t.type))return t.interpolator(nm($m(a,n.reverse),n.interpolate,n.interpolateGamma));a&&n.interpolate&&t.interpolate?t.interpolate(im(n.interpolate,n.interpolateGamma)):Y(t.round)?t.round(r):Y(t.rangeRound)&&t.interpolate(r?gp:pp);a&&t.range($m(a,n.reverse))}(r,t,function(t,n,e){let r=n.bins;if(r&&!u(r)){const n=(null==r.start||null==r.stop)&&t.domain(),e=null==r.start?n[0]:r.start,a=null==r.stop?k(n):r.stop,u=r.step;u||i("Scale bins parameter missing step property."),r=li(e,a+u,u)}r?t.bins=r:t.bins&&delete t.bins;t.type===Th&&(r?n.domain||n.domainRaw||(t.domain(r),e=r.length):t.bins=t.domain());return e}(r,t,function(t,n,e){var r=function(t,n,e){return n?(t.domain(Um(t.type,n,e)),n.length):-1}(t,n.domainRaw,e);if(r>-1)return r;var i,a,u=n.domain,o=t.type,s=n.zero||void 0===n.zero&&function(t){const n=t.type;return!t.bins&&(n===_h||n===wh||n===Ah)}(t);if(!u)return 0;Pm(o)&&n.padding&&u[0]!==k(u)&&(u=function(t,n,e,r,i,a){var u=Math.abs(k(e)-e[0]),o=u/(u-2*r),s=t===bh?q(n,null,o):t===Ah?U(n,null,o,.5):t===wh?U(n,null,o,i||1):t===Mh?j(n,null,o,a||1):L(n,null,o);return(n=n.slice())[0]=s[0],n[n.length-1]=s[1],n}(o,u,n.range,n.padding,n.exponent,n.constant));(s||null!=n.domainMin||null!=n.domainMax||null!=n.domainMid)&&(i=(u=u.slice()).length-1||1,s&&(u[0]>0&&(u[0]=0),u[i]<0&&(u[i]=0)),null!=n.domainMin&&(u[0]=n.domainMin),null!=n.domainMax&&(u[i]=n.domainMax),null!=n.domainMid&&(((a=n.domainMid)<u[0]||a>u[i])&&e.warn("Scale domainMid exceeds domain min or max.",a),u.splice(i,0,a)));t.domain(Um(o,u,e)),o===Oh&&t.unknown(n.domainImplicit?Gh:void 0);n.nice&&t.nice&&t.nice(!0!==n.nice&&lm(t,n.nice)||null);return u.length}(r,t,e))),n.fork(n.NO_SOURCE|n.NO_FIELDS)},et(Im,$r).transform=function(t,n){var e=t.modified("sort")||n.changed(n.ADD)||n.modified(t.sort.fields)||n.modified("datum");return e&&n.source.sort(t.sort),this.modified(e),n};var Wm=["y0","y1"];function Hm(t){$r.call(this,null,t)}function Ym(t,n,e,r,i){for(var a,u=(n-t.sum)/2,o=t.length,s=0;s<o;++s)(a=t[s])[r]=u,a[i]=u+=Math.abs(e(a))}function Gm(t,n,e,r,i){for(var a,u=1/t.sum,o=0,s=t.length,l=0,c=0;l<s;++l)(a=t[l])[r]=o,a[i]=o=u*(c+=Math.abs(e(a)))}function Vm(t,n,e,r,i){for(var a,u,o=0,s=0,l=t.length,c=0;c<l;++c)(a=+e(u=t[c]))<0?(u[r]=s,u[i]=s+=a):(u[r]=o,u[i]=o+=a)}Hm.Definition={type:"Stack",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"groupby",type:"field",array:!0},{name:"sort",type:"compare"},{name:"offset",type:"enum",default:"zero",values:["zero","center","normalize"]},{name:"as",type:"string",array:!0,length:2,default:Wm}]},et(Hm,$r).transform=function(t,n){var e,r,i,a,u=t.as||Wm,o=u[0],s=u[1],l=t.field||g,c="center"===t.offset?Ym:"normalize"===t.offset?Gm:Vm;for(e=function(t,n,e,r){var i,a,u,o,s,l,c,f,h,d=[],p=function(t){return t(s)};if(null==n)d.push(t.slice());else for(i={},a=0,u=t.length;a<u;++a)s=t[a],l=n.map(p),(c=i[l])||(i[l]=c=[],d.push(c)),c.push(s);for(l=0,h=0,o=d.length;l<o;++l){for(c=d[l],a=0,f=0,u=c.length;a<u;++a)f+=Math.abs(r(c[a]));c.sum=f,f>h&&(h=f),e&&c.sort(e)}return d.max=h,d}(n.source,t.groupby,t.sort,l),r=0,i=e.length,a=e.max;r<i;++r)c(e[r],a,l,o,s);return n.reflow(t.modified()).modifies(u)};var Xm=Object.freeze({axisticks:dm,datajoin:pm,encode:vm,legendentries:km,linkpath:Bm,pie:Tm,scale:qm,sortitems:Im,stack:Hm,validTicks:cm});function Zm(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}!function(t){var n;1===t.length&&(n=t,t=function(t,e){return Zm(n(t),e)})}(Zm);function Jm(t,n,e){t=+t,n=+n,e=(i=arguments.length)<2?(n=t,t=0,1):i<3?1:+e;for(var r=-1,i=0|Math.max(0,Math.ceil((n-t)/e)),a=new Array(i);++r<i;)a[r]=t+r*e;return a}var Qm=Math.sqrt(50),Km=Math.sqrt(10),tv=Math.sqrt(2);function nv(t,n,e){var r=Math.abs(n-t)/Math.max(0,e),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),a=r/i;return a>=Qm?i*=10:a>=Km?i*=5:a>=tv&&(i*=2),n<t?-i:i}function ev(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1}var rv=Array.prototype.slice;function iv(t,n){return t-n}function av(t){return function(){return t}}function uv(t,n){for(var e,r=-1,i=n.length;++r<i;)if(e=ov(t,n[r]))return e;return 0}function ov(t,n){for(var e=n[0],r=n[1],i=-1,a=0,u=t.length,o=u-1;a<u;o=a++){var s=t[a],l=s[0],c=s[1],f=t[o],h=f[0],d=f[1];if(sv(s,f,n))return 0;c>r!=d>r&&e<(h-l)*(r-c)/(d-c)+l&&(i=-i)}return i}function sv(t,n,e){var r,i,a,u;return function(t,n,e){return(n[0]-t[0])*(e[1]-t[1])==(e[0]-t[0])*(n[1]-t[1])}(t,n,e)&&(i=t[r=+(t[0]===n[0])],a=e[r],u=n[r],i<=a&&a<=u||u<=a&&a<=i)}function lv(){}var cv=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function fv(){var t=1,n=1,e=ev,r=o;function i(t){var n=e(t);if(Array.isArray(n))n=n.slice().sort(iv);else{var r=function(t,n){var e,r,i,a=t.length,u=-1;if(null==n){for(;++u<a;)if(null!=(e=t[u])&&e>=e)for(r=i=e;++u<a;)null!=(e=t[u])&&(r>e&&(r=e),i<e&&(i=e))}else for(;++u<a;)if(null!=(e=n(t[u],u,t))&&e>=e)for(r=i=e;++u<a;)null!=(e=n(t[u],u,t))&&(r>e&&(r=e),i<e&&(i=e));return[r,i]}(t),i=r[0],u=r[1];n=nv(i,u,n),n=Jm(Math.floor(i/n)*n,Math.floor(u/n)*n,n)}return n.map(function(n){return a(t,n)})}function a(e,i){var a=[],o=[];return function(e,r,i){var a,o,s,l,c,f,h=new Array,d=new Array;a=o=-1,l=e[0]>=r,cv[l<<1].forEach(p);for(;++a<t-1;)s=l,l=e[a+1]>=r,cv[s|l<<1].forEach(p);cv[l<<0].forEach(p);for(;++o<n-1;){for(a=-1,l=e[o*t+t]>=r,c=e[o*t]>=r,cv[l<<1|c<<2].forEach(p);++a<t-1;)s=l,l=e[o*t+t+a+1]>=r,f=c,c=e[o*t+a+1]>=r,cv[s|l<<1|c<<2|f<<3].forEach(p);cv[l|c<<3].forEach(p)}a=-1,c=e[o*t]>=r,cv[c<<2].forEach(p);for(;++a<t-1;)f=c,c=e[o*t+a+1]>=r,cv[c<<2|f<<3].forEach(p);function p(t){var n,e,r=[t[0][0]+a,t[0][1]+o],s=[t[1][0]+a,t[1][1]+o],l=u(r),c=u(s);(n=d[l])?(e=h[c])?(delete d[n.end],delete h[e.start],n===e?(n.ring.push(s),i(n.ring)):h[n.start]=d[e.end]={start:n.start,end:e.end,ring:n.ring.concat(e.ring)}):(delete d[n.end],n.ring.push(s),d[n.end=c]=n):(n=h[c])?(e=d[l])?(delete h[n.start],delete d[e.end],n===e?(n.ring.push(s),i(n.ring)):h[e.start]=d[n.end]={start:e.start,end:n.end,ring:e.ring.concat(n.ring)}):(delete h[n.start],n.ring.unshift(r),h[n.start=l]=n):h[l]=d[c]={start:l,end:c,ring:[r,s]}}cv[c<<3].forEach(p)}(e,i,function(t){r(t,e,i),function(t){for(var n=0,e=t.length,r=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++n<e;)r+=t[n-1][1]*t[n][0]-t[n-1][0]*t[n][1];return r}(t)>0?a.push([t]):o.push(t)}),o.forEach(function(t){for(var n,e=0,r=a.length;e<r;++e)if(-1!==uv((n=a[e])[0],t))return void n.push(t)}),{type:"MultiPolygon",value:i,coordinates:a}}function u(n){return 2*n[0]+n[1]*(t+1)*4}function o(e,r,i){e.forEach(function(e){var a,u=e[0],o=e[1],s=0|u,l=0|o,c=r[l*t+s];u>0&&u<t&&s===u&&(a=r[l*t+s-1],e[0]=u+(i-a)/(c-a)-.5),o>0&&o<n&&l===o&&(a=r[(l-1)*t+s],e[1]=o+(i-a)/(c-a)-.5)})}return i.contour=a,i.size=function(e){if(!arguments.length)return[t,n];var r=Math.ceil(e[0]),a=Math.ceil(e[1]);if(!(r>0&&a>0))throw new Error("invalid size");return t=r,n=a,i},i.thresholds=function(t){return arguments.length?(e="function"==typeof t?t:Array.isArray(t)?av(rv.call(t)):av(t),i):e},i.smooth=function(t){return arguments.length?(r=t?o:lv,i):r===o},i}function hv(t,n,e){for(var r=t.width,i=t.height,a=1+(e<<1),u=0;u<i;++u)for(var o=0,s=0;o<r+e;++o)o<r&&(s+=t.data[o+u*r]),o>=e&&(o>=a&&(s-=t.data[o-a+u*r]),n.data[o-e+u*r]=s/Math.min(o+1,r-1+a-o,a))}function dv(t,n,e){for(var r=t.width,i=t.height,a=1+(e<<1),u=0;u<r;++u)for(var o=0,s=0;o<i+e;++o)o<i&&(s+=t.data[u+o*r]),o>=e&&(o>=a&&(s-=t.data[u+(o-a)*r]),n.data[u+(o-e)*r]=s/Math.min(o+1,i-1+a-o,a))}function pv(t){return t[0]}function gv(t){return t[1]}function mv(){return 1}var vv=["size","smooth"],yv=["x","y","weight","size","cellSize","bandwidth"];function xv(t){$r.call(this,null,t)}xv.Definition={type:"Contour",metadata:{generates:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"values",type:"number",array:!0},{name:"x",type:"field"},{name:"y",type:"field"},{name:"weight",type:"field"},{name:"cellSize",type:"number"},{name:"bandwidth",type:"number"},{name:"count",type:"number"},{name:"smooth",type:"boolean"},{name:"nice",type:"boolean",default:!1},{name:"thresholds",type:"number",array:!0}]},et(xv,$r).transform=function(t,n){if(this.value&&!n.changed()&&!t.modified())return n.StopPropagation;var e,r,i,a,u=n.fork(n.NO_SOURCE|n.NO_FIELDS),o=t.count||10;return t.values?(e=fv(),r=vv,i=t.values):(e=function(){var t=pv,n=gv,e=mv,r=960,i=500,a=20,u=2,o=3*a,s=r+2*o>>u,l=i+2*o>>u,c=av(20);function f(r){var i=new Float32Array(s*l),f=new Float32Array(s*l);r.forEach(function(r,a,c){var f=+t(r,a,c)+o>>u,h=+n(r,a,c)+o>>u,d=+e(r,a,c);f>=0&&f<s&&h>=0&&h<l&&(i[f+h*s]+=d)}),hv({width:s,height:l,data:i},{width:s,height:l,data:f},a>>u),dv({width:s,height:l,data:f},{width:s,height:l,data:i},a>>u),hv({width:s,height:l,data:i},{width:s,height:l,data:f},a>>u),dv({width:s,height:l,data:f},{width:s,height:l,data:i},a>>u),hv({width:s,height:l,data:i},{width:s,height:l,data:f},a>>u),dv({width:s,height:l,data:f},{width:s,height:l,data:i},a>>u);var d=c(i);if(!Array.isArray(d)){var p=function(t,n){var e,r,i=t.length,a=-1;if(null==n){for(;++a<i;)if(null!=(e=t[a])&&e>=e)for(r=e;++a<i;)null!=(e=t[a])&&e>r&&(r=e)}else for(;++a<i;)if(null!=(e=n(t[a],a,t))&&e>=e)for(r=e;++a<i;)null!=(e=n(t[a],a,t))&&e>r&&(r=e);return r}(i);d=nv(0,p,d),(d=Jm(0,Math.floor(p/d)*d,d)).shift()}return fv().thresholds(d).size([s,l])(i).map(h)}function h(t){return t.value*=Math.pow(2,-2*u),t.coordinates.forEach(d),t}function d(t){t.forEach(p)}function p(t){t.forEach(g)}function g(t){t[0]=t[0]*Math.pow(2,u)-o,t[1]=t[1]*Math.pow(2,u)-o}function m(){return s=r+2*(o=3*a)>>u,l=i+2*o>>u,f}return f.x=function(n){return arguments.length?(t="function"==typeof n?n:av(+n),f):t},f.y=function(t){return arguments.length?(n="function"==typeof t?t:av(+t),f):n},f.weight=function(t){return arguments.length?(e="function"==typeof t?t:av(+t),f):e},f.size=function(t){if(!arguments.length)return[r,i];var n=Math.ceil(t[0]),e=Math.ceil(t[1]);if(!(n>=0||n>=0))throw new Error("invalid size");return r=n,i=e,m()},f.cellSize=function(t){if(!arguments.length)return 1<<u;if(!((t=+t)>=1))throw new Error("invalid cell size");return u=Math.floor(Math.log(t)/Math.LN2),m()},f.thresholds=function(t){return arguments.length?(c="function"==typeof t?t:Array.isArray(t)?av(rv.call(t)):av(t),f):c},f.bandwidth=function(t){if(!arguments.length)return Math.sqrt(a*(a+1));if(!((t=+t)>=0))throw new Error("invalid bandwidth");return a=Math.round((Math.sqrt(4*t*t+1)-1)/2),m()},f}(),r=yv,i=n.materialize(n.SOURCE).source),e.thresholds(t.thresholds||(t.nice?o:(a=o,function(t){for(var n=si(t),e=n[0],r=n[1]-e,i=[],u=1;u<=a;++u)i.push(e+r*u/(a+1));return i}))),r.forEach(function(n){null!=t[n]&&e[n](t[n])}),this.value&&(u.rem=this.value),i=i&&i.length?e(i).map(Dt):[],this.value=u.source=u.add=i,u};var _v="Feature",bv="FeatureCollection";function wv(t){$r.call(this,null,t)}function Av(){return new Mv}function Mv(){this.reset()}wv.Definition={type:"GeoJSON",metadata:{},params:[{name:"fields",type:"field",array:!0,length:2},{name:"geojson",type:"field"}]},et(wv,$r).transform=function(t,n){var e,i=this._features,a=this._points,u=t.fields,o=u&&u[0],s=u&&u[1],l=t.geojson,c=n.ADD;e=t.modified()||n.changed(n.REM)||n.modified(r(l))||o&&n.modified(r(o))||s&&n.modified(r(s)),this.value&&!e||(c=n.SOURCE,this._features=i=[],this._points=a=[]),l&&n.visit(c,function(t){i.push(l(t))}),o&&s&&(n.visit(c,function(t){var n=o(t),e=s(t);null!=n&&null!=e&&(n=+n)===n&&(e=+e)===e&&a.push([n,e])}),i=i.concat({type:_v,geometry:{type:"MultiPoint",coordinates:a}})),this.value={type:bv,features:i}},Mv.prototype={constructor:Mv,reset:function(){this.s=this.t=0},add:function(t){Ev(kv,t,this.t),Ev(this,kv.s,this.s),this.s?this.t+=kv.t:this.s=kv.t},valueOf:function(){return this.s}};var kv=new Mv;function Ev(t,n,e){var r=t.s=n+e,i=r-n,a=r-i;t.t=n-a+(e-i)}var Cv=1e-6,Dv=1e-12,Fv=Math.PI,Sv=Fv/2,Bv=Fv/4,Ov=2*Fv,zv=180/Fv,Nv=Fv/180,Tv=Math.abs,Rv=Math.atan,Pv=Math.atan2,Lv=Math.cos,qv=Math.ceil,Uv=Math.exp,jv=Math.log,$v=Math.pow,Iv=Math.sin,Wv=Math.sign||function(t){return t>0?1:t<0?-1:0},Hv=Math.sqrt,Yv=Math.tan;function Gv(t){return t>1?0:t<-1?Fv:Math.acos(t)}function Vv(t){return t>1?Sv:t<-1?-Sv:Math.asin(t)}function Xv(){}function Zv(t,n){t&&Qv.hasOwnProperty(t.type)&&Qv[t.type](t,n)}var Jv={Feature:function(t,n){Zv(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r<i;)Zv(e[r].geometry,n)}},Qv={Sphere:function(t,n){n.sphere()},Point:function(t,n){t=t.coordinates,n.point(t[0],t[1],t[2])},MultiPoint:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)t=e[r],n.point(t[0],t[1],t[2])},LineString:function(t,n){Kv(t.coordinates,n,0)},MultiLineString:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)Kv(e[r],n,0)},Polygon:function(t,n){ty(t.coordinates,n)},MultiPolygon:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)ty(e[r],n)},GeometryCollection:function(t,n){for(var e=t.geometries,r=-1,i=e.length;++r<i;)Zv(e[r],n)}};function Kv(t,n,e){var r,i=-1,a=t.length-e;for(n.lineStart();++i<a;)r=t[i],n.point(r[0],r[1],r[2]);n.lineEnd()}function ty(t,n){var e=-1,r=t.length;for(n.polygonStart();++e<r;)Kv(t[e],n,1);n.polygonEnd()}function ny(t,n){t&&Jv.hasOwnProperty(t.type)?Jv[t.type](t,n):Zv(t,n)}var ey,ry,iy,ay,uy,oy=Av(),sy=Av(),ly={point:Xv,lineStart:Xv,lineEnd:Xv,polygonStart:function(){oy.reset(),ly.lineStart=cy,ly.lineEnd=fy},polygonEnd:function(){var t=+oy;sy.add(t<0?Ov+t:t),this.lineStart=this.lineEnd=this.point=Xv},sphere:function(){sy.add(Ov)}};function cy(){ly.point=hy}function fy(){dy(ey,ry)}function hy(t,n){ly.point=dy,ey=t,ry=n,iy=t*=Nv,ay=Lv(n=(n*=Nv)/2+Bv),uy=Iv(n)}function dy(t,n){var e=(t*=Nv)-iy,r=e>=0?1:-1,i=r*e,a=Lv(n=(n*=Nv)/2+Bv),u=Iv(n),o=uy*u,s=ay*a+o*Lv(i),l=o*r*Iv(i);oy.add(Pv(l,s)),iy=t,ay=a,uy=u}function py(t){return[Pv(t[1],t[0]),Vv(t[2])]}function gy(t){var n=t[0],e=t[1],r=Lv(e);return[r*Lv(n),r*Iv(n),Iv(e)]}function my(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function vy(t,n){return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function yy(t,n){t[0]+=n[0],t[1]+=n[1],t[2]+=n[2]}function xy(t,n){return[t[0]*n,t[1]*n,t[2]*n]}function _y(t){var n=Hv(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=n,t[1]/=n,t[2]/=n}var by,wy,Ay,My,ky,Ey,Cy,Dy,Fy,Sy,By,Oy,zy,Ny,Ty,Ry,Py,Ly,qy,Uy,jy,$y,Iy,Wy,Hy,Yy,Gy=Av(),Vy={point:Xy,lineStart:Jy,lineEnd:Qy,polygonStart:function(){Vy.point=Ky,Vy.lineStart=tx,Vy.lineEnd=nx,Gy.reset(),ly.polygonStart()},polygonEnd:function(){ly.polygonEnd(),Vy.point=Xy,Vy.lineStart=Jy,Vy.lineEnd=Qy,oy<0?(by=-(Ay=180),wy=-(My=90)):Gy>Cv?My=90:Gy<-Cv&&(wy=-90),Sy[0]=by,Sy[1]=Ay}};function Xy(t,n){Fy.push(Sy=[by=t,Ay=t]),n<wy&&(wy=n),n>My&&(My=n)}function Zy(t,n){var e=gy([t*Nv,n*Nv]);if(Dy){var r=vy(Dy,e),i=vy([r[1],-r[0],0],r);_y(i),i=py(i);var a,u=t-ky,o=u>0?1:-1,s=i[0]*zv*o,l=Tv(u)>180;l^(o*ky<s&&s<o*t)?(a=i[1]*zv)>My&&(My=a):l^(o*ky<(s=(s+360)%360-180)&&s<o*t)?(a=-i[1]*zv)<wy&&(wy=a):(n<wy&&(wy=n),n>My&&(My=n)),l?t<ky?ex(by,t)>ex(by,Ay)&&(Ay=t):ex(t,Ay)>ex(by,Ay)&&(by=t):Ay>=by?(t<by&&(by=t),t>Ay&&(Ay=t)):t>ky?ex(by,t)>ex(by,Ay)&&(Ay=t):ex(t,Ay)>ex(by,Ay)&&(by=t)}else Fy.push(Sy=[by=t,Ay=t]);n<wy&&(wy=n),n>My&&(My=n),Dy=e,ky=t}function Jy(){Vy.point=Zy}function Qy(){Sy[0]=by,Sy[1]=Ay,Vy.point=Xy,Dy=null}function Ky(t,n){if(Dy){var e=t-ky;Gy.add(Tv(e)>180?e+(e>0?360:-360):e)}else Ey=t,Cy=n;ly.point(t,n),Zy(t,n)}function tx(){ly.lineStart()}function nx(){Ky(Ey,Cy),ly.lineEnd(),Tv(Gy)>Cv&&(by=-(Ay=180)),Sy[0]=by,Sy[1]=Ay,Dy=null}function ex(t,n){return(n-=t)<0?n+360:n}function rx(t,n){return t[0]-n[0]}function ix(t,n){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n<t[0]||t[1]<n}var ax={sphere:Xv,point:ux,lineStart:sx,lineEnd:fx,polygonStart:function(){ax.lineStart=hx,ax.lineEnd=dx},polygonEnd:function(){ax.lineStart=sx,ax.lineEnd=fx}};function ux(t,n){t*=Nv;var e=Lv(n*=Nv);ox(e*Lv(t),e*Iv(t),Iv(n))}function ox(t,n,e){zy+=(t-zy)/++By,Ny+=(n-Ny)/By,Ty+=(e-Ty)/By}function sx(){ax.point=lx}function lx(t,n){t*=Nv;var e=Lv(n*=Nv);Wy=e*Lv(t),Hy=e*Iv(t),Yy=Iv(n),ax.point=cx,ox(Wy,Hy,Yy)}function cx(t,n){t*=Nv;var e=Lv(n*=Nv),r=e*Lv(t),i=e*Iv(t),a=Iv(n),u=Pv(Hv((u=Hy*a-Yy*i)*u+(u=Yy*r-Wy*a)*u+(u=Wy*i-Hy*r)*u),Wy*r+Hy*i+Yy*a);Oy+=u,Ry+=u*(Wy+(Wy=r)),Py+=u*(Hy+(Hy=i)),Ly+=u*(Yy+(Yy=a)),ox(Wy,Hy,Yy)}function fx(){ax.point=ux}function hx(){ax.point=px}function dx(){gx($y,Iy),ax.point=ux}function px(t,n){$y=t,Iy=n,t*=Nv,n*=Nv,ax.point=gx;var e=Lv(n);Wy=e*Lv(t),Hy=e*Iv(t),Yy=Iv(n),ox(Wy,Hy,Yy)}function gx(t,n){t*=Nv;var e=Lv(n*=Nv),r=e*Lv(t),i=e*Iv(t),a=Iv(n),u=Hy*a-Yy*i,o=Yy*r-Wy*a,s=Wy*i-Hy*r,l=Hv(u*u+o*o+s*s),c=Vv(l),f=l&&-c/l;qy+=f*u,Uy+=f*o,jy+=f*s,Oy+=c,Ry+=c*(Wy+(Wy=r)),Py+=c*(Hy+(Hy=i)),Ly+=c*(Yy+(Yy=a)),ox(Wy,Hy,Yy)}function mx(t,n){function e(e,r){return e=t(e,r),n(e[0],e[1])}return t.invert&&n.invert&&(e.invert=function(e,r){return(e=n.invert(e,r))&&t.invert(e[0],e[1])}),e}function vx(t,n){return[Tv(t)>Fv?t+Math.round(-t/Ov)*Ov:t,n]}function yx(t,n,e){return(t%=Ov)?n||e?mx(_x(t),bx(n,e)):_x(t):n||e?bx(n,e):vx}function xx(t){return function(n,e){return[(n+=t)>Fv?n-Ov:n<-Fv?n+Ov:n,e]}}function _x(t){var n=xx(t);return n.invert=xx(-t),n}function bx(t,n){var e=Lv(t),r=Iv(t),i=Lv(n),a=Iv(n);function u(t,n){var u=Lv(n),o=Lv(t)*u,s=Iv(t)*u,l=Iv(n),c=l*e+o*r;return[Pv(s*i-c*a,o*e-l*r),Vv(c*i+s*a)]}return u.invert=function(t,n){var u=Lv(n),o=Lv(t)*u,s=Iv(t)*u,l=Iv(n),c=l*i-s*a;return[Pv(s*i+l*a,o*e+c*r),Vv(c*e-o*r)]},u}function wx(t,n){(n=gy(n))[0]-=t,_y(n);var e=Gv(-n[1]);return((-n[2]<0?-e:e)+Ov-Cv)%Ov}function Ax(){var t,n=[];return{point:function(n,e){t.push([n,e])},lineStart:function(){n.push(t=[])},lineEnd:Xv,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var e=n;return n=[],t=null,e}}}function Mx(t,n){return Tv(t[0]-n[0])<Cv&&Tv(t[1]-n[1])<Cv}function kx(t,n,e,r){this.x=t,this.z=n,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function Ex(t,n,e,r,i){var a,u,o=[],s=[];if(t.forEach(function(t){if(!((n=t.length-1)<=0)){var n,e,r=t[0],u=t[n];if(Mx(r,u)){for(i.lineStart(),a=0;a<n;++a)i.point((r=t[a])[0],r[1]);i.lineEnd()}else o.push(e=new kx(r,t,null,!0)),s.push(e.o=new kx(r,null,e,!1)),o.push(e=new kx(u,t,null,!1)),s.push(e.o=new kx(u,null,e,!0))}}),o.length){for(s.sort(n),Cx(o),Cx(s),a=0,u=s.length;a<u;++a)s[a].e=e=!e;for(var l,c,f=o[0];;){for(var h=f,d=!0;h.v;)if((h=h.n)===f)return;l=h.z,i.lineStart();do{if(h.v=h.o.v=!0,h.e){if(d)for(a=0,u=l.length;a<u;++a)i.point((c=l[a])[0],c[1]);else r(h.x,h.n.x,1,i);h=h.n}else{if(d)for(l=h.p.z,a=l.length-1;a>=0;--a)i.point((c=l[a])[0],c[1]);else r(h.x,h.p.x,-1,i);h=h.p}l=(h=h.o).z,d=!d}while(!h.v);i.lineEnd()}}}function Cx(t){if(n=t.length){for(var n,e,r=0,i=t[0];++r<n;)i.n=e=t[r],e.p=i,i=e;i.n=e=t[0],e.p=i}}vx.invert=vx;var Dx=Av();function Fx(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}!function(t){var n;1===t.length&&(n=t,t=function(t,e){return Fx(n(t),e)})}(Fx);function Sx(t,n,e){t=+t,n=+n,e=(i=arguments.length)<2?(n=t,t=0,1):i<3?1:+e;for(var r=-1,i=0|Math.max(0,Math.ceil((n-t)/e)),a=new Array(i);++r<i;)a[r]=t+r*e;return a}function Bx(t){for(var n,e,r,i=t.length,a=-1,u=0;++a<i;)u+=t[a].length;for(e=new Array(u);--i>=0;)for(n=(r=t[i]).length;--n>=0;)e[--u]=r[n];return e}function Ox(t,n,e,r){return function(i){var a,u,o,s=n(i),l=Ax(),c=n(l),f=!1,h={point:d,lineStart:g,lineEnd:m,polygonStart:function(){h.point=v,h.lineStart=y,h.lineEnd=x,u=[],a=[]},polygonEnd:function(){h.point=d,h.lineStart=g,h.lineEnd=m,u=Bx(u);var t=function(t,n){var e=n[0],r=n[1],i=Iv(r),a=[Iv(e),-Lv(e),0],u=0,o=0;Dx.reset(),1===i?r=Sv+Cv:-1===i&&(r=-Sv-Cv);for(var s=0,l=t.length;s<l;++s)if(f=(c=t[s]).length)for(var c,f,h=c[f-1],d=h[0],p=h[1]/2+Bv,g=Iv(p),m=Lv(p),v=0;v<f;++v,d=x,g=b,m=w,h=y){var y=c[v],x=y[0],_=y[1]/2+Bv,b=Iv(_),w=Lv(_),A=x-d,M=A>=0?1:-1,k=M*A,E=k>Fv,C=g*b;if(Dx.add(Pv(C*M*Iv(k),m*w+C*Lv(k))),u+=E?A+M*Ov:A,E^d>=e^x>=e){var D=vy(gy(h),gy(y));_y(D);var F=vy(a,D);_y(F);var S=(E^A>=0?-1:1)*Vv(F[2]);(r>S||r===S&&(D[0]||D[1]))&&(o+=E^A>=0?1:-1)}}return(u<-Cv||u<Cv&&Dx<-Cv)^1&o}(a,r);u.length?(f||(i.polygonStart(),f=!0),Ex(u,Nx,t,e,i)):t&&(f||(i.polygonStart(),f=!0),i.lineStart(),e(null,null,1,i),i.lineEnd()),f&&(i.polygonEnd(),f=!1),u=a=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function d(n,e){t(n,e)&&i.point(n,e)}function p(t,n){s.point(t,n)}function g(){h.point=p,s.lineStart()}function m(){h.point=d,s.lineEnd()}function v(t,n){o.push([t,n]),c.point(t,n)}function y(){c.lineStart(),o=[]}function x(){v(o[0][0],o[0][1]),c.lineEnd();var t,n,e,r,s=c.clean(),h=l.result(),d=h.length;if(o.pop(),a.push(o),o=null,d)if(1&s){if((n=(e=h[0]).length-1)>0){for(f||(i.polygonStart(),f=!0),i.lineStart(),t=0;t<n;++t)i.point((r=e[t])[0],r[1]);i.lineEnd()}}else d>1&&2&s&&h.push(h.pop().concat(h.shift())),u.push(h.filter(zx))}return h}}function zx(t){return t.length>1}function Nx(t,n){return((t=t.x)[0]<0?t[1]-Sv-Cv:Sv-t[1])-((n=n.x)[0]<0?n[1]-Sv-Cv:Sv-n[1])}var Tx=Ox(function(){return!0},function(t){var n,e=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),n=1},point:function(a,u){var o=a>0?Fv:-Fv,s=Tv(a-e);Tv(s-Fv)<Cv?(t.point(e,r=(r+u)/2>0?Sv:-Sv),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(o,r),t.point(a,r),n=0):i!==o&&s>=Fv&&(Tv(e-i)<Cv&&(e-=i*Cv),Tv(a-o)<Cv&&(a-=o*Cv),r=function(t,n,e,r){var i,a,u=Iv(t-e);return Tv(u)>Cv?Rv((Iv(n)*(a=Lv(r))*Iv(e)-Iv(r)*(i=Lv(n))*Iv(t))/(i*a*u)):(n+r)/2}(e,r,a,u),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(o,r),n=0),t.point(e=a,r=u),i=o},lineEnd:function(){t.lineEnd(),e=r=NaN},clean:function(){return 2-n}}},function(t,n,e,r){var i;if(null==t)i=e*Sv,r.point(-Fv,i),r.point(0,i),r.point(Fv,i),r.point(Fv,0),r.point(Fv,-i),r.point(0,-i),r.point(-Fv,-i),r.point(-Fv,0),r.point(-Fv,i);else if(Tv(t[0]-n[0])>Cv){var a=t[0]<n[0]?Fv:-Fv;i=e*a/2,r.point(-a,i),r.point(0,i),r.point(a,i)}else r.point(n[0],n[1])},[-Fv,-Sv]);function Rx(t){var n=Lv(t),e=6*Nv,r=n>0,i=Tv(n)>Cv;function a(t,e){return Lv(t)*Lv(e)>n}function u(t,e,r){var i=[1,0,0],a=vy(gy(t),gy(e)),u=my(a,a),o=a[0],s=u-o*o;if(!s)return!r&&t;var l=n*u/s,c=-n*o/s,f=vy(i,a),h=xy(i,l);yy(h,xy(a,c));var d=f,p=my(h,d),g=my(d,d),m=p*p-g*(my(h,h)-1);if(!(m<0)){var v=Hv(m),y=xy(d,(-p-v)/g);if(yy(y,h),y=py(y),!r)return y;var x,_=t[0],b=e[0],w=t[1],A=e[1];b<_&&(x=_,_=b,b=x);var M=b-_,k=Tv(M-Fv)<Cv;if(!k&&A<w&&(x=w,w=A,A=x),k||M<Cv?k?w+A>0^y[1]<(Tv(y[0]-_)<Cv?w:A):w<=y[1]&&y[1]<=A:M>Fv^(_<=y[0]&&y[0]<=b)){var E=xy(d,(-p+v)/g);return yy(E,h),[y,py(E)]}}}function o(n,e){var i=r?t:Fv-t,a=0;return n<-i?a|=1:n>i&&(a|=2),e<-i?a|=4:e>i&&(a|=8),a}return Ox(a,function(t){var n,e,s,l,c;return{lineStart:function(){l=s=!1,c=1},point:function(f,h){var d,p=[f,h],g=a(f,h),m=r?g?0:o(f,h):g?o(f+(f<0?Fv:-Fv),h):0;if(!n&&(l=s=g)&&t.lineStart(),g!==s&&(!(d=u(n,p))||Mx(n,d)||Mx(p,d))&&(p[0]+=Cv,p[1]+=Cv,g=a(p[0],p[1])),g!==s)c=0,g?(t.lineStart(),d=u(p,n),t.point(d[0],d[1])):(d=u(n,p),t.point(d[0],d[1]),t.lineEnd()),n=d;else if(i&&n&&r^g){var v;m&e||!(v=u(p,n,!0))||(c=0,r?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1])))}!g||n&&Mx(n,p)||t.point(p[0],p[1]),n=p,s=g,e=m},lineEnd:function(){s&&t.lineEnd(),n=null},clean:function(){return c|(l&&s)<<1}}},function(n,r,i,a){!function(t,n,e,r,i,a){if(e){var u=Lv(n),o=Iv(n),s=r*e;null==i?(i=n+r*Ov,a=n-s/2):(i=wx(u,i),a=wx(u,a),(r>0?i<a:i>a)&&(i+=r*Ov));for(var l,c=i;r>0?c>a:c<a;c-=s)l=py([u,-o*Lv(c),-o*Iv(c)]),t.point(l[0],l[1])}}(a,t,e,i,n,r)},r?[0,-t]:[-Fv,t-Fv])}var Px=1e9,Lx=-Px;function qx(t,n,e,r){function i(i,a){return t<=i&&i<=e&&n<=a&&a<=r}function a(i,a,o,l){var c=0,f=0;if(null==i||(c=u(i,o))!==(f=u(a,o))||s(i,a)<0^o>0)do{l.point(0===c||3===c?t:e,c>1?r:n)}while((c=(c+o+4)%4)!==f);else l.point(a[0],a[1])}function u(r,i){return Tv(r[0]-t)<Cv?i>0?0:3:Tv(r[0]-e)<Cv?i>0?2:1:Tv(r[1]-n)<Cv?i>0?1:0:i>0?3:2}function o(t,n){return s(t.x,n.x)}function s(t,n){var e=u(t,1),r=u(n,1);return e!==r?e-r:0===e?n[1]-t[1]:1===e?t[0]-n[0]:2===e?t[1]-n[1]:n[0]-t[0]}return function(u){var s,l,c,f,h,d,p,g,m,v,y,x=u,_=Ax(),b={point:w,lineStart:function(){b.point=A,l&&l.push(c=[]);v=!0,m=!1,p=g=NaN},lineEnd:function(){s&&(A(f,h),d&&m&&_.rejoin(),s.push(_.result()));b.point=w,m&&x.lineEnd()},polygonStart:function(){x=_,s=[],l=[],y=!0},polygonEnd:function(){var n=function(){for(var n=0,e=0,i=l.length;e<i;++e)for(var a,u,o=l[e],s=1,c=o.length,f=o[0],h=f[0],d=f[1];s<c;++s)a=h,u=d,f=o[s],h=f[0],d=f[1],u<=r?d>r&&(h-a)*(r-u)>(d-u)*(t-a)&&++n:d<=r&&(h-a)*(r-u)<(d-u)*(t-a)&&--n;return n}(),e=y&&n,i=(s=Bx(s)).length;(e||i)&&(u.polygonStart(),e&&(u.lineStart(),a(null,null,1,u),u.lineEnd()),i&&Ex(s,o,n,a,u),u.polygonEnd());x=u,s=l=c=null}};function w(t,n){i(t,n)&&x.point(t,n)}function A(a,u){var o=i(a,u);if(l&&c.push([a,u]),v)f=a,h=u,d=o,v=!1,o&&(x.lineStart(),x.point(a,u));else if(o&&m)x.point(a,u);else{var s=[p=Math.max(Lx,Math.min(Px,p)),g=Math.max(Lx,Math.min(Px,g))],_=[a=Math.max(Lx,Math.min(Px,a)),u=Math.max(Lx,Math.min(Px,u))];!function(t,n,e,r,i,a){var u,o=t[0],s=t[1],l=0,c=1,f=n[0]-o,h=n[1]-s;if(u=e-o,f||!(u>0)){if(u/=f,f<0){if(u<l)return;u<c&&(c=u)}else if(f>0){if(u>c)return;u>l&&(l=u)}if(u=i-o,f||!(u<0)){if(u/=f,f<0){if(u>c)return;u>l&&(l=u)}else if(f>0){if(u<l)return;u<c&&(c=u)}if(u=r-s,h||!(u>0)){if(u/=h,h<0){if(u<l)return;u<c&&(c=u)}else if(h>0){if(u>c)return;u>l&&(l=u)}if(u=a-s,h||!(u<0)){if(u/=h,h<0){if(u>c)return;u>l&&(l=u)}else if(h>0){if(u<l)return;u<c&&(c=u)}return l>0&&(t[0]=o+l*f,t[1]=s+l*h),c<1&&(n[0]=o+c*f,n[1]=s+c*h),!0}}}}}(s,_,t,n,e,r)?o&&(x.lineStart(),x.point(a,u),y=!1):(m||(x.lineStart(),x.point(s[0],s[1])),x.point(_[0],_[1]),o||x.lineEnd(),y=!1)}p=a,g=u,m=o}return b}}Av();function Ux(t,n,e){var r=Sx(t,n-Cv,e).concat(n);return function(t){return r.map(function(n){return[t,n]})}}function jx(t,n,e){var r=Sx(t,n-Cv,e).concat(n);return function(t){return r.map(function(n){return[n,t]})}}function $x(t){return t}var Ix,Wx,Hx,Yx,Gx=Av(),Vx=Av(),Xx={point:Xv,lineStart:Xv,lineEnd:Xv,polygonStart:function(){Xx.lineStart=Zx,Xx.lineEnd=Kx},polygonEnd:function(){Xx.lineStart=Xx.lineEnd=Xx.point=Xv,Gx.add(Tv(Vx)),Vx.reset()},result:function(){var t=Gx/2;return Gx.reset(),t}};function Zx(){Xx.point=Jx}function Jx(t,n){Xx.point=Qx,Ix=Hx=t,Wx=Yx=n}function Qx(t,n){Vx.add(Yx*t-Hx*n),Hx=t,Yx=n}function Kx(){Qx(Ix,Wx)}var t_=1/0,n_=t_,e_=-t_,r_=e_,i_={point:function(t,n){t<t_&&(t_=t);t>e_&&(e_=t);n<n_&&(n_=n);n>r_&&(r_=n)},lineStart:Xv,lineEnd:Xv,polygonStart:Xv,polygonEnd:Xv,result:function(){var t=[[t_,n_],[e_,r_]];return e_=r_=-(n_=t_=1/0),t}};var a_,u_,o_,s_,l_=0,c_=0,f_=0,h_=0,d_=0,p_=0,g_=0,m_=0,v_=0,y_={point:x_,lineStart:__,lineEnd:A_,polygonStart:function(){y_.lineStart=M_,y_.lineEnd=k_},polygonEnd:function(){y_.point=x_,y_.lineStart=__,y_.lineEnd=A_},result:function(){var t=v_?[g_/v_,m_/v_]:p_?[h_/p_,d_/p_]:f_?[l_/f_,c_/f_]:[NaN,NaN];return l_=c_=f_=h_=d_=p_=g_=m_=v_=0,t}};function x_(t,n){l_+=t,c_+=n,++f_}function __(){y_.point=b_}function b_(t,n){y_.point=w_,x_(o_=t,s_=n)}function w_(t,n){var e=t-o_,r=n-s_,i=Hv(e*e+r*r);h_+=i*(o_+t)/2,d_+=i*(s_+n)/2,p_+=i,x_(o_=t,s_=n)}function A_(){y_.point=x_}function M_(){y_.point=E_}function k_(){C_(a_,u_)}function E_(t,n){y_.point=C_,x_(a_=o_=t,u_=s_=n)}function C_(t,n){var e=t-o_,r=n-s_,i=Hv(e*e+r*r);h_+=i*(o_+t)/2,d_+=i*(s_+n)/2,p_+=i,g_+=(i=s_*t-o_*n)*(o_+t),m_+=i*(s_+n),v_+=3*i,x_(o_=t,s_=n)}function D_(t){this._context=t}D_.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,n){switch(this._point){case 0:this._context.moveTo(t,n),this._point=1;break;case 1:this._context.lineTo(t,n);break;default:this._context.moveTo(t+this._radius,n),this._context.arc(t,n,this._radius,0,Ov)}},result:Xv};var F_,S_,B_,O_,z_,N_=Av(),T_={point:Xv,lineStart:function(){T_.point=R_},lineEnd:function(){F_&&P_(S_,B_),T_.point=Xv},polygonStart:function(){F_=!0},polygonEnd:function(){F_=null},result:function(){var t=+N_;return N_.reset(),t}};function R_(t,n){T_.point=P_,S_=O_=t,B_=z_=n}function P_(t,n){O_-=t,z_-=n,N_.add(Hv(O_*O_+z_*z_)),O_=t,z_=n}function L_(){this._string=[]}function q_(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function U_(t,n){var e,r,i=4.5;function a(t){return t&&("function"==typeof i&&r.pointRadius(+i.apply(this,arguments)),ny(t,e(r))),r.result()}return a.area=function(t){return ny(t,e(Xx)),Xx.result()},a.measure=function(t){return ny(t,e(T_)),T_.result()},a.bounds=function(t){return ny(t,e(i_)),i_.result()},a.centroid=function(t){return ny(t,e(y_)),y_.result()},a.projection=function(n){return arguments.length?(e=null==n?(t=null,$x):(t=n).stream,a):t},a.context=function(t){return arguments.length?(r=null==t?(n=null,new L_):new D_(n=t),"function"!=typeof i&&r.pointRadius(i),a):n},a.pointRadius=function(t){return arguments.length?(i="function"==typeof t?t:(r.pointRadius(+t),+t),a):i},a.projection(t).context(n)}function j_(t){return function(n){var e=new $_;for(var r in t)e[r]=t[r];return e.stream=n,e}}function $_(){}function I_(t,n,e){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=r&&t.clipExtent(null),ny(e,t.stream(i_)),n(i_.result()),null!=r&&t.clipExtent(r),t}function W_(t,n,e){return I_(t,function(e){var r=n[1][0]-n[0][0],i=n[1][1]-n[0][1],a=Math.min(r/(e[1][0]-e[0][0]),i/(e[1][1]-e[0][1])),u=+n[0][0]+(r-a*(e[1][0]+e[0][0]))/2,o=+n[0][1]+(i-a*(e[1][1]+e[0][1]))/2;t.scale(150*a).translate([u,o])},e)}function H_(t,n,e){return W_(t,[[0,0],n],e)}function Y_(t,n,e){return I_(t,function(e){var r=+n,i=r/(e[1][0]-e[0][0]),a=(r-i*(e[1][0]+e[0][0]))/2,u=-i*e[0][1];t.scale(150*i).translate([a,u])},e)}function G_(t,n,e){return I_(t,function(e){var r=+n,i=r/(e[1][1]-e[0][1]),a=-i*e[0][0],u=(r-i*(e[1][1]+e[0][1]))/2;t.scale(150*i).translate([a,u])},e)}L_.prototype={_radius:4.5,_circle:q_(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,n){switch(this._point){case 0:this._string.push("M",t,",",n),this._point=1;break;case 1:this._string.push("L",t,",",n);break;default:null==this._circle&&(this._circle=q_(this._radius)),this._string.push("M",t,",",n,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}},$_.prototype={constructor:$_,point:function(t,n){this.stream.point(t,n)},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()}};var V_=16,X_=Lv(30*Nv);function Z_(t,n){return+n?function(t,n){function e(r,i,a,u,o,s,l,c,f,h,d,p,g,m){var v=l-r,y=c-i,x=v*v+y*y;if(x>4*n&&g--){var _=u+h,b=o+d,w=s+p,A=Hv(_*_+b*b+w*w),M=Vv(w/=A),k=Tv(Tv(w)-1)<Cv||Tv(a-f)<Cv?(a+f)/2:Pv(b,_),E=t(k,M),C=E[0],D=E[1],F=C-r,S=D-i,B=y*F-v*S;(B*B/x>n||Tv((v*F+y*S)/x-.5)>.3||u*h+o*d+s*p<X_)&&(e(r,i,a,u,o,s,C,D,k,_/=A,b/=A,w,g,m),m.point(C,D),e(C,D,k,_,b,w,l,c,f,h,d,p,g,m))}}return function(n){var r,i,a,u,o,s,l,c,f,h,d,p,g={point:m,lineStart:v,lineEnd:x,polygonStart:function(){n.polygonStart(),g.lineStart=_},polygonEnd:function(){n.polygonEnd(),g.lineStart=v}};function m(e,r){e=t(e,r),n.point(e[0],e[1])}function v(){c=NaN,g.point=y,n.lineStart()}function y(r,i){var a=gy([r,i]),u=t(r,i);e(c,f,l,h,d,p,c=u[0],f=u[1],l=r,h=a[0],d=a[1],p=a[2],V_,n),n.point(c,f)}function x(){g.point=m,n.lineEnd()}function _(){v(),g.point=b,g.lineEnd=w}function b(t,n){y(r=t,n),i=c,a=f,u=h,o=d,s=p,g.point=y}function w(){e(c,f,l,h,d,p,i,a,r,u,o,s,V_,n),g.lineEnd=x,x()}return g}}(t,n):function(t){return j_({point:function(n,e){n=t(n,e),this.stream.point(n[0],n[1])}})}(t)}var J_=j_({point:function(t,n){this.stream.point(t*Nv,n*Nv)}});function Q_(t,n,e,r){var i=Lv(r),a=Iv(r),u=i*t,o=a*t,s=i/t,l=a/t,c=(a*e-i*n)/t,f=(a*n+i*e)/t;function h(t,r){return[u*t-o*r+n,e-o*t-u*r]}return h.invert=function(t,n){return[s*t-l*n+c,f-l*t-s*n]},h}function K_(t){return tb(function(){return t})()}function tb(t){var n,e,r,i,a,u,o,s,l,c,f=150,h=480,d=250,p=0,g=0,m=0,v=0,y=0,x=0,_=null,b=Tx,w=null,A=$x,M=.5;function k(t){return s(t[0]*Nv,t[1]*Nv)}function E(t){return(t=s.invert(t[0],t[1]))&&[t[0]*zv,t[1]*zv]}function C(){var t=Q_(f,0,0,x).apply(null,n(p,g)),r=(x?Q_:function(t,n,e){function r(r,i){return[n+t*r,e-t*i]}return r.invert=function(r,i){return[(r-n)/t,(e-i)/t]},r})(f,h-t[0],d-t[1],x);return e=yx(m,v,y),o=mx(n,r),s=mx(e,o),u=Z_(o,M),D()}function D(){return l=c=null,k}return k.stream=function(t){return l&&c===t?l:l=J_(function(t){return j_({point:function(n,e){var r=t(n,e);return this.stream.point(r[0],r[1])}})}(e)(b(u(A(c=t)))))},k.preclip=function(t){return arguments.length?(b=t,_=void 0,D()):b},k.postclip=function(t){return arguments.length?(A=t,w=r=i=a=null,D()):A},k.clipAngle=function(t){return arguments.length?(b=+t?Rx(_=t*Nv):(_=null,Tx),D()):_*zv},k.clipExtent=function(t){return arguments.length?(A=null==t?(w=r=i=a=null,$x):qx(w=+t[0][0],r=+t[0][1],i=+t[1][0],a=+t[1][1]),D()):null==w?null:[[w,r],[i,a]]},k.scale=function(t){return arguments.length?(f=+t,C()):f},k.translate=function(t){return arguments.length?(h=+t[0],d=+t[1],C()):[h,d]},k.center=function(t){return arguments.length?(p=t[0]%360*Nv,g=t[1]%360*Nv,C()):[p*zv,g*zv]},k.rotate=function(t){return arguments.length?(m=t[0]%360*Nv,v=t[1]%360*Nv,y=t.length>2?t[2]%360*Nv:0,C()):[m*zv,v*zv,y*zv]},k.angle=function(t){return arguments.length?(x=t%360*Nv,C()):x*zv},k.precision=function(t){return arguments.length?(u=Z_(o,M=t*t),D()):Hv(M)},k.fitExtent=function(t,n){return W_(k,t,n)},k.fitSize=function(t,n){return H_(k,t,n)},k.fitWidth=function(t,n){return Y_(k,t,n)},k.fitHeight=function(t,n){return G_(k,t,n)},function(){return n=t.apply(this,arguments),k.invert=n.invert&&E,C()}}function nb(t){var n=0,e=Fv/3,r=tb(t),i=r(n,e);return i.parallels=function(t){return arguments.length?r(n=t[0]*Nv,e=t[1]*Nv):[n*zv,e*zv]},i}function eb(t,n){var e=Iv(t),r=(e+Iv(n))/2;if(Tv(r)<Cv)return function(t){var n=Lv(t);function e(t,e){return[t*n,Iv(e)/n]}return e.invert=function(t,e){return[t/n,Vv(e*n)]},e}(t);var i=1+e*(2*r-e),a=Hv(i)/r;function u(t,n){var e=Hv(i-2*r*Iv(n))/r;return[e*Iv(t*=r),a-e*Lv(t)]}return u.invert=function(t,n){var e=a-n;return[Pv(t,Tv(e))/r*Wv(e),Vv((i-(t*t+e*e)*r*r)/(2*r))]},u}function rb(){return nb(eb).scale(155.424).center([0,33.6442])}function ib(){return rb().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function ab(t){return function(n,e){var r=Lv(n),i=Lv(e),a=t(r*i);return[a*i*Iv(n),a*Iv(e)]}}function ub(t){return function(n,e){var r=Hv(n*n+e*e),i=t(r),a=Iv(i),u=Lv(i);return[Pv(n*a,r*u),Vv(r&&e*a/r)]}}var ob=ab(function(t){return Hv(2/(1+t))});ob.invert=ub(function(t){return 2*Vv(t/2)});var sb=ab(function(t){return(t=Gv(t))&&t/Iv(t)});function lb(t,n){return[t,jv(Yv((Sv+n)/2))]}function cb(t){var n,e,r,i=K_(t),a=i.center,u=i.scale,o=i.translate,s=i.clipExtent,l=null;function c(){var a=Fv*u(),o=i(function(t){function n(n){return(n=t(n[0]*Nv,n[1]*Nv))[0]*=zv,n[1]*=zv,n}return t=yx(t[0]*Nv,t[1]*Nv,t.length>2?t[2]*Nv:0),n.invert=function(n){return(n=t.invert(n[0]*Nv,n[1]*Nv))[0]*=zv,n[1]*=zv,n},n}(i.rotate()).invert([0,0]));return s(null==l?[[o[0]-a,o[1]-a],[o[0]+a,o[1]+a]]:t===lb?[[Math.max(o[0]-a,l),n],[Math.min(o[0]+a,e),r]]:[[l,Math.max(o[1]-a,n)],[e,Math.min(o[1]+a,r)]])}return i.scale=function(t){return arguments.length?(u(t),c()):u()},i.translate=function(t){return arguments.length?(o(t),c()):o()},i.center=function(t){return arguments.length?(a(t),c()):a()},i.clipExtent=function(t){return arguments.length?(null==t?l=n=e=r=null:(l=+t[0][0],n=+t[0][1],e=+t[1][0],r=+t[1][1]),c()):null==l?null:[[l,n],[e,r]]},c()}function fb(t){return Yv((Sv+t)/2)}function hb(t,n){var e=Lv(t),r=t===n?Iv(t):jv(e/Lv(n))/jv(fb(n)/fb(t)),i=e*$v(fb(t),r)/r;if(!r)return lb;function a(t,n){i>0?n<-Sv+Cv&&(n=-Sv+Cv):n>Sv-Cv&&(n=Sv-Cv);var e=i/$v(fb(n),r);return[e*Iv(r*t),i-e*Lv(r*t)]}return a.invert=function(t,n){var e=i-n,a=Wv(r)*Hv(t*t+e*e);return[Pv(t,Tv(e))/r*Wv(e),2*Rv($v(i/a,1/r))-Sv]},a}function db(t,n){return[t,n]}function pb(t,n){var e=Lv(t),r=t===n?Iv(t):(e-Lv(n))/(n-t),i=e/r+t;if(Tv(r)<Cv)return db;function a(t,n){var e=i-n,a=r*t;return[e*Iv(a),i-e*Lv(a)]}return a.invert=function(t,n){var e=i-n;return[Pv(t,Tv(e))/r*Wv(e),i-Wv(r)*Hv(t*t+e*e)]},a}function gb(t,n){var e=Lv(n),r=Lv(t)*e;return[e*Iv(t)/r,Iv(n)/r]}function mb(t,n,e,r){return 1===t&&1===n&&0===e&&0===r?$x:j_({point:function(i,a){this.stream.point(i*t+e,a*n+r)}})}function vb(t,n){var e=n*n,r=e*e;return[t*(.8707-.131979*e+r*(r*(.003971*e-.001529*r)-.013791)),n*(1.007226+e*(.015085+r*(.028874*e-.044475-.005916*r)))]}function yb(t,n){return[Lv(n)*Iv(t),Iv(n)]}function xb(t,n){var e=Lv(n),r=1+Lv(t)*e;return[e*Iv(t)/r,Iv(n)/r]}function _b(t,n){return[jv(Yv((Sv+n)/2)),-t]}sb.invert=ub(function(t){return t}),lb.invert=function(t,n){return[t,2*Rv(Uv(n))-Sv]},db.invert=db,gb.invert=ub(Rv),vb.invert=function(t,n){var e,r=n,i=25;do{var a=r*r,u=a*a;r-=e=(r*(1.007226+a*(.015085+u*(.028874*a-.044475-.005916*u)))-n)/(1.007226+a*(.045255+u*(.259866*a-.311325-.005916*11*u)))}while(Tv(e)>Cv&&--i>0);return[t/(.8707+(a=r*r)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),r]},yb.invert=ub(Vv),xb.invert=ub(function(t){return 2*Rv(t)}),_b.invert=function(t,n){return[-n,2*Rv(Uv(t))-Sv]};var bb=U_(),wb=["clipAngle","clipExtent","scale","translate","center","rotate","parallels","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];function Ab(t,n){if(!t||"string"!=typeof t)throw new Error("Projection type must be a name string.");return t=t.toLowerCase(),arguments.length>1?(kb[t]=function(t,n){return function e(){var r=n();return r.type=t,r.path=U_().projection(r),r.copy=r.copy||function(){var t=e();return wb.forEach(function(n){r.hasOwnProperty(n)&&t[n](r[n]())}),t.path.pointRadius(r.path.pointRadius()),t},r}}(t,n),this):kb.hasOwnProperty(t)?kb[t]:null}function Mb(t){return t&&t.path||bb}var kb={albers:ib,albersusa:function(){var t,n,e,r,i,a,u=ib(),o=rb().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=rb().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,n){a=[t,n]}};function c(t){var n=t[0],u=t[1];return a=null,e.point(n,u),a||(r.point(n,u),a)||(i.point(n,u),a)}function f(){return t=n=null,c}return c.invert=function(t){var n=u.scale(),e=u.translate(),r=(t[0]-e[0])/n,i=(t[1]-e[1])/n;return(i>=.12&&i<.234&&r>=-.425&&r<-.214?o:i>=.166&&i<.234&&r>=-.214&&r<-.115?s:u).invert(t)},c.stream=function(e){return t&&n===e?t:(r=[u.stream(n=e),o.stream(e),s.stream(e)],i=r.length,t={point:function(t,n){for(var e=-1;++e<i;)r[e].point(t,n)},sphere:function(){for(var t=-1;++t<i;)r[t].sphere()},lineStart:function(){for(var t=-1;++t<i;)r[t].lineStart()},lineEnd:function(){for(var t=-1;++t<i;)r[t].lineEnd()},polygonStart:function(){for(var t=-1;++t<i;)r[t].polygonStart()},polygonEnd:function(){for(var t=-1;++t<i;)r[t].polygonEnd()}});var r,i},c.precision=function(t){return arguments.length?(u.precision(t),o.precision(t),s.precision(t),f()):u.precision()},c.scale=function(t){return arguments.length?(u.scale(t),o.scale(.35*t),s.scale(t),c.translate(u.translate())):u.scale()},c.translate=function(t){if(!arguments.length)return u.translate();var n=u.scale(),a=+t[0],c=+t[1];return e=u.translate(t).clipExtent([[a-.455*n,c-.238*n],[a+.455*n,c+.238*n]]).stream(l),r=o.translate([a-.307*n,c+.201*n]).clipExtent([[a-.425*n+Cv,c+.12*n+Cv],[a-.214*n-Cv,c+.234*n-Cv]]).stream(l),i=s.translate([a-.205*n,c+.212*n]).clipExtent([[a-.214*n+Cv,c+.166*n+Cv],[a-.115*n-Cv,c+.234*n-Cv]]).stream(l),f()},c.fitExtent=function(t,n){return W_(c,t,n)},c.fitSize=function(t,n){return H_(c,t,n)},c.fitWidth=function(t,n){return Y_(c,t,n)},c.fitHeight=function(t,n){return G_(c,t,n)},c.scale(1070)},azimuthalequalarea:function(){return K_(ob).scale(124.75).clipAngle(179.999)},azimuthalequidistant:function(){return K_(sb).scale(79.4188).clipAngle(179.999)},conicconformal:function(){return nb(hb).scale(109.5).parallels([30,30])},conicequalarea:rb,conicequidistant:function(){return nb(pb).scale(131.154).center([0,13.9389])},equirectangular:function(){return K_(db).scale(152.63)},gnomonic:function(){return K_(gb).scale(144.049).clipAngle(60)},identity:function(){var t,n,e,r,i,a,u=1,o=0,s=0,l=1,c=1,f=$x,h=null,d=$x;function p(){return r=i=null,a}return a={stream:function(t){return r&&i===t?r:r=f(d(i=t))},postclip:function(r){return arguments.length?(d=r,h=t=n=e=null,p()):d},clipExtent:function(r){return arguments.length?(d=null==r?(h=t=n=e=null,$x):qx(h=+r[0][0],t=+r[0][1],n=+r[1][0],e=+r[1][1]),p()):null==h?null:[[h,t],[n,e]]},scale:function(t){return arguments.length?(f=mb((u=+t)*l,u*c,o,s),p()):u},translate:function(t){return arguments.length?(f=mb(u*l,u*c,o=+t[0],s=+t[1]),p()):[o,s]},reflectX:function(t){return arguments.length?(f=mb(u*(l=t?-1:1),u*c,o,s),p()):l<0},reflectY:function(t){return arguments.length?(f=mb(u*l,u*(c=t?-1:1),o,s),p()):c<0},fitExtent:function(t,n){return W_(a,t,n)},fitSize:function(t,n){return H_(a,t,n)},fitWidth:function(t,n){return Y_(a,t,n)},fitHeight:function(t,n){return G_(a,t,n)}}},mercator:function(){return cb(lb).scale(961/Ov)},naturalEarth1:function(){return K_(vb).scale(175.295)},orthographic:function(){return K_(yb).scale(249.5).clipAngle(90+Cv)},stereographic:function(){return K_(xb).scale(250).clipAngle(142)},transversemercator:function(){var t=cb(_b),n=t.center,e=t.rotate;return t.center=function(t){return arguments.length?n([-t[1],t[0]]):[(t=n())[1],-t[0]]},t.rotate=function(t){return arguments.length?e([t[0],t[1],t.length>2?t[2]+90:90]):[(t=e())[0],t[1],t[2]-90]},e([0,0,90]).scale(159.155)}};for(var Eb in kb)Ab(Eb,kb[Eb]);function Cb(t){$r.call(this,null,t)}function Db(t){$r.call(this,null,t)}function Fb(t){$r.call(this,null,t)}function Sb(t){$r.call(this,[],t),this.generator=function(){var t,n,e,r,i,a,u,o,s,l,c,f,h=10,d=h,p=90,g=360,m=2.5;function v(){return{type:"MultiLineString",coordinates:y()}}function y(){return Sx(qv(r/p)*p,e,p).map(c).concat(Sx(qv(o/g)*g,u,g).map(f)).concat(Sx(qv(n/h)*h,t,h).filter(function(t){return Tv(t%p)>Cv}).map(s)).concat(Sx(qv(a/d)*d,i,d).filter(function(t){return Tv(t%g)>Cv}).map(l))}return v.lines=function(){return y().map(function(t){return{type:"LineString",coordinates:t}})},v.outline=function(){return{type:"Polygon",coordinates:[c(r).concat(f(u).slice(1),c(e).reverse().slice(1),f(o).reverse().slice(1))]}},v.extent=function(t){return arguments.length?v.extentMajor(t).extentMinor(t):v.extentMinor()},v.extentMajor=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],u=+t[1][1],r>e&&(t=r,r=e,e=t),o>u&&(t=o,o=u,u=t),v.precision(m)):[[r,o],[e,u]]},v.extentMinor=function(e){return arguments.length?(n=+e[0][0],t=+e[1][0],a=+e[0][1],i=+e[1][1],n>t&&(e=n,n=t,t=e),a>i&&(e=a,a=i,i=e),v.precision(m)):[[n,a],[t,i]]},v.step=function(t){return arguments.length?v.stepMajor(t).stepMinor(t):v.stepMinor()},v.stepMajor=function(t){return arguments.length?(p=+t[0],g=+t[1],v):[p,g]},v.stepMinor=function(t){return arguments.length?(h=+t[0],d=+t[1],v):[h,d]},v.precision=function(h){return arguments.length?(m=+h,s=Ux(a,i,90),l=jx(n,t,m),c=Ux(o,u,90),f=jx(r,e,m),v):m},v.extentMajor([[-180,-90+Cv],[180,90-Cv]]).extentMinor([[-180,-80-Cv],[180,80+Cv]])}()}function Bb(t){$r.call(this,null,t),this.modified(!0)}function Ob(t,n,e){Y(t[n])&&t[n](e)}Cb.Definition={type:"GeoPath",metadata:{modifies:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"path"}]},et(Cb,$r).transform=function(t,n){var e=n.fork(n.ALL),r=this.value,i=t.field||d,a=t.as||"path",u=e.SOURCE;!r||t.modified()?(this.value=r=Mb(t.projection),e.materialize().reflow()):u=i===d||n.modified(i.fields)?e.ADD_MOD:e.ADD;var o=function(t,n){var e=t.pointRadius();t.context(null),null!=n&&t.pointRadius(n);return e}(r,t.pointRadius);return e.visit(u,function(t){t[a]=r(i(t))}),r.pointRadius(o),e.modifies(a)},Db.Definition={type:"GeoPoint",metadata:{modifies:!0},params:[{name:"projection",type:"projection",required:!0},{name:"fields",type:"field",array:!0,required:!0,length:2},{name:"as",type:"string",array:!0,length:2,default:["x","y"]}]},et(Db,$r).transform=function(t,n){var e,r=t.projection,i=t.fields[0],a=t.fields[1],u=t.as||["x","y"],o=u[0],s=u[1];function l(t){var n=r([i(t),a(t)]);n?(t[o]=n[0],t[s]=n[1]):(t[o]=void 0,t[s]=void 0)}return t.modified()?n=n.materialize().reflow(!0).visit(n.SOURCE,l):(e=n.modified(i.fields)||n.modified(a.fields),n.visit(e?n.ADD_MOD:n.ADD,l)),n.modifies(u)},Fb.Definition={type:"GeoShape",metadata:{modifies:!0,nomod:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field",default:"datum"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"shape"}]},et(Fb,$r).transform=function(t,n){var e=n.fork(n.ALL),r=this.value,i=t.as||"shape",a=e.ADD;return r&&!t.modified()||(this.value=r=function(t,n,e){var r=null==e?function(e){return t(n(e))}:function(r){var i=t.pointRadius(),a=t.pointRadius(e)(n(r));return t.pointRadius(i),a};return r.context=function(n){return t.context(n),r},r}(Mb(t.projection),t.field||c("datum"),t.pointRadius),e.materialize().reflow(),a=e.SOURCE),e.visit(a,function(t){t[i]=r}),e.modifies(i)},Sb.Definition={type:"Graticule",metadata:{changes:!0},params:[{name:"extent",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMajor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMinor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"step",type:"number",array:!0,length:2},{name:"stepMajor",type:"number",array:!0,length:2,default:[90,360]},{name:"stepMinor",type:"number",array:!0,length:2,default:[10,10]},{name:"precision",type:"number",default:2.5}]},et(Sb,$r).transform=function(t,n){var e,r=this.value,i=this.generator;if(!r.length||t.modified())for(var a in t)Y(i[a])&&i[a](t[a]);return e=i(),r.length?n.mod.push(Bt(r[0],e)):n.add.push(Dt(e)),r[0]=e,n},et(Bb,$r).transform=function(t,n){var e=this.value;return!e||t.modified("type")?(this.value=e=function(t){var n=Ab((t||"mercator").toLowerCase());n||i("Unrecognized projection type: "+t);return n()}(t.type),wb.forEach(function(n){null!=t[n]&&Ob(e,n,t[n])})):wb.forEach(function(n){t.modified(n)&&Ob(e,n,t[n])}),null!=t.pointRadius&&e.path.pointRadius(t.pointRadius),t.fit&&function(t,n){var e=function(t){return 1===(t=W(t)).length?t[0]:{type:bv,features:t.reduce((t,n)=>t.concat(function(t){return t.type===bv?t.features:W(t).filter(t=>null!=t).map(t=>t.type===_v?t:{type:_v,geometry:t})}(n)),[])}}(n.fit);n.extent?t.fitExtent(n.extent,e):n.size&&t.fitSize(n.size,e)}(e,t),n.fork(n.NO_SOURCE|n.NO_FIELDS)};var zb=Object.freeze({contour:xv,geojson:wv,geopath:Cb,geopoint:Db,geoshape:Fb,graticule:Sb,projection:Bb});function Nb(t,n,e,r){if(isNaN(n)||isNaN(e))return t;var i,a,u,o,s,l,c,f,h,d=t._root,p={data:r},g=t._x0,m=t._y0,v=t._x1,y=t._y1;if(!d)return t._root=p,t;for(;d.length;)if((l=n>=(a=(g+v)/2))?g=a:v=a,(c=e>=(u=(m+y)/2))?m=u:y=u,i=d,!(d=d[f=c<<1|l]))return i[f]=p,t;if(o=+t._x.call(null,d.data),s=+t._y.call(null,d.data),n===o&&e===s)return p.next=d,i?i[f]=p:t._root=p,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(l=n>=(a=(g+v)/2))?g=a:v=a,(c=e>=(u=(m+y)/2))?m=u:y=u}while((f=c<<1|l)==(h=(s>=u)<<1|o>=a));return i[h]=d,i[f]=p,t}function Tb(t,n,e,r,i){this.node=t,this.x0=n,this.y0=e,this.x1=r,this.y1=i}function Rb(t){return t[0]}function Pb(t){return t[1]}function Lb(t,n,e){var r=new qb(null==n?Rb:n,null==e?Pb:e,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function qb(t,n,e,r,i,a){this._x=t,this._y=n,this._x0=e,this._y0=r,this._x1=i,this._y1=a,this._root=void 0}function Ub(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}var jb=Lb.prototype=qb.prototype;function $b(t){return function(){return t}}function Ib(){return 1e-6*(Math.random()-.5)}function Wb(t){return t.x+t.vx}function Hb(t){return t.y+t.vy}function Yb(t){return t.index}function Gb(t,n){var e=t.get(n);if(!e)throw new Error("missing: "+n);return e}jb.copy=function(){var t,n,e=new qb(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return e;if(!r.length)return e._root=Ub(r),e;for(t=[{source:r,target:e._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(n=r.source[i])&&(n.length?t.push({source:n,target:r.target[i]=new Array(4)}):r.target[i]=Ub(n));return e},jb.add=function(t){var n=+this._x.call(null,t),e=+this._y.call(null,t);return Nb(this.cover(n,e),n,e,t)},jb.addAll=function(t){var n,e,r,i,a=t.length,u=new Array(a),o=new Array(a),s=1/0,l=1/0,c=-1/0,f=-1/0;for(e=0;e<a;++e)isNaN(r=+this._x.call(null,n=t[e]))||isNaN(i=+this._y.call(null,n))||(u[e]=r,o[e]=i,r<s&&(s=r),r>c&&(c=r),i<l&&(l=i),i>f&&(f=i));if(s>c||l>f)return this;for(this.cover(s,l).cover(c,f),e=0;e<a;++e)Nb(this,u[e],o[e],t[e]);return this},jb.cover=function(t,n){if(isNaN(t=+t)||isNaN(n=+n))return this;var e=this._x0,r=this._y0,i=this._x1,a=this._y1;if(isNaN(e))i=(e=Math.floor(t))+1,a=(r=Math.floor(n))+1;else{for(var u,o,s=i-e,l=this._root;e>t||t>=i||r>n||n>=a;)switch(o=(n<r)<<1|t<e,(u=new Array(4))[o]=l,l=u,s*=2,o){case 0:i=e+s,a=r+s;break;case 1:e=i-s,a=r+s;break;case 2:i=e+s,r=a-s;break;case 3:e=i-s,r=a-s}this._root&&this._root.length&&(this._root=l)}return this._x0=e,this._y0=r,this._x1=i,this._y1=a,this},jb.data=function(){var t=[];return this.visit(function(n){if(!n.length)do{t.push(n.data)}while(n=n.next)}),t},jb.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},jb.find=function(t,n,e){var r,i,a,u,o,s,l,c=this._x0,f=this._y0,h=this._x1,d=this._y1,p=[],g=this._root;for(g&&p.push(new Tb(g,c,f,h,d)),null==e?e=1/0:(c=t-e,f=n-e,h=t+e,d=n+e,e*=e);s=p.pop();)if(!(!(g=s.node)||(i=s.x0)>h||(a=s.y0)>d||(u=s.x1)<c||(o=s.y1)<f))if(g.length){var m=(i+u)/2,v=(a+o)/2;p.push(new Tb(g[3],m,v,u,o),new Tb(g[2],i,v,m,o),new Tb(g[1],m,a,u,v),new Tb(g[0],i,a,m,v)),(l=(n>=v)<<1|t>=m)&&(s=p[p.length-1],p[p.length-1]=p[p.length-1-l],p[p.length-1-l]=s)}else{var y=t-+this._x.call(null,g.data),x=n-+this._y.call(null,g.data),_=y*y+x*x;if(_<e){var b=Math.sqrt(e=_);c=t-b,f=n-b,h=t+b,d=n+b,r=g.data}}return r},jb.remove=function(t){if(isNaN(a=+this._x.call(null,t))||isNaN(u=+this._y.call(null,t)))return this;var n,e,r,i,a,u,o,s,l,c,f,h,d=this._root,p=this._x0,g=this._y0,m=this._x1,v=this._y1;if(!d)return this;if(d.length)for(;;){if((l=a>=(o=(p+m)/2))?p=o:m=o,(c=u>=(s=(g+v)/2))?g=s:v=s,n=d,!(d=d[f=c<<1|l]))return this;if(!d.length)break;(n[f+1&3]||n[f+2&3]||n[f+3&3])&&(e=n,h=f)}for(;d.data!==t;)if(r=d,!(d=d.next))return this;return(i=d.next)&&delete d.next,r?(i?r.next=i:delete r.next,this):n?(i?n[f]=i:delete n[f],(d=n[0]||n[1]||n[2]||n[3])&&d===(n[3]||n[2]||n[1]||n[0])&&!d.length&&(e?e[h]=d:this._root=d),this):(this._root=i,this)},jb.removeAll=function(t){for(var n=0,e=t.length;n<e;++n)this.remove(t[n]);return this},jb.root=function(){return this._root},jb.size=function(){var t=0;return this.visit(function(n){if(!n.length)do{++t}while(n=n.next)}),t},jb.visit=function(t){var n,e,r,i,a,u,o=[],s=this._root;for(s&&o.push(new Tb(s,this._x0,this._y0,this._x1,this._y1));n=o.pop();)if(!t(s=n.node,r=n.x0,i=n.y0,a=n.x1,u=n.y1)&&s.length){var l=(r+a)/2,c=(i+u)/2;(e=s[3])&&o.push(new Tb(e,l,c,a,u)),(e=s[2])&&o.push(new Tb(e,r,c,l,u)),(e=s[1])&&o.push(new Tb(e,l,i,a,c)),(e=s[0])&&o.push(new Tb(e,r,i,l,c))}return this},jb.visitAfter=function(t){var n,e=[],r=[];for(this._root&&e.push(new Tb(this._root,this._x0,this._y0,this._x1,this._y1));n=e.pop();){var i=n.node;if(i.length){var a,u=n.x0,o=n.y0,s=n.x1,l=n.y1,c=(u+s)/2,f=(o+l)/2;(a=i[0])&&e.push(new Tb(a,u,o,c,f)),(a=i[1])&&e.push(new Tb(a,c,o,s,f)),(a=i[2])&&e.push(new Tb(a,u,f,c,l)),(a=i[3])&&e.push(new Tb(a,c,f,s,l))}r.push(n)}for(;n=r.pop();)t(n.node,n.x0,n.y0,n.x1,n.y1);return this},jb.x=function(t){return arguments.length?(this._x=t,this):this._x},jb.y=function(t){return arguments.length?(this._y=t,this):this._y};var Vb={value:function(){}};function Xb(){for(var t,n=0,e=arguments.length,r={};n<e;++n){if(!(t=arguments[n]+"")||t in r)throw new Error("illegal type: "+t);r[t]=[]}return new Zb(r)}function Zb(t){this._=t}function Jb(t,n){for(var e,r=0,i=t.length;r<i;++r)if((e=t[r]).name===n)return e.value}function Qb(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=Vb,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=e&&t.push({name:n,value:e}),t}Zb.prototype=Xb.prototype={constructor:Zb,on:function(t,n){var e,r,i=this._,a=(r=i,(t+"").trim().split(/^|\s+/).map(function(t){var n="",e=t.indexOf(".");if(e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),t&&!r.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}})),u=-1,o=a.length;if(!(arguments.length<2)){if(null!=n&&"function"!=typeof n)throw new Error("invalid callback: "+n);for(;++u<o;)if(e=(t=a[u]).type)i[e]=Qb(i[e],t.name,n);else if(null==n)for(e in i)i[e]=Qb(i[e],t.name,null);return this}for(;++u<o;)if((e=(t=a[u]).type)&&(e=Jb(i[e],t.name)))return e},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new Zb(t)},call:function(t,n){if((e=arguments.length-2)>0)for(var e,r,i=new Array(e),a=0;a<e;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(a=0,e=(r=this._[t]).length;a<e;++a)r[a].value.apply(n,i)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,a=r.length;i<a;++i)r[i].value.apply(n,e)}};var Kb,tw,nw=0,ew=0,rw=0,iw=1e3,aw=0,uw=0,ow=0,sw="object"==typeof performance&&performance.now?performance:Date,lw="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function cw(){return uw||(lw(fw),uw=sw.now()+ow)}function fw(){uw=0}function hw(){this._call=this._time=this._next=null}function dw(t,n,e){var r=new hw;return r.restart(t,n,e),r}function pw(){uw=(aw=sw.now())+ow,nw=ew=0;try{!function(){cw(),++nw;for(var t,n=Kb;n;)(t=uw-n._time)>=0&&n._call.call(null,t),n=n._next;--nw}()}finally{nw=0,function(){var t,n,e=Kb,r=1/0;for(;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:Kb=n);tw=t,mw(r)}(),uw=0}}function gw(){var t=sw.now(),n=t-aw;n>iw&&(ow-=n,aw=t)}function mw(t){nw||(ew&&(ew=clearTimeout(ew)),t-uw>24?(t<1/0&&(ew=setTimeout(pw,t-sw.now()-ow)),rw&&(rw=clearInterval(rw))):(rw||(aw=sw.now(),rw=setInterval(gw,iw)),nw=1,lw(pw)))}function vw(t){return t.x}function yw(t){return t.y}hw.prototype=dw.prototype={constructor:hw,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?cw():+e)+(null==n?0:+n),this._next||tw===this||(tw?tw._next=this:Kb=this,tw=this),this._call=t,this._time=e,mw()},stop:function(){this._call&&(this._call=null,this._time=1/0,mw())}};var xw=10,_w=Math.PI*(3-Math.sqrt(5));var bw={center:function(t,n){var e;function r(){var r,i,a=e.length,u=0,o=0;for(r=0;r<a;++r)u+=(i=e[r]).x,o+=i.y;for(u=u/a-t,o=o/a-n,r=0;r<a;++r)(i=e[r]).x-=u,i.y-=o}return null==t&&(t=0),null==n&&(n=0),r.initialize=function(t){e=t},r.x=function(n){return arguments.length?(t=+n,r):t},r.y=function(t){return arguments.length?(n=+t,r):n},r},collide:function(t){var n,e,r=1,i=1;function a(){for(var t,a,o,s,l,c,f,h=n.length,d=0;d<i;++d)for(a=Lb(n,Wb,Hb).visitAfter(u),t=0;t<h;++t)o=n[t],c=e[o.index],f=c*c,s=o.x+o.vx,l=o.y+o.vy,a.visit(p);function p(t,n,e,i,a){var u=t.data,h=t.r,d=c+h;if(!u)return n>s+d||i<s-d||e>l+d||a<l-d;if(u.index>o.index){var p=s-u.x-u.vx,g=l-u.y-u.vy,m=p*p+g*g;m<d*d&&(0===p&&(m+=(p=Ib())*p),0===g&&(m+=(g=Ib())*g),m=(d-(m=Math.sqrt(m)))/m*r,o.vx+=(p*=m)*(d=(h*=h)/(f+h)),o.vy+=(g*=m)*d,u.vx-=p*(d=1-d),u.vy-=g*d)}}}function u(t){if(t.data)return t.r=e[t.data.index];for(var n=t.r=0;n<4;++n)t[n]&&t[n].r>t.r&&(t.r=t[n].r)}function o(){if(n){var r,i,a=n.length;for(e=new Array(a),r=0;r<a;++r)i=n[r],e[i.index]=+t(i,r,n)}}return"function"!=typeof t&&(t=$b(null==t?1:+t)),a.initialize=function(t){n=t,o()},a.iterations=function(t){return arguments.length?(i=+t,a):i},a.strength=function(t){return arguments.length?(r=+t,a):r},a.radius=function(n){return arguments.length?(t="function"==typeof n?n:$b(+n),o(),a):t},a},nbody:function(){var t,n,e,r,i=$b(-30),a=1,u=1/0,o=.81;function s(r){var i,a=t.length,u=Lb(t,vw,yw).visitAfter(c);for(e=r,i=0;i<a;++i)n=t[i],u.visit(f)}function l(){if(t){var n,e,a=t.length;for(r=new Array(a),n=0;n<a;++n)e=t[n],r[e.index]=+i(e,n,t)}}function c(t){var n,e,i,a,u,o=0,s=0;if(t.length){for(i=a=u=0;u<4;++u)(n=t[u])&&(e=Math.abs(n.value))&&(o+=n.value,s+=e,i+=e*n.x,a+=e*n.y);t.x=i/s,t.y=a/s}else{(n=t).x=n.data.x,n.y=n.data.y;do{o+=r[n.data.index]}while(n=n.next)}t.value=o}function f(t,i,s,l){if(!t.value)return!0;var c=t.x-n.x,f=t.y-n.y,h=l-i,d=c*c+f*f;if(h*h/o<d)return d<u&&(0===c&&(d+=(c=Ib())*c),0===f&&(d+=(f=Ib())*f),d<a&&(d=Math.sqrt(a*d)),n.vx+=c*t.value*e/d,n.vy+=f*t.value*e/d),!0;if(!(t.length||d>=u)){(t.data!==n||t.next)&&(0===c&&(d+=(c=Ib())*c),0===f&&(d+=(f=Ib())*f),d<a&&(d=Math.sqrt(a*d)));do{t.data!==n&&(h=r[t.data.index]*e/d,n.vx+=c*h,n.vy+=f*h)}while(t=t.next)}}return s.initialize=function(n){t=n,l()},s.strength=function(t){return arguments.length?(i="function"==typeof t?t:$b(+t),l(),s):i},s.distanceMin=function(t){return arguments.length?(a=t*t,s):Math.sqrt(a)},s.distanceMax=function(t){return arguments.length?(u=t*t,s):Math.sqrt(u)},s.theta=function(t){return arguments.length?(o=t*t,s):Math.sqrt(o)},s},link:function(t){var n,e,r,i,a,u=Yb,o=function(t){return 1/Math.min(i[t.source.index],i[t.target.index])},s=$b(30),l=1;function c(r){for(var i=0,u=t.length;i<l;++i)for(var o,s,c,f,h,d,p,g=0;g<u;++g)s=(o=t[g]).source,f=(c=o.target).x+c.vx-s.x-s.vx||Ib(),h=c.y+c.vy-s.y-s.vy||Ib(),f*=d=((d=Math.sqrt(f*f+h*h))-e[g])/d*r*n[g],h*=d,c.vx-=f*(p=a[g]),c.vy-=h*p,s.vx+=f*(p=1-p),s.vy+=h*p}function f(){if(r){var o,s,l=r.length,c=t.length,f=new Map(r.map((t,n)=>[u(t,n,r),t]));for(o=0,i=new Array(l);o<c;++o)(s=t[o]).index=o,"object"!=typeof s.source&&(s.source=Gb(f,s.source)),"object"!=typeof s.target&&(s.target=Gb(f,s.target)),i[s.source.index]=(i[s.source.index]||0)+1,i[s.target.index]=(i[s.target.index]||0)+1;for(o=0,a=new Array(c);o<c;++o)s=t[o],a[o]=i[s.source.index]/(i[s.source.index]+i[s.target.index]);n=new Array(c),h(),e=new Array(c),d()}}function h(){if(r)for(var e=0,i=t.length;e<i;++e)n[e]=+o(t[e],e,t)}function d(){if(r)for(var n=0,i=t.length;n<i;++n)e[n]=+s(t[n],n,t)}return null==t&&(t=[]),c.initialize=function(t){r=t,f()},c.links=function(n){return arguments.length?(t=n,f(),c):t},c.id=function(t){return arguments.length?(u=t,c):u},c.iterations=function(t){return arguments.length?(l=+t,c):l},c.strength=function(t){return arguments.length?(o="function"==typeof t?t:$b(+t),h(),c):o},c.distance=function(t){return arguments.length?(s="function"==typeof t?t:$b(+t),d(),c):s},c},x:function(t){var n,e,r,i=$b(.1);function a(t){for(var i,a=0,u=n.length;a<u;++a)(i=n[a]).vx+=(r[a]-i.x)*e[a]*t}function u(){if(n){var a,u=n.length;for(e=new Array(u),r=new Array(u),a=0;a<u;++a)e[a]=isNaN(r[a]=+t(n[a],a,n))?0:+i(n[a],a,n)}}return"function"!=typeof t&&(t=$b(null==t?0:+t)),a.initialize=function(t){n=t,u()},a.strength=function(t){return arguments.length?(i="function"==typeof t?t:$b(+t),u(),a):i},a.x=function(n){return arguments.length?(t="function"==typeof n?n:$b(+n),u(),a):t},a},y:function(t){var n,e,r,i=$b(.1);function a(t){for(var i,a=0,u=n.length;a<u;++a)(i=n[a]).vy+=(r[a]-i.y)*e[a]*t}function u(){if(n){var a,u=n.length;for(e=new Array(u),r=new Array(u),a=0;a<u;++a)e[a]=isNaN(r[a]=+t(n[a],a,n))?0:+i(n[a],a,n)}}return"function"!=typeof t&&(t=$b(null==t?0:+t)),a.initialize=function(t){n=t,u()},a.strength=function(t){return arguments.length?(i="function"==typeof t?t:$b(+t),u(),a):i},a.y=function(n){return arguments.length?(t="function"==typeof n?n:$b(+n),u(),a):t},a}},ww="forces",Aw=["alpha","alphaMin","alphaTarget","velocityDecay","forces"],Mw=["static","iterations"],kw=["x","y","vx","vy"];function Ew(t){$r.call(this,null,t)}Ew.Definition={type:"Force",metadata:{modifies:!0},params:[{name:"static",type:"boolean",default:!1},{name:"restart",type:"boolean",default:!1},{name:"iterations",type:"number",default:300},{name:"alpha",type:"number",default:1},{name:"alphaMin",type:"number",default:.001},{name:"alphaTarget",type:"number",default:0},{name:"velocityDecay",type:"number",default:.4},{name:"forces",type:"param",array:!0,params:[{key:{force:"center"},params:[{name:"x",type:"number",default:0},{name:"y",type:"number",default:0}]},{key:{force:"collide"},params:[{name:"radius",type:"number",expr:!0},{name:"strength",type:"number",default:.7},{name:"iterations",type:"number",default:1}]},{key:{force:"nbody"},params:[{name:"strength",type:"number",default:-30},{name:"theta",type:"number",default:.9},{name:"distanceMin",type:"number",default:1},{name:"distanceMax",type:"number"}]},{key:{force:"link"},params:[{name:"links",type:"data"},{name:"id",type:"field"},{name:"distance",type:"number",default:30,expr:!0},{name:"strength",type:"number",expr:!0},{name:"iterations",type:"number",default:1}]},{key:{force:"x"},params:[{name:"strength",type:"number",default:.1},{name:"x",type:"field"}]},{key:{force:"y"},params:[{name:"strength",type:"number",default:.1},{name:"y",type:"field"}]}]},{name:"as",type:"string",array:!0,modify:!1,default:kw}]};var Cw=et(Ew,$r);function Dw(t,n,e,r){var i,a,u,o,s=W(n.forces);for(i=0,a=Aw.length;i<a;++i)(u=Aw[i])!==ww&&n.modified(u)&&t[u](n[u]);for(i=0,a=s.length;i<a;++i)o=ww+i,(u=e||n.modified(ww,i)?Sw(s[i]):r&&Fw(s[i],r)?t.force(o):null)&&t.force(o,u);for(a=t.numForces||0;i<a;++i)t.force(ww+i,null);return t.numForces=s.length,t}function Fw(t,n){var e,i;for(e in t)if(Y(i=t[e])&&n.modified(r(i)))return 1;return 0}function Sw(t){var n,e;for(e in bw.hasOwnProperty(t.force)||i("Unrecognized force: "+t.force),n=bw[t.force](),t)Y(n[e])&&Bw(n[e],t[e],t);return n}function Bw(t,n,e){t(Y(n)?function(t){return n(t,e)}:n)}Cw.transform=function(t,n){var e,r,i=this.value,a=n.changed(n.ADD_REM),u=t.modified(Aw),o=t.iterations||300;if(i?(a&&(n.modifies("index"),i.nodes(n.source)),(u||n.changed(n.MOD))&&Dw(i,t,0,n)):(this.value=i=function(t,n){var e=function(t){var n,e=1,r=.001,i=1-Math.pow(r,1/300),a=0,u=.6,o=new Map,s=dw(c),l=Xb("tick","end");function c(){f(),l.call("tick",n),e<r&&(s.stop(),l.call("end",n))}function f(r){var s,l,c=t.length;void 0===r&&(r=1);for(var f=0;f<r;++f)for(e+=(a-e)*i,o.forEach(function(t){t(e)}),s=0;s<c;++s)null==(l=t[s]).fx?l.x+=l.vx*=u:(l.x=l.fx,l.vx=0),null==l.fy?l.y+=l.vy*=u:(l.y=l.fy,l.vy=0);return n}function h(){for(var n,e=0,r=t.length;e<r;++e){if((n=t[e]).index=e,null!=n.fx&&(n.x=n.fx),null!=n.fy&&(n.y=n.fy),isNaN(n.x)||isNaN(n.y)){var i=xw*Math.sqrt(e),a=e*_w;n.x=i*Math.cos(a),n.y=i*Math.sin(a)}(isNaN(n.vx)||isNaN(n.vy))&&(n.vx=n.vy=0)}}function d(n){return n.initialize&&n.initialize(t),n}return null==t&&(t=[]),h(),n={tick:f,restart:function(){return s.restart(c),n},stop:function(){return s.stop(),n},nodes:function(e){return arguments.length?(t=e,h(),o.forEach(d),n):t},alpha:function(t){return arguments.length?(e=+t,n):e},alphaMin:function(t){return arguments.length?(r=+t,n):r},alphaDecay:function(t){return arguments.length?(i=+t,n):+i},alphaTarget:function(t){return arguments.length?(a=+t,n):a},velocityDecay:function(t){return arguments.length?(u=1-t,n):1-u},force:function(t,e){return arguments.length>1?(null==e?o.delete(t):o.set(t,d(e)),n):o.get(t)},find:function(n,e,r){var i,a,u,o,s,l=0,c=t.length;for(null==r?r=1/0:r*=r,l=0;l<c;++l)(u=(i=n-(o=t[l]).x)*i+(a=e-o.y)*a)<r&&(s=o,r=u);return s},on:function(t,e){return arguments.length>1?(l.on(t,e),n):l.on(t)}}}(t),r=!1,i=e.stop,a=e.restart;return e.stopped=function(){return r},e.restart=function(){return r=!1,a()},e.stop=function(){return r=!0,i()},Dw(e,n,!0).on("end",function(){r=!0})}(n.source,t),i.on("tick",(e=n.dataflow,r=this,function(){e.touch(r).run()})),t.static||(a=!0,i.tick()),n.modifies("index")),u||a||t.modified(Mw)||n.changed()&&t.restart)if(i.alpha(Math.max(i.alpha(),t.alpha||1)).alphaDecay(1-Math.pow(i.alphaMin(),1/o)),t.static)for(i.stop();--o>=0;)i.tick();else if(i.stopped()&&i.restart(),!a)return n.StopPropagation;return this.finish(t,n)},Cw.finish=function(t,n){for(var e,r=n.dataflow,i=this._argops,a=0,u=i.length;a<u;++a)if((e=i[a]).name===ww&&"link"===e.op._argval.force)for(var o,s=e.op._argops,l=0,c=s.length;l<c;++l)if("links"===s[l].name&&(o=s[l].op.source)){r.pulse(o,r.changeset().reflow());break}return n.reflow(t.modified()).modifies(kw)};var Ow=Object.freeze({force:Ew});function zw(t,n,e){var r={};return t.each(function(t){var i=t.data;e(i)&&(r[n(i)]=t)}),t.lookup=r,t}function Nw(t,n){return t.parent===n.parent?1:2}function Tw(t,n){return t+n.x}function Rw(t,n){return Math.max(t,n.y)}function Pw(t){var n=0,e=t.children,r=e&&e.length;if(r)for(;--r>=0;)n+=e[r].value;else n=1;t.value=n}function Lw(t,n){var e,r,i,a,u,o=new $w(t),s=+t.value&&(o.value=t.value),l=[o];for(null==n&&(n=qw);e=l.pop();)if(s&&(e.value=+e.data.value),(i=n(e.data))&&(u=i.length))for(e.children=new Array(u),a=u-1;a>=0;--a)l.push(r=e.children[a]=new $w(i[a])),r.parent=e,r.depth=e.depth+1;return o.eachBefore(jw)}function qw(t){return t.children}function Uw(t){t.data=t.data.data}function jw(t){var n=0;do{t.height=n}while((t=t.parent)&&t.height<++n)}function $w(t){this.data=t,this.depth=this.height=0,this.parent=null}$w.prototype=Lw.prototype={constructor:$w,count:function(){return this.eachAfter(Pw)},each:function(t){var n,e,r,i,a=this,u=[a];do{for(n=u.reverse(),u=[];a=n.pop();)if(t(a),e=a.children)for(r=0,i=e.length;r<i;++r)u.push(e[r])}while(u.length);return this},eachAfter:function(t){for(var n,e,r,i=this,a=[i],u=[];i=a.pop();)if(u.push(i),n=i.children)for(e=0,r=n.length;e<r;++e)a.push(n[e]);for(;i=u.pop();)t(i);return this},eachBefore:function(t){for(var n,e,r=this,i=[r];r=i.pop();)if(t(r),n=r.children)for(e=n.length-1;e>=0;--e)i.push(n[e]);return this},sum:function(t){return this.eachAfter(function(n){for(var e=+t(n.data)||0,r=n.children,i=r&&r.length;--i>=0;)e+=r[i].value;n.value=e})},sort:function(t){return this.eachBefore(function(n){n.children&&n.children.sort(t)})},path:function(t){for(var n=this,e=function(t,n){if(t===n)return t;var e=t.ancestors(),r=n.ancestors(),i=null;for(t=e.pop(),n=r.pop();t===n;)i=t,t=e.pop(),n=r.pop();return i}(n,t),r=[n];n!==e;)n=n.parent,r.push(n);for(var i=r.length;t!==e;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,n=[t];t=t.parent;)n.push(t);return n},descendants:function(){var t=[];return this.each(function(n){t.push(n)}),t},leaves:function(){var t=[];return this.eachBefore(function(n){n.children||t.push(n)}),t},links:function(){var t=this,n=[];return t.each(function(e){e!==t&&n.push({source:e.parent,target:e})}),n},copy:function(){return Lw(this).eachBefore(Uw)}};var Iw=Array.prototype.slice;function Ww(t){for(var n,e,r=0,i=(t=function(t){for(var n,e,r=t.length;r;)e=Math.random()*r--|0,n=t[r],t[r]=t[e],t[e]=n;return t}(Iw.call(t))).length,a=[];r<i;)n=t[r],e&&Gw(e,n)?++r:(e=Xw(a=Hw(a,n)),r=0);return e}function Hw(t,n){var e,r;if(Vw(n,t))return[n];for(e=0;e<t.length;++e)if(Yw(n,t[e])&&Vw(Zw(t[e],n),t))return[t[e],n];for(e=0;e<t.length-1;++e)for(r=e+1;r<t.length;++r)if(Yw(Zw(t[e],t[r]),n)&&Yw(Zw(t[e],n),t[r])&&Yw(Zw(t[r],n),t[e])&&Vw(Jw(t[e],t[r],n),t))return[t[e],t[r],n];throw new Error}function Yw(t,n){var e=t.r-n.r,r=n.x-t.x,i=n.y-t.y;return e<0||e*e<r*r+i*i}function Gw(t,n){var e=t.r-n.r+1e-6,r=n.x-t.x,i=n.y-t.y;return e>0&&e*e>r*r+i*i}function Vw(t,n){for(var e=0;e<n.length;++e)if(!Gw(t,n[e]))return!1;return!0}function Xw(t){switch(t.length){case 1:return{x:(n=t[0]).x,y:n.y,r:n.r};case 2:return Zw(t[0],t[1]);case 3:return Jw(t[0],t[1],t[2])}var n}function Zw(t,n){var e=t.x,r=t.y,i=t.r,a=n.x,u=n.y,o=n.r,s=a-e,l=u-r,c=o-i,f=Math.sqrt(s*s+l*l);return{x:(e+a+s/f*c)/2,y:(r+u+l/f*c)/2,r:(f+i+o)/2}}function Jw(t,n,e){var r=t.x,i=t.y,a=t.r,u=n.x,o=n.y,s=n.r,l=e.x,c=e.y,f=e.r,h=r-u,d=r-l,p=i-o,g=i-c,m=s-a,v=f-a,y=r*r+i*i-a*a,x=y-u*u-o*o+s*s,_=y-l*l-c*c+f*f,b=d*p-h*g,w=(p*_-g*x)/(2*b)-r,A=(g*m-p*v)/b,M=(d*x-h*_)/(2*b)-i,k=(h*v-d*m)/b,E=A*A+k*k-1,C=2*(a+w*A+M*k),D=w*w+M*M-a*a,F=-(E?(C+Math.sqrt(C*C-4*E*D))/(2*E):D/C);return{x:r+w+A*F,y:i+M+k*F,r:F}}function Qw(t,n,e){var r,i,a,u,o=t.x-n.x,s=t.y-n.y,l=o*o+s*s;l?(i=n.r+e.r,i*=i,u=t.r+e.r,i>(u*=u)?(r=(l+u-i)/(2*l),a=Math.sqrt(Math.max(0,u/l-r*r)),e.x=t.x-r*o-a*s,e.y=t.y-r*s+a*o):(r=(l+i-u)/(2*l),a=Math.sqrt(Math.max(0,i/l-r*r)),e.x=n.x+r*o-a*s,e.y=n.y+r*s+a*o)):(e.x=n.x+e.r,e.y=n.y)}function Kw(t,n){var e=t.r+n.r-1e-6,r=n.x-t.x,i=n.y-t.y;return e>0&&e*e>r*r+i*i}function tA(t){var n=t._,e=t.next._,r=n.r+e.r,i=(n.x*e.r+e.x*n.r)/r,a=(n.y*e.r+e.y*n.r)/r;return i*i+a*a}function nA(t){this._=t,this.next=null,this.previous=null}function eA(t){if("function"!=typeof t)throw new Error;return t}function rA(){return 0}function iA(t){return function(){return t}}function aA(t){return Math.sqrt(t.value)}function uA(t){return function(n){n.children||(n.r=Math.max(0,+t(n)||0))}}function oA(t,n){return function(e){if(r=e.children){var r,i,a,u=r.length,o=t(e)*n||0;if(o)for(i=0;i<u;++i)r[i].r+=o;if(a=function(t){if(!(i=t.length))return 0;var n,e,r,i,a,u,o,s,l,c,f;if((n=t[0]).x=0,n.y=0,!(i>1))return n.r;if(e=t[1],n.x=-e.r,e.x=n.r,e.y=0,!(i>2))return n.r+e.r;Qw(e,n,r=t[2]),n=new nA(n),e=new nA(e),r=new nA(r),n.next=r.previous=e,e.next=n.previous=r,r.next=e.previous=n;t:for(o=3;o<i;++o){Qw(n._,e._,r=t[o]),r=new nA(r),s=e.next,l=n.previous,c=e._.r,f=n._.r;do{if(c<=f){if(Kw(s._,r._)){e=s,n.next=e,e.previous=n,--o;continue t}c+=s._.r,s=s.next}else{if(Kw(l._,r._)){(n=l).next=e,e.previous=n,--o;continue t}f+=l._.r,l=l.previous}}while(s!==l.next);for(r.previous=n,r.next=e,n.next=e.previous=e=r,a=tA(n);(r=r.next)!==e;)(u=tA(r))<a&&(n=r,a=u);e=n.next}for(n=[e._],r=e;(r=r.next)!==e;)n.push(r._);for(r=Ww(n),o=0;o<i;++o)(n=t[o]).x-=r.x,n.y-=r.y;return r.r}(r),o)for(i=0;i<u;++i)r[i].r-=o;e.r=a+o}}}function sA(t){return function(n){var e=n.parent;n.r*=t,e&&(n.x=e.x+t*n.x,n.y=e.y+t*n.y)}}function lA(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function cA(t,n,e,r,i){for(var a,u=t.children,o=-1,s=u.length,l=t.value&&(r-n)/t.value;++o<s;)(a=u[o]).y0=e,a.y1=i,a.x0=n,a.x1=n+=a.value*l}var fA="$",hA={depth:-1},dA={};function pA(t){return t.id}function gA(t){return t.parentId}function mA(){var t=pA,n=gA;function e(e){var r,i,a,u,o,s,l,c=e.length,f=new Array(c),h={};for(i=0;i<c;++i)r=e[i],o=f[i]=new $w(r),null!=(s=t(r,i,e))&&(s+="")&&(h[l=fA+(o.id=s)]=l in h?dA:o);for(i=0;i<c;++i)if(o=f[i],null!=(s=n(e[i],i,e))&&(s+="")){if(!(u=h[fA+s]))throw new Error("missing: "+s);if(u===dA)throw new Error("ambiguous: "+s);u.children?u.children.push(o):u.children=[o],o.parent=u}else{if(a)throw new Error("multiple roots");a=o}if(!a)throw new Error("no root");if(a.parent=hA,a.eachBefore(function(t){t.depth=t.parent.depth+1,--c}).eachBefore(jw),a.parent=null,c>0)throw new Error("cycle");return a}return e.id=function(n){return arguments.length?(t=eA(n),e):t},e.parentId=function(t){return arguments.length?(n=eA(t),e):n},e}function vA(t,n){return t.parent===n.parent?1:2}function yA(t){var n=t.children;return n?n[0]:t.t}function xA(t){var n=t.children;return n?n[n.length-1]:t.t}function _A(t,n,e){var r=e/(n.i-t.i);n.c-=r,n.s+=e,t.c+=r,n.z+=e,n.m+=e}function bA(t,n,e){return t.a.parent===n.parent?t.a:e}function wA(t,n){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=n}function AA(t,n,e,r,i){for(var a,u=t.children,o=-1,s=u.length,l=t.value&&(i-e)/t.value;++o<s;)(a=u[o]).x0=n,a.x1=r,a.y0=e,a.y1=e+=a.value*l}wA.prototype=Object.create($w.prototype);var MA=(1+Math.sqrt(5))/2;function kA(t,n,e,r,i,a){for(var u,o,s,l,c,f,h,d,p,g,m,v=[],y=n.children,x=0,_=0,b=y.length,w=n.value;x<b;){s=i-e,l=a-r;do{c=y[_++].value}while(!c&&_<b);for(f=h=c,m=c*c*(g=Math.max(l/s,s/l)/(w*t)),p=Math.max(h/m,m/f);_<b;++_){if(c+=o=y[_].value,o<f&&(f=o),o>h&&(h=o),m=c*c*g,(d=Math.max(h/m,m/f))>p){c-=o;break}p=d}v.push(u={value:c,dice:s<l,children:y.slice(x,_)}),u.dice?cA(u,e,r,i,w?r+=l*c/w:a):AA(u,e,r,w?e+=s*c/w:i,a),w-=c,x=_}return v}var EA=function t(n){function e(t,e,r,i,a){kA(n,t,e,r,i,a)}return e.ratio=function(n){return t((n=+n)>1?n:1)},e}(MA);var CA=function t(n){function e(t,e,r,i,a){if((u=t._squarify)&&u.ratio===n)for(var u,o,s,l,c,f=-1,h=u.length,d=t.value;++f<h;){for(s=(o=u[f]).children,l=o.value=0,c=s.length;l<c;++l)o.value+=s[l].value;o.dice?cA(o,e,r,i,r+=(a-r)*o.value/d):AA(o,e,r,e+=(i-e)*o.value/d,a),d-=o.value}else t._squarify=u=kA(n,t,e,r,i,a),u.ratio=n}return e.ratio=function(n){return t((n=+n)>1?n:1)},e}(MA);function DA(t){$r.call(this,null,t)}function FA(t){return t.values}function SA(){var t,n=[];return t={entries:function(t){return function t(e,r){if(++r>n.length)return e;var i,a=[];for(i in e)a.push({key:i,values:t(e[i],r)});return a}(function t(e,r){if(r>=n.length)return e;for(var i,a,u,o=-1,s=e.length,l=n[r++],c={},f={};++o<s;)(u=c[i=l(a=e[o])+""])?u.push(a):c[i]=[a];for(i in c)f[i]=t(c[i],r);return f}(t,0),0)},key:function(e){return n.push(e),t}}}function BA(t){$r.call(this,null,t)}function OA(t,n){return t.parent===n.parent?1:2}DA.Definition={type:"Nest",metadata:{treesource:!0,changes:!0},params:[{name:"keys",type:"field",array:!0},{name:"generate",type:"boolean"}]},et(DA,$r).transform=function(t,n){n.source||i("Nest transform requires an upstream data source.");var e=t.generate,r=t.modified(),a=n.clone(),u=this.value;return(!u||r||n.changed())&&(u&&u.each(function(t){t.children&&kt(t.data)&&a.rem.push(t.data)}),this.value=u=Lw({values:W(t.keys).reduce(function(t,n){return t.key(n),t},SA()).entries(a.source)},FA),e&&u.each(function(t){t.children&&(t=Dt(t.data),a.add.push(t),a.source.push(t))}),zw(u,Et,Et)),a.source.root=u,a},et(BA,$r).transform=function(t,n){n.source&&n.source.root||i(this.constructor.name+" transform requires a backing tree data source.");var e=this.layout(t.method),r=this.fields,a=n.source.root,u=t.as||r;t.field&&a.sum(t.field),t.sort&&a.sort(t.sort),function(t,n,e){for(var r,i=0,a=n.length;i<a;++i)(r=n[i])in e&&t[r](e[r])}(e,this.params,t),e.separation&&e.separation(!1!==t.separation?OA:g);try{this.value=e(a)}catch(t){i(t)}return a.each(function(t){!function(t,n,e){for(var r=t.data,i=0,a=n.length-1;i<a;++i)r[e[i]]=t[n[i]];r[e[a]]=t.children?t.children.length:0}(t,r,u)}),n.reflow(t.modified()).modifies(u).modifies("leaf")};var zA=["x","y","r","depth","children"];function NA(t){BA.call(this,t)}NA.Definition={type:"Pack",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"radius",type:"field",default:null},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:zA.length,default:zA}]};var TA=et(NA,BA);TA.layout=function(){var t=null,n=1,e=1,r=rA;function i(i){return i.x=n/2,i.y=e/2,t?i.eachBefore(uA(t)).eachAfter(oA(r,.5)).eachBefore(sA(1)):i.eachBefore(uA(aA)).eachAfter(oA(rA,1)).eachAfter(oA(r,i.r/Math.min(n,e))).eachBefore(sA(Math.min(n,e)/(2*i.r))),i}return i.radius=function(n){return arguments.length?(t=null==(e=n)?null:eA(e),i):t;var e},i.size=function(t){return arguments.length?(n=+t[0],e=+t[1],i):[n,e]},i.padding=function(t){return arguments.length?(r="function"==typeof t?t:iA(+t),i):r},i},TA.params=["size","padding"],TA.fields=zA;var RA=["x0","y0","x1","y1","depth","children"];function PA(t){BA.call(this,t)}PA.Definition={type:"Partition",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:RA.length,default:RA}]};var LA=et(PA,BA);function qA(t){$r.call(this,null,t)}LA.layout=function(){var t=1,n=1,e=0,r=!1;function i(i){var a=i.height+1;return i.x0=i.y0=e,i.x1=t,i.y1=n/a,i.eachBefore(function(t,n){return function(r){r.children&&cA(r,r.x0,t*(r.depth+1)/n,r.x1,t*(r.depth+2)/n);var i=r.x0,a=r.y0,u=r.x1-e,o=r.y1-e;u<i&&(i=u=(i+u)/2),o<a&&(a=o=(a+o)/2),r.x0=i,r.y0=a,r.x1=u,r.y1=o}}(n,a)),r&&i.eachBefore(lA),i}return i.round=function(t){return arguments.length?(r=!!t,i):r},i.size=function(e){return arguments.length?(t=+e[0],n=+e[1],i):[t,n]},i.padding=function(t){return arguments.length?(e=+t,i):e},i},LA.params=["size","round","padding"],LA.fields=RA,qA.Definition={type:"Stratify",metadata:{treesource:!0},params:[{name:"key",type:"field",required:!0},{name:"parentKey",type:"field",required:!0}]},et(qA,$r).transform=function(t,n){n.source||i("Stratify transform requires an upstream data source.");var e=this.value,r=t.modified(),a=n.fork(n.ALL).materialize(n.SOURCE),u=!this.value||r||n.changed(n.ADD_REM)||n.modified(t.key.fields)||n.modified(t.parentKey.fields);return a.source=a.source.slice(),u&&(e=a.source.length?zw(mA().id(t.key).parentId(t.parentKey)(a.source),t.key,m):zw(mA()([{}]),t.key,t.key)),a.source.root=this.value=e,a};var UA={tidy:function(){var t=vA,n=1,e=1,r=null;function i(i){var s=function(t){for(var n,e,r,i,a,u=new wA(t,0),o=[u];n=o.pop();)if(r=n._.children)for(n.children=new Array(a=r.length),i=a-1;i>=0;--i)o.push(e=n.children[i]=new wA(r[i],i)),e.parent=n;return(u.parent=new wA(null,0)).children=[u],u}(i);if(s.eachAfter(a),s.parent.m=-s.z,s.eachBefore(u),r)i.eachBefore(o);else{var l=i,c=i,f=i;i.eachBefore(function(t){t.x<l.x&&(l=t),t.x>c.x&&(c=t),t.depth>f.depth&&(f=t)});var h=l===c?1:t(l,c)/2,d=h-l.x,p=n/(c.x+h+d),g=e/(f.depth||1);i.eachBefore(function(t){t.x=(t.x+d)*p,t.y=t.depth*g})}return i}function a(n){var e=n.children,r=n.parent.children,i=n.i?r[n.i-1]:null;if(e){!function(t){for(var n,e=0,r=0,i=t.children,a=i.length;--a>=0;)(n=i[a]).z+=e,n.m+=e,e+=n.s+(r+=n.c)}(n);var a=(e[0].z+e[e.length-1].z)/2;i?(n.z=i.z+t(n._,i._),n.m=n.z-a):n.z=a}else i&&(n.z=i.z+t(n._,i._));n.parent.A=function(n,e,r){if(e){for(var i,a=n,u=n,o=e,s=a.parent.children[0],l=a.m,c=u.m,f=o.m,h=s.m;o=xA(o),a=yA(a),o&&a;)s=yA(s),(u=xA(u)).a=n,(i=o.z+f-a.z-l+t(o._,a._))>0&&(_A(bA(o,n,r),n,i),l+=i,c+=i),f+=o.m,l+=a.m,h+=s.m,c+=u.m;o&&!xA(u)&&(u.t=o,u.m+=f-c),a&&!yA(s)&&(s.t=a,s.m+=l-h,r=n)}return r}(n,i,n.parent.A||r[0])}function u(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function o(t){t.x*=n,t.y=t.depth*e}return i.separation=function(n){return arguments.length?(t=n,i):t},i.size=function(t){return arguments.length?(r=!1,n=+t[0],e=+t[1],i):r?null:[n,e]},i.nodeSize=function(t){return arguments.length?(r=!0,n=+t[0],e=+t[1],i):r?[n,e]:null},i},cluster:function(){var t=Nw,n=1,e=1,r=!1;function i(i){var a,u=0;i.eachAfter(function(n){var e=n.children;e?(n.x=function(t){return t.reduce(Tw,0)/t.length}(e),n.y=function(t){return 1+t.reduce(Rw,0)}(e)):(n.x=a?u+=t(n,a):0,n.y=0,a=n)});var o=function(t){for(var n;n=t.children;)t=n[0];return t}(i),s=function(t){for(var n;n=t.children;)t=n[n.length-1];return t}(i),l=o.x-t(o,s)/2,c=s.x+t(s,o)/2;return i.eachAfter(r?function(t){t.x=(t.x-i.x)*n,t.y=(i.y-t.y)*e}:function(t){t.x=(t.x-l)/(c-l)*n,t.y=(1-(i.y?t.y/i.y:1))*e})}return i.separation=function(n){return arguments.length?(t=n,i):t},i.size=function(t){return arguments.length?(r=!1,n=+t[0],e=+t[1],i):r?null:[n,e]},i.nodeSize=function(t){return arguments.length?(r=!0,n=+t[0],e=+t[1],i):r?[n,e]:null},i}},jA=["x","y","depth","children"];function $A(t){BA.call(this,t)}$A.Definition={type:"Tree",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"tidy",values:["tidy","cluster"]},{name:"size",type:"number",array:!0,length:2},{name:"nodeSize",type:"number",array:!0,length:2},{name:"separation",type:"boolean",default:!0},{name:"as",type:"string",array:!0,length:jA.length,default:jA}]};var IA=et($A,BA);function WA(t){$r.call(this,[],t)}IA.layout=function(t){var n=t||"tidy";if(UA.hasOwnProperty(n))return UA[n]();i("Unrecognized Tree layout method: "+n)},IA.params=["size","nodeSize"],IA.fields=jA,WA.Definition={type:"TreeLinks",metadata:{tree:!0,generates:!0,changes:!0},params:[]},et(WA,$r).transform=function(t,n){var e=this.value,r=n.source&&n.source.root,a=n.fork(n.NO_SOURCE),u={};return r||i("TreeLinks transform requires a tree data source."),n.changed(n.ADD_REM)?(a.rem=e,n.visit(n.SOURCE,function(t){u[Et(t)]=1}),r.each(function(t){var n=t.data,e=t.parent&&t.parent.data;e&&u[Et(n)]&&u[Et(e)]&&a.add.push(Dt({source:e,target:n}))}),this.value=a.add):n.changed(n.MOD)&&(n.visit(n.MOD,function(t){u[Et(t)]=1}),e.forEach(function(t){(u[Et(t.source)]||u[Et(t.target)])&&a.mod.push(t)})),a};var HA={binary:function(t,n,e,r,i){var a,u,o=t.children,s=o.length,l=new Array(s+1);for(l[0]=u=a=0;a<s;++a)l[a+1]=u+=o[a].value;!function t(n,e,r,i,a,u,s){if(n>=e-1){var c=o[n];return c.x0=i,c.y0=a,c.x1=u,void(c.y1=s)}for(var f=l[n],h=r/2+f,d=n+1,p=e-1;d<p;){var g=d+p>>>1;l[g]<h?d=g+1:p=g}h-l[d-1]<l[d]-h&&n+1<d&&--d;var m=l[d]-f,v=r-m;if(u-i>s-a){var y=(i*v+u*m)/r;t(n,d,m,i,a,y,s),t(d,e,v,y,a,u,s)}else{var x=(a*v+s*m)/r;t(n,d,m,i,a,u,x),t(d,e,v,i,x,u,s)}}(0,s,t.value,n,e,r,i)},dice:cA,slice:AA,slicedice:function(t,n,e,r,i){(1&t.depth?AA:cA)(t,n,e,r,i)},squarify:EA,resquarify:CA},YA=["x0","y0","x1","y1","depth","children"];function GA(t){BA.call(this,t)}GA.Definition={type:"Treemap",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"squarify",values:["squarify","resquarify","binary","dice","slice","slicedice"]},{name:"padding",type:"number",default:0},{name:"paddingInner",type:"number",default:0},{name:"paddingOuter",type:"number",default:0},{name:"paddingTop",type:"number",default:0},{name:"paddingRight",type:"number",default:0},{name:"paddingBottom",type:"number",default:0},{name:"paddingLeft",type:"number",default:0},{name:"ratio",type:"number",default:1.618033988749895},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:YA.length,default:YA}]};var VA=et(GA,BA);VA.layout=function(){var t=function(){var t=EA,n=!1,e=1,r=1,i=[0],a=rA,u=rA,o=rA,s=rA,l=rA;function c(t){return t.x0=t.y0=0,t.x1=e,t.y1=r,t.eachBefore(f),i=[0],n&&t.eachBefore(lA),t}function f(n){var e=i[n.depth],r=n.x0+e,c=n.y0+e,f=n.x1-e,h=n.y1-e;f<r&&(r=f=(r+f)/2),h<c&&(c=h=(c+h)/2),n.x0=r,n.y0=c,n.x1=f,n.y1=h,n.children&&(e=i[n.depth+1]=a(n)/2,r+=l(n)-e,c+=u(n)-e,(f-=o(n)-e)<r&&(r=f=(r+f)/2),(h-=s(n)-e)<c&&(c=h=(c+h)/2),t(n,r,c,f,h))}return c.round=function(t){return arguments.length?(n=!!t,c):n},c.size=function(t){return arguments.length?(e=+t[0],r=+t[1],c):[e,r]},c.tile=function(n){return arguments.length?(t=eA(n),c):t},c.padding=function(t){return arguments.length?c.paddingInner(t).paddingOuter(t):c.paddingInner()},c.paddingInner=function(t){return arguments.length?(a="function"==typeof t?t:iA(+t),c):a},c.paddingOuter=function(t){return arguments.length?c.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):c.paddingTop()},c.paddingTop=function(t){return arguments.length?(u="function"==typeof t?t:iA(+t),c):u},c.paddingRight=function(t){return arguments.length?(o="function"==typeof t?t:iA(+t),c):o},c.paddingBottom=function(t){return arguments.length?(s="function"==typeof t?t:iA(+t),c):s},c.paddingLeft=function(t){return arguments.length?(l="function"==typeof t?t:iA(+t),c):l},c}();return t.ratio=function(n){var e=t.tile();e.ratio&&t.tile(e.ratio(n))},t.method=function(n){HA.hasOwnProperty(n)?t.tile(HA[n]):i("Unrecognized Treemap layout method: "+n)},t},VA.params=["method","ratio","size","round","padding","paddingInner","paddingOuter","paddingTop","paddingRight","paddingBottom","paddingLeft"],VA.fields=YA;var XA=Object.freeze({nest:DA,pack:NA,partition:PA,stratify:qA,tree:$A,treelinks:WA,treemap:GA});function ZA(t,n){var e,r,i,a,u,o,s=[],l=function(t){return t(a)};if(null==n)s.push(t);else for(e={},r=0,i=t.length;r<i;++r)a=t[r],(o=e[u=n.map(l)])||(e[u]=o=[],o.dims=u,s.push(o)),o.push(a);return s}function JA(t){$r.call(this,null,t)}JA.Definition={type:"Loess",metadata:{generates:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"bandwidth",type:"number",default:.3},{name:"as",type:"string",array:!0}]},et(JA,$r).transform=function(t,n){var r=n.fork(n.NO_SOURCE|n.NO_FIELDS);if(!this.value||n.changed()||t.modified()){const i=ZA(n.materialize(n.SOURCE).source,t.groupby),a=(t.groupby||[]).map(e),u=a.length,o=t.as||[e(t.x),e(t.y)],s=[];i.forEach(n=>{Li(n,t.x,t.y,t.bandwidth||.3).forEach(t=>{const e={};for(let t=0;t<u;++t)e[a[t]]=n.dims[t];e[o[0]]=t[0],e[o[1]]=t[1],s.push(Dt(e))})}),this.value&&(r.rem=this.value),this.value=r.add=r.source=s}return r};const QA={linear:Si,log:Bi,exp:Oi,pow:zi,quad:Ni,poly:Ti};function KA(t){$r.call(this,null,t)}KA.Definition={type:"Regression",metadata:{generates:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"method",type:"string",default:"linear",values:Object.keys(QA)},{name:"order",type:"number",default:3},{name:"extent",type:"number",array:!0,length:2},{name:"params",type:"boolean",default:!1},{name:"as",type:"string",array:!0}]},et(KA,$r).transform=function(t,n){var r=n.fork(n.NO_SOURCE|n.NO_FIELDS);if(!this.value||n.changed()||t.modified()){const a=ZA(n.materialize(n.SOURCE).source,t.groupby),u=(t.groupby||[]).map(e),o=t.method||"linear",s=t.order||3,l=function(t,n){return"poly"===t?n:"quad"===t?2:1}(o,s),c=t.as||[e(t.x),e(t.y)],f=QA[o],h=[];let d=t.extent;QA.hasOwnProperty(o)||i("Invalid regression method: "+o),null!=d&&"log"===o&&d[0]<=0&&(n.dataflow.warn("Ignoring extent with values <= 0 for log regression."),d=null),a.forEach(e=>{if(e.length<=l)return void n.dataflow.warn("Skipping regression with more parameters than data points.");const r=f(e,t.x,t.y,s);if(t.params)return void h.push(Dt({keys:e.dims,coef:r.coef,rSquared:r.rSquared}));const i=d||J(e,t.x),a=t=>{const n={};for(let t=0;t<u.length;++t)n[u[t]]=e.dims[t];n[c[0]]=t[0],n[c[1]]=t[1],h.push(Dt(n))};"linear"===o?i.forEach(t=>a([t,r.predict(t)])):$i(r.predict,i,25,200).forEach(a)}),this.value&&(r.rem=this.value),this.value=r.add=r.source=h}return r};var tM=Object.freeze({loess:JA,regression:KA});function nM(t){return function(){return t}}function eM(t){return t[0]}function rM(t){return t[1]}function iM(){this._=null}function aM(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function uM(t,n){var e=n,r=n.R,i=e.U;i?i.L===e?i.L=r:i.R=r:t._=r,r.U=i,e.U=r,e.R=r.L,e.R&&(e.R.U=e),r.L=e}function oM(t,n){var e=n,r=n.L,i=e.U;i?i.L===e?i.L=r:i.R=r:t._=r,r.U=i,e.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function sM(t){for(;t.L;)t=t.L;return t}function lM(t,n,e,r){var i=[null,null],a=zM.push(i)-1;return i.left=t,i.right=n,e&&fM(i,t,n,e),r&&fM(i,n,t,r),BM[t.index].halfedges.push(a),BM[n.index].halfedges.push(a),i}function cM(t,n,e){var r=[n,e];return r.left=t,r}function fM(t,n,e,r){t[0]||t[1]?t.left===e?t[1]=r:t[0]=r:(t[0]=r,t.left=n,t.right=e)}function hM(t,n,e,r,i){var a,u=t[0],o=t[1],s=u[0],l=u[1],c=0,f=1,h=o[0]-s,d=o[1]-l;if(a=n-s,h||!(a>0)){if(a/=h,h<0){if(a<c)return;a<f&&(f=a)}else if(h>0){if(a>f)return;a>c&&(c=a)}if(a=r-s,h||!(a<0)){if(a/=h,h<0){if(a>f)return;a>c&&(c=a)}else if(h>0){if(a<c)return;a<f&&(f=a)}if(a=e-l,d||!(a>0)){if(a/=d,d<0){if(a<c)return;a<f&&(f=a)}else if(d>0){if(a>f)return;a>c&&(c=a)}if(a=i-l,d||!(a<0)){if(a/=d,d<0){if(a>f)return;a>c&&(c=a)}else if(d>0){if(a<c)return;a<f&&(f=a)}return!(c>0||f<1)||(c>0&&(t[0]=[s+c*h,l+c*d]),f<1&&(t[1]=[s+f*h,l+f*d]),!0)}}}}}function dM(t,n,e,r,i){var a=t[1];if(a)return!0;var u,o,s=t[0],l=t.left,c=t.right,f=l[0],h=l[1],d=c[0],p=c[1],g=(f+d)/2,m=(h+p)/2;if(p===h){if(g<n||g>=r)return;if(f>d){if(s){if(s[1]>=i)return}else s=[g,e];a=[g,i]}else{if(s){if(s[1]<e)return}else s=[g,i];a=[g,e]}}else if(o=m-(u=(f-d)/(p-h))*g,u<-1||u>1)if(f>d){if(s){if(s[1]>=i)return}else s=[(e-o)/u,e];a=[(i-o)/u,i]}else{if(s){if(s[1]<e)return}else s=[(i-o)/u,i];a=[(e-o)/u,e]}else if(h<p){if(s){if(s[0]>=r)return}else s=[n,u*n+o];a=[r,u*r+o]}else{if(s){if(s[0]<n)return}else s=[r,u*r+o];a=[n,u*n+o]}return t[0]=s,t[1]=a,!0}function pM(t,n){var e=t.site,r=n.left,i=n.right;return e===i&&(i=r,r=e),i?Math.atan2(i[1]-r[1],i[0]-r[0]):(e===r?(r=n[1],i=n[0]):(r=n[0],i=n[1]),Math.atan2(r[0]-i[0],i[1]-r[1]))}function gM(t,n){return n[+(n.left!==t.site)]}function mM(t,n){return n[+(n.left===t.site)]}iM.prototype={constructor:iM,insert:function(t,n){var e,r,i;if(t){if(n.P=t,n.N=t.N,t.N&&(t.N.P=n),t.N=n,t.R){for(t=t.R;t.L;)t=t.L;t.L=n}else t.R=n;e=t}else this._?(t=sM(this._),n.P=null,n.N=t,t.P=t.L=n,e=t):(n.P=n.N=null,this._=n,e=null);for(n.L=n.R=null,n.U=e,n.C=!0,t=n;e&&e.C;)e===(r=e.U).L?(i=r.R)&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.R&&(uM(this,e),e=(t=e).U),e.C=!1,r.C=!0,oM(this,r)):(i=r.L)&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.L&&(oM(this,e),e=(t=e).U),e.C=!1,r.C=!0,uM(this,r)),e=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var n,e,r,i=t.U,a=t.L,u=t.R;if(e=a?u?sM(u):a:u,i?i.L===t?i.L=e:i.R=e:this._=e,a&&u?(r=e.C,e.C=t.C,e.L=a,a.U=e,e!==u?(i=e.U,e.U=t.U,t=e.R,i.L=t,e.R=u,u.U=e):(e.U=i,i=e,t=e.R)):(r=t.C,t=e),t&&(t.U=i),!r)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((n=i.R).C&&(n.C=!1,i.C=!0,uM(this,i),n=i.R),n.L&&n.L.C||n.R&&n.R.C){n.R&&n.R.C||(n.L.C=!1,n.C=!0,oM(this,n),n=i.R),n.C=i.C,i.C=n.R.C=!1,uM(this,i),t=this._;break}}else if((n=i.L).C&&(n.C=!1,i.C=!0,oM(this,i),n=i.L),n.L&&n.L.C||n.R&&n.R.C){n.L&&n.L.C||(n.R.C=!1,n.C=!0,uM(this,n),n=i.L),n.C=i.C,i.C=n.L.C=!1,oM(this,i),t=this._;break}n.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}};var vM,yM=[];function xM(){aM(this),this.x=this.y=this.arc=this.site=this.cy=null}function _M(t){var n=t.P,e=t.N;if(n&&e){var r=n.site,i=t.site,a=e.site;if(r!==a){var u=i[0],o=i[1],s=r[0]-u,l=r[1]-o,c=a[0]-u,f=a[1]-o,h=2*(s*f-l*c);if(!(h>=-TM)){var d=s*s+l*l,p=c*c+f*f,g=(f*d-l*p)/h,m=(s*p-c*d)/h,v=yM.pop()||new xM;v.arc=t,v.site=i,v.x=g+u,v.y=(v.cy=m+o)+Math.sqrt(g*g+m*m),t.circle=v;for(var y=null,x=OM._;x;)if(v.y<x.y||v.y===x.y&&v.x<=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}OM.insert(y,v),y||(vM=v)}}}}function bM(t){var n=t.circle;n&&(n.P||(vM=n.N),OM.remove(n),yM.push(n),aM(n),t.circle=null)}var wM=[];function AM(){aM(this),this.edge=this.site=this.circle=null}function MM(t){var n=wM.pop()||new AM;return n.site=t,n}function kM(t){bM(t),SM.remove(t),wM.push(t),aM(t)}function EM(t){var n=t.circle,e=n.x,r=n.cy,i=[e,r],a=t.P,u=t.N,o=[t];kM(t);for(var s=a;s.circle&&Math.abs(e-s.circle.x)<NM&&Math.abs(r-s.circle.cy)<NM;)a=s.P,o.unshift(s),kM(s),s=a;o.unshift(s),bM(s);for(var l=u;l.circle&&Math.abs(e-l.circle.x)<NM&&Math.abs(r-l.circle.cy)<NM;)u=l.N,o.push(l),kM(l),l=u;o.push(l),bM(l);var c,f=o.length;for(c=1;c<f;++c)l=o[c],s=o[c-1],fM(l.edge,s.site,l.site,i);s=o[0],(l=o[f-1]).edge=lM(s.site,l.site,null,i),_M(s),_M(l)}function CM(t){for(var n,e,r,i,a=t[0],u=t[1],o=SM._;o;)if((r=DM(o,u)-a)>NM)o=o.L;else{if(!((i=a-FM(o,u))>NM)){r>-NM?(n=o.P,e=o):i>-NM?(n=o,e=o.N):n=e=o;break}if(!o.R){n=o;break}o=o.R}!function(t){BM[t.index]={site:t,halfedges:[]}}(t);var s=MM(t);if(SM.insert(n,s),n||e){if(n===e)return bM(n),e=MM(n.site),SM.insert(s,e),s.edge=e.edge=lM(n.site,s.site),_M(n),void _M(e);if(e){bM(n),bM(e);var l=n.site,c=l[0],f=l[1],h=t[0]-c,d=t[1]-f,p=e.site,g=p[0]-c,m=p[1]-f,v=2*(h*m-d*g),y=h*h+d*d,x=g*g+m*m,_=[(m*y-d*x)/v+c,(h*x-g*y)/v+f];fM(e.edge,l,p,_),s.edge=lM(l,t,null,_),e.edge=lM(t,p,null,_),_M(n),_M(e)}else s.edge=lM(n.site,s.site)}}function DM(t,n){var e=t.site,r=e[0],i=e[1],a=i-n;if(!a)return r;var u=t.P;if(!u)return-1/0;var o=(e=u.site)[0],s=e[1],l=s-n;if(!l)return o;var c=o-r,f=1/a-1/l,h=c/l;return f?(-h+Math.sqrt(h*h-2*f*(c*c/(-2*l)-s+l/2+i-a/2)))/f+r:(r+o)/2}function FM(t,n){var e=t.N;if(e)return DM(e,n);var r=t.site;return r[1]===n?r[0]:1/0}var SM,BM,OM,zM,NM=1e-6,TM=1e-12;function RM(t,n){return n[1]-t[1]||n[0]-t[0]}function PM(t,n){var e,r,i,a=t.sort(RM).pop();for(zM=[],BM=new Array(t.length),SM=new iM,OM=new iM;;)if(i=vM,a&&(!i||a[1]<i.y||a[1]===i.y&&a[0]<i.x))a[0]===e&&a[1]===r||(CM(a),e=a[0],r=a[1]),a=t.pop();else{if(!i)break;EM(i.arc)}if(function(){for(var t,n,e,r,i=0,a=BM.length;i<a;++i)if((t=BM[i])&&(r=(n=t.halfedges).length)){var u=new Array(r),o=new Array(r);for(e=0;e<r;++e)u[e]=e,o[e]=pM(t,zM[n[e]]);for(u.sort(function(t,n){return o[n]-o[t]}),e=0;e<r;++e)o[e]=n[u[e]];for(e=0;e<r;++e)n[e]=o[e]}}(),n){var u=+n[0][0],o=+n[0][1],s=+n[1][0],l=+n[1][1];!function(t,n,e,r){for(var i,a=zM.length;a--;)dM(i=zM[a],t,n,e,r)&&hM(i,t,n,e,r)&&(Math.abs(i[0][0]-i[1][0])>NM||Math.abs(i[0][1]-i[1][1])>NM)||delete zM[a]}(u,o,s,l),function(t,n,e,r){var i,a,u,o,s,l,c,f,h,d,p,g,m=BM.length,v=!0;for(i=0;i<m;++i)if(a=BM[i]){for(u=a.site,o=(s=a.halfedges).length;o--;)zM[s[o]]||s.splice(o,1);for(o=0,l=s.length;o<l;)p=(d=mM(a,zM[s[o]]))[0],g=d[1],f=(c=gM(a,zM[s[++o%l]]))[0],h=c[1],(Math.abs(p-f)>NM||Math.abs(g-h)>NM)&&(s.splice(o,0,zM.push(cM(u,d,Math.abs(p-t)<NM&&r-g>NM?[t,Math.abs(f-t)<NM?h:r]:Math.abs(g-r)<NM&&e-p>NM?[Math.abs(h-r)<NM?f:e,r]:Math.abs(p-e)<NM&&g-n>NM?[e,Math.abs(f-e)<NM?h:n]:Math.abs(g-n)<NM&&p-t>NM?[Math.abs(h-n)<NM?f:t,n]:null))-1),++l);l&&(v=!1)}if(v){var y,x,_,b=1/0;for(i=0,v=null;i<m;++i)(a=BM[i])&&(_=(y=(u=a.site)[0]-t)*y+(x=u[1]-n)*x)<b&&(b=_,v=a);if(v){var w=[t,n],A=[t,r],M=[e,r],k=[e,n];v.halfedges.push(zM.push(cM(u=v.site,w,A))-1,zM.push(cM(u,A,M))-1,zM.push(cM(u,M,k))-1,zM.push(cM(u,k,w))-1)}}for(i=0;i<m;++i)(a=BM[i])&&(a.halfedges.length||delete BM[i])}(u,o,s,l)}this.edges=zM,this.cells=BM,SM=OM=zM=BM=null}function LM(t){$r.call(this,null,t)}PM.prototype={constructor:PM,polygons:function(){var t=this.edges;return this.cells.map(function(n){var e=n.halfedges.map(function(e){return gM(n,t[e])});return e.data=n.site.data,e})},triangles:function(){var t=[],n=this.edges;return this.cells.forEach(function(e,r){if(a=(i=e.halfedges).length)for(var i,a,u,o,s,l,c=e.site,f=-1,h=n[i[a-1]],d=h.left===c?h.right:h.left;++f<a;)u=d,d=(h=n[i[f]]).left===c?h.right:h.left,u&&d&&r<u.index&&r<d.index&&(s=u,l=d,((o=c)[0]-l[0])*(s[1]-o[1])-(o[0]-s[0])*(l[1]-o[1])<0)&&t.push([c.data,u.data,d.data])}),t},links:function(){return this.edges.filter(function(t){return t.right}).map(function(t){return{source:t.left.data,target:t.right.data}})},find:function(t,n,e){for(var r,i,a=this,u=a._found||0,o=a.cells.length;!(i=a.cells[u]);)if(++u>=o)return null;var s=t-i.site[0],l=n-i.site[1],c=s*s+l*l;do{i=a.cells[r=u],u=null,i.halfedges.forEach(function(e){var r=a.edges[e],o=r.left;if(o!==i.site&&o||(o=r.right)){var s=t-o[0],l=n-o[1],f=s*s+l*l;f<c&&(c=f,u=o.index)}})}while(null!==u);return a._found=r,null==e||c<=e*e?i.site:null}},LM.Definition={type:"Voronoi",metadata:{modifies:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"size",type:"number",array:!0,length:2},{name:"extent",type:"array",array:!0,length:2,default:[[-1e5,-1e5],[1e5,1e5]],content:{type:"number",array:!0,length:2}},{name:"as",type:"string",default:"path"}]};var qM=et(LM,$r),UM=[[-1e5,-1e5],[1e5,1e5]];qM.transform=function(t,n){var e,r,i,a,u=t.as||"path",o=n.source;for(e=function(){var t=eM,n=rM,e=null;function r(r){return new PM(r.map(function(e,i){var a=[Math.round(t(e,i,r)/NM)*NM,Math.round(n(e,i,r)/NM)*NM];return a.index=i,a.data=e,a}),e)}return r.polygons=function(t){return r(t).polygons()},r.links=function(t){return r(t).links()},r.triangles=function(t){return r(t).triangles()},r.x=function(n){return arguments.length?(t="function"==typeof n?n:nM(+n),r):t},r.y=function(t){return arguments.length?(n="function"==typeof t?t:nM(+t),r):n},r.extent=function(t){return arguments.length?(e=null==t?null:[[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]],r):e&&[[e[0][0],e[0][1]],[e[1][0],e[1][1]]]},r.size=function(t){return arguments.length?(e=null==t?null:[[0,0],[+t[0],+t[1]]],r):e&&[e[1][0]-e[0][0],e[1][1]-e[0][1]]},r}().x(t.x).y(t.y),t.size?e.size(t.size):e.extent(t.extent||UM),this.value=e=e(o),r=e.polygons(),i=0,a=o.length;i<a;++i)o[i][u]=r[i]?"M"+r[i].join("L")+"Z":null;return n.reflow(t.modified()).modifies(u)};var jM=Object.freeze({voronoi:LM}),$M=Math.PI/180,IM=64,WM=2048;function HM(){var t,n,e,r,i,a,u,o=[256,256],s=XM,l=[],c=Math.random,f={};function h(t,n,e){for(var r,i,a,u,l,f=n.x,h=n.y,d=Math.sqrt(o[0]*o[0]+o[1]*o[1]),p=s(o),g=c()<.5?1:-1,m=-g;(r=p(m+=g))&&(i=~~r[0],a=~~r[1],!(Math.min(Math.abs(i),Math.abs(a))>=d));)if(n.x=f+i,n.y=h+a,!(n.x+n.x0<0||n.y+n.y0<0||n.x+n.x1>o[0]||n.y+n.y1>o[1]||e&&GM(n,t,o[0])||e&&(l=e,!((u=n).x+u.x1>l[0].x&&u.x+u.x0<l[1].x&&u.y+u.y1>l[0].y&&u.y+u.y0<l[1].y)))){for(var v,y=n.sprite,x=n.width>>5,_=o[0]>>5,b=n.x-(x<<4),w=127&b,A=32-w,M=n.y1-n.y0,k=(n.y+n.y0)*_+(b>>5),E=0;E<M;E++){v=0;for(var C=0;C<=x;C++)t[k+C]|=v<<A|(C<x?(v=y[E*x+C])>>>w:0);k+=_}return n.sprite=null,!0}return!1}return f.layout=function(){for(var s=function(t){t.width=t.height=1;var n=Math.sqrt(t.getContext("2d").getImageData(0,0,1,1).data.length>>2);t.width=(IM<<5)/n,t.height=WM/n;var e=t.getContext("2d");return e.fillStyle=e.strokeStyle="red",e.textAlign="center",{context:e,ratio:n}}(no()),f=function(t){var n=[],e=-1;for(;++e<t;)n[e]=0;return n}((o[0]>>5)*o[1]),d=null,p=l.length,g=-1,m=[],v=l.map(function(o){return{text:t(o),font:n(o),style:r(o),weight:i(o),rotate:a(o),size:~~e(o),padding:u(o),xoff:0,yoff:0,x1:0,y1:0,x0:0,y0:0,hasText:!1,sprite:null,datum:o}}).sort(function(t,n){return n.size-t.size});++g<p;){var y=v[g];y.x=o[0]*(c()+.5)>>1,y.y=o[1]*(c()+.5)>>1,YM(s,y,v,g),y.hasText&&h(f,y,d)&&(m.push(y),d?VM(d,y):d=[{x:y.x+y.x0,y:y.y+y.y0},{x:y.x+y.x1,y:y.y+y.y1}],y.x-=o[0]>>1,y.y-=o[1]>>1)}return m},f.words=function(t){return arguments.length?(l=t,f):l},f.size=function(t){return arguments.length?(o=[+t[0],+t[1]],f):o},f.font=function(t){return arguments.length?(n=ZM(t),f):n},f.fontStyle=function(t){return arguments.length?(r=ZM(t),f):r},f.fontWeight=function(t){return arguments.length?(i=ZM(t),f):i},f.rotate=function(t){return arguments.length?(a=ZM(t),f):a},f.text=function(n){return arguments.length?(t=ZM(n),f):t},f.spiral=function(t){return arguments.length?(s=JM[t]||t,f):s},f.fontSize=function(t){return arguments.length?(e=ZM(t),f):e},f.padding=function(t){return arguments.length?(u=ZM(t),f):u},f.random=function(t){return arguments.length?(c=t,f):c},f}function YM(t,n,e,r){if(!n.sprite){var i=t.context,a=t.ratio;i.clearRect(0,0,(IM<<5)/a,WM/a);var u,o,s,l,c,f=0,h=0,d=0,p=e.length;for(--r;++r<p;){if(n=e[r],i.save(),i.font=n.style+" "+n.weight+" "+~~((n.size+1)/a)+"px "+n.font,u=i.measureText(n.text+"m").width*a,s=n.size<<1,n.rotate){var g=Math.sin(n.rotate*$M),m=Math.cos(n.rotate*$M),v=u*m,y=u*g,x=s*m,_=s*g;u=Math.max(Math.abs(v+_),Math.abs(v-_))+31>>5<<5,s=~~Math.max(Math.abs(y+x),Math.abs(y-x))}else u=u+31>>5<<5;if(s>d&&(d=s),f+u>=IM<<5&&(f=0,h+=d,d=0),h+s>=WM)break;i.translate((f+(u>>1))/a,(h+(s>>1))/a),n.rotate&&i.rotate(n.rotate*$M),i.fillText(n.text,0,0),n.padding&&(i.lineWidth=2*n.padding,i.strokeText(n.text,0,0)),i.restore(),n.width=u,n.height=s,n.xoff=f,n.yoff=h,n.x1=u>>1,n.y1=s>>1,n.x0=-n.x1,n.y0=-n.y1,n.hasText=!0,f+=u}for(var b=i.getImageData(0,0,(IM<<5)/a,WM/a).data,w=[];--r>=0;)if((n=e[r]).hasText){for(o=(u=n.width)>>5,s=n.y1-n.y0,l=0;l<s*o;l++)w[l]=0;if(null==(f=n.xoff))return;h=n.yoff;var A=0,M=-1;for(c=0;c<s;c++){for(l=0;l<u;l++){var k=o*c+(l>>5),E=b[(h+c)*(IM<<5)+(f+l)<<2]?1<<31-l%32:0;w[k]|=E,A|=E}A?M=c:(n.y0++,s--,c--,h++)}n.y1=n.y0+M,n.sprite=w.slice(0,(n.y1-n.y0)*o)}}}function GM(t,n,e){e>>=5;for(var r,i=t.sprite,a=t.width>>5,u=t.x-(a<<4),o=127&u,s=32-o,l=t.y1-t.y0,c=(t.y+t.y0)*e+(u>>5),f=0;f<l;f++){r=0;for(var h=0;h<=a;h++)if((r<<s|(h<a?(r=i[f*a+h])>>>o:0))&n[c+h])return!0;c+=e}return!1}function VM(t,n){var e=t[0],r=t[1];n.x+n.x0<e.x&&(e.x=n.x+n.x0),n.y+n.y0<e.y&&(e.y=n.y+n.y0),n.x+n.x1>r.x&&(r.x=n.x+n.x1),n.y+n.y1>r.y&&(r.y=n.y+n.y1)}function XM(t){var n=t[0]/t[1];return function(t){return[n*(t*=.1)*Math.cos(t),t*Math.sin(t)]}}function ZM(t){return"function"==typeof t?t:function(){return t}}var JM={archimedean:XM,rectangular:function(t){var n=4*t[0]/t[1],e=0,r=0;return function(t){var i=t<0?-1:1;switch(Math.sqrt(1+4*i*t)-i&3){case 0:e+=n;break;case 1:r+=4;break;case 2:e-=n;break;default:r-=4}return[e,r]}}},QM=["x","y","font","fontSize","fontStyle","fontWeight","angle"],KM=["text","font","rotate","fontSize","fontStyle","fontWeight"];function tk(t){$r.call(this,HM(),t)}tk.Definition={type:"Wordcloud",metadata:{modifies:!0},params:[{name:"size",type:"number",array:!0,length:2},{name:"font",type:"string",expr:!0,default:"sans-serif"},{name:"fontStyle",type:"string",expr:!0,default:"normal"},{name:"fontWeight",type:"string",expr:!0,default:"normal"},{name:"fontSize",type:"number",expr:!0,default:14},{name:"fontSizeRange",type:"number",array:"nullable",default:[10,50]},{name:"rotate",type:"number",expr:!0,default:0},{name:"text",type:"field"},{name:"spiral",type:"string",values:["archimedean","rectangular"]},{name:"padding",type:"number",expr:!0},{name:"as",type:"string",array:!0,length:7,default:QM}]},et(tk,$r).transform=function(n,e){!n.size||n.size[0]&&n.size[1]||i("Wordcloud size dimensions must be non-zero.");var r=n.modified();if(r||e.changed(e.ADD_REM)||KM.some(function(t){var r=n[t];return Y(r)&&e.modified(r.fields)})){var a,u=e.materialize(e.SOURCE).source,o=this.value,s=n.as||QM,l=n.fontSize||14;if(Y(l)?a=n.fontSizeRange:l=V(l),a){var c=l,f=Zg("sqrt")().domain(function(t,n){for(var e,r=1/0,i=-1/0,a=0,u=n.length;a<u;++a)(e=t(n[a]))<r&&(r=e),e>i&&(i=e);return[r,i]}(c,u)).range(a);l=function(t){return f(c(t))}}u.forEach(function(t){t[s[0]]=NaN,t[s[1]]=NaN,t[s[3]]=0});for(var h,d,p=o.words(u).text(n.text).size(n.size||[500,500]).padding(n.padding||1).spiral(n.spiral||"archimedean").rotate(n.rotate||0).font(n.font||"sans-serif").fontStyle(n.fontStyle||"normal").fontWeight(n.fontWeight||"normal").fontSize(l).random(t.random).layout(),g=o.size(),m=g[0]>>1,v=g[1]>>1,y=0,x=p.length;y<x;++y)(d=(h=p[y]).datum)[s[0]]=h.x+m,d[s[1]]=h.y+v,d[s[2]]=h.font,d[s[3]]=h.size,d[s[4]]=h.style,d[s[5]]=h.weight,d[s[6]]=h.rotate;return e.reflow(r).modifies(s)}};var nk=Object.freeze({wordcloud:tk});function ek(t){return new Uint32Array(t)}function rk(t,n,e){var r=(n<257?function(t){return new Uint8Array(t)}:n<65537?function(t){return new Uint16Array(t)}:ek)(t);return e&&r.set(e),r}function ik(t,n,e){var r=1<<n;return{one:r,zero:~r,range:e.slice(),bisect:t.bisect,index:t.index,size:t.size,onAdd:function(t,n){var e,i=this.bisect(this.range,t.value),a=t.index,u=i[0],o=i[1],s=a.length;for(e=0;e<u;++e)n[a[e]]|=r;for(e=o;e<s;++e)n[a[e]]|=r;return this}}}function ak(){var t=ek(0),n=[],e=0;return{insert:function(r,i,a){if(!i.length)return[];var u,o,s,l=e,c=i.length,f=Array(c),h=ek(c);for(s=0;s<c;++s)f[s]=r(i[s]),h[s]=s;if(f=function(t,n){return t.sort.call(n,function(n,e){var r=t[n],i=t[e];return r<i?-1:r>i?1:0}),function(t,n){for(var e=n.length,r=new Array(e);e--;)r[e]=t[n[e]];return r}(t,n)}(f,h),l)u=n,o=t,n=Array(l+c),t=ek(l+c),function(t,n,e,r,i,a,u,o,s){var l,c=0,f=0;for(l=0;c<r&&f<u;++l)n[c]<i[f]?(o[l]=n[c],s[l]=e[c++]):(o[l]=i[f],s[l]=a[f++]+t);for(;c<r;++c,++l)o[l]=n[c],s[l]=e[c];for(;f<u;++f,++l)o[l]=i[f],s[l]=a[f]+t}(a,u,o,l,f,h,c,n,t);else{if(a>0)for(s=0;s<c;++s)h[s]+=a;n=f,t=h}return e=l+c,{index:h,value:f}},remove:function(r,i){var a,u,o,s=e;for(u=0;!i[t[u]]&&u<s;++u);for(o=u;u<s;++u)i[a=t[u]]||(t[o]=a,n[o]=n[u],++o);e=s-r},bisect:function(t,r){var i;return r?i=r.length:(r=n,i=e),[oi(r,t[0],0,i),ui(r,t[1],0,i)]},reindex:function(n){for(var r=0,i=e;r<i;++r)t[r]=n[t[r]]},index:function(){return t},size:function(){return e}}}function uk(t){var n,e,r,i,a;$r.call(this,(n=8,e=[],r=ek(0),i=rk(0,n),a=rk(0,n),{data:function(){return e},seen:function(){return t=r,n=e.length,r=t.length>=n?t:((i=i||new t.constructor(n)).set(t),i);var t,n,i},add:function(t){for(var n,r=0,i=e.length,a=t.length;r<a;++r)(n=t[r])._index=i++,e.push(n)},remove:function(t,n){var r,u,o,s=e.length,l=Array(s-t),c=e;for(u=0;!n[u]&&u<s;++u)l[u]=e[u],c[u]=u;for(o=u;u<s;++u)r=e[u],n[u]?c[u]=-1:(c[u]=o,i[o]=i[u],a[o]=a[u],l[o]=r,r._index=o++),i[u]=0;return e=l,c},size:function(){return e.length},curr:function(){return i},prev:function(){return a},reset:function(t){a[t]=i[t]},all:function(){return n<257?255:n<65537?65535:4294967295},set:function(t,n){i[t]|=n},clear:function(t,n){i[t]&=~n},resize:function(t,e){(t>i.length||e>n)&&(n=Math.max(e,n),i=rk(t,n,i),a=rk(t,n))}}),t),this._indices=null,this._dims=null}uk.Definition={type:"CrossFilter",metadata:{},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"query",type:"array",array:!0,required:!0,content:{type:"number",array:!0,length:2}}]};var ok=et(uk,$r);function sk(t){$r.call(this,null,t)}ok.transform=function(t,n){return this._dims?t.modified("fields")||t.fields.some(function(t){return n.modified(t.fields)})?this.reinit(t,n):this.eval(t,n):this.init(t,n)},ok.init=function(t,n){for(var e,r,i=t.fields,a=t.query,u=this._indices={},o=this._dims=[],s=a.length,l=0;l<s;++l)r=u[e=i[l].fname]||(u[e]=ak()),o.push(ik(r,l,a[l]));return this.eval(t,n)},ok.reinit=function(t,n){var e,r,i,a,u,o,s,l,c,f=n.materialize().fork(),h=t.fields,d=t.query,p=this._indices,g=this._dims,m=this.value,v=m.curr(),y=m.prev(),x=m.all(),_=f.rem=f.add,b=f.mod,w=d.length,A={};if(y.set(v),n.rem.length&&(u=this.remove(t,n,f)),n.add.length&&m.add(n.add),n.mod.length)for(o={},s=0,l=(a=n.mod).length;s<l;++s)o[a[s]._index]=1;for(s=0;s<w;++s)c=h[s],(!g[s]||t.modified("fields",s)||n.modified(c.fields))&&((e=A[i=c.fname])||(p[i]=r=ak(),A[i]=e=r.insert(c,n.source,0)),g[s]=ik(r,s,d[s]).onAdd(e,v));for(s=0,l=m.data().length;s<l;++s)u[s]||(y[s]!==v[s]?_.push(s):o[s]&&v[s]!==x&&b.push(s));return m.mask=(1<<w)-1,f},ok.eval=function(t,n){var e=n.materialize().fork(),r=this._dims.length,i=0;return n.rem.length&&(this.remove(t,n,e),i|=(1<<r)-1),t.modified("query")&&!t.modified("fields")&&(i|=this.update(t,n,e)),n.add.length&&(this.insert(t,n,e),i|=(1<<r)-1),n.mod.length&&(this.modify(n,e),i|=(1<<r)-1),this.value.mask=i,e},ok.insert=function(t,n,e){var r,i,a,u=n.add,o=this.value,s=this._dims,l=this._indices,c=t.fields,f={},h=e.add,d=o.size(),p=d+u.length,g=s.length;o.resize(p,g),o.add(u);var m=o.curr(),v=o.prev(),y=o.all();for(r=0;r<g;++r)a=f[i=c[r].fname]||(f[i]=l[i].insert(c[r],u,d)),s[r].onAdd(a,m);for(;d<p;++d)v[d]=y,m[d]!==y&&h.push(d)},ok.modify=function(t,n){var e,r,i,a=n.mod,u=this.value,o=u.curr(),s=u.all(),l=t.mod;for(e=0,r=l.length;e<r;++e)o[i=l[e]._index]!==s&&a.push(i)},ok.remove=function(t,n,e){var r,i,a,u,o=this._indices,s=this.value,l=s.curr(),c=s.prev(),f=s.all(),h={},d=e.rem,p=n.rem;for(r=0,i=p.length;r<i;++r)h[a=p[r]._index]=1,c[a]=u=l[a],l[a]=f,u!==f&&d.push(a);for(a in o)o[a].remove(i,h);return this.reindex(n,i,h),h},ok.reindex=function(t,n,e){var r=this._indices,i=this.value;t.runAfter(function(){var t=i.remove(n,e);for(var a in r)r[a].reindex(t)})},ok.update=function(t,n,e){var r,i,a=this._dims,u=t.query,o=n.stamp,s=a.length,l=0;for(e.filters=0,i=0;i<s;++i)t.modified("query",i)&&(r=i,++l);if(1===l)l=a[r].one,this.incrementOne(a[r],u[r],e.add,e.rem);else for(i=0,l=0;i<s;++i)t.modified("query",i)&&(l|=a[i].one,this.incrementAll(a[i],u[i],o,e.add),e.rem=e.add);return l},ok.incrementAll=function(t,n,e,r){var i,a,u,o=this.value,s=o.seen(),l=o.curr(),c=o.prev(),f=t.index(),h=t.bisect(t.range),d=t.bisect(n),p=d[0],g=d[1],m=h[0],v=h[1],y=t.one;if(p<m)for(i=p,a=Math.min(m,g);i<a;++i)s[u=f[i]]!==e&&(c[u]=l[u],s[u]=e,r.push(u)),l[u]^=y;else if(p>m)for(i=m,a=Math.min(p,v);i<a;++i)s[u=f[i]]!==e&&(c[u]=l[u],s[u]=e,r.push(u)),l[u]^=y;if(g>v)for(i=Math.max(p,v),a=g;i<a;++i)s[u=f[i]]!==e&&(c[u]=l[u],s[u]=e,r.push(u)),l[u]^=y;else if(g<v)for(i=Math.max(m,g),a=v;i<a;++i)s[u=f[i]]!==e&&(c[u]=l[u],s[u]=e,r.push(u)),l[u]^=y;t.range=n.slice()},ok.incrementOne=function(t,n,e,r){var i,a,u,o=this.value.curr(),s=t.index(),l=t.bisect(t.range),c=t.bisect(n),f=c[0],h=c[1],d=l[0],p=l[1],g=t.one;if(f<d)for(i=f,a=Math.min(d,h);i<a;++i)o[u=s[i]]^=g,e.push(u);else if(f>d)for(i=d,a=Math.min(f,p);i<a;++i)o[u=s[i]]^=g,r.push(u);if(h>p)for(i=Math.max(f,p),a=h;i<a;++i)o[u=s[i]]^=g,e.push(u);else if(h<p)for(i=Math.max(d,h),a=p;i<a;++i)o[u=s[i]]^=g,r.push(u);t.range=n.slice()},sk.Definition={type:"ResolveFilter",metadata:{},params:[{name:"ignore",type:"number",required:!0,description:"A bit mask indicating which filters to ignore."},{name:"filter",type:"object",required:!0,description:"Per-tuple filter bitmaps from a CrossFilter transform."}]},et(sk,$r).transform=function(t,n){var e=~(t.ignore||0),r=t.filter,i=r.mask;if(0==(i&e))return n.StopPropagation;var a=n.fork(n.ALL),u=r.data(),o=r.curr(),s=r.prev(),l=function(t){return o[t]&e?null:u[t]};return a.filter(a.MOD,l),i&i-1?(a.filter(a.ADD,function(t){var n=o[t]&e;return!n&&n^s[t]&e?u[t]:null}),a.filter(a.REM,function(t){var n=o[t]&e;return n&&!(n^n^s[t]&e)?u[t]:null})):(a.filter(a.ADD,l),a.filter(a.REM,function(t){return(o[t]&e)===i?u[t]:null})),a.filter(a.SOURCE,function(t){return l(t._index)})};var lk=Object.freeze({crossfilter:uk,resolvefilter:sk}),ck="default";function fk(t){var n=t._signals.cursor;n||(t._signals.cursor=n=t.add({user:ck,item:null})),t.on(t.events("view","mousemove"),n,function(t,e){var r=n.value,i=r?s(r)?r:r.user:ck,a=e.item&&e.item.cursor||null;return r&&i===r.user&&a==r.item?r:{user:i,item:a}}),t.add(null,function(t){var n,e=t.cursor,r=this.value;return s(e)||(r=e.item,e=e.user),n=e&&e!==ck?e:r||e,"undefined"!=typeof document&&document.body&&(document.body.style.cursor=n),r},{cursor:n})}function hk(t,n){var e=t._runtime.data;return e.hasOwnProperty(n)||i("Unrecognized data set: "+n),e[n]}function dk(t,n){Ot(n)||i("Second argument to changes must be a changeset.");var e=hk(this,t);return e.modified=!0,this.pulse(e.input,n)}function pk(t){var n=t.padding();return Math.max(0,t._viewWidth+n.left+n.right)}function gk(t){var n=t.padding();return Math.max(0,t._viewHeight+n.top+n.bottom)}function mk(t){var n=t.padding(),e=t._origin;return[n.left+e[0],n.top+e[1]]}function vk(t,n,e){var r,i,a=t._renderer,u=a&&a.canvas();return u&&(i=mk(t),(r=Bc(n.changedTouches?n.changedTouches[0]:n,u))[0]-=i[0],r[1]-=i[1]),n.dataflow=t,n.item=e,n.vega=function(t,n,e){var r=n?"group"===n.mark.marktype?n:n.mark.group:null;function i(t){var e,i=r;if(t)for(e=n;e;e=e.mark.group)if(e.mark.name===t){i=e;break}return i&&i.mark&&i.mark.interactive?i:{}}function a(t){if(!t)return e;s(t)&&(t=i(t));for(var n=e.slice();t;)n[0]-=t.x||0,n[1]-=t.y||0,t=t.mark&&t.mark.group;return n}return{view:V(t),item:V(n||{}),group:i,xy:a,x:function(t){return a(t)[0]},y:function(t){return a(t)[1]}}}(t,e,r),n}var yk="view",xk="timer",_k="window",bk={trap:!1};function wk(t){return t.item}function Ak(t){var n=t.item.mark.source;return n.source||n}function Mk(t){return function(n,e){return e.vega.view().changeset().encode(e.item,t)}}function kk(t,n,e){var r=document.createElement(t);for(var i in n)r.setAttribute(i,n[i]);return null!=e&&(r.textContent=e),r}var Ek="vega-bind",Ck="vega-bind-name",Dk="vega-bind-radio",Fk="vega-option-";function Sk(t,n,e){if(n){var r=e.param,i=e.state;return i||(i=e.state={elements:null,active:!1,set:null,update:function(n){n!==t.signal(r.signal)&&t.runAsync(null,function(){i.source=!0,t.signal(r.signal,n)})}},r.debounce&&(i.update=X(r.debounce,i.update))),function(t,n,e,r){var i=kk("div",{class:Ek});i.appendChild(kk("span",{class:Ck},e.name||e.signal)),n.appendChild(i);var a=Bk;switch(e.input){case"checkbox":a=Ok;break;case"select":a=zk;break;case"radio":a=Nk;break;case"range":a=Tk}a(t,i,e,r)}(i,n,r,t.signal(r.signal)),i.active||(t.on(t._signals[r.signal],null,function(){i.source?i.source=!1:i.set(t.signal(r.signal))}),i.active=!0),i}}function Bk(t,n,e,r){var i=kk("input");for(var a in e)"signal"!==a&&"element"!==a&&i.setAttribute("input"===a?"type":a,e[a]);i.setAttribute("name",e.signal),i.value=r,n.appendChild(i),i.addEventListener("input",function(){t.update(i.value)}),t.elements=[i],t.set=function(t){i.value=t}}function Ok(t,n,e,r){var i={type:"checkbox",name:e.signal};r&&(i.checked=!0);var a=kk("input",i);n.appendChild(a),a.addEventListener("change",function(){t.update(a.checked)}),t.elements=[a],t.set=function(t){a.checked=!!t||null}}function zk(t,n,e,r){var i=kk("select",{name:e.signal});e.options.forEach(function(t){var n={value:t};Rk(t,r)&&(n.selected=!0),i.appendChild(kk("option",n,t+""))}),n.appendChild(i),i.addEventListener("change",function(){t.update(e.options[i.selectedIndex])}),t.elements=[i],t.set=function(t){for(var n=0,r=e.options.length;n<r;++n)if(Rk(e.options[n],t))return void(i.selectedIndex=n)}}function Nk(t,n,e,r){var i=kk("span",{class:Dk});n.appendChild(i),t.elements=e.options.map(function(n){var a=Fk+e.signal+"-"+n,u={id:a,type:"radio",name:e.signal,value:n};Rk(n,r)&&(u.checked=!0);var o=kk("input",u);return o.addEventListener("change",function(){t.update(n)}),i.appendChild(o),i.appendChild(kk("label",{for:a},n+"")),o}),t.set=function(n){for(var e=t.elements,r=0,i=e.length;r<i;++r)Rk(e[r].value,n)&&(e[r].checked=!0)}}function Tk(t,n,e,r){r=void 0!==r?r:(+e.max+ +e.min)/2;var i=e.min||Math.min(0,+r)||0,a=e.max||Math.max(100,+r)||100,u=e.step||gi(i,a,100),o=kk("input",{type:"range",name:e.signal,min:i,max:a,step:u});o.value=r;var s=kk("label",{},+r);function l(){s.textContent=o.value,t.update(+o.value)}n.appendChild(o),n.appendChild(s),o.addEventListener("input",l),o.addEventListener("change",l),t.elements=[o],t.set=function(t){o.value=t,s.textContent=t}}function Rk(t,n){return t===n||t+""==n+""}function Pk(t,n,e,r,i,a){return(n=n||new r(t.loader())).initialize(e,pk(t),gk(t),mk(t),i,a).background(t._background)}function Lk(t,n){return n?function(){try{n.apply(this,arguments)}catch(n){t.error(n)}}:null}function qk(t,n){if("string"==typeof n){if("undefined"==typeof document)return t.error("DOM document instance not found."),null;if(!(n=document.querySelector(n)))return t.error("Signal bind element not found: "+n),null}if(n)try{n.innerHTML=""}catch(e){n=null,t.error(e)}return n}async function Uk(t,n,e,r){const a=Mf(n),u=a&&a.headless;return u||i("Unrecognized renderer type: "+n),await t.runAsync(),Pk(t,null,null,u,e,r).renderAsync(t._scenegraph.root)}var jk,$k,Ik,Wk,Hk,Yk="RawCode",Gk="Literal",Vk="Property",Xk="Identifier",Zk="ArrayExpression",Jk="BinaryExpression",Qk="CallExpression",Kk="ConditionalExpression",tE="LogicalExpression",nE="MemberExpression",eE="ObjectExpression",rE="UnaryExpression";function iE(t){this.type=t}iE.prototype.visit=function(t){var n,e,r;if(t(this))return 1;for(e=0,r=(n=function(t){switch(t.type){case Zk:return t.elements;case Jk:case tE:return[t.left,t.right];case Qk:var n=t.arguments.slice();return n.unshift(t.callee),n;case Kk:return[t.test,t.consequent,t.alternate];case nE:return[t.object,t.property];case eE:return t.properties;case Vk:return[t.key,t.value];case rE:return[t.argument];case Xk:case Gk:case Yk:default:return[]}}(this)).length;e<r;++e)if(n[e].visit(t))return 1};var aE=1,uE=2,oE=3,sE=4,lE=5,cE=6,fE=7,hE=8;(jk={})[aE]="Boolean",jk[uE]="<end>",jk[oE]="Identifier",jk[sE]="Keyword",jk[lE]="Null",jk[cE]="Numeric",jk[fE]="Punctuator",jk[hE]="String",jk[9]="RegularExpression";var dE="ArrayExpression",pE="BinaryExpression",gE="CallExpression",mE="ConditionalExpression",vE="Identifier",yE="Literal",xE="LogicalExpression",_E="MemberExpression",bE="ObjectExpression",wE="Property",AE="UnaryExpression",ME="Unexpected token %0",kE="Unexpected number",EE="Unexpected string",CE="Unexpected identifier",DE="Unexpected reserved word",FE="Unexpected end of input",SE="Invalid regular expression",BE="Invalid regular expression: missing /",OE="Octal literals are not allowed in strict mode.",zE="Duplicate data property in object literal not allowed in strict mode",NE="ILLEGAL",TE="Disabled.",RE=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"),PE=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]");function LE(t,n){if(!t)throw new Error("ASSERT: "+n)}function qE(t){return t>=48&&t<=57}function UE(t){return"0123456789abcdefABCDEF".indexOf(t)>=0}function jE(t){return"01234567".indexOf(t)>=0}function $E(t){return 32===t||9===t||11===t||12===t||160===t||t>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(t)>=0}function IE(t){return 10===t||13===t||8232===t||8233===t}function WE(t){return 36===t||95===t||t>=65&&t<=90||t>=97&&t<=122||92===t||t>=128&&RE.test(String.fromCharCode(t))}function HE(t){return 36===t||95===t||t>=65&&t<=90||t>=97&&t<=122||t>=48&&t<=57||92===t||t>=128&&PE.test(String.fromCharCode(t))}var YE={if:1,in:1,do:1,var:1,for:1,new:1,try:1,let:1,this:1,else:1,case:1,void:1,with:1,enum:1,while:1,break:1,catch:1,throw:1,const:1,yield:1,class:1,super:1,return:1,typeof:1,delete:1,switch:1,export:1,import:1,public:1,static:1,default:1,finally:1,extends:1,package:1,private:1,function:1,continue:1,debugger:1,interface:1,protected:1,instanceof:1,implements:1};function GE(){for(var t;Ik<Wk&&($E(t=$k.charCodeAt(Ik))||IE(t));)++Ik}function VE(t){var n,e,r,i=0;for(e="u"===t?4:2,n=0;n<e;++n)Ik<Wk&&UE($k[Ik])?(r=$k[Ik++],i=16*i+"0123456789abcdef".indexOf(r.toLowerCase())):cC({},ME,NE);return String.fromCharCode(i)}function XE(){var t,n,e,r;for(n=0,"}"===(t=$k[Ik])&&cC({},ME,NE);Ik<Wk&&UE(t=$k[Ik++]);)n=16*n+"0123456789abcdef".indexOf(t.toLowerCase());return(n>1114111||"}"!==t)&&cC({},ME,NE),n<=65535?String.fromCharCode(n):(e=55296+(n-65536>>10),r=56320+(n-65536&1023),String.fromCharCode(e,r))}function ZE(){var t,n;for(t=$k.charCodeAt(Ik++),n=String.fromCharCode(t),92===t&&(117!==$k.charCodeAt(Ik)&&cC({},ME,NE),++Ik,(t=VE("u"))&&"\\"!==t&&WE(t.charCodeAt(0))||cC({},ME,NE),n=t);Ik<Wk&&HE(t=$k.charCodeAt(Ik));)++Ik,n+=String.fromCharCode(t),92===t&&(n=n.substr(0,n.length-1),117!==$k.charCodeAt(Ik)&&cC({},ME,NE),++Ik,(t=VE("u"))&&"\\"!==t&&HE(t.charCodeAt(0))||cC({},ME,NE),n+=t);return n}function JE(){var t,n;return t=Ik,{type:1===(n=92===$k.charCodeAt(Ik)?ZE():function(){var t,n;for(t=Ik++;Ik<Wk;){if(92===(n=$k.charCodeAt(Ik)))return Ik=t,ZE();if(!HE(n))break;++Ik}return $k.slice(t,Ik)}()).length?oE:YE.hasOwnProperty(n)?sE:"null"===n?lE:"true"===n||"false"===n?aE:oE,value:n,start:t,end:Ik}}function QE(){var t,n,e,r,i=Ik,a=$k.charCodeAt(Ik),u=$k[Ik];switch(a){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++Ik,{type:fE,value:String.fromCharCode(a),start:i,end:Ik};default:if(61===(t=$k.charCodeAt(Ik+1)))switch(a){case 43:case 45:case 47:case 60:case 62:case 94:case 124:case 37:case 38:case 42:return Ik+=2,{type:fE,value:String.fromCharCode(a)+String.fromCharCode(t),start:i,end:Ik};case 33:case 61:return Ik+=2,61===$k.charCodeAt(Ik)&&++Ik,{type:fE,value:$k.slice(i,Ik),start:i,end:Ik}}}return">>>="===(r=$k.substr(Ik,4))?{type:fE,value:r,start:i,end:Ik+=4}:">>>"===(e=r.substr(0,3))||"<<="===e||">>="===e?{type:fE,value:e,start:i,end:Ik+=3}:u===(n=e.substr(0,2))[1]&&"+-<>&|".indexOf(u)>=0||"=>"===n?{type:fE,value:n,start:i,end:Ik+=2}:"<>=!+-*%&|^/".indexOf(u)>=0?{type:fE,value:u,start:i,end:++Ik}:void cC({},ME,NE)}function KE(){var t,n,e;if(LE(qE((e=$k[Ik]).charCodeAt(0))||"."===e,"Numeric literal must start with a decimal digit or a decimal point"),n=Ik,t="","."!==e){if(t=$k[Ik++],e=$k[Ik],"0"===t){if("x"===e||"X"===e)return++Ik,function(t){for(var n="";Ik<Wk&&UE($k[Ik]);)n+=$k[Ik++];return 0===n.length&&cC({},ME,NE),WE($k.charCodeAt(Ik))&&cC({},ME,NE),{type:cE,value:parseInt("0x"+n,16),start:t,end:Ik}}(n);if(jE(e))return function(t){for(var n="0"+$k[Ik++];Ik<Wk&&jE($k[Ik]);)n+=$k[Ik++];return(WE($k.charCodeAt(Ik))||qE($k.charCodeAt(Ik)))&&cC({},ME,NE),{type:cE,value:parseInt(n,8),octal:!0,start:t,end:Ik}}(n);e&&qE(e.charCodeAt(0))&&cC({},ME,NE)}for(;qE($k.charCodeAt(Ik));)t+=$k[Ik++];e=$k[Ik]}if("."===e){for(t+=$k[Ik++];qE($k.charCodeAt(Ik));)t+=$k[Ik++];e=$k[Ik]}if("e"===e||"E"===e)if(t+=$k[Ik++],"+"!==(e=$k[Ik])&&"-"!==e||(t+=$k[Ik++]),qE($k.charCodeAt(Ik)))for(;qE($k.charCodeAt(Ik));)t+=$k[Ik++];else cC({},ME,NE);return WE($k.charCodeAt(Ik))&&cC({},ME,NE),{type:cE,value:parseFloat(t),start:n,end:Ik}}function tC(){var t,n,e,r;return Hk=null,GE(),t=Ik,n=function(){var t,n,e,r;for(LE("/"===(t=$k[Ik]),"Regular expression literal must start with a slash"),n=$k[Ik++],e=!1,r=!1;Ik<Wk;)if(n+=t=$k[Ik++],"\\"===t)IE((t=$k[Ik++]).charCodeAt(0))&&cC({},BE),n+=t;else if(IE(t.charCodeAt(0)))cC({},BE);else if(e)"]"===t&&(e=!1);else{if("/"===t){r=!0;break}"["===t&&(e=!0)}return r||cC({},BE),{value:n.substr(1,n.length-2),literal:n}}(),e=function(){var t,n,e;for(n="",e="";Ik<Wk&&HE((t=$k[Ik]).charCodeAt(0));)++Ik,"\\"===t&&Ik<Wk?cC({},ME,NE):(e+=t,n+=t);return e.search(/[^gimuy]/g)>=0&&cC({},SE,e),{value:e,literal:n}}(),r=function(t,n){var e=t;n.indexOf("u")>=0&&(e=e.replace(/\\u\{([0-9a-fA-F]+)\}/g,function(t,n){if(parseInt(n,16)<=1114111)return"x";cC({},SE)}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"));try{return new RegExp(t,n)}catch(t){return null}}(n.value,e.value),{literal:n.literal+e.literal,value:r,regex:{pattern:n.value,flags:e.value},start:t,end:Ik}}function nC(){var t;return GE(),Ik>=Wk?{type:uE,start:Ik,end:Ik}:WE(t=$k.charCodeAt(Ik))?JE():40===t||41===t||59===t?QE():39===t||34===t?function(){var t,n,e,r,i="",a=!1;for(LE("'"===(t=$k[Ik])||'"'===t,"String literal must starts with a quote"),n=Ik,++Ik;Ik<Wk;){if((e=$k[Ik++])===t){t="";break}if("\\"===e)if((e=$k[Ik++])&&IE(e.charCodeAt(0)))"\r"===e&&"\n"===$k[Ik]&&++Ik;else switch(e){case"u":case"x":"{"===$k[Ik]?(++Ik,i+=XE()):i+=VE(e);break;case"n":i+="\n";break;case"r":i+="\r";break;case"t":i+="\t";break;case"b":i+="\b";break;case"f":i+="\f";break;case"v":i+="\v";break;default:jE(e)?(0!==(r="01234567".indexOf(e))&&(a=!0),Ik<Wk&&jE($k[Ik])&&(a=!0,r=8*r+"01234567".indexOf($k[Ik++]),"0123".indexOf(e)>=0&&Ik<Wk&&jE($k[Ik])&&(r=8*r+"01234567".indexOf($k[Ik++]))),i+=String.fromCharCode(r)):i+=e}else{if(IE(e.charCodeAt(0)))break;i+=e}}return""!==t&&cC({},ME,NE),{type:hE,value:i,octal:a,start:n,end:Ik}}():46===t?qE($k.charCodeAt(Ik+1))?KE():QE():qE(t)?KE():QE()}function eC(){var t;return Ik=(t=Hk).end,Hk=nC(),Ik=t.end,t}function rC(){var t;t=Ik,Hk=nC(),Ik=t}function iC(t,n,e){var r=new iE("||"===t||"&&"===t?xE:pE);return r.operator=t,r.left=n,r.right=e,r}function aC(t,n){var e=new iE(gE);return e.callee=t,e.arguments=n,e}function uC(t){var n=new iE(vE);return n.name=t,n}function oC(t){var n=new iE(yE);return n.value=t.value,n.raw=$k.slice(t.start,t.end),t.regex&&("//"===n.raw&&(n.raw="/(?:)/"),n.regex=t.regex),n}function sC(t,n,e){var r=new iE(_E);return r.computed="["===t,r.object=n,r.property=e,r.computed||(e.member=!0),r}function lC(t,n,e){var r=new iE(wE);return r.key=n,r.value=e,r.kind=t,r}function cC(t,n){var e,r=Array.prototype.slice.call(arguments,2),i=n.replace(/%(\d)/g,function(t,n){return LE(n<r.length,"Message reference must be in range"),r[n]});throw(e=new Error(i)).index=Ik,e.description=i,e}function fC(t){t.type===uE&&cC(t,FE),t.type===cE&&cC(t,kE),t.type===hE&&cC(t,EE),t.type===oE&&cC(t,CE),t.type===sE&&cC(t,DE),cC(t,ME,t.value)}function hC(t){var n=eC();n.type===fE&&n.value===t||fC(n)}function dC(t){return Hk.type===fE&&Hk.value===t}function pC(t){return Hk.type===sE&&Hk.value===t}function gC(){var t=[];for(Ik=Hk.start,hC("[");!dC("]");)dC(",")?(eC(),t.push(null)):(t.push(CC()),dC("]")||hC(","));return eC(),function(t){var n=new iE(dE);return n.elements=t,n}(t)}function mC(){var t;return Ik=Hk.start,(t=eC()).type===hE||t.type===cE?(t.octal&&cC(t,OE),oC(t)):uC(t.value)}function vC(){var t,n,e;return Ik=Hk.start,(t=Hk).type===oE?(e=mC(),hC(":"),lC("init",e,CC())):t.type!==uE&&t.type!==fE?(n=mC(),hC(":"),lC("init",n,CC())):void fC(t)}function yC(){var t,n,e=[],r={},i=String;for(Ik=Hk.start,hC("{");!dC("}");)n="$"+((t=vC()).key.type===vE?t.key.name:i(t.key.value)),Object.prototype.hasOwnProperty.call(r,n)?cC({},zE):r[n]=!0,e.push(t),dC("}")||hC(",");return hC("}"),function(t){var n=new iE(bE);return n.properties=t,n}(e)}var xC={if:1,this:1};function _C(){var t,n,e;if(dC("("))return function(){var t;return hC("("),t=DC(),hC(")"),t}();if(dC("["))return gC();if(dC("{"))return yC();if(t=Hk.type,Ik=Hk.start,t===oE||xC[Hk.value])e=uC(eC().value);else if(t===hE||t===cE)Hk.octal&&cC(Hk,OE),e=oC(eC());else{if(t===sE)throw new Error(TE);t===aE?((n=eC()).value="true"===n.value,e=oC(n)):t===lE?((n=eC()).value=null,e=oC(n)):dC("/")||dC("/=")?(e=oC(tC()),rC()):fC(eC())}return e}function bC(){var t=[];if(hC("("),!dC(")"))for(;Ik<Wk&&(t.push(CC()),!dC(")"));)hC(",");return hC(")"),t}function wC(){var t;return Ik=Hk.start,function(t){return t.type===oE||t.type===sE||t.type===aE||t.type===lE}(t=eC())||fC(t),uC(t.value)}function AC(){var t;return hC("["),t=DC(),hC("]"),t}function MC(){var t=function(){var t;for(t=_C();;)if(dC("."))hC("."),t=sC(".",t,wC());else if(dC("("))t=aC(t,bC());else{if(!dC("["))break;t=sC("[",t,AC())}return t}();if(Hk.type===fE&&(dC("++")||dC("--")))throw new Error(TE);return t}function kC(){var t,n,e,r,i;if(Hk.type!==fE&&Hk.type!==sE)n=MC();else{if(dC("++")||dC("--"))throw new Error(TE);if(dC("+")||dC("-")||dC("~")||dC("!"))t=eC(),n=kC(),e=t.value,r=n,(i=new iE(AE)).operator=e,i.argument=r,i.prefix=!0,n=i;else{if(pC("delete")||pC("void")||pC("typeof"))throw new Error(TE);n=MC()}}return n}function EC(t){var n=0;if(t.type!==fE&&t.type!==sE)return 0;switch(t.value){case"||":n=1;break;case"&&":n=2;break;case"|":n=3;break;case"^":n=4;break;case"&":n=5;break;case"==":case"!=":case"===":case"!==":n=6;break;case"<":case">":case"<=":case">=":case"instanceof":case"in":n=7;break;case"<<":case">>":case">>>":n=8;break;case"+":case"-":n=9;break;case"*":case"/":case"%":n=11}return n}function CC(){var t,n;return t=function(){var t,n,e,r,i,a,u,o,s,l;if(t=Hk,s=kC(),0===(i=EC(r=Hk)))return s;for(r.prec=i,eC(),n=[t,Hk],a=[s,r,u=kC()];(i=EC(Hk))>0;){for(;a.length>2&&i<=a[a.length-2].prec;)u=a.pop(),o=a.pop().value,s=a.pop(),n.pop(),e=iC(o,s,u),a.push(e);(r=eC()).prec=i,a.push(r),n.push(Hk),e=kC(),a.push(e)}for(e=a[l=a.length-1],n.pop();l>1;)n.pop(),e=iC(a[l-1].value,a[l-2],e),l-=2;return e}(),dC("?")&&(eC(),n=CC(),hC(":"),t=function(t,n,e){var r=new iE(mE);return r.test=t,r.consequent=n,r.alternate=e,r}(t,n,CC())),t}function DC(){var t=CC();if(dC(","))throw new Error(TE);return t}var FC={NaN:"NaN",E:"Math.E",LN2:"Math.LN2",LN10:"Math.LN10",LOG2E:"Math.LOG2E",LOG10E:"Math.LOG10E",PI:"Math.PI",SQRT1_2:"Math.SQRT1_2",SQRT2:"Math.SQRT2",MIN_VALUE:"Number.MIN_VALUE",MAX_VALUE:"Number.MAX_VALUE"};function SC(t){function n(n,e,r){return function(i){return function(n,e,r,i){var a=t(e[0]);return r&&(a=r+"("+a+")",0===r.lastIndexOf("new ",0)&&(a="("+a+")")),a+"."+n+(i<0?"":0===i?"()":"("+e.slice(1).map(t).join(",")+")")}(n,i,e,r)}}var e="new Date";return{isNaN:"isNaN",isFinite:"isFinite",abs:"Math.abs",acos:"Math.acos",asin:"Math.asin",atan:"Math.atan",atan2:"Math.atan2",ceil:"Math.ceil",cos:"Math.cos",exp:"Math.exp",floor:"Math.floor",log:"Math.log",max:"Math.max",min:"Math.min",pow:"Math.pow",random:"Math.random",round:"Math.round",sin:"Math.sin",sqrt:"Math.sqrt",tan:"Math.tan",clamp:function(n){n.length<3&&i("Missing arguments to clamp function."),n.length>3&&i("Too many arguments to clamp function.");var e=n.map(t);return"Math.max("+e[1]+", Math.min("+e[2]+","+e[0]+"))"},now:"Date.now",utc:"Date.UTC",datetime:e,date:n("getDate",e,0),day:n("getDay",e,0),year:n("getFullYear",e,0),month:n("getMonth",e,0),hours:n("getHours",e,0),minutes:n("getMinutes",e,0),seconds:n("getSeconds",e,0),milliseconds:n("getMilliseconds",e,0),time:n("getTime",e,0),timezoneoffset:n("getTimezoneOffset",e,0),utcdate:n("getUTCDate",e,0),utcday:n("getUTCDay",e,0),utcyear:n("getUTCFullYear",e,0),utcmonth:n("getUTCMonth",e,0),utchours:n("getUTCHours",e,0),utcminutes:n("getUTCMinutes",e,0),utcseconds:n("getUTCSeconds",e,0),utcmilliseconds:n("getUTCMilliseconds",e,0),length:n("length",null,-1),join:n("join",null),indexof:n("indexOf",null),lastindexof:n("lastIndexOf",null),slice:n("slice",null),reverse:function(n){return"("+t(n[0])+").slice().reverse()"},parseFloat:"parseFloat",parseInt:"parseInt",upper:n("toUpperCase","String",0),lower:n("toLowerCase","String",0),substring:n("substring","String"),split:n("split","String"),replace:n("replace","String"),trim:n("trim","String",0),regexp:"RegExp",test:n("test","RegExp"),if:function(n){n.length<3&&i("Missing arguments to if function."),n.length>3&&i("Too many arguments to if function.");var e=n.map(t);return"("+e[0]+"?"+e[1]+":"+e[2]+")"}}}const BC="intersect",OC="union";var zC="E",NC="R",TC="R-E",RC="R-LE",PC="R-RE",LC="index:unit";function qC(t,n){for(var e,r,i=n.fields,a=n.values,o=i.length,s=0;s<o;++s)if((r=i[s]).getter=c.getter||c(r.field),at(e=r.getter(t))&&(e=E(e)),at(a[s])&&(a[s]=E(a[s])),at(a[s][0])&&(a[s]=a[s].map(E)),r.type===zC){if(u(a[s])?a[s].indexOf(e)<0:e!==a[s])return!1}else if(r.type===NC){if(!rt(e,a[s]))return!1}else if(r.type===PC){if(!rt(e,a[s],!0,!1))return!1}else if(r.type===TC){if(!rt(e,a[s],!1,!1))return!1}else if(r.type===RC&&!rt(e,a[s],!1,!0))return!1;return!0}var UC={E_union:function(t,n){if(!t.length)return n;for(var e=0,r=n.length;e<r;++e)t.indexOf(n[e])<0&&t.push(n[e]);return t},E_intersect:function(t,n){return t.length?t.filter(function(t){return n.indexOf(t)>=0}):n},R_union:function(t,n){var e=E(n[0]),r=E(n[1]);return e>r&&(e=n[1],r=n[0]),t.length?(t[0]>e&&(t[0]=e),t[1]<r&&(t[1]=r),t):[e,r]},R_intersect:function(t,n){var e=E(n[0]),r=E(n[1]);return e>r&&(e=n[1],r=n[0]),t.length?r<t[0]||t[1]<e?[]:(t[0]<e&&(t[0]=e),t[1]>r&&(t[1]=r),t):[e,r]}};const jC=":",$C="@";function IC(t,n,e,r){n[0].type!==Gk&&i("First argument to selection functions must be a string literal.");const a=n[0].value,u=n.length>=2&&k(n).value,o=$C+"unit",s=jC+a;u!==BC||r.hasOwnProperty(o)||(r[o]=e.getData(a).indataRef(e,"unit")),r.hasOwnProperty(s)||(r[s]=e.getData(a).tuplesRef())}function WC(t){const n=this.context.data[t];return n?n.values.value:[]}const HC={};function YC(t,n,e){let r=t+":"+e,i=HC[r];return i&&i[0]===n||(HC[r]=i=[n,n(e)]),i[1]}function GC(t,n){return YC("timeFormat",ue,n)(t)}var VC=new Date(2e3,0,1);function XC(t,n,e){return VC.setMonth(t),VC.setDate(n),GC(VC,e)}function ZC(t,n){let e;return Y(t)?t:s(t)?(e=n.scales[t])&&e.value:void 0}function JC(t,n){return function(e,r,i){if(e){const n=ZC(e,(i||this).context);return n&&n.path[t](r)}return n(r)}}const QC=JC("area",function(t){return sy.reset(),ny(t,ly),2*sy}),KC=JC("bounds",function(t){var n,e,r,i,a,u,o;if(My=Ay=-(by=wy=1/0),Fy=[],ny(t,Vy),e=Fy.length){for(Fy.sort(rx),n=1,a=[r=Fy[0]];n<e;++n)ix(r,(i=Fy[n])[0])||ix(r,i[1])?(ex(r[0],i[1])>ex(r[0],r[1])&&(r[1]=i[1]),ex(i[0],r[1])>ex(r[0],r[1])&&(r[0]=i[0])):a.push(r=i);for(u=-1/0,n=0,r=a[e=a.length-1];n<=e;r=i,++n)i=a[n],(o=ex(r[1],i[0]))>u&&(u=o,by=i[0],Ay=r[1])}return Fy=Sy=null,by===1/0||wy===1/0?[[NaN,NaN],[NaN,NaN]]:[[by,wy],[Ay,My]]}),tD=JC("centroid",function(t){By=Oy=zy=Ny=Ty=Ry=Py=Ly=qy=Uy=jy=0,ny(t,ax);var n=qy,e=Uy,r=jy,i=n*n+e*e+r*r;return i<Dv&&(n=Ry,e=Py,r=Ly,Oy<Cv&&(n=zy,e=Ny,r=Ty),(i=n*n+e*e+r*r)<Dv)?[NaN,NaN]:[Pv(e,n)*zv,Vv(r/Hv(i))*zv]});function nD(t,n,e){try{t[n].apply(t,["EXPRESSION"].concat([].slice.call(e)))}catch(n){t.warn(n)}return e[e.length-1]}function eD(t,n){return t===n||t!=t&&n!=n||!(!u(t)||!u(n)||t.length!==n.length)&&function(t,n){for(let e=0,r=t.length;e<r;++e)if(!eD(t[e],n[e]))return!1;return!0}(t,n)}function rD(t){return function(n){for(let e in t)if(!eD(n[e],t[e]))return!1;return!0}}const iD={};function aD(t){return t.data}function uD(t,n){const e=WC.call(n,t);return e.root&&e.root.lookup||iD}const oD="undefined"!=typeof window&&window||null;const sD=":",lD="@",cD="%",fD="$";function hD(t,n,e,r){n[0].type!==Gk&&i("First argument to data functions must be a string literal.");const a=n[0].value,u=sD+a;r.hasOwnProperty(u)||(r[u]=e.getData(a).tuplesRef())}function dD(t,n,e,r){if(n[0].type===Gk)pD(e,r,n[0].value);else if(n[0].type===Xk)for(t in e.scales)pD(e,r,t)}function pD(t,n,e){const r=cD+e;if(!n.hasOwnProperty(r))try{n[r]=t.scaleRef(e)}catch(t){}}const gD={random:function(){return t.random()},isArray:u,isBoolean:it,isDate:at,isDefined:function(t){return void 0!==t},isNumber:ut,isObject:o,isRegExp:ot,isString:s,isTuple:kt,isValid:function(t){return null!=t&&t==t},toBoolean:pt,toDate:mt,toNumber:E,toString:vt,flush:nt,lerp:lt,merge:function(){var t=[].slice.call(arguments);return t.unshift({}),Z.apply(null,t)},pad:ht,peek:k,span:dt,inrange:rt,truncate:xt,rgb:pd,lab:Bd,hcl:Pd,hsl:yd,sequence:li,format:function(t,n){return YC("format",sg,n)(t)},utcFormat:function(t,n){return YC("utcFormat",se,n)(t)},utcParse:function(t,n){return YC("utcParse",le,n)(t)},timeFormat:GC,timeParse:function(t,n){return YC("timeParse",oe,n)(t)},monthFormat:function(t){return XC(t,1,"%B")},monthAbbrevFormat:function(t){return XC(t,1,"%b")},dayFormat:function(t){return XC(0,2+t,"%A")},dayAbbrevFormat:function(t){return XC(0,2+t,"%a")},quarter:$,utcquarter:I,warn:function(){return nD(this.context.dataflow,"warn",arguments)},info:function(){return nD(this.context.dataflow,"info",arguments)},debug:function(){return nD(this.context.dataflow,"debug",arguments)},extent:J,inScope:function(t){let n=this.context.group,e=!1;if(n)for(;t;){if(t===n){e=!0;break}t=t.mark.group}return e},intersect:function(t,n,e){if(!t)return[];const[r,i]=t,a=(new Hu).set(r[0],r[1],i[0],i[1]);return kf(e||this.context.dataflow.scenegraph().root,a,function(t){let n=null;if(t){const e=W(t.marktype),r=W(t.markname);n=(t=>(!e.length||e.some(n=>t.marktype===n))&&(!r.length||r.some(n=>t.name===n)))}return n}(n))},clampRange:H,pinchDistance:function(t){const n=t.touches,e=n[0].clientX-n[1].clientX,r=n[0].clientY-n[1].clientY;return Math.sqrt(e*e+r*r)},pinchAngle:function(t){const n=t.touches;return Math.atan2(n[0].clientY-n[1].clientY,n[0].clientX-n[1].clientX)},screen:function(){return oD?oD.screen:{}},containerSize:function(){const t=this.context.dataflow,n=t.container&&t.container();return n?[n.clientWidth,n.clientHeight]:[void 0,void 0]},windowSize:function(){return oD?[oD.innerWidth,oD.innerHeight]:[void 0,void 0]},bandspace:function(t,n,e){return yh(t||0,n||0,e||0)},setdata:function(t,n){const e=this.context.dataflow,r=this.context.data[t].input;return e.pulse(r,e.changeset().remove(m).insert(n)),1},pathShape:function(t){let n=null;return function(e){return e?Os(e,n=n||bs(t)):t}},panLinear:z,panLog:N,panPow:T,panSymlog:R,zoomLinear:L,zoomLog:q,zoomPow:U,zoomSymlog:j,encode:function(t,n,e){if(t){const e=this.context.dataflow,r=t.mark.source;e.pulse(r,e.changeset().encode(t,n))}return void 0!==e?e:t},modify:function(t,n,e,r,i,a){let o,s,l=this.context.dataflow,c=this.context.data[t],f=c.input,h=c.changes,d=l.stamp();if(!1===l._trigger||!(f.value.length||n||r))return 0;if((!h||h.stamp<d)&&(c.changes=h=l.changeset(),h.stamp=d,l.runAfter(function(){c.modified=!0,l.pulse(f,h).run()},!0,1)),e&&(o=!0===e?m:u(e)||kt(e)?e:rD(e),h.remove(o)),n&&h.insert(n),r&&(o=rD(r),f.value.some(o)?h.remove(o):h.insert(r)),i)for(s in a)h.modify(i,s,a[s]);return 1}},mD=["view","item","group","xy","x","y"],vD="event.vega.",yD="this.",xD={};function _D(t,n,e){return 1===arguments.length?gD[t]:(gD[t]=n,e&&(xD[t]=e),wD&&(wD.functions[t]=yD+t),this)}_D("bandwidth",function(t,n){const e=ZC(t,(n||this).context);return e&&e.bandwidth?e.bandwidth():0},dD),_D("copy",function(t,n){const e=ZC(t,(n||this).context);return e?e.copy():void 0},dD),_D("domain",function(t,n){const e=ZC(t,(n||this).context);return e?e.domain():[]},dD),_D("range",function(t,n){const e=ZC(t,(n||this).context);return e&&e.range?e.range():[]},dD),_D("invert",function(t,n,e){const r=ZC(t,(e||this).context);return r?u(n)?(r.invertRange||r.invert)(n):(r.invert||r.invertExtent)(n):void 0},dD),_D("scale",function(t,n,e){const r=ZC(t,(e||this).context);return r&&void 0!==n?r(n):void 0},dD),_D("gradient",function(t,n,e,r,i){t=ZC(t,(i||this).context);const a=Qu(n,e);let u=t.domain(),o=u[0],s=k(u),l=d;return s-o?l=rm(t,o,s):t=(t.interpolator?Zg("sequential")().interpolator(t.interpolator()):Zg("linear")().interpolate(t.interpolate()).range(t.range())).domain([o=0,s=1]),t.ticks&&(o!==(u=t.ticks(+r||15))[0]&&u.unshift(o),s!==k(u)&&u.push(s)),u.forEach(n=>a.stop(l(n),t(n))),a},dD),_D("geoArea",QC,dD),_D("geoBounds",KC,dD),_D("geoCentroid",tD,dD),_D("geoShape",function(t,n,e){const r=ZC(t,(e||this).context);return function(t){return r?r.path.context(t)(n):""}},dD),_D("indata",function(t,n,e){const r=this.context.data[t]["index:"+n],i=r?r.value.get(e):void 0;return i?i.count:i},function(t,n,e,r){n[0].type!==Gk&&i("First argument to indata must be a string literal."),n[1].type!==Gk&&i("Second argument to indata must be a string literal.");const a=n[0].value,u=n[1].value,o=lD+u;r.hasOwnProperty(o)||(r[o]=e.getData(a).indataRef(e,u))}),_D("data",WC,hD),_D("treePath",function(t,n,e){const r=uD(t,this),i=r[n],a=r[e];return i&&a?i.path(a).map(aD):void 0},hD),_D("treeAncestors",function(t,n){const e=uD(t,this)[n];return e?e.ancestors().map(aD):void 0},hD),_D("vlSelectionTest",function(t,n,e){for(var r,i,a,u,o,s=this.context.data[t],l=s?s.values.value:[],c=s?s[LC]&&s[LC].value:void 0,f=e===BC,h=l.length,d=0;d<h;++d)if(r=l[d],c&&f){if(-1===(a=(i=i||{})[u=r.unit]||0))continue;if(o=qC(n,r),i[u]=o?-1:++a,o&&1===c.size)return!0;if(!o&&a===c.get(u).count)return!1}else if(f^(o=qC(n,r)))return o;return h&&f},IC),_D("vlSelectionResolve",function(t,n){for(var e,r,i,a,u,o,s,l,c,f,h,d=this.context.data[t],p=d?d.values.value:[],g={},m={},v=p.length,y=0;y<v;++y)for(a=(e=p[y]).unit,r=e.fields,i=e.values,f=0,h=r.length;f<h;++f)u=r[f],s=(o=g[u.field]||(g[u.field]={}))[a]||(o[a]=[]),m[u.field]=l=u.type.charAt(0),c=UC[l+"_union"],o[a]=c(s,W(i[f]));return n=n||OC,Object.keys(g).forEach(function(t){g[t]=Object.keys(g[t]).map(function(n){return g[t][n]}).reduce(function(e,r){return void 0===e?r:UC[m[t]+"_"+n](e,r)})}),g},IC);const bD={blacklist:["_"],whitelist:["datum","event","item"],fieldvar:"datum",globalvar:function(t){return"_["+l(fD+t)+"]"},functions:function(t){const n=SC(t);mD.forEach(t=>n[t]=vD+t);for(let t in gD)n[t]=yD+t;return n},constants:FC,visitors:xD};var wD=function(t){var n=(t=t||{}).whitelist?yt(t.whitelist):{},e=t.blacklist?yt(t.blacklist):{},r=t.constants||FC,a=(t.functions||SC)(d),u=t.globalvar,o=t.fieldvar,l={},c={},f=0,h=Y(u)?u:function(t){return u+'["'+t+'"]'};function d(t){if(s(t))return t;var n=p[t.type];return null==n&&i("Unsupported type: "+t.type),n(t)}var p={Literal:function(t){return t.raw},Identifier:function(t){var a=t.name;return f>0?a:e.hasOwnProperty(a)?i("Illegal identifier: "+a):r.hasOwnProperty(a)?r[a]:n.hasOwnProperty(a)?a:(l[a]=1,h(a))},MemberExpression:function(t){var n=!t.computed,e=d(t.object);n&&(f+=1);var r=d(t.property);return e===o&&(c[function(t){var n=t&&t.length-1;return n&&('"'===t[0]&&'"'===t[n]||"'"===t[0]&&"'"===t[n])?t.slice(1,-1):t}(r)]=1),n&&(f-=1),e+(n?"."+r:"["+r+"]")},CallExpression:function(t){"Identifier"!==t.callee.type&&i("Illegal callee type: "+t.callee.type);var n=t.callee.name,e=t.arguments,r=a.hasOwnProperty(n)&&a[n];return r||i("Unrecognized function: "+n),Y(r)?r(e):r+"("+e.map(d).join(",")+")"},ArrayExpression:function(t){return"["+t.elements.map(d).join(",")+"]"},BinaryExpression:function(t){return"("+d(t.left)+t.operator+d(t.right)+")"},UnaryExpression:function(t){return"("+t.operator+d(t.argument)+")"},ConditionalExpression:function(t){return"("+d(t.test)+"?"+d(t.consequent)+":"+d(t.alternate)+")"},LogicalExpression:function(t){return"("+d(t.left)+t.operator+d(t.right)+")"},ObjectExpression:function(t){return"{"+t.properties.map(d).join(",")+"}"},Property:function(t){f+=1;var n=d(t.key);return f-=1,n+":"+d(t.value)}};function g(t){var n={code:d(t),globals:Object.keys(l),fields:Object.keys(c)};return l={},c={},n}return g.functions=a,g.constants=r,g}(bD);function AD(t,n,e){";"!==n[n.length-1]&&(n="return("+n+");");var r=Function.apply(null,t.concat(n));return e&&e.functions?r.bind(e.functions):r}function MD(t,n){return AD(["event"],t,n)}function kD(t,n){return AD(["item","_"],t,n)}function ED(t,n,e){var r,i;for(r in e=e||{},t)i=t[r],e[r]=u(i)?i.map(function(t){return CD(t,n,e)}):CD(i,n,e);return e}function CD(t,n,e){if(!t||!o(t))return t;for(var r,i=0,a=DD.length;i<a;++i)if(r=DD[i],t.hasOwnProperty(r.key))return r.parse(t,n,e);return t}var DD=[{key:"$ref",parse:function(t,n){return n.get(t.$ref)||i("Operator not defined: "+t.$ref)}},{key:"$key",parse:function(t,n){var e="k:"+t.$key+"_"+!!t.$flat;return n.fn[e]||(n.fn[e]=st(t.$key,t.$flat))}},{key:"$expr",parse:function(t,e,r){t.$params&&ED(t.$params,e,r);var i="e:"+t.$expr+"_"+t.$name;return e.fn[i]||(e.fn[i]=n(function(t,n){return AD(["datum","_"],t,n)}(t.$expr,e),t.$fields,t.$name))}},{key:"$field",parse:function(t,n){if(!t.$field)return null;var e="f:"+t.$field+"_"+t.$name;return n.fn[e]||(n.fn[e]=c(t.$field,t.$name))}},{key:"$encode",parse:function(t,e){var r,i,a=t.$encode,u={};for(r in a)i=a[r],u[r]=n(kD(i.$expr,e),i.$fields),u[r].output=i.$output;return u}},{key:"$compare",parse:function(t,n){var e="c:"+t.$compare+"_"+t.$order,r=W(t.$compare).map(function(t){return t&&t.$tupleid?Et:t});return n.fn[e]||(n.fn[e]=G(r,t.$order))}},{key:"$context",parse:function(t,n){return n}},{key:"$subflow",parse:function(t,n){var e=t.$subflow;return function(t,r,i){var a=OD(e,n.fork()),u=a.get(e.operators[0].id),o=a.signals.parent;return o&&o.set(i),u}}},{key:"$tupleid",parse:function(){return Et}}];function FD(t){return(t+"").toLowerCase()}function SD(t,n){"operator"!==FD(t.type)&&t.type?n.transform(t,t.type):n.operator(t,t.update?function(t,n){return AD(["_"],t,n)}(t.update,n):null)}function BD(t,n){var e=o(e=t.source)?e.$ref:e,r=n.get(e),a=null,u=t.update,s=void 0;r||i("Source not defined: "+t.source),a=t.target&&t.target.$expr?MD(t.target.$expr,n):n.get(t.target),u&&u.$expr&&(u.$params&&(s=ED(u.$params,n)),u=function(t,n){return AD(["_","event"],t,n)}(u.$expr,n)),n.update(t,r,a,u,s)}function OD(t,n){var e=t.operators||[];return t.background&&(n.background=t.background),t.eventConfig&&(n.eventConfig=t.eventConfig),e.forEach(function(t){SD(t,n)}),e.forEach(function(t){!function(t,n){if(t.params){var e=n.get(t.id);e||i("Invalid operator id: "+t.id),n.dataflow.connect(e,e.parameters(ED(t.params,n),t.react,t.initonly))}}(t,n)}),(t.streams||[]).forEach(function(t){!function(t,n){var e,r=null!=t.filter?MD(t.filter,n):void 0,a=null!=t.stream?n.get(t.stream):void 0;t.source?a=n.events(t.source,t.type,r):t.merge&&(a=(e=t.merge.map(n.get.bind(n)))[0].merge.apply(e[0],e.slice(1))),t.between&&(e=t.between.map(n.get.bind(n)),a=a.between(e[0],e[1])),t.filter&&(a=a.filter(r)),null!=t.throttle&&(a=a.throttle(+t.throttle)),null!=t.debounce&&(a=a.debounce(+t.debounce)),null==a&&i("Invalid stream definition: "+JSON.stringify(t)),t.consume&&a.consume(!0),n.stream(t,a)}(t,n)}),(t.updates||[]).forEach(function(t){BD(t,n)}),n.resolve()}var zD={skip:!0};function ND(t,n,e){return new TD(t,n,e)}function TD(t,n,e){this.dataflow=t,this.transforms=n,this.events=t.events.bind(t),this.signals={},this.scales={},this.nodes={},this.data={},this.fn={},e&&(this.functions=Object.create(e),this.functions.context=this)}function RD(t){this.dataflow=t.dataflow,this.transforms=t.transforms,this.functions=t.functions,this.events=t.events,this.signals=Object.create(t.signals),this.scales=Object.create(t.scales),this.nodes=Object.create(t.nodes),this.data=Object.create(t.data),this.fn=Object.create(t.fn),t.functions&&(this.functions=Object.create(t.functions),this.functions.context=this)}TD.prototype=RD.prototype={fork:function(){var t=new RD(this);return(this.subcontext||(this.subcontext=[])).push(t),t},get:function(t){return this.nodes[t]},set:function(t,n){return this.nodes[t]=n},add:function(t,n){var e,r=this,i=r.dataflow;if(r.set(t.id,n),"collect"===FD(t.type)&&(e=t.value)&&(e.$ingest?i.ingest(n,e.$ingest,e.$format):e.$request?i.preload(n,e.$request,e.$format):i.pulse(n,i.changeset().insert(e))),t.root&&(r.root=n),t.parent){var a=r.get(t.parent.$ref);a?(i.connect(a,[n]),n.targets().add(a)):(r.unresolved=r.unresolved||[]).push(function(){a=r.get(t.parent.$ref),i.connect(a,[n]),n.targets().add(a)})}if(t.signal&&(r.signals[t.signal]=n),t.scale&&(r.scales[t.scale]=n),t.data)for(var u in t.data)e=r.data[u]||(r.data[u]={}),t.data[u].forEach(function(t){e[t]=n})},resolve:function(){return(this.unresolved||[]).forEach(function(t){t()}),delete this.unresolved,this},operator:function(t,n){this.add(t,this.dataflow.add(t.value,n))},transform:function(t,n){this.add(t,this.dataflow.add(this.transforms[FD(n)]))},stream:function(t,n){this.set(t.id,n)},update:function(t,n,e,r,i){this.dataflow.on(n,e,r,i,t.options)},getState:function(t){var n=this,e={};if(t.signals){var r=e.signals={};Object.keys(n.signals).forEach(function(e){var i=n.signals[e];t.signals(e,i)&&(r[e]=i.value)})}if(t.data){var i=e.data={};Object.keys(n.data).forEach(function(e){var r=n.data[e];t.data(e,r)&&(i[e]=r.input.value)})}return n.subcontext&&!1!==t.recurse&&(e.subcontext=n.subcontext.map(function(n){return n.getState(t)})),e},setState:function(t){var n=this,e=n.dataflow,r=t.data,i=t.signals;Object.keys(i||{}).forEach(function(t){e.update(n.signals[t],i[t],zD)}),Object.keys(r||{}).forEach(function(t){e.pulse(n.data[t].input,e.changeset().remove(m).insert(r[t]))}),(t.subcontext||[]).forEach(function(t,e){var r=n.subcontext[e];r&&r.setState(t)})}};var PD="width",LD="height",qD="padding",UD={skip:!0};function jD(t,n){var e=t.autosize(),r=t.padding();return n-(e&&e.contains===qD?r.left+r.right:0)}function $D(t,n){var e=t.autosize(),r=t.padding();return n-(e&&e.contains===qD?r.top+r.bottom:0)}function ID(t,n){return n.modified&&u(n.input.value)&&t.indexOf("_:vega:_")}function WD(t,n){return!("parent"===t||n instanceof Wr.proxy)}function HD(t,n,e,r){var i=t.element();i&&i.setAttribute("title",function(t){return null==t?"":u(t)?YD(t):o(t)&&!at(t)?(n=t,Object.keys(n).map(function(t){var e=n[t];return t+": "+(u(e)?YD(e):GD(e))}).join("\n")):t+"";var n}(r))}function YD(t){return"["+t.map(GD).join(", ")+"]"}function GD(t){return u(t)?"[…]":o(t)&&!at(t)?"{…}":t}function VD(t,n){n=n||{},qr.call(this),n.loader&&this.loader(n.loader),n.logger&&this.logger(n.logger),null!=n.logLevel&&this.logLevel(n.logLevel),this._el=null,this._elBind=null,this._renderType=n.renderer||wf.Canvas,this._scenegraph=new Ac;var e=this._scenegraph.root;this._renderer=null,this._tooltip=n.tooltip||HD,this._redraw=!0,this._handler=(new Lc).scene(e),this._preventDefault=!1,this._timers=[],this._eventListeners=[],this._resizeListeners=[];var r,i,a=function(t,n,e){return OD(n,ND(t,Wr,e||gD))}(this,t,n.functions);this._runtime=a,this._signals=a.signals,this._bind=(t.bindings||[]).map(function(t){return{state:null,param:Z({},t)}}),a.root&&a.root.set(e),e.source=a.data.root.input,this.pulse(a.data.root.input,this.changeset().insert(e.items)),this._background=n.background||a.background||null,this._eventConfig=(r=a.eventConfig,(i=(r=Z({},r)).defaults)&&(u(i.prevent)&&(i.prevent=yt(i.prevent)),u(i.allow)&&(i.allow=yt(i.allow))),r),this._width=this.width(),this._height=this.height(),this._viewWidth=jD(this,this._width),this._viewHeight=$D(this,this._height),this._origin=[0,0],this._resize=0,this._autosize=1,function(t){var n=t._signals,e=n[PD],r=n[LD],i=n[qD];function a(){t._autosize=t._resize=1}t._resizeWidth=t.add(null,function(n){t._width=n.size,t._viewWidth=jD(t,n.size),a()},{size:e}),t._resizeHeight=t.add(null,function(n){t._height=n.size,t._viewHeight=$D(t,n.size),a()},{size:r});var u=t.add(null,a,{pad:i});t._resizeWidth.rank=e.rank+1,t._resizeHeight.rank=r.rank+1,u.rank=i.rank+1}(this),fk(this),n.hover&&this.hover(),n.container&&this.initialize(n.container,n.bind)}var XD=et(VD,qr);function ZD(t,n){return t._signals.hasOwnProperty(n)?t._signals[n]:i("Unrecognized signal name: "+l(n))}function JD(t,n){var e=(t._targets||[]).filter(function(t){var e=t._update;return e&&e.handler===n});return e.length?e[0]:null}function QD(t,n,e,r){var i=JD(e,r);return i||((i=Lk(this,function(){r(n,e.value)})).handler=r,t.on(e,null,i)),t}function KD(t,n,e){var r=JD(n,e);return r&&n._targets.remove(r),t}function tF(t){return+t||0}XD.evaluate=async function(t,n,e){if(await qr.prototype.evaluate.call(this,t,n),this._redraw||this._resize)try{this._renderer&&(this._resize&&(this._resize=0,i=mk(r=this),a=pk(r),u=gk(r),r._renderer.background(r._background),r._renderer.resize(a,u,i),r._handler.origin(i),r._resizeListeners.forEach(function(t){try{t(a,u)}catch(t){r.error(t)}})),await this._renderer.renderAsync(this._scenegraph.root)),this._redraw=!1}catch(t){this.error(t)}var r,i,a,u;return e&&wt(this,e),this},XD.dirty=function(t){this._redraw=!0,this._renderer&&this._renderer.dirty(t)},XD.container=function(){return this._el},XD.scenegraph=function(){return this._scenegraph},XD.origin=function(){return this._origin.slice()},XD.signal=function(t,n,e){var r=ZD(this,t);return 1===arguments.length?r.value:this.update(r,n,e)},XD.background=function(t){return arguments.length?(this._background=t,this._resize=1,this):this._background},XD.width=function(t){return arguments.length?this.signal("width",t):this.signal("width")},XD.height=function(t){return arguments.length?this.signal("height",t):this.signal("height")},XD.padding=function(t){return arguments.length?this.signal("padding",t):this.signal("padding")},XD.autosize=function(t){return arguments.length?this.signal("autosize",t):this.signal("autosize")},XD.renderer=function(t){return arguments.length?(Mf(t)||i("Unrecognized renderer type: "+t),t!==this._renderType&&(this._renderType=t,this._resetRenderer()),this):this._renderType},XD.tooltip=function(t){return arguments.length?(t!==this._tooltip&&(this._tooltip=t,this._resetRenderer()),this):this._tooltip},XD.loader=function(t){return arguments.length?(t!==this._loader&&(qr.prototype.loader.call(this,t),this._resetRenderer()),this):this._loader},XD.resize=function(){return this._autosize=1,this.touch(ZD(this,"autosize"))},XD._resetRenderer=function(){this._renderer&&(this._renderer=null,this.initialize(this._el,this._elBind))},XD._resizeView=function(t,n,e,r,i,a){this.runAfter(function(u){var o=0;u._autosize=0,u.width()!==e&&(o=1,u.signal(PD,e,UD),u._resizeWidth.skip(!0)),u.height()!==r&&(o=1,u.signal(LD,r,UD),u._resizeHeight.skip(!0)),u._viewWidth!==t&&(u._resize=1,u._viewWidth=t),u._viewHeight!==n&&(u._resize=1,u._viewHeight=n),u._origin[0]===i[0]&&u._origin[1]===i[1]||(u._resize=1,u._origin=i),o&&u.run("enter"),a&&u.runAfter(t=>t.resize())},!1,1)},XD.addEventListener=function(t,n,e){var r=n;return e&&!1===e.trap||((r=Lk(this,n)).raw=n),this._handler.on(t,r),this},XD.removeEventListener=function(t,n){for(var e,r,i=this._handler.handlers(t),a=i.length;--a>=0;)if(r=i[a].type,e=i[a].handler,t===r&&(n===e||n===e.raw)){this._handler.off(r,e);break}return this},XD.addResizeListener=function(t){var n=this._resizeListeners;return n.indexOf(t)<0&&n.push(t),this},XD.removeResizeListener=function(t){var n=this._resizeListeners,e=n.indexOf(t);return e>=0&&n.splice(e,1),this},XD.addSignalListener=function(t,n){return QD(this,t,ZD(this,t),n)},XD.removeSignalListener=function(t,n){return KD(this,ZD(this,t),n)},XD.addDataListener=function(t,n){return QD(this,t,hk(this,t).values,n)},XD.removeDataListener=function(t,n){return KD(this,hk(this,t).values,n)},XD.preventDefault=function(t){return arguments.length?(this._preventDefault=t,this):this._preventDefault},XD.timer=function(t,n){this._timers.push(function(t,n,e){var r=new hw,i=n;return null==n?(r.restart(t,n,e),r):(n=+n,e=null==e?cw():+e,r.restart(function a(u){u+=i,r.restart(a,i+=n,e),t(u)},n,e),r)}(function(n){t({timestamp:Date.now(),elapsed:n})},n))},XD.events=function(t,n,e){var r,i=this,a=new It(e),u=function(e,r){i.runAsync(null,()=>{t===yk&&function(t,n){var e=t._eventConfig.defaults,r=e&&e.prevent,i=e&&e.allow;return!1!==r&&!0!==i&&(!0===r||!1===i||(r?r[n]:i?!i[n]:t.preventDefault()))}(i,n)&&e.preventDefault(),a.receive(vk(i,e,r))})};if(t===xk)i.timer(u,n);else if(t===yk)i.addEventListener(n,u,bk);else if(t===_k?"undefined"!=typeof window&&(r=[window]):"undefined"!=typeof document&&(r=document.querySelectorAll(t)),r){for(var o=0,s=r.length;o<s;++o)r[o].addEventListener(n,u);i._eventListeners.push({type:n,sources:r,handler:u})}else i.warn("Can not resolve event source: "+t);return a},XD.finalize=function(){var t,n,e,r=this._tooltip,i=this._timers,a=this._eventListeners;for(t=i.length;--t>=0;)i[t].stop();for(t=a.length;--t>=0;)for(n=(e=a[t]).sources.length;--n>=0;)e.sources[n].removeEventListener(e.type,e.handler);return r&&r.call(this,this._handler,null,null,null),this},XD.hover=function(t,n){return n=[n||"update",(t=[t||"hover"])[0]],this.on(this.events("view","mouseover",wk),Ak,Mk(t)),this.on(this.events("view","mouseout",wk),Ak,Mk(n)),this},XD.data=function(t){return hk(this,t).values.value},XD.change=dk,XD.insert=function(t,n){return dk.call(this,t,zt().insert(n))},XD.remove=function(t,n){return dk.call(this,t,zt().remove(n))},XD.scale=function(t){var n=this._runtime.scales;return n.hasOwnProperty(t)||i("Unrecognized scale or projection: "+t),n[t].value},XD.initialize=function(t,n){var e,r,i=this,a=i._renderType,u=Mf(a);return t=i._el=t?qk(i,t):null,u||i.error("Unrecognized renderer type: "+a),e=u.handler||Lc,r=t?u.renderer:u.headless,i._renderer=r?Pk(i,i._renderer,t,r):null,i._handler=function(t,n,e,r){var i=new r(t.loader(),Lk(t,t.tooltip())).scene(t.scenegraph().root).initialize(e,mk(t),t);return n&&n.handlers().forEach(function(t){i.on(t.type,t.handler)}),i}(i,i._handler,t,e),i._redraw=!0,t&&(n=n?i._elBind=qk(i,n):t.appendChild(kk("div",{class:"vega-bindings"})),i._bind.forEach(function(t){t.param.element&&(t.element=qk(i,t.param.element))}),i._bind.forEach(function(t){Sk(i,t.element||n,t)})),i},XD.toImageURL=async function(t,n){t!==wf.Canvas&&t!==wf.SVG&&t!==wf.PNG&&i("Unrecognized image type: "+t);const e=await Uk(this,t,n);return t===wf.SVG?(r=e.svg(),a=new Blob([r],{type:"image/svg+xml"}),window.URL.createObjectURL(a)):e.canvas().toDataURL("image/png");var r,a},XD.toCanvas=async function(t,n){return(await Uk(this,wf.Canvas,t,n)).canvas()},XD.toSVG=async function(t){return(await Uk(this,wf.SVG,t)).svg()},XD.getState=function(t){return this._runtime.getState(t||{data:ID,signals:WD,recurse:!0})},XD.setState=function(t){return this.runAsync(null,n=>{n._trigger=!1,n._runtime.setState(t)},t=>{t._trigger=!0}),this};var nF="outer",eF=["value","update","init","react","bind"];function rF(t,n){i(t+' for "outer" push: '+l(n))}function iF(t,n){var e=t.name;if(t.push===nF)n.signals[e]||rF("No prior signal definition",e),eF.forEach(function(n){void 0!==t[n]&&rF("Invalid property ",n)});else{var r=n.addSignal(e,t.value);!1===t.react&&(r.react=!1),t.bind&&n.addBinding(e,t.bind)}}function aF(t,n,e){var r,a,u={};try{r=function(t){Ik=0,Wk=($k=t).length,Hk=null,rC();var n=DC();if(Hk.type!==uE)throw new Error("Unexpect token after expression.");return n}(t=s(t)?t:l(t)+"")}catch(n){i("Expression parse error: "+t)}return r.visit(function(t){if(t.type===Qk){var e=t.callee.name,r=bD.visitors[e];r&&r(e,t.arguments,n,u)}}),(a=wD(r)).globals.forEach(function(t){var e=fD+t;!u.hasOwnProperty(e)&&n.getSignal(t)&&(u[e]=n.signalRef(t))}),{$expr:e?e+"return("+a.code+");":a.code,$fields:a.fields,$params:u}}function uF(t,n,e,r){this.id=-1,this.type=t,this.value=n,this.params=e,r&&(this.parent=r)}function oF(t,n,e,r){return new uF(t,n,e,r)}function sF(t,n){return oF("operator",t,n)}function lF(t){var n={$ref:t.id};return t.id<0&&(t.refs=t.refs||[]).push(n),n}var cF={$tupleid:1,toString:function(){return":_tupleid_:"}};function fF(t,n){return n?{$field:t,$name:n}:{$field:t}}var hF=fF("key");function dF(t,n){return{$compare:t,$order:n}}var pF="descending";function gF(t,n){return(t&&t.signal?"$"+t.signal:t||"")+(t&&n?"_":"")+(n&&n.signal?"$"+n.signal:n||"")}var mF="scope",vF="view";function yF(t){return t&&t.signal}function xF(t){if(yF(t))return!0;if(o(t))for(var n in t)if(xF(t[n]))return!0;return!1}function _F(t,n){return null!=t?t:n}function bF(t){return t&&t.signal||t}var wF="timer";function AF(t,n){return(t.merge?MF:t.stream?kF:t.type?EF:i("Invalid stream specification: "+l(t)))(t,n)}function MF(t,n){var e=CF({merge:t.merge.map(t=>AF(t,n))},t,n);return n.addStream(e).id}function kF(t,n){var e=CF({stream:AF(t.stream,n)},t,n);return n.addStream(e).id}function EF(t,n){var e,r,i;return t.type===wF?(e=n.event(wF,t.throttle),t={between:t.between,filter:t.filter}):e=n.event((i=t.source)===mF?vF:i||vF,t.type),r=CF({stream:e},t,n),1===Object.keys(r).length?e:n.addStream(r).id}function CF(t,n,e){var r,a,u,o,s=n.between;return s&&(2!==s.length&&i('Stream "between" parameter must have 2 entries: '+l(n)),t.between=[AF(s[0],e),AF(s[1],e)]),s=n.filter?[].concat(n.filter):[],(n.marktype||n.markname||n.markrole)&&s.push((r=n.marktype,a=n.markname,u=n.markrole,(o="event.item")+(r&&"*"!==r?"&&"+o+".mark.marktype==='"+r+"'":"")+(u?"&&"+o+".mark.role==='"+u+"'":"")+(a?"&&"+o+".mark.name==='"+a+"'":""))),n.source===mF&&s.push("inScope(event.item)"),s.length&&(t.filter=aF("("+s.join(")&&(")+")").$expr),null!=(s=n.throttle)&&(t.throttle=+s),null!=(s=n.debounce)&&(t.debounce=+s),n.consume&&(t.consume=!0),t}var DF,FF,SF="view",BF="[",OF="]",zF="{",NF="}",TF=":",RF=",",PF="@",LF=">",qF=/[[\]{}]/,UF={"*":1,arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1};function jF(t,n,e,r,i){for(var a,u=0,o=t.length;n<o;++n){if(a=t[n],!u&&a===e)return n;i&&i.indexOf(a)>=0?--u:r&&r.indexOf(a)>=0&&++u}return n}function $F(t){for(var n=[],e=0,r=t.length,i=0;i<r;)i=jF(t,i,RF,BF+zF,OF+NF),n.push(t.substring(e,i).trim()),e=++i;if(0===n.length)throw"Empty event selector: "+t;return n}function IF(t){return"["===t[0]?function(t){var n,e,r=t.length,i=1;if((i=jF(t,i,OF,BF,OF))===r)throw"Empty between selector: "+t;if(2!==(n=$F(t.substring(1,i))).length)throw"Between selector must have two elements: "+t;if((t=t.slice(i+1).trim())[0]!==LF)throw"Expected '>' after between selector: "+t;if(n=n.map(IF),(e=IF(t.slice(1).trim())).between)return{between:n,stream:e};e.between=n;return e}(t):function(t){var n,e,r={source:DF},i=[],a=[0,0],u=0,o=0,s=t.length,l=0;if(t[s-1]===NF){if(!((l=t.lastIndexOf(zF))>=0))throw"Unmatched right brace: "+t;try{a=function(t){var n=t.split(RF);if(!t.length||n.length>2)throw t;return n.map(function(n){var e=+n;if(e!=e)throw t;return e})}(t.substring(l+1,s-1))}catch(n){throw"Invalid throttle specification: "+t}t=t.slice(0,l).trim(),s=t.length,l=0}if(!s)throw t;t[0]===PF&&(u=++l);(n=jF(t,l,TF))<s&&(i.push(t.substring(o,n).trim()),o=l=++n);if((l=jF(t,l,BF))===s)i.push(t.substring(o,s).trim());else if(i.push(t.substring(o,l).trim()),e=[],(o=++l)===s)throw"Unmatched left bracket: "+t;for(;l<s;){if((l=jF(t,l,OF))===s)throw"Unmatched left bracket: "+t;if(e.push(t.substring(o,l).trim()),l<s-1&&t[++l]!==BF)throw"Expected left bracket: "+t;o=++l}if(!(s=i.length)||qF.test(i[s-1]))throw"Invalid event selector: "+t;s>1?(r.type=i[1],u?r.markname=i[0].slice(1):(c=i[0],FF.hasOwnProperty(c)?r.marktype=i[0]:r.source=i[0])):r.type=i[0];var c;"!"===r.type.slice(-1)&&(r.consume=!0,r.type=r.type.slice(0,-1));null!=e&&(r.filter=e);a[0]&&(r.throttle=a[0]);a[1]&&(r.debounce=a[1]);return r}(t)}var WF="var datum=event.item&&event.item.datum;";function HF(t,n,e){var r=t.events,a=t.update,u=t.encode,o=[],c={target:e};r||i("Signal update missing events specification."),s(r)&&(r=function(t,n,e){return DF=n||SF,FF=e||UF,$F(t.trim()).map(IF)}(r,n.isSubscope()?mF:vF)),r=W(r).filter(t=>t.signal||t.scale?(o.push(t),0):1),o.length>1&&(o=[YF(o)]),r.length&&o.push(r.length>1?{merge:r}:r[0]),null!=u&&(a&&i("Signal encode and update are mutually exclusive."),a="encode(item(),"+l(u)+")"),c.update=s(a)?aF(a,n,WF):null!=a.expr?aF(a.expr,n,WF):null!=a.value?a.value:null!=a.signal?{$expr:"_.value",$params:{value:n.signalRef(a.signal)}}:i("Invalid signal update specification."),t.force&&(c.options={force:!0}),o.forEach(function(t){n.addUpdate(Z(function(t,n){return{source:t.signal?n.signalRef(t.signal):t.scale?n.scaleRef(t.scale):AF(t,n)}}(t,n),c))})}function YF(t){return{signal:"["+t.map(t=>t.scale?'scale("'+t.scale+'")':t.signal)+"]"}}function GF(t){return function(n,e,r){return oF(t,e,n||void 0,r)}}var VF=GF("aggregate"),XF=GF("axisticks"),ZF=GF("bound"),JF=GF("collect"),QF=GF("compare"),KF=GF("datajoin"),tS=GF("encode"),nS=GF("expression"),eS=GF("facet"),rS=GF("field"),iS=GF("key"),aS=GF("legendentries"),uS=GF("load"),oS=GF("mark"),sS=GF("multiextent"),lS=GF("multivalues"),cS=GF("overlap"),fS=GF("params"),hS=GF("prefacet"),dS=GF("projection"),pS=GF("proxy"),gS=GF("relay"),mS=GF("render"),vS=GF("scale"),yS=GF("sieve"),xS=GF("sortitems"),_S=GF("viewlayout"),bS=GF("values"),wS=0;function AS(t,n){var e=t.type||"linear";(function(t){switch(t){case xh:case _h:case bh:case wh:case Ah:case Mh:case kh:case Eh:case Ch:case Fh:case Sh:case Bh:case Oh:case zh:case Nh:case Th:return!0}return!1})(e)||i("Unrecognized scale type: "+l(e)),n.addScale(t.name,{type:e,domain:void 0})}function MS(t,n){var e,r,a=n.getScale(t.name).params;for(e in a.domain=DS(t.domain,t,n),null!=t.range&&(a.range=function t(n,e,r){var a=n.range,o=e.config.range;if(a.signal)return e.signalRef(a.signal);if(s(a)){if(o&&o.hasOwnProperty(a))return n=Z({},n,{range:o[a]}),t(n,e,r);"width"===a?a=[0,{signal:"width"}]:"height"===a?a=Uh(n.type)?[0,{signal:"height"}]:[{signal:"height"},0]:i("Unrecognized scale range value: "+l(a))}else{if(a.scheme)return r.scheme=u(a.scheme)?ES(a.scheme,e):kS(a.scheme,e),a.extent&&(r.schemeExtent=ES(a.extent,e)),void(a.count&&(r.schemeCount=kS(a.count,e)));if(a.step)return void(r.rangeStep=kS(a.step,e));if(Uh(n.type)&&!u(a))return DS(a,n,e);u(a)||i("Unsupported range type: "+l(a))}return a.map(t=>(u(t)?ES:kS)(t,e))}(t,n,a)),null!=t.interpolate&&function(t,n){n.interpolate=kS(t.type||t),null!=t.gamma&&(n.interpolateGamma=kS(t.gamma))}(t.interpolate,a),null!=t.nice&&(a.nice=o(r=t.nice)?{interval:kS(r.interval),step:kS(r.step)}:kS(r)),null!=t.bins&&(a.bins=function(t,n){return t.signal||u(t)?ES(t,n):n.objectProperty(t)}(t.bins,n)),t)a.hasOwnProperty(e)||"name"===e||(a[e]=kS(t[e],n))}function kS(t,n){return o(t)?t.signal?n.signalRef(t.signal):i("Unsupported object: "+l(t)):t}function ES(t,n){return t.signal?n.signalRef(t.signal):t.map(t=>kS(t,n))}function CS(t){i("Can not find data set: "+l(t))}function DS(t,n,e){if(t)return t.signal?e.signalRef(t.signal):(u(t)?function(t,n,e){return t.map(function(t){return kS(t,e)})}:t.fields?function(t,n,e){var r=t.data,i=t.fields.reduce(function(t,n){return n=s(n)?{data:r,field:n}:u(n)||n.signal?function(t,n){var e="_:vega:_"+wS++,r=JF({});if(u(t))r.value={$ingest:t};else if(t.signal){var i="setdata("+l(e)+","+t.signal+")";r.params.input=n.signalRef(i)}return n.addDataPipeline(e,[r,yS({})]),{data:e,field:"data"}}(n,e):n,t.push(n),t},[]);return(Uh(n.type)?function(t,n,e){var r,i,a,u;return r=e.map(function(t){var e=n.getData(t.data);return e||CS(t.data),e.countsRef(n,t.field)}),i=n.add(VF({groupby:hF,ops:["sum"],fields:[n.fieldRef("count")],as:["count"],pulse:r})),a=n.add(JF({pulse:lF(i)})),u=n.add(bS({field:hF,sort:n.sortRef(FS(t.sort,!0)),pulse:lF(a)})),lF(u)}:Rh(n.type)?function(t,n,e){var r=e.map(function(t){var e=n.getData(t.data);return e||CS(t.data),e.domainRef(n,t.field)});return lF(n.add(lS({values:r})))}:function(t,n,e){var r=e.map(function(t){var e=n.getData(t.data);return e||CS(t.data),e.extentRef(n,t.field)});return lF(n.add(sS({extents:r})))})(t,e,i)}:function(t,n,e){var r=e.getData(t.data);r||CS(t.data);return Uh(n.type)?r.valuesRef(e,t.field,FS(t.sort,!1)):Rh(n.type)?r.domainRef(e,t.field):r.extentRef(e,t.field)})(t,n,e);null==n.domainMin&&null==n.domainMax||i("No scale domain defined for domainMin/domainMax to override.")}function FS(t,n){return t&&(t.field||t.op?t.field||"count"===t.op?n&&t.field?i("Multiple domain scales can not sort by field."):n&&t.op&&"count"!==t.op&&i("Multiple domain scales support op count only."):i("No field provided for sort aggregate op: "+t.op):o(t)?t.field="key":t={field:"key"}),t}function SS(t,n,e){return u(t)?t.map(function(t){return SS(t,n,e)}):o(t)?t.signal?e.signalRef(t.signal):"fit"===n?t:i("Unsupported parameter object: "+l(t)):t}const BS="top",OS="left",zS="right",NS="bottom",TS="vertical",RS="start",PS="end",LS="index",qS="label",US="offset",jS="perc",$S="perc2",IS="size",WS="value",HS="guide-label",YS="guide-title",GS="group-title",VS="symbol",XS="gradient",ZS="discrete",JS=["size","shape","fill","stroke","strokeWidth","strokeDash","opacity"],QS={name:1,interactive:1},KS={value:0},tB={value:1};var nB=yt(["rule"]),eB=yt(["group","image","rect"]);function rB(t,n,e,r){var i=aF(t,n);return i.$fields.forEach(function(t){r[t]=1}),Z(e,i.$params),i.$expr}function iB(t,n,e,r){return function t(n,e,r,u){var o,c,f;if(n.signal)o="datum",f=rB(n.signal,e,r,u);else if(n.group||n.parent){for(c=Math.max(1,n.level||1),o="item";c-- >0;)o+=".mark.group";n.parent?(f=n.parent,o+=".datum"):f=n.group}else n.datum?(o="datum",f=n.datum):i("Invalid field reference: "+l(n));n.signal||(s(f)?(u[f]=1,f=a(f).map(l).join("][")):f=t(f,e,r,u));return o+"["+f+"]"}(o(t)?t:{datum:t},n,e,r)}function aB(t,n,e,r,i){var a,u,o,l=uB(t.scale,e,r,i);return null!=t.range?(u=l+".range()",n=0===(a=+t.range)?u+"[0]":"($="+u+","+(1===a?"$[$.length-1]":"$[0]+"+a+"*($[$.length-1]-$[0])")+")"):(void 0!==n&&(n=l+"("+n+")"),t.band&&(o=function(t,n){if(!s(t))return-1;var e=n.scaleType(t);return"band"===e||"point"===e?1:0}(t.scale,e))&&(a=(u=l+".bandwidth")+"()"+(1===(a=+t.band)?"":"*"+a),o<0&&(a="("+u+"?"+a+":0)"),n=(n?n+"+":"")+a,t.extra&&(n="(datum.extra?"+l+"(datum.extra.value):"+n+")")),null==n&&(n="0")),n}function uB(t,n,e,r){var i;if(s(t))i=cD+t,e.hasOwnProperty(i)||(e[i]=n.scaleRef(t)),i=l(i);else{for(i in n.scales)e[cD+i]=n.scaleRef(i);i=l(cD)+"+"+(t.signal?"("+rB(t.signal,n,e,r)+")":iB(t,n,e,r))}return"_["+i+"]"}function oB(t,n,e,r){return o(t)?"("+sB(null,t,n,e,r)+")":t}function sB(t,n,e,r,i){if(null!=n.gradient)return function(t,n,e,r){return"this.gradient("+uB(t.gradient,n,e,r)+","+l(t.start)+","+l(t.stop)+","+l(t.count)+")"}(n,e,r,i);var a=n.signal?rB(n.signal,e,r,i):n.color?function(t,n,e,r){function i(t,i,a,u){return"this."+t+"("+[sB(null,i,n,e,r),sB(null,a,n,e,r),sB(null,u,n,e,r)].join(",")+").toString()"}return t.c?i("hcl",t.h,t.c,t.l):t.h||t.s?i("hsl",t.h,t.s,t.l):t.l||t.a?i("lab",t.l,t.a,t.b):t.r||t.g||t.b?i("rgb",t.r,t.g,t.b):null}(n.color,e,r,i):null!=n.field?iB(n.field,e,r,i):void 0!==n.value?l(n.value):void 0;return null!=n.scale&&(a=aB(n,a,e,r,i)),void 0===a&&(a=null),null!=n.exponent&&(a="Math.pow("+a+","+oB(n.exponent,e,r,i)+")"),null!=n.mult&&(a+="*"+oB(n.mult,e,r,i)),null!=n.offset&&(a+="+"+oB(n.offset,e,r,i)),n.round&&(a="Math.round("+a+")"),a}function lB(t,n,e){const r=t+"["+l(n)+"]";return`$=${e};if(${r}!==$)${r}=$,m=1;`}function cB(t,n,e,r,i){var a="";return n.forEach(function(t){var n=sB(0,t,e,r,i);a+=t.test?rB(t.test,e,r,i)+"?"+n+":":n}),":"===k(a)&&(a+="null"),lB("o",t,a)}function fB(t,n,e,r){var i,a,o={},s="var o=item,datum=o.datum,m=0,$;";for(i in t)a=t[i],u(a)?s+=cB(i,a,r,e,o):s+=lB("o",i,sB(0,a,r,e,o));return s+=function(t,n){var e="";return nB[n]?e:(t.x2&&(t.x?(eB[n]&&(e+="if(o.x>o.x2)$=o.x,o.x=o.x2,o.x2=$;"),e+="o.width=o.x2-o.x;"):e+="o.x=o.x2-(o.width||0);"),t.xc&&(e+="o.x=o.xc-(o.width||0)/2;"),t.y2&&(t.y?(eB[n]&&(e+="if(o.y>o.y2)$=o.y,o.y=o.y2,o.y2=$;"),e+="o.height=o.y2-o.y;"):e+="o.y=o.y2-(o.height||0);"),t.yc&&(e+="o.y=o.yc-(o.height||0)/2;"),e)}(t,n),{$expr:s+="return m;",$fields:Object.keys(o),$output:Object.keys(t)}}var hB="mark",dB="frame",pB="scope",gB="axis",mB="axis-domain",vB="axis-grid",yB="axis-label",xB="axis-tick",_B="axis-title",bB="legend",wB="legend-band",AB="legend-entry",MB="legend-gradient",kB="legend-label",EB="legend-symbol",CB="legend-title",DB="title";function FB(t){return o(t)?Z({},t):{value:t}}function SB(t,n,e,r){return null!=e?(o(e)&&!u(e)?t.update[n]=e:t[r||"enter"][n]={value:e},1):0}function BB(t,n,e){for(let e in n)SB(t,e,n[e]);for(let n in e)SB(t,n,e[n],"update")}function OB(t,n,e){for(var r in n)e&&e.hasOwnProperty(r)||(t[r]=Z(t[r]||{},n[r]));return t}function zB(t,n,e,r,i,a){var u,o;for(o in(a=a||{}).encoders={$encode:u={}},t=function(t,n,e,r,i){var a,u,o={};"legend"!=e&&0!==String(e).indexOf("axis")||(e=null);for(a in u=e===dB?i.group:e===hB?Z({},i.mark,i[n]):null)TB(a,t)||("fill"===a||"stroke"===a)&&(TB("fill",t)||TB("stroke",t))||(o[a]=NB(u[a]));return W(r).forEach(function(n){var e=i.style&&i.style[n];for(var r in e)TB(r,t)||(o[r]=NB(e[r]))}),(t=Z({},t)).enter=Z(o,t.enter),t}(t,n,e,r,i.config))u[o]=fB(t[o],n,a,i);return a}function NB(t){return t&&t.signal?{signal:t.signal}:{value:t}}function TB(t,n){return n&&(n.enter&&n.enter[t]||n.update&&n.update[t])}function RB(t,n,e,r,i,a,u){return{type:t,name:u?u.name:void 0,role:n,style:u&&u.style||e,key:r,from:i,interactive:!(!u||!u.interactive),encode:OB(a,u,QS)}}function PB(t,n){const e=e=>_F(t[e],n[e]);return e.isVertical=(e=>TS===_F(t.direction,n.direction||(e?n.symbolDirection:n.gradientDirection))),e.gradientLength=(()=>_F(t.gradientLength,n.gradientLength||n.gradientWidth)),e.gradientThickness=(()=>_F(t.gradientThickness,n.gradientThickness||n.gradientHeight)),e.entryColumns=(()=>_F(t.columns,_F(n.columns,+e.isVertical(!0)))),e}function LB(t,n){var e=n&&(n.update&&n.update[t]||n.enter&&n.enter[t]);return e&&e.signal?e:e?e.value:null}function qB(t,n,e){return`item.anchor === "${RS}" ? ${t} : item.anchor === "${PS}" ? ${n} : ${e}`}const UB=qB(l(OS),l(zS),l("center"));var jB="group",$B="rect",IB="rule",WB="symbol",HB="text";function YB(t,n,e,r){var i,a,u,o,s,l,c=PB(t,e),f=c.isVertical(),h=c.gradientThickness(),d=c.gradientLength();return f?(u=[0,1],o=[0,0],s=h,l=d):(u=[0,0],o=[1,0],s=d,l=h),BB(i={enter:a={opacity:KS,x:KS,y:KS,width:FB(s),height:FB(l)},update:Z({},a,{opacity:tB,fill:{gradient:n,start:u,stop:o}}),exit:{opacity:KS}},{stroke:c("gradientStrokeColor"),strokeWidth:c("gradientStrokeWidth")},{opacity:c("gradientOpacity")}),RB($B,MB,null,void 0,void 0,i,r)}function GB(t,n,e,r,i){var a,u,o,s,l,c,f=PB(t,e),h=f.isVertical(),d=f.gradientThickness(),p=f.gradientLength(),g="";return h?(o="y",l="y2",s="x",c="width",g="1-"):(o="x",l="x2",s="y",c="height"),(u={opacity:KS,fill:{scale:n,field:WS}})[o]={signal:g+"datum."+jS,mult:p},u[s]=KS,u[l]={signal:g+"datum."+$S,mult:p},u[c]=FB(d),BB(a={enter:u,update:Z({},u,{opacity:tB}),exit:{opacity:KS}},{stroke:f("gradientStrokeColor"),strokeWidth:f("gradientStrokeWidth")},{opacity:f("gradientOpacity")}),RB($B,wB,null,WS,i,a,r)}const VB=`datum.${jS}<=0?"${OS}":datum.${jS}>=1?"${zS}":"center"`,XB=`datum.${jS}<=0?"${NS}":datum.${jS}>=1?"${BS}":"middle"`;function ZB(t,n,e,r){var i,a,u,o,s,l=PB(t,n),c=l.isVertical(),f=FB(l.gradientThickness()),h=l.gradientLength(),d=l("labelOverlap"),p=l("labelSeparation"),g="";return BB(i={enter:a={opacity:KS},update:u={opacity:tB,text:{field:qS}},exit:{opacity:KS}},{fill:l("labelColor"),fillOpacity:l("labelOpacity"),font:l("labelFont"),fontSize:l("labelFontSize"),fontStyle:l("labelFontStyle"),fontWeight:l("labelFontWeight"),limit:_F(t.labelLimit,n.gradientLabelLimit)}),c?(a.align={value:"left"},a.baseline=u.baseline={signal:XB},o="y",s="x",g="1-"):(a.align=u.align={signal:VB},a.baseline={value:"top"},o="x",s="y"),a[o]=u[o]={signal:g+"datum."+jS,mult:h},a[s]=u[s]=f,f.offset=_F(t.labelOffset,n.gradientLabelOffset)||0,t=RB(HB,kB,HS,WS,r,i,e),d&&(t.overlap={separation:p,method:d,order:"datum."+LS}),t}function JB(t,n,e,r,i,a,u,o){return{type:jB,name:e,role:t,style:n,from:r,interactive:i||!1,encode:a,marks:u,layout:o}}function QB(t,n,e,r,i){var a,u,o,s,l,c,f,h=PB(t,n),d=e.entries,p=!(!d||!d.interactive),g=d?d.name:void 0,m=h("clipHeight"),v=h("symbolOffset"),y={data:"value"},x={},_=`${i} ? datum.${US} : datum.${IS}`,b=m?FB(m):{field:IS},w=`datum.${LS}`,A=`max(1, ${i})`;return b.mult=.5,x={enter:a={opacity:KS,x:{signal:_,mult:.5,offset:v},y:b},update:u={opacity:tB,x:a.x,y:a.y},exit:{opacity:KS}},t.fill||BB(x,{fill:n.symbolBaseFillColor,stroke:n.symbolBaseStrokeColor}),BB(x,{fill:h("symbolFillColor"),shape:h("symbolType"),size:h("symbolSize"),stroke:h("symbolStrokeColor"),strokeDash:h("symbolDash"),strokeDashOffset:h("symbolDashOffset"),strokeWidth:h("symbolStrokeWidth")},{opacity:h("symbolOpacity")}),JS.forEach(function(n){t[n]&&(u[n]=a[n]={scale:t[n],field:WS})}),s=RB(WB,EB,null,WS,y,x,e.symbols),m&&(s.clip=!0),(o=FB(v)).offset=h("labelOffset"),BB(x={enter:a={opacity:KS,x:{signal:_,offset:o},y:b},update:u={opacity:tB,text:{field:qS},x:a.x,y:a.y},exit:{opacity:KS}},{align:h("labelAlign"),baseline:h("labelBaseline"),fill:h("labelColor"),fillOpacity:h("labelOpacity"),font:h("labelFont"),fontSize:h("labelFontSize"),fontStyle:h("labelFontStyle"),fontWeight:h("labelFontWeight"),limit:h("labelLimit")}),l=RB(HB,kB,HS,WS,y,x,e.labels),x={enter:{noBound:{value:!m},width:KS,height:m?FB(m):KS,opacity:KS},exit:{opacity:KS},update:u={opacity:tB,row:{signal:null},column:{signal:null}}},h.isVertical(!0)?(c=`ceil(item.mark.items.length / ${A})`,u.row.signal=`${w}%${c}`,u.column.signal=`floor(${w} / ${c})`,f={field:["row",w]}):(u.row.signal=`floor(${w} / ${A})`,u.column.signal=`${w} % ${A}`,f={field:w}),u.column.signal=`${i}?${u.column.signal}:${w}`,(t=JB(pB,null,g,r={facet:{data:r,name:"value",groupby:LS}},p,OB(x,d,QS),[s,l])).sort=f,t}const KB='item.orient === "left"',tO='item.orient === "right"',nO=`(${KB} || ${tO})`,eO=`datum.vgrad && ${nO}`,rO=qB('"top"','"bottom"','"middle"'),iO=`datum.vgrad && ${tO} ? (${qB('"right"','"left"','"center"')}) : (${nO} && !(datum.vgrad && ${KB})) ? "left" : ${UB}`,aO=`item._anchor || (${nO} ? "middle" : "start")`,uO=`${eO} ? (${KB} ? -90 : 90) : 0`,oO=`${nO} ? (datum.vgrad ? (${tO} ? "bottom" : "top") : ${rO}) : "top"`;function sO(t,n){var e;return o(t)&&(t.signal?e=t.signal:t.path?e="pathShape("+lO(t.path)+")":t.sphere&&(e="geoShape("+lO(t.sphere)+', {type: "Sphere"})')),e?n.signalRef(e):!!t}function lO(t){return o(t)&&t.signal?t.signal:l(t)}function cO(t){var n=t.role||"";return n.indexOf("axis")&&n.indexOf("legend")?t.type===jB?pB:n||hB:n}function fO(t){return{marktype:t.type,name:t.name||void 0,role:t.role||cO(t),zindex:+t.zindex||void 0}}function hO(t,n){return t&&t.signal?n.signalRef(t.signal):!1!==t}function dO(t,n){var e=Hr(t.type);e||i("Unrecognized transform type: "+l(t.type));var r=oF(e.type.toLowerCase(),null,pO(e,t,n));return t.signal&&n.addSignal(t.signal,n.proxy(r)),r.metadata=e.metadata||{},r}function pO(t,n,e){var r,i,a,u={};for(i=0,a=t.params.length;i<a;++i)u[(r=t.params[i]).name]=gO(r,n,e);return u}function gO(t,n,e){var r=t.type,a=n[t.name];return"index"===r?function(t,n,e){s(n.from)||i('Lookup "from" parameter must be a string literal.');return e.getData(n.from).lookupRef(e,n.key)}(0,n,e):void 0!==a?"param"===r?function(t,n,e){var r=n[t.name];return t.array?(u(r)||i("Expected an array of sub-parameters. Instead: "+l(r)),r.map(function(n){return vO(t,n,e)})):vO(t,r,e)}(t,n,e):"projection"===r?e.projectionRef(n[t.name]):t.array&&!yF(a)?a.map(function(n){return mO(t,n,e)}):mO(t,a,e):void(t.required&&i("Missing required "+l(n.type)+" parameter: "+l(t.name)))}function mO(t,n,e){var r=t.type;if(yF(n))return yO(r)?i("Expression references can not be signals."):xO(r)?e.fieldRef(n):_O(r)?e.compareRef(n):e.signalRef(n.signal);var a,u=t.expr||xO(r);return u&&((a=n)&&a.expr)?e.exprRef(n.expr,n.as):u&&function(t){return t&&t.field}(n)?fF(n.field,n.as):yO(r)?aF(n,e):function(t){return"data"===t}(r)?lF(e.getData(n).values):xO(r)?fF(n):_O(r)?e.compareRef(n):n}function vO(t,n,e){var r,a,u,o,s;for(o=0,s=t.params.length;o<s;++o){for(u in(a=t.params[o]).key)if(a.key[u]!==n[u]){a=null;break}if(a)break}return a||i("Unsupported parameter: "+l(n)),r=Z(pO(a,n,e),a.key),lF(e.add(fS(r)))}function yO(t){return"expr"===t}function xO(t){return"field"===t}function _O(t){return"compare"===t}function bO(t,n){return t.$ref?t:t.data&&t.data.$ref?t.data:lF(n.getData(t.data).output)}function wO(t,n,e,r,i){this.scope=t,this.input=n,this.output=e,this.values=r,this.aggregate=i,this.index={}}wO.fromEntries=function(t,n){var e=n.length,r=1,i=n[0],a=n[e-1],u=n[e-2],o=null;for(i&&"load"===i.type&&(i=n[1]),t.add(n[0]);r<e;++r)n[r].params.pulse=lF(n[r-1]),t.add(n[r]),"aggregate"===n[r].type&&(o=n[r]);return new wO(t,i,u,a,o)};var AO=wO.prototype;function MO(t){return s(t)?t:null}function kO(t,n,e){var r,i=gF(e.op,e.field);if(n.ops){for(var a=0,u=n.as.length;a<u;++a)if(n.as[a]===i)return}else n.ops=["count"],n.fields=[null],n.as=["count"];e.op&&(n.ops.push((r=e.op.signal)?t.signalRef(r):e.op),n.fields.push(t.fieldRef(e.field)),n.as.push(i))}function EO(t,n,e,r,i,a,u){var s,l,c=n[e]||(n[e]={}),f=function(t){return o(t)?(t.order===pF?"-":"+")+gF(t.op,t.field):""}(a),h=MO(i);if(null!=h&&(t=n.scope,s=c[h+=f?"|"+f:""]),!s){var d=a?{field:hF,pulse:n.countsRef(t,i,a)}:{field:t.fieldRef(i),pulse:lF(n.output)};f&&(d.sort=t.sortRef(a)),l=t.add(oF(r,void 0,d)),u&&(n.index[i]=l),s=lF(l),null!=h&&(c[h]=s)}return s}function CO(t,n,e){var r,i=t.remove,a=t.insert,u=t.toggle,o=t.modify,s=t.values,l=n.add(sF());r=aF("if("+t.trigger+',modify("'+e+'",'+[a,i,u,o,s].map(function(t){return null==t?"null":t}).join(",")+"),0)",n),l.update=r.$expr,l.params=r.$params}function DO(t,n){var e,r,a,u,o,s,c,f,h,d,p,g,m,v,y=cO(t),x=t.type===jB,_=t.from&&t.from.facet,b=t.layout||y===pB||y===dB,w=y===hB||b||_,A=t.overlap;a=function(t,n,e){var r,a,u,o,s;return t?(r=t.facet)&&(n||i("Only group marks can be faceted."),null!=r.field?o=s=bO(r,e):(t.data?s=lF(e.getData(t.data).aggregate):((u=dO(Z({type:"aggregate",groupby:W(r.groupby)},r.aggregate),e)).params.key=e.keyRef(r.groupby),u.params.pulse=bO(r,e),o=s=lF(e.add(u))),a=e.keyRef(r.groupby,!0))):o=lF(e.add(JF(null,[{}]))),o||(o=bO(t,e)),{key:a,pulse:o,parent:s}}(t.from,x,n),d=lF(r=n.add(KF({key:a.key||(t.key?fF(t.key):void 0),pulse:a.pulse,clean:!x}))),r=u=n.add(JF({pulse:d})),r=n.add(oS({markdef:fO(t),interactive:hO(t.interactive,n),clip:sO(t.clip,n),context:{$context:!0},groups:n.lookup(),parent:n.signals.parent?n.signalRef("parent"):null,index:n.markpath(),pulse:lF(r)})),p=lF(r),(r=o=n.add(tS(zB(t.encode,t.type,y,t.style,n,{mod:!1,pulse:p})))).params.parent=n.encode(),t.transform&&t.transform.forEach(function(t){const e=dO(t,n),a=e.metadata;(a.generates||a.changes)&&i("Mark transforms should not generate new data."),a.nomod||(o.params.mod=!0),e.params.pulse=lF(r),n.add(r=e)}),t.sort&&(r=n.add(xS({sort:n.compareRef(t.sort,!0),pulse:lF(r)}))),g=lF(r),(_||b)&&(m=lF(b=n.add(_S({layout:n.objectProperty(t.layout),legends:n.legends,mark:p,pulse:g})))),v=lF(s=n.add(ZF({mark:p,pulse:m||g}))),x&&(w&&((e=n.operators).pop(),b&&e.pop()),n.pushState(g,m||v,d),_?function(t,n,e){var r,a,u,o,s=t.from.facet,c=s.name,f=bO(s,n);s.name||i("Facet must have a name: "+l(s)),s.data||i("Facet must reference a data set: "+l(s)),s.field?o=n.add(hS({field:n.fieldRef(s.field),pulse:f})):s.groupby?o=n.add(eS({key:n.keyRef(s.groupby),group:lF(n.proxy(e.parent)),pulse:f})):i("Facet must specify groupby or field: "+l(s)),a=(r=n.fork()).add(JF()),u=r.add(yS({pulse:lF(a)})),r.addData(c,new wO(r,a,a,u)),r.addSignal("parent",null),o.params.subflow={$subflow:jO(t,r).toRuntime()}}(t,n,a):w?function(t,n,e){var r=n.add(hS({pulse:e.pulse})),i=n.fork();i.add(yS()),i.addSignal("parent",null),r.params.subflow={$subflow:jO(t,i).toRuntime()}}(t,n,a):jO(t,n),n.popState(),w&&(b&&e.push(b),e.push(s))),A&&(v=function(t,n,e){var r,i=t.method,a=t.bound,u=t.separation,o={separation:yF(u)?e.signalRef(u.signal):u,method:yF(i)?e.signalRef(i.signal):i,pulse:n};t.order&&(o.sort=e.compareRef({field:t.order}));a&&(r=a.tolerance,o.boundTolerance=yF(r)?e.signalRef(r.signal):+r,o.boundScale=e.scaleRef(a.scale),o.boundOrient=a.orient);return lF(e.add(cS(o)))}(A,v,n)),c=n.add(mS({pulse:v})),f=n.add(yS({pulse:lF(c)},void 0,n.parent())),null!=t.name&&(h=t.name,n.addData(h,new wO(n,u,c,f)),t.on&&t.on.forEach(function(t){(t.insert||t.remove||t.toggle)&&i("Marks only support modify triggers."),CO(t,n,h)}))}function FO(t,n){var e,r,a,u,o,s,l,c,f,h=n.config.legend,d=t.encode||{},p=d.legend||{},g=p.name||void 0,m=p.interactive,v=p.style,y=PB(t,h),x=JS.reduce(function(n,e){return n||t[e]},0);return x||i("Missing valid scale for legend."),o=function(t,n){var e=t.type||VS;t.type||1!==function(t){return JS.reduce(function(n,e){return n+(t[e]?1:0)},0)}(t)||!t.fill&&!t.stroke||(e=qh(n)?XS:jh(n)?ZS:VS);return e!==XS?e:jh(n)?ZS:XS}(t,n.scaleType(x)),s={title:null!=t.title,type:o,vgrad:"symbol"!==o&&y.isVertical()},l=lF(n.add(JF(null,[s]))),p=OB(function(t,n){var e={enter:{},update:{}};return BB(e,{orient:t("orient"),offset:t("offset"),padding:t("padding"),titlePadding:t("titlePadding"),cornerRadius:t("cornerRadius"),fill:t("fillColor"),stroke:t("strokeColor"),strokeWidth:n.strokeWidth,strokeDash:n.strokeDash,x:t("legendX"),y:t("legendY")}),e}(y,h),p,QS),e={enter:{x:{value:0},y:{value:0}}},c=lF(n.add(aS(a={type:o,scale:n.scaleRef(x),count:n.objectProperty(t.tickCount),values:n.objectProperty(t.values),minstep:n.property(t.tickMinStep),formatType:n.property(t.formatType),formatSpecifier:n.property(t.format)}))),o===XS?(u=[YB(t,x,h,d.gradient),ZB(t,h,d.labels,c)],a.count=a.count||n.signalRef(`max(2,2*floor((${bF(y.gradientLength())})/100))`)):o===ZS?u=[GB(t,x,h,d.gradient,c),ZB(t,h,d.labels,c)]:(r=function(t,n){const e=PB(t,n);return{align:e("gridAlign"),columns:e.entryColumns(),center:{row:!0,column:!1},padding:{row:e("rowPadding"),column:e("columnPadding")}}}(t,h),u=[QB(t,h,d,c,bF(r.columns))],a.size=function(t,n,e){var r=bF(SO("size",t,e)),i=bF(SO("strokeWidth",t,e)),a=bF(function(t,n,e){return LB("fontSize",t)||function(t,n,e){var r=n.config.style[e];return r&&r[t]}("fontSize",n,e)}(e[1].encode,n,HS));return aF(`max(ceil(sqrt(${r})+${i}),${a})`,n)}(t,n,u[0].marks)),u=[JB(AB,null,null,l,m,e,u,r)],s.title&&u.push(function(t,n,e,r){var i,a=PB(t,n);return BB(i={enter:{opacity:KS},update:{opacity:tB,x:{field:{group:"padding"}},y:{field:{group:"padding"}}},exit:{opacity:KS}},{orient:a("titleOrient"),_anchor:a("titleAnchor"),anchor:{signal:aO},angle:{signal:uO},align:{signal:iO},baseline:{signal:oO},text:t.title,fill:a("titleColor"),fillOpacity:a("titleOpacity"),font:a("titleFont"),fontSize:a("titleFontSize"),fontStyle:a("titleFontStyle"),fontWeight:a("titleFontWeight"),limit:a("titleLimit")},{align:a("titleAlign"),baseline:a("titleBaseline")}),RB(HB,CB,YS,null,r,i,e)}(t,h,d.title,l)),f=JB(bB,v,g,l,m,p,u),t.zindex&&(f.zindex=t.zindex),DO(f,n)}function SO(t,n,e){return n[t]?`scale("${n[t]}",datum)`:LB(t,e[0].encode)}AO.countsRef=function(t,n,e){var r,i,a,u=this.counts||(this.counts={}),o=MO(n);return null!=o&&(t=this.scope,r=u[o]),r?e&&e.field&&kO(t,r.agg.params,e):(a={groupby:t.fieldRef(n,"key"),pulse:lF(this.output)},e&&e.field&&kO(t,a,e),i=t.add(VF(a)),r=t.add(JF({pulse:lF(i)})),r={agg:i,ref:lF(r)},null!=o&&(u[o]=r)),r.ref},AO.tuplesRef=function(){return lF(this.values)},AO.extentRef=function(t,n){return EO(t,this,"extent","extent",n,!1)},AO.domainRef=function(t,n){return EO(t,this,"domain","values",n,!1)},AO.valuesRef=function(t,n,e){return EO(t,this,"vals","values",n,e||!0)},AO.lookupRef=function(t,n){return EO(t,this,"lookup","tupleindex",n,!1)},AO.indataRef=function(t,n){return EO(t,this,"indata","tupleindex",n,!0,!0)};const BO=`item.orient==="${OS}"?-90:item.orient==="${zS}"?90:0`,OO=`item.orient==="${NS}"?"${BS}":"${NS}"`;function zO(t,n){t=s(t)?{text:t}:t;var e,r,i=n.config.title,a=Z({},t.encode);return e=lF(n.add(JF(null,[{}]))),a.name=t.name,a.interactive=t.interactive,r=function(t,n,e,r){var i,a=PB(t,n),u={value:0},o=t.text;return BB(i={enter:{opacity:u},update:{opacity:{value:1}},exit:{opacity:u}},{text:o,orient:a("orient"),anchor:a("anchor"),align:{signal:UB},angle:{signal:BO},baseline:{signal:OO},dx:a("dx"),dy:a("dy"),fill:a("color"),font:a("font"),fontSize:a("fontSize"),fontStyle:a("fontStyle"),fontWeight:a("fontWeight"),frame:a("frame"),limit:a("limit"),offset:a("offset")||0},{align:a("align"),angle:a("angle"),baseline:a("baseline")}),RB(HB,DB,t.style||GS,null,r,i,e)}(t,i,a,e),t.zindex&&(r.zindex=t.zindex),DO(r,n)}function NO(t,n){var e=[];t.transform&&t.transform.forEach(function(t){e.push(dO(t,n))}),t.on&&t.on.forEach(function(e){CO(e,n,t.name)}),n.addDataPipeline(t.name,function(t,n,e){var r,i,a,u,o,s=[],l=null,c=!1,f=!1;t.values?xF(t.values)||xF(t.format)?(s.push(RO(n,t)),s.push(l=TO())):s.push(l=TO({$ingest:t.values,$format:t.format})):t.url?xF(t.url)||xF(t.format)?(s.push(RO(n,t)),s.push(l=TO())):s.push(l=TO({$request:t.url,$format:t.format})):t.source&&(l=r=W(t.source).map(function(t){return lF(n.getData(t).output)}),s.push(null));for(i=0,a=e.length;i<a;++i)u=e[i],o=u.metadata,l||o.source||s.push(l=TO()),s.push(u),o.generates&&(f=!0),o.modifies&&!f&&(c=!0),o.source?l=u:o.changes&&(l=null);r&&(a=r.length-1,s[0]=gS({derive:c,pulse:a?r:r[0]}),(c||a)&&s.splice(1,0,TO()));l||s.push(TO());return s.push(yS({})),s}(t,n,e))}function TO(t){var n=JF({},t);return n.metadata={source:!0},n}function RO(t,n){return uS({url:n.url?t.property(n.url):void 0,values:n.values?t.property(n.values):void 0,format:t.objectProperty(n.format)})}function PO(t,n){return{scale:t.scale,range:n}}function LO(t,n,e,r){var i,a,u,s,l,c,f,h,d,p=PB(t,n),g=t.orient,m=t.gridScale,v=g===OS||g===BS?1:-1,y=function(t,n){if(1===n);else if(o(t)){for(var e=t=Z({},t);null!=e.mult;){if(!o(e.mult))return e.mult*=n,t;e=e.mult=Z({},e.mult)}e.mult=n}else t=n*(t||0);return t}(t.offset,v);return BB(i={enter:a={opacity:KS},update:s={opacity:tB},exit:u={opacity:KS}},{stroke:p("gridColor"),strokeDash:p("gridDash"),strokeDashOffset:p("gridDashOffset"),strokeOpacity:p("gridOpacity"),strokeWidth:p("gridWidth")}),l={scale:t.scale,field:WS,band:p("bandPosition"),round:p("tickRound"),extra:p("tickExtra"),offset:p("tickOffset")},g===BS||g===NS?(c="x",f="y",d="height"):(c="y",f="x",d="width"),h=f+"2",s[c]=a[c]=u[c]=l,m?(s[f]=a[f]={scale:m,range:0,mult:v,offset:y},s[h]=a[h]={scale:m,range:1,mult:v,offset:y}):(s[f]=a[f]={value:0,offset:y},s[h]=a[h]={signal:d,mult:v,offset:y}),RB(IB,vB,null,WS,r,i,e)}function qO(t,n,e,r,i){return{signal:'flush(range("'+t+'"), scale("'+t+'", datum.value), '+n+","+e+","+r+","+i+")"}}function UO(t,n){var e,r,i,a,u,o,s=function(t,n){var e=n.config,r=t.orient,i=r===BS||r===NS?e.axisX:e.axisY,a=e["axis"+r[0].toUpperCase()+r.slice(1)],u="band"===n.scaleType(t.scale)&&e.axisBand;return i||a||u?Z({},e.axis,i,a,u):e.axis}(t,n),l=t.encode||{},c=l.axis||{},f=c.name||void 0,h=c.interactive,d=c.style,p=PB(t,s);return e={orient:t.orient,ticks:!!p("ticks"),labels:!!p("labels"),grid:!!p("grid"),domain:!!p("domain"),title:null!=t.title},r=lF(n.add(JF({},[e]))),c=OB({update:{offset:FB(p("offset")||0),position:FB(_F(t.position,0)),titlePadding:FB(p("titlePadding")),minExtent:FB(p("minExtent")),maxExtent:FB(p("maxExtent")),range:{signal:`abs(span(range("${t.scale}")))`}}},l.axis,QS),i=lF(n.add(XF({scale:n.scaleRef(t.scale),extra:n.property(p("tickExtra")),count:n.objectProperty(t.tickCount),values:n.objectProperty(t.values),minstep:n.property(t.tickMinStep),formatType:n.property(t.formatType),formatSpecifier:n.property(t.format)}))),o=[],e.grid&&o.push(LO(t,s,l.grid,i)),e.ticks&&(a=p("tickSize"),o.push(function(t,n,e,r,i){var a,u,o,s,l,c,f=PB(t,n),h=t.orient,d=h===OS||h===BS?-1:1;return BB(a={enter:u={opacity:KS},update:s={opacity:tB},exit:o={opacity:KS}},{stroke:f("tickColor"),strokeDash:f("tickDash"),strokeDashOffset:f("tickDashOffset"),strokeOpacity:f("tickOpacity"),strokeWidth:f("tickWidth")}),(l=FB(i)).mult=d,c={scale:t.scale,field:WS,band:f("bandPosition"),round:f("tickRound"),extra:f("tickExtra"),offset:f("tickOffset")},h===BS||h===NS?(s.y=u.y=KS,s.y2=u.y2=l,s.x=u.x=o.x=c):(s.x=u.x=KS,s.x2=u.x2=l,s.y=u.y=o.y=c),RB(IB,xB,null,WS,r,a,e)}(t,s,l.ticks,i,a))),e.labels&&(a=e.ticks?a:0,o.push(function(t,n,e,r,i){var a,u,o,s,l,c,f,h,d,p,g=PB(t,n),m=t.orient,v=m===OS||m===BS?-1:1,y=m===BS||m===NS,x=t.scale,_=bF(g("labelFlush")),b=bF(g("labelFlushOffset")),w=0===_||!!_,A=g("labelAlign"),M=g("labelBaseline");return(o=FB(i)).mult=v,o.offset=FB(g("labelPadding")||0),o.offset.mult=v,s={scale:x,field:WS,band:.5,offset:g("tickOffset")},y?(l=A||(w?qO(x,_,'"left"','"right"','"center"'):"center"),c=M||(m===BS?"bottom":"top"),f=!A):(l=A||(m===zS?"left":"right"),c=M||(w?qO(x,_,'"top"','"bottom"','"middle"'):"middle"),f=!M),f=f&&w&&b?qO(x,_,"-"+b,b,0):null,BB(a={enter:u={opacity:KS,x:y?s:o,y:y?o:s},update:{opacity:tB,text:{field:qS},x:u.x,y:u.y},exit:{opacity:KS,x:u.x,y:u.y}},{[y?"dx":"dy"]:f,align:l,baseline:c,angle:g("labelAngle"),fill:g("labelColor"),fillOpacity:g("labelOpacity"),font:g("labelFont"),fontSize:g("labelFontSize"),fontWeight:g("labelFontWeight"),fontStyle:g("labelFontStyle"),limit:g("labelLimit")}),h=g("labelBound"),d=g("labelOverlap"),p=g("labelSeparation"),t=RB(HB,yB,HS,WS,r,a,e),(d||h)&&(t.overlap={separation:p,method:d,order:"datum.index",bound:h?{scale:x,orient:m,tolerance:h}:null}),t}(t,s,l.labels,i,a))),e.domain&&o.push(function(t,n,e,r){var i,a,u,o,s,l,c=PB(t,n),f=t.orient;return BB(i={enter:a={opacity:KS},update:u={opacity:tB},exit:{opacity:KS}},{stroke:c("domainColor"),strokeDash:c("domainDash"),strokeDashOffset:c("domainDashOffset"),strokeWidth:c("domainWidth"),strokeOpacity:c("domainOpacity")}),f===BS||f===NS?(o="x",l="y"):(o="y",l="x"),s=o+"2",a[l]=KS,u[o]=a[o]=PO(t,0),u[s]=a[s]=PO(t,1),RB(IB,mB,null,null,r,i,e)}(t,s,l.domain,r)),e.title&&o.push(function(t,n,e,r){var i,a,u,o,s=PB(t,n),l=t.orient,c=l===OS||l===BS?-1:1,f=l===BS||l===NS;return i={enter:a={opacity:KS,anchor:FB(s("titleAnchor")),align:{signal:UB}},update:u=Z({},a,{opacity:tB,text:FB(t.title)}),exit:{opacity:KS}},o={signal:`lerp(range("${t.scale}"), ${qB(0,1,.5)})`},f?(u.x=o,a.angle={value:0},a.baseline={value:l===BS?"bottom":"top"}):(u.y=o,a.angle={value:90*c},a.baseline={value:"bottom"}),BB(i,{angle:s("titleAngle"),baseline:s("titleBaseline"),fill:s("titleColor"),fillOpacity:s("titleOpacity"),font:s("titleFont"),fontSize:s("titleFontSize"),fontStyle:s("titleFontStyle"),fontWeight:s("titleFontWeight"),limit:s("titleLimit")},{align:s("titleAlign")}),!SB(i,"x",s("titleX"),"update")&&!f&&!TB("x",e)&&(i.enter.auto={value:!0}),!SB(i,"y",s("titleY"),"update")&&f&&!TB("y",e)&&(i.enter.auto={value:!0}),RB(HB,_B,YS,null,r,i,e)}(t,s,l.title,r)),u=JB(gB,d,f,r,h,c,o),t.zindex&&(u.zindex=t.zindex),DO(u,n)}function jO(t,n,e){var r=W(t.signals),a=W(t.scales);return e||r.forEach(function(t){iF(t,n)}),W(t.projections).forEach(function(t){!function(t,n){var e={};for(var r in t)"name"!==r&&(e[r]=SS(t[r],r,n));n.addProjection(t.name,e)}(t,n)}),a.forEach(function(t){AS(t,n)}),W(t.data).forEach(function(t){NO(t,n)}),a.forEach(function(t){MS(t,n)}),r.forEach(function(t){!function(t,n){var e=n.getSignal(t.name),r=t.update;t.init&&(r?i("Signals can not include both init and update expressions."):(r=t.init,e.initonly=!0)),r&&(r=aF(r,n),e.update=r.$expr,e.params=r.$params),t.on&&t.on.forEach(function(t){HF(t,n,e.id)})}(t,n)}),W(t.axes).forEach(function(t){UO(t,n)}),W(t.marks).forEach(function(t){DO(t,n)}),W(t.legends).forEach(function(t){FO(t,n)}),t.title&&zO(t.title,n),n.parseLambdas(),n}var $O=yt(["width","height","padding","autosize"]);function IO(t,n){var e,r,i,a,u,s=n.config;return n.background=t.background||s.background,n.eventConfig=s.events,u=lF(n.root=n.add(sF())),n.addSignal("width",t.width||0),n.addSignal("height",t.height||0),n.addSignal("padding",function(t,n){return o(t=t||n.padding)?{top:tF(t.top),bottom:tF(t.bottom),left:tF(t.left),right:tF(t.right)}:{top:e=tF(t),bottom:e,left:e,right:e};var e}(t.padding,s)),n.addSignal("autosize",function(t,n){return o(t=t||n.autosize)?t:{type:t||"pad"}}(t.autosize,s)),n.legends=n.objectProperty(s.legend&&s.legend.layout),W(t.signals).forEach(function(t){$O[t.name]||iF(t,n)}),r=n.add(JF()),i=OB({enter:{x:{value:0},y:{value:0}},update:{width:{signal:"width"},height:{signal:"height"}}},t.encode),i=n.add(tS(zB(i,jB,dB,t.style,n,{pulse:lF(r)}))),a=n.add(_S({layout:n.objectProperty(t.layout),legends:n.legends,autosize:n.signalRef("autosize"),mark:u,pulse:lF(i)})),n.operators.pop(),n.pushState(lF(i),lF(a),null),jO(t,n,!0),n.operators.push(a),e=n.add(ZF({mark:u,pulse:lF(a)})),e=n.add(mS({pulse:lF(e)})),e=n.add(yS({pulse:lF(e)})),n.addData("root",new wO(n,r,r,e)),n}function WO(t){this.config=t,this.bindings=[],this.field={},this.signals={},this.lambdas={},this.scales={},this.events={},this.data={},this.streams=[],this.updates=[],this.operators=[],this.background=null,this.eventConfig=null,this._id=0,this._subid=0,this._nextsub=[0],this._parent=[],this._encode=[],this._lookup=[],this._markpath=[]}function HO(t){this.config=t.config,this.legends=t.legends,this.field=Object.create(t.field),this.signals=Object.create(t.signals),this.lambdas=Object.create(t.lambdas),this.scales=Object.create(t.scales),this.events=Object.create(t.events),this.data=Object.create(t.data),this.streams=[],this.updates=[],this.operators=[],this._id=0,this._subid=++t._nextsub[0],this._nextsub=t._nextsub,this._parent=t._parent.slice(),this._encode=t._encode.slice(),this._lookup=t._lookup.slice(),this._markpath=t._markpath}var YO=WO.prototype=HO.prototype;function GO(t){return(u(t)?function(t){for(var n,e="[",r=0,i=t.length;r<i;++r)n=t[r],e+=(r>0?",":"")+(o(n)?n.signal||GO(n):l(n));return e+"]"}:function(t){var n,e,r="{",i=0;for(n in t)e=t[n],r+=(++i>1?",":"")+l(n)+":"+(o(e)?e.signal||GO(e):l(e));return r+"}"})(t)}function VO(t){return(t||[]).reduce((t,n)=>{for(var e in n){var r="legend"===e?{layout:1}:"style"===e||null;XO(t,e,n[e],r)}return t},{padding:0,autosize:"pad",background:null,events:{defaults:{allow:["wheel"]}},group:null,mark:null,arc:{fill:KO},area:{fill:KO},image:null,line:{stroke:KO,strokeWidth:QO},path:{stroke:KO},rect:{fill:KO},rule:{stroke:tz},shape:{stroke:KO},symbol:{fill:KO,size:64},text:{fill:tz,font:ZO,fontSize:11},style:{"guide-label":{fill:tz,font:ZO,fontSize:10},"guide-title":{fill:tz,font:ZO,fontSize:11,fontWeight:"bold"},"group-title":{fill:tz,font:ZO,fontSize:13,fontWeight:"bold"},point:{size:JO,strokeWidth:QO,shape:"circle"},circle:{size:JO,strokeWidth:QO},square:{size:JO,strokeWidth:QO,shape:"square"},cell:{fill:"transparent",stroke:ez}},title:{orient:"top",anchor:"middle",offset:4},axis:{minExtent:0,maxExtent:200,bandPosition:.5,domain:!0,domainWidth:1,domainColor:nz,grid:!1,gridWidth:1,gridColor:ez,labels:!0,labelAngle:0,labelLimit:180,labelPadding:2,ticks:!0,tickColor:nz,tickOffset:0,tickRound:!0,tickSize:5,tickWidth:1,titlePadding:4},axisBand:{tickOffset:-1},legend:{orient:"right",padding:0,gridAlign:"each",columnPadding:10,rowPadding:2,symbolDirection:"vertical",gradientDirection:"vertical",gradientLength:200,gradientThickness:16,gradientStrokeColor:ez,gradientStrokeWidth:0,gradientLabelOffset:2,labelAlign:"left",labelBaseline:"middle",labelLimit:160,labelOffset:4,labelOverlap:!0,symbolType:"circle",symbolSize:100,symbolOffset:0,symbolStrokeWidth:1.5,symbolBaseFillColor:"transparent",symbolBaseStrokeColor:nz,titleLimit:180,titleOrient:"top",titlePadding:5,layout:{offset:18,direction:"horizontal",left:{direction:"vertical"},right:{direction:"vertical"}}},range:{category:{scheme:"tableau10"},ordinal:{scheme:"blues"},heatmap:{scheme:"yellowgreenblue"},ramp:{scheme:"blues"},diverging:{scheme:"blueorange",extent:[1,0]},symbol:["circle","square","triangle-up","cross","diamond","triangle-right","triangle-down","triangle-left"]}})}function XO(t,n,e,r){var i,a;if(o(e)&&!u(e))for(i in a=o(t[n])?t[n]:t[n]={},e)r&&(!0===r||r[i])?XO(a,i,e[i]):a[i]=e[i];else t[n]=e}YO.fork=function(){return new HO(this)},YO.isSubscope=function(){return this._subid>0},YO.toRuntime=function(){return this.finish(),{background:this.background,operators:this.operators,streams:this.streams,updates:this.updates,bindings:this.bindings,eventConfig:this.eventConfig}},YO.id=function(){return(this._subid?this._subid+":":0)+this._id++},YO.add=function(t){return this.operators.push(t),t.id=this.id(),t.refs&&(t.refs.forEach(function(n){n.$ref=t.id}),t.refs=null),t},YO.proxy=function(t){var n=t instanceof uF?lF(t):t;return this.add(pS({value:n}))},YO.addStream=function(t){return this.streams.push(t),t.id=this.id(),t},YO.addUpdate=function(t){return this.updates.push(t),t},YO.finish=function(){var t,n;for(t in this.root&&(this.root.root=!0),this.signals)this.signals[t].signal=t;for(t in this.scales)this.scales[t].scale=t;function e(t,n,e){var r;t&&((r=t.data||(t.data={}))[n]||(r[n]=[])).push(e)}for(t in this.data)for(var r in e((n=this.data[t]).input,t,"input"),e(n.output,t,"output"),e(n.values,t,"values"),n.index)e(n.index[r],t,"index:"+r);return this},YO.pushState=function(t,n,e){this._encode.push(lF(this.add(yS({pulse:t})))),this._parent.push(n),this._lookup.push(e?lF(this.proxy(e)):null),this._markpath.push(-1)},YO.popState=function(){this._encode.pop(),this._parent.pop(),this._lookup.pop(),this._markpath.pop()},YO.parent=function(){return k(this._parent)},YO.encode=function(){return k(this._encode)},YO.lookup=function(){return k(this._lookup)},YO.markpath=function(){var t=this._markpath;return++t[t.length-1]},YO.fieldRef=function(t,n){if(s(t))return fF(t,n);t.signal||i("Unsupported field reference: "+l(t));var e,r=t.signal,a=this.field[r];return a||(e={name:this.signalRef(r)},n&&(e.as=n),this.field[r]=a=lF(this.add(rS(e)))),a},YO.compareRef=function(t,n){function e(t){return yF(t)?(i=!0,r.signalRef(t.signal)):function(t){return t&&t.expr}(t)?(i=!0,r.exprRef(t.expr)):t}var r=this,i=!1,a=W(t.field).map(e),u=W(t.order).map(e);return n&&a.push(cF),i?lF(this.add(QF({fields:a,orders:u}))):dF(a,u)},YO.keyRef=function(t,n){var e=this.signals,r=!1;return t=W(t).map(function(t){return yF(t)?(r=!0,lF(e[t.signal])):t}),r?lF(this.add(iS({fields:t,flat:n}))):function(t,n){var e={$key:t};return n&&(e.$flat=!0),e}(t,n)},YO.sortRef=function(t){if(!t)return t;var n=[gF(t.op,t.field),cF],e=t.order||"ascending";return e.signal?lF(this.add(QF({fields:n,orders:[e=this.signalRef(e.signal),e]}))):dF(n,[e,e])},YO.event=function(t,n){var e=t+":"+n;if(!this.events[e]){var r=this.id();this.streams.push({id:r,source:t,type:n}),this.events[e]=r}return this.events[e]},YO.addSignal=function(t,n){this.signals.hasOwnProperty(t)&&i("Duplicate signal name: "+l(t));var e=n instanceof uF?n:this.add(sF(n));return this.signals[t]=e},YO.getSignal=function(t){return this.signals[t]||i("Unrecognized signal name: "+l(t)),this.signals[t]},YO.signalRef=function(t){return this.signals[t]?lF(this.signals[t]):(this.lambdas.hasOwnProperty(t)||(this.lambdas[t]=this.add(sF(null))),lF(this.lambdas[t]))},YO.parseLambdas=function(){for(var t=Object.keys(this.lambdas),n=0,e=t.length;n<e;++n){var r=t[n],i=aF(r,this),a=this.lambdas[r];a.params=i.$params,a.update=i.$expr}},YO.property=function(t){return t&&t.signal?this.signalRef(t.signal):t},YO.objectProperty=function(t){return t&&o(t)?this.signalRef(t.signal||GO(t)):t},YO.exprRef=function(t,n){var e={expr:aF(t,this)};return n&&(e.expr.$name=n),lF(this.add(nS(e)))},YO.addBinding=function(t,n){this.bindings||i("Nested signals do not support binding: "+l(t)),this.bindings.push(Z({signal:t},n))},YO.addScaleProj=function(t,n){this.scales.hasOwnProperty(t)&&i("Duplicate scale or projection name: "+l(t)),this.scales[t]=this.add(n)},YO.addScale=function(t,n){this.addScaleProj(t,vS(n))},YO.addProjection=function(t,n){this.addScaleProj(t,dS(n))},YO.getScale=function(t){return this.scales[t]||i("Unrecognized scale name: "+l(t)),this.scales[t]},YO.projectionRef=YO.scaleRef=function(t){return lF(this.getScale(t))},YO.projectionType=YO.scaleType=function(t){return this.getScale(t).params.type},YO.addData=function(t,n){return this.data.hasOwnProperty(t)&&i("Duplicate data set name: "+l(t)),this.data[t]=n},YO.getData=function(t){return this.data[t]||i("Undefined data set name: "+l(t)),this.data[t]},YO.addDataPipeline=function(t,n){return this.data.hasOwnProperty(t)&&i("Duplicate data set name: "+l(t)),this.addData(t,wO.fromEntries(this,n))};var ZO="sans-serif",JO=30,QO=2,KO="#4c78a8",tz="#000",nz="#888",ez="#ddd";Z(Wr,ou,vh,Xm,zb,Ow,XA,tM,jM,nk,lk),t.Bounds=Hu,t.CanvasHandler=Lc,t.CanvasRenderer=Ic,t.Dataflow=qr,t.Debug=A,t.Error=_,t.EventStream=It,t.Gradient=Qu,t.GroupItem=to,t.Handler=Oc,t.Info=w,t.Item=Ku,t.Marks=mc,t.MultiPulse=zr,t.None=x,t.Operator=qt,t.Parameters=Tt,t.Pulse=Dr,t.RenderType=wf,t.Renderer=Tc,t.ResourceLoader=ro,t.SVGHandler=Gc,t.SVGRenderer=ef,t.SVGStringRenderer=mf,t.Scenegraph=Ac,t.Transform=$r,t.View=VD,t.Warn=b,t.accessor=n,t.accessorFields=r,t.accessorName=e,t.array=W,t.bin=ni,t.bootstrapCI=_i,t.boundClip=Sf,t.boundContext=al,t.boundItem=vc,t.boundMark=xc,t.boundStroke=el,t.changeset=zt,t.clampRange=H,t.closeTag=Jc,t.compare=G,t.constant=V,t.debounce=X,t.definition=Hr,t.domChild=Dc,t.domClear=Fc,t.domCreate=Ec,t.domFind=Cc,t.error=i,t.expressionFunction=_D,t.extend=Z,t.extent=J,t.extentIndex=Q,t.falsy=v,t.fastmap=tt,t.field=c,t.flush=nt,t.font=cc,t.fontFamily=lc,t.fontSize=uc,t.format=Dn,t.formatLocale=hg,t.formats=Fn,t.id=h,t.identity=d,t.inferType=rn,t.inferTypes=an,t.ingest=Dt,t.inherits=et,t.inrange=rt,t.interpolate=im,t.interpolateColors=nm,t.interpolateRange=tm,t.intersect=kf,t.intersectBoxLine=pl,t.intersectPath=cl,t.intersectPoint=fl,t.intersectRule=dl,t.isArray=u,t.isBoolean=it,t.isDate=at,t.isFunction=Y,t.isNumber=ut,t.isObject=o,t.isRegExp=ot,t.isString=s,t.isTuple=kt,t.key=st,t.lerp=lt,t.loader=wr,t.logger=M,t.merge=ct,t.one=g,t.openTag=Zc,t.pad=ht,t.panLinear=z,t.panLog=N,t.panPow=T,t.panSymlog=R,t.parse=function(t,n){return o(t)||i("Input Vega specification must be an object."),IO(t,new WO(VO([n,t.config]))).toRuntime()},t.pathCurves=ys,t.pathEqual=zf,t.pathParse=bs,t.pathRectangle=$s,t.pathRender=Os,t.pathSymbols=Ts,t.pathTrail=Is,t.peek=k,t.point=Bc,t.projection=Ab,t.quantizeInterpolator=em,t.quarter=$,t.quartiles=bi,t.randomInteger=function(n,e){null==e&&(e=n,n=0);var r,i,a,u={};return u.min=function(t){return arguments.length?(a=i-(r=t||0),u):r},u.max=function(t){return arguments.length?(a=(i=t||0)-r,u):i},u.sample=function(){return r+Math.floor(a*t.random())},u.pdf=function(t){return t===Math.floor(t)&&t>=r&&t<i?1/a:0},u.cdf=function(t){var n=Math.floor(t);return n<r?0:n>=i?1:(n-r+1)/a},u.icdf=function(t){return t>=0&&t<=1?r-1+Math.floor(t*a):NaN},u.min(n).max(e)},t.randomKDE=Ai,t.randomLCG=function(t){return function(){return(t=(1103515245*t+12345)%2147483647)/2147483647}},t.randomMixture=Mi,t.randomNormal=wi,t.randomUniform=ki,t.read=br,t.regressionExp=Oi,t.regressionLinear=Si,t.regressionLoess=Li,t.regressionLog=Bi,t.regressionPoly=Ti,t.regressionPow=zi,t.regressionQuad=Ni,t.renderModule=Mf,t.repeat=ft,t.resetSVGClipId=function(){Tl=1},t.responseType=Sn,t.runtime=OD,t.runtimeContext=ND,t.sampleCurve=$i,t.scale=Zg,t.sceneEqual=Of,t.sceneFromJSON=wc,t.scenePickVisit=wl,t.sceneToJSON=bc,t.sceneVisit=bl,t.sceneZOrder=_l,t.scheme=sm,t.setRandom=function(n){t.random=n},t.span=dt,t.splitAccessPath=a,t.stringValue=l,t.textMetrics=nc,t.timeFormatLocale=_r,t.timeInterval=Wh,t.toBoolean=pt,t.toDate=mt,t.toNumber=E,t.toSet=yt,t.toString=vt,t.transform=Yr,t.transforms=Wr,t.truncate=xt,t.truthy=m,t.tupleid=Et,t.typeParsers=tn,t.utcquarter=I,t.version="5.4.0",t.visitArray=_t,t.zero=p,t.zoomLinear=L,t.zoomLog=q,t.zoomPow=U,t.zoomSymlog=j,Object.defineProperty(t,"__esModule",{value:!0})});
##############################################
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js-3493-      if (isArray(value)) {
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js:3494:          return `[${value.map(v => valueToHtml(isString(v) ? v : stringify(v, maxDepth))).join(', ')}]`;
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js-3495-      }
##############################################
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js-3499-          if (title) {
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js:3500:              content += `<h2>${valueToHtml(title)}</h2>`;
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js-3501-          }
##############################################
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js-3513-                  }
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js:3514:                  content += `<tr><td class="key">${valueToHtml(key)}:</td><td class="value">${valueToHtml(val)}</td></tr>`;
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js-3515-              }
##############################################
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js-3610-          if (value == null || value === '') {
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js:3611:              this.el.classList.remove('visible', `${this.options.theme}-theme`);
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js-3612-              return;
##############################################
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js-3616-          // make the tooltip visible
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js:3617:          this.el.classList.add('visible', `${this.options.theme}-theme`);
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js-3618-          const { x, y } = calculatePosition(event, this.el.getBoundingClientRect(), this.options.offsetX, this.options.offsetY);
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js:3619:          this.el.setAttribute('style', `top: ${y}px; left: ${x}px`);
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js-3620-      }
##############################################
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js-3815-  function viewSource(source, sourceHeader, sourceFooter, mode) {
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js:3816:      const header = `<html><head>${sourceHeader}</head><body><pre><code class="json">`;
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js:3817:      const footer = `</code></pre>${sourceFooter}</body></html>`;
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js-3818-      const win = window.open('');
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js-3819-      win.document.write(header + source + footer);
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js:3820:      win.document.title = `${NAMES[mode]} JSON Source`;
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js-3821-  }
##############################################
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js-3831-          if (providedMode && providedMode !== parsed.library) {
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js:3832:              console.warn(`The given visualization spec is written in ${NAMES[parsed.library]}, but mode argument sets ${NAMES[providedMode] || providedMode}.`);
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js-3833-          }
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js-3834-          const mode = parsed.library;
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js:3835:          if (!semver_31(VERSION[mode], `^${parsed.version.slice(1)}`)) {
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js:3836:              console.warn(`The input spec uses ${NAMES[mode]} ${parsed.version}, but the current version of ${NAMES[mode]} is v${VERSION[mode]}.`);
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js-3837-          }
##############################################
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js-3908-                  const parsed = schemaParser(vgSpec.$schema);
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js:3909:                  if (!semver_31(VERSION.vega, `^${parsed.version.slice(1)}`)) {
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js:3910:                      console.warn(`The compiled spec uses Vega ${parsed.version}, but current version is v${VERSION.vega}.`);
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js-3911-                  }
##############################################
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js-3988-                      if (actions === true || actions.export === true || actions.export[ext]) {
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js:3989:                          const i18nExportAction = i18n[`${ext.toUpperCase()}_ACTION`];
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js-3990-                          ctrl
##############################################
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js-3994-                              .attr('target', '_blank')
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js:3995:                              .attr('download', `${downloadFileName}.${ext}`)
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.js-3996-                              // eslint-disable-next-line func-names
##############################################
q2-feature-table-2019.10.0+dfsg/debian/JS/vega-embed/vega-embed.min.js:1:!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vega"),require("vega-lite")):"function"==typeof define&&define.amd?define(["vega","vega-lite"],t):(e=e||self).vegaEmbed=t(e.vega,e.vl)}(this,function(e,t){"use strict";var n="http://www.w3.org/1999/xhtml",r={svg:"http://www.w3.org/2000/svg",xhtml:n,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function i(e){var t=e+="",n=t.indexOf(":");return n>=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),r.hasOwnProperty(t)?{space:r[t],local:e}:e}function o(e){var t=i(e);return(t.local?function(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}:function(e){return function(){var t=this.ownerDocument,r=this.namespaceURI;return r===n&&t.documentElement.namespaceURI===n?t.createElement(e):t.createElementNS(r,e)}})(t)}function a(){}function s(e){return null==e?a:function(){return this.querySelector(e)}}function l(){return[]}function c(e){return new Array(e.length)}function u(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}u.prototype={constructor:u,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};var f="$";function p(e,t,n,r,i,o){for(var a,s=0,l=t.length,c=o.length;s<c;++s)(a=t[s])?(a.__data__=o[s],r[s]=a):n[s]=new u(e,o[s]);for(;s<l;++s)(a=t[s])&&(i[s]=a)}function h(e,t,n,r,i,o,a){var s,l,c,p={},h=t.length,d=o.length,g=new Array(h);for(s=0;s<h;++s)(l=t[s])&&(g[s]=c=f+a.call(l,l.__data__,s,t),c in p?i[s]=l:p[c]=l);for(s=0;s<d;++s)(l=p[c=f+a.call(e,o[s],s,o)])?(r[s]=l,l.__data__=o[s],p[c]=null):n[s]=new u(e,o[s]);for(s=0;s<h;++s)(l=t[s])&&p[g[s]]===l&&(i[s]=l)}function d(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function g(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function m(e){return e.trim().split(/^|\s+/)}function v(e){return e.classList||new b(e)}function b(e){this._node=e,this._names=m(e.getAttribute("class")||"")}function y(e,t){for(var n=v(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function w(e,t){for(var n=v(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function x(){this.textContent=""}function _(){this.innerHTML=""}function S(){this.nextSibling&&this.parentNode.appendChild(this)}function k(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function C(){return null}function E(){var e=this.parentNode;e&&e.removeChild(this)}function A(){return this.parentNode.insertBefore(this.cloneNode(!1),this.nextSibling)}function O(){return this.parentNode.insertBefore(this.cloneNode(!0),this.nextSibling)}b.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var j={},z=null;"undefined"!=typeof document&&("onmouseenter"in document.documentElement||(j={mouseenter:"mouseover",mouseleave:"mouseout"}));function N(e,t,n){return e=T(e,t,n),function(t){var n=t.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||e.call(this,t)}}function T(e,t,n){return function(r){var i=z;z=r;try{e.call(this,this.__data__,t,n)}finally{z=i}}}function $(e){return function(){var t=this.__on;if(t){for(var n,r=0,i=-1,o=t.length;r<o;++r)n=t[r],e.type&&n.type!==e.type||n.name!==e.name?t[++i]=n:this.removeEventListener(n.type,n.listener,n.capture);++i?t.length=i:delete this.__on}}}function P(e,t,n){var r=j.hasOwnProperty(e.type)?N:T;return function(i,o,a){var s,l=this.__on,c=r(t,o,a);if(l)for(var u=0,f=l.length;u<f;++u)if((s=l[u]).type===e.type&&s.name===e.name)return this.removeEventListener(s.type,s.listener,s.capture),this.addEventListener(s.type,s.listener=c,s.capture=n),void(s.value=t);this.addEventListener(e.type,c,n),s={type:e.type,name:e.name,value:t,listener:c,capture:n},l?l.push(s):this.__on=[s]}}function F(e,t,n){var r=g(e),i=r.CustomEvent;"function"==typeof i?i=new i(t,n):(i=r.document.createEvent("Event"),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}var I=[null];function B(e,t){this._groups=e,this._parents=t}function W(){return new B([[document.documentElement]],I)}B.prototype=W.prototype={constructor:B,select:function(e){"function"!=typeof e&&(e=s(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o,a,l=t[i],c=l.length,u=r[i]=new Array(c),f=0;f<c;++f)(o=l[f])&&(a=e.call(o,o.__data__,f,l))&&("__data__"in o&&(a.__data__=o.__data__),u[f]=a);return new B(r,this._parents)},selectAll:function(e){"function"!=typeof e&&(e=function(e){return null==e?l:function(){return this.querySelectorAll(e)}}(e));for(var t=this._groups,n=t.length,r=[],i=[],o=0;o<n;++o)for(var a,s=t[o],c=s.length,u=0;u<c;++u)(a=s[u])&&(r.push(e.call(a,a.__data__,u,s)),i.push(a));return new B(r,i)},filter:function(e){"function"!=typeof e&&(e=function(e){return function(){return this.matches(e)}}(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o,a=t[i],s=a.length,l=r[i]=[],c=0;c<s;++c)(o=a[c])&&e.call(o,o.__data__,c,a)&&l.push(o);return new B(r,this._parents)},data:function(e,t){if(!e)return m=new Array(this.size()),u=-1,this.each(function(e){m[++u]=e}),m;var n,r=t?h:p,i=this._parents,o=this._groups;"function"!=typeof e&&(n=e,e=function(){return n});for(var a=o.length,s=new Array(a),l=new Array(a),c=new Array(a),u=0;u<a;++u){var f=i[u],d=o[u],g=d.length,m=e.call(f,f&&f.__data__,u,i),v=m.length,b=l[u]=new Array(v),y=s[u]=new Array(v);r(f,d,b,y,c[u]=new Array(g),m,t);for(var w,x,_=0,S=0;_<v;++_)if(w=b[_]){for(_>=S&&(S=_+1);!(x=y[S])&&++S<v;);w._next=x||null}}return(s=new B(s,i))._enter=l,s._exit=c,s},enter:function(){return new B(this._enter||this._groups.map(c),this._parents)},exit:function(){return new B(this._exit||this._groups.map(c),this._parents)},join:function(e,t,n){var r=this.enter(),i=this,o=this.exit();return r="function"==typeof e?e(r):r.append(e+""),null!=t&&(i=t(i)),null==n?o.remove():n(o),r&&i?r.merge(i).order():i},merge:function(e){for(var t=this._groups,n=e._groups,r=t.length,i=n.length,o=Math.min(r,i),a=new Array(r),s=0;s<o;++s)for(var l,c=t[s],u=n[s],f=c.length,p=a[s]=new Array(f),h=0;h<f;++h)(l=c[h]||u[h])&&(p[h]=l);for(;s<r;++s)a[s]=t[s];return new B(a,this._parents)},order:function(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r,i=e[t],o=i.length-1,a=i[o];--o>=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=d);for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o){for(var a,s=n[o],l=s.length,c=i[o]=new Array(l),u=0;u<l;++u)(a=s[u])&&(c[u]=a);c.sort(t)}return new B(i,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){var e=new Array(this.size()),t=-1;return this.each(function(){e[++t]=this}),e},node:function(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null},size:function(){var e=0;return this.each(function(){++e}),e},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i,o=t[n],a=0,s=o.length;a<s;++a)(i=o[a])&&e.call(i,i.__data__,a,o);return this},attr:function(e,t){var n=i(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==t?n.local?function(e){return function(){this.removeAttributeNS(e.space,e.local)}}:function(e){return function(){this.removeAttribute(e)}}:"function"==typeof t?n.local?function(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}:function(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}:n.local?function(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}:function(e,t){return function(){this.setAttribute(e,t)}})(n,t))},style:function(e,t,n){return arguments.length>1?this.each((null==t?function(e){return function(){this.style.removeProperty(e)}}:"function"==typeof t?function(e,t,n){return function(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}:function(e,t,n){return function(){this.style.setProperty(e,t,n)}})(e,t,null==n?"":n)):function(e,t){return e.style.getPropertyValue(t)||g(e).getComputedStyle(e,null).getPropertyValue(t)}(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?function(e){return function(){delete this[e]}}:"function"==typeof t?function(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}:function(e,t){return function(){this[e]=t}})(e,t)):this.node()[e]},classed:function(e,t){var n=m(e+"");if(arguments.length<2){for(var r=v(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each(("function"==typeof t?function(e,t){return function(){(t.apply(this,arguments)?y:w)(this,e)}}:t?function(e){return function(){y(this,e)}}:function(e){return function(){w(this,e)}})(n,t))},text:function(e){return arguments.length?this.each(null==e?x:("function"==typeof e?function(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}:function(e){return function(){this.textContent=e}})(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?_:("function"==typeof e?function(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}:function(e){return function(){this.innerHTML=e}})(e)):this.node().innerHTML},raise:function(){return this.each(S)},lower:function(){return this.each(k)},append:function(e){var t="function"==typeof e?e:o(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})},insert:function(e,t){var n="function"==typeof e?e:o(e),r=null==t?C:"function"==typeof t?t:s(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})},remove:function(){return this.each(E)},clone:function(e){return this.select(e?O:A)},datum:function(e){return arguments.length?this.property("__data__",e):this.node().__data__},on:function(e,t,n){var r,i,o=function(e){return e.trim().split(/^|\s+/).map(function(e){var t="",n=e.indexOf(".");return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}(e+""),a=o.length;if(!(arguments.length<2)){for(s=t?P:$,null==n&&(n=!1),r=0;r<a;++r)this.each(s(o[r],t,n));return this}var s=this.node().__on;if(s)for(var l,c=0,u=s.length;c<u;++c)for(r=0,l=s[c];r<a;++r)if((i=o[r]).type===l.type&&i.name===l.name)return l.value},dispatch:function(e,t){return this.each(("function"==typeof t?function(e,t){return function(){return F(this,e,t.apply(this,arguments))}}:function(e,t){return function(){return F(this,e,t)}})(e,t))}};var L="4.2.1";function R(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(e){o(e)}}function s(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){e.done?i(e.value):new n(function(t){t(e.value)}).then(a,s)}l((r=r.apply(e,t||[])).next())})}var D=/("(?:[^\\"]|\\.)*")|[:,]/g,V=function(e,t){var n,r,i;return t=t||{},n=JSON.stringify([1],void 0,void 0===t.indent?2:t.indent).slice(2,-3),r=""===n?1/0:void 0===t.maxLength?80:t.maxLength,i=t.replacer,function e(t,o,a){var s,l,c,u,f,p,h,d,g,m,v,b;if(t&&"function"==typeof t.toJSON&&(t=t.toJSON()),void 0===(v=JSON.stringify(t,i)))return v;if(h=r-o.length-a,v.length<=h&&(g=v.replace(D,function(e,t){return t||e+" "})).length<=h)return g;if(null!=i&&(t=JSON.parse(v),i=void 0),"object"==typeof t&&null!==t){if(d=o+n,c=[],l=0,Array.isArray(t))for(m="[",s="]",h=t.length;l<h;l++)c.push(e(t[l],d,l===h-1?0:1)||"null");else for(m="{",s="}",h=(p=Object.keys(t)).length;l<h;l++)u=p[l],f=JSON.stringify(u)+": ",void 0!==(b=e(t[u],d,f.length+(l===h-1?0:1)))&&c.push(f+b);if(c.length>0)return[m,n+c.join(",\n"+d),s].join("\n"+o)}return v}(e,"",0)};function M(e,t){return e(t={exports:{}},t.exports),t.exports}var q,H=M(function(e,t){var n;t=e.exports=U,n="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?function(){var e=Array.prototype.slice.call(arguments,0);e.unshift("SEMVER"),console.log.apply(console,e)}:function(){},t.SEMVER_SPEC_VERSION="2.0.0";var r=256,i=Number.MAX_SAFE_INTEGER||9007199254740991,o=t.re=[],a=t.src=[],s=0,l=s++;a[l]="0|[1-9]\\d*";var c=s++;a[c]="[0-9]+";var u=s++;a[u]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var f=s++;a[f]="("+a[l]+")\\.("+a[l]+")\\.("+a[l]+")";var p=s++;a[p]="("+a[c]+")\\.("+a[c]+")\\.("+a[c]+")";var h=s++;a[h]="(?:"+a[l]+"|"+a[u]+")";var d=s++;a[d]="(?:"+a[c]+"|"+a[u]+")";var g=s++;a[g]="(?:-("+a[h]+"(?:\\."+a[h]+")*))";var m=s++;a[m]="(?:-?("+a[d]+"(?:\\."+a[d]+")*))";var v=s++;a[v]="[0-9A-Za-z-]+";var b=s++;a[b]="(?:\\+("+a[v]+"(?:\\."+a[v]+")*))";var y=s++,w="v?"+a[f]+a[g]+"?"+a[b]+"?";a[y]="^"+w+"$";var x="[v=\\s]*"+a[p]+a[m]+"?"+a[b]+"?",_=s++;a[_]="^"+x+"$";var S=s++;a[S]="((?:<|>)?=?)";var k=s++;a[k]=a[c]+"|x|X|\\*";var C=s++;a[C]=a[l]+"|x|X|\\*";var E=s++;a[E]="[v=\\s]*("+a[C]+")(?:\\.("+a[C]+")(?:\\.("+a[C]+")(?:"+a[g]+")?"+a[b]+"?)?)?";var A=s++;a[A]="[v=\\s]*("+a[k]+")(?:\\.("+a[k]+")(?:\\.("+a[k]+")(?:"+a[m]+")?"+a[b]+"?)?)?";var O=s++;a[O]="^"+a[S]+"\\s*"+a[E]+"$";var j=s++;a[j]="^"+a[S]+"\\s*"+a[A]+"$";var z=s++;a[z]="(^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])";var N=s++;o[N]=new RegExp(a[z],"g");var T=s++;a[T]="(?:~>?)";var $=s++;a[$]="(\\s*)"+a[T]+"\\s+",o[$]=new RegExp(a[$],"g");var P=s++;a[P]="^"+a[T]+a[E]+"$";var F=s++;a[F]="^"+a[T]+a[A]+"$";var I=s++;a[I]="(?:\\^)";var B=s++;a[B]="(\\s*)"+a[I]+"\\s+",o[B]=new RegExp(a[B],"g");var W=s++;a[W]="^"+a[I]+a[E]+"$";var L=s++;a[L]="^"+a[I]+a[A]+"$";var R=s++;a[R]="^"+a[S]+"\\s*("+x+")$|^$";var D=s++;a[D]="^"+a[S]+"\\s*("+w+")$|^$";var V=s++;a[V]="(\\s*)"+a[S]+"\\s*("+x+"|"+a[E]+")",o[V]=new RegExp(a[V],"g");var M=s++;a[M]="^\\s*("+a[E]+")\\s+-\\s+("+a[E]+")\\s*$";var q=s++;a[q]="^\\s*("+a[A]+")\\s+-\\s+("+a[A]+")\\s*$";var H=s++;a[H]="(<|>)?=?\\s*\\*";for(var X=0;X<36;X++)n(X,a[X]),o[X]||(o[X]=new RegExp(a[X]));function J(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof U)return e;if("string"!=typeof e)return null;if(e.length>r)return null;if(!(t.loose?o[_]:o[y]).test(e))return null;try{return new U(e,t)}catch(e){return null}}function U(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof U){if(e.loose===t.loose)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: "+e);if(e.length>r)throw new TypeError("version is longer than "+r+" characters");if(!(this instanceof U))return new U(e,t);n("SemVer",e,t),this.options=t,this.loose=!!t.loose;var a=e.trim().match(t.loose?o[_]:o[y]);if(!a)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+a[1],this.minor=+a[2],this.patch=+a[3],this.major>i||this.major<0)throw new TypeError("Invalid major version");if(this.minor>i||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>i||this.patch<0)throw new TypeError("Invalid patch version");a[4]?this.prerelease=a[4].split(".").map(function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t<i)return t}return e}):this.prerelease=[],this.build=a[5]?a[5].split("."):[],this.format()}t.parse=J,t.valid=function(e,t){var n=J(e,t);return n?n.version:null},t.clean=function(e,t){var n=J(e.trim().replace(/^[=v]+/,""),t);return n?n.version:null},t.SemVer=U,U.prototype.format=function(){return this.version=this.major+"."+this.minor+"."+this.patch,this.prerelease.length&&(this.version+="-"+this.prerelease.join(".")),this.version},U.prototype.toString=function(){return this.version},U.prototype.compare=function(e){return n("SemVer.compare",this.version,this.options,e),e instanceof U||(e=new U(e,this.options)),this.compareMain(e)||this.comparePre(e)},U.prototype.compareMain=function(e){return e instanceof U||(e=new U(e,this.options)),Y(this.major,e.major)||Y(this.minor,e.minor)||Y(this.patch,e.patch)},U.prototype.comparePre=function(e){if(e instanceof U||(e=new U(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;var t=0;do{var r=this.prerelease[t],i=e.prerelease[t];if(n("prerelease compare",t,r,i),void 0===r&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===r)return-1;if(r!==i)return Y(r,i)}while(++t)},U.prototype.compareBuild=function(e){e instanceof U||(e=new U(e,this.options));var t=0;do{var r=this.build[t],i=e.build[t];if(n("prerelease compare",t,r,i),void 0===r&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===r)return-1;if(r!==i)return Y(r,i)}while(++t)},U.prototype.inc=function(e,t){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t),this.inc("pre",t);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t),this.inc("pre",t);break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":if(0===this.prerelease.length)this.prerelease=[0];else{for(var n=this.prerelease.length;--n>=0;)"number"==typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);-1===n&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: "+e)}return this.format(),this.raw=this.version,this},t.inc=function(e,t,n,r){"string"==typeof n&&(r=n,n=void 0);try{return new U(e,n).inc(t,r).version}catch(e){return null}},t.diff=function(e,t){if(ee(e,t))return null;var n=J(e),r=J(t),i="";if(n.prerelease.length||r.prerelease.length){i="pre";var o="prerelease"}for(var a in n)if(("major"===a||"minor"===a||"patch"===a)&&n[a]!==r[a])return i+a;return o},t.compareIdentifiers=Y;var G=/^[0-9]+$/;function Y(e,t){var n=G.test(e),r=G.test(t);return n&&r&&(e=+e,t=+t),e===t?0:n&&!r?-1:r&&!n?1:e<t?-1:1}function Z(e,t,n){return new U(e,n).compare(new U(t,n))}function K(e,t,n){return Z(e,t,n)>0}function Q(e,t,n){return Z(e,t,n)<0}function ee(e,t,n){return 0===Z(e,t,n)}function te(e,t,n){return 0!==Z(e,t,n)}function ne(e,t,n){return Z(e,t,n)>=0}function re(e,t,n){return Z(e,t,n)<=0}function ie(e,t,n,r){switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e===n;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e!==n;case"":case"=":case"==":return ee(e,n,r);case"!=":return te(e,n,r);case">":return K(e,n,r);case">=":return ne(e,n,r);case"<":return Q(e,n,r);case"<=":return re(e,n,r);default:throw new TypeError("Invalid operator: "+t)}}function oe(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof oe){if(e.loose===!!t.loose)return e;e=e.value}if(!(this instanceof oe))return new oe(e,t);n("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===ae?this.value="":this.value=this.operator+this.semver.version,n("comp",this)}t.rcompareIdentifiers=function(e,t){return Y(t,e)},t.major=function(e,t){return new U(e,t).major},t.minor=function(e,t){return new U(e,t).minor},t.patch=function(e,t){return new U(e,t).patch},t.compare=Z,t.compareLoose=function(e,t){return Z(e,t,!0)},t.compareBuild=function(e,t,n){var r=new U(e,n),i=new U(t,n);return r.compare(i)||r.compareBuild(i)},t.rcompare=function(e,t,n){return Z(t,e,n)},t.sort=function(e,n){return e.sort(function(e,r){return t.compareBuild(e,r,n)})},t.rsort=function(e,n){return e.sort(function(e,r){return t.compareBuild(r,e,n)})},t.gt=K,t.lt=Q,t.eq=ee,t.neq=te,t.gte=ne,t.lte=re,t.cmp=ie,t.Comparator=oe;var ae={};function se(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof se)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new se(e.raw,t);if(e instanceof oe)return new se(e.value,t);if(!(this instanceof se))return new se(e,t);if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(function(e){return this.parseRange(e.trim())},this).filter(function(e){return e.length}),!this.set.length)throw new TypeError("Invalid SemVer Range: "+e);this.format()}function le(e,t){for(var n=!0,r=e.slice(),i=r.pop();n&&r.length;)n=r.every(function(e){return i.intersects(e,t)}),i=r.pop();return n}function ce(e){return!e||"x"===e.toLowerCase()||"*"===e}function ue(e,t,n,r,i,o,a,s,l,c,u,f,p){return((t=ce(n)?"":ce(r)?">="+n+".0.0":ce(i)?">="+n+"."+r+".0":">="+t)+" "+(s=ce(l)?"":ce(c)?"<"+(+l+1)+".0.0":ce(u)?"<"+l+"."+(+c+1)+".0":f?"<="+l+"."+c+"."+u+"-"+f:"<="+s)).trim()}function fe(e,t,r){for(var i=0;i<e.length;i++)if(!e[i].test(t))return!1;if(t.prerelease.length&&!r.includePrerelease){for(i=0;i<e.length;i++)if(n(e[i].semver),e[i].semver!==ae&&e[i].semver.prerelease.length>0){var o=e[i].semver;if(o.major===t.major&&o.minor===t.minor&&o.patch===t.patch)return!0}return!1}return!0}function pe(e,t,n){try{t=new se(t,n)}catch(e){return!1}return t.test(e)}function he(e,t,n,r){var i,o,a,s,l;switch(e=new U(e,r),t=new se(t,r),n){case">":i=K,o=re,a=Q,s=">",l=">=";break;case"<":i=Q,o=ne,a=K,s="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(pe(e,t,r))return!1;for(var c=0;c<t.set.length;++c){var u=t.set[c],f=null,p=null;if(u.forEach(function(e){e.semver===ae&&(e=new oe(">=0.0.0")),f=f||e,p=p||e,i(e.semver,f.semver,r)?f=e:a(e.semver,p.semver,r)&&(p=e)}),f.operator===s||f.operator===l)return!1;if((!p.operator||p.operator===s)&&o(e,p.semver))return!1;if(p.operator===l&&a(e,p.semver))return!1}return!0}oe.prototype.parse=function(e){var t=this.options.loose?o[R]:o[D],n=e.match(t);if(!n)throw new TypeError("Invalid comparator: "+e);this.operator=void 0!==n[1]?n[1]:"","="===this.operator&&(this.operator=""),n[2]?this.semver=new U(n[2],this.options.loose):this.semver=ae},oe.prototype.toString=function(){return this.value},oe.prototype.test=function(e){if(n("Comparator.test",e,this.options.loose),this.semver===ae||e===ae)return!0;if("string"==typeof e)try{e=new U(e,this.options)}catch(e){return!1}return ie(e,this.operator,this.semver,this.options)},oe.prototype.intersects=function(e,t){if(!(e instanceof oe))throw new TypeError("a Comparator is required");var n;if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return""===this.value||(n=new se(e.value,t),pe(this.value,n,t));if(""===e.operator)return""===e.value||(n=new se(this.value,t),pe(e.semver,n,t));var r=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),i=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),o=this.semver.version===e.semver.version,a=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),s=ie(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),l=ie(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return r||i||o&&a||s||l},t.Range=se,se.prototype.format=function(){return this.range=this.set.map(function(e){return e.join(" ").trim()}).join("||").trim(),this.range},se.prototype.toString=function(){return this.range},se.prototype.parseRange=function(e){var t=this.options.loose;e=e.trim();var r=t?o[q]:o[M];e=e.replace(r,ue),n("hyphen replace",e),e=e.replace(o[V],"$1$2$3"),n("comparator trim",e,o[V]),e=(e=(e=e.replace(o[$],"$1~")).replace(o[B],"$1^")).split(/\s+/).join(" ");var i=t?o[R]:o[D],a=e.split(" ").map(function(e){return function(e,t){return n("comp",e,t),e=function(e,t){return e.trim().split(/\s+/).map(function(e){return function(e,t){n("caret",e,t);var r=t.loose?o[L]:o[W];return e.replace(r,function(t,r,i,o,a){var s;return n("caret",e,t,r,i,o,a),ce(r)?s="":ce(i)?s=">="+r+".0.0 <"+(+r+1)+".0.0":ce(o)?s="0"===r?">="+r+"."+i+".0 <"+r+"."+(+i+1)+".0":">="+r+"."+i+".0 <"+(+r+1)+".0.0":a?(n("replaceCaret pr",a),s="0"===r?"0"===i?">="+r+"."+i+"."+o+"-"+a+" <"+r+"."+i+"."+(+o+1):">="+r+"."+i+"."+o+"-"+a+" <"+r+"."+(+i+1)+".0":">="+r+"."+i+"."+o+"-"+a+" <"+(+r+1)+".0.0"):(n("no pr"),s="0"===r?"0"===i?">="+r+"."+i+"."+o+" <"+r+"."+i+"."+(+o+1):">="+r+"."+i+"."+o+" <"+r+"."+(+i+1)+".0":">="+r+"."+i+"."+o+" <"+(+r+1)+".0.0"),n("caret return",s),s})}(e,t)}).join(" ")}(e,t),n("caret",e),e=function(e,t){return e.trim().split(/\s+/).map(function(e){return function(e,t){var r=t.loose?o[F]:o[P];return e.replace(r,function(t,r,i,o,a){var s;return n("tilde",e,t,r,i,o,a),ce(r)?s="":ce(i)?s=">="+r+".0.0 <"+(+r+1)+".0.0":ce(o)?s=">="+r+"."+i+".0 <"+r+"."+(+i+1)+".0":a?(n("replaceTilde pr",a),s=">="+r+"."+i+"."+o+"-"+a+" <"+r+"."+(+i+1)+".0"):s=">="+r+"."+i+"."+o+" <"+r+"."+(+i+1)+".0",n("tilde return",s),s})}(e,t)}).join(" ")}(e,t),n("tildes",e),e=function(e,t){return n("replaceXRanges",e,t),e.split(/\s+/).map(function(e){return function(e,t){e=e.trim();var r=t.loose?o[j]:o[O];return e.replace(r,function(r,i,o,a,s,l){n("xRange",e,r,i,o,a,s,l);var c=ce(o),u=c||ce(a),f=u||ce(s),p=f;return"="===i&&p&&(i=""),l=t.includePrerelease?"-0":"",c?r=">"===i||"<"===i?"<0.0.0-0":"*":i&&p?(u&&(a=0),s=0,">"===i?(i=">=",u?(o=+o+1,a=0,s=0):(a=+a+1,s=0)):"<="===i&&(i="<",u?o=+o+1:a=+a+1),r=i+o+"."+a+"."+s+l):u?r=">="+o+".0.0"+l+" <"+(+o+1)+".0.0"+l:f&&(r=">="+o+"."+a+".0"+l+" <"+o+"."+(+a+1)+".0"+l),n("xRange return",r),r})}(e,t)}).join(" ")}(e,t),n("xrange",e),e=function(e,t){return n("replaceStars",e,t),e.trim().replace(o[H],"")}(e,t),n("stars",e),e}(e,this.options)},this).join(" ").split(/\s+/);return this.options.loose&&(a=a.filter(function(e){return!!e.match(i)})),a=a.map(function(e){return new oe(e,this.options)},this)},se.prototype.intersects=function(e,t){if(!(e instanceof se))throw new TypeError("a Range is required");return this.set.some(function(n){return le(n,t)&&e.set.some(function(e){return le(e,t)&&n.every(function(n){return e.every(function(e){return n.intersects(e,t)})})})})},t.toComparators=function(e,t){return new se(e,t).set.map(function(e){return e.map(function(e){return e.value}).join(" ").trim().split(" ")})},se.prototype.test=function(e){if(!e)return!1;if("string"==typeof e)try{e=new U(e,this.options)}catch(e){return!1}for(var t=0;t<this.set.length;t++)if(fe(this.set[t],e,this.options))return!0;return!1},t.satisfies=pe,t.maxSatisfying=function(e,t,n){var r=null,i=null;try{var o=new se(t,n)}catch(e){return null}return e.forEach(function(e){o.test(e)&&(r&&-1!==i.compare(e)||(i=new U(r=e,n)))}),r},t.minSatisfying=function(e,t,n){var r=null,i=null;try{var o=new se(t,n)}catch(e){return null}return e.forEach(function(e){o.test(e)&&(r&&1!==i.compare(e)||(i=new U(r=e,n)))}),r},t.minVersion=function(e,t){e=new se(e,t);var n=new U("0.0.0");if(e.test(n))return n;if(n=new U("0.0.0-0"),e.test(n))return n;n=null;for(var r=0;r<e.set.length;++r){var i=e.set[r];i.forEach(function(e){var t=new U(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":n&&!K(n,t)||(n=t);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}})}if(n&&e.test(n))return n;return null},t.validRange=function(e,t){try{return new se(e,t).range||"*"}catch(e){return null}},t.ltr=function(e,t,n){return he(e,t,"<",n)},t.gtr=function(e,t,n){return he(e,t,">",n)},t.outside=he,t.prerelease=function(e,t){var n=J(e,t);return n&&n.prerelease.length?n.prerelease:null},t.intersects=function(e,t,n){return e=new se(e,n),t=new se(t,n),e.intersects(t)},t.coerce=function(e,t){if(e instanceof U)return e;"number"==typeof e&&(e=String(e));if("string"!=typeof e)return null;var n=null;if((t=t||{}).rtl){for(var r;(r=o[N].exec(e))&&(!n||n.index+n[0].length!==e.length);)n&&r.index+r[0].length===n.index+n[0].length||(n=r),o[N].lastIndex=r.index+r[1].length+r[2].length;o[N].lastIndex=-1}else n=e.match(o[z]);if(null===n)return null;return J(n[2]+"."+(n[3]||"0")+"."+(n[4]||"0"),t)}}),X=(H.SEMVER_SPEC_VERSION,H.re,H.src,H.parse,H.valid,H.clean,H.SemVer,H.inc,H.diff,H.compareIdentifiers,H.rcompareIdentifiers,H.major,H.minor,H.patch,H.compare,H.compareLoose,H.compareBuild,H.rcompare,H.sort,H.rsort,H.gt,H.lt,H.eq,H.neq,H.gte,H.lte,H.cmp,H.Comparator,H.Range,H.toComparators,H.satisfies),J=(H.maxSatisfying,H.minSatisfying,H.minVersion,H.validRange,H.ltr,H.gtr,H.outside,H.prerelease,H.intersects,H.coerce,M(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=/\/schema\/([\w-]+)\/([\w\.\-]+)\.json$/g.exec(e).slice(1,3);return{library:t[0],version:t[1]}}})),U=(q=J)&&q.__esModule&&Object.prototype.hasOwnProperty.call(q,"default")?q.default:q;const G={background:"#fff",arc:{fill:"#4572a7"},area:{fill:"#4572a7"},line:{stroke:"#4572a7",strokeWidth:2},path:{stroke:"#4572a7"},rect:{fill:"#4572a7"},shape:{stroke:"#4572a7"},symbol:{fill:"#4572a7",strokeWidth:1.5,size:50},axis:{bandPosition:.5,grid:!0,gridColor:"#000000",gridOpacity:1,gridWidth:.5,labelPadding:10,tickSize:5,tickWidth:.5},axisBand:{grid:!1,tickExtra:!0},legend:{labelBaseline:"middle",labelFontSize:11,symbolSize:50,symbolType:"square"},range:{category:["#4572a7","#aa4643","#8aa453","#71598e","#4598ae","#d98445","#94aace","#d09393","#b9cc98","#a99cbc"]}},Y={group:{fill:"#e5e5e5"},arc:{fill:"#000"},area:{fill:"#000"},line:{stroke:"#000"},path:{stroke:"#000"},rect:{fill:"#000"},shape:{stroke:"#000"},symbol:{fill:"#000",size:40},axis:{domain:!1,grid:!0,gridColor:"#FFFFFF",gridOpacity:1,labelColor:"#7F7F7F",labelPadding:4,tickColor:"#7F7F7F",tickSize:5.67,titleFontSize:16,titleFontWeight:"normal"},legend:{labelBaseline:"middle",labelFontSize:11,symbolSize:40},range:{category:["#000000","#7F7F7F","#1A1A1A","#999999","#333333","#B0B0B0","#4D4D4D","#C9C9C9","#666666","#DCDCDC"]}},Z={background:"#f9f9f9",arc:{fill:"#ab5787"},area:{fill:"#ab5787"},line:{stroke:"#ab5787"},path:{stroke:"#ab5787"},rect:{fill:"#ab5787"},shape:{stroke:"#ab5787"},symbol:{fill:"#ab5787",size:30},axis:{domainColor:"#979797",domainWidth:.5,gridWidth:.2,labelColor:"#979797",tickColor:"#979797",tickWidth:.2,titleColor:"#979797"},axisBand:{grid:!1},axisX:{grid:!0,tickSize:10},axisY:{domain:!1,grid:!0,tickSize:0},legend:{labelFontSize:11,padding:1,symbolSize:30,symbolType:"square"},range:{category:["#ab5787","#51b2e5","#703c5c","#168dd9","#d190b6","#00609f","#d365ba","#154866","#666666","#c4c4c4"]}},K={background:"#fff",arc:{fill:"#3e5c69"},area:{fill:"#3e5c69"},line:{stroke:"#3e5c69"},path:{stroke:"#3e5c69"},rect:{fill:"#3e5c69"},shape:{stroke:"#3e5c69"},symbol:{fill:"#3e5c69"},axis:{domainWidth:.5,grid:!0,labelPadding:2,tickSize:5,tickWidth:.5,titleFontWeight:"normal"},axisBand:{grid:!1},axisX:{gridWidth:.2},axisY:{gridDash:[3],gridWidth:.4},legend:{labelFontSize:11,padding:1,symbolType:"square"},range:{category:["#3e5c69","#6793a6","#182429","#0570b0","#3690c0","#74a9cf","#a6bddb","#e2ddf2"]}},Q={background:"#333",title:{color:"#fff"},style:{"guide-label":{fill:"#fff"},"guide-title":{fill:"#fff"}},axis:{domainColor:"#fff",gridColor:"#888",tickColor:"#fff"}},ee={arc:{fill:"#30a2da"},area:{fill:"#30a2da"},axisBand:{grid:!1},axisBottom:{domain:!1,domainColor:"#333",domainWidth:3,grid:!0,gridColor:"#cbcbcb",gridWidth:1,labelColor:"#999",labelFontSize:10,labelPadding:4,tickColor:"#cbcbcb",tickSize:10,titleFontSize:14,titlePadding:10},axisLeft:{domainColor:"#cbcbcb",domainWidth:1,grid:!0,gridColor:"#cbcbcb",gridWidth:1,labelColor:"#999",labelFontSize:10,labelPadding:4,tickColor:"#cbcbcb",tickSize:10,ticks:!0,titleFontSize:14,titlePadding:10},axisRight:{domainColor:"#333",domainWidth:1,grid:!0,gridColor:"#cbcbcb",gridWidth:1,labelColor:"#999",labelFontSize:10,labelPadding:4,tickColor:"#cbcbcb",tickSize:10,ticks:!0,titleFontSize:14,titlePadding:10},axisTop:{domain:!1,domainColor:"#333",domainWidth:3,grid:!0,gridColor:"#cbcbcb",gridWidth:1,labelColor:"#999",labelFontSize:10,labelPadding:4,tickColor:"#cbcbcb",tickSize:10,titleFontSize:14,titlePadding:10},background:"#f0f0f0",group:{fill:"#f0f0f0"},legend:{labelColor:"#333",labelFontSize:11,padding:1,symbolSize:30,symbolType:"square",titleColor:"#333",titleFontSize:14,titlePadding:10},line:{stroke:"#30a2da",strokeWidth:2},path:{stroke:"#30a2da",strokeWidth:.5},rect:{fill:"#30a2da"},range:{category:["#30a2da","#fc4f30","#e5ae38","#6d904f","#8b8b8b","#b96db8","#ff9e27","#56cc60","#52d2ca","#52689e","#545454","#9fe4f8"],diverging:["#cc0020","#e77866","#f6e7e1","#d6e8ed","#91bfd9","#1d78b5"],heatmap:["#d6e8ed","#cee0e5","#91bfd9","#549cc6","#1d78b5"]},symbol:{filled:!0,shape:"circle"},shape:{stroke:"#30a2da"},style:{bar:{binSpacing:2,fill:"#30a2da",stroke:null}},title:{anchor:"start",fontSize:24,fontWeight:600,offset:20}},te="Benton Gothic Bold, sans",ne={"category-6":["#ec8431","#829eb1","#c89d29","#3580b1","#adc839","#ab7fb4"],"fire-7":["#fbf2c7","#f9e39c","#f8d36e","#f4bb6a","#e68a4f","#d15a40","#ab4232"],"fireandice-6":["#e68a4f","#f4bb6a","#f9e39c","#dadfe2","#a6b7c6","#849eae"],"ice-7":["#edefee","#dadfe2","#c4ccd2","#a6b7c6","#849eae","#607785","#47525d"]},re={background:"#ffffff",title:{anchor:"start",font:te,fontColor:"#000000",fontSize:22,fontWeight:"normal"},arc:{fill:"#82c6df"},area:{fill:"#82c6df"},line:{stroke:"#82c6df",strokeWidth:2},path:{stroke:"#82c6df"},rect:{fill:"#82c6df"},shape:{stroke:"#82c6df"},symbol:{fill:"#82c6df",size:30},axis:{labelFont:"Benton Gothic, sans",labelFontSize:11.5,labelFontWeight:"normal",titleFont:te,titleFontSize:13,titleFontWeight:"normal"},axisX:{labelAngle:0,labelPadding:4,tickSize:3},axisY:{labelBaseline:"middle",maxExtent:45,minExtent:45,tickSize:2,titleAlign:"left",titleAngle:0,titleX:-45,titleY:-11},legend:{labelFont:"Benton Gothic, sans",labelFontSize:11.5,symbolType:"square",titleFont:te,titleFontSize:13,titleFontWeight:"normal"},range:{category:ne["category-6"],diverging:ne["fireandice-6"],heatmap:ne["fire-7"],ordinal:ne["fire-7"],ramp:ne["fire-7"]}};var ie=Object.freeze({excel:G,ggplot2:Y,quartz:Z,vox:K,dark:Q,fivethirtyeight:ee,latimes:re}),oe="#vg-tooltip-element {\n  visibility: hidden;\n  padding: 8px;\n  position: fixed;\n  z-index: 1000;\n  font-family: sans-serif;\n  font-size: 11px;\n  border-radius: 3px;\n  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);\n  /* The default theme is the light theme. */\n  background-color: rgba(255, 255, 255, 0.95);\n  border: 1px solid #d9d9d9;\n  color: black; }\n  #vg-tooltip-element.visible {\n    visibility: visible; }\n  #vg-tooltip-element h2 {\n    margin-top: 0;\n    margin-bottom: 10px;\n    font-size: 13px; }\n  #vg-tooltip-element table {\n    border-spacing: 0; }\n    #vg-tooltip-element table tr {\n      border: none; }\n      #vg-tooltip-element table tr td {\n        overflow: hidden;\n        text-overflow: ellipsis;\n        padding-top: 2px;\n        padding-bottom: 2px; }\n        #vg-tooltip-element table tr td.key {\n          color: #808080;\n          max-width: 150px;\n          text-align: right;\n          padding-right: 4px; }\n        #vg-tooltip-element table tr td.value {\n          display: block;\n          max-width: 300px;\n          max-height: 7em;\n          text-align: left; }\n  #vg-tooltip-element.dark-theme {\n    background-color: rgba(32, 32, 32, 0.9);\n    border: 1px solid #f5f5f5;\n    color: white; }\n    #vg-tooltip-element.dark-theme td.key {\n      color: #bfbfbf; }\n";const ae="vg-tooltip-element",se={offsetX:10,offsetY:10,id:ae,styleId:"vega-tooltip-style",theme:"light",disableDefaultStyle:!1,sanitize:function(e){return String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;")},maxDepth:2};function le(e,t,n){return e.fields=t||[],e.fname=n,e}function ce(e){throw Error(e)}var ue=Array.isArray;function fe(e){return e===Object(e)}function pe(e){return"string"==typeof e}function he(e){return ue(e)?"["+e.map(he)+"]":fe(e)||pe(e)?JSON.stringify(e).replace("\u2028","\\u2028").replace("\u2029","\\u2029"):e}var de=[],ge=(function(e,t){var n=function(e){var t,n,r,i=[],o=null,a=0,s=e.length,l="";function c(){i.push(l+e.substring(t,n)),l="",t=n+1}for(e+="",t=n=0;n<s;++n)if("\\"===(r=e[n]))l+=e.substring(t,n),t=++n;else if(r===o)c(),o=null,a=-1;else{if(o)continue;t===a&&'"'===r?(t=n+1,o=r):t===a&&"'"===r?(t=n+1,o=r):"."!==r||a?"["===r?(n>t&&c(),a=t=n+1):"]"===r&&(a||ce("Access path missing open bracket: "+e),a>0&&c(),a=0,t=n+1):n>t?c():t=n+1}return a&&ce("Access path missing closing bracket: "+e),o&&ce("Access path missing closing quote: "+e),n>t&&(n++,c()),i}(e),r="return _["+n.map(he).join("][")+"];";le(Function("_",r),[e=1===n.length?n[0]:e],t||e)}("id"),le(function(e){return e},de,"identity"),le(function(){return 0},de,"zero"),le(function(){return 1},de,"one"),le(function(){return!0},de,"true"),le(function(){return!1},de,"false"),function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n});function me(e,t){return JSON.stringify(e,function(e){const t=[];return function(n,r){if("object"!=typeof r||null===r)return r;const i=t.indexOf(this)+1;return t.length=i,t.length>e?"[Object]":t.indexOf(r)>=0?"[Circular]":(t.push(r),r)}}(t))}class ve{constructor(e){this.options=Object.assign({},se,e);const t=this.options.id;if(this.call=this.tooltipHandler.bind(this),!this.options.disableDefaultStyle&&!document.getElementById(this.options.styleId)){const e=document.createElement("style");e.setAttribute("id",this.options.styleId),e.innerHTML=function(e){if(!/^[A-Za-z]+[-:.\w]*$/.test(e))throw new Error("Invalid HTML ID");return oe.toString().replace(ae,e)}(t);const n=document.head;n.childNodes.length>0?n.insertBefore(e,n.childNodes[0]):n.appendChild(e)}this.el=document.getElementById(t),this.el||(this.el=document.createElement("div"),this.el.setAttribute("id",t),this.el.classList.add("vg-tooltip"),document.body.appendChild(this.el))}tooltipHandler(e,t,n,r){if(null==r||""===r)return void this.el.classList.remove("visible",`${this.options.theme}-theme`);this.el.innerHTML=function(e,t,n){if(ue(e))return`[${e.map(e=>t(pe(e)?e:me(e,n))).join(", ")}]`;if(fe(e)){let r="";const i=e,{title:o}=i,a=ge(i,["title"]);o&&(r+=`<h2>${t(o)}</h2>`);const s=Object.keys(a);if(s.length>0){r+="<table>";for(const e of s){let i=a[e];void 0!==i&&(fe(i)&&(i=me(i,n)),r+=`<tr><td class="key">${t(e)}:</td><td class="value">${t(i)}</td></tr>`)}r+="</table>"}return r||"{}"}return t(e)}(r,this.options.sanitize,this.options.maxDepth),this.el.classList.add("visible",`${this.options.theme}-theme`);const{x:i,y:o}=function(e,t,n,r){let i=e.clientX+n;i+t.width>window.innerWidth&&(i=+e.clientX-n-t.width);let o=e.clientY+r;return o+t.height>window.innerHeight&&(o=+e.clientY-r-t.height),{x:i,y:o}}(t,this.el.getBoundingClientRect(),this.options.offsetX,this.options.offsetY);this.el.setAttribute("style",`top: ${o}px; left: ${i}px`)}}var be='.vega-embed {\n  position: relative;\n  display: inline-block;\n  padding-right: 38px; }\n  .vega-embed details:not([open]) > :not(summary) {\n    display: none !important; }\n  .vega-embed summary {\n    list-style: none;\n    display: flex;\n    position: absolute;\n    top: 0;\n    right: 0;\n    padding: 6px;\n    z-index: 1000;\n    background: white;\n    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);\n    color: #1b1e23;\n    border: 1px solid #aaa;\n    border-radius: 999px;\n    opacity: 0.2;\n    transition: opacity 0.4s ease-in;\n    outline: none;\n    cursor: pointer; }\n    .vega-embed summary::-webkit-details-marker {\n      display: none; }\n  .vega-embed details[open] summary {\n    opacity: 0.7; }\n  .vega-embed:hover summary,\n  .vega-embed:focus summary {\n    opacity: 1 !important;\n    transition: opacity 0.2s ease; }\n  .vega-embed .vega-actions {\n    position: absolute;\n    top: 35px;\n    right: -9px;\n    display: flex;\n    flex-direction: column;\n    padding-bottom: 8px;\n    padding-top: 8px;\n    border-radius: 4px;\n    box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);\n    border: 1px solid #d9d9d9;\n    background: white;\n    animation-duration: 0.15s;\n    animation-name: scale-in;\n    animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5); }\n    .vega-embed .vega-actions a {\n      padding: 8px 16px;\n      font-family: sans-serif;\n      font-size: 14px;\n      font-weight: 600;\n      white-space: nowrap;\n      color: #434a56;\n      text-decoration: none; }\n      .vega-embed .vega-actions a:hover {\n        background-color: #f7f7f9;\n        color: black; }\n    .vega-embed .vega-actions::before, .vega-embed .vega-actions::after {\n      content: "";\n      display: inline-block;\n      position: absolute; }\n    .vega-embed .vega-actions::before {\n      left: auto;\n      right: 14px;\n      top: -16px;\n      border: 8px solid #0000;\n      border-bottom-color: #d9d9d9; }\n    .vega-embed .vega-actions::after {\n      left: auto;\n      right: 15px;\n      top: -14px;\n      border: 7px solid #0000;\n      border-bottom-color: #fff; }\n\n.vega-embed-wrapper {\n  max-width: 100%;\n  overflow: scroll;\n  padding-right: 14px; }\n\n@keyframes scale-in {\n  from {\n    opacity: 0;\n    transform: scale(0.6); }\n  to {\n    opacity: 1;\n    transform: scale(1); } }\n';function ye(t,n){if("object"!=typeof n||null===n)return t;for(const r in n)n.hasOwnProperty(r)&&void 0!==n[r]&&("object"!=typeof n[r]||e.isArray(n[r])||null===n[r]?t[r]=n[r]:"object"!=typeof t[r]||null===t[r]?t[r]=we(e.isArray(n[r].constructor)?[]:{},n[r]):we(t[r],n[r]));return t}function we(e,...t){for(const n of t)e=ye(e,n);return e}String.prototype.startsWith||(String.prototype.startsWith=function(e,t){return this.substr(!t||t<0?0:+t,e.length)===e});const xe=e,_e=t,Se={CLICK_TO_VIEW_ACTIONS:"Click to view actions",COMPILED_ACTION:"View Compiled Vega",EDITOR_ACTION:"Open in Vega Editor",PNG_ACTION:"Save as PNG",SOURCE_ACTION:"View Source",SVG_ACTION:"Save as SVG"},ke={vega:"Vega","vega-lite":"Vega-Lite"},Ce={vega:xe.version,"vega-lite":_e?_e.version:"not available"},Ee={vega:e=>e,"vega-lite":(e,t)=>_e.compile(e,{config:t}).spec},Ae='\n<svg viewBox="0 0 16 16" fill="currentColor" stroke="none" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" width="14" height="14">\n  <circle r="2" cy="8" cx="2"></circle>\n  <circle r="2" cy="8" cx="8"></circle>\n  <circle r="2" cy="8" cx="14"></circle>\n</svg>';function Oe(e,t,n,r){const i=`<html><head>${t}</head><body><pre><code class="json">`,o=`</code></pre>${n}</body></html>`,a=window.open("");a.document.write(i+e+o),a.document.title=`${ke[r]} JSON Source`}function je(e,t,n={}){return R(this,void 0,void 0,function*(){const r=(i=n.loader)&&"load"in i?n.loader:xe.loader(n.loader);var i;if(xe.isString(t)){const i=yield r.load(t);return je(e,JSON.parse(i),n)}const o=(n=we(n,t.usermeta&&t.usermeta.embedOptions)).patch||n.onBeforeParse,a=!0===n.actions||!1===n.actions?n.actions:we({},{export:{svg:!0,png:!0},source:!0,compiled:!0,editor:!0},n.actions||{}),s=Object.assign({},Se,n.i18n),l=n.renderer||"canvas",c=n.logLevel||xe.Warn,u=n.downloadFileName||"visualization";let f=n.config||{};if(xe.isString(f)){const i=yield r.load(f);return je(e,t,Object.assign({},n,{config:JSON.parse(i)}))}if(!1!==n.defaultStyle){const e="vega-embed-style";if(!document.getElementById(e)){const t=document.createElement("style");t.id=e,t.innerText=void 0===n.defaultStyle||!0===n.defaultStyle?be.toString():n.defaultStyle,document.head.appendChild(t)}}n.theme&&(f=we({},ie[n.theme],f));const p=function(e,t){if(e.$schema){const n=U(e.$schema);t&&t!==n.library&&console.warn(`The given visualization spec is written in ${ke[n.library]}, but mode argument sets ${ke[t]||t}.`);const r=n.library;return X(Ce[r],`^${n.version.slice(1)}`)||console.warn(`The input spec uses ${ke[r]} ${n.version}, but the current version of ${ke[r]} is v${Ce[r]}.`),r}return"mark"in e||"encoding"in e||"layer"in e||"hconcat"in e||"vconcat"in e||"facet"in e||"repeat"in e?"vega-lite":"marks"in e||"signals"in e||"scales"in e||"axes"in e?"vega":t||"vega"}(t,n.mode);let h=Ee[p](t,f);if("vega-lite"===p&&h.$schema){const e=U(h.$schema);X(Ce.vega,`^${e.version.slice(1)}`)||console.warn(`The compiled spec uses Vega ${e.version}, but current version is v${Ce.vega}.`)}const d=function(e){return"string"==typeof e?new B([[document.querySelector(e)]],[document.documentElement]):new B([[e]],I)}(e).classed("vega-embed",!0).html("");if(o)if(o instanceof Function)h=o(h);else if(xe.isString(o)){const e=yield r.load(o);h=we(h,JSON.parse(e))}else h=we(h,o);const g=xe.parse(h,"vega-lite"===p?{}:f),m=new xe.View(g,{loader:r,logLevel:c,renderer:l});if(!1!==n.tooltip){let e;e="function"==typeof n.tooltip?n.tooltip:new ve(!0===n.tooltip?{}:n.tooltip).call,m.tooltip(e)}let{hover:v}=n;if(void 0===v&&(v="vega-lite"!==p),v){const{hoverSet:e,updateSet:t}="boolean"==typeof v?{}:v;m.hover(e,t)}if(n&&(n.width&&m.width(n.width),n.height&&m.height(n.height),n.padding&&m.padding(n.padding)),yield m.initialize(e).runAsync(),!1!==a){let e=d;if(!1!==n.defaultStyle){const t=d.append("details").attr("title",s.CLICK_TO_VIEW_ACTIONS);e=t,t.insert("summary").html(Ae);const n=t.node();document.addEventListener("click",e=>{n.contains(e.target)||n.removeAttribute("open")})}const r=e.insert("div").attr("class","vega-actions");if(!0===a||!1!==a.export)for(const e of["svg","png"])if(!0===a||!0===a.export||a.export[e]){const t=s[`${e.toUpperCase()}_ACTION`];r.append("a").text(t).attr("href","#").attr("target","_blank").attr("download",`${u}.${e}`).on("mousedown",function(){m.toImageURL(e,n.scaleFactor).then(e=>{this.href=e}).catch(e=>{throw e}),z.preventDefault()})}if(!0!==a&&!1===a.source||r.append("a").text(s.SOURCE_ACTION).attr("href","#").on("mousedown",()=>{Oe(V(t),n.sourceHeader||"",n.sourceFooter||"",p),z.preventDefault()}),"vega-lite"!==p||!0!==a&&!1===a.compiled||r.append("a").text(s.COMPILED_ACTION).attr("href","#").on("mousedown",()=>{Oe(V(h),n.sourceHeader||"",n.sourceFooter||"","vega"),z.preventDefault()}),!0===a||!1!==a.editor){const e=n.editorUrl||"https://vega.github.io/editor/";r.append("a").text(s.EDITOR_ACTION).attr("href","#").on("mousedown",()=>{!function(e,t,n){const r=e.open(t),i=250;let o=~~(1e4/i);e.addEventListener("message",function t(n){n.source===r&&(o=0,e.removeEventListener("message",t,!1))},!1),setTimeout(function e(){o<=0||(r.postMessage(n,"*"),setTimeout(e,i),o-=1)},i)}(window,e,{config:f,mode:p,renderer:l,spec:V(t)}),z.preventDefault()})}}return{view:m,spec:t,vgSpec:h}})}function ze(e,t={}){return R(this,void 0,void 0,function*(){const n=document.createElement("div");n.classList.add("vega-embed-wrapper");const r=document.createElement("div");n.appendChild(r);const i=!0===t.actions||!1===t.actions?t.actions:Object.assign({export:!0,source:!1,compiled:!0,editor:!0},t.actions||{}),o=yield je(r,e,Object.assign({actions:i},t||{}));return n.value=o.view,n})}const Ne=(...t)=>t.length>1&&(e.isString(t[0])&&!function(e){return e.startsWith("http://")||e.startsWith("https://")||e.startsWith("//")}(t[0])||function(e){return e instanceof W||"object"==typeof HTMLElement?e instanceof HTMLElement:e&&"object"==typeof e&&null!==e&&1===e.nodeType&&"string"==typeof e.nodeName}(t[0])||3===t.length)?je(t[0],t[1],t[2]):ze(t[0],t[1]);return Ne.vl=_e,Ne.container=ze,Ne.embed=je,Ne.vega=xe,Ne.default=je,Ne.version=L,Ne});