@decidables/decidables-elements 0.3.4 → 0.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"decidablesElements.esm.min.js","sources":["../../../node_modules/lit/node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/lit/node_modules/@lit/reactive-element/reactive-element.js","../../../node_modules/lit/node_modules/lit-html/lit-html.js","../../../node_modules/lit/node_modules/lit-element/node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/lit/node_modules/lit-element/node_modules/@lit/reactive-element/reactive-element.js","../../../node_modules/lit/node_modules/lit-element/lit-element.js","../../../node_modules/d3-dispatch/src/dispatch.js","../../../node_modules/d3-selection/src/namespaces.js","../../../node_modules/d3-selection/src/namespace.js","../../../node_modules/d3-selection/src/creator.js","../../../node_modules/d3-selection/src/selector.js","../../../node_modules/d3-selection/src/array.js","../../../node_modules/d3-selection/src/selectorAll.js","../../../node_modules/d3-selection/src/matcher.js","../../../node_modules/d3-selection/src/selection/selectChild.js","../../../node_modules/d3-selection/src/selection/selectChildren.js","../../../node_modules/d3-selection/src/selection/sparse.js","../../../node_modules/d3-selection/src/selection/enter.js","../../../node_modules/d3-selection/src/constant.js","../../../node_modules/d3-selection/src/selection/data.js","../../../node_modules/d3-selection/src/selection/sort.js","../../../node_modules/d3-selection/src/selection/attr.js","../../../node_modules/d3-selection/src/window.js","../../../node_modules/d3-selection/src/selection/style.js","../../../node_modules/d3-selection/src/selection/property.js","../../../node_modules/d3-selection/src/selection/classed.js","../../../node_modules/d3-selection/src/selection/text.js","../../../node_modules/d3-selection/src/selection/html.js","../../../node_modules/d3-selection/src/selection/raise.js","../../../node_modules/d3-selection/src/selection/lower.js","../../../node_modules/d3-selection/src/selection/insert.js","../../../node_modules/d3-selection/src/selection/remove.js","../../../node_modules/d3-selection/src/selection/clone.js","../../../node_modules/d3-selection/src/selection/on.js","../../../node_modules/d3-selection/src/selection/dispatch.js","../../../node_modules/d3-selection/src/selection/index.js","../../../node_modules/d3-selection/src/select.js","../../../node_modules/d3-color/src/define.js","../../../node_modules/d3-color/src/color.js","../../../node_modules/d3-selection/src/selection/select.js","../../../node_modules/d3-selection/src/selection/selectAll.js","../../../node_modules/d3-selection/src/selection/filter.js","../../../node_modules/d3-selection/src/selection/exit.js","../../../node_modules/d3-selection/src/selection/join.js","../../../node_modules/d3-selection/src/selection/merge.js","../../../node_modules/d3-selection/src/selection/order.js","../../../node_modules/d3-selection/src/selection/call.js","../../../node_modules/d3-selection/src/selection/nodes.js","../../../node_modules/d3-selection/src/selection/node.js","../../../node_modules/d3-selection/src/selection/size.js","../../../node_modules/d3-selection/src/selection/empty.js","../../../node_modules/d3-selection/src/selection/each.js","../../../node_modules/d3-selection/src/selection/append.js","../../../node_modules/d3-selection/src/selection/datum.js","../../../node_modules/d3-selection/src/selection/iterator.js","../../../node_modules/d3-interpolate/src/constant.js","../../../node_modules/d3-interpolate/src/color.js","../../../node_modules/d3-interpolate/src/rgb.js","../../../node_modules/d3-interpolate/src/number.js","../../../node_modules/d3-interpolate/src/string.js","../../../node_modules/d3-interpolate/src/transform/decompose.js","../../../node_modules/d3-interpolate/src/transform/parse.js","../../../node_modules/d3-interpolate/src/transform/index.js","../../../node_modules/d3-timer/src/timer.js","../../../node_modules/d3-timer/src/timeout.js","../../../node_modules/d3-transition/src/transition/schedule.js","../../../node_modules/d3-transition/src/transition/tween.js","../../../node_modules/d3-transition/src/transition/interpolate.js","../../../node_modules/d3-transition/src/transition/attr.js","../../../node_modules/d3-transition/src/transition/attrTween.js","../../../node_modules/d3-transition/src/transition/delay.js","../../../node_modules/d3-transition/src/transition/duration.js","../../../node_modules/d3-transition/src/transition/ease.js","../../../node_modules/d3-transition/src/transition/on.js","../../../node_modules/d3-transition/src/transition/selection.js","../../../node_modules/d3-transition/src/transition/style.js","../../../node_modules/d3-transition/src/transition/styleTween.js","../../../node_modules/d3-transition/src/transition/textTween.js","../../../node_modules/d3-transition/src/transition/index.js","../../../node_modules/d3-transition/src/transition/select.js","../../../node_modules/d3-transition/src/transition/selectAll.js","../../../node_modules/d3-transition/src/transition/filter.js","../../../node_modules/d3-transition/src/transition/merge.js","../../../node_modules/d3-transition/src/transition/transition.js","../../../node_modules/d3-transition/src/transition/text.js","../../../node_modules/d3-transition/src/transition/remove.js","../../../node_modules/d3-transition/src/transition/easeVarying.js","../../../node_modules/d3-transition/src/transition/end.js","../../../node_modules/d3-transition/src/selection/transition.js","../../../node_modules/d3-ease/src/cubic.js","../../../node_modules/d3-zoom/src/transform.js","../../../node_modules/d3-transition/src/selection/index.js","../../../node_modules/d3-transition/src/selection/interrupt.js","../../../node_modules/d3-transition/src/interrupt.js","../src/decidables-element.js","../src/button.js","../../../node_modules/lit/node_modules/lit-html/directives/if-defined.js","../src/slider.js","../src/spinner.js","../src/switch.js","../src/toggle.js","../src/toggle-option.js","../src/converter-array.js","../src/converter-set.js"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=window,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),n=new WeakMap;class o{constructor(t,e,n){if(this._$cssResult$=!0,n!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=n.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&n.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new o(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const n=1===t.length?t[0]:e.reduce(((e,s,n)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[n+1]),t[0]);return new o(n,t,s)},S=(s,n)=>{e?s.adoptedStyleSheets=n.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):n.forEach((e=>{const n=document.createElement(\"style\"),o=t.litNonce;void 0!==o&&n.setAttribute(\"nonce\",o),n.textContent=e.cssText,s.appendChild(n)}))},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{o as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as i}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var s;const e=window,r=e.trustedTypes,h=r?r.emptyScript:\"\",o=e.reactiveElementPolyfillSupport,n={toAttribute(t,i){switch(i){case Boolean:t=t?h:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,i){let s=t;switch(i){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},a=(t,i)=>i!==t&&(i==i||t==t),l={attribute:!0,type:String,converter:n,reflect:!1,hasChanged:a};class d extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(t){var i;this.finalize(),(null!==(i=this.h)&&void 0!==i?i:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((i,s)=>{const e=this._$Ep(s,i);void 0!==e&&(this._$Ev.set(e,s),t.push(e))})),t}static createProperty(t,i=l){if(i.state&&(i.attribute=!1),this.finalize(),this.elementProperties.set(t,i),!i.noAccessor&&!this.prototype.hasOwnProperty(t)){const s=\"symbol\"==typeof t?Symbol():\"__\"+t,e=this.getPropertyDescriptor(t,s,i);void 0!==e&&Object.defineProperty(this.prototype,t,e)}}static getPropertyDescriptor(t,i,s){return{get(){return this[i]},set(e){const r=this[t];this[i]=e,this.requestUpdate(t,r,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||l}static finalize(){if(this.hasOwnProperty(\"finalized\"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),void 0!==t.h&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty(\"properties\")){const t=this.properties,i=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const s of i)this.createProperty(s,t[s])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(i){const s=[];if(Array.isArray(i)){const e=new Set(i.flat(1/0).reverse());for(const i of e)s.unshift(t(i))}else void 0!==i&&s.push(t(i));return s}static _$Ep(t,i){const s=i.attribute;return!1===s?void 0:\"string\"==typeof s?s:\"string\"==typeof t?t.toLowerCase():void 0}u(){var t;this._$E_=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach((t=>t(this)))}addController(t){var i,s;(null!==(i=this._$ES)&&void 0!==i?i:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(s=t.hostConnected)||void 0===s||s.call(t))}removeController(t){var i;null===(i=this._$ES)||void 0===i||i.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,i)=>{this.hasOwnProperty(i)&&(this._$Ei.set(i,this[i]),delete this[i])}))}createRenderRoot(){var t;const s=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return i(s,this.constructor.elementStyles),s}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostConnected)||void 0===i?void 0:i.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostDisconnected)||void 0===i?void 0:i.call(t)}))}attributeChangedCallback(t,i,s){this._$AK(t,s)}_$EO(t,i,s=l){var e;const r=this.constructor._$Ep(t,s);if(void 0!==r&&!0===s.reflect){const h=(void 0!==(null===(e=s.converter)||void 0===e?void 0:e.toAttribute)?s.converter:n).toAttribute(i,s.type);this._$El=t,null==h?this.removeAttribute(r):this.setAttribute(r,h),this._$El=null}}_$AK(t,i){var s;const e=this.constructor,r=e._$Ev.get(t);if(void 0!==r&&this._$El!==r){const t=e.getPropertyOptions(r),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(s=t.converter)||void 0===s?void 0:s.fromAttribute)?t.converter:n;this._$El=r,this[r]=h.fromAttribute(i,t.type),this._$El=null}}requestUpdate(t,i,s){let e=!0;void 0!==t&&(((s=s||this.constructor.getPropertyOptions(t)).hasChanged||a)(this[t],i)?(this._$AL.has(t)||this._$AL.set(t,i),!0===s.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,s))):e=!1),!this.isUpdatePending&&e&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((t,i)=>this[i]=t)),this._$Ei=void 0);let i=!1;const s=this._$AL;try{i=this.shouldUpdate(s),i?(this.willUpdate(s),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostUpdate)||void 0===i?void 0:i.call(t)})),this.update(s)):this._$Ek()}catch(t){throw i=!1,this._$Ek(),t}i&&this._$AE(s)}willUpdate(t){}_$AE(t){var i;null===(i=this._$ES)||void 0===i||i.forEach((t=>{var i;return null===(i=t.hostUpdated)||void 0===i?void 0:i.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,i)=>this._$EO(i,this[i],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}}d.finalized=!0,d.elementProperties=new Map,d.elementStyles=[],d.shadowRootOptions={mode:\"open\"},null==o||o({ReactiveElement:d}),(null!==(s=e.reactiveElementVersions)&&void 0!==s?s:e.reactiveElementVersions=[]).push(\"1.6.1\");export{d as ReactiveElement,n as defaultConverter,a as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=window,s=i.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,o=\"$lit$\",n=`lit$${(Math.random()+\"\").slice(9)}$`,l=\"?\"+n,h=`<${l}>`,r=document,d=()=>r.createComment(\"\"),u=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,c=Array.isArray,v=t=>c(t)||\"function\"==typeof(null==t?void 0:t[Symbol.iterator]),a=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${a}(?:([^\\\\s\"'>=/]+)(${a}*=${a}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,w=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=w(1),b=w(2),T=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),E=new WeakMap,C=r.createTreeWalker(r,129,null,!1),P=(t,i)=>{const s=t.length-1,l=[];let r,d=2===i?\"<svg>\":\"\",u=f;for(let i=0;i<s;i++){const s=t[i];let e,c,v=-1,a=0;for(;a<s.length&&(u.lastIndex=a,c=u.exec(s),null!==c);)a=u.lastIndex,u===f?\"!--\"===c[1]?u=_:void 0!==c[1]?u=m:void 0!==c[2]?(y.test(c[2])&&(r=RegExp(\"</\"+c[2],\"g\")),u=p):void 0!==c[3]&&(u=p):u===p?\">\"===c[0]?(u=null!=r?r:f,v=-1):void 0===c[1]?v=-2:(v=u.lastIndex-c[2].length,e=c[1],u=void 0===c[3]?p:'\"'===c[3]?$:g):u===$||u===g?u=p:u===_||u===m?u=f:(u=p,r=void 0);const w=u===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";d+=u===f?s+h:v>=0?(l.push(e),s.slice(0,v)+o+s.slice(v)+n+w):s+n+(-2===v?(l.push(void 0),i):w)}const c=d+(t[s]||\"<?>\")+(2===i?\"</svg>\":\"\");if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return[void 0!==e?e.createHTML(c):c,l]};class V{constructor({strings:t,_$litType$:i},e){let h;this.parts=[];let r=0,u=0;const c=t.length-1,v=this.parts,[a,f]=P(t,i);if(this.el=V.createElement(a,e),C.currentNode=this.el.content,2===i){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(h=C.nextNode())&&v.length<c;){if(1===h.nodeType){if(h.hasAttributes()){const t=[];for(const i of h.getAttributeNames())if(i.endsWith(o)||i.startsWith(n)){const s=f[u++];if(t.push(i),void 0!==s){const t=h.getAttribute(s.toLowerCase()+o).split(n),i=/([.?@])?(.*)/.exec(s);v.push({type:1,index:r,name:i[2],strings:t,ctor:\".\"===i[1]?k:\"?\"===i[1]?I:\"@\"===i[1]?L:R})}else v.push({type:6,index:r})}for(const i of t)h.removeAttribute(i)}if(y.test(h.tagName)){const t=h.textContent.split(n),i=t.length-1;if(i>0){h.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)h.append(t[s],d()),C.nextNode(),v.push({type:2,index:++r});h.append(t[i],d())}}}else if(8===h.nodeType)if(h.data===l)v.push({type:2,index:r});else{let t=-1;for(;-1!==(t=h.data.indexOf(n,t+1));)v.push({type:7,index:r}),t+=n.length-1}r++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function N(t,i,s=t,e){var o,n,l,h;if(i===T)return i;let r=void 0!==e?null===(o=s._$Co)||void 0===o?void 0:o[e]:s._$Cl;const d=u(i)?void 0:i._$litDirective$;return(null==r?void 0:r.constructor)!==d&&(null===(n=null==r?void 0:r._$AO)||void 0===n||n.call(r,!1),void 0===d?r=void 0:(r=new d(t),r._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Co)&&void 0!==l?l:h._$Co=[])[e]=r:s._$Cl=r),void 0!==r&&(i=N(t,r._$AS(t,i.values),r,e)),i}class S{constructor(t,i){this.u=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}v(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:r).importNode(s,!0);C.currentNode=o;let n=C.nextNode(),l=0,h=0,d=e[0];for(;void 0!==d;){if(l===d.index){let i;2===d.type?i=new M(n,n.nextSibling,this,t):1===d.type?i=new d.ctor(n,d.name,d.strings,this,t):6===d.type&&(i=new z(n,this,t)),this.u.push(i),d=e[++h]}l!==(null==d?void 0:d.index)&&(n=C.nextNode(),l++)}return o}p(t){let i=0;for(const s of this.u)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class M{constructor(t,i,s,e){var o;this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cm=null===(o=null==e?void 0:e.isConnected)||void 0===o||o}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cm}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===(null==t?void 0:t.nodeType)&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=N(this,t,i),u(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==T&&this.g(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):v(t)?this.k(t):this.g(t)}S(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.S(t))}g(t){this._$AH!==A&&u(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){var i;const{values:s,_$litType$:e}=t,o=\"number\"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=V.createElement(e.h,this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.p(s);else{const t=new S(o,this),i=t.v(this.options);t.p(s),this.T(i),this._$AH=t}}_$AC(t){let i=E.get(t.strings);return void 0===i&&E.set(t.strings,i=new V(t)),i}k(t){c(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const o of t)e===i.length?i.push(s=new M(this.S(d()),this.S(d()),this,this.options)):s=i[e],s._$AI(o),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){var i;void 0===this._$AM&&(this._$Cm=t,null===(i=this._$AP)||void 0===i||i.call(this,t))}}class R{constructor(t,i,s,e,o){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=o,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=N(this,t,i,0),n=!u(t)||t!==this._$AH&&t!==T,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=N(this,e[s+l],i,l),h===T&&(h=this._$AH[l]),n||(n=!u(h)||h!==this._$AH[l]),h===A?t=A:t!==A&&(t+=(null!=h?h:\"\")+o[l+1]),this._$AH[l]=h}n&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:\"\")}}class k extends R{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}const H=s?s.emptyScript:\"\";class I extends R{constructor(){super(...arguments),this.type=4}j(t){t&&t!==A?this.element.setAttribute(this.name,H):this.element.removeAttribute(this.name)}}class L extends R{constructor(t,i,s,e,o){super(t,i,s,e,o),this.type=5}_$AI(t,i=this){var s;if((t=null!==(s=N(this,t,i,0))&&void 0!==s?s:A)===T)return;const e=this._$AH,o=t===A&&e!==A||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==A&&(e===A||o);o&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var i,s;\"function\"==typeof this._$AH?this._$AH.call(null!==(s=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){N(this,t)}}const Z={P:o,A:n,M:l,C:1,L:P,D:S,R:v,V:N,I:M,H:R,N:I,U:L,F:k,B:z},j=i.litHtmlPolyfillSupport;null==j||j(V,M),(null!==(t=i.litHtmlVersions)&&void 0!==t?t:i.litHtmlVersions=[]).push(\"2.7.0\");const B=(t,i,s)=>{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new M(i.insertBefore(d(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l};export{Z as _$LH,x as html,T as noChange,A as nothing,B as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,e=Symbol(),n=new Map;class s{constructor(t,n){if(this._$cssResult$=!0,n!==e)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t}get styleSheet(){let e=n.get(this.cssText);return t&&void 0===e&&(n.set(this.cssText,e=new CSSStyleSheet),e.replaceSync(this.cssText)),e}toString(){return this.cssText}}const o=t=>new s(\"string\"==typeof t?t:t+\"\",e),r=(t,...n)=>{const o=1===t.length?t[0]:n.reduce(((e,n,s)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(n)+t[s+1]),t[0]);return new s(o,e)},i=(e,n)=>{t?e.adoptedStyleSheets=n.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):n.forEach((t=>{const n=document.createElement(\"style\"),s=window.litNonce;void 0!==s&&n.setAttribute(\"nonce\",s),n.textContent=t.cssText,e.appendChild(n)}))},S=t?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const n of t.cssRules)e+=n.cssText;return o(e)})(t):t;export{s as CSSResult,i as adoptStyles,r as css,S as getCompatibleStyle,t as supportsAdoptingStyleSheets,o as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as i}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var s;const e=window.trustedTypes,r=e?e.emptyScript:\"\",h=window.reactiveElementPolyfillSupport,o={toAttribute(t,i){switch(i){case Boolean:t=t?r:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,i){let s=t;switch(i){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},n=(t,i)=>i!==t&&(i==i||t==t),l={attribute:!0,type:String,converter:o,reflect:!1,hasChanged:n};class a extends HTMLElement{constructor(){super(),this._$Et=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Ei=null,this.o()}static addInitializer(t){var i;null!==(i=this.l)&&void 0!==i||(this.l=[]),this.l.push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((i,s)=>{const e=this._$Eh(s,i);void 0!==e&&(this._$Eu.set(e,s),t.push(e))})),t}static createProperty(t,i=l){if(i.state&&(i.attribute=!1),this.finalize(),this.elementProperties.set(t,i),!i.noAccessor&&!this.prototype.hasOwnProperty(t)){const s=\"symbol\"==typeof t?Symbol():\"__\"+t,e=this.getPropertyDescriptor(t,s,i);void 0!==e&&Object.defineProperty(this.prototype,t,e)}}static getPropertyDescriptor(t,i,s){return{get(){return this[i]},set(e){const r=this[t];this[i]=e,this.requestUpdate(t,r,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||l}static finalize(){if(this.hasOwnProperty(\"finalized\"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),this.elementProperties=new Map(t.elementProperties),this._$Eu=new Map,this.hasOwnProperty(\"properties\")){const t=this.properties,i=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const s of i)this.createProperty(s,t[s])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(i){const s=[];if(Array.isArray(i)){const e=new Set(i.flat(1/0).reverse());for(const i of e)s.unshift(t(i))}else void 0!==i&&s.push(t(i));return s}static _$Eh(t,i){const s=i.attribute;return!1===s?void 0:\"string\"==typeof s?s:\"string\"==typeof t?t.toLowerCase():void 0}o(){var t;this._$Ep=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Em(),this.requestUpdate(),null===(t=this.constructor.l)||void 0===t||t.forEach((t=>t(this)))}addController(t){var i,s;(null!==(i=this._$Eg)&&void 0!==i?i:this._$Eg=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(s=t.hostConnected)||void 0===s||s.call(t))}removeController(t){var i;null===(i=this._$Eg)||void 0===i||i.splice(this._$Eg.indexOf(t)>>>0,1)}_$Em(){this.constructor.elementProperties.forEach(((t,i)=>{this.hasOwnProperty(i)&&(this._$Et.set(i,this[i]),delete this[i])}))}createRenderRoot(){var t;const s=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return i(s,this.constructor.elementStyles),s}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostConnected)||void 0===i?void 0:i.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostDisconnected)||void 0===i?void 0:i.call(t)}))}attributeChangedCallback(t,i,s){this._$AK(t,s)}_$ES(t,i,s=l){var e,r;const h=this.constructor._$Eh(t,s);if(void 0!==h&&!0===s.reflect){const n=(null!==(r=null===(e=s.converter)||void 0===e?void 0:e.toAttribute)&&void 0!==r?r:o.toAttribute)(i,s.type);this._$Ei=t,null==n?this.removeAttribute(h):this.setAttribute(h,n),this._$Ei=null}}_$AK(t,i){var s,e,r;const h=this.constructor,n=h._$Eu.get(t);if(void 0!==n&&this._$Ei!==n){const t=h.getPropertyOptions(n),l=t.converter,a=null!==(r=null!==(e=null===(s=l)||void 0===s?void 0:s.fromAttribute)&&void 0!==e?e:\"function\"==typeof l?l:null)&&void 0!==r?r:o.fromAttribute;this._$Ei=n,this[n]=a(i,t.type),this._$Ei=null}}requestUpdate(t,i,s){let e=!0;void 0!==t&&(((s=s||this.constructor.getPropertyOptions(t)).hasChanged||n)(this[t],i)?(this._$AL.has(t)||this._$AL.set(t,i),!0===s.reflect&&this._$Ei!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,s))):e=!1),!this.isUpdatePending&&e&&(this._$Ep=this._$E_())}async _$E_(){this.isUpdatePending=!0;try{await this._$Ep}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Et&&(this._$Et.forEach(((t,i)=>this[i]=t)),this._$Et=void 0);let i=!1;const s=this._$AL;try{i=this.shouldUpdate(s),i?(this.willUpdate(s),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostUpdate)||void 0===i?void 0:i.call(t)})),this.update(s)):this._$EU()}catch(t){throw i=!1,this._$EU(),t}i&&this._$AE(s)}willUpdate(t){}_$AE(t){var i;null===(i=this._$Eg)||void 0===i||i.forEach((t=>{var i;return null===(i=t.hostUpdated)||void 0===i?void 0:i.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Ep}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,i)=>this._$ES(i,this[i],t))),this._$EC=void 0),this._$EU()}updated(t){}firstUpdated(t){}}a.finalized=!0,a.elementProperties=new Map,a.elementStyles=[],a.shadowRootOptions={mode:\"open\"},null==h||h({ReactiveElement:a}),(null!==(s=globalThis.reactiveElementVersions)&&void 0!==s?s:globalThis.reactiveElementVersions=[]).push(\"1.3.1\");export{a as ReactiveElement,o as defaultConverter,n as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var l,o;const r=t;class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return i}}s.finalized=!0,s._$litElement$=!0,null===(l=globalThis.litElementHydrateSupport)||void 0===l||l.call(globalThis,{LitElement:s});const n=globalThis.litElementPolyfillSupport;null==n||n({LitElement:s});const h={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(null!==(o=globalThis.litElementVersions)&&void 0!==o?o:globalThis.litElementVersions=[]).push(\"3.3.0\");export{s as LitElement,r as UpdatingElement,h as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","var noop = {value: () => {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import namespaces from \"./namespaces.js\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; // eslint-disable-line no-prototype-builtins\n}\n","import namespace from \"./namespace.js\";\nimport {xhtml} from \"./namespaces.js\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","// Given something array like (or null), returns something that is strictly an\n// array. This is used to ensure that array-like objects passed to d3.selectAll\n// or selection.selectAll are converted into proper arrays when creating a\n// selection; we don’t ever want to create a selection backed by a live\n// HTMLCollection or NodeList. However, note that selection.selectAll will use a\n// static NodeList as a group, since it safely derived from querySelectorAll.\nexport default function array(x) {\n return x == null ? [] : Array.isArray(x) ? x : Array.from(x);\n}\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n\nexport function childMatcher(selector) {\n return function(node) {\n return node.matches(selector);\n };\n}\n\n","import {childMatcher} from \"../matcher.js\";\n\nvar find = Array.prototype.find;\n\nfunction childFind(match) {\n return function() {\n return find.call(this.children, match);\n };\n}\n\nfunction childFirst() {\n return this.firstElementChild;\n}\n\nexport default function(match) {\n return this.select(match == null ? childFirst\n : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {childMatcher} from \"../matcher.js\";\n\nvar filter = Array.prototype.filter;\n\nfunction children() {\n return Array.from(this.children);\n}\n\nfunction childrenFilter(match) {\n return function() {\n return filter.call(this.children, match);\n };\n}\n\nexport default function(match) {\n return this.selectAll(match == null ? children\n : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import {Selection} from \"./index.js\";\nimport {EnterNode} from \"./enter.js\";\nimport constant from \"../constant.js\";\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = new Map,\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n if (nodeByKeyValue.has(keyValue)) {\n exit[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = key.call(parent, data[i], i, data) + \"\";\n if (node = nodeByKeyValue.get(keyValue)) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue.delete(keyValue);\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue.get(keyValues[i]) === node)) {\n exit[i] = node;\n }\n }\n}\n\nfunction datum(node) {\n return node.__data__;\n}\n\nexport default function(value, key) {\n if (!arguments.length) return Array.from(this, datum);\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = arraylike(value.call(parent, parent && parent.__data__, j, parents)),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n\n// Given some data, this returns an array-like view of it: an object that\n// exposes a length property and allows numeric indexing. Note that unlike\n// selectAll, this isn’t worried about “live” collections because the resulting\n// array will only be used briefly while data is being bound. (It is possible to\n// cause the data to change while iterating by using a key function, but please\n// don’t; we’d rather avoid a gratuitous copy.)\nfunction arraylike(data) {\n return typeof data === \"object\" && \"length\" in data\n ? data // Array, TypedArray, NodeList, array-like\n : Array.from(data); // Map, Set, iterable, string, or anything else\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import namespace from \"../namespace.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import defaultView from \"../window.js\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","function contextListener(listener) {\n return function(event) {\n listener.call(this, event, this.__data__);\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, options) {\n return function() {\n var on = this.__on, o, listener = contextListener(value);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n this.addEventListener(o.type, o.listener = listener, o.options = options);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, options);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, options: options};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, options) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));\n return this;\n}\n","import defaultView from \"../window.js\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","import selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nfunction selection_selection() {\n return this;\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n selectChild: selection_selectChild,\n selectChildren: selection_selectChildren,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n selection: selection_selection,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch,\n [Symbol.iterator]: selection_iterator\n};\n\nexport default selection;\n","import {Selection, root} from \"./selection/index.js\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy: function(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\n\nfunction rgb_formatRgb() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\")\n + (this.h || 0) + \", \"\n + (this.s || 0) * 100 + \"%, \"\n + (this.l || 0) * 100 + \"%\"\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","import {Selection} from \"./index.js\";\nimport selector from \"../selector.js\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","import {Selection} from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\n\nfunction arrayAll(select) {\n return function() {\n return array(select.apply(this, arguments));\n };\n}\n\nexport default function(select) {\n if (typeof select === \"function\") select = arrayAll(select);\n else select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","import {Selection} from \"./index.js\";\nimport matcher from \"../matcher.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n if (typeof onenter === \"function\") {\n enter = onenter(enter);\n if (enter) enter = enter.selection();\n } else {\n enter = enter.append(onenter + \"\");\n }\n if (onupdate != null) {\n update = onupdate(update);\n if (update) update = update.selection();\n }\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(context) {\n var selection = context.selection ? context.selection() : context;\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n return Array.from(this);\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n let size = 0;\n for (const node of this) ++size; // eslint-disable-line no-unused-vars\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","import creator from \"../creator.js\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","export default function*() {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) yield node;\n }\n }\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n","import decompose, {identity} from \"./decompose.js\";\n\nvar svgNode;\n\n/* eslint-disable no-undef */\nexport function parseCss(value) {\n const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(undefined, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(elapsed => {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(node, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n return function(t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n return function(t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\n\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n","import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = style(this, name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction styleMaybeRemove(id, name) {\n var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n return function() {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleNull(name, i))\n .on(\"end.style.\" + name, styleRemove(name))\n : typeof value === \"function\" ? this\n .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n .each(styleMaybeRemove(this._id, name))\n : this\n .styleTween(name, styleConstant(name, i, value), priority)\n .on(\"end.style.\" + name, null);\n}\n","function styleInterpolate(name, i, priority) {\n return function(t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\n\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","function textInterpolate(i) {\n return function(t) {\n this.textContent = i.call(this, t);\n };\n}\n\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, textTween(value));\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n selectChild: selection_prototype.selectChild,\n selectChildren: selection_prototype.selectChildren,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n easeVarying: transition_easeVarying,\n end: transition_end,\n [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n","import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n","function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {set} from \"./schedule.js\";\n\nfunction easeVarying(id, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (typeof v !== \"function\") throw new Error;\n set(this, id).ease = v;\n };\n}\n\nexport default function(value) {\n if (typeof value !== \"function\") throw new Error;\n return this.each(easeVarying(this._id, value));\n}\n","import {set} from \"./schedule.js\";\n\nexport default function() {\n var on0, on1, that = this, id = that._id, size = that.size();\n return new Promise(function(resolve, reject) {\n var cancel = {value: reject},\n end = {value: function() { if (--size === 0) resolve(); }};\n\n that.each(function() {\n var schedule = set(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n\n schedule.on = on1;\n });\n\n // The selection was empty, resolve end immediately\n if (size === 0) resolve();\n });\n}\n","import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n throw new Error(`transition ${id} not found`);\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","export function Transform(k, x, y) {\n this.k = k;\n this.x = x;\n this.y = y;\n}\n\nTransform.prototype = {\n constructor: Transform,\n scale: function(k) {\n return k === 1 ? this : new Transform(this.k * k, this.x, this.y);\n },\n translate: function(x, y) {\n return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);\n },\n apply: function(point) {\n return [point[0] * this.k + this.x, point[1] * this.k + this.y];\n },\n applyX: function(x) {\n return x * this.k + this.x;\n },\n applyY: function(y) {\n return y * this.k + this.y;\n },\n invert: function(location) {\n return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];\n },\n invertX: function(x) {\n return (x - this.x) / this.k;\n },\n invertY: function(y) {\n return (y - this.y) / this.k;\n },\n rescaleX: function(x) {\n return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));\n },\n rescaleY: function(y) {\n return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));\n },\n toString: function() {\n return \"translate(\" + this.x + \",\" + this.y + \") scale(\" + this.k + \")\";\n }\n};\n\nexport var identity = new Transform(1, 0, 0);\n\ntransform.prototype = Transform.prototype;\n\nexport default function transform(node) {\n while (!node.__zoom) if (!(node = node.parentNode)) return identity;\n return node.__zoom;\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","\nimport {\n LitElement,\n css,\n svg,\n unsafeCSS,\n} from 'lit';\nimport * as d3 from 'd3';\n\n/*\n DecidablesElement Base Class - Not intended for instantiation!\n <decidables-element>\n*/\nexport default class DecidablesElement extends LitElement {\n getComputedStyleValue(property) {\n return getComputedStyle(this).getPropertyValue(property).trim();\n }\n\n firstUpdated(changedProperties) {\n super.firstUpdated(changedProperties);\n\n // Use focus highlighting if keyboard is used at all\n d3.select(this.renderRoot.host)\n .classed('keyboard', true)\n .on('mousemove.keyboard touchstart.keyboard', (event) => {\n const element = event.currentTarget;\n d3.select(element.renderRoot.host)\n .classed('keyboard', false)\n .on('mousemove.keyboard touchstart.keyboard', null);\n })\n .on('keydown.keyboard', (event) => {\n const element = event.currentTarget;\n d3.select(element.renderRoot.host)\n .classed('keyboard', true)\n .on('keydown.keyboard mousemove.keyboard touchstart.keyboard', null);\n });\n }\n\n static get greys() {\n const grey = '#999999';\n const greys = {};\n greys.white = '#ffffff';\n greys.light75 = d3.interpolateRgb(grey, '#ffffff')(0.75);\n greys.light50 = d3.interpolateRgb(grey, '#ffffff')(0.5);\n greys.light25 = d3.interpolateRgb(grey, '#ffffff')(0.25);\n greys.grey = grey;\n greys.dark25 = d3.interpolateRgb(grey, '#000000')(0.25);\n greys.dark50 = d3.interpolateRgb(grey, '#000000')(0.5);\n greys.dark75 = d3.interpolateRgb(grey, '#000000')(0.75);\n greys.black = '#000000';\n return greys;\n }\n\n static get shadows() {\n // Material Design elevation styles\n // References:\n // https://github.com/material-components/material-components-web/tree/master/packages/mdc-elevation\n // https://codepen.io/hanger/pen/yOGvQp\n /* eslint-disable key-spacing, object-curly-newline */\n return {\n elevations: [0, 2, 4, 8, 16],\n baselineColor: '#000000',\n baselineColorString: '0, 0, 0',\n inverseBaselineColor: '#FFFFFF',\n inverseBaselineColorString: '255, 255, 255',\n opacityUmbra: 0.2,\n opacityPenumbra: 0.14,\n opacityAmbient: 0.12,\n opacityBoost: 0.2,\n mapUmbra: {// $mdc-elevation-umbra-map\n 0: {x: 0, y: 0, b: 0, s: 0}, // offset-x, offset-y, blur-radius, spread-radius\n 2: {x: 0, y: 3, b: 1, s: -2},\n 4: {x: 0, y: 2, b: 4, s: -1},\n 8: {x: 0, y: 5, b: 5, s: -3},\n 16: {x: 0, y: 8, b: 10, s: -5},\n },\n mapPenumbra: {// $mdc-elevation-penumbra-map\n 0: {x: 0, y: 0, b: 0, s: 0}, // offset-x, offset-y, blur-radius, spread-radius\n 2: {x: 0, y: 2, b: 2, s: 0},\n 4: {x: 0, y: 4, b: 5, s: 0},\n 8: {x: 0, y: 8, b: 10, s: 1},\n 16: {x: 0, y: 16, b: 24, s: 2},\n },\n mapAmbient: {// $mdc-elevation-ambient-map\n 0: {x: 0, y: 0, b: 0, s: 0}, // offset-x, offset-y, blur-radius, spread-radius\n 2: {x: 0, y: 1, b: 5, s: 0},\n 4: {x: 0, y: 1, b: 10, s: 0},\n 8: {x: 0, y: 3, b: 14, s: 2},\n 16: {x: 0, y: 6, b: 30, s: 5},\n },\n };\n /* eslint-enable key-spacing, object-curly-newline */\n }\n\n static cssBoxShadow(elevation, rotate = false, inverse = false) {\n const umbraO = this.shadows.opacityUmbra + this.shadows.opacityBoost;\n const penumbraO = this.shadows.opacityPenumbra + this.shadows.opacityBoost;\n const ambientO = this.shadows.opacityAmbient + this.shadows.opacityBoost;\n\n const umbraC = (inverse)\n ? `rgba(${this.shadows.inverseBaselineColorString}, ${umbraO})`\n : `rgba(${this.shadows.baselineColorString}, ${umbraO})`;\n const penumbraC = (inverse)\n ? `rgba(${this.shadows.inverseBaselineColorString}, ${penumbraO})`\n : `rgba(${this.shadows.baselineColorString}, ${penumbraO})`;\n const ambientC = (inverse)\n ? `rgba(${this.shadows.inverseBaselineColorString}, ${ambientO})`\n : `rgba(${this.shadows.baselineColorString}, ${ambientO})`;\n\n const umbraM = this.shadows.mapUmbra[elevation];\n const penumbraM = this.shadows.mapPenumbra[elevation];\n const ambientM = this.shadows.mapAmbient[elevation];\n\n const umbraS = (rotate)\n ? `${-umbraM.y}px ${umbraM.y / 2}px ${umbraM.b}px ${umbraM.s}px`\n : `${umbraM.y / 2}px ${umbraM.y}px ${umbraM.b}px ${umbraM.s}px`;\n const penumbraS = (rotate)\n ? `${-penumbraM.y}px ${penumbraM.y / 2}px ${penumbraM.b}px ${penumbraM.s}px`\n : `${penumbraM.y / 2}px ${penumbraM.y}px ${penumbraM.b}px ${penumbraM.s}px`;\n const ambientS = (rotate)\n ? `${-ambientM.y}px ${ambientM.y / 2}px ${ambientM.b}px ${ambientM.s}px`\n : `${ambientM.y / 2}px ${ambientM.y}px ${ambientM.b}px ${ambientM.s}px`;\n\n return `${umbraS} ${umbraC}, ${penumbraS} ${penumbraC}, ${ambientS} ${ambientC}`;\n }\n\n static get svgFilters() {\n const shadows = DecidablesElement.shadows; /* eslint-disable-line prefer-destructuring */\n\n const filters = shadows.elevations.map((z) => {\n return svg`\n <filter id=${`shadow-${z}`} x=\"-250%\" y=\"-250%\" width=\"600%\" height=\"600%\">\n <feComponentTransfer in=\"SourceAlpha\" result=\"solid\">\n <feFuncA type=\"table\" tableValues=\"0 1 1\"/>\n </feComponentTransfer>\n <feOffset in=\"solid\" result=\"offU\" dx=${shadows.mapUmbra[z].y / 2} dy=${shadows.mapUmbra[z].y} />\n <feOffset in=\"solid\" result=\"offP\" dx=${shadows.mapPenumbra[z].y / 2} dy=${shadows.mapPenumbra[z].y} />\n <feOffset in=\"solid\" result=\"offA\" dx=${shadows.mapAmbient[z].y / 2} dy=${shadows.mapAmbient[z].y} />\n ${(shadows.mapUmbra[z].s === 0)\n ? svg``\n : svg`<feMorphology in=\"offU\" result=\"spreadU\" operator=${(shadows.mapUmbra[z].s > 0) ? 'dilate' : 'erode'} radius=${Math.abs(shadows.mapUmbra[z].s)} />`\n }\n ${(shadows.mapPenumbra[z].s === 0)\n ? svg``\n : svg`<feMorphology in=\"offP\" result=\"spreadP\" operator=${(shadows.mapPenumbra[z].s > 0) ? 'dilate' : 'erode'} radius=${Math.abs(shadows.mapPenumbra[z].s)} />`\n }\n ${(shadows.mapAmbient[z].s === 0)\n ? svg``\n : svg`<feMorphology in=\"offA\" result=\"spreadA\" operator=${(shadows.mapAmbient[z].s > 0) ? 'dilate' : 'erode'} radius=${Math.abs(shadows.mapAmbient[z].s)} />`\n }\n <feGaussianBlur in=${(shadows.mapUmbra[z].s === 0) ? 'offU' : 'spreadU'} result=\"blurU\" stdDeviation=${shadows.mapUmbra[z].b / 2} />\n <feGaussianBlur in=${(shadows.mapPenumbra[z].s === 0) ? 'offP' : 'spreadP'} result=\"blurP\" stdDeviation=${shadows.mapPenumbra[z].b / 2} />\n <feGaussianBlur in=${(shadows.mapAmbient[z].s === 0) ? 'offA' : 'spreadA'} result=\"blurA\" stdDeviation=${shadows.mapAmbient[z].b / 2} />\n <feFlood in=\"SourceGraphic\" result=\"opU\" flood-color=${shadows.baselineColor} flood-opacity=${shadows.opacityUmbra + shadows.opacityBoost} />\n <feFlood in=\"SourceGraphic\" result=\"opP\" flood-color=${shadows.baselineColor} flood-opacity=${shadows.opacityPenumbra + shadows.opacityBoost} />\n <feFlood in=\"SourceGraphic\" result=\"opA\" flood-color=${shadows.baselineColor} flood-opacity=${shadows.opacityAmbient + shadows.opacityBoost} />\n <feComposite in=\"opU\" in2=\"blurU\" result=\"shU\" operator=\"in\" />\n <feComposite in=\"opP\" in2=\"blurP\" result=\"shP\" operator=\"in\" />\n <feComposite in=\"opA\" in2=\"blurA\" result=\"shA\" operator=\"in\" />\n <feMorphology in=\"solid\" result=\"smaller\" operator=\"erode\" radius=\"1\" />\n <feComposite in=\"shU\" in2=\"smaller\" result=\"finalU\" operator=\"out\" />\n <feComposite in=\"shP\" in2=\"smaller\" result=\"finalP\" operator=\"out\" />\n <feComposite in=\"shA\" in2=\"smaller\" result=\"finalA\" operator=\"out\" />\n <feMerge>\n <feMergeNode in=\"finalU\" />\n <feMergeNode in=\"finalP\" />\n <feMergeNode in=\"finalA\" />\n <feMergeNode in=\"SourceGraphic\" />\n </feMerge>\n </filter>`;\n });\n\n return svg`\n <svg class=\"defs\">\n <defs>\n ${filters}\n </defs>\n </svg>\n `;\n }\n\n static get styles() {\n return css`\n :host {\n ---shadow-0: var(--shadow-0, ${unsafeCSS(this.cssBoxShadow(0))});\n ---shadow-2: var(--shadow-2, ${unsafeCSS(this.cssBoxShadow(2))});\n ---shadow-4: var(--shadow-4, ${unsafeCSS(this.cssBoxShadow(4))});\n ---shadow-8: var(--shadow-8, ${unsafeCSS(this.cssBoxShadow(8))});\n\n ---color-background: var(--color-background, ${unsafeCSS(this.greys.white)});\n ---color-border: var(--color-border, ${unsafeCSS(this.greys.light75)});\n ---color-text: var(--color-text, ${unsafeCSS(this.greys.dark75)});\n ---color-text-inverse: var(--color-text-inverse, ${unsafeCSS(this.greys.white)});\n ---color-link: var(--color-link, ${unsafeCSS(this.greys.dark25)});\n ---color-element-background: var(--color-element-background, ${unsafeCSS(this.greys.light75)});\n ---color-element-disabled: var(--color-element-disabled, ${unsafeCSS(this.greys.light50)});\n ---color-element-enabled: var(--color-element-enabled, ${unsafeCSS(this.greys.dark25)});\n ---color-element-selected: var(--color-element-selected, ${unsafeCSS(this.greys.grey)});\n ---color-element-border: var(--color-element-border, ${unsafeCSS(this.greys.dark50)});\n ---color-element-emphasis: var(--color-element-emphasis, ${unsafeCSS(this.greys.dark75)});\n\n ---font-family-base: var(--font-family-base, \"Source Sans\", sans-serif);\n ---font-family-math: var(--font-family-math, \"Source Serif\", serif);\n\n ---border: var(--border, 1px solid var(---color-border));\n ---border-radius: var(--border-radius, 0.25rem);\n ---transition-duration: var(--transition-duration, 500ms);\n\n font-family: var(---font-family-base);\n }\n\n :host,\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: border-box;\n }\n\n .math-greek {\n font-family: var(---font-family-math);\n font-style: normal;\n }\n\n .math-num {\n font-family: var(---font-family-base);\n font-style: normal;\n }\n\n .math-var {\n font-family: var(---font-family-math);\n font-style: italic;\n }\n\n .defs {\n display: block;\n\n width: 0;\n height: 0;\n }\n `;\n }\n}\n","\nimport {html, css} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesButton extends DecidablesElement {\n static get properties() {\n return {\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.disabled = false;\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n :host {\n margin: 0.25rem;\n }\n\n button {\n width: 100%;\n height: 100%;\n padding: 0.375rem 0.75rem;\n\n font-family: var(---font-family-base);\n font-size: 1.125rem;\n line-height: 1.5;\n color: var(---color-text-inverse);\n\n border: 0;\n border-radius: var(---border-radius);\n outline: none;\n }\n\n button:disabled {\n background-color: var(--decidables-button-background-color, var(---color-element-disabled));\n outline: none;\n box-shadow: none;\n }\n\n button:enabled {\n cursor: pointer;\n\n background-color: var(--decidables-button-background-color, var(---color-element-enabled));\n outline: none;\n box-shadow: var(---shadow-2);\n }\n\n button:enabled:hover {\n outline: none;\n box-shadow: var(---shadow-4);\n }\n\n button:enabled:active {\n outline: none;\n box-shadow: var(---shadow-8);\n }\n\n :host(.keyboard) button:enabled:focus {\n outline: none;\n box-shadow: var(---shadow-4);\n }\n\n :host(.keyboard) button:enabled:focus:active {\n outline: none;\n box-shadow: var(---shadow-8);\n }\n `,\n ];\n }\n\n render() {\n return html`\n <button ?disabled=${this.disabled}>\n <slot></slot>\n </button>\n `;\n }\n}\n\ncustomElements.define('decidables-button', DecidablesButton);\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const l=l=>null!=l?l:t;export{l as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","\nimport {ifDefined} from 'lit/directives/if-defined.js'; /* eslint-disable-line import/extensions */\nimport {html, css, unsafeCSS} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesSlider extends DecidablesElement {\n static get properties() {\n return {\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n max: {\n attribute: 'max',\n type: Number,\n reflect: true,\n },\n min: {\n attribute: 'min',\n type: Number,\n reflect: true,\n },\n step: {\n attribute: 'step',\n type: Number,\n reflect: true,\n },\n value: {\n attribute: 'value',\n type: Number,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.disabled = false;\n this.max = undefined;\n this.min = undefined;\n this.step = undefined;\n this.value = undefined;\n }\n\n changed(event) {\n this.value = event.target.value;\n this.dispatchEvent(new CustomEvent('change', {\n detail: {\n value: this.value,\n },\n bubbles: true,\n }));\n }\n\n inputted(event) {\n this.value = event.target.value;\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n :host {\n ---shadow-2-rotate: var(--shadow-2-rotate, ${unsafeCSS(this.cssBoxShadow(2, true, false))});\n ---shadow-4-rotate: var(--shadow-4-rotate, ${unsafeCSS(this.cssBoxShadow(4, true, false))});\n ---shadow-8-rotate: var(--shadow-8-rotate, ${unsafeCSS(this.cssBoxShadow(8, true, false))});\n\n display: flex;\n\n flex-direction: column;\n\n align-items: center;\n justify-content: center;\n }\n\n label {\n margin: 0.25rem 0.25rem 0;\n }\n\n .range {\n display: inline-block;\n\n width: 3.5rem;\n height: 4.75rem;\n margin: 0 0.25rem 0.25rem;\n }\n\n decidables-spinner {\n --decidables-spinner-input-width: 3.5rem;\n\n margin: 0 0.25rem 0.25rem;\n }\n\n /* Adapted from http://danielstern.ca/range.css/#/ */\n /* Overall */\n input[type=range] {\n width: 4.75rem;\n height: 3.5rem;\n padding: 0;\n margin: 0;\n\n background-color: unset;\n\n transform: rotate(-90deg);\n transform-origin: 2.375rem 2.375rem;\n\n /* stylelint-disable-next-line property-no-vendor-prefix */\n -webkit-appearance: none;\n }\n\n input[type=range]:enabled {\n cursor: ns-resize;\n }\n\n input[type=range]:focus {\n outline: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-ms-tooltip {\n display: none;\n }\n\n /* Track */\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-webkit-slider-runnable-track {\n width: 100%;\n height: 4px;\n\n background: var(---color-element-disabled);\n border: 0;\n border-radius: 2px;\n box-shadow: none;\n }\n\n input[type=range]:focus::-webkit-slider-runnable-track {\n background: var(---color-element-disabled);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-moz-range-track {\n width: 100%;\n height: 4px;\n\n background: var(---color-element-disabled);\n border: 0;\n border-radius: 2px;\n box-shadow: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-ms-track {\n width: 100%;\n height: 4px;\n\n color: transparent;\n\n background: transparent;\n border-color: transparent;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-ms-fill-lower {\n background: #cccccc;\n /* background: var(---color-element-disabled); */\n border: 0;\n border-radius: 2px;\n box-shadow: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-ms-fill-upper {\n background: #cccccc;\n /* background: var(---color-element-disabled); */\n border: 0;\n border-radius: 2px;\n box-shadow: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:focus::-ms-fill-lower {\n background: var(---color-element-disabled);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:focus::-ms-fill-upper {\n background: var(---color-element-disabled);\n }\n\n /* Thumb */\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-webkit-slider-thumb {\n width: 10px;\n height: 20px;\n margin-top: -8px;\n\n border: 0;\n border-radius: 4px;\n\n /* stylelint-disable-next-line property-no-vendor-prefix */\n -webkit-appearance: none;\n }\n\n input[type=range]:disabled::-webkit-slider-thumb {\n background: var(---color-element-disabled);\n box-shadow: none;\n }\n\n input[type=range]:enabled::-webkit-slider-thumb {\n background: var(---color-element-enabled);\n box-shadow: var(---shadow-2-rotate);\n }\n\n input[type=range]:enabled:hover::-webkit-slider-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n input[type=range]:enabled:active::-webkit-slider-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n\n :host(.keyboard) input[type=range]:enabled:focus::-webkit-slider-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n :host(.keyboard) input[type=range]:focus:active::-webkit-slider-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-moz-range-thumb {\n width: 10px;\n height: 20px;\n\n border: 0;\n border-radius: 4px;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:disabled::-moz-range-thumb {\n background: var(---color-element-disabled);\n box-shadow: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled::-moz-range-thumb {\n background: var(---color-element-enabled);\n box-shadow: var(---shadow-2-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled:hover::-moz-range-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled:active::-moz-range-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n\n :host(.keyboard) input[type=range]:enabled:focus::-moz-range-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n :host(.keyboard) input[type=range]:enabled:focus:active::-moz-range-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-ms-thumb {\n width: 10px;\n height: 20px;\n margin-top: 0;\n\n background: #999999;\n /* background: var(---color-element-enabled); */\n border: 0;\n border-radius: 4px;\n box-shadow: var(---shadow-2-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:disabled::-ms-thumb {\n background: var(---color-element-disabled);\n box-shadow: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled::-ms-thumb {\n background: var(---color-element-enabled);\n box-shadow: var(---shadow-2-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled:hover::-ms-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled:active::-ms-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n :host(.keyboard) input[type=range]:enabled:focus::-ms-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n :host(.keyboard) input[type=range]:enabled:focus:active::-ms-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n `,\n ];\n }\n\n render() {\n return html`\n <label for=\"slider\">\n <slot></slot>\n </label>\n <div class=\"range\">\n <input type=\"range\" id=\"slider\" min=${ifDefined(this.min)} max=${ifDefined(this.max)} step=${ifDefined(this.step)} .value=${this.value} @change=${this.changed.bind(this)} @input=${this.inputted.bind(this)}>\n </div>\n <decidables-spinner min=${ifDefined(this.min)} max=${ifDefined(this.max)} step=${ifDefined(this.step)} .value=${this.value} @input=${this.inputted.bind(this)}></decidables-spinner>\n `;\n }\n}\n\ncustomElements.define('decidables-slider', DecidablesSlider);\n","\nimport {ifDefined} from 'lit/directives/if-defined.js'; /* eslint-disable-line import/extensions */\nimport {html, css} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesSpinner extends DecidablesElement {\n static get properties() {\n return {\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n max: {\n attribute: 'max',\n type: Number,\n reflect: true,\n },\n min: {\n attribute: 'min',\n type: Number,\n reflect: true,\n },\n step: {\n attribute: 'step',\n type: Number,\n reflect: true,\n },\n value: {\n attribute: 'value',\n type: Number,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.disabled = false;\n this.max = undefined;\n this.min = undefined;\n this.step = undefined;\n this.value = undefined;\n }\n\n inputted(event) {\n this.value = event.target.value;\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n :host {\n ---decidables-spinner-font-size: var(--decidables-spinner-font-size, 1.125rem);\n ---decidables-spinner-input-width: var(--decidables-spinner-input-width, 4rem);\n ---decidables-spinner-prefix: var(--decidables-spinner-prefix, \"\");\n\n display: block;\n }\n\n label {\n position: relative;\n display: flex;\n\n flex-direction: column;\n\n align-items: center;\n\n margin: 0;\n\n font-size: 0.75rem;\n }\n\n label::before {\n position: absolute;\n bottom: 1px;\n left: calc(50% - var(---decidables-spinner-input-width) / 2 + 0.25rem);\n\n font-size: var(---decidables-spinner-font-size);\n line-height: normal;\n\n content: var(---decidables-spinner-prefix);\n }\n\n input[type=number] {\n width: var(---decidables-spinner-input-width);\n\n font-family: var(---font-family-base);\n font-size: var(---decidables-spinner-font-size);\n color: inherit;\n text-align: right;\n\n background: none;\n border: 0;\n border-radius: 0;\n outline: none;\n box-shadow: var(---shadow-2);\n\n -webkit-appearance: none; /* stylelint-disable-line property-no-vendor-prefix */\n }\n\n input[type=number]:hover {\n box-shadow: var(---shadow-4);\n }\n\n input[type=number]:focus,\n input[type=number]:active {\n box-shadow: var(---shadow-8);\n }\n\n input[type=number]:disabled {\n color: var(---color-text);\n\n border: 0;\n box-shadow: none;\n\n /* HACK: Use correct text color in Safari */\n -webkit-opacity: 1;\n /* HACK: Hide spinners in disabled input for Firefox and Safari */\n -moz-appearance: textfield; /* stylelint-disable-line property-no-vendor-prefix */\n /* HACK: Use correct text color in Safari */\n -webkit-text-fill-color: var(---color-text);\n }\n\n /* HACK: Hide spinners in disabled input for Firefox and Safari */\n input[type=number]:disabled::-webkit-outer-spin-button,\n input[type=number]:disabled::-webkit-inner-spin-button {\n margin: 0;\n -webkit-appearance: none; /* stylelint-disable-line property-no-vendor-prefix */\n }\n `,\n ];\n }\n\n render() {\n return html`\n <label>\n <slot></slot>\n <input ?disabled=${this.disabled} type=\"number\" min=${ifDefined(this.min)} max=${ifDefined(this.max)} step=${ifDefined(this.step)} .value=${this.value} @input=${this.inputted.bind(this)}>\n </label>\n `;\n }\n}\n\ncustomElements.define('decidables-spinner', DecidablesSpinner);\n","\nimport {html, css} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesSwitch extends DecidablesElement {\n static get properties() {\n return {\n checked: {\n attribute: 'checked',\n type: Boolean,\n reflect: true,\n },\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.checked = false;\n this.disabled = false;\n }\n\n changed(event) {\n this.checked = event.target.checked;\n this.dispatchEvent(new CustomEvent('change', {\n detail: {\n checked: this.checked,\n },\n bubbles: true,\n }));\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n :host {\n display: flex;\n\n flex-direction: column;\n\n align-items: center;\n justify-content: center;\n }\n\n /* Adapted from https://codepen.io/guuslieben/pen/YyPRVP */\n input[type=checkbox] {\n /* visuallyhidden: https://github.com/h5bp/html5-boilerplate/blob/master/dist/doc/css.md */\n position: absolute;\n\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0 0 0 0);\n\n white-space: nowrap;\n\n border: 0;\n clip-path: inset(100%); /* May cause a performance issue: https://github.com/h5bp/html5-boilerplate/issues/2021 */\n }\n\n input[type=checkbox] + label {\n order: 1;\n\n margin: 0 0.25rem 0.25rem;\n\n font-weight: 400;\n }\n\n input[type=checkbox] + label + label {\n position: relative;\n\n min-width: 24px;\n padding: 0 0 36px;\n margin: 0.25rem 0.25rem 0;\n\n font-weight: 400;\n\n outline: none;\n }\n\n input[type=checkbox] + label + label::before,\n input[type=checkbox] + label + label::after {\n position: absolute;\n\n left: 50%;\n\n margin: 0;\n\n content: \"\";\n\n outline: 0;\n\n transition: all var(---transition-duration) ease;\n transform: translate(-50%, 0);\n }\n\n input[type=checkbox] + label + label::before {\n bottom: 1px;\n\n width: 8px;\n height: 34px;\n\n background-color: var(---color-element-disabled);\n border-radius: 4px;\n }\n\n input[type=checkbox] + label + label::after {\n bottom: 0;\n\n width: 18px;\n height: 18px;\n\n background-color: var(---color-element-enabled);\n border-radius: 50%;\n box-shadow: var(---shadow-2);\n }\n\n input[type=checkbox]:checked + label + label::after {\n transform: translate(-50%, -100%);\n }\n\n input[type=checkbox]:disabled + label + label::after {\n background-color: var(---color-element-disabled);\n box-shadow: none;\n }\n\n input[type=checkbox]:enabled + label,\n input[type=checkbox]:enabled + label + label {\n cursor: pointer;\n }\n\n input[type=checkbox]:enabled + label:hover + label::after,\n input[type=checkbox]:enabled + label + label:hover::after {\n box-shadow: var(---shadow-4);\n }\n\n input[type=checkbox]:enabled + label:active + label::after,\n input[type=checkbox]:enabled + label + label:active::after {\n box-shadow: var(---shadow-8);\n }\n\n /* stylelint-disable-next-line selector-max-compound-selectors */\n :host(.keyboard) input[type=checkbox]:enabled:focus + label + label::after {\n box-shadow: var(---shadow-4);\n }\n\n /* stylelint-disable-next-line selector-max-compound-selectors */\n :host(.keyboard) input[type=checkbox]:enabled:focus + label + label:active::after,\n :host(.keyboard) input[type=checkbox]:enabled:focus:active + label + label::after {\n box-shadow: var(---shadow-8);\n }\n `,\n ];\n }\n\n render() {\n return html`\n <input type=\"checkbox\" id=\"switch\" ?checked=${this.checked} ?disabled=${this.disabled} @change=${this.changed.bind(this)}>\n <label for=\"switch\">\n <slot name=\"off-label\"></slot>\n </label>\n <label for=\"switch\">\n <slot></slot>\n </label>\n `;\n }\n}\n\ncustomElements.define('decidables-switch', DecidablesSwitch);\n","\nimport {html, css} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesToggle extends DecidablesElement {\n static get properties() {\n return {\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.disabled = false;\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n fieldset {\n display: flex;\n\n flex-direction: column;\n\n align-items: stretch;\n justify-content: center;\n\n margin: 0.25rem;\n\n border: 0;\n }\n\n legend {\n text-align: center;\n }\n `,\n ];\n }\n\n render() {\n return html`\n <fieldset ?disabled=${this.disabled}>\n <legend><slot name=\"label\"></slot></legend>\n <slot></slot>\n </fieldset>\n `;\n }\n}\n\ncustomElements.define('decidables-toggle', DecidablesToggle);\n","\nimport {html, css} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesToggleOption extends DecidablesElement {\n static get properties() {\n return {\n checked: {\n attribute: 'checked',\n type: Boolean,\n reflect: true,\n },\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n name: {\n attribute: 'name',\n type: String,\n reflect: true,\n },\n value: {\n attribute: 'value',\n type: String,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.checked = false;\n this.disabled = false;\n this.name = undefined;\n this.value = undefined;\n }\n\n changed(event) {\n this.checked = event.target.checked;\n this.dispatchEvent(new CustomEvent('change', {\n detail: {\n checked: this.checked,\n value: this.value,\n },\n bubbles: true,\n }));\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n :host {\n display: flex;\n }\n\n input[type=radio] {\n /* visuallyhidden: https://github.com/h5bp/html5-boilerplate/blob/master/dist/doc/css.md */\n position: absolute;\n\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0 0 0 0);\n\n white-space: nowrap;\n\n border: 0;\n clip-path: inset(100%); /* May cause a performance issue: https://github.com/h5bp/html5-boilerplate/issues/2021 */\n }\n\n input[type=radio] + label {\n width: 100%;\n padding: 0.375rem 0.75rem;\n\n font-family: var(---font-family-base);\n font-size: 1.125rem;\n line-height: 1.5;\n color: var(---color-text-inverse);\n text-align: center;\n\n cursor: pointer;\n\n background-color: var(---color-element-enabled);\n border: 0;\n border-radius: 0;\n outline: none;\n\n box-shadow: var(---shadow-2);\n }\n\n input[type=radio]:checked + label {\n background-color: var(---color-element-selected);\n outline: none;\n box-shadow: var(---shadow-2);\n }\n\n input[type=radio] + label:hover {\n z-index: 1;\n\n outline: none;\n box-shadow: var(---shadow-4);\n }\n\n input[type=radio] + label:active {\n z-index: 2;\n\n outline: none;\n box-shadow: var(---shadow-8);\n }\n\n :host(:first-of-type) input[type=radio] + label {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n }\n\n :host(:last-of-type) input[type=radio] + label {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n }\n\n :host(.keyboard) input[type=radio]:focus + label {\n z-index: 1;\n\n outline: none;\n box-shadow: var(---shadow-4);\n }\n\n :host(.keyboard) input[type=radio]:focus:checked + label {\n z-index: 1;\n\n background-color: var(---color-element-selected);\n outline: none;\n box-shadow: var(---shadow-4);\n }\n\n :host(.keyboard) input[type=radio]:focus + label:active {\n z-index: 2;\n\n outline: none;\n box-shadow: var(---shadow-8);\n }\n `,\n ];\n }\n\n render() {\n return html`\n <input type=\"radio\" id=\"toggle-option\" name=${this.name} value=${this.value} .checked=${this.checked} @change=${this.changed.bind(this)}>\n <label for=\"toggle-option\">\n <slot></slot>\n </label>\n `;\n }\n}\n\ncustomElements.define('decidables-toggle-option', DecidablesToggleOption);\n","\n/*\n Attribute: Space-separated sequence of numbers\n Property: Array of numbers\n*/\nconst DecidablesConverterArray = {\n fromAttribute: (value) => {\n return value.split(/\\s+/).map((item) => { return Number.parseFloat(item); });\n },\n toAttribute: (value) => {\n return (value.length) ? value.map((item) => { return item.toFixed(3); }).join(' ') : null;\n },\n};\n\nexport default DecidablesConverterArray;\n","\n/*\n Attribute: Space-separated sequence of strings\n Property: Set of strings\n*/\nconst DecidablesConverterSet = {\n fromAttribute: (value) => {\n return new Set(value.split(/\\s+/));\n },\n toAttribute: (value) => {\n return (value.size) ? [...value].join(' ') : null;\n },\n};\n\nexport default DecidablesConverterSet;\n"],"names":["t","window","e","ShadowRoot","ShadyCSS","nativeShadow","Document","prototype","CSSStyleSheet","s","Symbol","n","WeakMap","r","constructor","this","_$cssResult$","Error","cssText","styleSheet","o","length","get","replaceSync","set","toString","c","cssRules","trustedTypes","h","emptyScript","reactiveElementPolyfillSupport","toAttribute","i","Boolean","Object","Array","JSON","stringify","fromAttribute","Number","parse","a","notEqual","l","attribute","type","String","converter","reflect","hasChanged","HTMLElement","super","_$Ei","Map","isUpdatePending","hasUpdated","_$El","u","static","finalize","push","observedAttributes","elementProperties","forEach","_$Ep","_$Ev","state","noAccessor","hasOwnProperty","getPropertyDescriptor","defineProperty","requestUpdate","configurable","enumerable","finalized","getPrototypeOf","properties","getOwnPropertyNames","getOwnPropertySymbols","createProperty","elementStyles","finalizeStyles","styles","isArray","Set","flat","reverse","unshift","toLowerCase","_$E_","Promise","enableUpdating","_$AL","_$Eg","addController","_$ES","renderRoot","isConnected","hostConnected","call","removeController","splice","indexOf","createRenderRoot","shadowRoot","attachShadow","shadowRootOptions","adoptStyles","adoptedStyleSheets","map","document","createElement","litNonce","setAttribute","textContent","appendChild","connectedCallback","disconnectedCallback","hostDisconnected","attributeChangedCallback","_$AK","_$EO","removeAttribute","getPropertyOptions","has","_$EC","_$Ej","async","reject","scheduleUpdate","performUpdate","shouldUpdate","willUpdate","hostUpdate","update","_$Ek","_$AE","hostUpdated","firstUpdated","updated","updateComplete","getUpdateComplete","d","mode","ReactiveElement","reactiveElementVersions","createPolicy","createHTML","Math","random","slice","createMarker","createComment","f","_","m","p","RegExp","g","$","y","w","_$litType$","strings","values","x","b","T","for","A","E","C","createTreeWalker","P","getTemplateHtml","v","lastIndex","exec","test","startsWith","V","parts","el","currentNode","content","firstChild","remove","append","childNodes","nextNode","nodeType","hasAttributes","getAttributeNames","endsWith","getAttribute","split","index","name","ctor","k","I","L","R","tagName","data","innerHTML","N","_$Co","_$Cl","_$litDirective$","_$AO","_$AT","_$AS","M","_$AH","_$AN","_$AA","_$AB","_$AM","options","_$Cm","_$AU","parentNode","startNode","endNode","_$AI","_$AR","iterator","S","insertBefore","nextSibling","createTextNode","_$AC","_$AD","creationScope","importNode","z","_$AP","setConnected","element","fill","j","arguments","H","capture","once","passive","removeEventListener","addEventListener","handleEvent","host","litHtmlPolyfillSupport","litHtmlVersions","s$2","css","reduce","_$Et","_$Eh","_$Eu","_$Em","_$EU","globalThis","renderOptions","_$Do","renderBefore","render","_$litPart$","_$litElement$","litElementHydrateSupport","LitElement","litElementPolyfillSupport","litElementVersions","noop","value","dispatch","Dispatch","parseTypenames","typenames","types","trim","callback","concat","on","typename","copy","that","args","apply","xhtml","namespaces","svg","xlink","xml","xmlns","namespace","prefix","space","local","creatorInherit","ownerDocument","uri","namespaceURI","documentElement","createElementNS","creatorFixed","fullname","creator","none","selector","querySelector","array","from","empty","selectorAll","querySelectorAll","matcher","matches","childMatcher","node","find","childFirst","firstElementChild","filter","children","sparse","EnterNode","parent","datum","_next","_parent","__data__","constant$1","bindIndex","group","enter","exit","groupLength","dataLength","bindKey","key","keyValue","nodeByKeyValue","keyValues","delete","arraylike","ascending","NaN","attrRemove","attrRemoveNS","removeAttributeNS","attrConstant","attrConstantNS","setAttributeNS","attrFunction","attrFunctionNS","defaultView","styleRemove","style","removeProperty","styleConstant","priority","setProperty","styleFunction","styleValue","getPropertyValue","getComputedStyle","propertyRemove","propertyConstant","propertyFunction","classArray","string","classList","ClassList","_node","_names","classedAdd","names","list","add","classedRemove","classedTrue","classedFalse","classedFunction","textRemove","textConstant","textFunction","htmlRemove","htmlConstant","htmlFunction","raise","lower","previousSibling","constantNull","removeChild","selection_cloneShallow","clone","cloneNode","selection_cloneDeep","onRemove","__on","listener","onAdd","event","contextListener","dispatchEvent","params","CustomEvent","createEvent","initEvent","bubbles","cancelable","detail","dispatchConstant","dispatchFunction","child","next","join","contains","root","Selection","groups","parents","_groups","_parents","selection","select","define","factory","extend","definition","create","Color","subgroups","subnode","subgroup","selectAll","arrayAll","selectChild","match","childFind","selectChildren","childrenFilter","bind","constant","enterGroup","updateGroup","exitGroup","previous","i0","i1","_enter","_exit","onenter","onupdate","onexit","merge","order","context","groups0","groups1","m0","m1","min","merges","group0","group1","compareDocumentPosition","sort","compare","compareNode","sortgroups","sortgroup","nodes","size","each","attr","getAttributeNS","property","classed","text","html","insert","before","deep","darker","brighter","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color_formatHex","rgb","formatHex","color_formatRgb","formatRgb","color","format","parseInt","rgbn","Rgb","rgba","hsla","rgbConvert","opacity","rgb_formatHex","hex","rgb_formatRgb","isNaN","max","round","Hsl","hslConvert","hsl2rgb","m2","channels","assign","displayable","formatHsl","pow","gamma","nogamma","exponential","linear","interpolateRgb","rgbGamma","start","end","colorRgb","interpolateNumber","reA","reB","source","interpolateString","am","bm","bs","bi","q","number","one","zero","svgNode","degrees","PI","identity","translateX","translateY","rotate","skewX","scaleX","scaleY","decompose","sqrt","atan2","atan","interpolateTransform","pxComma","pxParen","degParen","pop","xa","ya","xb","yb","translate","scale","taskHead","taskTail","interpolateTransformCss","DOMMatrix","WebKitCSSMatrix","isIdentity","interpolateTransformSvg","transform","baseVal","consolidate","matrix","frame","timeout","interval","clockLast","clockNow","clockSkew","clock","performance","now","Date","setFrame","requestAnimationFrame","setTimeout","clearNow","Timer","_call","_time","timer","delay","time","restart","wake","undefined","timerFlush","t0","t2","t1","Infinity","sleep","nap","poke","clearTimeout","clearInterval","setInterval","elapsed","stop","TypeError","emptyOn","emptyTween","schedule","id","timing","schedules","__transition","self","tween","tick","duration","ease","init","tweenRemove","tween0","tween1","tweenFunction","tweenValue","transition","_id","interpolate","value1","string00","interpolate0","string1","string0","string10","attrInterpolate","attrInterpolateNS","attrTweenNS","_value","attrTween","delayFunction","delayConstant","durationFunction","durationConstant","easeConstant","onFunction","on0","on1","sit","every","styleInterpolate","styleTween","textInterpolate","textTween","Transition","_name","newId","selection_prototype","inherit","id0","id1","styleNull","listener0","styleMaybeRemove","removeFunction","easeVarying","resolve","cancel","interrupt","defaultTiming","Transform","active","point","applyX","applyY","invert","location","invertX","invertY","rescaleX","domain","range","rescaleY","DecidablesElement","getComputedStyleValue","changedProperties","d3","currentTarget","greys","light75","light50","light25","dark25","dark50","dark75","shadows","elevations","baselineColor","baselineColorString","inverseBaselineColor","inverseBaselineColorString","opacityUmbra","opacityPenumbra","opacityAmbient","opacityBoost","mapUmbra","mapPenumbra","mapAmbient","elevation","inverse","umbraO","penumbraO","ambientO","umbraC","penumbraC","ambientC","umbraM","penumbraM","ambientM","svgFilters","filters","abs","unsafeCSS","cssBoxShadow","DecidablesButton","disabled","customElements","DecidablesSlider","step","changed","target","inputted","ifDefined","DecidablesSpinner","DecidablesSwitch","checked","DecidablesToggle","DecidablesToggleOption","DecidablesConverterArray","item","parseFloat","toFixed","DecidablesConverterSet"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,96]}
1
+ {"version":3,"file":"decidablesElements.esm.min.js","sources":["../../../node_modules/lit/node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/lit/node_modules/@lit/reactive-element/reactive-element.js","../../../node_modules/lit/node_modules/lit-html/lit-html.js","../../../node_modules/lit/node_modules/lit-element/node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/lit/node_modules/lit-element/node_modules/@lit/reactive-element/reactive-element.js","../../../node_modules/lit/node_modules/lit-element/node_modules/lit-html/lit-html.js","../../../node_modules/lit/node_modules/lit-element/lit-element.js","../../../node_modules/d3-dispatch/src/dispatch.js","../../../node_modules/d3-selection/src/namespaces.js","../../../node_modules/d3-selection/src/namespace.js","../../../node_modules/d3-selection/src/creator.js","../../../node_modules/d3-selection/src/selector.js","../../../node_modules/d3-selection/src/selectorAll.js","../../../node_modules/d3-selection/src/selection/selectAll.js","../../../node_modules/d3-selection/src/array.js","../../../node_modules/d3-selection/src/matcher.js","../../../node_modules/d3-selection/src/selection/selectChild.js","../../../node_modules/d3-selection/src/selection/selectChildren.js","../../../node_modules/d3-selection/src/selection/sparse.js","../../../node_modules/d3-selection/src/selection/enter.js","../../../node_modules/d3-selection/src/selection/data.js","../../../node_modules/d3-selection/src/selection/sort.js","../../../node_modules/d3-selection/src/selection/attr.js","../../../node_modules/d3-selection/src/window.js","../../../node_modules/d3-selection/src/selection/style.js","../../../node_modules/d3-selection/src/selection/property.js","../../../node_modules/d3-selection/src/selection/classed.js","../../../node_modules/d3-selection/src/selection/text.js","../../../node_modules/d3-selection/src/selection/html.js","../../../node_modules/d3-selection/src/selection/raise.js","../../../node_modules/d3-selection/src/selection/lower.js","../../../node_modules/d3-selection/src/selection/insert.js","../../../node_modules/d3-selection/src/selection/remove.js","../../../node_modules/d3-selection/src/selection/clone.js","../../../node_modules/d3-selection/src/selection/on.js","../../../node_modules/d3-selection/src/selection/dispatch.js","../../../node_modules/d3-selection/src/selection/index.js","../../../node_modules/d3-selection/src/select.js","../../../node_modules/d3-color/src/define.js","../../../node_modules/d3-color/src/color.js","../../../node_modules/d3-selection/src/selection/select.js","../../../node_modules/d3-selection/src/selection/filter.js","../../../node_modules/d3-selection/src/constant.js","../../../node_modules/d3-selection/src/selection/exit.js","../../../node_modules/d3-selection/src/selection/join.js","../../../node_modules/d3-selection/src/selection/merge.js","../../../node_modules/d3-selection/src/selection/order.js","../../../node_modules/d3-selection/src/selection/call.js","../../../node_modules/d3-selection/src/selection/nodes.js","../../../node_modules/d3-selection/src/selection/node.js","../../../node_modules/d3-selection/src/selection/size.js","../../../node_modules/d3-selection/src/selection/empty.js","../../../node_modules/d3-selection/src/selection/each.js","../../../node_modules/d3-selection/src/selection/append.js","../../../node_modules/d3-selection/src/selection/datum.js","../../../node_modules/d3-selection/src/selection/iterator.js","../../../node_modules/d3-interpolate/src/constant.js","../../../node_modules/d3-interpolate/src/color.js","../../../node_modules/d3-interpolate/src/rgb.js","../../../node_modules/d3-interpolate/src/number.js","../../../node_modules/d3-interpolate/src/string.js","../../../node_modules/d3-interpolate/src/transform/decompose.js","../../../node_modules/d3-interpolate/src/transform/parse.js","../../../node_modules/d3-interpolate/src/transform/index.js","../../../node_modules/d3-timer/src/timer.js","../../../node_modules/d3-timer/src/timeout.js","../../../node_modules/d3-transition/src/transition/schedule.js","../../../node_modules/d3-transition/src/transition/tween.js","../../../node_modules/d3-transition/src/transition/interpolate.js","../../../node_modules/d3-transition/src/transition/attr.js","../../../node_modules/d3-transition/src/transition/attrTween.js","../../../node_modules/d3-transition/src/transition/delay.js","../../../node_modules/d3-transition/src/transition/duration.js","../../../node_modules/d3-transition/src/transition/selection.js","../../../node_modules/d3-transition/src/transition/style.js","../../../node_modules/d3-transition/src/transition/index.js","../../../node_modules/d3-transition/src/transition/select.js","../../../node_modules/d3-transition/src/transition/selectAll.js","../../../node_modules/d3-transition/src/transition/filter.js","../../../node_modules/d3-transition/src/transition/merge.js","../../../node_modules/d3-transition/src/transition/transition.js","../../../node_modules/d3-transition/src/transition/on.js","../../../node_modules/d3-transition/src/transition/styleTween.js","../../../node_modules/d3-transition/src/transition/text.js","../../../node_modules/d3-transition/src/transition/textTween.js","../../../node_modules/d3-transition/src/transition/remove.js","../../../node_modules/d3-transition/src/transition/ease.js","../../../node_modules/d3-transition/src/transition/easeVarying.js","../../../node_modules/d3-transition/src/transition/end.js","../../../node_modules/d3-transition/src/selection/transition.js","../../../node_modules/d3-ease/src/cubic.js","../../../node_modules/d3-zoom/src/transform.js","../../../node_modules/d3-transition/src/selection/index.js","../../../node_modules/d3-transition/src/selection/interrupt.js","../../../node_modules/d3-transition/src/interrupt.js","../src/decidables-element.js","../src/button.js","../../../node_modules/lit/node_modules/lit-html/directives/if-defined.js","../src/slider.js","../src/spinner.js","../src/switch.js","../src/toggle.js","../src/toggle-option.js","../src/converter-array.js","../src/converter-set.js"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=window,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),n=new WeakMap;class o{constructor(t,e,n){if(this._$cssResult$=!0,n!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=n.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&n.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new o(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const n=1===t.length?t[0]:e.reduce(((e,s,n)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[n+1]),t[0]);return new o(n,t,s)},S=(s,n)=>{e?s.adoptedStyleSheets=n.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):n.forEach((e=>{const n=document.createElement(\"style\"),o=t.litNonce;void 0!==o&&n.setAttribute(\"nonce\",o),n.textContent=e.cssText,s.appendChild(n)}))},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{o as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as i}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var s;const e=window,r=e.trustedTypes,h=r?r.emptyScript:\"\",o=e.reactiveElementPolyfillSupport,n={toAttribute(t,i){switch(i){case Boolean:t=t?h:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,i){let s=t;switch(i){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},a=(t,i)=>i!==t&&(i==i||t==t),l={attribute:!0,type:String,converter:n,reflect:!1,hasChanged:a};class d extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(t){var i;this.finalize(),(null!==(i=this.h)&&void 0!==i?i:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((i,s)=>{const e=this._$Ep(s,i);void 0!==e&&(this._$Ev.set(e,s),t.push(e))})),t}static createProperty(t,i=l){if(i.state&&(i.attribute=!1),this.finalize(),this.elementProperties.set(t,i),!i.noAccessor&&!this.prototype.hasOwnProperty(t)){const s=\"symbol\"==typeof t?Symbol():\"__\"+t,e=this.getPropertyDescriptor(t,s,i);void 0!==e&&Object.defineProperty(this.prototype,t,e)}}static getPropertyDescriptor(t,i,s){return{get(){return this[i]},set(e){const r=this[t];this[i]=e,this.requestUpdate(t,r,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||l}static finalize(){if(this.hasOwnProperty(\"finalized\"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),void 0!==t.h&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty(\"properties\")){const t=this.properties,i=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const s of i)this.createProperty(s,t[s])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(i){const s=[];if(Array.isArray(i)){const e=new Set(i.flat(1/0).reverse());for(const i of e)s.unshift(t(i))}else void 0!==i&&s.push(t(i));return s}static _$Ep(t,i){const s=i.attribute;return!1===s?void 0:\"string\"==typeof s?s:\"string\"==typeof t?t.toLowerCase():void 0}u(){var t;this._$E_=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach((t=>t(this)))}addController(t){var i,s;(null!==(i=this._$ES)&&void 0!==i?i:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(s=t.hostConnected)||void 0===s||s.call(t))}removeController(t){var i;null===(i=this._$ES)||void 0===i||i.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach(((t,i)=>{this.hasOwnProperty(i)&&(this._$Ei.set(i,this[i]),delete this[i])}))}createRenderRoot(){var t;const s=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return i(s,this.constructor.elementStyles),s}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostConnected)||void 0===i?void 0:i.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostDisconnected)||void 0===i?void 0:i.call(t)}))}attributeChangedCallback(t,i,s){this._$AK(t,s)}_$EO(t,i,s=l){var e;const r=this.constructor._$Ep(t,s);if(void 0!==r&&!0===s.reflect){const h=(void 0!==(null===(e=s.converter)||void 0===e?void 0:e.toAttribute)?s.converter:n).toAttribute(i,s.type);this._$El=t,null==h?this.removeAttribute(r):this.setAttribute(r,h),this._$El=null}}_$AK(t,i){var s;const e=this.constructor,r=e._$Ev.get(t);if(void 0!==r&&this._$El!==r){const t=e.getPropertyOptions(r),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(s=t.converter)||void 0===s?void 0:s.fromAttribute)?t.converter:n;this._$El=r,this[r]=h.fromAttribute(i,t.type),this._$El=null}}requestUpdate(t,i,s){let e=!0;void 0!==t&&(((s=s||this.constructor.getPropertyOptions(t)).hasChanged||a)(this[t],i)?(this._$AL.has(t)||this._$AL.set(t,i),!0===s.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,s))):e=!1),!this.isUpdatePending&&e&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach(((t,i)=>this[i]=t)),this._$Ei=void 0);let i=!1;const s=this._$AL;try{i=this.shouldUpdate(s),i?(this.willUpdate(s),null===(t=this._$ES)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostUpdate)||void 0===i?void 0:i.call(t)})),this.update(s)):this._$Ek()}catch(t){throw i=!1,this._$Ek(),t}i&&this._$AE(s)}willUpdate(t){}_$AE(t){var i;null===(i=this._$ES)||void 0===i||i.forEach((t=>{var i;return null===(i=t.hostUpdated)||void 0===i?void 0:i.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,i)=>this._$EO(i,this[i],t))),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}}d.finalized=!0,d.elementProperties=new Map,d.elementStyles=[],d.shadowRootOptions={mode:\"open\"},null==o||o({ReactiveElement:d}),(null!==(s=e.reactiveElementVersions)&&void 0!==s?s:e.reactiveElementVersions=[]).push(\"1.6.1\");export{d as ReactiveElement,n as defaultConverter,a as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=window,s=i.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,o=\"$lit$\",n=`lit$${(Math.random()+\"\").slice(9)}$`,l=\"?\"+n,h=`<${l}>`,r=document,u=()=>r.createComment(\"\"),d=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,c=Array.isArray,v=t=>c(t)||\"function\"==typeof(null==t?void 0:t[Symbol.iterator]),a=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${a}(?:([^\\\\s\"'>=/]+)(${a}*=${a}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,w=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=w(1),b=w(2),T=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),E=new WeakMap,C=r.createTreeWalker(r,129,null,!1);function P(t,i){if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,e=[];let l,r=2===i?\"<svg>\":\"\",u=f;for(let i=0;i<s;i++){const s=t[i];let d,c,v=-1,a=0;for(;a<s.length&&(u.lastIndex=a,c=u.exec(s),null!==c);)a=u.lastIndex,u===f?\"!--\"===c[1]?u=_:void 0!==c[1]?u=m:void 0!==c[2]?(y.test(c[2])&&(l=RegExp(\"</\"+c[2],\"g\")),u=p):void 0!==c[3]&&(u=p):u===p?\">\"===c[0]?(u=null!=l?l:f,v=-1):void 0===c[1]?v=-2:(v=u.lastIndex-c[2].length,d=c[1],u=void 0===c[3]?p:'\"'===c[3]?$:g):u===$||u===g?u=p:u===_||u===m?u=f:(u=p,l=void 0);const w=u===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";r+=u===f?s+h:v>=0?(e.push(d),s.slice(0,v)+o+s.slice(v)+n+w):s+n+(-2===v?(e.push(void 0),i):w)}return[P(t,r+(t[s]||\"<?>\")+(2===i?\"</svg>\":\"\")),e]};class N{constructor({strings:t,_$litType$:i},e){let h;this.parts=[];let r=0,d=0;const c=t.length-1,v=this.parts,[a,f]=V(t,i);if(this.el=N.createElement(a,e),C.currentNode=this.el.content,2===i){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(h=C.nextNode())&&v.length<c;){if(1===h.nodeType){if(h.hasAttributes()){const t=[];for(const i of h.getAttributeNames())if(i.endsWith(o)||i.startsWith(n)){const s=f[d++];if(t.push(i),void 0!==s){const t=h.getAttribute(s.toLowerCase()+o).split(n),i=/([.?@])?(.*)/.exec(s);v.push({type:1,index:r,name:i[2],strings:t,ctor:\".\"===i[1]?H:\"?\"===i[1]?L:\"@\"===i[1]?z:k})}else v.push({type:6,index:r})}for(const i of t)h.removeAttribute(i)}if(y.test(h.tagName)){const t=h.textContent.split(n),i=t.length-1;if(i>0){h.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)h.append(t[s],u()),C.nextNode(),v.push({type:2,index:++r});h.append(t[i],u())}}}else if(8===h.nodeType)if(h.data===l)v.push({type:2,index:r});else{let t=-1;for(;-1!==(t=h.data.indexOf(n,t+1));)v.push({type:7,index:r}),t+=n.length-1}r++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){var o,n,l,h;if(i===T)return i;let r=void 0!==e?null===(o=s._$Co)||void 0===o?void 0:o[e]:s._$Cl;const u=d(i)?void 0:i._$litDirective$;return(null==r?void 0:r.constructor)!==u&&(null===(n=null==r?void 0:r._$AO)||void 0===n||n.call(r,!1),void 0===u?r=void 0:(r=new u(t),r._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Co)&&void 0!==l?l:h._$Co=[])[e]=r:s._$Cl=r),void 0!==r&&(i=S(t,r._$AS(t,i.values),r,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:r).importNode(s,!0);C.currentNode=o;let n=C.nextNode(),l=0,h=0,u=e[0];for(;void 0!==u;){if(l===u.index){let i;2===u.type?i=new R(n,n.nextSibling,this,t):1===u.type?i=new u.ctor(n,u.name,u.strings,this,t):6===u.type&&(i=new Z(n,this,t)),this._$AV.push(i),u=e[++h]}l!==(null==u?void 0:u.index)&&(n=C.nextNode(),l++)}return C.currentNode=r,o}v(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{constructor(t,i,s,e){var o;this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cp=null===(o=null==e?void 0:e.isConnected)||void 0===o||o}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cp}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===(null==t?void 0:t.nodeType)&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),d(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):v(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==A&&d(this._$AH)?this._$AA.nextSibling.data=t:this.$(r.createTextNode(t)),this._$AH=t}g(t){var i;const{values:s,_$litType$:e}=t,o=\"number\"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=N.createElement(P(e.h,e.h[0]),this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.v(s);else{const t=new M(o,this),i=t.u(this.options);t.v(s),this.$(i),this._$AH=t}}_$AC(t){let i=E.get(t.strings);return void 0===i&&E.set(t.strings,i=new N(t)),i}T(t){c(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const o of t)e===i.length?i.push(s=new R(this.k(u()),this.k(u()),this,this.options)):s=i[e],s._$AI(o),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){var i;void 0===this._$AM&&(this._$Cp=t,null===(i=this._$AP)||void 0===i||i.call(this,t))}}class k{constructor(t,i,s,e,o){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=o,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=S(this,t,i,0),n=!d(t)||t!==this._$AH&&t!==T,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=S(this,e[s+l],i,l),h===T&&(h=this._$AH[l]),n||(n=!d(h)||h!==this._$AH[l]),h===A?t=A:t!==A&&(t+=(null!=h?h:\"\")+o[l+1]),this._$AH[l]=h}n&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}const I=s?s.emptyScript:\"\";class L extends k{constructor(){super(...arguments),this.type=4}j(t){t&&t!==A?this.element.setAttribute(this.name,I):this.element.removeAttribute(this.name)}}class z extends k{constructor(t,i,s,e,o){super(t,i,s,e,o),this.type=5}_$AI(t,i=this){var s;if((t=null!==(s=S(this,t,i,0))&&void 0!==s?s:A)===T)return;const e=this._$AH,o=t===A&&e!==A||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==A&&(e===A||o);o&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var i,s;\"function\"==typeof this._$AH?this._$AH.call(null!==(s=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const j={O:o,P:n,A:l,C:1,M:V,L:M,R:v,D:S,I:R,V:k,H:L,N:z,U:H,F:Z},B=i.litHtmlPolyfillSupport;null==B||B(N,R),(null!==(t=i.litHtmlVersions)&&void 0!==t?t:i.litHtmlVersions=[]).push(\"2.8.0\");const D=(t,i,s)=>{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new R(i.insertBefore(u(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l};export{j as _$LH,x as html,T as noChange,A as nothing,D as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,e=Symbol(),n=new Map;class s{constructor(t,n){if(this._$cssResult$=!0,n!==e)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t}get styleSheet(){let e=n.get(this.cssText);return t&&void 0===e&&(n.set(this.cssText,e=new CSSStyleSheet),e.replaceSync(this.cssText)),e}toString(){return this.cssText}}const o=t=>new s(\"string\"==typeof t?t:t+\"\",e),r=(t,...n)=>{const o=1===t.length?t[0]:n.reduce(((e,n,s)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(n)+t[s+1]),t[0]);return new s(o,e)},i=(e,n)=>{t?e.adoptedStyleSheets=n.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet)):n.forEach((t=>{const n=document.createElement(\"style\"),s=window.litNonce;void 0!==s&&n.setAttribute(\"nonce\",s),n.textContent=t.cssText,e.appendChild(n)}))},S=t?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const n of t.cssRules)e+=n.cssText;return o(e)})(t):t;export{s as CSSResult,i as adoptStyles,r as css,S as getCompatibleStyle,t as supportsAdoptingStyleSheets,o as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as i}from\"./css-tag.js\";export{CSSResult,adoptStyles,css,getCompatibleStyle,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var s;const e=window.trustedTypes,r=e?e.emptyScript:\"\",h=window.reactiveElementPolyfillSupport,o={toAttribute(t,i){switch(i){case Boolean:t=t?r:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,i){let s=t;switch(i){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},n=(t,i)=>i!==t&&(i==i||t==t),l={attribute:!0,type:String,converter:o,reflect:!1,hasChanged:n};class a extends HTMLElement{constructor(){super(),this._$Et=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Ei=null,this.o()}static addInitializer(t){var i;null!==(i=this.l)&&void 0!==i||(this.l=[]),this.l.push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach(((i,s)=>{const e=this._$Eh(s,i);void 0!==e&&(this._$Eu.set(e,s),t.push(e))})),t}static createProperty(t,i=l){if(i.state&&(i.attribute=!1),this.finalize(),this.elementProperties.set(t,i),!i.noAccessor&&!this.prototype.hasOwnProperty(t)){const s=\"symbol\"==typeof t?Symbol():\"__\"+t,e=this.getPropertyDescriptor(t,s,i);void 0!==e&&Object.defineProperty(this.prototype,t,e)}}static getPropertyDescriptor(t,i,s){return{get(){return this[i]},set(e){const r=this[t];this[i]=e,this.requestUpdate(t,r,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||l}static finalize(){if(this.hasOwnProperty(\"finalized\"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),this.elementProperties=new Map(t.elementProperties),this._$Eu=new Map,this.hasOwnProperty(\"properties\")){const t=this.properties,i=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const s of i)this.createProperty(s,t[s])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(i){const s=[];if(Array.isArray(i)){const e=new Set(i.flat(1/0).reverse());for(const i of e)s.unshift(t(i))}else void 0!==i&&s.push(t(i));return s}static _$Eh(t,i){const s=i.attribute;return!1===s?void 0:\"string\"==typeof s?s:\"string\"==typeof t?t.toLowerCase():void 0}o(){var t;this._$Ep=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$Em(),this.requestUpdate(),null===(t=this.constructor.l)||void 0===t||t.forEach((t=>t(this)))}addController(t){var i,s;(null!==(i=this._$Eg)&&void 0!==i?i:this._$Eg=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(s=t.hostConnected)||void 0===s||s.call(t))}removeController(t){var i;null===(i=this._$Eg)||void 0===i||i.splice(this._$Eg.indexOf(t)>>>0,1)}_$Em(){this.constructor.elementProperties.forEach(((t,i)=>{this.hasOwnProperty(i)&&(this._$Et.set(i,this[i]),delete this[i])}))}createRenderRoot(){var t;const s=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return i(s,this.constructor.elementStyles),s}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostConnected)||void 0===i?void 0:i.call(t)}))}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostDisconnected)||void 0===i?void 0:i.call(t)}))}attributeChangedCallback(t,i,s){this._$AK(t,s)}_$ES(t,i,s=l){var e,r;const h=this.constructor._$Eh(t,s);if(void 0!==h&&!0===s.reflect){const n=(null!==(r=null===(e=s.converter)||void 0===e?void 0:e.toAttribute)&&void 0!==r?r:o.toAttribute)(i,s.type);this._$Ei=t,null==n?this.removeAttribute(h):this.setAttribute(h,n),this._$Ei=null}}_$AK(t,i){var s,e,r;const h=this.constructor,n=h._$Eu.get(t);if(void 0!==n&&this._$Ei!==n){const t=h.getPropertyOptions(n),l=t.converter,a=null!==(r=null!==(e=null===(s=l)||void 0===s?void 0:s.fromAttribute)&&void 0!==e?e:\"function\"==typeof l?l:null)&&void 0!==r?r:o.fromAttribute;this._$Ei=n,this[n]=a(i,t.type),this._$Ei=null}}requestUpdate(t,i,s){let e=!0;void 0!==t&&(((s=s||this.constructor.getPropertyOptions(t)).hasChanged||n)(this[t],i)?(this._$AL.has(t)||this._$AL.set(t,i),!0===s.reflect&&this._$Ei!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,s))):e=!1),!this.isUpdatePending&&e&&(this._$Ep=this._$E_())}async _$E_(){this.isUpdatePending=!0;try{await this._$Ep}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Et&&(this._$Et.forEach(((t,i)=>this[i]=t)),this._$Et=void 0);let i=!1;const s=this._$AL;try{i=this.shouldUpdate(s),i?(this.willUpdate(s),null===(t=this._$Eg)||void 0===t||t.forEach((t=>{var i;return null===(i=t.hostUpdate)||void 0===i?void 0:i.call(t)})),this.update(s)):this._$EU()}catch(t){throw i=!1,this._$EU(),t}i&&this._$AE(s)}willUpdate(t){}_$AE(t){var i;null===(i=this._$Eg)||void 0===i||i.forEach((t=>{var i;return null===(i=t.hostUpdated)||void 0===i?void 0:i.call(t)})),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$Ep}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach(((t,i)=>this._$ES(i,this[i],t))),this._$EC=void 0),this._$EU()}updated(t){}firstUpdated(t){}}a.finalized=!0,a.elementProperties=new Map,a.elementStyles=[],a.shadowRootOptions={mode:\"open\"},null==h||h({ReactiveElement:a}),(null!==(s=globalThis.reactiveElementVersions)&&void 0!==s?s:globalThis.reactiveElementVersions=[]).push(\"1.3.1\");export{a as ReactiveElement,o as defaultConverter,n as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=window,s=i.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,o=\"$lit$\",n=`lit$${(Math.random()+\"\").slice(9)}$`,l=\"?\"+n,h=`<${l}>`,r=document,d=()=>r.createComment(\"\"),u=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,c=Array.isArray,v=t=>c(t)||\"function\"==typeof(null==t?void 0:t[Symbol.iterator]),a=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${a}(?:([^\\\\s\"'>=/]+)(${a}*=${a}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,w=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=w(1),b=w(2),T=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),E=new WeakMap,C=r.createTreeWalker(r,129,null,!1),P=(t,i)=>{const s=t.length-1,l=[];let r,d=2===i?\"<svg>\":\"\",u=f;for(let i=0;i<s;i++){const s=t[i];let e,c,v=-1,a=0;for(;a<s.length&&(u.lastIndex=a,c=u.exec(s),null!==c);)a=u.lastIndex,u===f?\"!--\"===c[1]?u=_:void 0!==c[1]?u=m:void 0!==c[2]?(y.test(c[2])&&(r=RegExp(\"</\"+c[2],\"g\")),u=p):void 0!==c[3]&&(u=p):u===p?\">\"===c[0]?(u=null!=r?r:f,v=-1):void 0===c[1]?v=-2:(v=u.lastIndex-c[2].length,e=c[1],u=void 0===c[3]?p:'\"'===c[3]?$:g):u===$||u===g?u=p:u===_||u===m?u=f:(u=p,r=void 0);const w=u===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";d+=u===f?s+h:v>=0?(l.push(e),s.slice(0,v)+o+s.slice(v)+n+w):s+n+(-2===v?(l.push(void 0),i):w)}const c=d+(t[s]||\"<?>\")+(2===i?\"</svg>\":\"\");if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return[void 0!==e?e.createHTML(c):c,l]};class V{constructor({strings:t,_$litType$:i},e){let h;this.parts=[];let r=0,u=0;const c=t.length-1,v=this.parts,[a,f]=P(t,i);if(this.el=V.createElement(a,e),C.currentNode=this.el.content,2===i){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(h=C.nextNode())&&v.length<c;){if(1===h.nodeType){if(h.hasAttributes()){const t=[];for(const i of h.getAttributeNames())if(i.endsWith(o)||i.startsWith(n)){const s=f[u++];if(t.push(i),void 0!==s){const t=h.getAttribute(s.toLowerCase()+o).split(n),i=/([.?@])?(.*)/.exec(s);v.push({type:1,index:r,name:i[2],strings:t,ctor:\".\"===i[1]?k:\"?\"===i[1]?I:\"@\"===i[1]?L:R})}else v.push({type:6,index:r})}for(const i of t)h.removeAttribute(i)}if(y.test(h.tagName)){const t=h.textContent.split(n),i=t.length-1;if(i>0){h.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)h.append(t[s],d()),C.nextNode(),v.push({type:2,index:++r});h.append(t[i],d())}}}else if(8===h.nodeType)if(h.data===l)v.push({type:2,index:r});else{let t=-1;for(;-1!==(t=h.data.indexOf(n,t+1));)v.push({type:7,index:r}),t+=n.length-1}r++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function N(t,i,s=t,e){var o,n,l,h;if(i===T)return i;let r=void 0!==e?null===(o=s._$Co)||void 0===o?void 0:o[e]:s._$Cl;const d=u(i)?void 0:i._$litDirective$;return(null==r?void 0:r.constructor)!==d&&(null===(n=null==r?void 0:r._$AO)||void 0===n||n.call(r,!1),void 0===d?r=void 0:(r=new d(t),r._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Co)&&void 0!==l?l:h._$Co=[])[e]=r:s._$Cl=r),void 0!==r&&(i=N(t,r._$AS(t,i.values),r,e)),i}class S{constructor(t,i){this.u=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}v(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:r).importNode(s,!0);C.currentNode=o;let n=C.nextNode(),l=0,h=0,d=e[0];for(;void 0!==d;){if(l===d.index){let i;2===d.type?i=new M(n,n.nextSibling,this,t):1===d.type?i=new d.ctor(n,d.name,d.strings,this,t):6===d.type&&(i=new z(n,this,t)),this.u.push(i),d=e[++h]}l!==(null==d?void 0:d.index)&&(n=C.nextNode(),l++)}return o}p(t){let i=0;for(const s of this.u)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class M{constructor(t,i,s,e){var o;this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cm=null===(o=null==e?void 0:e.isConnected)||void 0===o||o}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cm}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===(null==t?void 0:t.nodeType)&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=N(this,t,i),u(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==T&&this.g(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):v(t)?this.k(t):this.g(t)}S(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.S(t))}g(t){this._$AH!==A&&u(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){var i;const{values:s,_$litType$:e}=t,o=\"number\"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=V.createElement(e.h,this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.p(s);else{const t=new S(o,this),i=t.v(this.options);t.p(s),this.T(i),this._$AH=t}}_$AC(t){let i=E.get(t.strings);return void 0===i&&E.set(t.strings,i=new V(t)),i}k(t){c(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const o of t)e===i.length?i.push(s=new M(this.S(d()),this.S(d()),this,this.options)):s=i[e],s._$AI(o),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){var i;void 0===this._$AM&&(this._$Cm=t,null===(i=this._$AP)||void 0===i||i.call(this,t))}}class R{constructor(t,i,s,e,o){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=o,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=N(this,t,i,0),n=!u(t)||t!==this._$AH&&t!==T,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=N(this,e[s+l],i,l),h===T&&(h=this._$AH[l]),n||(n=!u(h)||h!==this._$AH[l]),h===A?t=A:t!==A&&(t+=(null!=h?h:\"\")+o[l+1]),this._$AH[l]=h}n&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:\"\")}}class k extends R{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}const H=s?s.emptyScript:\"\";class I extends R{constructor(){super(...arguments),this.type=4}j(t){t&&t!==A?this.element.setAttribute(this.name,H):this.element.removeAttribute(this.name)}}class L extends R{constructor(t,i,s,e,o){super(t,i,s,e,o),this.type=5}_$AI(t,i=this){var s;if((t=null!==(s=N(this,t,i,0))&&void 0!==s?s:A)===T)return;const e=this._$AH,o=t===A&&e!==A||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==A&&(e===A||o);o&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var i,s;\"function\"==typeof this._$AH?this._$AH.call(null!==(s=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){N(this,t)}}const Z={P:o,A:n,M:l,C:1,L:P,D:S,R:v,V:N,I:M,H:R,N:I,U:L,F:k,B:z},j=i.litHtmlPolyfillSupport;null==j||j(V,M),(null!==(t=i.litHtmlVersions)&&void 0!==t?t:i.litHtmlVersions=[]).push(\"2.7.0\");const B=(t,i,s)=>{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new M(i.insertBefore(d(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l};export{Z as _$LH,x as html,T as noChange,A as nothing,B as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as i}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */var l,o;const r=t;class s extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t,e;const i=super.createRenderRoot();return null!==(t=(e=this.renderOptions).renderBefore)&&void 0!==t||(e.renderBefore=i.firstChild),i}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(i,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this._$Do)||void 0===t||t.setConnected(!1)}render(){return i}}s.finalized=!0,s._$litElement$=!0,null===(l=globalThis.litElementHydrateSupport)||void 0===l||l.call(globalThis,{LitElement:s});const n=globalThis.litElementPolyfillSupport;null==n||n({LitElement:s});const h={_$AK:(t,e,i)=>{t._$AK(e,i)},_$AL:t=>t._$AL};(null!==(o=globalThis.litElementVersions)&&void 0!==o?o:globalThis.litElementVersions=[]).push(\"3.3.0\");export{s as LitElement,r as UpdatingElement,h as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","var noop = {value: () => {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import namespaces from \"./namespaces.js\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; // eslint-disable-line no-prototype-builtins\n}\n","import namespace from \"./namespace.js\";\nimport {xhtml} from \"./namespaces.js\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","import {Selection} from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\n\nfunction arrayAll(select) {\n return function() {\n return array(select.apply(this, arguments));\n };\n}\n\nexport default function(select) {\n if (typeof select === \"function\") select = arrayAll(select);\n else select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","// Given something array like (or null), returns something that is strictly an\n// array. This is used to ensure that array-like objects passed to d3.selectAll\n// or selection.selectAll are converted into proper arrays when creating a\n// selection; we don’t ever want to create a selection backed by a live\n// HTMLCollection or NodeList. However, note that selection.selectAll will use a\n// static NodeList as a group, since it safely derived from querySelectorAll.\nexport default function array(x) {\n return x == null ? [] : Array.isArray(x) ? x : Array.from(x);\n}\n","export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n\nexport function childMatcher(selector) {\n return function(node) {\n return node.matches(selector);\n };\n}\n\n","import {childMatcher} from \"../matcher.js\";\n\nvar find = Array.prototype.find;\n\nfunction childFind(match) {\n return function() {\n return find.call(this.children, match);\n };\n}\n\nfunction childFirst() {\n return this.firstElementChild;\n}\n\nexport default function(match) {\n return this.select(match == null ? childFirst\n : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {childMatcher} from \"../matcher.js\";\n\nvar filter = Array.prototype.filter;\n\nfunction children() {\n return Array.from(this.children);\n}\n\nfunction childrenFilter(match) {\n return function() {\n return filter.call(this.children, match);\n };\n}\n\nexport default function(match) {\n return this.selectAll(match == null ? children\n : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","import {Selection} from \"./index.js\";\nimport {EnterNode} from \"./enter.js\";\nimport constant from \"../constant.js\";\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = new Map,\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n if (nodeByKeyValue.has(keyValue)) {\n exit[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = key.call(parent, data[i], i, data) + \"\";\n if (node = nodeByKeyValue.get(keyValue)) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue.delete(keyValue);\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue.get(keyValues[i]) === node)) {\n exit[i] = node;\n }\n }\n}\n\nfunction datum(node) {\n return node.__data__;\n}\n\nexport default function(value, key) {\n if (!arguments.length) return Array.from(this, datum);\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = arraylike(value.call(parent, parent && parent.__data__, j, parents)),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n\n// Given some data, this returns an array-like view of it: an object that\n// exposes a length property and allows numeric indexing. Note that unlike\n// selectAll, this isn’t worried about “live” collections because the resulting\n// array will only be used briefly while data is being bound. (It is possible to\n// cause the data to change while iterating by using a key function, but please\n// don’t; we’d rather avoid a gratuitous copy.)\nfunction arraylike(data) {\n return typeof data === \"object\" && \"length\" in data\n ? data // Array, TypedArray, NodeList, array-like\n : Array.from(data); // Map, Set, iterable, string, or anything else\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import namespace from \"../namespace.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import defaultView from \"../window.js\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","function contextListener(listener) {\n return function(event) {\n listener.call(this, event, this.__data__);\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, options) {\n return function() {\n var on = this.__on, o, listener = contextListener(value);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n this.addEventListener(o.type, o.listener = listener, o.options = options);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, options);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, options: options};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, options) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));\n return this;\n}\n","import defaultView from \"../window.js\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","import selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nfunction selection_selection() {\n return this;\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n selectChild: selection_selectChild,\n selectChildren: selection_selectChildren,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n selection: selection_selection,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch,\n [Symbol.iterator]: selection_iterator\n};\n\nexport default selection;\n","import {Selection, root} from \"./selection/index.js\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy: function(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\n\nfunction rgb_formatRgb() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\")\n + (this.h || 0) + \", \"\n + (this.s || 0) * 100 + \"%, \"\n + (this.l || 0) * 100 + \"%\"\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","import {Selection} from \"./index.js\";\nimport selector from \"../selector.js\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","import {Selection} from \"./index.js\";\nimport matcher from \"../matcher.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n if (typeof onenter === \"function\") {\n enter = onenter(enter);\n if (enter) enter = enter.selection();\n } else {\n enter = enter.append(onenter + \"\");\n }\n if (onupdate != null) {\n update = onupdate(update);\n if (update) update = update.selection();\n }\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(context) {\n var selection = context.selection ? context.selection() : context;\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n return Array.from(this);\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n let size = 0;\n for (const node of this) ++size; // eslint-disable-line no-unused-vars\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","import creator from \"../creator.js\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","export default function*() {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) yield node;\n }\n }\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n","import decompose, {identity} from \"./decompose.js\";\n\nvar svgNode;\n\n/* eslint-disable no-undef */\nexport function parseCss(value) {\n const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(undefined, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(elapsed => {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(node, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n return function(t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n return function(t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\n\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = style(this, name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction styleMaybeRemove(id, name) {\n var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n return function() {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleNull(name, i))\n .on(\"end.style.\" + name, styleRemove(name))\n : typeof value === \"function\" ? this\n .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n .each(styleMaybeRemove(this._id, name))\n : this\n .styleTween(name, styleConstant(name, i, value), priority)\n .on(\"end.style.\" + name, null);\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n selectChild: selection_prototype.selectChild,\n selectChildren: selection_prototype.selectChildren,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n easeVarying: transition_easeVarying,\n end: transition_end,\n [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n","import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n","function styleInterpolate(name, i, priority) {\n return function(t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\n\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n","function textInterpolate(i) {\n return function(t) {\n this.textContent = i.call(this, t);\n };\n}\n\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, textTween(value));\n}\n","function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n","import {set} from \"./schedule.js\";\n\nfunction easeVarying(id, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (typeof v !== \"function\") throw new Error;\n set(this, id).ease = v;\n };\n}\n\nexport default function(value) {\n if (typeof value !== \"function\") throw new Error;\n return this.each(easeVarying(this._id, value));\n}\n","import {set} from \"./schedule.js\";\n\nexport default function() {\n var on0, on1, that = this, id = that._id, size = that.size();\n return new Promise(function(resolve, reject) {\n var cancel = {value: reject},\n end = {value: function() { if (--size === 0) resolve(); }};\n\n that.each(function() {\n var schedule = set(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n\n schedule.on = on1;\n });\n\n // The selection was empty, resolve end immediately\n if (size === 0) resolve();\n });\n}\n","import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n throw new Error(`transition ${id} not found`);\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","export function Transform(k, x, y) {\n this.k = k;\n this.x = x;\n this.y = y;\n}\n\nTransform.prototype = {\n constructor: Transform,\n scale: function(k) {\n return k === 1 ? this : new Transform(this.k * k, this.x, this.y);\n },\n translate: function(x, y) {\n return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);\n },\n apply: function(point) {\n return [point[0] * this.k + this.x, point[1] * this.k + this.y];\n },\n applyX: function(x) {\n return x * this.k + this.x;\n },\n applyY: function(y) {\n return y * this.k + this.y;\n },\n invert: function(location) {\n return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];\n },\n invertX: function(x) {\n return (x - this.x) / this.k;\n },\n invertY: function(y) {\n return (y - this.y) / this.k;\n },\n rescaleX: function(x) {\n return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));\n },\n rescaleY: function(y) {\n return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));\n },\n toString: function() {\n return \"translate(\" + this.x + \",\" + this.y + \") scale(\" + this.k + \")\";\n }\n};\n\nexport var identity = new Transform(1, 0, 0);\n\ntransform.prototype = Transform.prototype;\n\nexport default function transform(node) {\n while (!node.__zoom) if (!(node = node.parentNode)) return identity;\n return node.__zoom;\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","\nimport {\n LitElement,\n css,\n svg,\n unsafeCSS,\n} from 'lit';\nimport * as d3 from 'd3';\n\n/*\n DecidablesElement Base Class - Not intended for instantiation!\n <decidables-element>\n*/\nexport default class DecidablesElement extends LitElement {\n getComputedStyleValue(property) {\n return getComputedStyle(this).getPropertyValue(property).trim();\n }\n\n firstUpdated(changedProperties) {\n super.firstUpdated(changedProperties);\n\n // Use focus highlighting if keyboard is used at all\n d3.select(this.renderRoot.host)\n .classed('keyboard', true)\n .on('mousemove.keyboard touchstart.keyboard', (event) => {\n const element = event.currentTarget;\n d3.select(element.renderRoot.host)\n .classed('keyboard', false)\n .on('mousemove.keyboard touchstart.keyboard', null);\n })\n .on('keydown.keyboard', (event) => {\n const element = event.currentTarget;\n d3.select(element.renderRoot.host)\n .classed('keyboard', true)\n .on('keydown.keyboard mousemove.keyboard touchstart.keyboard', null);\n });\n }\n\n static get greys() {\n const grey = '#999999';\n const greys = {};\n greys.white = '#ffffff';\n greys.light75 = d3.interpolateRgb(grey, '#ffffff')(0.75);\n greys.light50 = d3.interpolateRgb(grey, '#ffffff')(0.5);\n greys.light25 = d3.interpolateRgb(grey, '#ffffff')(0.25);\n greys.grey = grey;\n greys.dark25 = d3.interpolateRgb(grey, '#000000')(0.25);\n greys.dark50 = d3.interpolateRgb(grey, '#000000')(0.5);\n greys.dark75 = d3.interpolateRgb(grey, '#000000')(0.75);\n greys.black = '#000000';\n return greys;\n }\n\n static get shadows() {\n // Material Design elevation styles\n // References:\n // https://github.com/material-components/material-components-web/tree/master/packages/mdc-elevation\n // https://codepen.io/hanger/pen/yOGvQp\n /* eslint-disable key-spacing, object-curly-newline */\n return {\n elevations: [0, 2, 4, 8, 16],\n baselineColor: '#000000',\n baselineColorString: '0, 0, 0',\n inverseBaselineColor: '#FFFFFF',\n inverseBaselineColorString: '255, 255, 255',\n opacityUmbra: 0.2,\n opacityPenumbra: 0.14,\n opacityAmbient: 0.12,\n opacityBoost: 0.2,\n mapUmbra: {// $mdc-elevation-umbra-map\n 0: {x: 0, y: 0, b: 0, s: 0}, // offset-x, offset-y, blur-radius, spread-radius\n 2: {x: 0, y: 3, b: 1, s: -2},\n 4: {x: 0, y: 2, b: 4, s: -1},\n 8: {x: 0, y: 5, b: 5, s: -3},\n 16: {x: 0, y: 8, b: 10, s: -5},\n },\n mapPenumbra: {// $mdc-elevation-penumbra-map\n 0: {x: 0, y: 0, b: 0, s: 0}, // offset-x, offset-y, blur-radius, spread-radius\n 2: {x: 0, y: 2, b: 2, s: 0},\n 4: {x: 0, y: 4, b: 5, s: 0},\n 8: {x: 0, y: 8, b: 10, s: 1},\n 16: {x: 0, y: 16, b: 24, s: 2},\n },\n mapAmbient: {// $mdc-elevation-ambient-map\n 0: {x: 0, y: 0, b: 0, s: 0}, // offset-x, offset-y, blur-radius, spread-radius\n 2: {x: 0, y: 1, b: 5, s: 0},\n 4: {x: 0, y: 1, b: 10, s: 0},\n 8: {x: 0, y: 3, b: 14, s: 2},\n 16: {x: 0, y: 6, b: 30, s: 5},\n },\n };\n /* eslint-enable key-spacing, object-curly-newline */\n }\n\n static cssBoxShadow(elevation, rotate = false, inverse = false) {\n const umbraO = this.shadows.opacityUmbra + this.shadows.opacityBoost;\n const penumbraO = this.shadows.opacityPenumbra + this.shadows.opacityBoost;\n const ambientO = this.shadows.opacityAmbient + this.shadows.opacityBoost;\n\n const umbraC = (inverse)\n ? `rgba(${this.shadows.inverseBaselineColorString}, ${umbraO})`\n : `rgba(${this.shadows.baselineColorString}, ${umbraO})`;\n const penumbraC = (inverse)\n ? `rgba(${this.shadows.inverseBaselineColorString}, ${penumbraO})`\n : `rgba(${this.shadows.baselineColorString}, ${penumbraO})`;\n const ambientC = (inverse)\n ? `rgba(${this.shadows.inverseBaselineColorString}, ${ambientO})`\n : `rgba(${this.shadows.baselineColorString}, ${ambientO})`;\n\n const umbraM = this.shadows.mapUmbra[elevation];\n const penumbraM = this.shadows.mapPenumbra[elevation];\n const ambientM = this.shadows.mapAmbient[elevation];\n\n const umbraS = (rotate)\n ? `${-umbraM.y}px ${umbraM.y / 2}px ${umbraM.b}px ${umbraM.s}px`\n : `${umbraM.y / 2}px ${umbraM.y}px ${umbraM.b}px ${umbraM.s}px`;\n const penumbraS = (rotate)\n ? `${-penumbraM.y}px ${penumbraM.y / 2}px ${penumbraM.b}px ${penumbraM.s}px`\n : `${penumbraM.y / 2}px ${penumbraM.y}px ${penumbraM.b}px ${penumbraM.s}px`;\n const ambientS = (rotate)\n ? `${-ambientM.y}px ${ambientM.y / 2}px ${ambientM.b}px ${ambientM.s}px`\n : `${ambientM.y / 2}px ${ambientM.y}px ${ambientM.b}px ${ambientM.s}px`;\n\n return `${umbraS} ${umbraC}, ${penumbraS} ${penumbraC}, ${ambientS} ${ambientC}`;\n }\n\n static get svgFilters() {\n const shadows = DecidablesElement.shadows; /* eslint-disable-line prefer-destructuring */\n\n const filters = shadows.elevations.map((z) => {\n return svg`\n <filter id=${`shadow-${z}`} x=\"-250%\" y=\"-250%\" width=\"600%\" height=\"600%\">\n <feComponentTransfer in=\"SourceAlpha\" result=\"solid\">\n <feFuncA type=\"table\" tableValues=\"0 1 1\"/>\n </feComponentTransfer>\n <feOffset in=\"solid\" result=\"offU\" dx=${shadows.mapUmbra[z].y / 2} dy=${shadows.mapUmbra[z].y} />\n <feOffset in=\"solid\" result=\"offP\" dx=${shadows.mapPenumbra[z].y / 2} dy=${shadows.mapPenumbra[z].y} />\n <feOffset in=\"solid\" result=\"offA\" dx=${shadows.mapAmbient[z].y / 2} dy=${shadows.mapAmbient[z].y} />\n ${(shadows.mapUmbra[z].s === 0)\n ? svg``\n : svg`<feMorphology in=\"offU\" result=\"spreadU\" operator=${(shadows.mapUmbra[z].s > 0) ? 'dilate' : 'erode'} radius=${Math.abs(shadows.mapUmbra[z].s)} />`\n }\n ${(shadows.mapPenumbra[z].s === 0)\n ? svg``\n : svg`<feMorphology in=\"offP\" result=\"spreadP\" operator=${(shadows.mapPenumbra[z].s > 0) ? 'dilate' : 'erode'} radius=${Math.abs(shadows.mapPenumbra[z].s)} />`\n }\n ${(shadows.mapAmbient[z].s === 0)\n ? svg``\n : svg`<feMorphology in=\"offA\" result=\"spreadA\" operator=${(shadows.mapAmbient[z].s > 0) ? 'dilate' : 'erode'} radius=${Math.abs(shadows.mapAmbient[z].s)} />`\n }\n <feGaussianBlur in=${(shadows.mapUmbra[z].s === 0) ? 'offU' : 'spreadU'} result=\"blurU\" stdDeviation=${shadows.mapUmbra[z].b / 2} />\n <feGaussianBlur in=${(shadows.mapPenumbra[z].s === 0) ? 'offP' : 'spreadP'} result=\"blurP\" stdDeviation=${shadows.mapPenumbra[z].b / 2} />\n <feGaussianBlur in=${(shadows.mapAmbient[z].s === 0) ? 'offA' : 'spreadA'} result=\"blurA\" stdDeviation=${shadows.mapAmbient[z].b / 2} />\n <feFlood in=\"SourceGraphic\" result=\"opU\" flood-color=${shadows.baselineColor} flood-opacity=${shadows.opacityUmbra + shadows.opacityBoost} />\n <feFlood in=\"SourceGraphic\" result=\"opP\" flood-color=${shadows.baselineColor} flood-opacity=${shadows.opacityPenumbra + shadows.opacityBoost} />\n <feFlood in=\"SourceGraphic\" result=\"opA\" flood-color=${shadows.baselineColor} flood-opacity=${shadows.opacityAmbient + shadows.opacityBoost} />\n <feComposite in=\"opU\" in2=\"blurU\" result=\"shU\" operator=\"in\" />\n <feComposite in=\"opP\" in2=\"blurP\" result=\"shP\" operator=\"in\" />\n <feComposite in=\"opA\" in2=\"blurA\" result=\"shA\" operator=\"in\" />\n <feMorphology in=\"solid\" result=\"smaller\" operator=\"erode\" radius=\"1\" />\n <feComposite in=\"shU\" in2=\"smaller\" result=\"finalU\" operator=\"out\" />\n <feComposite in=\"shP\" in2=\"smaller\" result=\"finalP\" operator=\"out\" />\n <feComposite in=\"shA\" in2=\"smaller\" result=\"finalA\" operator=\"out\" />\n <feMerge>\n <feMergeNode in=\"finalU\" />\n <feMergeNode in=\"finalP\" />\n <feMergeNode in=\"finalA\" />\n <feMergeNode in=\"SourceGraphic\" />\n </feMerge>\n </filter>`;\n });\n\n return svg`\n <svg class=\"defs\">\n <defs>\n ${filters}\n </defs>\n </svg>\n `;\n }\n\n static get styles() {\n return css`\n :host {\n ---shadow-0: var(--shadow-0, ${unsafeCSS(this.cssBoxShadow(0))});\n ---shadow-2: var(--shadow-2, ${unsafeCSS(this.cssBoxShadow(2))});\n ---shadow-4: var(--shadow-4, ${unsafeCSS(this.cssBoxShadow(4))});\n ---shadow-8: var(--shadow-8, ${unsafeCSS(this.cssBoxShadow(8))});\n\n ---color-background: var(--color-background, ${unsafeCSS(this.greys.white)});\n ---color-border: var(--color-border, ${unsafeCSS(this.greys.light75)});\n ---color-text: var(--color-text, ${unsafeCSS(this.greys.dark75)});\n ---color-text-inverse: var(--color-text-inverse, ${unsafeCSS(this.greys.white)});\n ---color-link: var(--color-link, ${unsafeCSS(this.greys.dark25)});\n ---color-element-background: var(--color-element-background, ${unsafeCSS(this.greys.light75)});\n ---color-element-disabled: var(--color-element-disabled, ${unsafeCSS(this.greys.light50)});\n ---color-element-enabled: var(--color-element-enabled, ${unsafeCSS(this.greys.dark25)});\n ---color-element-selected: var(--color-element-selected, ${unsafeCSS(this.greys.grey)});\n ---color-element-border: var(--color-element-border, ${unsafeCSS(this.greys.dark50)});\n ---color-element-emphasis: var(--color-element-emphasis, ${unsafeCSS(this.greys.dark75)});\n\n ---font-family-base: var(--font-family-base, \"Source Sans\", sans-serif);\n ---font-family-math: var(--font-family-math, \"Source Serif\", serif);\n\n ---border: var(--border, 1px solid var(---color-border));\n ---border-radius: var(--border-radius, 0.25rem);\n ---transition-duration: var(--transition-duration, 500ms);\n\n font-family: var(---font-family-base);\n }\n\n :host,\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: border-box;\n }\n\n .math-greek {\n font-family: var(---font-family-math);\n font-style: normal;\n }\n\n .math-num {\n font-family: var(---font-family-base);\n font-style: normal;\n }\n\n .math-var {\n font-family: var(---font-family-math);\n font-style: italic;\n }\n\n .defs {\n display: block;\n\n width: 0;\n height: 0;\n }\n `;\n }\n}\n","\nimport {html, css} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesButton extends DecidablesElement {\n static get properties() {\n return {\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.disabled = false;\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n :host {\n margin: 0.25rem;\n }\n\n button {\n width: 100%;\n height: 100%;\n padding: 0.375rem 0.75rem;\n\n font-family: var(---font-family-base);\n font-size: 1.125rem;\n line-height: 1.5;\n color: var(---color-text-inverse);\n\n border: 0;\n border-radius: var(---border-radius);\n outline: none;\n }\n\n button:disabled {\n background-color: var(--decidables-button-background-color, var(---color-element-disabled));\n outline: none;\n box-shadow: none;\n }\n\n button:enabled {\n cursor: pointer;\n\n background-color: var(--decidables-button-background-color, var(---color-element-enabled));\n outline: none;\n box-shadow: var(---shadow-2);\n }\n\n button:enabled:hover {\n outline: none;\n box-shadow: var(---shadow-4);\n }\n\n button:enabled:active {\n outline: none;\n box-shadow: var(---shadow-8);\n }\n\n :host(.keyboard) button:enabled:focus {\n outline: none;\n box-shadow: var(---shadow-4);\n }\n\n :host(.keyboard) button:enabled:focus:active {\n outline: none;\n box-shadow: var(---shadow-8);\n }\n `,\n ];\n }\n\n render() {\n return html`\n <button ?disabled=${this.disabled}>\n <slot></slot>\n </button>\n `;\n }\n}\n\ncustomElements.define('decidables-button', DecidablesButton);\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const l=l=>null!=l?l:t;export{l as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","\nimport {ifDefined} from 'lit/directives/if-defined.js'; /* eslint-disable-line import/extensions */\nimport {html, css, unsafeCSS} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesSlider extends DecidablesElement {\n static get properties() {\n return {\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n max: {\n attribute: 'max',\n type: Number,\n reflect: true,\n },\n min: {\n attribute: 'min',\n type: Number,\n reflect: true,\n },\n step: {\n attribute: 'step',\n type: Number,\n reflect: true,\n },\n value: {\n attribute: 'value',\n type: Number,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.disabled = false;\n this.max = undefined;\n this.min = undefined;\n this.step = undefined;\n this.value = undefined;\n }\n\n changed(event) {\n this.value = event.target.value;\n this.dispatchEvent(new CustomEvent('change', {\n detail: {\n value: this.value,\n },\n bubbles: true,\n }));\n }\n\n inputted(event) {\n this.value = event.target.value;\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n :host {\n ---shadow-2-rotate: var(--shadow-2-rotate, ${unsafeCSS(this.cssBoxShadow(2, true, false))});\n ---shadow-4-rotate: var(--shadow-4-rotate, ${unsafeCSS(this.cssBoxShadow(4, true, false))});\n ---shadow-8-rotate: var(--shadow-8-rotate, ${unsafeCSS(this.cssBoxShadow(8, true, false))});\n\n display: flex;\n\n flex-direction: column;\n\n align-items: center;\n justify-content: center;\n }\n\n label {\n margin: 0.25rem 0.25rem 0;\n }\n\n .range {\n display: inline-block;\n\n width: 3.5rem;\n height: 4.75rem;\n margin: 0 0.25rem 0.25rem;\n }\n\n decidables-spinner {\n --decidables-spinner-input-width: 3.5rem;\n\n margin: 0 0.25rem 0.25rem;\n }\n\n /* Adapted from http://danielstern.ca/range.css/#/ */\n /* Overall */\n input[type=range] {\n width: 4.75rem;\n height: 3.5rem;\n padding: 0;\n margin: 0;\n\n background-color: unset;\n\n transform: rotate(-90deg);\n transform-origin: 2.375rem 2.375rem;\n\n /* stylelint-disable-next-line property-no-vendor-prefix */\n -webkit-appearance: none;\n }\n\n input[type=range]:enabled {\n cursor: ns-resize;\n }\n\n input[type=range]:focus {\n outline: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-ms-tooltip {\n display: none;\n }\n\n /* Track */\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-webkit-slider-runnable-track {\n width: 100%;\n height: 4px;\n\n background: var(---color-element-disabled);\n border: 0;\n border-radius: 2px;\n box-shadow: none;\n }\n\n input[type=range]:focus::-webkit-slider-runnable-track {\n background: var(---color-element-disabled);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-moz-range-track {\n width: 100%;\n height: 4px;\n\n background: var(---color-element-disabled);\n border: 0;\n border-radius: 2px;\n box-shadow: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-ms-track {\n width: 100%;\n height: 4px;\n\n color: transparent;\n\n background: transparent;\n border-color: transparent;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-ms-fill-lower {\n background: #cccccc;\n /* background: var(---color-element-disabled); */\n border: 0;\n border-radius: 2px;\n box-shadow: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-ms-fill-upper {\n background: #cccccc;\n /* background: var(---color-element-disabled); */\n border: 0;\n border-radius: 2px;\n box-shadow: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:focus::-ms-fill-lower {\n background: var(---color-element-disabled);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:focus::-ms-fill-upper {\n background: var(---color-element-disabled);\n }\n\n /* Thumb */\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-webkit-slider-thumb {\n width: 10px;\n height: 20px;\n margin-top: -8px;\n\n border: 0;\n border-radius: 4px;\n\n /* stylelint-disable-next-line property-no-vendor-prefix */\n -webkit-appearance: none;\n }\n\n input[type=range]:disabled::-webkit-slider-thumb {\n background: var(---color-element-disabled);\n box-shadow: none;\n }\n\n input[type=range]:enabled::-webkit-slider-thumb {\n background: var(---color-element-enabled);\n box-shadow: var(---shadow-2-rotate);\n }\n\n input[type=range]:enabled:hover::-webkit-slider-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n input[type=range]:enabled:active::-webkit-slider-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n\n :host(.keyboard) input[type=range]:enabled:focus::-webkit-slider-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n :host(.keyboard) input[type=range]:focus:active::-webkit-slider-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-moz-range-thumb {\n width: 10px;\n height: 20px;\n\n border: 0;\n border-radius: 4px;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:disabled::-moz-range-thumb {\n background: var(---color-element-disabled);\n box-shadow: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled::-moz-range-thumb {\n background: var(---color-element-enabled);\n box-shadow: var(---shadow-2-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled:hover::-moz-range-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled:active::-moz-range-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n\n :host(.keyboard) input[type=range]:enabled:focus::-moz-range-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n :host(.keyboard) input[type=range]:enabled:focus:active::-moz-range-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]::-ms-thumb {\n width: 10px;\n height: 20px;\n margin-top: 0;\n\n background: #999999;\n /* background: var(---color-element-enabled); */\n border: 0;\n border-radius: 4px;\n box-shadow: var(---shadow-2-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:disabled::-ms-thumb {\n background: var(---color-element-disabled);\n box-shadow: none;\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled::-ms-thumb {\n background: var(---color-element-enabled);\n box-shadow: var(---shadow-2-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled:hover::-ms-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n input[type=range]:enabled:active::-ms-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n\n /* stylelint-disable-next-line no-descending-specificity */ /* stylelint ERROR */\n :host(.keyboard) input[type=range]:enabled:focus::-ms-thumb {\n box-shadow: var(---shadow-4-rotate);\n }\n\n :host(.keyboard) input[type=range]:enabled:focus:active::-ms-thumb {\n box-shadow: var(---shadow-8-rotate);\n }\n `,\n ];\n }\n\n render() {\n return html`\n <label for=\"slider\">\n <slot></slot>\n </label>\n <div class=\"range\">\n <input type=\"range\" id=\"slider\" min=${ifDefined(this.min)} max=${ifDefined(this.max)} step=${ifDefined(this.step)} .value=${this.value} @change=${this.changed.bind(this)} @input=${this.inputted.bind(this)}>\n </div>\n <decidables-spinner min=${ifDefined(this.min)} max=${ifDefined(this.max)} step=${ifDefined(this.step)} .value=${this.value} @input=${this.inputted.bind(this)}></decidables-spinner>\n `;\n }\n}\n\ncustomElements.define('decidables-slider', DecidablesSlider);\n","\nimport {ifDefined} from 'lit/directives/if-defined.js'; /* eslint-disable-line import/extensions */\nimport {html, css} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesSpinner extends DecidablesElement {\n static get properties() {\n return {\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n max: {\n attribute: 'max',\n type: Number,\n reflect: true,\n },\n min: {\n attribute: 'min',\n type: Number,\n reflect: true,\n },\n step: {\n attribute: 'step',\n type: Number,\n reflect: true,\n },\n value: {\n attribute: 'value',\n type: Number,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.disabled = false;\n this.max = undefined;\n this.min = undefined;\n this.step = undefined;\n this.value = undefined;\n }\n\n inputted(event) {\n this.value = event.target.value;\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n :host {\n ---decidables-spinner-font-size: var(--decidables-spinner-font-size, 1.125rem);\n ---decidables-spinner-input-width: var(--decidables-spinner-input-width, 4rem);\n ---decidables-spinner-prefix: var(--decidables-spinner-prefix, \"\");\n\n display: block;\n }\n\n label {\n position: relative;\n display: flex;\n\n flex-direction: column;\n\n align-items: center;\n\n margin: 0;\n\n font-size: 0.75rem;\n }\n\n label::before {\n position: absolute;\n bottom: 1px;\n left: calc(50% - var(---decidables-spinner-input-width) / 2 + 0.25rem);\n\n font-size: var(---decidables-spinner-font-size);\n line-height: normal;\n\n content: var(---decidables-spinner-prefix);\n }\n\n input[type=number] {\n width: var(---decidables-spinner-input-width);\n\n font-family: var(---font-family-base);\n font-size: var(---decidables-spinner-font-size);\n color: inherit;\n text-align: right;\n\n background: none;\n border: 0;\n border-radius: 0;\n outline: none;\n box-shadow: var(---shadow-2);\n\n -webkit-appearance: none; /* stylelint-disable-line property-no-vendor-prefix */\n }\n\n input[type=number]:hover {\n box-shadow: var(---shadow-4);\n }\n\n input[type=number]:focus,\n input[type=number]:active {\n box-shadow: var(---shadow-8);\n }\n\n input[type=number]:disabled {\n color: var(---color-text);\n\n border: 0;\n box-shadow: none;\n\n /* HACK: Use correct text color in Safari */\n -webkit-opacity: 1;\n /* HACK: Hide spinners in disabled input for Firefox and Safari */\n -moz-appearance: textfield; /* stylelint-disable-line property-no-vendor-prefix */\n /* HACK: Use correct text color in Safari */\n -webkit-text-fill-color: var(---color-text);\n }\n\n /* HACK: Hide spinners in disabled input for Firefox and Safari */\n input[type=number]:disabled::-webkit-outer-spin-button,\n input[type=number]:disabled::-webkit-inner-spin-button {\n margin: 0;\n -webkit-appearance: none; /* stylelint-disable-line property-no-vendor-prefix */\n }\n `,\n ];\n }\n\n render() {\n return html`\n <label>\n <slot></slot>\n <input ?disabled=${this.disabled} type=\"number\" min=${ifDefined(this.min)} max=${ifDefined(this.max)} step=${ifDefined(this.step)} .value=${this.value} @input=${this.inputted.bind(this)}>\n </label>\n `;\n }\n}\n\ncustomElements.define('decidables-spinner', DecidablesSpinner);\n","\nimport {html, css} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesSwitch extends DecidablesElement {\n static get properties() {\n return {\n checked: {\n attribute: 'checked',\n type: Boolean,\n reflect: true,\n },\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.checked = false;\n this.disabled = false;\n }\n\n changed(event) {\n this.checked = event.target.checked;\n this.dispatchEvent(new CustomEvent('change', {\n detail: {\n checked: this.checked,\n },\n bubbles: true,\n }));\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n :host {\n display: flex;\n\n flex-direction: column;\n\n align-items: center;\n justify-content: center;\n }\n\n /* Adapted from https://codepen.io/guuslieben/pen/YyPRVP */\n input[type=checkbox] {\n /* visuallyhidden: https://github.com/h5bp/html5-boilerplate/blob/master/dist/doc/css.md */\n position: absolute;\n\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0 0 0 0);\n\n white-space: nowrap;\n\n border: 0;\n clip-path: inset(100%); /* May cause a performance issue: https://github.com/h5bp/html5-boilerplate/issues/2021 */\n }\n\n input[type=checkbox] + label {\n order: 1;\n\n margin: 0 0.25rem 0.25rem;\n\n font-weight: 400;\n }\n\n input[type=checkbox] + label + label {\n position: relative;\n\n min-width: 24px;\n padding: 0 0 36px;\n margin: 0.25rem 0.25rem 0;\n\n font-weight: 400;\n\n outline: none;\n }\n\n input[type=checkbox] + label + label::before,\n input[type=checkbox] + label + label::after {\n position: absolute;\n\n left: 50%;\n\n margin: 0;\n\n content: \"\";\n\n outline: 0;\n\n transition: all var(---transition-duration) ease;\n transform: translate(-50%, 0);\n }\n\n input[type=checkbox] + label + label::before {\n bottom: 1px;\n\n width: 8px;\n height: 34px;\n\n background-color: var(---color-element-disabled);\n border-radius: 4px;\n }\n\n input[type=checkbox] + label + label::after {\n bottom: 0;\n\n width: 18px;\n height: 18px;\n\n background-color: var(---color-element-enabled);\n border-radius: 50%;\n box-shadow: var(---shadow-2);\n }\n\n input[type=checkbox]:checked + label + label::after {\n transform: translate(-50%, -100%);\n }\n\n input[type=checkbox]:disabled + label + label::after {\n background-color: var(---color-element-disabled);\n box-shadow: none;\n }\n\n input[type=checkbox]:enabled + label,\n input[type=checkbox]:enabled + label + label {\n cursor: pointer;\n }\n\n input[type=checkbox]:enabled + label:hover + label::after,\n input[type=checkbox]:enabled + label + label:hover::after {\n box-shadow: var(---shadow-4);\n }\n\n input[type=checkbox]:enabled + label:active + label::after,\n input[type=checkbox]:enabled + label + label:active::after {\n box-shadow: var(---shadow-8);\n }\n\n /* stylelint-disable-next-line selector-max-compound-selectors */\n :host(.keyboard) input[type=checkbox]:enabled:focus + label + label::after {\n box-shadow: var(---shadow-4);\n }\n\n /* stylelint-disable-next-line selector-max-compound-selectors */\n :host(.keyboard) input[type=checkbox]:enabled:focus + label + label:active::after,\n :host(.keyboard) input[type=checkbox]:enabled:focus:active + label + label::after {\n box-shadow: var(---shadow-8);\n }\n `,\n ];\n }\n\n render() {\n return html`\n <input type=\"checkbox\" id=\"switch\" ?checked=${this.checked} ?disabled=${this.disabled} @change=${this.changed.bind(this)}>\n <label for=\"switch\">\n <slot name=\"off-label\"></slot>\n </label>\n <label for=\"switch\">\n <slot></slot>\n </label>\n `;\n }\n}\n\ncustomElements.define('decidables-switch', DecidablesSwitch);\n","\nimport {html, css} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesToggle extends DecidablesElement {\n static get properties() {\n return {\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.disabled = false;\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n fieldset {\n display: flex;\n\n flex-direction: column;\n\n align-items: stretch;\n justify-content: center;\n\n margin: 0.25rem;\n\n border: 0;\n }\n\n legend {\n text-align: center;\n }\n `,\n ];\n }\n\n render() {\n return html`\n <fieldset ?disabled=${this.disabled}>\n <legend><slot name=\"label\"></slot></legend>\n <slot></slot>\n </fieldset>\n `;\n }\n}\n\ncustomElements.define('decidables-toggle', DecidablesToggle);\n","\nimport {html, css} from 'lit';\n\nimport DecidablesElement from './decidables-element';\n\nexport default class DecidablesToggleOption extends DecidablesElement {\n static get properties() {\n return {\n checked: {\n attribute: 'checked',\n type: Boolean,\n reflect: true,\n },\n disabled: {\n attribute: 'disabled',\n type: Boolean,\n reflect: true,\n },\n name: {\n attribute: 'name',\n type: String,\n reflect: true,\n },\n value: {\n attribute: 'value',\n type: String,\n reflect: true,\n },\n };\n }\n\n constructor() {\n super();\n\n // Attributes\n this.checked = false;\n this.disabled = false;\n this.name = undefined;\n this.value = undefined;\n }\n\n changed(event) {\n this.checked = event.target.checked;\n this.dispatchEvent(new CustomEvent('change', {\n detail: {\n checked: this.checked,\n value: this.value,\n },\n bubbles: true,\n }));\n }\n\n static get styles() {\n return [\n super.styles,\n css`\n :host {\n display: flex;\n }\n\n input[type=radio] {\n /* visuallyhidden: https://github.com/h5bp/html5-boilerplate/blob/master/dist/doc/css.md */\n position: absolute;\n\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0 0 0 0);\n\n white-space: nowrap;\n\n border: 0;\n clip-path: inset(100%); /* May cause a performance issue: https://github.com/h5bp/html5-boilerplate/issues/2021 */\n }\n\n input[type=radio] + label {\n width: 100%;\n padding: 0.375rem 0.75rem;\n\n font-family: var(---font-family-base);\n font-size: 1.125rem;\n line-height: 1.5;\n color: var(---color-text-inverse);\n text-align: center;\n\n cursor: pointer;\n\n background-color: var(---color-element-enabled);\n border: 0;\n border-radius: 0;\n outline: none;\n\n box-shadow: var(---shadow-2);\n }\n\n input[type=radio]:checked + label {\n background-color: var(---color-element-selected);\n outline: none;\n box-shadow: var(---shadow-2);\n }\n\n input[type=radio] + label:hover {\n z-index: 1;\n\n outline: none;\n box-shadow: var(---shadow-4);\n }\n\n input[type=radio] + label:active {\n z-index: 2;\n\n outline: none;\n box-shadow: var(---shadow-8);\n }\n\n :host(:first-of-type) input[type=radio] + label {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n }\n\n :host(:last-of-type) input[type=radio] + label {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n }\n\n :host(.keyboard) input[type=radio]:focus + label {\n z-index: 1;\n\n outline: none;\n box-shadow: var(---shadow-4);\n }\n\n :host(.keyboard) input[type=radio]:focus:checked + label {\n z-index: 1;\n\n background-color: var(---color-element-selected);\n outline: none;\n box-shadow: var(---shadow-4);\n }\n\n :host(.keyboard) input[type=radio]:focus + label:active {\n z-index: 2;\n\n outline: none;\n box-shadow: var(---shadow-8);\n }\n `,\n ];\n }\n\n render() {\n return html`\n <input type=\"radio\" id=\"toggle-option\" name=${this.name} value=${this.value} .checked=${this.checked} @change=${this.changed.bind(this)}>\n <label for=\"toggle-option\">\n <slot></slot>\n </label>\n `;\n }\n}\n\ncustomElements.define('decidables-toggle-option', DecidablesToggleOption);\n","\n/*\n Attribute: Space-separated sequence of numbers\n Property: Array of numbers\n*/\nconst DecidablesConverterArray = {\n fromAttribute: (value) => {\n return value.split(/\\s+/).map((item) => { return Number.parseFloat(item); });\n },\n toAttribute: (value) => {\n return (value.length) ? value.map((item) => { return item.toFixed(3); }).join(' ') : null;\n },\n};\n\nexport default DecidablesConverterArray;\n","\n/*\n Attribute: Space-separated sequence of strings\n Property: Set of strings\n*/\nconst DecidablesConverterSet = {\n fromAttribute: (value) => {\n return new Set(value.split(/\\s+/));\n },\n toAttribute: (value) => {\n return (value.size) ? [...value].join(' ') : null;\n },\n};\n\nexport default DecidablesConverterSet;\n"],"names":["t","window","e","ShadowRoot","ShadyCSS","nativeShadow","Document","prototype","CSSStyleSheet","s","Symbol","n","WeakMap","o$6","constructor","this","_$cssResult$","Error","cssText","styleSheet","o","length","get","replaceSync","set","toString","c","cssRules","r","trustedTypes","h","emptyScript","reactiveElementPolyfillSupport","toAttribute","i","Boolean","Object","Array","JSON","stringify","fromAttribute","Number","parse","a","notEqual","l","attribute","type","String","converter","reflect","hasChanged","HTMLElement","super","_$Ei","Map","isUpdatePending","hasUpdated","_$El","u","addInitializer","finalize","push","observedAttributes","elementProperties","forEach","_$Ep","_$Ev","createProperty","state","noAccessor","hasOwnProperty","getPropertyDescriptor","defineProperty","requestUpdate","configurable","enumerable","getPropertyOptions","finalized","getPrototypeOf","properties","getOwnPropertyNames","getOwnPropertySymbols","elementStyles","finalizeStyles","styles","isArray","Set","flat","reverse","unshift","toLowerCase","_$E_","Promise","enableUpdating","_$AL","_$Eg","addController","_$ES","renderRoot","isConnected","hostConnected","call","removeController","splice","indexOf","createRenderRoot","shadowRoot","attachShadow","shadowRootOptions","adoptStyles","adoptedStyleSheets","map","document","createElement","litNonce","setAttribute","textContent","appendChild","connectedCallback","disconnectedCallback","hostDisconnected","attributeChangedCallback","_$AK","_$EO","removeAttribute","has","_$EC","_$Ej","reject","scheduleUpdate","performUpdate","shouldUpdate","willUpdate","hostUpdate","update","_$Ek","_$AE","hostUpdated","firstUpdated","updated","updateComplete","getUpdateComplete","d","mode","ReactiveElement","reactiveElementVersions","createPolicy","createHTML","Math","random","slice","createMarker","createComment","f","_","m","p","RegExp","g","$","y","T","for","A","E","C","createTreeWalker","P","N$1","N","strings","_$litType$","parts","v","getTemplateHtml","lastIndex","exec","test","w","startsWith","V","el","currentNode","content","firstChild","remove","append","childNodes","nextNode","nodeType","hasAttributes","getAttributeNames","endsWith","getAttribute","split","index","name","ctor","H","L","z","k","tagName","data","innerHTML","S","_$Co","_$Cl","_$litDirective$","_$AO","_$AT","_$AS","values","M$1","_$AV","_$AN","_$AD","_$AM","parentNode","_$AU","creationScope","importNode","R","nextSibling","Z","_$AI","R$1","_$AH","_$AA","_$AB","options","_$Cp","startNode","endNode","_$AR","iterator","insertBefore","createTextNode","_$AC","M","_$AP","setConnected","k$1","element","fill","j","arguments","I","capture","once","passive","removeEventListener","addEventListener","handleEvent","host","B","litHtmlPolyfillSupport","litHtmlVersions","s$3","css","reduce","_$Et","_$Eh","_$Eu","_$Em","_$EU","globalThis","x","b","_$Cm","renderOptions","_$Do","renderBefore","render","_$litPart$","_$litElement$","litElementHydrateSupport","LitElement","litElementPolyfillSupport","litElementVersions","noop","value","dispatch","Dispatch","callback","concat","on","typename","types","trim","copy","that","args","apply","xhtml","namespaces","svg","xlink","xml","xmlns","namespace","prefix","space","local","creatorInherit","ownerDocument","uri","namespaceURI","documentElement","createElementNS","creatorFixed","fullname","creator","none","selector","querySelector","empty","selectorAll","querySelectorAll","arrayAll","select","from","array","matcher","matches","childMatcher","node","find","childFirst","firstElementChild","filter","children","sparse","EnterNode","parent","datum","_next","_parent","__data__","bindIndex","group","enter","exit","groupLength","dataLength","bindKey","key","keyValue","nodeByKeyValue","keyValues","delete","arraylike","ascending","NaN","attrRemove","attrRemoveNS","removeAttributeNS","attrConstant","attrConstantNS","setAttributeNS","attrFunction","attrFunctionNS","defaultView","styleRemove","style","removeProperty","styleConstant","priority","setProperty","styleFunction","styleValue","getPropertyValue","getComputedStyle","propertyRemove","propertyConstant","propertyFunction","classArray","string","classList","ClassList","_node","_names","classedAdd","names","list","add","classedRemove","classedTrue","classedFalse","classedFunction","textRemove","textConstant","textFunction","htmlRemove","htmlConstant","htmlFunction","raise","lower","previousSibling","constantNull","removeChild","selection_cloneShallow","clone","cloneNode","selection_cloneDeep","onRemove","__on","listener","onAdd","event","contextListener","dispatchEvent","params","CustomEvent","createEvent","initEvent","bubbles","cancelable","detail","dispatchConstant","dispatchFunction","child","next","join","contains","root","Selection","groups","parents","_groups","_parents","selection","define","factory","extend","definition","create","Color","subgroups","subnode","subgroup","selectAll","selectChild","match","childFind","selectChildren","childrenFilter","bind","constant","enterGroup","updateGroup","previous","i0","i1","_enter","_exit","onenter","onupdate","onexit","merge","order","context","groups0","groups1","m0","m1","min","merges","group0","group1","compareDocumentPosition","sort","compare","compareNode","sortgroups","sortgroup","nodes","size","each","attr","getAttributeNS","property","classed","text","html","insert","before","deep","typenames","parseTypenames","darker","brighter","reI","reN","reP","reHex","reRgbInteger","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color_formatHex","rgb","formatHex","color_formatRgb","formatRgb","color","format","parseInt","rgbn","Rgb","rgba","hsla","opacity","rgbConvert","rgb_formatHex","hex","rgb_formatRgb","isNaN","max","round","Hsl","hslConvert","hsl2rgb","m2","channels","assign","displayable","formatHsl","pow","gamma","nogamma","exponential","linear","interpolateRgb","rgbGamma","start","end","colorRgb","interpolateNumber","reA","reB","source","interpolateString","am","bm","bs","bi","q","number","one","zero","svgNode","degrees","PI","identity","translateX","translateY","rotate","skewX","scaleX","scaleY","decompose","sqrt","atan2","atan","interpolateTransform","pxComma","pxParen","degParen","pop","xa","ya","xb","yb","translate","scale","taskHead","taskTail","interpolateTransformCss","DOMMatrix","WebKitCSSMatrix","isIdentity","interpolateTransformSvg","transform","baseVal","consolidate","matrix","frame","timeout","interval","pokeDelay","clockLast","clockNow","clockSkew","clock","performance","now","Date","setFrame","requestAnimationFrame","setTimeout","clearNow","Timer","_call","_time","timer","delay","time","restart","wake","undefined","timerFlush","t0","t2","t1","Infinity","sleep","nap","poke","clearTimeout","clearInterval","setInterval","elapsed","stop","TypeError","emptyOn","emptyTween","CREATED","SCHEDULED","STARTING","STARTED","RUNNING","ENDING","ENDED","schedule","id","timing","schedules","__transition","self","tween","tick","duration","ease","init","tweenRemove","tween0","tween1","tweenFunction","tweenValue","transition","_id","interpolate","value1","string00","interpolate0","string1","string0","string10","attrTweenNS","attrInterpolateNS","_value","attrTween","attrInterpolate","delayFunction","delayConstant","durationFunction","durationConstant","Transition","_name","newId","selection_prototype","inherit","id0","id1","on0","on1","sit","every","onFunction","styleTween","styleNull","listener0","styleMaybeRemove","styleInterpolate","textTween","textInterpolate","removeFunction","easeConstant","easeVarying","resolve","cancel","interrupt","defaultTiming","Transform","active","point","applyX","applyY","invert","location","invertX","invertY","rescaleX","domain","range","rescaleY","DecidablesElement","getComputedStyleValue","changedProperties","d3","currentTarget","greys","light75","light50","light25","dark25","dark50","dark75","shadows","elevations","baselineColor","baselineColorString","inverseBaselineColor","inverseBaselineColorString","opacityUmbra","opacityPenumbra","opacityAmbient","opacityBoost","mapUmbra","mapPenumbra","mapAmbient","cssBoxShadow","elevation","inverse","umbraO","penumbraO","ambientO","umbraC","penumbraC","ambientC","umbraM","penumbraM","ambientM","svgFilters","filters","abs","unsafeCSS","DecidablesButton","disabled","customElements","DecidablesSlider","step","changed","target","inputted","ifDefined","DecidablesSpinner","DecidablesSwitch","checked","DecidablesToggle","DecidablesToggleOption","DecidablesConverterArray","item","parseFloat","toFixed","DecidablesConverterSet"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,97]}