(t,n)
| 13 | : ((v = v instanceof Date ? +v : v), (u = u instanceof Date ? +u : u)) !== u && v === v ? ${n} |
| 14 | : v !== v && u === u ? ${r} : `}var lme={operator:(e,t)=>Y0(e,["_"],t.code),parameter:(e,t)=>Y0(e,["datum","_"],t.code),event:(e,t)=>Y0(e,["event"],t.code),handler:(e,t)=>{let n=`var datum=event.item&&event.item.datum;return ${t.code};`;return Y0(e,["_","event"],n)},encode:(e,t)=>{let{marktype:n,channels:r}=t,i="var o=item,datum=o.datum,m=0,$;";for(let o in r){let s="o["+K(o)+"]";i+=`$=${r[o].code};if(${s}!==$)${s}=$,m=1;`}return i+=ome(r,n),i+="return m;",Y0(e,["item","_"],i)},codegen:{get(e){let t=`[${e.map(K).join("][")}]`,n=Function("_",`return _${t};`);return n.path=t,n},comparator(e,t){let n,r=(o,s)=>{let a=t[s],u,l;return o.path?(u=`a${o.path}`,l=`b${o.path}`):((n=n||{})["f"+s]=o,u=`this.f${s}(a)`,l=`this.f${s}(b)`),ume(u,l,-a,a)},i=Function("a","b","var u, v; return "+e.map(r).join("")+"0;");return n?i.bind(n):i}}};function cme(e){let t=this;sme(e.type)||!e.type?t.operator(e,e.update?t.operatorExpression(e.update):null):t.transform(e,e.type)}function fme(e){let t=this;if(e.params){let n=t.get(e.id);n||U("Invalid operator id: "+e.id),t.dataflow.connect(n,n.parameters(t.parseParameters(e.params),e.react,e.initonly))}}function dme(e,t){t=t||{};let n=this;for(let r in e){let i=e[r];t[r]=O(i)?i.map(o=>dz(o,n,t)):dz(i,n,t)}return t}function dz(e,t,n){if(!e||!Q(e))return e;for(let r=0,i=pz.length,o;r<i;++r)if(o=pz[r],ne(e,o.key))return o.parse(e,t,n);return e}var pz=[{key:"$ref",parse:pme},{key:"$key",parse:hme},{key:"$expr",parse:mme},{key:"$field",parse:gme},{key:"$encode",parse:xme},{key:"$compare",parse:yme},{key:"$context",parse:bme},{key:"$subflow",parse:vme},{key:"$tupleid",parse:Eme}];function pme(e,t){return t.get(e.$ref)||U("Operator not defined: "+e.$ref)}function mme(e,t,n){e.$params&&t.parseParameters(e.$params,n);let r="e:"+e.$expr.code;return t.fn[r]||(t.fn[r]=ir(t.parameterExpression(e.$expr),e.$fields))}function hme(e,t){let n="k:"+e.$key+"_"+!!e.$flat;return t.fn[n]||(t.fn[n]=dh(e.$key,e.$flat,t.expr.codegen))}function gme(e,t){if(!e.$field)return null;let n="f:"+e.$field+"_"+e.$name;return t.fn[n]||(t.fn[n]=wn(e.$field,e.$name,t.expr.codegen))}function yme(e,t){let n="c:"+e.$compare+"_"+e.$order,r=Z(e.$compare).map(i=>i&&i.$tupleid?ye:i);return t.fn[n]||(t.fn[n]=ch(r,e.$order,t.expr.codegen))}function xme(e,t){let n=e.$encode,r={};for(let i in n){let o=n[i];r[i]=ir(t.encodeExpression(o.$expr),o.$fields),r[i].output=o.$output}return r}function bme(e,t){return t}function vme(e,t){let n=e.$subflow;return function(r,i,o){let s=t.fork().parse(n),a=s.get(n.operators[0].id),u=s.signals.parent;return u&&u.set(o),a.detachSubflow=()=>t.detach(s),a}}function Eme(){return ye}function wme(e){var t=this,n=e.filter!=null?t.eventExpression(e.filter):void 0,r=e.stream!=null?t.get(e.stream):void 0,i;e.source?r=t.events(e.source,e.type,n):e.merge&&(i=e.merge.map(o=>t.get(o)),r=i[0].merge.apply(i[0],i.slice(1))),e.between&&(i=e.between.map(o=>t.get(o)),r=r.between(i[0],i[1])),e.filter&&(r=r.filter(n)),e.throttle!=null&&(r=r.throttle(+e.throttle)),e.debounce!=null&&(r=r.debounce(+e.debounce)),r==null&&U("Invalid stream definition: "+JSON.stringify(e)),e.consume&&r.consume(!0),t.stream(e,r)}function Sme(e){var t=this,n=Q(n=e.source)?n.$ref:n,r=t.get(n),i=null,o=e.update,s=void 0;r||U("Source not defined: "+e.source),i=e.target&&e.target.$expr?t.eventExpression(e.target.$expr):t.get(e.target),o&&o.$expr&&(o.$params&&(s=t.parseParameters(o.$params)),o=t.handlerExpression(o.$expr)),t.update(e,r,i,o,s)}var Ame={skip:!0};function _me(e){var t=this,n={};if(e.signals){var r=n.signals={};Object.keys(t.signals).forEach(o=>{let s=t.signals[o];e.signals(o,s)&&(r[o]=s.value)})}if(e.data){var i=n.data={};Object.keys(t.data).forEach(o=>{let s=t.data[o];e.data(o,s)&&(i[o]=s.input.value)})}return t.subcontext&&e.recurse!==!1&&(n.subcontext=t.subcontext.map(o=>o.getState(e))),n}function Cme(e){var t=this,n=t.dataflow,r=e.data,i=e.signals;Object.keys(i||{}).forEach(o=>{n.update(t.signals[o],i[o],Ame)}),Object.keys(r||{}).forEach(o=>{n.pulse(t.data[o].input,n.changeset().remove(pn).insert(r[o]))}),(e.subcontext||[]).forEach((o,s)=>{let a=t.subcontext[s];a&&a.setState(o)})}function AE(e,t,n,r){return new hz(e,t,n,r)}function hz(e,t,n,r){this.dataflow=e,this.transforms=t,this.events=e.events.bind(e),this.expr=r||lme,this.signals={},this.scales={},this.nodes={},this.data={},this.fn={},n&&(this.functions=Object.create(n),this.functions.context=this)}function mz(e){this.dataflow=e.dataflow,this.transforms=e.transforms,this.events=e.events,this.expr=e.expr,this.signals=Object.create(e.signals),this.scales=Object.create(e.scales),this.nodes=Object.create(e.nodes),this.data=Object.create(e.data),this.fn=Object.create(e.fn),e.functions&&(this.functions=Object.create(e.functions),this.functions.context=this)}hz.prototype=mz.prototype={fork(){let e=new mz(this);return(this.subcontext||(this.subcontext=[])).push(e),e},detach(e){this.subcontext=this.subcontext.filter(n=>n!==e);let t=Object.keys(e.nodes);for(let n of t)e.nodes[n]._targets=null;for(let n of t)e.nodes[n].detach();e.nodes=null},get(e){return this.nodes[e]},set(e,t){return this.nodes[e]=t},add(e,t){let n=this,r=n.dataflow,i=e.value;if(n.set(e.id,t),ame(e.type)&&i&&(i.$ingest?r.ingest(t,i.$ingest,i.$format):i.$request?r.preload(t,i.$request,i.$format):r.pulse(t,r.changeset().insert(i))),e.root&&(n.root=t),e.parent){let o=n.get(e.parent.$ref);o?(r.connect(o,[t]),t.targets().add(o)):(n.unresolved=n.unresolved||[]).push(()=>{o=n.get(e.parent.$ref),r.connect(o,[t]),t.targets().add(o)})}if(e.signal&&(n.signals[e.signal]=t),e.scale&&(n.scales[e.scale]=t),e.data)for(let o in e.data){let s=n.data[o]||(n.data[o]={});e.data[o].forEach(a=>s[a]=t)}},resolve(){return(this.unresolved||[]).forEach(e=>e()),delete this.unresolved,this},operator(e,t){this.add(e,this.dataflow.add(e.value,t))},transform(e,t){this.add(e,this.dataflow.add(this.transforms[CM(t)]))},stream(e,t){this.set(e.id,t)},update(e,t,n,r,i){this.dataflow.on(t,n,r,i,e.options)},operatorExpression(e){return this.expr.operator(this,e)},parameterExpression(e){return this.expr.parameter(this,e)},eventExpression(e){return this.expr.event(this,e)},handlerExpression(e){return this.expr.handler(this,e)},encodeExpression(e){return this.expr.encode(this,e)},parse:rme,parseOperator:cme,parseOperatorParameters:fme,parseParameters:dme,parseStream:wme,parseUpdate:Sme,getState:_me,setState:Cme};function kme(e){let t=e.container();t&&(t.setAttribute("role","graphics-document"),t.setAttribute("aria-roleDescription","visualization"),Az(t,e.description()))}function Az(e,t){e&&(t==null?e.removeAttribute("aria-label"):e.setAttribute("aria-label",t))}function Fme(e){e.add(null,t=>(e._background=t.bg,e._resize=1,t.bg),{bg:e._signals.background})}var kM="default";function Tme(e){let t=e._signals.cursor||(e._signals.cursor=e.add({user:kM,item:null}));e.on(e.events("view","pointermove"),t,(n,r)=>{let i=t.value,o=i?Y(i)?i:i.user:kM,s=r.item&&r.item.cursor||null;return i&&o===i.user&&s==i.item?i:{user:o,item:s}}),e.add(null,function(n){let r=n.cursor,i=this.value;return Y(r)||(i=r.item,r=r.user),TM(e,r&&r!==kM?r:i||r),i},{cursor:t})}function TM(e,t){let n=e.globalCursor()?typeof document<"u"&&document.body:e.container();if(n)return t==null?n.style.removeProperty("cursor"):n.style.cursor=t}function kE(e,t){var n=e._runtime.data;return ne(n,t)||U("Unrecognized data set: "+t),n[t]}function Rme(e,t){return arguments.length<2?kE(this,e).values.value:TE.call(this,e,Ba().remove(pn).insert(t))}function TE(e,t){xC(t)||U("Second argument to changes must be a changeset.");let n=kE(this,e);return n.modified=!0,this.pulse(n.input,t)}function Dme(e,t){return TE.call(this,e,Ba().insert(t))}function Mme(e,t){return TE.call(this,e,Ba().remove(t))}function _z(e){var t=e.padding();return Math.max(0,e._viewWidth+t.left+t.right)}function Cz(e){var t=e.padding();return Math.max(0,e._viewHeight+t.top+t.bottom)}function RE(e){var t=e.padding(),n=e._origin;return[t.left+n[0],t.top+n[1]]}function Ime(e){var t=RE(e),n=_z(e),r=Cz(e);e._renderer.background(e.background()),e._renderer.resize(n,r,t),e._handler.origin(t),e._resizeListeners.forEach(i=>{try{i(n,r)}catch(o){e.error(o)}})}function Nme(e,t,n){var r=e._renderer,i=r&&r.canvas(),o,s,a;return i&&(a=RE(e),s=t.changedTouches?t.changedTouches[0]:t,o=Jg(s,i),o[0]-=a[0],o[1]-=a[1]),t.dataflow=e,t.item=n,t.vega=Ome(e,n,o),t}function Ome(e,t,n){let r=t?t.mark.marktype==="group"?t:t.mark.group:null;function i(s){var a=r,u;if(s){for(u=t;u;u=u.mark.group)if(u.mark.name===s){a=u;break}}return a&&a.mark&&a.mark.interactive?a:{}}function o(s){if(!s)return n;Y(s)&&(s=i(s));let a=n.slice();for(;s;)a[0]-=s.x||0,a[1]-=s.y||0,s=s.mark&&s.mark.group;return a}return{view:_t(e),item:_t(t||{}),group:i,xy:o,x:s=>o(s)[0],y:s=>o(s)[1]}}var gz="view",Pme="timer",$me="window",Lme={trap:!1};function Bme(e){let t=Se({defaults:{}},e),n=(r,i)=>{i.forEach(o=>{O(r[o])&&(r[o]=en(r[o]))})};return n(t.defaults,["prevent","allow"]),n(t,["view","window","selector"]),t}function kz(e,t,n,r){e._eventListeners.push({type:n,sources:Z(t),handler:r})}function Ume(e,t){var n=e._eventConfig.defaults,r=n.prevent,i=n.allow;return r===!1||i===!0?!1:r===!0||i===!1?!0:r?r[t]:i?!i[t]:e.preventDefault()}function _E(e,t,n){let r=e._eventConfig&&e._eventConfig[t];return r===!1||Q(r)&&!r[n]?(e.warn(`Blocked ${t} ${n} event listener.`),!1):!0}function zme(e,t,n){var r=this,i=new yd(n),o=function(l,c){r.runAsync(null,()=>{e===gz&&Ume(r,t)&&l.preventDefault(),i.receive(Nme(r,l,c))})},s;if(e===Pme)_E(r,"timer",t)&&r.timer(o,t);else if(e===gz)_E(r,"view",t)&&r.addEventListener(t,o,Lme);else if(e===$me?_E(r,"window",t)&&typeof window<"u"&&(s=[window]):typeof document<"u"&&_E(r,"selector",t)&&(s=Array.from(document.querySelectorAll(e))),!s)r.warn("Can not resolve event source: "+e);else{for(var a=0,u=s.length;a<u;++a)s[a].addEventListener(t,o);kz(r,s,t,o)}return i}function yz(e){return e.item}function xz(e){return e.item.mark.source}function bz(e){return function(t,n){return n.vega.view().changeset().encode(n.item,e)}}function Hme(e,t){return e=[e||"hover"],t=[t||"update",e[0]],this.on(this.events("view","pointerover",yz),xz,bz(e)),this.on(this.events("view","pointerout",yz),xz,bz(t)),this}function qme(){var e=this._tooltip,t=this._timers,n=this._handler.handlers(),r=this._eventListeners,i,o,s,a,u;for(i=t.length;--i>=0;)t[i].stop();for(i=r.length;--i>=0;)for(s=r[i],o=s.sources.length;--o>=0;)s.sources[o].removeEventListener(s.type,s.handler);for(e&&e.call(this,this._handler,null,null,null),i=n.length;--i>=0;)u=n[i].type,a=n[i].handler,this._handler.off(u,a);return this}function Ii(e,t,n){let r=document.createElement(e);for(let i in t)r.setAttribute(i,t[i]);return n!=null&&(r.textContent=n),r}var Gme="vega-bind",jme="vega-bind-name",Wme="vega-bind-radio";function Vme(e,t,n){if(!t)return;let r=n.param,i=n.state;return i||(i=n.state={elements:null,active:!1,set:null,update:s=>{s!=e.signal(r.signal)&&e.runAsync(null,()=>{i.source=!0,e.signal(r.signal,s)})}},r.debounce&&(i.update=fh(r.debounce,i.update))),(r.input==null&&r.element?Yme:Kme)(i,t,r,e),i.active||(e.on(e._signals[r.signal],null,()=>{i.source?i.source=!1:i.set(e.signal(r.signal))}),i.active=!0),i}function Yme(e,t,n,r){let i=n.event||"input",o=()=>e.update(t.value);r.signal(n.signal,t.value),t.addEventListener(i,o),kz(r,t,i,o),e.set=s=>{t.value=s,t.dispatchEvent(Xme(i))}}function Xme(e){return typeof Event<"u"?new Event(e):{type:e}}function Kme(e,t,n,r){let i=r.signal(n.signal),o=Ii("div",{class:Gme}),s=n.input==="radio"?o:o.appendChild(Ii("label"));s.appendChild(Ii("span",{class:jme},n.name||n.signal)),t.appendChild(o);let a=Qme;switch(n.input){case"checkbox":a=Jme;break;case"select":a=Zme;break;case"radio":a=ehe;break;case"range":a=the;break}a(e,s,n,i)}function Qme(e,t,n,r){let i=Ii("input");for(let o in n)o!=="signal"&&o!=="element"&&i.setAttribute(o==="input"?"type":o,n[o]);i.setAttribute("name",n.signal),i.value=r,t.appendChild(i),i.addEventListener("input",()=>e.update(i.value)),e.elements=[i],e.set=o=>i.value=o}function Jme(e,t,n,r){let i={type:"checkbox",name:n.signal};r&&(i.checked=!0);let o=Ii("input",i);t.appendChild(o),o.addEventListener("change",()=>e.update(o.checked)),e.elements=[o],e.set=s=>o.checked=!!s||null}function Zme(e,t,n,r){let i=Ii("select",{name:n.signal}),o=n.labels||[];n.options.forEach((s,a)=>{let u={value:s};FE(s,r)&&(u.selected=!0),i.appendChild(Ii("option",u,(o[a]||s)+""))}),t.appendChild(i),i.addEventListener("change",()=>{e.update(n.options[i.selectedIndex])}),e.elements=[i],e.set=s=>{for(let a=0,u=n.options.length;a<u;++a)if(FE(n.options[a],s)){i.selectedIndex=a;return}}}function ehe(e,t,n,r){let i=Ii("span",{class:Wme}),o=n.labels||[];t.appendChild(i),e.elements=n.options.map((s,a)=>{let u={type:"radio",name:n.signal,value:s};FE(s,r)&&(u.checked=!0);let l=Ii("input",u);l.addEventListener("change",()=>e.update(s));let c=Ii("label",{},(o[a]||s)+"");return c.prepend(l),i.appendChild(c),l}),e.set=s=>{let a=e.elements,u=a.length;for(let l=0;l<u;++l)FE(a[l].value,s)&&(a[l].checked=!0)}}function the(e,t,n,r){r=r!==void 0?r:(+n.max+ +n.min)/2;let i=n.max!=null?n.max:Math.max(100,+r)||100,o=n.min||Math.min(0,i,+r)||0,s=n.step||Dr(o,i,100),a=Ii("input",{type:"range",name:n.signal,min:o,max:i,step:s});a.value=r;let u=Ii("span",{},+r);t.appendChild(a),t.appendChild(u);let l=()=>{u.textContent=a.value,e.update(+a.value)};a.addEventListener("input",l),a.addEventListener("change",l),e.elements=[a],e.set=c=>{a.value=c,u.textContent=c}}function FE(e,t){return e===t||e+""==t+""}function Fz(e,t,n,r,i,o){return t=t||new r(e.loader()),t.initialize(n,_z(e),Cz(e),RE(e),i,o).background(e.background())}function RM(e,t){return t?function(){try{t.apply(this,arguments)}catch(n){e.error(n)}}:null}function nhe(e,t,n,r){let i=new r(e.loader(),RM(e,e.tooltip())).scene(e.scenegraph().root).initialize(n,RE(e),e);return t&&t.handlers().forEach(o=>{i.on(o.type,o.handler)}),i}function rhe(e,t){let n=this,r=n._renderType,i=n._eventConfig.bind,o=Zg(r);e=n._el=e?FM(n,e,!0):null,kme(n),o||n.error("Unrecognized renderer type: "+r);let s=o.handler||cl,a=e?o.renderer:o.headless;return n._renderer=a?Fz(n,n._renderer,e,a):null,n._handler=nhe(n,n._handler,e,s),n._redraw=!0,e&&i!=="none"&&(t=t?n._elBind=FM(n,t,!0):e.appendChild(Ii("form",{class:"vega-bindings"})),n._bind.forEach(u=>{u.param.element&&i!=="container"&&(u.element=FM(n,u.param.element,!!u.param.input))}),n._bind.forEach(u=>{Vme(n,u.element||t,u)})),n}function FM(e,t,n){if(typeof t=="string")if(typeof document<"u"){if(t=document.querySelector(t),!t)return e.error("Signal bind element not found: "+t),null}else return e.error("DOM document instance not found."),null;if(t&&n)try{t.textContent=""}catch(r){t=null,e.error(r)}return t}var X0=e=>+e||0,ihe=e=>({top:e,bottom:e,left:e,right:e});function vz(e){return Q(e)?{top:X0(e.top),bottom:X0(e.bottom),left:X0(e.left),right:X0(e.right)}:ihe(X0(e))}async function DM(e,t,n,r){let i=Zg(t),o=i&&i.headless;return o||U("Unrecognized renderer type: "+t),await e.runAsync(),Fz(e,null,null,o,n,r).renderAsync(e._scenegraph.root)}async function ohe(e,t){e!==Wa.Canvas&&e!==Wa.SVG&&e!==Wa.PNG&&U("Unrecognized image type: "+e);let n=await DM(this,e,t);return e===Wa.SVG?she(n.svg(),"image/svg+xml"):n.canvas().toDataURL("image/png")}function she(e,t){let n=new Blob([e],{type:t});return window.URL.createObjectURL(n)}async function ahe(e,t){return(await DM(this,Wa.Canvas,e,t)).canvas()}async function uhe(e){return(await DM(this,Wa.SVG,e)).svg()}function lhe(e,t,n){return AE(e,La,gp,n).parse(t)}function che(e){var t=this._runtime.scales;return ne(t,e)||U("Unrecognized scale or projection: "+e),t[e].value}var Tz="width",Rz="height",MM="padding",Ez={skip:!0};function Dz(e,t){var n=e.autosize(),r=e.padding();return t-(n&&n.contains===MM?r.left+r.right:0)}function Mz(e,t){var n=e.autosize(),r=e.padding();return t-(n&&n.contains===MM?r.top+r.bottom:0)}function fhe(e){var t=e._signals,n=t[Tz],r=t[Rz],i=t[MM];function o(){e._autosize=e._resize=1}e._resizeWidth=e.add(null,a=>{e._width=a.size,e._viewWidth=Dz(e,a.size),o()},{size:n}),e._resizeHeight=e.add(null,a=>{e._height=a.size,e._viewHeight=Mz(e,a.size),o()},{size:r});let s=e.add(null,o,{pad:i});e._resizeWidth.rank=n.rank+1,e._resizeHeight.rank=r.rank+1,s.rank=i.rank+1}function dhe(e,t,n,r,i,o){this.runAfter(s=>{let a=0;s._autosize=0,s.width()!==n&&(a=1,s.signal(Tz,n,Ez),s._resizeWidth.skip(!0)),s.height()!==r&&(a=1,s.signal(Rz,r,Ez),s._resizeHeight.skip(!0)),s._viewWidth!==e&&(s._resize=1,s._viewWidth=e),s._viewHeight!==t&&(s._resize=1,s._viewHeight=t),(s._origin[0]!==i[0]||s._origin[1]!==i[1])&&(s._resize=1,s._origin=i),a&&s.run("enter"),o&&s.runAfter(u=>u.resize())},!1,1)}function phe(e){return this._runtime.getState(e||{data:mhe,signals:hhe,recurse:!0})}function mhe(e,t){return t.modified&&O(t.input.value)&&!e.startsWith("_:vega:_")}function hhe(e,t){return!(e==="parent"||t instanceof La.proxy)}function ghe(e){return this.runAsync(null,t=>{t._trigger=!1,t._runtime.setState(e)},t=>{t._trigger=!0}),this}function yhe(e,t){function n(r){e({timestamp:Date.now(),elapsed:r})}this._timers.push(XR(n,t))}function xhe(e,t,n,r){let i=e.element();i&&i.setAttribute("title",bhe(r))}function bhe(e){return e==null?"":O(e)?Iz(e):Q(e)&&!Io(e)?vhe(e):e+""}function vhe(e){return Object.keys(e).map(t=>{let n=e[t];return t+": "+(O(n)?Iz(n):Nz(n))}).join(` |
| 15 | `)}function Iz(e){return"["+e.map(Nz).join(", ")+"]"}function Nz(e){return O(e)?"[\u2026]":Q(e)&&!Io(e)?"{\u2026}":e}function Ehe(){if(this.renderer()==="canvas"&&this._renderer._canvas){let e=null,t=()=>{e?.();let n=matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`);n.addEventListener("change",t),e=()=>{n.removeEventListener("change",t)},this._renderer._canvas.getContext("2d").pixelRatio=window.devicePixelRatio||1,this._redraw=!0,this._resize=1,this.resize().runAsync()};t()}}function IM(e,t){let n=this;if(t=t||{},qu.call(n),t.loader&&n.loader(t.loader),t.logger&&n.logger(t.logger),t.logLevel!=null&&n.logLevel(t.logLevel),t.locale||e.locale){let o=Se({},e.locale,t.locale);n.locale(s1(o.number,o.time))}n._el=null,n._elBind=null,n._renderType=t.renderer||Wa.Canvas,n._scenegraph=new Bg;let r=n._scenegraph.root;n._renderer=null,n._tooltip=t.tooltip||xhe,n._redraw=!0,n._handler=new cl().scene(r),n._globalCursor=!1,n._preventDefault=!1,n._timers=[],n._eventListeners=[],n._resizeListeners=[],n._eventConfig=Bme(e.eventConfig),n.globalCursor(n._eventConfig.globalCursor);let i=lhe(n,e,t.expr);n._runtime=i,n._signals=i.signals,n._bind=(e.bindings||[]).map(o=>({state:null,param:Se({},o)})),i.root&&i.root.set(r),r.source=i.data.root.input,n.pulse(i.data.root.input,n.changeset().insert(r.items)),n._width=n.width(),n._height=n.height(),n._viewWidth=Dz(n,n._width),n._viewHeight=Mz(n,n._height),n._origin=[0,0],n._resize=0,n._autosize=1,fhe(n),Fme(n),Tme(n),n.description(e.description),t.hover&&n.hover(),t.container&&n.initialize(t.container,t.bind),t.watchPixelRatio&&n._watchPixelRatio()}function CE(e,t){return ne(e._signals,t)?e._signals[t]:U("Unrecognized signal name: "+K(t))}function Oz(e,t){let n=(e._targets||[]).filter(r=>r._update&&r._update.handler===t);return n.length?n[0]:null}function wz(e,t,n,r){let i=Oz(n,r);return i||(i=RM(e,()=>r(t,n.value)),i.handler=r,e.on(n,null,i)),e}function Sz(e,t,n){let r=Oz(t,n);return r&&t._targets.remove(r),e}te(IM,qu,{async evaluate(e,t,n){if(await qu.prototype.evaluate.call(this,e,t),this._redraw||this._resize)try{this._renderer&&(this._resize&&(this._resize=0,Ime(this)),await this._renderer.renderAsync(this._scenegraph.root)),this._redraw=!1}catch(r){this.error(r)}return n&&zh(this,n),this},dirty(e){this._redraw=!0,this._renderer&&this._renderer.dirty(e)},description(e){if(arguments.length){let t=e!=null?e+"":null;return t!==this._desc&&Az(this._el,this._desc=t),this}return this._desc},container(){return this._el},scenegraph(){return this._scenegraph},origin(){return this._origin.slice()},signal(e,t,n){let r=CE(this,e);return arguments.length===1?r.value:this.update(r,t,n)},width(e){return arguments.length?this.signal("width",e):this.signal("width")},height(e){return arguments.length?this.signal("height",e):this.signal("height")},padding(e){return arguments.length?this.signal("padding",vz(e)):vz(this.signal("padding"))},autosize(e){return arguments.length?this.signal("autosize",e):this.signal("autosize")},background(e){return arguments.length?this.signal("background",e):this.signal("background")},renderer(e){return arguments.length?(Zg(e)||U("Unrecognized renderer type: "+e),e!==this._renderType&&(this._renderType=e,this._resetRenderer()),this):this._renderType},tooltip(e){return arguments.length?(e!==this._tooltip&&(this._tooltip=e,this._resetRenderer()),this):this._tooltip},loader(e){return arguments.length?(e!==this._loader&&(qu.prototype.loader.call(this,e),this._resetRenderer()),this):this._loader},resize(){return this._autosize=1,this.touch(CE(this,"autosize"))},_resetRenderer(){this._renderer&&(this._renderer=null,this.initialize(this._el,this._elBind))},_resizeView:dhe,addEventListener(e,t,n){let r=t;return n&&n.trap===!1||(r=RM(this,t),r.raw=t),this._handler.on(e,r),this},removeEventListener(e,t){for(var n=this._handler.handlers(e),r=n.length,i,o;--r>=0;)if(o=n[r].type,i=n[r].handler,e===o&&(t===i||t===i.raw)){this._handler.off(o,i);break}return this},addResizeListener(e){let t=this._resizeListeners;return t.includes(e)||t.push(e),this},removeResizeListener(e){var t=this._resizeListeners,n=t.indexOf(e);return n>=0&&t.splice(n,1),this},addSignalListener(e,t){return wz(this,e,CE(this,e),t)},removeSignalListener(e,t){return Sz(this,CE(this,e),t)},addDataListener(e,t){return wz(this,e,kE(this,e).values,t)},removeDataListener(e,t){return Sz(this,kE(this,e).values,t)},globalCursor(e){if(arguments.length){if(this._globalCursor!==!!e){let t=TM(this,null);this._globalCursor=!!e,t&&TM(this,t)}return this}else return this._globalCursor},preventDefault(e){return arguments.length?(this._preventDefault=e,this):this._preventDefault},timer:yhe,events:zme,finalize:qme,hover:Hme,data:Rme,change:TE,insert:Dme,remove:Mme,scale:che,initialize:rhe,toImageURL:ohe,toCanvas:ahe,toSVG:uhe,getState:phe,setState:ghe,_watchPixelRatio:Ehe});var whe="view",DE="[",ME="]",Pz="{",$z="}",She=":",Lz=",",Ahe="@",_he=">",Che=/[[\]{}]/,khe={"*":1,arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1},Bz,Uz;function mr(e,t,n){return Bz=t||whe,Uz=n||khe,zz(e.trim()).map(NM)}function Fhe(e){return Uz[e]}function K0(e,t,n,r,i){let o=e.length,s=0,a;for(;t<o;++t){if(a=e[t],!s&&a===n)return t;i&&i.indexOf(a)>=0?--s:r&&r.indexOf(a)>=0&&++s}return t}function zz(e){let t=[],n=e.length,r=0,i=0;for(;i<n;)i=K0(e,i,Lz,DE+Pz,ME+$z),t.push(e.substring(r,i).trim()),r=++i;if(t.length===0)throw"Empty event selector: "+e;return t}function NM(e){return e[0]==="["?The(e):Rhe(e)}function The(e){let t=e.length,n=1,r;if(n=K0(e,n,ME,DE,ME),n===t)throw"Empty between selector: "+e;if(r=zz(e.substring(1,n)),r.length!==2)throw"Between selector must have two elements: "+e;if(e=e.slice(n+1).trim(),e[0]!==_he)throw"Expected '>' after between selector: "+e;r=r.map(NM);let i=NM(e.slice(1).trim());return i.between?{between:r,stream:i}:(i.between=r,i)}function Rhe(e){let t={source:Bz},n=[],r=[0,0],i=0,o=0,s=e.length,a=0,u,l;if(e[s-1]===$z){if(a=e.lastIndexOf(Pz),a>=0){try{r=Dhe(e.substring(a+1,s-1))}catch{throw"Invalid throttle specification: "+e}e=e.slice(0,a).trim(),s=e.length}else throw"Unmatched right brace: "+e;a=0}if(!s)throw e;if(e[0]===Ahe&&(i=++a),u=K0(e,a,She),u<s&&(n.push(e.substring(o,u).trim()),o=a=++u),a=K0(e,a,DE),a===s)n.push(e.substring(o,s).trim());else if(n.push(e.substring(o,a).trim()),l=[],o=++a,o===s)throw"Unmatched left bracket: "+e;for(;a<s;){if(a=K0(e,a,ME),a===s)throw"Unmatched left bracket: "+e;if(l.push(e.substring(o,a).trim()),a<s-1&&e[++a]!==DE)throw"Expected left bracket: "+e;o=++a}if(!(s=n.length)||Che.test(n[s-1]))throw"Invalid event selector: "+e;return s>1?(t.type=n[1],i?t.markname=n[0].slice(1):Fhe(n[0])?t.marktype=n[0]:t.source=n[0]):t.type=n[0],t.type.slice(-1)==="!"&&(t.consume=!0,t.type=t.type.slice(0,-1)),l!=null&&(t.filter=l),r[0]&&(t.throttle=r[0]),r[1]&&(t.debounce=r[1]),t}function Dhe(e){let t=e.split(Lz);if(!e.length||t.length>2)throw e;return t.map(n=>{let r=+n;if(r!==r)throw e;return r})}function Mhe(e){return Q(e)?e:{type:e||"pad"}}var Q0=e=>+e||0,Ihe=e=>({top:e,bottom:e,left:e,right:e});function Nhe(e){return Q(e)?e.signal?e:{top:Q0(e.top),bottom:Q0(e.bottom),left:Q0(e.left),right:Q0(e.right)}:Ihe(Q0(e))}var Fn=e=>Q(e)&&!O(e)?Se({},e):{value:e};function Hz(e,t,n,r){return n!=null?(Q(n)&&!O(n)||O(n)&&n.length&&Q(n[0])?e.update[t]=n:e[r||"enter"][t]={value:n},1):0}function Gn(e,t,n){for(let r in t)Hz(e,r,t[r]);for(let r in n)Hz(e,r,n[r],"update")}function wp(e,t,n){for(let r in t)n&&ne(n,r)||(e[r]=Se(e[r]||{},t[r]));return e}function xp(e,t){return t&&(t.enter&&t.enter[e]||t.update&&t.update[e])}var jM="mark",WM="frame",VM="scope",Ohe="axis",Phe="axis-domain",$he="axis-grid",Lhe="axis-label",Bhe="axis-tick",Uhe="axis-title",zhe="legend",Hhe="legend-band",qhe="legend-entry",Ghe="legend-gradient",a7="legend-label",jhe="legend-symbol",Whe="legend-title",Vhe="title",Yhe="title-text",Xhe="title-subtitle";function Khe(e,t,n,r,i){let o={},s={},a,u,l,c;u="lineBreak",t==="text"&&i[u]!=null&&!xp(u,e)&&OM(o,u,i[u]),(n=="legend"||String(n).startsWith("axis"))&&(n=null),c=n===WM?i.group:n===jM?Se({},i.mark,i[t]):null;for(u in c)l=xp(u,e)||(u==="fill"||u==="stroke")&&(xp("fill",e)||xp("stroke",e)),l||OM(o,u,c[u]);Z(r).forEach(f=>{let d=i.style&&i.style[f];for(let p in d)xp(p,e)||OM(o,p,d[p])}),e=Se({},e);for(u in o)c=o[u],c.signal?(a=a||{})[u]=c:s[u]=c;return e.enter=Se(s,e.enter),a&&(e.update=Se(a,e.update)),e}function OM(e,t,n){e[t]=n&&n.signal?{signal:n.signal}:{value:n}}var u7=e=>Y(e)?K(e):e.signal?`(${e.signal})`:l7(e);function UE(e){if(e.gradient!=null)return Jhe(e);let t=e.signal?`(${e.signal})`:e.color?Qhe(e.color):e.field!=null?l7(e.field):e.value!==void 0?K(e.value):void 0;return e.scale!=null&&(t=Zhe(e,t)),t===void 0&&(t=null),e.exponent!=null&&(t=`pow(${t},${NE(e.exponent)})`),e.mult!=null&&(t+=`*${NE(e.mult)}`),e.offset!=null&&(t+=`+${NE(e.offset)}`),e.round&&(t=`round(${t})`),t}var IE=(e,t,n,r)=>`(${e}(${[t,n,r].map(UE).join(",")})+'')`;function Qhe(e){return e.c?IE("hcl",e.h,e.c,e.l):e.h||e.s?IE("hsl",e.h,e.s,e.l):e.l||e.a?IE("lab",e.l,e.a,e.b):e.r||e.g||e.b?IE("rgb",e.r,e.g,e.b):null}function Jhe(e){let t=[e.start,e.stop,e.count].map(n=>n==null?null:K(n));for(;t.length&&De(t)==null;)t.pop();return t.unshift(u7(e.gradient)),`gradient(${t.join(",")})`}function NE(e){return Q(e)?"("+UE(e)+")":e}function l7(e){return c7(Q(e)?e:{datum:e})}function c7(e){let t,n,r;if(e.signal)t="datum",r=e.signal;else if(e.group||e.parent){for(n=Math.max(1,e.level||1),t="item";n-- >0;)t+=".mark.group";e.parent?(r=e.parent,t+=".datum"):r=e.group}else e.datum?(t="datum",r=e.datum):U("Invalid field reference: "+K(e));return e.signal||(r=Y(r)?Qi(r).map(K).join("]["):c7(r)),t+"["+r+"]"}function Zhe(e,t){let n=u7(e.scale);return e.range!=null?t=`lerp(_range(${n}), ${+e.range})`:(t!==void 0&&(t=`_scale(${n}, ${t})`),e.band&&(t=(t?t+"+":"")+`_bandwidth(${n})`+(+e.band==1?"":"*"+NE(e.band)),e.extra&&(t=`(datum.extra ? _scale(${n}, datum.extra.value) : ${t})`)),t==null&&(t="0")),t}function ege(e){let t="";return e.forEach(n=>{let r=UE(n);t+=n.test?`(${n.test})?${r}:`:r}),De(t)===":"&&(t+="null"),t}function f7(e,t,n,r,i,o){let s={};o=o||{},o.encoders={$encode:s},e=Khe(e,t,n,r,i.config);for(let a in e)s[a]=tge(e[a],t,o,i);return o}function tge(e,t,n,r){let i={},o={};for(let s in e)e[s]!=null&&(i[s]=rge(nge(e[s]),r,n,o));return{$expr:{marktype:t,channels:i},$fields:Object.keys(o),$output:Object.keys(e)}}function nge(e){return O(e)?ege(e):UE(e)}function rge(e,t,n,r){let i=Qo(e,t);return i.$fields.forEach(o=>r[o]=1),Se(n,i.$params),i.$expr}var ige="outer",oge=["value","update","init","react","bind"];function qz(e,t){U(e+' for "outer" push: '+K(t))}function d7(e,t){let n=e.name;if(e.push===ige)t.signals[n]||qz("No prior signal definition",n),oge.forEach(r=>{e[r]!==void 0&&qz("Invalid property ",r)});else{let r=t.addSignal(n,e.value);e.react===!1&&(r.react=!1),e.bind&&t.addBinding(n,e.bind)}}function LM(e,t,n,r){this.id=-1,this.type=e,this.value=t,this.params=n,r&&(this.parent=r)}function zE(e,t,n,r){return new LM(e,t,n,r)}function BE(e,t){return zE("operator",e,t)}function ve(e){let t={$ref:e.id};return e.id<0&&(e.refs=e.refs||[]).push(t),t}function ey(e,t){return t?{$field:e,$name:t}:{$field:e}}var BM=ey("key");function Gz(e,t){return{$compare:e,$order:t}}function sge(e,t){let n={$key:e};return t&&(n.$flat=!0),n}var age="ascending",uge="descending";function lge(e){return Q(e)?(e.order===uge?"-":"+")+HE(e.op,e.field):""}function HE(e,t){return(e&&e.signal?"$"+e.signal:e||"")+(e&&t?"_":"")+(t&&t.signal?"$"+t.signal:t||"")}var YM="scope",UM="view";function yn(e){return e&&e.signal}function cge(e){return e&&e.expr}function OE(e){if(yn(e))return!0;if(Q(e)){for(let t in e)if(OE(e[t]))return!0}return!1}function Jo(e,t){return e??t}function tf(e){return e&&e.signal||e}var jz="timer";function ty(e,t){return(e.merge?dge:e.stream?pge:e.type?mge:U("Invalid stream specification: "+K(e)))(e,t)}function fge(e){return e===YM?UM:e||UM}function dge(e,t){let n=e.merge.map(i=>ty(i,t)),r=XM({merge:n},e,t);return t.addStream(r).id}function pge(e,t){let n=ty(e.stream,t),r=XM({stream:n},e,t);return t.addStream(r).id}function mge(e,t){let n;e.type===jz?(n=t.event(jz,e.throttle),e={between:e.between,filter:e.filter}):n=t.event(fge(e.source),e.type);let r=XM({stream:n},e,t);return Object.keys(r).length===1?n:t.addStream(r).id}function XM(e,t,n){let r=t.between;return r&&(r.length!==2&&U('Stream "between" parameter must have 2 entries: '+K(t)),e.between=[ty(r[0],n),ty(r[1],n)]),r=t.filter?[].concat(t.filter):[],(t.marktype||t.markname||t.markrole)&&r.push(hge(t.marktype,t.markname,t.markrole)),t.source===YM&&r.push("inScope(event.item)"),r.length&&(e.filter=Qo("("+r.join(")&&(")+")",n).$expr),(r=t.throttle)!=null&&(e.throttle=+r),(r=t.debounce)!=null&&(e.debounce=+r),t.consume&&(e.consume=!0),e}function hge(e,t,n){let r="event.item";return r+(e&&e!=="*"?"&&"+r+".mark.marktype==='"+e+"'":"")+(n?"&&"+r+".mark.role==='"+n+"'":"")+(t?"&&"+r+".mark.name==='"+t+"'":"")}var gge={code:"_.$value",ast:{type:"Identifier",value:"value"}};function yge(e,t,n){let r=e.encode,i={target:n},o=e.events,s=e.update,a=[];o||U("Signal update missing events specification."),Y(o)&&(o=mr(o,t.isSubscope()?YM:UM)),o=Z(o).filter(u=>u.signal||u.scale?(a.push(u),0):1),a.length>1&&(a=[bge(a)]),o.length&&a.push(o.length>1?{merge:o}:o[0]),r!=null&&(s&&U("Signal encode and update are mutually exclusive."),s="encode(item(),"+K(r)+")"),i.update=Y(s)?Qo(s,t):s.expr!=null?Qo(s.expr,t):s.value!=null?s.value:s.signal!=null?{$expr:gge,$params:{$value:t.signalRef(s.signal)}}:U("Invalid signal update specification."),e.force&&(i.options={force:!0}),a.forEach(u=>t.addUpdate(Se(xge(u,t),i)))}function xge(e,t){return{source:e.signal?t.signalRef(e.signal):e.scale?t.scaleRef(e.scale):ty(e,t)}}function bge(e){return{signal:"["+e.map(t=>t.scale?'scale("'+t.scale+'")':t.signal)+"]"}}function vge(e,t){let n=t.getSignal(e.name),r=e.update;e.init&&(r?U("Signals can not include both init and update expressions."):(r=e.init,n.initonly=!0)),r&&(r=Qo(r,t),n.update=r.$expr,n.params=r.$params),e.on&&e.on.forEach(i=>yge(i,t,n.id))}var dt=e=>(t,n,r)=>zE(e,n,t||void 0,r),p7=dt("aggregate"),Ege=dt("axisticks"),m7=dt("bound"),es=dt("collect"),Wz=dt("compare"),wge=dt("datajoin"),h7=dt("encode"),Sge=dt("expression"),Age=dt("facet"),_ge=dt("field"),Cge=dt("key"),kge=dt("legendentries"),Fge=dt("load"),Tge=dt("mark"),Rge=dt("multiextent"),Dge=dt("multivalues"),Mge=dt("overlap"),Ige=dt("params"),g7=dt("prefacet"),Nge=dt("projection"),Oge=dt("proxy"),Pge=dt("relay"),y7=dt("render"),$ge=dt("scale"),rf=dt("sieve"),Lge=dt("sortitems"),x7=dt("viewlayout"),Bge=dt("values"),Uge=0,b7={min:"min",max:"max",count:"sum"};function zge(e,t){let n=e.type||"linear";fF(n)||U("Unrecognized scale type: "+K(n)),t.addScale(e.name,{type:n,domain:void 0})}function Hge(e,t){let n=t.getScale(e.name).params,r;n.domain=v7(e.domain,e,t),e.range!=null&&(n.range=w7(e,t,n)),e.interpolate!=null&&Jge(e.interpolate,n),e.nice!=null&&(n.nice=Qge(e.nice,t)),e.bins!=null&&(n.bins=Kge(e.bins,t));for(r in e)ne(n,r)||r==="name"||(n[r]=po(e[r],t))}function po(e,t){return Q(e)?e.signal?t.signalRef(e.signal):U("Unsupported object: "+K(e)):e}function PE(e,t){return e.signal?t.signalRef(e.signal):e.map(n=>po(n,t))}function qE(e){U("Can not find data set: "+K(e))}function v7(e,t,n){if(!e){(t.domainMin!=null||t.domainMax!=null)&&U("No scale domain defined for domainMin/domainMax to override.");return}return e.signal?n.signalRef(e.signal):(O(e)?qge:e.fields?jge:Gge)(e,t,n)}function qge(e,t,n){return e.map(r=>po(r,n))}function Gge(e,t,n){let r=n.getData(e.data);return r||qE(e.data),tl(t.type)?r.valuesRef(n,e.field,E7(e.sort,!1)):mF(t.type)?r.domainRef(n,e.field):r.extentRef(n,e.field)}function jge(e,t,n){let r=e.data,i=e.fields.reduce((o,s)=>(s=Y(s)?{data:r,field:s}:O(s)||s.signal?Wge(s,n):s,o.push(s),o),[]);return(tl(t.type)?Vge:mF(t.type)?Yge:Xge)(e,n,i)}function Wge(e,t){let n="_:vega:_"+Uge++,r=es({});if(O(e))r.value={$ingest:e};else if(e.signal){let i="setdata("+K(n)+","+e.signal+")";r.params.input=t.signalRef(i)}return t.addDataPipeline(n,[r,rf({})]),{data:n,field:"data"}}function Vge(e,t,n){let r=E7(e.sort,!0),i,o,s=n.map(l=>{let c=t.getData(l.data);return c||qE(l.data),c.countsRef(t,l.field,r)}),a={groupby:BM,pulse:s};r&&(i=r.op||"count",o=r.field?HE(i,r.field):"count",a.ops=[b7[i]],a.fields=[t.fieldRef(o)],a.as=[o]),i=t.add(p7(a));let u=t.add(es({pulse:ve(i)}));return o=t.add(Bge({field:BM,sort:t.sortRef(r),pulse:ve(u)})),ve(o)}function E7(e,t){return e&&(!e.field&&!e.op?Q(e)?e.field="key":e={field:"key"}:!e.field&&e.op!=="count"?U("No field provided for sort aggregate op: "+e.op):t&&e.field&&e.op&&!b7[e.op]&&U("Multiple domain scales can not be sorted using "+e.op)),e}function Yge(e,t,n){let r=n.map(i=>{let o=t.getData(i.data);return o||qE(i.data),o.domainRef(t,i.field)});return ve(t.add(Dge({values:r})))}function Xge(e,t,n){let r=n.map(i=>{let o=t.getData(i.data);return o||qE(i.data),o.extentRef(t,i.field)});return ve(t.add(Rge({extents:r})))}function Kge(e,t){return e.signal||O(e)?PE(e,t):t.objectProperty(e)}function Qge(e,t){return e.signal?t.signalRef(e.signal):Q(e)?{interval:po(e.interval),step:po(e.step)}:po(e)}function Jge(e,t){t.interpolate=po(e.type||e),e.gamma!=null&&(t.interpolateGamma=po(e.gamma))}function w7(e,t,n){let r=t.config.range,i=e.range;if(i.signal)return t.signalRef(i.signal);if(Y(i)){if(r&&ne(r,i))return e=Se({},e,{range:r[i]}),w7(e,t,n);i==="width"?i=[0,{signal:"width"}]:i==="height"?i=tl(e.type)?[0,{signal:"height"}]:[{signal:"height"},0]:U("Unrecognized scale range value: "+K(i))}else if(i.scheme){n.scheme=O(i.scheme)?PE(i.scheme,t):po(i.scheme,t),i.extent&&(n.schemeExtent=PE(i.extent,t)),i.count&&(n.schemeCount=po(i.count,t));return}else if(i.step){n.rangeStep=po(i.step,t);return}else{if(tl(e.type)&&!O(i))return v7(i,e,t);O(i)||U("Unsupported range type: "+K(i))}return i.map(o=>(O(o)?PE:po)(o,t))}function Zge(e,t){let n=t.config.projection||{},r={};for(let i in e)i!=="name"&&(r[i]=zM(e[i],i,t));for(let i in n)r[i]==null&&(r[i]=zM(n[i],i,t));t.addProjection(e.name,r)}function zM(e,t,n){return O(e)?e.map(r=>zM(r,t,n)):Q(e)?e.signal?n.signalRef(e.signal):t==="fit"?e:U("Unsupported parameter object: "+K(e)):e}var ts="top",Sp="left",Ap="right",Al="bottom",S7="center",e0e="vertical",t0e="start",n0e="middle",r0e="end",HM="index",KM="label",i0e="offset",Ep="perc",o0e="perc2",mo="value",ry="guide-label",QM="guide-title",s0e="group-title",a0e="group-subtitle",Vz="symbol",$E="gradient",qM="discrete",GM="size",u0e="shape",l0e="fill",c0e="stroke",f0e="strokeWidth",d0e="strokeDash",p0e="opacity",JM=[GM,u0e,l0e,c0e,f0e,d0e,p0e],iy={name:1,style:1,interactive:1},Ve={value:0},ho={value:1},GE="group",A7="rect",ZM="rule",m0e="symbol",of="text";function ny(e){return e.type=GE,e.interactive=e.interactive||!1,e}function di(e,t){let n=(r,i)=>Jo(e[r],Jo(t[r],i));return n.isVertical=r=>e0e===Jo(e.direction,t.direction||(r?t.symbolDirection:t.gradientDirection)),n.gradientLength=()=>Jo(e.gradientLength,t.gradientLength||t.gradientWidth),n.gradientThickness=()=>Jo(e.gradientThickness,t.gradientThickness||t.gradientHeight),n.entryColumns=()=>Jo(e.columns,Jo(t.columns,+n.isVertical(!0))),n}function _7(e,t){let n=t&&(t.update&&t.update[e]||t.enter&&t.enter[e]);return n&&n.signal?n:n?n.value:null}function h0e(e,t,n){let r=t.config.style[n];return r&&r[e]}function jE(e,t,n){return`item.anchor === '${t0e}' ? ${e} : item.anchor === '${r0e}' ? ${t} : ${n}`}var eI=jE(K(Sp),K(Ap),K(S7));function g0e(e){let t=e("tickBand"),n=e("tickOffset"),r,i;return t?t.signal?(r={signal:`(${t.signal}) === 'extent' ? 1 : 0.5`},i={signal:`(${t.signal}) === 'extent'`},Q(n)||(n={signal:`(${t.signal}) === 'extent' ? 0 : ${n}`})):t==="extent"?(r=1,i=!0,n=0):(r=.5,i=!1):(r=e("bandPosition"),i=e("tickExtra")),{extra:i,band:r,offset:n}}function C7(e,t){return t?e?Q(e)?Object.assign({},e,{offset:C7(e.offset,t)}):{value:e,offset:t}:t:e}function Ni(e,t){return t?(e.name=t.name,e.style=t.style||e.style,e.interactive=!!t.interactive,e.encode=wp(e.encode,t,iy)):e.interactive=!1,e}function y0e(e,t,n,r){let i=di(e,n),o=i.isVertical(),s=i.gradientThickness(),a=i.gradientLength(),u,l,c,f,d;o?(l=[0,1],c=[0,0],f=s,d=a):(l=[0,0],c=[1,0],f=a,d=s);let p={enter:u={opacity:Ve,x:Ve,y:Ve,width:Fn(f),height:Fn(d)},update:Se({},u,{opacity:ho,fill:{gradient:t,start:l,stop:c}}),exit:{opacity:Ve}};return Gn(p,{stroke:i("gradientStrokeColor"),strokeWidth:i("gradientStrokeWidth")},{opacity:i("gradientOpacity")}),Ni({type:A7,role:Ghe,encode:p},r)}function x0e(e,t,n,r,i){let o=di(e,n),s=o.isVertical(),a=o.gradientThickness(),u=o.gradientLength(),l,c,f,d,p="";s?(l="y",f="y2",c="x",d="width",p="1-"):(l="x",f="x2",c="y",d="height");let m={opacity:Ve,fill:{scale:t,field:mo}};m[l]={signal:p+"datum."+Ep,mult:u},m[c]=Ve,m[f]={signal:p+"datum."+o0e,mult:u},m[d]=Fn(a);let h={enter:m,update:Se({},m,{opacity:ho}),exit:{opacity:Ve}};return Gn(h,{stroke:o("gradientStrokeColor"),strokeWidth:o("gradientStrokeWidth")},{opacity:o("gradientOpacity")}),Ni({type:A7,role:Hhe,key:mo,from:i,encode:h},r)}var b0e=`datum.${Ep}<=0?"${Sp}":datum.${Ep}>=1?"${Ap}":"${S7}"`,v0e=`datum.${Ep}<=0?"${Al}":datum.${Ep}>=1?"${ts}":"${n0e}"`;function Yz(e,t,n,r){let i=di(e,t),o=i.isVertical(),s=Fn(i.gradientThickness()),a=i.gradientLength(),u=i("labelOverlap"),l,c,f,d,p="",m={enter:l={opacity:Ve},update:c={opacity:ho,text:{field:KM}},exit:{opacity:Ve}};return Gn(m,{fill:i("labelColor"),fillOpacity:i("labelOpacity"),font:i("labelFont"),fontSize:i("labelFontSize"),fontStyle:i("labelFontStyle"),fontWeight:i("labelFontWeight"),limit:Jo(e.labelLimit,t.gradientLabelLimit)}),o?(l.align={value:"left"},l.baseline=c.baseline={signal:v0e},f="y",d="x",p="1-"):(l.align=c.align={signal:b0e},l.baseline={value:"top"},f="x",d="y"),l[f]=c[f]={signal:p+"datum."+Ep,mult:a},l[d]=c[d]=s,s.offset=Jo(e.labelOffset,t.gradientLabelOffset)||0,u=u?{separation:i("labelSeparation"),method:u,order:"datum."+HM}:void 0,Ni({type:of,role:a7,style:ry,key:mo,from:r,encode:m,overlap:u},n)}function E0e(e,t,n,r,i){let o=di(e,t),s=n.entries,a=!!(s&&s.interactive),u=s?s.name:void 0,l=o("clipHeight"),c=o("symbolOffset"),f={data:"value"},d=`(${i}) ? datum.${i0e} : datum.${GM}`,p=l?Fn(l):{field:GM},m=`datum.${HM}`,h=`max(1, ${i})`,g,y,x,b,v;p.mult=.5,g={enter:y={opacity:Ve,x:{signal:d,mult:.5,offset:c},y:p},update:x={opacity:ho,x:y.x,y:y.y},exit:{opacity:Ve}};let E=null,S=null;e.fill||(E=t.symbolBaseFillColor,S=t.symbolBaseStrokeColor),Gn(g,{fill:o("symbolFillColor",E),shape:o("symbolType"),size:o("symbolSize"),stroke:o("symbolStrokeColor",S),strokeDash:o("symbolDash"),strokeDashOffset:o("symbolDashOffset"),strokeWidth:o("symbolStrokeWidth")},{opacity:o("symbolOpacity")}),JM.forEach(_=>{e[_]&&(x[_]=y[_]={scale:e[_],field:mo})});let w=Ni({type:m0e,role:jhe,key:mo,from:f,clip:l?!0:void 0,encode:g},n.symbols),A=Fn(c);A.offset=o("labelOffset"),g={enter:y={opacity:Ve,x:{signal:d,offset:A},y:p},update:x={opacity:ho,text:{field:KM},x:y.x,y:y.y},exit:{opacity:Ve}},Gn(g,{align:o("labelAlign"),baseline:o("labelBaseline"),fill:o("labelColor"),fillOpacity:o("labelOpacity"),font:o("labelFont"),fontSize:o("labelFontSize"),fontStyle:o("labelFontStyle"),fontWeight:o("labelFontWeight"),limit:o("labelLimit")});let C=Ni({type:of,role:a7,style:ry,key:mo,from:f,encode:g},n.labels);return g={enter:{noBound:{value:!l},width:Ve,height:l?Fn(l):Ve,opacity:Ve},exit:{opacity:Ve},update:x={opacity:ho,row:{signal:null},column:{signal:null}}},o.isVertical(!0)?(b=`ceil(item.mark.items.length / ${h})`,x.row.signal=`${m}%${b}`,x.column.signal=`floor(${m} / ${b})`,v={field:["row",m]}):(x.row.signal=`floor(${m} / ${h})`,x.column.signal=`${m} % ${h}`,v={field:m}),x.column.signal=`(${i})?${x.column.signal}:${m}`,r={facet:{data:r,name:"value",groupby:HM}},ny({role:VM,from:r,encode:wp(g,s,iy),marks:[w,C],name:u,interactive:a,sort:v})}function w0e(e,t){let n=di(e,t);return{align:n("gridAlign"),columns:n.entryColumns(),center:{row:!0,column:!1},padding:{row:n("rowPadding"),column:n("columnPadding")}}}var tI='item.orient === "left"',nI='item.orient === "right"',WE=`(${tI} || ${nI})`,S0e=`datum.vgrad && ${WE}`,A0e=jE('"top"','"bottom"','"middle"'),_0e=jE('"right"','"left"','"center"'),C0e=`datum.vgrad && ${nI} ? (${_0e}) : (${WE} && !(datum.vgrad && ${tI})) ? "left" : ${eI}`,k0e=`item._anchor || (${WE} ? "middle" : "start")`,F0e=`${S0e} ? (${tI} ? -90 : 90) : 0`,T0e=`${WE} ? (datum.vgrad ? (${nI} ? "bottom" : "top") : ${A0e}) : "top"`;function R0e(e,t,n,r){let i=di(e,t),o={enter:{opacity:Ve},update:{opacity:ho,x:{field:{group:"padding"}},y:{field:{group:"padding"}}},exit:{opacity:Ve}};return Gn(o,{orient:i("titleOrient"),_anchor:i("titleAnchor"),anchor:{signal:k0e},angle:{signal:F0e},align:{signal:C0e},baseline:{signal:T0e},text:e.title,fill:i("titleColor"),fillOpacity:i("titleOpacity"),font:i("titleFont"),fontSize:i("titleFontSize"),fontStyle:i("titleFontStyle"),fontWeight:i("titleFontWeight"),limit:i("titleLimit"),lineHeight:i("titleLineHeight")},{align:i("titleAlign"),baseline:i("titleBaseline")}),Ni({type:of,role:Whe,style:QM,from:r,encode:o},n)}function D0e(e,t){let n;return Q(e)&&(e.signal?n=e.signal:e.path?n="pathShape("+Xz(e.path)+")":e.sphere&&(n="geoShape("+Xz(e.sphere)+', {type: "Sphere"})')),n?t.signalRef(n):!!e}function Xz(e){return Q(e)&&e.signal?e.signal:K(e)}function k7(e){let t=e.role||"";return t.startsWith("axis")||t.startsWith("legend")||t.startsWith("title")?t:e.type===GE?VM:t||jM}function M0e(e){return{marktype:e.type,name:e.name||void 0,role:e.role||k7(e),zindex:+e.zindex||void 0,aria:e.aria,description:e.description}}function I0e(e,t){return e&&e.signal?t.signalRef(e.signal):e!==!1}function rI(e,t){let n=g1(e.type);n||U("Unrecognized transform type: "+K(e.type));let r=zE(n.type.toLowerCase(),null,F7(n,e,t));return e.signal&&t.addSignal(e.signal,t.proxy(r)),r.metadata=n.metadata||{},r}function F7(e,t,n){let r={},i=e.params.length;for(let o=0;o<i;++o){let s=e.params[o];r[s.name]=N0e(s,t,n)}return r}function N0e(e,t,n){let r=e.type,i=t[e.name];if(r==="index")return O0e(e,t,n);if(i===void 0){e.required&&U("Missing required "+K(t.type)+" parameter: "+K(e.name));return}else{if(r==="param")return P0e(e,t,n);if(r==="projection")return n.projectionRef(t[e.name])}return e.array&&!yn(i)?i.map(o=>Kz(e,o,n)):Kz(e,i,n)}function Kz(e,t,n){let r=e.type;if(yn(t))return Jz(r)?U("Expression references can not be signals."):PM(r)?n.fieldRef(t):Zz(r)?n.compareRef(t):n.signalRef(t.signal);{let i=e.expr||PM(r);return i&&$0e(t)?n.exprRef(t.expr,t.as):i&&L0e(t)?ey(t.field,t.as):Jz(r)?Qo(t,n):B0e(r)?ve(n.getData(t).values):PM(r)?ey(t):Zz(r)?n.compareRef(t):t}}function O0e(e,t,n){return Y(t.from)||U('Lookup "from" parameter must be a string literal.'),n.getData(t.from).lookupRef(n,t.key)}function P0e(e,t,n){let r=t[e.name];return e.array?(O(r)||U("Expected an array of sub-parameters. Instead: "+K(r)),r.map(i=>Qz(e,i,n))):Qz(e,r,n)}function Qz(e,t,n){let r=e.params.length,i;for(let s=0;s<r;++s){i=e.params[s];for(let a in i.key)if(i.key[a]!==t[a]){i=null;break}if(i)break}i||U("Unsupported parameter: "+K(t));let o=Se(F7(i,t,n),i.key);return ve(n.add(Ige(o)))}var $0e=e=>e&&e.expr,L0e=e=>e&&e.field,B0e=e=>e==="data",Jz=e=>e==="expr",PM=e=>e==="field",Zz=e=>e==="compare";function U0e(e,t,n){let r,i,o,s,a;return e?(r=e.facet)&&(t||U("Only group marks can be faceted."),r.field!=null?s=a=LE(r,n):(e.data?a=ve(n.getData(e.data).aggregate):(o=rI(Se({type:"aggregate",groupby:Z(r.groupby)},r.aggregate),n),o.params.key=n.keyRef(r.groupby),o.params.pulse=LE(r,n),s=a=ve(n.add(o))),i=n.keyRef(r.groupby,!0))):s=ve(n.add(es(null,[{}]))),s||(s=LE(e,n)),{key:i,pulse:s,parent:a}}function LE(e,t){return e.$ref?e:e.data&&e.data.$ref?e.data:ve(t.getData(e.data).output)}function nf(e,t,n,r,i){this.scope=e,this.input=t,this.output=n,this.values=r,this.aggregate=i,this.index={}}nf.fromEntries=function(e,t){let n=t.length,r=t[n-1],i=t[n-2],o=t[0],s=null,a=1;for(o&&o.type==="load"&&(o=t[1]),e.add(t[0]);a<n;++a)t[a].params.pulse=ve(t[a-1]),e.add(t[a]),t[a].type==="aggregate"&&(s=t[a]);return new nf(e,o,i,r,s)};function T7(e){return Y(e)?e:null}function e7(e,t,n){let r=HE(n.op,n.field),i;if(t.ops){for(let o=0,s=t.as.length;o<s;++o)if(t.as[o]===r)return}else t.ops=["count"],t.fields=[null],t.as=["count"];n.op&&(t.ops.push((i=n.op.signal)?e.signalRef(i):n.op),t.fields.push(e.fieldRef(n.field)),t.as.push(r))}function J0(e,t,n,r,i,o,s){let a=t[n]||(t[n]={}),u=lge(o),l=T7(i),c,f;if(l!=null&&(e=t.scope,l=l+(u?"|"+u:""),c=a[l]),!c){let d=o?{field:BM,pulse:t.countsRef(e,i,o)}:{field:e.fieldRef(i),pulse:ve(t.output)};u&&(d.sort=e.sortRef(o)),f=e.add(zE(r,void 0,d)),s&&(t.index[i]=f),c=ve(f),l!=null&&(a[l]=c)}return c}nf.prototype={countsRef(e,t,n){let r=this,i=r.counts||(r.counts={}),o=T7(t),s,a,u;return o!=null&&(e=r.scope,s=i[o]),s?n&&n.field&&e7(e,s.agg.params,n):(u={groupby:e.fieldRef(t,"key"),pulse:ve(r.output)},n&&n.field&&e7(e,u,n),a=e.add(p7(u)),s=e.add(es({pulse:ve(a)})),s={agg:a,ref:ve(s)},o!=null&&(i[o]=s)),s.ref},tuplesRef(){return ve(this.values)},extentRef(e,t){return J0(e,this,"extent","extent",t,!1)},domainRef(e,t){return J0(e,this,"domain","values",t,!1)},valuesRef(e,t,n){return J0(e,this,"vals","values",t,n||!0)},lookupRef(e,t){return J0(e,this,"lookup","tupleindex",t,!1)},indataRef(e,t){return J0(e,this,"indata","tupleindex",t,!0,!0)}};function z0e(e,t,n){let r=e.from.facet,i=r.name,o=LE(r,t),s;r.name||U("Facet must have a name: "+K(r)),r.data||U("Facet must reference a data set: "+K(r)),r.field?s=t.add(g7({field:t.fieldRef(r.field),pulse:o})):r.groupby?s=t.add(Age({key:t.keyRef(r.groupby),group:ve(t.proxy(n.parent)),pulse:o})):U("Facet must specify groupby or field: "+K(r));let a=t.fork(),u=a.add(es()),l=a.add(rf({pulse:ve(u)}));a.addData(i,new nf(a,u,u,l)),a.addSignal("parent",null),s.params.subflow={$subflow:a.parse(e).toRuntime()}}function H0e(e,t,n){let r=t.add(g7({pulse:n.pulse})),i=t.fork();i.add(rf()),i.addSignal("parent",null),r.params.subflow={$subflow:i.parse(e).toRuntime()}}function R7(e,t,n){let r=e.remove,i=e.insert,o=e.toggle,s=e.modify,a=e.values,u=t.add(BE()),l="if("+e.trigger+',modify("'+n+'",'+[i,r,o,s,a].map(f=>f??"null").join(",")+"),0)",c=Qo(l,t);u.update=c.$expr,u.params=c.$params}function VE(e,t){let n=k7(e),r=e.type===GE,i=e.from&&e.from.facet,o=e.overlap,s=e.layout||n===VM||n===WM,a,u,l,c,f,d,p,m=n===jM||s||i,h=U0e(e.from,r,t);u=t.add(wge({key:h.key||(e.key?ey(e.key):void 0),pulse:h.pulse,clean:!r}));let g=ve(u);u=l=t.add(es({pulse:g})),u=t.add(Tge({markdef:M0e(e),interactive:I0e(e.interactive,t),clip:D0e(e.clip,t),context:{$context:!0},groups:t.lookup(),parent:t.signals.parent?t.signalRef("parent"):null,index:t.markpath(),pulse:ve(u)}));let y=ve(u);u=c=t.add(h7(f7(e.encode,e.type,n,e.style,t,{mod:!1,pulse:y}))),u.params.parent=t.encode(),e.transform&&e.transform.forEach(S=>{let w=rI(S,t),A=w.metadata;(A.generates||A.changes)&&U("Mark transforms should not generate new data."),A.nomod||(c.params.mod=!0),w.params.pulse=ve(u),t.add(u=w)}),e.sort&&(u=t.add(Lge({sort:t.compareRef(e.sort),pulse:ve(u)})));let x=ve(u);(i||s)&&(s=t.add(x7({layout:t.objectProperty(e.layout),legends:t.legends,mark:y,pulse:x})),d=ve(s));let b=t.add(m7({mark:y,pulse:d||x}));p=ve(b),r&&(m&&(a=t.operators,a.pop(),s&&a.pop()),t.pushState(x,d||p,g),i?z0e(e,t,h):m?H0e(e,t,h):t.parse(e),t.popState(),m&&(s&&a.push(s),a.push(b))),o&&(p=q0e(o,p,t));let v=t.add(y7({pulse:p})),E=t.add(rf({pulse:ve(v)},void 0,t.parent()));e.name!=null&&(f=e.name,t.addData(f,new nf(t,l,v,E)),e.on&&e.on.forEach(S=>{(S.insert||S.remove||S.toggle)&&U("Marks only support modify triggers."),R7(S,t,f)}))}function q0e(e,t,n){let r=e.method,i=e.bound,o=e.separation,s={separation:yn(o)?n.signalRef(o.signal):o,method:yn(r)?n.signalRef(r.signal):r,pulse:t};if(e.order&&(s.sort=n.compareRef({field:e.order})),i){let a=i.tolerance;s.boundTolerance=yn(a)?n.signalRef(a.signal):+a,s.boundScale=n.scaleRef(i.scale),s.boundOrient=i.orient}return ve(n.add(Mge(s)))}function G0e(e,t){let n=t.config.legend,r=e.encode||{},i=di(e,n),o=r.legend||{},s=o.name||void 0,a=o.interactive,u=o.style,l={},c=0,f,d,p;JM.forEach(b=>e[b]?(l[b]=e[b],c=c||e[b]):0),c||U("Missing valid scale for legend.");let m=j0e(e,t.scaleType(c)),h={title:e.title!=null,scales:l,type:m,vgrad:m!=="symbol"&&i.isVertical()},g=ve(t.add(es(null,[h]))),y={enter:{x:{value:0},y:{value:0}}},x=ve(t.add(kge(d={type:m,scale:t.scaleRef(c),count:t.objectProperty(i("tickCount")),limit:t.property(i("symbolLimit")),values:t.objectProperty(e.values),minstep:t.property(e.tickMinStep),formatType:t.property(e.formatType),formatSpecifier:t.property(e.format)})));return m===$E?(p=[y0e(e,c,n,r.gradient),Yz(e,n,r.labels,x)],d.count=d.count||t.signalRef(`max(2,2*floor((${tf(i.gradientLength())})/100))`)):m===qM?p=[x0e(e,c,n,r.gradient,x),Yz(e,n,r.labels,x)]:(f=w0e(e,n),p=[E0e(e,n,r,x,tf(f.columns))],d.size=Y0e(e,t,p[0].marks)),p=[ny({role:qhe,from:g,encode:y,marks:p,layout:f,interactive:a})],h.title&&p.push(R0e(e,n,r.title,g)),VE(ny({role:zhe,from:g,encode:wp(V0e(i,e,n),o,iy),marks:p,aria:i("aria"),description:i("description"),zindex:i("zindex"),name:s,interactive:a,style:u}),t)}function j0e(e,t){let n=e.type||Vz;return!e.type&&W0e(e)===1&&(e.fill||e.stroke)&&(n=kg(t)?$E:Ab(t)?qM:Vz),n!==$E?n:Ab(t)?qM:$E}function W0e(e){return JM.reduce((t,n)=>t+(e[n]?1:0),0)}function V0e(e,t,n){let r={enter:{},update:{}};return Gn(r,{orient:e("orient"),offset:e("offset"),padding:e("padding"),titlePadding:e("titlePadding"),cornerRadius:e("cornerRadius"),fill:e("fillColor"),stroke:e("strokeColor"),strokeWidth:n.strokeWidth,strokeDash:n.strokeDash,x:e("legendX"),y:e("legendY"),format:t.format,formatType:t.formatType}),r}function Y0e(e,t,n){let r=tf(t7("size",e,n)),i=tf(t7("strokeWidth",e,n)),o=tf(X0e(n[1].encode,t,ry));return Qo(`max(ceil(sqrt(${r})+${i}),${o})`,t)}function t7(e,t,n){return t[e]?`scale("${t[e]}",datum)`:_7(e,n[0].encode)}function X0e(e,t,n){return _7("fontSize",e)||h0e("fontSize",t,n)}var K0e=`item.orient==="${Sp}"?-90:item.orient==="${Ap}"?90:0`;function Q0e(e,t){e=Y(e)?{text:e}:e;let n=di(e,t.config.title),r=e.encode||{},i=r.group||{},o=i.name||void 0,s=i.interactive,a=i.style,u=[],l={},c=ve(t.add(es(null,[l])));return u.push(eye(e,n,J0e(e),c)),e.subtitle&&u.push(tye(e,n,r.subtitle,c)),VE(ny({role:Vhe,from:c,encode:Z0e(n,i),marks:u,aria:n("aria"),description:n("description"),zindex:n("zindex"),name:o,interactive:s,style:a}),t)}function J0e(e){let t=e.encode;return t&&t.title||Se({name:e.name,interactive:e.interactive,style:e.style},t)}function Z0e(e,t){let n={enter:{},update:{}};return Gn(n,{orient:e("orient"),anchor:e("anchor"),align:{signal:eI},angle:{signal:K0e},limit:e("limit"),frame:e("frame"),offset:e("offset")||0,padding:e("subtitlePadding")}),wp(n,t,iy)}function eye(e,t,n,r){let i={value:0},o=e.text,s={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return Gn(s,{text:o,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:t("dx"),dy:t("dy"),fill:t("color"),font:t("font"),fontSize:t("fontSize"),fontStyle:t("fontStyle"),fontWeight:t("fontWeight"),lineHeight:t("lineHeight")},{align:t("align"),angle:t("angle"),baseline:t("baseline")}),Ni({type:of,role:Yhe,style:s0e,from:r,encode:s},n)}function tye(e,t,n,r){let i={value:0},o=e.subtitle,s={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return Gn(s,{text:o,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:t("dx"),dy:t("dy"),fill:t("subtitleColor"),font:t("subtitleFont"),fontSize:t("subtitleFontSize"),fontStyle:t("subtitleFontStyle"),fontWeight:t("subtitleFontWeight"),lineHeight:t("subtitleLineHeight")},{align:t("align"),angle:t("angle"),baseline:t("baseline")}),Ni({type:of,role:Xhe,style:a0e,from:r,encode:s},n)}function nye(e,t){let n=[];e.transform&&e.transform.forEach(r=>{n.push(rI(r,t))}),e.on&&e.on.forEach(r=>{R7(r,t,e.name)}),t.addDataPipeline(e.name,rye(e,t,n))}function rye(e,t,n){let r=[],i=null,o=!1,s=!1,a,u,l,c,f;for(e.values?yn(e.values)||OE(e.format)?(r.push(n7(t,e)),r.push(i=ef())):r.push(i=ef({$ingest:e.values,$format:e.format})):e.url?OE(e.url)||OE(e.format)?(r.push(n7(t,e)),r.push(i=ef())):r.push(i=ef({$request:e.url,$format:e.format})):e.source&&(i=a=Z(e.source).map(d=>ve(t.getData(d).output)),r.push(null)),u=0,l=n.length;u<l;++u)c=n[u],f=c.metadata,!i&&!f.source&&r.push(i=ef()),r.push(c),f.generates&&(s=!0),f.modifies&&!s&&(o=!0),f.source?i=c:f.changes&&(i=null);return a&&(l=a.length-1,r[0]=Pge({derive:o,pulse:l?a:a[0]}),(o||l)&&r.splice(1,0,ef())),i||r.push(ef()),r.push(rf({})),r}function ef(e){let t=es({},e);return t.metadata={source:!0},t}function n7(e,t){return Fge({url:t.url?e.property(t.url):void 0,async:t.async?e.property(t.async):void 0,values:t.values?e.property(t.values):void 0,format:e.objectProperty(t.format)})}var D7=e=>e===Al||e===ts,YE=(e,t,n)=>yn(e)?aye(e.signal,t,n):e===Sp||e===ts?t:n,Tn=(e,t,n)=>yn(e)?oye(e.signal,t,n):D7(e)?t:n,Zo=(e,t,n)=>yn(e)?sye(e.signal,t,n):D7(e)?n:t,M7=(e,t,n)=>yn(e)?uye(e.signal,t,n):e===ts?{value:t}:{value:n},iye=(e,t,n)=>yn(e)?lye(e.signal,t,n):e===Ap?{value:t}:{value:n},oye=(e,t,n)=>I7(`${e} === '${ts}' || ${e} === '${Al}'`,t,n),sye=(e,t,n)=>I7(`${e} !== '${ts}' && ${e} !== '${Al}'`,t,n),aye=(e,t,n)=>iI(`${e} === '${Sp}' || ${e} === '${ts}'`,t,n),uye=(e,t,n)=>iI(`${e} === '${ts}'`,t,n),lye=(e,t,n)=>iI(`${e} === '${Ap}'`,t,n),I7=(e,t,n)=>(t=t!=null?Fn(t):t,n=n!=null?Fn(n):n,r7(t)&&r7(n)?(t=t?t.signal||K(t.value):null,n=n?n.signal||K(n.value):null,{signal:`${e} ? (${t}) : (${n})`}):[Se({test:e},t)].concat(n||[])),r7=e=>e==null||Object.keys(e).length===1,iI=(e,t,n)=>({signal:`${e} ? (${bp(t)}) : (${bp(n)})`}),cye=(e,t,n,r,i)=>({signal:(r!=null?`${e} === '${Sp}' ? (${bp(r)}) : `:"")+(n!=null?`${e} === '${Al}' ? (${bp(n)}) : `:"")+(i!=null?`${e} === '${Ap}' ? (${bp(i)}) : `:"")+(t!=null?`${e} === '${ts}' ? (${bp(t)}) : `:"")+"(null)"}),bp=e=>yn(e)?e.signal:e==null?null:K(e),fye=(e,t)=>t===0?0:yn(e)?{signal:`(${e.signal}) * ${t}`}:{value:e*t},vp=(e,t)=>{let n=e.signal;return n&&n.endsWith("(null)")?{signal:n.slice(0,-6)+t.signal}:e};function yp(e,t,n,r){let i;if(t&&ne(t,e))return t[e];if(ne(n,e))return n[e];if(e.startsWith("title")){switch(e){case"titleColor":i="fill";break;case"titleFont":case"titleFontSize":case"titleFontWeight":i=e[5].toLowerCase()+e.slice(6)}return r[QM][i]}else if(e.startsWith("label")){switch(e){case"labelColor":i="fill";break;case"labelFont":case"labelFontSize":i=e[5].toLowerCase()+e.slice(6)}return r[ry][i]}return null}function i7(e){let t={};for(let n of e)if(n)for(let r in n)t[r]=1;return Object.keys(t)}function dye(e,t){var n=t.config,r=n.style,i=n.axis,o=t.scaleType(e.scale)==="band"&&n.axisBand,s=e.orient,a,u,l;if(yn(s)){let f=i7([n.axisX,n.axisY]),d=i7([n.axisTop,n.axisBottom,n.axisLeft,n.axisRight]);a={};for(l of f)a[l]=Tn(s,yp(l,n.axisX,i,r),yp(l,n.axisY,i,r));u={};for(l of d)u[l]=cye(s.signal,yp(l,n.axisTop,i,r),yp(l,n.axisBottom,i,r),yp(l,n.axisLeft,i,r),yp(l,n.axisRight,i,r))}else a=s===ts||s===Al?n.axisX:n.axisY,u=n["axis"+s[0].toUpperCase()+s.slice(1)];return a||u||o?Se({},i,a,u,o):i}function pye(e,t,n,r){let i=di(e,t),o=e.orient,s,a,u={enter:s={opacity:Ve},update:a={opacity:ho},exit:{opacity:Ve}};Gn(u,{stroke:i("domainColor"),strokeCap:i("domainCap"),strokeDash:i("domainDash"),strokeDashOffset:i("domainDashOffset"),strokeWidth:i("domainWidth"),strokeOpacity:i("domainOpacity")});let l=o7(e,0),c=o7(e,1);return s.x=a.x=Tn(o,l,Ve),s.x2=a.x2=Tn(o,c),s.y=a.y=Zo(o,l,Ve),s.y2=a.y2=Zo(o,c),Ni({type:ZM,role:Phe,from:r,encode:u},n)}function o7(e,t){return{scale:e.scale,range:t}}function mye(e,t,n,r,i){let o=di(e,t),s=e.orient,a=e.gridScale,u=YE(s,1,-1),l=hye(e.offset,u),c,f,d,p={enter:c={opacity:Ve},update:d={opacity:ho},exit:f={opacity:Ve}};Gn(p,{stroke:o("gridColor"),strokeCap:o("gridCap"),strokeDash:o("gridDash"),strokeDashOffset:o("gridDashOffset"),strokeOpacity:o("gridOpacity"),strokeWidth:o("gridWidth")});let m={scale:e.scale,field:mo,band:i.band,extra:i.extra,offset:i.offset,round:o("tickRound")},h=Tn(s,{signal:"height"},{signal:"width"}),g=a?{scale:a,range:0,mult:u,offset:l}:{value:0,offset:l},y=a?{scale:a,range:1,mult:u,offset:l}:Se(h,{mult:u,offset:l});return c.x=d.x=Tn(s,m,g),c.y=d.y=Zo(s,m,g),c.x2=d.x2=Zo(s,y),c.y2=d.y2=Tn(s,y),f.x=Tn(s,m),f.y=Zo(s,m),Ni({type:ZM,role:$he,key:mo,from:r,encode:p},n)}function hye(e,t){if(t!==1)if(!Q(e))e=yn(t)?{signal:`(${t.signal}) * (${e||0})`}:t*(e||0);else{let n=e=Se({},e);for(;n.mult!=null;)if(Q(n.mult))n=n.mult=Se({},n.mult);else return n.mult=yn(t)?{signal:`(${n.mult}) * (${t.signal})`}:n.mult*t,e;n.mult=t}return e}function gye(e,t,n,r,i,o){let s=di(e,t),a=e.orient,u=YE(a,-1,1),l,c,f,d={enter:l={opacity:Ve},update:f={opacity:ho},exit:c={opacity:Ve}};Gn(d,{stroke:s("tickColor"),strokeCap:s("tickCap"),strokeDash:s("tickDash"),strokeDashOffset:s("tickDashOffset"),strokeOpacity:s("tickOpacity"),strokeWidth:s("tickWidth")});let p=Fn(i);p.mult=u;let m={scale:e.scale,field:mo,band:o.band,extra:o.extra,offset:o.offset,round:s("tickRound")};return f.y=l.y=Tn(a,Ve,m),f.y2=l.y2=Tn(a,p),c.x=Tn(a,m),f.x=l.x=Zo(a,Ve,m),f.x2=l.x2=Zo(a,p),c.y=Zo(a,m),Ni({type:ZM,role:Bhe,key:mo,from:r,encode:d},n)}function $M(e,t,n,r,i){return{signal:'flush(range("'+e+'"), scale("'+e+'", datum.value), '+t+","+n+","+r+","+i+")"}}function yye(e,t,n,r,i,o){let s=di(e,t),a=e.orient,u=e.scale,l=YE(a,-1,1),c=tf(s("labelFlush")),f=tf(s("labelFlushOffset")),d=s("labelAlign"),p=s("labelBaseline"),m=c===0||!!c,h,g=Fn(i);g.mult=l,g.offset=Fn(s("labelPadding")||0),g.offset.mult=l;let y={scale:u,field:mo,band:.5,offset:C7(o.offset,s("labelOffset"))},x=Tn(a,m?$M(u,c,'"left"','"right"','"center"'):{value:"center"},iye(a,"left","right")),b=Tn(a,M7(a,"bottom","top"),m?$M(u,c,'"top"','"bottom"','"middle"'):{value:"middle"}),v=$M(u,c,`-(${f})`,f,0);m=m&&f;let E={opacity:Ve,x:Tn(a,y,g),y:Zo(a,y,g)},S={enter:E,update:h={opacity:ho,text:{field:KM},x:E.x,y:E.y,align:x,baseline:b},exit:{opacity:Ve,x:E.x,y:E.y}};Gn(S,{dx:!d&&m?Tn(a,v):null,dy:!p&&m?Zo(a,v):null}),Gn(S,{angle:s("labelAngle"),fill:s("labelColor"),fillOpacity:s("labelOpacity"),font:s("labelFont"),fontSize:s("labelFontSize"),fontWeight:s("labelFontWeight"),fontStyle:s("labelFontStyle"),limit:s("labelLimit"),lineHeight:s("labelLineHeight")},{align:d,baseline:p});let w=s("labelBound"),A=s("labelOverlap");return A=A||w?{separation:s("labelSeparation"),method:A,order:"datum.index",bound:w?{scale:u,orient:a,tolerance:w}:null}:void 0,h.align!==x&&(h.align=vp(h.align,x)),h.baseline!==b&&(h.baseline=vp(h.baseline,b)),Ni({type:of,role:Lhe,style:ry,key:mo,from:r,encode:S,overlap:A},n)}function xye(e,t,n,r){let i=di(e,t),o=e.orient,s=YE(o,-1,1),a,u,l={enter:a={opacity:Ve,anchor:Fn(i("titleAnchor",null)),align:{signal:eI}},update:u=Se({},a,{opacity:ho,text:Fn(e.title)}),exit:{opacity:Ve}},c={signal:`lerp(range("${e.scale}"), ${jE(0,1,.5)})`};return u.x=Tn(o,c),u.y=Zo(o,c),a.angle=Tn(o,Ve,fye(s,90)),a.baseline=Tn(o,M7(o,Al,ts),{value:Al}),u.angle=a.angle,u.baseline=a.baseline,Gn(l,{fill:i("titleColor"),fillOpacity:i("titleOpacity"),font:i("titleFont"),fontSize:i("titleFontSize"),fontStyle:i("titleFontStyle"),fontWeight:i("titleFontWeight"),limit:i("titleLimit"),lineHeight:i("titleLineHeight")},{align:i("titleAlign"),angle:i("titleAngle"),baseline:i("titleBaseline")}),bye(i,o,l,n),l.update.align=vp(l.update.align,a.align),l.update.angle=vp(l.update.angle,a.angle),l.update.baseline=vp(l.update.baseline,a.baseline),Ni({type:of,role:Uhe,style:QM,from:r,encode:l},n)}function bye(e,t,n,r){let i=(a,u)=>a!=null?(n.update[u]=vp(Fn(a),n.update[u]),!1):!xp(u,r),o=i(e("titleX"),"x"),s=i(e("titleY"),"y");n.enter.auto=s===o?Fn(s):Tn(t,Fn(s),Fn(o))}function vye(e,t){let n=dye(e,t),r=e.encode||{},i=r.axis||{},o=i.name||void 0,s=i.interactive,a=i.style,u=di(e,n),l=g0e(u),c={scale:e.scale,ticks:!!u("ticks"),labels:!!u("labels"),grid:!!u("grid"),domain:!!u("domain"),title:e.title!=null},f=ve(t.add(es({},[c]))),d=ve(t.add(Ege({scale:t.scaleRef(e.scale),extra:t.property(l.extra),count:t.objectProperty(e.tickCount),values:t.objectProperty(e.values),minstep:t.property(e.tickMinStep),formatType:t.property(e.formatType),formatSpecifier:t.property(e.format)}))),p=[],m;return c.grid&&p.push(mye(e,n,r.grid,d,l)),c.ticks&&(m=u("tickSize"),p.push(gye(e,n,r.ticks,d,m,l))),c.labels&&(m=c.ticks?m:0,p.push(yye(e,n,r.labels,d,m,l))),c.domain&&p.push(pye(e,n,r.domain,f)),c.title&&p.push(xye(e,n,r.title,f)),VE(ny({role:Ohe,from:f,encode:wp(Eye(u,e),i,iy),marks:p,aria:u("aria"),description:u("description"),zindex:u("zindex"),name:o,interactive:s,style:a}),t)}function Eye(e,t){let n={enter:{},update:{}};return Gn(n,{orient:e("orient"),offset:e("offset")||0,position:Jo(t.position,0),titlePadding:e("titlePadding"),minExtent:e("minExtent"),maxExtent:e("maxExtent"),range:{signal:`abs(span(range("${t.scale}")))`},translate:e("translate"),format:t.format,formatType:t.formatType}),n}function N7(e,t,n){let r=Z(e.signals),i=Z(e.scales);return n||r.forEach(o=>d7(o,t)),Z(e.projections).forEach(o=>Zge(o,t)),i.forEach(o=>zge(o,t)),Z(e.data).forEach(o=>nye(o,t)),i.forEach(o=>Hge(o,t)),(n||r).forEach(o=>vge(o,t)),Z(e.axes).forEach(o=>vye(o,t)),Z(e.marks).forEach(o=>VE(o,t)),Z(e.legends).forEach(o=>G0e(o,t)),e.title&&Q0e(e.title,t),t.parseLambdas(),t}var wye=e=>wp({enter:{x:{value:0},y:{value:0}},update:{width:{signal:"width"},height:{signal:"height"}}},e);function Sye(e,t){let n=t.config,r=ve(t.root=t.add(BE())),i=Aye(e,n);i.forEach(l=>d7(l,t)),t.description=e.description||n.description,t.eventConfig=n.events,t.legends=t.objectProperty(n.legend&&n.legend.layout),t.locale=n.locale;let o=t.add(es()),s=t.add(h7(f7(wye(e.encode),GE,WM,e.style,t,{pulse:ve(o)}))),a=t.add(x7({layout:t.objectProperty(e.layout),legends:t.legends,autosize:t.signalRef("autosize"),mark:r,pulse:ve(s)}));t.operators.pop(),t.pushState(ve(s),ve(a),null),N7(e,t,i),t.operators.push(a);let u=t.add(m7({mark:r,pulse:ve(a)}));return u=t.add(y7({pulse:ve(u)})),u=t.add(rf({pulse:ve(u)})),t.addData("root",new nf(t,o,o,u)),t}function Z0(e,t){return t&&t.signal?{name:e,update:t.signal}:{name:e,value:t}}function Aye(e,t){let n=s=>Jo(e[s],t[s]),r=[Z0("background",n("background")),Z0("autosize",Mhe(n("autosize"))),Z0("padding",Nhe(n("padding"))),Z0("width",n("width")||0),Z0("height",n("height")||0)],i=r.reduce((s,a)=>(s[a.name]=a,s),{}),o={};return Z(e.signals).forEach(s=>{ne(i,s.name)?s=Se(i[s.name],s):r.push(s),o[s.name]=s}),Z(t.signals).forEach(s=>{!ne(o,s.name)&&!ne(i,s.name)&&r.push(s)}),r}function O7(e,t){this.config=e||{},this.options=t||{},this.bindings=[],this.field={},this.signals={},this.lambdas={},this.scales={},this.events={},this.data={},this.streams=[],this.updates=[],this.operators=[],this.eventConfig=null,this.locale=null,this._id=0,this._subid=0,this._nextsub=[0],this._parent=[],this._encode=[],this._lookup=[],this._markpath=[]}function s7(e){this.config=e.config,this.options=e.options,this.legends=e.legends,this.field=Object.create(e.field),this.signals=Object.create(e.signals),this.lambdas=Object.create(e.lambdas),this.scales=Object.create(e.scales),this.events=Object.create(e.events),this.data=Object.create(e.data),this.streams=[],this.updates=[],this.operators=[],this._id=0,this._subid=++e._nextsub[0],this._nextsub=e._nextsub,this._parent=e._parent.slice(),this._encode=e._encode.slice(),this._lookup=e._lookup.slice(),this._markpath=e._markpath}O7.prototype=s7.prototype={parse(e){return N7(e,this)},fork(){return new s7(this)},isSubscope(){return this._subid>0},toRuntime(){return this.finish(),{description:this.description,operators:this.operators,streams:this.streams,updates:this.updates,bindings:this.bindings,eventConfig:this.eventConfig,locale:this.locale}},id(){return(this._subid?this._subid+":":0)+this._id++},add(e){return this.operators.push(e),e.id=this.id(),e.refs&&(e.refs.forEach(t=>{t.$ref=e.id}),e.refs=null),e},proxy(e){let t=e instanceof LM?ve(e):e;return this.add(Oge({value:t}))},addStream(e){return this.streams.push(e),e.id=this.id(),e},addUpdate(e){return this.updates.push(e),e},finish(){let e,t;this.root&&(this.root.root=!0);for(e in this.signals)this.signals[e].signal=e;for(e in this.scales)this.scales[e].scale=e;function n(r,i,o){let s,a;r&&(s=r.data||(r.data={}),a=s[i]||(s[i]=[]),a.push(o))}for(e in this.data){t=this.data[e],n(t.input,e,"input"),n(t.output,e,"output"),n(t.values,e,"values");for(let r in t.index)n(t.index[r],e,"index:"+r)}return this},pushState(e,t,n){this._encode.push(ve(this.add(rf({pulse:e})))),this._parent.push(t),this._lookup.push(n?ve(this.proxy(n)):null),this._markpath.push(-1)},popState(){this._encode.pop(),this._parent.pop(),this._lookup.pop(),this._markpath.pop()},parent(){return De(this._parent)},encode(){return De(this._encode)},lookup(){return De(this._lookup)},markpath(){let e=this._markpath;return++e[e.length-1]},fieldRef(e,t){if(Y(e))return ey(e,t);e.signal||U("Unsupported field reference: "+K(e));let n=e.signal,r=this.field[n];if(!r){let i={name:this.signalRef(n)};t&&(i.as=t),this.field[n]=r=ve(this.add(_ge(i)))}return r},compareRef(e){let t=!1,n=o=>yn(o)?(t=!0,this.signalRef(o.signal)):cge(o)?(t=!0,this.exprRef(o.expr)):o,r=Z(e.field).map(n),i=Z(e.order).map(n);return t?ve(this.add(Wz({fields:r,orders:i}))):Gz(r,i)},keyRef(e,t){let n=!1,r=o=>yn(o)?(n=!0,ve(i[o.signal])):o,i=this.signals;return e=Z(e).map(r),n?ve(this.add(Cge({fields:e,flat:t}))):sge(e,t)},sortRef(e){if(!e)return e;let t=HE(e.op,e.field),n=e.order||age;return n.signal?ve(this.add(Wz({fields:t,orders:this.signalRef(n.signal)}))):Gz(t,n)},event(e,t){let n=e+":"+t;if(!this.events[n]){let r=this.id();this.streams.push({id:r,source:e,type:t}),this.events[n]=r}return this.events[n]},hasOwnSignal(e){return ne(this.signals,e)},addSignal(e,t){this.hasOwnSignal(e)&&U("Duplicate signal name: "+K(e));let n=t instanceof LM?t:this.add(BE(t));return this.signals[e]=n},getSignal(e){return this.signals[e]||U("Unrecognized signal name: "+K(e)),this.signals[e]},signalRef(e){return this.signals[e]?ve(this.signals[e]):(ne(this.lambdas,e)||(this.lambdas[e]=this.add(BE(null))),ve(this.lambdas[e]))},parseLambdas(){let e=Object.keys(this.lambdas);for(let t=0,n=e.length;t<n;++t){let r=e[t],i=Qo(r,this),o=this.lambdas[r];o.params=i.$params,o.update=i.$expr}},property(e){return e&&e.signal?this.signalRef(e.signal):e},objectProperty(e){return!e||!Q(e)?e:this.signalRef(e.signal||oI(e))},exprRef(e,t){let n={expr:Qo(e,this)};return t&&(n.expr.$name=t),ve(this.add(Sge(n)))},addBinding(e,t){this.bindings||U("Nested signals do not support binding: "+K(e)),this.bindings.push(Se({signal:e},t))},addScaleProj(e,t){ne(this.scales,e)&&U("Duplicate scale or projection name: "+K(e)),this.scales[e]=this.add(t)},addScale(e,t){this.addScaleProj(e,$ge(t))},addProjection(e,t){this.addScaleProj(e,Nge(t))},getScale(e){return this.scales[e]||U("Unrecognized scale name: "+K(e)),this.scales[e]},scaleRef(e){return ve(this.getScale(e))},scaleType(e){return this.getScale(e).params.type},projectionRef(e){return this.scaleRef(e)},projectionType(e){return this.scaleType(e)},addData(e,t){return ne(this.data,e)&&U("Duplicate data set name: "+K(e)),this.data[e]=t},getData(e){return this.data[e]||U("Undefined data set name: "+K(e)),this.data[e]},addDataPipeline(e,t){return ne(this.data,e)&&U("Duplicate data set name: "+K(e)),this.addData(e,nf.fromEntries(this,t))}};function oI(e){return(O(e)?_ye:Cye)(e)}function _ye(e){let t=e.length,n="[";for(let r=0;r<t;++r){let i=e[r];n+=(r>0?",":"")+(Q(i)?i.signal||oI(i):K(i))}return n+"]"}function Cye(e){let t="{",n=0,r,i;for(r in e)i=e[r],t+=(++n>1?",":"")+K(r)+":"+(Q(i)?i.signal||oI(i):K(i));return t+"}"}function kye(){let e="sans-serif",r="#4c78a8",i="#000",o="#888",s="#ddd";return{description:"Vega visualization",padding:0,autosize:"pad",background:null,events:{defaults:{allow:["wheel"]}},group:null,mark:null,arc:{fill:r},area:{fill:r},image:null,line:{stroke:r,strokeWidth:2},path:{stroke:r},rect:{fill:r},rule:{stroke:i},shape:{stroke:r},symbol:{fill:r,size:64},text:{fill:i,font:e,fontSize:11},trail:{fill:r,size:2},style:{"guide-label":{fill:i,font:e,fontSize:10},"guide-title":{fill:i,font:e,fontSize:11,fontWeight:"bold"},"group-title":{fill:i,font:e,fontSize:13,fontWeight:"bold"},"group-subtitle":{fill:i,font:e,fontSize:12},point:{size:30,strokeWidth:2,shape:"circle"},circle:{size:30,strokeWidth:2},square:{size:30,strokeWidth:2,shape:"square"},cell:{fill:"transparent",stroke:s},view:{fill:"transparent"}},title:{orient:"top",anchor:"middle",offset:4,subtitlePadding:3},axis:{minExtent:0,maxExtent:200,bandPosition:.5,domain:!0,domainWidth:1,domainColor:o,grid:!1,gridWidth:1,gridColor:s,labels:!0,labelAngle:0,labelLimit:180,labelOffset:0,labelPadding:2,ticks:!0,tickColor:o,tickOffset:0,tickRound:!0,tickSize:5,tickWidth:1,titlePadding:4},axisBand:{tickOffset:-.5},projection:{type:"mercator"},legend:{orient:"right",padding:0,gridAlign:"each",columnPadding:10,rowPadding:2,symbolDirection:"vertical",gradientDirection:"vertical",gradientLength:200,gradientThickness:16,gradientStrokeColor:s,gradientStrokeWidth:0,gradientLabelOffset:2,labelAlign:"left",labelBaseline:"middle",labelLimit:160,labelOffset:4,labelOverlap:!0,symbolLimit:30,symbolType:"circle",symbolSize:100,symbolOffset:0,symbolStrokeWidth:1.5,symbolBaseFillColor:"transparent",symbolBaseStrokeColor:o,titleLimit:180,titleOrient:"top",titlePadding:5,layout:{offset:18,direction:"horizontal",left:{direction:"vertical"},right:{direction:"vertical"}}},range:{category:{scheme:"tableau10"},ordinal:{scheme:"blues"},heatmap:{scheme:"yellowgreenblue"},ramp:{scheme:"blues"},diverging:{scheme:"blueorange",extent:[1,0]},symbol:["circle","square","triangle-up","cross","diamond","triangle-right","triangle-down","triangle-left"]}}}function P7(e,t,n){return Q(e)||U("Input Vega specification must be an object."),t=Is(kye(),t,e.config),Sye(e,new O7(t,n)).toRuntime()}var Fye="5.33.0";Se(La,sk,bT,AT,HR,nD,GD,ID,YD,QD,eM,rM);function Tye(e,t,n){let r;t.x2&&(t.x?(n&&e.x>e.x2&&(r=e.x,e.x=e.x2,e.x2=r),e.width=e.x2-e.x):e.x=e.x2-(e.width||0)),t.xc&&(e.x=e.xc-(e.width||0)/2),t.y2&&(t.y?(n&&e.y>e.y2&&(r=e.y,e.y=e.y2,e.y2=r),e.height=e.y2-e.y):e.y=e.y2-(e.height||0)),t.yc&&(e.y=e.yc-(e.height||0)/2)}var Rye={NaN:NaN,E:Math.E,LN2:Math.LN2,LN10:Math.LN10,LOG2E:Math.LOG2E,LOG10E:Math.LOG10E,PI:Math.PI,SQRT1_2:Math.SQRT1_2,SQRT2:Math.SQRT2,MIN_VALUE:Number.MIN_VALUE,MAX_VALUE:Number.MAX_VALUE},Dye={"*":(e,t)=>e*t,"+":(e,t)=>e+t,"-":(e,t)=>e-t,"/":(e,t)=>e/t,"%":(e,t)=>e%t,">":(e,t)=>e>t,"<":(e,t)=>e<t,"<=":(e,t)=>e<=t,">=":(e,t)=>e>=t,"==":(e,t)=>e==t,"!=":(e,t)=>e!=t,"===":(e,t)=>e===t,"!==":(e,t)=>e!==t,"&":(e,t)=>e&t,"|":(e,t)=>e|t,"^":(e,t)=>e^t,"<<":(e,t)=>e<<t,">>":(e,t)=>e>>t,">>>":(e,t)=>e>>>t},Mye={"+":e=>+e,"-":e=>-e,"~":e=>~e,"!":e=>!e},Iye=Array.prototype.slice,sf=(e,t,n)=>{let r=n?n(t[0]):t[0];return r[e].apply(r,Iye.call(t,1))},Nye=(e,t,n,r,i,o,s)=>new Date(e,t||0,n??1,r||0,i||0,o||0,s||0),Oye={isNaN:Number.isNaN,isFinite:Number.isFinite,abs:Math.abs,acos:Math.acos,asin:Math.asin,atan:Math.atan,atan2:Math.atan2,ceil:Math.ceil,cos:Math.cos,exp:Math.exp,floor:Math.floor,log:Math.log,max:Math.max,min:Math.min,pow:Math.pow,random:Math.random,round:Math.round,sin:Math.sin,sqrt:Math.sqrt,tan:Math.tan,clamp:(e,t,n)=>Math.max(t,Math.min(n,e)),now:Date.now,utc:Date.UTC,datetime:Nye,date:e=>new Date(e).getDate(),day:e=>new Date(e).getDay(),year:e=>new Date(e).getFullYear(),month:e=>new Date(e).getMonth(),hours:e=>new Date(e).getHours(),minutes:e=>new Date(e).getMinutes(),seconds:e=>new Date(e).getSeconds(),milliseconds:e=>new Date(e).getMilliseconds(),time:e=>new Date(e).getTime(),timezoneoffset:e=>new Date(e).getTimezoneOffset(),utcdate:e=>new Date(e).getUTCDate(),utcday:e=>new Date(e).getUTCDay(),utcyear:e=>new Date(e).getUTCFullYear(),utcmonth:e=>new Date(e).getUTCMonth(),utchours:e=>new Date(e).getUTCHours(),utcminutes:e=>new Date(e).getUTCMinutes(),utcseconds:e=>new Date(e).getUTCSeconds(),utcmilliseconds:e=>new Date(e).getUTCMilliseconds(),length:e=>e.length,join:function(){return sf("join",arguments)},indexof:function(){return sf("indexOf",arguments)},lastindexof:function(){return sf("lastIndexOf",arguments)},slice:function(){return sf("slice",arguments)},reverse:e=>e.slice().reverse(),sort:e=>e.slice().sort(Fa),parseFloat,parseInt,upper:e=>String(e).toUpperCase(),lower:e=>String(e).toLowerCase(),substring:function(){return sf("substring",arguments,String)},split:function(){return sf("split",arguments,String)},replace:function(){return sf("replace",arguments,String)},trim:e=>String(e).trim(),btoa:e=>btoa(e),atob:e=>atob(e),regexp:RegExp,test:(e,t)=>RegExp(e).test(t)},Pye=["view","item","group","xy","x","y"],aI=new Set([Function,eval,setTimeout,setInterval]);typeof setImmediate=="function"&&aI.add(setImmediate);var $ye={Literal:(e,t)=>t.value,Identifier:(e,t)=>{let n=t.name;return e.memberDepth>0?n:n==="datum"?e.datum:n==="event"?e.event:n==="item"?e.item:Rye[n]||e.params["$"+n]},MemberExpression:(e,t)=>{let n=!t.computed,r=e(t.object);n&&(e.memberDepth+=1);let i=e(t.property);if(n&&(e.memberDepth-=1),aI.has(r[i])){console.error(`Prevented interpretation of member "${i}" which could lead to insecure code execution`);return}return r[i]},CallExpression:(e,t)=>{let n=t.arguments,r=t.callee.name;return r.startsWith("_")&&(r=r.slice(1)),r==="if"?e(n[0])?e(n[1]):e(n[2]):(e.fn[r]||Oye[r]).apply(e.fn,n.map(e))},ArrayExpression:(e,t)=>t.elements.map(e),BinaryExpression:(e,t)=>Dye[t.operator](e(t.left),e(t.right)),UnaryExpression:(e,t)=>Mye[t.operator](e(t.argument)),ConditionalExpression:(e,t)=>e(t.test)?e(t.consequent):e(t.alternate),LogicalExpression:(e,t)=>t.operator==="&&"?e(t.left)&&e(t.right):e(t.left)||e(t.right),ObjectExpression:(e,t)=>t.properties.reduce((n,r)=>{e.memberDepth+=1;let i=e(r.key);return e.memberDepth-=1,aI.has(e(r.value))?console.error(`Prevented interpretation of property "${i}" which could lead to insecure code execution`):n[i]=e(r.value),n},{})};function oy(e,t,n,r,i,o){let s=a=>$ye[a.type](s,a);return s.memberDepth=0,s.fn=Object.create(t),s.params=n,s.datum=r,s.event=i,s.item=o,Pye.forEach(a=>s.fn[a]=function(){return i.vega[a](...arguments)}),s(e)}var $7={operator(e,t){let n=t.ast,r=e.functions;return i=>oy(n,r,i)},parameter(e,t){let n=t.ast,r=e.functions;return(i,o)=>oy(n,r,o,i)},event(e,t){let n=t.ast,r=e.functions;return i=>oy(n,r,void 0,void 0,i)},handler(e,t){let n=t.ast,r=e.functions;return(i,o)=>{let s=o.item&&o.item.datum;return oy(n,r,i,s,o)}},encode(e,t){let{marktype:n,channels:r}=t,i=e.functions,o=n==="group"||n==="image"||n==="rect";return(s,a)=>{let u=s.datum,l=0,c;for(let f in r)c=oy(r[f].ast,i,a,u,void 0,s),s[f]!==c&&(s[f]=c,l=1);return n!=="rule"&&Tye(s,r,o),l}}};var yO={};rr(yO,{accessPathDepth:()=>af,accessPathWithDatum:()=>uy,accessWithDatumToUnescapedPath:()=>Ze,compile:()=>iV,contains:()=>xe,deepEqual:()=>Rn,deleteNestedProperty:()=>ay,duplicate:()=>ie,entries:()=>pi,every:()=>ZE,fieldIntersection:()=>tw,flatAccessWithDatum:()=>dI,getFirstDefined:()=>Le,hasIntersection:()=>ew,hasProperty:()=>W,hash:()=>fe,internalField:()=>mI,isBoolean:()=>Cp,isEmpty:()=>Ie,isEqual:()=>Uye,isInternalField:()=>z7,isNullOrFalse:()=>JE,isNumeric:()=>ly,keys:()=>P,logicalExpr:()=>_p,mergeDeep:()=>cI,never:()=>lI,normalize:()=>yS,normalizeAngle:()=>Fl,omit:()=>qt,pick:()=>iu,prefixGenerator:()=>uI,removePathFromField:()=>ou,replaceAll:()=>ns,replacePathInField:()=>un,resetIdCounter:()=>Hye,setEqual:()=>fI,some:()=>Cl,stringify:()=>qe,titleCase:()=>kl,unique:()=>hr,uniqueId:()=>pI,vals:()=>mt,varName:()=>He,version:()=>FSe});var L7={name:"vega-lite",author:'Dominik Moritz, Kanit "Ham" Wongsuphasawat, Arvind Satyanarayan, Jeffrey Heer',version:"5.23.0",collaborators:["Kanit Wongsuphasawat (http://kanitw.yellowpigz.com)","Dominik Moritz (https://www.domoritz.de)","Arvind Satyanarayan (https://arvindsatya.com)","Jeffrey Heer (https://jheer.org)"],homepage:"https://vega.github.io/vega-lite/",description:"Vega-Lite is a concise high-level language for interactive visualization.",keywords:["vega","chart","visualization"],main:"build/vega-lite.js",unpkg:"build/vega-lite.min.js",jsdelivr:"build/vega-lite.min.js",module:"build/src/index",types:"build/src/index.d.ts",bin:{vl2pdf:"./bin/vl2pdf",vl2png:"./bin/vl2png",vl2svg:"./bin/vl2svg",vl2vg:"./bin/vl2vg"},files:["bin","build","src","vega-lite*","tsconfig.json"],scripts:{changelog:"conventional-changelog -p angular -r 2",prebuild:"yarn clean:build",build:"yarn build:only","build:only":"tsc -p tsconfig.build.json && rollup -c","prebuild:examples":"yarn build:only","build:examples":"yarn data && TZ=America/Los_Angeles scripts/build-examples.sh","prebuild:examples-full":"yarn build:only","build:examples-full":"TZ=America/Los_Angeles scripts/build-examples.sh 1","build:example":"TZ=America/Los_Angeles scripts/build-example.sh","build:toc":"yarn build:jekyll && scripts/generate-toc","build:site":"rollup -c site/rollup.config.mjs","build:jekyll":"pushd site && bundle exec jekyll build -q && popd","build:versions":"scripts/update-version.sh",clean:"yarn clean:build && del-cli 'site/data/*' 'examples/compiled/*.png' && find site/examples ! -name 'index.md' ! -name 'data' -type f -delete","clean:build":"del-cli 'build/*' !build/vega-lite-schema.json",data:"rsync -r node_modules/vega-datasets/data/* site/data","build-editor-preview":"scripts/build-editor-preview.sh",schema:"mkdir -p build && ts-json-schema-generator -f tsconfig.json -p src/index.ts -t TopLevelSpec --no-type-check --no-ref-encode > build/vega-lite-schema.json && yarn renameschema && cp build/vega-lite-schema.json site/_data/",renameschema:"scripts/rename-schema.sh",presite:"yarn data && yarn schema && yarn build:site && yarn build:versions && scripts/create-example-pages.sh",site:"yarn site:only","site:only":"pushd site && bundle exec jekyll serve -I -l && popd",prettierbase:"prettier '**/*.{md,css,yml}'",format:"eslint . --fix && yarn prettierbase --write",lint:"eslint . && yarn prettierbase --check",test:"yarn jest test/ && yarn lint && yarn schema && yarn jest examples/ && yarn test:runtime","test:cover":"yarn jest --collectCoverage test/","test:inspect":"node --inspect-brk ./node_modules/.bin/jest --runInBand test","test:runtime":"TZ=America/Los_Angeles npx jest test-runtime/ --config test-runtime/jest-config.json","test:runtime:generate":"yarn build:only && del-cli test-runtime/resources && VL_GENERATE_TESTS=true yarn test:runtime",watch:"tsc -p tsconfig.build.json -w","watch:site":"yarn build:site -w","watch:test":"yarn jest --watch test/","watch:test:runtime":"TZ=America/Los_Angeles npx jest --watch test-runtime/ --config test-runtime/jest-config.json",release:"release-it"},repository:{type:"git",url:"https://github.com/vega/vega-lite.git"},license:"BSD-3-Clause",bugs:{url:"https://github.com/vega/vega-lite/issues"},devDependencies:{"@babel/core":"^7.26.0","@babel/preset-env":"^7.26.0","@babel/preset-typescript":"^7.26.0","@release-it/conventional-changelog":"^9.0.3","@rollup/plugin-alias":"^5.1.1","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-json":"^6.1.0","@rollup/plugin-node-resolve":"^15.3.0","@rollup/plugin-terser":"^0.4.4","@types/d3":"^7.4.3","@types/jest":"^29.5.14","@types/pako":"^2.0.3","@typescript-eslint/eslint-plugin":"^7.17.0","@typescript-eslint/parser":"^7.17.0",ajv:"^8.17.1","ajv-formats":"^3.0.1",cheerio:"^1.0.0","conventional-changelog-cli":"^5.0.0",d3:"^7.9.0","del-cli":"^6.0.0",eslint:"^8.57.0","eslint-config-prettier":"^9.1.0","eslint-plugin-jest":"^27.9.0","eslint-plugin-prettier":"^5.2.1","fast-json-stable-stringify":"~2.1.0","highlight.js":"^11.10.0",jest:"^29.7.0","jest-dev-server":"^10.1.4",mkdirp:"^3.0.1",pako:"^2.1.0",prettier:"^3.3.3",puppeteer:"^15.0.0","release-it":"17.10.0",rollup:"^4.27.3","rollup-plugin-bundle-size":"^1.0.3",serve:"^14.2.4",terser:"^5.36.0","ts-jest":"^29.2.5","ts-json-schema-generator":"^2.3.0",typescript:"~5.7.2","vega-cli":"^5.30.0","vega-datasets":"^2.11.0","vega-embed":"^6.28.0","vega-tooltip":"^0.35.2","yaml-front-matter":"^4.1.1"},dependencies:{"json-stringify-pretty-compact":"~4.0.0",tslib:"~2.8.1","vega-event-selector":"~3.0.1","vega-expression":"~5.1.1","vega-util":"~1.17.2",yargs:"~17.7.2"},peerDependencies:{vega:"^5.24.0"},engines:{node:">=18"},packageManager:"yarn@1.22.22"};function XE(e){return W(e,"or")}function KE(e){return W(e,"and")}function QE(e){return W(e,"not")}function sy(e,t){if(QE(e))sy(e.not,t);else if(KE(e))for(let n of e.and)sy(n,t);else if(XE(e))for(let n of e.or)sy(n,t);else t(e)}function _l(e,t){return QE(e)?{not:_l(e.not,t)}:KE(e)?{and:e.and.map(n=>_l(n,t))}:XE(e)?{or:e.or.map(n=>_l(n,t))}:t(e)}var ie=structuredClone;function lI(e){throw new Error(e)}function iu(e,t){let n={};for(let r of t)ne(e,r)&&(n[r]=e[r]);return n}function qt(e,t){let n={...e};for(let r of t)delete n[r];return n}Set.prototype.toJSON=function(){return`Set(${[...this].map(e=>qe(e)).join(",")})`};function fe(e){if(Te(e))return e;let t=Y(e)?e:qe(e);if(t.length<250)return t;let n=0;for(let r=0;r<t.length;r++){let i=t.charCodeAt(r);n=(n<<5)-n+i,n=n&n}return n}function JE(e){return e===!1||e===null}function xe(e,t){return e.includes(t)}function Cl(e,t){let n=0;for(let[r,i]of e.entries())if(t(i,r,n++))return!0;return!1}function ZE(e,t){let n=0;for(let[r,i]of e.entries())if(!t(i,r,n++))return!1;return!0}function cI(e,...t){for(let n of t)Bye(e,n??{});return e}function Bye(e,t){for(let n of P(t))ka(e,n,t[n],!0)}function hr(e,t){let n=[],r={},i;for(let o of e)i=t(o),!(i in r)&&(r[i]=1,n.push(o));return n}function Uye(e,t){let n=P(e),r=P(t);if(n.length!==r.length)return!1;for(let i of n)if(e[i]!==t[i])return!1;return!0}function fI(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function ew(e,t){for(let n of e)if(t.has(n))return!0;return!1}function uI(e){let t=new Set;for(let n of e){let i=Qi(n).map((s,a)=>a===0?s:`[${s}]`),o=i.map((s,a)=>i.slice(0,a+1).join(""));for(let s of o)t.add(s)}return t}function tw(e,t){return e===void 0||t===void 0?!0:ew(uI(e),uI(t))}function Ie(e){return P(e).length===0}var P=Object.keys,mt=Object.values,pi=Object.entries;function Cp(e){return e===!0||e===!1}function He(e){let t=e.replace(/\W/g,"_");return(e.match(/^\d+/)?"_":"")+t}function _p(e,t){return QE(e)?`!(${_p(e.not,t)})`:KE(e)?`(${e.and.map(n=>_p(n,t)).join(") && (")})`:XE(e)?`(${e.or.map(n=>_p(n,t)).join(") || (")})`:t(e)}function ay(e,t){if(t.length===0)return!0;let n=t.shift();return n in e&&ay(e[n],t)&&delete e[n],Ie(e)}function kl(e){return e.charAt(0).toUpperCase()+e.substr(1)}function uy(e,t="datum"){let n=Qi(e),r=[];for(let i=1;i<=n.length;i++){let o=`[${n.slice(0,i).map(K).join("][")}]`;r.push(`${t}${o}`)}return r.join(" && ")}function dI(e,t="datum"){return`${t}[${K(Qi(e).join("."))}]`}function Ze(e){return`datum['${e.replaceAll("'","\\'")}']`}function zye(e){return e.replace(/(\[|\]|\.|'|")/g,"\\$1")}function un(e){return`${Qi(e).map(zye).join("\\.")}`}function ns(e,t,n){return e.replace(new RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),n)}function ou(e){return`${Qi(e).join(".")}`}function af(e){return e?Qi(e).length:0}function Le(...e){return e.find(t=>t!==void 0)}var U7=42;function pI(e){let t=++U7;return e?String(e)+t:t}function Hye(){U7=42}function mI(e){return z7(e)?e:`__${e}`}function z7(e){return e.startsWith("__")}function Fl(e){if(e!==void 0)return(e%360+360)%360}function ly(e){return Te(e)?!0:!isNaN(e)&&!isNaN(parseFloat(e))}var B7=Object.getPrototypeOf(structuredClone({}));function Rn(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor.name!==t.constructor.name)return!1;let n,r;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!Rn(e[r],t[r]))return!1;return!0}if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let o of e.entries())if(!t.has(o[0]))return!1;for(let o of e.entries())if(!Rn(o[1],t.get(o[0])))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let o of e.entries())if(!t.has(o[0]))return!1;return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&e.valueOf!==B7.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&e.toString!==B7.toString)return e.toString()===t.toString();let i=Object.keys(e);if(n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let o=i[r];if(!Rn(e[o],t[o]))return!1}return!0}return e!==e&&t!==t}function qe(e){let t=[];return function n(r){if(r&&r.toJSON&&typeof r.toJSON=="function"&&(r=r.toJSON()),r===void 0)return;if(typeof r=="number")return isFinite(r)?""+r:"null";if(typeof r!="object")return JSON.stringify(r);let i,o;if(Array.isArray(r)){for(o="[",i=0;i<r.length;i++)i&&(o+=","),o+=n(r[i])||"null";return o+"]"}if(r===null)return"null";if(t.includes(r))throw new TypeError("Converting circular structure to JSON");let s=t.push(r)-1,a=Object.keys(r).sort();for(o="",i=0;i<a.length;i++){let u=a[i],l=n(r[u]);l&&(o&&(o+=","),o+=JSON.stringify(u)+":"+l)}return t.splice(s,1),`{${o}}`}(e)}function W(e,t){return Q(e)&&ne(e,t)&&e[t]!==void 0}var mi="row",hi="column",kp="facet",Ye="x",ht="y",gi="x2",Oi="y2",go="xOffset",na="yOffset",gr="radius",rs="radius2",jn="theta",is="theta2",Wn="latitude",Vn="longitude",yr="latitude2",Yn="longitude2",Pi="time",Gt="color",xr="fill",br="stroke",It="shape",yi="size",os="angle",Vr="opacity",$i="fillOpacity",Li="strokeOpacity",Bi="strokeWidth",Ui="strokeDash",uf="text",Tl="order",lf="detail",Fp="key",su="tooltip",Tp="href",Rp="url",Dp="description",qye={x:1,y:1,x2:1,y2:1},H7={theta:1,theta2:1,radius:1,radius2:1};function hI(e){return ne(H7,e)}var gI={longitude:1,longitude2:1,latitude:1,latitude2:1};function rw(e){switch(e){case Wn:return"y";case yr:return"y2";case Vn:return"x";case Yn:return"x2"}}function iw(e){return ne(gI,e)}var q7=P(gI),yI={...qye,...H7,...gI,xOffset:1,yOffset:1,color:1,fill:1,stroke:1,time:1,opacity:1,fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeDash:1,size:1,angle:1,shape:1,order:1,text:1,detail:1,key:1,tooltip:1,href:1,url:1,description:1};function au(e){return e===Gt||e===xr||e===br}var G7={row:1,column:1,facet:1},Dn=P(G7),xI={...yI,...G7},j7=P(xI),{order:oqe,detail:sqe,tooltip:aqe,...W7}=xI,{row:uqe,column:lqe,facet:cqe,...V7}=W7,fqe=P(W7),dqe=P(V7);function Y7(e){return ne(V7,e)}function ow(e){return ne(xI,e)}var X7=[gi,Oi,yr,Yn,is,rs];function sw(e){return zi(e)!==e}function zi(e){switch(e){case gi:return Ye;case Oi:return ht;case yr:return Wn;case Yn:return Vn;case is:return jn;case rs:return gr}return e}function yo(e){if(hI(e))switch(e){case jn:return"startAngle";case is:return"endAngle";case gr:return"outerRadius";case rs:return"innerRadius"}return e}function Mn(e){switch(e){case Ye:return gi;case ht:return Oi;case Wn:return yr;case Vn:return Yn;case jn:return is;case gr:return rs}}function Nt(e){switch(e){case Ye:case gi:return"width";case ht:case Oi:return"height"}}function bI(e){switch(e){case Ye:return"xOffset";case ht:return"yOffset";case gi:return"x2Offset";case Oi:return"y2Offset";case jn:return"thetaOffset";case gr:return"radiusOffset";case is:return"theta2Offset";case rs:return"radius2Offset"}}function Mp(e){switch(e){case Ye:return"xOffset";case ht:return"yOffset"}}function K7(e){switch(e){case"xOffset":return"x";case"yOffset":return"y"}}var Q7=P(yI),{x:pqe,y:mqe,x2:hqe,y2:gqe,xOffset:yqe,yOffset:xqe,latitude:bqe,longitude:vqe,latitude2:Eqe,longitude2:wqe,theta:Sqe,theta2:Aqe,radius:_qe,radius2:Cqe,...vI}=yI,J7=P(vI),EI={x:1,y:1},Xn=P(EI);function Xe(e){return ne(EI,e)}var aw={theta:1,radius:1},Z7=P(aw);function Rl(e){return e==="width"?Ye:ht}var wI={xOffset:1,yOffset:1},kqe=P(wI);function uu(e){return ne(wI,e)}var eH={time:1},Fqe=P(eH);function uw(e){return e in eH}var{text:Tqe,tooltip:Rqe,href:Dqe,url:Mqe,description:Iqe,detail:Nqe,key:Oqe,order:Pqe,...tH}=vI,nH=P(tH);function rH(e){return ne(vI,e)}function iH(e){switch(e){case Gt:case xr:case br:case yi:case It:case Vr:case Bi:case Ui:return!0;case $i:case Li:case os:case Pi:return!1}}var oH={...EI,...aw,...wI,...tH},Ip=P(oH);function ln(e){return ne(oH,e)}function sH(e,t){return jye(e)[t]}var aH={arc:"always",area:"always",bar:"always",circle:"always",geoshape:"always",image:"always",line:"always",rule:"always",point:"always",rect:"always",square:"always",trail:"always",text:"always",tick:"always"},{geoshape:$qe,...Gye}=aH;function jye(e){switch(e){case Gt:case xr:case br:case Dp:case lf:case Fp:case su:case Tp:case Tl:case Vr:case $i:case Li:case Bi:case kp:case mi:case hi:return aH;case Ye:case ht:case go:case na:case Wn:case Vn:case Pi:return Gye;case gi:case Oi:case yr:case Yn:return{area:"always",bar:"always",image:"always",rect:"always",rule:"always",circle:"binned",point:"binned",square:"binned",tick:"binned",line:"binned",trail:"binned"};case yi:return{point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",text:"always",line:"always",trail:"always"};case Ui:return{line:"always",point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",geoshape:"always"};case It:return{point:"always",geoshape:"always"};case uf:return{text:"always"};case os:return{point:"always",square:"always",text:"always"};case Rp:return{image:"always"};case jn:return{text:"always",arc:"always"};case gr:return{text:"always",arc:"always"};case is:case rs:return{arc:"always"}}}function lw(e){switch(e){case Ye:case ht:case jn:case gr:case go:case na:case yi:case os:case Bi:case Vr:case $i:case Li:case Pi:case gi:case Oi:case is:case rs:return;case kp:case mi:case hi:case It:case Ui:case uf:case su:case Tp:case Rp:case Dp:return"discrete";case Gt:case xr:case br:return"flexible";case Wn:case Vn:case yr:case Yn:case lf:case Fp:case Tl:return}}var Vye={argmax:1,argmin:1,average:1,count:1,distinct:1,exponential:1,exponentialb:1,product:1,max:1,mean:1,median:1,min:1,missing:1,q1:1,q3:1,ci0:1,ci1:1,stderr:1,stdev:1,stdevp:1,sum:1,valid:1,values:1,variance:1,variancep:1},uH={count:1,min:1,max:1};function Hi(e){return W(e,"argmin")}function xo(e){return W(e,"argmax")}function Np(e){return Y(e)&&ne(Vye,e)}var Yye=new Set(["count","valid","missing","distinct"]);function Dl(e){return Y(e)&&Yye.has(e)}function lH(e){return Y(e)&&xe(["min","max"],e)}var cH=new Set(["count","sum","distinct","valid","missing"]),fH=new Set(["mean","average","median","q1","q3","min","max"]);function cw(e){return ni(e)&&(e=Pp(e,void 0)),"bin"+P(e).map(t=>Op(e[t])?He(`_${t}_${pi(e[t])}`):He(`_${t}_${e[t]}`)).join("")}function Pe(e){return e===!0||ss(e)&&!e.binned}function gt(e){return e==="binned"||ss(e)&&e.binned===!0}function ss(e){return Q(e)}function Op(e){return W(e,"param")}function SI(e){switch(e){case mi:case hi:case yi:case Gt:case xr:case br:case Bi:case Vr:case $i:case Li:case It:return 6;case Ui:return 4;default:return 10}}function Ml(e){return W(e,"expr")}function Tt(e,{level:t}={level:0}){let n=P(e||{}),r={};for(let i of n)r[i]=t===0?In(e[i]):Tt(e[i],{level:t-1});return r}function fw(e){let{anchor:t,frame:n,offset:r,orient:i,angle:o,limit:s,color:a,subtitleColor:u,subtitleFont:l,subtitleFontSize:c,subtitleFontStyle:f,subtitleFontWeight:d,subtitleLineHeight:p,subtitlePadding:m,...h}=e,g={...h,...a?{fill:a}:{}},y={...t?{anchor:t}:{},...n?{frame:n}:{},...r?{offset:r}:{},...i?{orient:i}:{},...o!==void 0?{angle:o}:{},...s!==void 0?{limit:s}:{}},x={...u?{subtitleColor:u}:{},...l?{subtitleFont:l}:{},...c?{subtitleFontSize:c}:{},...f?{subtitleFontStyle:f}:{},...d?{subtitleFontWeight:d}:{},...p?{subtitleLineHeight:p}:{},...m?{subtitlePadding:m}:{}},b=iu(e,["align","baseline","dx","dy","limit"]);return{titleMarkConfig:g,subtitleMarkConfig:b,nonMarkTitleProperties:y,subtitle:x}}function as(e){return Y(e)||O(e)&&Y(e[0])}function re(e){return W(e,"signal")}function xi(e){return W(e,"step")}function dH(e){return O(e)?!1:W(e,"fields")&&!W(e,"data")}function pH(e){return O(e)?!1:W(e,"fields")&&W(e,"data")}function us(e){return O(e)?!1:W(e,"field")&&W(e,"data")}var Xye={aria:1,description:1,ariaRole:1,ariaRoleDescription:1,blend:1,opacity:1,fill:1,fillOpacity:1,stroke:1,strokeCap:1,strokeWidth:1,strokeOpacity:1,strokeDash:1,strokeDashOffset:1,strokeJoin:1,strokeOffset:1,strokeMiterLimit:1,startAngle:1,endAngle:1,padAngle:1,innerRadius:1,outerRadius:1,size:1,shape:1,interpolate:1,tension:1,orient:1,align:1,baseline:1,text:1,dir:1,dx:1,dy:1,ellipsis:1,limit:1,radius:1,theta:1,angle:1,font:1,fontSize:1,fontWeight:1,fontStyle:1,lineBreak:1,lineHeight:1,cursor:1,href:1,tooltip:1,cornerRadius:1,cornerRadiusTopLeft:1,cornerRadiusTopRight:1,cornerRadiusBottomLeft:1,cornerRadiusBottomRight:1,aspect:1,width:1,height:1,url:1,smooth:1},mH=P(Xye),hH={arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1},dw=["cornerRadius","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight"];function pw(e){let t=O(e.condition)?e.condition.map(gH):gH(e.condition);return{...In(e),condition:t}}function In(e){if(Ml(e)){let{expr:t,...n}=e;return{signal:t,...n}}return e}function gH(e){if(Ml(e)){let{expr:t,...n}=e;return{signal:t,...n}}return e}function $e(e){if(Ml(e)){let{expr:t,...n}=e;return{signal:t,...n}}return re(e)?e:e!==void 0?{value:e}:void 0}function yH(e){return re(e)?e.signal:K(e)}function AI(e){return re(e)?e.signal:K(e.value)}function Yr(e){return re(e)?e.signal:e==null?null:K(e)}function xH(e,t,n){for(let r of n){let i=Xr(r,t.markDef,t.config);i!==void 0&&(e[r]=$e(i))}return e}function _I(e){return[].concat(e.type,e.style??[])}function Ne(e,t,n,r={}){let{vgChannel:i,ignoreVgConfig:o}=r;return i&&W(t,i)?t[i]:t[e]!==void 0?t[e]:o&&(!i||i===e)?void 0:Xr(e,t,n,r)}function Xr(e,t,n,{vgChannel:r}={}){let i=mw(e,t,n.style);return Le(r?i:void 0,i,r?n[t.type][r]:void 0,n[t.type][e],r?n.mark[r]:n.mark[e])}function mw(e,t,n){return CI(e,_I(t),n)}function CI(e,t,n){t=Z(t);let r;for(let i of t){let o=n[i];W(o,e)&&(r=o[e])}return r}function hw(e,t){return Z(e).reduce((n,r)=>(n.field.push(J(r,t)),n.order.push(r.sort??"ascending"),n),{field:[],order:[]})}function kI(e,t){let n=[...e];return t.forEach(r=>{for(let i of n)if(Rn(i,r))return;n.push(r)}),n}function FI(e,t){return Rn(e,t)||!t?e:e?[...Z(e),...Z(t)].join(", "):t}function gw(e,t){let n=e.value,r=t.value;if(n==null||r===null)return{explicit:e.explicit,value:null};if((as(n)||re(n))&&(as(r)||re(r)))return{explicit:e.explicit,value:FI(n,r)};if(as(n)||re(n))return{explicit:e.explicit,value:n};if(as(r)||re(r))return{explicit:e.explicit,value:r};if(!as(n)&&!re(n)&&!as(r)&&!re(r))return{explicit:e.explicit,value:kI(n,r)};throw new Error("It should never reach here")}var L={};rr(L,{ADD_SAME_CHILD_TWICE:()=>bxe,CANNOT_UNION_CUSTOM_DOMAIN_WITH_FIELD_DOMAIN:()=>jxe,CONCAT_CANNOT_SHARE_AXIS:()=>gxe,FACETED_INDEPENDENT_DIFFERENT_SOURCES:()=>u1e,FACETED_INDEPENDENT_SAME_FIELDS_DIFFERENT_SOURCES:()=>l1e,FACETED_INDEPENDENT_SAME_SOURCE:()=>c1e,FIT_NON_SINGLE:()=>Qye,INTERVAL_INITIALIZED_WITH_POS:()=>pxe,INVALID_CHANNEL_FOR_AXIS:()=>f1e,LEGEND_BINDINGS_MUST_HAVE_PROJECTION:()=>lxe,LINE_WITH_VARYING_SIZE:()=>Nxe,MORE_THAN_ONE_SORT:()=>a1e,MULTIPLE_TIMER_ANIMATION_SELECTION:()=>TI,MULTI_VIEW_ANIMATION_UNSUPPORTED:()=>cf,NEEDS_SAME_SELECTION:()=>dxe,NO_FIELDS_NEEDS_AS:()=>Exe,REPLACE_ANGLE_WITH_THETA:()=>Axe,SCALE_BINDINGS_CONTINUOUS:()=>axe,SEQUENTIAL_SCALE_DEPRECATED:()=>uxe,cannotApplySizeToNonOrientedMark:()=>Qxe,cannotLookupVariableParameter:()=>cxe,cannotProjectAggregate:()=>rxe,cannotProjectOnChannelWithoutField:()=>nxe,cannotStackRangedMark:()=>d1e,cannotUseRelativeBandSizeWithNonBandScale:()=>Vxe,cannotUseScalePropertyWithNonColor:()=>Wxe,channelRequiredForBinned:()=>E1e,channelShouldBeDiscrete:()=>Lxe,channelShouldBeDiscreteOrDiscretizing:()=>Bxe,channelShouldNotBeUsedForBinned:()=>w1e,columnsNotSupportByRowCol:()=>hxe,containerSizeNonSingle:()=>Jye,containerSizeNotCompatibleWithAutosize:()=>Zye,customFormatTypeNotAllowed:()=>wxe,differentParse:()=>xxe,discreteChannelCannotEncode:()=>zxe,domainRequiredForThresholdScale:()=>S1e,domainSortDropped:()=>s1e,droppedDay:()=>g1e,droppingColor:()=>Dxe,droppingFit:()=>exe,emptyFieldDef:()=>Ixe,errorBand1DNotSupport:()=>v1e,errorBarCenterAndExtentAreNotNeeded:()=>y1e,errorBarCenterIsUsedWithWrongExtent:()=>x1e,errorBarContinuousAxisHasCustomizedAggregate:()=>b1e,facetChannelDropped:()=>Uxe,incompatibleChannel:()=>Oxe,independentScaleMeansIndependentGuide:()=>o1e,invalidAggregate:()=>Txe,invalidEncodingChannel:()=>$xe,invalidFieldType:()=>kxe,invalidFieldTypeForCountAggregate:()=>Fxe,invalidSpec:()=>Kye,invalidTimeUnit:()=>h1e,invalidTransformIgnored:()=>vxe,lineWithRange:()=>qxe,mergeConflictingDomainProperty:()=>i1e,mergeConflictingProperty:()=>r1e,missingFieldType:()=>Rxe,nearestNotSupportForContinuous:()=>ixe,noSameUnitLookup:()=>fxe,noSuchRepeatedValue:()=>mxe,offsetEncodingScaleIgnored:()=>Pxe,offsetNestedInsideContinuousPositionScaleDropped:()=>_xe,orientOverridden:()=>Gxe,primitiveChannelDef:()=>Cxe,projectionOverridden:()=>Sxe,rangeMarkAlignmentCannotBeExpression:()=>Hxe,relativeBandSizeNotSupported:()=>Mxe,scalePropertyNotWorkWithScaleType:()=>e1e,scaleTypeNotWorkWithChannel:()=>Jxe,scaleTypeNotWorkWithFieldDef:()=>Zxe,scaleTypeNotWorkWithMark:()=>t1e,selectionAsScaleDomainWithoutField:()=>RI,selectionAsScaleDomainWrongEncodings:()=>DI,selectionNotFound:()=>sxe,selectionNotSupported:()=>oxe,stackNonLinearScale:()=>p1e,stackNonSummativeAggregate:()=>m1e,stepDropped:()=>n1e,unaggregateDomainHasNoEffectForRawField:()=>Yxe,unaggregateDomainWithNonSharedDomainOp:()=>Xxe,unaggregatedDomainWithLogScale:()=>Kxe,unknownField:()=>txe,unrecognizedParse:()=>yxe});function Kye(e){return`Invalid specification ${qe(e)}. Make sure the specification includes at least one of the following properties: "mark", "layer", "facet", "hconcat", "vconcat", "concat", or "repeat".`}var Qye='Autosize "fit" only works for single views and layered views.';function Jye(e){return`${e=="width"?"Width":"Height"} "container" only works for single views and layered views.`}function Zye(e){let t=e=="width"?"Width":"Height",n=e=="width"?"x":"y";return`${t} "container" only works well with autosize "fit" or "fit-${n}".`}function exe(e){return e?`Dropping "fit-${e}" because spec has discrete ${Nt(e)}.`:'Dropping "fit" because spec has discrete size.'}function txe(e){return`Unknown field for ${e}. Cannot calculate view size.`}function nxe(e){return`Cannot project a selection on encoding channel "${e}", which has no field.`}function rxe(e,t){return`Cannot project a selection on encoding channel "${e}" as it uses an aggregate function ("${t}").`}function ixe(e){return`The "nearest" transform is not supported for ${e} marks.`}function oxe(e){return`Selection not supported for ${e} yet.`}function sxe(e){return`Cannot find a selection named "${e}".`}var axe="Scale bindings are currently only supported for scales with unbinned, continuous domains.",uxe="Sequntial scales are deprecated. The available quantitative scale type values are linear, log, pow, sqrt, symlog, time and utc",lxe="Legend bindings are only supported for selections over an individual field or encoding channel.";function cxe(e){return`Lookups can only be performed on selection parameters. "${e}" is a variable parameter.`}function fxe(e){return`Cannot define and lookup the "${e}" selection in the same view. Try moving the lookup into a second, layered view?`}var dxe="The same selection must be used to override scale domains in a layered view.",pxe='Interval selections should be initialized using "x", "y", "longitude", or "latitude" keys.';function mxe(e){return`Unknown repeated value "${e}".`}function hxe(e){return`The "columns" property cannot be used when "${e}" has nested row/column.`}var TI="Multiple timer selections in one unit spec are not supported. Ignoring all but the first.",cf="Animation involving facet, layer, or concat is currently unsupported.";function RI(e){return`A "field" or "encoding" must be specified when using a selection as a scale domain. Using "field": ${K(e)}.`}function DI(e,t,n,r){return(e.length?"Multiple ":"No ")+`matching ${K(t)} encoding found for selection ${K(n.param)}. Using "field": ${K(r)}.`}var gxe="Axes cannot be shared in concatenated or repeated views yet (https://github.com/vega/vega-lite/issues/2415).";function yxe(e){return`Unrecognized parse "${e}".`}function xxe(e,t,n){return`An ancestor parsed field "${e}" as ${n} but a child wants to parse the field as ${t}.`}var bxe="Attempt to add the same child twice.";function vxe(e){return`Ignoring an invalid transform: ${qe(e)}.`}var Exe='If "from.fields" is not specified, "as" has to be a string that specifies the key to be used for the data from the secondary source.';function wxe(e){return`Config.customFormatTypes is not true, thus custom format type and format for channel ${e} are dropped.`}function Sxe(e){let{parentProjection:t,projection:n}=e;return`Layer's shared projection ${qe(t)} is overridden by a child projection ${qe(n)}.`}var Axe="Arc marks uses theta channel rather than angle, replacing angle with theta.";function _xe(e){return`${e}Offset dropped because ${e} is continuous`}function Cxe(e,t,n){return`Channel ${e} is a ${t}. Converted to {value: ${qe(n)}}.`}function kxe(e){return`Invalid field type "${e}".`}function Fxe(e,t){return`Invalid field type "${e}" for aggregate: "${t}", using "quantitative" instead.`}function Txe(e){return`Invalid aggregation operator "${e}".`}function Rxe(e,t){return`Missing type for channel "${e}", using "${t}" instead.`}function Dxe(e,t){let{fill:n,stroke:r}=t;return`Dropping color ${e} as the plot also has ${n&&r?"fill and stroke":n?"fill":"stroke"}.`}function Mxe(e){return`Position range does not support relative band size for ${e}.`}function Ixe(e,t){return`Dropping ${qe(e)} from channel "${t}" since it does not contain any data field, datum, value, or signal.`}var Nxe="Line marks cannot encode size with a non-groupby field. You may want to use trail marks instead.";function Oxe(e,t,n){return`${e} dropped as it is incompatible with "${t}"${n?` when ${n}`:""}.`}function Pxe(e){return`${e} encoding has no scale, so specified scale is ignored.`}function $xe(e){return`${e}-encoding is dropped as ${e} is not a valid encoding channel.`}function Lxe(e){return`${e} encoding should be discrete (ordinal / nominal / binned).`}function Bxe(e){return`${e} encoding should be discrete (ordinal / nominal / binned) or use a discretizing scale (e.g. threshold).`}function Uxe(e){return`Facet encoding dropped as ${e.join(" and ")} ${e.length>1?"are":"is"} also specified.`}function zxe(e,t){return`Using discrete channel "${e}" to encode "${t}" field can be misleading as it does not encode ${t==="ordinal"?"order":"magnitude"}.`}function Hxe(e){return`The ${e} for range marks cannot be an expression`}function qxe(e,t){return`Line mark is for continuous lines and thus cannot be used with ${e&&t?"x2 and y2":e?"x2":"y2"}. We will use the rule mark (line segments) instead.`}function Gxe(e,t){return`Specified orient "${e}" overridden with "${t}".`}var jxe="Custom domain scale cannot be unioned with default field-based domain.";function Wxe(e){return`Cannot use the scale property "${e}" with non-color channel.`}function Vxe(e){return`Cannot use the relative band size with ${e} scale.`}function Yxe(e){return`Using unaggregated domain with raw field has no effect (${qe(e)}).`}function Xxe(e){return`Unaggregated domain not applicable for "${e}" since it produces values outside the origin domain of the source data.`}function Kxe(e){return`Unaggregated domain is currently unsupported for log scale (${qe(e)}).`}function Qxe(e){return`Cannot apply size to non-oriented mark "${e}".`}function Jxe(e,t,n){return`Channel "${e}" does not work with "${t}" scale. We are using "${n}" scale instead.`}function Zxe(e,t){return`FieldDef does not work with "${e}" scale. We are using "${t}" scale instead.`}function e1e(e,t,n){return`${n}-scale's "${t}" is dropped as it does not work with ${e} scale.`}function t1e(e,t){return`Scale type "${t}" does not work with mark "${e}".`}function n1e(e){return`The step for "${e}" is dropped because the ${e==="width"?"x":"y"} is continuous.`}function r1e(e,t,n,r){return`Conflicting ${t.toString()} property "${e.toString()}" (${qe(n)} and ${qe(r)}). Using ${qe(n)}.`}function i1e(e,t,n,r){return`Conflicting ${t.toString()} property "${e.toString()}" (${qe(n)} and ${qe(r)}). Using the union of the two domains.`}function o1e(e){return`Setting the scale to be independent for "${e}" means we also have to set the guide (axis or legend) to be independent.`}function s1e(e){return`Dropping sort property ${qe(e)} as unioned domains only support boolean or op "count", "min", and "max".`}var a1e="Domains that should be unioned has conflicting sort properties. Sort will be set to true.",u1e="Detected faceted independent scales that union domain of multiple fields from different data sources. We will use the first field. The result view size may be incorrect.",l1e="Detected faceted independent scales that union domain of the same fields from different source. We will assume that this is the same field from a different fork of the same data source. However, if this is not the case, the result view size may be incorrect.",c1e="Detected faceted independent scales that union domain of multiple fields from the same data source. We will use the first field. The result view size may be incorrect.",f1e="Invalid channel for axis.";function d1e(e){return`Cannot stack "${e}" if there is already "${e}2".`}function p1e(e){return`Stack is applied to a non-linear scale (${e}).`}function m1e(e){return`Stacking is applied even though the aggregate function is non-summative ("${e}").`}function h1e(e,t){return`Invalid ${e}: ${qe(t)}.`}function g1e(e){return`Dropping day from datetime ${qe(e)} as day cannot be combined with other units.`}function y1e(e,t){return`${t?"extent ":""}${t&&e?"and ":""}${e?"center ":""}${t&&e?"are ":"is "}not needed when data are aggregated.`}function x1e(e,t,n){return`${e} is not usually used with ${t} for ${n}.`}function b1e(e,t){return`Continuous axis should not have customized aggregation function ${e}; ${t} already agregates the axis.`}function v1e(e){return`1D error band does not support ${e}.`}function E1e(e){return`Channel ${e} is required for "binned" bin.`}function w1e(e){return`Channel ${e} should not be used with "binned" bin.`}function S1e(e){return`Domain for ${e} is required for threshold scale.`}var A1e,bH=sh(Bx),ff=bH;A1e=new WeakMap;function vH(e){return ff=e,ff}function EH(){return ff=bH,ff}function $p(...e){ff.error(...e)}function z(...e){ff.warn(...e)}function wH(...e){ff.debug(...e)}function bo(e){if(e&&Q(e)){for(let t of yw)if(W(e,t))return!0}return!1}var SH=["january","february","march","april","may","june","july","august","september","october","november","december"],_1e=SH.map(e=>e.substr(0,3)),AH=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],C1e=AH.map(e=>e.substr(0,3));function k1e(e){if(ly(e)&&(e=+e),Te(e))return e>4&&z(L.invalidTimeUnit("quarter",e)),e-1;throw new Error(L.invalidTimeUnit("quarter",e))}function F1e(e){if(ly(e)&&(e=+e),Te(e))return e-1;{let t=e.toLowerCase(),n=SH.indexOf(t);if(n!==-1)return n;let r=t.substr(0,3),i=_1e.indexOf(r);if(i!==-1)return i;throw new Error(L.invalidTimeUnit("month",e))}}function T1e(e){if(ly(e)&&(e=+e),Te(e))return e%7;{let t=e.toLowerCase(),n=AH.indexOf(t);if(n!==-1)return n;let r=t.substr(0,3),i=C1e.indexOf(r);if(i!==-1)return i;throw new Error(L.invalidTimeUnit("day",e))}}function MI(e,t){let n=[];if(t&&e.day!==void 0&&P(e).length>1&&(z(L.droppedDay(e)),e=ie(e),delete e.day),e.year!==void 0?n.push(e.year):n.push(2012),e.month!==void 0){let r=t?F1e(e.month):e.month;n.push(r)}else if(e.quarter!==void 0){let r=t?k1e(e.quarter):e.quarter;n.push(Te(r)?r*3:`${r}*3`)}else n.push(0);if(e.date!==void 0)n.push(e.date);else if(e.day!==void 0){let r=t?T1e(e.day):e.day;n.push(Te(r)?r+1:`${r}+1`)}else n.push(1);for(let r of["hours","minutes","seconds","milliseconds"]){let i=e[r];n.push(typeof i>"u"?0:i)}return n}function ls(e){let n=MI(e,!0).join(", ");return e.utc?`utc(${n})`:`datetime(${n})`}function _H(e){let n=MI(e,!1).join(", ");return e.utc?`utc(${n})`:`datetime(${n})`}function CH(e){let t=MI(e,!0);return e.utc?+new Date(Date.UTC(...t)):+new Date(...t)}var kH={year:1,quarter:1,month:1,week:1,day:1,dayofyear:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1},yw=P(kH);function FH(e){return ne(kH,e)}var R1e={binnedyear:1,binnedyearquarter:1,binnedyearquartermonth:1,binnedyearmonth:1,binnedyearmonthdate:1,binnedyearmonthdatehours:1,binnedyearmonthdatehoursminutes:1,binnedyearmonthdatehoursminutesseconds:1,binnedyearweek:1,binnedyearweekday:1,binnedyearweekdayhours:1,binnedyearweekdayhoursminutes:1,binnedyearweekdayhoursminutesseconds:1,binnedyeardayofyear:1},D1e={binnedutcyear:1,binnedutcyearquarter:1,binnedutcyearquartermonth:1,binnedutcyearmonth:1,binnedutcyearmonthdate:1,binnedutcyearmonthdatehours:1,binnedutcyearmonthdatehoursminutes:1,binnedutcyearmonthdatehoursminutesseconds:1,binnedutcyearweek:1,binnedutcyearweekday:1,binnedutcyearweekdayhours:1,binnedutcyearweekdayhoursminutes:1,binnedutcyearweekdayhoursminutesseconds:1,binnedutcyeardayofyear:1},vGe={...R1e,...D1e};function cs(e){return Q(e)?e.binned:TH(e)}function TH(e){return e&&e.startsWith("binned")}function II(e){return e.startsWith("utc")}function M1e(e){return e.substring(3)}var I1e={"year-month":"%b %Y ","year-month-date":"%b %d, %Y "};function Lp(e){return yw.filter(t=>RH(e,t))}function NI(e){let t=Lp(e);return t[t.length-1]}function RH(e,t){let n=e.indexOf(t);return!(n<0||n>0&&t==="seconds"&&e.charAt(n-1)==="i"||e.length>n+3&&t==="day"&&e.charAt(n+3)==="o"||n>0&&t==="year"&&e.charAt(n-1)==="f")}function DH(e,t,{end:n}={end:!1}){let r=uy(t),i=II(e)?"utc":"";function o(u){return u==="quarter"?`(${i}quarter(${r})-1)`:`${i}${u}(${r})`}let s,a={};for(let u of yw)RH(e,u)&&(a[u]=o(u),s=u);return n&&(a[s]+="+1"),_H(a)}function OI(e){if(!e)return;let t=Lp(e);return`timeUnitSpecifier(${qe(t)}, ${qe(I1e)})`}function MH(e,t,n){if(!e)return;let r=OI(e);return`${n||II(e)?"utc":"time"}Format(${t}, ${r})`}function yt(e){if(!e)return;let t;return Y(e)?TH(e)?t={unit:e.substring(6),binned:!0}:t={unit:e}:Q(e)&&(t={...e,...e.unit?{unit:e.unit}:{}}),II(t.unit)&&(t.utc=!0,t.unit=M1e(t.unit)),t}function IH(e){let{utc:t,...n}=yt(e);return n.unit?(t?"utc":"")+P(n).map(r=>He(`${r==="unit"?"":`_${r}_`}${n[r]}`)).join(""):(t?"utc":"")+"timeunit"+P(n).map(r=>He(`_${r}_${n[r]}`)).join("")}function xw(e,t=n=>n){let n=yt(e),r=NI(n.unit);if(r&&r!=="day"){let i={year:2001,month:1,date:1,hours:0,minutes:0,seconds:0,milliseconds:0},{step:o,part:s}=PI(r,n.step),a={...i,[s]:+i[s]+o};return`${t(ls(a))} - ${t(ls(i))}`}}var N1e={year:1,month:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1};function O1e(e){return ne(N1e,e)}function PI(e,t=1){if(O1e(e))return{part:e,step:t};switch(e){case"day":case"dayofyear":return{part:"date",step:t};case"quarter":return{part:"month",step:t*3};case"week":return{part:"date",step:t*7}}}function NH(e){return W(e,"param")}function bw(e){return!!e?.field&&e.equal!==void 0}function vw(e){return!!e?.field&&e.lt!==void 0}function Ew(e){return!!e?.field&&e.lte!==void 0}function ww(e){return!!e?.field&&e.gt!==void 0}function Sw(e){return!!e?.field&&e.gte!==void 0}function Aw(e){if(e?.field){if(O(e.range)&&e.range.length===2)return!0;if(re(e.range))return!0}return!1}function _w(e){return!!e?.field&&(O(e.oneOf)||O(e.in))}function P1e(e){return!!e?.field&&e.valid!==void 0}function $I(e){return _w(e)||bw(e)||Aw(e)||vw(e)||ww(e)||Ew(e)||Sw(e)}function ra(e,t){return pf(e,{timeUnit:t,wrapTime:!0})}function $1e(e,t){return e.map(n=>ra(n,t))}function Cw(e,t=!0){let{field:n}=e,r=yt(e.timeUnit),{unit:i,binned:o}=r||{},s=J(e,{expr:"datum"}),a=i?`time(${o?s:DH(i,n)})`:s;if(bw(e))return`${a}===${ra(e.equal,i)}`;if(vw(e)){let u=e.lt;return`${a}<${ra(u,i)}`}else if(ww(e)){let u=e.gt;return`${a}>${ra(u,i)}`}else if(Ew(e)){let u=e.lte;return`${a}<=${ra(u,i)}`}else if(Sw(e)){let u=e.gte;return`${a}>=${ra(u,i)}`}else{if(_w(e))return`indexof([${$1e(e.oneOf,i).join(",")}], ${a}) !== -1`;if(P1e(e))return df(a,e.valid);if(Aw(e)){let{range:u}=Tt(e),l=re(u)?{signal:`${u.signal}[0]`}:u[0],c=re(u)?{signal:`${u.signal}[1]`}:u[1];if(l!==null&&c!==null&&t)return"inrange("+a+", ["+ra(l,i)+", "+ra(c,i)+"])";let f=[];return l!==null&&f.push(`${a} >= ${ra(l,i)}`),c!==null&&f.push(`${a} <= ${ra(c,i)}`),f.length>0?f.join(" && "):"true"}}throw new Error(`Invalid field predicate: ${qe(e)}`)}function df(e,t=!0){return t?`isValid(${e}) && isFinite(+${e})`:`!isValid(${e}) || !isFinite(+${e})`}function OH(e){return $I(e)&&e.timeUnit?{...e,timeUnit:yt(e.timeUnit)}:e}var Bp={quantitative:"quantitative",ordinal:"ordinal",temporal:"temporal",nominal:"nominal",geojson:"geojson"};function PH(e){return e==="quantitative"||e==="temporal"}function kw(e){return e==="ordinal"||e==="nominal"}var vo=Bp.quantitative,cy=Bp.ordinal,ia=Bp.temporal,fy=Bp.nominal,fs=Bp.geojson,DGe=P(Bp);function $H(e){if(e)switch(e=e.toLowerCase(),e){case"q":case vo:return"quantitative";case"t":case ia:return"temporal";case"o":case cy:return"ordinal";case"n":case fy:return"nominal";case fs:return"geojson"}}var Kt={LINEAR:"linear",LOG:"log",POW:"pow",SQRT:"sqrt",SYMLOG:"symlog",IDENTITY:"identity",SEQUENTIAL:"sequential",TIME:"time",UTC:"utc",QUANTILE:"quantile",QUANTIZE:"quantize",THRESHOLD:"threshold",BIN_ORDINAL:"bin-ordinal",ORDINAL:"ordinal",POINT:"point",BAND:"band"},dy={linear:"numeric",log:"numeric",pow:"numeric",sqrt:"numeric",symlog:"numeric",identity:"numeric",sequential:"numeric",time:"time",utc:"time",ordinal:"ordinal","bin-ordinal":"bin-ordinal",point:"ordinal-position",band:"ordinal-position",quantile:"discretizing",quantize:"discretizing",threshold:"discretizing"},$Ge=P(dy);function LH(e,t){let n=dy[e],r=dy[t];return n===r||n==="ordinal-position"&&r==="time"||r==="ordinal-position"&&n==="time"}var L1e={linear:0,log:1,pow:1,sqrt:1,symlog:1,identity:1,sequential:1,time:0,utc:0,point:10,band:11,ordinal:0,"bin-ordinal":0,quantile:0,quantize:0,threshold:0};function LI(e){return L1e[e]}var BH=new Set(["linear","log","pow","sqrt","symlog"]),UH=new Set([...BH,"time","utc"]);function BI(e){return BH.has(e)}var zH=new Set(["quantile","quantize","threshold"]),B1e=new Set([...UH,...zH,"sequential","identity"]),U1e=new Set(["ordinal","bin-ordinal","point","band"]);function at(e){return U1e.has(e)}function Nn(e){return B1e.has(e)}function Eo(e){return UH.has(e)}function lu(e){return zH.has(e)}var HH={pointPadding:.5,barBandPaddingInner:.1,rectBandPaddingInner:0,tickBandPaddingInner:.25,bandWithNestedOffsetPaddingInner:.2,bandWithNestedOffsetPaddingOuter:.2,minBandSize:2,minFontSize:8,maxFontSize:40,minOpacity:.3,maxOpacity:.8,minSize:4,minStrokeWidth:1,maxStrokeWidth:4,quantileCount:4,quantizeCount:4,zero:!0,framesPerSecond:2,animationDuration:5};function qH(e){return!Y(e)&&W(e,"name")}function UI(e){return W(e,"param")}function GH(e){return W(e,"unionWith")}function jH(e){return Q(e)&&"field"in e}var WH={type:1,domain:1,domainMax:1,domainMin:1,domainMid:1,domainRaw:1,align:1,range:1,rangeMax:1,rangeMin:1,scheme:1,bins:1,reverse:1,round:1,clamp:1,nice:1,base:1,exponent:1,constant:1,interpolate:1,zero:1,padding:1,paddingInner:1,paddingOuter:1},LGe=P(WH),{type:BGe,domain:UGe,range:zGe,rangeMax:HGe,rangeMin:qGe,scheme:GGe,...z1e}=WH,VH=P(z1e);function py(e,t){switch(t){case"type":case"domain":case"reverse":case"range":return!0;case"scheme":case"interpolate":return!["point","band","identity"].includes(e);case"bins":return!["point","band","identity","ordinal"].includes(e);case"round":return Eo(e)||e==="band"||e==="point";case"padding":case"rangeMin":case"rangeMax":return Eo(e)||["point","band"].includes(e);case"paddingOuter":case"align":return["point","band"].includes(e);case"paddingInner":return e==="band";case"domainMax":case"domainMid":case"domainMin":case"domainRaw":case"clamp":return Eo(e);case"nice":return Eo(e)||e==="quantize"||e==="threshold";case"exponent":return e==="pow";case"base":return e==="log";case"constant":return e==="symlog";case"zero":return Nn(e)&&!xe(["log","time","utc","threshold","quantile"],e)}}function Fw(e,t){switch(t){case"interpolate":case"scheme":case"domainMid":return au(e)?void 0:L.cannotUseScalePropertyWithNonColor(t);case"align":case"type":case"bins":case"domain":case"domainMax":case"domainMin":case"domainRaw":case"range":case"base":case"exponent":case"constant":case"nice":case"padding":case"paddingInner":case"paddingOuter":case"rangeMax":case"rangeMin":case"reverse":case"round":case"clamp":case"zero":return}}function YH(e,t){return xe([cy,fy],t)?e===void 0||at(e):t===ia?xe([Kt.TIME,Kt.UTC,void 0],e):t===vo?BI(e)||lu(e)||e===void 0:!0}function XH(e,t,n=!1){if(!ln(e))return!1;switch(e){case Ye:case ht:case go:case na:case jn:case gr:return Eo(t)||t==="band"?!0:t==="point"?!n:!1;case Pi:return xe(["linear","band"],t);case yi:case Bi:case Vr:case $i:case Li:case os:return Eo(t)||lu(t)||xe(["band","point","ordinal"],t);case Gt:case xr:case br:return t!=="band";case Ui:case It:return t==="ordinal"||lu(t)}}function KH(e){return Q(e)&&"value"in e}var Kr={arc:"arc",area:"area",bar:"bar",image:"image",line:"line",point:"point",rect:"rect",rule:"rule",text:"text",tick:"tick",trail:"trail",circle:"circle",square:"square",geoshape:"geoshape"},HI=Kr.arc,mf=Kr.area,hf=Kr.bar,QH=Kr.image,gf=Kr.line,Up=Kr.point,JH=Kr.rect,zp=Kr.rule,Tw=Kr.text,my=Kr.tick,ZH=Kr.trail,hy=Kr.circle,gy=Kr.square,Rw=Kr.geoshape;function vr(e){return["line","area","trail"].includes(e)}function cu(e){return["rect","bar","image","arc","tick"].includes(e)}var eq=new Set(P(Kr));function Kn(e){return W(e,"type")}var H1e=["stroke","strokeWidth","strokeDash","strokeDashOffset","strokeOpacity","strokeJoin","strokeMiterLimit"],q1e=["fill","fillOpacity"],tq=[...H1e,...q1e],G1e={color:1,filled:1,invalid:1,order:1,radius2:1,theta2:1,timeUnitBandSize:1,timeUnitBandPosition:1},qI=P(G1e),zI=["binSpacing","continuousBandSize","discreteBandSize","minBandSize"],nq={area:["line","point"],bar:zI,rect:zI,line:["point"],tick:["bandSize","thickness",...zI]},rq={color:"#4c78a8",invalid:"break-paths-show-path-domains",timeUnitBandSize:1},j1e={mark:1,arc:1,area:1,bar:1,circle:1,image:1,line:1,point:1,rect:1,rule:1,square:1,text:1,tick:1,trail:1,geoshape:1},Dw=P(j1e);function oa(e){return W(e,"band")}var iq={horizontal:["cornerRadiusTopRight","cornerRadiusBottomRight"],vertical:["cornerRadiusTopLeft","cornerRadiusTopRight"]},W1e=5,Mw={binSpacing:0,continuousBandSize:W1e,minBandSize:.25,timeUnitBandPosition:.5},oq={...Mw,binSpacing:1},sq={...Mw,thickness:1};function aq(e){return Kn(e)?e.type:e}function Iw(e,{isPath:t}){return e===void 0||e==="break-paths-show-path-domains"?t?"break-paths-show-domains":"filter":e===null?"show":e}function Hp({markDef:e,config:t,scaleChannel:n,scaleType:r,isCountAggregate:i}){if(!r||!Nn(r)||i)return"always-valid";let o=Iw(Ne("invalid",e,t),{isPath:vr(e.type)});return t.scale?.invalid?.[n]!==void 0?"show":o}function uq(e){return e==="break-paths-filter-domains"||e==="break-paths-show-domains"}function Nw({scaleName:e,scale:t,mode:n}){let r=`domain('${e}')`;if(!t||!e)return;let i=`${r}[0]`,o=`peek(${r})`,s=t.domainHasZero();return s==="definitely"?{scale:e,value:0}:s==="maybe"?{signal:`scale('${e}', inrange(0, ${r}) ? 0 : ${n==="zeroOrMin"?i:o})`}:{signal:`scale('${e}', ${n==="zeroOrMin"?i:o})`}}function Ow({scaleChannel:e,channelDef:t,scale:n,scaleName:r,markDef:i,config:o}){let s=n?.get("type"),a=xn(t),u=Dl(a?.aggregate),l=Hp({scaleChannel:e,markDef:i,config:o,scaleType:s,isCountAggregate:u});if(a&&l==="show"){let c=o.scale.invalid?.[e]??"zero-or-min";return{test:df(J(a,{expr:"datum"}),!1),...Y1e(c,n,r)}}}function Y1e(e,t,n){if(KH(e)){let{value:r}=e;return re(r)?{signal:r.signal}:{value:r}}return Nw({scale:t,scaleName:n,mode:"zeroOrMin"})}function Gp(e){let{channel:t,channelDef:n,markDef:r,scale:i,scaleName:o,config:s}=e,a=zi(t),u=yy(e),l=Ow({scaleChannel:a,channelDef:n,scale:i,scaleName:o,markDef:r,config:s});return l!==void 0?[l,u]:u}function lq(e){let{datum:t}=e;return bo(t)?ls(t):`${qe(t)}`}function sa(e,t,n,r){let i={};if(t&&(i.scale=t),Er(e)){let{datum:o}=e;bo(o)?i.signal=ls(o):re(o)?i.signal=o.signal:Ml(o)?i.signal=o.expr:i.value=o}else i.field=J(e,n);if(r){let{offset:o,band:s}=r;o&&(i.offset=o),s&&(i.band=s)}return i}function qp({scaleName:e,fieldOrDatumDef:t,fieldOrDatumDef2:n,offset:r,startSuffix:i,endSuffix:o="end",bandPosition:s=.5}){let a=!re(s)&&0<s&&s<1?"datum":void 0,u=J(t,{expr:a,suffix:i}),l=n!==void 0?J(n,{expr:a}):J(t,{suffix:o,expr:a}),c={};if(s===0||s===1){c.scale=e;let f=s===0?u:l;c.field=f}else{let f=re(s)?`(1-${s.signal}) * ${u} + ${s.signal} * ${l}`:`${1-s} * ${u} + ${s} * ${l}`;c.signal=`scale("${e}", ${f})`}return r&&(c.offset=r),c}function cq({scaleName:e,fieldDef:t}){let n=J(t,{expr:"datum"}),r=J(t,{expr:"datum",suffix:"end"});return`abs(scale("${e}", ${r}) - scale("${e}", ${n}))`}function yy({channel:e,channelDef:t,channel2Def:n,markDef:r,config:i,scaleName:o,scale:s,stack:a,offset:u,defaultRef:l,bandPosition:c}){if(t){if(Ee(t)){let f=s?.get("type");if(Ot(t)){c??(c=bi({fieldDef:t,fieldDef2:n,markDef:r,config:i}));let{bin:d,timeUnit:p,type:m}=t;if(Pe(d)||c&&p&&m===ia)return a?.impute?sa(t,o,{binSuffix:"mid"},{offset:u}):c&&!at(f)?qp({scaleName:o,fieldOrDatumDef:t,bandPosition:c,offset:u}):sa(t,o,aa(t,e)?{binSuffix:"range"}:{},{offset:u});if(gt(d)){if(V(n))return qp({scaleName:o,fieldOrDatumDef:t,fieldOrDatumDef2:n,bandPosition:c,offset:u});{let h=e===Ye?gi:Oi;z(L.channelRequiredForBinned(h))}}}return sa(t,o,at(f)?{binSuffix:"range"}:{},{offset:u,band:f==="band"?c??t.bandPosition??.5:void 0})}else if(cn(t)){let f=t.value,d=u?{offset:u}:{};return{...yf(e,f),...d}}}return we(l)&&(l=l()),l&&{...l,...u?{offset:u}:{}}}function yf(e,t){return xe(["x","x2"],e)&&t==="width"?{field:{group:"width"}}:xe(["y","y2"],e)&&t==="height"?{field:{group:"height"}}:$e(t)}function ua(e){return e&&e!=="number"&&e!=="time"}function dq(e,t,n){return`${e}(${t}${n?`, ${qe(n)}`:""})`}var X1e=" \u2013 ";function jp({fieldOrDatumDef:e,format:t,formatType:n,expr:r,normalizeStack:i,config:o}){if(ua(n))return qi({fieldOrDatumDef:e,format:t,formatType:n,expr:r,config:o});let s=pq(e,r,i),a=fu(e);if(t===void 0&&n===void 0&&o.customFormatTypes){if(a==="quantitative"){if(i&&o.normalizedNumberFormatType)return qi({fieldOrDatumDef:e,format:o.normalizedNumberFormat,formatType:o.normalizedNumberFormatType,expr:r,config:o});if(o.numberFormatType)return qi({fieldOrDatumDef:e,format:o.numberFormat,formatType:o.numberFormatType,expr:r,config:o})}if(a==="temporal"&&o.timeFormatType&&V(e)&&e.timeUnit===void 0)return qi({fieldOrDatumDef:e,format:o.timeFormat,formatType:o.timeFormatType,expr:r,config:o})}if(pu(e)){let u=Q1e({field:s,timeUnit:V(e)?yt(e.timeUnit)?.unit:void 0,format:t,formatType:o.timeFormatType,rawTimeFormat:o.timeFormat,isUTCScale:wo(e)&&e.scale?.type===Kt.UTC});return u?{signal:u}:void 0}if(t=GI({type:a,specifiedFormat:t,config:o,normalizeStack:i}),V(e)&&Pe(e.bin)){let u=J(e,{expr:r,binSuffix:"end"});return{signal:xf(s,u,t,n,o)}}else return t||fu(e)==="quantitative"?{signal:`${mq(s,t)}`}:{signal:`isValid(${s}) ? ${s} : ""+${s}`}}function pq(e,t,n){return V(e)?n?`${J(e,{expr:t,suffix:"end"})}-${J(e,{expr:t,suffix:"start"})}`:J(e,{expr:t}):lq(e)}function qi({fieldOrDatumDef:e,format:t,formatType:n,expr:r,normalizeStack:i,config:o,field:s}){if(s??(s=pq(e,r,i)),s!=="datum.value"&&V(e)&&Pe(e.bin)){let a=J(e,{expr:r,binSuffix:"end"});return{signal:xf(s,a,t,n,o)}}return{signal:dq(n,s,t)}}function $w(e,t,n,r,i,o){if(!(Y(r)&&ua(r))&&!(n===void 0&&r===void 0&&i.customFormatTypes&&fu(e)==="quantitative"&&(i.normalizedNumberFormatType&&du(e)&&e.stack==="normalize"||i.numberFormatType))){if(du(e)&&e.stack==="normalize"&&i.normalizedNumberFormat)return GI({type:"quantitative",config:i,normalizeStack:!0});if(pu(e)){let s=V(e)?yt(e.timeUnit)?.unit:void 0;return s===void 0&&i.customFormatTypes&&i.timeFormatType?void 0:K1e({specifiedFormat:n,timeUnit:s,config:i,omitTimeFormatConfig:o})}return GI({type:t,specifiedFormat:n,config:i})}}function Lw(e,t,n){if(e&&(re(e)||e==="number"||e==="time"))return e;if(pu(t)&&n!=="time"&&n!=="utc")return V(t)&&yt(t?.timeUnit)?.utc?"utc":"time"}function GI({type:e,specifiedFormat:t,config:n,normalizeStack:r}){if(Y(t))return t;if(e===vo)return r?n.normalizedNumberFormat:n.numberFormat}function K1e({specifiedFormat:e,timeUnit:t,config:n,omitTimeFormatConfig:r}){return e||(t?{signal:OI(t)}:r?void 0:n.timeFormat)}function mq(e,t){return`format(${e}, "${t||""}")`}function fq(e,t,n,r){return ua(n)?dq(n,e,t):mq(e,(Y(t)?t:void 0)??r.numberFormat)}function xf(e,t,n,r,i){if(n===void 0&&r===void 0&&i.customFormatTypes&&i.numberFormatType)return xf(e,t,i.numberFormat,i.numberFormatType,i);let o=fq(e,n,r,i),s=fq(t,n,r,i);return`${df(e,!1)} ? "null" : ${o} + "${X1e}" + ${s}`}function Q1e({field:e,timeUnit:t,format:n,formatType:r,rawTimeFormat:i,isUTCScale:o}){return!t||n?!t&&r?`${r}(${e}, '${n}')`:(n=Y(n)?n:i,`${o?"utc":"time"}Format(${e}, '${n}')`):MH(t,e,o)}var Il="min",J1e={x:1,y:1,color:1,fill:1,stroke:1,strokeWidth:1,size:1,shape:1,fillOpacity:1,strokeOpacity:1,opacity:1,text:1};function jI(e){return ne(J1e,e)}function hq(e){return W(e,"encoding")}function wr(e){return e&&(e.op==="count"||W(e,"field"))}function Bw(e){return e&&O(e)}function la(e){return W(e,"row")||W(e,"column")}function Uw(e){return W(e,"header")}function mu(e){return W(e,"facet")}function gq(e){return W(e,"param")}function yq(e){return!Y(e)&&W(e,"repeat")}function WI(e){let{field:t,timeUnit:n,bin:r,aggregate:i}=e;return{...n?{timeUnit:n}:{},...r?{bin:r}:{},...i?{aggregate:i}:{},field:t}}function Hw(e){return W(e,"sort")}function bi({fieldDef:e,fieldDef2:t,markDef:n,config:r}){if(Ee(e)&&e.bandPosition!==void 0)return e.bandPosition;if(V(e)){let{timeUnit:i,bin:o}=e;if(i&&!t)return Xr("timeUnitBandPosition",n,r);if(Pe(o))return .5}}function VI({channel:e,fieldDef:t,fieldDef2:n,markDef:r,config:i,scaleType:o,useVlSizeChannel:s}){let a=Nt(e),u=Ne(s?"size":a,r,i,{vgChannel:a});if(u!==void 0)return u;if(V(t)){let{timeUnit:l,bin:c}=t;if(l&&!n)return{band:Xr("timeUnitBandSize",r,i)};if(Pe(c)&&!at(o))return{band:1}}if(cu(r.type))return o?at(o)?i[r.type]?.discreteBandSize||{band:1}:i[r.type]?.continuousBandSize:i[r.type]?.discreteBandSize}function qw(e,t,n,r){return Pe(e.bin)||e.timeUnit&&Ot(e)&&e.type==="temporal"?bi({fieldDef:e,fieldDef2:t,markDef:n,config:r})!==void 0:!1}function Gw(e){return W(e,"sort")&&!W(e,"field")}function ca(e){return W(e,"condition")}function Vp(e){let t=e?.condition;return!!t&&!O(t)&&V(t)}function Nl(e){let t=e?.condition;return!!t&&!O(t)&&Ee(t)}function xq(e){let t=e?.condition;return!!t&&(O(t)||cn(t))}function V(e){return W(e,"field")||e?.aggregate==="count"}function fu(e){return e?.type}function Er(e){return W(e,"datum")}function ds(e){return Ot(e)&&!xy(e)||by(e)}function YI(e){return Ot(e)&&e.type==="quantitative"&&!e.bin||by(e)}function by(e){return Er(e)&&Te(e.datum)}function Ee(e){return V(e)||Er(e)}function Ot(e){return e&&(W(e,"field")||e.aggregate==="count")&&W(e,"type")}function cn(e){return W(e,"value")}function wo(e){return W(e,"scale")||W(e,"sort")}function du(e){return W(e,"axis")||W(e,"stack")||W(e,"impute")}function bq(e){return W(e,"legend")}function vq(e){return W(e,"format")||W(e,"formatType")}function Eq(e){return qt(e,["legend","axis","header","scale"])}function Z1e(e){return W(e,"op")}function J(e,t={}){let n=e.field,r=t.prefix,i=t.suffix,o="";if(tbe(e))n=mI("count");else{let s;if(!t.nofn)if(Z1e(e))s=e.op;else{let{bin:a,aggregate:u,timeUnit:l}=e;Pe(a)?(s=cw(a),i=(t.binSuffix??"")+(t.suffix??"")):u?xo(u)?(o=`["${n}"]`,n=`argmax_${u.argmax}`):Hi(u)?(o=`["${n}"]`,n=`argmin_${u.argmin}`):s=String(u):l&&!cs(l)&&(s=IH(l),i=(!["range","mid"].includes(t.binSuffix)&&t.binSuffix||"")+(t.suffix??""))}s&&(n=n?`${s}_${n}`:s)}return i&&(n=`${n}_${i}`),r&&(n=`${r}_${n}`),t.forAs?ou(n):t.expr?dI(n,t.expr)+o:un(n)+o}function xy(e){switch(e.type){case"nominal":case"ordinal":case"geojson":return!0;case"quantitative":return V(e)&&!!e.bin;case"temporal":return!1}throw new Error(L.invalidFieldType(e.type))}function ebe(e){return wo(e)&&lu(e.scale?.type)}function tbe(e){return e.aggregate==="count"}function nbe(e,t){let{field:n,bin:r,timeUnit:i,aggregate:o}=e;if(o==="count")return t.countTitle;if(Pe(r))return`${n} (binned)`;if(i&&!cs(i)){let s=yt(i)?.unit;if(s)return`${n} (${Lp(s).join("-")})`}else if(o)return xo(o)?`${n} for max ${o.argmax}`:Hi(o)?`${n} for min ${o.argmin}`:`${kl(o)} of ${n}`;return n}function rbe(e){let{aggregate:t,bin:n,timeUnit:r,field:i}=e;if(xo(t))return`${i} for argmax(${t.argmax})`;if(Hi(t))return`${i} for argmin(${t.argmin})`;let o=r&&!cs(r)?yt(r):void 0,s=t||o?.unit||o?.maxbins&&"timeunit"||Pe(n)&&"bin";return s?`${s.toUpperCase()}(${i})`:i}var wq=(e,t)=>{switch(t.fieldTitle){case"plain":return e.field;case"functional":return rbe(e);default:return nbe(e,t)}},Sq=wq;function XI(e){Sq=e}function Aq(){XI(wq)}function fa(e,t,{allowDisabling:n,includeDefault:r=!0}){let i=jw(e)?.title;if(!V(e))return i??e.title;let o=e,s=r?vy(o,t):void 0;return n?Le(i,o.title,s):i??o.title??s}function jw(e){if(du(e)&&e.axis)return e.axis;if(bq(e)&&e.legend)return e.legend;if(Uw(e)&&e.header)return e.header}function vy(e,t){return Sq(e,t)}function Yp(e){if(vq(e)){let{format:t,formatType:n}=e;return{format:t,formatType:n}}else{let t=jw(e)??{},{format:n,formatType:r}=t;return{format:n,formatType:r}}}function ibe(e,t){switch(t){case"latitude":case"longitude":return"quantitative";case"row":case"column":case"facet":case"shape":case"strokeDash":return"nominal";case"order":return"ordinal"}if(Hw(e)&&O(e.sort))return"ordinal";let{aggregate:n,bin:r,timeUnit:i}=e;if(i)return"temporal";if(r||n&&!xo(n)&&!Hi(n))return"quantitative";if(wo(e)&&e.scale?.type)switch(dy[e.scale.type]){case"numeric":case"discretizing":return"quantitative";case"time":return"temporal"}return"nominal"}function xn(e){if(V(e))return e;if(Vp(e))return e.condition}function rt(e){if(Ee(e))return e;if(Nl(e))return e.condition}function KI(e,t,n,r={}){if(Y(e)||Te(e)||ni(e)){let i=Y(e)?"string":Te(e)?"number":"boolean";return z(L.primitiveChannelDef(t,i,e)),{value:e}}return Ee(e)?zw(e,t,n,r):Nl(e)?{...e,condition:zw(e.condition,t,n,r)}:e}function zw(e,t,n,r){if(vq(e)){let{format:i,formatType:o,...s}=e;if(ua(o)&&!n.customFormatTypes)return z(L.customFormatTypeNotAllowed(t)),zw(s,t,n,r)}else{let i=du(e)?"axis":bq(e)?"legend":Uw(e)?"header":null;if(i&&e[i]){let{format:o,formatType:s,...a}=e[i];if(ua(s)&&!n.customFormatTypes)return z(L.customFormatTypeNotAllowed(t)),zw({...e,[i]:a},t,n,r)}}return V(e)?Ey(e,t,r):obe(e)}function obe(e){let t=e.type;if(t)return e;let{datum:n}=e;return t=Te(n)?"quantitative":Y(n)?"nominal":bo(n)?"temporal":void 0,{...e,type:t}}function Ey(e,t,{compositeMark:n=!1}={}){let{aggregate:r,timeUnit:i,bin:o,field:s}=e,a={...e};if(!n&&r&&!Np(r)&&!xo(r)&&!Hi(r)&&(z(L.invalidAggregate(r)),delete a.aggregate),i&&(a.timeUnit=yt(i)),s&&(a.field=`${s}`),Pe(o)&&(a.bin=Pp(o,t)),gt(o)&&!Xe(t)&&z(L.channelShouldNotBeUsedForBinned(t)),Ot(a)){let{type:u}=a,l=$H(u);u!==l&&(a.type=l),u!=="quantitative"&&Dl(r)&&(z(L.invalidFieldTypeForCountAggregate(u,r)),a.type="quantitative")}else if(!sw(t)){let u=ibe(a,t);a.type=u}if(Ot(a)){let{compatible:u,warning:l}=sbe(a,t)||{};u===!1&&z(l)}if(Hw(a)&&Y(a.sort)){let{sort:u}=a;if(jI(u))return{...a,sort:{encoding:u}};let l=u.substring(1);if(u.charAt(0)==="-"&&jI(l))return{...a,sort:{encoding:l,order:"descending"}}}if(Uw(a)){let{header:u}=a;if(u){let{orient:l,...c}=u;if(l)return{...a,header:{...c,labelOrient:u.labelOrient||l,titleOrient:u.titleOrient||l}}}}return a}function Pp(e,t){return ni(e)?{maxbins:SI(t)}:e==="binned"?{binned:!0}:!e.maxbins&&!e.step?{...e,maxbins:SI(t)}:e}var Wp={compatible:!0};function sbe(e,t){let n=e.type;if(n==="geojson"&&t!=="shape")return{compatible:!1,warning:`Channel ${t} should not be used with a geojson data.`};switch(t){case mi:case hi:case kp:return xy(e)?Wp:{compatible:!1,warning:L.channelShouldBeDiscrete(t)};case Ye:case ht:case go:case na:case Gt:case xr:case br:case uf:case lf:case Fp:case su:case Tp:case Rp:case os:case jn:case gr:case Dp:return Wp;case Vn:case Yn:case Wn:case yr:return n!==vo?{compatible:!1,warning:`Channel ${t} should be used with a quantitative field only, not ${e.type} field.`}:Wp;case Vr:case $i:case Li:case Bi:case yi:case is:case rs:case gi:case Oi:case Pi:return n==="nominal"&&!e.sort?{compatible:!1,warning:`Channel ${t} should not be used with an unsorted discrete field.`}:Wp;case It:case Ui:return!xy(e)&&!ebe(e)?{compatible:!1,warning:L.channelShouldBeDiscreteOrDiscretizing(t)}:Wp;case Tl:return e.type==="nominal"&&!("sort"in e)?{compatible:!1,warning:"Channel order is inappropriate for nominal field, which has no inherent order."}:Wp}}function pu(e){let{formatType:t}=Yp(e);return t==="time"||!t&&abe(e)}function abe(e){return e&&(e.type==="temporal"||V(e)&&!!e.timeUnit)}function pf(e,{timeUnit:t,type:n,wrapTime:r,undefinedIfExprNotRequired:i}){let o=t&&yt(t)?.unit,s=o||n==="temporal",a;return Ml(e)?a=e.expr:re(e)?a=e.signal:bo(e)?(s=!0,a=ls(e)):(Y(e)||Te(e))&&s&&(a=`datetime(${qe(e)})`,FH(o)&&(Te(e)&&e<1e4||Y(e)&&isNaN(Date.parse(e)))&&(a=ls({[o]:e}))),a?r&&s?`time(${a})`:a:i?void 0:qe(e)}function Ww(e,t){let{type:n}=e;return t.map(r=>{let i=V(e)&&!cs(e.timeUnit)?e.timeUnit:void 0,o=pf(r,{timeUnit:i,type:n,undefinedIfExprNotRequired:!0});return o!==void 0?{signal:o}:r})}function aa(e,t){return Pe(e.bin)?ln(t)&&["ordinal","nominal"].includes(e.type):(console.warn("Only call this method for binned field defs."),!1)}var QI={labelAlign:{part:"labels",vgProp:"align"},labelBaseline:{part:"labels",vgProp:"baseline"},labelColor:{part:"labels",vgProp:"fill"},labelFont:{part:"labels",vgProp:"font"},labelFontSize:{part:"labels",vgProp:"fontSize"},labelFontStyle:{part:"labels",vgProp:"fontStyle"},labelFontWeight:{part:"labels",vgProp:"fontWeight"},labelOpacity:{part:"labels",vgProp:"opacity"},labelOffset:null,labelPadding:null,gridColor:{part:"grid",vgProp:"stroke"},gridDash:{part:"grid",vgProp:"strokeDash"},gridDashOffset:{part:"grid",vgProp:"strokeDashOffset"},gridOpacity:{part:"grid",vgProp:"opacity"},gridWidth:{part:"grid",vgProp:"strokeWidth"},tickColor:{part:"ticks",vgProp:"stroke"},tickDash:{part:"ticks",vgProp:"strokeDash"},tickDashOffset:{part:"ticks",vgProp:"strokeDashOffset"},tickOpacity:{part:"ticks",vgProp:"opacity"},tickSize:null,tickWidth:{part:"ticks",vgProp:"strokeWidth"}};function hu(e){return e?.condition}var Vw=["domain","grid","labels","ticks","title"],_q={grid:"grid",gridCap:"grid",gridColor:"grid",gridDash:"grid",gridDashOffset:"grid",gridOpacity:"grid",gridScale:"grid",gridWidth:"grid",orient:"main",bandPosition:"both",aria:"main",description:"main",domain:"main",domainCap:"main",domainColor:"main",domainDash:"main",domainDashOffset:"main",domainOpacity:"main",domainWidth:"main",format:"main",formatType:"main",labelAlign:"main",labelAngle:"main",labelBaseline:"main",labelBound:"main",labelColor:"main",labelFlush:"main",labelFlushOffset:"main",labelFont:"main",labelFontSize:"main",labelFontStyle:"main",labelFontWeight:"main",labelLimit:"main",labelLineHeight:"main",labelOffset:"main",labelOpacity:"main",labelOverlap:"main",labelPadding:"main",labels:"main",labelSeparation:"main",maxExtent:"main",minExtent:"main",offset:"both",position:"main",tickCap:"main",tickColor:"main",tickDash:"main",tickDashOffset:"main",tickMinStep:"both",tickOffset:"both",tickOpacity:"main",tickRound:"both",ticks:"main",tickSize:"main",tickWidth:"both",title:"main",titleAlign:"main",titleAnchor:"main",titleAngle:"main",titleBaseline:"main",titleColor:"main",titleFont:"main",titleFontSize:"main",titleFontStyle:"main",titleFontWeight:"main",titleLimit:"main",titleLineHeight:"main",titleOpacity:"main",titlePadding:"main",titleX:"main",titleY:"main",encode:"both",scale:"both",tickBand:"both",tickCount:"both",tickExtra:"both",translate:"both",values:"both",zindex:"both"},JI={orient:1,aria:1,bandPosition:1,description:1,domain:1,domainCap:1,domainColor:1,domainDash:1,domainDashOffset:1,domainOpacity:1,domainWidth:1,format:1,formatType:1,grid:1,gridCap:1,gridColor:1,gridDash:1,gridDashOffset:1,gridOpacity:1,gridWidth:1,labelAlign:1,labelAngle:1,labelBaseline:1,labelBound:1,labelColor:1,labelFlush:1,labelFlushOffset:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelLineHeight:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labels:1,labelSeparation:1,maxExtent:1,minExtent:1,offset:1,position:1,tickBand:1,tickCap:1,tickColor:1,tickCount:1,tickDash:1,tickDashOffset:1,tickExtra:1,tickMinStep:1,tickOffset:1,tickOpacity:1,tickRound:1,ticks:1,tickSize:1,tickWidth:1,title:1,titleAlign:1,titleAnchor:1,titleAngle:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titlePadding:1,titleX:1,titleY:1,translate:1,values:1,zindex:1},Cq={...JI,style:1,labelExpr:1,encoding:1};function ZI(e){return ne(Cq,e)}var rWe=P(Cq),lbe={axis:1,axisBand:1,axisBottom:1,axisDiscrete:1,axisLeft:1,axisPoint:1,axisQuantitative:1,axisRight:1,axisTemporal:1,axisTop:1,axisX:1,axisXBand:1,axisXDiscrete:1,axisXPoint:1,axisXQuantitative:1,axisXTemporal:1,axisY:1,axisYBand:1,axisYDiscrete:1,axisYPoint:1,axisYQuantitative:1,axisYTemporal:1},eN=P(lbe);function bn(e){return W(e,"mark")}var da=class{constructor(t,n){this.name=t,this.run=n}hasMatchingType(t){return bn(t)?aq(t.mark)===this.name:!1}};function pa(e,t){let n=e&&e[t];return n?O(n)?Cl(n,r=>!!r.field):V(n)||Vp(n):!1}function tN(e,t){let n=e&&e[t];return n?O(n)?Cl(n,r=>!!r.field):V(n)||Er(n)||Nl(n):!1}function Yw(e,t){if(Xe(t)){let n=e[t];if((V(n)||Er(n))&&(kw(n.type)||V(n)&&n.timeUnit)){let r=Mp(t);return tN(e,r)}}return!1}function Xw(e){return Cl(j7,t=>{if(pa(e,t)){let n=e[t];if(O(n))return Cl(n,r=>!!r.aggregate);{let r=xn(n);return r&&!!r.aggregate}}return!1})}function Kw(e,t){let n=[],r=[],i=[],o=[],s={};return wy(e,(a,u)=>{if(V(a)){let{field:l,aggregate:c,bin:f,timeUnit:d,...p}=a;if(c||d||f){let h=jw(a)?.title,g=J(a,{forAs:!0}),y={...h?[]:{title:fa(a,t,{allowDisabling:!0})},...p,field:g};if(c){let x;if(xo(c)?(x="argmax",g=J({op:"argmax",field:c.argmax},{forAs:!0}),y.field=`${g}.${l}`):Hi(c)?(x="argmin",g=J({op:"argmin",field:c.argmin},{forAs:!0}),y.field=`${g}.${l}`):c!=="boxplot"&&c!=="errorbar"&&c!=="errorband"&&(x=c),x){let b={op:x,as:g};l&&(b.field=l),o.push(b)}}else if(n.push(g),Ot(a)&&Pe(f)){if(r.push({bin:f,field:l,as:g}),n.push(J(a,{binSuffix:"end"})),aa(a,u)&&n.push(J(a,{binSuffix:"range"})),Xe(u)){let x={field:`${g}_end`};s[`${u}2`]=x}y.bin="binned",sw(u)||(y.type=vo)}else if(d&&!cs(d)){i.push({timeUnit:d,field:l,as:g});let x=Ot(a)&&a.type!==ia&&"time";x&&(u===uf||u===su?y.formatType=x:rH(u)?y.legend={formatType:x,...y.legend}:Xe(u)&&(y.axis={formatType:x,...y.axis}))}s[u]=y}else n.push(l),s[u]=e[u]}else s[u]=e[u]}),{bins:r,timeUnits:i,aggregate:o,groupby:n,encoding:s}}function cbe(e,t,n){let r=sH(t,n);if(r){if(r==="binned"){let i=e[t===gi?Ye:ht];return!!(V(i)&&V(e[t])&>(i.bin))}}else return!1;return!0}function kq(e,t,n,r){let i={};for(let o of P(e))ow(o)||z(L.invalidEncodingChannel(o));for(let o of Q7){if(!e[o])continue;let s=e[o];if(uu(o)){let a=K7(o),u=i[a];if(V(u)&&PH(u.type)&&V(s)&&!u.timeUnit){z(L.offsetNestedInsideContinuousPositionScaleDropped(a));continue}}if(o==="angle"&&t==="arc"&&!e.theta&&(z(L.REPLACE_ANGLE_WITH_THETA),o=jn),!cbe(e,o,t)){z(L.incompatibleChannel(o,t));continue}if(o===yi&&t==="line"&&xn(e[o])?.aggregate){z(L.LINE_WITH_VARYING_SIZE);continue}if(o===Gt&&(n?"fill"in e:"stroke"in e)){z(L.droppingColor("encoding",{fill:"fill"in e,stroke:"stroke"in e}));continue}if(o===lf||o===Tl&&!O(s)&&!cn(s)||o===su&&O(s)){if(s){if(o===Tl){let a=e[o];if(Gw(a)){i[o]=a;continue}}i[o]=Z(s).reduce((a,u)=>(V(u)?a.push(Ey(u,o)):z(L.emptyFieldDef(u,o)),a),[])}}else{if(o===su&&s===null)i[o]=null;else if(!V(s)&&!Er(s)&&!cn(s)&&!ca(s)&&!re(s)){z(L.emptyFieldDef(s,o));continue}i[o]=KI(s,o,r)}}return i}function Ol(e,t){let n={};for(let r of P(e)){let i=KI(e[r],r,t,{compositeMark:!0});n[r]=i}return n}function Fq(e){let t=[];for(let n of P(e))if(pa(e,n)){let r=e[n],i=Z(r);for(let o of i)V(o)?t.push(o):Vp(o)&&t.push(o.condition)}return t}function wy(e,t,n){if(e)for(let r of P(e)){let i=e[r];if(O(i))for(let o of i)t.call(n,o,r);else t.call(n,i,r)}}function Tq(e,t,n,r){return e?P(e).reduce((i,o)=>{let s=e[o];return O(s)?s.reduce((a,u)=>t.call(r,a,u,o),i):t.call(r,i,s,o)},n):n}function Qw(e,t){return P(t).reduce((n,r)=>{switch(r){case Ye:case ht:case Tp:case Dp:case Rp:case gi:case Oi:case go:case na:case jn:case is:case gr:case rs:case Pi:case Wn:case Vn:case yr:case Yn:case uf:case It:case os:case su:return n;case Tl:if(e==="line"||e==="trail")return n;case lf:case Fp:{let i=t[r];if(O(i)||V(i))for(let o of Z(i))o.aggregate||n.push(J(o,{}));return n}case yi:if(e==="trail")return n;case Gt:case xr:case br:case Vr:case $i:case Li:case Ui:case Bi:{let i=xn(t[r]);return i&&!i.aggregate&&n.push(J(i,{})),n}}},[])}function Rq(e){let{tooltip:t,...n}=e;if(!t)return{filteredEncoding:n};let r,i;if(O(t)){for(let o of t)o.aggregate?(r||(r=[]),r.push(o)):(i||(i=[]),i.push(o));r&&(n.tooltip=r)}else t.aggregate?n.tooltip=t:i=t;return O(i)&&i.length===1&&(i=i[0]),{customTooltipWithoutAggregatedField:i,filteredEncoding:n}}function Sy(e,t,n,r=!0){if("tooltip"in n)return{tooltip:n.tooltip};let i=e.map(({fieldPrefix:s,titlePrefix:a})=>{let u=r?` of ${Zw(t)}`:"";return{field:s+t.field,type:t.type,title:re(a)?{signal:`${a}"${escape(u)}"`}:a+u}}),o=Fq(n).map(Eq);return{tooltip:[...i,...hr(o,fe)]}}function Zw(e){let{title:t,field:n}=e;return Le(t,n)}function Xp(e,t,n,r,i){let{scale:o,axis:s}=n;return({partName:a,mark:u,positionPrefix:l,endPositionPrefix:c=void 0,extraEncoding:f={}})=>{let d=Zw(n);return nN(e,a,i,{mark:u,encoding:{[t]:{field:`${l}_${n.field}`,type:n.type,...d!==void 0?{title:d}:{},...o!==void 0?{scale:o}:{},...s!==void 0?{axis:s}:{}},...Y(c)?{[`${t}2`]:{field:`${c}_${n.field}`}}:{},...r,...f}})}}function nN(e,t,n,r){let{clip:i,color:o,opacity:s}=e,a=e.type;return e[t]||e[t]===void 0&&n[t]?[{...r,mark:{...n[t],...i?{clip:i}:{},...o?{color:o}:{},...s?{opacity:s}:{},...Kn(r.mark)?r.mark:{type:r.mark},style:`${a}-${String(t)}`,...ni(e[t])?{}:e[t]}}]:[]}function eS(e,t,n){let{encoding:r}=e,i=t==="vertical"?"y":"x",o=r[i],s=r[`${i}2`],a=r[`${i}Error`],u=r[`${i}Error2`];return{continuousAxisChannelDef:Jw(o,n),continuousAxisChannelDef2:Jw(s,n),continuousAxisChannelDefError:Jw(a,n),continuousAxisChannelDefError2:Jw(u,n),continuousAxis:i}}function Jw(e,t){if(e?.aggregate){let{aggregate:n,...r}=e;return n!==t&&z(L.errorBarContinuousAxisHasCustomizedAggregate(n,t)),r}else return e}function tS(e,t){let{mark:n,encoding:r}=e,{x:i,y:o}=r;if(Kn(n)&&n.orient)return n.orient;if(ds(i)){if(ds(o)){let s=V(i)&&i.aggregate,a=V(o)&&o.aggregate;if(!s&&a===t)return"vertical";if(!a&&s===t)return"horizontal";if(s===t&&a===t)throw new Error("Both x and y cannot have aggregate");return pu(o)&&!pu(i)?"horizontal":"vertical"}return"horizontal"}else{if(ds(o))return"vertical";throw new Error(`Need a valid continuous axis for ${t}s`)}}var Ay="boxplot",Dq=["box","median","outliers","rule","ticks"],Mq=new da(Ay,rN);function Iq(e){return Te(e)?"tukey":e}function rN(e,{config:t}){e={...e,encoding:Ol(e.encoding,t)};let{mark:n,encoding:r,params:i,projection:o,...s}=e,a=Kn(n)?n:{type:n};i&&z(L.selectionNotSupported("boxplot"));let u=a.extent??t.boxplot.extent,l=Ne("size",a,t),c=a.invalid,f=Iq(u),{bins:d,timeUnits:p,transform:m,continuousAxisChannelDef:h,continuousAxis:g,groupby:y,aggregate:x,encodingWithoutContinuousAxis:b,ticksOrient:v,boxOrient:E,customTooltipWithoutAggregatedField:S}=dbe(e,u,t),w=ou(h.field),{color:A,size:C,..._}=b,F=Dx=>Xp(a,g,h,Dx,t.boxplot),I=F(_),M=F(b),R=(Q(t.boxplot.box)?t.boxplot.box.color:t.mark.color)||"#4c78a8",k=F({..._,...C?{size:C}:{},color:{condition:{test:`${Ze(`lower_box_${h.field}`)} >= ${Ze(`upper_box_${h.field}`)}`,...A||{value:R}}}}),D=Sy([{fieldPrefix:f==="min-max"?"upper_whisker_":"max_",titlePrefix:"Max"},{fieldPrefix:"upper_box_",titlePrefix:"Q3"},{fieldPrefix:"mid_box_",titlePrefix:"Median"},{fieldPrefix:"lower_box_",titlePrefix:"Q1"},{fieldPrefix:f==="min-max"?"lower_whisker_":"min_",titlePrefix:"Min"}],h,b),T={type:"tick",color:"black",opacity:1,orient:v,invalid:c,aria:!1},$=f==="min-max"?D:Sy([{fieldPrefix:"upper_whisker_",titlePrefix:"Upper Whisker"},{fieldPrefix:"lower_whisker_",titlePrefix:"Lower Whisker"}],h,b),N=[...I({partName:"rule",mark:{type:"rule",invalid:c,aria:!1},positionPrefix:"lower_whisker",endPositionPrefix:"lower_box",extraEncoding:$}),...I({partName:"rule",mark:{type:"rule",invalid:c,aria:!1},positionPrefix:"upper_box",endPositionPrefix:"upper_whisker",extraEncoding:$}),...I({partName:"ticks",mark:T,positionPrefix:"lower_whisker",extraEncoding:$}),...I({partName:"ticks",mark:T,positionPrefix:"upper_whisker",extraEncoding:$})],H=[...f!=="tukey"?N:[],...M({partName:"box",mark:{type:"bar",...l?{size:l}:{},orient:E,invalid:c,ariaRoleDescription:"box"},positionPrefix:"lower_box",endPositionPrefix:"upper_box",extraEncoding:D}),...k({partName:"median",mark:{type:"tick",invalid:c,...Q(t.boxplot.median)&&t.boxplot.median.color?{color:t.boxplot.median.color}:{},...l?{size:l}:{},orient:v,aria:!1},positionPrefix:"mid_box",extraEncoding:D})];if(f==="min-max")return{...s,transform:(s.transform??[]).concat(m),layer:H};let le=Ze(`lower_box_${h.field}`),de=Ze(`upper_box_${h.field}`),Ae=`(${de} - ${le})`,Be=`${le} - ${u} * ${Ae}`,_e=`${de} + ${u} * ${Ae}`,Dt=Ze(h.field),Oe={joinaggregate:Nq(h.field),groupby:y},tt={transform:[{filter:`(${Be} <= ${Dt}) && (${Dt} <= ${_e})`},{aggregate:[{op:"min",field:h.field,as:`lower_whisker_${w}`},{op:"max",field:h.field,as:`upper_whisker_${w}`},{op:"min",field:`lower_box_${h.field}`,as:`lower_box_${w}`},{op:"max",field:`upper_box_${h.field}`,as:`upper_box_${w}`},...x],groupby:y}],layer:N},{tooltip:oe,...ce}=_,{scale:pe,axis:X}=h,fn=Zw(h),it=qt(X,["title"]),nr=nN(a,"outliers",t.boxplot,{transform:[{filter:`(${Dt} < ${Be}) || (${Dt} > ${_e})`}],mark:"point",encoding:{[g]:{field:h.field,type:h.type,...fn!==void 0?{title:fn}:{},...pe!==void 0?{scale:pe}:{},...Ie(it)?{}:{axis:it}},...ce,...A?{color:A}:{},...S?{tooltip:S}:{}}})[0],vn,Ts=[...d,...p,Oe];return nr?vn={transform:Ts,layer:[nr,tt]}:(vn=tt,vn.transform.unshift(...Ts)),{...s,layer:[vn,{transform:m,layer:H}]}}function Nq(e){let t=ou(e);return[{op:"q1",field:e,as:`lower_box_${t}`},{op:"q3",field:e,as:`upper_box_${t}`}]}function dbe(e,t,n){let r=tS(e,Ay),{continuousAxisChannelDef:i,continuousAxis:o}=eS(e,r,Ay),s=i.field,a=ou(s),u=Iq(t),l=[...Nq(s),{op:"median",field:s,as:`mid_box_${a}`},{op:"min",field:s,as:(u==="min-max"?"lower_whisker_":"min_")+a},{op:"max",field:s,as:(u==="min-max"?"upper_whisker_":"max_")+a}],c=u==="min-max"||u==="tukey"?[]:[{calculate:`${Ze(`upper_box_${a}`)} - ${Ze(`lower_box_${a}`)}`,as:`iqr_${a}`},{calculate:`min(${Ze(`upper_box_${a}`)} + ${Ze(`iqr_${a}`)} * ${t}, ${Ze(`max_${a}`)})`,as:`upper_whisker_${a}`},{calculate:`max(${Ze(`lower_box_${a}`)} - ${Ze(`iqr_${a}`)} * ${t}, ${Ze(`min_${a}`)})`,as:`lower_whisker_${a}`}],{[o]:f,...d}=e.encoding,{customTooltipWithoutAggregatedField:p,filteredEncoding:m}=Rq(d),{bins:h,timeUnits:g,aggregate:y,groupby:x,encoding:b}=Kw(m,n),v=r==="vertical"?"horizontal":"vertical",E=r,S=[...h,...g,{aggregate:[...y,...l],groupby:x},...c];return{bins:h,timeUnits:g,transform:S,groupby:x,aggregate:y,continuousAxisChannelDef:i,continuousAxis:o,encodingWithoutContinuousAxis:b,ticksOrient:v,boxOrient:E,customTooltipWithoutAggregatedField:p}}var nS="errorbar",Pq=["ticks","rule"],$q=new da(nS,iN);function iN(e,{config:t}){e={...e,encoding:Ol(e.encoding,t)};let{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:o,ticksOrient:s,markDef:a,outerSpec:u,tooltipEncoding:l}=oN(e,nS,t);delete o.size;let c=Xp(a,i,r,o,t.errorbar),f=a.thickness,d=a.size,p={type:"tick",orient:s,aria:!1,...f!==void 0?{thickness:f}:{},...d!==void 0?{size:d}:{}},m=[...c({partName:"ticks",mark:p,positionPrefix:"lower",extraEncoding:l}),...c({partName:"ticks",mark:p,positionPrefix:"upper",extraEncoding:l}),...c({partName:"rule",mark:{type:"rule",ariaRoleDescription:"errorbar",...f!==void 0?{size:f}:{}},positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:l})];return{...u,transform:n,...m.length>1?{layer:m}:{...m[0]}}}function pbe(e,t){let{encoding:n}=e;if(mbe(n))return{orient:tS(e,t),inputType:"raw"};let r=hbe(n),i=gbe(n),o=n.x,s=n.y;if(r){if(i)throw new Error(`${t} cannot be both type aggregated-upper-lower and aggregated-error`);let a=n.x2,u=n.y2;if(Ee(a)&&Ee(u))throw new Error(`${t} cannot have both x2 and y2`);if(Ee(a)){if(ds(o))return{orient:"horizontal",inputType:"aggregated-upper-lower"};throw new Error(`Both x and x2 have to be quantitative in ${t}`)}else if(Ee(u)){if(ds(s))return{orient:"vertical",inputType:"aggregated-upper-lower"};throw new Error(`Both y and y2 have to be quantitative in ${t}`)}throw new Error("No ranged axis")}else{let a=n.xError,u=n.xError2,l=n.yError,c=n.yError2;if(Ee(u)&&!Ee(a))throw new Error(`${t} cannot have xError2 without xError`);if(Ee(c)&&!Ee(l))throw new Error(`${t} cannot have yError2 without yError`);if(Ee(a)&&Ee(l))throw new Error(`${t} cannot have both xError and yError with both are quantiative`);if(Ee(a)){if(ds(o))return{orient:"horizontal",inputType:"aggregated-error"};throw new Error("All x, xError, and xError2 (if exist) have to be quantitative")}else if(Ee(l)){if(ds(s))return{orient:"vertical",inputType:"aggregated-error"};throw new Error("All y, yError, and yError2 (if exist) have to be quantitative")}throw new Error("No ranged axis")}}function mbe(e){return(Ee(e.x)||Ee(e.y))&&!Ee(e.x2)&&!Ee(e.y2)&&!Ee(e.xError)&&!Ee(e.xError2)&&!Ee(e.yError)&&!Ee(e.yError2)}function hbe(e){return Ee(e.x2)||Ee(e.y2)}function gbe(e){return Ee(e.xError)||Ee(e.xError2)||Ee(e.yError)||Ee(e.yError2)}function oN(e,t,n){let{mark:r,encoding:i,params:o,projection:s,...a}=e,u=Kn(r)?r:{type:r};o&&z(L.selectionNotSupported(t));let{orient:l,inputType:c}=pbe(e,t),{continuousAxisChannelDef:f,continuousAxisChannelDef2:d,continuousAxisChannelDefError:p,continuousAxisChannelDefError2:m,continuousAxis:h}=eS(e,l,t),{errorBarSpecificAggregate:g,postAggregateCalculates:y,tooltipSummary:x,tooltipTitleWithFieldName:b}=ybe(u,f,d,p,m,c,t,n),{[h]:v,[h==="x"?"x2":"y2"]:E,[h==="x"?"xError":"yError"]:S,[h==="x"?"xError2":"yError2"]:w,...A}=i,{bins:C,timeUnits:_,aggregate:F,groupby:I,encoding:M}=Kw(A,n),R=[...F,...g],k=c!=="raw"?[]:I,D=Sy(x,f,M,b);return{transform:[...a.transform??[],...C,..._,...R.length===0?[]:[{aggregate:R,groupby:k}],...y],groupby:k,continuousAxisChannelDef:f,continuousAxis:h,encodingWithoutContinuousAxis:M,ticksOrient:l==="vertical"?"horizontal":"vertical",markDef:u,outerSpec:a,tooltipEncoding:D}}function ybe(e,t,n,r,i,o,s,a){let u=[],l=[],c=t.field,f,d=!1;if(o==="raw"){let p=e.center?e.center:e.extent?e.extent==="iqr"?"median":"mean":a.errorbar.center,m=e.extent?e.extent:p==="mean"?"stderr":"iqr";if(p==="median"!=(m==="iqr")&&z(L.errorBarCenterIsUsedWithWrongExtent(p,m,s)),m==="stderr"||m==="stdev")u=[{op:m,field:c,as:`extent_${c}`},{op:p,field:c,as:`center_${c}`}],l=[{calculate:`${Ze(`center_${c}`)} + ${Ze(`extent_${c}`)}`,as:`upper_${c}`},{calculate:`${Ze(`center_${c}`)} - ${Ze(`extent_${c}`)}`,as:`lower_${c}`}],f=[{fieldPrefix:"center_",titlePrefix:kl(p)},{fieldPrefix:"upper_",titlePrefix:Oq(p,m,"+")},{fieldPrefix:"lower_",titlePrefix:Oq(p,m,"-")}],d=!0;else{let h,g,y;m==="ci"?(h="mean",g="ci0",y="ci1"):(h="median",g="q1",y="q3"),u=[{op:g,field:c,as:`lower_${c}`},{op:y,field:c,as:`upper_${c}`},{op:h,field:c,as:`center_${c}`}],f=[{fieldPrefix:"upper_",titlePrefix:fa({field:c,aggregate:y,type:"quantitative"},a,{allowDisabling:!1})},{fieldPrefix:"lower_",titlePrefix:fa({field:c,aggregate:g,type:"quantitative"},a,{allowDisabling:!1})},{fieldPrefix:"center_",titlePrefix:fa({field:c,aggregate:h,type:"quantitative"},a,{allowDisabling:!1})}]}}else{(e.center||e.extent)&&z(L.errorBarCenterAndExtentAreNotNeeded(e.center,e.extent)),o==="aggregated-upper-lower"?(f=[],l=[{calculate:Ze(n.field),as:`upper_${c}`},{calculate:Ze(c),as:`lower_${c}`}]):o==="aggregated-error"&&(f=[{fieldPrefix:"",titlePrefix:c}],l=[{calculate:`${Ze(c)} + ${Ze(r.field)}`,as:`upper_${c}`}],i?l.push({calculate:`${Ze(c)} + ${Ze(i.field)}`,as:`lower_${c}`}):l.push({calculate:`${Ze(c)} - ${Ze(r.field)}`,as:`lower_${c}`}));for(let p of l)f.push({fieldPrefix:p.as.substring(0,6),titlePrefix:ns(ns(p.calculate,"datum['",""),"']","")})}return{postAggregateCalculates:l,errorBarSpecificAggregate:u,tooltipSummary:f,tooltipTitleWithFieldName:d}}function Oq(e,t,n){return`${kl(e)} ${n} ${t}`}var rS="errorband",Lq=["band","borders"],Bq=new da(rS,sN);function sN(e,{config:t}){e={...e,encoding:Ol(e.encoding,t)};let{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:o,markDef:s,outerSpec:a,tooltipEncoding:u}=oN(e,rS,t),l=s,c=Xp(l,i,r,o,t.errorband),f=e.encoding.x!==void 0&&e.encoding.y!==void 0,d={type:f?"area":"rect"},p={type:f?"line":"rule"},m={...l.interpolate?{interpolate:l.interpolate}:{},...l.tension&&l.interpolate?{tension:l.tension}:{}};return f?(d={...d,...m,ariaRoleDescription:"errorband"},p={...p,...m,aria:!1}):l.interpolate?z(L.errorBand1DNotSupport("interpolate")):l.tension&&z(L.errorBand1DNotSupport("tension")),{...a,transform:n,layer:[...c({partName:"band",mark:d,positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:u}),...c({partName:"borders",mark:p,positionPrefix:"lower",extraEncoding:u}),...c({partName:"borders",mark:p,positionPrefix:"upper",extraEncoding:u})]}}var Uq={};function aN(e,t,n){let r=new da(e,t);Uq[e]={normalizer:r,parts:n}}function zq(){return P(Uq)}aN(Ay,rN,Dq);aN(nS,iN,Pq);aN(rS,sN,Lq);var Hq=["gradientHorizontalMaxLength","gradientHorizontalMinLength","gradientVerticalMaxLength","gradientVerticalMinLength","unselectedOpacity"];var uN={titleAlign:"align",titleAnchor:"anchor",titleAngle:"angle",titleBaseline:"baseline",titleColor:"color",titleFont:"font",titleFontSize:"fontSize",titleFontStyle:"fontStyle",titleFontWeight:"fontWeight",titleLimit:"limit",titleLineHeight:"lineHeight",titleOrient:"orient",titlePadding:"offset"},lN={labelAlign:"align",labelAnchor:"anchor",labelAngle:"angle",labelBaseline:"baseline",labelColor:"color",labelFont:"font",labelFontSize:"fontSize",labelFontStyle:"fontStyle",labelFontWeight:"fontWeight",labelLimit:"limit",labelLineHeight:"lineHeight",labelOrient:"orient",labelPadding:"offset"},qq=P(uN),Gq=P(lN),xbe={header:1,headerRow:1,headerColumn:1,headerFacet:1},cN=P(xbe);var iS=["size","shape","fill","stroke","strokeDash","strokeWidth","opacity"],jq={gradientHorizontalMaxLength:200,gradientHorizontalMinLength:100,gradientVerticalMaxLength:200,gradientVerticalMinLength:64,unselectedOpacity:.35},fN={aria:1,clipHeight:1,columnPadding:1,columns:1,cornerRadius:1,description:1,direction:1,fillColor:1,format:1,formatType:1,gradientLength:1,gradientOpacity:1,gradientStrokeColor:1,gradientStrokeWidth:1,gradientThickness:1,gridAlign:1,labelAlign:1,labelBaseline:1,labelColor:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labelSeparation:1,legendX:1,legendY:1,offset:1,orient:1,padding:1,rowPadding:1,strokeColor:1,symbolDash:1,symbolDashOffset:1,symbolFillColor:1,symbolLimit:1,symbolOffset:1,symbolOpacity:1,symbolSize:1,symbolStrokeColor:1,symbolStrokeWidth:1,symbolType:1,tickCount:1,tickMinStep:1,title:1,titleAlign:1,titleAnchor:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titleOrient:1,titlePadding:1,type:1,values:1,zindex:1},rVe=P(fN);var Qn="_vgsid_",Wq={point:{on:"click",fields:[Qn],toggle:"event.shiftKey",resolve:"global",clear:"dblclick"},interval:{on:"[pointerdown, window:pointerup] > window:pointermove!",encodings:["x","y"],translate:"[pointerdown, window:pointerup] > window:pointermove!",zoom:"wheel!",mark:{fill:"#333",fillOpacity:.125,stroke:"white"},resolve:"global",clear:"dblclick"}};function _y(e){return e==="legend"||!!e?.legend}function oS(e){return _y(e)&&Q(e)}function Kp(e){return!!e?.select}function sS(e){let t=[];for(let n of e||[]){if(Kp(n))continue;let{expr:r,bind:i,...o}=n;if(i&&r){let s={...o,bind:i,init:r};t.push(s)}else{let s={...o,...r?{update:r}:{},...i?{bind:i}:{}};t.push(s)}}return t}function dN(e){return Pl(e)||Qp(e)||Cy(e)}function Cy(e){return W(e,"concat")}function Pl(e){return W(e,"vconcat")}function Qp(e){return W(e,"hconcat")}function pN({step:e,offsetIsDiscrete:t}){return t?e.for??"offset":"position"}function vi(e){return W(e,"step")}function mN(e){return W(e,"view")||W(e,"width")||W(e,"height")}var hN=20,bbe={align:1,bounds:1,center:1,columns:1,spacing:1},vbe=P(bbe);function Vq(e,t,n){let r=n[t],i={},{spacing:o,columns:s}=r;o!==void 0&&(i.spacing=o),s!==void 0&&(mu(e)&&!la(e.facet)||Cy(e))&&(i.columns=s),Pl(e)&&(i.columns=1);for(let a of vbe)if(e[a]!==void 0)if(a==="spacing"){let u=e[a];i[a]=Te(u)?u:{row:u.row??o,column:u.column??o}}else i[a]=e[a];return i}function ky(e,t){return e[t]??e[t==="width"?"continuousWidth":"continuousHeight"]}function Fy(e,t){let n=Jp(e,t);return vi(n)?n.step:Kq}function Jp(e,t){let n=e[t]??e[t==="width"?"discreteWidth":"discreteHeight"];return Le(n,{step:e.step})}var Kq=20,Ebe={continuousWidth:200,continuousHeight:200,step:Kq};var wbe={background:"white",padding:5,timeFormat:"%b %d, %Y",countTitle:"Count of Records",view:Ebe,mark:rq,arc:{},area:{},bar:oq,circle:{},geoshape:{},image:{},line:{},point:{},rect:Mw,rule:{color:"black"},square:{},text:{color:"black"},tick:sq,trail:{},boxplot:{size:14,extent:1.5,box:{},median:{color:"white"},outliers:{},rule:{},ticks:null},errorbar:{center:"mean",rule:!0,ticks:!1},errorband:{band:{opacity:.3},borders:!1},scale:HH,projection:{},legend:jq,header:{titlePadding:10,labelPadding:10},headerColumn:{},headerRow:{},headerFacet:{},selection:Wq,style:{},title:{},facet:{spacing:hN},concat:{spacing:hN},normalizedNumberFormat:".0%"},gu=["#4c78a8","#f58518","#e45756","#72b7b2","#54a24b","#eeca3b","#b279a2","#ff9da6","#9d755d","#bab0ac"],Yq={text:11,guideLabel:10,guideTitle:11,groupTitle:13,groupSubtitle:12},Xq={blue:gu[0],orange:gu[1],red:gu[2],teal:gu[3],green:gu[4],yellow:gu[5],purple:gu[6],pink:gu[7],brown:gu[8],gray0:"#000",gray1:"#111",gray2:"#222",gray3:"#333",gray4:"#444",gray5:"#555",gray6:"#666",gray7:"#777",gray8:"#888",gray9:"#999",gray10:"#aaa",gray11:"#bbb",gray12:"#ccc",gray13:"#ddd",gray14:"#eee",gray15:"#fff"};function Sbe(e={}){return{signals:[{name:"color",value:Q(e)?{...Xq,...e}:Xq}],mark:{color:{signal:"color.blue"}},rule:{color:{signal:"color.gray0"}},text:{color:{signal:"color.gray0"}},style:{"guide-label":{fill:{signal:"color.gray0"}},"guide-title":{fill:{signal:"color.gray0"}},"group-title":{fill:{signal:"color.gray0"}},"group-subtitle":{fill:{signal:"color.gray0"}},cell:{stroke:{signal:"color.gray8"}}},axis:{domainColor:{signal:"color.gray13"},gridColor:{signal:"color.gray8"},tickColor:{signal:"color.gray13"}},range:{category:[{signal:"color.blue"},{signal:"color.orange"},{signal:"color.red"},{signal:"color.teal"},{signal:"color.green"},{signal:"color.yellow"},{signal:"color.purple"},{signal:"color.pink"},{signal:"color.brown"},{signal:"color.grey8"}]}}}function Abe(e){return{signals:[{name:"fontSize",value:Q(e)?{...Yq,...e}:Yq}],text:{fontSize:{signal:"fontSize.text"}},style:{"guide-label":{fontSize:{signal:"fontSize.guideLabel"}},"guide-title":{fontSize:{signal:"fontSize.guideTitle"}},"group-title":{fontSize:{signal:"fontSize.groupTitle"}},"group-subtitle":{fontSize:{signal:"fontSize.groupSubtitle"}}}}}function _be(e){return{text:{font:e},style:{"guide-label":{font:e},"guide-title":{font:e},"group-title":{font:e},"group-subtitle":{font:e}}}}function Qq(e){let t=P(e||{}),n={};for(let r of t){let i=e[r];n[r]=hu(i)?pw(i):In(i)}return n}function Cbe(e){let t=P(e),n={};for(let r of t)n[r]=Qq(e[r]);return n}var kbe=[...Dw,...eN,...cN,"background","padding","legend","lineBreak","scale","style","title","view"];function aS(e={}){let{color:t,font:n,fontSize:r,selection:i,...o}=e,s=Is({},ie(wbe),n?_be(n):{},t?Sbe(t):{},r?Abe(r):{},o||{});i&&ka(s,"selection",i,!0);let a=qt(s,kbe);for(let u of["background","lineBreak","padding"])s[u]&&(a[u]=In(s[u]));for(let u of Dw)s[u]&&(a[u]=Tt(s[u]));for(let u of eN)s[u]&&(a[u]=Qq(s[u]));for(let u of cN)s[u]&&(a[u]=Tt(s[u]));if(s.legend&&(a.legend=Tt(s.legend)),s.scale){let{invalid:u,...l}=s.scale,c=Tt(u,{level:1});a.scale={...Tt(l),...P(c).length>0?{invalid:c}:{}}}return s.style&&(a.style=Cbe(s.style)),s.title&&(a.title=Tt(s.title)),s.view&&(a.view=Tt(s.view)),a}var Fbe=new Set(["view",...eq]),Tbe=["color","fontSize","background","padding","facet","concat","numberFormat","numberFormatType","normalizedNumberFormat","normalizedNumberFormatType","timeFormat","countTitle","header","axisQuantitative","axisTemporal","axisDiscrete","axisPoint","axisXBand","axisXPoint","axisXDiscrete","axisXQuantitative","axisXTemporal","axisYBand","axisYPoint","axisYDiscrete","axisYQuantitative","axisYTemporal","scale","selection","overlay"],Rbe={view:["continuousWidth","continuousHeight","discreteWidth","discreteHeight","step"],...nq};function Jq(e){e=ie(e);for(let t of Tbe)delete e[t];if(e.axis)for(let t in e.axis)hu(e.axis[t])&&delete e.axis[t];if(e.legend)for(let t of Hq)delete e.legend[t];if(e.mark){for(let t of qI)delete e.mark[t];e.mark.tooltip&&Q(e.mark.tooltip)&&delete e.mark.tooltip}e.params&&(e.signals=(e.signals||[]).concat(sS(e.params)),delete e.params);for(let t of Fbe){for(let r of qI)delete e[t][r];let n=Rbe[t];if(n)for(let r of n)delete e[t][r];Mbe(e,t)}for(let t of zq())delete e[t];Dbe(e);for(let t in e)Q(e[t])&&Ie(e[t])&&delete e[t];return Ie(e)?void 0:e}function Dbe(e){let{titleMarkConfig:t,subtitleMarkConfig:n,subtitle:r}=fw(e.title);Ie(t)||(e.style["group-title"]={...e.style["group-title"],...t}),Ie(n)||(e.style["group-subtitle"]={...e.style["group-subtitle"],...n}),Ie(r)?delete e.title:e.title=r}function Mbe(e,t,n,r){let i=r?e[t][r]:e[t];t==="view"&&(n="cell");let o={...i,...e.style[n??t]};Ie(o)||(e.style[n??t]=o),r||delete e[t]}function yu(e){return W(e,"layer")}function gN(e){return W(e,"repeat")}function Zq(e){return!O(e.repeat)&&W(e.repeat,"layer")}var $l=class{map(t,n){return mu(t)?this.mapFacet(t,n):gN(t)?this.mapRepeat(t,n):Qp(t)?this.mapHConcat(t,n):Pl(t)?this.mapVConcat(t,n):Cy(t)?this.mapConcat(t,n):this.mapLayerOrUnit(t,n)}mapLayerOrUnit(t,n){if(yu(t))return this.mapLayer(t,n);if(bn(t))return this.mapUnit(t,n);throw new Error(L.invalidSpec(t))}mapLayer(t,n){return{...t,layer:t.layer.map(r=>this.mapLayerOrUnit(r,n))}}mapHConcat(t,n){return{...t,hconcat:t.hconcat.map(r=>this.map(r,n))}}mapVConcat(t,n){return{...t,vconcat:t.vconcat.map(r=>this.map(r,n))}}mapConcat(t,n){let{concat:r,...i}=t;return{...i,concat:r.map(o=>this.map(o,n))}}mapFacet(t,n){return{...t,spec:this.map(t.spec,n)}}mapRepeat(t,n){return{...t,spec:this.map(t.spec,n)}}};var Ibe={zero:1,center:1,normalize:1};function Nbe(e){return ne(Ibe,e)}var Obe=new Set([HI,hf,mf,zp,Up,hy,gy,gf,Tw,my]),Pbe=new Set([hf,mf,HI]);function Zp(e){return V(e)&&fu(e)==="quantitative"&&!e.bin}function eG(e,t,{orient:n,type:r}){let i=t==="x"?"y":"radius",o=t==="x"&&["bar","area"].includes(r),s=e[t],a=e[i];if(V(s)&&V(a))if(Zp(s)&&Zp(a)){if(s.stack)return t;if(a.stack)return i;let u=V(s)&&!!s.aggregate,l=V(a)&&!!a.aggregate;if(u!==l)return u?t:i;if(o){if(n==="vertical")return i;if(n==="horizontal")return t}}else{if(Zp(s))return t;if(Zp(a))return i}else{if(Zp(s))return o&&n==="vertical"?void 0:t;if(Zp(a))return o&&n==="horizontal"?void 0:i}}function $be(e){switch(e){case"x":return"y";case"y":return"x";case"theta":return"radius";case"radius":return"theta"}}function uS(e,t){let n=Kn(e)?e:{type:e},r=n.type;if(!Obe.has(r))return null;let i=eG(t,"x",n)||eG(t,"theta",n);if(!i)return null;let o=t[i],s=V(o)?J(o,{}):void 0,a=$be(i),u=[],l=new Set;if(t[a]){let h=t[a],g=V(h)?J(h,{}):void 0;g&&g!==s&&(u.push(a),l.add(g))}let c=a==="x"?"xOffset":"yOffset",f=t[c],d=V(f)?J(f,{}):void 0;d&&d!==s&&(u.push(c),l.add(d));let p=J7.reduce((h,g)=>{if(g!=="tooltip"&&pa(t,g)){let y=t[g];for(let x of Z(y)){let b=xn(x);if(b.aggregate)continue;let v=J(b,{});(!v||!l.has(v))&&h.push({channel:g,fieldDef:b})}}return h},[]),m;return o.stack!==void 0?ni(o.stack)?m=o.stack?"zero":null:m=o.stack:Pbe.has(r)&&(m="zero"),!m||!Nbe(m)||Xw(t)&&p.length===0?null:(o?.scale?.type&&o?.scale?.type!==Kt.LINEAR&&o?.stack&&z(L.stackNonLinearScale(o.scale.type)),Ee(t[Mn(i)])?(o.stack!==void 0&&z(L.cannotStackRangedMark(i)),null):(V(o)&&o.aggregate&&!cH.has(o.aggregate)&&z(L.stackNonSummativeAggregate(o.aggregate)),{groupbyChannels:u,groupbyFields:l,fieldChannel:i,impute:o.impute===null?!1:vr(r),stackBy:p,offset:m}))}function lS(e,t,n){let r=Tt(e),i=Ne("orient",r,n);if(r.orient=Ube(r.type,t,i),i!==void 0&&i!==r.orient&&z(L.orientOverridden(r.orient,i)),r.type==="bar"&&r.orient){let u=Ne("cornerRadiusEnd",r,n);if(u!==void 0){let l=r.orient==="horizontal"&&t.x2||r.orient==="vertical"&&t.y2?["cornerRadius"]:iq[r.orient];for(let c of l)r[c]=u;r.cornerRadiusEnd!==void 0&&delete r.cornerRadiusEnd}}let o=Ne("opacity",r,n),s=Ne("fillOpacity",r,n);return o===void 0&&s===void 0&&(r.opacity=Bbe(r.type,t)),Ne("cursor",r,n)===void 0&&(r.cursor=Lbe(r,t,n)),r}function Lbe(e,t,n){return t.href||e.href||Ne("href",e,n)?"pointer":e.cursor}function Bbe(e,t){if(xe([Up,my,hy,gy],e)&&!Xw(t))return .7}function tG(e,t,{graticule:n}){if(n)return!1;let r=Xr("filled",e,t),i=e.type;return Le(r,i!==Up&&i!==gf&&i!==zp)}function Ube(e,t,n){switch(e){case Up:case hy:case gy:case Tw:case JH:case QH:return}let{x:r,y:i,x2:o,y2:s}=t;switch(e){case hf:if(V(r)&&(gt(r.bin)||V(i)&&i.aggregate&&!r.aggregate))return"vertical";if(V(i)&&(gt(i.bin)||V(r)&&r.aggregate&&!i.aggregate))return"horizontal";if(s||o){if(n)return n;if(!o)return(V(r)&&r.type===vo&&!Pe(r.bin)||by(r))&&V(i)&>(i.bin)?"horizontal":"vertical";if(!s)return(V(i)&&i.type===vo&&!Pe(i.bin)||by(i))&&V(r)&>(r.bin)?"vertical":"horizontal"}case zp:if(o&&!(V(r)&>(r.bin))&&s&&!(V(i)&>(i.bin)))return;case mf:if(s)return V(i)&>(i.bin)?"horizontal":"vertical";if(o)return V(r)&>(r.bin)?"vertical":"horizontal";if(e===zp){if(r&&!i)return"vertical";if(i&&!r)return"horizontal"}case gf:case my:{let a=YI(r),u=YI(i);if(n)return n;if(a&&!u)return e!=="tick"?"horizontal":"vertical";if(!a&&u)return e!=="tick"?"vertical":"horizontal";if(a&&u)return"vertical";{let l=Ot(r)&&r.type===ia,c=Ot(i)&&i.type===ia;if(l&&!c)return"vertical";if(!l&&c)return"horizontal"}return}}return"vertical"}function zbe(e){let{point:t,line:n,...r}=e;return P(r).length>1?r:r.type}function Hbe(e){for(let t of["line","area","rule","trail"])e[t]&&(e={...e,[t]:qt(e[t],["point","line"])});return e}function yN(e,t={},n){return e.point==="transparent"?{opacity:0}:e.point?Q(e.point)?e.point:{}:e.point!==void 0?null:t.point||n.shape?Q(t.point)?t.point:{}:void 0}function nG(e,t={}){return e.line?e.line===!0?{}:e.line:e.line!==void 0?null:t.line?t.line===!0?{}:t.line:void 0}var cS=class{constructor(){this.name="path-overlay"}hasMatchingType(t,n){if(bn(t)){let{mark:r,encoding:i}=t,o=Kn(r)?r:{type:r};switch(o.type){case"line":case"rule":case"trail":return!!yN(o,n[o.type],i);case"area":return!!yN(o,n[o.type],i)||!!nG(o,n[o.type])}}return!1}run(t,n,r){let{config:i}=n,{params:o,projection:s,mark:a,name:u,encoding:l,...c}=t,f=Ol(l,i),d=Kn(a)?a:{type:a},p=yN(d,i[d.type],f),m=d.type==="area"&&nG(d,i[d.type]),h=[{name:u,...o?{params:o}:{},mark:zbe({...d.type==="area"&&d.opacity===void 0&&d.fillOpacity===void 0?{opacity:.7}:{},...d}),encoding:qt(f,["shape"])}],g=uS(lS(d,f,i),f),y=f;if(g){let{fieldChannel:x,offset:b}=g;y={...f,[x]:{...f[x],...b?{stack:b}:{}}}}return y=qt(y,["y2","x2"]),m&&h.push({...s?{projection:s}:{},mark:{type:"line",...iu(d,["clip","interpolate","tension","tooltip"]),...m},encoding:y}),p&&h.push({...s?{projection:s}:{},mark:{type:"point",opacity:1,filled:!0,...iu(d,["clip","tooltip"]),...p},encoding:y}),r({...c,layer:h},{...n,config:Hbe(i)})}};function oG(e,t){return t?la(e)?aG(e,t):sG(e,t):e}function fS(e,t){return t?aG(e,t):e}function xN(e,t,n){let r=t[e];if(yq(r)){if(r.repeat in n)return{...t,[e]:n[r.repeat]};z(L.noSuchRepeatedValue(r.repeat));return}return t}function sG(e,t){if(e=xN("field",e,t),e!==void 0){if(e===null)return null;if(Hw(e)&&wr(e.sort)){let n=xN("field",e.sort,t);e={...e,...n?{sort:n}:{}}}return e}}function rG(e,t){if(V(e))return sG(e,t);{let n=xN("datum",e,t);return n!==e&&!n.type&&(n.type="nominal"),n}}function iG(e,t){if(Ee(e)){let n=rG(e,t);if(n)return n;if(ca(e))return{condition:e.condition}}else{if(Nl(e)){let n=rG(e.condition,t);if(n)return{...e,condition:n};{let{condition:r,...i}=e;return i}}return e}}function aG(e,t){let n={};for(let r in e)if(W(e,r)){let i=e[r];if(O(i))n[r]=i.map(o=>iG(o,t)).filter(o=>o);else{let o=iG(i,t);o!==void 0&&(n[r]=o)}}return n}var dS=class{constructor(){this.name="RuleForRangedLine"}hasMatchingType(t){if(bn(t)){let{encoding:n,mark:r}=t;if(r==="line"||Kn(r)&&r.type==="line")for(let i of X7){let o=zi(i),s=n[o];if(n[i]&&(V(s)&&!gt(s.bin)||Er(s)))return!0}}return!1}run(t,n,r){let{encoding:i,mark:o}=t;return z(L.lineWithRange(!!i.x2,!!i.y2)),r({...t,mark:Q(o)?{...o,type:"rule"}:"rule"},n)}};var pS=class extends $l{constructor(){super(...arguments),this.nonFacetUnitNormalizers=[Mq,$q,Bq,new cS,new dS]}map(t,n){if(bn(t)){let r=pa(t.encoding,mi),i=pa(t.encoding,hi),o=pa(t.encoding,kp);if(r||i||o)return this.mapFacetedUnit(t,n)}return super.map(t,n)}mapUnit(t,n){let{parentEncoding:r,parentProjection:i}=n,o=fS(t.encoding,n.repeater),s={...t,...t.name?{name:[n.repeaterPrefix,t.name].filter(u=>u).join("_")}:{},...o?{encoding:o}:{}};if(r||i)return this.mapUnitWithParentEncodingOrProjection(s,n);let a=this.mapLayerOrUnit.bind(this);for(let u of this.nonFacetUnitNormalizers)if(u.hasMatchingType(s,n.config))return u.run(s,n,a);return s}mapRepeat(t,n){return Zq(t)?this.mapLayerRepeat(t,n):this.mapNonLayerRepeat(t,n)}mapLayerRepeat(t,n){let{repeat:r,spec:i,...o}=t,{row:s,column:a,layer:u}=r,{repeater:l={},repeaterPrefix:c=""}=n;return s||a?this.mapRepeat({...t,repeat:{...s?{row:s}:{},...a?{column:a}:{}},spec:{repeat:{layer:u},spec:i}},n):{...o,layer:u.map(f=>{let d={...l,layer:f},p=`${(i.name?`${i.name}_`:"")+c}child__layer_${He(f)}`,m=this.mapLayerOrUnit(i,{...n,repeater:d,repeaterPrefix:p});return m.name=p,m})}}mapNonLayerRepeat(t,n){let{repeat:r,spec:i,data:o,...s}=t;!O(r)&&t.columns&&(t=qt(t,["columns"]),z(L.columnsNotSupportByRowCol("repeat")));let a=[],{repeater:u={},repeaterPrefix:l=""}=n,c=!O(r)&&r.row||[u?u.row:null],f=!O(r)&&r.column||[u?u.column:null],d=O(r)&&r||[u?u.repeat:null];for(let m of d)for(let h of c)for(let g of f){let y={repeat:m,row:h,column:g,layer:u.layer},x=(i.name?`${i.name}_`:"")+l+"child__"+(O(r)?`${He(m)}`:(r.row?`row_${He(h)}`:"")+(r.column?`column_${He(g)}`:"")),b=this.map(i,{...n,repeater:y,repeaterPrefix:x});b.name=x,a.push(qt(b,["data"]))}let p=O(r)?t.columns:r.column?r.column.length:1;return{data:i.data??o,align:"all",...s,columns:p,concat:a}}mapFacet(t,n){let{facet:r}=t;return la(r)&&t.columns&&(t=qt(t,["columns"]),z(L.columnsNotSupportByRowCol("facet"))),super.mapFacet(t,n)}mapUnitWithParentEncodingOrProjection(t,n){let{encoding:r,projection:i}=t,{parentEncoding:o,parentProjection:s,config:a}=n,u=lG({parentProjection:s,projection:i}),l=uG({parentEncoding:o,encoding:fS(r,n.repeater)});return this.mapUnit({...t,...u?{projection:u}:{},...l?{encoding:l}:{}},{config:a})}mapFacetedUnit(t,n){let{row:r,column:i,facet:o,...s}=t.encoding,{mark:a,width:u,projection:l,height:c,view:f,params:d,encoding:p,...m}=t,{facetMapping:h,layout:g}=this.getFacetMappingAndLayout({row:r,column:i,facet:o},n),y=fS(s,n.repeater);return this.mapFacet({...m,...g,facet:h,spec:{...u?{width:u}:{},...c?{height:c}:{},...f?{view:f}:{},...l?{projection:l}:{},mark:a,encoding:y,...d?{params:d}:{}}},n)}getFacetMappingAndLayout(t,n){let{row:r,column:i,facet:o}=t;if(r||i){o&&z(L.facetChannelDropped([...r?[mi]:[],...i?[hi]:[]]));let s={},a={};for(let u of[mi,hi]){let l=t[u];if(l){let{align:c,center:f,spacing:d,columns:p,...m}=l;s[u]=m;for(let h of["align","center","spacing"])l[h]!==void 0&&(a[h]??(a[h]={}),a[h][u]=l[h])}}return{facetMapping:s,layout:a}}else{let{align:s,center:a,spacing:u,columns:l,...c}=o;return{facetMapping:oG(c,n.repeater),layout:{...s?{align:s}:{},...a?{center:a}:{},...u?{spacing:u}:{},...l?{columns:l}:{}}}}}mapLayer(t,{parentEncoding:n,parentProjection:r,...i}){let{encoding:o,projection:s,...a}=t,u={...i,parentEncoding:uG({parentEncoding:n,encoding:o,layer:!0}),parentProjection:lG({parentProjection:r,projection:s})};return super.mapLayer({...a,...t.name?{name:[u.repeaterPrefix,t.name].filter(l=>l).join("_")}:{}},u)}};function uG({parentEncoding:e,encoding:t={},layer:n}){let r={};if(e){let i=new Set([...P(e),...P(t)]);for(let o of i){let s=t[o],a=e[o];if(Ee(s)){let u={...a,...s};r[o]=u}else Nl(s)?r[o]={...s,condition:{...a,...s.condition}}:s||s===null?r[o]=s:(n||cn(a)||re(a)||Ee(a)||O(a))&&(r[o]=a)}}else r=t;return!r||Ie(r)?void 0:r}function lG(e){let{parentProjection:t,projection:n}=e;return t&&n&&z(L.projectionOverridden({parentProjection:t,projection:n})),n??t}function Ty(e){return W(e,"filter")}function cG(e){return W(e,"stop")}function mS(e){return W(e,"lookup")}function fG(e){return W(e,"data")}function dG(e){return W(e,"param")}function pG(e){return W(e,"pivot")}function mG(e){return W(e,"density")}function hG(e){return W(e,"quantile")}function gG(e){return W(e,"regression")}function yG(e){return W(e,"loess")}function xG(e){return W(e,"sample")}function bG(e){return W(e,"window")}function vG(e){return W(e,"joinaggregate")}function EG(e){return W(e,"flatten")}function wG(e){return W(e,"calculate")}function hS(e){return W(e,"bin")}function SG(e){return W(e,"impute")}function AG(e){return W(e,"timeUnit")}function _G(e){return W(e,"aggregate")}function CG(e){return W(e,"stack")}function kG(e){return W(e,"fold")}function FG(e){return W(e,"extent")&&!W(e,"density")&&!W(e,"regression")}function TG(e){return e.map(t=>Ty(t)?{filter:_l(t.filter,OH)}:t)}var gS=class extends $l{map(t,n){return n.emptySelections??(n.emptySelections={}),n.selectionPredicates??(n.selectionPredicates={}),t=RG(t,n),super.map(t,n)}mapLayerOrUnit(t,n){if(t=RG(t,n),t.encoding){let r={};for(let[i,o]of pi(t.encoding))r[i]=DG(o,n);t={...t,encoding:r}}return super.mapLayerOrUnit(t,n)}mapUnit(t,n){let{selection:r,...i}=t;return r?{...i,params:pi(r).map(([o,s])=>{let{init:a,bind:u,empty:l,...c}=s;c.type==="single"?(c.type="point",c.toggle=!1):c.type==="multi"&&(c.type="point"),n.emptySelections[o]=l!=="none";for(let f of mt(n.selectionPredicates[o]??{}))f.empty=l!=="none";return{name:o,value:a,select:c,bind:u}})}:t}};function RG(e,t){let{transform:n,...r}=e;if(n){let i=n.map(o=>{if(Ty(o))return{filter:bN(o,t)};if(hS(o)&&ss(o.bin))return{...o,bin:MG(o.bin)};if(mS(o)){let{selection:s,...a}=o.from;return s?{...o,from:{param:s,...a}}:o}return o});return{...r,transform:i}}return e}function DG(e,t){let n=ie(e);if(V(n)&&ss(n.bin)&&(n.bin=MG(n.bin)),wo(n)&&n.scale?.domain?.selection){let{selection:r,...i}=n.scale.domain;n.scale.domain={...i,...r?{param:r}:{}}}if(ca(n))if(O(n.condition))n.condition=n.condition.map(r=>{let{selection:i,param:o,test:s,...a}=r;return o?r:{...a,test:bN(r,t)}});else{let{selection:r,param:i,test:o,...s}=DG(n.condition,t);n.condition=i?n.condition:{...s,test:bN(n.condition,t)}}return n}function MG(e){let t=e.extent;if(t?.selection){let{selection:n,...r}=t;return{...e,extent:{...r,param:n}}}return e}function bN(e,t){let n=r=>_l(r,i=>{var o;let s=t.emptySelections[i]??!0,a={param:i,empty:s};return(o=t.selectionPredicates)[i]??(o[i]=[]),t.selectionPredicates[i].push(a),a});return e.selection?n(e.selection):_l(e.test||e.filter,r=>r.selection?n(r.selection):r)}var em=class extends $l{map(t,n){let r=n.selections??[];if(t.params&&!bn(t)){let i=[];for(let o of t.params)Kp(o)?r.push(o):i.push(o);t.params=i}return n.selections=r,super.map(t,n)}mapUnit(t,n){let r=n.selections;if(!r||!r.length)return t;let i=(n.path??[]).concat(t.name),o=[];for(let s of r)if(!s.views||!s.views.length)o.push(s);else for(let a of s.views)(Y(a)&&(a===t.name||i.includes(a))||O(a)&&a.map(u=>i.indexOf(u)).every((u,l,c)=>u!==-1&&(l===0||u>c[l-1])))&&o.push(s);return o.length&&(t.params=o),t}};for(let e of["mapFacet","mapRepeat","mapHConcat","mapVConcat","mapLayer"]){let t=em.prototype[e];em.prototype[e]=function(n,r){return t.call(this,n,qbe(n,r))}}function qbe(e,t){return e.name?{...t,path:(t.path??[]).concat(e.name)}:t}function yS(e,t){t===void 0&&(t=aS(e.config));let n=Vbe(e,t),{width:r,height:i}=e,o=Ybe(n,{width:r,height:i,autosize:e.autosize},t);return{...n,...o?{autosize:o}:{}}}var Gbe=new pS,jbe=new gS,Wbe=new em;function Vbe(e,t={}){let n={config:t};return Wbe.map(Gbe.map(jbe.map(e,n),n),n)}function IG(e){return Y(e)?{type:e}:e??{}}function Ybe(e,t,n){let{width:r,height:i}=t,o=bn(e)||yu(e),s={};o?r=="container"&&i=="container"?(s.type="fit",s.contains="padding"):r=="container"?(s.type="fit-x",s.contains="padding"):i=="container"&&(s.type="fit-y",s.contains="padding"):(r=="container"&&(z(L.containerSizeNonSingle("width")),r=void 0),i=="container"&&(z(L.containerSizeNonSingle("height")),i=void 0));let a={type:"pad",...s,...n?IG(n.autosize):{},...IG(e.autosize)};if(a.type==="fit"&&!o&&(z(L.FIT_NON_SINGLE),a.type="pad"),r=="container"&&!(a.type=="fit"||a.type=="fit-x")&&z(L.containerSizeNotCompatibleWithAutosize("width")),i=="container"&&!(a.type=="fit"||a.type=="fit-y")&&z(L.containerSizeNotCompatibleWithAutosize("height")),!Rn(a,{type:"pad"}))return a}function NG(e){return["fit","fit-x","fit-y"].includes(e)}function OG(e){return e?`fit-${Rl(e)}`:"fit"}var Xbe=["background","padding"];function vN(e,t){let n={};for(let r of Xbe)e&&e[r]!==void 0&&(n[r]=In(e[r]));return t&&(n.params=e.params),n}var Sr=class e{constructor(t={},n={}){this.explicit=t,this.implicit=n}clone(){return new e(ie(this.explicit),ie(this.implicit))}combine(){return{...this.explicit,...this.implicit}}get(t){return Le(this.explicit[t],this.implicit[t])}getWithExplicit(t){return this.explicit[t]!==void 0?{explicit:!0,value:this.explicit[t]}:this.implicit[t]!==void 0?{explicit:!1,value:this.implicit[t]}:{explicit:!1,value:void 0}}setWithExplicit(t,{value:n,explicit:r}){n!==void 0&&this.set(t,n,r)}set(t,n,r){return delete this[r?"implicit":"explicit"][t],this[r?"explicit":"implicit"][t]=n,this}copyKeyFromSplit(t,{explicit:n,implicit:r}){n[t]!==void 0?this.set(t,n[t],!0):r[t]!==void 0&&this.set(t,r[t],!1)}copyKeyFromObject(t,n){n[t]!==void 0&&this.set(t,n[t],!0)}copyAll(t){for(let n of P(t.combine())){let r=t.getWithExplicit(n);this.setWithExplicit(n,r)}}};function So(e){return{explicit:!0,value:e}}function Ar(e){return{explicit:!1,value:e}}function xS(e){return(t,n,r,i)=>{let o=e(t.value,n.value);return o>0?t:o<0?n:tm(t,n,r,i)}}function tm(e,t,n,r){return e.explicit&&t.explicit&&z(L.mergeConflictingProperty(n,r,e.value,t.value)),e}function Ei(e,t,n,r,i=tm){return e===void 0||e.value===void 0?t:e.explicit&&!t.explicit?e:t.explicit&&!e.explicit?t:Rn(e.value,t.value)?e:i(e,t,n,r)}var bS=class extends Sr{constructor(t={},n={},r=!1){super(t,n),this.explicit=t,this.implicit=n,this.parseNothing=r}clone(){let t=super.clone();return t.parseNothing=this.parseNothing,t}};function xu(e){return W(e,"url")}function bf(e){return W(e,"values")}function vS(e){return W(e,"name")&&!xu(e)&&!bf(e)&&!ps(e)}function ps(e){return e&&(EN(e)||wN(e)||Ry(e))}function EN(e){return W(e,"sequence")}function wN(e){return W(e,"sphere")}function Ry(e){return W(e,"graticule")}var Ke;(function(e){e[e.Raw=0]="Raw",e[e.Main=1]="Main",e[e.Row=2]="Row",e[e.Column=3]="Column",e[e.Lookup=4]="Lookup",e[e.PreFilterInvalid=5]="PreFilterInvalid",e[e.PostFilterInvalid=6]="PostFilterInvalid"})(Ke||(Ke={}));function SN({invalid:e,isPath:t}){switch(Iw(e,{isPath:t})){case"filter":return{marks:"exclude-invalid-values",scales:"exclude-invalid-values"};case"break-paths-show-domains":return{marks:t?"include-invalid-values":"exclude-invalid-values",scales:"include-invalid-values"};case"break-paths-filter-domains":return{marks:t?"include-invalid-values":"exclude-invalid-values",scales:"exclude-invalid-values"};case"show":return{marks:"include-invalid-values",scales:"include-invalid-values"}}}function PG(e){let{marks:t,scales:n}=SN(e);return t===n?Ke.Main:n==="include-invalid-values"?Ke.PreFilterInvalid:Ke.PostFilterInvalid}var be=class{constructor(t,n){this.debugName=n,this._children=[],this._parent=null,t&&(this.parent=t)}clone(){throw new Error("Cannot clone node")}get parent(){return this._parent}set parent(t){this._parent=t,t&&t.addChild(this)}get children(){return this._children}numChildren(){return this._children.length}addChild(t,n){if(this._children.includes(t)){z(L.ADD_SAME_CHILD_TWICE);return}n!==void 0?this._children.splice(n,0,t):this._children.push(t)}removeChild(t){let n=this._children.indexOf(t);return this._children.splice(n,1),n}remove(){let t=this._parent.removeChild(this);for(let n of this._children)n._parent=this._parent,this._parent.addChild(n,t++)}insertAsParentOf(t){let n=t.parent;n.removeChild(this),this.parent=n,t.parent=this}swapWithParent(){let t=this._parent,n=t.parent;for(let i of this._children)i.parent=t;this._children=[],t.removeChild(this);let r=t.parent.removeChild(t);this._parent=n,n.addChild(this,r),t.parent=this}},jt=class extends be{clone(){let t=new this.constructor;return t.debugName=`clone_${this.debugName}`,t._source=this._source,t._name=`clone_${this._name}`,t.type=this.type,t.refCounts=this.refCounts,t.refCounts[t._name]=0,t}constructor(t,n,r,i){super(t,n),this.type=r,this.refCounts=i,this._source=this._name=n,this.refCounts&&!(this._name in this.refCounts)&&(this.refCounts[this._name]=0)}dependentFields(){return new Set}producedFields(){return new Set}hash(){return this._hash===void 0&&(this._hash=`Output ${pI()}`),this._hash}getSource(){return this.refCounts[this._name]++,this._source}isRequired(){return!!this.refCounts[this._name]}setSource(t){this._source=t}};function AN(e){return e.as!==void 0}function $G(e){return`${e}_end`}var Ao=class e extends be{clone(){return new e(null,ie(this.timeUnits))}constructor(t,n){super(t),this.timeUnits=n}static makeFromEncoding(t,n){let r=n.reduceFieldDef((i,o,s)=>{let{field:a,timeUnit:u}=o;if(u){let l;if(cs(u)){if(Ge(n)){let{mark:c,markDef:f,config:d}=n,p=bi({fieldDef:o,markDef:f,config:d});(cu(c)||p)&&(l={timeUnit:yt(u),field:a})}}else l={as:J(o,{forAs:!0}),field:a,timeUnit:u};if(Ge(n)){let{mark:c,markDef:f,config:d}=n,p=bi({fieldDef:o,markDef:f,config:d});cu(c)&&Xe(s)&&p!==.5&&(l.rectBandPosition=p)}l&&(i[fe(l)]=l)}return i},{});return Ie(r)?null:new e(t,r)}static makeFromTransform(t,n){let{timeUnit:r,...i}={...n},o=yt(r),s={...i,timeUnit:o};return new e(t,{[fe(s)]:s})}merge(t){this.timeUnits={...this.timeUnits};for(let n in t.timeUnits)this.timeUnits[n]||(this.timeUnits[n]=t.timeUnits[n]);for(let n of t.children)t.removeChild(n),n.parent=this;t.remove()}removeFormulas(t){let n={};for(let[r,i]of pi(this.timeUnits)){let o=AN(i)?i.as:`${i.field}_end`;t.has(o)||(n[r]=i)}this.timeUnits=n}producedFields(){return new Set(mt(this.timeUnits).map(t=>AN(t)?t.as:$G(t.field)))}dependentFields(){return new Set(mt(this.timeUnits).map(t=>t.field))}hash(){return`TimeUnit ${fe(this.timeUnits)}`}assemble(){let t=[];for(let n of mt(this.timeUnits)){let{rectBandPosition:r}=n,i=yt(n.timeUnit);if(AN(n)){let{field:o,as:s}=n,{unit:a,utc:u,...l}=i,c=[s,`${s}_end`];t.push({field:un(o),type:"timeunit",...a?{units:Lp(a)}:{},...u?{timezone:"utc"}:{},...l,as:c}),t.push(...LG(c,r,i))}else if(n){let{field:o}=n,s=o.replaceAll("\\.","."),a=UG({timeUnit:i,field:s}),u=$G(s);t.push({type:"formula",expr:a,as:u}),t.push(...LG([s,u],r,i))}}return t}},vf="offsetted_rect_start",Ef="offsetted_rect_end";function UG({timeUnit:e,field:t,reverse:n}){let{unit:r,utc:i}=e,o=NI(r),{part:s,step:a}=PI(o,e.step);return`${i?"utcOffset":"timeOffset"}('${s}', ${Ze(t)}, ${n?-a:a})`}function LG([e,t],n,r){if(n!==void 0&&n!==.5){let i=Ze(e),o=Ze(t);return[{type:"formula",expr:BG([UG({timeUnit:r,field:e,reverse:!0}),i],n+.5),as:`${e}_${vf}`},{type:"formula",expr:BG([i,o],n+.5),as:`${e}_${Ef}`}]}return[]}function BG([e,t],n){return`${1-n} * ${e} + ${n} * ${t}`}var bu="_tuple_fields",_N=class{constructor(...t){this.items=t,this.hasChannel={},this.hasField={},this.hasSelectionId=!1}},Kbe={defined:()=>!0,parse:(e,t,n)=>{let r=t.name,i=t.project??(t.project=new _N),o={},s={},a=new Set,u=(m,h)=>{let g=h==="visual"?m.channel:m.field,y=He(`${r}_${g}`);for(let x=1;a.has(y);x++)y=He(`${r}_${g}_${x}`);return a.add(y),{[h]:y}},l=t.type,c=e.config.selection[l],f=n.value!==void 0?Z(n.value):null,{fields:d,encodings:p}=Q(n.select)?n.select:{};if(!d&&!p&&f){for(let m of f)if(Q(m))for(let h of P(m))Y7(h)?(p||(p=[])).push(h):l==="interval"?(z(L.INTERVAL_INITIALIZED_WITH_POS),p=c.encodings):(d??(d=[])).push(h)}!d&&!p&&(p=c.encodings,"fields"in c&&(d=c.fields));for(let m of p??[]){let h=e.fieldDef(m);if(h){let g=h.field;if(h.aggregate){z(L.cannotProjectAggregate(m,h.aggregate));continue}else if(!g){z(L.cannotProjectOnChannelWithoutField(m));continue}if(h.timeUnit&&!cs(h.timeUnit)){g=e.vgField(m);let y={timeUnit:h.timeUnit,as:g,field:h.field};s[fe(y)]=y}if(!o[g]){let y=l==="interval"&&ln(m)&&Nn(e.getScaleComponent(m).get("type"))?"R":h.bin?"R-RE":"E",x={field:g,channel:m,type:y,index:i.items.length};x.signals={...u(x,"data"),...u(x,"visual")},i.items.push(o[g]=x),i.hasField[g]=o[g],i.hasSelectionId=i.hasSelectionId||g===Qn,iw(m)?(x.geoChannel=m,x.channel=rw(m),i.hasChannel[x.channel]=o[g]):i.hasChannel[m]=o[g]}}else z(L.cannotProjectOnChannelWithoutField(m))}for(let m of d??[]){if(i.hasField[m])continue;let h={type:"E",field:m,index:i.items.length};h.signals={...u(h,"data")},i.items.push(h),i.hasField[m]=h,i.hasSelectionId=i.hasSelectionId||m===Qn}f&&(t.init=f.map(m=>i.items.map(h=>Q(m)?m[h.geoChannel||h.channel]!==void 0?m[h.geoChannel||h.channel]:m[h.field]:m))),Ie(s)||(i.timeUnit=new Ao(null,s))},signals:(e,t,n)=>{let r=t.name+bu;return n.filter(o=>o.name===r).length>0||t.project.hasSelectionId?n:n.concat({name:r,value:t.project.items.map(CN)})}},zG=Kbe;var wS="_curr",ES="anim_value",nm="anim_clock",TN="eased_anim_clock",HG="min_extent",qG="max_range_extent",kN="last_tick_at",FN="is_playing",Qbe=1/60*1e3,Jbe=(e,t)=>[{name:TN,update:nm},{name:`${e}_domain`,init:`domain('${t}')`},{name:HG,init:`extent(${e}_domain)[0]`},{name:qG,init:`extent(range('${t}'))[1]`},{name:ES,update:`invert('${t}', ${TN})`}],Zbe={defined:e=>e.type==="point",topLevelSignals:(e,t,n)=>(On(t)&&(n=n.concat([{name:nm,init:"0",on:[{events:{type:"timer",throttle:Qbe},update:`${FN} ? (${nm} + (now() - ${kN}) > ${qG} ? 0 : ${nm} + (now() - ${kN})) : ${nm}`}]},{name:kN,init:"now()",on:[{events:[{signal:nm},{signal:FN}],update:"now()"}]},{name:FN,init:"true"}])),n),signals:(e,t,n)=>{let r=t.name,i=r+bu,o=t.project,s="(item().isVoronoi ? datum.datum : datum)",a=mt(e.component.selection??{}).reduce((c,f)=>f.type==="interval"?c.concat(f.name+vu):c,[]).map(c=>`indexof(item().mark.name, '${c}') < 0`).join(" && "),u=`datum && item().mark.marktype !== 'group' && indexof(item().mark.role, 'legend') < 0${a?` && ${a}`:""}`,l=`unit: ${ms(e)}, `;if(t.project.hasSelectionId)l+=`${Qn}: ${s}[${K(Qn)}]`;else if(On(t))l+=`fields: ${i}, values: [${ES} ? ${ES} : ${HG}]`;else{let c=o.items.map(f=>e.fieldDef(f.channel)?.bin?`[${s}[${K(e.vgField(f.channel,{}))}], ${s}[${K(e.vgField(f.channel,{binSuffix:"end"}))}]]`:`${s}[${K(f.field)}]`).join(", ");l+=`fields: ${i}, values: [${c}]`}if(On(t))return n.concat(Jbe(t.name,e.scaleName(Pi)),[{name:r+_r,on:[{events:[{signal:TN},{signal:ES}],update:`{${l}}`,force:!0}]}]);{let c=t.events;return n.concat([{name:r+_r,on:c?[{events:c,update:`${u} ? {${l}} : null`,force:!0}]:[]}])}}},GG=Zbe;function CN(e){let{signals:t,hasLegend:n,index:r,...i}=e;return i.field=un(i.field),i}function Eu(e,t=!0,n=$t){if(O(e)){let r=e.map(i=>Eu(i,t,n));return t?`[${r.join(", ")}]`:r}else if(bo(e))return n(t?ls(e):CH(e));return t?n(qe(e)):e}function jG(e,t){for(let n of mt(e.component.selection??{})){let r=n.name,i=`${r}${_r}, ${n.resolve==="global"?"true":`{unit: ${ms(e)}}`}`;for(let o of rm)o.defined(n)&&(o.signals&&(t=o.signals(e,n,t)),o.modifyExpr&&(i=o.modifyExpr(e,n,i)));t.push({name:r+QG,on:[{events:{signal:n.name+_r},update:`modify(${K(n.name+hs)}, ${i})`}]})}return DN(t)}function WG(e,t){if(e.component.selection&&P(e.component.selection).length){let n=K(e.getName("cell"));t.unshift({name:"facet",value:{},on:[{events:mr("pointermove","scope"),update:`isTuple(facet) ? facet : group(${n}).datum`}]})}return DN(t)}function VG(e,t){let n=!1;for(let r of mt(e.component.selection??{})){let i=r.name,o=K(i+hs);if(t.filter(a=>a.name===i).length===0){let a=r.resolve==="global"?"union":r.resolve,u=r.type==="point"?", true, true)":")";t.push({name:r.name,update:`${SS}(${o}, ${K(a)}${u}`})}n=!0;for(let a of rm)a.defined(r)&&a.topLevelSignals&&(t=a.topLevelSignals(e,r,t))}return n&&t.filter(i=>i.name==="unit").length===0&&t.unshift({name:"unit",value:{},on:[{events:"pointermove",update:"isTuple(group()) ? group() : unit"}]}),DN(t)}function YG(e,t){let n=[],r=[],i=ms(e,{escape:!1});for(let o of mt(e.component.selection??{})){let s={name:o.name+hs};if(o.project.hasSelectionId&&(s.transform=[{type:"collect",sort:{field:Qn}}]),o.init){let u=o.project.items.map(CN);s.values=o.project.hasSelectionId?o.init.map(l=>({unit:i,[Qn]:Eu(l,!1)[0]})):o.init.map(l=>({unit:i,fields:u,values:Eu(l,!1)}))}if([...n,...t].filter(u=>u.name===o.name+hs).length||n.push(s),On(o)&&t.length){let u=e.lookupDataSource(e.getDataName(Ke.Main)),l=t.find(f=>f.name===u),c=l.transform.find(f=>f.type==="filter"&&f.expr.includes("vlSelectionTest"));if(c){l.transform=l.transform.filter(d=>d!==c);let f={name:l.name+wS,source:l.name,transform:[c]};r.push(f)}}}return n.concat(t,r)}function RN(e,t){for(let n of mt(e.component.selection??{}))for(let r of rm)r.defined(n)&&r.marks&&(t=r.marks(e,n,t));return t}function XG(e,t){for(let n of e.children)Ge(n)&&(t=RN(n,t));return t}function KG(e,t,n,r){let i=AS(e,t.param,t);return{signal:Nn(n.get("type"))&&O(r)&&r[0]>r[1]?`isValid(${i}) && reverse(${i})`:i}}function DN(e){return e.map(t=>(t.on&&!t.on.length&&delete t.on,t))}var eve={defined:e=>e.type==="interval"&&e.resolve==="global"&&e.bind&&e.bind==="scales",parse:(e,t)=>{let n=t.scales=[];for(let r of t.project.items){let i=r.channel;if(!ln(i))continue;let o=e.getScaleComponent(i),s=o?o.get("type"):void 0;if(s=="sequential"&&z(L.SEQUENTIAL_SCALE_DEPRECATED),!o||!Nn(s)){z(L.SCALE_BINDINGS_CONTINUOUS);continue}o.set("selectionExtent",{param:t.name,field:r.field},!0),n.push(r)}},topLevelSignals:(e,t,n)=>{let r=t.scales.filter(s=>n.filter(a=>a.name===s.signals.data).length===0);if(!e.parent||MN(e)||r.length===0)return n;let i=n.find(s=>s.name===t.name),o=i.update;if(o.includes(SS))i.update=`{${r.map(s=>`${K(un(s.field))}: ${s.signals.data}`).join(", ")}}`;else{for(let s of r){let a=`${K(un(s.field))}: ${s.signals.data}`;o.includes(a)||(o=`${o.substring(0,o.length-1)}, ${a}}`)}i.update=o}return n.concat(r.map(s=>({name:s.signals.data})))},signals:(e,t,n)=>{if(e.parent&&!MN(e))for(let r of t.scales){let i=n.find(o=>o.name===r.signals.data);i.push="outer",delete i.value,delete i.update}return n}},Gi=eve;function Dy(e,t){return`domain(${K(e.scaleName(t))})`}function MN(e){return e.parent&&_o(e.parent)&&(!e.parent.parent||MN(e.parent.parent))}var vu="_brush",JG="_scale_trigger",My="geo_interval_init_tick",ZG="_init",tve="_center",nve={defined:e=>e.type==="interval",parse:(e,t,n)=>{var r;if(e.hasProjection){let i={...Q(n.select)?n.select:{}};i.fields=[Qn],i.encodings||(i.encodings=n.value?P(n.value):[Vn,Wn]),n.select={type:"interval",...i}}if(t.translate&&!Gi.defined(t)){let i=`!event.item || event.item.mark.name !== ${K(t.name+vu)}`;for(let o of t.events){if(!o.between){z(`${o} is not an ordered event stream for interval selections.`);continue}let s=Z((r=o.between[0]).filter??(r.filter=[]));s.includes(i)||s.push(i)}}},signals:(e,t,n)=>{let r=t.name,i=r+_r,o=mt(t.project.hasChannel).filter(a=>a.channel===Ye||a.channel===ht),s=t.init?t.init[0]:null;if(n.push(...o.reduce((a,u)=>a.concat(rve(e,t,u,s&&s[u.index])),[])),e.hasProjection){let a=K(e.projectionName()),u=e.projectionName()+tve,{x:l,y:c}=t.project.hasChannel,f=l&&l.signals.visual,d=c&&c.signals.visual,p=l?s&&s[l.index]:`${u}[0]`,m=c?s&&s[c.index]:`${u}[1]`,h=E=>e.getSizeSignalRef(E).signal,g=`[[${f?f+"[0]":"0"}, ${d?d+"[0]":"0"}],[${f?f+"[1]":h("width")}, ${d?d+"[1]":h("height")}]]`;s&&(n.unshift({name:r+ZG,init:`[scale(${a}, [${l?p[0]:p}, ${c?m[0]:m}]), scale(${a}, [${l?p[1]:p}, ${c?m[1]:m}])]`}),(!l||!c)&&(n.find(S=>S.name===u)||n.unshift({name:u,update:`invert(${a}, [${h("width")}/2, ${h("height")}/2])`})));let y=`intersect(${g}, {markname: ${K(e.getName("marks"))}}, unit.mark)`,x=`{unit: ${ms(e)}}`,b=`vlSelectionTuples(${y}, ${x})`,v=o.map(E=>E.signals.visual);return n.concat({name:i,on:[{events:[...v.length?[{signal:v.join(" || ")}]:[],...s?[{signal:My}]:[]],update:b}]})}else{if(!Gi.defined(t)){let l=r+JG,c=o.map(f=>{let d=f.channel,{data:p,visual:m}=f.signals,h=K(e.scaleName(d)),g=e.getScaleComponent(d).get("type"),y=Nn(g)?"+":"";return`(!isArray(${p}) || (${y}invert(${h}, ${m})[0] === ${y}${p}[0] && ${y}invert(${h}, ${m})[1] === ${y}${p}[1]))`});c.length&&n.push({name:l,value:{},on:[{events:o.map(f=>({scale:e.scaleName(f.channel)})),update:c.join(" && ")+` ? ${l} : {}`}]})}let a=o.map(l=>l.signals.data),u=`unit: ${ms(e)}, fields: ${r+bu}, values`;return n.concat({name:i,...s?{init:`{${u}: ${Eu(s)}}`}:{},...a.length?{on:[{events:[{signal:a.join(" || ")}],update:`${a.join(" && ")} ? {${u}: [${a}]} : null`}]}:{}})}},topLevelSignals:(e,t,n)=>(Ge(e)&&e.hasProjection&&t.init&&(n.filter(i=>i.name===My).length||n.unshift({name:My,value:null,on:[{events:"timer{1}",update:`${My} === null ? {} : ${My}`}]})),n),marks:(e,t,n)=>{let r=t.name,{x:i,y:o}=t.project.hasChannel,s=i?.signals.visual,a=o?.signals.visual,u=`data(${K(t.name+hs)})`;if(Gi.defined(t)||!i&&!o)return n;let l={x:i!==void 0?{signal:`${s}[0]`}:{value:0},y:o!==void 0?{signal:`${a}[0]`}:{value:0},x2:i!==void 0?{signal:`${s}[1]`}:{field:{group:"width"}},y2:o!==void 0?{signal:`${a}[1]`}:{field:{group:"height"}}};if(t.resolve==="global")for(let g of P(l))l[g]=[{test:`${u}.length && ${u}[0].unit === ${ms(e)}`,...l[g]},{value:0}];let{fill:c,fillOpacity:f,cursor:d,...p}=t.mark,m=P(p).reduce((g,y)=>(g[y]=[{test:[i!==void 0&&`${s}[0] !== ${s}[1]`,o!==void 0&&`${a}[0] !== ${a}[1]`].filter(x=>x).join(" && "),value:p[y]},{value:null}],g),{}),h=d??(t.translate?"move":null);return[{name:`${r+vu}_bg`,type:"rect",clip:!0,encode:{enter:{fill:{value:c},fillOpacity:{value:f}},update:l}},...n,{name:r+vu,type:"rect",clip:!0,encode:{enter:{...h?{cursor:{value:h}}:{},fill:{value:"transparent"}},update:{...l,...m}}}]}},ej=nve;function rve(e,t,n,r){let i=!e.hasProjection,o=n.channel,s=n.signals.visual,a=K(i?e.scaleName(o):e.projectionName()),u=d=>`scale(${a}, ${d})`,l=e.getSizeSignalRef(o===Ye?"width":"height").signal,c=`${o}(unit)`,f=t.events.reduce((d,p)=>[...d,{events:p.between[0],update:`[${c}, ${c}]`},{events:p,update:`[${s}[0], clamp(${c}, 0, ${l})]`}],[]);if(i){let d=n.signals.data,p=Gi.defined(t),m=e.getScaleComponent(o),h=m?m.get("type"):void 0,g=r?{init:Eu(r,!0,u)}:{value:[]};return f.push({events:{signal:t.name+JG},update:Nn(h)?`[${u(`${d}[0]`)}, ${u(`${d}[1]`)}]`:"[0, 0]"}),p?[{name:d,on:[]}]:[{name:s,...g,on:f},{name:d,...r?{init:Eu(r)}:{},on:[{events:{signal:s},update:`${s}[0] === ${s}[1] ? null : invert(${a}, ${s})`}]}]}else{let d=o===Ye?0:1,p=t.name+ZG,m=r?{init:`[${p}[0][${d}], ${p}[1][${d}]]`}:{value:[]};return[{name:s,...m,on:f}]}}function Co({model:e,channelDef:t,vgChannel:n,invalidValueRef:r,mainRefFn:i}){let o=ca(t)&&t.condition,s=[];o&&(s=Z(o).map(l=>{let c=i(l);if(gq(l)){let{param:f,empty:d}=l;return{test:_S(e,{param:f,empty:d}),...c}}else return{test:wf(e,l.test),...c}})),r!==void 0&&s.push(r);let a=i(t);return a!==void 0&&s.push(a),s.length>1||s.length===1&&s[0].test?{[n]:s}:s.length===1?{[n]:s[0]}:{}}function Ll(e,t="text"){let n=e.encoding[t];return Co({model:e,channelDef:n,vgChannel:t,mainRefFn:r=>im(r,e.config),invalidValueRef:void 0})}function im(e,t,n="datum"){if(e){if(cn(e))return $e(e.value);if(Ee(e)){let{format:r,formatType:i}=Yp(e);return jp({fieldOrDatumDef:e,format:r,formatType:i,expr:n,config:t})}}}function om(e,t={}){let{encoding:n,markDef:r,config:i,stack:o}=e,s=n.tooltip;if(O(s))return{tooltip:IN({tooltip:s},o,i,t)};{let a=t.reactiveGeom?"datum.datum":"datum";return Co({model:e,channelDef:s,vgChannel:"tooltip",mainRefFn:l=>{let c=im(l,i,a);if(c)return c;if(l===null)return;let f=Ne("tooltip",r,i);if(f===!0&&(f={content:"encoding"}),Y(f))return{value:f};if(Q(f))return re(f)?f:f.content==="encoding"?IN(n,o,i,t):{signal:a}},invalidValueRef:void 0})}}function NN(e,t,n,{reactiveGeom:r}={}){let i={...n,...n.tooltipFormat},o=new Set,s=r?"datum.datum":"datum",a=[];function u(c,f){let d=zi(f),p=Ot(c)?c:{...c,type:e[d].type},m=p.title||vy(p,i),h=Z(m).join(", ").replaceAll(/"/g,'\\"'),g;if(Xe(f)){let y=f==="x"?"x2":"y2",x=xn(e[y]);if(gt(p.bin)&&x){let b=J(p,{expr:s}),v=J(x,{expr:s}),{format:E,formatType:S}=Yp(p);g=xf(b,v,E,S,i),o.add(y)}}if((Xe(f)||f===jn||f===gr)&&t&&t.fieldChannel===f&&t.offset==="normalize"){let{format:y,formatType:x}=Yp(p);g=jp({fieldOrDatumDef:p,format:y,formatType:x,expr:s,config:i,normalizeStack:!0}).signal}g??(g=im(p,i,s).signal),a.push({channel:f,key:h,value:g})}wy(e,(c,f)=>{V(c)?u(c,f):Vp(c)&&u(c.condition,f)});let l={};for(let{channel:c,key:f,value:d}of a)!o.has(c)&&!l[f]&&(l[f]=d);return l}function IN(e,t,n,{reactiveGeom:r}={}){let i=NN(e,t,n,{reactiveGeom:r}),o=pi(i).map(([s,a])=>`"${s}": ${a}`);return o.length>0?{signal:`{${o.join(", ")}}`}:void 0}function ON(e){let{markDef:t,config:n}=e,r=Ne("aria",t,n);return r===!1?{}:{...r?{aria:r}:{},...ive(e),...ove(e)}}function ive(e){let{mark:t,markDef:n,config:r}=e;if(r.aria===!1)return{};let i=Ne("ariaRoleDescription",n,r);return i!=null?{ariaRoleDescription:{value:i}}:ne(hH,t)?{}:{ariaRoleDescription:{value:t}}}function ove(e){let{encoding:t,markDef:n,config:r,stack:i}=e,o=t.description;if(o)return Co({model:e,channelDef:o,vgChannel:"description",mainRefFn:u=>im(u,e.config),invalidValueRef:void 0});let s=Ne("description",n,r);if(s!=null)return{description:$e(s)};if(r.aria===!1)return{};let a=NN(t,i,r);if(!Ie(a))return{description:{signal:pi(a).map(([u,l],c)=>`"${c>0?"; ":""}${u}: " + (${l})`).join(" + ")}}}function xt(e,t,n={}){let{markDef:r,encoding:i,config:o}=t,{vgChannel:s}=n,{defaultRef:a,defaultValue:u}=n,l=i[e];a===void 0&&(u??(u=Ne(e,r,o,{vgChannel:s,ignoreVgConfig:!ca(l)})),u!==void 0&&(a=$e(u)));let c={markDef:r,config:o,scaleName:t.scaleName(e),scale:t.getScaleComponent(e)},f=Ow({...c,scaleChannel:e,channelDef:l});return Co({model:t,channelDef:l,vgChannel:s??e,invalidValueRef:f,mainRefFn:p=>yy({...c,channel:e,channelDef:p,stack:null,defaultRef:a})})}function sm(e,t={filled:void 0}){let{markDef:n,encoding:r,config:i}=e,{type:o}=n,s=t.filled??Ne("filled",n,i),a=xe(["bar","point","circle","square","geoshape"],o)?"transparent":void 0,u=Ne(s===!0?"color":void 0,n,i,{vgChannel:"fill"})??i.mark[s===!0&&"color"]??a,l=Ne(s===!1?"color":void 0,n,i,{vgChannel:"stroke"})??i.mark[s===!1&&"color"],c=s?"fill":"stroke",f={...u?{fill:$e(u)}:{},...l?{stroke:$e(l)}:{}};return n.color&&(s?n.fill:n.stroke)&&z(L.droppingColor("property",{fill:"fill"in n,stroke:"stroke"in n})),{...f,...xt("color",e,{vgChannel:c,defaultValue:s?u:l}),...xt("fill",e,{defaultValue:r.fill?u:void 0}),...xt("stroke",e,{defaultValue:r.stroke?l:void 0})}}function tj(e){let{encoding:t,mark:n}=e,r=t.order;return!vr(n)&&cn(r)?Co({model:e,channelDef:r,vgChannel:"zindex",mainRefFn:i=>$e(i.value),invalidValueRef:void 0}):{}}function wu({channel:e,markDef:t,encoding:n={},model:r,bandPosition:i}){let o=`${e}Offset`,s=t[o],a=n[o];if((o==="xOffset"||o==="yOffset")&&a)return{offsetType:"encoding",offset:yy({channel:o,channelDef:a,markDef:t,config:r?.config,scaleName:r.scaleName(o),scale:r.getScaleComponent(o),stack:null,defaultRef:$e(s),bandPosition:i})};let u=t[o];return u?{offsetType:"visual",offset:u}:{}}function Pt(e,t,{defaultPos:n,vgChannel:r}){let{encoding:i,markDef:o,config:s,stack:a}=t,u=i[e],l=i[Mn(e)],c=t.scaleName(e),f=t.getScaleComponent(e),{offset:d,offsetType:p}=wu({channel:e,markDef:o,encoding:i,model:t,bandPosition:.5}),m=Iy({model:t,defaultPos:n,channel:e,scaleName:c,scale:f}),h=!u&&Xe(e)&&(i.latitude||i.longitude)?{field:t.getName(e)}:sve({channel:e,channelDef:u,channel2Def:l,markDef:o,config:s,scaleName:c,scale:f,stack:a,offset:d,defaultRef:m,bandPosition:p==="encoding"?0:void 0});return h?{[r||e]:h}:void 0}function sve(e){let{channel:t,channelDef:n,scaleName:r,stack:i,offset:o,markDef:s}=e;if(Ee(n)&&i&&t===i.fieldChannel){if(V(n)){let a=n.bandPosition;if(a===void 0&&s.type==="text"&&(t==="radius"||t==="theta")&&(a=.5),a!==void 0)return qp({scaleName:r,fieldOrDatumDef:n,startSuffix:"start",bandPosition:a,offset:o})}return sa(n,r,{suffix:"end"},{offset:o})}return Gp(e)}function Iy({model:e,defaultPos:t,channel:n,scaleName:r,scale:i}){let{markDef:o,config:s}=e;return()=>{let a=zi(n),u=yo(n),l=Ne(n,o,s,{vgChannel:u});if(l!==void 0)return yf(n,l);switch(t){case"zeroOrMin":return nj({scaleName:r,scale:i,mode:"zeroOrMin",mainChannel:a,config:s});case"zeroOrMax":return nj({scaleName:r,scale:i,mode:{zeroOrMax:{widthSignal:e.width.signal,heightSignal:e.height.signal}},mainChannel:a,config:s});case"mid":return{...e[Nt(n)],mult:.5}}}}function nj({mainChannel:e,config:t,...n}){let r=Nw(n),{mode:i}=n;if(r)return r;switch(e){case"radius":{if(i==="zeroOrMin")return{value:0};let{widthSignal:o,heightSignal:s}=i.zeroOrMax;return{signal:`min(${o},${s})/2`}}case"theta":return i==="zeroOrMin"?{value:0}:{signal:"2*PI"};case"x":return i==="zeroOrMin"?{value:0}:{field:{group:"width"}};case"y":return i==="zeroOrMin"?{field:{group:"height"}}:{value:0}}}var ave={left:"x",center:"xc",right:"x2"},uve={top:"y",middle:"yc",bottom:"y2"};function CS(e,t,n,r="middle"){if(e==="radius"||e==="theta")return yo(e);let i=e==="x"?"align":"baseline",o=Ne(i,t,n),s;return re(o)?(z(L.rangeMarkAlignmentCannotBeExpression(i)),s=void 0):s=o,e==="x"?ave[s||(r==="top"?"left":"center")]:uve[s||r]}function Bl(e,t,{defaultPos:n,defaultPos2:r,range:i}){return i?Ny(e,t,{defaultPos:n,defaultPos2:r}):Pt(e,t,{defaultPos:n})}function Ny(e,t,{defaultPos:n,defaultPos2:r}){let{markDef:i,config:o}=t,s=Mn(e),a=Nt(e),u=lve(t,r,s),l=u[a]?CS(e,i,o):yo(e);return{...Pt(e,t,{defaultPos:n,vgChannel:l}),...u}}function lve(e,t,n){let{encoding:r,mark:i,markDef:o,stack:s,config:a}=e,u=zi(n),l=Nt(n),c=yo(n),f=r[u],d=e.scaleName(u),p=e.getScaleComponent(u),{offset:m}=n in r||n in o?wu({channel:n,markDef:o,encoding:r,model:e}):wu({channel:u,markDef:o,encoding:r,model:e});if(!f&&(n==="x2"||n==="y2")&&(r.latitude||r.longitude)){let g=Nt(n),y=e.markDef[g];return y!=null?{[g]:{value:y}}:{[c]:{field:e.getName(n)}}}let h=cve({channel:n,channelDef:f,channel2Def:r[n],markDef:o,config:a,scaleName:d,scale:p,stack:s,offset:m,defaultRef:void 0});return h!==void 0?{[c]:h}:kS(n,o)||kS(n,{[n]:mw(n,o,a.style),[l]:mw(l,o,a.style)})||kS(n,a[i])||kS(n,a.mark)||{[c]:Iy({model:e,defaultPos:t,channel:n,scaleName:d,scale:p})()}}function cve({channel:e,channelDef:t,channel2Def:n,markDef:r,config:i,scaleName:o,scale:s,stack:a,offset:u,defaultRef:l}){return Ee(t)&&a&&e.charAt(0)===a.fieldChannel.charAt(0)?sa(t,o,{suffix:"start"},{offset:u}):Gp({channel:e,channelDef:n,scaleName:o,scale:s,stack:a,markDef:r,config:i,offset:u,defaultRef:l})}function kS(e,t){let n=Nt(e),r=yo(e);if(t[r]!==void 0)return{[r]:yf(e,t[r])};if(t[e]!==void 0)return{[r]:yf(e,t[e])};if(t[n]){let i=t[n];if(oa(i))z(L.relativeBandSizeNotSupported(n));else return{[n]:yf(e,i)}}}function Cr(e,t){let{config:n,encoding:r,markDef:i}=e,o=i.type,s=Mn(t),a=Nt(t),u=r[t],l=r[s],c=e.getScaleComponent(t),f=c?c.get("type"):void 0,d=i.orient,p=r[a]??r.size??Ne("size",i,n,{vgChannel:a}),m=bI(t),h=o==="bar"&&(t==="x"?d==="vertical":d==="horizontal")||o==="tick"&&(t==="y"?d==="vertical":d==="horizontal");return V(u)&&(Pe(u.bin)||gt(u.bin)||u.timeUnit&&!l)&&!(p&&!oa(p))&&!r[m]&&!at(f)?pve({fieldDef:u,fieldDef2:l,channel:t,model:e}):(Ee(u)&&at(f)||h)&&!l?dve(u,t,e):Ny(t,e,{defaultPos:"zeroOrMax",defaultPos2:"zeroOrMin"})}function fve(e,t,n,r,i,o,s){if(oa(i))if(n){let u=n.get("type");if(u==="band"){let l=`bandwidth('${t}')`;i.band!==1&&(l=`${i.band} * ${l}`);let c=Xr("minBandSize",{type:s},r);return{signal:c?`max(${Yr(c)}, ${l})`:l}}else i.band!==1&&(z(L.cannotUseRelativeBandSizeWithNonBandScale(u)),i=void 0)}else return{mult:i.band,field:{group:e}};else{if(re(i))return i;if(i)return{value:i}}if(n){let u=n.get("range");if(xi(u)&&Te(u.step))return{value:u.step-2}}if(!o){let{bandPaddingInner:u,barBandPaddingInner:l,rectBandPaddingInner:c,tickBandPaddingInner:f}=r.scale,d=Le(u,s==="tick"?f:s==="bar"?l:c);if(re(d))return{signal:`(1 - (${d.signal})) * ${e}`};if(Te(d))return{signal:`${1-d} * ${e}`}}return{value:Fy(r.view,e)-2}}function dve(e,t,n){let{markDef:r,encoding:i,config:o,stack:s}=n,a=r.orient,u=n.scaleName(t),l=n.getScaleComponent(t),c=Nt(t),f=Mn(t),d=bI(t),p=n.scaleName(d),m=n.getScaleComponent(Mp(t)),h=r.type==="tick"||a==="horizontal"&&t==="y"||a==="vertical"&&t==="x",g;(i.size||r.size)&&(h?g=xt("size",n,{vgChannel:c,defaultRef:$e(r.size)}):z(L.cannotApplySizeToNonOrientedMark(r.type)));let y=!!g,x=VI({channel:t,fieldDef:e,markDef:r,config:o,scaleType:(l||m)?.get("type"),useVlSizeChannel:h});g=g||{[c]:fve(c,p||u,m||l,o,x,!!e,r.type)};let b=(l||m)?.get("type")==="band"&&oa(x)&&!y?"top":"middle",v=CS(t,r,o,b),E=v==="xc"||v==="yc",{offset:S,offsetType:w}=wu({channel:t,markDef:r,encoding:i,model:n,bandPosition:E?.5:0}),A=Gp({channel:t,channelDef:e,markDef:r,config:o,scaleName:u,scale:l,stack:s,offset:S,defaultRef:Iy({model:n,defaultPos:"mid",channel:t,scaleName:u,scale:l}),bandPosition:E?w==="encoding"?0:.5:re(x)?{signal:`(1-${x})/2`}:oa(x)?(1-x.band)/2:0});if(c)return{[v]:A,...g};{let C=yo(f),_=g[c],F=S?{..._,offset:S}:_;return{[v]:A,[C]:O(A)?[A[0],{...A[1],offset:F}]:{...A,offset:F}}}}function rj(e,t,n,r,i,o,s){if(hI(e))return 0;let a=e==="x"||e==="y2",u=a?-t/2:t/2;if(re(n)||re(i)||re(r)||o){let l=Yr(n),c=Yr(i),f=Yr(r),d=Yr(o),m=o?`(${s} < ${d} ? ${a?"":"-"}0.5 * (${d} - (${s})) : ${u})`:u,h=f?`${f} + `:"",g=l?`(${l} ? -1 : 1) * `:"",y=c?`(${c} + ${m})`:m;return{signal:h+g+y}}else return i=i||0,r+(n?-i-u:+i+u)}function pve({fieldDef:e,fieldDef2:t,channel:n,model:r}){let{config:i,markDef:o,encoding:s}=r,a=r.getScaleComponent(n),u=r.scaleName(n),l=a?a.get("type"):void 0,c=a.get("reverse"),f=VI({channel:n,fieldDef:e,markDef:o,config:i,scaleType:l}),p=r.component.axes[n]?.[0]?.get("translate")??.5,m=Xe(n)?Ne("binSpacing",o,i)??0:0,h=Mn(n),g=yo(n),y=yo(h),x=Xr("minBandSize",o,i),{offset:b}=wu({channel:n,markDef:o,encoding:s,model:r,bandPosition:0}),{offset:v}=wu({channel:h,markDef:o,encoding:s,model:r,bandPosition:0}),E=cq({fieldDef:e,scaleName:u}),S=rj(n,m,c,p,b,x,E),w=rj(h,m,c,p,v??b,x,E),A=re(f)?{signal:`(1-${f.signal})/2`}:oa(f)?(1-f.band)/2:.5,C=bi({fieldDef:e,fieldDef2:t,markDef:o,config:i});if(Pe(e.bin)||e.timeUnit){let _=e.timeUnit&&C!==.5;return{[y]:ij({fieldDef:e,scaleName:u,bandPosition:A,offset:w,useRectOffsetField:_}),[g]:ij({fieldDef:e,scaleName:u,bandPosition:re(A)?{signal:`1-${A.signal}`}:1-A,offset:S,useRectOffsetField:_})}}else if(gt(e.bin)){let _=sa(e,u,{},{offset:w});if(V(t))return{[y]:_,[g]:sa(t,u,{},{offset:S})};if(ss(e.bin)&&e.bin.step)return{[y]:_,[g]:{signal:`scale("${u}", ${J(e,{expr:"datum"})} + ${e.bin.step})`,offset:S}}}z(L.channelRequiredForBinned(h))}function ij({fieldDef:e,scaleName:t,bandPosition:n,offset:r,useRectOffsetField:i}){return qp({scaleName:t,fieldOrDatumDef:e,bandPosition:n,offset:r,...i?{startSuffix:vf,endSuffix:Ef}:{}})}var mve=new Set(["aria","width","height"]);function Rt(e,t){let{fill:n=void 0,stroke:r=void 0}=t.color==="include"?sm(e):{};return{...hve(e.markDef,t),...oj("fill",n),...oj("stroke",r),...xt("opacity",e),...xt("fillOpacity",e),...xt("strokeOpacity",e),...xt("strokeWidth",e),...xt("strokeDash",e),...tj(e),...om(e),...Ll(e,"href"),...ON(e)}}function oj(e,t){return t?{[e]:t}:{}}function hve(e,t){return mH.reduce((n,r)=>(!mve.has(r)&&W(e,r)&&t[r]!=="ignore"&&(n[r]=$e(e[r])),n),{})}function am(e){let{config:t,markDef:n}=e,r=new Set;if(e.forEachFieldDef((i,o)=>{let s;if(!ln(o)||!(s=e.getScaleType(o)))return;let a=Dl(i.aggregate),u=Hp({scaleChannel:o,markDef:n,config:t,scaleType:s,isCountAggregate:a});if(uq(u)){let l=e.vgField(o,{expr:"datum",binSuffix:e.stack?.impute?"mid":void 0});l&&r.add(l)}}),r.size>0)return{defined:{signal:[...r].map(o=>df(o,!0)).join(" && ")}}}function FS(e,t){if(t!==void 0)return{[e]:$e(t)}}var PN="voronoi",gve={defined:e=>e.type==="point"&&e.nearest,parse:(e,t)=>{if(t.events)for(let n of t.events)n.markname=e.getName(PN)},marks:(e,t,n)=>{let{x:r,y:i}=t.project.hasChannel,o=e.mark;if(vr(o))return z(L.nearestNotSupportForContinuous(o)),n;let s={name:e.getName(PN),type:"path",interactive:!0,from:{data:e.getName("marks")},encode:{update:{fill:{value:"transparent"},strokeWidth:{value:.35},stroke:{value:"transparent"},isVoronoi:{value:!0},...om(e,{reactiveGeom:!0})}},transform:[{type:"voronoi",x:{expr:r||!i?"datum.datum.x || 0":"0"},y:{expr:i||!r?"datum.datum.y || 0":"0"},size:[e.getSizeSignalRef("width"),e.getSizeSignalRef("height")]}]},a=0,u=!1;return n.forEach((l,c)=>{let f=l.name??"";f===e.component.mark[0].name?a=c:f.includes(PN)&&(u=!0)}),u||n.splice(a+1,0,s),n}},TS=gve;var yve={defined:e=>e.type==="point"&&e.resolve==="global"&&e.bind&&e.bind!=="scales"&&!_y(e.bind),parse:(e,t,n)=>DS(t,n),topLevelSignals:(e,t,n)=>{let r=t.name,i=t.project,o=t.bind,s=t.init&&t.init[0],a=TS.defined(t)?"(item().isVoronoi ? datum.datum : datum)":"datum";return i.items.forEach((u,l)=>{let c=He(`${r}_${u.field}`);n.filter(d=>d.name===c).length||n.unshift({name:c,...s?{init:Eu(s[l])}:{value:null},on:t.events?[{events:t.events,update:`datum && item().mark.marktype !== 'group' ? ${a}[${K(u.field)}] : null`}]:[],bind:o[u.field]??o[u.channel]??o})}),n},signals:(e,t,n)=>{let r=t.name,i=t.project,o=n.find(l=>l.name===r+_r),s=r+bu,a=i.items.map(l=>He(`${r}_${l.field}`)),u=a.map(l=>`${l} !== null`).join(" && ");return a.length&&(o.update=`${u} ? {fields: ${s}, values: [${a.join(", ")}]} : null`),delete o.value,delete o.on,n}},RS=yve;var um="_toggle",xve={defined:e=>e.type==="point"&&!On(e)&&!!e.toggle,signals:(e,t,n)=>n.concat({name:t.name+um,value:!1,on:[{events:t.events,update:t.toggle}]}),modifyExpr:(e,t)=>{let n=t.name+_r,r=t.name+um;return`${r} ? null : ${n}, `+(t.resolve==="global"?`${r} ? null : true, `:`${r} ? null : {unit: ${ms(e)}}, `)+`${r} ? ${n} : null`}},MS=xve;var bve={defined:e=>e.clear!==void 0&&e.clear!==!1&&!On(e),parse:(e,t)=>{t.clear&&(t.clear=Y(t.clear)?mr(t.clear,"view"):t.clear)},topLevelSignals:(e,t,n)=>{if(RS.defined(t))for(let r of t.project.items){let i=n.findIndex(o=>o.name===He(`${t.name}_${r.field}`));i!==-1&&n[i].on.push({events:t.clear,update:"null"})}return n},signals:(e,t,n)=>{function r(i,o){i!==-1&&n[i].on&&n[i].on.push({events:t.clear,update:o})}if(t.type==="interval")for(let i of t.project.items){let o=n.findIndex(s=>s.name===i.signals.visual);if(r(o,"[0, 0]"),o===-1){let s=n.findIndex(a=>a.name===i.signals.data);r(s,"null")}}else{let i=n.findIndex(o=>o.name===t.name+_r);r(i,"null"),MS.defined(t)&&(i=n.findIndex(o=>o.name===t.name+um),r(i,"false"))}return n}},sj=bve;var aj={defined:e=>{let t=e.resolve==="global"&&e.bind&&_y(e.bind),n=e.project.items.length===1&&e.project.items[0].field!==Qn;return t&&!n&&z(L.LEGEND_BINDINGS_MUST_HAVE_PROJECTION),t&&n},parse:(e,t,n)=>{let r=ie(n);if(r.select=Y(r.select)?{type:r.select,toggle:t.toggle}:{...r.select,toggle:t.toggle},DS(t,r),Q(n.select)&&(n.select.on||n.select.clear)){let s='event.item && indexof(event.item.mark.role, "legend") < 0';for(let a of t.events)a.filter=Z(a.filter??[]),a.filter.includes(s)||a.filter.push(s)}let i=oS(t.bind)?t.bind.legend:"click",o=Y(i)?mr(i,"view"):Z(i);t.bind={legend:{merge:o}}},topLevelSignals:(e,t,n)=>{let r=t.name,i=oS(t.bind)&&t.bind.legend,o=s=>a=>{let u=ie(a);return u.markname=s,u};for(let s of t.project.items){if(!s.hasLegend)continue;let a=`${He(s.field)}_legend`,u=`${r}_${a}`;if(n.filter(c=>c.name===u).length===0){let c=i.merge.map(o(`${a}_symbols`)).concat(i.merge.map(o(`${a}_labels`))).concat(i.merge.map(o(`${a}_entries`)));n.unshift({name:u,...t.init?{}:{value:null},on:[{events:c,update:"isDefined(datum.value) ? datum.value : item().items[0].items[0].datum.value",force:!0},{events:i.merge,update:`!event.item || !datum ? null : ${u}`,force:!0}]})}}return n},signals:(e,t,n)=>{let r=t.name,i=t.project,o=n.find(d=>d.name===r+_r),s=r+bu,a=i.items.filter(d=>d.hasLegend).map(d=>He(`${r}_${He(d.field)}_legend`)),l=`${a.map(d=>`${d} !== null`).join(" && ")} ? {fields: ${s}, values: [${a.join(", ")}]} : null`;t.events&&a.length>0?o.on.push({events:a.map(d=>({signal:d})),update:l}):a.length>0&&(o.update=l,delete o.value,delete o.on);let c=n.find(d=>d.name===r+um),f=oS(t.bind)&&t.bind.legend;return c&&(t.events?c.on.push({...c.on[0],events:f}):c.on[0].events=f),n}},uj=aj;function lj(e,t,n){let r=e.fieldDef(t)?.field;for(let i of mt(e.component.selection??{})){let o=i.project.hasField[r]??i.project.hasChannel[t];if(o&&aj.defined(i)){let s=n.get("selections")??[];s.push(i.name),n.set("selections",s,!1),o.hasLegend=!0}}}var fj="_translate_anchor",dj="_translate_delta",vve={defined:e=>e.type==="interval"&&e.translate,signals:(e,t,n)=>{let r=t.name,i=Gi.defined(t),o=r+fj,{x:s,y:a}=t.project.hasChannel,u=mr(t.translate,"scope");return i||(u=u.map(l=>(l.between[0].markname=r+vu,l))),n.push({name:o,value:{},on:[{events:u.map(l=>l.between[0]),update:"{x: x(unit), y: y(unit)"+(s!==void 0?`, extent_x: ${i?Dy(e,Ye):`slice(${s.signals.visual})`}`:"")+(a!==void 0?`, extent_y: ${i?Dy(e,ht):`slice(${a.signals.visual})`}`:"")+"}"}]},{name:r+dj,value:{},on:[{events:u,update:`{x: ${o}.x - x(unit), y: ${o}.y - y(unit)}`}]}),s!==void 0&&cj(e,t,s,"width",n),a!==void 0&&cj(e,t,a,"height",n),n}},pj=vve;function cj(e,t,n,r,i){let o=t.name,s=o+fj,a=o+dj,u=n.channel,l=Gi.defined(t),c=i.find(E=>E.name===n.signals[l?"data":"visual"]),f=e.getSizeSignalRef(r).signal,d=e.getScaleComponent(u),p=d&&d.get("type"),m=d&&d.get("reverse"),h=l?u===Ye?m?"":"-":m?"-":"":"",g=`${s}.extent_${u}`,y=`${h}${a}.${u} / ${l?`${f}`:`span(${g})`}`,x=!l||!d?"panLinear":p==="log"?"panLog":p==="symlog"?"panSymlog":p==="pow"?"panPow":"panLinear",b=l?p==="pow"?`, ${d.get("exponent")??1}`:p==="symlog"?`, ${d.get("constant")??1}`:"":"",v=`${x}(${g}, ${y}${b})`;c.on.push({events:{signal:a},update:l?v:`clampRange(${v}, 0, ${f})`})}var hj="_zoom_anchor",gj="_zoom_delta",Eve={defined:e=>e.type==="interval"&&e.zoom,signals:(e,t,n)=>{let r=t.name,i=Gi.defined(t),o=r+gj,{x:s,y:a}=t.project.hasChannel,u=K(e.scaleName(Ye)),l=K(e.scaleName(ht)),c=mr(t.zoom,"scope");return i||(c=c.map(f=>(f.markname=r+vu,f))),n.push({name:r+hj,on:[{events:c,update:i?"{"+[u?`x: invert(${u}, x(unit))`:"",l?`y: invert(${l}, y(unit))`:""].filter(f=>f).join(", ")+"}":"{x: x(unit), y: y(unit)}"}]},{name:o,on:[{events:c,force:!0,update:"pow(1.001, event.deltaY * pow(16, event.deltaMode))"}]}),s!==void 0&&mj(e,t,s,"width",n),a!==void 0&&mj(e,t,a,"height",n),n}},yj=Eve;function mj(e,t,n,r,i){let o=t.name,s=n.channel,a=Gi.defined(t),u=i.find(x=>x.name===n.signals[a?"data":"visual"]),l=e.getSizeSignalRef(r).signal,c=e.getScaleComponent(s),f=c&&c.get("type"),d=a?Dy(e,s):u.name,p=o+gj,m=`${o}${hj}.${s}`,h=!a||!c?"zoomLinear":f==="log"?"zoomLog":f==="symlog"?"zoomSymlog":f==="pow"?"zoomPow":"zoomLinear",g=a?f==="pow"?`, ${c.get("exponent")??1}`:f==="symlog"?`, ${c.get("constant")??1}`:"":"",y=`${h}(${d}, ${m}, ${p}${g})`;u.on.push({events:{signal:p},update:a?y:`clampRange(${y}, 0, ${l})`})}var hs="_store",_r="_tuple",QG="_modify";var SS="vlSelectionResolve",rm=[GG,ej,zG,MS,RS,Gi,uj,sj,pj,yj,TS];function wve(e){let t=e.parent;for(;t&&!Qt(t);)t=t.parent;return t}function ms(e,{escape:t}={escape:!0}){let n=t?K(e.name):e.name,r=wve(e);if(r){let{facet:i}=r;for(let o of Dn)i[o]&&(n+=` + '__facet_${o}_' + (facet[${K(r.vgField(o))}])`)}return n}function Oy(e){return mt(e.component.selection??{}).reduce((t,n)=>t||n.project.hasSelectionId,!1)}function DS(e,t){(Y(t.select)||!t.select.on)&&delete e.events,(Y(t.select)||!t.select.clear)&&delete e.clear,(Y(t.select)||!t.select.toggle)&&delete e.toggle}function On(e){return e.events?.find(t=>"type"in t&&t.type==="timer")}var Sve="RawCode",Ave="Literal",_ve="Property",Cve="Identifier",kve="ArrayExpression",Fve="BinaryExpression",Tve="CallExpression",Rve="ConditionalExpression",Dve="LogicalExpression",Mve="MemberExpression",Ive="ObjectExpression",Nve="UnaryExpression";function gs(e){this.type=e}gs.prototype.visit=function(e){let t,n,r;if(e(this))return 1;for(t=Ove(this),n=0,r=t.length;n<r;++n)if(t[n].visit(e))return 1};function Ove(e){switch(e.type){case kve:return e.elements;case Fve:case Dve:return[e.left,e.right];case Tve:return[e.callee].concat(e.arguments);case Rve:return[e.test,e.consequent,e.alternate];case Mve:return[e.object,e.property];case Ive:return e.properties;case _ve:return[e.key,e.value];case Nve:return[e.argument];case Cve:case Ave:case Sve:default:return[]}}var ma,ge,j,kr,ut,OS=1,Uy=2,Sf=3,Ul=4,PS=5,_f=6,wi=7,zy=8,Pve=9;ma={};ma[OS]="Boolean";ma[Uy]="<end>";ma[Sf]="Identifier";ma[Ul]="Keyword";ma[PS]="Null";ma[_f]="Numeric";ma[wi]="Punctuator";ma[zy]="String";ma[Pve]="RegularExpression";var $ve="ArrayExpression",Lve="BinaryExpression",Bve="CallExpression",Uve="ConditionalExpression",_j="Identifier",zve="Literal",Hve="LogicalExpression",qve="MemberExpression",Gve="ObjectExpression",jve="Property",Wve="UnaryExpression",Pn="Unexpected token %0",Vve="Unexpected number",Yve="Unexpected string",Xve="Unexpected identifier",Kve="Unexpected reserved word",Qve="Unexpected end of input",UN="Invalid regular expression",$N="Invalid regular expression: missing /",Cj="Octal literals are not allowed in strict mode.",Jve="Duplicate data property in object literal not allowed in strict mode",Jn="ILLEGAL",Ly="Disabled.",Zve=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"),eEe=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]");function $S(e,t){if(!e)throw new Error("ASSERT: "+t)}function Su(e){return e>=48&&e<=57}function HN(e){return"0123456789abcdefABCDEF".includes(e)}function $y(e){return"01234567".includes(e)}function tEe(e){return e===32||e===9||e===11||e===12||e===160||e>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].includes(e)}function By(e){return e===10||e===13||e===8232||e===8233}function Hy(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e===92||e>=128&&Zve.test(String.fromCharCode(e))}function NS(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===92||e>=128&&eEe.test(String.fromCharCode(e))}var nEe={if:1,in:1,do:1,var:1,for:1,new:1,try:1,let:1,this:1,else:1,case:1,void:1,with:1,enum:1,while:1,break:1,catch:1,throw:1,const:1,yield:1,class:1,super:1,return:1,typeof:1,delete:1,switch:1,export:1,import:1,public:1,static:1,default:1,finally:1,extends:1,package:1,private:1,function:1,continue:1,debugger:1,interface:1,protected:1,instanceof:1,implements:1};function kj(){for(;j<kr;){let e=ge.charCodeAt(j);if(tEe(e)||By(e))++j;else break}}function zN(e){var t,n,r,i=0;for(n=e==="u"?4:2,t=0;t<n;++t)j<kr&&HN(ge[j])?(r=ge[j++],i=i*16+"0123456789abcdef".indexOf(r.toLowerCase())):et({},Pn,Jn);return String.fromCharCode(i)}function rEe(){var e,t,n,r;for(e=ge[j],t=0,e==="}"&&et({},Pn,Jn);j<kr&&(e=ge[j++],!!HN(e));)t=t*16+"0123456789abcdef".indexOf(e.toLowerCase());return(t>1114111||e!=="}")&&et({},Pn,Jn),t<=65535?String.fromCharCode(t):(n=(t-65536>>10)+55296,r=(t-65536&1023)+56320,String.fromCharCode(n,r))}function Fj(){var e,t;for(e=ge.charCodeAt(j++),t=String.fromCharCode(e),e===92&&(ge.charCodeAt(j)!==117&&et({},Pn,Jn),++j,e=zN("u"),(!e||e==="\\"||!Hy(e.charCodeAt(0)))&&et({},Pn,Jn),t=e);j<kr&&(e=ge.charCodeAt(j),!!NS(e));)++j,t+=String.fromCharCode(e),e===92&&(t=t.substr(0,t.length-1),ge.charCodeAt(j)!==117&&et({},Pn,Jn),++j,e=zN("u"),(!e||e==="\\"||!NS(e.charCodeAt(0)))&&et({},Pn,Jn),t+=e);return t}function iEe(){var e,t;for(e=j++;j<kr;){if(t=ge.charCodeAt(j),t===92)return j=e,Fj();if(NS(t))++j;else break}return ge.slice(e,j)}function oEe(){var e,t,n;return e=j,t=ge.charCodeAt(j)===92?Fj():iEe(),t.length===1?n=Sf:nEe.hasOwnProperty(t)?n=Ul:t==="null"?n=PS:t==="true"||t==="false"?n=OS:n=Sf,{type:n,value:t,start:e,end:j}}function LN(){var e=j,t=ge.charCodeAt(j),n,r=ge[j],i,o,s;switch(t){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++j,{type:wi,value:String.fromCharCode(t),start:e,end:j};default:if(n=ge.charCodeAt(j+1),n===61)switch(t){case 43:case 45:case 47:case 60:case 62:case 94:case 124:case 37:case 38:case 42:return j+=2,{type:wi,value:String.fromCharCode(t)+String.fromCharCode(n),start:e,end:j};case 33:case 61:return j+=2,ge.charCodeAt(j)===61&&++j,{type:wi,value:ge.slice(e,j),start:e,end:j}}}if(s=ge.substr(j,4),s===">>>=")return j+=4,{type:wi,value:s,start:e,end:j};if(o=s.substr(0,3),o===">>>"||o==="<<="||o===">>=")return j+=3,{type:wi,value:o,start:e,end:j};if(i=o.substr(0,2),r===i[1]&&"+-<>&|".includes(r)||i==="=>")return j+=2,{type:wi,value:i,start:e,end:j};if(i==="//"&&et({},Pn,Jn),"<>=!+-*%&|^/".includes(r))return++j,{type:wi,value:r,start:e,end:j};et({},Pn,Jn)}function sEe(e){let t="";for(;j<kr&&HN(ge[j]);)t+=ge[j++];return t.length===0&&et({},Pn,Jn),Hy(ge.charCodeAt(j))&&et({},Pn,Jn),{type:_f,value:parseInt("0x"+t,16),start:e,end:j}}function aEe(e){let t="0"+ge[j++];for(;j<kr&&$y(ge[j]);)t+=ge[j++];return(Hy(ge.charCodeAt(j))||Su(ge.charCodeAt(j)))&&et({},Pn,Jn),{type:_f,value:parseInt(t,8),octal:!0,start:e,end:j}}function xj(){var e,t,n;if(n=ge[j],$S(Su(n.charCodeAt(0))||n===".","Numeric literal must start with a decimal digit or a decimal point"),t=j,e="",n!=="."){if(e=ge[j++],n=ge[j],e==="0"){if(n==="x"||n==="X")return++j,sEe(t);if($y(n))return aEe(t);n&&Su(n.charCodeAt(0))&&et({},Pn,Jn)}for(;Su(ge.charCodeAt(j));)e+=ge[j++];n=ge[j]}if(n==="."){for(e+=ge[j++];Su(ge.charCodeAt(j));)e+=ge[j++];n=ge[j]}if(n==="e"||n==="E")if(e+=ge[j++],n=ge[j],(n==="+"||n==="-")&&(e+=ge[j++]),Su(ge.charCodeAt(j)))for(;Su(ge.charCodeAt(j));)e+=ge[j++];else et({},Pn,Jn);return Hy(ge.charCodeAt(j))&&et({},Pn,Jn),{type:_f,value:parseFloat(e),start:t,end:j}}function uEe(){var e="",t,n,r,i,o=!1;for(t=ge[j],$S(t==="'"||t==='"',"String literal must starts with a quote"),n=j,++j;j<kr;)if(r=ge[j++],r===t){t="";break}else if(r==="\\")if(r=ge[j++],!r||!By(r.charCodeAt(0)))switch(r){case"u":case"x":ge[j]==="{"?(++j,e+=rEe()):e+=zN(r);break;case"n":e+=` |
| 16 | `;break;case"r":e+="\r";break;case"t":e+=" ";break;case"b":e+="\b";break;case"f":e+="\f";break;case"v":e+="\v";break;default:$y(r)?(i="01234567".indexOf(r),i!==0&&(o=!0),j<kr&&$y(ge[j])&&(o=!0,i=i*8+"01234567".indexOf(ge[j++]),"0123".includes(r)&&j<kr&&$y(ge[j])&&(i=i*8+"01234567".indexOf(ge[j++]))),e+=String.fromCharCode(i)):e+=r;break}else r==="\r"&&ge[j]===` |
| 17 | `&&++j;else{if(By(r.charCodeAt(0)))break;e+=r}return t!==""&&et({},Pn,Jn),{type:zy,value:e,octal:o,start:n,end:j}}function lEe(e,t){let n=e;t.includes("u")&&(n=n.replace(/\\u\{([0-9a-fA-F]+)\}/g,(r,i)=>{if(parseInt(i,16)<=1114111)return"x";et({},UN)}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"));try{new RegExp(n)}catch{et({},UN)}try{return new RegExp(e,t)}catch{return null}}function cEe(){var e,t,n,r,i;for(e=ge[j],$S(e==="/","Regular expression literal must start with a slash"),t=ge[j++],n=!1,r=!1;j<kr;)if(e=ge[j++],t+=e,e==="\\")e=ge[j++],By(e.charCodeAt(0))&&et({},$N),t+=e;else if(By(e.charCodeAt(0)))et({},$N);else if(n)e==="]"&&(n=!1);else if(e==="/"){r=!0;break}else e==="["&&(n=!0);return r||et({},$N),i=t.substr(1,t.length-2),{value:i,literal:t}}function fEe(){var e,t,n;for(t="",n="";j<kr&&(e=ge[j],!!NS(e.charCodeAt(0)));)++j,e==="\\"&&j<kr?et({},Pn,Jn):(n+=e,t+=e);return n.search(/[^gimuy]/g)>=0&&et({},UN,n),{value:n,literal:t}}function dEe(){var e,t,n,r;return ut=null,kj(),e=j,t=cEe(),n=fEe(),r=lEe(t.value,n.value),{literal:t.literal+n.literal,value:r,regex:{pattern:t.value,flags:n.value},start:e,end:j}}function pEe(e){return e.type===Sf||e.type===Ul||e.type===OS||e.type===PS}function Tj(){if(kj(),j>=kr)return{type:Uy,start:j,end:j};let e=ge.charCodeAt(j);return Hy(e)?oEe():e===40||e===41||e===59?LN():e===39||e===34?uEe():e===46?Su(ge.charCodeAt(j+1))?xj():LN():Su(e)?xj():LN()}function Si(){let e=ut;return j=e.end,ut=Tj(),j=e.end,e}function Rj(){let e=j;ut=Tj(),j=e}function mEe(e){let t=new gs($ve);return t.elements=e,t}function bj(e,t,n){let r=new gs(e==="||"||e==="&&"?Hve:Lve);return r.operator=e,r.left=t,r.right=n,r}function hEe(e,t){let n=new gs(Bve);return n.callee=e,n.arguments=t,n}function gEe(e,t,n){let r=new gs(Uve);return r.test=e,r.consequent=t,r.alternate=n,r}function qN(e){let t=new gs(_j);return t.name=e,t}function Py(e){let t=new gs(zve);return t.value=e.value,t.raw=ge.slice(e.start,e.end),e.regex&&(t.raw==="//"&&(t.raw="/(?:)/"),t.regex=e.regex),t}function vj(e,t,n){let r=new gs(qve);return r.computed=e==="[",r.object=t,r.property=n,r.computed||(n.member=!0),r}function yEe(e){let t=new gs(Gve);return t.properties=e,t}function Ej(e,t,n){let r=new gs(jve);return r.key=t,r.value=n,r.kind=e,r}function xEe(e,t){let n=new gs(Wve);return n.operator=e,n.argument=t,n.prefix=!0,n}function et(e,t){var n,r=Array.prototype.slice.call(arguments,2),i=t.replace(/%(\d)/g,(o,s)=>($S(s<r.length,"Message reference must be in range"),r[s]));throw n=new Error(i),n.index=j,n.description=i,n}function LS(e){e.type===Uy&&et(e,Qve),e.type===_f&&et(e,Vve),e.type===zy&&et(e,Yve),e.type===Sf&&et(e,Xve),e.type===Ul&&et(e,Kve),et(e,Pn,e.value)}function Fr(e){let t=Si();(t.type!==wi||t.value!==e)&&LS(t)}function At(e){return ut.type===wi&&ut.value===e}function BN(e){return ut.type===Ul&&ut.value===e}function bEe(){let e=[];for(j=ut.start,Fr("[");!At("]");)At(",")?(Si(),e.push(null)):(e.push(Af()),At("]")||Fr(","));return Si(),mEe(e)}function wj(){j=ut.start;let e=Si();return e.type===zy||e.type===_f?(e.octal&&et(e,Cj),Py(e)):qN(e.value)}function vEe(){var e,t,n,r;if(j=ut.start,e=ut,e.type===Sf)return n=wj(),Fr(":"),r=Af(),Ej("init",n,r);if(e.type===Uy||e.type===wi)LS(e);else return t=wj(),Fr(":"),r=Af(),Ej("init",t,r)}function EEe(){var e=[],t,n,r,i={},o=String;for(j=ut.start,Fr("{");!At("}");)t=vEe(),t.key.type===_j?n=t.key.name:n=o(t.key.value),r="$"+n,Object.prototype.hasOwnProperty.call(i,r)?et({},Jve):i[r]=!0,e.push(t),At("}")||Fr(",");return Fr("}"),yEe(e)}function wEe(){Fr("(");let e=GN();return Fr(")"),e}var SEe={if:1};function AEe(){var e,t,n;if(At("("))return wEe();if(At("["))return bEe();if(At("{"))return EEe();if(e=ut.type,j=ut.start,e===Sf||SEe[ut.value])n=qN(Si().value);else if(e===zy||e===_f)ut.octal&&et(ut,Cj),n=Py(Si());else{if(e===Ul)throw new Error(Ly);e===OS?(t=Si(),t.value=t.value==="true",n=Py(t)):e===PS?(t=Si(),t.value=null,n=Py(t)):At("/")||At("/=")?(n=Py(dEe()),Rj()):LS(Si())}return n}function _Ee(){let e=[];if(Fr("("),!At(")"))for(;j<kr&&(e.push(Af()),!At(")"));)Fr(",");return Fr(")"),e}function CEe(){j=ut.start;let e=Si();return pEe(e)||LS(e),qN(e.value)}function kEe(){return Fr("."),CEe()}function FEe(){Fr("[");let e=GN();return Fr("]"),e}function TEe(){var e,t,n;for(e=AEe();;)if(At("."))n=kEe(),e=vj(".",e,n);else if(At("("))t=_Ee(),e=hEe(e,t);else if(At("["))n=FEe(),e=vj("[",e,n);else break;return e}function Sj(){let e=TEe();if(ut.type===wi&&(At("++")||At("--")))throw new Error(Ly);return e}function IS(){var e,t;if(ut.type!==wi&&ut.type!==Ul)t=Sj();else{if(At("++")||At("--"))throw new Error(Ly);if(At("+")||At("-")||At("~")||At("!"))e=Si(),t=IS(),t=xEe(e.value,t);else{if(BN("delete")||BN("void")||BN("typeof"))throw new Error(Ly);t=Sj()}}return t}function Aj(e){let t=0;if(e.type!==wi&&e.type!==Ul)return 0;switch(e.value){case"||":t=1;break;case"&&":t=2;break;case"|":t=3;break;case"^":t=4;break;case"&":t=5;break;case"==":case"!=":case"===":case"!==":t=6;break;case"<":case">":case"<=":case">=":case"instanceof":case"in":t=7;break;case"<<":case">>":case">>>":t=8;break;case"+":case"-":t=9;break;case"*":case"/":case"%":t=11;break}return t}function REe(){var e,t,n,r,i,o,s,a,u,l;if(e=ut,u=IS(),r=ut,i=Aj(r),i===0)return u;for(r.prec=i,Si(),t=[e,ut],s=IS(),o=[u,r,s];(i=Aj(ut))>0;){for(;o.length>2&&i<=o[o.length-2].prec;)s=o.pop(),a=o.pop().value,u=o.pop(),t.pop(),n=bj(a,u,s),o.push(n);r=Si(),r.prec=i,o.push(r),t.push(ut),n=IS(),o.push(n)}for(l=o.length-1,n=o[l],t.pop();l>1;)t.pop(),n=bj(o[l-1].value,o[l-2],n),l-=2;return n}function Af(){var e,t,n;return e=REe(),At("?")&&(Si(),t=Af(),Fr(":"),n=Af(),e=gEe(e,t,n)),e}function GN(){let e=Af();if(At(","))throw new Error(Ly);return e}function Dj(e){ge=e,j=0,kr=ge.length,ut=null,Rj();let t=GN();if(ut.type!==Uy)throw new Error("Unexpect token after expression.");return t}function jN(e){let t=[];return e.type==="Identifier"?[e.name]:e.type==="Literal"?[e.value]:(e.type==="MemberExpression"&&(t.push(...jN(e.object)),t.push(...jN(e.property))),t)}function Mj(e){return e.object.type==="MemberExpression"?Mj(e.object):e.object.name==="datum"}function BS(e){let t=Dj(e),n=new Set;return t.visit(r=>{r.type==="MemberExpression"&&Mj(r)&&n.add(jN(r).slice(1).join("."))}),n}var ha=class e extends be{clone(){return new e(null,this.model,ie(this.filter))}constructor(t,n,r){super(t),this.model=n,this.filter=r,this.expr=wf(this.model,this.filter,this),this._dependentFields=BS(this.expr)}dependentFields(){return this._dependentFields}producedFields(){return new Set}assemble(){return{type:"filter",expr:this.expr}}hash(){return`Filter ${this.expr}`}};function Ij(e,t){let n={},r=e.config.selection;if(!t||!t.length)return n;let i=0;for(let o of t){let s=He(o.name),a=o.select,u=Y(a)?a:a.type,l=Q(a)?ie(a):{type:u},c=r[u];for(let p in c)p==="fields"||p==="encodings"||(p==="mark"&&(l.mark={...c.mark,...l.mark}),(l[p]===void 0||l[p]===!0)&&(l[p]=ie(c[p]??l[p])));let f=n[s]={...l,name:s,type:u,init:o.value,bind:o.bind,events:Y(l.on)?mr(l.on,"scope"):Z(ie(l.on))};if(On(f)&&(i++,i>1)){delete n[s];continue}let d=ie(o);for(let p of rm)p.defined(f)&&p.parse&&p.parse(e,f,d)}return i>1&&z(TI),n}function _S(e,t,n,r="datum"){let i=Y(t)?t:t.param,o=He(i),s=K(o+hs),a;try{a=e.getSelectionComponent(o,i)}catch{return`!!${o}`}if(a.project.timeUnit){let d=n??e.component.data.raw,p=a.project.timeUnit.clone();d.parent?p.insertAsParentOf(d):d.parent=p}let u=a.project.hasSelectionId?"vlSelectionIdTest(":"vlSelectionTest(",l=a.resolve==="global"?")":`, ${K(a.resolve)})`,c=`${u}${s}, ${r}${l}`,f=`length(data(${s}))`;return t.empty===!1?`${f} && ${c}`:`!${f} || ${c}`}function AS(e,t,n){let r=He(t),i=n.encoding,o=n.field,s;try{s=e.getSelectionComponent(r,t)}catch{return r}if(!i&&!o)o=s.project.items[0].field,s.project.items.length>1&&z(RI(o));else if(i&&!o){let a=s.project.items.filter(u=>u.channel===i);!a.length||a.length>1?(o=s.project.items[0].field,z(DI(a,i,n,o))):o=a[0].field}return`${s.name}[${K(un(o))}]`}function Nj(e,t){for(let[n,r]of pi(e.component.selection??{})){let i=e.getName(`lookup_${n}`);e.component.data.outputNodes[i]=r.materialized=new jt(new ha(t,e,{param:n}),i,Ke.Lookup,e.component.data.outputNodeRefCounts)}}function wf(e,t,n){return _p(t,r=>Y(r)?r:NH(r)?_S(e,r,n):Cw(r))}function DEe(e,t){if(e)return O(e)&&!as(e)?e.map(n=>vy(n,t)).join(", "):e}function WN(e,t,n,r){var i,o;e.encode??(e.encode={}),(i=e.encode)[t]??(i[t]={}),(o=e.encode[t]).update??(o.update={}),e.encode[t].update[n]=r}function lm(e,t,n,r={header:!1}){let{disable:i,orient:o,scale:s,labelExpr:a,title:u,zindex:l,...c}=e.combine();if(!i){for(let f in c){let d=f,p=_q[d],m=c[d];if(p&&p!==t&&p!=="both")delete c[d];else if(hu(m)){let{condition:h,...g}=m,y=Z(h),x=QI[d];if(x){let{vgProp:b,part:v}=x,E=[...y.map(S=>{let{test:w,...A}=S;return{test:wf(null,w),...A}}),g];WN(c,v,b,E),delete c[d]}else if(x===null){let b={signal:y.map(v=>{let{test:E,...S}=v;return`${wf(null,E)} ? ${AI(S)} : `}).join("")+AI(g)};c[d]=b}}else if(re(m)){let h=QI[d];if(h){let{vgProp:g,part:y}=h;WN(c,y,g,m),delete c[d]}}xe(["labelAlign","labelBaseline"],d)&&c[d]===null&&delete c[d]}if(t==="grid"){if(!c.grid)return;if(c.encode){let{grid:f}=c.encode;c.encode={...f?{grid:f}:{}},Ie(c.encode)&&delete c.encode}return{scale:s,orient:o,...c,domain:!1,labels:!1,aria:!1,maxExtent:0,minExtent:0,ticks:!1,zindex:Le(l,0)}}else{if(!r.header&&e.mainExtracted)return;if(a!==void 0){let d=a;c.encode?.labels?.update&&re(c.encode.labels.update.text)&&(d=ns(a,"datum.label",c.encode.labels.update.text.signal)),WN(c,"labels","text",{signal:d})}if(c.labelAlign===null&&delete c.labelAlign,c.encode){for(let d of Vw)e.hasAxisPart(d)||delete c.encode[d];Ie(c.encode)&&delete c.encode}let f=DEe(u,n);return{scale:s,orient:o,grid:!1,...f?{title:f}:{},...c,...n.aria===!1?{aria:!1}:{},zindex:Le(l,0)}}}}function US(e){let{axes:t}=e.component,n=[];for(let r of Xn)if(t[r]){for(let i of t[r])if(!i.get("disable")&&!i.get("gridScale")){let o=r==="x"?"height":"width",s=e.getSizeSignalRef(o).signal;o!==s&&n.push({name:o,update:s})}}return n}function Oj(e,t){let{x:n=[],y:r=[]}=e;return[...n.map(i=>lm(i,"grid",t)),...r.map(i=>lm(i,"grid",t)),...n.map(i=>lm(i,"main",t)),...r.map(i=>lm(i,"main",t))].filter(i=>i)}function Pj(e,t,n,r){return Object.assign.apply(null,[{},...e.map(i=>{if(i==="axisOrient"){let o=n==="x"?"bottom":"left",s=t[n==="x"?"axisBottom":"axisLeft"]||{},a=t[n==="x"?"axisTop":"axisRight"]||{},u=new Set([...P(s),...P(a)]),l={};for(let c of u.values())l[c]={signal:`${r.signal} === "${o}" ? ${Yr(s[c])} : ${Yr(a[c])}`};return l}return t[i]})])}function $j(e,t,n,r){let i=t==="band"?["axisDiscrete","axisBand"]:t==="point"?["axisDiscrete","axisPoint"]:BI(t)?["axisQuantitative"]:t==="time"||t==="utc"?["axisTemporal"]:[],o=e==="x"?"axisX":"axisY",s=re(n)?"axisOrient":`axis${kl(n)}`,a=[...i,...i.map(l=>o+l.substr(4))],u=["axis",s,o];return{vlOnlyAxisConfig:Pj(a,r,e,n),vgAxisConfig:Pj(u,r,e,n),axisConfigStyle:MEe([...u,...a],r)}}function MEe(e,t){let n=[{}];for(let r of e){let i=t[r]?.style;if(i){i=Z(i);for(let o of i)n.push(t.style[o])}}return Object.assign.apply(null,n)}function qy(e,t,n,r={}){let i=CI(e,n,t);if(i!==void 0)return{configFrom:"style",configValue:i};for(let o of["vlOnlyAxisConfig","vgAxisConfig","axisConfigStyle"])if(r[o]?.[e]!==void 0)return{configFrom:o,configValue:r[o][e]};return{}}var YN={scale:({model:e,channel:t})=>e.scaleName(t),format:({format:e})=>e,formatType:({formatType:e})=>e,grid:({fieldOrDatumDef:e,axis:t,scaleType:n})=>t.grid??IEe(n,e),gridScale:({model:e,channel:t})=>NEe(e,t),labelAlign:({axis:e,labelAngle:t,orient:n,channel:r})=>e.labelAlign||KN(t,n,r),labelAngle:({labelAngle:e})=>e,labelBaseline:({axis:e,labelAngle:t,orient:n,channel:r})=>e.labelBaseline||XN(t,n,r),labelFlush:({axis:e,fieldOrDatumDef:t,channel:n})=>e.labelFlush??OEe(t.type,n),labelOverlap:({axis:e,fieldOrDatumDef:t,scaleType:n})=>e.labelOverlap??PEe(t.type,n,V(t)&&!!t.timeUnit,V(t)?t.sort:void 0),orient:({orient:e})=>e,tickCount:({channel:e,model:t,axis:n,fieldOrDatumDef:r,scaleType:i})=>{let o=e==="x"?"width":e==="y"?"height":void 0,s=o?t.getSizeSignalRef(o):void 0;return n.tickCount??$Ee({fieldOrDatumDef:r,scaleType:i,size:s,values:n.values})},tickMinStep:LEe,title:({axis:e,model:t,channel:n})=>{if(e.title!==void 0)return e.title;let r=QN(t,n);if(r!==void 0)return r;let i=t.typedFieldDef(n),o=n==="x"?"x2":"y2",s=t.fieldDef(o);return kI(i?[WI(i)]:[],V(s)?[WI(s)]:[])},values:({axis:e,fieldOrDatumDef:t})=>BEe(e,t),zindex:({axis:e,fieldOrDatumDef:t,mark:n})=>e.zindex??UEe(n,t)};function IEe(e,t){return!at(e)&&V(t)&&!Pe(t?.bin)&&!gt(t?.bin)}function NEe(e,t){let n=t==="x"?"y":"x";if(e.getScaleComponent(n))return e.scaleName(n)}function Lj(e,t,n,r,i){let o=t?.labelAngle;if(o!==void 0)return re(o)?o:Fl(o);{let{configValue:s}=qy("labelAngle",r,t?.style,i);return s!==void 0?Fl(s):n===Ye&&xe([fy,cy],e.type)&&!(V(e)&&e.timeUnit)?270:void 0}}function VN(e){return`(((${e.signal} % 360) + 360) % 360)`}function XN(e,t,n,r){if(e!==void 0)if(n==="x"){if(re(e)){let i=VN(e),o=re(t)?`(${t.signal} === "top")`:t==="top";return{signal:`(45 < ${i} && ${i} < 135) || (225 < ${i} && ${i} < 315) ? "middle" :(${i} <= 45 || 315 <= ${i}) === ${o} ? "bottom" : "top"`}}if(45<e&&e<135||225<e&&e<315)return"middle";if(re(t)){let i=e<=45||315<=e?"===":"!==";return{signal:`${t.signal} ${i} "top" ? "bottom" : "top"`}}return(e<=45||315<=e)==(t==="top")?"bottom":"top"}else{if(re(e)){let i=VN(e),o=re(t)?`(${t.signal} === "left")`:t==="left";return{signal:`${i} <= 45 || 315 <= ${i} || (135 <= ${i} && ${i} <= 225) ? ${r?'"middle"':"null"} : (45 <= ${i} && ${i} <= 135) === ${o} ? "top" : "bottom"`}}if(e<=45||315<=e||135<=e&&e<=225)return r?"middle":null;if(re(t)){let i=45<=e&&e<=135?"===":"!==";return{signal:`${t.signal} ${i} "left" ? "top" : "bottom"`}}return(45<=e&&e<=135)==(t==="left")?"top":"bottom"}}function KN(e,t,n){if(e===void 0)return;let r=n==="x",i=r?0:90,o=r?"bottom":"left";if(re(e)){let s=VN(e),a=re(t)?`(${t.signal} === "${o}")`:t===o;return{signal:`(${i?`(${s} + 90)`:s} % 180 === 0) ? ${r?null:'"center"'} :(${i} < ${s} && ${s} < ${180+i}) === ${a} ? "left" : "right"`}}if((e+i)%180===0)return r?null:"center";if(re(t)){let s=i<e&&e<180+i?"===":"!==";return{signal:`${`${t.signal} ${s} "${o}"`} ? "left" : "right"`}}return(i<e&&e<180+i)==(t===o)?"left":"right"}function OEe(e,t){if(t==="x"&&xe(["quantitative","temporal"],e))return!0}function PEe(e,t,n,r){if(n&&!Q(r)||e!=="nominal"&&e!=="ordinal")return t==="log"||t==="symlog"?"greedy":!0}function Bj(e){return e==="x"?"bottom":"left"}function $Ee({fieldOrDatumDef:e,scaleType:t,size:n,values:r}){if(!r&&!at(t)&&t!=="log"){if(V(e)){if(Pe(e.bin))return{signal:`ceil(${n.signal}/10)`};if(e.timeUnit&&xe(["month","hours","day","quarter"],yt(e.timeUnit)?.unit))return}return{signal:`ceil(${n.signal}/40)`}}}function LEe({format:e,fieldOrDatumDef:t}){if(e==="d")return 1;if(V(t)){let{timeUnit:n}=t;if(n){let r=xw(n);if(r)return{signal:r}}}}function QN(e,t){let n=t==="x"?"x2":"y2",r=e.fieldDef(t),i=e.fieldDef(n),o=r?r.title:void 0,s=i?i.title:void 0;if(o&&s)return FI(o,s);if(o)return o;if(s)return s;if(o!==void 0)return o;if(s!==void 0)return s}function BEe(e,t){let n=e.values;if(O(n))return Ww(t,n);if(re(n))return n}function UEe(e,t){return e==="rect"&&xy(t)?1:0}var Cf=class e extends be{clone(){return new e(null,ie(this.transform))}constructor(t,n){super(t),this.transform=n,this._dependentFields=BS(this.transform.calculate)}static parseAllForSortIndex(t,n){return n.forEachFieldDef((r,i)=>{if(wo(r)&&Bw(r.sort)){let{field:o,timeUnit:s}=r,a=r.sort,u=a.map((l,c)=>`${Cw({field:o,timeUnit:s,equal:l})} ? ${c} : `).join("")+a.length;t=new e(t,{calculate:u,as:ga(r,i,{forAs:!0})})}}),t}producedFields(){return new Set([this.transform.as])}dependentFields(){return this._dependentFields}assemble(){return{type:"formula",expr:this.transform.calculate,as:this.transform.as}}hash(){return`Calculate ${fe(this.transform)}`}};function ga(e,t,n){return J(e,{prefix:t,suffix:"sort_index",...n})}function cm(e,t){return xe(["top","bottom"],t)?"column":xe(["left","right"],t)||e==="row"?"row":"column"}function Au(e,t,n,r){let i=r==="row"?n.headerRow:r==="column"?n.headerColumn:n.headerFacet;return Le((t||{})[e],i[e],n.header[e])}function Gy(e,t,n,r){let i={};for(let o of e){let s=Au(o,t||{},n,r);s!==void 0&&(i[o]=s)}return i}var fm=["row","column"],dm=["header","footer"];function Uj(e,t){let n=e.component.layoutHeaders[t].title,r=e.config?e.config:void 0,i=e.component.layoutHeaders[t].facetFieldDef?e.component.layoutHeaders[t].facetFieldDef:void 0,{titleAnchor:o,titleAngle:s,titleOrient:a}=Gy(["titleAnchor","titleAngle","titleOrient"],i.header,r,t),u=cm(t,a),l=Fl(s);return{name:`${t}-title`,type:"group",role:`${u}-title`,title:{text:n,...t==="row"?{orient:"left"}:{},style:"guide-title",...Hj(l,u),...zj(u,l,o),...jj(r,i,t,qq,uN)}}}function zj(e,t,n="middle"){switch(n){case"start":return{align:"left"};case"end":return{align:"right"}}let r=KN(t,e==="row"?"left":"top",e==="row"?"y":"x");return r?{align:r}:{}}function Hj(e,t){let n=XN(e,t==="row"?"left":"top",t==="row"?"y":"x",!0);return n?{baseline:n}:{}}function qj(e,t){let n=e.component.layoutHeaders[t],r=[];for(let i of dm)if(n[i])for(let o of n[i]){let s=HEe(e,t,i,n,o);s!=null&&r.push(s)}return r}function zEe(e,t){let{sort:n}=e;return wr(n)?{field:J(n,{expr:"datum"}),order:n.order??"ascending"}:O(n)?{field:ga(e,t,{expr:"datum"}),order:"ascending"}:{field:J(e,{expr:"datum"}),order:n??"ascending"}}function zS(e,t,n){let{format:r,formatType:i,labelAngle:o,labelAnchor:s,labelOrient:a,labelExpr:u}=Gy(["format","formatType","labelAngle","labelAnchor","labelOrient","labelExpr"],e.header,n,t),l=jp({fieldOrDatumDef:e,format:r,formatType:i,expr:"parent",config:n}).signal,c=cm(t,a);return{text:{signal:u?ns(ns(u,"datum.label",l),"datum.value",J(e,{expr:"parent"})):l},...t==="row"?{orient:"left"}:{},style:"guide-label",frame:"group",...Hj(o,c),...zj(c,o,s),...jj(n,e,t,Gq,lN)}}function HEe(e,t,n,r,i){if(i){let o=null,{facetFieldDef:s}=r,a=e.config?e.config:void 0;if(s&&i.labels){let{labelOrient:f}=Gy(["labelOrient"],s.header,a,t);(t==="row"&&!xe(["top","bottom"],f)||t==="column"&&!xe(["left","right"],f))&&(o=zS(s,t,a))}let u=Qt(e)&&!la(e.facet),l=i.axes,c=l?.length>0;if(o||c){let f=t==="row"?"height":"width";return{name:e.getName(`${t}_${n}`),type:"group",role:`${t}-${n}`,...r.facetFieldDef?{from:{data:e.getName(`${t}_domain`)},sort:zEe(s,t)}:{},...c&&u?{from:{data:e.getName(`facet_domain_${t}`)}}:{},...o?{title:o}:{},...i.sizeSignal?{encode:{update:{[f]:i.sizeSignal}}}:{},...c?{axes:l}:{}}}}return null}var qEe={column:{start:0,end:1},row:{start:1,end:0}};function GEe(e,t){return qEe[t][e]}function Gj(e,t){let n={};for(let r of Dn){let i=e[r];if(i?.facetFieldDef){let{titleAnchor:o,titleOrient:s}=Gy(["titleAnchor","titleOrient"],i.facetFieldDef.header,t,r),a=cm(r,s),u=GEe(o,a);u!==void 0&&(n[a]=u)}}return Ie(n)?void 0:n}function jj(e,t,n,r,i){let o={};for(let s of r){if(!i[s])continue;let a=Au(s,t?.header,e,n);a!==void 0&&(o[i[s]]=a)}return o}function pm(e){return[...HS(e,"width"),...HS(e,"height"),...HS(e,"childWidth"),...HS(e,"childHeight")]}function HS(e,t){let n=t==="width"?"x":"y",r=e.component.layoutSize.get(t);if(!r||r==="merged")return[];let i=e.getSizeSignalRef(t).signal;if(r==="step"){let o=e.getScaleComponent(n);if(o){let s=o.get("type"),a=o.get("range");if(at(s)&&xi(a)){let u=e.scaleName(n);return Qt(e.parent)&&e.parent.component.resolve.scale[n]==="independent"?[Wj(u,a)]:[Wj(u,a),{name:i,update:JN(u,o,`domain('${u}').length`)}]}}throw new Error("layout size is step although width/height is not step.")}else if(r=="container"){let o=i.endsWith("width"),s=o?"containerSize()[0]":"containerSize()[1]",a=ky(e.config.view,o?"width":"height"),u=`isFinite(${s}) ? ${s} : ${a}`;return[{name:i,init:u,on:[{update:u,events:"window:resize"}]}]}else return[{name:i,value:r}]}function Wj(e,t){let n=`${e}_step`;return re(t.step)?{name:n,update:t.step.signal}:{name:n,value:t.step}}function JN(e,t,n){let r=t.get("type"),i=t.get("padding"),o=Le(t.get("paddingOuter"),i),s=t.get("paddingInner");return s=r==="band"?s!==void 0?s:i:1,`bandspace(${n}, ${Yr(s)}, ${Yr(o)}) * ${e}_step`}function qS(e){return e==="childWidth"?"width":e==="childHeight"?"height":e}function GS(e,t){return P(e).reduce((n,r)=>({...n,...Co({model:t,channelDef:e[r],vgChannel:r,mainRefFn:i=>$e(i.value),invalidValueRef:void 0})}),{})}function jS(e,t){if(Qt(t))return e==="theta"?"independent":"shared";if(_o(t))return"shared";if(hm(t))return Xe(e)||e==="theta"||e==="radius"?"independent":"shared";throw new Error("invalid model type for resolve")}function mm(e,t){let n=e.scale[t],r=Xe(t)?"axis":"legend";return n==="independent"?(e[r][t]==="shared"&&z(L.independentScaleMeansIndependentGuide(t)),"independent"):e[r][t]||"shared"}var jEe={...fN,disable:1,labelExpr:1,selections:1,opacity:1,shape:1,stroke:1,fill:1,size:1,strokeWidth:1,strokeDash:1,encode:1},ZN=P(jEe),WS=class extends Sr{};var eO={symbols:WEe,gradient:VEe,labels:YEe,entries:XEe};function WEe(e,{fieldOrDatumDef:t,model:n,channel:r,legendCmpt:i,legendType:o}){if(o!=="symbol")return;let{markDef:s,encoding:a,config:u,mark:l}=n,c=s.filled&&l!=="trail",f={...xH({},n,tq),...sm(n,{filled:c})},d=i.get("symbolOpacity")??u.legend.symbolOpacity,p=i.get("symbolFillColor")??u.legend.symbolFillColor,m=i.get("symbolStrokeColor")??u.legend.symbolStrokeColor,h=d===void 0?Vj(a.opacity)??s.opacity:void 0;if(f.fill){if(r==="fill"||c&&r===Gt)delete f.fill;else if(W(f.fill,"field"))p?delete f.fill:(f.fill=$e(u.legend.symbolBaseFillColor??"black"),f.fillOpacity=$e(h??1));else if(O(f.fill)){let g=VS(a.fill??a.color)??s.fill??(c&&s.color);g&&(f.fill=$e(g))}}if(f.stroke){if(r==="stroke"||!c&&r===Gt)delete f.stroke;else if(W(f.stroke,"field")||m)delete f.stroke;else if(O(f.stroke)){let g=Le(VS(a.stroke||a.color),s.stroke,c?s.color:void 0);g&&(f.stroke={value:g})}}if(r!==Vr){let g=V(t)&&Xj(n,i,t);g?f.opacity=[{test:g,...$e(h??1)},$e(u.legend.unselectedOpacity)]:h&&(f.opacity=$e(h))}return f={...f,...e},Ie(f)?void 0:f}function VEe(e,{model:t,legendType:n,legendCmpt:r}){if(n!=="gradient")return;let{config:i,markDef:o,encoding:s}=t,a={},l=(r.get("gradientOpacity")??i.legend.gradientOpacity)===void 0?Vj(s.opacity)||o.opacity:void 0;return l&&(a.opacity=$e(l)),a={...a,...e},Ie(a)?void 0:a}function YEe(e,{fieldOrDatumDef:t,model:n,channel:r,legendCmpt:i}){let o=n.legend(r)||{},s=n.config,a=V(t)?Xj(n,i,t):void 0,u=a?[{test:a,value:1},{value:s.legend.unselectedOpacity}]:void 0,{format:l,formatType:c}=o,f;ua(c)?f=qi({fieldOrDatumDef:t,field:"datum.value",format:l,formatType:c,config:s}):l===void 0&&c===void 0&&s.customFormatTypes&&(t.type==="quantitative"&&s.numberFormatType?f=qi({fieldOrDatumDef:t,field:"datum.value",format:s.numberFormat,formatType:s.numberFormatType,config:s}):t.type==="temporal"&&s.timeFormatType&&V(t)&&t.timeUnit===void 0&&(f=qi({fieldOrDatumDef:t,field:"datum.value",format:s.timeFormat,formatType:s.timeFormatType,config:s})));let d={...u?{opacity:u}:{},...f?{text:f}:{},...e};return Ie(d)?void 0:d}function XEe(e,{legendCmpt:t}){return t.get("selections")?.length?{...e,fill:{value:"transparent"}}:e}function Vj(e){return Yj(e,(t,n)=>Math.max(t,n.value))}function VS(e){return Yj(e,(t,n)=>Le(t,n.value))}function Yj(e,t){if(xq(e))return Z(e.condition).reduce(t,e.value);if(cn(e))return e.value}function Xj(e,t,n){let r=t.get("selections");if(!r?.length)return;let i=K(n.field);return r.map(o=>`(!length(data(${K(He(o)+hs)})) || (${o}[${i}] && indexof(${o}[${i}], datum.value) >= 0))`).join(" || ")}var tO={direction:({direction:e})=>e,format:({fieldOrDatumDef:e,legend:t,config:n})=>{let{format:r,formatType:i}=t;return $w(e,e.type,r,i,n,!1)},formatType:({legend:e,fieldOrDatumDef:t,scaleType:n})=>{let{formatType:r}=e;return Lw(r,t,n)},gradientLength:e=>{let{legend:t,legendConfig:n}=e;return t.gradientLength??n.gradientLength??ewe(e)},labelOverlap:({legend:e,legendConfig:t,scaleType:n})=>e.labelOverlap??t.labelOverlap??twe(n),symbolType:({legend:e,markDef:t,channel:n,encoding:r})=>e.symbolType??QEe(t.type,n,r.shape,t.shape),title:({fieldOrDatumDef:e,config:t})=>fa(e,t,{allowDisabling:!0}),type:({legendType:e,scaleType:t,channel:n})=>{if(au(n)&&Eo(t)){if(e==="gradient")return}else if(e==="symbol")return;return e},values:({fieldOrDatumDef:e,legend:t})=>KEe(t,e)};function KEe(e,t){let n=e.values;if(O(n))return Ww(t,n);if(re(n))return n}function QEe(e,t,n,r){if(t!=="shape"){let i=VS(n)??r;if(i)return i}switch(e){case"bar":case"rect":case"image":case"square":return"square";case"line":case"trail":case"rule":return"stroke";case"arc":case"point":case"circle":case"tick":case"geoshape":case"area":case"text":return"circle"}}function Qj(e){let{legend:t}=e;return Le(t.type,JEe(e))}function JEe({channel:e,timeUnit:t,scaleType:n}){if(au(e)){if(xe(["quarter","month","day"],t))return"symbol";if(Eo(n))return"gradient"}return"symbol"}function Jj({legendConfig:e,legendType:t,orient:n,legend:r}){return r.direction??e[t?"gradientDirection":"symbolDirection"]??ZEe(n,t)}function ZEe(e,t){switch(e){case"top":case"bottom":return"horizontal";case"left":case"right":case"none":case void 0:return;default:return t==="gradient"?"horizontal":void 0}}function ewe({legendConfig:e,model:t,direction:n,orient:r,scaleType:i}){let{gradientHorizontalMaxLength:o,gradientHorizontalMinLength:s,gradientVerticalMaxLength:a,gradientVerticalMinLength:u}=e;if(Eo(i))return n==="horizontal"?r==="top"||r==="bottom"?Kj(t,"width",s,o):s:Kj(t,"height",u,a)}function Kj(e,t,n,r){return{signal:`clamp(${e.getSizeSignalRef(t).signal}, ${n}, ${r})`}}function twe(e){if(xe(["quantile","threshold","log","symlog"],e))return"greedy"}function nO(e){let t=Ge(e)?nwe(e):swe(e);return e.component.legends=t,t}function nwe(e){let{encoding:t}=e,n={};for(let r of[Gt,...iS]){let i=rt(t[r]);!i||!e.getScaleComponent(r)||r===It&&V(i)&&i.type===fs||(n[r]=owe(e,r))}return n}function rwe(e,t){let n=e.scaleName(t);if(e.mark==="trail"){if(t==="color")return{stroke:n};if(t==="size")return{strokeWidth:n}}return t==="color"?e.markDef.filled?{fill:n}:{stroke:n}:{[t]:n}}function iwe(e,t,n,r){switch(t){case"disable":return n!==void 0;case"values":return!!n?.values;case"title":if(t==="title"&&e===r?.title)return!0}return e===(n||{})[t]}function owe(e,t){let n=e.legend(t),{markDef:r,encoding:i,config:o}=e,s=o.legend,a=new WS({},rwe(e,t));lj(e,t,a);let u=n!==void 0?!n:s.disable;if(a.set("disable",u,n!==void 0),u)return a;n=n||{};let l=e.getScaleComponent(t).get("type"),c=rt(i[t]),f=V(c)?yt(c.timeUnit)?.unit:void 0,d=n.orient||o.legend.orient||"right",p=Qj({legend:n,channel:t,timeUnit:f,scaleType:l}),m=Jj({legend:n,legendType:p,orient:d,legendConfig:s}),h={legend:n,channel:t,model:e,markDef:r,encoding:i,fieldOrDatumDef:c,legendConfig:s,config:o,scaleType:l,orient:d,legendType:p,direction:m};for(let v of ZN){if(p==="gradient"&&v.startsWith("symbol")||p==="symbol"&&v.startsWith("gradient"))continue;let E=v in tO?tO[v](h):n[v];if(E!==void 0){let S=iwe(E,v,n,e.fieldDef(t));(S||o.legend[v]===void 0)&&a.set(v,E,S)}}let g=n?.encoding??{},y=a.get("selections"),x={},b={fieldOrDatumDef:c,model:e,channel:t,legendCmpt:a,legendType:p};for(let v of["labels","legend","title","symbols","gradient","entries"]){let E=GS(g[v]??{},e),S=v in eO?eO[v](E,b):E;S!==void 0&&!Ie(S)&&(x[v]={...y?.length&&V(c)?{name:`${He(c.field)}_legend_${v}`}:{},...y?.length?{interactive:!!y}:{},update:S})}return Ie(x)||a.set("encode",x,!!n?.encoding),a}function swe(e){let{legends:t,resolve:n}=e.component;for(let r of e.children){nO(r);for(let i of P(r.component.legends))n.legend[i]=mm(e.component.resolve,i),n.legend[i]==="shared"&&(t[i]=rO(t[i],r.component.legends[i]),t[i]||(n.legend[i]="independent",delete t[i]))}for(let r of P(t))for(let i of e.children)i.component.legends[r]&&n.legend[r]==="shared"&&delete i.component.legends[r];return t}function rO(e,t){if(!e)return t.clone();let n=e.getWithExplicit("orient"),r=t.getWithExplicit("orient");if(n.explicit&&r.explicit&&n.value!==r.value)return;let i=!1;for(let o of ZN){let s=Ei(e.getWithExplicit(o),t.getWithExplicit(o),o,"legend",(a,u)=>{switch(o){case"symbolType":return awe(a,u);case"title":return gw(a,u);case"type":return i=!0,Ar("symbol")}return tm(a,u,o,"legend")});e.setWithExplicit(o,s)}return i&&(e.implicit?.encode?.gradient&&ay(e.implicit,["encode","gradient"]),e.explicit?.encode?.gradient&&ay(e.explicit,["encode","gradient"])),e}function awe(e,t){return t.value==="circle"?t:e}function uwe(e,t,n,r){var i,o;e.encode??(e.encode={}),(i=e.encode)[t]??(i[t]={}),(o=e.encode[t]).update??(o.update={}),e.encode[t].update[n]=r}function YS(e){let t=e.component.legends,n={};for(let i of P(t)){let o=e.getScaleComponent(i),s=qe(o.get("domains"));if(n[s])for(let a of n[s])rO(a,t[i])||n[s].push(t[i]);else n[s]=[t[i].clone()]}return mt(n).flat().map(i=>lwe(i,e.config)).filter(i=>i!==void 0)}function lwe(e,t){let{disable:n,labelExpr:r,selections:i,...o}=e.combine();if(!n){if(t.aria===!1&&o.aria==null&&(o.aria=!1),o.encode?.symbols){let s=o.encode.symbols.update;s.fill&&s.fill.value!=="transparent"&&!s.stroke&&!o.stroke&&(s.stroke={value:"transparent"});for(let a of iS)o[a]&&delete s[a]}if(o.title||delete o.title,r!==void 0){let s=r;o.encode?.labels?.update&&re(o.encode.labels.update.text)&&(s=ns(r,"datum.label",o.encode.labels.update.text.signal)),uwe(o,"labels","text",{signal:s})}return o}}function Zj(e){return _o(e)||hm(e)?cwe(e):eW(e)}function cwe(e){return e.children.reduce((t,n)=>t.concat(n.assembleProjections()),eW(e))}function eW(e){let t=e.component.projection;if(!t||t.merged)return[];let n=t.combine(),{name:r}=n;if(t.data){let i={signal:`[${t.size.map(s=>s.signal).join(", ")}]`},o=t.data.reduce((s,a)=>{let u=re(a)?a.signal:`data('${e.lookupDataSource(a)}')`;return xe(s,u)||s.push(u),s},[]);if(o.length<=0)throw new Error("Projection's fit didn't find any data sources");return[{name:r,size:i,fit:{signal:o.length>1?`[${o.join(", ")}]`:o[0]},...n}]}else return[{name:r,translate:{signal:"[width / 2, height / 2]"},...n}]}var tW=["type","clipAngle","clipExtent","center","rotate","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];var jy=class extends Sr{constructor(t,n,r,i){super({...n},{name:t}),this.specifiedProjection=n,this.size=r,this.data=i,this.merged=!1}get isFit(){return!!this.data}};function iO(e){e.component.projection=Ge(e)?fwe(e):mwe(e)}function fwe(e){if(e.hasProjection){let t=Tt(e.specifiedProjection),n=!(t&&(t.scale!=null||t.translate!=null)),r=n?[e.getSizeSignalRef("width"),e.getSizeSignalRef("height")]:void 0,i=n?dwe(e):void 0,o=new jy(e.projectionName(!0),{...Tt(e.config.projection),...t},r,i);return o.get("type")||o.set("type","equalEarth",!1),o}}function dwe(e){let t=[],{encoding:n}=e;for(let r of[[Vn,Wn],[Yn,yr]])(rt(n[r[0]])||rt(n[r[1]]))&&t.push({signal:e.getName(`geojson_${t.length}`)});return e.channelHasField(It)&&e.typedFieldDef(It).type===fs&&t.push({signal:e.getName(`geojson_${t.length}`)}),t.length===0&&t.push(e.requestDataName(Ke.Main)),t}function pwe(e,t){let n=ZE(tW,i=>!!(!ne(e.explicit,i)&&!ne(t.explicit,i)||ne(e.explicit,i)&&ne(t.explicit,i)&&Rn(e.get(i),t.get(i))));if(Rn(e.size,t.size)){if(n)return e;if(Rn(e.explicit,{}))return t;if(Rn(t.explicit,{}))return e}return null}function mwe(e){if(e.children.length===0)return;let t;for(let r of e.children)iO(r);let n=ZE(e.children,r=>{let i=r.component.projection;if(i)if(t){let o=pwe(t,i);return o&&(t=o),!!o}else return t=i,!0;else return!0});if(t&&n){let r=e.projectionName(!0),i=new jy(r,t.specifiedProjection,t.size,ie(t.data));for(let o of e.children){let s=o.component.projection;s&&(s.isFit&&i.data.push(...o.component.projection.data),o.renameProjection(s.get("name"),r),s.merged=!0)}return i}}function hwe(e,t,n,r){if(aa(t,n)){let i=Ge(e)?e.axis(n)??e.legend(n)??{}:{},o=J(t,{expr:"datum"}),s=J(t,{expr:"datum",binSuffix:"end"});return{formulaAs:J(t,{binSuffix:"range",forAs:!0}),formula:xf(o,s,i.format,i.formatType,r)}}return{}}function rW(e,t){return`${cw(e)}_${t}`}function gwe(e,t){return{signal:e.getName(`${t}_bins`),extentSignal:e.getName(`${t}_extent`)}}function gm(e,t,n){let r=Pp(n,void 0)??{},i=rW(r,t);return e.getName(`${i}_bins`)}function ywe(e){return"as"in e}function nW(e,t,n){let r,i;ywe(e)?r=Y(e.as)?[e.as,`${e.as}_end`]:[e.as[0],e.as[1]]:r=[J(e,{forAs:!0}),J(e,{binSuffix:"end",forAs:!0})];let o={...Pp(t,void 0)},s=rW(o,e.field),{signal:a,extentSignal:u}=gwe(n,s);if(Op(o.extent)){let c=o.extent;i=AS(n,c.param,c),delete o.extent}let l={bin:o,field:e.field,as:[r],...a?{signal:a}:{},...u?{extentSignal:u}:{},...i?{span:i}:{}};return{key:s,binComponent:l}}var ys=class e extends be{clone(){return new e(null,ie(this.bins))}constructor(t,n){super(t),this.bins=n}static makeFromEncoding(t,n){let r=n.reduceFieldDef((i,o,s)=>{if(Ot(o)&&Pe(o.bin)){let{key:a,binComponent:u}=nW(o,o.bin,n);i[a]={...u,...i[a],...hwe(n,o,s,n.config)}}return i},{});return Ie(r)?null:new e(t,r)}static makeFromTransform(t,n,r){let{key:i,binComponent:o}=nW(n,n.bin,r);return new e(t,{[i]:o})}merge(t,n){for(let r of P(t.bins))r in this.bins?(n(t.bins[r].signal,this.bins[r].signal),this.bins[r].as=hr([...this.bins[r].as,...t.bins[r].as],fe)):this.bins[r]=t.bins[r];for(let r of t.children)t.removeChild(r),r.parent=this;t.remove()}producedFields(){return new Set(mt(this.bins).map(t=>t.as).flat(2))}dependentFields(){return new Set(mt(this.bins).map(t=>t.field))}hash(){return`Bin ${fe(this.bins)}`}assemble(){return mt(this.bins).flatMap(t=>{let n=[],[r,...i]=t.as,{extent:o,...s}=t.bin,a={type:"bin",field:un(t.field),as:r,signal:t.signal,...Op(o)?{extent:null}:{extent:o},...t.span?{span:{signal:`span(${t.span})`}}:{},...s};!o&&t.extentSignal&&(n.push({type:"extent",field:un(t.field),signal:t.extentSignal}),a.extent={signal:t.extentSignal}),n.push(a);for(let u of i)for(let l=0;l<2;l++)n.push({type:"formula",expr:J({field:r[l]},{expr:"datum"}),as:u[l]});return t.formula&&n.push({type:"formula",expr:t.formula,as:t.formulaAs}),n})}};function xwe(e,t,n,r){let i=Ge(r)?r.encoding[Mn(t)]:void 0;if(Ot(n)&&Ge(r)&&qw(n,i,r.markDef,r.config)){e.add(J(n,{})),e.add(J(n,{suffix:"end"}));let{mark:o,markDef:s,config:a}=r,u=bi({fieldDef:n,markDef:s,config:a});cu(o)&&u!==.5&&Xe(t)&&(e.add(J(n,{suffix:vf})),e.add(J(n,{suffix:Ef}))),n.bin&&aa(n,t)&&e.add(J(n,{binSuffix:"range"}))}else if(iw(t)){let o=rw(t);e.add(r.getName(o))}else e.add(J(n));return wo(n)&&jH(n.scale?.range)&&e.add(n.scale.range.field),e}function bwe(e,t){for(let n of P(t)){let r=t[n];for(let i of P(r))n in e?e[n][i]=new Set([...e[n][i]??[],...r[i]]):e[n]={[i]:r[i]}}}var ji=class e extends be{clone(){return new e(null,new Set(this.dimensions),ie(this.measures))}constructor(t,n,r){super(t),this.dimensions=n,this.measures=r}get groupBy(){return this.dimensions}static makeFromEncoding(t,n){let r=!1;n.forEachFieldDef(s=>{s.aggregate&&(r=!0)});let i={},o=new Set;return!r||(n.forEachFieldDef((s,a)=>{let{aggregate:u,field:l}=s;if(u)if(u==="count")i["*"]??(i["*"]={}),i["*"].count=new Set([J(s,{forAs:!0})]);else{if(Hi(u)||xo(u)){let c=Hi(u)?"argmin":"argmax",f=u[c];i[f]??(i[f]={}),i[f][c]=new Set([J({op:c,field:f},{forAs:!0})])}else i[l]??(i[l]={}),i[l][u]=new Set([J(s,{forAs:!0})]);ln(a)&&n.scaleDomain(a)==="unaggregated"&&(i[l]??(i[l]={}),i[l].min=new Set([J({field:l,aggregate:"min"},{forAs:!0})]),i[l].max=new Set([J({field:l,aggregate:"max"},{forAs:!0})]))}else xwe(o,a,s,n)}),o.size+P(i).length===0)?null:new e(t,o,i)}static makeFromTransform(t,n){var r;let i=new Set,o={};for(let s of n.aggregate){let{op:a,field:u,as:l}=s;a&&(a==="count"?(o["*"]??(o["*"]={}),o["*"].count=new Set([l||J(s,{forAs:!0})])):(o[u]??(o[u]={}),(r=o[u])[a]??(r[a]=new Set),o[u][a].add(l||J(s,{forAs:!0}))))}for(let s of n.groupby??[])i.add(s);return i.size+P(o).length===0?null:new e(t,i,o)}merge(t){return fI(this.dimensions,t.dimensions)?(bwe(this.measures,t.measures),!0):(wH("different dimensions, cannot merge"),!1)}addDimensions(t){t.forEach(this.dimensions.add,this.dimensions)}dependentFields(){return new Set([...this.dimensions,...P(this.measures)])}producedFields(){let t=new Set;for(let n of P(this.measures))for(let r of P(this.measures[n])){let i=this.measures[n][r];i.size===0?t.add(`${r}_${n}`):i.forEach(t.add,t)}return t}hash(){return`Aggregate ${fe({dimensions:this.dimensions,measures:this.measures})}`}assemble(){let t=[],n=[],r=[];for(let o of P(this.measures))for(let s of P(this.measures[o]))for(let a of this.measures[o][s])r.push(a),t.push(s),n.push(o==="*"?null:un(o));return{type:"aggregate",groupby:[...this.dimensions].map(un),ops:t,fields:n,as:r}}};var Fo=class extends be{constructor(t,n,r,i){super(t),this.model=n,this.name=r,this.data=i;for(let o of Dn){let s=n.facet[o];if(s){let{bin:a,sort:u}=s;this[o]={name:n.getName(`${o}_domain`),fields:[J(s),...Pe(a)?[J(s,{binSuffix:"end"})]:[]],...wr(u)?{sortField:u}:O(u)?{sortIndexField:ga(s,o)}:{}}}}this.childModel=n.child}hash(){let t="Facet";for(let n of Dn)this[n]&&(t+=` ${n.charAt(0)}:${fe(this[n])}`);return t}get fields(){let t=[];for(let n of Dn)this[n]?.fields&&t.push(...this[n].fields);return t}dependentFields(){let t=new Set(this.fields);for(let n of Dn)this[n]&&(this[n].sortField&&t.add(this[n].sortField.field),this[n].sortIndexField&&t.add(this[n].sortIndexField));return t}producedFields(){return new Set}getSource(){return this.name}getChildIndependentFieldsWithStep(){let t={};for(let n of Xn){let r=this.childModel.component.scales[n];if(r&&!r.merged){let i=r.get("type"),o=r.get("range");if(at(i)&&xi(o)){let s=zl(this.childModel,n),a=ym(s);a?t[n]=a:z(L.unknownField(n))}}}return t}assembleRowColumnHeaderData(t,n,r){let i={row:"y",column:"x",facet:void 0}[t],o=[],s=[],a=[];i&&r&&r[i]&&(n?(o.push(`distinct_${r[i]}`),s.push("max")):(o.push(r[i]),s.push("distinct")),a.push(`distinct_${r[i]}`));let{sortField:u,sortIndexField:l}=this[t];if(u){let{op:c=Il,field:f}=u;o.push(f),s.push(c),a.push(J(u,{forAs:!0}))}else l&&(o.push(l),s.push("max"),a.push(l));return{name:this[t].name,source:n??this.data,transform:[{type:"aggregate",groupby:this[t].fields,...o.length?{fields:o,ops:s,as:a}:{}}]}}assembleFacetHeaderData(t){let{columns:n}=this.model.layout,{layoutHeaders:r}=this.model.component,i=[],o={};for(let u of fm){for(let l of dm){let c=(r[u]&&r[u][l])??[];for(let f of c)if(f.axes?.length>0){o[u]=!0;break}}if(o[u]){let l=`length(data("${this.facet.name}"))`,c=u==="row"?n?{signal:`ceil(${l} / ${n})`}:1:n?{signal:`min(${l}, ${n})`}:{signal:l};i.push({name:`${this.facet.name}_${u}`,transform:[{type:"sequence",start:0,stop:c}]})}}let{row:s,column:a}=o;return(s||a)&&i.unshift(this.assembleRowColumnHeaderData("facet",null,t)),i}assemble(){let t=[],n=null,r=this.getChildIndependentFieldsWithStep(),{column:i,row:o,facet:s}=this;if(i&&o&&(r.x||r.y)){n=`cross_${this.column.name}_${this.row.name}`;let a=[].concat(r.x??[],r.y??[]),u=a.map(()=>"distinct");t.push({name:n,source:this.data,transform:[{type:"aggregate",groupby:this.fields,fields:a,ops:u}]})}for(let a of[hi,mi])this[a]&&t.push(this.assembleRowColumnHeaderData(a,n,r));if(s){let a=this.assembleFacetHeaderData(r);a&&t.push(...a)}return t}};function iW(e){return e.startsWith("'")&&e.endsWith("'")||e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e}function vwe(e,t){let n=uy(e);if(t==="number")return`toNumber(${n})`;if(t==="boolean")return`toBoolean(${n})`;if(t==="string")return`toString(${n})`;if(t==="date")return`toDate(${n})`;if(t==="flatten")return n;if(t.startsWith("date:")){let r=iW(t.slice(5,t.length));return`timeParse(${n},'${r}')`}else if(t.startsWith("utc:")){let r=iW(t.slice(4,t.length));return`utcParse(${n},'${r}')`}else return z(L.unrecognizedParse(t)),null}function oW(e){let t={};return sy(e.filter,n=>{if($I(n)){let r=null;bw(n)?r=In(n.equal):Ew(n)?r=In(n.lte):vw(n)?r=In(n.lt):ww(n)?r=In(n.gt):Sw(n)?r=In(n.gte):Aw(n)?r=n.range[0]:_w(n)&&(r=(n.oneOf??n.in)[0]),r&&(bo(r)?t[n.field]="date":Te(r)?t[n.field]="number":Y(r)&&(t[n.field]="string")),n.timeUnit&&(t[n.field]="date")}}),t}function sW(e){let t={};function n(r){pu(r)?t[r.field]="date":r.type==="quantitative"&&lH(r.aggregate)?t[r.field]="number":af(r.field)>1?r.field in t||(t[r.field]="flatten"):wo(r)&&wr(r.sort)&&af(r.sort.field)>1&&(r.sort.field in t||(t[r.sort.field]="flatten"))}if((Ge(e)||Qt(e))&&e.forEachFieldDef((r,i)=>{if(Ot(r))n(r);else{let o=zi(i),s=e.fieldDef(o);n({...r,type:s.type})}}),Ge(e)){let{mark:r,markDef:i,encoding:o}=e;if(vr(r)&&!e.encoding.order){let s=i.orient==="horizontal"?"y":"x",a=o[s];V(a)&&a.type==="quantitative"&&!(a.field in t)&&(t[a.field]="number")}}return t}function aW(e){let t={};if(Ge(e)&&e.component.selection)for(let n of P(e.component.selection)){let r=e.component.selection[n];for(let i of r.project.items)!i.channel&&af(i.field)>1&&(t[i.field]="flatten")}return t}var $n=class e extends be{clone(){return new e(null,ie(this._parse))}constructor(t,n){super(t),this._parse=n}hash(){return`Parse ${fe(this._parse)}`}static makeExplicit(t,n,r){let i={},o=n.data;return!ps(o)&&o?.format?.parse&&(i=o.format.parse),this.makeWithAncestors(t,i,{},r)}static makeWithAncestors(t,n,r,i){for(let a of P(r)){let u=i.getWithExplicit(a);u.value!==void 0&&(u.explicit||u.value===r[a]||u.value==="derived"||r[a]==="flatten"?delete r[a]:z(L.differentParse(a,r[a],u.value)))}for(let a of P(n)){let u=i.get(a);u!==void 0&&(u===n[a]?delete n[a]:z(L.differentParse(a,n[a],u)))}let o=new Sr(n,r);i.copyAll(o);let s={};for(let a of P(o.combine())){let u=o.get(a);u!==null&&(s[a]=u)}return P(s).length===0||i.parseNothing?null:new e(t,s)}get parse(){return this._parse}merge(t){this._parse={...this._parse,...t.parse},t.remove()}assembleFormatParse(){let t={};for(let n of P(this._parse)){let r=this._parse[n];af(n)===1&&(t[n]=r)}return t}producedFields(){return new Set(P(this._parse))}dependentFields(){return new Set(P(this._parse))}assembleTransforms(t=!1){return P(this._parse).filter(n=>t?af(n)>1:!0).map(n=>{let r=vwe(n,this._parse[n]);return r?{type:"formula",expr:r,as:ou(n)}:null}).filter(n=>n!==null)}};var xs=class e extends be{clone(){return new e(null)}constructor(t){super(t)}dependentFields(){return new Set}producedFields(){return new Set([Qn])}hash(){return"Identifier"}assemble(){return{type:"identifier",as:Qn}}};var Hl=class e extends be{clone(){return new e(null,this.params)}constructor(t,n){super(t),this.params=n}dependentFields(){return new Set}producedFields(){}hash(){return`Graticule ${fe(this.params)}`}assemble(){return{type:"graticule",...this.params===!0?{}:this.params}}};var ql=class e extends be{clone(){return new e(null,this.params)}constructor(t,n){super(t),this.params=n}dependentFields(){return new Set}producedFields(){return new Set([this.params.as??"data"])}hash(){return`Hash ${fe(this.params)}`}assemble(){return{type:"sequence",...this.params}}};var Ai=class extends be{constructor(t){super(null),t??(t={name:"source"});let n;if(ps(t)||(n=t.format?{...qt(t.format,["parse"])}:{}),bf(t))this._data={values:t.values};else if(xu(t)){if(this._data={url:t.url},!n.type){let r=/(?:\.([^.]+))?$/.exec(t.url)[1];xe(["json","csv","tsv","dsv","topojson"],r)||(r="json"),n.type=r}}else wN(t)?this._data={values:[{type:"Sphere"}]}:(vS(t)||ps(t))&&(this._data={});this._generator=ps(t),t.name&&(this._name=t.name),n&&!Ie(n)&&(this._data.format=n)}dependentFields(){return new Set}producedFields(){}get data(){return this._data}hasName(){return!!this._name}get isGenerator(){return this._generator}get dataName(){return this._name}set dataName(t){this._name=t}set parent(t){throw new Error("Source nodes have to be roots.")}remove(){throw new Error("Source nodes are roots and cannot be removed.")}hash(){throw new Error("Cannot hash sources")}assemble(){return{name:this._name,...this._data,transform:[]}}};var uW=function(e,t,n,r,i){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?i.call(e,n):i?i.value=n:t.set(e,n),n},Ewe=function(e,t,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(e):r?r.value:t.get(e)},Wy;function XS(e){return e instanceof Ai||e instanceof Hl||e instanceof ql}var xm=class{constructor(){Wy.set(this,void 0),uW(this,Wy,!1,"f")}setModified(){uW(this,Wy,!0,"f")}get modifiedFlag(){return Ewe(this,Wy,"f")}};Wy=new WeakMap;var ya=class extends xm{getNodeDepths(t,n,r){r.set(t,n);for(let i of t.children)this.getNodeDepths(i,n+1,r);return r}optimize(t){let r=[...this.getNodeDepths(t,0,new Map).entries()].sort((i,o)=>o[1]-i[1]);for(let i of r)this.run(i[0]);return this.modifiedFlag}},bm=class extends xm{optimize(t){this.run(t);for(let n of t.children)this.optimize(n);return this.modifiedFlag}};var KS=class extends bm{mergeNodes(t,n){let r=n.shift();for(let i of n)t.removeChild(i),i.parent=r,i.remove()}run(t){let n=t.children.map(i=>i.hash()),r={};for(let i=0;i<n.length;i++)r[n[i]]===void 0?r[n[i]]=[t.children[i]]:r[n[i]].push(t.children[i]);for(let i of P(r))r[i].length>1&&(this.setModified(),this.mergeNodes(t,r[i]))}},QS=class extends bm{constructor(t){super(),this.requiresSelectionId=t&&Oy(t)}run(t){t instanceof xs&&(this.requiresSelectionId&&(XS(t.parent)||t.parent instanceof ji||t.parent instanceof $n)||(this.setModified(),t.remove()))}},JS=class extends xm{optimize(t){return this.run(t,new Set),this.modifiedFlag}run(t,n){let r=new Set;t instanceof Ao&&(r=t.producedFields(),ew(r,n)&&(this.setModified(),t.removeFormulas(n),t.producedFields.length===0&&t.remove()));for(let i of t.children)this.run(i,new Set([...n,...r]))}},ZS=class extends bm{constructor(){super()}run(t){t instanceof jt&&!t.isRequired()&&(this.setModified(),t.remove())}},eA=class extends ya{run(t){if(!XS(t)&&!(t.numChildren()>1)){for(let n of t.children)if(n instanceof $n)if(t instanceof $n)this.setModified(),t.merge(n);else{if(tw(t.producedFields(),n.dependentFields()))continue;this.setModified(),n.swapWithParent()}}}},tA=class extends ya{run(t){let n=[...t.children],r=t.children.filter(i=>i instanceof $n);if(t.numChildren()>1&&r.length>=1){let i={},o=new Set;for(let s of r){let a=s.parse;for(let u of P(a))u in i?i[u]!==a[u]&&o.add(u):i[u]=a[u]}for(let s of o)delete i[s];if(!Ie(i)){this.setModified();let s=new $n(t,i);for(let a of n){if(a instanceof $n)for(let u of P(i))delete a.parse[u];t.removeChild(a),a.parent=s,a instanceof $n&&P(a.parse).length===0&&a.remove()}}}}},nA=class extends ya{run(t){t instanceof jt||t.numChildren()>0||t instanceof Fo||t instanceof Ai||(this.setModified(),t.remove())}},rA=class extends ya{run(t){let n=t.children.filter(i=>i instanceof Ao),r=n.pop();for(let i of n)this.setModified(),r.merge(i)}},iA=class extends ya{run(t){let n=t.children.filter(i=>i instanceof ji),r={};for(let i of n){let o=fe(i.groupBy);o in r||(r[o]=[]),r[o].push(i)}for(let i of P(r)){let o=r[i];if(o.length>1){let s=o.pop();for(let a of o)s.merge(a)&&(t.removeChild(a),a.parent=s,a.remove(),this.setModified())}}}},oA=class extends ya{constructor(t){super(),this.model=t}run(t){let n=!(XS(t)||t instanceof ha||t instanceof $n||t instanceof xs),r=[],i=[];for(let o of t.children)o instanceof ys&&(n&&!tw(t.producedFields(),o.dependentFields())?r.push(o):i.push(o));if(r.length>0){let o=r.pop();for(let s of r)o.merge(s,this.model.renameSignal.bind(this.model));this.setModified(),t instanceof ys?t.merge(o,this.model.renameSignal.bind(this.model)):o.swapWithParent()}if(i.length>1){let o=i.pop();for(let s of i)o.merge(s,this.model.renameSignal.bind(this.model));this.setModified()}}},sA=class extends ya{run(t){let n=[...t.children];if(!Cl(n,s=>s instanceof jt)||t.numChildren()<=1)return;let i=[],o;for(let s of n)if(s instanceof jt){let a=s;for(;a.numChildren()===1;){let[u]=a.children;if(u instanceof jt)a=u;else break}i.push(...a.children),o?(t.removeChild(s),s.parent=o.parent,o.parent.removeChild(o),o.parent=a,this.setModified()):o=a}else i.push(s);if(i.length){this.setModified();for(let s of i)s.parent.removeChild(s),s.parent=o}}};var bs=class e extends be{clone(){return new e(null,ie(this.transform))}constructor(t,n){super(t),this.transform=n}addDimensions(t){this.transform.groupby=hr(this.transform.groupby.concat(t),n=>n)}dependentFields(){let t=new Set;return this.transform.groupby&&this.transform.groupby.forEach(t.add,t),this.transform.joinaggregate.map(n=>n.field).filter(n=>n!==void 0).forEach(t.add,t),t}producedFields(){return new Set(this.transform.joinaggregate.map(this.getDefaultName))}getDefaultName(t){return t.as??J(t)}hash(){return`JoinAggregateTransform ${fe(this.transform)}`}assemble(){let t=[],n=[],r=[];for(let o of this.transform.joinaggregate)n.push(o.op),r.push(this.getDefaultName(o)),t.push(o.field===void 0?null:o.field);let i=this.transform.groupby;return{type:"joinaggregate",as:r,ops:n,fields:t,...i!==void 0?{groupby:i}:{}}}};var kf=class e extends be{clone(){return new e(null,{...this.filter})}constructor(t,n){super(t),this.filter=n}static make(t,n,r){let{config:i,markDef:o}=n,{marks:s,scales:a}=r;if(s==="include-invalid-values"&&a==="include-invalid-values")return null;let u=n.reduceFieldDef((l,c,f)=>{let d=ln(f)&&n.getScaleComponent(f);if(d){let p=d.get("type"),{aggregate:m}=c,h=Hp({scaleChannel:f,markDef:o,config:i,scaleType:p,isCountAggregate:Dl(m)});h!=="show"&&h!=="always-valid"&&(l[c.field]=c)}return l},{});return P(u).length?new e(t,u):null}dependentFields(){return new Set(P(this.filter))}producedFields(){return new Set}hash(){return`FilterInvalid ${fe(this.filter)}`}assemble(){let t=P(this.filter).reduce((n,r)=>{let i=this.filter[r],o=J(i,{expr:"datum"});return i!==null&&(i.type==="temporal"?n.push(`(isDate(${o}) || (${aA(o)}))`):i.type==="quantitative"&&n.push(aA(o))),n},[]);return t.length>0?{type:"filter",expr:t.join(" && ")}:null}};function aA(e){return`isValid(${e}) && isFinite(+${e})`}function Swe(e){return e.stack.stackBy.reduce((t,n)=>{let r=n.fieldDef,i=J(r);return i&&t.push(i),t},[])}function Awe(e){return O(e)&&e.every(t=>Y(t))&&e.length>1}var xa=class e extends be{clone(){return new e(null,ie(this._stack))}constructor(t,n){super(t),this._stack=n}static makeFromTransform(t,n){let{stack:r,groupby:i,as:o,offset:s="zero"}=n,a=[],u=[];if(n.sort!==void 0)for(let f of n.sort)a.push(f.field),u.push(Le(f.order,"ascending"));let l={field:a,order:u},c;return Awe(o)?c=o:Y(o)?c=[o,`${o}_end`]:c=[`${n.stack}_start`,`${n.stack}_end`],new e(t,{dimensionFieldDefs:[],stackField:r,groupby:i,offset:s,sort:l,facetby:[],as:c})}static makeFromEncoding(t,n){let r=n.stack,{encoding:i}=n;if(!r)return null;let{groupbyChannels:o,fieldChannel:s,offset:a,impute:u}=r,l=o.map(p=>{let m=i[p];return xn(m)}).filter(p=>!!p),c=Swe(n),f=n.encoding.order,d;if(O(f)||V(f))d=hw(f);else{let p=Gw(f)?f.sort:s==="y"?"descending":"ascending";d=c.reduce((m,h)=>(m.field.includes(h)||(m.field.push(h),m.order.push(p)),m),{field:[],order:[]})}return new e(t,{dimensionFieldDefs:l,stackField:n.vgField(s),facetby:[],stackby:c,sort:d,offset:a,impute:u,as:[n.vgField(s,{suffix:"start",forAs:!0}),n.vgField(s,{suffix:"end",forAs:!0})]})}get stack(){return this._stack}addDimensions(t){this._stack.facetby.push(...t)}dependentFields(){let t=new Set;return t.add(this._stack.stackField),this.getGroupbyFields().forEach(t.add,t),this._stack.facetby.forEach(t.add,t),this._stack.sort.field.forEach(t.add,t),t}producedFields(){return new Set(this._stack.as)}hash(){return`Stack ${fe(this._stack)}`}getGroupbyFields(){let{dimensionFieldDefs:t,impute:n,groupby:r}=this._stack;return t.length>0?t.map(i=>i.bin?n?[J(i,{binSuffix:"mid"})]:[J(i,{}),J(i,{binSuffix:"end"})]:[J(i)]).flat():r??[]}assemble(){let t=[],{facetby:n,dimensionFieldDefs:r,stackField:i,stackby:o,sort:s,offset:a,impute:u,as:l}=this._stack;if(u)for(let c of r){let{bandPosition:f=.5,bin:d}=c;if(d){let p=J(c,{expr:"datum"}),m=J(c,{expr:"datum",binSuffix:"end"});t.push({type:"formula",expr:`${aA(p)} ? ${f}*${p}+${1-f}*${m} : ${p}`,as:J(c,{binSuffix:"mid",forAs:!0})})}t.push({type:"impute",field:i,groupby:[...o,...n],key:J(c,{binSuffix:"mid"}),method:"value",value:0})}return t.push({type:"stack",groupby:[...this.getGroupbyFields(),...n],field:i,sort:s,as:l,offset:a}),t}};var _u=class e extends be{clone(){return new e(null,ie(this.transform))}constructor(t,n){super(t),this.transform=n}addDimensions(t){this.transform.groupby=hr(this.transform.groupby.concat(t),n=>n)}dependentFields(){let t=new Set;return(this.transform.groupby??[]).forEach(t.add,t),(this.transform.sort??[]).forEach(n=>t.add(n.field)),this.transform.window.map(n=>n.field).filter(n=>n!==void 0).forEach(t.add,t),t}producedFields(){return new Set(this.transform.window.map(this.getDefaultName))}getDefaultName(t){return t.as??J(t)}hash(){return`WindowTransform ${fe(this.transform)}`}assemble(){let t=[],n=[],r=[],i=[];for(let f of this.transform.window)n.push(f.op),r.push(this.getDefaultName(f)),i.push(f.param===void 0?null:f.param),t.push(f.field===void 0?null:f.field);let o=this.transform.frame,s=this.transform.groupby;if(o&&o[0]===null&&o[1]===null&&n.every(f=>Np(f)))return{type:"joinaggregate",as:r,ops:n,fields:t,...s!==void 0?{groupby:s}:{}};let a=[],u=[];if(this.transform.sort!==void 0)for(let f of this.transform.sort)a.push(f.field),u.push(f.order??"ascending");let l={field:a,order:u},c=this.transform.ignorePeers;return{type:"window",params:i,as:r,ops:n,fields:t,sort:l,...c!==void 0?{ignorePeers:c}:{},...s!==void 0?{groupby:s}:{},...o!==void 0?{frame:o}:{}}}};function _we(e){function t(n){if(!(n instanceof Fo)){let r=n.clone();if(r instanceof jt){let i=Vy+r.getSource();r.setSource(i),e.model.component.data.outputNodes[i]=r}else(r instanceof ji||r instanceof xa||r instanceof _u||r instanceof bs)&&r.addDimensions(e.fields);for(let i of n.children.flatMap(t))i.parent=r;return[r]}return n.children.flatMap(t)}return t}function uA(e){if(e instanceof Fo)if(e.numChildren()===1&&!(e.children[0]instanceof jt)){let t=e.children[0];(t instanceof ji||t instanceof xa||t instanceof _u||t instanceof bs)&&t.addDimensions(e.fields),t.swapWithParent(),uA(e)}else{let t=e.model.component.data.main;lW(t);let n=_we(e),r=e.children.map(n).flat();for(let i of r)i.parent=t}else e.children.map(uA)}function lW(e){if(e instanceof jt&&e.type===Ke.Main&&e.numChildren()===1){let t=e.children[0];t instanceof Fo||(t.swapWithParent(),lW(e))}}var Vy="scale_",lA=5;function oO(e){for(let t of e){for(let n of t.children)if(n.parent!==t)return!1;if(!oO(t.children))return!1}return!0}function vs(e,t){let n=!1;for(let r of t)n=e.optimize(r)||n;return n}function cW(e,t,n){let r=e.sources,i=!1;return i=vs(new ZS,r)||i,i=vs(new QS(t),r)||i,r=r.filter(o=>o.numChildren()>0),i=vs(new nA,r)||i,r=r.filter(o=>o.numChildren()>0),n||(i=vs(new eA,r)||i,i=vs(new oA(t),r)||i,i=vs(new JS,r)||i,i=vs(new tA,r)||i,i=vs(new iA,r)||i,i=vs(new rA,r)||i,i=vs(new KS,r)||i,i=vs(new sA,r)||i),e.sources=r,i}function fW(e,t){oO(e.sources);let n=0,r=0;for(let i=0;i<lA&&cW(e,t,!0);i++)n++;e.sources.map(uA);for(let i=0;i<lA&&cW(e,t,!1);i++)r++;oO(e.sources),Math.max(n,r)===lA&&z(`Maximum optimization runs(${lA}) reached.`)}var Jt=class e{constructor(t){Object.defineProperty(this,"signal",{enumerable:!0,get:t})}static fromName(t,n){return new e(()=>t(n))}};function lO(e){Ge(e)?Cwe(e):kwe(e)}function Cwe(e){let t=e.component.scales;for(let n of P(t)){let r=Twe(e,n);if(t[n].setWithExplicit("domains",r),Dwe(e,n),e.component.data.isFaceted){let o=e;for(;!Qt(o)&&o.parent;)o=o.parent;if(o.component.resolve.scale[n]==="shared")for(let a of r.value)us(a)&&(a.data=Vy+a.data.replace(Vy,""))}}}function kwe(e){for(let n of e.children)lO(n);let t=e.component.scales;for(let n of P(t)){let r,i=null;for(let o of e.children){let s=o.component.scales[n];if(s){r===void 0?r=s.getWithExplicit("domains"):r=Ei(r,s.getWithExplicit("domains"),"domains","scale",uO);let a=s.get("selectionExtent");i&&a&&i.param!==a.param&&z(L.NEEDS_SAME_SELECTION),i=a}}t[n].setWithExplicit("domains",r),i&&t[n].set("selectionExtent",i,!0)}}function Fwe(e,t,n,r){if(e==="unaggregated"){let{valid:i,reason:o}=dW(t,n);if(!i){z(o);return}}else if(e===void 0&&r.useUnaggregatedDomain){let{valid:i}=dW(t,n);if(i)return"unaggregated"}return e}function Twe(e,t){let n=e.getScaleComponent(t).get("type"),{encoding:r}=e,i=Fwe(e.scaleDomain(t),e.typedFieldDef(t),n,e.config.scale);return i!==e.scaleDomain(t)&&(e.specifiedScales[t]={...e.specifiedScales[t],domain:i}),t==="x"&&rt(r.x2)?rt(r.x)?Ei(Gl(n,i,e,"x"),Gl(n,i,e,"x2"),"domain","scale",uO):Gl(n,i,e,"x2"):t==="y"&&rt(r.y2)?rt(r.y)?Ei(Gl(n,i,e,"y"),Gl(n,i,e,"y2"),"domain","scale",uO):Gl(n,i,e,"y2"):Gl(n,i,e,t)}function Rwe(e,t,n){return e.map(r=>({signal:`{data: ${pf(r,{timeUnit:n,type:t})}}`}))}function sO(e,t,n){let r=yt(n)?.unit;return t==="temporal"||r?Rwe(e,t,r):[e]}function Gl(e,t,n,r){let{encoding:i,markDef:o,mark:s,config:a,stack:u}=n,l=rt(i[r]),{type:c}=l,f=l.timeUnit,d=PG({invalid:Xr("invalid",o,a),isPath:vr(s)});if(GH(t)){let h=Gl(e,void 0,n,r),g=sO(t.unionWith,c,f);return So([...g,...h.value])}else{if(re(t))return So([t]);if(t&&t!=="unaggregated"&&!UI(t))return So(sO(t,c,f))}if(u&&r===u.fieldChannel){if(u.offset==="normalize")return Ar([[0,1]]);let h=n.requestDataName(d);return Ar([{data:h,field:n.vgField(r,{suffix:"start"})},{data:h,field:n.vgField(r,{suffix:"end"})}])}let p=ln(r)&&V(l)?Mwe(n,r,e):void 0;if(Er(l)){let h=sO([l.datum],c,f);return Ar(h)}let m=l;if(t==="unaggregated"){let{field:h}=l;return Ar([{data:n.requestDataName(d),field:J({field:h,aggregate:"min"})},{data:n.requestDataName(d),field:J({field:h,aggregate:"max"})}])}else if(Pe(m.bin)){if(at(e))return e==="bin-ordinal"?Ar([]):Ar([{data:Cp(p)?n.requestDataName(d):n.requestDataName(Ke.Raw),field:n.vgField(r,aa(m,r)?{binSuffix:"range"}:{}),sort:p===!0||!Q(p)?{field:n.vgField(r,{}),op:"min"}:p}]);{let{bin:h}=m;if(Pe(h)){let g=gm(n,m.field,h);return Ar([new Jt(()=>{let y=n.getSignalName(g);return`[${y}.start, ${y}.stop]`})])}else return Ar([{data:n.requestDataName(d),field:n.vgField(r,{})}])}}else if(m.timeUnit&&xe(["time","utc"],e)){let h=i[Mn(r)];if(qw(m,h,o,a)){let g=n.requestDataName(d),y=bi({fieldDef:m,fieldDef2:h,markDef:o,config:a}),x=cu(s)&&y!==.5&&Xe(r);return Ar([{data:g,field:n.vgField(r,x?{suffix:vf}:{})},{data:g,field:n.vgField(r,{suffix:x?Ef:"end"})}])}}return p?Ar([{data:Cp(p)?n.requestDataName(d):n.requestDataName(Ke.Raw),field:n.vgField(r),sort:p}]):Ar([{data:n.requestDataName(d),field:n.vgField(r)}])}function aO(e,t){let{op:n,field:r,order:i}=e;return{op:n??(t?"sum":Il),...r?{field:un(r)}:{},...i?{order:i}:{}}}function Dwe(e,t){let n=e.component.scales[t],r=e.specifiedScales[t].domain,i=e.fieldDef(t)?.bin,o=UI(r)?r:void 0,s=ss(i)&&Op(i.extent)?i.extent:void 0;(o||s)&&n.set("selectionExtent",o??s,!0)}function Mwe(e,t,n){if(!at(n))return;let r=e.fieldDef(t),i=r.sort;if(Bw(i))return{op:"min",field:ga(r,t),order:"ascending"};let{stack:o}=e,s=o?new Set([...o.groupbyFields,...o.stackBy.map(a=>a.fieldDef.field)]):void 0;if(wr(i)){let a=o&&!s.has(i.field);return aO(i,a)}else if(hq(i)){let{encoding:a,order:u}=i,l=e.fieldDef(a),{aggregate:c,field:f}=l,d=o&&!s.has(f);if(Hi(c)||xo(c))return aO({field:J(l),order:u},d);if(Np(c)||!c)return aO({op:c,field:f,order:u},d)}else{if(i==="descending")return{op:"min",field:e.vgField(t),order:"descending"};if(xe(["ascending",void 0],i))return!0}}function dW(e,t){let{aggregate:n,type:r}=e;return n?Y(n)&&!fH.has(n)?{valid:!1,reason:L.unaggregateDomainWithNonSharedDomainOp(n)}:r==="quantitative"&&t==="log"?{valid:!1,reason:L.unaggregatedDomainWithLogScale(e)}:{valid:!0}:{valid:!1,reason:L.unaggregateDomainHasNoEffectForRawField(e)}}function uO(e,t,n,r){return e.explicit&&t.explicit&&z(L.mergeConflictingDomainProperty(n,r,e.value,t.value)),{explicit:e.explicit,value:[...e.value,...t.value]}}function Iwe(e){let t=hr(e.map(s=>{if(us(s)){let{sort:a,...u}=s;return u}return s}),fe),n=hr(e.map(s=>{if(us(s)){let a=s.sort;return a!==void 0&&!Cp(a)&&("op"in a&&a.op==="count"&&delete a.field,a.order==="ascending"&&delete a.order),a}}).filter(s=>s!==void 0),fe);if(t.length===0)return;if(t.length===1){let s=e[0];if(us(s)&&n.length>0){let a=n[0];if(n.length>1){z(L.MORE_THAN_ONE_SORT);let u=n.filter(l=>Q(l)&&"op"in l&&l.op!=="min");n.every(l=>Q(l)&&"op"in l)&&u.length===1?a=u[0]:a=!0}else if(Q(a)&&"field"in a){let u=a.field;s.field===u&&(a=a.order?{order:a.order}:!0)}return{...s,sort:a}}return s}let r=hr(n.map(s=>Cp(s)||!("op"in s)||Y(s.op)&&ne(uH,s.op)?s:(z(L.domainSortDropped(s)),!0)),fe),i;r.length===1?i=r[0]:r.length>1&&(z(L.MORE_THAN_ONE_SORT),i=!0);let o=hr(e.map(s=>us(s)?s.data:null),s=>s);return o.length===1&&o[0]!==null?{data:o[0],fields:t.map(a=>a.field),...i?{sort:i}:{}}:{fields:t,...i?{sort:i}:{}}}function ym(e){if(us(e)&&Y(e.field))return e.field;if(dH(e)){let t;for(let n of e.fields)if(us(n)&&Y(n.field)){if(!t)t=n.field;else if(t!==n.field)return z(L.FACETED_INDEPENDENT_DIFFERENT_SOURCES),t}return z(L.FACETED_INDEPENDENT_SAME_FIELDS_DIFFERENT_SOURCES),t}else if(pH(e)){z(L.FACETED_INDEPENDENT_SAME_SOURCE);let t=e.fields[0];return Y(t)?t:void 0}}function zl(e,t){let r=e.component.scales[t].get("domains").map(i=>(us(i)&&(i.data=e.lookupDataSource(i.data)),i));return Iwe(r)}function cO(e){return _o(e)||hm(e)?e.children.reduce((t,n)=>t.concat(cO(n)),pW(e)):pW(e)}function pW(e){return P(e.component.scales).reduce((t,n)=>{let r=e.component.scales[n];if(r.merged)return t;let i=r.combine(),{name:o,type:s,selectionExtent:a,domains:u,range:l,reverse:c,...f}=i,d=Nwe(i.range,o,n,e),p=zl(e,n),m=a?KG(e,a,r,p):null;return t.push({name:o,type:s,...p?{domain:p}:{},...m?{domainRaw:m}:{},range:d,...c!==void 0?{reverse:c}:{},...f}),t},[])}function Nwe(e,t,n,r){if(Xe(n)){if(xi(e))return{step:{signal:`${t}_step`}}}else if(Q(e)&&us(e))return{...e,data:r.lookupDataSource(e.data)};return e}var Yy=class extends Sr{constructor(t,n){super({},{name:t}),this.merged=!1,this.setWithExplicit("type",n)}domainHasZero(){let t=this.get("type");if(xe([Kt.LOG,Kt.TIME,Kt.UTC],t))return"definitely-not";let n=this.get("zero");if(n===!0||n===void 0&&xe([Kt.LINEAR,Kt.SQRT,Kt.POW],t))return"definitely";let r=this.get("domains");if(r.length>0){let i=!1,o=!1,s=!1;for(let a of r){if(O(a)){let u=a[0],l=a[a.length-1];if(Te(u)&&Te(l))if(u<=0&&l>=0){i=!0;continue}else{o=!0;continue}}s=!0}if(i)return"definitely";if(o&&!s)return"definitely-not"}return"maybe"}};var Owe=["range","scheme"];function yW(e){let t=e.component.scales;for(let n of Ip){let r=t[n];if(!r)continue;let i=Pwe(n,e);r.setWithExplicit("range",i)}}function mW(e,t){let n=e.fieldDef(t);if(n?.bin){let{bin:r,field:i}=n,o=Nt(t),s=e.getName(o);if(Q(r)&&r.binned&&r.step!==void 0)return new Jt(()=>{let a=e.scaleName(t),u=`(domain("${a}")[1] - domain("${a}")[0]) / ${r.step}`;return`${e.getSignalName(s)} / (${u})`});if(Pe(r)){let a=gm(e,i,r);return new Jt(()=>{let u=e.getSignalName(a),l=`(${u}.stop - ${u}.start) / ${u}.step`;return`${e.getSignalName(s)} / (${l})`})}}}function Pwe(e,t){let n=t.specifiedScales[e],{size:r}=t,o=t.getScaleComponent(e).get("type");for(let f of Owe)if(n[f]!==void 0){let d=py(o,f),p=Fw(e,f);if(!d)z(L.scalePropertyNotWorkWithScaleType(o,f,e));else if(p)z(p);else switch(f){case"range":{let m=n.range;if(O(m)){if(Xe(e))return So(m.map(h=>{if(h==="width"||h==="height"){let g=t.getName(h),y=t.getSignalName.bind(t);return Jt.fromName(y,g)}return h}))}else if(Q(m))return So({data:t.requestDataName(Ke.Main),field:m.field,sort:{op:"min",field:t.vgField(e)}});return So(m)}case"scheme":return So($we(n[f]))}}let s=e===Ye||e==="xOffset"?"width":"height",a=r[s];if(vi(a)){if(Xe(e))if(at(o)){let f=bW(a,t,e);if(f)return So({step:f})}else z(L.stepDropped(s));else if(uu(e)){let f=e===go?"x":"y";if(t.getScaleComponent(f).get("type")==="band"){let m=vW(a,o);if(m)return So(m)}}}let{rangeMin:u,rangeMax:l}=n,c=Lwe(e,t);return(u!==void 0||l!==void 0)&&py(o,"rangeMin")&&O(c)&&c.length===2?So([u??c[0],l??c[1]]):Ar(c)}function $we(e){return qH(e)?{scheme:e.name,...qt(e,["name"])}:{scheme:e}}function xW(e,t,n,{center:r}={}){let i=Nt(e),o=t.getName(i),s=t.getSignalName.bind(t);return e===ht&&Nn(n)?r?[Jt.fromName(a=>`${s(a)}/2`,o),Jt.fromName(a=>`-${s(a)}/2`,o)]:[Jt.fromName(s,o),0]:r?[Jt.fromName(a=>`-${s(a)}/2`,o),Jt.fromName(a=>`${s(a)}/2`,o)]:[0,Jt.fromName(s,o)]}function Lwe(e,t){let{size:n,config:r,mark:i,encoding:o}=t,{type:s}=rt(o[e]),u=t.getScaleComponent(e).get("type"),{domain:l,domainMid:c}=t.specifiedScales[e];switch(e){case Ye:case ht:{if(xe(["point","band"],u)){let f=EW(e,n,r.view);if(vi(f))return{step:bW(f,t,e)}}return xW(e,t,u)}case go:case na:return Bwe(e,t,u);case yi:{let f=Hwe(i,r),d=qwe(i,n,t,r);return lu(u)?zwe(f,d,Uwe(u,r,l,e)):[f,d]}case jn:return[0,Math.PI*2];case os:return[0,360];case gr:return[0,new Jt(()=>{let f=t.getSignalName(Qt(t.parent)?"child_width":"width"),d=t.getSignalName(Qt(t.parent)?"child_height":"height");return`min(${f},${d})/2`})];case Pi:return{step:1e3/r.scale.framesPerSecond};case Bi:return[r.scale.minStrokeWidth,r.scale.maxStrokeWidth];case Ui:return[[1,0],[4,2],[2,1],[1,1],[1,2,4,2]];case It:return"symbol";case Gt:case xr:case br:return u==="ordinal"?s==="nominal"?"category":"ordinal":c!==void 0?"diverging":i==="rect"||i==="geoshape"?"heatmap":"ramp";case Vr:case $i:case Li:return[r.scale.minOpacity,r.scale.maxOpacity]}}function bW(e,t,n){let{encoding:r}=t,i=t.getScaleComponent(n),o=Mp(n),s=r[o];if(pN({step:e,offsetIsDiscrete:Ee(s)&&kw(s.type)})==="offset"&&tN(r,o)){let u=t.getScaleComponent(o),c=`domain('${t.scaleName(o)}').length`;if(u.get("type")==="band"){let d=u.get("paddingInner")??u.get("padding")??0,p=u.get("paddingOuter")??u.get("padding")??0;c=`bandspace(${c}, ${d}, ${p})`}let f=i.get("paddingInner")??i.get("padding");return{signal:`${e.step} * ${c} / (1-${yH(f)})`}}else return e.step}function vW(e,t){if(pN({step:e,offsetIsDiscrete:at(t)})==="offset")return{step:e.step}}function Bwe(e,t,n){let r=e===go?"x":"y",i=t.getScaleComponent(r);if(!i)return xW(r,t,n,{center:!0});let o=i.get("type"),s=t.scaleName(r),{markDef:a,config:u}=t;if(o==="band"){let l=EW(r,t.size,t.config.view);if(vi(l)){let c=vW(l,n);if(c)return c}return[0,{signal:`bandwidth('${s}')`}]}else{let l=t.encoding[r];if(V(l)&&l.timeUnit){let c=xw(l.timeUnit,m=>`scale('${s}', ${m})`),f=t.config.scale.bandWithNestedOffsetPaddingInner,d=bi({fieldDef:l,markDef:a,config:u})-.5,p=d!==0?` + ${d}`:"";if(f){let m=re(f)?`${f.signal}/2`+p:`${f/2+d}`,h=re(f)?`(1 - ${f.signal}/2)`+p:`${1-f/2+d}`;return[{signal:`${m} * (${c})`},{signal:`${h} * (${c})`}]}return[0,{signal:c}]}return lI(`Cannot use ${e} scale if ${r} scale is not discrete.`)}}function EW(e,t,n){let r=e===Ye?"width":"height",i=t[r];return i||Jp(n,r)}function Uwe(e,t,n,r){switch(e){case"quantile":return t.scale.quantileCount;case"quantize":return t.scale.quantizeCount;case"threshold":return n!==void 0&&O(n)?n.length+1:(z(L.domainRequiredForThresholdScale(r)),3)}}function zwe(e,t,n){let r=()=>{let i=Yr(t),o=Yr(e),s=`(${i} - ${o}) / (${n} - 1)`;return`sequence(${o}, ${i} + ${s}, ${s})`};return re(t)?new Jt(r):{signal:r()}}function Hwe(e,t){switch(e){case"bar":case"tick":return t.scale.minBandSize;case"line":case"trail":case"rule":return t.scale.minStrokeWidth;case"text":return t.scale.minFontSize;case"point":case"square":case"circle":return t.scale.minSize}throw new Error(L.incompatibleChannel("size",e))}var hW=.95;function qwe(e,t,n,r){let i={x:mW(n,"x"),y:mW(n,"y")};switch(e){case"bar":case"tick":{if(r.scale.maxBandSize!==void 0)return r.scale.maxBandSize;let o=gW(t,i,r.view);return Te(o)?o-1:new Jt(()=>`${o.signal} - 1`)}case"line":case"trail":case"rule":return r.scale.maxStrokeWidth;case"text":return r.scale.maxFontSize;case"point":case"square":case"circle":{if(r.scale.maxSize)return r.scale.maxSize;let o=gW(t,i,r.view);return Te(o)?Math.pow(hW*o,2):new Jt(()=>`pow(${hW} * ${o.signal}, 2)`)}}throw new Error(L.incompatibleChannel("size",e))}function gW(e,t,n){let r=vi(e.width)?e.width.step:Fy(n,"width"),i=vi(e.height)?e.height.step:Fy(n,"height");return t.x||t.y?new Jt(()=>`min(${[t.x?t.x.signal:r,t.y?t.y.signal:i].join(", ")})`):Math.min(r,i)}function fO(e,t){Ge(e)?Gwe(e,t):SW(e,t)}function Gwe(e,t){let n=e.component.scales,{config:r,encoding:i,markDef:o,specifiedScales:s}=e;for(let a of P(n)){let u=s[a],l=n[a],c=e.getScaleComponent(a),f=rt(i[a]),d=u[t],p=c.get("type"),m=c.get("padding"),h=c.get("paddingInner"),g=py(p,t),y=Fw(a,t);if(d!==void 0&&(g?y&&z(y):z(L.scalePropertyNotWorkWithScaleType(p,t,a))),g&&y===void 0)if(d!==void 0){let x=f.timeUnit,b=f.type;switch(t){case"domainMax":case"domainMin":bo(u[t])||b==="temporal"||x?l.set(t,{signal:pf(u[t],{type:b,timeUnit:x})},!0):l.set(t,u[t],!0);break;default:l.copyKeyFromObject(t,u)}}else{let x=W(wW,t)?wW[t]({model:e,channel:a,fieldOrDatumDef:f,scaleType:p,scalePadding:m,scalePaddingInner:h,domain:u.domain,domainMin:u.domainMin,domainMax:u.domainMax,markDef:o,config:r,hasNestedOffsetScale:Yw(i,a),hasSecondaryRangeChannel:!!i[Mn(a)]}):r.scale[t];x!==void 0&&l.set(t,x,!1)}}}var wW={bins:({model:e,fieldOrDatumDef:t})=>V(t)?jwe(e,t):void 0,interpolate:({channel:e,fieldOrDatumDef:t})=>Wwe(e,t.type),nice:({scaleType:e,channel:t,domain:n,domainMin:r,domainMax:i,fieldOrDatumDef:o})=>Vwe(e,t,n,r,i,o),padding:({channel:e,scaleType:t,fieldOrDatumDef:n,markDef:r,config:i})=>Ywe(e,t,i.scale,n,r,i.bar),paddingInner:({scalePadding:e,channel:t,markDef:n,scaleType:r,config:i,hasNestedOffsetScale:o})=>Xwe(e,t,n.type,r,i.scale,o),paddingOuter:({scalePadding:e,channel:t,scaleType:n,scalePaddingInner:r,config:i,hasNestedOffsetScale:o})=>Kwe(e,t,n,r,i.scale,o),reverse:({fieldOrDatumDef:e,scaleType:t,channel:n,config:r})=>{let i=V(e)?e.sort:void 0;return Qwe(t,i,n,r.scale)},zero:({channel:e,fieldOrDatumDef:t,domain:n,markDef:r,scaleType:i,config:o,hasSecondaryRangeChannel:s})=>Jwe(e,t,n,r,i,o.scale,s)};function dO(e){Ge(e)?yW(e):SW(e,"range")}function SW(e,t){let n=e.component.scales;for(let r of e.children)t==="range"?dO(r):fO(r,t);for(let r of P(n)){let i;for(let o of e.children){let s=o.component.scales[r];if(s){let a=s.getWithExplicit(t);i=Ei(i,a,t,"scale",xS((u,l)=>{switch(t){case"range":return u.step&&l.step?u.step-l.step:0}return 0}))}}n[r].setWithExplicit(t,i)}}function jwe(e,t){let n=t.bin;if(Pe(n)){let r=gm(e,t.field,n);return new Jt(()=>e.getSignalName(r))}else if(gt(n)&&ss(n)&&n.step!==void 0)return{step:n.step}}function Wwe(e,t){if(xe([Gt,xr,br],e)&&t!=="nominal")return"hcl"}function Vwe(e,t,n,r,i,o){if(!(xn(o)?.bin||O(n)||i!=null||r!=null||xe([Kt.TIME,Kt.UTC],e)))return Xe(t)?!0:void 0}function Ywe(e,t,n,r,i,o){if(Xe(e)){if(Eo(t)){if(n.continuousPadding!==void 0)return n.continuousPadding;let{type:s,orient:a}=i;if(s==="bar"&&!(V(r)&&(r.bin||r.timeUnit))&&(a==="vertical"&&e==="x"||a==="horizontal"&&e==="y"))return o.continuousBandSize}if(t===Kt.POINT)return n.pointPadding}}function Xwe(e,t,n,r,i,o=!1){if(e===void 0){if(Xe(t)){let{bandPaddingInner:s,barBandPaddingInner:a,rectBandPaddingInner:u,tickBandPaddingInner:l,bandWithNestedOffsetPaddingInner:c}=i;return o?c:Le(s,n==="bar"?a:n==="tick"?l:u)}else if(uu(t)&&r===Kt.BAND)return i.offsetBandPaddingInner}}function Kwe(e,t,n,r,i,o=!1){if(e===void 0){if(Xe(t)){let{bandPaddingOuter:s,bandWithNestedOffsetPaddingOuter:a}=i;if(o)return a;if(n===Kt.BAND)return Le(s,re(r)?{signal:`${r.signal}/2`}:r/2)}else if(uu(t)){if(n===Kt.POINT)return .5;if(n===Kt.BAND)return i.offsetBandPaddingOuter}}}function Qwe(e,t,n,r){if(n==="x"&&r.xReverse!==void 0)return Nn(e)&&t==="descending"?re(r.xReverse)?{signal:`!${r.xReverse.signal}`}:!r.xReverse:r.xReverse;if(Nn(e)&&t==="descending")return!0}function Jwe(e,t,n,r,i,o,s){if(!!n&&n!=="unaggregated"&&Nn(i)){if(O(n)){let u=n[0],l=n[n.length-1];if(Te(u)&&u<=0&&Te(l)&&l>=0)return!0}return!1}if(e==="size"&&t.type==="quantitative"&&!lu(i))return!0;if(!(V(t)&&t.bin)&&xe([...Xn,...Z7],e)){let{orient:u,type:l}=r;return xe(["bar","area","line","trail"],l)&&(u==="horizontal"&&e==="y"||u==="vertical"&&e==="x")?!1:xe(["bar","area"],l)&&!s?!0:o?.zero}return!1}function AW(e,t,n,r,i=!1){let o=Zwe(t,n,r,i),{type:s}=e;return ln(t)?s!==void 0?XH(t,s)?V(n)&&!YH(s,n.type)?(z(L.scaleTypeNotWorkWithFieldDef(s,o)),o):s:(z(L.scaleTypeNotWorkWithChannel(t,s,o)),o):o:null}function Zwe(e,t,n,r){switch(t.type){case"nominal":case"ordinal":{if(au(e)||lw(e)==="discrete")return e==="shape"&&t.type==="ordinal"&&z(L.discreteChannelCannotEncode(e,"ordinal")),"ordinal";if(uw(e))return"band";if(Xe(e)||uu(e)){if(xe(["rect","bar","image","rule","tick"],n.type)||r)return"band"}else if(n.type==="arc"&&e in aw)return"band";let i=n[Nt(e)];return oa(i)||du(t)&&t.axis?.tickBand?"band":"point"}case"temporal":return au(e)?"time":lw(e)==="discrete"?(z(L.discreteChannelCannotEncode(e,"temporal")),"ordinal"):V(t)&&t.timeUnit&&yt(t.timeUnit).utc?"utc":uw(e)?"band":"time";case"quantitative":return au(e)?V(t)&&Pe(t.bin)?"bin-ordinal":"linear":lw(e)==="discrete"?(z(L.discreteChannelCannotEncode(e,"quantitative")),"ordinal"):uw(e)?"band":"linear";case"geojson":return}throw new Error(L.invalidFieldType(t.type))}function _W(e,{ignoreRange:t}={}){CW(e),lO(e);for(let n of VH)fO(e,n);t||dO(e)}function CW(e){Ge(e)?e.component.scales=eSe(e):e.component.scales=nSe(e)}function eSe(e){let{encoding:t,mark:n,markDef:r}=e,i={};for(let o of Ip){let s=rt(t[o]);if(s&&n===Rw&&o===It&&s.type===fs)continue;let a=s&&s.scale;if(s&&a!==null&&a!==!1){a??(a={});let u=Yw(t,o),l=AW(a,o,s,r,u);i[o]=new Yy(e.scaleName(`${o}`,!0),{value:l,explicit:a.type===l})}}return i}var tSe=xS((e,t)=>LI(e)-LI(t));function nSe(e){var t;let n=e.component.scales={},r={},i=e.component.resolve;for(let o of e.children){CW(o);for(let s of P(o.component.scales))if((t=i.scale)[s]??(t[s]=jS(s,e)),i.scale[s]==="shared"){let a=r[s],u=o.component.scales[s].getWithExplicit("type");a?LH(a.value,u.value)?r[s]=Ei(a,u,"type","scale",tSe):(i.scale[s]="independent",delete r[s]):r[s]=u}}for(let o of P(r)){let s=e.scaleName(o,!0),a=r[o];n[o]=new Yy(s,a);for(let u of e.children){let l=u.component.scales[o];l&&(u.renameScale(l.get("name"),s),l.merged=!0)}}return n}var Xy=class{constructor(){this.nameMap={}}rename(t,n){this.nameMap[t]=n}has(t){return this.nameMap[t]!==void 0}get(t){for(;this.nameMap[t]&&t!==this.nameMap[t];)t=this.nameMap[t];return t}};function Ge(e){return e?.type==="unit"}function Qt(e){return e?.type==="facet"}function hm(e){return e?.type==="concat"}function _o(e){return e?.type==="layer"}var Ff=class{constructor(t,n,r,i,o,s,a){this.type=n,this.parent=r,this.config=o,this.parent=r,this.config=o,this.view=Tt(a),this.name=t.name??i,this.title=as(t.title)?{text:t.title}:t.title?Tt(t.title):void 0,this.scaleNameMap=r?r.scaleNameMap:new Xy,this.projectionNameMap=r?r.projectionNameMap:new Xy,this.signalNameMap=r?r.signalNameMap:new Xy,this.data=t.data,this.description=t.description,this.transforms=TG(t.transform??[]),this.layout=n==="layer"||n==="unit"?{}:Vq(t,n,o),this.component={data:{sources:r?r.component.data.sources:[],outputNodes:r?r.component.data.outputNodes:{},outputNodeRefCounts:r?r.component.data.outputNodeRefCounts:{},isFaceted:mu(t)||r?.component.data.isFaceted&&t.data===void 0},layoutSize:new Sr,layoutHeaders:{row:{},column:{},facet:{}},mark:null,resolve:{scale:{},axis:{},legend:{},...s?ie(s):{}},selection:null,scales:null,projection:null,axes:{},legends:{}}}get width(){return this.getSizeSignalRef("width")}get height(){return this.getSizeSignalRef("height")}parse(){this.parseScale(),this.parseLayoutSize(),this.renameTopLevelLayoutSizeSignal(),this.parseSelections(),this.parseProjection(),this.parseData(),this.parseAxesAndHeaders(),this.parseLegends(),this.parseMarkGroup()}parseScale(){_W(this)}parseProjection(){iO(this)}renameTopLevelLayoutSizeSignal(){this.getName("width")!=="width"&&this.renameSignal(this.getName("width"),"width"),this.getName("height")!=="height"&&this.renameSignal(this.getName("height"),"height")}parseLegends(){nO(this)}assembleEncodeFromView(t){let{style:n,...r}=t,i={};for(let o of P(r)){let s=r[o];s!==void 0&&(i[o]=$e(s))}return i}assembleGroupEncodeEntry(t){let n={};return this.view&&(n=this.assembleEncodeFromView(this.view)),!t&&(this.description&&(n.description=$e(this.description)),this.type==="unit"||this.type==="layer")?{width:this.getSizeSignalRef("width"),height:this.getSizeSignalRef("height"),...n}:Ie(n)?void 0:n}assembleLayout(){if(!this.layout)return;let{spacing:t,...n}=this.layout,{component:r,config:i}=this,o=Gj(r.layoutHeaders,i);return{padding:t,...this.assembleDefaultLayout(),...n,...o?{titleBand:o}:{}}}assembleDefaultLayout(){return{}}assembleHeaderMarks(){let{layoutHeaders:t}=this.component,n=[];for(let r of Dn)t[r].title&&n.push(Uj(this,r));for(let r of fm)n=n.concat(qj(this,r));return n}assembleAxes(){return Oj(this.component.axes,this.config)}assembleLegends(){return YS(this)}assembleProjections(){return Zj(this)}assembleTitle(){let{encoding:t,...n}=this.title??{},r={...fw(this.config.title).nonMarkTitleProperties,...n,...t?{encode:{update:t}}:{}};if(r.text)return xe(["unit","layer"],this.type)?xe(["middle",void 0],r.anchor)&&(r.frame??(r.frame="group")):r.anchor??(r.anchor="start"),Ie(r)?void 0:r}assembleGroup(t=[]){let n={};t=t.concat(this.assembleSignals()),t.length>0&&(n.signals=t);let r=this.assembleLayout();r&&(n.layout=r),n.marks=[].concat(this.assembleHeaderMarks(),this.assembleMarks());let i=!this.parent||Qt(this.parent)?cO(this):[];i.length>0&&(n.scales=i);let o=this.assembleAxes();o.length>0&&(n.axes=o);let s=this.assembleLegends();return s.length>0&&(n.legends=s),n}getName(t){return He((this.name?`${this.name}_`:"")+t)}getDataName(t){return this.getName(Ke[t].toLowerCase())}requestDataName(t){let n=this.getDataName(t),r=this.component.data.outputNodeRefCounts;return r[n]=(r[n]||0)+1,n}getSizeSignalRef(t){if(Qt(this.parent)){let n=qS(t),r=Rl(n),i=this.component.scales[r];if(i&&!i.merged){let o=i.get("type"),s=i.get("range");if(at(o)&&xi(s)){let a=i.get("name"),u=zl(this,r),l=ym(u);if(l){let c=J({aggregate:"distinct",field:l},{expr:"datum"});return{signal:JN(a,i,c)}}else return z(L.unknownField(r)),null}}}return{signal:this.signalNameMap.get(this.getName(t))}}lookupDataSource(t){let n=this.component.data.outputNodes[t];return n?n.getSource():t}getSignalName(t){return this.signalNameMap.get(t)}renameSignal(t,n){this.signalNameMap.rename(t,n)}renameScale(t,n){this.scaleNameMap.rename(t,n)}renameProjection(t,n){this.projectionNameMap.rename(t,n)}scaleName(t,n){if(n)return this.getName(t);if(ow(t)&&ln(t)&&this.component.scales[t]||this.scaleNameMap.has(this.getName(t)))return this.scaleNameMap.get(this.getName(t))}projectionName(t){if(t)return this.getName("projection");if(this.component.projection&&!this.component.projection.merged||this.projectionNameMap.has(this.getName("projection")))return this.projectionNameMap.get(this.getName("projection"))}getScaleComponent(t){if(!this.component.scales)throw new Error("getScaleComponent cannot be called before parseScale(). Make sure you have called parseScale or use parseUnitModelWithScale().");let n=this.component.scales[t];return n&&!n.merged?n:this.parent?this.parent.getScaleComponent(t):void 0}getScaleType(t){let n=this.getScaleComponent(t);return n?n.get("type"):void 0}getSelectionComponent(t,n){let r=this.component.selection[t];if(!r&&this.parent&&(r=this.parent.getSelectionComponent(t,n)),!r)throw new Error(L.selectionNotFound(n));return r}hasAxisOrientSignalRef(){return this.component.axes.x?.some(t=>t.hasOrientSignalRef())||this.component.axes.y?.some(t=>t.hasOrientSignalRef())}},vm=class extends Ff{vgField(t,n={}){let r=this.fieldDef(t);if(r)return J(r,n)}reduceFieldDef(t,n){return Tq(this.getMapping(),(r,i,o)=>{let s=xn(i);return s?t(r,s,o):r},n)}forEachFieldDef(t,n){wy(this.getMapping(),(r,i)=>{let o=xn(r);o&&t(o,i)},n)}};var Em=class e extends be{clone(){return new e(null,ie(this.transform))}constructor(t,n){super(t),this.transform=n,this.transform=ie(n);let r=this.transform.as??[void 0,void 0];this.transform.as=[r[0]??"value",r[1]??"density"];let i=this.transform.resolve??"shared";this.transform.resolve=i}dependentFields(){return new Set([this.transform.density,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`DensityTransform ${fe(this.transform)}`}assemble(){let{density:t,...n}=this.transform,r={type:"kde",field:t,...n};return r.resolve=this.transform.resolve,r}};var wm=class e extends be{clone(){return new e(null,ie(this.transform))}constructor(t,n){super(t),this.transform=n,this.transform=ie(n)}dependentFields(){return new Set([this.transform.extent])}producedFields(){return new Set([])}hash(){return`ExtentTransform ${fe(this.transform)}`}assemble(){let{extent:t,param:n}=this.transform;return{type:"extent",field:t,signal:n}}};var Sm=class e extends be{clone(){return new e(this.parent,ie(this.transform))}constructor(t,n){super(t),this.transform=n,this.transform=ie(n);let{flatten:r,as:i=[]}=this.transform;this.transform.as=r.map((o,s)=>i[s]??o)}dependentFields(){return new Set(this.transform.flatten)}producedFields(){return new Set(this.transform.as)}hash(){return`FlattenTransform ${fe(this.transform)}`}assemble(){let{flatten:t,as:n}=this.transform;return{type:"flatten",fields:t,as:n}}};var Am=class e extends be{clone(){return new e(null,ie(this.transform))}constructor(t,n){super(t),this.transform=n,this.transform=ie(n);let r=this.transform.as??[void 0,void 0];this.transform.as=[r[0]??"key",r[1]??"value"]}dependentFields(){return new Set(this.transform.fold)}producedFields(){return new Set(this.transform.as)}hash(){return`FoldTransform ${fe(this.transform)}`}assemble(){let{fold:t,as:n}=this.transform;return{type:"fold",fields:t,as:n}}};var _m=class e extends be{clone(){return new e(null,ie(this.fields),this.geojson,this.signal)}static parseAll(t,n){if(n.component.projection&&!n.component.projection.isFit)return t;let r=0;for(let i of[[Vn,Wn],[Yn,yr]]){let o=i.map(s=>{let a=rt(n.encoding[s]);return V(a)?a.field:Er(a)?{expr:`${a.datum}`}:cn(a)?{expr:`${a.value}`}:void 0});(o[0]||o[1])&&(t=new e(t,o,null,n.getName(`geojson_${r++}`)))}if(n.channelHasField(It)){let i=n.typedFieldDef(It);i.type===fs&&(t=new e(t,null,i.field,n.getName(`geojson_${r++}`)))}return t}constructor(t,n,r,i){super(t),this.fields=n,this.geojson=r,this.signal=i}dependentFields(){let t=(this.fields??[]).filter(Y);return new Set([...this.geojson?[this.geojson]:[],...t])}producedFields(){return new Set}hash(){return`GeoJSON ${this.geojson} ${this.signal} ${fe(this.fields)}`}assemble(){return[...this.geojson?[{type:"filter",expr:`isValid(datum["${this.geojson}"])`}]:[],{type:"geojson",...this.fields?{fields:this.fields}:{},...this.geojson?{geojson:this.geojson}:{},signal:this.signal}]}};var Cm=class e extends be{clone(){return new e(null,this.projection,ie(this.fields),ie(this.as))}constructor(t,n,r,i){super(t),this.projection=n,this.fields=r,this.as=i}static parseAll(t,n){if(!n.projectionName())return t;for(let r of[[Vn,Wn],[Yn,yr]]){let i=r.map(s=>{let a=rt(n.encoding[s]);return V(a)?a.field:Er(a)?{expr:`${a.datum}`}:cn(a)?{expr:`${a.value}`}:void 0}),o=r[0]===Yn?"2":"";(i[0]||i[1])&&(t=new e(t,n.projectionName(),i,[n.getName(`x${o}`),n.getName(`y${o}`)]))}return t}dependentFields(){return new Set(this.fields.filter(Y))}producedFields(){return new Set(this.as)}hash(){return`Geopoint ${this.projection} ${fe(this.fields)} ${fe(this.as)}`}assemble(){return{type:"geopoint",projection:this.projection,fields:this.fields,as:this.as}}};var Tf=class e extends be{clone(){return new e(null,ie(this.transform))}constructor(t,n){super(t),this.transform=n}dependentFields(){return new Set([this.transform.impute,this.transform.key,...this.transform.groupby??[]])}producedFields(){return new Set([this.transform.impute])}processSequence(t){let{start:n=0,stop:r,step:i}=t;return{signal:`sequence(${[n,r,...i?[i]:[]].join(",")})`}}static makeFromTransform(t,n){return new e(t,n)}static makeFromEncoding(t,n){let r=n.encoding,i=r.x,o=r.y;if(V(i)&&V(o)){let s=i.impute?i:o.impute?o:void 0;if(s===void 0)return;let a=i.impute?o:o.impute?i:void 0,{method:u,value:l,frame:c,keyvals:f}=s.impute,d=Qw(n.mark,r);return new e(t,{impute:s.field,key:a.field,...u?{method:u}:{},...l!==void 0?{value:l}:{},...c?{frame:c}:{},...f!==void 0?{keyvals:f}:{},...d.length?{groupby:d}:{}})}return null}hash(){return`Impute ${fe(this.transform)}`}assemble(){let{impute:t,key:n,keyvals:r,method:i,groupby:o,value:s,frame:a=[null,null]}=this.transform,u={type:"impute",field:t,key:n,...r?{keyvals:cG(r)?this.processSequence(r):r}:{},method:"value",...o?{groupby:o}:{},value:!i||i==="value"?s:null};if(i&&i!=="value"){let l={type:"window",as:[`imputed_${t}_value`],ops:[i],fields:[t],frame:a,ignorePeers:!1,...o?{groupby:o}:{}},c={type:"formula",expr:`datum.${t} === null ? datum.imputed_${t}_value : datum.${t}`,as:t};return[u,l,c]}else return[u]}};var km=class e extends be{clone(){return new e(null,ie(this.transform))}constructor(t,n){super(t),this.transform=n,this.transform=ie(n);let r=this.transform.as??[void 0,void 0];this.transform.as=[r[0]??n.on,r[1]??n.loess]}dependentFields(){return new Set([this.transform.loess,this.transform.on,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`LoessTransform ${fe(this.transform)}`}assemble(){let{loess:t,on:n,...r}=this.transform;return{type:"loess",x:n,y:t,...r}}};var Fm=class e extends be{clone(){return new e(null,ie(this.transform),this.secondary)}constructor(t,n,r){super(t),this.transform=n,this.secondary=r}static make(t,n,r,i){let o=n.component.data.sources,{from:s}=r,a=null;if(fG(s)){let u=pO(s.data,o);u||(u=new Ai(s.data),o.push(u));let l=n.getName(`lookup_${i}`);a=new jt(u,l,Ke.Lookup,n.component.data.outputNodeRefCounts),n.component.data.outputNodes[l]=a}else if(dG(s)){let u=s.param;r={as:u,...r};let l;try{l=n.getSelectionComponent(He(u),u)}catch{throw new Error(L.cannotLookupVariableParameter(u))}if(a=l.materialized,!a)throw new Error(L.noSameUnitLookup(u))}return new e(t,r,a.getSource())}dependentFields(){return new Set([this.transform.lookup])}producedFields(){return new Set(this.transform.as?Z(this.transform.as):this.transform.from.fields)}hash(){return`Lookup ${fe({transform:this.transform,secondary:this.secondary})}`}assemble(){let t;if(this.transform.from.fields)t={values:this.transform.from.fields,...this.transform.as?{as:Z(this.transform.as)}:{}};else{let n=this.transform.as;Y(n)||(z(L.NO_FIELDS_NEEDS_AS),n="_lookup"),t={as:[n]}}return{type:"lookup",from:this.secondary,key:this.transform.from.key,fields:[this.transform.lookup],...t,...this.transform.default?{default:this.transform.default}:{}}}};var Tm=class e extends be{clone(){return new e(null,ie(this.transform))}constructor(t,n){super(t),this.transform=n,this.transform=ie(n);let r=this.transform.as??[void 0,void 0];this.transform.as=[r[0]??"prob",r[1]??"value"]}dependentFields(){return new Set([this.transform.quantile,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`QuantileTransform ${fe(this.transform)}`}assemble(){let{quantile:t,...n}=this.transform;return{type:"quantile",field:t,...n}}};var Rm=class e extends be{clone(){return new e(null,ie(this.transform))}constructor(t,n){super(t),this.transform=n,this.transform=ie(n);let r=this.transform.as??[void 0,void 0];this.transform.as=[r[0]??n.on,r[1]??n.regression]}dependentFields(){return new Set([this.transform.regression,this.transform.on,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`RegressionTransform ${fe(this.transform)}`}assemble(){let{regression:t,on:n,...r}=this.transform;return{type:"regression",x:n,y:t,...r}}};var Dm=class e extends be{clone(){return new e(null,ie(this.transform))}constructor(t,n){super(t),this.transform=n}addDimensions(t){this.transform.groupby=hr((this.transform.groupby??[]).concat(t),n=>n)}producedFields(){}dependentFields(){return new Set([this.transform.pivot,this.transform.value,...this.transform.groupby??[]])}hash(){return`PivotTransform ${fe(this.transform)}`}assemble(){let{pivot:t,value:n,groupby:r,limit:i,op:o}=this.transform;return{type:"pivot",field:t,value:n,...i!==void 0?{limit:i}:{},...o!==void 0?{op:o}:{},...r!==void 0?{groupby:r}:{}}}};var Mm=class e extends be{clone(){return new e(null,ie(this.transform))}constructor(t,n){super(t),this.transform=n}dependentFields(){return new Set}producedFields(){return new Set}hash(){return`SampleTransform ${fe(this.transform)}`}assemble(){return{type:"sample",size:this.transform.sample}}};function kW(e){let t=0;function n(r,i){if(r instanceof Ai&&!r.isGenerator&&!xu(r.data)&&(e.push(i),i={name:null,source:i.name,transform:[]}),r instanceof $n&&(r.parent instanceof Ai&&!i.source?(i.format={...i.format,parse:r.assembleFormatParse()},i.transform.push(...r.assembleTransforms(!0))):i.transform.push(...r.assembleTransforms())),r instanceof Fo){i.name||(i.name=`data_${t++}`),!i.source||i.transform.length>0?(e.push(i),r.data=i.name):r.data=i.source,e.push(...r.assemble());return}switch((r instanceof Hl||r instanceof ql||r instanceof kf||r instanceof ha||r instanceof Cf||r instanceof Cm||r instanceof ji||r instanceof Fm||r instanceof _u||r instanceof bs||r instanceof Am||r instanceof Sm||r instanceof Em||r instanceof km||r instanceof Tm||r instanceof Rm||r instanceof xs||r instanceof Mm||r instanceof Dm||r instanceof wm)&&i.transform.push(r.assemble()),(r instanceof ys||r instanceof Ao||r instanceof Tf||r instanceof xa||r instanceof _m)&&i.transform.push(...r.assemble()),r instanceof jt&&(i.source&&i.transform.length===0?r.setSource(i.source):r.parent instanceof jt?r.setSource(i.name):(i.name||(i.name=`data_${t++}`),r.setSource(i.name),r.numChildren()===1&&(e.push(i),i={name:null,source:i.name,transform:[]}))),r.numChildren()){case 0:r instanceof jt&&(!i.source||i.transform.length>0)&&e.push(i);break;case 1:n(r.children[0],i);break;default:{i.name||(i.name=`data_${t++}`);let o=i.name;!i.source||i.transform.length>0?e.push(i):o=i.source;for(let s of r.children)n(s,{name:null,source:o,transform:[]});break}}}return n}function FW(e){let t=[],n=kW(t);for(let r of e.children)n(r,{source:e.name,name:null,transform:[]});return t}function TW(e,t){let n=[],r=kW(n),i=0;for(let s of e.sources){s.hasName()||(s.dataName=`source_${i++}`);let a=s.assemble();r(s,a)}for(let s of n)s.transform.length===0&&delete s.transform;let o=0;for(let[s,a]of n.entries())(a.transform??[]).length===0&&!a.source&&n.splice(o++,0,n.splice(s,1)[0]);for(let s of n)for(let a of s.transform??[])a.type==="lookup"&&(a.from=e.outputNodes[a.from].getSource());for(let s of n)s.name in t&&(s.values=t[s.name]);return n}function rSe(e){return e==="top"||e==="left"||re(e)?"header":"footer"}function DW(e){for(let t of Dn)iSe(e,t);RW(e,"x"),RW(e,"y")}function iSe(e,t){let{facet:n,config:r,child:i,component:o}=e;if(e.channelHasField(t)){let s=n[t],a=Au("title",null,r,t),u=fa(s,r,{allowDisabling:!0,includeDefault:a===void 0||!!a});i.component.layoutHeaders[t].title&&(u=O(u)?u.join(", "):u,u+=` / ${i.component.layoutHeaders[t].title}`,i.component.layoutHeaders[t].title=null);let l=Au("labelOrient",s.header,r,t),c=s.header!==null?Le(s.header?.labels,r.header.labels,!0):!1,f=xe(["bottom","right"],l)?"footer":"header";o.layoutHeaders[t]={title:s.header!==null?u:null,facetFieldDef:s,[f]:t==="facet"?[]:[MW(e,t,c)]}}}function MW(e,t,n){let r=t==="row"?"height":"width";return{labels:n,sizeSignal:e.child.component.layoutSize.get(r)?e.child.getSizeSignalRef(r):void 0,axes:[]}}function RW(e,t){let{child:n}=e;if(n.component.axes[t]){let{layoutHeaders:r,resolve:i}=e.component;if(i.axis[t]=mm(i,t),i.axis[t]==="shared"){let o=t==="x"?"column":"row",s=r[o];for(let a of n.component.axes[t]){let u=rSe(a.get("orient"));s[u]??(s[u]=[MW(e,o,!1)]);let l=lm(a,"main",e.config,{header:!0});l&&s[u][0].axes.push(l),a.mainExtracted=!0}}}}function IW(e){fA(e),cA(e,"width"),cA(e,"height")}function NW(e){fA(e);let t=e.layout.columns===1?"width":"childWidth",n=e.layout.columns===void 0?"height":"childHeight";cA(e,t),cA(e,n)}function fA(e){for(let t of e.children)t.parseLayoutSize()}function cA(e,t){let n=qS(t),r=Rl(n),i=e.component.resolve,o=e.component.layoutSize,s;for(let a of e.children){let u=a.component.layoutSize.getWithExplicit(n),l=i.scale[r]??jS(r,e);if(l==="independent"&&u.value==="step"){s=void 0;break}if(s){if(l==="independent"&&s.value!==u.value){s=void 0;break}s=Ei(s,u,n,"")}else s=u}if(s){for(let a of e.children)e.renameSignal(a.getName(n),e.getName(t)),a.component.layoutSize.set(n,"merged",!1);o.setWithExplicit(t,s)}else o.setWithExplicit(t,{explicit:!1,value:void 0})}function OW(e){let{size:t,component:n}=e;for(let r of Xn){let i=Nt(r);if(t[i]){let o=t[i];n.layoutSize.set(i,vi(o)?"step":o,!0)}else{let o=oSe(e,i);n.layoutSize.set(i,o,!1)}}}function oSe(e,t){let n=t==="width"?"x":"y",r=e.config,i=e.getScaleComponent(n);if(i){let o=i.get("type"),s=i.get("range");if(at(o)){let a=Jp(r.view,t);return xi(s)||vi(a)?"step":a}else return ky(r.view,t)}else{if(e.hasProjection||e.mark==="arc")return ky(r.view,t);{let o=Jp(r.view,t);return vi(o)?o.step:o}}}function dA(e,t,n){return J(t,{suffix:`by_${J(e)}`,...n})}var pA=class e extends vm{constructor(t,n,r,i){super(t,"facet",n,r,i,t.resolve),this.child=Im(t.spec,this,this.getName("child"),void 0,i),this.children=[this.child],this.facet=this.initFacet(t.facet)}initFacet(t){if(!la(t))return{facet:this.initFacetFieldDef(t,"facet")};let n=P(t),r={};for(let i of n){if(![mi,hi].includes(i)){z(L.incompatibleChannel(i,"facet"));break}let o=t[i];if(o.field===void 0){z(L.emptyFieldDef(o,i));break}r[i]=this.initFacetFieldDef(o,i)}return r}initFacetFieldDef(t,n){let r=Ey(t,n);return r.header?r.header=Tt(r.header):r.header===null&&(r.header=null),r}channelHasField(t){return W(this.facet,t)}fieldDef(t){return this.facet[t]}parseData(){this.component.data=jl(this),this.child.parseData()}parseLayoutSize(){fA(this)}parseSelections(){this.child.parseSelections(),this.component.selection=this.child.component.selection,Object.values(this.component.selection).some(t=>On(t))&&$p(cf)}parseMarkGroup(){this.child.parseMarkGroup()}parseAxesAndHeaders(){this.child.parseAxesAndHeaders(),DW(this)}assembleSelectionTopLevelSignals(t){return this.child.assembleSelectionTopLevelSignals(t)}assembleSignals(){return this.child.assembleSignals(),[]}assembleSelectionData(t){return this.child.assembleSelectionData(t)}getHeaderLayoutMixins(){let t={};for(let n of Dn)for(let r of dm){let i=this.component.layoutHeaders[n],o=i[r],{facetFieldDef:s}=i;if(s){let a=Au("titleOrient",s.header,this.config,n);if(["right","bottom"].includes(a)){let u=cm(n,a);t.titleAnchor??(t.titleAnchor={}),t.titleAnchor[u]="end"}}if(o?.[0]){let a=n==="row"?"height":"width",u=r==="header"?"headerBand":"footerBand";n!=="facet"&&!this.child.component.layoutSize.get(a)&&(t[u]??(t[u]={}),t[u][n]=.5),i.title&&(t.offset??(t.offset={}),t.offset[n==="row"?"rowTitle":"columnTitle"]=10)}}return t}assembleDefaultLayout(){let{column:t,row:n}=this.facet,r=t?this.columnDistinctSignal():n?1:void 0,i="all";return(!n&&this.component.resolve.scale.x==="independent"||!t&&this.component.resolve.scale.y==="independent")&&(i="none"),{...this.getHeaderLayoutMixins(),...r?{columns:r}:{},bounds:"full",align:i}}assembleLayoutSignals(){return this.child.assembleLayoutSignals()}columnDistinctSignal(){if(!(this.parent&&this.parent instanceof e))return{signal:`length(data('${this.getName("column_domain")}'))`}}assembleGroupStyle(){}assembleGroup(t){return this.parent&&this.parent instanceof e?{...this.channelHasField("column")?{encode:{update:{columns:{field:J(this.facet.column,{prefix:"distinct"})}}}}:{},...super.assembleGroup(t)}:super.assembleGroup(t)}getCardinalityAggregateForChild(){let t=[],n=[],r=[];if(this.child instanceof e){if(this.child.channelHasField("column")){let i=J(this.child.facet.column);t.push(i),n.push("distinct"),r.push(`distinct_${i}`)}}else for(let i of Xn){let o=this.child.component.scales[i];if(o&&!o.merged){let s=o.get("type"),a=o.get("range");if(at(s)&&xi(a)){let u=zl(this.child,i),l=ym(u);l?(t.push(l),n.push("distinct"),r.push(`distinct_${l}`)):z(L.unknownField(i))}}}return{fields:t,ops:n,as:r}}assembleFacet(){let{name:t,data:n}=this.component.data.facetRoot,{row:r,column:i}=this.facet,{fields:o,ops:s,as:a}=this.getCardinalityAggregateForChild(),u=[];for(let c of Dn){let f=this.facet[c];if(f){u.push(J(f));let{bin:d,sort:p}=f;if(Pe(d)&&u.push(J(f,{binSuffix:"end"})),wr(p)){let{field:m,op:h=Il}=p,g=dA(f,p);r&&i?(o.push(g),s.push("max"),a.push(g)):(o.push(m),s.push(h),a.push(g))}else if(O(p)){let m=ga(f,c);o.push(m),s.push("max"),a.push(m)}}}let l=!!r&&!!i;return{name:t,data:n,groupby:u,...l||o.length>0?{aggregate:{...l?{cross:l}:{},...o.length?{fields:o,ops:s,as:a}:{}}}:{}}}facetSortFields(t){let{facet:n}=this,r=n[t];return r?wr(r.sort)?[dA(r,r.sort,{expr:"datum"})]:O(r.sort)?[ga(r,t,{expr:"datum"})]:[J(r,{expr:"datum"})]:[]}facetSortOrder(t){let{facet:n}=this,r=n[t];if(r){let{sort:i}=r;return[(wr(i)?i.order:!O(i)&&i)||"ascending"]}return[]}assembleLabelTitle(){let{facet:t,config:n}=this;if(t.facet)return zS(t.facet,"facet",n);let r={row:["top","bottom"],column:["left","right"]};for(let i of fm)if(t[i]){let o=Au("labelOrient",t[i]?.header,n,i);if(r[i].includes(o))return zS(t[i],i,n)}}assembleMarks(){let{child:t}=this,n=this.component.data.facetRoot,r=FW(n),i=t.assembleGroupEncodeEntry(!1),o=this.assembleLabelTitle()||t.assembleTitle(),s=t.assembleGroupStyle();return[{name:this.getName("cell"),type:"group",...o?{title:o}:{},...s?{style:s}:{},from:{facet:this.assembleFacet()},sort:{field:Dn.map(u=>this.facetSortFields(u)).flat(),order:Dn.map(u=>this.facetSortOrder(u)).flat()},...r.length>0?{data:r}:{},...i?{encode:{update:i}}:{},...t.assembleGroup(WG(this,[]))}]}getMapping(){return this.facet}};function PW(e,t){let{row:n,column:r}=t;if(n&&r){let i=null;for(let o of[n,r])if(wr(o.sort)){let{field:s,op:a=Il}=o.sort;e=i=new bs(e,{joinaggregate:[{op:a,field:s,as:dA(o,o.sort,{forAs:!0})}],groupby:[J(o)]})}return i}return null}function pO(e,t){for(let n of t){let r=n.data;if(e.name&&n.hasName()&&e.name!==n.dataName)continue;let i=e.format?.mesh,o=r.format?.feature;if(i&&o)continue;let s=e.format?.feature;if((s||o)&&s!==o)continue;let a=r.format?.mesh;if(!((i||a)&&i!==a)){if(bf(e)&&bf(r)){if(Rn(e.values,r.values))return n}else if(xu(e)&&xu(r)){if(e.url===r.url)return n}else if(vS(e)&&e.name===n.dataName)return n}}return null}function sSe(e,t){if(e.data||!e.parent){if(e.data===null){let r=new Ai({values:[]});return t.push(r),r}let n=pO(e.data,t);if(n)return ps(e.data)||(n.data.format=cI({},e.data.format,n.data.format)),!n.hasName()&&e.data.name&&(n.dataName=e.data.name),n;{let r=new Ai(e.data);return t.push(r),r}}else return e.parent.component.data.facetRoot?e.parent.component.data.facetRoot:e.parent.component.data.main}function aSe(e,t,n){let r=0;for(let i of t.transforms){let o,s;if(wG(i))s=e=new Cf(e,i),o="derived";else if(Ty(i)){let a=oW(i);s=e=$n.makeWithAncestors(e,{},a,n)??e,e=new ha(e,t,i.filter)}else if(hS(i))s=e=ys.makeFromTransform(e,i,t),o="number";else if(AG(i))o="date",n.getWithExplicit(i.field).value===void 0&&(e=new $n(e,{[i.field]:o}),n.set(i.field,o,!1)),s=e=Ao.makeFromTransform(e,i);else if(_G(i))s=e=ji.makeFromTransform(e,i),o="number",Oy(t)&&(e=new xs(e));else if(mS(i))s=e=Fm.make(e,t,i,r++),o="derived";else if(bG(i))s=e=new _u(e,i),o="number";else if(vG(i))s=e=new bs(e,i),o="number";else if(CG(i))s=e=xa.makeFromTransform(e,i),o="derived";else if(kG(i))s=e=new Am(e,i),o="derived";else if(FG(i))s=e=new wm(e,i),o="derived";else if(EG(i))s=e=new Sm(e,i),o="derived";else if(pG(i))s=e=new Dm(e,i),o="derived";else if(xG(i))e=new Mm(e,i);else if(SG(i))s=e=Tf.makeFromTransform(e,i),o="derived";else if(mG(i))s=e=new Em(e,i),o="derived";else if(hG(i))s=e=new Tm(e,i),o="derived";else if(gG(i))s=e=new Rm(e,i),o="derived";else if(yG(i))s=e=new km(e,i),o="derived";else{z(L.invalidTransformIgnored(i));continue}if(s&&o!==void 0)for(let a of s.producedFields()??[])n.set(a,o,!1)}return e}function jl(e){let t=sSe(e,e.component.data.sources),{outputNodes:n,outputNodeRefCounts:r}=e.component.data,i=e.data,s=!(i&&(ps(i)||xu(i)||bf(i)))&&e.parent?e.parent.component.data.ancestorParse.clone():new bS;ps(i)?(EN(i)?t=new ql(t,i.sequence):Ry(i)&&(t=new Hl(t,i.graticule)),s.parseNothing=!0):i?.format?.parse===null&&(s.parseNothing=!0),t=$n.makeExplicit(t,e,s)??t,t=new xs(t);let a=e.parent&&_o(e.parent);(Ge(e)||Qt(e))&&a&&(t=ys.makeFromEncoding(t,e)??t),e.transforms.length>0&&(t=aSe(t,e,s));let u=aW(e),l=sW(e);t=$n.makeWithAncestors(t,{},{...u,...l},s)??t,Ge(e)&&(t=_m.parseAll(t,e),t=Cm.parseAll(t,e)),(Ge(e)||Qt(e))&&(a||(t=ys.makeFromEncoding(t,e)??t),t=Ao.makeFromEncoding(t,e)??t,t=Cf.parseAllForSortIndex(t,e));let c=t=mA(Ke.Raw,e,t);if(Ge(e)){let g=ji.makeFromEncoding(t,e);g&&(t=g,Oy(e)&&(t=new xs(t))),t=Tf.makeFromEncoding(t,e)??t,t=xa.makeFromEncoding(t,e)??t}let f,d;if(Ge(e)){let{markDef:g,mark:y,config:x}=e,b=Ne("invalid",g,x),{marks:v,scales:E}=d=SN({invalid:b,isPath:vr(y)});v!==E&&E==="include-invalid-values"&&(f=t=mA(Ke.PreFilterInvalid,e,t)),v==="exclude-invalid-values"&&(t=kf.make(t,e,d)??t)}let p=t=mA(Ke.Main,e,t),m;if(Ge(e)&&d){let{marks:g,scales:y}=d;g==="include-invalid-values"&&y==="exclude-invalid-values"&&(t=kf.make(t,e,d)??t,m=t=mA(Ke.PostFilterInvalid,e,t))}Ge(e)&&Nj(e,p);let h=null;if(Qt(e)){let g=e.getName("facet");t=PW(t,e.facet)??t,h=new Fo(t,e,g,p.getSource()),n[g]=h}return{...e.component.data,outputNodes:n,outputNodeRefCounts:r,raw:c,main:p,facetRoot:h,ancestorParse:s,preFilterInvalid:f,postFilterInvalid:m}}function mA(e,t,n){let{outputNodes:r,outputNodeRefCounts:i}=t.component.data,o=t.getDataName(e),s=new jt(n,o,e,i);return r[o]=s,s}var hA=class extends Ff{constructor(t,n,r,i){super(t,"concat",n,r,i,t.resolve),(t.resolve?.axis?.x==="shared"||t.resolve?.axis?.y==="shared")&&z(L.CONCAT_CANNOT_SHARE_AXIS),this.children=this.getChildren(t).map((o,s)=>Im(o,this,this.getName(`concat_${s}`),void 0,i))}parseData(){this.component.data=jl(this);for(let t of this.children)t.parseData()}parseSelections(){this.component.selection={};for(let t of this.children){t.parseSelections();for(let n of P(t.component.selection))this.component.selection[n]=t.component.selection[n]}Object.values(this.component.selection).some(t=>On(t))&&$p(cf)}parseMarkGroup(){for(let t of this.children)t.parseMarkGroup()}parseAxesAndHeaders(){for(let t of this.children)t.parseAxesAndHeaders()}getChildren(t){return Pl(t)?t.vconcat:Qp(t)?t.hconcat:t.concat}parseLayoutSize(){NW(this)}parseAxisGroup(){return null}assembleSelectionTopLevelSignals(t){return this.children.reduce((n,r)=>r.assembleSelectionTopLevelSignals(n),t)}assembleSignals(){return this.children.forEach(t=>t.assembleSignals()),[]}assembleLayoutSignals(){let t=pm(this);for(let n of this.children)t.push(...n.assembleLayoutSignals());return t}assembleSelectionData(t){return this.children.reduce((n,r)=>r.assembleSelectionData(n),t)}assembleMarks(){return this.children.map(t=>{let n=t.assembleTitle(),r=t.assembleGroupStyle(),i=t.assembleGroupEncodeEntry(!1);return{type:"group",name:t.getName("group"),...n?{title:n}:{},...r?{style:r}:{},...i?{encode:{update:i}}:{},...t.assembleGroup()}})}assembleGroupStyle(){}assembleDefaultLayout(){let t=this.layout.columns;return{...t!=null?{columns:t}:{},bounds:"full",align:"each"}}};function uSe(e){return e===!1||e===null}var lSe={disable:1,gridScale:1,scale:1,...JI,labelExpr:1,encode:1},mO=P(lSe),gA=class e extends Sr{constructor(t={},n={},r=!1){super(),this.explicit=t,this.implicit=n,this.mainExtracted=r}clone(){return new e(ie(this.explicit),ie(this.implicit),this.mainExtracted)}hasAxisPart(t){return t==="axis"?!0:t==="grid"||t==="title"?!!this.get(t):!uSe(this.get(t))}hasOrientSignalRef(){return re(this.explicit.orient)}};function $W(e,t,n){let{encoding:r,config:i}=e,o=rt(r[t])??rt(r[Mn(t)]),s=e.axis(t)||{},{format:a,formatType:u}=s;if(ua(u))return{text:qi({fieldOrDatumDef:o,field:"datum.value",format:a,formatType:u,config:i}),...n};if(a===void 0&&u===void 0&&i.customFormatTypes){if(fu(o)==="quantitative"){if(du(o)&&o.stack==="normalize"&&i.normalizedNumberFormatType)return{text:qi({fieldOrDatumDef:o,field:"datum.value",format:i.normalizedNumberFormat,formatType:i.normalizedNumberFormatType,config:i}),...n};if(i.numberFormatType)return{text:qi({fieldOrDatumDef:o,field:"datum.value",format:i.numberFormat,formatType:i.numberFormatType,config:i}),...n}}if(fu(o)==="temporal"&&i.timeFormatType&&V(o)&&!o.timeUnit)return{text:qi({fieldOrDatumDef:o,field:"datum.value",format:i.timeFormat,formatType:i.timeFormatType,config:i}),...n}}return n}function LW(e){return Xn.reduce((t,n)=>(e.component.scales[n]&&(t[n]=[gSe(n,e)]),t),{})}var fSe={bottom:"top",top:"bottom",left:"right",right:"left"};function BW(e){let{axes:t,resolve:n}=e.component,r={top:0,bottom:0,right:0,left:0};for(let i of e.children){i.parseAxesAndHeaders();for(let o of P(i.component.axes))n.axis[o]=mm(e.component.resolve,o),n.axis[o]==="shared"&&(t[o]=dSe(t[o],i.component.axes[o]),t[o]||(n.axis[o]="independent",delete t[o]))}for(let i of Xn){for(let o of e.children)if(o.component.axes[i]){if(n.axis[i]==="independent"){t[i]=(t[i]??[]).concat(o.component.axes[i]);for(let s of o.component.axes[i]){let{value:a,explicit:u}=s.getWithExplicit("orient");if(!re(a)){if(r[a]>0&&!u){let l=fSe[a];r[a]>r[l]&&s.set("orient",l,!1)}r[a]++}}}delete o.component.axes[i]}if(n.axis[i]==="independent"&&t[i]&&t[i].length>1)for(let[o,s]of(t[i]||[]).entries())o>0&&s.get("grid")&&!s.explicit.grid&&(s.implicit.grid=!1)}}function dSe(e,t){if(e){if(e.length!==t.length)return;let n=e.length;for(let r=0;r<n;r++){let i=e[r],o=t[r];if(!!i!=!!o)return;if(i&&o){let s=i.getWithExplicit("orient"),a=o.getWithExplicit("orient");if(s.explicit&&a.explicit&&s.value!==a.value)return;e[r]=pSe(i,o)}}}else return t.map(n=>n.clone());return e}function pSe(e,t){for(let n of mO){let r=Ei(e.getWithExplicit(n),t.getWithExplicit(n),n,"axis",(i,o)=>{switch(n){case"title":return gw(i,o);case"gridScale":return{explicit:i.explicit,value:Le(i.value,o.value)}}return tm(i,o,n,"axis")});e.setWithExplicit(n,r)}return e}function mSe(e,t,n,r,i){if(t==="disable")return n!==void 0;switch(n=n||{},t){case"titleAngle":case"labelAngle":return e===(re(n.labelAngle)?n.labelAngle:Fl(n.labelAngle));case"values":return!!n.values;case"encode":return!!n.encoding||!!n.labelAngle;case"title":if(e===QN(r,i))return!0}return e===n[t]}var hSe=new Set(["grid","translate","format","formatType","orient","labelExpr","tickCount","position","tickMinStep"]);function gSe(e,t){let n=t.axis(e),r=new gA,i=rt(t.encoding[e]),{mark:o,config:s}=t,a=n?.orient||s[e==="x"?"axisX":"axisY"]?.orient||s.axis?.orient||Bj(e),u=t.getScaleComponent(e).get("type"),l=$j(e,u,a,t.config),c=n!==void 0?!n:qy("disable",s.style,n?.style,l).configValue;if(r.set("disable",c,n!==void 0),c)return r;n=n||{};let f=Lj(i,n,e,s.style,l),d=Lw(n.formatType,i,u),p=$w(i,i.type,n.format,n.formatType,s,!0),m={fieldOrDatumDef:i,axis:n,channel:e,model:t,scaleType:u,orient:a,labelAngle:f,format:p,formatType:d,mark:o,config:s};for(let y of mO){let x=y in YN?YN[y](m):ZI(y)?n[y]:void 0,b=x!==void 0,v=mSe(x,y,n,t,e);if(b&&v)r.set(y,x,v);else{let{configValue:E=void 0,configFrom:S=void 0}=ZI(y)&&y!=="values"?qy(y,s.style,n.style,l):{},w=E!==void 0;b&&!w?r.set(y,x,v):(S!=="vgAxisConfig"||hSe.has(y)&&w||hu(E)||re(E))&&r.set(y,E,!1)}}let h=n.encoding??{},g=Vw.reduce((y,x)=>{if(!r.hasAxisPart(x))return y;let b=GS(h[x]??{},t),v=x==="labels"?$W(t,e,b):b;return v!==void 0&&!Ie(v)&&(y[x]={update:v}),y},{});return Ie(g)||r.set("encode",g,!!n.encoding||n.labelAngle!==void 0),r}function UW({encoding:e,size:t}){for(let n of Xn){let r=Nt(n);vi(t[r])&&ds(e[n])&&(delete t[r],z(L.stepDropped(r)))}return t}var zW={vgMark:"arc",encodeEntry:e=>({...Rt(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"}),...Pt("x",e,{defaultPos:"mid"}),...Pt("y",e,{defaultPos:"mid"}),...Cr(e,"radius"),...Cr(e,"theta")})};var HW={vgMark:"area",encodeEntry:e=>({...Rt(e,{align:"ignore",baseline:"ignore",color:"include",orient:"include",size:"ignore",theta:"ignore"}),...Bl("x",e,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:e.markDef.orient==="horizontal"}),...Bl("y",e,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:e.markDef.orient==="vertical"}),...am(e)})};var qW={vgMark:"rect",encodeEntry:e=>({...Rt(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...Cr(e,"x"),...Cr(e,"y")})};var GW={vgMark:"shape",encodeEntry:e=>({...Rt(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})}),postEncodingTransform:e=>{let{encoding:t}=e,n=t.shape;return[{type:"geoshape",projection:e.projectionName(),...n&&V(n)&&n.type===fs?{field:J(n,{expr:"datum"})}:{}}]}};var jW={vgMark:"image",encodeEntry:e=>({...Rt(e,{align:"ignore",baseline:"ignore",color:"ignore",orient:"ignore",size:"ignore",theta:"ignore"}),...Cr(e,"x"),...Cr(e,"y"),...Ll(e,"url")})};var WW={vgMark:"line",encodeEntry:e=>({...Rt(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"}),...Pt("x",e,{defaultPos:"mid"}),...Pt("y",e,{defaultPos:"mid"}),...xt("size",e,{vgChannel:"strokeWidth"}),...am(e)})},VW={vgMark:"trail",encodeEntry:e=>({...Rt(e,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"}),...Pt("x",e,{defaultPos:"mid"}),...Pt("y",e,{defaultPos:"mid"}),...xt("size",e),...am(e)})};function hO(e,t){let{config:n}=e;return{...Rt(e,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"}),...Pt("x",e,{defaultPos:"mid"}),...Pt("y",e,{defaultPos:"mid"}),...xt("size",e),...xt("angle",e),...ySe(e,n,t)}}function ySe(e,t,n){return n?{shape:{value:n}}:xt("shape",e)}var YW={vgMark:"symbol",encodeEntry:e=>hO(e)},XW={vgMark:"symbol",encodeEntry:e=>hO(e,"circle")},KW={vgMark:"symbol",encodeEntry:e=>hO(e,"square")};var QW={vgMark:"rect",encodeEntry:e=>({...Rt(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...Cr(e,"x"),...Cr(e,"y")})};var JW={vgMark:"rule",encodeEntry:e=>{let{markDef:t}=e,n=t.orient;return!e.encoding.x&&!e.encoding.y&&!e.encoding.latitude&&!e.encoding.longitude?{}:{...Rt(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...Bl("x",e,{defaultPos:n==="horizontal"?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:n!=="vertical"}),...Bl("y",e,{defaultPos:n==="vertical"?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:n!=="horizontal"}),...xt("size",e,{vgChannel:"strokeWidth"})}}};var ZW={vgMark:"text",encodeEntry:e=>{let{config:t,encoding:n}=e;return{...Rt(e,{align:"include",baseline:"include",color:"include",size:"ignore",orient:"ignore",theta:"include"}),...Pt("x",e,{defaultPos:"mid"}),...Pt("y",e,{defaultPos:"mid"}),...Ll(e),...xt("size",e,{vgChannel:"fontSize"}),...xt("angle",e),...FS("align",xSe(e.markDef,n,t)),...FS("baseline",bSe(e.markDef,n,t)),...Pt("radius",e,{defaultPos:null}),...Pt("theta",e,{defaultPos:null})}}};function xSe(e,t,n){if(Ne("align",e,n)===void 0)return"center"}function bSe(e,t,n){if(Ne("baseline",e,n)===void 0)return"middle"}var eV={vgMark:"rect",encodeEntry:e=>{let{config:t,markDef:n}=e,r=n.orient,i=r==="horizontal"?"x":"y",o=r==="horizontal"?"y":"x",s=r==="horizontal"?"height":"width";return{...Rt(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...Cr(e,i),...Pt(o,e,{defaultPos:"mid",vgChannel:o==="y"?"yc":"xc"}),[s]:$e(Ne("thickness",n,t))}}};var yA={arc:zW,area:HW,bar:qW,circle:XW,geoshape:GW,image:jW,line:WW,point:YW,rect:QW,rule:JW,square:KW,text:ZW,tick:eV,trail:VW};function rV(e){if(xe([gf,mf,ZH],e.mark)){let t=Qw(e.mark,e.encoding);if(t.length>0)return vSe(e,t)}else if(e.mark===hf){let t=dw.some(n=>Ne(n,e.markDef,e.config));if(e.stack&&!e.fieldDef("size")&&t)return ESe(e)}return gO(e)}var tV="faceted_path_";function vSe(e,t){return[{name:e.getName("pathgroup"),type:"group",from:{facet:{name:tV+e.requestDataName(Ke.Main),data:e.requestDataName(Ke.Main),groupby:t}},encode:{update:{width:{field:{group:"width"}},height:{field:{group:"height"}}}},marks:gO(e,{fromPrefix:tV})}]}var nV="stack_group_";function ESe(e){let[t]=gO(e,{fromPrefix:nV}),n=e.scaleName(e.stack.fieldChannel),r=(l={})=>e.vgField(e.stack.fieldChannel,l),i=(l,c)=>{let f=[r({prefix:"min",suffix:"start",expr:c}),r({prefix:"max",suffix:"start",expr:c}),r({prefix:"min",suffix:"end",expr:c}),r({prefix:"max",suffix:"end",expr:c})];return`${l}(${f.map(d=>`scale('${n}',${d})`).join(",")})`},o,s;e.stack.fieldChannel==="x"?(o={...iu(t.encode.update,["y","yc","y2","height",...dw]),x:{signal:i("min","datum")},x2:{signal:i("max","datum")},clip:{value:!0}},s={x:{field:{group:"x"},mult:-1},height:{field:{group:"height"}}},t.encode.update={...qt(t.encode.update,["y","yc","y2"]),height:{field:{group:"height"}}}):(o={...iu(t.encode.update,["x","xc","x2","width"]),y:{signal:i("min","datum")},y2:{signal:i("max","datum")},clip:{value:!0}},s={y:{field:{group:"y"},mult:-1},width:{field:{group:"width"}}},t.encode.update={...qt(t.encode.update,["x","xc","x2"]),width:{field:{group:"width"}}});for(let l of dw){let c=Xr(l,e.markDef,e.config);t.encode.update[l]?(o[l]=t.encode.update[l],delete t.encode.update[l]):c&&(o[l]=$e(c)),c&&(t.encode.update[l]={value:0})}let a=[];if(e.stack.groupbyChannels?.length>0)for(let l of e.stack.groupbyChannels){let c=e.fieldDef(l),f=J(c);f&&a.push(f),(c?.bin||c?.timeUnit)&&a.push(J(c,{binSuffix:"end"}))}return o=["stroke","strokeWidth","strokeJoin","strokeCap","strokeDash","strokeDashOffset","strokeMiterLimit","strokeOpacity"].reduce((l,c)=>{if(t.encode.update[c])return{...l,[c]:t.encode.update[c]};{let f=Xr(c,e.markDef,e.config);return f!==void 0?{...l,[c]:$e(f)}:l}},o),o.stroke&&(o.strokeForeground={value:!0},o.strokeOffset={value:0}),[{type:"group",from:{facet:{data:e.requestDataName(Ke.Main),name:nV+e.requestDataName(Ke.Main),groupby:a,aggregate:{fields:[r({suffix:"start"}),r({suffix:"start"}),r({suffix:"end"}),r({suffix:"end"})],ops:["min","max","min","max"]}}},encode:{update:o},marks:[{type:"group",encode:{update:s},marks:[t]}]}]}function wSe(e){let{encoding:t,stack:n,mark:r,markDef:i,config:o}=e,s=t.order;if(!(!O(s)&&cn(s)&&JE(s.value)||!s&&JE(Ne("order",i,o)))){if((O(s)||V(s))&&!n)return hw(s,{expr:"datum"});if(vr(r)){let a=i.orient==="horizontal"?"y":"x",u=t[a];if(V(u))return{field:a}}}}function gO(e,t={fromPrefix:""}){let{mark:n,markDef:r,encoding:i,config:o}=e,s=Le(r.clip,SSe(e),ASe(e)),a=_I(r),u=i.key,l=wSe(e),c=_Se(e),f=Ne("aria",r,o),d=yA[n].postEncodingTransform?yA[n].postEncodingTransform(e):null;return[{name:e.getName("marks"),type:yA[n].vgMark,...s?{clip:s}:{},...a?{style:a}:{},...u?{key:u.field}:{},...l?{sort:l}:{},...c||{},...f===!1?{aria:f}:{},from:{data:t.fromPrefix+e.requestDataName(Ke.Main)},encode:{update:yA[n].encodeEntry(e)},...d?{transform:d}:{}}]}function SSe(e){let t=e.getScaleComponent("x"),n=e.getScaleComponent("y");return t?.get("selectionExtent")||n?.get("selectionExtent")?!0:void 0}function ASe(e){let t=e.component.projection;return t&&!t.isFit?!0:void 0}function _Se(e){if(!e.component.selection)return null;let t=P(e.component.selection).length,n=t,r=e.parent;for(;r&&n===0;)n=P(r.component.selection).length,r=r.parent;return n?{interactive:t>0||e.mark==="geoshape"||!!e.encoding.tooltip||!!e.markDef.tooltip}:null}var Nm=class extends vm{constructor(t,n,r,i={},o){super(t,"unit",n,r,o,void 0,mN(t)?t.view:void 0),this.specifiedScales={},this.specifiedAxes={},this.specifiedLegends={},this.specifiedProjection={},this.selection=[],this.children=[],this.correctDataNames=l=>(l.from?.data&&(l.from.data=this.lookupDataSource(l.from.data),"time"in this.encoding&&(l.from.data=l.from.data+wS)),l.from?.facet?.data&&(l.from.facet.data=this.lookupDataSource(l.from.facet.data)),l);let s=Kn(t.mark)?{...t.mark}:{type:t.mark},a=s.type;s.filled===void 0&&(s.filled=tG(s,o,{graticule:t.data&&Ry(t.data)}));let u=this.encoding=kq(t.encoding||{},a,s.filled,o);this.markDef=lS(s,u,o),this.size=UW({encoding:u,size:mN(t)?{...i,...t.width?{width:t.width}:{},...t.height?{height:t.height}:{}}:i}),this.stack=uS(this.markDef,u),this.specifiedScales=this.initScales(a,u),this.specifiedAxes=this.initAxes(u),this.specifiedLegends=this.initLegends(u),this.specifiedProjection=t.projection,this.selection=(t.params??[]).filter(l=>Kp(l))}get hasProjection(){let{encoding:t}=this,n=this.mark===Rw,r=t&&q7.some(i=>Ee(t[i]));return n||r}scaleDomain(t){let n=this.specifiedScales[t];return n?n.domain:void 0}axis(t){return this.specifiedAxes[t]}legend(t){return this.specifiedLegends[t]}initScales(t,n){return Ip.reduce((r,i)=>{let o=rt(n[i]);return o&&(r[i]=this.initScale(o.scale??{})),r},{})}initScale(t){let{domain:n,range:r}=t,i=Tt(t);return O(n)&&(i.domain=n.map(In)),O(r)&&(i.range=r.map(In)),i}initAxes(t){return Xn.reduce((n,r)=>{let i=t[r];if(Ee(i)||r===Ye&&Ee(t.x2)||r===ht&&Ee(t.y2)){let o=Ee(i)?i.axis:void 0;n[r]=o&&this.initAxis({...o})}return n},{})}initAxis(t){let n=P(t),r={};for(let i of n){let o=t[i];r[i]=hu(o)?pw(o):In(o)}return r}initLegends(t){return nH.reduce((n,r)=>{let i=rt(t[r]);if(i&&iH(r)){let o=i.legend;n[r]=o&&Tt(o)}return n},{})}parseData(){this.component.data=jl(this)}parseLayoutSize(){OW(this)}parseSelections(){this.component.selection=Ij(this,this.selection)}parseMarkGroup(){this.component.mark=rV(this)}parseAxesAndHeaders(){this.component.axes=LW(this)}assembleSelectionTopLevelSignals(t){return VG(this,t)}assembleSignals(){return[...US(this),...jG(this,[])]}assembleSelectionData(t){return YG(this,t)}assembleLayout(){return null}assembleLayoutSignals(){return pm(this)}assembleMarks(){let t=this.component.mark??[];return(!this.parent||!_o(this.parent))&&(t=RN(this,t)),t.map(this.correctDataNames)}assembleGroupStyle(){let{style:t}=this.view||{};return t!==void 0?t:this.encoding.x||this.encoding.y?"cell":"view"}getMapping(){return this.encoding}get mark(){return this.markDef.type}channelHasField(t){return pa(this.encoding,t)}fieldDef(t){let n=this.encoding[t];return xn(n)}typedFieldDef(t){let n=this.fieldDef(t);return Ot(n)?n:null}};var xA=class e extends Ff{constructor(t,n,r,i,o){super(t,"layer",n,r,o,t.resolve,t.view);let s={...i,...t.width?{width:t.width}:{},...t.height?{height:t.height}:{}};this.children=t.layer.map((a,u)=>{if(yu(a))return new e(a,this,this.getName(`layer_${u}`),s,o);if(bn(a))return new Nm(a,this,this.getName(`layer_${u}`),s,o);throw new Error(L.invalidSpec(a))})}parseData(){this.component.data=jl(this);for(let t of this.children)t.parseData()}parseLayoutSize(){IW(this)}parseSelections(){this.component.selection={};for(let t of this.children){t.parseSelections();for(let n of P(t.component.selection))this.component.selection[n]=t.component.selection[n]}Object.values(this.component.selection).some(t=>On(t))&&$p(cf)}parseMarkGroup(){for(let t of this.children)t.parseMarkGroup()}parseAxesAndHeaders(){BW(this)}assembleSelectionTopLevelSignals(t){return this.children.reduce((n,r)=>r.assembleSelectionTopLevelSignals(n),t)}assembleSignals(){return this.children.reduce((t,n)=>t.concat(n.assembleSignals()),US(this))}assembleLayoutSignals(){return this.children.reduce((t,n)=>t.concat(n.assembleLayoutSignals()),pm(this))}assembleSelectionData(t){return this.children.reduce((n,r)=>r.assembleSelectionData(n),t)}assembleGroupStyle(){let t=new Set;for(let r of this.children)for(let i of Z(r.assembleGroupStyle()))t.add(i);let n=Array.from(t);return n.length>1?n:n.length===1?n[0]:void 0}assembleTitle(){let t=super.assembleTitle();if(t)return t;for(let n of this.children)if(t=n.assembleTitle(),t)return t}assembleLayout(){return null}assembleMarks(){return XG(this,this.children.flatMap(t=>t.assembleMarks()))}assembleLegends(){return this.children.reduce((t,n)=>t.concat(n.assembleLegends()),YS(this))}};function Im(e,t,n,r,i){if(mu(e))return new pA(e,t,n,i);if(yu(e))return new xA(e,t,n,r,i);if(bn(e))return new Nm(e,t,n,r,i);if(dN(e))return new hA(e,t,n,i);throw new Error(L.invalidSpec(e))}function iV(e,t={}){t.logger&&vH(t.logger),t.fieldTitle&&XI(t.fieldTitle);try{let n=aS(Is(t.config,e.config)),r=yS(e,n),i=Im(r,null,"",void 0,n);return i.parse(),fW(i.component.data,i),{spec:kSe(i,CSe(e,r.autosize,n,i),e.datasets,e.usermeta),normalized:r}}finally{t.logger&&EH(),t.fieldTitle&&Aq()}}function CSe(e,t,n,r){let i=r.component.layoutSize.get("width"),o=r.component.layoutSize.get("height");if(t===void 0?(t={type:"pad"},r.hasAxisOrientSignalRef()&&(t.resize=!0)):Y(t)&&(t={type:t}),i&&o&&NG(t.type)){if(i==="step"&&o==="step")z(L.droppingFit()),t.type="pad";else if(i==="step"||o==="step"){let s=i==="step"?"width":"height";z(L.droppingFit(Rl(s)));let a=s==="width"?"height":"width";t.type=OG(a)}}return{...P(t).length===1&&t.type?t.type==="pad"?{}:{autosize:t.type}:{autosize:t},...vN(n,!1),...vN(e,!0)}}function kSe(e,t,n={},r){let i=e.config?Jq(e.config):void 0,o=TW(e.component.data,n),s=e.assembleSelectionData(o),a=e.assembleProjections(),u=e.assembleTitle(),l=e.assembleGroupStyle(),c=e.assembleGroupEncodeEntry(!0),f=e.assembleLayoutSignals();f=f.filter(m=>(m.name==="width"||m.name==="height")&&m.value!==void 0?(t[m.name]=+m.value,!1):!0);let{params:d,...p}=t;return{$schema:"https://vega.github.io/schema/vega/v5.json",...e.description?{description:e.description}:{},...p,...u?{title:u}:{},...l?{style:l}:{},...c?{encode:{update:c}}:{},data:s,...a.length>0?{projections:a}:{},...e.assembleGroup([...f,...e.assembleSelectionTopLevelSignals([]),...sS(d)]),...i?{config:i}:{},...r?{usermeta:r}:{}}}var FSe=L7.version;function TSe(e){let[t,n]=/schema\/([\w-]+)\/([\w\.\-]+)\.json$/g.exec(e).slice(1,3);return{library:t,version:n}}var xO=TSe;var _O={};rr(_O,{carbong10:()=>kAe,carbong100:()=>TAe,carbong90:()=>FAe,carbonwhite:()=>CAe,dark:()=>XSe,excel:()=>KSe,fivethirtyeight:()=>ZSe,ggplot2:()=>eAe,googlecharts:()=>dAe,latimes:()=>iAe,powerbi:()=>wAe,quartz:()=>oAe,urbaninstitute:()=>fAe,version:()=>RAe,vox:()=>sAe});var RSe="vega-themes",DSe="2.15.0",MSe="Themes for stylized Vega and Vega-Lite visualizations.",ISe=["vega","vega-lite","themes","style"],NSe="BSD-3-Clause",OSe={name:"UW Interactive Data Lab",url:"https://idl.cs.washington.edu"},PSe=[{name:"Emily Gu",url:"https://github.com/emilygu"},{name:"Arvind Satyanarayan",url:"http://arvindsatya.com"},{name:"Jeffrey Heer",url:"https://idl.cs.washington.edu"},{name:"Dominik Moritz",url:"https://www.domoritz.de"}],$Se="build/vega-themes.js",LSe="build/vega-themes.module.js",BSe="build/vega-themes.min.js",USe="build/vega-themes.min.js",zSe="build/vega-themes.module.d.ts",HSe={type:"git",url:"https://github.com/vega/vega-themes.git"},qSe=["src","build"],GSe={prebuild:"yarn clean",build:"rollup -c",clean:"rimraf build && rimraf examples/build","copy:data":"rsync -r node_modules/vega-datasets/data/* examples/data","copy:build":"rsync -r build/* examples/build","deploy:gh":"yarn build && mkdir -p examples/build && rsync -r build/* examples/build && gh-pages -d examples",preversion:"yarn lint",serve:"browser-sync start -s -f build examples --serveStatic examples",start:"yarn build && concurrently --kill-others -n Server,Rollup 'yarn serve' 'rollup -c -w'",format:"eslint . --fix",lint:"eslint .",release:"release-it"},jSe={"@babel/core":"^7.24.6","@babel/plugin-transform-runtime":"^7.24.6","@babel/preset-env":"^7.24.6","@babel/preset-typescript":"^7.24.6","@release-it/conventional-changelog":"^8.0.1","@rollup/plugin-json":"^6.1.0","@rollup/plugin-node-resolve":"^15.2.3","@rollup/plugin-terser":"^0.4.4","@typescript-eslint/eslint-plugin":"^7.11.0","@typescript-eslint/parser":"^7.11.0","browser-sync":"^3.0.2",concurrently:"^8.2.2",eslint:"^8.45.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","gh-pages":"^6.1.1",prettier:"^3.2.5","release-it":"^17.3.0",rollup:"^4.18.0","rollup-plugin-bundle-size":"^1.0.3","rollup-plugin-ts":"^3.4.5",typescript:"^5.4.5",vega:"^5.25.0","vega-lite":"^5.9.3"},WSe={vega:"*","vega-lite":"*"},VSe={},YSe={name:RSe,version:DSe,description:MSe,keywords:ISe,license:NSe,author:OSe,contributors:PSe,main:$Se,module:LSe,unpkg:BSe,jsdelivr:USe,types:zSe,repository:HSe,files:qSe,scripts:GSe,devDependencies:jSe,peerDependencies:WSe,dependencies:VSe},Om="#fff",oV="#888",XSe={background:"#333",view:{stroke:oV},title:{color:Om,subtitleColor:Om},style:{"guide-label":{fill:Om},"guide-title":{fill:Om}},axis:{domainColor:Om,gridColor:oV,tickColor:Om}},Rf="#4572a7",KSe={background:"#fff",arc:{fill:Rf},area:{fill:Rf},line:{stroke:Rf,strokeWidth:2},path:{stroke:Rf},rect:{fill:Rf},shape:{stroke:Rf},symbol:{fill:Rf,strokeWidth:1.5,size:50},axis:{bandPosition:.5,grid:!0,gridColor:"#000000",gridOpacity:1,gridWidth:.5,labelPadding:10,tickSize:5,tickWidth:.5},axisBand:{grid:!1,tickExtra:!0},legend:{labelBaseline:"middle",labelFontSize:11,symbolSize:50,symbolType:"square"},range:{category:["#4572a7","#aa4643","#8aa453","#71598e","#4598ae","#d98445","#94aace","#d09393","#b9cc98","#a99cbc"]}},Df="#30a2da",bO="#cbcbcb",QSe="#999",JSe="#333",sV="#f0f0f0",aV="#333",ZSe={arc:{fill:Df},area:{fill:Df},axis:{domainColor:bO,grid:!0,gridColor:bO,gridWidth:1,labelColor:QSe,labelFontSize:10,titleColor:JSe,tickColor:bO,tickSize:10,titleFontSize:14,titlePadding:10,labelPadding:4},axisBand:{grid:!1},background:sV,group:{fill:sV},legend:{labelColor:aV,labelFontSize:11,padding:1,symbolSize:30,symbolType:"square",titleColor:aV,titleFontSize:14,titlePadding:10},line:{stroke:Df,strokeWidth:2},path:{stroke:Df,strokeWidth:.5},rect:{fill:Df},range:{category:["#30a2da","#fc4f30","#e5ae38","#6d904f","#8b8b8b","#b96db8","#ff9e27","#56cc60","#52d2ca","#52689e","#545454","#9fe4f8"],diverging:["#cc0020","#e77866","#f6e7e1","#d6e8ed","#91bfd9","#1d78b5"],heatmap:["#d6e8ed","#cee0e5","#91bfd9","#549cc6","#1d78b5"]},point:{filled:!0,shape:"circle"},shape:{stroke:Df},bar:{binSpacing:2,fill:Df,stroke:null},title:{anchor:"start",fontSize:24,fontWeight:600,offset:20}},Mf="#000",eAe={group:{fill:"#e5e5e5"},arc:{fill:Mf},area:{fill:Mf},line:{stroke:Mf},path:{stroke:Mf},rect:{fill:Mf},shape:{stroke:Mf},symbol:{fill:Mf,size:40},axis:{domain:!1,grid:!0,gridColor:"#FFFFFF",gridOpacity:1,labelColor:"#7F7F7F",labelPadding:4,tickColor:"#7F7F7F",tickSize:5.67,titleFontSize:16,titleFontWeight:"normal"},legend:{labelBaseline:"middle",labelFontSize:11,symbolSize:40},range:{category:["#000000","#7F7F7F","#1A1A1A","#999999","#333333","#B0B0B0","#4D4D4D","#C9C9C9","#666666","#DCDCDC"]}},tAe=22,nAe="normal",uV="Benton Gothic, sans-serif",lV=11.5,rAe="normal",If="#82c6df",vO="Benton Gothic Bold, sans-serif",cV="normal",fV=13,Ky={"category-6":["#ec8431","#829eb1","#c89d29","#3580b1","#adc839","#ab7fb4"],"fire-7":["#fbf2c7","#f9e39c","#f8d36e","#f4bb6a","#e68a4f","#d15a40","#ab4232"],"fireandice-6":["#e68a4f","#f4bb6a","#f9e39c","#dadfe2","#a6b7c6","#849eae"],"ice-7":["#edefee","#dadfe2","#c4ccd2","#a6b7c6","#849eae","#607785","#47525d"]},iAe={background:"#ffffff",title:{anchor:"start",color:"#000000",font:vO,fontSize:tAe,fontWeight:nAe},arc:{fill:If},area:{fill:If},line:{stroke:If,strokeWidth:2},path:{stroke:If},rect:{fill:If},shape:{stroke:If},symbol:{fill:If,size:30},axis:{labelFont:uV,labelFontSize:lV,labelFontWeight:rAe,titleFont:vO,titleFontSize:fV,titleFontWeight:cV},axisX:{labelAngle:0,labelPadding:4,tickSize:3},axisY:{labelBaseline:"middle",maxExtent:45,minExtent:45,tickSize:2,titleAlign:"left",titleAngle:0,titleX:-45,titleY:-11},legend:{labelFont:uV,labelFontSize:lV,symbolType:"square",titleFont:vO,titleFontSize:fV,titleFontWeight:cV},range:{category:Ky["category-6"],diverging:Ky["fireandice-6"],heatmap:Ky["fire-7"],ordinal:Ky["fire-7"],ramp:Ky["fire-7"]}},Nf="#ab5787",bA="#979797",oAe={background:"#f9f9f9",arc:{fill:Nf},area:{fill:Nf},line:{stroke:Nf},path:{stroke:Nf},rect:{fill:Nf},shape:{stroke:Nf},symbol:{fill:Nf,size:30},axis:{domainColor:bA,domainWidth:.5,gridWidth:.2,labelColor:bA,tickColor:bA,tickWidth:.2,titleColor:bA},axisBand:{grid:!1},axisX:{grid:!0,tickSize:10},axisY:{domain:!1,grid:!0,tickSize:0},legend:{labelFontSize:11,padding:1,symbolSize:30,symbolType:"square"},range:{category:["#ab5787","#51b2e5","#703c5c","#168dd9","#d190b6","#00609f","#d365ba","#154866","#666666","#c4c4c4"]}},Of="#3e5c69",sAe={background:"#fff",arc:{fill:Of},area:{fill:Of},line:{stroke:Of},path:{stroke:Of},rect:{fill:Of},shape:{stroke:Of},symbol:{fill:Of},axis:{domainWidth:.5,grid:!0,labelPadding:2,tickSize:5,tickWidth:.5,titleFontWeight:"normal"},axisBand:{grid:!1},axisX:{gridWidth:.2},axisY:{gridDash:[3],gridWidth:.4},legend:{labelFontSize:11,padding:1,symbolType:"square"},range:{category:["#3e5c69","#6793a6","#182429","#0570b0","#3690c0","#74a9cf","#a6bddb","#e2ddf2"]}},To="#1696d2",dV="#000000",aAe="#FFFFFF",vA="Lato",EO="Lato",uAe="Lato",lAe="#DEDDDD",cAe=18,Qy={"main-colors":["#1696d2","#d2d2d2","#000000","#fdbf11","#ec008b","#55b748","#5c5859","#db2b27"],"shades-blue":["#CFE8F3","#A2D4EC","#73BFE2","#46ABDB","#1696D2","#12719E","#0A4C6A","#062635"],"shades-gray":["#F5F5F5","#ECECEC","#E3E3E3","#DCDBDB","#D2D2D2","#9D9D9D","#696969","#353535"],"shades-yellow":["#FFF2CF","#FCE39E","#FDD870","#FCCB41","#FDBF11","#E88E2D","#CA5800","#843215"],"shades-magenta":["#F5CBDF","#EB99C2","#E46AA7","#E54096","#EC008B","#AF1F6B","#761548","#351123"],"shades-green":["#DCEDD9","#BCDEB4","#98CF90","#78C26D","#55B748","#408941","#2C5C2D","#1A2E19"],"shades-black":["#D5D5D4","#ADABAC","#848081","#5C5859","#332D2F","#262223","#1A1717","#0E0C0D"],"shades-red":["#F8D5D4","#F1AAA9","#E9807D","#E25552","#DB2B27","#A4201D","#6E1614","#370B0A"],"one-group":["#1696d2","#000000"],"two-groups-cat-1":["#1696d2","#000000"],"two-groups-cat-2":["#1696d2","#fdbf11"],"two-groups-cat-3":["#1696d2","#db2b27"],"two-groups-seq":["#a2d4ec","#1696d2"],"three-groups-cat":["#1696d2","#fdbf11","#000000"],"three-groups-seq":["#a2d4ec","#1696d2","#0a4c6a"],"four-groups-cat-1":["#000000","#d2d2d2","#fdbf11","#1696d2"],"four-groups-cat-2":["#1696d2","#ec0008b","#fdbf11","#5c5859"],"four-groups-seq":["#cfe8f3","#73bf42","#1696d2","#0a4c6a"],"five-groups-cat-1":["#1696d2","#fdbf11","#d2d2d2","#ec008b","#000000"],"five-groups-cat-2":["#1696d2","#0a4c6a","#d2d2d2","#fdbf11","#332d2f"],"five-groups-seq":["#cfe8f3","#73bf42","#1696d2","#0a4c6a","#000000"],"six-groups-cat-1":["#1696d2","#ec008b","#fdbf11","#000000","#d2d2d2","#55b748"],"six-groups-cat-2":["#1696d2","#d2d2d2","#ec008b","#fdbf11","#332d2f","#0a4c6a"],"six-groups-seq":["#cfe8f3","#a2d4ec","#73bfe2","#46abdb","#1696d2","#12719e"],"diverging-colors":["#ca5800","#fdbf11","#fdd870","#fff2cf","#cfe8f3","#73bfe2","#1696d2","#0a4c6a"]},fAe={background:aAe,title:{anchor:"start",fontSize:cAe,font:vA},axisX:{domain:!0,domainColor:dV,domainWidth:1,grid:!1,labelFontSize:12,labelFont:EO,labelAngle:0,tickColor:dV,tickSize:5,titleFontSize:12,titlePadding:10,titleFont:vA},axisY:{domain:!1,domainWidth:1,grid:!0,gridColor:lAe,gridWidth:1,labelFontSize:12,labelFont:EO,labelPadding:8,ticks:!1,titleFontSize:12,titlePadding:10,titleFont:vA,titleAngle:0,titleY:-10,titleX:18},legend:{labelFontSize:12,labelFont:EO,symbolSize:100,titleFontSize:12,titlePadding:10,titleFont:vA,orient:"right",offset:10},view:{stroke:"transparent"},range:{category:Qy["six-groups-cat-1"],diverging:Qy["diverging-colors"],heatmap:Qy["diverging-colors"],ordinal:Qy["six-groups-seq"],ramp:Qy["shades-blue"]},area:{fill:To},rect:{fill:To},line:{color:To,stroke:To,strokeWidth:5},trail:{color:To,stroke:To,strokeWidth:0,size:1},path:{stroke:To,strokeWidth:.5},point:{filled:!0},text:{font:uAe,color:To,fontSize:11,align:"center",fontWeight:400,size:11},style:{bar:{fill:To,stroke:null}},arc:{fill:To},shape:{stroke:To},symbol:{fill:To,size:30}},Pf="#3366CC",pV="#ccc",EA="Arial, sans-serif",dAe={arc:{fill:Pf},area:{fill:Pf},path:{stroke:Pf},rect:{fill:Pf},shape:{stroke:Pf},symbol:{stroke:Pf},circle:{fill:Pf},background:"#fff",padding:{top:10,right:10,bottom:10,left:10},style:{"guide-label":{font:EA,fontSize:12},"guide-title":{font:EA,fontSize:12},"group-title":{font:EA,fontSize:12}},title:{font:EA,fontSize:14,fontWeight:"bold",dy:-3,anchor:"start"},axis:{gridColor:pV,tickColor:pV,domain:!1,grid:!0},range:{category:["#4285F4","#DB4437","#F4B400","#0F9D58","#AB47BC","#00ACC1","#FF7043","#9E9D24","#5C6BC0","#F06292","#00796B","#C2185B"],heatmap:["#c6dafc","#5e97f6","#2a56c6"]}},AO=e=>e*(1/3+1),mV=AO(9),hV=AO(10),gV=AO(12),Jy="Segoe UI",yV="wf_standard-font, helvetica, arial, sans-serif",xV="#252423",Zy="#605E5C",bV="transparent",pAe="#C8C6C4",Es="#118DFF",mAe="#12239E",hAe="#E66C37",gAe="#6B007B",yAe="#E044A7",xAe="#744EC2",bAe="#D9B300",vAe="#D64550",EV=Es,wV="#DEEFFF",vV=[wV,EV],EAe=[wV,"#c7e4ff","#b0d9ff","#9aceff","#83c3ff","#6cb9ff","#55aeff","#3fa3ff","#2898ff",EV],wAe={view:{stroke:bV},background:bV,font:Jy,header:{titleFont:yV,titleFontSize:gV,titleColor:xV,labelFont:Jy,labelFontSize:hV,labelColor:Zy},axis:{ticks:!1,grid:!1,domain:!1,labelColor:Zy,labelFontSize:mV,titleFont:yV,titleColor:xV,titleFontSize:gV,titleFontWeight:"normal"},axisQuantitative:{tickCount:3,grid:!0,gridColor:pAe,gridDash:[1,5],labelFlush:!1},axisBand:{tickExtra:!0},axisX:{labelPadding:5},axisY:{labelPadding:10},bar:{fill:Es},line:{stroke:Es,strokeWidth:3,strokeCap:"round",strokeJoin:"round"},text:{font:Jy,fontSize:mV,fill:Zy},arc:{fill:Es},area:{fill:Es,line:!0,opacity:.6},path:{stroke:Es},rect:{fill:Es},point:{fill:Es,filled:!0,size:75},shape:{stroke:Es},symbol:{fill:Es,strokeWidth:1.5,size:50},legend:{titleFont:Jy,titleFontWeight:"bold",titleColor:Zy,labelFont:Jy,labelFontSize:hV,labelColor:Zy,symbolType:"circle",symbolSize:75},range:{category:[Es,mAe,hAe,gAe,yAe,xAe,bAe,vAe],diverging:vV,heatmap:vV,ordinal:EAe}},wO='IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,".sfnstext-regular",sans-serif',SAe='IBM Plex Sans Condensed, system-ui, -apple-system, BlinkMacSystemFont, ".SFNSText-Regular", sans-serif',SO=400,wA={textPrimary:{g90:"#f4f4f4",g100:"#f4f4f4",white:"#161616",g10:"#161616"},textSecondary:{g90:"#c6c6c6",g100:"#c6c6c6",white:"#525252",g10:"#525252"},layerAccent01:{white:"#e0e0e0",g10:"#e0e0e0",g90:"#525252",g100:"#393939"},gridBg:{white:"#ffffff",g10:"#ffffff",g90:"#161616",g100:"#161616"}},AAe=["#8a3ffc","#33b1ff","#007d79","#ff7eb6","#fa4d56","#fff1f1","#6fdc8c","#4589ff","#d12771","#d2a106","#08bdba","#bae6ff","#ba4e00","#d4bbff"],_Ae=["#6929c4","#1192e8","#005d5d","#9f1853","#fa4d56","#570408","#198038","#002d9c","#ee538b","#b28600","#009d9a","#012749","#8a3800","#a56eff"];function SA({theme:e,background:t}){let n=["white","g10"].includes(e)?"light":"dark",r=wA.gridBg[e],i=wA.textPrimary[e],o=wA.textSecondary[e],s=n==="dark"?AAe:_Ae,a=n==="dark"?"#d4bbff":"#6929c4";return{background:t,arc:{fill:a},area:{fill:a},path:{stroke:a},rect:{fill:a},shape:{stroke:a},symbol:{stroke:a},circle:{fill:a},view:{fill:r,stroke:r},group:{fill:r},title:{color:i,anchor:"start",dy:-15,fontSize:16,font:wO,fontWeight:600},axis:{labelColor:o,labelFontSize:12,labelFont:SAe,labelFontWeight:SO,titleColor:i,titleFontWeight:600,titleFontSize:12,grid:!0,gridColor:wA.layerAccent01[e],labelAngle:0},axisX:{titlePadding:10},axisY:{titlePadding:2.5},style:{"guide-label":{font:wO,fill:o,fontWeight:SO},"guide-title":{font:wO,fill:o,fontWeight:SO}},range:{category:s,diverging:["#750e13","#a2191f","#da1e28","#fa4d56","#ff8389","#ffb3b8","#ffd7d9","#fff1f1","#e5f6ff","#bae6ff","#82cfff","#33b1ff","#1192e8","#0072c3","#00539a","#003a6d"],heatmap:["#f6f2ff","#e8daff","#d4bbff","#be95ff","#a56eff","#8a3ffc","#6929c4","#491d8b","#31135e","#1c0f30"]}}}var CAe=SA({theme:"white",background:"#ffffff"}),kAe=SA({theme:"g10",background:"#f4f4f4"}),FAe=SA({theme:"g90",background:"#262626"}),TAe=SA({theme:"g100",background:"#161616"}),RAe=YSe.version;var DAe="vega-tooltip",MAe="0.35.2",IAe="A tooltip plugin for Vega-Lite and Vega visualizations.",NAe=["vega-lite","vega","tooltip"],OAe={type:"git",url:"https://github.com/vega/vega-tooltip.git"},PAe={name:"UW Interactive Data Lab",url:"https://idl.cs.washington.edu"},$Ae=["Dominik Moritz","Sira Horradarn","Zening Qu","Kanit Wongsuphasawat","Yuri Astrakhan","Jeffrey Heer"],LAe="BSD-3-Clause",BAe={url:"https://github.com/vega/vega-tooltip/issues"},UAe="https://github.com/vega/vega-tooltip#readme",zAe="build/vega-tooltip.js",HAe="build/vega-tooltip.module.js",qAe="build/vega-tooltip.min.js",GAe="build/vega-tooltip.min.js",jAe="build/src/index.d.ts",WAe=["src","build","types"],VAe={prebuild:"npm run clean && npm run build:style",build:"rollup -c","build:style":"./build-style.sh",clean:"rimraf build && rimraf src/style.ts","copy:data":"cp -R node_modules/vega-datasets/data examples","copy:build":"cp -R build examples","deploy:gh":"npm run build && npm run copy:build && gh-pages -d examples && npm run clean",prepublishOnly:"npm run clean && npm run build",preversion:"npm run lint && npm run test",serve:"browser-sync start -s -f build examples --serveStatic examples",start:"npm run build && concurrently --kill-others -n Server,Rollup 'npm run serve' 'rollup -c -w'",pretest:"npm run build:style",test:"jest","test:inspect":"node --inspect-brk ./node_modules/.bin/jest --runInBand",prepare:"npm run copy:data",prettierbase:"prettier '*.{css,scss,html}'",format:"eslint . --fix && npm run prettierbase -- --write",lint:"eslint . && npm run prettierbase -- --check",release:"release-it"},YAe={"@babel/core":"^7.26.0","@babel/plugin-proposal-async-generator-functions":"^7.20.7","@babel/plugin-proposal-json-strings":"^7.18.6","@babel/plugin-proposal-object-rest-spread":"^7.20.7","@babel/plugin-proposal-optional-catch-binding":"^7.18.6","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-runtime":"^7.25.9","@babel/preset-env":"^7.26.0","@babel/preset-typescript":"^7.26.0","@release-it/conventional-changelog":"^9.0.2","@rollup/plugin-json":"^6.1.0","@rollup/plugin-node-resolve":"^15.3.0","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-typescript":"^12.1.1","@types/jest":"^29.5.14","@typescript-eslint/eslint-plugin":"^8.13.0","@typescript-eslint/parser":"^8.13.0","browser-sync":"^3.0.3",concurrently:"^9.1.0",eslint:"^8.46.0","eslint-config-prettier":"^9.1.0","eslint-plugin-jest":"^28.8.3","eslint-plugin-prettier":"^5.2.1","gh-pages":"^6.2.0",jest:"^29.7.0","jest-environment-jsdom":"^29.7.0",path:"^0.12.7",prettier:"^3.3.3","release-it":"^17.10.0",rollup:"^4.24.4","rollup-plugin-bundle-size":"^1.0.3",sass:"^1.80.6",typescript:"~5.6.3","vega-datasets":"^2.9.0","vega-typings":"^1.3.1"},XAe={"vega-util":"^1.17.2"},KAe={"@rollup/rollup-linux-x64-gnu":"^4.24.4"},QAe={name:DAe,version:MAe,description:IAe,keywords:NAe,repository:OAe,author:PAe,collaborators:$Ae,license:LAe,bugs:BAe,homepage:UAe,main:zAe,module:HAe,unpkg:qAe,jsdelivr:GAe,types:jAe,files:WAe,scripts:VAe,devDependencies:YAe,dependencies:XAe,optionalDependencies:KAe};function JAe(e,t,n,r){if(O(e))return`[${e.map(i=>t(Y(i)?i:SV(i,n))).join(", ")}]`;if(Q(e)){let i="",{title:o,image:s,...a}=e;o&&(i+=`<h2>${t(o)}</h2>`),s&&(i+=`<img src="${new URL(t(s),r||location.href).href}">`);let u=Object.keys(a);if(u.length>0){i+="<table>";for(let l of u){let c=a[l];c!==void 0&&(Q(c)&&(c=SV(c,n)),i+=`<tr><td class="key">${t(l)}</td><td class="value">${t(c)}</td></tr>`)}i+="</table>"}return i||"{}"}return t(e)}function ZAe(e){let t=[];return function(n,r){if(typeof r!="object"||r===null)return r;let i=t.indexOf(this)+1;return t.length=i,t.length>e?"[Object]":t.indexOf(r)>=0?"[Circular]":(t.push(r),r)}}function SV(e,t){return JSON.stringify(e,ZAe(t))}var e_e=`#vg-tooltip-element { |
| 18 | visibility: hidden; |
no test coverage detected