From c5781d0f8e965c693a6cc44f703cbca1aca0cc21 Mon Sep 17 00:00:00 2001 From: Nico Ritschel Date: Tue, 4 Aug 2026 12:43:36 -0700 Subject: [PATCH] Defer leaderboard queries until near the viewport Every LeaderboardPanel fired its query on mount. React flushes child effects before parent effects, so a breakdown grid's queries reached the backend ahead of the view's own totals/series queries -- the primary chart loaded last, and panels the user never scrolled to were queried anyway. Each panel now starts its query from an IntersectionObserver callback, which is delivered after the first paint and therefore after the view's mount effects. Observed against the nearest scrolling ancestor (rootMargin does not expand an intermediate clip rect, and the shell scrolls inside a container rather than the document) with a 600px margin, so panels just past the fold still prefetch and only far-offscreen ones wait. Where IntersectionObserver is unavailable, panels mount immediately. Verified against the ecommerce example: request order is now totals, series, then the leaderboards, where it was leaderboards first on main. --- .../assets/ui-dist/sidemantic-ui-static.js | 4 +- .../assets/ui-dist/sidemantic-ui.js | 4 +- sidemantic-rs/ui/assets/index-DqXBaPTo.js | 55 -------------- sidemantic-rs/ui/assets/index-iemRTgYP.js | 55 ++++++++++++++ sidemantic-rs/ui/index.html | 2 +- sidemantic/ui/static/assets/index-DqXBaPTo.js | 55 -------------- sidemantic/ui/static/assets/index-iemRTgYP.js | 55 ++++++++++++++ sidemantic/ui/static/index.html | 2 +- sidemantic/widget/static/widget.js | 14 ++-- webapp/README.md | 2 + webapp/src/components/Leaderboard.tsx | 5 ++ webapp/src/components/LeaderboardPanel.tsx | 21 +++++- webapp/src/lib/viewport.test.ts | 75 +++++++++++++++++++ webapp/src/lib/viewport.ts | 50 +++++++++++++ 14 files changed, 274 insertions(+), 125 deletions(-) delete mode 100644 sidemantic-rs/ui/assets/index-DqXBaPTo.js create mode 100644 sidemantic-rs/ui/assets/index-iemRTgYP.js delete mode 100644 sidemantic/ui/static/assets/index-DqXBaPTo.js create mode 100644 sidemantic/ui/static/assets/index-iemRTgYP.js create mode 100644 webapp/src/lib/viewport.test.ts create mode 100644 webapp/src/lib/viewport.ts diff --git a/plugins/sidemantic/skills/webapp-builder/assets/ui-dist/sidemantic-ui-static.js b/plugins/sidemantic/skills/webapp-builder/assets/ui-dist/sidemantic-ui-static.js index ecbc16b33..131ccf568 100644 --- a/plugins/sidemantic/skills/webapp-builder/assets/ui-dist/sidemantic-ui-static.js +++ b/plugins/sidemantic/skills/webapp-builder/assets/ui-dist/sidemantic-ui-static.js @@ -8573,7 +8573,8 @@ function Leaderboard({ onContextColumn, collapsedLimit = 6, expanded = false, - onExpandedChange + onExpandedChange, + containerRef }) { const selected = new Set(selectedValues); const visibleRows = expanded ? rows : rows.slice(0, collapsedLimit); @@ -8582,6 +8583,7 @@ function Leaderboard({ const showContext = contextColumn !== "none"; const rowGrid = showContext ? "grid-cols-[minmax(0,1fr)_auto_auto]" : "grid-cols-[minmax(0,1fr)_auto]"; return /* @__PURE__ */ jsx_runtime5.jsxs("section", { + ref: containerRef, "data-testid": "dimension-leaderboard", "data-dimension": dimension, "data-expanded": expanded || undefined, diff --git a/plugins/sidemantic/skills/webapp-builder/assets/ui-dist/sidemantic-ui.js b/plugins/sidemantic/skills/webapp-builder/assets/ui-dist/sidemantic-ui.js index dc3c00043..4c5455d8e 100644 --- a/plugins/sidemantic/skills/webapp-builder/assets/ui-dist/sidemantic-ui.js +++ b/plugins/sidemantic/skills/webapp-builder/assets/ui-dist/sidemantic-ui.js @@ -2065,7 +2065,8 @@ function Leaderboard({ onContextColumn, collapsedLimit = 6, expanded = false, - onExpandedChange + onExpandedChange, + containerRef }) { const selected = new Set(selectedValues); const visibleRows = expanded ? rows : rows.slice(0, collapsedLimit); @@ -2074,6 +2075,7 @@ function Leaderboard({ const showContext = contextColumn !== "none"; const rowGrid = showContext ? "grid-cols-[minmax(0,1fr)_auto_auto]" : "grid-cols-[minmax(0,1fr)_auto]"; return /* @__PURE__ */ jsxs13("section", { + ref: containerRef, "data-testid": "dimension-leaderboard", "data-dimension": dimension, "data-expanded": expanded || undefined, diff --git a/sidemantic-rs/ui/assets/index-DqXBaPTo.js b/sidemantic-rs/ui/assets/index-DqXBaPTo.js deleted file mode 100644 index ad89c7e9f..000000000 --- a/sidemantic-rs/ui/assets/index-DqXBaPTo.js +++ /dev/null @@ -1,55 +0,0 @@ -var Xx=Object.defineProperty;var eb=(n,e,t)=>e in n?Xx(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var Mn=(n,e,t)=>eb(n,typeof e!="symbol"?e+"":e,t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))i(a);new MutationObserver(a=>{for(const c of a)if(c.type==="childList")for(const f of c.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&i(f)}).observe(document,{childList:!0,subtree:!0});function t(a){const c={};return a.integrity&&(c.integrity=a.integrity),a.referrerPolicy&&(c.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?c.credentials="include":a.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function i(a){if(a.ep)return;a.ep=!0;const c=t(a);fetch(a.href,c)}})();var Ju={exports:{}},wo={},qu={exports:{}},Te={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Xp;function tb(){if(Xp)return Te;Xp=1;var n=Symbol.for("react.element"),e=Symbol.for("react.portal"),t=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),f=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),x=Symbol.iterator;function b(_){return _===null||typeof _!="object"?null:(_=x&&_[x]||_["@@iterator"],typeof _=="function"?_:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},j=Object.assign,O={};function T(_,k,Z){this.props=_,this.context=k,this.refs=O,this.updater=Z||w}T.prototype.isReactComponent={},T.prototype.setState=function(_,k){if(typeof _!="object"&&typeof _!="function"&&_!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,_,k,"setState")},T.prototype.forceUpdate=function(_){this.updater.enqueueForceUpdate(this,_,"forceUpdate")};function W(){}W.prototype=T.prototype;function R(_,k,Z){this.props=_,this.context=k,this.refs=O,this.updater=Z||w}var E=R.prototype=new W;E.constructor=R,j(E,T.prototype),E.isPureReactComponent=!0;var I=Array.isArray,V=Object.prototype.hasOwnProperty,M={current:null},U={key:!0,ref:!0,__self:!0,__source:!0};function G(_,k,Z){var ae,ce={},we=null,$e=null;if(k!=null)for(ae in k.ref!==void 0&&($e=k.ref),k.key!==void 0&&(we=""+k.key),k)V.call(k,ae)&&!U.hasOwnProperty(ae)&&(ce[ae]=k[ae]);var Re=arguments.length-2;if(Re===1)ce.children=Z;else if(1>>1,k=A[_];if(0>>1;_a(ce,H))wea($e,ce)?(A[_]=$e,A[we]=H,_=we):(A[_]=ce,A[ae]=H,_=ae);else if(wea($e,H))A[_]=$e,A[we]=H,_=we;else break e}}return Q}function a(A,Q){var H=A.sortIndex-Q.sortIndex;return H!==0?H:A.id-Q.id}if(typeof performance=="object"&&typeof performance.now=="function"){var c=performance;n.unstable_now=function(){return c.now()}}else{var f=Date,h=f.now();n.unstable_now=function(){return f.now()-h}}var m=[],g=[],v=1,x=null,b=3,w=!1,j=!1,O=!1,T=typeof setTimeout=="function"?setTimeout:null,W=typeof clearTimeout=="function"?clearTimeout:null,R=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function E(A){for(var Q=t(g);Q!==null;){if(Q.callback===null)i(g);else if(Q.startTime<=A)i(g),Q.sortIndex=Q.expirationTime,e(m,Q);else break;Q=t(g)}}function I(A){if(O=!1,E(A),!j)if(t(m)!==null)j=!0,re(V);else{var Q=t(g);Q!==null&&se(I,Q.startTime-A)}}function V(A,Q){j=!1,O&&(O=!1,W(G),G=-1),w=!0;var H=b;try{for(E(Q),x=t(m);x!==null&&(!(x.expirationTime>Q)||A&&!P());){var _=x.callback;if(typeof _=="function"){x.callback=null,b=x.priorityLevel;var k=_(x.expirationTime<=Q);Q=n.unstable_now(),typeof k=="function"?x.callback=k:x===t(m)&&i(m),E(Q)}else i(m);x=t(m)}if(x!==null)var Z=!0;else{var ae=t(g);ae!==null&&se(I,ae.startTime-Q),Z=!1}return Z}finally{x=null,b=H,w=!1}}var M=!1,U=null,G=-1,z=5,Y=-1;function P(){return!(n.unstable_now()-YA||125_?(A.sortIndex=H,e(g,A),t(m)===null&&A===t(g)&&(O?(W(G),G=-1):O=!0,se(I,H-_))):(A.sortIndex=k,e(m,A),j||w||(j=!0,re(V))),A},n.unstable_shouldYield=P,n.unstable_wrapCallback=function(A){var Q=b;return function(){var H=b;b=Q;try{return A.apply(this,arguments)}finally{b=H}}}})(ed)),ed}var sm;function ib(){return sm||(sm=1,Xu.exports=sb()),Xu.exports}/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var im;function ob(){if(im)return $t;im=1;var n=Ad(),e=ib();function t(r){for(var s="https://reactjs.org/docs/error-decoder.html?invariant="+r,o=1;o"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),m=Object.prototype.hasOwnProperty,g=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,v={},x={};function b(r){return m.call(x,r)?!0:m.call(v,r)?!1:g.test(r)?x[r]=!0:(v[r]=!0,!1)}function w(r,s,o,l){if(o!==null&&o.type===0)return!1;switch(typeof s){case"function":case"symbol":return!0;case"boolean":return l?!1:o!==null?!o.acceptsBooleans:(r=r.toLowerCase().slice(0,5),r!=="data-"&&r!=="aria-");default:return!1}}function j(r,s,o,l){if(s===null||typeof s>"u"||w(r,s,o,l))return!0;if(l)return!1;if(o!==null)switch(o.type){case 3:return!s;case 4:return s===!1;case 5:return isNaN(s);case 6:return isNaN(s)||1>s}return!1}function O(r,s,o,l,d,p,y){this.acceptsBooleans=s===2||s===3||s===4,this.attributeName=l,this.attributeNamespace=d,this.mustUseProperty=o,this.propertyName=r,this.type=s,this.sanitizeURL=p,this.removeEmptyString=y}var T={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(r){T[r]=new O(r,0,!1,r,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(r){var s=r[0];T[s]=new O(s,1,!1,r[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(r){T[r]=new O(r,2,!1,r.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(r){T[r]=new O(r,2,!1,r,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(r){T[r]=new O(r,3,!1,r.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(r){T[r]=new O(r,3,!0,r,null,!1,!1)}),["capture","download"].forEach(function(r){T[r]=new O(r,4,!1,r,null,!1,!1)}),["cols","rows","size","span"].forEach(function(r){T[r]=new O(r,6,!1,r,null,!1,!1)}),["rowSpan","start"].forEach(function(r){T[r]=new O(r,5,!1,r.toLowerCase(),null,!1,!1)});var W=/[\-:]([a-z])/g;function R(r){return r[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(r){var s=r.replace(W,R);T[s]=new O(s,1,!1,r,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(r){var s=r.replace(W,R);T[s]=new O(s,1,!1,r,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(r){var s=r.replace(W,R);T[s]=new O(s,1,!1,r,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(r){T[r]=new O(r,1,!1,r.toLowerCase(),null,!1,!1)}),T.xlinkHref=new O("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(r){T[r]=new O(r,1,!1,r.toLowerCase(),null,!0,!0)});function E(r,s,o,l){var d=T.hasOwnProperty(s)?T[s]:null;(d!==null?d.type!==0:l||!(2S||d[y]!==p[S]){var N=` -`+d[y].replace(" at new "," at ");return r.displayName&&N.includes("")&&(N=N.replace("",r.displayName)),N}while(1<=y&&0<=S);break}}}finally{Z=!1,Error.prepareStackTrace=o}return(r=r?r.displayName||r.name:"")?k(r):""}function ce(r){switch(r.tag){case 5:return k(r.type);case 16:return k("Lazy");case 13:return k("Suspense");case 19:return k("SuspenseList");case 0:case 2:case 15:return r=ae(r.type,!1),r;case 11:return r=ae(r.type.render,!1),r;case 1:return r=ae(r.type,!0),r;default:return""}}function we(r){if(r==null)return null;if(typeof r=="function")return r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case U:return"Fragment";case M:return"Portal";case z:return"Profiler";case G:return"StrictMode";case te:return"Suspense";case ne:return"SuspenseList"}if(typeof r=="object")switch(r.$$typeof){case P:return(r.displayName||"Context")+".Consumer";case Y:return(r._context.displayName||"Context")+".Provider";case ee:var s=r.render;return r=r.displayName,r||(r=s.displayName||s.name||"",r=r!==""?"ForwardRef("+r+")":"ForwardRef"),r;case ie:return s=r.displayName||null,s!==null?s:we(r.type)||"Memo";case re:s=r._payload,r=r._init;try{return we(r(s))}catch{}}return null}function $e(r){var s=r.type;switch(r.tag){case 24:return"Cache";case 9:return(s.displayName||"Context")+".Consumer";case 10:return(s._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return r=s.render,r=r.displayName||r.name||"",s.displayName||(r!==""?"ForwardRef("+r+")":"ForwardRef");case 7:return"Fragment";case 5:return s;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return we(s);case 8:return s===G?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s}return null}function Re(r){switch(typeof r){case"boolean":case"number":case"string":case"undefined":return r;case"object":return r;default:return""}}function ze(r){var s=r.type;return(r=r.nodeName)&&r.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function lt(r){var s=ze(r)?"checked":"value",o=Object.getOwnPropertyDescriptor(r.constructor.prototype,s),l=""+r[s];if(!r.hasOwnProperty(s)&&typeof o<"u"&&typeof o.get=="function"&&typeof o.set=="function"){var d=o.get,p=o.set;return Object.defineProperty(r,s,{configurable:!0,get:function(){return d.call(this)},set:function(y){l=""+y,p.call(this,y)}}),Object.defineProperty(r,s,{enumerable:o.enumerable}),{getValue:function(){return l},setValue:function(y){l=""+y},stopTracking:function(){r._valueTracker=null,delete r[s]}}}}function wt(r){r._valueTracker||(r._valueTracker=lt(r))}function Bs(r){if(!r)return!1;var s=r._valueTracker;if(!s)return!0;var o=s.getValue(),l="";return r&&(l=ze(r)?r.checked?"true":"false":r.value),r=l,r!==o?(s.setValue(r),!0):!1}function xn(r){if(r=r||(typeof document<"u"?document:void 0),typeof r>"u")return null;try{return r.activeElement||r.body}catch{return r.body}}function Cr(r,s){var o=s.checked;return H({},s,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:o??r._wrapperState.initialChecked})}function Fr(r,s){var o=s.defaultValue==null?"":s.defaultValue,l=s.checked!=null?s.checked:s.defaultChecked;o=Re(s.value!=null?s.value:o),r._wrapperState={initialChecked:l,initialValue:o,controlled:s.type==="checkbox"||s.type==="radio"?s.checked!=null:s.value!=null}}function ue(r,s){s=s.checked,s!=null&&E(r,"checked",s,!1)}function Fe(r,s){ue(r,s);var o=Re(s.value),l=s.type;if(o!=null)l==="number"?(o===0&&r.value===""||r.value!=o)&&(r.value=""+o):r.value!==""+o&&(r.value=""+o);else if(l==="submit"||l==="reset"){r.removeAttribute("value");return}s.hasOwnProperty("value")?Nt(r,s.type,o):s.hasOwnProperty("defaultValue")&&Nt(r,s.type,Re(s.defaultValue)),s.checked==null&&s.defaultChecked!=null&&(r.defaultChecked=!!s.defaultChecked)}function rt(r,s,o){if(s.hasOwnProperty("value")||s.hasOwnProperty("defaultValue")){var l=s.type;if(!(l!=="submit"&&l!=="reset"||s.value!==void 0&&s.value!==null))return;s=""+r._wrapperState.initialValue,o||s===r.value||(r.value=s),r.defaultValue=s}o=r.name,o!==""&&(r.name=""),r.defaultChecked=!!r._wrapperState.initialChecked,o!==""&&(r.name=o)}function Nt(r,s,o){(s!=="number"||xn(r.ownerDocument)!==r)&&(o==null?r.defaultValue=""+r._wrapperState.initialValue:r.defaultValue!==""+o&&(r.defaultValue=""+o))}var Un=Array.isArray;function sr(r,s,o,l){if(r=r.options,s){s={};for(var d=0;d"+s.valueOf().toString()+"",s=ds.firstChild;r.firstChild;)r.removeChild(r.firstChild);for(;s.firstChild;)r.appendChild(s.firstChild)}});function ir(r,s){if(s){var o=r.firstChild;if(o&&o===r.lastChild&&o.nodeType===3){o.nodeValue=s;return}}r.textContent=s}var Ri={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},r0=["Webkit","ms","Moz","O"];Object.keys(Ri).forEach(function(r){r0.forEach(function(s){s=s+r.charAt(0).toUpperCase()+r.substring(1),Ri[s]=Ri[r]})});function pf(r,s,o){return s==null||typeof s=="boolean"||s===""?"":o||typeof s!="number"||s===0||Ri.hasOwnProperty(r)&&Ri[r]?(""+s).trim():s+"px"}function mf(r,s){r=r.style;for(var o in s)if(s.hasOwnProperty(o)){var l=o.indexOf("--")===0,d=pf(o,s[o],l);o==="float"&&(o="cssFloat"),l?r.setProperty(o,d):r[o]=d}}var s0=H({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function lc(r,s){if(s){if(s0[r]&&(s.children!=null||s.dangerouslySetInnerHTML!=null))throw Error(t(137,r));if(s.dangerouslySetInnerHTML!=null){if(s.children!=null)throw Error(t(60));if(typeof s.dangerouslySetInnerHTML!="object"||!("__html"in s.dangerouslySetInnerHTML))throw Error(t(61))}if(s.style!=null&&typeof s.style!="object")throw Error(t(62))}}function cc(r,s){if(r.indexOf("-")===-1)return typeof s.is=="string";switch(r){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var uc=null;function dc(r){return r=r.target||r.srcElement||window,r.correspondingUseElement&&(r=r.correspondingUseElement),r.nodeType===3?r.parentNode:r}var fc=null,Rs=null,Ls=null;function yf(r){if(r=io(r)){if(typeof fc!="function")throw Error(t(280));var s=r.stateNode;s&&(s=ya(s),fc(r.stateNode,r.type,s))}}function gf(r){Rs?Ls?Ls.push(r):Ls=[r]:Rs=r}function vf(){if(Rs){var r=Rs,s=Ls;if(Ls=Rs=null,yf(r),s)for(r=0;r>>=0,r===0?32:31-(m0(r)/y0|0)|0}var Zo=64,Xo=4194304;function Pi(r){switch(r&-r){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return r&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return r&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return r}}function ea(r,s){var o=r.pendingLanes;if(o===0)return 0;var l=0,d=r.suspendedLanes,p=r.pingedLanes,y=o&268435455;if(y!==0){var S=y&~d;S!==0?l=Pi(S):(p&=y,p!==0&&(l=Pi(p)))}else y=o&~d,y!==0?l=Pi(y):p!==0&&(l=Pi(p));if(l===0)return 0;if(s!==0&&s!==l&&(s&d)===0&&(d=l&-l,p=s&-s,d>=p||d===16&&(p&4194240)!==0))return s;if((l&4)!==0&&(l|=o&16),s=r.entangledLanes,s!==0)for(r=r.entanglements,s&=l;0o;o++)s.push(r);return s}function zi(r,s,o){r.pendingLanes|=s,s!==536870912&&(r.suspendedLanes=0,r.pingedLanes=0),r=r.eventTimes,s=31-wn(s),r[s]=o}function b0(r,s){var o=r.pendingLanes&~s;r.pendingLanes=s,r.suspendedLanes=0,r.pingedLanes=0,r.expiredLanes&=s,r.mutableReadLanes&=s,r.entangledLanes&=s,s=r.entanglements;var l=r.eventTimes;for(r=r.expirationTimes;0=Ji),Gf=" ",Yf=!1;function Qf(r,s){switch(r){case"keyup":return Q0.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Kf(r){return r=r.detail,typeof r=="object"&&"data"in r?r.data:null}var Ps=!1;function J0(r,s){switch(r){case"compositionend":return Kf(s);case"keypress":return s.which!==32?null:(Yf=!0,Gf);case"textInput":return r=s.data,r===Gf&&Yf?null:r;default:return null}}function q0(r,s){if(Ps)return r==="compositionend"||!Cc&&Qf(r,s)?(r=$f(),ia=Nc=Er=null,Ps=!1,r):null;switch(r){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:o,offset:s-r};r=l}e:{for(;o;){if(o.nextSibling){o=o.nextSibling;break e}o=o.parentNode}o=void 0}o=nh(o)}}function sh(r,s){return r&&s?r===s?!0:r&&r.nodeType===3?!1:s&&s.nodeType===3?sh(r,s.parentNode):"contains"in r?r.contains(s):r.compareDocumentPosition?!!(r.compareDocumentPosition(s)&16):!1:!1}function ih(){for(var r=window,s=xn();s instanceof r.HTMLIFrameElement;){try{var o=typeof s.contentWindow.location.href=="string"}catch{o=!1}if(o)r=s.contentWindow;else break;s=xn(r.document)}return s}function Tc(r){var s=r&&r.nodeName&&r.nodeName.toLowerCase();return s&&(s==="input"&&(r.type==="text"||r.type==="search"||r.type==="tel"||r.type==="url"||r.type==="password")||s==="textarea"||r.contentEditable==="true")}function ox(r){var s=ih(),o=r.focusedElem,l=r.selectionRange;if(s!==o&&o&&o.ownerDocument&&sh(o.ownerDocument.documentElement,o)){if(l!==null&&Tc(o)){if(s=l.start,r=l.end,r===void 0&&(r=s),"selectionStart"in o)o.selectionStart=s,o.selectionEnd=Math.min(r,o.value.length);else if(r=(s=o.ownerDocument||document)&&s.defaultView||window,r.getSelection){r=r.getSelection();var d=o.textContent.length,p=Math.min(l.start,d);l=l.end===void 0?p:Math.min(l.end,d),!r.extend&&p>l&&(d=l,l=p,p=d),d=rh(o,p);var y=rh(o,l);d&&y&&(r.rangeCount!==1||r.anchorNode!==d.node||r.anchorOffset!==d.offset||r.focusNode!==y.node||r.focusOffset!==y.offset)&&(s=s.createRange(),s.setStart(d.node,d.offset),r.removeAllRanges(),p>l?(r.addRange(s),r.extend(y.node,y.offset)):(s.setEnd(y.node,y.offset),r.addRange(s)))}}for(s=[],r=o;r=r.parentNode;)r.nodeType===1&&s.push({element:r,left:r.scrollLeft,top:r.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;o=document.documentMode,zs=null,Ac=null,eo=null,Bc=!1;function oh(r,s,o){var l=o.window===o?o.document:o.nodeType===9?o:o.ownerDocument;Bc||zs==null||zs!==xn(l)||(l=zs,"selectionStart"in l&&Tc(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),eo&&Xi(eo,l)||(eo=l,l=ha(Ac,"onSelect"),0Ys||(r.current=Yc[Ys],Yc[Ys]=null,Ys--)}function qe(r,s){Ys++,Yc[Ys]=r.current,r.current=s}var $r={},jt=Ur($r),Bt=Ur(!1),ps=$r;function Qs(r,s){var o=r.type.contextTypes;if(!o)return $r;var l=r.stateNode;if(l&&l.__reactInternalMemoizedUnmaskedChildContext===s)return l.__reactInternalMemoizedMaskedChildContext;var d={},p;for(p in o)d[p]=s[p];return l&&(r=r.stateNode,r.__reactInternalMemoizedUnmaskedChildContext=s,r.__reactInternalMemoizedMaskedChildContext=d),d}function Et(r){return r=r.childContextTypes,r!=null}function ga(){et(Bt),et(jt)}function wh(r,s,o){if(jt.current!==$r)throw Error(t(168));qe(jt,s),qe(Bt,o)}function Sh(r,s,o){var l=r.stateNode;if(s=s.childContextTypes,typeof l.getChildContext!="function")return o;l=l.getChildContext();for(var d in l)if(!(d in s))throw Error(t(108,$e(r)||"Unknown",d));return H({},o,l)}function va(r){return r=(r=r.stateNode)&&r.__reactInternalMemoizedMergedChildContext||$r,ps=jt.current,qe(jt,r),qe(Bt,Bt.current),!0}function _h(r,s,o){var l=r.stateNode;if(!l)throw Error(t(169));o?(r=Sh(r,s,ps),l.__reactInternalMemoizedMergedChildContext=r,et(Bt),et(jt),qe(jt,r)):et(Bt),qe(Bt,o)}var ar=null,xa=!1,Qc=!1;function Nh(r){ar===null?ar=[r]:ar.push(r)}function vx(r){xa=!0,Nh(r)}function Pr(){if(!Qc&&ar!==null){Qc=!0;var r=0,s=Ge;try{var o=ar;for(Ge=1;r>=y,d-=y,lr=1<<32-wn(s)+d|o<Me?(bt=ye,ye=null):bt=ye.sibling;var Pe=K(B,ye,L[Me],X);if(Pe===null){ye===null&&(ye=bt);break}r&&ye&&Pe.alternate===null&&s(B,ye),D=p(Pe,D,Me),me===null?he=Pe:me.sibling=Pe,me=Pe,ye=bt}if(Me===L.length)return o(B,ye),st&&ys(B,Me),he;if(ye===null){for(;MeMe?(bt=ye,ye=null):bt=ye.sibling;var Jr=K(B,ye,Pe.value,X);if(Jr===null){ye===null&&(ye=bt);break}r&&ye&&Jr.alternate===null&&s(B,ye),D=p(Jr,D,Me),me===null?he=Jr:me.sibling=Jr,me=Jr,ye=bt}if(Pe.done)return o(B,ye),st&&ys(B,Me),he;if(ye===null){for(;!Pe.done;Me++,Pe=L.next())Pe=q(B,Pe.value,X),Pe!==null&&(D=p(Pe,D,Me),me===null?he=Pe:me.sibling=Pe,me=Pe);return st&&ys(B,Me),he}for(ye=l(B,ye);!Pe.done;Me++,Pe=L.next())Pe=oe(ye,B,Me,Pe.value,X),Pe!==null&&(r&&Pe.alternate!==null&&ye.delete(Pe.key===null?Me:Pe.key),D=p(Pe,D,Me),me===null?he=Pe:me.sibling=Pe,me=Pe);return r&&ye.forEach(function(Zx){return s(B,Zx)}),st&&ys(B,Me),he}function dt(B,D,L,X){if(typeof L=="object"&&L!==null&&L.type===U&&L.key===null&&(L=L.props.children),typeof L=="object"&&L!==null){switch(L.$$typeof){case V:e:{for(var he=L.key,me=D;me!==null;){if(me.key===he){if(he=L.type,he===U){if(me.tag===7){o(B,me.sibling),D=d(me,L.props.children),D.return=B,B=D;break e}}else if(me.elementType===he||typeof he=="object"&&he!==null&&he.$$typeof===re&&Ch(he)===me.type){o(B,me.sibling),D=d(me,L.props),D.ref=oo(B,me,L),D.return=B,B=D;break e}o(B,me);break}else s(B,me);me=me.sibling}L.type===U?(D=Ns(L.props.children,B.mode,X,L.key),D.return=B,B=D):(X=Ya(L.type,L.key,L.props,null,B.mode,X),X.ref=oo(B,D,L),X.return=B,B=X)}return y(B);case M:e:{for(me=L.key;D!==null;){if(D.key===me)if(D.tag===4&&D.stateNode.containerInfo===L.containerInfo&&D.stateNode.implementation===L.implementation){o(B,D.sibling),D=d(D,L.children||[]),D.return=B,B=D;break e}else{o(B,D);break}else s(B,D);D=D.sibling}D=Hu(L,B.mode,X),D.return=B,B=D}return y(B);case re:return me=L._init,dt(B,D,me(L._payload),X)}if(Un(L))return de(B,D,L,X);if(Q(L))return fe(B,D,L,X);_a(B,L)}return typeof L=="string"&&L!==""||typeof L=="number"?(L=""+L,D!==null&&D.tag===6?(o(B,D.sibling),D=d(D,L),D.return=B,B=D):(o(B,D),D=Wu(L,B.mode,X),D.return=B,B=D),y(B)):o(B,D)}return dt}var Zs=Fh(!0),Oh=Fh(!1),Na=Ur(null),ja=null,Xs=null,eu=null;function tu(){eu=Xs=ja=null}function nu(r){var s=Na.current;et(Na),r._currentValue=s}function ru(r,s,o){for(;r!==null;){var l=r.alternate;if((r.childLanes&s)!==s?(r.childLanes|=s,l!==null&&(l.childLanes|=s)):l!==null&&(l.childLanes&s)!==s&&(l.childLanes|=s),r===o)break;r=r.return}}function ei(r,s){ja=r,eu=Xs=null,r=r.dependencies,r!==null&&r.firstContext!==null&&((r.lanes&s)!==0&&(Rt=!0),r.firstContext=null)}function sn(r){var s=r._currentValue;if(eu!==r)if(r={context:r,memoizedValue:s,next:null},Xs===null){if(ja===null)throw Error(t(308));Xs=r,ja.dependencies={lanes:0,firstContext:r}}else Xs=Xs.next=r;return s}var gs=null;function su(r){gs===null?gs=[r]:gs.push(r)}function Th(r,s,o,l){var d=s.interleaved;return d===null?(o.next=o,su(s)):(o.next=d.next,d.next=o),s.interleaved=o,ur(r,l)}function ur(r,s){r.lanes|=s;var o=r.alternate;for(o!==null&&(o.lanes|=s),o=r,r=r.return;r!==null;)r.childLanes|=s,o=r.alternate,o!==null&&(o.childLanes|=s),o=r,r=r.return;return o.tag===3?o.stateNode:null}var zr=!1;function iu(r){r.updateQueue={baseState:r.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Ah(r,s){r=r.updateQueue,s.updateQueue===r&&(s.updateQueue={baseState:r.baseState,firstBaseUpdate:r.firstBaseUpdate,lastBaseUpdate:r.lastBaseUpdate,shared:r.shared,effects:r.effects})}function dr(r,s){return{eventTime:r,lane:s,tag:0,payload:null,callback:null,next:null}}function Vr(r,s,o){var l=r.updateQueue;if(l===null)return null;if(l=l.shared,(Ue&2)!==0){var d=l.pending;return d===null?s.next=s:(s.next=d.next,d.next=s),l.pending=s,ur(r,o)}return d=l.interleaved,d===null?(s.next=s,su(l)):(s.next=d.next,d.next=s),l.interleaved=s,ur(r,o)}function ka(r,s,o){if(s=s.updateQueue,s!==null&&(s=s.shared,(o&4194240)!==0)){var l=s.lanes;l&=r.pendingLanes,o|=l,s.lanes=o,xc(r,o)}}function Bh(r,s){var o=r.updateQueue,l=r.alternate;if(l!==null&&(l=l.updateQueue,o===l)){var d=null,p=null;if(o=o.firstBaseUpdate,o!==null){do{var y={eventTime:o.eventTime,lane:o.lane,tag:o.tag,payload:o.payload,callback:o.callback,next:null};p===null?d=p=y:p=p.next=y,o=o.next}while(o!==null);p===null?d=p=s:p=p.next=s}else d=p=s;o={baseState:l.baseState,firstBaseUpdate:d,lastBaseUpdate:p,shared:l.shared,effects:l.effects},r.updateQueue=o;return}r=o.lastBaseUpdate,r===null?o.firstBaseUpdate=s:r.next=s,o.lastBaseUpdate=s}function Ia(r,s,o,l){var d=r.updateQueue;zr=!1;var p=d.firstBaseUpdate,y=d.lastBaseUpdate,S=d.shared.pending;if(S!==null){d.shared.pending=null;var N=S,$=N.next;N.next=null,y===null?p=$:y.next=$,y=N;var J=r.alternate;J!==null&&(J=J.updateQueue,S=J.lastBaseUpdate,S!==y&&(S===null?J.firstBaseUpdate=$:S.next=$,J.lastBaseUpdate=N))}if(p!==null){var q=d.baseState;y=0,J=$=N=null,S=p;do{var K=S.lane,oe=S.eventTime;if((l&K)===K){J!==null&&(J=J.next={eventTime:oe,lane:0,tag:S.tag,payload:S.payload,callback:S.callback,next:null});e:{var de=r,fe=S;switch(K=s,oe=o,fe.tag){case 1:if(de=fe.payload,typeof de=="function"){q=de.call(oe,q,K);break e}q=de;break e;case 3:de.flags=de.flags&-65537|128;case 0:if(de=fe.payload,K=typeof de=="function"?de.call(oe,q,K):de,K==null)break e;q=H({},q,K);break e;case 2:zr=!0}}S.callback!==null&&S.lane!==0&&(r.flags|=64,K=d.effects,K===null?d.effects=[S]:K.push(S))}else oe={eventTime:oe,lane:K,tag:S.tag,payload:S.payload,callback:S.callback,next:null},J===null?($=J=oe,N=q):J=J.next=oe,y|=K;if(S=S.next,S===null){if(S=d.shared.pending,S===null)break;K=S,S=K.next,K.next=null,d.lastBaseUpdate=K,d.shared.pending=null}}while(!0);if(J===null&&(N=q),d.baseState=N,d.firstBaseUpdate=$,d.lastBaseUpdate=J,s=d.shared.interleaved,s!==null){d=s;do y|=d.lane,d=d.next;while(d!==s)}else p===null&&(d.shared.lanes=0);bs|=y,r.lanes=y,r.memoizedState=q}}function Eh(r,s,o){if(r=s.effects,s.effects=null,r!==null)for(s=0;so?o:4,r(!0);var l=uu.transition;uu.transition={};try{r(!1),s()}finally{Ge=o,uu.transition=l}}function tp(){return on().memoizedState}function Sx(r,s,o){var l=Yr(r);if(o={lane:l,action:o,hasEagerState:!1,eagerState:null,next:null},np(r))rp(s,o);else if(o=Th(r,s,o,l),o!==null){var d=Ft();In(o,r,l,d),sp(o,s,l)}}function _x(r,s,o){var l=Yr(r),d={lane:l,action:o,hasEagerState:!1,eagerState:null,next:null};if(np(r))rp(s,d);else{var p=r.alternate;if(r.lanes===0&&(p===null||p.lanes===0)&&(p=s.lastRenderedReducer,p!==null))try{var y=s.lastRenderedState,S=p(y,o);if(d.hasEagerState=!0,d.eagerState=S,Sn(S,y)){var N=s.interleaved;N===null?(d.next=d,su(s)):(d.next=N.next,N.next=d),s.interleaved=d;return}}catch{}finally{}o=Th(r,s,d,l),o!==null&&(d=Ft(),In(o,r,l,d),sp(o,s,l))}}function np(r){var s=r.alternate;return r===ot||s!==null&&s===ot}function rp(r,s){uo=Ca=!0;var o=r.pending;o===null?s.next=s:(s.next=o.next,o.next=s),r.pending=s}function sp(r,s,o){if((o&4194240)!==0){var l=s.lanes;l&=r.pendingLanes,o|=l,s.lanes=o,xc(r,o)}}var Ta={readContext:sn,useCallback:kt,useContext:kt,useEffect:kt,useImperativeHandle:kt,useInsertionEffect:kt,useLayoutEffect:kt,useMemo:kt,useReducer:kt,useRef:kt,useState:kt,useDebugValue:kt,useDeferredValue:kt,useTransition:kt,useMutableSource:kt,useSyncExternalStore:kt,useId:kt,unstable_isNewReconciler:!1},Nx={readContext:sn,useCallback:function(r,s){return Vn().memoizedState=[r,s===void 0?null:s],r},useContext:sn,useEffect:Yh,useImperativeHandle:function(r,s,o){return o=o!=null?o.concat([r]):null,Fa(4194308,4,Jh.bind(null,s,r),o)},useLayoutEffect:function(r,s){return Fa(4194308,4,r,s)},useInsertionEffect:function(r,s){return Fa(4,2,r,s)},useMemo:function(r,s){var o=Vn();return s=s===void 0?null:s,r=r(),o.memoizedState=[r,s],r},useReducer:function(r,s,o){var l=Vn();return s=o!==void 0?o(s):s,l.memoizedState=l.baseState=s,r={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:r,lastRenderedState:s},l.queue=r,r=r.dispatch=Sx.bind(null,ot,r),[l.memoizedState,r]},useRef:function(r){var s=Vn();return r={current:r},s.memoizedState=r},useState:Hh,useDebugValue:gu,useDeferredValue:function(r){return Vn().memoizedState=r},useTransition:function(){var r=Hh(!1),s=r[0];return r=wx.bind(null,r[1]),Vn().memoizedState=r,[s,r]},useMutableSource:function(){},useSyncExternalStore:function(r,s,o){var l=ot,d=Vn();if(st){if(o===void 0)throw Error(t(407));o=o()}else{if(o=s(),xt===null)throw Error(t(349));(xs&30)!==0||$h(l,s,o)}d.memoizedState=o;var p={value:o,getSnapshot:s};return d.queue=p,Yh(zh.bind(null,l,p,r),[r]),l.flags|=2048,po(9,Ph.bind(null,l,p,o,s),void 0,null),o},useId:function(){var r=Vn(),s=xt.identifierPrefix;if(st){var o=cr,l=lr;o=(l&~(1<<32-wn(l)-1)).toString(32)+o,s=":"+s+"R"+o,o=fo++,0<\/script>",r=r.removeChild(r.firstChild)):typeof l.is=="string"?r=y.createElement(o,{is:l.is}):(r=y.createElement(o),o==="select"&&(y=r,l.multiple?y.multiple=!0:l.size&&(y.size=l.size))):r=y.createElementNS(r,o),r[Pn]=s,r[so]=l,Np(r,s,!1,!1),s.stateNode=r;e:{switch(y=cc(o,l),o){case"dialog":Xe("cancel",r),Xe("close",r),d=l;break;case"iframe":case"object":case"embed":Xe("load",r),d=l;break;case"video":case"audio":for(d=0;dii&&(s.flags|=128,l=!0,mo(p,!1),s.lanes=4194304)}else{if(!l)if(r=Ma(y),r!==null){if(s.flags|=128,l=!0,o=r.updateQueue,o!==null&&(s.updateQueue=o,s.flags|=4),mo(p,!0),p.tail===null&&p.tailMode==="hidden"&&!y.alternate&&!st)return It(s),null}else 2*ut()-p.renderingStartTime>ii&&o!==1073741824&&(s.flags|=128,l=!0,mo(p,!1),s.lanes=4194304);p.isBackwards?(y.sibling=s.child,s.child=y):(o=p.last,o!==null?o.sibling=y:s.child=y,p.last=y)}return p.tail!==null?(s=p.tail,p.rendering=s,p.tail=s.sibling,p.renderingStartTime=ut(),s.sibling=null,o=it.current,qe(it,l?o&1|2:o&1),s):(It(s),null);case 22:case 23:return Pu(),l=s.memoizedState!==null,r!==null&&r.memoizedState!==null!==l&&(s.flags|=8192),l&&(s.mode&1)!==0?(Jt&1073741824)!==0&&(It(s),s.subtreeFlags&6&&(s.flags|=8192)):It(s),null;case 24:return null;case 25:return null}throw Error(t(156,s.tag))}function Ox(r,s){switch(Jc(s),s.tag){case 1:return Et(s.type)&&ga(),r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 3:return ti(),et(Bt),et(jt),cu(),r=s.flags,(r&65536)!==0&&(r&128)===0?(s.flags=r&-65537|128,s):null;case 5:return au(s),null;case 13:if(et(it),r=s.memoizedState,r!==null&&r.dehydrated!==null){if(s.alternate===null)throw Error(t(340));qs()}return r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 19:return et(it),null;case 4:return ti(),null;case 10:return nu(s.type._context),null;case 22:case 23:return Pu(),null;case 24:return null;default:return null}}var Ra=!1,Mt=!1,Tx=typeof WeakSet=="function"?WeakSet:Set,le=null;function ri(r,s){var o=r.ref;if(o!==null)if(typeof o=="function")try{o(null)}catch(l){ct(r,s,l)}else o.current=null}function Du(r,s,o){try{o()}catch(l){ct(r,s,l)}}var Ip=!1;function Ax(r,s){if(Pc=ra,r=ih(),Tc(r)){if("selectionStart"in r)var o={start:r.selectionStart,end:r.selectionEnd};else e:{o=(o=r.ownerDocument)&&o.defaultView||window;var l=o.getSelection&&o.getSelection();if(l&&l.rangeCount!==0){o=l.anchorNode;var d=l.anchorOffset,p=l.focusNode;l=l.focusOffset;try{o.nodeType,p.nodeType}catch{o=null;break e}var y=0,S=-1,N=-1,$=0,J=0,q=r,K=null;t:for(;;){for(var oe;q!==o||d!==0&&q.nodeType!==3||(S=y+d),q!==p||l!==0&&q.nodeType!==3||(N=y+l),q.nodeType===3&&(y+=q.nodeValue.length),(oe=q.firstChild)!==null;)K=q,q=oe;for(;;){if(q===r)break t;if(K===o&&++$===d&&(S=y),K===p&&++J===l&&(N=y),(oe=q.nextSibling)!==null)break;q=K,K=q.parentNode}q=oe}o=S===-1||N===-1?null:{start:S,end:N}}else o=null}o=o||{start:0,end:0}}else o=null;for(zc={focusedElem:r,selectionRange:o},ra=!1,le=s;le!==null;)if(s=le,r=s.child,(s.subtreeFlags&1028)!==0&&r!==null)r.return=s,le=r;else for(;le!==null;){s=le;try{var de=s.alternate;if((s.flags&1024)!==0)switch(s.tag){case 0:case 11:case 15:break;case 1:if(de!==null){var fe=de.memoizedProps,dt=de.memoizedState,B=s.stateNode,D=B.getSnapshotBeforeUpdate(s.elementType===s.type?fe:Nn(s.type,fe),dt);B.__reactInternalSnapshotBeforeUpdate=D}break;case 3:var L=s.stateNode.containerInfo;L.nodeType===1?L.textContent="":L.nodeType===9&&L.documentElement&&L.removeChild(L.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(t(163))}}catch(X){ct(s,s.return,X)}if(r=s.sibling,r!==null){r.return=s.return,le=r;break}le=s.return}return de=Ip,Ip=!1,de}function yo(r,s,o){var l=s.updateQueue;if(l=l!==null?l.lastEffect:null,l!==null){var d=l=l.next;do{if((d.tag&r)===r){var p=d.destroy;d.destroy=void 0,p!==void 0&&Du(s,o,p)}d=d.next}while(d!==l)}}function La(r,s){if(s=s.updateQueue,s=s!==null?s.lastEffect:null,s!==null){var o=s=s.next;do{if((o.tag&r)===r){var l=o.create;o.destroy=l()}o=o.next}while(o!==s)}}function Cu(r){var s=r.ref;if(s!==null){var o=r.stateNode;switch(r.tag){case 5:r=o;break;default:r=o}typeof s=="function"?s(r):s.current=r}}function Mp(r){var s=r.alternate;s!==null&&(r.alternate=null,Mp(s)),r.child=null,r.deletions=null,r.sibling=null,r.tag===5&&(s=r.stateNode,s!==null&&(delete s[Pn],delete s[so],delete s[Gc],delete s[yx],delete s[gx])),r.stateNode=null,r.return=null,r.dependencies=null,r.memoizedProps=null,r.memoizedState=null,r.pendingProps=null,r.stateNode=null,r.updateQueue=null}function Dp(r){return r.tag===5||r.tag===3||r.tag===4}function Cp(r){e:for(;;){for(;r.sibling===null;){if(r.return===null||Dp(r.return))return null;r=r.return}for(r.sibling.return=r.return,r=r.sibling;r.tag!==5&&r.tag!==6&&r.tag!==18;){if(r.flags&2||r.child===null||r.tag===4)continue e;r.child.return=r,r=r.child}if(!(r.flags&2))return r.stateNode}}function Fu(r,s,o){var l=r.tag;if(l===5||l===6)r=r.stateNode,s?o.nodeType===8?o.parentNode.insertBefore(r,s):o.insertBefore(r,s):(o.nodeType===8?(s=o.parentNode,s.insertBefore(r,o)):(s=o,s.appendChild(r)),o=o._reactRootContainer,o!=null||s.onclick!==null||(s.onclick=ma));else if(l!==4&&(r=r.child,r!==null))for(Fu(r,s,o),r=r.sibling;r!==null;)Fu(r,s,o),r=r.sibling}function Ou(r,s,o){var l=r.tag;if(l===5||l===6)r=r.stateNode,s?o.insertBefore(r,s):o.appendChild(r);else if(l!==4&&(r=r.child,r!==null))for(Ou(r,s,o),r=r.sibling;r!==null;)Ou(r,s,o),r=r.sibling}var St=null,jn=!1;function Wr(r,s,o){for(o=o.child;o!==null;)Fp(r,s,o),o=o.sibling}function Fp(r,s,o){if($n&&typeof $n.onCommitFiberUnmount=="function")try{$n.onCommitFiberUnmount(qo,o)}catch{}switch(o.tag){case 5:Mt||ri(o,s);case 6:var l=St,d=jn;St=null,Wr(r,s,o),St=l,jn=d,St!==null&&(jn?(r=St,o=o.stateNode,r.nodeType===8?r.parentNode.removeChild(o):r.removeChild(o)):St.removeChild(o.stateNode));break;case 18:St!==null&&(jn?(r=St,o=o.stateNode,r.nodeType===8?Hc(r.parentNode,o):r.nodeType===1&&Hc(r,o),Yi(r)):Hc(St,o.stateNode));break;case 4:l=St,d=jn,St=o.stateNode.containerInfo,jn=!0,Wr(r,s,o),St=l,jn=d;break;case 0:case 11:case 14:case 15:if(!Mt&&(l=o.updateQueue,l!==null&&(l=l.lastEffect,l!==null))){d=l=l.next;do{var p=d,y=p.destroy;p=p.tag,y!==void 0&&((p&2)!==0||(p&4)!==0)&&Du(o,s,y),d=d.next}while(d!==l)}Wr(r,s,o);break;case 1:if(!Mt&&(ri(o,s),l=o.stateNode,typeof l.componentWillUnmount=="function"))try{l.props=o.memoizedProps,l.state=o.memoizedState,l.componentWillUnmount()}catch(S){ct(o,s,S)}Wr(r,s,o);break;case 21:Wr(r,s,o);break;case 22:o.mode&1?(Mt=(l=Mt)||o.memoizedState!==null,Wr(r,s,o),Mt=l):Wr(r,s,o);break;default:Wr(r,s,o)}}function Op(r){var s=r.updateQueue;if(s!==null){r.updateQueue=null;var o=r.stateNode;o===null&&(o=r.stateNode=new Tx),s.forEach(function(l){var d=Vx.bind(null,r,l);o.has(l)||(o.add(l),l.then(d,d))})}}function kn(r,s){var o=s.deletions;if(o!==null)for(var l=0;ld&&(d=y),l&=~p}if(l=d,l=ut()-l,l=(120>l?120:480>l?480:1080>l?1080:1920>l?1920:3e3>l?3e3:4320>l?4320:1960*Ex(l/1960))-l,10r?16:r,Gr===null)var l=!1;else{if(r=Gr,Gr=null,Va=0,(Ue&6)!==0)throw Error(t(331));var d=Ue;for(Ue|=4,le=r.current;le!==null;){var p=le,y=p.child;if((le.flags&16)!==0){var S=p.deletions;if(S!==null){for(var N=0;Nut()-Bu?Ss(r,0):Au|=o),Ut(r,s)}function Hp(r,s){s===0&&((r.mode&1)===0?s=1:(s=Xo,Xo<<=1,(Xo&130023424)===0&&(Xo=4194304)));var o=Ft();r=ur(r,s),r!==null&&(zi(r,s,o),Ut(r,o))}function zx(r){var s=r.memoizedState,o=0;s!==null&&(o=s.retryLane),Hp(r,o)}function Vx(r,s){var o=0;switch(r.tag){case 13:var l=r.stateNode,d=r.memoizedState;d!==null&&(o=d.retryLane);break;case 19:l=r.stateNode;break;default:throw Error(t(314))}l!==null&&l.delete(s),Hp(r,o)}var Gp;Gp=function(r,s,o){if(r!==null)if(r.memoizedProps!==s.pendingProps||Bt.current)Rt=!0;else{if((r.lanes&o)===0&&(s.flags&128)===0)return Rt=!1,Cx(r,s,o);Rt=(r.flags&131072)!==0}else Rt=!1,st&&(s.flags&1048576)!==0&&jh(s,wa,s.index);switch(s.lanes=0,s.tag){case 2:var l=s.type;Ea(r,s),r=s.pendingProps;var d=Qs(s,jt.current);ei(s,o),d=fu(null,s,l,r,d,o);var p=hu();return s.flags|=1,typeof d=="object"&&d!==null&&typeof d.render=="function"&&d.$$typeof===void 0?(s.tag=1,s.memoizedState=null,s.updateQueue=null,Et(l)?(p=!0,va(s)):p=!1,s.memoizedState=d.state!==null&&d.state!==void 0?d.state:null,iu(s),d.updater=Aa,s.stateNode=d,d._reactInternals=s,xu(s,l,r,o),s=_u(null,s,l,!0,p,o)):(s.tag=0,st&&p&&Kc(s),Ct(null,s,d,o),s=s.child),s;case 16:l=s.elementType;e:{switch(Ea(r,s),r=s.pendingProps,d=l._init,l=d(l._payload),s.type=l,d=s.tag=Hx(l),r=Nn(l,r),d){case 0:s=Su(null,s,l,r,o);break e;case 1:s=vp(null,s,l,r,o);break e;case 11:s=hp(null,s,l,r,o);break e;case 14:s=pp(null,s,l,Nn(l.type,r),o);break e}throw Error(t(306,l,""))}return s;case 0:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),Su(r,s,l,d,o);case 1:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),vp(r,s,l,d,o);case 3:e:{if(xp(s),r===null)throw Error(t(387));l=s.pendingProps,p=s.memoizedState,d=p.element,Ah(r,s),Ia(s,l,null,o);var y=s.memoizedState;if(l=y.element,p.isDehydrated)if(p={element:l,isDehydrated:!1,cache:y.cache,pendingSuspenseBoundaries:y.pendingSuspenseBoundaries,transitions:y.transitions},s.updateQueue.baseState=p,s.memoizedState=p,s.flags&256){d=ni(Error(t(423)),s),s=bp(r,s,l,o,d);break e}else if(l!==d){d=ni(Error(t(424)),s),s=bp(r,s,l,o,d);break e}else for(Kt=Lr(s.stateNode.containerInfo.firstChild),Qt=s,st=!0,_n=null,o=Oh(s,null,l,o),s.child=o;o;)o.flags=o.flags&-3|4096,o=o.sibling;else{if(qs(),l===d){s=fr(r,s,o);break e}Ct(r,s,l,o)}s=s.child}return s;case 5:return Rh(s),r===null&&Zc(s),l=s.type,d=s.pendingProps,p=r!==null?r.memoizedProps:null,y=d.children,Vc(l,d)?y=null:p!==null&&Vc(l,p)&&(s.flags|=32),gp(r,s),Ct(r,s,y,o),s.child;case 6:return r===null&&Zc(s),null;case 13:return wp(r,s,o);case 4:return ou(s,s.stateNode.containerInfo),l=s.pendingProps,r===null?s.child=Zs(s,null,l,o):Ct(r,s,l,o),s.child;case 11:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),hp(r,s,l,d,o);case 7:return Ct(r,s,s.pendingProps,o),s.child;case 8:return Ct(r,s,s.pendingProps.children,o),s.child;case 12:return Ct(r,s,s.pendingProps.children,o),s.child;case 10:e:{if(l=s.type._context,d=s.pendingProps,p=s.memoizedProps,y=d.value,qe(Na,l._currentValue),l._currentValue=y,p!==null)if(Sn(p.value,y)){if(p.children===d.children&&!Bt.current){s=fr(r,s,o);break e}}else for(p=s.child,p!==null&&(p.return=s);p!==null;){var S=p.dependencies;if(S!==null){y=p.child;for(var N=S.firstContext;N!==null;){if(N.context===l){if(p.tag===1){N=dr(-1,o&-o),N.tag=2;var $=p.updateQueue;if($!==null){$=$.shared;var J=$.pending;J===null?N.next=N:(N.next=J.next,J.next=N),$.pending=N}}p.lanes|=o,N=p.alternate,N!==null&&(N.lanes|=o),ru(p.return,o,s),S.lanes|=o;break}N=N.next}}else if(p.tag===10)y=p.type===s.type?null:p.child;else if(p.tag===18){if(y=p.return,y===null)throw Error(t(341));y.lanes|=o,S=y.alternate,S!==null&&(S.lanes|=o),ru(y,o,s),y=p.sibling}else y=p.child;if(y!==null)y.return=p;else for(y=p;y!==null;){if(y===s){y=null;break}if(p=y.sibling,p!==null){p.return=y.return,y=p;break}y=y.return}p=y}Ct(r,s,d.children,o),s=s.child}return s;case 9:return d=s.type,l=s.pendingProps.children,ei(s,o),d=sn(d),l=l(d),s.flags|=1,Ct(r,s,l,o),s.child;case 14:return l=s.type,d=Nn(l,s.pendingProps),d=Nn(l.type,d),pp(r,s,l,d,o);case 15:return mp(r,s,s.type,s.pendingProps,o);case 17:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),Ea(r,s),s.tag=1,Et(l)?(r=!0,va(s)):r=!1,ei(s,o),op(s,l,d),xu(s,l,d,o),_u(null,s,l,!0,r,o);case 19:return _p(r,s,o);case 22:return yp(r,s,o)}throw Error(t(156,s.tag))};function Yp(r,s){return kf(r,s)}function Wx(r,s,o,l){this.tag=r,this.key=o,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ln(r,s,o,l){return new Wx(r,s,o,l)}function Vu(r){return r=r.prototype,!(!r||!r.isReactComponent)}function Hx(r){if(typeof r=="function")return Vu(r)?1:0;if(r!=null){if(r=r.$$typeof,r===ee)return 11;if(r===ie)return 14}return 2}function Kr(r,s){var o=r.alternate;return o===null?(o=ln(r.tag,s,r.key,r.mode),o.elementType=r.elementType,o.type=r.type,o.stateNode=r.stateNode,o.alternate=r,r.alternate=o):(o.pendingProps=s,o.type=r.type,o.flags=0,o.subtreeFlags=0,o.deletions=null),o.flags=r.flags&14680064,o.childLanes=r.childLanes,o.lanes=r.lanes,o.child=r.child,o.memoizedProps=r.memoizedProps,o.memoizedState=r.memoizedState,o.updateQueue=r.updateQueue,s=r.dependencies,o.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},o.sibling=r.sibling,o.index=r.index,o.ref=r.ref,o}function Ya(r,s,o,l,d,p){var y=2;if(l=r,typeof r=="function")Vu(r)&&(y=1);else if(typeof r=="string")y=5;else e:switch(r){case U:return Ns(o.children,d,p,s);case G:y=8,d|=8;break;case z:return r=ln(12,o,s,d|2),r.elementType=z,r.lanes=p,r;case te:return r=ln(13,o,s,d),r.elementType=te,r.lanes=p,r;case ne:return r=ln(19,o,s,d),r.elementType=ne,r.lanes=p,r;case se:return Qa(o,d,p,s);default:if(typeof r=="object"&&r!==null)switch(r.$$typeof){case Y:y=10;break e;case P:y=9;break e;case ee:y=11;break e;case ie:y=14;break e;case re:y=16,l=null;break e}throw Error(t(130,r==null?r:typeof r,""))}return s=ln(y,o,s,d),s.elementType=r,s.type=l,s.lanes=p,s}function Ns(r,s,o,l){return r=ln(7,r,l,s),r.lanes=o,r}function Qa(r,s,o,l){return r=ln(22,r,l,s),r.elementType=se,r.lanes=o,r.stateNode={isHidden:!1},r}function Wu(r,s,o){return r=ln(6,r,null,s),r.lanes=o,r}function Hu(r,s,o){return s=ln(4,r.children!==null?r.children:[],r.key,s),s.lanes=o,s.stateNode={containerInfo:r.containerInfo,pendingChildren:null,implementation:r.implementation},s}function Gx(r,s,o,l,d){this.tag=s,this.containerInfo=r,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=vc(0),this.expirationTimes=vc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=vc(0),this.identifierPrefix=l,this.onRecoverableError=d,this.mutableSourceEagerHydrationData=null}function Gu(r,s,o,l,d,p,y,S,N){return r=new Gx(r,s,o,S,N),s===1?(s=1,p===!0&&(s|=8)):s=0,p=ln(3,null,null,s),r.current=p,p.stateNode=r,p.memoizedState={element:l,isDehydrated:o,cache:null,transitions:null,pendingSuspenseBoundaries:null},iu(p),r}function Yx(r,s,o){var l=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}return n(),Zu.exports=ob(),Zu.exports}var am;function lb(){if(am)return tl;am=1;var n=ab();return tl.createRoot=n.createRoot,tl.hydrateRoot=n.hydrateRoot,tl}var cb=lb();function Sr(n){return n.split(".").at(-1)||n}function Fn(n,e){const t=Sr(n);if(e.filter(a=>Sr(a)===t).length<2)return t;const i=n.indexOf(".");return i>0?`${n.slice(0,i)}_${t}`:t}const er="\0__null__";function ub(n){return String(n||"").replaceAll("_"," ").replaceAll("."," ").replace(/\b\w/g,e=>e.toUpperCase()).trim()}function py(n,e={}){if(n==null||n==="")return"—";const t=typeof n=="number"?n:Number(n);if(!Number.isFinite(t))return String(n);const i=String(e.format||"").toLowerCase();if(e.style==="percent"||i.includes("%")||i.includes("percent")||i.includes("pct")||e.type==="ratio")return(e.style==="percent"?t:Math.abs(t)<=1?t*100:t).toLocaleString(void 0,{maximumFractionDigits:e.maximumFractionDigits??1,style:e.style==="percent"?"percent":"decimal"})+(e.style==="percent"?"":"%");const c=e.style==="currency"||e.currency||i.includes("$")||i.includes("usd")||i.includes("currency")||i.includes("dollar");return t.toLocaleString(void 0,{currency:c?e.currency||"USD":void 0,maximumFractionDigits:e.maximumFractionDigits??2,notation:e.compact?"compact":"standard",style:c?"currency":"decimal"})}function db(n,e={}){return py(n,{...e,compact:!0,maximumFractionDigits:e.maximumFractionDigits??1})}function fb(n,e,t){const i=t>0&&n.length>t,a=i?Math.ceil(n.length/t):1,c=Math.max(0,Math.min(e,a-1)),f=i?c*t:0;return{paginate:i,pageCount:a,safePage:c,start:f,visibleRows:i?n.slice(f,f+t):n}}function rs(n){return n===er||n===""?"—":n}function Ee(n){return ub(n)}function pt(n,e={}){return py(n,e)}function Wt(n,e={}){return db(n,e)}function my(n){return!Number.isFinite(n)||n===0?"neutral":n>0?"positive":"negative"}function hb(n,e){return!Number.isFinite(n)||!Number.isFinite(e)||e<=0?{label:"—",tone:"neutral"}:{label:`${(n/e*100).toLocaleString(void 0,{maximumFractionDigits:1})}%`,tone:"neutral"}}function pb(n,e,t={}){if(e==null||!Number.isFinite(e)||!Number.isFinite(n))return{label:"—",tone:"neutral"};const i=n-e;return{label:`${i>0?"+":i<0?"−":""}${Wt(Math.abs(i),t)}`,tone:my(i)}}function mb(n,e){if(e==null||!Number.isFinite(e)||e===0||!Number.isFinite(n))return{label:"—",tone:"neutral"};const t=(n-e)/Math.abs(e);return{label:`${(t*100).toLocaleString(void 0,{maximumFractionDigits:1,signDisplay:"exceptZero"})}%`,tone:my(t)}}function yy(n,e){if(e==null||!Number.isFinite(e)||e===0||!Number.isFinite(n))return null;const t=(n-e)/Math.abs(e),i=(t*100).toLocaleString(void 0,{maximumFractionDigits:1,signDisplay:"exceptZero"}),a=t>0?"positive":t<0?"negative":"neutral";return{label:`${i}%`,tone:a}}function Tn(n){return`'${n.replaceAll("'","''")}'`}function yb(n){if(n.mode==="contains")return`contains ${Tn(n.pattern??"")}`;const{values:e}=n,t=n.mode==="exclude"?"is not":"is";return e.length===0?t:e.length===1?`${t} ${rs(e[0])}`:e.length<=2?`${t} ${e.map(rs).join(", ")}`:`${t} ${e.length} values`}const td=n=>n.public!==!1,gy=/(^|_)(date|time|day|month|week|year|quarter|created|updated|timestamp|_at|_on)($|_)/i;function vy(n,e){if(e){const t=n.find(i=>i.name===e);if(t)return t}return n.find(t=>t.type==="time")??n.find(t=>gy.test(t.name))}function gb(n,e){var f;const t=new Set;if(!n)return t;const i=new Set(e.map(h=>h.name)),a=n.match(/[A-Za-z_][A-Za-z0-9_]*\.[A-Za-z_][A-Za-z0-9_]*/g)??[];for(const h of a){const[m]=h.split(".");i.has(m)&&t.add(m)}if(t.size)return t;const c=(f=n.match(/^[A-Za-z_][A-Za-z0-9_]*$/))==null?void 0:f[0];if(!c)return t;for(const h of e)h.metrics.some(m=>m.name===c)&&t.add(h.name);return t}function xy(n,e){const t=new Set;for(const i of[n.base_metric,n.numerator,n.denominator,n.sql])for(const a of gb(i,e))t.add(a);return t.size===1?[...t][0]:void 0}function vb(n){const e=(n.models??[]).map(i=>{const a=(i.dimensions??[]).filter(td).map(h=>({ref:`${i.name}.${h.name}`,name:h.name,model:i.name,label:h.label||Ee(h.name),description:h.description,type:h.type||"categorical",granularity:h.granularity,supportedGranularities:h.supported_granularities,format:h.format})),c=(i.metrics??[]).filter(td).map(h=>({ref:`${i.name}.${h.name}`,name:h.name,model:i.name,label:h.label||Ee(h.name),description:h.description,agg:h.agg,type:h.type,format:h.format})),f=vy(a,i.default_time_dimension);return{name:i.name,label:Ee(i.name),description:i.description,table:i.table,dimensions:a,metrics:c,timeDimension:f,defaultGrain:i.default_grain||(f==null?void 0:f.granularity)||"day"}}),t=(n.metrics??[]).filter(td).map(i=>({ref:i.name,name:i.name,ownerModel:xy(i,e),baseMetric:i.base_metric,label:i.label||Ee(i.name),description:i.description,type:i.type,format:i.format}));return{models:e,graphMetrics:t,dialect:n.dialect}}function xb(n){const e=n??{},t=(e.models??[]).map(a=>{const c=(a.dimensions??[]).map(m=>({ref:`${a.name}.${m}`,name:m,model:a.name,label:Ee(m),type:gy.test(m)?"time":"categorical"})),f=(a.metrics??[]).map(m=>({ref:`${a.name}.${m}`,name:m,model:a.name,label:Ee(m)})),h=vy(c);return{name:a.name,label:Ee(a.name),table:a.table,dimensions:c,metrics:f,timeDimension:h,defaultGrain:(h==null?void 0:h.granularity)||"day"}}),i=(e.graph_metrics??[]).map(a=>({ref:a.name,name:a.name,ownerModel:xy(a,t),baseMetric:a.base_metric,label:Ee(a.name),type:a.type,description:a.description}));return{models:t,graphMetrics:i,joinablePairs:e.joinable_pairs??[]}}function bb(n,e){return{...n,joinablePairs:(e??{}).joinable_pairs??n.joinablePairs??[]}}function ji(n,e){const t=new Set;for(const i of n.joinablePairs??[])i.from===e&&t.add(i.to),i.to===e&&t.add(i.from);return n.graphMetrics.filter(i=>i.ownerModel?i.ownerModel===e||t.has(i.ownerModel):!0)}function Ce(n,e,t,i){function a(c){return c instanceof t?c:new t(function(f){f(c)})}return new(t||(t=Promise))(function(c,f){function h(v){try{g(i.next(v))}catch(x){f(x)}}function m(v){try{g(i.throw(v))}catch(x){f(x)}}function g(v){v.done?c(v.value):a(v.value).then(h,m)}g((i=i.apply(n,e||[])).next())})}function lm(n){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&n[e],i=0;if(t)return t.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Oe(n){return this instanceof Oe?(this.v=n,this):new Oe(n)}function qn(n,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(n,e||[]),a,c=[];return a=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),h("next"),h("throw"),h("return",f),a[Symbol.asyncIterator]=function(){return this},a;function f(w){return function(j){return Promise.resolve(j).then(w,x)}}function h(w,j){i[w]&&(a[w]=function(O){return new Promise(function(T,W){c.push([w,O,T,W])>1||m(w,O)})},j&&(a[w]=j(a[w])))}function m(w,j){try{g(i[w](j))}catch(O){b(c[0][3],O)}}function g(w){w.value instanceof Oe?Promise.resolve(w.value.v).then(v,x):b(c[0][2],w)}function v(w){m("next",w)}function x(w){m("throw",w)}function b(w,j){w(j),c.shift(),c.length&&m(c[0][0],c[0][1])}}function fl(n){var e,t;return e={},i("next"),i("throw",function(a){throw a}),i("return"),e[Symbol.iterator]=function(){return this},e;function i(a,c){e[a]=n[a]?function(f){return(t=!t)?{value:Oe(n[a](f)),done:!1}:c?c(f):f}:c}}function xi(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=n[Symbol.asyncIterator],t;return e?e.call(n):(n=typeof lm=="function"?lm(n):n[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(c){t[c]=n[c]&&function(f){return new Promise(function(h,m){f=n[c](f),a(h,m,f.done,f.value)})}}function a(c,f,h,m){Promise.resolve(m).then(function(g){c({value:g,done:h})},f)}}const wb=new TextDecoder("utf-8"),xd=n=>wb.decode(n),Sb=new TextEncoder,Bd=n=>Sb.encode(n),_b=n=>typeof n=="number",Nb=n=>typeof n=="boolean",Ot=n=>typeof n=="function",En=n=>n!=null&&Object(n)===n,Ao=n=>En(n)&&Ot(n.then),nc=n=>En(n)&&Ot(n[Symbol.iterator]),Ed=n=>En(n)&&Ot(n[Symbol.asyncIterator]),bd=n=>En(n)&&En(n.schema),by=n=>En(n)&&"done"in n&&"value"in n,wy=n=>En(n)&&Ot(n.stat)&&_b(n.fd),Sy=n=>En(n)&&Rd(n.body),_y=n=>"_getDOMStream"in n&&"_getNodeStream"in n,Rd=n=>En(n)&&Ot(n.cancel)&&Ot(n.getReader)&&!_y(n),Ny=n=>En(n)&&Ot(n.read)&&Ot(n.pipe)&&Nb(n.readable)&&!_y(n),jb=n=>En(n)&&Ot(n.clear)&&Ot(n.bytes)&&Ot(n.position)&&Ot(n.setPosition)&&Ot(n.capacity)&&Ot(n.getBufferIdentifier)&&Ot(n.createLong),Ld=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;function kb(n){const e=n[0]?[n[0]]:[];let t,i,a,c;for(let f,h,m=0,g=0,v=n.length;++mv+x.byteLength,0);let a,c,f,h=0,m=-1;const g=Math.min(e||Number.POSITIVE_INFINITY,i);for(const v=t.length;++mKe(Int32Array,n),um=n=>Ke(BigInt64Array,n),Le=n=>Ke(Uint8Array,n),wd=n=>(n.next(),n);function*Ib(n,e){const t=function*(a){yield a},i=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof Ld?t(e):nc(e)?e:t(e);return yield*wd((function*(a){let c=null;do c=a.next(yield Ke(n,c));while(!c.done)})(i[Symbol.iterator]())),new n}const Mb=n=>Ib(Uint8Array,n);function jy(n,e){return qn(this,arguments,function*(){if(Ao(e))return yield Oe(yield Oe(yield*fl(xi(jy(n,yield Oe(e))))));const i=function(f){return qn(this,arguments,function*(){yield yield Oe(yield Oe(f))})},a=function(f){return qn(this,arguments,function*(){yield Oe(yield*fl(xi(wd((function*(h){let m=null;do m=h.next(yield m==null?void 0:m.value);while(!m.done)})(f[Symbol.iterator]())))))})},c=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof Ld?i(e):nc(e)?a(e):Ed(e)?e:i(e);return yield Oe(yield*fl(xi(wd((function(f){return qn(this,arguments,function*(){let h=null;do h=yield Oe(f.next(yield yield Oe(Ke(n,h))));while(!h.done)})})(c[Symbol.asyncIterator]()))))),yield Oe(new n)})}const Db=n=>jy(Uint8Array,n);function Cb(n,e){let t=0;const i=n.length;if(i!==e.length)return!1;if(i>0)do if(n[t]!==e[t])return!1;while(++t(n.next(),n);function*Fb(n){let e,t=!1,i=[],a,c,f,h=0;function m(){return c==="peek"?tr(i,f)[0]:([a,i,h]=tr(i,f),a)}({cmd:c,size:f}=(yield null)||{cmd:"read",size:0});const g=Mb(n)[Symbol.iterator]();try{do if({done:e,value:a}=Number.isNaN(f-h)?g.next():g.next(f-h),!e&&a.byteLength>0&&(i.push(a),h+=a.byteLength),e||f<=h)do({cmd:c,size:f}=yield m());while(f0&&(a.push(c),m+=c.byteLength),t||h<=m)do({cmd:f,size:h}=yield yield Oe(g()));while(h0&&(a.push(Le(c)),m+=c.byteLength),t||h<=m)do({cmd:f,size:h}=yield yield Oe(g()));while(h{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(e){return Ce(this,void 0,void 0,function*(){const{reader:t,source:i}=this;t&&(yield t.cancel(e).catch(()=>{})),i&&i.locked&&this.releaseLock()})}read(e){return Ce(this,void 0,void 0,function*(){if(e===0)return{done:this.reader==null,value:new Uint8Array(0)};const t=yield this.reader.read();return!t.done&&(t.value=Le(t)),t})}}const nd=(n,e)=>{const t=a=>i([e,a]);let i;return[e,t,new Promise(a=>(i=a)&&n.once(e,t))]};function Bb(n){return qn(this,arguments,function*(){const t=[];let i="error",a=!1,c=null,f,h,m=0,g=[],v;function x(){return f==="peek"?tr(g,h)[0]:([v,g,m]=tr(g,h),v)}if({cmd:f,size:h}=(yield yield Oe(null))||{cmd:"read",size:0},n.isTTY)return yield yield Oe(new Uint8Array(0)),yield Oe(null);try{t[0]=nd(n,"end"),t[1]=nd(n,"error");do{if(t[2]=nd(n,"readable"),[i,c]=yield Oe(Promise.race(t.map(w=>w[2]))),i==="error")break;if((a=i==="end")||(Number.isFinite(h-m)?(v=Le(n.read(h-m)),v.byteLength0&&(g.push(v),m+=v.byteLength)),a||h<=m)do({cmd:f,size:h}=yield yield Oe(x()));while(h{for(const[W,R]of w)n.off(W,R);try{const W=n.destroy;W&&W.call(n,j),j=void 0}catch(W){j=W||j}finally{j!=null?T(j):O()}})}})}var ht;(function(n){n[n.V1=0]="V1",n[n.V2=1]="V2",n[n.V3=2]="V3",n[n.V4=3]="V4",n[n.V5=4]="V5"})(ht||(ht={}));var Ht;(function(n){n[n.Sparse=0]="Sparse",n[n.Dense=1]="Dense"})(Ht||(Ht={}));var Dt;(function(n){n[n.HALF=0]="HALF",n[n.SINGLE=1]="SINGLE",n[n.DOUBLE=2]="DOUBLE"})(Dt||(Dt={}));var gn;(function(n){n[n.DAY=0]="DAY",n[n.MILLISECOND=1]="MILLISECOND"})(gn||(gn={}));var _e;(function(n){n[n.SECOND=0]="SECOND",n[n.MILLISECOND=1]="MILLISECOND",n[n.MICROSECOND=2]="MICROSECOND",n[n.NANOSECOND=3]="NANOSECOND"})(_e||(_e={}));var nr;(function(n){n[n.YEAR_MONTH=0]="YEAR_MONTH",n[n.DAY_TIME=1]="DAY_TIME",n[n.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(nr||(nr={}));const rd=2,Qn=4,br=4,He=4,es=new Int32Array(2),dm=new Float32Array(es.buffer),fm=new Float64Array(es.buffer),rl=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var Sd;(function(n){n[n.UTF8_BYTES=1]="UTF8_BYTES",n[n.UTF16_STRING=2]="UTF16_STRING"})(Sd||(Sd={}));let ki=class ky{constructor(e){this.bytes_=e,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(e){return new ky(new Uint8Array(e))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(e){this.position_=e}capacity(){return this.bytes_.length}readInt8(e){return this.readUint8(e)<<24>>24}readUint8(e){return this.bytes_[e]}readInt16(e){return this.readUint16(e)<<16>>16}readUint16(e){return this.bytes_[e]|this.bytes_[e+1]<<8}readInt32(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24}readUint32(e){return this.readInt32(e)>>>0}readInt64(e){return BigInt.asIntN(64,BigInt(this.readUint32(e))+(BigInt(this.readUint32(e+4))<>8}writeUint16(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8}writeInt32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeUint32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeInt64(e,t){this.writeInt32(e,Number(BigInt.asIntN(32,t))),this.writeInt32(e+4,Number(BigInt.asIntN(32,t>>BigInt(32))))}writeUint64(e,t){this.writeUint32(e,Number(BigInt.asUintN(32,t))),this.writeUint32(e+4,Number(BigInt.asUintN(32,t>>BigInt(32))))}writeFloat32(e,t){dm[0]=t,this.writeInt32(e,es[0])}writeFloat64(e,t){fm[0]=t,this.writeInt32(e,es[rl?0:1]),this.writeInt32(e+4,es[rl?1:0])}getBufferIdentifier(){if(this.bytes_.lengththis.minalign&&(this.minalign=e);const i=~(this.bb.capacity()-this.space+t)+1&e-1;for(;this.space=0&&this.vtable[t]==0;t--);const i=t+1;for(;t>=0;t--)this.addInt16(this.vtable[t]!=0?e-this.vtable[t]:0);const a=2;this.addInt16(e-this.object_start);const c=(i+a)*rd;this.addInt16(c);let f=0;const h=this.space;e:for(t=0;t=0;f--)this.writeInt8(c.charCodeAt(f))}this.prep(this.minalign,Qn+a),this.addOffset(e),a&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,t){this.finish(e,t,!0)}requiredField(e,t){const i=this.bb.capacity()-e,a=i-this.bb.readInt32(i);if(!(t=0;i--)e.addInt32(t[i]);return e.endVector()}static startTypeIdsVector(e,t){e.startVector(4,t,4)}static endUnion(e){return e.endObject()}static createUnion(e,t,i){return Vt.startUnion(e),Vt.addMode(e,t),Vt.addTypeIds(e,i),Vt.endUnion(e)}}let xm=class Fo{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsUtf8(e,t){return(t||new Fo).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsUtf8(e,t){return e.setPosition(e.position()+He),(t||new Fo).__init(e.readInt32(e.position())+e.position(),e)}static startUtf8(e){e.startObject(0)}static endUtf8(e){return e.endObject()}static createUtf8(e){return Fo.startUtf8(e),Fo.endUtf8(e)}};var Ze;(function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.FloatingPoint=3]="FloatingPoint",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct_=13]="Struct_",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Duration=18]="Duration",n[n.LargeBinary=19]="LargeBinary",n[n.LargeUtf8=20]="LargeUtf8",n[n.LargeList=21]="LargeList",n[n.RunEndEncoded=22]="RunEndEncoded"})(Ze||(Ze={}));let dn=class vl{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsField(e,t){return(t||new vl).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsField(e,t){return e.setPosition(e.position()+He),(t||new vl).__init(e.readInt32(e.position())+e.position(),e)}name(e){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__string(this.bb_pos+t,e):null}nullable(){const e=this.bb.__offset(this.bb_pos,6);return e?!!this.bb.readInt8(this.bb_pos+e):!1}typeType(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb_pos+e):Ze.NONE}type(e){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__union(e,this.bb_pos+t):null}dictionary(e){const t=this.bb.__offset(this.bb_pos,12);return t?(e||new wr).__init(this.bb.__indirect(this.bb_pos+t),this.bb):null}children(e,t){const i=this.bb.__offset(this.bb_pos,14);return i?(t||new vl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}childrenLength(){const e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,16);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}static startField(e){e.startObject(7)}static addName(e,t){e.addFieldOffset(0,t,0)}static addNullable(e,t){e.addFieldInt8(1,+t,0)}static addTypeType(e,t){e.addFieldInt8(2,t,Ze.NONE)}static addType(e,t){e.addFieldOffset(3,t,0)}static addDictionary(e,t){e.addFieldOffset(4,t,0)}static addChildren(e,t){e.addFieldOffset(5,t,0)}static createChildrenVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startChildrenVector(e,t){e.startVector(4,t,4)}static addCustomMetadata(e,t){e.addFieldOffset(6,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endField(e){return e.endObject()}},Gn=class mr{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsSchema(e,t){return(t||new mr).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsSchema(e,t){return e.setPosition(e.position()+He),(t||new mr).__init(e.readInt32(e.position())+e.position(),e)}endianness(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Ii.Little}fields(e,t){const i=this.bb.__offset(this.bb_pos,6);return i?(t||new dn).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}fieldsLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,8);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}features(e){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt64(this.bb.__vector(this.bb_pos+t)+e*8):BigInt(0)}featuresLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}static startSchema(e){e.startObject(4)}static addEndianness(e,t){e.addFieldInt16(0,t,Ii.Little)}static addFields(e,t){e.addFieldOffset(1,t,0)}static createFieldsVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startFieldsVector(e,t){e.startVector(4,t,4)}static addCustomMetadata(e,t){e.addFieldOffset(2,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static addFeatures(e,t){e.addFieldOffset(3,t,0)}static createFeaturesVector(e,t){e.startVector(8,t.length,8);for(let i=t.length-1;i>=0;i--)e.addInt64(t[i]);return e.endVector()}static startFeaturesVector(e,t){e.startVector(8,t,8)}static endSchema(e){return e.endObject()}static finishSchemaBuffer(e,t){e.finish(t)}static finishSizePrefixedSchemaBuffer(e,t){e.finish(t,void 0,!0)}static createSchema(e,t,i,a,c){return mr.startSchema(e),mr.addEndianness(e,t),mr.addFields(e,i),mr.addCustomMetadata(e,a),mr.addFeatures(e,c),mr.endSchema(e)}};var Ve;(function(n){n[n.NONE=0]="NONE",n[n.Schema=1]="Schema",n[n.DictionaryBatch=2]="DictionaryBatch",n[n.RecordBatch=3]="RecordBatch",n[n.Tensor=4]="Tensor",n[n.SparseTensor=5]="SparseTensor"})(Ve||(Ve={}));var C;(function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Duration=18]="Duration",n[n.LargeBinary=19]="LargeBinary",n[n.LargeUtf8=20]="LargeUtf8",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth",n[n.DurationSecond=-27]="DurationSecond",n[n.DurationMillisecond=-28]="DurationMillisecond",n[n.DurationMicrosecond=-29]="DurationMicrosecond",n[n.DurationNanosecond=-30]="DurationNanosecond"})(C||(C={}));var gr;(function(n){n[n.OFFSET=0]="OFFSET",n[n.DATA=1]="DATA",n[n.VALIDITY=2]="VALIDITY",n[n.TYPE=3]="TYPE"})(gr||(gr={}));const Eb=void 0;function Bo(n){if(n===null)return"null";if(n===Eb)return"undefined";switch(typeof n){case"number":return`${n}`;case"bigint":return`${n}`;case"string":return`"${n}"`}return typeof n[Symbol.toPrimitive]=="function"?n[Symbol.toPrimitive]("string"):ArrayBuffer.isView(n)?n instanceof BigInt64Array||n instanceof BigUint64Array?`[${[...n].map(e=>Bo(e))}]`:`[${n}]`:ArrayBuffer.isView(n)?`[${n}]`:JSON.stringify(n,(e,t)=>typeof t=="bigint"?`${t}`:t)}function tt(n){if(typeof n=="bigint"&&(nNumber.MAX_SAFE_INTEGER))throw new TypeError(`${n} is not safe to convert to a number.`);return Number(n)}function Fy(n,e){return tt(n/e)+tt(n%e)/tt(e)}const Rb=Symbol.for("isArrowBigNum");function Ln(n,...e){return e.length===0?Object.setPrototypeOf(Ke(this.TypedArray,n),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(n,...e),this.constructor.prototype)}Ln.prototype[Rb]=!0;Ln.prototype.toJSON=function(){return`"${Ro(this)}"`};Ln.prototype.valueOf=function(n){return Oy(this,n)};Ln.prototype.toString=function(){return Ro(this)};Ln.prototype[Symbol.toPrimitive]=function(n="default"){switch(n){case"number":return Oy(this);case"string":return Ro(this);case"default":return $b(this)}return Ro(this)};function bi(...n){return Ln.apply(this,n)}function wi(...n){return Ln.apply(this,n)}function Eo(...n){return Ln.apply(this,n)}Object.setPrototypeOf(bi.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(wi.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Eo.prototype,Object.create(Uint32Array.prototype));Object.assign(bi.prototype,Ln.prototype,{constructor:bi,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array});Object.assign(wi.prototype,Ln.prototype,{constructor:wi,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array});Object.assign(Eo.prototype,Ln.prototype,{constructor:Eo,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});const Lb=BigInt(4294967296)*BigInt(4294967296),Ub=Lb-BigInt(1);function Oy(n,e){const{buffer:t,byteOffset:i,byteLength:a,signed:c}=n,f=new BigUint64Array(t,i,a/8),h=c&&f.at(-1)&BigInt(1)<=0)return sd(n);e=e.slice();let i=1;for(let c=0;c(n.children=null,n.ArrayType=Array,n.OffsetArrayType=Int32Array,n[Symbol.toStringTag]="DataType"))(pe.prototype);class ss extends pe{constructor(){super(C.Null)}toString(){return"Null"}}Ay=Symbol.toStringTag;ss[Ay]=(n=>n[Symbol.toStringTag]="Null")(ss.prototype);class Ds extends pe{constructor(e,t){super(C.Int),this.isSigned=e,this.bitWidth=t}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}By=Symbol.toStringTag;Ds[By]=(n=>(n.isSigned=null,n.bitWidth=null,n[Symbol.toStringTag]="Int"))(Ds.prototype);class Lo extends Ds{constructor(){super(!0,32)}get ArrayType(){return Int32Array}}Object.defineProperty(Lo.prototype,"ArrayType",{value:Int32Array});class jl extends pe{constructor(e){super(C.Float),this.precision=e}get ArrayType(){switch(this.precision){case Dt.HALF:return Uint16Array;case Dt.SINGLE:return Float32Array;case Dt.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}}Ey=Symbol.toStringTag;jl[Ey]=(n=>(n.precision=null,n[Symbol.toStringTag]="Float"))(jl.prototype);class kl extends pe{constructor(){super(C.Binary)}toString(){return"Binary"}}Ry=Symbol.toStringTag;kl[Ry]=(n=>(n.ArrayType=Uint8Array,n[Symbol.toStringTag]="Binary"))(kl.prototype);class Il extends pe{constructor(){super(C.LargeBinary)}toString(){return"LargeBinary"}}Ly=Symbol.toStringTag;Il[Ly]=(n=>(n.ArrayType=Uint8Array,n.OffsetArrayType=BigInt64Array,n[Symbol.toStringTag]="LargeBinary"))(Il.prototype);class Ml extends pe{constructor(){super(C.Utf8)}toString(){return"Utf8"}}Uy=Symbol.toStringTag;Ml[Uy]=(n=>(n.ArrayType=Uint8Array,n[Symbol.toStringTag]="Utf8"))(Ml.prototype);class Dl extends pe{constructor(){super(C.LargeUtf8)}toString(){return"LargeUtf8"}}$y=Symbol.toStringTag;Dl[$y]=(n=>(n.ArrayType=Uint8Array,n.OffsetArrayType=BigInt64Array,n[Symbol.toStringTag]="LargeUtf8"))(Dl.prototype);class Cl extends pe{constructor(){super(C.Bool)}toString(){return"Bool"}}Py=Symbol.toStringTag;Cl[Py]=(n=>(n.ArrayType=Uint8Array,n[Symbol.toStringTag]="Bool"))(Cl.prototype);class Fl extends pe{constructor(e,t,i=128){super(C.Decimal),this.scale=e,this.precision=t,this.bitWidth=i}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}}zy=Symbol.toStringTag;Fl[zy]=(n=>(n.scale=null,n.precision=null,n.ArrayType=Uint32Array,n[Symbol.toStringTag]="Decimal"))(Fl.prototype);class Ol extends pe{constructor(e){super(C.Date),this.unit=e}toString(){return`Date${(this.unit+1)*32}<${gn[this.unit]}>`}get ArrayType(){return this.unit===gn.DAY?Int32Array:BigInt64Array}}Vy=Symbol.toStringTag;Ol[Vy]=(n=>(n.unit=null,n[Symbol.toStringTag]="Date"))(Ol.prototype);class Tl extends pe{constructor(e,t){super(C.Time),this.unit=e,this.bitWidth=t}toString(){return`Time${this.bitWidth}<${_e[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}}Wy=Symbol.toStringTag;Tl[Wy]=(n=>(n.unit=null,n.bitWidth=null,n[Symbol.toStringTag]="Time"))(Tl.prototype);class Al extends pe{constructor(e,t){super(C.Timestamp),this.unit=e,this.timezone=t}toString(){return`Timestamp<${_e[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}}Hy=Symbol.toStringTag;Al[Hy]=(n=>(n.unit=null,n.timezone=null,n.ArrayType=BigInt64Array,n[Symbol.toStringTag]="Timestamp"))(Al.prototype);class Bl extends pe{constructor(e){super(C.Interval),this.unit=e}toString(){return`Interval<${nr[this.unit]}>`}}Gy=Symbol.toStringTag;Bl[Gy]=(n=>(n.unit=null,n.ArrayType=Int32Array,n[Symbol.toStringTag]="Interval"))(Bl.prototype);class El extends pe{constructor(e){super(C.Duration),this.unit=e}toString(){return`Duration<${_e[this.unit]}>`}}Yy=Symbol.toStringTag;El[Yy]=(n=>(n.unit=null,n.ArrayType=BigInt64Array,n[Symbol.toStringTag]="Duration"))(El.prototype);class Rl extends pe{constructor(e){super(C.List),this.children=[e]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}}Qy=Symbol.toStringTag;Rl[Qy]=(n=>(n.children=null,n[Symbol.toStringTag]="List"))(Rl.prototype);class Tt extends pe{constructor(e){super(C.Struct),this.children=e}toString(){return`Struct<{${this.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}Ky=Symbol.toStringTag;Tt[Ky]=(n=>(n.children=null,n[Symbol.toStringTag]="Struct"))(Tt.prototype);class Ll extends pe{constructor(e,t,i){super(C.Union),this.mode=e,this.children=i,this.typeIds=t=Int32Array.from(t),this.typeIdToChildIndex=t.reduce((a,c,f)=>(a[c]=f)&&a||a,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(e=>`${e.type}`).join(" | ")}>`}}Jy=Symbol.toStringTag;Ll[Jy]=(n=>(n.mode=null,n.typeIds=null,n.children=null,n.typeIdToChildIndex=null,n.ArrayType=Int8Array,n[Symbol.toStringTag]="Union"))(Ll.prototype);class Ul extends pe{constructor(e){super(C.FixedSizeBinary),this.byteWidth=e}toString(){return`FixedSizeBinary[${this.byteWidth}]`}}qy=Symbol.toStringTag;Ul[qy]=(n=>(n.byteWidth=null,n.ArrayType=Uint8Array,n[Symbol.toStringTag]="FixedSizeBinary"))(Ul.prototype);class $l extends pe{constructor(e,t){super(C.FixedSizeList),this.listSize=e,this.children=[t]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}Zy=Symbol.toStringTag;$l[Zy]=(n=>(n.children=null,n.listSize=null,n[Symbol.toStringTag]="FixedSizeList"))($l.prototype);class Pl extends pe{constructor(e,t=!1){var i,a,c;if(super(C.Map),this.children=[e],this.keysSorted=t,e&&(e.name="entries",!((i=e==null?void 0:e.type)===null||i===void 0)&&i.children)){const f=(a=e==null?void 0:e.type)===null||a===void 0?void 0:a.children[0];f&&(f.name="key");const h=(c=e==null?void 0:e.type)===null||c===void 0?void 0:c.children[1];h&&(h.name="value")}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}Xy=Symbol.toStringTag;Pl[Xy]=(n=>(n.children=null,n.keysSorted=null,n[Symbol.toStringTag]="Map_"))(Pl.prototype);const Pb=(n=>()=>++n)(-1);class Mi extends pe{constructor(e,t,i,a){super(C.Dictionary),this.indices=t,this.dictionary=e,this.isOrdered=a||!1,this.id=i==null?Pb():tt(i)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}}eg=Symbol.toStringTag;Mi[eg]=(n=>(n.id=null,n.indices=null,n.isOrdered=null,n.dictionary=null,n[Symbol.toStringTag]="Dictionary"))(Mi.prototype);function vr(n){const e=n;switch(n.typeId){case C.Decimal:return n.bitWidth/32;case C.Interval:return 1+e.unit;case C.FixedSizeList:return e.listSize;case C.FixedSizeBinary:return e.byteWidth;default:return 1}}class Be{visitMany(e,...t){return e.map((i,a)=>this.visit(i,...t.map(c=>c[a])))}visit(...e){return this.getVisitFn(e[0],!1).apply(this,e)}getVisitFn(e,t=!0){return zb(this,e,t)}getVisitFnByTypeId(e,t=!0){return mi(this,e,t)}visitNull(e,...t){return null}visitBool(e,...t){return null}visitInt(e,...t){return null}visitFloat(e,...t){return null}visitUtf8(e,...t){return null}visitLargeUtf8(e,...t){return null}visitBinary(e,...t){return null}visitLargeBinary(e,...t){return null}visitFixedSizeBinary(e,...t){return null}visitDate(e,...t){return null}visitTimestamp(e,...t){return null}visitTime(e,...t){return null}visitDecimal(e,...t){return null}visitList(e,...t){return null}visitStruct(e,...t){return null}visitUnion(e,...t){return null}visitDictionary(e,...t){return null}visitInterval(e,...t){return null}visitDuration(e,...t){return null}visitFixedSizeList(e,...t){return null}visitMap(e,...t){return null}}function zb(n,e,t=!0){return typeof e=="number"?mi(n,e,t):typeof e=="string"&&e in C?mi(n,C[e],t):e&&e instanceof pe?mi(n,bm(e),t):e!=null&&e.type&&e.type instanceof pe?mi(n,bm(e.type),t):mi(n,C.NONE,t)}function mi(n,e,t=!0){let i=null;switch(e){case C.Null:i=n.visitNull;break;case C.Bool:i=n.visitBool;break;case C.Int:i=n.visitInt;break;case C.Int8:i=n.visitInt8||n.visitInt;break;case C.Int16:i=n.visitInt16||n.visitInt;break;case C.Int32:i=n.visitInt32||n.visitInt;break;case C.Int64:i=n.visitInt64||n.visitInt;break;case C.Uint8:i=n.visitUint8||n.visitInt;break;case C.Uint16:i=n.visitUint16||n.visitInt;break;case C.Uint32:i=n.visitUint32||n.visitInt;break;case C.Uint64:i=n.visitUint64||n.visitInt;break;case C.Float:i=n.visitFloat;break;case C.Float16:i=n.visitFloat16||n.visitFloat;break;case C.Float32:i=n.visitFloat32||n.visitFloat;break;case C.Float64:i=n.visitFloat64||n.visitFloat;break;case C.Utf8:i=n.visitUtf8;break;case C.LargeUtf8:i=n.visitLargeUtf8;break;case C.Binary:i=n.visitBinary;break;case C.LargeBinary:i=n.visitLargeBinary;break;case C.FixedSizeBinary:i=n.visitFixedSizeBinary;break;case C.Date:i=n.visitDate;break;case C.DateDay:i=n.visitDateDay||n.visitDate;break;case C.DateMillisecond:i=n.visitDateMillisecond||n.visitDate;break;case C.Timestamp:i=n.visitTimestamp;break;case C.TimestampSecond:i=n.visitTimestampSecond||n.visitTimestamp;break;case C.TimestampMillisecond:i=n.visitTimestampMillisecond||n.visitTimestamp;break;case C.TimestampMicrosecond:i=n.visitTimestampMicrosecond||n.visitTimestamp;break;case C.TimestampNanosecond:i=n.visitTimestampNanosecond||n.visitTimestamp;break;case C.Time:i=n.visitTime;break;case C.TimeSecond:i=n.visitTimeSecond||n.visitTime;break;case C.TimeMillisecond:i=n.visitTimeMillisecond||n.visitTime;break;case C.TimeMicrosecond:i=n.visitTimeMicrosecond||n.visitTime;break;case C.TimeNanosecond:i=n.visitTimeNanosecond||n.visitTime;break;case C.Decimal:i=n.visitDecimal;break;case C.List:i=n.visitList;break;case C.Struct:i=n.visitStruct;break;case C.Union:i=n.visitUnion;break;case C.DenseUnion:i=n.visitDenseUnion||n.visitUnion;break;case C.SparseUnion:i=n.visitSparseUnion||n.visitUnion;break;case C.Dictionary:i=n.visitDictionary;break;case C.Interval:i=n.visitInterval;break;case C.IntervalDayTime:i=n.visitIntervalDayTime||n.visitInterval;break;case C.IntervalYearMonth:i=n.visitIntervalYearMonth||n.visitInterval;break;case C.Duration:i=n.visitDuration;break;case C.DurationSecond:i=n.visitDurationSecond||n.visitDuration;break;case C.DurationMillisecond:i=n.visitDurationMillisecond||n.visitDuration;break;case C.DurationMicrosecond:i=n.visitDurationMicrosecond||n.visitDuration;break;case C.DurationNanosecond:i=n.visitDurationNanosecond||n.visitDuration;break;case C.FixedSizeList:i=n.visitFixedSizeList;break;case C.Map:i=n.visitMap;break}if(typeof i=="function")return i;if(!t)return()=>null;throw new Error(`Unrecognized type '${C[e]}'`)}function bm(n){switch(n.typeId){case C.Null:return C.Null;case C.Int:{const{bitWidth:e,isSigned:t}=n;switch(e){case 8:return t?C.Int8:C.Uint8;case 16:return t?C.Int16:C.Uint16;case 32:return t?C.Int32:C.Uint32;case 64:return t?C.Int64:C.Uint64}return C.Int}case C.Float:switch(n.precision){case Dt.HALF:return C.Float16;case Dt.SINGLE:return C.Float32;case Dt.DOUBLE:return C.Float64}return C.Float;case C.Binary:return C.Binary;case C.LargeBinary:return C.LargeBinary;case C.Utf8:return C.Utf8;case C.LargeUtf8:return C.LargeUtf8;case C.Bool:return C.Bool;case C.Decimal:return C.Decimal;case C.Time:switch(n.unit){case _e.SECOND:return C.TimeSecond;case _e.MILLISECOND:return C.TimeMillisecond;case _e.MICROSECOND:return C.TimeMicrosecond;case _e.NANOSECOND:return C.TimeNanosecond}return C.Time;case C.Timestamp:switch(n.unit){case _e.SECOND:return C.TimestampSecond;case _e.MILLISECOND:return C.TimestampMillisecond;case _e.MICROSECOND:return C.TimestampMicrosecond;case _e.NANOSECOND:return C.TimestampNanosecond}return C.Timestamp;case C.Date:switch(n.unit){case gn.DAY:return C.DateDay;case gn.MILLISECOND:return C.DateMillisecond}return C.Date;case C.Interval:switch(n.unit){case nr.DAY_TIME:return C.IntervalDayTime;case nr.YEAR_MONTH:return C.IntervalYearMonth}return C.Interval;case C.Duration:switch(n.unit){case _e.SECOND:return C.DurationSecond;case _e.MILLISECOND:return C.DurationMillisecond;case _e.MICROSECOND:return C.DurationMicrosecond;case _e.NANOSECOND:return C.DurationNanosecond}return C.Duration;case C.Map:return C.Map;case C.List:return C.List;case C.Struct:return C.Struct;case C.Union:switch(n.mode){case Ht.Dense:return C.DenseUnion;case Ht.Sparse:return C.SparseUnion}return C.Union;case C.FixedSizeBinary:return C.FixedSizeBinary;case C.FixedSizeList:return C.FixedSizeList;case C.Dictionary:return C.Dictionary}throw new Error(`Unrecognized type '${C[n.typeId]}'`)}Be.prototype.visitInt8=null;Be.prototype.visitInt16=null;Be.prototype.visitInt32=null;Be.prototype.visitInt64=null;Be.prototype.visitUint8=null;Be.prototype.visitUint16=null;Be.prototype.visitUint32=null;Be.prototype.visitUint64=null;Be.prototype.visitFloat16=null;Be.prototype.visitFloat32=null;Be.prototype.visitFloat64=null;Be.prototype.visitDateDay=null;Be.prototype.visitDateMillisecond=null;Be.prototype.visitTimestampSecond=null;Be.prototype.visitTimestampMillisecond=null;Be.prototype.visitTimestampMicrosecond=null;Be.prototype.visitTimestampNanosecond=null;Be.prototype.visitTimeSecond=null;Be.prototype.visitTimeMillisecond=null;Be.prototype.visitTimeMicrosecond=null;Be.prototype.visitTimeNanosecond=null;Be.prototype.visitDenseUnion=null;Be.prototype.visitSparseUnion=null;Be.prototype.visitIntervalDayTime=null;Be.prototype.visitIntervalYearMonth=null;Be.prototype.visitDuration=null;Be.prototype.visitDurationSecond=null;Be.prototype.visitDurationMillisecond=null;Be.prototype.visitDurationMicrosecond=null;Be.prototype.visitDurationNanosecond=null;const tg=new Float64Array(1),ai=new Uint32Array(tg.buffer);function ng(n){const e=(n&31744)>>10,t=(n&1023)/1024,i=Math.pow(-1,(n&32768)>>15);switch(e){case 31:return i*(t?Number.NaN:1/0);case 0:return i*(t?6103515625e-14*t:0)}return i*Math.pow(2,e-15)*(1+t)}function Vb(n){if(n!==n)return 32256;tg[0]=n;const e=(ai[1]&2147483648)>>16&65535;let t=ai[1]&2146435072,i=0;return t>=1089470464?ai[0]>0?t=31744:(t=(t&2080374784)>>16,i=(ai[1]&1048575)>>10):t<=1056964608?(i=1048576+(ai[1]&1048575),i=1048576+(i<<(t>>20)-998)>>21,t=0):(t=t-1056964608>>10,i=(ai[1]&1048575)+512>>10),e|t|i&65535}class Ne extends Be{}function Ie(n){return(e,t,i)=>{if(e.setValid(t,i!=null))return n(e,t,i)}}const Wb=(n,e,t)=>{n[e]=Math.floor(t/864e5)},rg=(n,e,t,i)=>{if(t+1{const a=n+t;i?e[a>>3]|=1<>3]&=~(1<{n[e]=t},$d=({values:n},e,t)=>{n[e]=t},sg=({values:n},e,t)=>{n[e]=Vb(t)},Gb=(n,e,t)=>{switch(n.type.precision){case Dt.HALF:return sg(n,e,t);case Dt.SINGLE:case Dt.DOUBLE:return $d(n,e,t)}},ig=({values:n},e,t)=>{Wb(n,e,t.valueOf())},og=({values:n},e,t)=>{n[e]=BigInt(t)},Yb=({stride:n,values:e},t,i)=>{e.set(i.subarray(0,n),n*t)},ag=({values:n,valueOffsets:e},t,i)=>rg(n,e,t,i),lg=({values:n,valueOffsets:e},t,i)=>rg(n,e,t,Bd(i)),Qb=(n,e,t)=>{n.type.unit===gn.DAY?ig(n,e,t):og(n,e,t)},cg=({values:n},e,t)=>{n[e]=BigInt(t/1e3)},ug=({values:n},e,t)=>{n[e]=BigInt(t)},dg=({values:n},e,t)=>{n[e]=BigInt(t*1e3)},fg=({values:n},e,t)=>{n[e]=BigInt(t*1e6)},Kb=(n,e,t)=>{switch(n.type.unit){case _e.SECOND:return cg(n,e,t);case _e.MILLISECOND:return ug(n,e,t);case _e.MICROSECOND:return dg(n,e,t);case _e.NANOSECOND:return fg(n,e,t)}},hg=({values:n},e,t)=>{n[e]=t},pg=({values:n},e,t)=>{n[e]=t},mg=({values:n},e,t)=>{n[e]=t},yg=({values:n},e,t)=>{n[e]=t},Jb=(n,e,t)=>{switch(n.type.unit){case _e.SECOND:return hg(n,e,t);case _e.MILLISECOND:return pg(n,e,t);case _e.MICROSECOND:return mg(n,e,t);case _e.NANOSECOND:return yg(n,e,t)}},qb=({values:n,stride:e},t,i)=>{n.set(i.subarray(0,e),e*t)},Zb=(n,e,t)=>{const i=n.children[0],a=n.valueOffsets,c=vn.getVisitFn(i);if(Array.isArray(t))for(let f=-1,h=a[e],m=a[e+1];h{const i=n.children[0],{valueOffsets:a}=n,c=vn.getVisitFn(i);let{[e]:f,[e+1]:h}=a;const m=t instanceof Map?t.entries():Object.entries(t);for(const g of m)if(c(i,f,g),++f>=h)break},ew=(n,e)=>(t,i,a,c)=>i&&t(i,n,e[c]),tw=(n,e)=>(t,i,a,c)=>i&&t(i,n,e.get(c)),nw=(n,e)=>(t,i,a,c)=>i&&t(i,n,e.get(a.name)),rw=(n,e)=>(t,i,a,c)=>i&&t(i,n,e[a.name]),sw=(n,e,t)=>{const i=n.type.children.map(c=>vn.getVisitFn(c.type)),a=t instanceof Map?nw(e,t):t instanceof Je?tw(e,t):Array.isArray(t)?ew(e,t):rw(e,t);n.type.children.forEach((c,f)=>a(i[f],n.children[f],c,f))},iw=(n,e,t)=>{n.type.mode===Ht.Dense?gg(n,e,t):vg(n,e,t)},gg=(n,e,t)=>{const i=n.type.typeIdToChildIndex[n.typeIds[e]],a=n.children[i];vn.visit(a,n.valueOffsets[e],t)},vg=(n,e,t)=>{const i=n.type.typeIdToChildIndex[n.typeIds[e]],a=n.children[i];vn.visit(a,e,t)},ow=(n,e,t)=>{var i;(i=n.dictionary)===null||i===void 0||i.set(n.values[e],t)},aw=(n,e,t)=>{n.type.unit===nr.DAY_TIME?xg(n,e,t):bg(n,e,t)},xg=({values:n},e,t)=>{n.set(t.subarray(0,2),2*e)},bg=({values:n},e,t)=>{n[e]=t[0]*12+t[1]%12},wg=({values:n},e,t)=>{n[e]=t},Sg=({values:n},e,t)=>{n[e]=t},_g=({values:n},e,t)=>{n[e]=t},Ng=({values:n},e,t)=>{n[e]=t},lw=(n,e,t)=>{switch(n.type.unit){case _e.SECOND:return wg(n,e,t);case _e.MILLISECOND:return Sg(n,e,t);case _e.MICROSECOND:return _g(n,e,t);case _e.NANOSECOND:return Ng(n,e,t)}},cw=(n,e,t)=>{const{stride:i}=n,a=n.children[0],c=vn.getVisitFn(a);if(Array.isArray(t))for(let f=-1,h=e*i;++f`${Bo(e)}: ${Bo(t)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new uw(this[On],this[Si])}}class uw{constructor(e,t){this.childIndex=0,this.children=e.children,this.rowIndex=t,this.childFields=e.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){const e=this.childIndex;return et.name)}has(e,t){return e[On].type.children.findIndex(i=>i.name===t)!==-1}getOwnPropertyDescriptor(e,t){if(e[On].type.children.findIndex(i=>i.name===t)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,t){if(Reflect.has(e,t))return e[t];const i=e[On].type.children.findIndex(a=>a.name===t);if(i!==-1){const a=Gt.visit(e[On].children[i],e[Si]);return Reflect.set(e,t,a),a}}set(e,t,i){const a=e[On].type.children.findIndex(c=>c.name===t);return a!==-1?(vn.visit(e[On].children[a],e[Si],i),Reflect.set(e,t,i)):Reflect.has(e,t)||typeof t=="symbol"?Reflect.set(e,t,i):!1}}class ge extends Be{}function je(n){return(e,t)=>e.getValid(t)?n(e,t):null}const fw=(n,e)=>864e5*n[e],hw=(n,e)=>null,jg=(n,e,t)=>{if(t+1>=e.length)return null;const i=tt(e[t]),a=tt(e[t+1]);return n.subarray(i,a)},pw=({offset:n,values:e},t)=>{const i=n+t;return(e[i>>3]&1<fw(n,e),Ig=({values:n},e)=>tt(n[e]),as=({stride:n,values:e},t)=>e[n*t],mw=({stride:n,values:e},t)=>ng(e[n*t]),Mg=({values:n},e)=>n[e],yw=({stride:n,values:e},t)=>e.subarray(n*t,n*(t+1)),Dg=({values:n,valueOffsets:e},t)=>jg(n,e,t),Cg=({values:n,valueOffsets:e},t)=>{const i=jg(n,e,t);return i!==null?xd(i):null},gw=({values:n},e)=>n[e],vw=({type:n,values:e},t)=>n.precision!==Dt.HALF?e[t]:ng(e[t]),xw=(n,e)=>n.type.unit===gn.DAY?kg(n,e):Ig(n,e),Fg=({values:n},e)=>1e3*tt(n[e]),Og=({values:n},e)=>tt(n[e]),Tg=({values:n},e)=>Fy(n[e],BigInt(1e3)),Ag=({values:n},e)=>Fy(n[e],BigInt(1e6)),bw=(n,e)=>{switch(n.type.unit){case _e.SECOND:return Fg(n,e);case _e.MILLISECOND:return Og(n,e);case _e.MICROSECOND:return Tg(n,e);case _e.NANOSECOND:return Ag(n,e)}},Bg=({values:n},e)=>n[e],Eg=({values:n},e)=>n[e],Rg=({values:n},e)=>n[e],Lg=({values:n},e)=>n[e],ww=(n,e)=>{switch(n.type.unit){case _e.SECOND:return Bg(n,e);case _e.MILLISECOND:return Eg(n,e);case _e.MICROSECOND:return Rg(n,e);case _e.NANOSECOND:return Lg(n,e)}},Sw=({values:n,stride:e},t)=>Ud.decimal(n.subarray(e*t,e*(t+1))),_w=(n,e)=>{const{valueOffsets:t,stride:i,children:a}=n,{[e*i]:c,[e*i+1]:f}=t,m=a[0].slice(c,f-c);return new Je([m])},Nw=(n,e)=>{const{valueOffsets:t,children:i}=n,{[e]:a,[e+1]:c}=t,f=i[0];return new zd(f.slice(a,c-a))},jw=(n,e)=>new Pd(n,e),kw=(n,e)=>n.type.mode===Ht.Dense?Ug(n,e):$g(n,e),Ug=(n,e)=>{const t=n.type.typeIdToChildIndex[n.typeIds[e]],i=n.children[t];return Gt.visit(i,n.valueOffsets[e])},$g=(n,e)=>{const t=n.type.typeIdToChildIndex[n.typeIds[e]],i=n.children[t];return Gt.visit(i,e)},Iw=(n,e)=>{var t;return(t=n.dictionary)===null||t===void 0?void 0:t.get(n.values[e])},Mw=(n,e)=>n.type.unit===nr.DAY_TIME?Pg(n,e):zg(n,e),Pg=({values:n},e)=>n.subarray(2*e,2*(e+1)),zg=({values:n},e)=>{const t=n[e],i=new Int32Array(2);return i[0]=Math.trunc(t/12),i[1]=Math.trunc(t%12),i},Vg=({values:n},e)=>n[e],Wg=({values:n},e)=>n[e],Hg=({values:n},e)=>n[e],Gg=({values:n},e)=>n[e],Dw=(n,e)=>{switch(n.type.unit){case _e.SECOND:return Vg(n,e);case _e.MILLISECOND:return Wg(n,e);case _e.MICROSECOND:return Hg(n,e);case _e.NANOSECOND:return Gg(n,e)}},Cw=(n,e)=>{const{stride:t,children:i}=n,c=i[0].slice(e*t,t);return new Je([c])};ge.prototype.visitNull=je(hw);ge.prototype.visitBool=je(pw);ge.prototype.visitInt=je(gw);ge.prototype.visitInt8=je(as);ge.prototype.visitInt16=je(as);ge.prototype.visitInt32=je(as);ge.prototype.visitInt64=je(Mg);ge.prototype.visitUint8=je(as);ge.prototype.visitUint16=je(as);ge.prototype.visitUint32=je(as);ge.prototype.visitUint64=je(Mg);ge.prototype.visitFloat=je(vw);ge.prototype.visitFloat16=je(mw);ge.prototype.visitFloat32=je(as);ge.prototype.visitFloat64=je(as);ge.prototype.visitUtf8=je(Cg);ge.prototype.visitLargeUtf8=je(Cg);ge.prototype.visitBinary=je(Dg);ge.prototype.visitLargeBinary=je(Dg);ge.prototype.visitFixedSizeBinary=je(yw);ge.prototype.visitDate=je(xw);ge.prototype.visitDateDay=je(kg);ge.prototype.visitDateMillisecond=je(Ig);ge.prototype.visitTimestamp=je(bw);ge.prototype.visitTimestampSecond=je(Fg);ge.prototype.visitTimestampMillisecond=je(Og);ge.prototype.visitTimestampMicrosecond=je(Tg);ge.prototype.visitTimestampNanosecond=je(Ag);ge.prototype.visitTime=je(ww);ge.prototype.visitTimeSecond=je(Bg);ge.prototype.visitTimeMillisecond=je(Eg);ge.prototype.visitTimeMicrosecond=je(Rg);ge.prototype.visitTimeNanosecond=je(Lg);ge.prototype.visitDecimal=je(Sw);ge.prototype.visitList=je(_w);ge.prototype.visitStruct=je(jw);ge.prototype.visitUnion=je(kw);ge.prototype.visitDenseUnion=je(Ug);ge.prototype.visitSparseUnion=je($g);ge.prototype.visitDictionary=je(Iw);ge.prototype.visitInterval=je(Mw);ge.prototype.visitIntervalDayTime=je(Pg);ge.prototype.visitIntervalYearMonth=je(zg);ge.prototype.visitDuration=je(Dw);ge.prototype.visitDurationSecond=je(Vg);ge.prototype.visitDurationMillisecond=je(Wg);ge.prototype.visitDurationMicrosecond=je(Hg);ge.prototype.visitDurationNanosecond=je(Gg);ge.prototype.visitFixedSizeList=je(Cw);ge.prototype.visitMap=je(Nw);const Gt=new ge,yi=Symbol.for("keys"),_i=Symbol.for("vals"),gi=Symbol.for("kKeysAsStrings"),jd=Symbol.for("_kKeysAsStrings");class zd{constructor(e){return this[yi]=new Je([e.children[0]]).memoize(),this[_i]=e.children[1],new Proxy(this,new Ow)}get[gi](){return this[jd]||(this[jd]=Array.from(this[yi].toArray(),String))}[Symbol.iterator](){return new Fw(this[yi],this[_i])}get size(){return this[yi].length}toArray(){return Object.values(this.toJSON())}toJSON(){const e=this[yi],t=this[_i],i={};for(let a=-1,c=e.length;++a`${Bo(e)}: ${Bo(t)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}}class Fw{constructor(e,t){this.keys=e,this.vals=t,this.keyIndex=0,this.numKeys=e.length}[Symbol.iterator](){return this}next(){const e=this.keyIndex;return e===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(e),Gt.visit(this.vals,e)]})}}class Ow{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(e){return e[gi]}has(e,t){return e[gi].includes(t)}getOwnPropertyDescriptor(e,t){if(e[gi].indexOf(t)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,t){if(Reflect.has(e,t))return e[t];const i=e[gi].indexOf(t);if(i!==-1){const a=Gt.visit(Reflect.get(e,_i),i);return Reflect.set(e,t,a),a}}set(e,t,i){const a=e[gi].indexOf(t);return a!==-1?(vn.visit(Reflect.get(e,_i),a,i),Reflect.set(e,t,i)):Reflect.has(e,t)?Reflect.set(e,t,i):!1}}Object.defineProperties(zd.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[yi]:{writable:!0,enumerable:!1,configurable:!1,value:null},[_i]:{writable:!0,enumerable:!1,configurable:!1,value:null},[jd]:{writable:!0,enumerable:!1,configurable:!1,value:null}});let wm;function Yg(n,e,t,i){const{length:a=0}=n;let c=typeof e!="number"?0:e,f=typeof t!="number"?a:t;return c<0&&(c=(c%a+a)%a),f<0&&(f=(f%a+a)%a),fa&&(f=a),i?i(n,c,f):[c,f]}const Vd=(n,e)=>n<0?e+n:n,Sm=n=>n!==n;function Ti(n){if(typeof n!=="object"||n===null)return Sm(n)?Sm:t=>t===n;if(n instanceof Date){const t=n.valueOf();return i=>i instanceof Date?i.valueOf()===t:!1}return ArrayBuffer.isView(n)?t=>t?Cb(n,t):!1:n instanceof Map?Aw(n):Array.isArray(n)?Tw(n):n instanceof Je?Bw(n):Ew(n,!0)}function Tw(n){const e=[];for(let t=-1,i=n.length;++t!1;const i=[];for(let a=-1,c=t.length;++a{if(!t||typeof t!="object")return!1;switch(t.constructor){case Array:return Rw(n,t);case Map:return _m(n,t,t.keys());case zd:case Pd:case Object:case void 0:return _m(n,t,e||Object.keys(t))}return t instanceof Je?Lw(n,t):!1}}function Rw(n,e){const t=n.length;if(e.length!==t)return!1;for(let i=-1;++i>i}function Nm(n,e,t){const i=t.byteLength+7&-8;if(n>0||t.byteLength>3):kd(new Wd(t,n,e,null,Qg)).subarray(0,i)),a}return t}function kd(n){const e=[];let t=0,i=0,a=0;for(const f of n)f&&(a|=1<0)&&(e[t++]=a);const c=new Uint8Array(e.length+7&-8);return c.set(e),c}class Wd{constructor(e,t,i,a,c){this.bytes=e,this.length=i,this.context=a,this.get=c,this.bit=t%8,this.byteIndex=t>>3,this.byte=e[this.byteIndex++],this.index=0}next(){return this.index>3<<3,a=e+(e%8===0?0:8-e%8);return Id(n,e,a)+Id(n,i,t)+$w(n,a>>3,i-a>>3)}function $w(n,e,t){let i=0,a=Math.trunc(e);const c=new DataView(n.buffer,n.byteOffset,n.byteLength),f=t===void 0?n.byteLength:a+t;for(;f-a>=4;)i+=id(c.getUint32(a)),a+=4;for(;f-a>=2;)i+=id(c.getUint16(a)),a+=2;for(;f-a>=1;)i+=id(c.getUint8(a)),a+=1;return i}function id(n){let e=Math.trunc(n);return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24}const Pw=-1;class Ye{get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){const{type:e}=this;return pe.isSparseUnion(e)?this.children.some(t=>t.nullable):pe.isDenseUnion(e)?this.children.some(t=>t.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let e=0;const{valueOffsets:t,values:i,nullBitmap:a,typeIds:c}=this;return t&&(e+=t.byteLength),i&&(e+=i.byteLength),a&&(e+=a.byteLength),c&&(e+=c.byteLength),this.children.reduce((f,h)=>f+h.byteLength,e)}get nullCount(){if(pe.isUnion(this.type))return this.children.reduce((i,a)=>i+a.nullCount,0);let e=this._nullCount,t;return e<=Pw&&(t=this.nullBitmap)&&(this._nullCount=e=t.length===0?0:this.length-Id(t,this.offset,this.offset+this.length)),e}constructor(e,t,i,a,c,f=[],h){this.type=e,this.children=f,this.dictionary=h,this.offset=Math.floor(Math.max(t||0,0)),this.length=Math.floor(Math.max(i||0,0)),this._nullCount=Math.floor(Math.max(a||0,-1));let m;c instanceof Ye?(this.stride=c.stride,this.values=c.values,this.typeIds=c.typeIds,this.nullBitmap=c.nullBitmap,this.valueOffsets=c.valueOffsets):(this.stride=vr(e),c&&((m=c[0])&&(this.valueOffsets=m),(m=c[1])&&(this.values=m),(m=c[2])&&(this.nullBitmap=m),(m=c[3])&&(this.typeIds=m)))}getValid(e){const{type:t}=this;if(pe.isUnion(t)){const i=t,a=this.children[i.typeIdToChildIndex[this.typeIds[e]]],c=i.mode===Ht.Dense?this.valueOffsets[e]:e;return a.getValid(c)}if(this.nullable&&this.nullCount>0){const i=this.offset+e;return(this.nullBitmap[i>>3]&1<>3;(!c||c.byteLength<=v)&&(c=new Uint8Array((f+h+63&-64)>>3).fill(255),this.nullCount>0?(c.set(Nm(f,h,this.nullBitmap),0),Object.assign(this,{nullBitmap:c})):Object.assign(this,{nullBitmap:c,_nullCount:0}));const x=c[v];i=(x&g)!==0,c[v]=t?x|g:x&~g}return i!==!!t&&(this._nullCount=this.nullCount+(t?-1:1)),t}clone(e=this.type,t=this.offset,i=this.length,a=this._nullCount,c=this,f=this.children){return new Ye(e,t,i,a,c,f,this.dictionary)}slice(e,t){const{stride:i,typeId:a,children:c}=this,f=+(this._nullCount===0)-1,h=a===16?i:1,m=this._sliceBuffers(e,t,i,a);return this.clone(this.type,this.offset+e,t,f,m,c.length===0||this.valueOffsets?c:this._sliceChildren(c,h*e,h*t))}_changeLengthAndBackfillNullBitmap(e){if(this.typeId===C.Null)return this.clone(this.type,0,e,0);const{length:t,nullCount:i}=this,a=new Uint8Array((e+63&-64)>>3).fill(255,0,t>>3);a[t>>3]=(1<0&&a.set(Nm(this.offset,t,this.nullBitmap),0);const c=this.buffers;return c[gr.VALIDITY]=a,this.clone(this.type,0,e,i+(e-t),c)}_sliceBuffers(e,t,i,a){let c;const{buffers:f}=this;return(c=f[gr.TYPE])&&(f[gr.TYPE]=c.subarray(e,e+t)),(c=f[gr.OFFSET])&&(f[gr.OFFSET]=c.subarray(e,e+t+1))||(c=f[gr.DATA])&&(f[gr.DATA]=a===6?c:c.subarray(i*e,i*(e+t))),f}_sliceChildren(e,t,i){return e.map(a=>a.slice(t,i))}}Ye.prototype.children=Object.freeze([]);class To extends Be{visit(e){return this.getVisitFn(e.type).call(this,e)}visitNull(e){const{["type"]:t,["offset"]:i=0,["length"]:a=0}=e;return new Ye(t,i,a,a)}visitBool(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length>>3,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitInt(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitFloat(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitUtf8(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.data),c=Le(e.nullBitmap),f=So(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,c])}visitLargeUtf8(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.data),c=Le(e.nullBitmap),f=um(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,c])}visitBinary(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.data),c=Le(e.nullBitmap),f=So(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,c])}visitLargeBinary(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.data),c=Le(e.nullBitmap),f=um(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,c])}visitFixedSizeBinary(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitDate(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitTimestamp(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitTime(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitDecimal(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitList(e){const{["type"]:t,["offset"]:i=0,["child"]:a}=e,c=Le(e.nullBitmap),f=So(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,void 0,c],[a])}visitStruct(e){const{["type"]:t,["offset"]:i=0,["children"]:a=[]}=e,c=Le(e.nullBitmap),{length:f=a.reduce((m,{length:g})=>Math.max(m,g),0),nullCount:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,void 0,c],a)}visitUnion(e){const{["type"]:t,["offset"]:i=0,["children"]:a=[]}=e,c=Ke(t.ArrayType,e.typeIds),{["length"]:f=c.length,["nullCount"]:h=-1}=e;if(pe.isSparseUnion(t))return new Ye(t,i,f,h,[void 0,void 0,void 0,c],a);const m=So(e.valueOffsets);return new Ye(t,i,f,h,[m,void 0,void 0,c],a)}visitDictionary(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.nullBitmap),c=Ke(t.indices.ArrayType,e.data),{["dictionary"]:f=new Je([new To().visit({type:t.dictionary})])}=e,{["length"]:h=c.length,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[void 0,c,a],[],f)}visitInterval(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitDuration(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitFixedSizeList(e){const{["type"]:t,["offset"]:i=0,["child"]:a=new To().visit({type:t.valueType})}=e,c=Le(e.nullBitmap),{["length"]:f=a.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,void 0,c],[a])}visitMap(e){const{["type"]:t,["offset"]:i=0,["child"]:a=new To().visit({type:t.childType})}=e,c=Le(e.nullBitmap),f=So(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,void 0,c],[a])}}const zw=new To;function Ae(n){return zw.visit(n)}class jm{constructor(e=0,t){this.numChunks=e,this.getChunkIterator=t,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndexe.nullable)}function Kg(n){return n.reduce((e,t)=>e+t.nullCount,0)}function Jg(n){return n.reduce((e,t,i)=>(e[i+1]=e[i]+t.length,e),new Uint32Array(n.length+1))}function qg(n,e,t,i){const a=[];for(let c=-1,f=n.length;++c=i)break;if(t>=m+g)continue;if(m>=t&&m+g<=i){a.push(h);continue}const v=Math.max(0,t-m),x=Math.min(i-m,g);a.push(h.slice(v,x-v))}return a.length===0&&a.push(n[0].slice(0,0)),a}function Hd(n,e,t,i){let a=0,c=0,f=e.length-1;do{if(a>=f-1)return t0?0:-1}function Hw(n,e){const{nullBitmap:t}=n;if(!t||n.nullCount<=0)return-1;let i=0;for(const a of new Wd(t,n.offset+(e||0),n.length,t,Qg)){if(!a)return i;++i}return-1}function De(n,e,t){if(e===void 0)return-1;if(e===null)switch(n.typeId){case C.Union:break;case C.Dictionary:break;default:return Hw(n,t)}const i=Gt.getVisitFn(n),a=Ti(e);for(let c=(t||0)-1,f=n.length;++c{const a=n.data[i];return a.values.subarray(0,a.length)[Symbol.iterator]()});let t=0;return new jm(n.data.length,i=>{const c=n.data[i].length,f=n.slice(t,t+c);return t+=c,new Gw(f)})}class Gw{constructor(e){this.vector=e,this.index=0}next(){return this.indexh.data):e;if(c.length===0||c.some(h=>!(h instanceof Ye)))throw new TypeError("Vector constructor expects an Array of Data instances.");const f=(t=c[0])===null||t===void 0?void 0:t.type;switch(c.length){case 0:this._offsets=[0];break;case 1:{const{get:h,set:m,indexOf:g}=nv[f.typeId],v=c[0];this.isValid=x=>Gd(v,x),this.get=x=>h(v,x),this.set=(x,b)=>m(v,x,b),this.indexOf=x=>g(v,x),this._offsets=[0,v.length];break}default:Object.setPrototypeOf(this,rv[f.typeId]),this._offsets=Jg(c);break}this.data=c,this.type=f,this.stride=vr(f),this.numChildren=(a=(i=f.children)===null||i===void 0?void 0:i.length)!==null&&a!==void 0?a:0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((e,t)=>e+t.byteLength,0)}get nullable(){return Vw(this.data)}get nullCount(){return Kg(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${C[this.type.typeId]}Vector`}isValid(e){return!1}get(e){return null}at(e){return this.get(Vd(e,this.length))}set(e,t){}indexOf(e,t){return-1}includes(e,t){return this.indexOf(e,t)>-1}[Symbol.iterator](){return Yd.visit(this)}concat(...e){return new Je(this.data.concat(e.flatMap(t=>t.data).flat(Number.POSITIVE_INFINITY)))}slice(e,t){return new Je(Yg(this,e,t,({data:i,_offsets:a},c,f)=>qg(i,a,c,f)))}toJSON(){return[...this]}toArray(){const{type:e,data:t,length:i,stride:a,ArrayType:c}=this;switch(e.typeId){case C.Int:case C.Float:case C.Decimal:case C.Time:case C.Timestamp:switch(t.length){case 0:return new c;case 1:return t[0].values.subarray(0,i*a);default:return t.reduce((f,{values:h,length:m})=>(f.array.set(h.subarray(0,m*a),f.offset),f.offset+=m*a,f),{array:new c(i*a),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(e){var t;return this.getChildAt((t=this.type.children)===null||t===void 0?void 0:t.findIndex(i=>i.name===e))}getChildAt(e){return e>-1&&et[e])):null}get isMemoized(){return pe.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(pe.isDictionary(this.type)){const e=new Wl(this.data[0].dictionary),t=this.data.map(i=>{const a=i.clone();return a.dictionary=e,a});return new Je(t)}return new Wl(this)}unmemoize(){if(pe.isDictionary(this.type)&&this.isMemoized){const e=this.data[0].dictionary.unmemoize(),t=this.data.map(i=>{const a=i.clone();return a.dictionary=e,a});return new Je(t)}return this}}tv=Symbol.toStringTag;Je[tv]=(n=>{n.type=pe.prototype,n.data=[],n.length=0,n.stride=1,n.numChildren=0,n._offsets=new Uint32Array([0]),n[Symbol.isConcatSpreadable]=!0;const e=Object.keys(C).map(t=>C[t]).filter(t=>typeof t=="number"&&t!==C.NONE);for(const t of e){const i=Gt.getVisitFnByTypeId(t),a=vn.getVisitFnByTypeId(t),c=Vl.getVisitFnByTypeId(t);nv[t]={get:i,set:a,indexOf:c},rv[t]=Object.create(n,{isValid:{value:zl(Gd)},get:{value:zl(Gt.getVisitFnByTypeId(t))},set:{value:Zg(vn.getVisitFnByTypeId(t))},indexOf:{value:Xg(Vl.getVisitFnByTypeId(t))}})}return"Vector"})(Je.prototype);class Wl extends Je{constructor(e){super(e.data);const t=this.get,i=this.set,a=this.slice,c=new Array(this.length);Object.defineProperty(this,"get",{value(f){const h=c[f];if(h!==void 0)return h;const m=t.call(this,f);return c[f]=m,m}}),Object.defineProperty(this,"set",{value(f,h){i.call(this,f,h),c[f]=h}}),Object.defineProperty(this,"slice",{value:(f,h)=>new Wl(a.call(this,f,h))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new Je(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}}class Md{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(e,t,i,a){return e.prep(8,24),e.writeInt64(BigInt(a??0)),e.pad(4),e.writeInt32(i),e.writeInt64(BigInt(t??0)),e.offset()}}class Xt{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsFooter(e,t){return(t||new Xt).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFooter(e,t){return e.setPosition(e.position()+He),(t||new Xt).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):ht.V1}schema(e){const t=this.bb.__offset(this.bb_pos,6);return t?(e||new Gn).__init(this.bb.__indirect(this.bb_pos+t),this.bb):null}dictionaries(e,t){const i=this.bb.__offset(this.bb_pos,8);return i?(t||new Md).__init(this.bb.__vector(this.bb_pos+i)+e*24,this.bb):null}dictionariesLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}recordBatches(e,t){const i=this.bb.__offset(this.bb_pos,10);return i?(t||new Md).__init(this.bb.__vector(this.bb_pos+i)+e*24,this.bb):null}recordBatchesLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,12);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startFooter(e){e.startObject(5)}static addVersion(e,t){e.addFieldInt16(0,t,ht.V1)}static addSchema(e,t){e.addFieldOffset(1,t,0)}static addDictionaries(e,t){e.addFieldOffset(2,t,0)}static startDictionariesVector(e,t){e.startVector(24,t,8)}static addRecordBatches(e,t){e.addFieldOffset(3,t,0)}static startRecordBatchesVector(e,t){e.startVector(24,t,8)}static addCustomMetadata(e,t){e.addFieldOffset(4,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endFooter(e){return e.endObject()}static finishFooterBuffer(e,t){e.finish(t)}static finishSizePrefixedFooterBuffer(e,t){e.finish(t,void 0,!0)}}class We{constructor(e=[],t,i,a=ht.V5){this.fields=e||[],this.metadata=t||new Map,i||(i=Dd(this.fields)),this.dictionaries=i,this.metadataVersion=a}get[Symbol.toStringTag](){return"Schema"}get names(){return this.fields.map(e=>e.name)}toString(){return`Schema<{ ${this.fields.map((e,t)=>`${t}: ${e}`).join(", ")} }>`}select(e){const t=new Set(e),i=this.fields.filter(a=>t.has(a.name));return new We(i,this.metadata)}selectAt(e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new We(t,this.metadata)}assign(...e){const t=e[0]instanceof We?e[0]:Array.isArray(e[0])?new We(e[0]):new We(e),i=[...this.fields],a=sl(sl(new Map,this.metadata),t.metadata),c=t.fields.filter(h=>{const m=i.findIndex(g=>g.name===h.name);return~m?(i[m]=h.clone({metadata:sl(sl(new Map,i[m].metadata),h.metadata)}))&&!1:!0}),f=Dd(c,new Map);return new We([...i,...c],a,new Map([...this.dictionaries,...f]))}}We.prototype.fields=null;We.prototype.metadata=null;We.prototype.dictionaries=null;class nt{static new(...e){let[t,i,a,c]=e;return e[0]&&typeof e[0]=="object"&&({name:t}=e[0],i===void 0&&(i=e[0].type),a===void 0&&(a=e[0].nullable),c===void 0&&(c=e[0].metadata)),new nt(`${t}`,i,a,c)}constructor(e,t,i=!1,a){this.name=e,this.type=t,this.nullable=i,this.metadata=a||new Map}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}clone(...e){let[t,i,a,c]=e;return!e[0]||typeof e[0]!="object"?[t=this.name,i=this.type,a=this.nullable,c=this.metadata]=e:{name:t=this.name,type:i=this.type,nullable:a=this.nullable,metadata:c=this.metadata}=e[0],nt.new(t,i,a,c)}}nt.prototype.type=null;nt.prototype.name=null;nt.prototype.nullable=null;nt.prototype.metadata=null;function sl(n,e){return new Map([...n||new Map,...e||new Map])}function Dd(n,e=new Map){for(let t=-1,i=n.length;++t0&&Dd(c.children,e)}return e}var Yw=Iy,Qw=ki;class Qd{static decode(e){e=new Qw(Le(e));const t=Xt.getRootAsFooter(e),i=We.decode(t.schema(),new Map,t.version());return new Kw(i,t)}static encode(e){const t=new Yw,i=We.encode(t,e.schema);Xt.startRecordBatchesVector(t,e.numRecordBatches);for(const f of[...e.recordBatches()].slice().reverse())Di.encode(t,f);const a=t.endVector();Xt.startDictionariesVector(t,e.numDictionaries);for(const f of[...e.dictionaryBatches()].slice().reverse())Di.encode(t,f);const c=t.endVector();return Xt.startFooter(t),Xt.addSchema(t,i),Xt.addVersion(t,ht.V5),Xt.addRecordBatches(t,a),Xt.addDictionaries(t,c),Xt.finishFooterBuffer(t,Xt.endFooter(t)),t.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}constructor(e,t=ht.V5,i,a){this.schema=e,this.version=t,i&&(this._recordBatches=i),a&&(this._dictionaryBatches=a)}*recordBatches(){for(let e,t=-1,i=this.numRecordBatches;++t=0&&e=0&&e=0&&e=0&&ethis._closedPromiseResolve=e)}get closed(){return this._closedPromise}cancel(e){return Ce(this,void 0,void 0,function*(){yield this.return(e)})}write(e){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(e):this.resolvers.shift().resolve({done:!1,value:e}))}abort(e){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:e}:this.resolvers.shift().reject({done:!0,value:e}))}close(){if(this._closedPromiseResolve){const{resolvers:e}=this;for(;e.length>0;)e.shift().resolve(at);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(e){return fn.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,e)}toNodeStream(e){return fn.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,e)}throw(e){return Ce(this,void 0,void 0,function*(){return yield this.abort(e),at})}return(e){return Ce(this,void 0,void 0,function*(){return yield this.close(),at})}read(e){return Ce(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return Ce(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(...e){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((t,i)=>{this.resolvers.push({resolve:t,reject:i})}):Promise.resolve(at)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error("AsyncQueue is closed")}}class qw extends Jw{write(e){if((e=Le(e)).byteLength>0)return super.write(e)}toString(e=!1){return e?xd(this.toUint8Array(!0)):this.toUint8Array(!1).then(xd)}toUint8Array(e=!1){return e?tr(this._values)[0]:Ce(this,void 0,void 0,function*(){var t,i,a,c;const f=[];let h=0;try{for(var m=!0,g=xi(this),v;v=yield g.next(),t=v.done,!t;m=!0){c=v.value,m=!1;const x=c;f.push(x),h+=x.byteLength}}catch(x){i={error:x}}finally{try{!m&&!t&&(a=g.return)&&(yield a.call(g))}finally{if(i)throw i.error}}return tr(f,h)[0]})}}class Hl{constructor(e){e&&(this.source=new Zw(fn.fromIterable(e)))}[Symbol.iterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class Ci{constructor(e){e instanceof Ci?this.source=e.source:e instanceof qw?this.source=new js(fn.fromAsyncIterable(e)):Ny(e)?this.source=new js(fn.fromNodeStream(e)):Rd(e)?this.source=new js(fn.fromDOMStream(e)):Sy(e)?this.source=new js(fn.fromDOMStream(e.body)):nc(e)?this.source=new js(fn.fromIterable(e)):Ao(e)?this.source=new js(fn.fromAsyncIterable(e)):Ed(e)&&(this.source=new js(fn.fromAsyncIterable(e)))}[Symbol.asyncIterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}get closed(){return this.source.closed}cancel(e){return this.source.cancel(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class Zw{constructor(e){this.source=e}cancel(e){this.return(e)}peek(e){return this.next(e,"peek").value}read(e){return this.next(e,"read").value}next(e,t="read"){return this.source.next({cmd:t,size:e})}throw(e){return Object.create(this.source.throw&&this.source.throw(e)||at)}return(e){return Object.create(this.source.return&&this.source.return(e)||at)}}class js{constructor(e){this.source=e,this._closedPromise=new Promise(t=>this._closedPromiseResolve=t)}cancel(e){return Ce(this,void 0,void 0,function*(){yield this.return(e)})}get closed(){return this._closedPromise}read(e){return Ce(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return Ce(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(e){return Ce(this,arguments,void 0,function*(t,i="read"){return yield this.source.next({cmd:i,size:t})})}throw(e){return Ce(this,void 0,void 0,function*(){const t=this.source.throw&&(yield this.source.throw(e))||at;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(t)})}return(e){return Ce(this,void 0,void 0,function*(){const t=this.source.return&&(yield this.source.return(e))||at;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(t)})}}class Im extends Hl{constructor(e,t){super(),this.position=0,this.buffer=Le(e),this.size=t===void 0?this.buffer.byteLength:t}readInt32(e){const{buffer:t,byteOffset:i}=this.readAt(e,4);return new DataView(t,i).getInt32(0,!0)}seek(e){return this.position=Math.min(e,this.size),e>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),i=new Uint32Array([e.buffer[1]>>>16,e.buffer[1]&65535,e.buffer[0]>>>16,e.buffer[0]&65535]);let a=t[3]*i[3];this.buffer[0]=a&65535;let c=a>>>16;return a=t[2]*i[3],c+=a,a=t[3]*i[2]>>>0,c+=a,this.buffer[0]+=c<<16,this.buffer[1]=c>>>0>>16,this.buffer[1]+=t[1]*i[3]+t[2]*i[2]+t[3]*i[1],this.buffer[1]+=t[0]*i[3]+t[1]*i[2]+t[2]*i[1]+t[3]*i[0]<<16,this}_plus(e){const t=this.buffer[0]+e.buffer[0]>>>0;this.buffer[1]+=e.buffer[1],t>>0&&++this.buffer[1],this.buffer[0]=t}lessThan(e){return this.buffer[1]>>0,t[2]=this.buffer[2]+e.buffer[2]>>>0,t[1]=this.buffer[1]+e.buffer[1]>>>0,t[0]=this.buffer[0]+e.buffer[0]>>>0,t[0]>>0&&++t[1],t[1]>>0&&++t[2],t[2]>>0&&++t[3],this.buffer[3]=t[3],this.buffer[2]=t[2],this.buffer[1]=t[1],this.buffer[0]=t[0],this}hex(){return`${vi(this.buffer[3])} ${vi(this.buffer[2])} ${vi(this.buffer[1])} ${vi(this.buffer[0])}`}static multiply(e,t){return new Yn(new Uint32Array(e.buffer)).times(t)}static add(e,t){return new Yn(new Uint32Array(e.buffer)).plus(t)}static from(e,t=new Uint32Array(4)){return Yn.fromString(typeof e=="string"?e:e.toString(),t)}static fromNumber(e,t=new Uint32Array(4)){return Yn.fromString(e.toString(),t)}static fromString(e,t=new Uint32Array(4)){const i=e.startsWith("-"),a=e.length,c=new Yn(t);for(let f=i?1:0;f0&&this.readData(e,i)||new Uint8Array(0)}readOffsets(e,t){return this.readData(e,t)}readTypeIds(e,t){return this.readData(e,t)}readData(e,{length:t,offset:i}=this.nextBufferRange()){return this.bytes.subarray(i,i+t)}readDictionary(e){return this.dictionaries.get(e.id)}}class e1 extends ov{constructor(e,t,i,a,c){super(new Uint8Array(0),t,i,a,c),this.sources=e}readNullBitmap(e,t,{offset:i}=this.nextBufferRange()){return t<=0?new Uint8Array(0):kd(this.sources[i])}readOffsets(e,{offset:t}=this.nextBufferRange()){return Ke(Uint8Array,Ke(e.OffsetArrayType,this.sources[t]))}readTypeIds(e,{offset:t}=this.nextBufferRange()){return Ke(Uint8Array,Ke(e.ArrayType,this.sources[t]))}readData(e,{offset:t}=this.nextBufferRange()){const{sources:i}=this;return pe.isTimestamp(e)||(pe.isInt(e)||pe.isTime(e))&&e.bitWidth===64||pe.isDuration(e)||pe.isDate(e)&&e.unit===gn.MILLISECOND?Ke(Uint8Array,zt.convertArray(i[t])):pe.isDecimal(e)?Ke(Uint8Array,Yn.convertArray(i[t])):pe.isBinary(e)||pe.isLargeBinary(e)||pe.isFixedSizeBinary(e)?t1(i[t]):pe.isBool(e)?kd(i[t]):pe.isUtf8(e)||pe.isLargeUtf8(e)?Bd(i[t].join("")):Ke(Uint8Array,Ke(e.ArrayType,i[t].map(a=>+a)))}}function t1(n){const e=n.join(""),t=new Uint8Array(e.length/2);for(let i=0;i>1]=Number.parseInt(e.slice(i,i+2),16);return t}class be extends Be{compareSchemas(e,t){return e===t||t instanceof e.constructor&&this.compareManyFields(e.fields,t.fields)}compareManyFields(e,t){return e===t||Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((i,a)=>this.compareFields(i,t[a]))}compareFields(e,t){return e===t||t instanceof e.constructor&&e.name===t.name&&e.nullable===t.nullable&&this.visit(e.type,t.type)}}function At(n,e){return e instanceof n.constructor}function As(n,e){return n===e||At(n,e)}function Mr(n,e){return n===e||At(n,e)&&n.bitWidth===e.bitWidth&&n.isSigned===e.isSigned}function sc(n,e){return n===e||At(n,e)&&n.precision===e.precision}function n1(n,e){return n===e||At(n,e)&&n.byteWidth===e.byteWidth}function Jd(n,e){return n===e||At(n,e)&&n.unit===e.unit}function Po(n,e){return n===e||At(n,e)&&n.unit===e.unit&&n.timezone===e.timezone}function zo(n,e){return n===e||At(n,e)&&n.unit===e.unit&&n.bitWidth===e.bitWidth}function r1(n,e){return n===e||At(n,e)&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}function s1(n,e){return n===e||At(n,e)&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}function qd(n,e){return n===e||At(n,e)&&n.mode===e.mode&&n.typeIds.every((t,i)=>t===e.typeIds[i])&&is.compareManyFields(n.children,e.children)}function i1(n,e){return n===e||At(n,e)&&n.id===e.id&&n.isOrdered===e.isOrdered&&is.visit(n.indices,e.indices)&&is.visit(n.dictionary,e.dictionary)}function Zd(n,e){return n===e||At(n,e)&&n.unit===e.unit}function Vo(n,e){return n===e||At(n,e)&&n.unit===e.unit}function o1(n,e){return n===e||At(n,e)&&n.listSize===e.listSize&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}function a1(n,e){return n===e||At(n,e)&&n.keysSorted===e.keysSorted&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}be.prototype.visitNull=As;be.prototype.visitBool=As;be.prototype.visitInt=Mr;be.prototype.visitInt8=Mr;be.prototype.visitInt16=Mr;be.prototype.visitInt32=Mr;be.prototype.visitInt64=Mr;be.prototype.visitUint8=Mr;be.prototype.visitUint16=Mr;be.prototype.visitUint32=Mr;be.prototype.visitUint64=Mr;be.prototype.visitFloat=sc;be.prototype.visitFloat16=sc;be.prototype.visitFloat32=sc;be.prototype.visitFloat64=sc;be.prototype.visitUtf8=As;be.prototype.visitLargeUtf8=As;be.prototype.visitBinary=As;be.prototype.visitLargeBinary=As;be.prototype.visitFixedSizeBinary=n1;be.prototype.visitDate=Jd;be.prototype.visitDateDay=Jd;be.prototype.visitDateMillisecond=Jd;be.prototype.visitTimestamp=Po;be.prototype.visitTimestampSecond=Po;be.prototype.visitTimestampMillisecond=Po;be.prototype.visitTimestampMicrosecond=Po;be.prototype.visitTimestampNanosecond=Po;be.prototype.visitTime=zo;be.prototype.visitTimeSecond=zo;be.prototype.visitTimeMillisecond=zo;be.prototype.visitTimeMicrosecond=zo;be.prototype.visitTimeNanosecond=zo;be.prototype.visitDecimal=As;be.prototype.visitList=r1;be.prototype.visitStruct=s1;be.prototype.visitUnion=qd;be.prototype.visitDenseUnion=qd;be.prototype.visitSparseUnion=qd;be.prototype.visitDictionary=i1;be.prototype.visitInterval=Zd;be.prototype.visitIntervalDayTime=Zd;be.prototype.visitIntervalYearMonth=Zd;be.prototype.visitDuration=Vo;be.prototype.visitDurationSecond=Vo;be.prototype.visitDurationMillisecond=Vo;be.prototype.visitDurationMicrosecond=Vo;be.prototype.visitDurationNanosecond=Vo;be.prototype.visitFixedSizeList=o1;be.prototype.visitMap=a1;const is=new be;function l1(n,e){return is.compareSchemas(n,e)}function od(n,e){return c1(n,e.map(t=>t.data.concat()))}function c1(n,e){const t=[...n.fields],i=[],a={numBatches:e.reduce((x,b)=>Math.max(x,b.length),0)};let c=0,f=0,h=-1;const m=e.length;let g,v=[];for(;a.numBatches-- >0;){for(f=Number.POSITIVE_INFINITY,h=-1;++h0&&(i[c++]=Ae({type:new Tt(t),length:f,nullCount:0,children:v.slice()})))}return[n=n.assign(t),i.map(x=>new An(n,x))]}function u1(n,e,t,i,a){var c;const f=(e+63&-64)>>3;for(let h=-1,m=i.length;++h=e)v===e?t[h]=g:(t[h]=g.slice(0,e),a.numBatches=Math.max(a.numBatches,i[h].unshift(g.slice(e,v-e))));else{const x=n[h];n[h]=x.clone({nullable:!0}),t[h]=(c=g==null?void 0:g._changeLengthAndBackfillNullBitmap(e))!==null&&c!==void 0?c:Ae({type:x.type,length:e,nullCount:e,nullBitmap:new Uint8Array(f)})}}return t}var av;class mn{constructor(...e){var t,i;if(e.length===0)return this.batches=[],this.schema=new We([]),this._offsets=[0],this;let a,c;e[0]instanceof We&&(a=e.shift()),e.at(-1)instanceof Uint32Array&&(c=e.pop());const f=m=>{if(m){if(m instanceof An)return[m];if(m instanceof mn)return m.batches;if(m instanceof Ye){if(m.type instanceof Tt)return[new An(new We(m.type.children),m)]}else{if(Array.isArray(m))return m.flatMap(g=>f(g));if(typeof m[Symbol.iterator]=="function")return[...m].flatMap(g=>f(g));if(typeof m=="object"){const g=Object.keys(m),v=g.map(w=>new Je([m[w]])),x=a??new We(g.map((w,j)=>new nt(String(w),v[j].type,v[j].nullable))),[,b]=od(x,v);return b.length===0?[new An(m)]:b}}}return[]},h=e.flatMap(m=>f(m));if(a=(i=a??((t=h[0])===null||t===void 0?void 0:t.schema))!==null&&i!==void 0?i:new We([]),!(a instanceof We))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");for(const m of h){if(!(m instanceof An))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");if(!l1(a,m.schema))throw new TypeError("Table and inner RecordBatch schemas must be equivalent.")}this.schema=a,this.batches=h,this._offsets=c??Jg(this.data)}get data(){return this.batches.map(({data:e})=>e)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((e,t)=>e+t.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=Kg(this.data)),this._nullCount}isValid(e){return!1}get(e){return null}at(e){return this.get(Vd(e,this.numRows))}set(e,t){}indexOf(e,t){return-1}[Symbol.iterator](){return this.batches.length>0?Yd.visit(new Je(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[ - ${this.toArray().join(`, - `)} -]`}concat(...e){const t=this.schema,i=this.data.concat(e.flatMap(({data:a})=>a));return new mn(t,i.map(a=>new An(t,a)))}slice(e,t){const i=this.schema;[e,t]=Yg({length:this.numRows},e,t);const a=qg(this.data,this._offsets,e,t);return new mn(i,a.map(c=>new An(i,c)))}getChild(e){return this.getChildAt(this.schema.fields.findIndex(t=>t.name===e))}getChildAt(e){if(e>-1&&ei.children[e]);if(t.length===0){const{type:i}=this.schema.fields[e],a=Ae({type:i,length:0,nullCount:0});t.push(a._changeLengthAndBackfillNullBitmap(this.numRows))}return new Je(t)}return null}setChild(e,t){var i;return this.setChildAt((i=this.schema.fields)===null||i===void 0?void 0:i.findIndex(a=>a.name===e),t)}setChildAt(e,t){let i=this.schema,a=[...this.batches];if(e>-1&&ethis.getChildAt(g));[c[e],h[e]]=[f,t],[i,a]=od(i,h)}return new mn(i,a)}select(e){const t=this.schema.fields.reduce((i,a,c)=>i.set(a.name,c),new Map);return this.selectAt(e.map(i=>t.get(i)).filter(i=>i>-1))}selectAt(e){const t=this.schema.selectAt(e),i=this.batches.map(a=>a.selectAt(e));return new mn(t,i)}assign(e){const t=this.schema.fields,[i,a]=e.schema.fields.reduce((h,m,g)=>{const[v,x]=h,b=t.findIndex(w=>w.name===m.name);return~b?x[b]=g:v.push(g),h},[[],[]]),c=this.schema.assign(e.schema),f=[...t.map((h,m)=>[m,a[m]]).map(([h,m])=>m===void 0?this.getChildAt(h):e.getChildAt(m)),...i.map(h=>e.getChildAt(h))].filter(Boolean);return new mn(...od(c,f))}}av=Symbol.toStringTag;mn[av]=(n=>(n.schema=null,n.batches=[],n._offsets=new Uint32Array([0]),n._nullCount=-1,n[Symbol.isConcatSpreadable]=!0,n.isValid=zl(Gd),n.get=zl(Gt.getVisitFn(C.Struct)),n.set=Zg(vn.getVisitFn(C.Struct)),n.indexOf=Xg(Vl.getVisitFn(C.Struct)),"Table"))(mn.prototype);var lv;let An=class Oo{constructor(...e){switch(e.length){case 2:{if([this.schema]=e,!(this.schema instanceof We))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");if([,this.data=Ae({nullCount:0,type:new Tt(this.schema.fields),children:this.schema.fields.map(t=>Ae({type:t.type,nullCount:0}))})]=e,!(this.data instanceof Ye))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");[this.schema,this.data]=Mm(this.schema,this.data.children);break}case 1:{const[t]=e,{fields:i,children:a,length:c}=Object.keys(t).reduce((m,g,v)=>(m.children[v]=t[g],m.length=Math.max(m.length,t[g].length),m.fields[v]=nt.new({name:g,type:t[g].type,nullable:!0}),m),{length:0,fields:new Array,children:new Array}),f=new We(i),h=Ae({type:new Tt(i),length:c,children:a,nullCount:0});[this.schema,this.data]=Mm(f,h.children,c);break}default:throw new TypeError("RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.")}}get dictionaries(){return this._dictionaries||(this._dictionaries=cv(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(e){return this.data.getValid(e)}get(e){return Gt.visit(this.data,e)}at(e){return this.get(Vd(e,this.numRows))}set(e,t){return vn.visit(this.data,e,t)}indexOf(e,t){return Vl.visit(this.data,e,t)}[Symbol.iterator](){return Yd.visit(new Je([this.data]))}toArray(){return[...this]}concat(...e){return new mn(this.schema,[this,...e])}slice(e,t){const[i]=new Je([this.data]).slice(e,t).data;return new Oo(this.schema,i)}getChild(e){var t;return this.getChildAt((t=this.schema.fields)===null||t===void 0?void 0:t.findIndex(i=>i.name===e))}getChildAt(e){return e>-1&&ea.name===e),t)}setChildAt(e,t){let i=this.schema,a=this.data;if(e>-1&&eh.name===c);~f&&(a[f]=this.data.children[f])}return new Oo(t,Ae({type:i,length:this.numRows,children:a}))}selectAt(e){const t=this.schema.selectAt(e),i=e.map(c=>this.data.children[c]).filter(Boolean),a=Ae({type:new Tt(t.fields),length:this.numRows,children:i});return new Oo(t,a)}};lv=Symbol.toStringTag;An[lv]=(n=>(n._nullCount=-1,n[Symbol.isConcatSpreadable]=!0,"RecordBatch"))(An.prototype);function Mm(n,e,t=e.reduce((i,a)=>Math.max(i,a.length),0)){var i;const a=[...n.fields],c=[...e],f=(t+63&-64)>>3;for(const[h,m]of n.fields.entries()){const g=e[h];(!g||g.length!==t)&&(a[h]=m.clone({nullable:!0}),c[h]=(i=g==null?void 0:g._changeLengthAndBackfillNullBitmap(t))!==null&&i!==void 0?i:Ae({type:m.type,length:t,nullCount:t,nullBitmap:new Uint8Array(f)}))}return[n.assign(a),Ae({type:new Tt(a),length:t,children:c})]}function cv(n,e,t=new Map){var i,a;if(((i=n==null?void 0:n.length)!==null&&i!==void 0?i:0)>0&&(n==null?void 0:n.length)===(e==null?void 0:e.length))for(let c=-1,f=n.length;++cAe({type:a.type})),i=Ae({type:new Tt(e.fields),nullCount:0,children:t});super(e,i)}}let qr=class Hn{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsMessage(e,t){return(t||new Hn).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsMessage(e,t){return e.setPosition(e.position()+He),(t||new Hn).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):ht.V1}headerType(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb_pos+e):Ve.NONE}header(e){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__union(e,this.bb_pos+t):null}bodyLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt64(this.bb_pos+e):BigInt("0")}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,12);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startMessage(e){e.startObject(5)}static addVersion(e,t){e.addFieldInt16(0,t,ht.V1)}static addHeaderType(e,t){e.addFieldInt8(1,t,Ve.NONE)}static addHeader(e,t){e.addFieldOffset(2,t,0)}static addBodyLength(e,t){e.addFieldInt64(3,t,BigInt("0"))}static addCustomMetadata(e,t){e.addFieldOffset(4,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endMessage(e){return e.endObject()}static finishMessageBuffer(e,t){e.finish(t)}static finishSizePrefixedMessageBuffer(e,t){e.finish(t,void 0,!0)}static createMessage(e,t,i,a,c,f){return Hn.startMessage(e),Hn.addVersion(e,t),Hn.addHeaderType(e,i),Hn.addHeader(e,a),Hn.addBodyLength(e,c),Hn.addCustomMetadata(e,f),Hn.endMessage(e)}};class d1 extends Be{visit(e,t){return e==null||t==null?void 0:super.visit(e,t)}visitNull(e,t){return vm.startNull(t),vm.endNull(t)}visitInt(e,t){return en.startInt(t),en.addBitWidth(t,e.bitWidth),en.addIsSigned(t,e.isSigned),en.endInt(t)}visitFloat(e,t){return Kn.startFloatingPoint(t),Kn.addPrecision(t,e.precision),Kn.endFloatingPoint(t)}visitBinary(e,t){return hm.startBinary(t),hm.endBinary(t)}visitLargeBinary(e,t){return mm.startLargeBinary(t),mm.endLargeBinary(t)}visitBool(e,t){return pm.startBool(t),pm.endBool(t)}visitUtf8(e,t){return xm.startUtf8(t),xm.endUtf8(t)}visitLargeUtf8(e,t){return ym.startLargeUtf8(t),ym.endLargeUtf8(t)}visitDecimal(e,t){return ui.startDecimal(t),ui.addScale(t,e.scale),ui.addPrecision(t,e.precision),ui.addBitWidth(t,e.bitWidth),ui.endDecimal(t)}visitDate(e,t){return hl.startDate(t),hl.addUnit(t,e.unit),hl.endDate(t)}visitTime(e,t){return hn.startTime(t),hn.addUnit(t,e.unit),hn.addBitWidth(t,e.bitWidth),hn.endTime(t)}visitTimestamp(e,t){const i=e.timezone&&t.createString(e.timezone)||void 0;return pn.startTimestamp(t),pn.addUnit(t,e.unit),i!==void 0&&pn.addTimezone(t,i),pn.endTimestamp(t)}visitInterval(e,t){return Jn.startInterval(t),Jn.addUnit(t,e.unit),Jn.endInterval(t)}visitDuration(e,t){return pl.startDuration(t),pl.addUnit(t,e.unit),pl.endDuration(t)}visitList(e,t){return gm.startList(t),gm.endList(t)}visitStruct(e,t){return ks.startStruct_(t),ks.endStruct_(t)}visitUnion(e,t){Vt.startTypeIdsVector(t,e.typeIds.length);const i=Vt.createTypeIdsVector(t,e.typeIds);return Vt.startUnion(t),Vt.addMode(t,e.mode),Vt.addTypeIds(t,i),Vt.endUnion(t)}visitDictionary(e,t){const i=this.visit(e.indices,t);return wr.startDictionaryEncoding(t),wr.addId(t,BigInt(e.id)),wr.addIsOrdered(t,e.isOrdered),i!==void 0&&wr.addIndexType(t,i),wr.endDictionaryEncoding(t)}visitFixedSizeBinary(e,t){return ml.startFixedSizeBinary(t),ml.addByteWidth(t,e.byteWidth),ml.endFixedSizeBinary(t)}visitFixedSizeList(e,t){return yl.startFixedSizeList(t),yl.addListSize(t,e.listSize),yl.endFixedSizeList(t)}visitMap(e,t){return gl.startMap(t),gl.addKeysSorted(t,e.keysSorted),gl.endMap(t)}}const ad=new d1;function f1(n,e=new Map){return new We(p1(n,e),xl(n.metadata),e)}function dv(n){return new Rn(n.count,fv(n.columns),hv(n.columns))}function h1(n){return new kr(dv(n.data),n.id,n.isDelta)}function p1(n,e){return(n.fields||[]).filter(Boolean).map(t=>nt.fromJSON(t,e))}function Dm(n,e){return(n.children||[]).filter(Boolean).map(t=>nt.fromJSON(t,e))}function fv(n){return(n||[]).reduce((e,t)=>[...e,new Ai(t.count,m1(t.VALIDITY)),...fv(t.children)],[])}function hv(n,e=[]){for(let t=-1,i=(n||[]).length;++te+ +(t===0),0)}function y1(n,e){let t,i,a,c,f,h;return!e||!(c=n.dictionary)?(f=Fm(n,Dm(n,e)),a=new nt(n.name,f,n.nullable,xl(n.metadata))):e.has(t=c.id)?(i=(i=c.indexType)?Cm(i):new Lo,h=new Mi(e.get(t),i,t,c.isOrdered),a=new nt(n.name,h,n.nullable,xl(n.metadata))):(i=(i=c.indexType)?Cm(i):new Lo,e.set(t,f=Fm(n,Dm(n,e))),h=new Mi(f,i,t,c.isOrdered),a=new nt(n.name,h,n.nullable,xl(n.metadata))),a||null}function xl(n=[]){return new Map(n.map(({key:e,value:t})=>[e,t]))}function Cm(n){return new Ds(n.isSigned,n.bitWidth)}function Fm(n,e){const t=n.type.name;switch(t){case"NONE":return new ss;case"null":return new ss;case"binary":return new kl;case"largebinary":return new Il;case"utf8":return new Ml;case"largeutf8":return new Dl;case"bool":return new Cl;case"list":return new Rl((e||[])[0]);case"struct":return new Tt(e||[]);case"struct_":return new Tt(e||[])}switch(t){case"int":{const i=n.type;return new Ds(i.isSigned,i.bitWidth)}case"floatingpoint":{const i=n.type;return new jl(Dt[i.precision])}case"decimal":{const i=n.type;return new Fl(i.scale,i.precision,i.bitWidth)}case"date":{const i=n.type;return new Ol(gn[i.unit])}case"time":{const i=n.type;return new Tl(_e[i.unit],i.bitWidth)}case"timestamp":{const i=n.type;return new Al(_e[i.unit],i.timezone)}case"interval":{const i=n.type;return new Bl(nr[i.unit])}case"duration":{const i=n.type;return new El(_e[i.unit])}case"union":{const i=n.type,[a,...c]=(i.mode+"").toLowerCase(),f=a.toUpperCase()+c.join("");return new Ll(Ht[f],i.typeIds||[],e||[])}case"fixedsizebinary":{const i=n.type;return new Ul(i.byteWidth)}case"fixedsizelist":{const i=n.type;return new $l(i.listSize,(e||[])[0])}case"map":{const i=n.type;return new Pl((e||[])[0],i.keysSorted)}}throw new Error(`Unrecognized type: "${t}"`)}var g1=Iy,v1=ki;class Bn{static fromJSON(e,t){const i=new Bn(0,ht.V5,t);return i._createHeader=x1(e,t),i}static decode(e){e=new v1(Le(e));const t=qr.getRootAsMessage(e),i=t.bodyLength(),a=t.version(),c=t.headerType(),f=new Bn(i,a,c);return f._createHeader=b1(t,c),f}static encode(e){const t=new g1;let i=-1;return e.isSchema()?i=We.encode(t,e.header()):e.isRecordBatch()?i=Rn.encode(t,e.header()):e.isDictionaryBatch()&&(i=kr.encode(t,e.header())),qr.startMessage(t),qr.addVersion(t,ht.V5),qr.addHeader(t,i),qr.addHeaderType(t,e.headerType),qr.addBodyLength(t,BigInt(e.bodyLength)),qr.finishMessageBuffer(t,qr.endMessage(t)),t.asUint8Array()}static from(e,t=0){if(e instanceof We)return new Bn(0,ht.V5,Ve.Schema,e);if(e instanceof Rn)return new Bn(t,ht.V5,Ve.RecordBatch,e);if(e instanceof kr)return new Bn(t,ht.V5,Ve.DictionaryBatch,e);throw new Error(`Unrecognized Message header: ${e}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===Ve.Schema}isRecordBatch(){return this.headerType===Ve.RecordBatch}isDictionaryBatch(){return this.headerType===Ve.DictionaryBatch}constructor(e,t,i,a){this._version=t,this._headerType=i,this.body=new Uint8Array(0),a&&(this._createHeader=()=>a),this._bodyLength=tt(e)}}class Rn{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}constructor(e,t,i){this._nodes=t,this._buffers=i,this._length=tt(e)}}class kr{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(e,t,i=!1){this._data=e,this._isDelta=i,this._id=tt(t)}}class _r{constructor(e,t){this.offset=tt(e),this.length=tt(t)}}class Ai{constructor(e,t){this.length=tt(e),this.nullCount=tt(t)}}function x1(n,e){return(()=>{switch(e){case Ve.Schema:return We.fromJSON(n);case Ve.RecordBatch:return Rn.fromJSON(n);case Ve.DictionaryBatch:return kr.fromJSON(n)}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)})}function b1(n,e){return(()=>{switch(e){case Ve.Schema:return We.decode(n.header(new Gn),new Map,n.version());case Ve.RecordBatch:return Rn.decode(n.header(new yr),n.version());case Ve.DictionaryBatch:return kr.decode(n.header(new li),n.version())}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)})}nt.encode=F1;nt.decode=D1;nt.fromJSON=y1;We.encode=C1;We.decode=w1;We.fromJSON=f1;Rn.encode=O1;Rn.decode=S1;Rn.fromJSON=dv;kr.encode=T1;kr.decode=_1;kr.fromJSON=h1;Ai.encode=A1;Ai.decode=j1;_r.encode=B1;_r.decode=N1;function w1(n,e=new Map,t=ht.V5){const i=M1(n,e);return new We(i,bl(n),e,t)}function S1(n,e=ht.V5){if(n.compression()!==null)throw new Error("Record batch compression not implemented");return new Rn(n.length(),k1(n),I1(n,e))}function _1(n,e=ht.V5){return new kr(Rn.decode(n.data(),e),n.id(),n.isDelta())}function N1(n){return new _r(n.offset(),n.length())}function j1(n){return new Ai(n.length(),n.nullCount())}function k1(n){const e=[];for(let t,i=-1,a=-1,c=n.nodesLength();++int.encode(n,c));Gn.startFieldsVector(n,t.length);const i=Gn.createFieldsVector(n,t),a=e.metadata&&e.metadata.size>0?Gn.createCustomMetadataVector(n,[...e.metadata].map(([c,f])=>{const h=n.createString(`${c}`),m=n.createString(`${f}`);return gt.startKeyValue(n),gt.addKey(n,h),gt.addValue(n,m),gt.endKeyValue(n)})):-1;return Gn.startSchema(n),Gn.addFields(n,i),Gn.addEndianness(n,E1?Ii.Little:Ii.Big),a!==-1&&Gn.addCustomMetadata(n,a),Gn.endSchema(n)}function F1(n,e){let t=-1,i=-1,a=-1;const c=e.type;let f=e.typeId;pe.isDictionary(c)?(f=c.dictionary.typeId,a=ad.visit(c,n),i=ad.visit(c.dictionary,n)):i=ad.visit(c,n);const h=(c.children||[]).map(v=>nt.encode(n,v)),m=dn.createChildrenVector(n,h),g=e.metadata&&e.metadata.size>0?dn.createCustomMetadataVector(n,[...e.metadata].map(([v,x])=>{const b=n.createString(`${v}`),w=n.createString(`${x}`);return gt.startKeyValue(n),gt.addKey(n,b),gt.addValue(n,w),gt.endKeyValue(n)})):-1;return e.name&&(t=n.createString(e.name)),dn.startField(n),dn.addType(n,i),dn.addTypeType(n,f),dn.addChildren(n,m),dn.addNullable(n,!!e.nullable),t!==-1&&dn.addName(n,t),a!==-1&&dn.addDictionary(n,a),g!==-1&&dn.addCustomMetadata(n,g),dn.endField(n)}function O1(n,e){const t=e.nodes||[],i=e.buffers||[];yr.startNodesVector(n,t.length);for(const f of t.slice().reverse())Ai.encode(n,f);const a=n.endVector();yr.startBuffersVector(n,i.length);for(const f of i.slice().reverse())_r.encode(n,f);const c=n.endVector();return yr.startRecordBatch(n),yr.addLength(n,BigInt(e.length)),yr.addNodes(n,a),yr.addBuffers(n,c),yr.endRecordBatch(n)}function T1(n,e){const t=Rn.encode(n,e.data);return li.startDictionaryBatch(n),li.addId(n,BigInt(e.id)),li.addIsDelta(n,e.isDelta),li.addData(n,t),li.endDictionaryBatch(n)}function A1(n,e){return Cy.createFieldNode(n,BigInt(e.length),BigInt(e.nullCount))}function B1(n,e){return Dy.createBuffer(n,BigInt(e.offset),BigInt(e.length))}const E1=(()=>{const n=new ArrayBuffer(2);return new DataView(n).setInt16(0,256,!0),new Int16Array(n)[0]===256})(),Xd=n=>`Expected ${Ve[n]} Message in stream, but was null or length 0.`,ef=n=>`Header pointer of flatbuffer-encoded ${Ve[n]} Message is null or length 0.`,pv=(n,e)=>`Expected to read ${n} metadata bytes, but only read ${e}.`,mv=(n,e)=>`Expected to read ${n} bytes for message body, but only read ${e}.`;class yv{constructor(e){this.source=e instanceof Hl?e:new Hl(e)}[Symbol.iterator](){return this}next(){let e;return(e=this.readMetadataLength()).done||e.value===-1&&(e=this.readMetadataLength()).done||(e=this.readMetadata(e.value)).done?at:e}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}readMessage(e){let t;if((t=this.next()).done)return null;if(e!=null&&t.value.headerType!==e)throw new Error(Xd(e));return t.value}readMessageBody(e){if(e<=0)return new Uint8Array(0);const t=Le(this.source.read(e));if(t.byteLength[...a,...c.VALIDITY&&[c.VALIDITY]||[],...c.TYPE_ID&&[c.TYPE_ID]||[],...c.OFFSET&&[c.OFFSET]||[],...c.DATA&&[c.DATA]||[],...t(c.children)],[])}}readMessage(e){let t;if((t=this.next()).done)return null;if(e!=null&&t.value.headerType!==e)throw new Error(Xd(e));return t.value}readSchema(){const e=Ve.Schema,t=this.readMessage(e),i=t==null?void 0:t.header();if(!t||!i)throw new Error(ef(e));return i}}const ic=4,Cd="ARROW1",Yl=new Uint8Array(Cd.length);for(let n=0;nthis):this}readRecordBatch(e){return this._impl.isFile()?this._impl.readRecordBatch(e):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return fn.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return fn.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,t){throw new Error('"throughDOM" not available in this environment')}static from(e){return e instanceof jr?e:bd(e)?V1(e):wy(e)?G1(e):Ao(e)?Ce(this,void 0,void 0,function*(){return yield jr.from(yield e)}):Sy(e)||Rd(e)||Ny(e)||Ed(e)?H1(new Ci(e)):W1(new Hl(e))}static readAll(e){return e instanceof jr?e.isSync()?Bm(e):Em(e):bd(e)||ArrayBuffer.isView(e)||nc(e)||by(e)?Bm(e):Em(e)}}class Ql extends jr{constructor(e){super(e),this._impl=e}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return qn(this,arguments,function*(){yield Oe(yield*fl(xi(this[Symbol.iterator]())))})}}class Kl extends jr{constructor(e){super(e),this._impl=e}readAll(){return Ce(this,void 0,void 0,function*(){var e,t,i,a;const c=new Array;try{for(var f=!0,h=xi(this),m;m=yield h.next(),e=m.done,!e;f=!0){a=m.value,f=!1;const g=a;c.push(g)}}catch(g){t={error:g}}finally{try{!f&&!e&&(i=h.return)&&(yield i.call(h))}finally{if(t)throw t.error}}return c})}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}}class vv extends Ql{constructor(e){super(e),this._impl=e}}class $1 extends Kl{constructor(e){super(e),this._impl=e}}class xv{get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}constructor(e=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=e}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(e){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=e,this.dictionaries=new Map,this}_loadRecordBatch(e,t){const i=this._loadVectors(e,t,this.schema.fields),a=Ae({type:new Tt(this.schema.fields),length:e.length,children:i});return new An(this.schema,a)}_loadDictionaryBatch(e,t){const{id:i,isDelta:a}=e,{dictionaries:c,schema:f}=this,h=c.get(i),m=f.dictionaries.get(i),g=this._loadVectors(e.data,t,[m]);return(h&&a?h.concat(new Je(g)):new Je(g)).memoize()}_loadVectors(e,t,i){return new ov(t,e.nodes,e.buffers,this.dictionaries,this.schema.metadataVersion).visitMany(i)}}class Jl extends xv{constructor(e,t){super(t),this._reader=bd(e)?new L1(this._handle=e):new yv(this._handle=e)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(e){return this.closed||(this.autoDestroy=wv(this,e),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(e):at}return(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(e):at}next(){if(this.closed)return at;let e;const{_reader:t}=this;for(;e=this._readNextMessageAndValidate();)if(e.isSchema())this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const i=e.header(),a=t.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(i,a)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const i=e.header(),a=t.readMessageBody(e.bodyLength),c=this._loadDictionaryBatch(i,a);this.dictionaries.set(i.id,c)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new uv(this.schema)}):this.return()}_readNextMessageAndValidate(e){return this._reader.readMessage(e)}}class ql extends xv{constructor(e,t){super(t),this._reader=new R1(this._handle=e)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return Ce(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(e){return Ce(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=wv(this,e),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(e){return Ce(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(e):at})}return(e){return Ce(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(e):at})}next(){return Ce(this,void 0,void 0,function*(){if(this.closed)return at;let e;const{_reader:t}=this;for(;e=yield this._readNextMessageAndValidate();)if(e.isSchema())yield this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const i=e.header(),a=yield t.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(i,a)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const i=e.header(),a=yield t.readMessageBody(e.bodyLength),c=this._loadDictionaryBatch(i,a);this.dictionaries.set(i.id,c)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new uv(this.schema)}):yield this.return()})}_readNextMessageAndValidate(e){return Ce(this,void 0,void 0,function*(){return yield this._reader.readMessage(e)})}}class bv extends Jl{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(e,t){super(e instanceof Im?e:new Im(e),t)}isSync(){return!0}isFile(){return!0}open(e){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(const t of this._footer.dictionaryBatches())t&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(e)}readRecordBatch(e){var t;if(this.closed)return null;this._footer||this.open();const i=(t=this._footer)===null||t===void 0?void 0:t.getRecordBatch(e);if(i&&this._handle.seek(i.offset)){const a=this._reader.readMessage(Ve.RecordBatch);if(a!=null&&a.isRecordBatch()){const c=a.header(),f=this._reader.readMessageBody(a.bodyLength);return this._loadRecordBatch(c,f)}}return null}_readDictionaryBatch(e){var t;const i=(t=this._footer)===null||t===void 0?void 0:t.getDictionaryBatch(e);if(i&&this._handle.seek(i.offset)){const a=this._reader.readMessage(Ve.DictionaryBatch);if(a!=null&&a.isDictionaryBatch()){const c=a.header(),f=this._reader.readMessageBody(a.bodyLength),h=this._loadDictionaryBatch(c,f);this.dictionaries.set(c.id,h)}}}_readFooter(){const{_handle:e}=this,t=e.size-gv,i=e.readInt32(t),a=e.readAt(t-i,i);return Qd.decode(a)}_readNextMessageAndValidate(e){var t;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return Ce(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(const i of this._footer.dictionaryBatches())i&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield t.open.call(this,e)})}readRecordBatch(e){return Ce(this,void 0,void 0,function*(){var t;if(this.closed)return null;this._footer||(yield this.open());const i=(t=this._footer)===null||t===void 0?void 0:t.getRecordBatch(e);if(i&&(yield this._handle.seek(i.offset))){const a=yield this._reader.readMessage(Ve.RecordBatch);if(a!=null&&a.isRecordBatch()){const c=a.header(),f=yield this._reader.readMessageBody(a.bodyLength);return this._loadRecordBatch(c,f)}}return null})}_readDictionaryBatch(e){return Ce(this,void 0,void 0,function*(){var t;const i=(t=this._footer)===null||t===void 0?void 0:t.getDictionaryBatch(e);if(i&&(yield this._handle.seek(i.offset))){const a=yield this._reader.readMessage(Ve.DictionaryBatch);if(a!=null&&a.isDictionaryBatch()){const c=a.header(),f=yield this._reader.readMessageBody(a.bodyLength),h=this._loadDictionaryBatch(c,f);this.dictionaries.set(c.id,h)}}})}_readFooter(){return Ce(this,void 0,void 0,function*(){const{_handle:e}=this;e._pending&&(yield e._pending);const t=e.size-gv,i=yield e.readInt32(t),a=yield e.readAt(t-i,i);return Qd.decode(a)})}_readNextMessageAndValidate(e){return Ce(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?tf(e)?new vv(new bv(n.read())):new Ql(new Jl(n)):new Ql(new Jl((function*(){})()))}function H1(n){return Ce(this,void 0,void 0,function*(){const e=yield n.peek(Wo+7&-8);return e&&e.byteLength>=4?tf(e)?new vv(new bv(yield n.read())):new Kl(new ql(n)):new Kl(new ql((function(){return qn(this,arguments,function*(){})})()))})}function G1(n){return Ce(this,void 0,void 0,function*(){const{size:e}=yield n.stat(),t=new Gl(n,e);return e>=U1&&tf(yield t.readAt(0,Wo+7&-8))?new $1(new P1(t)):new Kl(new ql(t))})}function Sv(n){const e=jr.from(n);return Ao(e)?e.then(t=>Sv(t)):e.isAsync()?e.readAll().then(t=>new mn(t)):new mn(e.readAll())}function Y1(n){if(n==null)return null;if(typeof n=="bigint"){const e=Number(n);return Number.isSafeInteger(e)?e:n.toString()}if(n instanceof Date){const e=n.toISOString();return e.endsWith("T00:00:00.000Z")?e.slice(0,10):e}return typeof n=="object"?String(n):n}function Q1(n){const e=Sv(n),t=e.schema.fields.map(a=>a.name),i=new Array(e.numRows);for(let a=0;a({...e,charts:e.charts.map(t=>{var f,h;const i=t.query,a=(f=t.interactions)==null?void 0:f.brush,c=(h=t.interactions)==null?void 0:h.select;return{...t,query:{...i,metrics:Zr(i.metrics)??[],dimensions:Zr(i.dimensions),filters:Zr(i.filters),segments:Zr(i.segments),order_by:Zr(i.order_by),orderBy:Zr(i.orderBy)},interactions:t.interactions?{...t.interactions,brush:typeof a=="object"?{...a,fields:Zr(a.fields)}:a,select:typeof c=="object"?{...c,fields:Zr(c.fields)}:c}:void 0}})}))}}const J1="application/vnd.apache.arrow.stream";class q1{constructor(e){Mn(this,"active",0);Mn(this,"waiters",[]);this.max=e}async run(e){var t;this.active>=this.max&&await new Promise(i=>this.waiters.push(i)),this.active+=1;try{return await e()}finally{this.active-=1,(t=this.waiters.shift())==null||t()}}}function Z1(n){var t,i,a,c,f;const e={};return(t=n.metrics)!=null&&t.length&&(e.metrics=n.metrics),(i=n.dimensions)!=null&&i.length&&(e.dimensions=n.dimensions),(a=n.filters)!=null&&a.length&&(e.filters=n.filters),(c=n.segments)!=null&&c.length&&(e.segments=n.segments),(f=n.orderBy)!=null&&f.length&&(e.order_by=n.orderBy),n.limit!=null&&(e.limit=n.limit),n.offset!=null&&(e.offset=n.offset),n.ungrouped&&(e.ungrouped=!0),n.parameters&&(e.parameters=n.parameters),n.usePreaggregations!=null&&(e.use_preaggregations=n.usePreaggregations),n.timezone&&n.timezone!=="UTC"&&(e.timezone=n.timezone),e}class X1{constructor(e={}){Mn(this,"baseUrl");Mn(this,"token");Mn(this,"sessionToken");Mn(this,"transport");Mn(this,"usePreaggregations");Mn(this,"gate");Mn(this,"onUnauthorized");this.baseUrl=(e.baseUrl??"").replace(/\/$/,""),this.token=e.token,this.transport=e.transport??"json",this.usePreaggregations=e.usePreaggregations??!0,this.gate=new q1(e.maxConcurrency??6),this.onUnauthorized=e.onUnauthorized}body(e){return Z1({usePreaggregations:this.usePreaggregations,...e})}headers(e){const t={...e};return this.sessionToken?t.Authorization=`Sidemantic-Session ${this.sessionToken}`:this.token&&(t.Authorization=`Bearer ${this.token}`),t}isCrossOrigin(){return!this.baseUrl||typeof globalThis.location>"u"?!1:new URL(this.baseUrl,globalThis.location.href).origin!==globalThis.location.origin}url(e){return`${this.baseUrl}${e}`}async getJson(e){const t=await fetch(this.url(e),{headers:this.headers(),credentials:"include"});if(!t.ok)throw new Error(await this.errorText(t,e));return await t.json()}async errorText(e,t){var a;e.status===401&&((a=this.onUnauthorized)==null||a.call(this));let i="";try{const c=await e.json();i=c.error??c.detail??""}catch{}return`${t} failed (${e.status})${i?`: ${i}`:""}`}async health(){try{return(await fetch(this.url("/health"),{headers:this.headers(),credentials:"include"})).ok}catch{return!1}}async getCatalog(){try{const t=await fetch(this.url("/describe"),{headers:this.headers(),credentials:"include"});if(t.ok){const i=vb(await t.json());try{return bb(i,await this.getJson("/graph"))}catch{return i}}}catch{}const e=await this.getJson("/graph");return xb(e)}async getDashboard(){try{const e=await fetch(this.url("/dashboard"),{headers:this.headers()});if(e.status===404)return null;if(!e.ok)throw new Error(await this.errorText(e,"/dashboard"));if(!(e.headers.get("content-type")??"").includes("application/json"))return null;const t=await e.json();return typeof t.title=="string"&&Array.isArray(t.tabs)?K1(t):null}catch{return null}}async compile(e){const t=await fetch(this.url("/compile"),{method:"POST",headers:this.headers({"Content-Type":"application/json"}),credentials:"include",body:JSON.stringify(this.body(e))});if(!t.ok)throw new Error(await this.errorText(t,"/compile"));return(await t.json()).sql}async runQuery(e){return this.gate.run(()=>this.transport==="arrow"?this.runQueryArrow(e):this.runQueryJson(e))}async runQueryJson(e){const t=await fetch(this.url("/query"),{method:"POST",headers:this.headers({"Content-Type":"application/json"}),credentials:"include",body:JSON.stringify(this.body(e))});if(!t.ok)throw new Error(await this.errorText(t,"/query"));const i=await t.json(),a=i.rows??[];return{columns:a.length?Object.keys(a[0]):[],rows:a,rowCount:i.row_count??a.length,sql:i.sql??""}}async runQueryArrow(e){const t=await fetch(this.url("/query?format=arrow"),{method:"POST",headers:this.headers({"Content-Type":"application/json",Accept:J1}),credentials:"include",body:JSON.stringify(this.body(e))});if(!t.ok)throw new Error(await this.errorText(t,"/query"));const i=new Uint8Array(await t.arrayBuffer()),{columns:a,rows:c}=Q1(i),f=t.headers.get("X-Sidemantic-Sql")??"";return{columns:a,rows:c,rowCount:c.length,sql:f}}async createBrowserSession(e){var a;const t=this.isCrossOrigin(),i=await fetch(this.url("/auth/session"),{method:"POST",headers:{Authorization:`Bearer ${e}`,...t?{"X-Sidemantic-Session-Mode":"header"}:{}},credentials:"include"});if(i.status===404||i.ok&&!((a=i.headers.get("content-type"))!=null&&a.includes("application/json"))){this.token=e;return}if(!i.ok)throw new Error(await this.errorText(i,"/auth/session"));if(t){const c=await i.json();if(!c.session_token)throw new Error("/auth/session did not return a cross-origin session token");this.sessionToken=c.session_token}this.token=void 0}}function _v({brand:n,toolbar:e,filters:t,rail:i,children:a,drawer:c,showRail:f=!0,openRailRequest:h}){const[m,g]=F.useState(()=>typeof window<"u"&&window.matchMedia("(max-width: 767px)").matches),[v,x]=F.useState(()=>typeof window>"u"||!window.matchMedia("(max-width: 767px)").matches),b=F.useId(),w=F.useRef(null),j=F.useRef(null),O=f&&v;return F.useEffect(()=>{const T=window.matchMedia("(max-width: 767px)"),W=()=>{g(T.matches),x(!T.matches)};return T.addEventListener("change",W),()=>T.removeEventListener("change",W)},[]),F.useEffect(()=>{h&&!m&&x(!0)},[h,m]),F.useEffect(()=>{if(!m||!v)return;const T=j.current,W=document.body.style.overflow;document.body.style.overflow="hidden",window.requestAnimationFrame(()=>{var E,I;return(I=(E=w.current)==null?void 0:E.querySelector("button"))==null?void 0:I.focus()});function R(E){var U;if(E.key==="Escape"){E.preventDefault(),x(!1);return}if(E.key!=="Tab")return;const I=(U=w.current)==null?void 0:U.querySelectorAll('button:not(:disabled), select:not(:disabled), input:not(:disabled), [href], [tabindex]:not([tabindex="-1"])');if(!(I!=null&&I.length))return;const V=I[0],M=I[I.length-1];E.shiftKey&&document.activeElement===V?(E.preventDefault(),M.focus()):!E.shiftKey&&document.activeElement===M&&(E.preventDefault(),V.focus())}return document.addEventListener("keydown",R,!0),()=>{document.body.style.overflow=W,document.removeEventListener("keydown",R,!0),T==null||T.focus()}},[m,v]),u.jsxs("div",{className:"flex h-[100dvh] min-w-0 flex-col overflow-hidden bg-bg text-ink",children:[u.jsxs("header",{className:"relative z-40 flex shrink-0 flex-col gap-2 border-b border-line bg-surface px-3 py-2 md:flex-row md:items-center md:justify-between md:gap-3",children:[u.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[f?u.jsx("button",{ref:j,type:"button","aria-label":m?"Open catalog":v?"Collapse sidebar":"Expand sidebar","aria-expanded":v,"aria-controls":b,onClick:()=>x(T=>!T),className:"grid size-7 shrink-0 place-items-center border border-line text-faint hover:border-faint hover:text-ink",children:v?"‹":"›"}):null,n]}),u.jsx("div",{className:"flex w-full min-w-0 flex-wrap items-center gap-2 overflow-visible md:w-auto md:shrink-0 md:flex-nowrap",children:e})]}),t?u.jsx("div",{className:"flex min-h-9 shrink-0 flex-wrap items-center gap-2 overflow-x-auto border-b border-line bg-surface px-3 py-2 md:h-9 md:flex-nowrap md:py-0",children:t}):null,u.jsxs("div",{className:`grid min-h-0 min-w-0 flex-1 grid-cols-1 ${O?"md:grid-cols-[260px_minmax(0,1fr)]":"md:grid-cols-1"}`,children:[f&&O?u.jsxs(u.Fragment,{children:[m?u.jsx("button",{type:"button","aria-label":"Close catalog",className:"fixed inset-0 z-40 bg-black/35 backdrop-blur-[2px]",onClick:()=>x(!1)}):null,u.jsxs("aside",{id:b,ref:w,role:m?"dialog":void 0,"aria-modal":m?"true":void 0,"aria-label":m?"Data catalog":void 0,onClick:T=>{m&&T.target.closest("[data-catalog-metric], [data-catalog-dimension]")&&x(!1)},onChange:()=>m&&x(!1),className:"fixed inset-y-0 left-0 z-50 min-h-0 w-[min(88vw,320px)] overflow-y-auto bg-surface shadow-[var(--shadow)] md:static md:z-auto md:w-auto md:border-r md:border-line md:shadow-none",children:[m?u.jsxs("div",{"data-testid":"catalog-drawer-header",className:"sticky top-0 z-10 flex items-center justify-between border-b border-line bg-surface px-4 py-3",children:[u.jsxs("div",{children:[u.jsx("p",{className:"text-sm font-semibold text-ink",children:"Catalog"}),u.jsx("p",{className:"text-xs text-muted",children:"Choose a model and fields"})]}),u.jsx("button",{type:"button","aria-label":"Close catalog",onClick:()=>x(!1),className:"grid size-10 place-items-center rounded-full bg-surface-soft text-muted hover:bg-line hover:text-ink",children:u.jsx("span",{"aria-hidden":"true",className:"text-xl leading-none",children:"×"})})]}):null,i]})]}):null,u.jsxs("main",{className:"relative min-h-0 min-w-0 overflow-hidden",children:[u.jsx("div",{className:`h-full overflow-y-auto ${c?"pb-8":""}`,children:a}),c]})]})]})}function eS({dashboardTitle:n,modelLabel:e,onHome:t}){const i=u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"text-sm font-semibold text-ink",children:n??"Sidemantic"}),n===void 0&&e?u.jsx("span",{className:"truncate text-2xs text-faint",children:e}):null]});return n!==void 0?u.jsx("span",{className:"flex min-w-0 items-baseline gap-2",children:i}):u.jsx("button",{type:"button",onClick:t,"aria-label":"Home",className:"flex min-w-0 items-baseline gap-2",children:i})}const tS=new Set(["second","minute","hour","day","week","month","quarter","year"]);function il(n){return n===void 0?[]:Array.isArray(n)?n:[n]}function ol(n,e){return n.models.flatMap(t=>t.dimensions).find(t=>e===t.ref||e.startsWith(`${t.ref}__`))}function nS(n,e){const t=n.split("__").at(-1);return t&&tS.has(t)?t:e}function rS(n){var a;const e=(a=n.defaults)==null?void 0:a.query;if(!e||typeof e!="object")return;const t=e,i=t.use_preaggregations??t.usePreaggregations;return typeof i=="boolean"?i:void 0}function sS(n,e){var c;const t=(c=n.defaults)==null?void 0:c.query,i=t&&typeof t=="object"?t:{},a=e.query.interaction_preaggregations??e.query.interactionPreaggregations??e.interaction_preaggregations??e.interactionPreaggregations??i.interaction_preaggregations??i.interactionPreaggregations;return typeof a=="boolean"?a:void 0}function Cs(n,e,t){var I,V,M,U,G,z,Y;if(!(e!=null&&e.tabs.length))return null;const i=e.tabs.find(P=>P.id===t)??e.tabs[0],a=i.charts[0];if(!a)return null;const c=il(a.query.dimensions),f=il(a.query.metrics),h=f.map(P=>{var ee;return(ee=n.graphMetrics.find(te=>te.ref===P))==null?void 0:ee.ownerModel}).find(P=>!!P),m=((I=f.find(P=>P.includes(".")))==null?void 0:I.split(".")[0])??h??((V=c.find(P=>P.includes(".")))==null?void 0:V.split(".")[0]),g=n.models.find(P=>P.name===m)??n.models[0];if(!g)return null;const v=[...n.models.flatMap(P=>P.metrics),...ji(n,g.name)],x=f.map(P=>v.find(ee=>ee.ref===P)).filter(P=>!!P),b=c.map(P=>ol(n,P)).filter((P,ee,te)=>!!P&&te.findIndex(ne=>(ne==null?void 0:ne.ref)===(P==null?void 0:P.ref))===ee),w=(M=a.encoding)==null?void 0:M.y,O=(Array.isArray(w)?w:w?[w]:[]).find(P=>x.some(ee=>ee.ref===P))??((U=x[0])==null?void 0:U.ref)??((G=g.metrics[0])==null?void 0:G.ref)??"",T=(z=a.encoding)==null?void 0:z.x,W=(T&&((Y=ol(n,T))==null?void 0:Y.type)==="time"?T:void 0)??c.find(P=>{var ee;return((ee=ol(n,P))==null?void 0:ee.type)==="time"}),R=g.defaultGrain??"month",E=W?ol(n,W):g.timeDimension;return{id:i.id,label:i.label??i.id,title:a.title??e.title,model:g,metrics:x.length?x:g.metrics,dimensions:b.length?b:g.dimensions,timeDimension:E,selectedMetric:O,grain:W?nS(W,R):R,filters:il(a.query.filters),segments:il(a.query.segments),usePreaggregations:sS(e,a)??a.query.use_preaggregations??a.query.usePreaggregations??rS(e)}}const Fd=["second","minute","hour","day","week","month","quarter","year"];function iS(n,e){if(n!=null&&n.length){const i=new Set(n.map(c=>c.toLowerCase())),a=Fd.filter(c=>i.has(c));if(a.length)return a}const t=["day","week","month","quarter","year"];return e&&!t.includes(e)?Fd.filter(i=>i===e||t.includes(i)):t}function Ni(n){return n.toISOString().slice(0,10)}function nf(n){return n.slice(0,10)}function Oi(n){const e=n.trim();return/^\d{4}-\d{2}-\d{2}$/.test(e)?`${e}T00:00:00Z`:/[zZ]|[+-]\d{2}:?\d{2}$/.test(e)?e:`${e.replace(" ","T")}Z`}function Fs(n){return new Date(`${nf(n)}T00:00:00Z`)}function Uo(n,e){const t=Fs(n);return t.setUTCDate(t.getUTCDate()+e),Ni(t)}function oS(n){return Math.round((Fs(n.to).getTime()-Fs(n.from).getTime())/864e5)+1}function aS(n){if(n.from.includes("T")||n.to.includes("T")){const a=Date.parse(Oi(n.from)),f=Date.parse(Oi(n.to))-a;return{from:new Date(a-f).toISOString().slice(0,19),to:new Date(a).toISOString().slice(0,19)}}const e=oS(n),t=Uo(n.from,-1);return{from:Uo(t,-(e-1)),to:t}}function Rm(n){if(n.includes("T")){const f=new Date(Oi(n)),h=f.getUTCFullYear()-1,m=f.getUTCMonth(),g=new Date(Date.UTC(h,m+1,0)).getUTCDate();return new Date(Date.UTC(h,m,Math.min(f.getUTCDate(),g),f.getUTCHours(),f.getUTCMinutes(),f.getUTCSeconds())).toISOString().slice(0,19)}const e=Fs(n),t=e.getUTCFullYear()-1,i=e.getUTCMonth(),a=e.getUTCDate(),c=new Date(Date.UTC(t,i+1,0)).getUTCDate();return Ni(new Date(Date.UTC(t,i,Math.min(a,c))))}function lS(n){return{from:Rm(n.from),to:Rm(n.to)}}function cS(n,e){const t=n.trim(),i=t.slice(0,10);if(e!=="second"&&e!=="minute"&&e!=="hour")return i||n;const a=t.slice(10).match(/(\d{2}):(\d{2})(?::(\d{2}))?/);if(!a)return i||n;const c=e==="second"&&a[3]?`${a[1]}:${a[2]}:${a[3]}`:`${a[1]}:${a[2]}`;return`${i} ${c}`}const uS=[{key:"7d",label:"Last 7 days",days:7},{key:"28d",label:"Last 28 days",days:28},{key:"90d",label:"Last 90 days",days:90},{key:"180d",label:"Last 180 days",days:180},{key:"365d",label:"Last 12 months",days:365}];function dS(n,e=new Date){const t=Ni(e);return{from:Uo(t,-(n-1)),to:t}}function fS(n,e){return e.from.includes("T")||e.to.includes("T")?[`${n} >= cast('${e.from}' as timestamp)`,`${n} < cast('${e.to}' as timestamp)`]:[`${n} >= cast('${e.from}' as date)`,`${n} < cast('${Uo(e.to,1)}' as date)`]}function Lm(n,e,t){if(t==="second"||t==="minute"||t==="hour"){const f=t==="second"?1e3:t==="minute"?6e4:36e5;return Math.round((Date.parse(Oi(e))-Date.parse(Oi(n)))/f)}const i=Fs(n),a=Fs(e),c=(a.getUTCFullYear()-i.getUTCFullYear())*12+(a.getUTCMonth()-i.getUTCMonth());switch(t){case"week":return Math.round((a.getTime()-i.getTime())/(7*864e5));case"month":return c;case"quarter":return Math.round(c/3);case"year":return a.getUTCFullYear()-i.getUTCFullYear();default:return Math.round((a.getTime()-i.getTime())/864e5)}}function ld(n,e){return new Date(Date.parse(Oi(n))+e).toISOString().slice(0,19)}function hS(n,e){const t=nf(n),i=Fs(t);switch(e){case"second":return ld(n,1e3);case"minute":return ld(n,6e4);case"hour":return ld(n,36e5);case"day":return t;case"week":return Uo(n,6);case"month":return Ni(new Date(Date.UTC(i.getUTCFullYear(),i.getUTCMonth()+1,0)));case"quarter":{const a=Math.floor(i.getUTCMonth()/3)*3+3;return Ni(new Date(Date.UTC(i.getUTCFullYear(),a,0)))}case"year":return Ni(new Date(Date.UTC(i.getUTCFullYear(),12,0)));default:return n}}function rf(n){return n.mode==="contains"?!n.pattern:n.values.length===0}function sf(n){return Object.fromEntries(n.map(e=>[e.ref,e.type]))}function oc(n){return sf(n.models.flatMap(e=>e.dimensions))}function Um(n,e){if((e==="numeric"||e==="number")&&n.trim()!==""&&Number.isFinite(Number(n)))return n;if(e==="boolean"){const t=n.toLowerCase();if(t==="true"||t==="false")return t}return Tn(n)}function Nv(n){return n.replaceAll("\\","\\\\").replaceAll("%","\\%").replaceAll("_","\\_")}function pS(n,e,t){const i=e.mode==="exclude",a=e.values.includes(er),c=e.values.filter(h=>h!==er);let f=null;if(c.length===1)f=`${n} ${i?"!=":"="} ${Um(c[0],t)}`;else if(c.length>1){const h=c.map(m=>Um(m,t)).join(", ");f=`${n} ${i?"NOT IN":"IN"} (${h})`}if(!i){const h=[];return f&&h.push(f),a&&h.push(`${n} IS NULL`),h.length===0?null:h.length===1?h[0]:`(${h.join(" OR ")})`}if(a){const h=[];return f&&h.push(f),h.push(`${n} IS NOT NULL`),h.length===1?h[0]:`(${h.join(" AND ")})`}return f?`(${f} OR ${n} IS NULL)`:null}function jv(n,e={}){var i;const t=[];for(const[a,c]of Object.entries(n)){if(a===e.excludeDim||rf(c))continue;const f=(i=e.types)==null?void 0:i[a];if(c.mode==="contains"){const m=Tn(`%${Nv(c.pattern??"")}%`);t.push(`CAST(${a} AS VARCHAR) ILIKE ${m} ESCAPE '\\'`);continue}const h=pS(a,c,f);h&&t.push(h)}return t}function Os(n,e={}){const t=jv(n,{types:e.types,excludeDim:e.excludeDim});return e.timeRef&&e.range&&t.push(...fS(e.timeRef,e.range)),t}function $m(n,e,t,i){return{metrics:n,filters:e,...t!=null&&t.length?{segments:t}:{},...i!=null?{usePreaggregations:i}:{}}}const mS={second:2e3,minute:2e3,hour:9600,day:4e3,week:800,month:240,quarter:120,year:60};function Pm(n,e,t,i,a,c,f=!1){const h=`${e}__${t}`,m=t==="second"||t==="minute",g=m&&!f;return{metrics:n,dimensions:[h],filters:i,...a!=null&&a.length?{segments:a}:{},...c!=null?{usePreaggregations:c}:{},orderBy:[`${h} ${g?"DESC":"ASC"}`],...!m||g?{limit:mS[t]??2e3}:{}}}function zm(n,e,t,i=6,a,c){return{metrics:[n],dimensions:[e],filters:t,...a!=null&&a.length?{segments:a}:{},...c!=null?{usePreaggregations:c}:{},orderBy:[`${n} DESC`],limit:i}}function yS(n,e,t=50,i,a){return{dimensions:[n],filters:e,...i!=null&&i.length?{segments:i}:{},...a!=null?{usePreaggregations:a}:{},orderBy:[`${n} ASC`],limit:t}}function gS(n,e,t,i,a=500){return{metrics:n,dimensions:e,filters:t,orderBy:i,limit:a}}function vS(n,e,t=50,i,a){return{dimensions:n.dimensions,metrics:n.metrics,filters:e,...i!=null&&i.length?{segments:i}:{},...a!=null?{usePreaggregations:a}:{},ungrouped:!0,limit:t}}function xS(n,e){const t=n??[];return t.includes(e)?t.filter(i=>i!==e):[...t,e]}function al(n,e,t){const i={...n};return rf(t)?delete i[e]:i[e]=t,i}function bS(n,e){switch(e.type){case"hydrate":return e.state;case"setView":return{...n,view:e.view};case"setDashboardTab":return{...n,view:"explore",dashboardTab:e.tab,model:e.model,selectedMetric:e.metric,grain:e.grain,filters:{},dateRange:void 0,pivotDims:[],pivotMetrics:[]};case"setModel":return{...n,model:e.model,selectedMetric:e.metric,grain:e.grain,filters:{},pivotDims:[],pivotMetrics:[]};case"setMetric":return{...n,selectedMetric:e.metric};case"toggleFilter":{const t=n.filters[e.dim],i=e.mode??(t&&t.mode!=="contains"?t.mode:"include"),a=t&&t.mode===i?t.values:[],c=xS(a,e.value);return{...n,filters:al(n.filters,e.dim,{mode:i,values:c})}}case"setFilterMode":{const t=n.filters[e.dim],i={mode:e.mode,values:(t==null?void 0:t.values)??[],pattern:t==null?void 0:t.pattern};return{...n,filters:al(n.filters,e.dim,i)}}case"setFilterPattern":{const t=n.filters[e.dim],i={mode:"contains",values:(t==null?void 0:t.values)??[],pattern:e.pattern};return{...n,filters:al(n.filters,e.dim,i)}}case"removeFilterValue":{const t=n.filters[e.dim];if(!t)return n;const i=t.values.filter(a=>a!==e.value);return{...n,filters:al(n.filters,e.dim,{...t,values:i})}}case"removeFilterDim":{const t={...n.filters};return delete t[e.dim],{...n,filters:t}}case"clearFilters":return{...n,filters:{}};case"setGrain":return{...n,grain:e.grain};case"setTimezone":return{...n,timezone:e.timezone};case"setDateRange":return{...n,dateRange:e.range};case"setContextColumn":return{...n,contextColumn:e.column};case"setComparison":return{...n,comparison:e.comparison,comparisonRange:e.comparison==="custom"?e.range:void 0};case"setPivotDims":return{...n,pivotDims:e.dims};case"setPivotMetrics":return{...n,pivotMetrics:e.metrics};case"reset":return{...e.initial,view:n.view};default:return n}}function wS(n){return n.models.find(e=>e.timeDimension)??n.models[0]}function kv(n,e){var t,i;return((t=n==null?void 0:n.metrics[0])==null?void 0:t.ref)??(n?(i=ji(e,n.name)[0])==null?void 0:i.ref:void 0)??""}function Iv(n,e,t){const i=Cs(n,e,t),a=(i==null?void 0:i.model)??wS(n),c=(i==null?void 0:i.selectedMetric)??kv(a,n);return{view:i?"explore":"home",dashboardTab:i==null?void 0:i.id,model:(a==null?void 0:a.name)??"",selectedMetric:c,filters:{},grain:(i==null?void 0:i.grain)??(a==null?void 0:a.defaultGrain)??"month",timezone:"UTC",dateRange:void 0,contextColumn:"none",comparison:"previous",comparisonRange:void 0,pivotDims:[],pivotMetrics:[]}}function SS(n,e,t){const i=new URLSearchParams(t),a=i.get("metric"),c=i.get("grain"),f=a===n.selectedMetric&&e.metrics.some(m=>m.ref===a),h=c===n.grain;return{...n,view:"explore",dashboardTab:e.id,model:e.model.name,selectedMetric:f?n.selectedMetric:e.selectedMetric,grain:h?n.grain:e.grain}}const _S=["home","explore","pivot"],NS=new Set(Fd),jS=new Set(["none","pctTotal","delta","deltaPct"]),kS=new Set(["off","previous","year","custom"]),IS="none",MS="previous",DS="UTC";function CS(n){return n!=null&&/^[A-Za-z][A-Za-z0-9/_+-]{0,63}$/.test(n)}function cd(n){if(n)try{return JSON.parse(n)}catch{return}}function Zl(n){return Array.isArray(n)&&n.every(e=>typeof e=="string")}function ll(n){return n!=null&&/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2})?$/.test(n)&&!Number.isNaN(Date.parse(n))}const FS=new Set(["include","exclude","contains"]);function OS(n){if(Zl(n))return{mode:"include",values:n};if(typeof n!="object"||n===null||Array.isArray(n))return null;const e=n;if(!FS.has(e.mode))return null;const t=e.mode,i=Zl(e.values)?e.values:[],a=typeof e.pattern=="string"?e.pattern:void 0,c={mode:t,values:i,pattern:a};return rf(c)?null:c}function TS(n){if(typeof n!="object"||n===null||Array.isArray(n))return null;const e={};for(const[t,i]of Object.entries(n)){const a=OS(i);a&&(e[t]=a)}return e}function AS(n){const e={};for(const[t,i]of Object.entries(n))e[t]=i.mode==="include"?i.values:i;return e}function BS(n){const e=new URLSearchParams;return e.set("view",n.view),n.dashboardTab&&e.set("tab",n.dashboardTab),n.model&&e.set("model",n.model),n.selectedMetric&&e.set("metric",n.selectedMetric),n.grain&&e.set("grain",n.grain),n.timezone&&n.timezone!==DS&&e.set("tz",n.timezone),n.dateRange&&(e.set("from",n.dateRange.from),e.set("to",n.dateRange.to)),n.contextColumn!==IS&&e.set("ctx",n.contextColumn),n.comparison!==MS&&e.set("cmp",n.comparison),n.comparison==="custom"&&n.comparisonRange&&(e.set("cfrom",n.comparisonRange.from),e.set("cto",n.comparisonRange.to)),Object.keys(n.filters).length&&e.set("filters",JSON.stringify(AS(n.filters))),n.pivotDims.length&&e.set("pdims",JSON.stringify(n.pivotDims)),n.pivotMetrics.length&&e.set("pmetrics",JSON.stringify(n.pivotMetrics)),e.toString()}function ES(n,e){const t=new URLSearchParams(n),i={...e},a=t.get("view");a&&_S.includes(a)&&(i.view=a);const c=t.get("tab");c&&(i.dashboardTab=c);const f=t.get("model");f&&(i.model=f);const h=t.get("metric");h&&(i.selectedMetric=h);const m=t.get("grain");m&&NS.has(m)&&(i.grain=m);const g=t.get("tz");CS(g)&&(i.timezone=g);const v=t.get("from"),x=t.get("to");ll(v)&&ll(x)&&Date.parse(v)<=Date.parse(x)&&(i.dateRange={from:v,to:x});const b=t.get("ctx");b&&jS.has(b)&&(i.contextColumn=b);const w=t.get("cmp");w&&kS.has(w)&&(i.comparison=w);const j=t.get("cfrom"),O=t.get("cto");i.comparison==="custom"&&ll(j)&&ll(O)&&Date.parse(j)<=Date.parse(O)&&(i.comparisonRange={from:j,to:O});const T=TS(cd(t.get("filters")));T&&(i.filters=T);const W=cd(t.get("pdims"));Zl(W)&&(i.pivotDims=W);const R=cd(t.get("pmetrics"));return Zl(R)&&(i.pivotMetrics=R),i}const Mv=F.createContext(null);function RS({catalog:n,backend:e,dashboard:t,children:i}){const a=F.useMemo(()=>Iv(n,t),[n,t]),[c,f]=F.useReducer(bS,void 0,()=>{const m=ES(window.location.search,a),g=Cs(n,t,m.dashboardTab);return g?SS(m,g,window.location.search):m});F.useEffect(()=>{const m=BS(c),g=`${window.location.pathname}${m?`?${m}`:""}`;window.history.replaceState(null,"",g)},[c]);const h=F.useMemo(()=>({state:c,dispatch:f,catalog:n,backend:e,initial:a,dashboard:t}),[c,n,e,a,t]);return u.jsx(Mv.Provider,{value:h,children:i})}function ls(){const n=F.useContext(Mv);if(!n)throw new Error("useExplorer must be used within ExplorerProvider");return n}const Is={active:0,listeners:new Set};function Dv(){for(const n of Is.listeners)n()}function LS(){Is.active+=1,Dv()}function US(){Is.active=Math.max(0,Is.active-1),Dv()}function Cv(){return F.useSyncExternalStore(n=>(Is.listeners.add(n),()=>Is.listeners.delete(n)),()=>Is.active>0,()=>!1)}const $S=80;function Zn(n,e){const[t,i]=F.useState({loading:!1}),a=F.useRef(0),c=e?JSON.stringify(e):null;return F.useEffect(()=>{if(!e){i({loading:!1});return}const f=++a.current;i(m=>({result:m.result,loading:!0}));const h=setTimeout(()=>{LS(),n.runQuery(e).then(m=>{f===a.current&&i({result:m,loading:!1})}).catch(m=>{f===a.current&&i({loading:!1,error:m instanceof Error?m.message:String(m)})}).finally(()=>US())},$S);return()=>clearTimeout(h)},[c,n]),t}const PS=[{mode:"include",label:"Include"},{mode:"exclude",label:"Exclude"},{mode:"contains",label:"Contains"}],zS=50,Vm=200;function Wm(n,e){const[t,i]=F.useState(n);return F.useEffect(()=>{const a=setTimeout(()=>i(n),e);return()=>clearTimeout(a)},[n,e]),t}function Fv({dim:n,model:e,onClose:t}){var H,_;const{state:i,dispatch:a,backend:c,catalog:f,dashboard:h}=ls(),m=F.useMemo(()=>Cs(f,h,i.dashboardTab),[f,h,i.dashboardTab]),g=i.filters[n.ref],[v,x]=F.useState((g==null?void 0:g.mode)??"include"),b=F.useMemo(()=>new Set((g==null?void 0:g.mode)!=="contains"?(g==null?void 0:g.values)??[]:[]),[g]),w=F.useRef(null),j=F.useRef(null),O=F.useId(),[T,W]=F.useState(""),R=Wm(T,Vm),E=(g==null?void 0:g.mode)==="contains"?g.pattern??"":"",[I,V]=F.useState(E),M=Wm(I,Vm);F.useEffect(()=>{var Z;const k=document.activeElement;return(Z=j.current)==null||Z.focus(),()=>{var ae;return(ae=k==null?void 0:k.focus)==null?void 0:ae.call(k)}},[]),F.useEffect(()=>{function k(ae){ae.key==="Escape"&&(ae.stopPropagation(),t())}function Z(ae){w.current&&!w.current.contains(ae.target)&&t()}return document.addEventListener("keydown",k,!0),document.addEventListener("mousedown",Z,!0),()=>{document.removeEventListener("keydown",k,!0),document.removeEventListener("mousedown",Z,!0)}},[t]),F.useEffect(()=>{v==="contains"&&M!==E&&a({type:"setFilterPattern",dim:n.ref,pattern:M})},[M,v,n.ref,a]);const U=((H=m==null?void 0:m.timeDimension)==null?void 0:H.ref)??((_=e.timeDimension)==null?void 0:_.ref),G=F.useMemo(()=>oc(f),[f]),z=F.useMemo(()=>{const k=[...(m==null?void 0:m.filters)??[],...Os(i.filters,{timeRef:U,range:i.dateRange,excludeDim:n.ref,types:G})];if(R.trim()){const Z=Tn(`%${Nv(R.trim())}%`);k.push(`CAST(${n.ref} AS VARCHAR) ILIKE ${Z} ESCAPE '\\'`)}return k},[m,i.filters,U,i.dateRange,n.ref,R,G]),Y=v!=="contains",{result:P,loading:ee,error:te}=Zn(c,Y?yS(n.ref,z,zS,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations):null),ne=Sr(n.ref),ie=F.useMemo(()=>P?P.rows.map(k=>{const Z=k[ne];return Z==null?er:String(Z)}):[],[P,ne]),re=!!P&&P.rows.length>0&&!P.columns.includes(ne),se=Y&&(ee||re);function A(k){x(k),g&&a({type:"setFilterMode",dim:n.ref,mode:k}),k==="contains"&&V(E)}function Q(k){var we;if(k.key!=="Tab")return;const Z=(we=w.current)==null?void 0:we.querySelectorAll('button, input, [href], select, textarea, [tabindex]:not([tabindex="-1"])');if(!Z||Z.length===0)return;const ae=Z[0],ce=Z[Z.length-1];k.shiftKey&&document.activeElement===ae?(k.preventDefault(),ce.focus()):!k.shiftKey&&document.activeElement===ce&&(k.preventDefault(),ae.focus())}return u.jsxs("div",{ref:w,role:"dialog","aria-modal":"true","aria-labelledby":O,onKeyDown:Q,className:"absolute left-0 z-50 mt-1 w-64 border border-line bg-surface p-2 text-2xs shadow-lg",children:[u.jsxs("div",{id:O,className:"mb-2 flex items-baseline justify-between gap-2",children:[u.jsx("span",{className:"truncate font-semibold text-ink",children:n.label}),u.jsx("button",{type:"button","aria-label":"Close filter editor",onClick:t,className:"grid size-4 place-items-center rounded-full bg-surface-soft text-faint hover:bg-line hover:text-ink",children:"×"})]}),u.jsx("div",{role:"group","aria-label":"Filter mode",className:"mb-2 grid grid-cols-3 gap-px border border-line bg-line",children:PS.map(({mode:k,label:Z})=>u.jsx("button",{type:"button","aria-pressed":v===k,onClick:()=>A(k),className:`px-1.5 py-1 text-center ${v===k?"bg-accent-soft font-medium text-accent":"bg-surface text-muted hover:bg-surface-soft"}`,children:Z},k))}),v==="contains"?u.jsx("input",{ref:j,type:"text","aria-label":`${n.label} contains`,placeholder:"Substring…",value:I,onChange:k=>V(k.target.value),className:"w-full border border-line bg-surface px-1.5 py-1 text-2xs text-ink placeholder:text-faint"}):u.jsxs(u.Fragment,{children:[u.jsx("input",{ref:j,type:"text","aria-label":`Search ${n.label} values`,placeholder:"Search values…",value:T,onChange:k=>W(k.target.value),className:"w-full border border-line bg-surface px-1.5 py-1 text-2xs text-ink placeholder:text-faint"}),u.jsx("div",{className:"mt-2 max-h-56 overflow-y-auto",role:"group","aria-label":`${n.label} values`,children:te?u.jsx("p",{className:"px-1 py-2 text-danger",children:te}):se?u.jsx("div",{className:"space-y-1.5 p-1",children:[0,1,2,3,4].map(k=>u.jsx("div",{className:"skeleton h-4 w-full"},k))}):ie.length===0?u.jsx("p",{className:"px-1 py-2 text-faint",children:"No values"}):ie.map(k=>{const Z=b.has(k);return u.jsxs("label",{className:"flex cursor-pointer items-center gap-2 px-1 py-1 hover:bg-surface-soft",children:[u.jsx("input",{type:"checkbox",checked:Z,onChange:()=>a({type:"toggleFilter",dim:n.ref,value:k,mode:v}),className:"size-3 accent-[var(--accent)]"}),u.jsx("span",{className:"min-w-0 truncate text-ink",children:rs(k)})]},k)})})]}),u.jsxs("div",{className:"mt-2 flex items-center justify-between border-t border-line pt-2",children:[u.jsx("button",{type:"button",onClick:()=>a({type:"removeFilterDim",dim:n.ref}),className:"text-muted underline-offset-2 hover:text-ink hover:underline",children:"Clear"}),u.jsx("button",{type:"button",onClick:t,className:"border border-line px-2 py-1 text-muted hover:bg-surface-soft",children:"Done"})]})]})}function VS({model:n}){const e=n.dimensions.filter(m=>m.type!=="time"),[t,i]=F.useState(!1),[a,c]=F.useState(null),f=F.useRef(null);F.useEffect(()=>{if(!t)return;function m(v){v.key==="Escape"&&h()}function g(v){a||f.current&&!f.current.contains(v.target)&&h()}return document.addEventListener("keydown",m,!0),document.addEventListener("mousedown",g,!0),()=>{document.removeEventListener("keydown",m,!0),document.removeEventListener("mousedown",g,!0)}},[t,a]);function h(){i(!1),c(null)}return e.length===0?null:u.jsxs("span",{ref:f,className:"relative inline-flex",children:[u.jsx("button",{type:"button","aria-haspopup":"dialog","aria-expanded":t,onClick:()=>t?h():i(!0),className:"inline-flex h-7 shrink-0 items-center rounded-full border border-dashed border-line px-3 text-xs text-muted hover:border-faint hover:text-ink",children:"+ Filter"}),t&&!a?u.jsx("div",{role:"menu","aria-label":"Add a filter for a dimension",className:"absolute left-0 z-50 mt-1 max-h-64 w-48 overflow-y-auto rounded-xl border border-line bg-surface p-1.5 text-2xs shadow-[var(--shadow)]",children:e.map(m=>u.jsx("button",{type:"button",role:"menuitem",onClick:()=>c(m),className:"block w-full truncate px-1.5 py-1 text-left text-muted hover:bg-surface-soft hover:text-ink",children:m.label},m.ref))}):null,t&&a?u.jsx(Fv,{dim:a,model:n,onClose:h}):null]})}function ud(n,e){return n.includes(e)?n.filter(t=>t!==e):[...n,e]}function Hm({metric:n,selected:e,multiple:t,onSelect:i}){return u.jsxs("button",{type:"button","data-catalog-metric":n.ref,"data-selected":e||void 0,"aria-pressed":e,title:n.description,onClick:i,className:"flex w-full items-center justify-between gap-2 border-l-2 px-3 py-1 text-left text-xs hover:bg-surface-soft data-[selected=true]:border-l-accent data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent border-l-transparent text-muted",children:[u.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[t?u.jsx("span",{"aria-hidden":"true",className:"w-3 shrink-0 text-center text-accent",children:e?"✓":""}):null,u.jsx("span",{className:"truncate",children:n.label})]}),n.agg?u.jsx("span",{className:"shrink-0 text-2xs text-faint",children:n.agg}):null]})}function WS({dimension:n,selected:e,onSelect:t}){return u.jsxs("button",{type:"button","data-catalog-dimension":n.ref,"data-selected":e||void 0,"aria-pressed":e,title:n.description,onClick:t,className:"flex w-full items-center justify-between gap-2 border-l-2 border-l-transparent px-3 py-1 text-left text-xs text-muted hover:bg-surface-soft data-[selected=true]:border-l-accent data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent",children:[u.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[u.jsx("span",{"aria-hidden":"true",className:"w-3 shrink-0 text-center",children:e?"✓":""}),u.jsx("span",{className:"truncate",children:n.label})]}),u.jsx("span",{className:"shrink-0 text-2xs text-faint",children:n.type==="time"?"time":""})]})}function HS(){const{state:n,dispatch:e,catalog:t}=ls(),i=t.models.find(h=>h.name===n.model),a=ji(t,n.model),c=n.view==="pivot",f=n.pivotMetrics.length?n.pivotMetrics:n.selectedMetric?[n.selectedMetric]:[];return u.jsxs("nav",{"aria-label":"Semantic layer catalog",className:"flex flex-col gap-4 py-3 text-sm",children:[u.jsxs("section",{className:"px-3",children:[u.jsx("h2",{className:"mb-1 text-xs font-medium text-muted",children:"Model"}),u.jsx("select",{"aria-label":"Model",value:n.model,onChange:h=>{var v,x;const m=t.models.find(b=>b.name===h.target.value),g=((v=m==null?void 0:m.metrics[0])==null?void 0:v.ref)??((x=ji(t,h.target.value)[0])==null?void 0:x.ref)??"";e({type:"setModel",model:h.target.value,metric:g,grain:(m==null?void 0:m.defaultGrain)??"month"})},className:"w-full border border-line bg-surface px-2 py-1 text-xs text-ink",children:t.models.map(h=>u.jsx("option",{value:h.name,children:h.label},h.name))})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-1 px-3 text-xs font-medium text-muted",children:"Metrics"}),u.jsx("div",{children:((i==null?void 0:i.metrics)??[]).map(h=>u.jsx(Hm,{metric:h,selected:c?f.includes(h.ref):n.selectedMetric===h.ref,multiple:c,onSelect:()=>e(c?{type:"setPivotMetrics",metrics:ud(f,h.ref)}:{type:"setMetric",metric:h.ref})},h.ref))}),a.length?u.jsxs(u.Fragment,{children:[u.jsx("h3",{className:"mb-1 mt-3 px-3 text-xs font-medium text-muted",children:"Shared metrics"}),u.jsx("div",{children:a.map(h=>u.jsx(Hm,{metric:h,selected:c?f.includes(h.ref):n.selectedMetric===h.ref,multiple:c,onSelect:()=>e(c?{type:"setPivotMetrics",metrics:ud(f,h.ref)}:{type:"setMetric",metric:h.ref})},h.ref))})]}):null]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-1 px-3 text-xs font-medium text-muted",children:"Dimensions"}),c?u.jsx("div",{children:((i==null?void 0:i.dimensions)??[]).map(h=>u.jsx(WS,{dimension:h,selected:n.pivotDims.includes(h.ref),onSelect:()=>e({type:"setPivotDims",dims:ud(n.pivotDims,h.ref)})},h.ref))}):u.jsx("ul",{className:"px-3 text-xs text-muted",children:((i==null?void 0:i.dimensions)??[]).map(h=>u.jsxs("li",{className:"flex items-center justify-between gap-2 py-0.5",title:h.description,children:[u.jsx("span",{className:"truncate",children:h.label}),u.jsx("span",{className:"shrink-0 text-2xs text-faint",children:h.type==="time"?"time":""})]},h.ref))})]})]})}class GS extends F.Component{constructor(){super(...arguments);Mn(this,"state",{})}static getDerivedStateFromError(t){return{error:t}}render(){return this.state.error?u.jsx("div",{className:"p-4",children:u.jsxs("div",{className:"border border-danger/40 bg-surface p-4",children:[u.jsx("p",{className:"text-sm font-semibold text-danger",children:"Something went wrong rendering this view."}),u.jsx("p",{className:"mt-1 break-words text-xs text-muted",children:this.state.error.message}),u.jsxs("div",{className:"mt-3 flex gap-2",children:[u.jsx("button",{type:"button",onClick:()=>this.setState({error:void 0}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Retry"}),u.jsx("button",{type:"button",onClick:()=>window.location.reload(),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Reload"})]})]})}):this.props.children}}const YS=[{key:"off",label:"Off"},{key:"previous",label:"Previous period"},{key:"year",label:"Previous year"},{key:"custom",label:"Custom range"}];function Ov({range:n,disabled:e,onChange:t,comparison:i,comparisonRange:a,onComparisonChange:c}){const f=F.useRef(null),[h,m]=F.useState((n==null?void 0:n.from)??""),[g,v]=F.useState((n==null?void 0:n.to)??""),[x,b]=F.useState((a==null?void 0:a.from)??""),[w,j]=F.useState((a==null?void 0:a.to)??"");function O(){f.current&&(f.current.open=!1)}function T(I){t(I),O()}function W(I){I==="custom"?c("custom",x&&w?{from:x,to:w}:void 0):c(I)}const R=n?`${n.from} → ${n.to}`:"All time",E=!n;return u.jsxs("details",{ref:f,className:"relative text-xs",onToggle:I=>{e&&(I.currentTarget.open=!1)},children:[u.jsxs("summary",{"aria-disabled":e||void 0,tabIndex:e?-1:void 0,onClick:I=>e&&I.preventDefault(),onKeyDown:I=>{e&&(I.key==="Enter"||I.key===" ")&&I.preventDefault()},className:`flex h-7 cursor-pointer items-center gap-1.5 rounded-full border border-line bg-surface px-3 text-ink ${e?"cursor-not-allowed opacity-50":""}`,children:[u.jsx("span",{className:"text-faint",children:"Range"}),u.jsx("span",{className:"tnum",children:R}),u.jsx("span",{"aria-hidden":"true",className:"text-faint",children:"▾"})]}),u.jsxs("div",{className:"absolute right-0 z-50 mt-1 w-64 rounded-xl border border-line bg-surface p-1.5 shadow-[var(--shadow)]",children:[u.jsx("button",{type:"button",onClick:()=>T(void 0),className:"w-full rounded-lg px-2.5 py-1.5 text-left text-xs text-muted hover:bg-surface-soft hover:text-ink",children:"All time"}),u.jsx("div",{className:"grid grid-cols-2",children:uS.map(I=>u.jsx("button",{type:"button",onClick:()=>T(dS(I.days)),className:"rounded-lg px-2.5 py-1.5 text-left text-xs text-muted hover:bg-surface-soft hover:text-ink",children:I.label},I.key))}),u.jsxs("div",{className:"mt-2 px-1 pb-1",children:[u.jsxs("div",{className:"flex items-center gap-1.5",children:[u.jsx("input",{type:"date","aria-label":"From date",value:h,onChange:I=>m(I.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"}),u.jsx("span",{className:"text-faint",children:"→"}),u.jsx("input",{type:"date","aria-label":"To date",value:g,onChange:I=>v(I.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"})]}),u.jsx("button",{type:"button",disabled:!h||!g,onClick:()=>T({from:h,to:g}),className:"mt-1.5 inline-flex h-7 w-full items-center justify-center rounded-full border border-accent bg-accent-soft text-xs font-medium text-accent hover:bg-accent hover:text-surface disabled:pointer-events-none disabled:opacity-50",children:"Apply custom range"})]}),u.jsxs("div",{className:"mt-1 px-1 pb-1","data-testid":"comparison-picker",children:[u.jsx("p",{className:"mb-1 px-1.5 text-2xs text-faint",children:"Compare to"}),u.jsx("div",{className:`grid grid-cols-2 ${E?"opacity-50":""}`,children:YS.map(I=>u.jsx("button",{type:"button",disabled:E,"data-comparison":I.key,"data-active":i===I.key||void 0,onClick:()=>W(I.key),className:"rounded-lg px-2.5 py-1.5 text-left text-xs text-muted hover:bg-surface-soft hover:text-ink data-[active=true]:bg-accent-soft data-[active=true]:text-accent",children:I.label},I.key))}),i==="custom"&&!E?u.jsxs("div",{className:"mt-1.5",children:[u.jsxs("div",{className:"flex items-center gap-1.5",children:[u.jsx("input",{type:"date","aria-label":"Comparison from date",value:x,onChange:I=>b(I.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"}),u.jsx("span",{className:"text-faint",children:"→"}),u.jsx("input",{type:"date","aria-label":"Comparison to date",value:w,onChange:I=>j(I.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"})]}),u.jsx("button",{type:"button",disabled:!x||!w,onClick:()=>c("custom",{from:x,to:w}),className:"mt-1.5 inline-flex h-7 w-full items-center justify-center rounded-full border border-accent bg-accent-soft text-xs font-medium text-accent hover:bg-accent hover:text-surface disabled:pointer-events-none disabled:opacity-50",children:"Apply comparison"})]}):null]})]})]})}function Od(n){const[e,t]=F.useState(!1);if(!("dim"in n))return u.jsxs("span",{"data-dimension":n.dimension,"data-value":n.value,className:"inline-flex max-w-full items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 text-2xs leading-4 text-muted",children:[u.jsxs("span",{className:"truncate",children:[u.jsxs("span",{className:"text-faint",children:[n.dimensionLabel??n.dimension,":"]})," ",n.value]}),n.onRemove?u.jsx("button",{type:"button","aria-label":`Remove filter ${n.value}`,onClick:n.onRemove,className:"-mr-0.5 px-0.5 text-faint hover:text-ink",children:"×"}):null]});const{dim:i,model:a,filter:c,onRemove:f}=n;return u.jsxs("span",{className:"relative inline-flex max-w-full items-center","data-dimension":i.ref,"data-mode":c.mode,children:[u.jsxs("span",{className:"inline-flex max-w-full items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 text-2xs leading-4 text-muted",children:[u.jsxs("button",{type:"button","aria-label":`Edit filter ${i.label}`,"aria-haspopup":"dialog","aria-expanded":e,onClick:()=>t(h=>!h),className:"min-w-0 truncate text-left hover:text-ink",children:[u.jsx("span",{className:"text-faint",children:i.label})," ",yb(c)]}),u.jsx("button",{type:"button","aria-label":`Remove filter ${i.label}`,onClick:f,className:"grid size-3.5 shrink-0 place-items-center rounded-full bg-surface-soft text-faint hover:bg-line hover:text-ink",children:"×"})]}),e?u.jsx(Fv,{dim:i,model:a,onClose:()=>t(!1)}):null]})}function Td({grain:n,options:e,disabled:t,onChange:i}){return u.jsxs("label",{className:"flex items-center gap-1.5 text-xs text-faint",children:[u.jsx("span",{className:"hidden sm:inline",children:"Grain"}),u.jsx("select",{"aria-label":"Time grain",value:n,disabled:t,onChange:a=>i(a.target.value),className:"h-7 rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50",children:e.map(a=>u.jsx("option",{value:a,children:Ee(a)},a))})]})}const QS=["UTC","America/Los_Angeles","America/Denver","America/Chicago","America/New_York","America/Sao_Paulo","Europe/London","Europe/Berlin","Europe/Paris","Europe/Moscow","Asia/Dubai","Asia/Kolkata","Asia/Singapore","Asia/Shanghai","Asia/Tokyo","Australia/Sydney"];let cl=null;function Gm(){if(cl)return cl;const n=typeof Intl.supportedValuesOf=="function"?Intl.supportedValuesOf("timeZone"):[];return cl=[...new Set(["UTC",...n])].sort(),cl}function KS(n){if(!n)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:n}),!0}catch{return!1}}function JS(n,e=new Date){var t;try{const c=(((t=new Intl.DateTimeFormat("en-US",{timeZone:n,timeZoneName:"shortOffset"}).formatToParts(e).find(g=>g.type==="timeZoneName"))==null?void 0:t.value)??"").match(/([+-])(\d{1,2})(?::(\d{2}))?/);if(!c)return n==="UTC"?"+00:00":"";const f=c[1],h=c[2].padStart(2,"0"),m=c[3]??"00";return`${f}${h}:${m}`}catch{return""}}const Ym="__search__";function qS({timezone:n,disabled:e,onChange:t}){const i=F.useId(),[a,c]=F.useState(!1),[f,h]=F.useState(""),m=F.useMemo(()=>{const b=new Set(QS);return n&&b.add(n),[...b]},[n]),g=F.useMemo(()=>a?Gm():[],[a]);function v(b){const w=b.trim();KS(w)&&(t(w),c(!1),h(""))}if(a)return u.jsxs("label",{className:"flex items-center gap-1.5 text-2xs text-faint",children:[u.jsx("span",{className:"hidden sm:inline",children:"Zone"}),u.jsx("input",{type:"text",list:i,autoFocus:!0,"aria-label":"Search timezone",placeholder:"Region/City…",value:f,disabled:e,onChange:b=>{h(b.target.value),Gm().includes(b.target.value)&&v(b.target.value)},onKeyDown:b=>{b.key==="Enter"?v(f):b.key==="Escape"&&(c(!1),h(""))},onBlur:()=>{c(!1),h("")},className:"h-7 w-36 rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50"}),u.jsx("datalist",{id:i,children:g.map(b=>u.jsx("option",{value:b},b))})]});const x=JS(n);return u.jsxs("label",{className:"flex items-center gap-1.5 text-2xs text-faint",children:[u.jsx("span",{className:"hidden sm:inline",children:"Zone"}),u.jsxs("select",{"aria-label":"Timezone",value:n,disabled:e,onChange:b=>{b.target.value===Ym?c(!0):t(b.target.value)},className:"h-7 max-w-[11rem] rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50",children:[m.map(b=>u.jsxs("option",{value:b,children:[b,b==="UTC"?"":x&&b===n?` (${x})`:""]},b)),u.jsx("option",{value:Ym,children:"Search…"})]})]})}function ZS(n,e,t){if(t==="count")return n.length;const i=n.map(c=>typeof c[e]=="number"?c[e]:Number(c[e])).filter(Number.isFinite);if(i.length===0)return Number.NaN;if(t==="min")return Math.min(...i);if(t==="max")return Math.max(...i);const a=i.reduce((c,f)=>c+f,0);return t==="avg"?a/i.length:a}const XS={sum:"Σ",avg:"avg",min:"min",max:"max",count:"n"};function Ho({columns:n,rows:e,loading:t,sortKey:i,sortDir:a,onSort:c,renderCell:f,pageSize:h=50,searchable:m,totals:g,stickyHeader:v=!0}){const[x,b]=F.useState(0),[w,j]=F.useState(""),O=F.useMemo(()=>{const M=w.trim().toLowerCase();return!m||!M?e:e.filter(U=>n.some(G=>String(U[G.key]??"").toLowerCase().includes(M)))},[e,n,w,m]),{paginate:T,pageCount:W,safePage:R,start:E,visibleRows:I}=fb(O,x,h);F.useEffect(()=>{b(0)},[e,h,i,a,w]);const V=g&&n.some(M=>g[M.key]);return u.jsxs("div",{children:[m?u.jsxs("div",{className:"mb-2 flex items-center justify-end gap-2",children:[w?u.jsxs("span",{className:"whitespace-nowrap text-2xs text-faint tnum",children:[O.length.toLocaleString()," of ",e.length.toLocaleString()]}):null,u.jsx("input",{type:"search","aria-label":"Search rows",placeholder:"Search…",value:w,onChange:M=>j(M.target.value),className:"h-7 w-full max-w-64 rounded-full border border-line bg-surface px-2.5 text-xs text-ink placeholder:text-faint"})]}):null,u.jsx("div",{className:"overflow-auto border border-line bg-surface",children:u.jsxs("table",{className:"w-max min-w-full border-collapse text-xs","data-testid":"pivot-table",children:[u.jsx("thead",{children:u.jsx("tr",{className:"bg-surface-soft",children:n.map(M=>{const U=i===M.key;return u.jsx("th",{className:`max-w-80 whitespace-nowrap border-b border-line bg-surface-soft px-3 py-1.5 font-semibold text-faint ${M.numeric?"min-w-32 text-right":"min-w-40 text-left"} ${v?"sticky top-0 z-10":""}`,children:M.sortable&&c?u.jsxs("button",{type:"button",onClick:()=>c(M.key),"aria-label":`Sort by ${M.label}${U?`, currently ${a==="asc"?"ascending":"descending"}`:""}`,className:`table-sort inline-flex max-w-full items-center gap-1 whitespace-nowrap hover:text-ink ${U?"text-ink":""}`,children:[u.jsx("span",{className:"truncate",children:M.label}),u.jsx("span",{"aria-hidden":"true",className:"text-[9px]",children:U?a==="asc"?"▲":"▼":"↕"})]}):u.jsx("span",{className:"block truncate",title:M.label,children:M.label})},M.key)})})}),u.jsx("tbody",{children:t&&O.length===0?u.jsx("tr",{children:u.jsx("td",{colSpan:n.length,className:"px-3 py-6 text-center text-faint",children:"Loading…"})}):O.length===0?u.jsx("tr",{children:u.jsx("td",{colSpan:n.length,className:"px-3 py-6 text-center text-faint",children:w?"No matching rows":"No rows"})}):I.map((M,U)=>u.jsx("tr",{className:"hover:bg-surface-soft",children:n.map(G=>{const z=f(G,M[G.key]);return u.jsx("td",{className:`max-w-80 whitespace-nowrap border-b border-line px-3 py-1.5 text-muted ${G.numeric?"min-w-32 text-right font-mono tnum text-ink":"min-w-40"}`,children:u.jsx("span",{className:"block max-w-80 truncate",title:z,children:z})},G.key)})},E+U))}),V&&O.length>0?u.jsx("tfoot",{children:u.jsx("tr",{className:"bg-surface-soft","data-testid":"table-totals",children:n.map(M=>{const U=g==null?void 0:g[M.key];if(!U)return u.jsx("td",{className:"border-t border-line px-3 py-1.5"},M.key);const G=ZS(O,M.key,U),z=U==="count"?G.toLocaleString():Number.isFinite(G)?f(M,G):"—";return u.jsxs("td",{"data-total":U,className:`whitespace-nowrap border-t border-line px-3 py-1.5 font-mono tnum font-medium text-ink ${M.numeric?"text-right":"text-left"}`,children:[u.jsx("span",{"aria-hidden":"true",className:"mr-1 text-2xs text-faint",children:XS[U]}),z]},M.key)})})}):null]})}),T?u.jsxs("div",{"data-testid":"pivot-table-pager",className:"mt-1.5 flex items-center justify-between gap-3 text-2xs text-faint",children:[u.jsxs("span",{className:"tnum",children:[E+1,"–",Math.min(E+h,O.length)," of ",O.length.toLocaleString(),t?" · Updating…":""]}),u.jsxs("div",{className:"flex gap-1",children:[u.jsx("button",{type:"button",disabled:R===0,onClick:()=>b(M=>Math.max(0,M-1)),className:"table-pager-button px-2 py-1 text-muted hover:text-ink disabled:cursor-not-allowed disabled:opacity-40",children:"Prev"}),u.jsx("button",{type:"button",disabled:R>=W-1,onClick:()=>b(M=>Math.min(W-1,M+1)),className:"table-pager-button px-2 py-1 text-muted hover:text-ink disabled:cursor-not-allowed disabled:opacity-40",children:"Next"})]})]}):null]})}function e_(n,e){const t=e.filter(i=>n.some(a=>a.ref===i));return t.length?t:n.slice(0,6).map(i=>i.ref)}function t_(){var R,E;const[n,e]=F.useState(!1),{state:t,catalog:i,backend:a,dashboard:c}=ls(),f=i.models.find(I=>I.name===t.model),h=F.useMemo(()=>Cs(i,c,t.dashboardTab),[i,c,t.dashboardTab]),m=(h==null?void 0:h.dimensions)??(f==null?void 0:f.dimensions)??[],g=e_(m,t.pivotDims),v=((R=h==null?void 0:h.timeDimension)==null?void 0:R.ref)??((E=f==null?void 0:f.timeDimension)==null?void 0:E.ref),x=F.useMemo(()=>oc(i),[i]),b=F.useMemo(()=>[...(h==null?void 0:h.filters)??[],...Os(t.filters,{timeRef:v,range:t.dateRange,types:x})],[h,t.filters,v,t.dateRange,x]),w=n&&f?vS({dimensions:g,metrics:[]},b,50,h==null?void 0:h.segments,h==null?void 0:h.usePreaggregations):null,{result:j,loading:O,error:T}=Zn(a,w),W=[...g.map(I=>{var V;return{key:Sr(I),label:((V=m.find(M=>M.ref===I))==null?void 0:V.label)??Ee(I)}})];return u.jsxs("section",{"data-testid":"row-preview-drawer","data-open":n||void 0,className:"absolute inset-x-0 bottom-0 z-30 border-t border-line bg-surface shadow-[0_-8px_24px_rgba(0,0,0,0.16)]",children:[u.jsxs("button",{type:"button","aria-expanded":n,onClick:()=>e(I=>!I),className:"flex h-8 w-full items-center justify-between px-3 text-left text-xs font-medium text-muted hover:bg-surface-soft hover:text-ink",children:[u.jsx("span",{children:"Rows preview"}),u.jsx("span",{"aria-hidden":"true",children:n?"▼":"▲"})]}),n?u.jsx("div",{className:"max-h-[45vh] overflow-auto border-t border-line",children:T?u.jsx("p",{role:"alert",className:"p-3 text-xs text-danger",children:T}):W.length===0?u.jsx("p",{className:"p-3 text-xs text-faint",children:"No preview fields are available."}):u.jsx(Ho,{columns:W,rows:(j==null?void 0:j.rows)??[],loading:O,pageSize:10,renderCell:(I,V)=>V==null||V===""?"—":String(V)})}):null]})}function of({tone:n,title:e,message:t}){const i=n==="danger";return u.jsx("div",{className:`grid min-h-[200px] place-items-center border bg-surface p-6 text-center ${i?"border-danger/40":"border-line"}`,"data-state":n,role:i?"alert":"status","aria-live":i?"assertive":"polite",children:u.jsxs("div",{className:"max-w-md",children:[n==="loading"?u.jsx("span",{"aria-hidden":"true",className:"motion-safe:animate-pulse inline-block size-2 rounded-full bg-accent"}):null,e?u.jsx("h3",{className:`text-sm font-semibold ${i?"text-danger":"text-ink"}`,children:e}):null,u.jsx("p",{className:`mt-1 text-xs ${i?"text-danger":"text-muted"}`,children:t})]})})}function af({title:n="Loading",message:e="Loading metrics…"}){return u.jsx(of,{tone:"loading",title:n,message:e})}function Xn({title:n="No results",message:e}){return u.jsx(of,{tone:"muted",title:n,message:e})}function Bi({title:n="Query failed",message:e}){return u.jsx(of,{tone:"danger",title:n,message:e})}function dd({status:n}){const e=n==="ok"?"bg-success":n==="loading"?"bg-faint animate-pulse":"bg-line";return u.jsx("span",{"aria-hidden":"true",className:`inline-block size-2 rounded-full ${e}`})}const Tv="sidemantic-theme";function lf(){var e;const n=localStorage.getItem(Tv);return n==="light"||n==="dark"?n:(e=window.matchMedia)!=null&&e.call(window,"(prefers-color-scheme: dark)").matches?"dark":"light"}function Av(n){document.documentElement.dataset.theme=n}function n_(){Av(lf())}function r_(){const n=lf()==="dark"?"light":"dark";return localStorage.setItem(Tv,n),Av(n),n}function $o(){const[n,e]=F.useState(lf());return u.jsx("button",{type:"button","aria-label":n==="dark"?"Switch to light theme":"Switch to dark theme",title:n==="dark"?"Light theme":"Dark theme",onClick:()=>e(r_()),className:"grid size-7 place-items-center border border-line bg-surface text-faint hover:border-faint hover:text-ink",children:n==="dark"?u.jsxs("svg",{viewBox:"0 0 24 24",className:"size-3.5",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[u.jsx("circle",{cx:"12",cy:"12",r:"4"}),u.jsx("path",{d:"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"})]}):u.jsx("svg",{viewBox:"0 0 24 24",className:"size-3.5",fill:"none",stroke:"currentColor",strokeWidth:"2",children:u.jsx("path",{d:"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"})})})}const _o=[{key:"explore",label:"Explore"},{key:"pivot",label:"Pivot"}];function Bv({view:n,onChange:e}){const t=F.useRef(null);function i(a){const c=Math.max(0,_o.findIndex(h=>h.key===n)),f=_o[(c+a+_o.length)%_o.length];e(f.key),window.requestAnimationFrame(()=>{var h,m;return(m=(h=t.current)==null?void 0:h.querySelector(`[data-view="${f.key}"]`))==null?void 0:m.focus()})}return u.jsx("div",{ref:t,role:"tablist","aria-label":"View",className:"inline-flex items-center gap-0.5 rounded-full border border-line bg-surface p-px",children:_o.map(a=>u.jsx("button",{role:"tab",type:"button","aria-selected":n===a.key,tabIndex:n===a.key?0:-1,"data-view":a.key,"data-selected":n===a.key||void 0,onClick:()=>e(a.key),onKeyDown:c=>{c.key==="ArrowLeft"?(c.preventDefault(),i(-1)):c.key==="ArrowRight"&&(c.preventDefault(),i(1))},className:"inline-flex h-6 items-center rounded-full px-2.5 text-xs font-medium text-muted hover:bg-surface-soft hover:text-ink data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent",children:a.label},a.key))})}const Ev="dashboard_filters",Rv="dashboard_ranges",Lv="dashboard_filter_sources",Uv="dashboard_range_sources",$v="dashboard_chart_filters",Pv="dashboard_chart_ranges";function s_(n,e){if(n==="/explore")return!0;const t=new URLSearchParams(e).get("view");return t==="explore"||t==="pivot"}function cf(n,e){var i,a;if(!e||!(n.query.dimensions??[]).includes(e))return!1;const t=(i=n.interactions)==null?void 0:i.select;return t===!0?!0:t?!((a=t.fields)!=null&&a.length)||t.fields.includes(e):!1}function i_(n){return(n.query.dimensions??[]).find(e=>cf(n,e))}function o_(n,e){var i,a;if(!e||!(n.query.dimensions??[]).includes(e))return!1;const t=(i=n.interactions)==null?void 0:i.brush;return t===!0?!0:!t||t.channel&&t.channel!=="x"?!1:!((a=t.fields)!=null&&a.length)||t.fields.includes(e)}function Xl(n){return n==null?er:String(n)}function a_(n){let e=n.trim().replaceAll(/[^A-Za-z0-9_]/g,"_").replaceAll(/^_+|_+$/g,"")||"field";return/^\d/.test(e)&&(e=`field_${e}`),e}function xr(n,e){const t=Sr(n),i=a_(n);return i!==t&&e.includes(i)?i:e.includes(t)?t:e.find(a=>a.endsWith(t))??t}function l_(n){var t;const e=(t=n.encoding)==null?void 0:t.y;return Array.isArray(e)&&e.length?e:typeof e=="string"?[e]:n.query.metrics.slice(0,1)}function c_(n,e,t,i,a){return Object.fromEntries([[e,t],...i.map((c,f)=>[c,a[f]])].filter(c=>typeof c[1]=="string"&&cf(n,c[0])))}function u_(n,e,t){return[e,...t].some(i=>cf(n,i))}const d_=new Set(["second","minute","hour","day","week","month","quarter","year"]);function Ms(n){const e=n.lastIndexOf("__");if(e<0)return null;const t=n.slice(e+2);return d_.has(t)?{baseDimension:n.slice(0,e),grain:t}:null}function zv(n,e){var c,f;if(n.type&&n.type!=="auto")return n.type;const t=((c=n.encoding)==null?void 0:c.x)??((f=n.query.dimensions)==null?void 0:f[0])??"",i=Ms(t);return(e[t]??(i?e[i.baseDimension]:void 0))==="time"?"line":"bar"}function Vv(n,e){const t=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?$/.test(n)?`${n}Z`:n,i=new Date(t);return Number.isFinite(i.getTime())?(e==="second"?i.setUTCSeconds(i.getUTCSeconds()+1):e==="minute"?i.setUTCMinutes(i.getUTCMinutes()+1):e==="hour"?i.setUTCHours(i.getUTCHours()+1):e==="day"?i.setUTCDate(i.getUTCDate()+1):e==="week"?i.setUTCDate(i.getUTCDate()+7):e==="month"?i.setUTCMonth(i.getUTCMonth()+1):e==="quarter"?i.setUTCMonth(i.getUTCMonth()+3):e==="year"&&i.setUTCFullYear(i.getUTCFullYear()+1),/^\d{4}-\d{2}-\d{2}$/.test(n)?i.toISOString().slice(0,10):i.toISOString()):null}function Wv(n,e){const t=Ms(n);if(t){const i=Vv(e.to,t.grain);return i?`${t.baseDimension} >= ${Tn(e.from)} AND ${t.baseDimension} < ${Tn(i)}`:`${t.baseDimension} >= ${Tn(e.from)} AND ${t.baseDimension} <= ${Tn(e.to)}`}return`${n} >= ${Tn(e.from)} AND ${n} <= ${Tn(e.to)}`}function f_(n,e,t){const i=Ms(n);return i?e===er?[`${i.baseDimension} IS NULL`]:[Wv(n,{from:e,to:e})]:jv({[n]:{mode:"include",values:[e]}},{types:t})}function ec(n,e){const t=n.tabs.find(i=>i.charts.includes(e));return`${(t==null?void 0:t.id)??"dashboard"}:${e.id}`}function uf(n,e,t){var f,h,m,g,v;const i=((h=(f=n.defaults)==null?void 0:f.interactions)==null?void 0:h.scope)??"dashboard";if(i==="dashboard")return t;if(i==="chart"){const x=ec(n,e);return{filters:{...Object.fromEntries(Object.entries(t.filters).filter(([b])=>t.filterSources[b]===x)),...((m=t.chartFilters)==null?void 0:m[x])??{}},ranges:{...Object.fromEntries(Object.entries(t.ranges).filter(([b])=>t.rangeSources[b]===x)),...((g=t.chartRanges)==null?void 0:g[x])??{}}}}const a=((v=n.tabs.find(x=>x.charts.includes(e)))==null?void 0:v.charts)??[e],c=new Set(a.flatMap(x=>x.query.dimensions??[]));return{filters:Object.fromEntries(Object.entries(t.filters).filter(([x])=>c.has(x))),ranges:Object.fromEntries(Object.entries(t.ranges).filter(([x])=>c.has(x)))}}function h_(n,e,t,i,a={},c={filterSources:{},rangeSources:{}}){var b,w,j,O,T,W;const f=uf(n,e,{filters:t,ranges:a,...c}),h=((b=e.encoding)==null?void 0:b.x)??((w=e.query.dimensions)==null?void 0:w[0])??"",m=e.query.order_by??e.query.orderBy,g=h&&["line","area"].includes(zv(e,i))?[`${h} ASC`]:void 0,v={metrics:e.query.metrics,dimensions:e.query.dimensions,filters:[...e.query.filters??[],...Object.entries(f.filters).flatMap(([R,E])=>f_(R,E,i)),...Object.entries(f.ranges).map(([R,E])=>Wv(R,E))],segments:e.query.segments,orderBy:m??g,limit:e.query.limit??500},x=e.query.use_preaggregations??e.query.usePreaggregations??((O=(j=n.defaults)==null?void 0:j.query)==null?void 0:O.use_preaggregations)??((W=(T=n.defaults)==null?void 0:T.query)==null?void 0:W.usePreaggregations);return x!==void 0&&(v.usePreaggregations=x),v}function Qm(n){const e=/^(\d{4}-\d{2}-\d{2})/.exec(n);return(e==null?void 0:e[1])??null}function Km(n,e){const t=Qm(e.from);if(!t)return null;const i=Ms(n);if(!i){const f=Qm(e.to);return f?{from:t,to:f}:null}const a=Vv(e.to,i.grain);if(!a)return null;const c=new Date(a);return c.setUTCMilliseconds(c.getUTCMilliseconds()-1),{from:t,to:c.toISOString().slice(0,10)}}function p_(n,e,t,i={},a){var I,V,M;const c=(I=e.encoding)==null?void 0:I.y,f=(Array.isArray(c)?c[0]:c)??e.query.metrics[0]??"",h=e.query.dimensions??[],m=a==null?void 0:a.graphMetrics.find(U=>U.ref===f),g=f.includes(".")?f.split(".")[0]:((V=h[0])==null?void 0:V.split(".")[0])??(m==null?void 0:m.ownerModel)??(m==null?void 0:m.model)??"",v=uf(n,e,t),x=Object.entries(v.filters).flatMap(([U,G])=>{const z=Ms(U);return z?[{dimension:U,value:G,baseDimension:z.baseDimension}]:[]}),b=Object.fromEntries(Object.entries(v.filters).flatMap(([U,G])=>{const z=Ms(U);return z?G===er?[[z.baseDimension,[G]]]:[]:[[U,[G]]]})),w=new URLSearchParams({view:"explore",model:g,metric:f});Object.keys(b).length&&w.set("filters",JSON.stringify(b));const j=((M=e.encoding)==null?void 0:M.x)??h[0],O=x.find(({baseDimension:U,value:G})=>G!==er&&(!g||U.startsWith(`${g}.`))),T=Object.keys(v.ranges),W=[j,...T].find((U,G,z)=>{if(!U||z.indexOf(U)!==G||!v.ranges[U])return!1;const Y=Ms(U);return((i[U]??(Y?i[Y.baseDimension]:void 0))==="time"||!!Y)&&(!g||U.startsWith(`${g}.`))}),R=W?v.ranges[W]:void 0,E=O?Km(O.dimension,{from:O.value,to:O.value}):W&&R?Km(W,R):null;return E&&(w.set("from",E.from),w.set("to",E.to)),`/explore?${w}`}function m_(n,e,t,i){const a=new Map;for(const c of n){const f=Number(c[t]);if(!Number.isFinite(f))continue;const h=i.map(b=>Xl(c[b])),m=JSON.stringify(h),g=h.length?h.map(rs).join(" · "):"Current",v=a.get(m)??{label:g,filterValues:h,data:[]},x=Xl(c[e]);v.data.push({label:rs(x),filterValue:x,value:f}),a.set(m,v)}return[...a.values()]}function y_(n,e,t,i){const a=[],c=new Set,f=new Map;for(const h of n){if(h[e]==null)continue;const m=String(h[e]),g=Number(h[t]);if(!Number.isFinite(g))continue;c.has(m)||(c.add(m),a.push(m));const v=i.map(j=>Xl(h[j])),x=JSON.stringify(v),b=v.length?v.map(rs).join(" · "):"Current",w=f.get(x)??{label:b,values:new Map};w.values.set(m,g),f.set(x,w)}return[...f.values()].map(h=>({label:h.label,points:a.map(m=>({x:m,y:h.values.get(m)??Number.NaN}))}))}function df(n,e){if(typeof n!="object"||n===null||Array.isArray(n))return{};const t={};for(const[i,a]of Object.entries(n))e.has(i)&&typeof a=="string"&&(t[i]=a);return t}function ff(n,e){if(typeof n!="object"||n===null||Array.isArray(n))return{};const t={};for(const[i,a]of Object.entries(n)){if(!e.has(i)||typeof a!="object"||a===null||Array.isArray(a))continue;const c=a;typeof c.from=="string"&&typeof c.to=="string"&&(t[i]={from:c.from,to:c.to})}return t}function tc(n,e){return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).filter(t=>e.has(t[0])&&typeof t[1]=="string"))}function Hv(n,e){return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).flatMap(([t,i])=>{const a=e.get(t);if(!a)return[];const c=df(i,a);return Object.keys(c).length?[[t,c]]:[]}))}function Gv(n,e){return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).flatMap(([t,i])=>{const a=e.get(t);if(!a)return[];const c=ff(i,a);return Object.keys(c).length?[[t,c]]:[]}))}function Yv(n){return new Set(n.tabs.flatMap(e=>e.charts.flatMap(t=>t.query.dimensions??[])))}function Qv(n){return new Map(n.tabs.flatMap(e=>e.charts.map(t=>[ec(n,t),new Set(t.query.dimensions??[])])))}function g_(n,e){var j;const t=new URLSearchParams(n),i=((j=e.tabs[0])==null?void 0:j.id)??"",a=t.get("tab"),c=e.tabs.some(O=>O.id===a)?a??i:i;let f,h,m,g,v,x;try{f=JSON.parse(t.get(Ev)??"{}")}catch{f={}}try{h=JSON.parse(t.get(Rv)??"{}")}catch{h={}}try{m=JSON.parse(t.get(Lv)??"{}")}catch{m={}}try{g=JSON.parse(t.get(Uv)??"{}")}catch{g={}}try{v=JSON.parse(t.get($v)??"{}")}catch{v={}}try{x=JSON.parse(t.get(Pv)??"{}")}catch{x={}}const b=Yv(e),w=Qv(e);return{tab:c,filters:df(f,b),ranges:ff(h,b),filterSources:tc(m,b),rangeSources:tc(g,b),chartFilters:Hv(v,w),chartRanges:Gv(x,w)}}function v_(n,e){var c;const t=new URLSearchParams;n.tab&&n.tab!==((c=e.tabs[0])==null?void 0:c.id)&&t.set("tab",n.tab),Object.keys(n.filters).length&&t.set(Ev,JSON.stringify(n.filters)),Object.keys(n.ranges).length&&t.set(Rv,JSON.stringify(n.ranges));const i=Object.fromEntries(Object.entries(n.filterSources).filter(([f])=>f in n.filters)),a=Object.fromEntries(Object.entries(n.rangeSources).filter(([f])=>f in n.ranges));return Object.keys(i).length&&t.set(Lv,JSON.stringify(i)),Object.keys(a).length&&t.set(Uv,JSON.stringify(a)),Object.keys(n.chartFilters??{}).length&&t.set($v,JSON.stringify(n.chartFilters)),Object.keys(n.chartRanges??{}).length&&t.set(Pv,JSON.stringify(n.chartRanges)),t.toString()}function Kv(n){return`sidemantic-dashboard-views:${`${n.schema??"sidemantic.dashboard.v1"}:${n.title}`}`}function x_(n){try{const e=JSON.parse(localStorage.getItem(Kv(n))??"[]");if(!Array.isArray(e))return[];const t=Yv(n);return e.flatMap(i=>{var m;if(typeof i!="object"||i===null||Array.isArray(i))return[];const a=i;if(typeof a.name!="string"||!a.name.trim())return[];if(typeof a.state!="object"||a.state===null||Array.isArray(a.state))return[];const c=a.state,f=n.tabs.some(g=>g.id===c.tab)?String(c.tab):((m=n.tabs[0])==null?void 0:m.id)??"",h=Qv(n);return[{name:a.name,state:{tab:f,filters:df(c.filters,t),ranges:ff(c.ranges,t),filterSources:tc(c.filterSources,t),rangeSources:tc(c.rangeSources,t),chartFilters:Hv(c.chartFilters,h),chartRanges:Gv(c.chartRanges,h)}}]})}catch{return[]}}function b_(n,e){try{return localStorage.setItem(Kv(n),JSON.stringify(e)),!0}catch{return!1}}function Jm(n){if(n==null)return"";const e=String(n);return/[",\r\n]/.test(e)?`"${e.replaceAll('"','""')}"`:e}function w_(n,e){return[n.map(Jm).join(","),...e.map(t=>n.map(i=>Jm(t[i])).join(","))].join(`\r -`)}function S_(n){var e;return((e=n.label)==null?void 0:e.trim())||n.id}function fd(n,e){return`${n} ${e}${n===1?"":"s"}`}function __(){const{catalog:n,dispatch:e}=ls(),t=i=>{const a=n.models.find(h=>h.name===i),c=kv(a,n),f=(a==null?void 0:a.defaultGrain)??"month";e({type:"setModel",model:i,metric:c,grain:f}),e({type:"setView",view:"explore"})};return u.jsxs("div",{className:"mx-auto w-full max-w-5xl p-6",children:[u.jsxs("div",{className:"mb-4",children:[u.jsx("h1",{className:"text-base font-semibold text-ink",children:"Explore"}),u.jsxs("p",{className:"text-2xs text-muted",children:[fd(n.models.length,"model")," · pick one to explore"]})]}),u.jsx("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3",children:n.models.map(i=>u.jsxs("button",{type:"button","data-testid":"explore-card","data-model":i.name,onClick:()=>t(i.name),className:"flex min-h-32 flex-col gap-2 rounded-xl border border-line bg-surface p-4 text-left shadow-[var(--shadow-sm)] transition-colors hover:border-line-strong",children:[u.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[u.jsx("span",{className:"truncate text-sm font-medium text-ink",children:i.label}),i.timeDimension?u.jsx("span",{className:"shrink-0 text-2xs text-faint",children:"time series"}):null]}),i.description?u.jsx("p",{className:"line-clamp-2 text-2xs text-muted",children:i.description}):null,u.jsx("div",{className:"mt-auto flex flex-wrap gap-1 pt-1",children:i.metrics.slice(0,3).map(a=>u.jsx("span",{className:"rounded-full bg-surface-soft px-2 py-0.5 text-2xs text-muted",children:a.label},a.ref))}),u.jsxs("div",{className:"text-2xs text-faint",children:[fd(i.metrics.length,"metric")," · ",fd(i.dimensions.length,"dimension")]})]},i.name))})]})}const N_={positive:"text-success",negative:"text-danger",neutral:"text-faint"};function Jv({dimension:n,title:e,metricLabel:t,rows:i,selectedValues:a=[],loading:c,formatMetric:f,onToggle:h,contextColumn:m="none",contextOptions:g,onContextColumn:v,collapsedLimit:x=6,expanded:b=!1,onExpandedChange:w}){const j=new Set(a),O=b?i:i.slice(0,x),T=Math.max(1,...O.map(I=>Math.abs(I.metric))),W=b||i.length>x,R=m!=="none",E=R?"grid-cols-[minmax(0,1fr)_auto_auto]":"grid-cols-[minmax(0,1fr)_auto]";return u.jsxs("section",{"data-testid":"dimension-leaderboard","data-dimension":n,"data-expanded":b||void 0,"aria-label":`${e}, ranked by ${t}`,className:"flex min-h-40 flex-col border-b border-r border-line bg-surface data-[expanded=true]:col-span-full",children:[u.jsxs("header",{className:"flex items-center justify-between gap-3 px-3 pb-2 pt-2.5",children:[u.jsxs("div",{className:"flex min-w-0 items-baseline gap-2",children:[u.jsx("h3",{className:"truncate text-sm font-semibold text-ink",children:e}),u.jsxs("p",{className:"sr-only",children:["Ranked by ",t]})]}),g&&v?u.jsx("div",{role:"group","aria-label":"Context column","data-testid":"leaderboard-context-toggle",className:"flex shrink-0 overflow-hidden border border-line text-2xs",children:g.map(I=>u.jsx("button",{type:"button",title:I.title,"aria-pressed":m===I.key,"data-context":I.key,"data-active":m===I.key||void 0,onClick:()=>v(I.key),className:"border-l border-line px-1.5 py-0.5 font-mono text-faint first:border-l-0 hover:bg-surface-soft data-[active=true]:bg-accent-soft data-[active=true]:text-accent",children:I.label},I.key))}):null]}),u.jsx("div",{"data-testid":"leaderboard-rows",children:c&&i.length===0?u.jsx("div",{className:"space-y-2 p-3",children:[0,1,2,3].map(I=>u.jsx("div",{className:"skeleton h-5 w-full"},I))}):i.length===0?u.jsx("p",{className:"px-3 py-4 text-xs text-faint",children:"No values"}):O.map(I=>{var G,z,Y;const V=I.metric<0?"negative":"positive",M=j.has(I.value),U=`${Math.round(Math.abs(I.metric)/T*100)}%`;return u.jsxs("button",{type:"button","data-dimension":n,"data-value":I.value,"data-selected":M||void 0,"data-tone":V,onClick:()=>h==null?void 0:h(I.value),"aria-pressed":M,className:`leaderboard-row relative grid w-full ${E} items-center gap-3 overflow-hidden border-0 bg-transparent px-3 py-1 text-left text-xs text-ink data-[selected=true]:bg-chart-primary-selected`,children:[u.jsx("span",{"aria-hidden":"true",className:`absolute inset-y-0 left-0 ${V==="negative"?"bg-danger-soft":"bg-chart-primary-soft"}`,style:{width:U}}),u.jsx("span",{className:"relative min-w-0 truncate text-muted",children:rs(I.value)}),u.jsx("strong",{className:"relative tnum font-semibold text-ink",children:f(I.metric)}),R?u.jsx("span",{"data-testid":"leaderboard-context","data-tone":((G=I.context)==null?void 0:G.tone)??"neutral",className:`relative w-14 text-right font-mono tnum text-2xs ${N_[((z=I.context)==null?void 0:z.tone)??"neutral"]}`,children:((Y=I.context)==null?void 0:Y.label)??"—"}):null]},`${n}:${I.value}`)})}),W&&!c?u.jsx("button",{type:"button","data-action":b?"leaderboard-back":"leaderboard-expand","aria-expanded":b,onClick:()=>w==null?void 0:w(!b),className:"leaderboard-expand border-0 border-t border-line bg-transparent px-3 py-1 text-left text-xs font-normal text-faint hover:text-accent",children:b?"← All dimensions":`Expand table (${i.length})`}):null]})}const j_=[{key:"none",label:"—",title:"No context column"},{key:"pctTotal",label:"%",title:"Share of total"},{key:"delta",label:"Δ",title:"Absolute change vs comparison period"},{key:"deltaPct",label:"Δ%",title:"Percent change vs comparison period"}],k_=[],I_=[];function M_({dim:n,model:e,timeDimensionRef:t,rankMetric:i,contextColumn:a,metricTotal:c,comparisonRange:f,baseFilters:h=k_,baseSegments:m=I_,usePreaggregations:g,limit:v=6,expanded:x=!1,onExpandedChange:b}){var _;const{state:w,dispatch:j,backend:O,catalog:T}=ls(),W=t??((_=e.timeDimension)==null?void 0:_.ref),R=F.useMemo(()=>oc(T),[T]),E=F.useMemo(()=>[...h,...Os(w.filters,{timeRef:W,range:w.dateRange,excludeDim:n.ref,types:R})],[h,w.filters,W,w.dateRange,n.ref,R]),{result:I,loading:V,error:M}=Zn(O,zm(i.ref,n.ref,E,v,m,g)),U=w.filters[n.ref],G=(U==null?void 0:U.mode)==="include"?U.values:void 0,z=[i.ref,n.ref],Y=Fn(n.ref,z),P=a==="delta"||a==="deltaPct",ee=F.useMemo(()=>{if(!I||!I.columns.includes(Y))return null;const k=[];let Z=!1;for(const ce of I.rows){const we=ce[Y];we==null?Z=!0:k.push(String(we))}const ae=[];return k.length&&ae.push(`CAST(${n.ref} AS VARCHAR) IN (${k.map(Tn).join(", ")})`),Z&&ae.push(`${n.ref} IS NULL`),ae.length?ae.length===1?ae[0]:`(${ae.join(" OR ")})`:null},[I,Y,n.ref]),te=F.useMemo(()=>P&&f&&W&&ee?[...h,...Os(w.filters,{timeRef:W,range:f,excludeDim:n.ref,types:R}),ee]:null,[P,f,W,w.filters,n.ref,R,ee,h]),ne=Zn(O,te?zm(i.ref,n.ref,te,v,m,g):null),ie=Fn(i.ref,z),re=!!I&&I.rows.length>0&&!I.columns.includes(ie),se=F.useMemo(()=>{const k=new Map;if(!ne.result||!ne.result.columns.includes(ie))return k;for(const Z of ne.result.rows){const ae=Z[Y],ce=ae==null?er:String(ae);k.set(ce,Number(Z[ie]))}return k},[ne.result,Y,ie]),A={format:i.format,type:i.type};function Q(k,Z){switch(a){case"pctTotal":return c===void 0?void 0:hb(Z,c);case"delta":return pb(Z,se.get(k),A);case"deltaPct":return mb(Z,se.get(k));default:return}}const H=I&&!re?I.rows.map(k=>{const Z=k[Y],ae=Z==null?er:String(Z),ce=Number(k[ie]??0);return{value:ae,metric:ce,context:Q(ae,ce)}}):[];return M?u.jsx(Bi,{title:n.label,message:M}):u.jsx(Jv,{dimension:n.ref,title:n.label,metricLabel:i.label,rows:H,loading:V||re,selectedValues:G,formatMetric:k=>Wt(k,A),onToggle:k=>j({type:"toggleFilter",dim:n.ref,value:k}),contextColumn:a,contextOptions:j_,onContextColumn:k=>j({type:"setContextColumn",column:k}),collapsedLimit:v,expanded:x,onExpandedChange:b})}function Dr(){const[n,e]=F.useState(null);return{tip:n,handlers:i=>({onMouseEnter:a=>e({content:i,x:a.clientX,y:a.clientY}),onMouseMove:a=>e({content:i,x:a.clientX,y:a.clientY}),onMouseLeave:()=>e(null)})}}function rr({tip:n,position:e="fixed",offset:t=12,className:i,style:a}){return n?u.jsx("div",{role:"tooltip",style:{position:e,left:n.x+t,top:n.y+t,pointerEvents:"none",zIndex:50,...a},className:i||"rounded-lg border border-line bg-surface px-2.5 py-1.5 text-xs text-ink shadow-[var(--shadow)]",children:n.content}):null}function os({title:n,rows:e}){return u.jsxs("div",{className:"min-w-28",children:[n?u.jsx("div",{className:"mb-0.5 font-mono text-faint",children:n}):null,e.map((t,i)=>u.jsxs("div",{className:"flex items-center justify-between gap-3",children:[u.jsxs("span",{className:"flex items-center gap-1 text-muted",children:[t.swatch?u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-sm",style:{background:t.swatch}}):null,t.label]}),u.jsx("span",{className:"font-mono tnum font-medium text-ink",children:t.value})]},i))]})}function qv({values:n,labels:e,height:t=44,ariaLabel:i,formatValue:a=h=>h.toLocaleString(void 0,{maximumFractionDigits:2}),onHover:c,onBrush:f}){const h=F.useRef(null),m=F.useId(),g=F.useRef(null),v=F.useRef(null),[x,b]=F.useState(200),[w,j]=F.useState(null),[O,T]=F.useState(null),[W,R]=F.useState(null);F.useEffect(()=>{const H=h.current;if(!H||typeof ResizeObserver>"u")return;const _=new ResizeObserver(k=>{for(const Z of k)b(Math.max(40,Z.contentRect.width))});return _.observe(H),()=>_.disconnect()},[]);const E=n.map((H,_)=>({index:_,value:H})).filter(H=>Number.isFinite(H.value));if(E.length<2)return u.jsx("svg",{ref:g,role:"img","aria-label":i||"No trend data",className:"h-11 w-full",viewBox:`0 0 ${x} ${t}`});const I=3,V=Math.min(...E.map(H=>H.value)),U=Math.max(...E.map(H=>H.value))-V||1,G=E.map((H,_)=>({...H,x:I+_/(E.length-1)*(x-I*2),y:I+(1-(H.value-V)/U)*(t-I*2)})),z=G.map(({x:H,y:_})=>`${H.toFixed(1)},${_.toFixed(1)}`).join(" L "),Y=`M ${G[0].x.toFixed(1)},${t-I} L ${z} L ${G.at(-1).x.toFixed(1)},${t-I} Z`,P=G.at(-1),ee=i||`Trend of ${E.length} points, latest ${a(P.value)}`;function te(H){var k;const _=(k=g.current)==null?void 0:k.getBoundingClientRect();return _?Math.max(I,Math.min(x-I,(H.clientX-_.left)/_.width*x)):I}function ne(H){return Math.max(0,Math.min(G.length-1,Math.round((H-I)/(x-I*2)*(G.length-1))))}function ie(H){const _=te(H),k=ne(_),Z=G[k];j(k),R({content:`${e!=null&&e[Z.index]?`${e[Z.index]}: `:""}${a(Z.value)}`,x:H.clientX,y:H.clientY}),c==null||c({index:Z.index,label:e==null?void 0:e[Z.index],value:Z.value}),v.current!==null&&T({a:v.current,b:_})}function re(H){if(!f||!(e!=null&&e.length))return;H.currentTarget.setPointerCapture(H.pointerId);const _=te(H);v.current=_,T({a:_,b:_})}function se(H){if(v.current===null||!f||!(e!=null&&e.length))return;H.currentTarget.hasPointerCapture(H.pointerId)&&H.currentTarget.releasePointerCapture(H.pointerId);const _=te(H);if(Math.abs(_-v.current)>6){const k=G[ne(Math.min(v.current,_))],Z=G[ne(Math.max(v.current,_))];f({from:e[k.index],to:e[Z.index]})}v.current=null,T(null)}function A(){j(null),R(null),c==null||c(null),v.current===null&&T(null)}const Q=w===null?null:G[w];return u.jsxs("span",{ref:h,className:"relative block w-full",children:[u.jsxs("svg",{ref:g,role:"img","aria-label":ee,className:`h-11 w-full overflow-hidden text-chart-primary ${f?"touch-none select-none":""}`,viewBox:`0 0 ${x} ${t}`,preserveAspectRatio:"none",onPointerMove:ie,onPointerDown:re,onPointerUp:se,onPointerCancel:A,onPointerLeave:A,onDoubleClick:()=>f==null?void 0:f(null),children:[u.jsx("defs",{children:u.jsxs("linearGradient",{id:m,x1:"0",y1:"0",x2:"0",y2:"1",children:[u.jsx("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:.16}),u.jsx("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:0})]})}),u.jsx("path",{d:Y,fill:`url(#${m})`}),u.jsx("path",{d:`M ${z}`,fill:"none",stroke:"currentColor",strokeWidth:1.5,vectorEffect:"non-scaling-stroke"}),O?u.jsx("rect",{x:Math.min(O.a,O.b),y:0,width:Math.abs(O.b-O.a),height:t,fill:"currentColor",opacity:.12}):null,Q?u.jsxs(u.Fragment,{children:[u.jsx("line",{x1:Q.x,x2:Q.x,y1:0,y2:t,stroke:"currentColor",strokeWidth:1,opacity:.45}),u.jsx("circle",{cx:Q.x,cy:Q.y,r:2.5,fill:"currentColor"})]}):u.jsx("circle",{cx:P.x,cy:P.y,r:2.25,fill:"currentColor"})]}),u.jsx(rr,{tip:W})]})}const D_={positive:"text-success",negative:"text-danger",neutral:"text-faint"},C_={positive:"▲",negative:"▼",neutral:"·"};function Nr({metric:n,label:e,value:t,valueText:i,format:a,delta:c,comparison:f,sparkValues:h=[],sparkLabels:m,selected:g,loading:v,onSelect:x,onSparkHover:b,onSparkBrush:w}){const[j,O]=F.useState(null),T=u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[u.jsx("span",{className:"truncate text-xs font-medium text-muted",children:e}),j!=null&&j.label?u.jsx("span",{className:"shrink-0 font-mono text-2xs text-faint",children:j.label}):null]}),u.jsx("div",{className:"font-mono tnum text-[19px] font-semibold leading-tight tracking-tight text-ink",children:v?u.jsx("span",{className:"skeleton inline-block h-6 w-24 align-middle"}):j?pt(j.value,a):i??pt(t,a)}),c||f?u.jsxs("div",{className:"flex items-baseline gap-1 text-2xs",children:[c?u.jsxs("span",{"data-tone":c.tone,className:`font-mono tnum font-medium ${D_[c.tone]}`,children:[u.jsx("span",{"aria-hidden":"true",className:"mr-0.5 text-[8px]",children:C_[c.tone]}),c.label]}):null,f?u.jsx("span",{className:"truncate text-faint",children:f}):null]}):null]}),W="group flex w-full flex-col gap-1.5 overflow-hidden rounded-xl border border-line bg-surface px-3.5 pt-3 text-left shadow-[var(--shadow-sm)] transition-colors hover:border-line-strong data-[selected=true]:border-accent",R=u.jsx("div",{className:"-mx-3.5 mt-auto",children:u.jsx(qv,{values:h,labels:m,onHover:E=>{O(E),b==null||b(E)},onBrush:w,formatValue:E=>pt(E,a)})});return x?u.jsxs("article",{"data-metric":n,"data-selected":g||void 0,className:W,children:[u.jsx("button",{type:"button","data-metric":n,"aria-pressed":!!g,onClick:()=>x(n),className:"-m-1 flex flex-col gap-1 border-0 bg-transparent p-1 text-left transition hover:opacity-75",children:T}),R]}):u.jsxs("article",{"data-metric":n,"data-selected":g||void 0,className:W,children:[T,R]})}const ul=280,qt={top:14,right:18,bottom:26,left:60},qm=["var(--accent)","var(--danger)","#0f9f8f","#d98921","#a66dd4","#3b82c4"];function hd(n){return qm[n%qm.length]}function Zm(n,e,t){return Math.min(Math.max(n,e),t)}function Go({points:n,seriesLabel:e="Current",additionalSeries:t=[],comparison:i,formatValue:a,formatAxis:c=a,formatLabel:f=v=>v,comparisonLabel:h="Previous",ariaLabel:m,onBrush:g}){var Fr;const v=F.useRef(null),x=F.useRef(null),b=F.useRef(!1),w=F.useRef(null),[j,O]=F.useState(820),[T,W]=F.useState(null),[R,E]=F.useState(null);F.useEffect(()=>{const ue=v.current;if(!ue)return;const Fe=new ResizeObserver(rt=>{for(const Nt of rt)O(Math.max(320,Nt.contentRect.width))});return Fe.observe(ue),()=>Fe.disconnect()},[]);const I=n.length,V=[{label:e,points:n},...t],M=[...V.flatMap(ue=>ue.points),...i??[]].map(ue=>ue.y).filter(Number.isFinite),U=I<2||M.length===0,G=U?0:Math.min(0,...M),z=U?1:Math.max(...M),Y=z-G||1,P=j-qt.left-qt.right,ee=ul-qt.top-qt.bottom,te=ue=>qt.left+(I<=1?0:ue/(I-1)*P),ne=ue=>qt.top+(1-(ue-G)/Y)*ee,ie=ue=>Zm(Math.round((ue-qt.left)/P*(I-1)),0,I-1),re=ue=>{const Fe=[];let rt=[];return ue.forEach((Nt,Un)=>{Number.isFinite(Nt.y)?rt.push(`${te(Un).toFixed(1)},${ne(Nt.y).toFixed(1)}`):rt.length&&(Fe.push(rt.join(" L ")),rt=[])}),rt.length&&Fe.push(rt.join(" L ")),Fe.map(Nt=>`M ${Nt}`).join(" ")},se=U||n.some(ue=>!Number.isFinite(ue.y))?"":`M ${te(0).toFixed(1)},${ne(G).toFixed(1)} L ${n.map((ue,Fe)=>`${te(Fe).toFixed(1)},${ne(ue.y).toFixed(1)}`).join(" L ")} L ${te(I-1).toFixed(1)},${ne(G).toFixed(1)} Z`;function A(ue){var rt;const Fe=(rt=x.current)==null?void 0:rt.getBoundingClientRect();return Fe?ue.clientX-Fe.left:0}function Q(ue){if(U)return;const Fe=A(ue);W(ie(Fe)),b.current&&w.current&&(w.current={a:w.current.a,b:Fe},E({...w.current}))}function H(ue){if(U||!g)return;ue.currentTarget.setPointerCapture(ue.pointerId),b.current=!0;const Fe=A(ue);w.current={a:Fe,b:Fe},E({...w.current})}function _(ue){ue.currentTarget.hasPointerCapture(ue.pointerId)&&ue.currentTarget.releasePointerCapture(ue.pointerId);const Fe=w.current;if(b.current&&Fe&&g){const rt=ie(Math.min(Fe.a,Fe.b)),Nt=ie(Math.max(Fe.a,Fe.b));Nt>rt&&g({from:n[rt].x,to:n[Nt].x})}b.current=!1,w.current=null,E(null)}function k(){W(null),b.current=!1,w.current=null,E(null)}const Z=Math.max(1,Math.ceil(I/8)),ae=[z,G+Y*.66,G+Y*.33,G],ce=T!=null&&T>=0&&T{const rt=ue.points[ce];return rt&&Number.isFinite(rt.y)?[{...ue,point:rt,index:Fe}]:[]}),lt=ce!=null?(i==null?void 0:i[ce])??null:null,wt=lt&&Number.isFinite(lt.y)?lt:null,Bs=ce!=null?Zm(te(ce),80,j-80):0,xn=$e&&wt&&wt.y!==0?($e.y-wt.y)/Math.abs(wt.y)*100:null,Cr=m??(U?"Time series chart: not enough data to plot.":`Time series chart, ${I} points from ${f(n[0].x)} to ${f(n[I-1].x)}.`);return u.jsxs("div",{className:"relative text-chart-primary",children:[u.jsxs("div",{className:"flex flex-wrap items-center justify-end gap-x-3 gap-y-0.5 px-3 pt-2 text-2xs text-faint",children:[V.map((ue,Fe)=>u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{className:"inline-block h-0.5 w-3",style:{backgroundColor:hd(Fe)}})," ",ue.label]},`${ue.label}-${Fe}`)),i!=null&&i.length?u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{className:"inline-block h-0 w-3 border-t border-dashed border-faint"})," ",h]}):null]}),u.jsx("div",{ref:v,className:"w-full",children:U?u.jsx("div",{className:"grid h-[280px] place-items-center text-xs text-faint",children:"Not enough data to chart."}):u.jsxs("svg",{ref:x,width:j,height:ul,role:"img","aria-label":Cr,className:"block touch-none select-none",onPointerMove:Q,onPointerDown:H,onPointerUp:_,onPointerLeave:k,onPointerCancel:k,onDoubleClick:()=>g==null?void 0:g(null),children:[u.jsx("defs",{children:u.jsxs("linearGradient",{id:"ts-fill",x1:"0",y1:"0",x2:"0",y2:"1",children:[u.jsx("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:.18}),u.jsx("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:0})]})}),ae.map((ue,Fe)=>u.jsxs("g",{children:[u.jsx("line",{x1:qt.left,x2:j-qt.right,y1:ne(ue),y2:ne(ue),className:"stroke-line"}),u.jsx("text",{x:qt.left-8,y:ne(ue)+3,textAnchor:"end",className:"fill-faint font-mono text-[10px]",children:c(ue)})]},Fe)),i&&i.length>=2?u.jsx("path",{d:re(i),fill:"none",className:"stroke-faint",strokeWidth:1.25,strokeDasharray:"4 3"}):null,se?u.jsx("path",{d:se,fill:"url(#ts-fill)"}):null,V.map((ue,Fe)=>u.jsx("path",{d:re(ue.points),fill:"none",stroke:hd(Fe),strokeWidth:1.75},`${ue.label}-${Fe}`)),R?u.jsx("rect",{x:Math.min(R.a,R.b),y:qt.top,width:Math.abs(R.b-R.a),height:ee,className:"fill-chart-primary",opacity:.12}):null,ce!=null&&ze.length?u.jsxs("g",{children:[u.jsx("line",{x1:te(ce),x2:te(ce),y1:qt.top,y2:ul-qt.bottom,className:"stroke-faint",strokeDasharray:"3 3"}),wt?u.jsx("circle",{cx:te(ce),cy:ne(wt.y),r:3,className:"fill-faint"}):null,ze.map(ue=>u.jsx("circle",{cx:te(ce),cy:ne(ue.point.y),r:3.5,fill:hd(ue.index)},`${ue.label}-${ue.index}`))]}):null,n.map((ue,Fe)=>Fe%Z===0||Fe===I-1?u.jsx("text",{x:te(Fe),y:ul-8,textAnchor:"middle",className:"fill-faint font-mono text-[10px]",children:f(ue.x)},ue.x):null)]})}),ze.length&&Re?u.jsxs("div",{className:"pointer-events-none absolute top-8 z-20 -translate-x-1/2 whitespace-nowrap border border-line bg-surface px-2 py-1.5 text-2xs shadow-[var(--shadow)]",style:{left:Bs},children:[u.jsx("div",{className:"mb-0.5 font-mono text-faint",children:f(Re)}),ze.map(ue=>u.jsxs("div",{className:"flex items-center justify-between gap-3",children:[u.jsx("span",{className:"text-muted",children:ue.label}),u.jsx("span",{className:"font-mono tnum font-medium text-ink",children:a(ue.point.y)})]},`${ue.label}-${ue.index}`)),wt?u.jsxs("div",{className:"flex items-center justify-between gap-3",children:[u.jsx("span",{className:"text-muted",children:h}),u.jsx("span",{className:"font-mono tnum text-muted",children:a(wt.y)})]}):null,xn!=null?u.jsxs("div",{className:`mt-0.5 text-right font-mono ${xn>0?"text-success":xn<0?"text-danger":"text-faint"}`,children:[xn.toLocaleString(void 0,{maximumFractionDigits:1,signDisplay:"exceptZero"}),"%"]}):null]}):null]})}const F_={positive:"text-success",negative:"text-danger",neutral:"text-faint"};function O_({metric:n,points:e,comparisonPoints:t,total:i,prevTotal:a,hasTime:c,loading:f,activeRange:h,comparisonLabel:m="Prev period",formatLabel:g,onBrush:v}){const x={format:n.format,type:n.type},b=a!==void 0?yy(i,a):null,w=`${n.label} over time. Total ${pt(i,x)}${b?`, ${b.label} versus the ${m.toLowerCase()}`:""}.`;return u.jsxs("section",{className:"flex flex-col gap-2",children:[u.jsxs("header",{className:"flex flex-wrap items-baseline gap-x-3 gap-y-0.5 px-0.5",children:[u.jsx("h2",{className:"text-xs font-medium text-muted",children:n.label}),u.jsx("span",{className:"font-mono tnum text-xl font-semibold text-ink",children:pt(i,x)}),b?u.jsxs("span",{className:`text-xs ${F_[b.tone]}`,children:[b.label," vs ",m.toLowerCase()]}):null,c?null:u.jsx("span",{className:"text-2xs text-faint",children:"No time dimension"}),h?u.jsx("button",{type:"button",onClick:()=>v(null),className:"ml-auto inline-flex h-7 items-center rounded-full border border-line bg-surface px-3 text-xs text-muted hover:border-line-strong hover:text-ink",children:"Reset zoom"}):null]}),c?f&&e.length<2?u.jsx("div",{className:"skeleton h-[280px] w-full"}):u.jsx(Go,{points:e,comparison:t,formatValue:j=>pt(j,x),formatAxis:j=>Wt(j,x),formatLabel:g,comparisonLabel:m,ariaLabel:w,onBrush:v}):null]})}const T_=new Set(["and","as","asc","by","case","cast","count","date_trunc","desc","else","end","from","group","in","is","join","left","limit","not","null","on","or","order","over","partition","select","sum","then","when","where","with"]);function A_(n){const e=[];let t=0;for(;ta).map(([a,c])=>`-- ${a} -${c}`).join(` - -`),i=A_(t||"No queries yet.");return u.jsxs("details",{className:"border border-line bg-surface",children:[u.jsx("summary",{className:"cursor-pointer px-3 py-2 text-xs font-medium text-muted",children:"Generated SQL"}),Object.keys(e).length>0?u.jsx("div",{"data-testid":"query-inputs",className:"grid gap-px border-t border-line bg-line sm:grid-cols-2",children:Object.entries(e).map(([a,c])=>c?u.jsxs("section",{className:"min-w-0 bg-surface px-3 py-2 text-2xs",children:[u.jsx("h3",{className:"mb-1 font-semibold text-ink",children:a}),[["Metrics",c.metrics],["Dimensions",c.dimensions],["Filters",c.filters]].map(([f,h])=>h!=null&&h.length?u.jsxs("p",{className:"truncate text-muted",title:h.join(", "),children:[u.jsxs("strong",{className:"font-medium text-faint",children:[f,":"]})," ",h.join(", ")]},f):null)]},a):null)}):null,u.jsx("pre",{"data-testid":"query-debug",className:"max-h-72 overflow-auto whitespace-pre-wrap border-t border-line px-3 py-2 font-mono text-2xs text-muted",children:i.map((a,c)=>Xm[a.kind]?u.jsx("span",{className:Xm[a.kind],"data-token":a.kind,children:a.value},c):a.value)})]})}function B_(n){return{format:n==null?void 0:n.format,type:n==null?void 0:n.type}}function E_(n,e){return n&&e.some(t=>t.ref===n)?n:null}function ey(n,e){return[...n].sort((t,i)=>String(t[e]??"").localeCompare(String(i[e]??"")))}function R_(n,e){return{from:e==="second"||e==="minute"||e==="hour"?n.from.replace(" ","T"):nf(n.from),to:hS(n.to,e)}}function L_(){var Cr,Fr,ue,Fe,rt,Nt,Un,sr,Es,Ei;const{state:n,dispatch:e,catalog:t,backend:i,dashboard:a}=ls(),[c,f]=F.useState(null),h=t.models.find(Se=>Se.name===n.model),m=F.useMemo(()=>Cs(t,a,n.dashboardTab),[t,a,n.dashboardTab]);F.useEffect(()=>{f(null)},[n.dashboardTab,n.model]);const g=(m==null?void 0:m.metrics)??(h==null?void 0:h.metrics)??[],v=new Set(g.map(Se=>Se.ref)),x=ji(t,n.model).filter(Se=>!m||v.has(Se.ref)),b=((Cr=m==null?void 0:m.timeDimension)==null?void 0:Cr.ref)??((Fr=h==null?void 0:h.timeDimension)==null?void 0:Fr.ref),w=g.find(Se=>Se.ref===n.selectedMetric)??x.find(Se=>Se.ref===n.selectedMetric)??g[0],j=!!w&&g.some(Se=>Se.ref===w.ref),O=F.useMemo(()=>{const Se=g.map(bn=>bn.ref);return w&&!j?[...Se,w.ref]:Se},[g,w,j]),T=F.useMemo(()=>oc(t),[t]),W=F.useMemo(()=>[...(m==null?void 0:m.filters)??[],...Os(n.filters,{timeRef:b,range:n.dateRange,types:T})],[m,n.filters,b,n.dateRange,T]),R=F.useMemo(()=>n.comparison==="off"||!n.dateRange?null:n.comparison==="year"?lS(n.dateRange):n.comparison==="custom"?n.comparisonRange??null:aS(n.dateRange),[n.comparison,n.dateRange,n.comparisonRange]),E=F.useMemo(()=>R&&b?[...(m==null?void 0:m.filters)??[],...Os(n.filters,{timeRef:b,range:R,types:T})]:null,[m,n.filters,b,R,T]),I=n.timezone,V=Se=>Se?{...Se,timezone:I}:null,M=Zn(i,O.length?V($m(O,W,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations)):null),U=Zn(i,O.length&&b?V(Pm(O,b,n.grain,W,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations,!!n.dateRange)):null),G=Zn(i,O.length&&E?V($m(O,E,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations)):null),z=Zn(i,w&&b&&E?V(Pm([w.ref],b,n.grain,E,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations,!0)):null),Y=M.error??U.error??G.error??z.error;if(!h)return u.jsx("div",{className:"p-4",children:u.jsx(Xn,{message:"No model available in this semantic layer."})});const P=((m==null?void 0:m.dimensions)??h.dimensions).filter(Se=>Se.type!=="time"),ee=E_(c,P),te=n.comparison==="year"?"Prev year":n.comparison==="custom"?"Comparison":"Prev period",ne=b?`${b}__${n.grain}`:"",ie=ne?[...O,ne]:O,re=w&&ne?[w.ref,ne]:[],se=g[0]?Fn(g[0].ref,O):w?Fn(w.ref,O):null,A=Se=>!Se||!se||Se.columns.includes(se),Q=A(M.result)?(ue=M.result)==null?void 0:ue.rows[0]:void 0,H=A(G.result)?(Fe=G.result)==null?void 0:Fe.rows[0]:void 0,_=A(U.result)?((rt=U.result)==null?void 0:rt.rows)??[]:[],k=w?Fn(w.ref,O):"",Z=w?Fn(w.ref,ie):"",ae=w?Fn(w.ref,re):"",ce=ne?Fn(ne,ie):"",we=ne?Fn(ne,re):"",$e=ce?ey(_,ce):_,Re=Q&&k?Number(Q[k]):NaN,ze=H&&k?Number(H[k]):void 0,lt=Z?$e.map(Se=>({x:String(Se[ce]??""),y:Number(Se[Z])})):[],wt=we?ey(((Nt=z.result)==null?void 0:Nt.rows)??[],we):[],Bs=ae&<.length>0&&wt.length>0?(()=>{const Se=String(wt[0][we]??""),bn=lt[0].x,us=new Map;for(const tn of wt)us.set(Lm(Se,String(tn[we]??""),n.grain),Number(tn[ae]));return lt.map(tn=>({x:tn.x,y:us.get(Lm(bn,tn.x,n.grain))??NaN}))})():[];function xn(Se){e(Se?{type:"setDateRange",range:R_(Se,n.grain)}:{type:"setDateRange",range:void 0})}return u.jsxs("div",{className:"flex flex-col gap-4 p-4",children:[Y?u.jsx(Bi,{message:Y}):null,u.jsx("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-3 lg:grid-cols-4 xl:grid-cols-6","data-testid":"metric-totals",children:g.length===0?u.jsx("div",{className:"col-span-full",children:u.jsx(Xn,{message:"This model has no metrics."})}):g.map(Se=>{const bn=Fn(Se.ref,O),us=Fn(Se.ref,ie),tn=Q?Number(Q[bn]):NaN,ds=H?Number(H[bn]):void 0,Yo=$e.map(ir=>Number(ir[us])).filter(Number.isFinite);return u.jsx(Nr,{metric:Se.ref,label:Se.label,valueText:pt(tn,B_(Se)),delta:ds!==void 0?yy(tn,ds):null,sparkValues:Yo,selected:n.selectedMetric===Se.ref,loading:M.loading&&!Q,onSelect:ir=>e({type:"setMetric",metric:ir})},Se.ref)})}),w?u.jsx(O_,{metric:w,points:lt,comparisonPoints:R?Bs:void 0,total:Re,prevTotal:R?ze:void 0,hasTime:!!b,loading:U.loading,activeRange:n.dateRange,comparisonLabel:te,formatLabel:Se=>cS(Se,n.grain),onBrush:xn}):null,u.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(220px,1fr))] gap-0 border-l border-t border-line",children:w&&P.length?P.filter(Se=>ee===null||ee===Se.ref).map(Se=>u.jsx(M_,{dim:Se,model:h,timeDimensionRef:b,rankMetric:w,contextColumn:n.contextColumn,metricTotal:Number.isFinite(Re)?Re:void 0,comparisonRange:R??void 0,baseFilters:m==null?void 0:m.filters,baseSegments:m==null?void 0:m.segments,usePreaggregations:m==null?void 0:m.usePreaggregations,expanded:ee===Se.ref,onExpandedChange:bn=>f(bn?Se.ref:null)},Se.ref)):u.jsx(Xn,{message:"No categorical dimensions to break down."})}),u.jsx(ac,{queries:{Totals:(Un=M.result)==null?void 0:Un.sql,Series:(sr=U.result)==null?void 0:sr.sql,Comparison:(Es=G.result)==null?void 0:Es.sql,"Prev series":(Ei=z.result)==null?void 0:Ei.sql}})]})}function U_(){var ne,ie;const{state:n,catalog:e,backend:t}=ls(),i=e.models.find(re=>re.name===n.model),a=(i==null?void 0:i.dimensions)??[],c=ji(e,n.model),f=F.useMemo(()=>[...(i==null?void 0:i.metrics)??[],...c],[i,c]),h=(ne=i==null?void 0:i.timeDimension)==null?void 0:ne.ref,m=re=>a.some(se=>se.ref===re),g=re=>f.some(se=>se.ref===re),v=n.pivotDims.filter(m),x=n.pivotMetrics.filter(g),b=g(n.selectedMetric)?n.selectedMetric:(ie=i==null?void 0:i.metrics[0])==null?void 0:ie.ref,w=x.length?x:b?[b]:[],[j,O]=F.useState(null),T=F.useMemo(()=>sf(a),[a]),W=F.useMemo(()=>Os(n.filters,{timeRef:h,range:n.dateRange,types:T}),[n.filters,h,n.dateRange,T]),R=j??(w[0]?{ref:w[0],dir:"desc"}:null),E=R?[`${R.ref} ${R.dir.toUpperCase()}`]:void 0,I=w.length||v.length?gS(w,v,W,E,500):null,V=I?{...I,timezone:n.timezone}:null,{result:M,loading:U,error:G}=Zn(t,V),z=F.useMemo(()=>new Map(f.map(re=>[re.ref,re])),[f]),Y=F.useMemo(()=>{const re=new Map;for(const se of[...v,...w])re.set(Sr(se),se);return re},[v,w]),P=[...v.map(re=>{var se;return{key:Sr(re),label:((se=a.find(A=>A.ref===re))==null?void 0:se.label)??Ee(re),numeric:!1}}),...w.map(re=>{var se;return{key:Sr(re),label:((se=z.get(re))==null?void 0:se.label)??Ee(re),numeric:!0,sortable:!0}})];function ee(re){const se=Y.get(re);se&&O(A=>A&&A.ref===se?{ref:se,dir:A.dir==="desc"?"asc":"desc"}:{ref:se,dir:"desc"})}function te(re,se){if(re.numeric){const A=z.get(Y.get(re.key)??"");return pt(se,{format:A==null?void 0:A.format,type:A==null?void 0:A.type})}return se==null||se===""?"—":String(se)}return i?u.jsxs("div",{className:"flex flex-col gap-4 p-4",children:[G?u.jsx(Bi,{message:G}):P.length===0?u.jsx(Xn,{title:"Nothing selected",message:"Pick at least one metric or dimension above."}):u.jsx(Ho,{columns:P,rows:(M==null?void 0:M.rows)??[],loading:U,sortKey:R?Sr(R.ref):void 0,sortDir:R==null?void 0:R.dir,onSort:ee,renderCell:te}),u.jsx(ac,{queries:{Pivot:M==null?void 0:M.sql}})]}):u.jsx("div",{className:"p-4",children:u.jsx(Xn,{message:"No model available."})})}const Dn={top:12,right:14,bottom:26,left:44};function $_(n,e,t=4){if(!(e>n))return[n];const i=(e-n)/(t-1);return Array.from({length:t},(a,c)=>n+i*c)}function Zv({data:n,height:e=200,ariaLabel:t,selectedLabel:i,onSelect:a}){const c=F.useRef(null),[f,h]=F.useState(640),{tip:m,handlers:g}=Dr();F.useEffect(()=>{const M=c.current;if(!M||typeof ResizeObserver>"u")return;const U=new ResizeObserver(G=>{for(const z of G)h(Math.max(160,z.contentRect.width))});return U.observe(M),()=>U.disconnect()},[]);const v=n.map(M=>Number.isFinite(M.value)?M.value:0),x=Math.min(0,...v),b=Math.max(0,...v),w=b-x||1,j=f-Dn.left-Dn.right,O=e-Dn.top-Dn.bottom,T=M=>Dn.top+(1-(M-x)/w)*O,W=T(0),R=j/Math.max(n.length,1),E=Math.max(8,Math.min(48,R*.62)),I=$_(x,b,4),V=t||`Bar chart, ${n.length} categories, up to ${Wt(b)}`;return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{ref:c,role:"img","aria-label":V,className:"h-[200px] w-full overflow-hidden",viewBox:`0 0 ${f} ${e}`,children:[I.map((M,U)=>{const G=T(M);return u.jsxs("g",{children:[u.jsx("line",{x1:Dn.left,x2:f-Dn.right,y1:G,y2:G,className:"stroke-line"}),u.jsx("text",{x:Dn.left-6,y:G+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Wt(M)})]},U)}),u.jsx("line",{x1:Dn.left,x2:f-Dn.right,y1:W,y2:W,className:"stroke-line"}),n.map((M,U)=>{const G=M.filterValue??M.label,z=v[U]??0,Y=T(z),P=Math.abs(Y-W),ee=Dn.left+R*U+(R-E)/2,te=Math.min(Y,W);return u.jsxs("g",{role:a?"button":void 0,tabIndex:a?0:void 0,"aria-label":a?`Filter to ${M.label}`:void 0,"aria-pressed":a?i===G:void 0,onClick:a?()=>a(G):void 0,onKeyDown:a?ne=>{(ne.key==="Enter"||ne.key===" ")&&a(G)}:void 0,className:a?"cursor-pointer":void 0,children:[u.jsx("rect",{x:ee,y:te,width:E,height:P,"data-label":M.label,"data-value":z,"data-tone":z<0?"negative":"positive",className:i===G?"fill-accent":z<0?"fill-danger":"fill-chart-primary",...g(`${M.label}: ${pt(z)}`)}),u.jsx("text",{x:ee+E/2,y:e-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:M.label.slice(0,8)})]},`${G}-${U}`)})]}),u.jsx(rr,{tip:m})]})}const pd=7;function yn(n){return`var(--viz-${(n%pd+pd)%pd+1})`}function Ts(n,e,t=4){if(!(e>n))return[n];const i=(e-n)/(t-1);return Array.from({length:t},(a,c)=>n+i*c)}function cs(n,e,t){if(!n||typeof ResizeObserver>"u")return()=>{};const i=new ResizeObserver(a=>{for(const c of a)t(Math.max(e,c.contentRect.width))});return i.observe(n),()=>i.disconnect()}const Pt={top:12,right:14,bottom:30,left:48};function Xv({points:n,height:e=240,xLabel:t,yLabel:i,formatX:a=Wt,formatY:c=Wt,ariaLabel:f}){const h=F.useRef(null),[m,g]=F.useState(640),{tip:v,handlers:x}=Dr();F.useEffect(()=>cs(h.current,200,g),[]);const b=n.filter(P=>Number.isFinite(P.x)&&Number.isFinite(P.y));if(b.length===0)return u.jsx("div",{className:"grid h-[240px] place-items-center text-xs text-faint",children:"No points to chart."});const w=[...new Set(b.map(P=>P.series??""))],j=b.map(P=>P.x),O=b.map(P=>P.y),T=Math.min(...j),W=Math.max(...j),R=Math.min(...O),E=Math.max(...O),I=W-T||1,V=E-R||1,M=m-Pt.left-Pt.right,U=e-Pt.top-Pt.bottom,G=P=>Pt.left+(P-T)/I*M,z=P=>Pt.top+(1-(P-R)/V)*U,Y=f||`Scatter plot, ${b.length} points${t&&i?` of ${i} by ${t}`:""}`;return u.jsxs(u.Fragment,{children:[w.length>1?u.jsx("div",{className:"mb-1 flex flex-wrap items-center gap-3 text-2xs text-faint",children:w.map((P,ee)=>u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-full",style:{background:yn(ee)}}),P||"(default)"]},P||"(default)"))}):null,u.jsxs("svg",{ref:h,role:"img","aria-label":Y,className:"w-full overflow-hidden",style:{height:e},viewBox:`0 0 ${m} ${e}`,children:[Ts(R,E,4).map((P,ee)=>{const te=z(P);return u.jsxs("g",{children:[u.jsx("line",{x1:Pt.left,x2:m-Pt.right,y1:te,y2:te,className:"stroke-line"}),u.jsx("text",{x:Pt.left-6,y:te+3,textAnchor:"end",className:"fill-faint text-[10px]",children:c(P)})]},`y${ee}`)}),Ts(T,W,5).map((P,ee)=>{const te=G(P);return u.jsxs("g",{children:[u.jsx("line",{x1:te,x2:te,y1:Pt.top,y2:e-Pt.bottom,className:"stroke-line"}),u.jsx("text",{x:te,y:e-14,textAnchor:"middle",className:"fill-faint text-[10px]",children:a(P)})]},`x${ee}`)}),t?u.jsx("text",{x:Pt.left+M/2,y:e-2,textAnchor:"middle",className:"fill-muted text-[10px]",children:t}):null,i?u.jsx("text",{x:10,y:Pt.top+U/2,textAnchor:"middle",transform:`rotate(-90 10 ${Pt.top+U/2})`,className:"fill-muted text-[10px]",children:i}):null,b.map((P,ee)=>u.jsx("circle",{cx:G(P.x),cy:z(P.y),r:3.5,fill:yn(w.indexOf(P.series??"")),fillOpacity:.75,"data-x":P.x,"data-y":P.y,"data-label":P.label,...x(u.jsx(os,{title:P.label??P.series,rows:[{label:t??"x",value:a(P.x)},{label:i??"y",value:c(P.y)}]}))},ee))]}),u.jsx(rr,{tip:v})]})}function P_(){const n=Cv();return u.jsx("span",{className:"text-2xs text-faint",children:n?"Querying…":"Live data"})}function md(n,e){for(const i of n.models){const a=i.metrics.find(c=>c.ref===e);if(a)return{format:a.format,type:a.type}}const t=n.graphMetrics.find(i=>i.ref===e);return{format:t==null?void 0:t.format,type:t==null?void 0:t.type}}function z_(n){return sf(n.models.flatMap(e=>e.dimensions))}function V_(n){var t;const e=(t=n.encoding)==null?void 0:t.y;return(Array.isArray(e)?e[0]:e)??n.query.metrics[0]??""}function W_({chart:n,columns:e,rows:t}){const i=w_(e,t);return u.jsx("a",{href:`data:text/csv;charset=utf-8,${encodeURIComponent(i)}`,download:`${n.id}.csv`,className:"border border-line px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Export CSV"})}function H_({chart:n,columns:e,rows:t,loading:i,onDrill:a}){const c=e.map(g=>({key:g,label:Ee(g),numeric:n.query.metrics.some(v=>xr(v,e)===g)})),f=i_(n),h=f?xr(f,e):void 0,m=!!f;return u.jsxs("div",{className:"border-t border-line bg-surface-soft p-3","data-testid":`chart-details-${n.id}`,children:[u.jsxs("div",{className:"mb-2 flex items-center justify-between gap-2",children:[u.jsx("span",{className:"text-2xs font-semibold uppercase tracking-wide text-faint",children:"Drill details"}),m&&f&&h?u.jsxs("span",{className:"text-2xs text-faint",children:["Choose a ",Ee(f)," value to filter every chart."]}):null]}),u.jsx(Ho,{columns:c,rows:t,loading:i,pageSize:20,renderCell:(g,v)=>String(v??"—")}),m&&f&&h&&t.length?u.jsx("div",{className:"mt-2 flex flex-wrap gap-1","aria-label":`Drill by ${Ee(f)}`,children:t.slice(0,12).map((g,v)=>{const x=Xl(g[h]);return u.jsxs("button",{type:"button",onClick:()=>a(f,x),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-accent hover:text-ink",children:["Filter to ",rs(x)]},`${String(x)}-${v}`)})}):null]})}function G_({document:n,chart:e,catalog:t,backend:i,state:a,setFilters:c,setRange:f}){var P,ee,te,ne,ie,re,se;const[h,m]=F.useState(!1),g=F.useMemo(()=>z_(t),[t]),v=F.useMemo(()=>h_(n,e,a.filters,g,a.ranges,a),[e,n,a,g]),x=Zn(i,v),b=((P=x.result)==null?void 0:P.rows)??[],w=((ee=x.result)==null?void 0:ee.columns)??[],j=e.query.dimensions??[],O=((te=e.encoding)==null?void 0:te.x)??j[0]??"",T=l_(e),W=T[0]??V_(e),R=xr(O,w),E=uf(n,e,a),I=zv(e,g),V=o_(e,O),M=((ne=e.title)==null?void 0:ne.trim())||Ee(e.id),U=[(ie=e.encoding)==null?void 0:ie.color,...j.filter(A=>A!==O)].filter((A,Q,H)=>!!A&&H.indexOf(A)===Q),G=u_(e,O,U),z=U.map(A=>xr(A,w));let Y;if(x.loading&&!x.result)Y=u.jsx(af,{title:`Loading ${M}`});else if(x.error)Y=u.jsx(Bi,{title:`Could not load ${M}`,message:x.error});else if(!b.length)Y=u.jsx(Xn,{title:M,message:"The query returned no rows."});else if(j.length)if(I==="scatter"||I==="point"){const A=(re=e.encoding)!=null&&re.color?xr(e.encoding.color,w):z[0];Y=u.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(260px,1fr))] gap-3",children:T.map(Q=>{const H=xr(Q,w),_=b.map(k=>({x:Number(k[R]),y:Number(k[H]),label:String(k[R]??""),series:A?String(k[A]??""):void 0}));return u.jsxs("div",{className:"min-w-0",children:[T.length>1?u.jsx("h3",{className:"mb-1 text-2xs font-semibold text-muted",children:Ee(Q)}):null,u.jsx(Xv,{points:_,xLabel:Ee(O),yLabel:Ee(Q),formatY:k=>pt(k,md(t,Q)),ariaLabel:`${M}, ${Ee(Q)} by ${Ee(O)}, ${_.length} points`})]},Q)})})}else I==="line"||I==="area"?Y=u.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(260px,1fr))] gap-3",children:T.map(A=>{const Q=y_(b,R,xr(A,w),z),H=Q[0]??{label:"Current",points:[]},_=md(t,A);return u.jsxs("div",{className:"min-w-0",children:[T.length>1?u.jsx("h3",{className:"mb-1 text-2xs font-semibold text-muted",children:Ee(A)}):null,u.jsx(Go,{points:H.points,seriesLabel:H.label,additionalSeries:Q.slice(1),formatValue:k=>pt(k,_),ariaLabel:`${M}, ${Ee(A)}, ${Q.length} series and ${H.points.length} buckets`,onBrush:V?k=>f(O,k):void 0})]},A)})}):Y=u.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(260px,1fr))] gap-3",children:T.map(A=>{const Q=xr(A,w),H=m_(b,R,Q,z);return H.map((_,k)=>{const Z=_.data.slice(0,30),ae=T.length>1||H.length>1,ce=[T.length>1?Ee(A):"",H.length>1?_.label:""].filter(Boolean).join(" · ");return u.jsxs("div",{className:"min-w-0",children:[ae?u.jsx("h3",{className:"mb-1 text-2xs font-semibold text-muted",children:ce}):null,u.jsx(Zv,{data:Z,ariaLabel:`${M}, ${ce||Ee(A)}, ${Z.length} categories`,selectedLabel:E.filters[O],onSelect:G?we=>{c(c_(e,O,we,U,_.filterValues)),m(!0)}:void 0})]},`${A}-${_.label}-${k}`)})})});else{const A=b[0];Y=u.jsx("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2",children:e.query.metrics.map(Q=>u.jsx(Nr,{metric:Q,label:Ee(Q),value:A[xr(Q,w)],format:md(t,Q)},Q))})}return u.jsxs("article",{className:"min-w-0 overflow-hidden border border-line bg-surface","data-testid":"dashboard-chart","data-chart-id":e.id,children:[u.jsxs("header",{className:"flex min-h-12 flex-wrap items-center justify-between gap-2 border-b border-line px-3 py-2",children:[u.jsxs("div",{className:"min-w-0",children:[u.jsx("h2",{className:"truncate text-sm font-semibold text-ink",children:M}),u.jsxs("p",{className:"text-2xs text-faint",children:[Ee(W),O?` by ${Ee(O)}`:""]})]}),u.jsxs("div",{className:"flex flex-wrap gap-1",children:[u.jsx("button",{type:"button","aria-expanded":h,onClick:()=>m(A=>!A),className:"border border-line px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:h?"Hide details":"Drill details"}),u.jsx("a",{href:p_(n,e,a,g,t),className:"border border-line px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Explore from here"}),u.jsx(W_,{chart:e,columns:w,rows:b})]})]}),u.jsx("div",{className:"min-h-64 overflow-hidden p-3",children:Y}),h?u.jsx(H_,{chart:e,columns:w,rows:b,loading:x.loading,onDrill:(A,Q)=>c({[A]:Q})}):null,(se=x.result)!=null&&se.sql?u.jsx("div",{className:"border-t border-line px-3 py-2",children:u.jsx(ac,{queries:{Query:x.result.sql}})}):null]})}function Y_({document:n,state:e,onLoad:t}){const[i,a]=F.useState(""),[c,f]=F.useState(()=>x_(n)),[h,m]=F.useState(!1);function g(v){f(v),m(!b_(n,v))}return u.jsxs("details",{className:"relative",children:[u.jsx("summary",{className:"cursor-pointer list-none border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Saved views"}),u.jsxs("div",{className:"absolute right-0 z-50 mt-1 w-72 border border-line bg-surface p-3 shadow-[var(--shadow)]",children:[u.jsx("p",{className:"mb-2 text-2xs text-faint",children:"Stored only in this browser. Nothing is written to the server."}),u.jsxs("div",{className:"flex gap-1",children:[u.jsx("input",{value:i,onChange:v=>a(v.target.value),placeholder:"View name","aria-label":"Saved view name",className:"min-w-0 flex-1 border border-line bg-bg px-2 py-1 text-xs text-ink"}),u.jsx("button",{type:"button",disabled:!i.trim(),onClick:()=>{const v=[...c.filter(x=>x.name!==i.trim()),{name:i.trim(),state:e}];g(v),a("")},className:"border border-line px-2 py-1 text-2xs text-muted hover:text-ink disabled:opacity-40",children:"Save"})]}),h?u.jsx("p",{role:"alert",className:"mt-2 text-2xs text-danger",children:"Browser storage is unavailable."}):null,u.jsx("div",{className:"mt-2 flex flex-col gap-1",children:c.length?c.map(v=>u.jsxs("div",{className:"flex items-center justify-between gap-2 border-t border-line pt-1",children:[u.jsx("button",{type:"button",onClick:()=>t(v.state),className:"min-w-0 flex-1 truncate text-left text-xs text-muted hover:text-ink",children:v.name}),u.jsx("button",{type:"button","aria-label":`Delete saved view ${v.name}`,onClick:()=>g(c.filter(x=>x.name!==v.name)),className:"text-2xs text-faint hover:text-danger",children:"Delete"})]},v.name)):u.jsx("span",{className:"text-2xs text-faint",children:"No local views yet."})})]})]})}function Q_(){const[n,e]=F.useState(!1);return u.jsx("button",{type:"button",title:"Copies the active tab, filters, and brushed ranges. Data is queried live; local saved views are not shared.",onClick:async()=>{await navigator.clipboard.writeText(window.location.href),e(!0),window.setTimeout(()=>e(!1),1200)},className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:n?"Share URL copied":"Copy share URL"})}function K_({document:n,catalog:e,backend:t}){const[i,a]=F.useState(()=>g_(window.location.search,n)),c=n.tabs.find(b=>b.id===i.tab)??n.tabs[0];F.useEffect(()=>{window.document.title=n.title},[n.title]),F.useEffect(()=>{const b=v_(i,n);window.history.replaceState(null,"",`${window.location.pathname}${b?`?${b}`:""}`)},[n,i]);function f(b,w){var O,T;const j=ec(n,b);if((((T=(O=n.defaults)==null?void 0:O.interactions)==null?void 0:T.scope)??"dashboard")==="chart"){a(W=>{var R;return{...W,chartFilters:{...W.chartFilters??{},[j]:{...((R=W.chartFilters)==null?void 0:R[j])??{},...w}}}});return}a(W=>({...W,filters:{...W.filters,...w},filterSources:{...W.filterSources,...Object.fromEntries(Object.keys(w).map(R=>[R,j]))}}))}function h(b,w,j){var T,W;const O=ec(n,b);if((((W=(T=n.defaults)==null?void 0:T.interactions)==null?void 0:W.scope)??"dashboard")==="chart"){a(R=>{const E={...R.chartRanges??{}},I={...E[O]??{}};return j?I[w]=j:delete I[w],Object.keys(I).length?E[O]=I:delete E[O],{...R,chartRanges:E}});return}a(R=>{const E={...R.ranges},I={...R.rangeSources};return j?(E[w]=j,I[w]=O):(delete E[w],delete I[w]),{...R,ranges:E,rangeSources:I}})}const m=u.jsxs(u.Fragment,{children:[u.jsx(Y_,{document:n,state:i,onLoad:a}),u.jsx(Q_,{}),u.jsx($o,{}),u.jsx(P_,{})]}),g=Object.entries(i.chartFilters??{}).flatMap(([b,w])=>Object.entries(w).map(([j,O])=>({source:b,dimension:j,value:O}))),v=Object.entries(i.chartRanges??{}).flatMap(([b,w])=>Object.entries(w).map(([j,O])=>({source:b,dimension:j,range:O}))),x=Object.entries(i.filters).length||Object.entries(i.ranges).length||g.length||v.length?u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"shrink-0 text-2xs font-semibold uppercase tracking-wide text-faint",children:"Filters"}),Object.entries(i.filters).map(([b,w])=>u.jsxs("button",{type:"button","aria-label":`Remove filter ${Ee(b)} ${w}`,onClick:()=>a(j=>{const O={...j.filters},T={...j.filterSources};return delete O[b],delete T[b],{...j,filters:O,filterSources:T}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Ee(b)," = ",w," ×"]},b)),Object.entries(i.ranges).map(([b,w])=>u.jsxs("button",{type:"button","aria-label":`Remove range ${Ee(b)} ${w.from} to ${w.to}`,onClick:()=>a(j=>{const O={...j.ranges},T={...j.rangeSources};return delete O[b],delete T[b],{...j,ranges:O,rangeSources:T}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Ee(b),": ",w.from,"–",w.to," ×"]},`range-${b}`)),g.map(({source:b,dimension:w,value:j})=>u.jsxs("button",{type:"button","aria-label":`Remove filter ${Ee(w)} ${j} from ${b}`,onClick:()=>a(O=>{const T={...O.chartFilters??{}},W={...T[b]??{}};return delete W[w],Object.keys(W).length?T[b]=W:delete T[b],{...O,chartFilters:T}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Ee(w)," = ",j," · ",b," ×"]},`chart-filter-${b}-${w}`)),v.map(({source:b,dimension:w,range:j})=>u.jsxs("button",{type:"button","aria-label":`Remove range ${Ee(w)} ${j.from} to ${j.to} from ${b}`,onClick:()=>a(O=>{const T={...O.chartRanges??{}},W={...T[b]??{}};return delete W[w],Object.keys(W).length?T[b]=W:delete T[b],{...O,chartRanges:T}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Ee(w),": ",j.from,"–",j.to," · ",b," ×"]},`chart-range-${b}-${w}`)),u.jsx("button",{type:"button",onClick:()=>a(b=>({...b,filters:{},ranges:{},filterSources:{},rangeSources:{},chartFilters:{},chartRanges:{}})),className:"text-2xs text-muted hover:text-ink",children:"Clear all"})]}):void 0;return u.jsx(_v,{brand:u.jsxs("div",{className:"min-w-0",children:[u.jsx("h1",{className:"truncate text-sm font-semibold text-ink",children:n.title}),u.jsx("p",{className:"text-2xs text-faint",children:"Declarative dashboard"})]}),toolbar:m,filters:x,rail:null,showRail:!1,children:u.jsxs("div",{"data-testid":"dashboard-document",className:"flex min-h-full flex-col",children:[u.jsx("nav",{className:"flex shrink-0 gap-1 overflow-x-auto border-b border-line bg-surface px-3 pt-2","aria-label":"Dashboard tabs",children:n.tabs.map(b=>u.jsx("button",{type:"button",role:"tab","aria-selected":b.id===(c==null?void 0:c.id),"data-tab-id":b.id,onClick:()=>a(w=>{var j,O;return w.tab===b.id?w:(((O=(j=n.defaults)==null?void 0:j.interactions)==null?void 0:O.scope)??"dashboard")==="dashboard"?{...w,tab:b.id}:{...w,tab:b.id,filters:{},ranges:{},filterSources:{},rangeSources:{},chartFilters:{},chartRanges:{}}}),className:"border border-b-0 border-line px-3 py-2 text-xs text-muted aria-selected:border-accent aria-selected:bg-bg aria-selected:text-ink",children:S_(b)},b.id))}),c?u.jsx("section",{className:"grid min-w-0 grid-cols-1 gap-3 p-3 xl:grid-cols-2","data-testid":"dashboard-chart-grid","data-tab-id":c.id,children:c.charts.map(b=>u.jsx(G_,{document:n,chart:b,catalog:e,backend:t,state:i,setFilters:w=>f(b,w),setRange:(w,j)=>h(b,w,j)},b.id))}):u.jsx(Xn,{title:"No dashboard tabs",message:"This dashboard document has no tabs to render."})]})})}function ty(){const n=Cv();return u.jsxs("span",{role:"status","aria-live":"polite","aria-atomic":"true",className:"flex items-center gap-1.5 text-2xs text-faint",title:n?"Updating data":"Data is up to date",children:[n?u.jsx("svg",{"aria-hidden":"true",viewBox:"0 0 24 24",className:"spinner size-3.5 text-accent",fill:"none",stroke:"currentColor",strokeWidth:"3",children:u.jsx("path",{d:"M12 3a9 9 0 1 0 9 9",strokeLinecap:"round"})}):u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-full bg-accent"}),u.jsx("span",{className:"sr-only",children:n?"Updating data":"Data is up to date"})]})}function J_(){const[n,e]=F.useState(!1);return u.jsx("button",{type:"button",onClick:async()=>{await navigator.clipboard.writeText(window.location.href),e(!0),window.setTimeout(()=>e(!1),1200)},className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:n?"Copied":"Copy link"})}function dl({children:n}){return u.jsx("div",{className:"grid h-screen place-items-center bg-bg p-6",children:n})}function q_({backend:n,onAuthenticated:e}){const[t,i]=F.useState(""),[a,c]=F.useState(null),[f,h]=F.useState(!1);return u.jsxs("div",{className:"w-full max-w-sm border border-line bg-surface p-6 shadow-sm",children:[u.jsx("h1",{className:"text-base font-semibold text-ink",children:"Connect to Sidemantic"}),u.jsx("p",{className:"mt-2 text-xs leading-5 text-muted",children:"Enter the API bearer once. It is exchanged for a short-lived, HttpOnly browser session where supported, and is never placed in the URL or browser storage."}),u.jsxs("form",{className:"mt-5 space-y-3",onSubmit:async m=>{m.preventDefault(),h(!0),c(null);try{await n.createBrowserSession(t),i(""),e()}catch(g){c(g instanceof Error?g.message:String(g))}finally{h(!1)}},children:[u.jsx("label",{className:"block text-xs font-medium text-ink",htmlFor:"api-token",children:"API bearer token"}),u.jsx("input",{id:"api-token",type:"password",autoComplete:"off",required:!0,value:t,onChange:m=>i(m.target.value),className:"w-full border border-line bg-bg px-3 py-2 text-sm text-ink outline-none focus:border-accent"}),a?u.jsx("p",{className:"text-xs text-red-700",children:a}):null,u.jsx("button",{type:"submit",disabled:f||!t,className:"w-full bg-accent px-3 py-2 text-xs font-semibold text-white disabled:opacity-50",children:f?"Connecting…":"Connect"})]})]})}function Z_(){const{state:n,dispatch:e,catalog:t,initial:i,dashboard:a}=ls(),c=!!a,f=n.view==="home"&&!c,h=t.models.find(E=>E.name===n.model),m=F.useMemo(()=>Cs(t,a,n.dashboardTab),[t,a,n.dashboardTab]),g=F.useMemo(()=>a?Iv(t,a,n.dashboardTab):i,[t,a,i,n.dashboardTab]),v=n.dateRange!=null||Object.keys(n.filters).length>0,x=(m==null?void 0:m.timeDimension)??(h==null?void 0:h.timeDimension),b=!!x,w=iS(x==null?void 0:x.supportedGranularities,n.grain),j=F.useMemo(()=>{const E=new Map;for(const I of t.models)for(const V of I.dimensions)E.set(V.ref,{dim:V,model:I});return E},[t]),O=Object.entries(n.filters).flatMap(([E,I])=>{const V=j.get(E);return V?[u.jsx(Od,{dim:V.dim,model:V.model,filter:I,onRemove:()=>e({type:"removeFilterDim",dim:E})},E)]:[]}),T=u.jsx(eS,{dashboardTitle:a==null?void 0:a.title,modelLabel:!f&&!c?h==null?void 0:h.label:void 0,onHome:()=>e({type:"setView",view:"home"})}),W=f?u.jsxs(u.Fragment,{children:[u.jsx($o,{}),u.jsx(ty,{})]}):u.jsxs(u.Fragment,{children:[a?u.jsx("div",{className:"flex items-center border border-line bg-surface",role:"tablist","aria-label":"Dashboard tabs",children:a.tabs.map(E=>{const I=E.id===n.dashboardTab;return u.jsx("button",{type:"button",role:"tab","aria-selected":I,className:`px-2 py-1 text-2xs ${I?"bg-accent text-white":"text-muted hover:text-ink"}`,onClick:()=>{const V=Cs(t,a,E.id);V&&e({type:"setDashboardTab",tab:V.id,model:V.model.name,metric:V.selectedMetric,grain:V.grain})},children:E.label??E.id},E.id)})}):u.jsx(Bv,{view:n.view,onChange:E=>e({type:"setView",view:E})}),u.jsx(Ov,{range:n.dateRange,disabled:!b,onChange:E=>e({type:"setDateRange",range:E}),comparison:n.comparison,comparisonRange:n.comparisonRange,onComparisonChange:(E,I)=>e({type:"setComparison",comparison:E,range:I})}),u.jsx(Td,{grain:n.grain,options:w,disabled:!b,onChange:E=>e({type:"setGrain",grain:E})}),u.jsx(qS,{timezone:n.timezone,disabled:!b,onChange:E=>e({type:"setTimezone",timezone:E})}),v?u.jsx("button",{type:"button",onClick:()=>e({type:"reset",initial:g}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Reset"}):null,u.jsx(J_,{}),u.jsx($o,{}),u.jsx(ty,{})]}),R=u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"shrink-0 text-xs font-medium text-muted",children:"Filters"}),O.length?O:u.jsx("span",{className:"text-2xs text-faint",children:"None"}),h?u.jsx(VS,{model:h}):null,O.length?u.jsx("button",{type:"button",onClick:()=>e({type:"clearFilters"}),className:"shrink-0 text-2xs text-muted underline-offset-2 hover:text-ink hover:underline",children:"Clear"}):null]});return u.jsx(_v,{brand:T,toolbar:W,filters:f?void 0:R,rail:u.jsx(HS,{}),showRail:!f&&!c,openRailRequest:n.view==="pivot",drawer:f?void 0:u.jsx(t_,{}),children:u.jsxs(GS,{children:[n.view==="home"?u.jsx(__,{}):null,n.view==="explore"?u.jsx(L_,{}):null,n.view==="pivot"?u.jsx(U_,{}):null]},n.view)})}function X_(){const[n,e]=F.useState(!1),t=F.useMemo(()=>new X1({transport:"json",onUnauthorized:()=>e(!0)}),[]),[i,a]=F.useState(null),[c,f]=F.useState(null),[h,m]=F.useState(0),g=s_(window.location.pathname,window.location.search);return F.useEffect(()=>{let v=!0;return Promise.all([t.getCatalog(),g?Promise.resolve(null):t.getDashboard()]).then(([x,b])=>v&&a({catalog:x,dashboard:b})).catch(x=>v&&f(x instanceof Error?x.message:String(x))),()=>{v=!1}},[t,g,h]),n?u.jsx(dl,{children:u.jsx(q_,{backend:t,onAuthenticated:()=>{e(!1),f(null),m(v=>v+1)}})}):c?u.jsx(dl,{children:u.jsx(Bi,{title:"Could not load semantic layer",message:c})}):i?i.catalog.models.length?i.dashboard?u.jsx(K_,{document:i.dashboard,catalog:i.catalog,backend:t}):u.jsx(RS,{catalog:i.catalog,backend:t,children:u.jsx(Z_,{})}):u.jsx(dl,{children:u.jsx(Xn,{title:"Empty semantic layer",message:"No models were found."})}):u.jsx(dl,{children:u.jsx(af,{title:"Loading semantic layer",message:"Reading models and metrics…"})})}const Zt={top:14,right:48,bottom:26,left:48};function e2({data:n,barLabel:e="Bars",lineLabel:t="Line",height:i=220,formatBar:a=pt,formatLine:c=pt,ariaLabel:f}){const h=F.useRef(null),[m,g]=F.useState(640),{tip:v,handlers:x}=Dr();if(F.useEffect(()=>cs(h.current,240,g),[]),n.length===0)return u.jsx("div",{className:"grid h-[220px] place-items-center text-xs text-faint",children:"No data to chart."});const b=n.map(ie=>Number.isFinite(ie.bar)?ie.bar:0),w=n.map(ie=>Number.isFinite(ie.line)?ie.line:0),j=Math.min(0,...b),O=Math.max(0,...b),T=O-j||1,W=Math.min(...w),R=Math.max(...w),E=R-W||1,I=m-Zt.left-Zt.right,V=i-Zt.top-Zt.bottom,M=ie=>Zt.top+(1-(ie-j)/T)*V,U=ie=>Zt.top+(1-(ie-W)/E)*V,G=I/n.length,z=Math.max(8,Math.min(48,G*.55)),Y=ie=>Zt.left+G*ie+G/2,P=M(0),ee=n.map((ie,re)=>`${Y(re).toFixed(1)},${U(w[re]).toFixed(1)}`).join(" L "),te=yn(1),ne=f||`Combo chart, ${n.length} categories: ${e} bars with a ${t} line`;return u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"mb-1 flex items-center gap-3 text-2xs text-faint",children:[u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block h-2 w-3 bg-chart-primary"})," ",e]}),u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block h-0.5 w-3",style:{background:te}})," ",t]})]}),u.jsxs("svg",{ref:h,role:"img","aria-label":ne,className:"w-full overflow-hidden",style:{height:i},viewBox:`0 0 ${m} ${i}`,children:[Ts(j,O,4).map((ie,re)=>{const se=M(ie);return u.jsxs("g",{children:[u.jsx("line",{x1:Zt.left,x2:m-Zt.right,y1:se,y2:se,className:"stroke-line"}),u.jsx("text",{x:Zt.left-6,y:se+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Wt(ie)})]},re)}),Ts(W,R,4).map((ie,re)=>u.jsx("text",{x:m-Zt.right+6,y:U(ie)+3,textAnchor:"start",className:"text-[10px]",fill:te,children:c(ie)},re)),u.jsx("line",{x1:Zt.left,x2:m-Zt.right,y1:P,y2:P,className:"stroke-line"}),n.map((ie,re)=>{const se=b[re],A=M(se);return u.jsxs("g",{children:[u.jsx("rect",{x:Y(re)-z/2,y:Math.min(A,P),width:z,height:Math.abs(A-P),"data-label":ie.label,"data-bar":se,"data-line":w[re],className:se<0?"fill-danger":"fill-chart-primary",...x(u.jsx(os,{title:ie.label,rows:[{label:e,value:a(se),swatch:"var(--chart-primary)"},{label:t,value:c(w[re]),swatch:te}]}))}),u.jsx("text",{x:Y(re),y:i-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:ie.label.slice(0,8)})]},ie.label)}),u.jsx("path",{d:`M ${ee}`,fill:"none",stroke:te,strokeWidth:1.75}),n.map((ie,re)=>u.jsx("circle",{cx:Y(re),cy:U(w[re]),r:3,fill:te,...x(u.jsx(os,{title:ie.label,rows:[{label:e,value:a(b[re]),swatch:"var(--chart-primary)"},{label:t,value:c(w[re]),swatch:te}]}))},ie.label))]}),u.jsx(rr,{tip:v})]})}const t2={primary:"border-accent bg-accent-soft font-medium text-accent hover:bg-accent hover:text-surface",secondary:"border-line bg-surface text-ink hover:bg-surface-soft",ghost:"border-transparent bg-transparent text-muted hover:bg-surface-soft hover:text-ink",danger:"border-danger bg-danger-soft font-medium text-danger hover:bg-danger hover:text-surface"};function No({variant:n="secondary",size:e="md",type:t="button",className:i,...a}){const c=e==="sm"?"h-6 px-2.5 text-2xs":"h-7 px-3 text-xs";return u.jsx("button",{type:t,"data-variant":n,className:`inline-flex items-center justify-center rounded-full border ${c} ${t2[n]} disabled:pointer-events-none disabled:opacity-50 ${i??""}`,...a})}function n2(n,e){const t=e.trim().toLowerCase();return t?n.filter(i=>i.value.toLowerCase().includes(t)||(i.label??"").toLowerCase().includes(t)):n}function ny(n){const{options:e,placeholder:t="Search…",ariaLabel:i,disabled:a,maxVisible:c=50}=n,f=F.useId(),h=F.useRef(null),[m,g]=F.useState(!1),[v,x]=F.useState(""),[b,w]=F.useState(0),j=F.useMemo(()=>n2(e,v).slice(0,c),[e,v,c]),O=n.multiple?n.values:n.value!=null?[n.value]:[],T=new Set(O),W=M=>{var U;return((U=e.find(G=>G.value===M))==null?void 0:U.label)??M};F.useEffect(()=>{if(!m)return;function M(U){h.current&&!h.current.contains(U.target)&&g(!1)}return document.addEventListener("mousedown",M,!0),()=>document.removeEventListener("mousedown",M,!0)},[m]);function R(M){if(M){if(n.multiple){const U=T.has(M.value)?n.values.filter(G=>G!==M.value):[...n.values,M.value];n.onChange(U);return}n.onChange(M.value),x(""),g(!1)}}function E(){n.multiple?n.onChange([]):n.onChange(null),x("")}function I(M){M.key==="ArrowDown"?(M.preventDefault(),g(!0),w(U=>Math.min(U+1,j.length-1))):M.key==="ArrowUp"?(M.preventDefault(),w(U=>Math.max(U-1,0))):M.key==="Enter"?(M.preventDefault(),m&&R(j[b])):M.key==="Escape"?g(!1):M.key==="Backspace"&&n.multiple&&!v&&n.values.length&&n.onChange(n.values.slice(0,-1))}const V=!n.multiple&&n.value!=null?W(n.value):t;return u.jsxs("div",{ref:h,className:"relative inline-flex min-w-40 flex-wrap items-center gap-1 text-xs",children:[n.multiple?n.values.map(M=>u.jsxs("span",{"data-chip":M,className:"inline-flex items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 leading-4 text-muted",children:[u.jsx("span",{className:"max-w-32 truncate",children:W(M)}),u.jsx("button",{type:"button","aria-label":`Remove ${W(M)}`,disabled:a,onClick:()=>n.onChange(n.values.filter(U=>U!==M)),className:"text-faint hover:text-ink",children:"×"})]},M)):null,u.jsxs("span",{className:"relative min-w-28 flex-1",children:[u.jsx("input",{type:"text",role:"combobox","aria-expanded":m,"aria-controls":f,"aria-autocomplete":"list","aria-activedescendant":m&&j[b]?`${f}-${b}`:void 0,"aria-label":i,disabled:a,placeholder:V,value:v,onChange:M=>{x(M.target.value),w(0),g(!0)},onFocus:()=>g(!0),onKeyDown:I,className:"h-7 w-full rounded-full border border-line bg-surface px-3 text-ink placeholder:text-faint disabled:opacity-50"}),O.length>0?u.jsx("button",{type:"button","aria-label":"Clear selection",disabled:a,onClick:E,className:"absolute right-1 top-1/2 -translate-y-1/2 px-1 text-faint hover:text-ink",children:"×"}):null]}),m?u.jsxs("ul",{id:f,role:"listbox","aria-multiselectable":n.multiple||void 0,className:"absolute left-0 top-full z-50 mt-1 max-h-56 w-full min-w-40 overflow-y-auto rounded-xl border border-line bg-surface p-1.5 shadow-[var(--shadow)]",children:[j.length===0?u.jsx("li",{className:"px-1.5 py-1 text-faint",children:"No matches"}):null,j.map((M,U)=>u.jsxs("li",{id:`${f}-${U}`,role:"option","aria-selected":T.has(M.value),"data-active":U===b||void 0,onMouseEnter:()=>w(U),onMouseDown:G=>{G.preventDefault(),R(M)},className:"cursor-pointer truncate rounded-md px-2 py-1 text-muted data-[active=true]:bg-surface-soft data-[active=true]:text-ink",children:[M.label??M.value,T.has(M.value)?u.jsx("span",{className:"float-right text-accent",children:"✓"}):null]},M.value))]}):null]})}function r2({title:n,eyebrow:e="Sidemantic",status:t,toolbar:i,children:a}){return u.jsxs("main",{className:"mx-auto max-w-6xl px-4 py-5 text-ink sm:px-6",children:[u.jsxs("header",{className:"flex flex-wrap items-end justify-between gap-4 border-b border-line pb-4",children:[u.jsxs("div",{children:[u.jsx("p",{className:"text-xs font-medium text-faint",children:e}),u.jsx("h1",{className:"mt-1 text-2xl font-semibold text-ink",children:n})]}),t?u.jsx("div",{className:"text-sm text-muted",children:t}):null]}),i?u.jsx("section",{className:"flex flex-wrap gap-2 py-3",children:i}):null,u.jsx("section",{className:"grid gap-4 py-4",children:a})]})}const s2=["Su","Mo","Tu","We","Th","Fr","Sa"],ry=["January","February","March","April","May","June","July","August","September","October","November","December"];function e0(n,e,t){return`${String(n).padStart(4,"0")}-${String(e+1).padStart(2,"0")}-${String(t).padStart(2,"0")}`}function i2(n,e){const t=new Date(Date.UTC(n,e,1)),i=new Date(t);i.setUTCDate(1-t.getUTCDay());const a=[],c=new Date(i);do{const f=[];for(let h=0;h<7;h+=1)f.push({iso:e0(c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()),day:c.getUTCDate(),inMonth:c.getUTCMonth()===e}),c.setUTCDate(c.getUTCDate()+1);a.push(f)}while(c.getUTCMonth()===e);return a}function yd(){const n=new Date;return e0(n.getFullYear(),n.getMonth(),n.getDate())}function sy(n){var I;const{inline:e,ariaLabel:t,disabled:i}=n,a=n.mode==="range",c=a?((I=n.value)==null?void 0:I.from)??null:n.value,[f,h]=F.useState(()=>Number((c??yd()).slice(0,4))),[m,g]=F.useState(()=>Number((c??yd()).slice(5,7))-1),[v,x]=F.useState(null),b=F.useRef(null);function w(V){const M=new Date(Date.UTC(f,m+V,1));h(M.getUTCFullYear()),g(M.getUTCMonth())}function j(V){if(!a){n.onChange(V),b.current&&(b.current.open=!1);return}if(!v){x(V);return}const[M,U]=v<=V?[v,V]:[V,v];n.onChange({from:M,to:U}),x(null),b.current&&(b.current.open=!1)}function O(V){return a?v?V===v:n.value!=null&&V>=n.value.from&&V<=n.value.to:V===n.value}function T(V){return a?v?V===v:n.value!=null&&(V===n.value.from||V===n.value.to):V===n.value}const W=yd(),R=u.jsxs("div",{className:"w-56 select-none rounded-xl border border-line bg-surface p-2.5 text-2xs","aria-label":t??"Calendar",children:[u.jsxs("div",{className:"mb-1 flex items-center justify-between",children:[u.jsx("button",{type:"button","aria-label":"Previous month",onClick:()=>w(-1),className:"px-1.5 py-0.5 text-muted hover:bg-surface-soft hover:text-ink",children:"‹"}),u.jsxs("span",{className:"font-medium text-ink",children:[ry[m]," ",f]}),u.jsx("button",{type:"button","aria-label":"Next month",onClick:()=>w(1),className:"px-1.5 py-0.5 text-muted hover:bg-surface-soft hover:text-ink",children:"›"})]}),u.jsx("div",{className:"grid grid-cols-7 text-center text-faint",children:s2.map(V=>u.jsx("span",{className:"py-0.5",children:V},V))}),u.jsx("div",{role:"grid","aria-label":`${ry[m]} ${f}`,children:i2(f,m).map((V,M)=>u.jsx("div",{role:"row",className:"grid grid-cols-7",children:V.map(U=>u.jsx("button",{type:"button",role:"gridcell","aria-selected":O(U.iso),"data-date":U.iso,onClick:()=>j(U.iso),className:`py-1 text-center tnum ${T(U.iso)?"bg-accent text-surface":O(U.iso)?"bg-accent-soft text-accent":U.inMonth?"text-ink hover:bg-surface-soft":"text-faint hover:bg-surface-soft"} ${U.iso===W?"underline underline-offset-2":""}`,children:U.day},U.iso))},M))}),a&&v?u.jsxs("p",{className:"mt-1 text-faint",children:["Start ",v," — pick an end date."]}):null,n.value!=null?u.jsx("button",{type:"button",onClick:()=>n.onChange(null),className:"mt-1 w-full rounded-lg border border-line px-2 py-1 text-left text-muted hover:bg-surface-soft",children:"Clear"}):null]});if(e)return R;const E=a?n.value?`${n.value.from} → ${n.value.to}`:"Any dates":n.value??"Any date";return u.jsxs("details",{ref:b,className:"relative inline-block text-xs",children:[u.jsxs("summary",{className:`flex cursor-pointer items-center h-7 gap-1.5 rounded-full border border-line bg-surface px-3 text-ink ${i?"pointer-events-none opacity-50":""}`,children:[u.jsx("span",{className:"text-faint",children:t??"Date"}),u.jsx("span",{className:"tnum",children:E}),u.jsx("span",{"aria-hidden":"true",className:"text-faint",children:"▾"})]}),u.jsx("div",{className:"absolute left-0 z-50 mt-1 shadow-[var(--shadow)]",children:R})]})}function o2({result:n,pageSize:e=10}){const t=(n==null?void 0:n.columns)??[];return u.jsx(Ho,{columns:t.map(i=>({key:i,label:Ee(i),numeric:n==null?void 0:n.sample_rows.some(a=>typeof a[i]=="number")})),rows:(n==null?void 0:n.sample_rows)??[],pageSize:e,renderCell:(i,a)=>pt(a)})}function a2({data:n,height:e=200,ariaLabel:t}){return u.jsx("div",{style:{minHeight:e},children:u.jsx(Go,{points:n.map(({label:i,value:a})=>({x:i,y:a})),formatValue:i=>pt(i),ariaLabel:t})})}const t0=Math.PI*2;function l2(n){const e=n.map((a,c)=>({...a,colorIndex:c})).filter(a=>Number.isFinite(a.value)&&a.value>0),t=e.reduce((a,c)=>a+c.value,0);if(t<=0)return[];let i=-Math.PI/2;return e.map(a=>{const c=a.value/t,f=i;return i+=c*t0,{label:a.label,value:a.value,share:c,startAngle:f,endAngle:i,colorIndex:a.colorIndex}})}function c2(n,e,t,i,a,c){const f=Math.min(c-a,t0-1e-4),h=a+f,m=f>Math.PI?1:0,g=n+i*Math.cos(a),v=e+i*Math.sin(a),x=n+i*Math.cos(h),b=e+i*Math.sin(h),w=n+t*Math.cos(h),j=e+t*Math.sin(h),O=n+t*Math.cos(a),T=e+t*Math.sin(a);return[`M ${g.toFixed(2)} ${v.toFixed(2)}`,`A ${i} ${i} 0 ${m} 1 ${x.toFixed(2)} ${b.toFixed(2)}`,`L ${w.toFixed(2)} ${j.toFixed(2)}`,`A ${t} ${t} 0 ${m} 0 ${O.toFixed(2)} ${T.toFixed(2)}`,"Z"].join(" ")}function u2({data:n,height:e=200,centerLabel:t="Total",format:i=pt,ariaLabel:a}){const c=F.useRef(null),[f,h]=F.useState(360),{tip:m,handlers:g}=Dr();F.useEffect(()=>cs(c.current,220,h),[]);const v=l2(n),x=v.reduce((R,E)=>R+E.value,0),b=Math.min(e,f*.55),w=b/2,j=e/2,O=b/2-6,T=Math.max(O*.62,O-34),W=a||`Donut chart, ${v.length} segments totaling ${Wt(x)}`;return v.length===0?u.jsx("div",{className:"grid h-[200px] place-items-center text-xs text-faint",children:"No positive values to chart."}):u.jsxs("div",{ref:c,className:"flex w-full items-center gap-4",style:{height:e},children:[u.jsxs("svg",{role:"img","aria-label":W,width:b,height:e,className:"shrink-0 overflow-hidden",children:[v.map(R=>u.jsx("path",{d:c2(w,j,T,O,R.startAngle,R.endAngle),fill:yn(R.colorIndex),stroke:"var(--surface)",strokeWidth:1,"data-label":R.label,"data-value":R.value,...g(u.jsx(os,{title:R.label,rows:[{label:"Value",value:i(R.value),swatch:yn(R.colorIndex)},{label:"Share",value:`${(R.share*100).toFixed(1)}%`}]}))},R.label)),u.jsx("text",{x:w,y:j-4,textAnchor:"middle",className:"fill-ink font-mono tnum text-sm font-medium",children:Wt(x)}),u.jsx("text",{x:w,y:j+12,textAnchor:"middle",className:"fill-faint text-[10px]",children:t})]}),u.jsx("ul",{className:"min-w-0 flex-1 space-y-1 text-2xs",children:v.map(R=>u.jsxs("li",{className:"flex items-center gap-2","data-label":R.label,children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 shrink-0",style:{background:yn(R.colorIndex)}}),u.jsx("span",{className:"truncate text-muted",children:R.label}),u.jsx("span",{className:"ml-auto font-mono tnum text-ink",children:i(R.value)}),u.jsxs("span",{className:"w-10 text-right font-mono tnum text-faint",children:[(R.share*100).toFixed(1),"%"]})]},R.label))}),u.jsx(rr,{tip:m})]})}const pr={top:8,right:8,bottom:26,left:76};function iy(n,e,t){if(t!=null&&t.length)return t;const i=[];for(const a of n)i.includes(a[e])||i.push(a[e]);return i}function d2({cells:n,xLabels:e,yLabels:t,height:i=240,format:a=pt,ariaLabel:c}){const f=F.useRef(null),[h,m]=F.useState(640),{tip:g,handlers:v}=Dr();F.useEffect(()=>cs(f.current,240,m),[]);const x=iy(n,"x",e),b=iy(n,"y",t);if(x.length===0||b.length===0)return u.jsx("div",{className:"grid h-[240px] place-items-center text-xs text-faint",children:"No cells to chart."});const w=new Map(n.map(M=>[`${M.x}\0${M.y}`,M.value])),j=n.map(M=>Math.abs(M.value)).filter(Number.isFinite),O=Math.max(...j,0)||1,T=h-pr.left-pr.right,W=i-pr.top-pr.bottom,R=T/x.length,E=W/b.length,I=Math.max(1,Math.ceil(x.length/Math.max(1,Math.floor(T/56)))),V=c||`Heatmap, ${x.length} by ${b.length} cells`;return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{ref:f,role:"img","aria-label":V,className:"w-full overflow-hidden",style:{height:i},viewBox:`0 0 ${h} ${i}`,children:[b.map((M,U)=>u.jsx("text",{x:pr.left-6,y:pr.top+U*E+E/2+3,textAnchor:"end",className:"fill-muted text-[10px]",children:M.slice(0,12)},M)),x.map((M,U)=>U%I===0?u.jsx("text",{x:pr.left+U*R+R/2,y:i-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:M.slice(0,8)},M):null),b.map((M,U)=>x.map((G,z)=>{const Y=w.get(`${G}\0${M}`),P=Y!=null&&Number.isFinite(Y),ee=P?.06+.94*(Math.abs(Y)/O):0;return u.jsx("rect",{x:pr.left+z*R+.5,y:pr.top+U*E+.5,width:Math.max(1,R-1),height:Math.max(1,E-1),"data-x":G,"data-y":M,"data-value":P?Y:void 0,className:P&&Y<0?"fill-danger":"fill-chart-primary",fillOpacity:P?ee:.03,...v(u.jsx(os,{title:`${M} / ${G}`,rows:[{label:"Value",value:P?a(Y):"no data"}]}))},`${G}\0${M}`)}))]}),u.jsx(rr,{tip:g})]})}function f2(n,e){const t=n.filter(Number.isFinite);if(t.length===0)return[];const i=Math.min(...t),a=Math.max(...t),c=Math.max(1,Math.floor(e??Math.min(40,Math.ceil(Math.log2(t.length)+1))));if(i===a)return[{x0:i,x1:a,count:t.length}];const f=(a-i)/c,h=Array.from({length:c},(m,g)=>({x0:i+g*f,x1:i+(g+1)*f,count:0}));for(const m of t){const g=Math.min(c-1,Math.floor((m-i)/f));h[g].count+=1}return h}const Cn={top:12,right:14,bottom:26,left:44};function h2({values:n,bins:e,height:t=200,format:i=Wt,ariaLabel:a}){const c=F.useRef(null),[f,h]=F.useState(640),{tip:m,handlers:g}=Dr();F.useEffect(()=>cs(c.current,160,h),[]);const v=f2(n,e);if(v.length===0)return u.jsx("div",{className:"grid h-[200px] place-items-center text-xs text-faint",children:"No numeric values to chart."});const x=Math.max(...v.map(E=>E.count),1),b=f-Cn.left-Cn.right,w=t-Cn.top-Cn.bottom,j=E=>Cn.top+(1-E/x)*w,O=b/v.length,T=Ts(0,x,4),W=Math.max(1,Math.ceil(v.length/6)),R=a||`Histogram, ${v.length} bins from ${i(v[0].x0)} to ${i(v[v.length-1].x1)}`;return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{ref:c,role:"img","aria-label":R,className:"w-full overflow-hidden",style:{height:t},viewBox:`0 0 ${f} ${t}`,children:[T.map((E,I)=>{const V=j(E);return u.jsxs("g",{children:[u.jsx("line",{x1:Cn.left,x2:f-Cn.right,y1:V,y2:V,className:"stroke-line"}),u.jsx("text",{x:Cn.left-6,y:V+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Wt(E)})]},I)}),v.map((E,I)=>{const V=Cn.left+O*I,M=j(E.count);return u.jsx("rect",{x:V+.5,y:M,width:Math.max(1,O-1),height:Cn.top+w-M,"data-x0":E.x0,"data-x1":E.x1,"data-count":E.count,className:"fill-chart-primary",...g(u.jsx(os,{title:`${i(E.x0)} – ${i(E.x1)}`,rows:[{label:"Count",value:E.count.toLocaleString()}]}))},I)}),v.map((E,I)=>I%W===0?u.jsx("text",{x:Cn.left+O*I,y:t-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:i(E.x0)},I):null)]}),u.jsx(rr,{tip:m})]})}function p2(n){let e=2166136261;for(let t=0;t>>0}function m2(n){let e=n||1;return()=>{e|=0,e=e+1831565813|0;let t=Math.imul(e^e>>>15,1|e);return t=t+Math.imul(t^t>>>7,61|t)^t,((t^t>>>14)>>>0)/4294967296}}function y2(n,e,{width:t=640,height:i=320,iterations:a=150}={}){if(n.length===0)return[];const c=m2(p2(n.map(G=>G.id).join("\0"))),f=new Map(n.map((G,z)=>[G.id,z])),h=n.map(()=>c()*t),m=n.map(()=>c()*i),g=n.map(()=>0),v=n.map(()=>0),x=n.map(()=>0),b=[];for(const G of e){const z=f.get(G.source),Y=f.get(G.target);z==null||Y==null||z===Y||(b.push([z,Y]),x[z]+=1,x[Y]+=1)}const w=t*i,j=Math.sqrt(w/n.length);let O=Math.max(t,i)/8;const T=O/(a+1);for(let G=0;G({...G,x:W+(h[z]-R)/M*(t-W*2),y:W+(m[z]-I)/U*(i-W*2),degree:x[z]}))}function g2({nodes:n,links:e,height:t=320,ariaLabel:i}){const a=F.useRef(null),[c,f]=F.useState(640),{tip:h,handlers:m}=Dr();F.useEffect(()=>cs(a.current,240,f),[]);const g=F.useMemo(()=>y2(n,e,{width:c,height:t}),[n,e,c,t]),v=F.useMemo(()=>new Map(g.map(j=>[j.id,j])),[g]),x=F.useMemo(()=>[...new Set(n.map(j=>j.group??""))],[n]),b=Math.max(...e.map(j=>j.weight??1),1);if(g.length===0)return u.jsx("div",{className:"grid h-[320px] place-items-center text-xs text-faint",children:"No nodes to chart."});const w=i||`Network graph, ${n.length} nodes and ${e.length} links`;return u.jsxs(u.Fragment,{children:[x.length>1?u.jsx("div",{className:"mb-1 flex flex-wrap items-center gap-3 text-2xs text-faint",children:x.map((j,O)=>u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-full",style:{background:yn(O)}}),j||"(default)"]},j||"(default)"))}):null,u.jsxs("svg",{ref:a,role:"img","aria-label":w,className:"w-full overflow-hidden",style:{height:t},viewBox:`0 0 ${c} ${t}`,children:[e.map((j,O)=>{const T=v.get(j.source),W=v.get(j.target);return!T||!W?null:u.jsx("line",{x1:T.x,y1:T.y,x2:W.x,y2:W.y,className:"stroke-line",strokeWidth:.75+2.25*((j.weight??1)/b),"data-source":j.source,"data-target":j.target},O)}),g.map(j=>{const O=5+Math.min(9,j.degree*1.5);return u.jsxs("g",{children:[u.jsx("circle",{cx:j.x,cy:j.y,r:O,fill:yn(x.indexOf(j.group??"")),stroke:"var(--surface)",strokeWidth:1.5,"data-id":j.id,"data-degree":j.degree,...m(u.jsx(os,{title:j.label??j.id,rows:[{label:"Connections",value:String(j.degree)},...j.group?[{label:"Group",value:j.group,swatch:yn(x.indexOf(j.group))}]:[]]}))}),u.jsx("text",{x:j.x,y:j.y-O-4,textAnchor:"middle",className:"pointer-events-none fill-muted text-[10px]",children:(j.label??j.id).slice(0,14)})]},j.id)})]}),u.jsx(rr,{tip:h})]})}function wl({value:n,options:e,onChange:t,label:i,ariaLabel:a,placeholder:c,disabled:f}){return u.jsxs("label",{className:"flex items-center gap-1.5 text-xs text-faint",children:[i?u.jsx("span",{className:"hidden sm:inline",children:i}):null,u.jsxs("select",{"aria-label":a??i,value:n,disabled:f,onChange:h=>t(h.target.value),className:"h-7 rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50",children:[c?u.jsx("option",{value:"",disabled:!0,children:c}):null,e.map(h=>u.jsx("option",{value:h.value,children:h.label??h.value},h.value))]})]})}const cn={top:12,right:14,bottom:26,left:48};function v2(n,e,t){return Math.min(Math.max(n,e),t)}function x2({labels:n,series:e,height:t=240,format:i=pt,formatLabel:a=f=>f,ariaLabel:c}){const f=F.useRef(null),[h,m]=F.useState(640),[g,v]=F.useState(null);F.useEffect(()=>cs(f.current,240,m),[]);const x=n.length;if(x<2||e.length===0)return u.jsx("div",{className:"grid h-[240px] place-items-center text-xs text-faint",children:"Not enough data to chart."});const b=e.map(z=>({name:z.name,values:n.map((Y,P)=>{const ee=z.values[P];return Number.isFinite(ee)&&ee>0?ee:0})})),w=[];let j=n.map(()=>0);for(const z of b){const Y=z.values.map((P,ee)=>j[ee]+P);w.push(Y),j=Y}const O=Math.max(...j,1),T=h-cn.left-cn.right,W=t-cn.top-cn.bottom,R=z=>cn.left+z/(x-1)*T,E=z=>cn.top+(1-z/O)*W,I=Math.max(1,Math.ceil(x/8)),V=c||`Stacked area chart, ${e.length} series over ${x} points`;function M(z){const Y=w[z],P=z===0?n.map(()=>0):w[z-1],ee=Y.map((ne,ie)=>`${R(ie).toFixed(1)},${E(ne).toFixed(1)}`).join(" L "),te=[...P.keys()].reverse().map(ne=>`${R(ne).toFixed(1)},${E(P[ne]).toFixed(1)}`).join(" L ");return`M ${ee} L ${te} Z`}function U(z){const Y=z.currentTarget.getBoundingClientRect(),P=(z.clientX-Y.left)/Y.width*h,ee=Math.round((P-cn.left)/T*(x-1));v(ee>=0&&eeu.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2",style:{background:yn(Y)}}),z.name]},z.name))}),u.jsxs("svg",{role:"img","aria-label":V,className:"w-full overflow-hidden",style:{height:t},viewBox:`0 0 ${h} ${t}`,onMouseMove:U,onMouseLeave:()=>v(null),children:[Ts(0,O,4).map((z,Y)=>{const P=E(z);return u.jsxs("g",{children:[u.jsx("line",{x1:cn.left,x2:h-cn.right,y1:P,y2:P,className:"stroke-line"}),u.jsx("text",{x:cn.left-6,y:P+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Wt(z)})]},Y)}),b.map((z,Y)=>u.jsx("path",{d:M(Y),fill:yn(Y),fillOpacity:.8,"data-series":z.name},z.name)),g!=null?u.jsx("line",{x1:R(g),x2:R(g),y1:cn.top,y2:t-cn.bottom,className:"stroke-faint",strokeDasharray:"3 3"}):null,n.map((z,Y)=>Y%I===0||Y===x-1?u.jsx("text",{x:R(Y),y:t-8,textAnchor:"middle",className:"fill-faint font-mono text-[10px]",children:a(z)},z):null)]}),g!=null?u.jsxs("div",{className:"pointer-events-none absolute top-8 z-20 -translate-x-1/2 whitespace-nowrap border border-line bg-surface px-2 py-1.5 text-2xs shadow-[var(--shadow)]",style:{left:G},children:[u.jsx("div",{className:"mb-0.5 font-mono text-faint",children:a(n[g])}),b.map((z,Y)=>u.jsxs("div",{className:"flex items-center justify-between gap-3",children:[u.jsxs("span",{className:"flex items-center gap-1 text-muted",children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2",style:{background:yn(Y)}}),z.name]}),u.jsx("span",{className:"font-mono tnum text-ink",children:i(z.values[g])})]},z.name))]}):null]})}function b2({checked:n,onChange:e,label:t,ariaLabel:i,disabled:a}){return u.jsxs("label",{className:`flex items-center gap-1.5 text-xs ${a?"opacity-50":""}`,children:[u.jsx("button",{type:"button",role:"switch","aria-checked":n,"aria-label":i??t,disabled:a,onClick:()=>e(!n),"data-checked":n||void 0,className:`relative h-4 w-7 shrink-0 rounded-full border transition-colors ${n?"border-accent bg-accent":"border-line bg-surface-soft"}`,children:u.jsx("span",{"aria-hidden":"true",className:`absolute top-1/2 size-3 -translate-y-1/2 rounded-full bg-surface shadow transition-[left] ${n?"left-[14px]":"left-[2px]"}`})}),t?u.jsx("span",{className:"text-muted",children:t}):null]})}function w2({tabs:n,active:e,onChange:t,ariaLabel:i="Tabs"}){return u.jsx("div",{role:"tablist","aria-label":i,className:"inline-flex items-center gap-0.5 rounded-full border border-line bg-surface p-px",children:n.map(a=>u.jsx("button",{role:"tab",type:"button","aria-selected":e===a.key,"data-tab":a.key,"data-selected":e===a.key||void 0,onClick:()=>t(a.key),className:"inline-flex h-6 items-center rounded-full px-2.5 text-xs font-medium text-muted hover:bg-surface-soft hover:text-ink data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent",children:a.label},a.key))})}function S2({content:n,children:e,className:t}){const{tip:i,handlers:a}=Dr();return u.jsxs(u.Fragment,{children:[u.jsx("span",{className:t??"inline-flex",...a(n),children:e}),u.jsx(rr,{tip:i})]})}function _2(n){let e=0;return n.map(t=>{const i=Number.isFinite(t.value)?t.value:0;if(t.isTotal)return e=i,{...t,value:i,start:0,end:i};const a=e;return e+=i,{...t,value:i,start:a,end:e}})}const un={top:12,right:14,bottom:26,left:48};function N2({data:n,height:e=220,format:t=pt,ariaLabel:i}){const a=F.useRef(null),[c,f]=F.useState(640),{tip:h,handlers:m}=Dr();F.useEffect(()=>cs(a.current,200,f),[]);const g=_2(n);if(g.length===0)return u.jsx("div",{className:"grid h-[220px] place-items-center text-xs text-faint",children:"No steps to chart."});const v=g.flatMap(V=>[V.start,V.end]),x=Math.min(0,...v),b=Math.max(0,...v),w=b-x||1,j=c-un.left-un.right,O=e-un.top-un.bottom,T=V=>un.top+(1-(V-x)/w)*O,W=j/g.length,R=Math.max(10,Math.min(56,W*.62)),E=Ts(x,b,4),I=i||`Waterfall chart, ${g.length} steps ending at ${t(g[g.length-1].end)}`;return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{ref:a,role:"img","aria-label":I,className:"w-full overflow-hidden",style:{height:e},viewBox:`0 0 ${c} ${e}`,children:[E.map((V,M)=>{const U=T(V);return u.jsxs("g",{children:[u.jsx("line",{x1:un.left,x2:c-un.right,y1:U,y2:U,className:"stroke-line"}),u.jsx("text",{x:un.left-6,y:U+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Wt(V)})]},M)}),u.jsx("line",{x1:un.left,x2:c-un.right,y1:T(0),y2:T(0),className:"stroke-faint"}),g.map((V,M)=>{const U=un.left+W*M+(W-R)/2,G=T(V.start),z=T(V.end),Y=V.isTotal?"total":V.value<0?"negative":"positive",P=V.isTotal?"fill-faint":V.value<0?"fill-danger":"fill-chart-primary",ee=g[M+1];return u.jsxs("g",{children:[u.jsx("rect",{x:U,y:Math.min(G,z),width:R,height:Math.max(1,Math.abs(z-G)),"data-label":V.label,"data-value":V.value,"data-tone":Y,className:P,...m(u.jsx(os,{title:V.label,rows:V.isTotal?[{label:"Total",value:t(V.end)}]:[{label:"Change",value:t(V.value)},{label:"Running",value:t(V.end)}]}))}),ee?u.jsx("line",{x1:U+R,x2:un.left+W*(M+1)+(W-R)/2,y1:z,y2:z,className:"stroke-faint",strokeDasharray:"3 3"}):null,u.jsx("text",{x:U+R/2,y:e-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:V.label.slice(0,9)})]},`${V.label}-${M}`)})]}),u.jsx(rr,{tip:h})]})}function oy(n){return n==null?"∅":String(n)}function j2(n){const e=typeof n=="number"?n:Number(n);return Number.isFinite(e)?e:Number.NaN}function k2(n,e){const t=[],i=[],a=new Map;for(const c of n){const f=oy(c[e.x]),h=oy(c[e.series]);t.includes(f)||t.push(f),i.includes(h)||i.push(h),a.set(`${h}\0${f}`,j2(c[e.y]))}return{labels:t,series:i.map(c=>({name:c,values:t.map(f=>a.get(`${c}\0${f}`)??0)}))}}const I2=[{dimension:"orders.region",title:"Customer Region",rows:[["East",83262],["South",80579],["West",71561],["North",52889]].map(([n,e])=>({value:String(n),metric:Number(e)}))},{dimension:"orders.status",title:"Order Status",rows:[["completed",170379],["cancelled",64637],["pending",53275]].map(([n,e])=>({value:String(n),metric:Number(e)}))},{dimension:"products.category",title:"Product Category",rows:[["Electronics",202015],["Furniture",83848],["Office Supplies",2428]].map(([n,e])=>({value:String(n),metric:Number(e)}))},{dimension:"customers.name",title:"Top Customers",rows:[["Bob Smith",46690],["Carol Davis",42227],["Henry Taylor",41633],["Grace Lee",41035],["Frank Brown",33890],["David Wilson",29928],["Alice Johnson",27114],["Emma Martinez",24802]].map(([n,e])=>({value:String(n),metric:Number(e)}))}],M2=[{key:"region",label:"Region",sortable:!0},{key:"revenue",label:"Revenue",numeric:!0,sortable:!0},{key:"orders",label:"Orders",numeric:!0,sortable:!0}],ay=Array.from({length:17},(n,e)=>({region:["East","South","West","North"][e%4],revenue:91e3-e*2875,orders:420-e*11})),hf=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug"],D2=hf.flatMap((n,e)=>[{month:n,plan:"Basic",revenue:120+e*26},{month:n,plan:"Pro",revenue:60+e*24},{month:n,plan:"Enterprise",revenue:e<2?0:10+e*12}]),C2=Array.from({length:48},(n,e)=>({x:e+1,y:(e+1)*1.6+Math.sin(e*78.233)*43758.5453%18,label:`Account ${e+1}`,series:e%2?"Returning":"New"})),F2=Array.from({length:400},(n,e)=>Math.abs(Math.sin(e*12.9898)*43758.5453%1)*100),O2=["East","South","West","North"].flatMap((n,e)=>hf.map((t,i)=>({x:t,y:n,value:(e+1)*(i+1)*7-(i%4===3?80:0)}))),ly=[{value:"orders.revenue",label:"Revenue"},{value:"orders.count",label:"Order count"},{value:"customers.count",label:"Customer count"},{value:"orders.margin",label:"Gross margin"}];function T2(){const[n,e]=F.useState("orders.revenue"),[t,i]=F.useState({}),[a,c]=F.useState(null),[f,h]=F.useState({"orders.region":["East","West"],"orders.status":["completed"]}),[m,g]=F.useState({from:"2025-01-01",to:"2025-06-30"}),[v,x]=F.useState("month"),[b,w]=F.useState("explore"),[j,O]=F.useState("previous"),[T,W]=F.useState("orders.revenue"),[R,E]=F.useState(["orders.revenue","orders.count"]),[I,V]=F.useState("apple"),[M,U]=F.useState(!0),[G,z]=F.useState("explore"),[Y,P]=F.useState("2025-06-15"),[ee,te]=F.useState({from:"2025-06-01",to:"2025-06-21"}),ne=F.useMemo(()=>k2(D2,{x:"month",y:"revenue",series:"plan"}),[]),[ie,re]=F.useState({key:"revenue",dir:"desc"}),se=F.useMemo(()=>[...ay].sort((A,Q)=>{const H=A[ie.key],_=Q[ie.key],k=typeof H=="number"&&typeof _=="number"?H-_:String(H).localeCompare(String(_));return ie.dir==="asc"?k:-k}),[ie]);return u.jsxs("main",{className:"min-h-screen bg-bg text-ink",children:[u.jsxs("header",{className:"sticky top-0 z-20 flex items-center justify-between border-b border-line bg-surface px-4 py-3",children:[u.jsxs("div",{children:[u.jsx("h1",{className:"text-sm font-semibold",children:"Sidemantic component gallery"}),u.jsxs("p",{className:"text-2xs text-faint",children:["Canonical React primitives · ",u.jsx("a",{className:"text-accent hover:underline",href:"/typography",children:"typography workbench →"})]})]}),u.jsx($o,{})]}),u.jsxs("div",{className:"space-y-8 p-4",children:[u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Metric cards"}),u.jsxs("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-3",children:[u.jsx(Nr,{metric:"orders.revenue",label:"Revenue",value:288291,format:{format:"currency"},selected:n==="orders.revenue",sparkValues:[31,42,38,55,60,74],onSelect:e}),u.jsx(Nr,{metric:"orders.count",label:"Order Count",value:447,selected:n==="orders.count",sparkValues:[21,34,28,41,44,51],onSelect:e}),u.jsx(Nr,{metric:"orders.margin",label:"Gross Margin",value:.324,format:{format:"percent"},delta:{label:"+1.1pt",tone:"positive"},comparison:"vs previous month",sparkValues:[24,26,29,27,31,32],selected:n==="orders.margin",onSelect:e})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Leaderboard cards"}),u.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(220px,1fr))] gap-0 border-l border-t border-line",children:I2.filter(A=>a===null||a===A.dimension).map(A=>u.jsx(Jv,{dimension:A.dimension,title:A.title,metricLabel:"Total Revenue",rows:A.rows,selectedValues:t[A.dimension],formatMetric:Q=>pt(Q,{format:"currency"}),onToggle:Q=>i(H=>{const _=H[A.dimension]??[];return{...H,[A.dimension]:_.includes(Q)?_.filter(k=>k!==Q):[..._,Q]}}),expanded:a===A.dimension,onExpandedChange:Q=>c(Q?A.dimension:null)},A.dimension))})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Filters and controls"}),u.jsxs("div",{className:"space-y-3",children:[u.jsxs("div",{"data-testid":"gallery-filter-pills",className:"flex min-h-8 flex-wrap items-center gap-2",children:[Object.entries(f).flatMap(([A,Q])=>Q.map(H=>u.jsx(Od,{dimension:A,value:H,onRemove:()=>h(_=>({..._,[A]:_[A].filter(k=>k!==H)}))},`${A}:${H}`))),Object.values(f).every(A=>A.length===0)?u.jsx("span",{className:"text-2xs text-faint",children:"No active filters"}):null]}),u.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[u.jsx(Ov,{range:m,onChange:g,comparison:j,onComparisonChange:O}),u.jsx(Td,{grain:v,options:["day","week","month","quarter","year"],onChange:x}),u.jsx(Bv,{view:b,onChange:w}),u.jsxs("span",{className:"inline-flex items-center gap-1.5 text-2xs text-muted",children:[u.jsx(dd,{status:"ok"})," Ready"]}),u.jsxs("span",{className:"inline-flex items-center gap-1.5 text-2xs text-muted",children:[u.jsx(dd,{status:"loading"})," Updating"]}),u.jsx("button",{type:"button",onClick:()=>h({"orders.region":["East","West"],"orders.status":["completed"]}),className:"inline-flex h-7 items-center rounded-full border border-line px-3 text-xs text-muted hover:bg-surface-soft",children:"Reset filters"})]})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Charts"}),u.jsxs("div",{className:"grid gap-3 xl:grid-cols-2",children:[u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Sparkline"}),u.jsx(qv,{values:[31,42,38,55,60,74,69,83],labels:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug"],ariaLabel:"Eight month revenue trend"})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Column chart"}),u.jsx(Zv,{data:[{label:"East",value:83},{label:"South",value:81},{label:"West",value:72},{label:"Returns",value:-18}]})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Line chart compatibility export"}),u.jsx(a2,{data:[{label:"Jan",value:31},{label:"Feb",value:42},{label:"Mar",value:38},{label:"Apr",value:55},{label:"May",value:60}]})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Interactive time series"}),u.jsx(Go,{points:[31,42,38,55,60,74].map((A,Q)=>({x:`2025-0${Q+1}-01`,y:A})),comparison:[27,35,33,48,52,61].map((A,Q)=>({x:`2024-0${Q+1}-01`,y:A})),formatValue:A=>`$${A.toLocaleString()}k`})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Donut"}),u.jsx(u2,{data:[{label:"iOS",value:4200},{label:"Android",value:3100},{label:"Web",value:1900},{label:"Other",value:400}]})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Stacked area (long rows via rowsToSeries)"}),u.jsx(x2,{labels:ne.labels,series:ne.series,height:200})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Bar + line combo (dual axis)"}),u.jsx(e2,{data:hf.map((A,Q)=>({label:A,bar:200+Q*42,line:.02+Q*.004})),barLabel:"Revenue",lineLabel:"Conversion",formatLine:A=>`${(A*100).toFixed(1)}%`,height:200})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Histogram"}),u.jsx(h2,{values:F2,bins:20})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Scatter"}),u.jsx(Xv,{points:C2,xLabel:"Sessions",yLabel:"Orders",height:200})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Heatmap"}),u.jsx(d2,{cells:O2,height:200})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Waterfall"}),u.jsx(N2,{data:[{label:"Gross",value:1e3,isTotal:!0},{label:"Refunds",value:-140},{label:"Discounts",value:-90},{label:"Upsells",value:130},{label:"Net",value:900,isTotal:!0}],height:200})]}),u.jsxs("article",{className:"min-w-0 xl:col-span-2",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Network"}),u.jsx(g2,{nodes:[{id:"orders",group:"fact"},{id:"payments",group:"fact"},{id:"customers",group:"dimension"},{id:"products",group:"dimension"},{id:"regions",group:"dimension"}],links:[{source:"orders",target:"customers",weight:3},{source:"orders",target:"products",weight:2},{source:"orders",target:"regions"},{source:"payments",target:"orders",weight:2},{source:"payments",target:"customers"}],height:260})]})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Inputs"}),u.jsxs("div",{className:"space-y-3",children:[u.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[u.jsx(No,{variant:"primary",children:"Primary"}),u.jsx(No,{children:"Secondary"}),u.jsx(No,{variant:"ghost",children:"Ghost"}),u.jsx(No,{variant:"danger",children:"Danger"}),u.jsx(No,{size:"sm",children:"Small"}),u.jsx(wl,{label:"Fruit",value:I,onChange:V,options:[{value:"apple",label:"Apple"},{value:"banana",label:"Banana"},{value:"cherry",label:"Cherry"}]}),u.jsx(b2,{checked:M,onChange:U,label:"Compact rows"}),u.jsx(w2,{tabs:[{key:"explore",label:"Explore"},{key:"pivot",label:"Pivot"},{key:"sql",label:"SQL"}],active:G,onChange:z}),u.jsx(S2,{content:"Revenue in USD, net of refunds",children:u.jsx("span",{className:"cursor-help text-2xs text-muted underline decoration-dotted",children:"What is revenue?"})})]}),u.jsxs("div",{className:"flex flex-wrap items-start gap-3",children:[u.jsx(ny,{value:T,onChange:W,options:ly,ariaLabel:"Metric"}),u.jsx(ny,{multiple:!0,values:R,onChange:E,options:ly,ariaLabel:"Metrics"}),u.jsx(sy,{mode:"single",value:Y,onChange:P,ariaLabel:"Date"}),u.jsx(sy,{mode:"range",value:ee,onChange:te,ariaLabel:"Range"})]})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Analytical table"}),u.jsx(Ho,{columns:M2,rows:se,pageSize:6,sortKey:ie.key,sortDir:ie.dir,onSort:A=>re(Q=>({key:A,dir:Q.key===A&&Q.dir==="desc"?"asc":"desc"})),renderCell:(A,Q)=>A.numeric?Number(Q).toLocaleString():String(Q),searchable:!0,totals:{region:"count",revenue:"sum",orders:"sum"}}),u.jsxs("div",{className:"mt-3",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold text-muted",children:"Distribution-friendly data preview"}),u.jsx(o2,{result:{columns:["region","revenue","orders"],sample_rows:ay.slice(0,8)},pageSize:4})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Query inspection"}),u.jsx(ac,{inputs:{Revenue:{metrics:["orders.revenue"],dimensions:["orders.region"],filters:["orders.status = 'completed'"]}},queries:{Revenue:`SELECT orders.region, SUM(orders.revenue) AS revenue -FROM orders -WHERE orders.status = 'completed' -GROUP BY orders.region -ORDER BY revenue DESC`}})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"States"}),u.jsxs("div",{className:"grid gap-2 lg:grid-cols-3",children:[u.jsx(af,{message:"Loading metric results…"}),u.jsx(Xn,{message:"No matching rows."}),u.jsx(Bi,{message:"The query could not be completed."})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Dashboard shell"}),u.jsx("div",{children:u.jsx(r2,{eyebrow:"Embedded shell example",title:"Revenue overview",status:u.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[u.jsx(dd,{status:"ok"})," Connected"]}),toolbar:u.jsxs(u.Fragment,{children:[u.jsx(Od,{dimension:"orders.region",value:"East"}),u.jsx(Td,{grain:v,options:["day","month","quarter"],onChange:x})]}),children:u.jsxs("div",{className:"grid gap-2 sm:grid-cols-2",children:[u.jsx(Nr,{metric:"orders.revenue",label:"Revenue",value:288291,format:{format:"currency"},sparkValues:[31,42,38,55,60]}),u.jsx(Xn,{title:"Optional panel",message:"Shell content is composed from the same primitives."})]})})})]})]})]})}function ns(n){return`https://api.fontshare.com/v2/css?f[]=${n}&display=swap`}const cy=[{value:"system",label:"System (SF Pro)",stack:"system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif"},{value:"geist",label:"Geist",gf:"Geist:wght@400;500;600",stack:"'Geist', system-ui, sans-serif"},{value:"inter",label:"Inter",gf:"Inter:wght@400;500;600",stack:"'Inter', system-ui, sans-serif"},{value:"instrument",label:"Instrument Sans",gf:"Instrument+Sans:wght@400;500;600",stack:"'Instrument Sans', system-ui, sans-serif"},{value:"plex",label:"IBM Plex Sans",gf:"IBM+Plex+Sans:wght@400;500;600",stack:"'IBM Plex Sans', system-ui, sans-serif"},{value:"schibsted",label:"Schibsted Grotesk",gf:"Schibsted+Grotesk:wght@400;500;600",stack:"'Schibsted Grotesk', system-ui, sans-serif"},{value:"figtree",label:"Figtree",gf:"Figtree:wght@400;500;600",stack:"'Figtree', system-ui, sans-serif"},{value:"manrope",label:"Manrope",gf:"Manrope:wght@400;500;600",stack:"'Manrope', system-ui, sans-serif"},{value:"publicsans",label:"Public Sans",gf:"Public+Sans:wght@400;500;600",stack:"'Public Sans', system-ui, sans-serif"},{value:"spacegrotesk",label:"Space Grotesk",gf:"Space+Grotesk:wght@400;500;600",stack:"'Space Grotesk', system-ui, sans-serif"},{value:"satoshi",label:"Satoshi ✦",url:ns("satoshi@400,500,700"),stack:"'Satoshi', system-ui, sans-serif"},{value:"generalsans",label:"General Sans ✦",url:ns("general-sans@400,500,600"),stack:"'General Sans', system-ui, sans-serif"},{value:"switzer",label:"Switzer ✦",url:ns("switzer@400,500,600"),stack:"'Switzer', system-ui, sans-serif"},{value:"cabinet",label:"Cabinet Grotesk ✦",url:ns("cabinet-grotesk@400,500,700"),stack:"'Cabinet Grotesk', system-ui, sans-serif"},{value:"bricolage",label:"Bricolage Grotesque ✦",gf:"Bricolage+Grotesque:wght@400;500;600",stack:"'Bricolage Grotesque', system-ui, sans-serif"},{value:"familjen",label:"Familjen Grotesk ✦",gf:"Familjen+Grotesk:wght@400;500;600",stack:"'Familjen Grotesk', system-ui, sans-serif"},{value:"hanken",label:"Hanken Grotesk ✦",gf:"Hanken+Grotesk:wght@400;500;600",stack:"'Hanken Grotesk', system-ui, sans-serif"},{value:"reddit",label:"Reddit Sans ✦",gf:"Reddit+Sans:wght@400;500;600",stack:"'Reddit Sans', system-ui, sans-serif"},{value:"chivo",label:"Chivo ✦",gf:"Chivo:wght@400;500;600",stack:"'Chivo', system-ui, sans-serif"},{value:"hostgrotesk",label:"Host Grotesk ✦",gf:"Host+Grotesk:wght@400;500;600",stack:"'Host Grotesk', system-ui, sans-serif"},{value:"sora",label:"Sora ✦",gf:"Sora:wght@400;500;600",stack:"'Sora', system-ui, sans-serif"}],uy=[{value:"system",label:"System (SF Mono)",stack:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},{value:"geistmono",label:"Geist Mono",gf:"Geist+Mono:wght@400;500",stack:"'Geist Mono', ui-monospace, monospace"},{value:"jetbrains",label:"JetBrains Mono",gf:"JetBrains+Mono:wght@400;500",stack:"'JetBrains Mono', ui-monospace, monospace"},{value:"plexmono",label:"IBM Plex Mono",gf:"IBM+Plex+Mono:wght@400;500",stack:"'IBM Plex Mono', ui-monospace, monospace"},{value:"firacode",label:"Fira Code",gf:"Fira+Code:wght@400;500",stack:"'Fira Code', ui-monospace, monospace"},{value:"splinemono",label:"Spline Sans Mono",gf:"Spline+Sans+Mono:wght@400;500",stack:"'Spline Sans Mono', ui-monospace, monospace"},{value:"dmmono",label:"DM Mono",gf:"DM+Mono:wght@400;500",stack:"'DM Mono', ui-monospace, monospace"},{value:"martianmono",label:"Martian Mono ✦",gf:"Martian+Mono:wght@400;500",stack:"'Martian Mono', ui-monospace, monospace"},{value:"fragment",label:"Fragment Mono ✦",gf:"Fragment+Mono",stack:"'Fragment Mono', ui-monospace, monospace"},{value:"redhatmono",label:"Red Hat Mono ✦",gf:"Red+Hat+Mono:wght@400;500",stack:"'Red Hat Mono', ui-monospace, monospace"},{value:"chivomono",label:"Chivo Mono ✦",gf:"Chivo+Mono:wght@400;500",stack:"'Chivo Mono', ui-monospace, monospace"},{value:"azeret",label:"Azeret Mono ✦",gf:"Azeret+Mono:wght@400;500",stack:"'Azeret Mono', ui-monospace, monospace"},{value:"spacemono",label:"Space Mono ✦",gf:"Space+Mono:wght@400;700",stack:"'Space Mono', ui-monospace, monospace"}],dy=[{value:"sans",label:"Same as sans",stack:""},{value:"newsreader",label:"Newsreader (serif)",gf:"Newsreader:opsz,wght@6..72,400..700",stack:"'Newsreader', Georgia, serif"},{value:"sourceserif",label:"Source Serif 4",gf:"Source+Serif+4:opsz,wght@8..60,400..700",stack:"'Source Serif 4', Georgia, serif"},{value:"fraunces",label:"Fraunces",gf:"Fraunces:opsz,wght@9..144,400..700",stack:"'Fraunces', Georgia, serif"},{value:"instrumentserif",label:"Instrument Serif",gf:"Instrument+Serif",stack:"'Instrument Serif', Georgia, serif"},{value:"spacegrotesk",label:"Space Grotesk",gf:"Space+Grotesk:wght@400;500;600",stack:"'Space Grotesk', system-ui, sans-serif"},{value:"clash",label:"Clash Display ✦",url:ns("clash-display@400,500,600"),stack:"'Clash Display', system-ui, sans-serif"},{value:"cabinetdisplay",label:"Cabinet Grotesk ✦",url:ns("cabinet-grotesk@500,700,800"),stack:"'Cabinet Grotesk', system-ui, sans-serif"},{value:"sentient",label:"Sentient (serif) ✦",url:ns("sentient@400,500,700"),stack:"'Sentient', Georgia, serif"},{value:"gambetta",label:"Gambetta (serif) ✦",url:ns("gambetta@400,500,700"),stack:"'Gambetta', Georgia, serif"},{value:"bricolagedisplay",label:"Bricolage Grotesque ✦",gf:"Bricolage+Grotesque:opsz,wght@12..96,400..700",stack:"'Bricolage Grotesque', system-ui, sans-serif"},{value:"youngserif",label:"Young Serif ✦",gf:"Young+Serif",stack:"'Young Serif', Georgia, serif"},{value:"unbounded",label:"Unbounded ✦",gf:"Unbounded:wght@400;500;600",stack:"'Unbounded', system-ui, sans-serif"}],A2=[{label:"Geist / Geist Mono",sans:"geist",mono:"geistmono",display:"sans"},{label:"Inter / JetBrains",sans:"inter",mono:"jetbrains",display:"sans"},{label:"IBM Plex",sans:"plex",mono:"plexmono",display:"sans"},{label:"Instrument / Spline",sans:"instrument",mono:"splinemono",display:"sans"},{label:"Schibsted / Fira",sans:"schibsted",mono:"firacode",display:"sans"},{label:"Editorial: Geist + Newsreader",sans:"geist",mono:"geistmono",display:"newsreader"},{label:"Satoshi / Martian ✦",sans:"satoshi",mono:"martianmono",display:"sans"},{label:"General Sans / Fragment ✦",sans:"generalsans",mono:"fragment",display:"sans"},{label:"Switzer + Clash headings ✦",sans:"switzer",mono:"redhatmono",display:"clash"},{label:"Cabinet + Gambetta ✦",sans:"cabinet",mono:"chivomono",display:"gambetta"},{label:"Bricolage all the way ✦",sans:"bricolage",mono:"spacemono",display:"bricolagedisplay"}],fy=new Set;function gd(n){if(!n)return;const e=n.url??(n.gf?`https://fonts.googleapis.com/css2?family=${n.gf}&display=swap`:void 0);if(!e||fy.has(e))return;fy.add(e);const t=document.createElement("link");t.rel="stylesheet",t.href=e,document.head.appendChild(t)}function vd(n,e){return n.find(t=>t.value===e)??n[0]}const B2=[{px:"8",cls:"text-[8px]",usage:"MetricCard delta arrow glyph",sample:"▲"},{px:"9",cls:"text-[9px]",usage:"DataTable sort direction glyph",sample:"▲▼"},{px:"10",cls:"text-[10px]",usage:"Chart axis labels (all 9 charts)",sample:"Jan Feb Mar 12.4k 18.2k"},{px:"11",cls:"text-2xs",usage:"Captions, chips, table body, helper text (58 uses)",sample:"Canonical React primitives · updated 2h ago"},{px:"12",cls:"text-xs",usage:"Controls, labels, leaderboard rows — the workhorse (70 uses)",sample:"Revenue by region, last 28 days"},{px:"13",cls:"text-sm",usage:"Section titles, panel headers (9 uses); also the body default",sample:"Customer Region"},{px:"14",cls:"text-base",usage:"Explore index page title (1 use)",sample:"Explore"},{px:"19",cls:"text-[19px]",usage:"MetricCard value",sample:"$288,291"},{px:"20",cls:"text-xl",usage:"MetricTimeSeries headline total",sample:"$1,282,392"},{px:"24",cls:"text-2xl",usage:"DashboardShell page title",sample:"Revenue overview"}],E2=[{name:"A — Current",note:"11 / 12 / 13 base. Dense, reads small on 27″ displays.",caption:11,label:12,body:13,section:13,value:19,headline:20,title:24},{name:"B — One up",note:"12 / 13 / 14 base. Same hierarchy, comfortably legible.",caption:12,label:13,body:14,section:14,value:22,headline:24,title:28},{name:"C — Quiet UI, loud numbers",note:"Keeps the dense chrome, doubles down on data: bigger values and titles.",caption:11,label:12,body:13,section:13,value:24,headline:28,title:30}],R2=[31,42,38,55,60,74],L2=Array.from({length:12},(n,e)=>({x:`2025-${String(e+1).padStart(2,"0")}-01`,y:96e3+e*14e3+e%3*9e3})),U2=`select region, sum(revenue) as revenue -from orders -where created_at >= date '2025-01-01' -group by all -order by revenue desc`;function hy({family:n,size:e}){return u.jsxs("div",{className:"flex flex-wrap items-baseline gap-x-6 gap-y-1",style:{fontFamily:n},children:[u.jsx("span",{className:`${e} font-normal`,children:"Regular 400 — Revenue by payment method"}),u.jsx("span",{className:`${e} font-medium`,children:"Medium 500 — Revenue by payment method"}),u.jsx("span",{className:`${e} font-semibold`,children:"Semibold 600 — Revenue by payment method"})]})}function $2(){const[n,e]=F.useState("geist"),[t,i]=F.useState("geistmono"),[a,c]=F.useState("sans"),f=vd(cy,n),h=vd(uy,t),m=vd(dy,a),g=m.stack||f.stack;F.useEffect(()=>{gd(f),gd(h),gd(m)},[f,h,m]);const v={"--font-sans":f.stack,"--font-mono":h.stack,"--font-display":g,fontFamily:"var(--font-sans)"};return u.jsxs("main",{className:"min-h-screen bg-bg text-ink",children:[u.jsxs("header",{className:"sticky top-0 z-20 flex items-center justify-between gap-3 border-b border-line bg-surface px-4 py-3",children:[u.jsxs("div",{children:[u.jsx("h1",{className:"text-sm font-semibold",children:"Typography workbench"}),u.jsxs("p",{className:"text-2xs text-faint",children:["Pick faces, judge them on real components · ",u.jsx("a",{className:"text-accent hover:underline",href:"/components",children:"component gallery →"})]})]}),u.jsx($o,{})]}),u.jsxs("div",{className:"space-y-10 p-4",children:[u.jsx("section",{children:u.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[u.jsx(wl,{label:"Sans",value:n,options:cy.map(({value:x,label:b})=>({value:x,label:b})),onChange:e}),u.jsx(wl,{label:"Mono",value:t,options:uy.map(({value:x,label:b})=>({value:x,label:b})),onChange:i}),u.jsx(wl,{label:"Headings",value:a,options:dy.map(({value:x,label:b})=>({value:x,label:b})),onChange:c}),u.jsx("div",{className:"flex flex-wrap items-center gap-1.5",children:A2.map(x=>{const b=x.sans===n&&x.mono===t&&x.display===a;return u.jsx("button",{type:"button","data-selected":b||void 0,onClick:()=>{e(x.sans),i(x.mono),c(x.display)},className:`inline-flex h-7 items-center rounded-full border px-3 text-xs transition-colors ${b?"border-accent text-accent":"border-line bg-surface text-muted hover:border-line-strong"}`,children:x.label},x.label)})})]})}),u.jsxs("div",{style:v,className:"space-y-10",children:[u.jsxs("section",{children:[u.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"In context"}),u.jsxs("div",{className:"space-y-6",children:[u.jsxs("div",{children:[u.jsx("p",{className:"text-2xs text-faint",children:"Acme Analytics · production"}),u.jsx("h1",{className:"mt-1 text-2xl font-semibold text-ink",children:"Revenue overview"}),u.jsx("div",{className:"text-sm text-muted",children:"Updated 2 minutes ago · 448,214 rows scanned"})]}),u.jsxs("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-3",children:[u.jsx(Nr,{metric:"t.revenue",label:"Revenue",value:288291,format:{format:"currency"},delta:{label:"+12.4%",tone:"positive"},comparison:"vs previous month",sparkValues:R2,selected:!0,onSelect:()=>{}}),u.jsx(Nr,{metric:"t.orders",label:"Order Count",value:447,delta:{label:"-2.1%",tone:"negative"},comparison:"vs previous month",sparkValues:[21,34,28,41,44,38],onSelect:()=>{}}),u.jsx(Nr,{metric:"t.margin",label:"Gross Margin",value:.324,format:{format:"percent"},delta:{label:"+1.1pt",tone:"positive"},comparison:"vs previous month",sparkValues:[24,26,29,27,31,32],onSelect:()=>{}})]}),u.jsx(Go,{points:L2,formatValue:x=>`$${Math.round(x).toLocaleString("en-US")}`,formatAxis:x=>`$${Math.round(x/1e3)}k`,formatLabel:x=>x.slice(0,7),ariaLabel:"Twelve month revenue trend"}),u.jsxs("div",{className:"max-w-xl",children:[u.jsx("h3",{className:"text-sm font-semibold text-ink",children:"How the comparison works"}),u.jsx("p",{className:"mt-1 text-xs leading-5 text-muted",children:"The overlay shifts the previous period onto the current axis so both lines share a scale. Deltas are computed on the visible range only — zooming recomputes them. Hover any point for the exact pair of values; the quiet gray line is always the older period."})]}),u.jsx("pre",{className:"overflow-x-auto font-mono text-xs leading-5 text-muted",children:U2})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Numerals — mono, tabular"}),u.jsxs("div",{className:"flex flex-wrap gap-12",children:[u.jsx("div",{className:"font-mono tnum text-sm text-ink",children:["$1,204,918.24","$984,003.10","$88,214.00","$1,111,111.11"].map(x=>u.jsx("div",{className:"text-right",children:x},x))}),u.jsx("div",{className:"font-mono tnum text-sm text-ink",children:["2025-06-30 23:59:59","2025-07-01 00:00:00","2025-12-31 08:15:42"].map(x=>u.jsx("div",{children:x},x))}),u.jsxs("div",{className:"font-mono text-sm text-ink",children:["0O · 1lI · 5S · 8B · ","->"," ","=>"," ","!="," ",">="]})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Weights in use — 400 / 500 / 600 (no bold anywhere)"}),u.jsxs("div",{className:"space-y-2 text-ink",children:[u.jsx(hy,{family:"var(--font-sans)",size:"text-sm"}),u.jsx(hy,{family:"var(--font-sans)",size:"text-xs"}),u.jsx("div",{className:"text-xl font-semibold",style:{fontFamily:"var(--font-display)"},children:"Display 600 — Quarterly revenue, all regions"})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Current ramp — every size in the app and where it appears"}),u.jsx("div",{className:"space-y-1.5",children:B2.map(x=>u.jsxs("div",{className:"grid grid-cols-[3rem_7rem_1fr_1.2fr] items-baseline gap-3",children:[u.jsxs("span",{className:"font-mono tnum text-2xs text-faint",children:[x.px,"px"]}),u.jsx("span",{className:"font-mono text-2xs text-faint",children:x.cls}),u.jsx("span",{className:"truncate text-ink",style:{fontSize:`${x.px}px`,lineHeight:1.3},children:x.sample}),u.jsx("span",{className:"text-2xs text-faint",children:x.usage})]},x.px))})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Size ramp candidates"}),u.jsx("div",{className:"grid grid-cols-1 gap-8 lg:grid-cols-3",children:E2.map(x=>u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"text-sm font-semibold text-ink",children:x.name}),u.jsx("p",{className:"mt-0.5 text-2xs text-faint",children:x.note}),u.jsxs("div",{className:"mt-3 space-y-2",children:[u.jsxs("div",{className:"text-faint",style:{fontSize:x.caption,lineHeight:1.3},children:["Caption ",x.caption,"px · vs previous month"]}),u.jsxs("div",{className:"text-muted",style:{fontSize:x.label,lineHeight:1.35},children:["Label ",x.label,"px · Revenue by region"]}),u.jsxs("div",{className:"text-ink",style:{fontSize:x.body,lineHeight:1.45},children:["Body ",x.body,"px · The overlay shifts the previous period onto the current axis so both lines share a scale."]}),u.jsxs("div",{className:"font-semibold text-ink",style:{fontSize:x.section,lineHeight:1.35},children:["Section title ",x.section,"px"]}),u.jsx("div",{className:"font-mono tnum font-semibold text-ink",style:{fontSize:x.value,lineHeight:1.15},children:"$288,291"}),u.jsx("div",{className:"font-mono tnum font-semibold text-ink",style:{fontSize:x.headline,lineHeight:1.15},children:"$1,282,392"}),u.jsx("div",{className:"font-semibold text-ink",style:{fontFamily:"var(--font-display)",fontSize:x.title,lineHeight:1.2,letterSpacing:"-0.025em"},children:"Revenue overview"})]})]},x.name))})]})]})]})]})}n_();const n0=document.getElementById("root");if(!n0)throw new Error("Missing #root element");cb.createRoot(n0).render(u.jsx(F.StrictMode,{children:window.location.pathname==="/components"?u.jsx(T2,{}):window.location.pathname==="/typography"?u.jsx($2,{}):u.jsx(X_,{})})); diff --git a/sidemantic-rs/ui/assets/index-iemRTgYP.js b/sidemantic-rs/ui/assets/index-iemRTgYP.js new file mode 100644 index 000000000..873cbd343 --- /dev/null +++ b/sidemantic-rs/ui/assets/index-iemRTgYP.js @@ -0,0 +1,55 @@ +var Xx=Object.defineProperty;var eb=(n,e,t)=>e in n?Xx(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var Mn=(n,e,t)=>eb(n,typeof e!="symbol"?e+"":e,t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))i(a);new MutationObserver(a=>{for(const u of a)if(u.type==="childList")for(const f of u.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&i(f)}).observe(document,{childList:!0,subtree:!0});function t(a){const u={};return a.integrity&&(u.integrity=a.integrity),a.referrerPolicy&&(u.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?u.credentials="include":a.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function i(a){if(a.ep)return;a.ep=!0;const u=t(a);fetch(a.href,u)}})();var Jc={exports:{}},wo={},qc={exports:{}},Be={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Xp;function tb(){if(Xp)return Be;Xp=1;var n=Symbol.for("react.element"),e=Symbol.for("react.portal"),t=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),u=Symbol.for("react.provider"),f=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),x=Symbol.iterator;function b(_){return _===null||typeof _!="object"?null:(_=x&&_[x]||_["@@iterator"],typeof _=="function"?_:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},j=Object.assign,C={};function O(_,F,te){this.props=_,this.context=F,this.refs=C,this.updater=te||w}O.prototype.isReactComponent={},O.prototype.setState=function(_,F){if(typeof _!="object"&&typeof _!="function"&&_!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,_,F,"setState")},O.prototype.forceUpdate=function(_){this.updater.enqueueForceUpdate(this,_,"forceUpdate")};function H(){}H.prototype=O.prototype;function L(_,F,te){this.props=_,this.context=F,this.refs=C,this.updater=te||w}var R=L.prototype=new H;R.constructor=L,j(R,O.prototype),R.isPureReactComponent=!0;var T=Array.isArray,E=Object.prototype.hasOwnProperty,I={current:null},U={key:!0,ref:!0,__self:!0,__source:!0};function G(_,F,te){var pe,ne={},fe=null,Ce=null;if(F!=null)for(pe in F.ref!==void 0&&(Ce=F.ref),F.key!==void 0&&(fe=""+F.key),F)E.call(F,pe)&&!U.hasOwnProperty(pe)&&(ne[pe]=F[pe]);var Te=arguments.length-2;if(Te===1)ne.children=te;else if(1>>1,F=A[_];if(0>>1;_a(ne,W))fea(Ce,ne)?(A[_]=Ce,A[fe]=W,_=fe):(A[_]=ne,A[pe]=W,_=pe);else if(fea(Ce,W))A[_]=Ce,A[fe]=W,_=fe;else break e}}return Y}function a(A,Y){var W=A.sortIndex-Y.sortIndex;return W!==0?W:A.id-Y.id}if(typeof performance=="object"&&typeof performance.now=="function"){var u=performance;n.unstable_now=function(){return u.now()}}else{var f=Date,h=f.now();n.unstable_now=function(){return f.now()-h}}var m=[],g=[],v=1,x=null,b=3,w=!1,j=!1,C=!1,O=typeof setTimeout=="function"?setTimeout:null,H=typeof clearTimeout=="function"?clearTimeout:null,L=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function R(A){for(var Y=t(g);Y!==null;){if(Y.callback===null)i(g);else if(Y.startTime<=A)i(g),Y.sortIndex=Y.expirationTime,e(m,Y);else break;Y=t(g)}}function T(A){if(C=!1,R(A),!j)if(t(m)!==null)j=!0,re(E);else{var Y=t(g);Y!==null&&se(T,Y.startTime-A)}}function E(A,Y){j=!1,C&&(C=!1,H(G),G=-1),w=!0;var W=b;try{for(R(Y),x=t(m);x!==null&&(!(x.expirationTime>Y)||A&&!z());){var _=x.callback;if(typeof _=="function"){x.callback=null,b=x.priorityLevel;var F=_(x.expirationTime<=Y);Y=n.unstable_now(),typeof F=="function"?x.callback=F:x===t(m)&&i(m),R(Y)}else i(m);x=t(m)}if(x!==null)var te=!0;else{var pe=t(g);pe!==null&&se(T,pe.startTime-Y),te=!1}return te}finally{x=null,b=W,w=!1}}var I=!1,U=null,G=-1,V=5,Q=-1;function z(){return!(n.unstable_now()-QA||125_?(A.sortIndex=W,e(g,A),t(m)===null&&A===t(g)&&(C?(H(G),G=-1):C=!0,se(T,W-_))):(A.sortIndex=F,e(m,A),j||w||(j=!0,re(E))),A},n.unstable_shouldYield=z,n.unstable_wrapCallback=function(A){var Y=b;return function(){var W=b;b=Y;try{return A.apply(this,arguments)}finally{b=W}}}})(ed)),ed}var sm;function ib(){return sm||(sm=1,Xc.exports=sb()),Xc.exports}/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var im;function ob(){if(im)return $t;im=1;var n=Ad(),e=ib();function t(r){for(var s="https://reactjs.org/docs/error-decoder.html?invariant="+r,o=1;o"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),m=Object.prototype.hasOwnProperty,g=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,v={},x={};function b(r){return m.call(x,r)?!0:m.call(v,r)?!1:g.test(r)?x[r]=!0:(v[r]=!0,!1)}function w(r,s,o,l){if(o!==null&&o.type===0)return!1;switch(typeof s){case"function":case"symbol":return!0;case"boolean":return l?!1:o!==null?!o.acceptsBooleans:(r=r.toLowerCase().slice(0,5),r!=="data-"&&r!=="aria-");default:return!1}}function j(r,s,o,l){if(s===null||typeof s>"u"||w(r,s,o,l))return!0;if(l)return!1;if(o!==null)switch(o.type){case 3:return!s;case 4:return s===!1;case 5:return isNaN(s);case 6:return isNaN(s)||1>s}return!1}function C(r,s,o,l,d,p,y){this.acceptsBooleans=s===2||s===3||s===4,this.attributeName=l,this.attributeNamespace=d,this.mustUseProperty=o,this.propertyName=r,this.type=s,this.sanitizeURL=p,this.removeEmptyString=y}var O={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(r){O[r]=new C(r,0,!1,r,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(r){var s=r[0];O[s]=new C(s,1,!1,r[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(r){O[r]=new C(r,2,!1,r.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(r){O[r]=new C(r,2,!1,r,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(r){O[r]=new C(r,3,!1,r.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(r){O[r]=new C(r,3,!0,r,null,!1,!1)}),["capture","download"].forEach(function(r){O[r]=new C(r,4,!1,r,null,!1,!1)}),["cols","rows","size","span"].forEach(function(r){O[r]=new C(r,6,!1,r,null,!1,!1)}),["rowSpan","start"].forEach(function(r){O[r]=new C(r,5,!1,r.toLowerCase(),null,!1,!1)});var H=/[\-:]([a-z])/g;function L(r){return r[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(r){var s=r.replace(H,L);O[s]=new C(s,1,!1,r,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(r){var s=r.replace(H,L);O[s]=new C(s,1,!1,r,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(r){var s=r.replace(H,L);O[s]=new C(s,1,!1,r,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(r){O[r]=new C(r,1,!1,r.toLowerCase(),null,!1,!1)}),O.xlinkHref=new C("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(r){O[r]=new C(r,1,!1,r.toLowerCase(),null,!0,!0)});function R(r,s,o,l){var d=O.hasOwnProperty(s)?O[s]:null;(d!==null?d.type!==0:l||!(2S||d[y]!==p[S]){var N=` +`+d[y].replace(" at new "," at ");return r.displayName&&N.includes("")&&(N=N.replace("",r.displayName)),N}while(1<=y&&0<=S);break}}}finally{te=!1,Error.prepareStackTrace=o}return(r=r?r.displayName||r.name:"")?F(r):""}function ne(r){switch(r.tag){case 5:return F(r.type);case 16:return F("Lazy");case 13:return F("Suspense");case 19:return F("SuspenseList");case 0:case 2:case 15:return r=pe(r.type,!1),r;case 11:return r=pe(r.type.render,!1),r;case 1:return r=pe(r.type,!0),r;default:return""}}function fe(r){if(r==null)return null;if(typeof r=="function")return r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case U:return"Fragment";case I:return"Portal";case V:return"Profiler";case G:return"StrictMode";case X:return"Suspense";case ie:return"SuspenseList"}if(typeof r=="object")switch(r.$$typeof){case z:return(r.displayName||"Context")+".Consumer";case Q:return(r._context.displayName||"Context")+".Provider";case ee:var s=r.render;return r=r.displayName,r||(r=s.displayName||s.name||"",r=r!==""?"ForwardRef("+r+")":"ForwardRef"),r;case ae:return s=r.displayName||null,s!==null?s:fe(r.type)||"Memo";case re:s=r._payload,r=r._init;try{return fe(r(s))}catch{}}return null}function Ce(r){var s=r.type;switch(r.tag){case 24:return"Cache";case 9:return(s.displayName||"Context")+".Consumer";case 10:return(s._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return r=s.render,r=r.displayName||r.name||"",s.displayName||(r!==""?"ForwardRef("+r+")":"ForwardRef");case 7:return"Fragment";case 5:return s;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return fe(s);case 8:return s===G?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s}return null}function Te(r){switch(typeof r){case"boolean":case"number":case"string":case"undefined":return r;case"object":return r;default:return""}}function Ue(r){var s=r.type;return(r=r.nodeName)&&r.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function lt(r){var s=Ue(r)?"checked":"value",o=Object.getOwnPropertyDescriptor(r.constructor.prototype,s),l=""+r[s];if(!r.hasOwnProperty(s)&&typeof o<"u"&&typeof o.get=="function"&&typeof o.set=="function"){var d=o.get,p=o.set;return Object.defineProperty(r,s,{configurable:!0,get:function(){return d.call(this)},set:function(y){l=""+y,p.call(this,y)}}),Object.defineProperty(r,s,{enumerable:o.enumerable}),{getValue:function(){return l},setValue:function(y){l=""+y},stopTracking:function(){r._valueTracker=null,delete r[s]}}}}function wt(r){r._valueTracker||(r._valueTracker=lt(r))}function Bs(r){if(!r)return!1;var s=r._valueTracker;if(!s)return!0;var o=s.getValue(),l="";return r&&(l=Ue(r)?r.checked?"true":"false":r.value),r=l,r!==o?(s.setValue(r),!0):!1}function xn(r){if(r=r||(typeof document<"u"?document:void 0),typeof r>"u")return null;try{return r.activeElement||r.body}catch{return r.body}}function Cr(r,s){var o=s.checked;return W({},s,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:o??r._wrapperState.initialChecked})}function Fr(r,s){var o=s.defaultValue==null?"":s.defaultValue,l=s.checked!=null?s.checked:s.defaultChecked;o=Te(s.value!=null?s.value:o),r._wrapperState={initialChecked:l,initialValue:o,controlled:s.type==="checkbox"||s.type==="radio"?s.checked!=null:s.value!=null}}function ue(r,s){s=s.checked,s!=null&&R(r,"checked",s,!1)}function Oe(r,s){ue(r,s);var o=Te(s.value),l=s.type;if(o!=null)l==="number"?(o===0&&r.value===""||r.value!=o)&&(r.value=""+o):r.value!==""+o&&(r.value=""+o);else if(l==="submit"||l==="reset"){r.removeAttribute("value");return}s.hasOwnProperty("value")?Nt(r,s.type,o):s.hasOwnProperty("defaultValue")&&Nt(r,s.type,Te(s.defaultValue)),s.checked==null&&s.defaultChecked!=null&&(r.defaultChecked=!!s.defaultChecked)}function rt(r,s,o){if(s.hasOwnProperty("value")||s.hasOwnProperty("defaultValue")){var l=s.type;if(!(l!=="submit"&&l!=="reset"||s.value!==void 0&&s.value!==null))return;s=""+r._wrapperState.initialValue,o||s===r.value||(r.value=s),r.defaultValue=s}o=r.name,o!==""&&(r.name=""),r.defaultChecked=!!r._wrapperState.initialChecked,o!==""&&(r.name=o)}function Nt(r,s,o){(s!=="number"||xn(r.ownerDocument)!==r)&&(o==null?r.defaultValue=""+r._wrapperState.initialValue:r.defaultValue!==""+o&&(r.defaultValue=""+o))}var Un=Array.isArray;function sr(r,s,o,l){if(r=r.options,s){s={};for(var d=0;d"+s.valueOf().toString()+"",s=ds.firstChild;r.firstChild;)r.removeChild(r.firstChild);for(;s.firstChild;)r.appendChild(s.firstChild)}});function ir(r,s){if(s){var o=r.firstChild;if(o&&o===r.lastChild&&o.nodeType===3){o.nodeValue=s;return}}r.textContent=s}var Ri={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},r0=["Webkit","ms","Moz","O"];Object.keys(Ri).forEach(function(r){r0.forEach(function(s){s=s+r.charAt(0).toUpperCase()+r.substring(1),Ri[s]=Ri[r]})});function pf(r,s,o){return s==null||typeof s=="boolean"||s===""?"":o||typeof s!="number"||s===0||Ri.hasOwnProperty(r)&&Ri[r]?(""+s).trim():s+"px"}function mf(r,s){r=r.style;for(var o in s)if(s.hasOwnProperty(o)){var l=o.indexOf("--")===0,d=pf(o,s[o],l);o==="float"&&(o="cssFloat"),l?r.setProperty(o,d):r[o]=d}}var s0=W({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function lu(r,s){if(s){if(s0[r]&&(s.children!=null||s.dangerouslySetInnerHTML!=null))throw Error(t(137,r));if(s.dangerouslySetInnerHTML!=null){if(s.children!=null)throw Error(t(60));if(typeof s.dangerouslySetInnerHTML!="object"||!("__html"in s.dangerouslySetInnerHTML))throw Error(t(61))}if(s.style!=null&&typeof s.style!="object")throw Error(t(62))}}function uu(r,s){if(r.indexOf("-")===-1)return typeof s.is=="string";switch(r){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var cu=null;function du(r){return r=r.target||r.srcElement||window,r.correspondingUseElement&&(r=r.correspondingUseElement),r.nodeType===3?r.parentNode:r}var fu=null,Rs=null,Ls=null;function yf(r){if(r=io(r)){if(typeof fu!="function")throw Error(t(280));var s=r.stateNode;s&&(s=ya(s),fu(r.stateNode,r.type,s))}}function gf(r){Rs?Ls?Ls.push(r):Ls=[r]:Rs=r}function vf(){if(Rs){var r=Rs,s=Ls;if(Ls=Rs=null,yf(r),s)for(r=0;r>>=0,r===0?32:31-(m0(r)/y0|0)|0}var Zo=64,Xo=4194304;function Pi(r){switch(r&-r){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return r&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return r&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return r}}function ea(r,s){var o=r.pendingLanes;if(o===0)return 0;var l=0,d=r.suspendedLanes,p=r.pingedLanes,y=o&268435455;if(y!==0){var S=y&~d;S!==0?l=Pi(S):(p&=y,p!==0&&(l=Pi(p)))}else y=o&~d,y!==0?l=Pi(y):p!==0&&(l=Pi(p));if(l===0)return 0;if(s!==0&&s!==l&&(s&d)===0&&(d=l&-l,p=s&-s,d>=p||d===16&&(p&4194240)!==0))return s;if((l&4)!==0&&(l|=o&16),s=r.entangledLanes,s!==0)for(r=r.entanglements,s&=l;0o;o++)s.push(r);return s}function zi(r,s,o){r.pendingLanes|=s,s!==536870912&&(r.suspendedLanes=0,r.pingedLanes=0),r=r.eventTimes,s=31-wn(s),r[s]=o}function b0(r,s){var o=r.pendingLanes&~s;r.pendingLanes=s,r.suspendedLanes=0,r.pingedLanes=0,r.expiredLanes&=s,r.mutableReadLanes&=s,r.entangledLanes&=s,s=r.entanglements;var l=r.eventTimes;for(r=r.expirationTimes;0=Ji),Gf=" ",Yf=!1;function Qf(r,s){switch(r){case"keyup":return Q0.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Kf(r){return r=r.detail,typeof r=="object"&&"data"in r?r.data:null}var Ps=!1;function J0(r,s){switch(r){case"compositionend":return Kf(s);case"keypress":return s.which!==32?null:(Yf=!0,Gf);case"textInput":return r=s.data,r===Gf&&Yf?null:r;default:return null}}function q0(r,s){if(Ps)return r==="compositionend"||!Cu&&Qf(r,s)?(r=$f(),ia=Nu=Er=null,Ps=!1,r):null;switch(r){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:o,offset:s-r};r=l}e:{for(;o;){if(o.nextSibling){o=o.nextSibling;break e}o=o.parentNode}o=void 0}o=nh(o)}}function sh(r,s){return r&&s?r===s?!0:r&&r.nodeType===3?!1:s&&s.nodeType===3?sh(r,s.parentNode):"contains"in r?r.contains(s):r.compareDocumentPosition?!!(r.compareDocumentPosition(s)&16):!1:!1}function ih(){for(var r=window,s=xn();s instanceof r.HTMLIFrameElement;){try{var o=typeof s.contentWindow.location.href=="string"}catch{o=!1}if(o)r=s.contentWindow;else break;s=xn(r.document)}return s}function Tu(r){var s=r&&r.nodeName&&r.nodeName.toLowerCase();return s&&(s==="input"&&(r.type==="text"||r.type==="search"||r.type==="tel"||r.type==="url"||r.type==="password")||s==="textarea"||r.contentEditable==="true")}function ox(r){var s=ih(),o=r.focusedElem,l=r.selectionRange;if(s!==o&&o&&o.ownerDocument&&sh(o.ownerDocument.documentElement,o)){if(l!==null&&Tu(o)){if(s=l.start,r=l.end,r===void 0&&(r=s),"selectionStart"in o)o.selectionStart=s,o.selectionEnd=Math.min(r,o.value.length);else if(r=(s=o.ownerDocument||document)&&s.defaultView||window,r.getSelection){r=r.getSelection();var d=o.textContent.length,p=Math.min(l.start,d);l=l.end===void 0?p:Math.min(l.end,d),!r.extend&&p>l&&(d=l,l=p,p=d),d=rh(o,p);var y=rh(o,l);d&&y&&(r.rangeCount!==1||r.anchorNode!==d.node||r.anchorOffset!==d.offset||r.focusNode!==y.node||r.focusOffset!==y.offset)&&(s=s.createRange(),s.setStart(d.node,d.offset),r.removeAllRanges(),p>l?(r.addRange(s),r.extend(y.node,y.offset)):(s.setEnd(y.node,y.offset),r.addRange(s)))}}for(s=[],r=o;r=r.parentNode;)r.nodeType===1&&s.push({element:r,left:r.scrollLeft,top:r.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;o=document.documentMode,zs=null,Au=null,eo=null,Bu=!1;function oh(r,s,o){var l=o.window===o?o.document:o.nodeType===9?o:o.ownerDocument;Bu||zs==null||zs!==xn(l)||(l=zs,"selectionStart"in l&&Tu(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),eo&&Xi(eo,l)||(eo=l,l=ha(Au,"onSelect"),0Ys||(r.current=Yu[Ys],Yu[Ys]=null,Ys--)}function qe(r,s){Ys++,Yu[Ys]=r.current,r.current=s}var $r={},jt=Ur($r),Bt=Ur(!1),ps=$r;function Qs(r,s){var o=r.type.contextTypes;if(!o)return $r;var l=r.stateNode;if(l&&l.__reactInternalMemoizedUnmaskedChildContext===s)return l.__reactInternalMemoizedMaskedChildContext;var d={},p;for(p in o)d[p]=s[p];return l&&(r=r.stateNode,r.__reactInternalMemoizedUnmaskedChildContext=s,r.__reactInternalMemoizedMaskedChildContext=d),d}function Et(r){return r=r.childContextTypes,r!=null}function ga(){et(Bt),et(jt)}function wh(r,s,o){if(jt.current!==$r)throw Error(t(168));qe(jt,s),qe(Bt,o)}function Sh(r,s,o){var l=r.stateNode;if(s=s.childContextTypes,typeof l.getChildContext!="function")return o;l=l.getChildContext();for(var d in l)if(!(d in s))throw Error(t(108,Ce(r)||"Unknown",d));return W({},o,l)}function va(r){return r=(r=r.stateNode)&&r.__reactInternalMemoizedMergedChildContext||$r,ps=jt.current,qe(jt,r),qe(Bt,Bt.current),!0}function _h(r,s,o){var l=r.stateNode;if(!l)throw Error(t(169));o?(r=Sh(r,s,ps),l.__reactInternalMemoizedMergedChildContext=r,et(Bt),et(jt),qe(jt,r)):et(Bt),qe(Bt,o)}var ar=null,xa=!1,Qu=!1;function Nh(r){ar===null?ar=[r]:ar.push(r)}function vx(r){xa=!0,Nh(r)}function Pr(){if(!Qu&&ar!==null){Qu=!0;var r=0,s=Ge;try{var o=ar;for(Ge=1;r>=y,d-=y,lr=1<<32-wn(s)+d|o<Me?(bt=ge,ge=null):bt=ge.sibling;var ze=K(B,ge,$[Me],Z);if(ze===null){ge===null&&(ge=bt);break}r&&ge&&ze.alternate===null&&s(B,ge),k=p(ze,k,Me),ye===null?he=ze:ye.sibling=ze,ye=ze,ge=bt}if(Me===$.length)return o(B,ge),st&&ys(B,Me),he;if(ge===null){for(;Me<$.length;Me++)ge=q(B,$[Me],Z),ge!==null&&(k=p(ge,k,Me),ye===null?he=ge:ye.sibling=ge,ye=ge);return st&&ys(B,Me),he}for(ge=l(B,ge);Me<$.length;Me++)bt=oe(ge,B,Me,$[Me],Z),bt!==null&&(r&&bt.alternate!==null&&ge.delete(bt.key===null?Me:bt.key),k=p(bt,k,Me),ye===null?he=bt:ye.sibling=bt,ye=bt);return r&&ge.forEach(function(Jr){return s(B,Jr)}),st&&ys(B,Me),he}function de(B,k,$,Z){var he=Y($);if(typeof he!="function")throw Error(t(150));if($=he.call($),$==null)throw Error(t(151));for(var ye=he=null,ge=k,Me=k=0,bt=null,ze=$.next();ge!==null&&!ze.done;Me++,ze=$.next()){ge.index>Me?(bt=ge,ge=null):bt=ge.sibling;var Jr=K(B,ge,ze.value,Z);if(Jr===null){ge===null&&(ge=bt);break}r&&ge&&Jr.alternate===null&&s(B,ge),k=p(Jr,k,Me),ye===null?he=Jr:ye.sibling=Jr,ye=Jr,ge=bt}if(ze.done)return o(B,ge),st&&ys(B,Me),he;if(ge===null){for(;!ze.done;Me++,ze=$.next())ze=q(B,ze.value,Z),ze!==null&&(k=p(ze,k,Me),ye===null?he=ze:ye.sibling=ze,ye=ze);return st&&ys(B,Me),he}for(ge=l(B,ge);!ze.done;Me++,ze=$.next())ze=oe(ge,B,Me,ze.value,Z),ze!==null&&(r&&ze.alternate!==null&&ge.delete(ze.key===null?Me:ze.key),k=p(ze,k,Me),ye===null?he=ze:ye.sibling=ze,ye=ze);return r&&ge.forEach(function(Zx){return s(B,Zx)}),st&&ys(B,Me),he}function dt(B,k,$,Z){if(typeof $=="object"&&$!==null&&$.type===U&&$.key===null&&($=$.props.children),typeof $=="object"&&$!==null){switch($.$$typeof){case E:e:{for(var he=$.key,ye=k;ye!==null;){if(ye.key===he){if(he=$.type,he===U){if(ye.tag===7){o(B,ye.sibling),k=d(ye,$.props.children),k.return=B,B=k;break e}}else if(ye.elementType===he||typeof he=="object"&&he!==null&&he.$$typeof===re&&Ch(he)===ye.type){o(B,ye.sibling),k=d(ye,$.props),k.ref=oo(B,ye,$),k.return=B,B=k;break e}o(B,ye);break}else s(B,ye);ye=ye.sibling}$.type===U?(k=Ns($.props.children,B.mode,Z,$.key),k.return=B,B=k):(Z=Ya($.type,$.key,$.props,null,B.mode,Z),Z.ref=oo(B,k,$),Z.return=B,B=Z)}return y(B);case I:e:{for(ye=$.key;k!==null;){if(k.key===ye)if(k.tag===4&&k.stateNode.containerInfo===$.containerInfo&&k.stateNode.implementation===$.implementation){o(B,k.sibling),k=d(k,$.children||[]),k.return=B,B=k;break e}else{o(B,k);break}else s(B,k);k=k.sibling}k=Hc($,B.mode,Z),k.return=B,B=k}return y(B);case re:return ye=$._init,dt(B,k,ye($._payload),Z)}if(Un($))return ce(B,k,$,Z);if(Y($))return de(B,k,$,Z);_a(B,$)}return typeof $=="string"&&$!==""||typeof $=="number"?($=""+$,k!==null&&k.tag===6?(o(B,k.sibling),k=d(k,$),k.return=B,B=k):(o(B,k),k=Wc($,B.mode,Z),k.return=B,B=k),y(B)):o(B,k)}return dt}var Zs=Fh(!0),Oh=Fh(!1),Na=Ur(null),ja=null,Xs=null,ec=null;function tc(){ec=Xs=ja=null}function nc(r){var s=Na.current;et(Na),r._currentValue=s}function rc(r,s,o){for(;r!==null;){var l=r.alternate;if((r.childLanes&s)!==s?(r.childLanes|=s,l!==null&&(l.childLanes|=s)):l!==null&&(l.childLanes&s)!==s&&(l.childLanes|=s),r===o)break;r=r.return}}function ei(r,s){ja=r,ec=Xs=null,r=r.dependencies,r!==null&&r.firstContext!==null&&((r.lanes&s)!==0&&(Rt=!0),r.firstContext=null)}function sn(r){var s=r._currentValue;if(ec!==r)if(r={context:r,memoizedValue:s,next:null},Xs===null){if(ja===null)throw Error(t(308));Xs=r,ja.dependencies={lanes:0,firstContext:r}}else Xs=Xs.next=r;return s}var gs=null;function sc(r){gs===null?gs=[r]:gs.push(r)}function Th(r,s,o,l){var d=s.interleaved;return d===null?(o.next=o,sc(s)):(o.next=d.next,d.next=o),s.interleaved=o,cr(r,l)}function cr(r,s){r.lanes|=s;var o=r.alternate;for(o!==null&&(o.lanes|=s),o=r,r=r.return;r!==null;)r.childLanes|=s,o=r.alternate,o!==null&&(o.childLanes|=s),o=r,r=r.return;return o.tag===3?o.stateNode:null}var zr=!1;function ic(r){r.updateQueue={baseState:r.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Ah(r,s){r=r.updateQueue,s.updateQueue===r&&(s.updateQueue={baseState:r.baseState,firstBaseUpdate:r.firstBaseUpdate,lastBaseUpdate:r.lastBaseUpdate,shared:r.shared,effects:r.effects})}function dr(r,s){return{eventTime:r,lane:s,tag:0,payload:null,callback:null,next:null}}function Vr(r,s,o){var l=r.updateQueue;if(l===null)return null;if(l=l.shared,(Pe&2)!==0){var d=l.pending;return d===null?s.next=s:(s.next=d.next,d.next=s),l.pending=s,cr(r,o)}return d=l.interleaved,d===null?(s.next=s,sc(l)):(s.next=d.next,d.next=s),l.interleaved=s,cr(r,o)}function ka(r,s,o){if(s=s.updateQueue,s!==null&&(s=s.shared,(o&4194240)!==0)){var l=s.lanes;l&=r.pendingLanes,o|=l,s.lanes=o,xu(r,o)}}function Bh(r,s){var o=r.updateQueue,l=r.alternate;if(l!==null&&(l=l.updateQueue,o===l)){var d=null,p=null;if(o=o.firstBaseUpdate,o!==null){do{var y={eventTime:o.eventTime,lane:o.lane,tag:o.tag,payload:o.payload,callback:o.callback,next:null};p===null?d=p=y:p=p.next=y,o=o.next}while(o!==null);p===null?d=p=s:p=p.next=s}else d=p=s;o={baseState:l.baseState,firstBaseUpdate:d,lastBaseUpdate:p,shared:l.shared,effects:l.effects},r.updateQueue=o;return}r=o.lastBaseUpdate,r===null?o.firstBaseUpdate=s:r.next=s,o.lastBaseUpdate=s}function Ia(r,s,o,l){var d=r.updateQueue;zr=!1;var p=d.firstBaseUpdate,y=d.lastBaseUpdate,S=d.shared.pending;if(S!==null){d.shared.pending=null;var N=S,P=N.next;N.next=null,y===null?p=P:y.next=P,y=N;var J=r.alternate;J!==null&&(J=J.updateQueue,S=J.lastBaseUpdate,S!==y&&(S===null?J.firstBaseUpdate=P:S.next=P,J.lastBaseUpdate=N))}if(p!==null){var q=d.baseState;y=0,J=P=N=null,S=p;do{var K=S.lane,oe=S.eventTime;if((l&K)===K){J!==null&&(J=J.next={eventTime:oe,lane:0,tag:S.tag,payload:S.payload,callback:S.callback,next:null});e:{var ce=r,de=S;switch(K=s,oe=o,de.tag){case 1:if(ce=de.payload,typeof ce=="function"){q=ce.call(oe,q,K);break e}q=ce;break e;case 3:ce.flags=ce.flags&-65537|128;case 0:if(ce=de.payload,K=typeof ce=="function"?ce.call(oe,q,K):ce,K==null)break e;q=W({},q,K);break e;case 2:zr=!0}}S.callback!==null&&S.lane!==0&&(r.flags|=64,K=d.effects,K===null?d.effects=[S]:K.push(S))}else oe={eventTime:oe,lane:K,tag:S.tag,payload:S.payload,callback:S.callback,next:null},J===null?(P=J=oe,N=q):J=J.next=oe,y|=K;if(S=S.next,S===null){if(S=d.shared.pending,S===null)break;K=S,S=K.next,K.next=null,d.lastBaseUpdate=K,d.shared.pending=null}}while(!0);if(J===null&&(N=q),d.baseState=N,d.firstBaseUpdate=P,d.lastBaseUpdate=J,s=d.shared.interleaved,s!==null){d=s;do y|=d.lane,d=d.next;while(d!==s)}else p===null&&(d.shared.lanes=0);bs|=y,r.lanes=y,r.memoizedState=q}}function Eh(r,s,o){if(r=s.effects,s.effects=null,r!==null)for(s=0;so?o:4,r(!0);var l=cc.transition;cc.transition={};try{r(!1),s()}finally{Ge=o,cc.transition=l}}function tp(){return on().memoizedState}function Sx(r,s,o){var l=Yr(r);if(o={lane:l,action:o,hasEagerState:!1,eagerState:null,next:null},np(r))rp(s,o);else if(o=Th(r,s,o,l),o!==null){var d=Ft();In(o,r,l,d),sp(o,s,l)}}function _x(r,s,o){var l=Yr(r),d={lane:l,action:o,hasEagerState:!1,eagerState:null,next:null};if(np(r))rp(s,d);else{var p=r.alternate;if(r.lanes===0&&(p===null||p.lanes===0)&&(p=s.lastRenderedReducer,p!==null))try{var y=s.lastRenderedState,S=p(y,o);if(d.hasEagerState=!0,d.eagerState=S,Sn(S,y)){var N=s.interleaved;N===null?(d.next=d,sc(s)):(d.next=N.next,N.next=d),s.interleaved=d;return}}catch{}finally{}o=Th(r,s,d,l),o!==null&&(d=Ft(),In(o,r,l,d),sp(o,s,l))}}function np(r){var s=r.alternate;return r===ot||s!==null&&s===ot}function rp(r,s){co=Ca=!0;var o=r.pending;o===null?s.next=s:(s.next=o.next,o.next=s),r.pending=s}function sp(r,s,o){if((o&4194240)!==0){var l=s.lanes;l&=r.pendingLanes,o|=l,s.lanes=o,xu(r,o)}}var Ta={readContext:sn,useCallback:kt,useContext:kt,useEffect:kt,useImperativeHandle:kt,useInsertionEffect:kt,useLayoutEffect:kt,useMemo:kt,useReducer:kt,useRef:kt,useState:kt,useDebugValue:kt,useDeferredValue:kt,useTransition:kt,useMutableSource:kt,useSyncExternalStore:kt,useId:kt,unstable_isNewReconciler:!1},Nx={readContext:sn,useCallback:function(r,s){return Vn().memoizedState=[r,s===void 0?null:s],r},useContext:sn,useEffect:Yh,useImperativeHandle:function(r,s,o){return o=o!=null?o.concat([r]):null,Fa(4194308,4,Jh.bind(null,s,r),o)},useLayoutEffect:function(r,s){return Fa(4194308,4,r,s)},useInsertionEffect:function(r,s){return Fa(4,2,r,s)},useMemo:function(r,s){var o=Vn();return s=s===void 0?null:s,r=r(),o.memoizedState=[r,s],r},useReducer:function(r,s,o){var l=Vn();return s=o!==void 0?o(s):s,l.memoizedState=l.baseState=s,r={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:r,lastRenderedState:s},l.queue=r,r=r.dispatch=Sx.bind(null,ot,r),[l.memoizedState,r]},useRef:function(r){var s=Vn();return r={current:r},s.memoizedState=r},useState:Hh,useDebugValue:gc,useDeferredValue:function(r){return Vn().memoizedState=r},useTransition:function(){var r=Hh(!1),s=r[0];return r=wx.bind(null,r[1]),Vn().memoizedState=r,[s,r]},useMutableSource:function(){},useSyncExternalStore:function(r,s,o){var l=ot,d=Vn();if(st){if(o===void 0)throw Error(t(407));o=o()}else{if(o=s(),xt===null)throw Error(t(349));(xs&30)!==0||$h(l,s,o)}d.memoizedState=o;var p={value:o,getSnapshot:s};return d.queue=p,Yh(zh.bind(null,l,p,r),[r]),l.flags|=2048,po(9,Ph.bind(null,l,p,o,s),void 0,null),o},useId:function(){var r=Vn(),s=xt.identifierPrefix;if(st){var o=ur,l=lr;o=(l&~(1<<32-wn(l)-1)).toString(32)+o,s=":"+s+"R"+o,o=fo++,0<\/script>",r=r.removeChild(r.firstChild)):typeof l.is=="string"?r=y.createElement(o,{is:l.is}):(r=y.createElement(o),o==="select"&&(y=r,l.multiple?y.multiple=!0:l.size&&(y.size=l.size))):r=y.createElementNS(r,o),r[Pn]=s,r[so]=l,Np(r,s,!1,!1),s.stateNode=r;e:{switch(y=uu(o,l),o){case"dialog":Xe("cancel",r),Xe("close",r),d=l;break;case"iframe":case"object":case"embed":Xe("load",r),d=l;break;case"video":case"audio":for(d=0;dii&&(s.flags|=128,l=!0,mo(p,!1),s.lanes=4194304)}else{if(!l)if(r=Ma(y),r!==null){if(s.flags|=128,l=!0,o=r.updateQueue,o!==null&&(s.updateQueue=o,s.flags|=4),mo(p,!0),p.tail===null&&p.tailMode==="hidden"&&!y.alternate&&!st)return It(s),null}else 2*ct()-p.renderingStartTime>ii&&o!==1073741824&&(s.flags|=128,l=!0,mo(p,!1),s.lanes=4194304);p.isBackwards?(y.sibling=s.child,s.child=y):(o=p.last,o!==null?o.sibling=y:s.child=y,p.last=y)}return p.tail!==null?(s=p.tail,p.rendering=s,p.tail=s.sibling,p.renderingStartTime=ct(),s.sibling=null,o=it.current,qe(it,l?o&1|2:o&1),s):(It(s),null);case 22:case 23:return Pc(),l=s.memoizedState!==null,r!==null&&r.memoizedState!==null!==l&&(s.flags|=8192),l&&(s.mode&1)!==0?(Jt&1073741824)!==0&&(It(s),s.subtreeFlags&6&&(s.flags|=8192)):It(s),null;case 24:return null;case 25:return null}throw Error(t(156,s.tag))}function Ox(r,s){switch(Ju(s),s.tag){case 1:return Et(s.type)&&ga(),r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 3:return ti(),et(Bt),et(jt),uc(),r=s.flags,(r&65536)!==0&&(r&128)===0?(s.flags=r&-65537|128,s):null;case 5:return ac(s),null;case 13:if(et(it),r=s.memoizedState,r!==null&&r.dehydrated!==null){if(s.alternate===null)throw Error(t(340));qs()}return r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 19:return et(it),null;case 4:return ti(),null;case 10:return nc(s.type._context),null;case 22:case 23:return Pc(),null;case 24:return null;default:return null}}var Ra=!1,Mt=!1,Tx=typeof WeakSet=="function"?WeakSet:Set,le=null;function ri(r,s){var o=r.ref;if(o!==null)if(typeof o=="function")try{o(null)}catch(l){ut(r,s,l)}else o.current=null}function Dc(r,s,o){try{o()}catch(l){ut(r,s,l)}}var Ip=!1;function Ax(r,s){if(Pu=ra,r=ih(),Tu(r)){if("selectionStart"in r)var o={start:r.selectionStart,end:r.selectionEnd};else e:{o=(o=r.ownerDocument)&&o.defaultView||window;var l=o.getSelection&&o.getSelection();if(l&&l.rangeCount!==0){o=l.anchorNode;var d=l.anchorOffset,p=l.focusNode;l=l.focusOffset;try{o.nodeType,p.nodeType}catch{o=null;break e}var y=0,S=-1,N=-1,P=0,J=0,q=r,K=null;t:for(;;){for(var oe;q!==o||d!==0&&q.nodeType!==3||(S=y+d),q!==p||l!==0&&q.nodeType!==3||(N=y+l),q.nodeType===3&&(y+=q.nodeValue.length),(oe=q.firstChild)!==null;)K=q,q=oe;for(;;){if(q===r)break t;if(K===o&&++P===d&&(S=y),K===p&&++J===l&&(N=y),(oe=q.nextSibling)!==null)break;q=K,K=q.parentNode}q=oe}o=S===-1||N===-1?null:{start:S,end:N}}else o=null}o=o||{start:0,end:0}}else o=null;for(zu={focusedElem:r,selectionRange:o},ra=!1,le=s;le!==null;)if(s=le,r=s.child,(s.subtreeFlags&1028)!==0&&r!==null)r.return=s,le=r;else for(;le!==null;){s=le;try{var ce=s.alternate;if((s.flags&1024)!==0)switch(s.tag){case 0:case 11:case 15:break;case 1:if(ce!==null){var de=ce.memoizedProps,dt=ce.memoizedState,B=s.stateNode,k=B.getSnapshotBeforeUpdate(s.elementType===s.type?de:Nn(s.type,de),dt);B.__reactInternalSnapshotBeforeUpdate=k}break;case 3:var $=s.stateNode.containerInfo;$.nodeType===1?$.textContent="":$.nodeType===9&&$.documentElement&&$.removeChild($.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(t(163))}}catch(Z){ut(s,s.return,Z)}if(r=s.sibling,r!==null){r.return=s.return,le=r;break}le=s.return}return ce=Ip,Ip=!1,ce}function yo(r,s,o){var l=s.updateQueue;if(l=l!==null?l.lastEffect:null,l!==null){var d=l=l.next;do{if((d.tag&r)===r){var p=d.destroy;d.destroy=void 0,p!==void 0&&Dc(s,o,p)}d=d.next}while(d!==l)}}function La(r,s){if(s=s.updateQueue,s=s!==null?s.lastEffect:null,s!==null){var o=s=s.next;do{if((o.tag&r)===r){var l=o.create;o.destroy=l()}o=o.next}while(o!==s)}}function Cc(r){var s=r.ref;if(s!==null){var o=r.stateNode;switch(r.tag){case 5:r=o;break;default:r=o}typeof s=="function"?s(r):s.current=r}}function Mp(r){var s=r.alternate;s!==null&&(r.alternate=null,Mp(s)),r.child=null,r.deletions=null,r.sibling=null,r.tag===5&&(s=r.stateNode,s!==null&&(delete s[Pn],delete s[so],delete s[Gu],delete s[yx],delete s[gx])),r.stateNode=null,r.return=null,r.dependencies=null,r.memoizedProps=null,r.memoizedState=null,r.pendingProps=null,r.stateNode=null,r.updateQueue=null}function Dp(r){return r.tag===5||r.tag===3||r.tag===4}function Cp(r){e:for(;;){for(;r.sibling===null;){if(r.return===null||Dp(r.return))return null;r=r.return}for(r.sibling.return=r.return,r=r.sibling;r.tag!==5&&r.tag!==6&&r.tag!==18;){if(r.flags&2||r.child===null||r.tag===4)continue e;r.child.return=r,r=r.child}if(!(r.flags&2))return r.stateNode}}function Fc(r,s,o){var l=r.tag;if(l===5||l===6)r=r.stateNode,s?o.nodeType===8?o.parentNode.insertBefore(r,s):o.insertBefore(r,s):(o.nodeType===8?(s=o.parentNode,s.insertBefore(r,o)):(s=o,s.appendChild(r)),o=o._reactRootContainer,o!=null||s.onclick!==null||(s.onclick=ma));else if(l!==4&&(r=r.child,r!==null))for(Fc(r,s,o),r=r.sibling;r!==null;)Fc(r,s,o),r=r.sibling}function Oc(r,s,o){var l=r.tag;if(l===5||l===6)r=r.stateNode,s?o.insertBefore(r,s):o.appendChild(r);else if(l!==4&&(r=r.child,r!==null))for(Oc(r,s,o),r=r.sibling;r!==null;)Oc(r,s,o),r=r.sibling}var St=null,jn=!1;function Wr(r,s,o){for(o=o.child;o!==null;)Fp(r,s,o),o=o.sibling}function Fp(r,s,o){if($n&&typeof $n.onCommitFiberUnmount=="function")try{$n.onCommitFiberUnmount(qo,o)}catch{}switch(o.tag){case 5:Mt||ri(o,s);case 6:var l=St,d=jn;St=null,Wr(r,s,o),St=l,jn=d,St!==null&&(jn?(r=St,o=o.stateNode,r.nodeType===8?r.parentNode.removeChild(o):r.removeChild(o)):St.removeChild(o.stateNode));break;case 18:St!==null&&(jn?(r=St,o=o.stateNode,r.nodeType===8?Hu(r.parentNode,o):r.nodeType===1&&Hu(r,o),Yi(r)):Hu(St,o.stateNode));break;case 4:l=St,d=jn,St=o.stateNode.containerInfo,jn=!0,Wr(r,s,o),St=l,jn=d;break;case 0:case 11:case 14:case 15:if(!Mt&&(l=o.updateQueue,l!==null&&(l=l.lastEffect,l!==null))){d=l=l.next;do{var p=d,y=p.destroy;p=p.tag,y!==void 0&&((p&2)!==0||(p&4)!==0)&&Dc(o,s,y),d=d.next}while(d!==l)}Wr(r,s,o);break;case 1:if(!Mt&&(ri(o,s),l=o.stateNode,typeof l.componentWillUnmount=="function"))try{l.props=o.memoizedProps,l.state=o.memoizedState,l.componentWillUnmount()}catch(S){ut(o,s,S)}Wr(r,s,o);break;case 21:Wr(r,s,o);break;case 22:o.mode&1?(Mt=(l=Mt)||o.memoizedState!==null,Wr(r,s,o),Mt=l):Wr(r,s,o);break;default:Wr(r,s,o)}}function Op(r){var s=r.updateQueue;if(s!==null){r.updateQueue=null;var o=r.stateNode;o===null&&(o=r.stateNode=new Tx),s.forEach(function(l){var d=Vx.bind(null,r,l);o.has(l)||(o.add(l),l.then(d,d))})}}function kn(r,s){var o=s.deletions;if(o!==null)for(var l=0;ld&&(d=y),l&=~p}if(l=d,l=ct()-l,l=(120>l?120:480>l?480:1080>l?1080:1920>l?1920:3e3>l?3e3:4320>l?4320:1960*Ex(l/1960))-l,10r?16:r,Gr===null)var l=!1;else{if(r=Gr,Gr=null,Va=0,(Pe&6)!==0)throw Error(t(331));var d=Pe;for(Pe|=4,le=r.current;le!==null;){var p=le,y=p.child;if((le.flags&16)!==0){var S=p.deletions;if(S!==null){for(var N=0;Nct()-Bc?Ss(r,0):Ac|=o),Ut(r,s)}function Hp(r,s){s===0&&((r.mode&1)===0?s=1:(s=Xo,Xo<<=1,(Xo&130023424)===0&&(Xo=4194304)));var o=Ft();r=cr(r,s),r!==null&&(zi(r,s,o),Ut(r,o))}function zx(r){var s=r.memoizedState,o=0;s!==null&&(o=s.retryLane),Hp(r,o)}function Vx(r,s){var o=0;switch(r.tag){case 13:var l=r.stateNode,d=r.memoizedState;d!==null&&(o=d.retryLane);break;case 19:l=r.stateNode;break;default:throw Error(t(314))}l!==null&&l.delete(s),Hp(r,o)}var Gp;Gp=function(r,s,o){if(r!==null)if(r.memoizedProps!==s.pendingProps||Bt.current)Rt=!0;else{if((r.lanes&o)===0&&(s.flags&128)===0)return Rt=!1,Cx(r,s,o);Rt=(r.flags&131072)!==0}else Rt=!1,st&&(s.flags&1048576)!==0&&jh(s,wa,s.index);switch(s.lanes=0,s.tag){case 2:var l=s.type;Ea(r,s),r=s.pendingProps;var d=Qs(s,jt.current);ei(s,o),d=fc(null,s,l,r,d,o);var p=hc();return s.flags|=1,typeof d=="object"&&d!==null&&typeof d.render=="function"&&d.$$typeof===void 0?(s.tag=1,s.memoizedState=null,s.updateQueue=null,Et(l)?(p=!0,va(s)):p=!1,s.memoizedState=d.state!==null&&d.state!==void 0?d.state:null,ic(s),d.updater=Aa,s.stateNode=d,d._reactInternals=s,xc(s,l,r,o),s=_c(null,s,l,!0,p,o)):(s.tag=0,st&&p&&Ku(s),Ct(null,s,d,o),s=s.child),s;case 16:l=s.elementType;e:{switch(Ea(r,s),r=s.pendingProps,d=l._init,l=d(l._payload),s.type=l,d=s.tag=Hx(l),r=Nn(l,r),d){case 0:s=Sc(null,s,l,r,o);break e;case 1:s=vp(null,s,l,r,o);break e;case 11:s=hp(null,s,l,r,o);break e;case 14:s=pp(null,s,l,Nn(l.type,r),o);break e}throw Error(t(306,l,""))}return s;case 0:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),Sc(r,s,l,d,o);case 1:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),vp(r,s,l,d,o);case 3:e:{if(xp(s),r===null)throw Error(t(387));l=s.pendingProps,p=s.memoizedState,d=p.element,Ah(r,s),Ia(s,l,null,o);var y=s.memoizedState;if(l=y.element,p.isDehydrated)if(p={element:l,isDehydrated:!1,cache:y.cache,pendingSuspenseBoundaries:y.pendingSuspenseBoundaries,transitions:y.transitions},s.updateQueue.baseState=p,s.memoizedState=p,s.flags&256){d=ni(Error(t(423)),s),s=bp(r,s,l,o,d);break e}else if(l!==d){d=ni(Error(t(424)),s),s=bp(r,s,l,o,d);break e}else for(Kt=Lr(s.stateNode.containerInfo.firstChild),Qt=s,st=!0,_n=null,o=Oh(s,null,l,o),s.child=o;o;)o.flags=o.flags&-3|4096,o=o.sibling;else{if(qs(),l===d){s=fr(r,s,o);break e}Ct(r,s,l,o)}s=s.child}return s;case 5:return Rh(s),r===null&&Zu(s),l=s.type,d=s.pendingProps,p=r!==null?r.memoizedProps:null,y=d.children,Vu(l,d)?y=null:p!==null&&Vu(l,p)&&(s.flags|=32),gp(r,s),Ct(r,s,y,o),s.child;case 6:return r===null&&Zu(s),null;case 13:return wp(r,s,o);case 4:return oc(s,s.stateNode.containerInfo),l=s.pendingProps,r===null?s.child=Zs(s,null,l,o):Ct(r,s,l,o),s.child;case 11:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),hp(r,s,l,d,o);case 7:return Ct(r,s,s.pendingProps,o),s.child;case 8:return Ct(r,s,s.pendingProps.children,o),s.child;case 12:return Ct(r,s,s.pendingProps.children,o),s.child;case 10:e:{if(l=s.type._context,d=s.pendingProps,p=s.memoizedProps,y=d.value,qe(Na,l._currentValue),l._currentValue=y,p!==null)if(Sn(p.value,y)){if(p.children===d.children&&!Bt.current){s=fr(r,s,o);break e}}else for(p=s.child,p!==null&&(p.return=s);p!==null;){var S=p.dependencies;if(S!==null){y=p.child;for(var N=S.firstContext;N!==null;){if(N.context===l){if(p.tag===1){N=dr(-1,o&-o),N.tag=2;var P=p.updateQueue;if(P!==null){P=P.shared;var J=P.pending;J===null?N.next=N:(N.next=J.next,J.next=N),P.pending=N}}p.lanes|=o,N=p.alternate,N!==null&&(N.lanes|=o),rc(p.return,o,s),S.lanes|=o;break}N=N.next}}else if(p.tag===10)y=p.type===s.type?null:p.child;else if(p.tag===18){if(y=p.return,y===null)throw Error(t(341));y.lanes|=o,S=y.alternate,S!==null&&(S.lanes|=o),rc(y,o,s),y=p.sibling}else y=p.child;if(y!==null)y.return=p;else for(y=p;y!==null;){if(y===s){y=null;break}if(p=y.sibling,p!==null){p.return=y.return,y=p;break}y=y.return}p=y}Ct(r,s,d.children,o),s=s.child}return s;case 9:return d=s.type,l=s.pendingProps.children,ei(s,o),d=sn(d),l=l(d),s.flags|=1,Ct(r,s,l,o),s.child;case 14:return l=s.type,d=Nn(l,s.pendingProps),d=Nn(l.type,d),pp(r,s,l,d,o);case 15:return mp(r,s,s.type,s.pendingProps,o);case 17:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),Ea(r,s),s.tag=1,Et(l)?(r=!0,va(s)):r=!1,ei(s,o),op(s,l,d),xc(s,l,d,o),_c(null,s,l,!0,r,o);case 19:return _p(r,s,o);case 22:return yp(r,s,o)}throw Error(t(156,s.tag))};function Yp(r,s){return kf(r,s)}function Wx(r,s,o,l){this.tag=r,this.key=o,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ln(r,s,o,l){return new Wx(r,s,o,l)}function Vc(r){return r=r.prototype,!(!r||!r.isReactComponent)}function Hx(r){if(typeof r=="function")return Vc(r)?1:0;if(r!=null){if(r=r.$$typeof,r===ee)return 11;if(r===ae)return 14}return 2}function Kr(r,s){var o=r.alternate;return o===null?(o=ln(r.tag,s,r.key,r.mode),o.elementType=r.elementType,o.type=r.type,o.stateNode=r.stateNode,o.alternate=r,r.alternate=o):(o.pendingProps=s,o.type=r.type,o.flags=0,o.subtreeFlags=0,o.deletions=null),o.flags=r.flags&14680064,o.childLanes=r.childLanes,o.lanes=r.lanes,o.child=r.child,o.memoizedProps=r.memoizedProps,o.memoizedState=r.memoizedState,o.updateQueue=r.updateQueue,s=r.dependencies,o.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},o.sibling=r.sibling,o.index=r.index,o.ref=r.ref,o}function Ya(r,s,o,l,d,p){var y=2;if(l=r,typeof r=="function")Vc(r)&&(y=1);else if(typeof r=="string")y=5;else e:switch(r){case U:return Ns(o.children,d,p,s);case G:y=8,d|=8;break;case V:return r=ln(12,o,s,d|2),r.elementType=V,r.lanes=p,r;case X:return r=ln(13,o,s,d),r.elementType=X,r.lanes=p,r;case ie:return r=ln(19,o,s,d),r.elementType=ie,r.lanes=p,r;case se:return Qa(o,d,p,s);default:if(typeof r=="object"&&r!==null)switch(r.$$typeof){case Q:y=10;break e;case z:y=9;break e;case ee:y=11;break e;case ae:y=14;break e;case re:y=16,l=null;break e}throw Error(t(130,r==null?r:typeof r,""))}return s=ln(y,o,s,d),s.elementType=r,s.type=l,s.lanes=p,s}function Ns(r,s,o,l){return r=ln(7,r,l,s),r.lanes=o,r}function Qa(r,s,o,l){return r=ln(22,r,l,s),r.elementType=se,r.lanes=o,r.stateNode={isHidden:!1},r}function Wc(r,s,o){return r=ln(6,r,null,s),r.lanes=o,r}function Hc(r,s,o){return s=ln(4,r.children!==null?r.children:[],r.key,s),s.lanes=o,s.stateNode={containerInfo:r.containerInfo,pendingChildren:null,implementation:r.implementation},s}function Gx(r,s,o,l,d){this.tag=s,this.containerInfo=r,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=vu(0),this.expirationTimes=vu(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=vu(0),this.identifierPrefix=l,this.onRecoverableError=d,this.mutableSourceEagerHydrationData=null}function Gc(r,s,o,l,d,p,y,S,N){return r=new Gx(r,s,o,S,N),s===1?(s=1,p===!0&&(s|=8)):s=0,p=ln(3,null,null,s),r.current=p,p.stateNode=r,p.memoizedState={element:l,isDehydrated:o,cache:null,transitions:null,pendingSuspenseBoundaries:null},ic(p),r}function Yx(r,s,o){var l=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}return n(),Zc.exports=ob(),Zc.exports}var am;function lb(){if(am)return tl;am=1;var n=ab();return tl.createRoot=n.createRoot,tl.hydrateRoot=n.hydrateRoot,tl}var ub=lb();function Sr(n){return n.split(".").at(-1)||n}function Fn(n,e){const t=Sr(n);if(e.filter(a=>Sr(a)===t).length<2)return t;const i=n.indexOf(".");return i>0?`${n.slice(0,i)}_${t}`:t}const er="\0__null__";function cb(n){return String(n||"").replaceAll("_"," ").replaceAll("."," ").replace(/\b\w/g,e=>e.toUpperCase()).trim()}function py(n,e={}){if(n==null||n==="")return"—";const t=typeof n=="number"?n:Number(n);if(!Number.isFinite(t))return String(n);const i=String(e.format||"").toLowerCase();if(e.style==="percent"||i.includes("%")||i.includes("percent")||i.includes("pct")||e.type==="ratio")return(e.style==="percent"?t:Math.abs(t)<=1?t*100:t).toLocaleString(void 0,{maximumFractionDigits:e.maximumFractionDigits??1,style:e.style==="percent"?"percent":"decimal"})+(e.style==="percent"?"":"%");const u=e.style==="currency"||e.currency||i.includes("$")||i.includes("usd")||i.includes("currency")||i.includes("dollar");return t.toLocaleString(void 0,{currency:u?e.currency||"USD":void 0,maximumFractionDigits:e.maximumFractionDigits??2,notation:e.compact?"compact":"standard",style:u?"currency":"decimal"})}function db(n,e={}){return py(n,{...e,compact:!0,maximumFractionDigits:e.maximumFractionDigits??1})}function fb(n,e,t){const i=t>0&&n.length>t,a=i?Math.ceil(n.length/t):1,u=Math.max(0,Math.min(e,a-1)),f=i?u*t:0;return{paginate:i,pageCount:a,safePage:u,start:f,visibleRows:i?n.slice(f,f+t):n}}function rs(n){return n===er||n===""?"—":n}function Le(n){return cb(n)}function pt(n,e={}){return py(n,e)}function Wt(n,e={}){return db(n,e)}function my(n){return!Number.isFinite(n)||n===0?"neutral":n>0?"positive":"negative"}function hb(n,e){return!Number.isFinite(n)||!Number.isFinite(e)||e<=0?{label:"—",tone:"neutral"}:{label:`${(n/e*100).toLocaleString(void 0,{maximumFractionDigits:1})}%`,tone:"neutral"}}function pb(n,e,t={}){if(e==null||!Number.isFinite(e)||!Number.isFinite(n))return{label:"—",tone:"neutral"};const i=n-e;return{label:`${i>0?"+":i<0?"−":""}${Wt(Math.abs(i),t)}`,tone:my(i)}}function mb(n,e){if(e==null||!Number.isFinite(e)||e===0||!Number.isFinite(n))return{label:"—",tone:"neutral"};const t=(n-e)/Math.abs(e);return{label:`${(t*100).toLocaleString(void 0,{maximumFractionDigits:1,signDisplay:"exceptZero"})}%`,tone:my(t)}}function yy(n,e){if(e==null||!Number.isFinite(e)||e===0||!Number.isFinite(n))return null;const t=(n-e)/Math.abs(e),i=(t*100).toLocaleString(void 0,{maximumFractionDigits:1,signDisplay:"exceptZero"}),a=t>0?"positive":t<0?"negative":"neutral";return{label:`${i}%`,tone:a}}function Tn(n){return`'${n.replaceAll("'","''")}'`}function yb(n){if(n.mode==="contains")return`contains ${Tn(n.pattern??"")}`;const{values:e}=n,t=n.mode==="exclude"?"is not":"is";return e.length===0?t:e.length===1?`${t} ${rs(e[0])}`:e.length<=2?`${t} ${e.map(rs).join(", ")}`:`${t} ${e.length} values`}const td=n=>n.public!==!1,gy=/(^|_)(date|time|day|month|week|year|quarter|created|updated|timestamp|_at|_on)($|_)/i;function vy(n,e){if(e){const t=n.find(i=>i.name===e);if(t)return t}return n.find(t=>t.type==="time")??n.find(t=>gy.test(t.name))}function gb(n,e){var f;const t=new Set;if(!n)return t;const i=new Set(e.map(h=>h.name)),a=n.match(/[A-Za-z_][A-Za-z0-9_]*\.[A-Za-z_][A-Za-z0-9_]*/g)??[];for(const h of a){const[m]=h.split(".");i.has(m)&&t.add(m)}if(t.size)return t;const u=(f=n.match(/^[A-Za-z_][A-Za-z0-9_]*$/))==null?void 0:f[0];if(!u)return t;for(const h of e)h.metrics.some(m=>m.name===u)&&t.add(h.name);return t}function xy(n,e){const t=new Set;for(const i of[n.base_metric,n.numerator,n.denominator,n.sql])for(const a of gb(i,e))t.add(a);return t.size===1?[...t][0]:void 0}function vb(n){const e=(n.models??[]).map(i=>{const a=(i.dimensions??[]).filter(td).map(h=>({ref:`${i.name}.${h.name}`,name:h.name,model:i.name,label:h.label||Le(h.name),description:h.description,type:h.type||"categorical",granularity:h.granularity,supportedGranularities:h.supported_granularities,format:h.format})),u=(i.metrics??[]).filter(td).map(h=>({ref:`${i.name}.${h.name}`,name:h.name,model:i.name,label:h.label||Le(h.name),description:h.description,agg:h.agg,type:h.type,format:h.format})),f=vy(a,i.default_time_dimension);return{name:i.name,label:Le(i.name),description:i.description,table:i.table,dimensions:a,metrics:u,timeDimension:f,defaultGrain:i.default_grain||(f==null?void 0:f.granularity)||"day"}}),t=(n.metrics??[]).filter(td).map(i=>({ref:i.name,name:i.name,ownerModel:xy(i,e),baseMetric:i.base_metric,label:i.label||Le(i.name),description:i.description,type:i.type,format:i.format}));return{models:e,graphMetrics:t,dialect:n.dialect}}function xb(n){const e=n??{},t=(e.models??[]).map(a=>{const u=(a.dimensions??[]).map(m=>({ref:`${a.name}.${m}`,name:m,model:a.name,label:Le(m),type:gy.test(m)?"time":"categorical"})),f=(a.metrics??[]).map(m=>({ref:`${a.name}.${m}`,name:m,model:a.name,label:Le(m)})),h=vy(u);return{name:a.name,label:Le(a.name),table:a.table,dimensions:u,metrics:f,timeDimension:h,defaultGrain:(h==null?void 0:h.granularity)||"day"}}),i=(e.graph_metrics??[]).map(a=>({ref:a.name,name:a.name,ownerModel:xy(a,t),baseMetric:a.base_metric,label:Le(a.name),type:a.type,description:a.description}));return{models:t,graphMetrics:i,joinablePairs:e.joinable_pairs??[]}}function bb(n,e){return{...n,joinablePairs:(e??{}).joinable_pairs??n.joinablePairs??[]}}function ji(n,e){const t=new Set;for(const i of n.joinablePairs??[])i.from===e&&t.add(i.to),i.to===e&&t.add(i.from);return n.graphMetrics.filter(i=>i.ownerModel?i.ownerModel===e||t.has(i.ownerModel):!0)}function Fe(n,e,t,i){function a(u){return u instanceof t?u:new t(function(f){f(u)})}return new(t||(t=Promise))(function(u,f){function h(v){try{g(i.next(v))}catch(x){f(x)}}function m(v){try{g(i.throw(v))}catch(x){f(x)}}function g(v){v.done?u(v.value):a(v.value).then(h,m)}g((i=i.apply(n,e||[])).next())})}function lm(n){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&n[e],i=0;if(t)return t.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Ae(n){return this instanceof Ae?(this.v=n,this):new Ae(n)}function qn(n,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(n,e||[]),a,u=[];return a=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),h("next"),h("throw"),h("return",f),a[Symbol.asyncIterator]=function(){return this},a;function f(w){return function(j){return Promise.resolve(j).then(w,x)}}function h(w,j){i[w]&&(a[w]=function(C){return new Promise(function(O,H){u.push([w,C,O,H])>1||m(w,C)})},j&&(a[w]=j(a[w])))}function m(w,j){try{g(i[w](j))}catch(C){b(u[0][3],C)}}function g(w){w.value instanceof Ae?Promise.resolve(w.value.v).then(v,x):b(u[0][2],w)}function v(w){m("next",w)}function x(w){m("throw",w)}function b(w,j){w(j),u.shift(),u.length&&m(u[0][0],u[0][1])}}function fl(n){var e,t;return e={},i("next"),i("throw",function(a){throw a}),i("return"),e[Symbol.iterator]=function(){return this},e;function i(a,u){e[a]=n[a]?function(f){return(t=!t)?{value:Ae(n[a](f)),done:!1}:u?u(f):f}:u}}function xi(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=n[Symbol.asyncIterator],t;return e?e.call(n):(n=typeof lm=="function"?lm(n):n[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(u){t[u]=n[u]&&function(f){return new Promise(function(h,m){f=n[u](f),a(h,m,f.done,f.value)})}}function a(u,f,h,m){Promise.resolve(m).then(function(g){u({value:g,done:h})},f)}}const wb=new TextDecoder("utf-8"),xd=n=>wb.decode(n),Sb=new TextEncoder,Bd=n=>Sb.encode(n),_b=n=>typeof n=="number",Nb=n=>typeof n=="boolean",Ot=n=>typeof n=="function",En=n=>n!=null&&Object(n)===n,Ao=n=>En(n)&&Ot(n.then),nu=n=>En(n)&&Ot(n[Symbol.iterator]),Ed=n=>En(n)&&Ot(n[Symbol.asyncIterator]),bd=n=>En(n)&&En(n.schema),by=n=>En(n)&&"done"in n&&"value"in n,wy=n=>En(n)&&Ot(n.stat)&&_b(n.fd),Sy=n=>En(n)&&Rd(n.body),_y=n=>"_getDOMStream"in n&&"_getNodeStream"in n,Rd=n=>En(n)&&Ot(n.cancel)&&Ot(n.getReader)&&!_y(n),Ny=n=>En(n)&&Ot(n.read)&&Ot(n.pipe)&&Nb(n.readable)&&!_y(n),jb=n=>En(n)&&Ot(n.clear)&&Ot(n.bytes)&&Ot(n.position)&&Ot(n.setPosition)&&Ot(n.capacity)&&Ot(n.getBufferIdentifier)&&Ot(n.createLong),Ld=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;function kb(n){const e=n[0]?[n[0]]:[];let t,i,a,u;for(let f,h,m=0,g=0,v=n.length;++mv+x.byteLength,0);let a,u,f,h=0,m=-1;const g=Math.min(e||Number.POSITIVE_INFINITY,i);for(const v=t.length;++mKe(Int32Array,n),cm=n=>Ke(BigInt64Array,n),$e=n=>Ke(Uint8Array,n),wd=n=>(n.next(),n);function*Ib(n,e){const t=function*(a){yield a},i=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof Ld?t(e):nu(e)?e:t(e);return yield*wd((function*(a){let u=null;do u=a.next(yield Ke(n,u));while(!u.done)})(i[Symbol.iterator]())),new n}const Mb=n=>Ib(Uint8Array,n);function jy(n,e){return qn(this,arguments,function*(){if(Ao(e))return yield Ae(yield Ae(yield*fl(xi(jy(n,yield Ae(e))))));const i=function(f){return qn(this,arguments,function*(){yield yield Ae(yield Ae(f))})},a=function(f){return qn(this,arguments,function*(){yield Ae(yield*fl(xi(wd((function*(h){let m=null;do m=h.next(yield m==null?void 0:m.value);while(!m.done)})(f[Symbol.iterator]())))))})},u=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof Ld?i(e):nu(e)?a(e):Ed(e)?e:i(e);return yield Ae(yield*fl(xi(wd((function(f){return qn(this,arguments,function*(){let h=null;do h=yield Ae(f.next(yield yield Ae(Ke(n,h))));while(!h.done)})})(u[Symbol.asyncIterator]()))))),yield Ae(new n)})}const Db=n=>jy(Uint8Array,n);function Cb(n,e){let t=0;const i=n.length;if(i!==e.length)return!1;if(i>0)do if(n[t]!==e[t])return!1;while(++t(n.next(),n);function*Fb(n){let e,t=!1,i=[],a,u,f,h=0;function m(){return u==="peek"?tr(i,f)[0]:([a,i,h]=tr(i,f),a)}({cmd:u,size:f}=(yield null)||{cmd:"read",size:0});const g=Mb(n)[Symbol.iterator]();try{do if({done:e,value:a}=Number.isNaN(f-h)?g.next():g.next(f-h),!e&&a.byteLength>0&&(i.push(a),h+=a.byteLength),e||f<=h)do({cmd:u,size:f}=yield m());while(f0&&(a.push(u),m+=u.byteLength),t||h<=m)do({cmd:f,size:h}=yield yield Ae(g()));while(h0&&(a.push($e(u)),m+=u.byteLength),t||h<=m)do({cmd:f,size:h}=yield yield Ae(g()));while(h{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(e){return Fe(this,void 0,void 0,function*(){const{reader:t,source:i}=this;t&&(yield t.cancel(e).catch(()=>{})),i&&i.locked&&this.releaseLock()})}read(e){return Fe(this,void 0,void 0,function*(){if(e===0)return{done:this.reader==null,value:new Uint8Array(0)};const t=yield this.reader.read();return!t.done&&(t.value=$e(t)),t})}}const nd=(n,e)=>{const t=a=>i([e,a]);let i;return[e,t,new Promise(a=>(i=a)&&n.once(e,t))]};function Bb(n){return qn(this,arguments,function*(){const t=[];let i="error",a=!1,u=null,f,h,m=0,g=[],v;function x(){return f==="peek"?tr(g,h)[0]:([v,g,m]=tr(g,h),v)}if({cmd:f,size:h}=(yield yield Ae(null))||{cmd:"read",size:0},n.isTTY)return yield yield Ae(new Uint8Array(0)),yield Ae(null);try{t[0]=nd(n,"end"),t[1]=nd(n,"error");do{if(t[2]=nd(n,"readable"),[i,u]=yield Ae(Promise.race(t.map(w=>w[2]))),i==="error")break;if((a=i==="end")||(Number.isFinite(h-m)?(v=$e(n.read(h-m)),v.byteLength0&&(g.push(v),m+=v.byteLength)),a||h<=m)do({cmd:f,size:h}=yield yield Ae(x()));while(h{for(const[H,L]of w)n.off(H,L);try{const H=n.destroy;H&&H.call(n,j),j=void 0}catch(H){j=H||j}finally{j!=null?O(j):C()}})}})}var ht;(function(n){n[n.V1=0]="V1",n[n.V2=1]="V2",n[n.V3=2]="V3",n[n.V4=3]="V4",n[n.V5=4]="V5"})(ht||(ht={}));var Ht;(function(n){n[n.Sparse=0]="Sparse",n[n.Dense=1]="Dense"})(Ht||(Ht={}));var Dt;(function(n){n[n.HALF=0]="HALF",n[n.SINGLE=1]="SINGLE",n[n.DOUBLE=2]="DOUBLE"})(Dt||(Dt={}));var gn;(function(n){n[n.DAY=0]="DAY",n[n.MILLISECOND=1]="MILLISECOND"})(gn||(gn={}));var _e;(function(n){n[n.SECOND=0]="SECOND",n[n.MILLISECOND=1]="MILLISECOND",n[n.MICROSECOND=2]="MICROSECOND",n[n.NANOSECOND=3]="NANOSECOND"})(_e||(_e={}));var nr;(function(n){n[n.YEAR_MONTH=0]="YEAR_MONTH",n[n.DAY_TIME=1]="DAY_TIME",n[n.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(nr||(nr={}));const rd=2,Qn=4,br=4,He=4,es=new Int32Array(2),dm=new Float32Array(es.buffer),fm=new Float64Array(es.buffer),rl=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var Sd;(function(n){n[n.UTF8_BYTES=1]="UTF8_BYTES",n[n.UTF16_STRING=2]="UTF16_STRING"})(Sd||(Sd={}));let ki=class ky{constructor(e){this.bytes_=e,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(e){return new ky(new Uint8Array(e))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(e){this.position_=e}capacity(){return this.bytes_.length}readInt8(e){return this.readUint8(e)<<24>>24}readUint8(e){return this.bytes_[e]}readInt16(e){return this.readUint16(e)<<16>>16}readUint16(e){return this.bytes_[e]|this.bytes_[e+1]<<8}readInt32(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24}readUint32(e){return this.readInt32(e)>>>0}readInt64(e){return BigInt.asIntN(64,BigInt(this.readUint32(e))+(BigInt(this.readUint32(e+4))<>8}writeUint16(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8}writeInt32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeUint32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeInt64(e,t){this.writeInt32(e,Number(BigInt.asIntN(32,t))),this.writeInt32(e+4,Number(BigInt.asIntN(32,t>>BigInt(32))))}writeUint64(e,t){this.writeUint32(e,Number(BigInt.asUintN(32,t))),this.writeUint32(e+4,Number(BigInt.asUintN(32,t>>BigInt(32))))}writeFloat32(e,t){dm[0]=t,this.writeInt32(e,es[0])}writeFloat64(e,t){fm[0]=t,this.writeInt32(e,es[rl?0:1]),this.writeInt32(e+4,es[rl?1:0])}getBufferIdentifier(){if(this.bytes_.lengththis.minalign&&(this.minalign=e);const i=~(this.bb.capacity()-this.space+t)+1&e-1;for(;this.space=0&&this.vtable[t]==0;t--);const i=t+1;for(;t>=0;t--)this.addInt16(this.vtable[t]!=0?e-this.vtable[t]:0);const a=2;this.addInt16(e-this.object_start);const u=(i+a)*rd;this.addInt16(u);let f=0;const h=this.space;e:for(t=0;t=0;f--)this.writeInt8(u.charCodeAt(f))}this.prep(this.minalign,Qn+a),this.addOffset(e),a&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,t){this.finish(e,t,!0)}requiredField(e,t){const i=this.bb.capacity()-e,a=i-this.bb.readInt32(i);if(!(t=0;i--)e.addInt32(t[i]);return e.endVector()}static startTypeIdsVector(e,t){e.startVector(4,t,4)}static endUnion(e){return e.endObject()}static createUnion(e,t,i){return Vt.startUnion(e),Vt.addMode(e,t),Vt.addTypeIds(e,i),Vt.endUnion(e)}}let xm=class Fo{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsUtf8(e,t){return(t||new Fo).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsUtf8(e,t){return e.setPosition(e.position()+He),(t||new Fo).__init(e.readInt32(e.position())+e.position(),e)}static startUtf8(e){e.startObject(0)}static endUtf8(e){return e.endObject()}static createUtf8(e){return Fo.startUtf8(e),Fo.endUtf8(e)}};var Ze;(function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.FloatingPoint=3]="FloatingPoint",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct_=13]="Struct_",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Duration=18]="Duration",n[n.LargeBinary=19]="LargeBinary",n[n.LargeUtf8=20]="LargeUtf8",n[n.LargeList=21]="LargeList",n[n.RunEndEncoded=22]="RunEndEncoded"})(Ze||(Ze={}));let dn=class vl{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsField(e,t){return(t||new vl).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsField(e,t){return e.setPosition(e.position()+He),(t||new vl).__init(e.readInt32(e.position())+e.position(),e)}name(e){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__string(this.bb_pos+t,e):null}nullable(){const e=this.bb.__offset(this.bb_pos,6);return e?!!this.bb.readInt8(this.bb_pos+e):!1}typeType(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb_pos+e):Ze.NONE}type(e){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__union(e,this.bb_pos+t):null}dictionary(e){const t=this.bb.__offset(this.bb_pos,12);return t?(e||new wr).__init(this.bb.__indirect(this.bb_pos+t),this.bb):null}children(e,t){const i=this.bb.__offset(this.bb_pos,14);return i?(t||new vl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}childrenLength(){const e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,16);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}static startField(e){e.startObject(7)}static addName(e,t){e.addFieldOffset(0,t,0)}static addNullable(e,t){e.addFieldInt8(1,+t,0)}static addTypeType(e,t){e.addFieldInt8(2,t,Ze.NONE)}static addType(e,t){e.addFieldOffset(3,t,0)}static addDictionary(e,t){e.addFieldOffset(4,t,0)}static addChildren(e,t){e.addFieldOffset(5,t,0)}static createChildrenVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startChildrenVector(e,t){e.startVector(4,t,4)}static addCustomMetadata(e,t){e.addFieldOffset(6,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endField(e){return e.endObject()}},Gn=class mr{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsSchema(e,t){return(t||new mr).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsSchema(e,t){return e.setPosition(e.position()+He),(t||new mr).__init(e.readInt32(e.position())+e.position(),e)}endianness(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Ii.Little}fields(e,t){const i=this.bb.__offset(this.bb_pos,6);return i?(t||new dn).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}fieldsLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,8);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}features(e){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt64(this.bb.__vector(this.bb_pos+t)+e*8):BigInt(0)}featuresLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}static startSchema(e){e.startObject(4)}static addEndianness(e,t){e.addFieldInt16(0,t,Ii.Little)}static addFields(e,t){e.addFieldOffset(1,t,0)}static createFieldsVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startFieldsVector(e,t){e.startVector(4,t,4)}static addCustomMetadata(e,t){e.addFieldOffset(2,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static addFeatures(e,t){e.addFieldOffset(3,t,0)}static createFeaturesVector(e,t){e.startVector(8,t.length,8);for(let i=t.length-1;i>=0;i--)e.addInt64(t[i]);return e.endVector()}static startFeaturesVector(e,t){e.startVector(8,t,8)}static endSchema(e){return e.endObject()}static finishSchemaBuffer(e,t){e.finish(t)}static finishSizePrefixedSchemaBuffer(e,t){e.finish(t,void 0,!0)}static createSchema(e,t,i,a,u){return mr.startSchema(e),mr.addEndianness(e,t),mr.addFields(e,i),mr.addCustomMetadata(e,a),mr.addFeatures(e,u),mr.endSchema(e)}};var Ve;(function(n){n[n.NONE=0]="NONE",n[n.Schema=1]="Schema",n[n.DictionaryBatch=2]="DictionaryBatch",n[n.RecordBatch=3]="RecordBatch",n[n.Tensor=4]="Tensor",n[n.SparseTensor=5]="SparseTensor"})(Ve||(Ve={}));var M;(function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Duration=18]="Duration",n[n.LargeBinary=19]="LargeBinary",n[n.LargeUtf8=20]="LargeUtf8",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth",n[n.DurationSecond=-27]="DurationSecond",n[n.DurationMillisecond=-28]="DurationMillisecond",n[n.DurationMicrosecond=-29]="DurationMicrosecond",n[n.DurationNanosecond=-30]="DurationNanosecond"})(M||(M={}));var gr;(function(n){n[n.OFFSET=0]="OFFSET",n[n.DATA=1]="DATA",n[n.VALIDITY=2]="VALIDITY",n[n.TYPE=3]="TYPE"})(gr||(gr={}));const Eb=void 0;function Bo(n){if(n===null)return"null";if(n===Eb)return"undefined";switch(typeof n){case"number":return`${n}`;case"bigint":return`${n}`;case"string":return`"${n}"`}return typeof n[Symbol.toPrimitive]=="function"?n[Symbol.toPrimitive]("string"):ArrayBuffer.isView(n)?n instanceof BigInt64Array||n instanceof BigUint64Array?`[${[...n].map(e=>Bo(e))}]`:`[${n}]`:ArrayBuffer.isView(n)?`[${n}]`:JSON.stringify(n,(e,t)=>typeof t=="bigint"?`${t}`:t)}function tt(n){if(typeof n=="bigint"&&(nNumber.MAX_SAFE_INTEGER))throw new TypeError(`${n} is not safe to convert to a number.`);return Number(n)}function Fy(n,e){return tt(n/e)+tt(n%e)/tt(e)}const Rb=Symbol.for("isArrowBigNum");function Ln(n,...e){return e.length===0?Object.setPrototypeOf(Ke(this.TypedArray,n),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(n,...e),this.constructor.prototype)}Ln.prototype[Rb]=!0;Ln.prototype.toJSON=function(){return`"${Ro(this)}"`};Ln.prototype.valueOf=function(n){return Oy(this,n)};Ln.prototype.toString=function(){return Ro(this)};Ln.prototype[Symbol.toPrimitive]=function(n="default"){switch(n){case"number":return Oy(this);case"string":return Ro(this);case"default":return $b(this)}return Ro(this)};function bi(...n){return Ln.apply(this,n)}function wi(...n){return Ln.apply(this,n)}function Eo(...n){return Ln.apply(this,n)}Object.setPrototypeOf(bi.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(wi.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Eo.prototype,Object.create(Uint32Array.prototype));Object.assign(bi.prototype,Ln.prototype,{constructor:bi,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array});Object.assign(wi.prototype,Ln.prototype,{constructor:wi,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array});Object.assign(Eo.prototype,Ln.prototype,{constructor:Eo,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});const Lb=BigInt(4294967296)*BigInt(4294967296),Ub=Lb-BigInt(1);function Oy(n,e){const{buffer:t,byteOffset:i,byteLength:a,signed:u}=n,f=new BigUint64Array(t,i,a/8),h=u&&f.at(-1)&BigInt(1)<=0)return sd(n);e=e.slice();let i=1;for(let u=0;u(n.children=null,n.ArrayType=Array,n.OffsetArrayType=Int32Array,n[Symbol.toStringTag]="DataType"))(me.prototype);class ss extends me{constructor(){super(M.Null)}toString(){return"Null"}}Ay=Symbol.toStringTag;ss[Ay]=(n=>n[Symbol.toStringTag]="Null")(ss.prototype);class Ds extends me{constructor(e,t){super(M.Int),this.isSigned=e,this.bitWidth=t}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}By=Symbol.toStringTag;Ds[By]=(n=>(n.isSigned=null,n.bitWidth=null,n[Symbol.toStringTag]="Int"))(Ds.prototype);class Lo extends Ds{constructor(){super(!0,32)}get ArrayType(){return Int32Array}}Object.defineProperty(Lo.prototype,"ArrayType",{value:Int32Array});class jl extends me{constructor(e){super(M.Float),this.precision=e}get ArrayType(){switch(this.precision){case Dt.HALF:return Uint16Array;case Dt.SINGLE:return Float32Array;case Dt.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}}Ey=Symbol.toStringTag;jl[Ey]=(n=>(n.precision=null,n[Symbol.toStringTag]="Float"))(jl.prototype);class kl extends me{constructor(){super(M.Binary)}toString(){return"Binary"}}Ry=Symbol.toStringTag;kl[Ry]=(n=>(n.ArrayType=Uint8Array,n[Symbol.toStringTag]="Binary"))(kl.prototype);class Il extends me{constructor(){super(M.LargeBinary)}toString(){return"LargeBinary"}}Ly=Symbol.toStringTag;Il[Ly]=(n=>(n.ArrayType=Uint8Array,n.OffsetArrayType=BigInt64Array,n[Symbol.toStringTag]="LargeBinary"))(Il.prototype);class Ml extends me{constructor(){super(M.Utf8)}toString(){return"Utf8"}}Uy=Symbol.toStringTag;Ml[Uy]=(n=>(n.ArrayType=Uint8Array,n[Symbol.toStringTag]="Utf8"))(Ml.prototype);class Dl extends me{constructor(){super(M.LargeUtf8)}toString(){return"LargeUtf8"}}$y=Symbol.toStringTag;Dl[$y]=(n=>(n.ArrayType=Uint8Array,n.OffsetArrayType=BigInt64Array,n[Symbol.toStringTag]="LargeUtf8"))(Dl.prototype);class Cl extends me{constructor(){super(M.Bool)}toString(){return"Bool"}}Py=Symbol.toStringTag;Cl[Py]=(n=>(n.ArrayType=Uint8Array,n[Symbol.toStringTag]="Bool"))(Cl.prototype);class Fl extends me{constructor(e,t,i=128){super(M.Decimal),this.scale=e,this.precision=t,this.bitWidth=i}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}}zy=Symbol.toStringTag;Fl[zy]=(n=>(n.scale=null,n.precision=null,n.ArrayType=Uint32Array,n[Symbol.toStringTag]="Decimal"))(Fl.prototype);class Ol extends me{constructor(e){super(M.Date),this.unit=e}toString(){return`Date${(this.unit+1)*32}<${gn[this.unit]}>`}get ArrayType(){return this.unit===gn.DAY?Int32Array:BigInt64Array}}Vy=Symbol.toStringTag;Ol[Vy]=(n=>(n.unit=null,n[Symbol.toStringTag]="Date"))(Ol.prototype);class Tl extends me{constructor(e,t){super(M.Time),this.unit=e,this.bitWidth=t}toString(){return`Time${this.bitWidth}<${_e[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}}Wy=Symbol.toStringTag;Tl[Wy]=(n=>(n.unit=null,n.bitWidth=null,n[Symbol.toStringTag]="Time"))(Tl.prototype);class Al extends me{constructor(e,t){super(M.Timestamp),this.unit=e,this.timezone=t}toString(){return`Timestamp<${_e[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}}Hy=Symbol.toStringTag;Al[Hy]=(n=>(n.unit=null,n.timezone=null,n.ArrayType=BigInt64Array,n[Symbol.toStringTag]="Timestamp"))(Al.prototype);class Bl extends me{constructor(e){super(M.Interval),this.unit=e}toString(){return`Interval<${nr[this.unit]}>`}}Gy=Symbol.toStringTag;Bl[Gy]=(n=>(n.unit=null,n.ArrayType=Int32Array,n[Symbol.toStringTag]="Interval"))(Bl.prototype);class El extends me{constructor(e){super(M.Duration),this.unit=e}toString(){return`Duration<${_e[this.unit]}>`}}Yy=Symbol.toStringTag;El[Yy]=(n=>(n.unit=null,n.ArrayType=BigInt64Array,n[Symbol.toStringTag]="Duration"))(El.prototype);class Rl extends me{constructor(e){super(M.List),this.children=[e]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}}Qy=Symbol.toStringTag;Rl[Qy]=(n=>(n.children=null,n[Symbol.toStringTag]="List"))(Rl.prototype);class Tt extends me{constructor(e){super(M.Struct),this.children=e}toString(){return`Struct<{${this.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}Ky=Symbol.toStringTag;Tt[Ky]=(n=>(n.children=null,n[Symbol.toStringTag]="Struct"))(Tt.prototype);class Ll extends me{constructor(e,t,i){super(M.Union),this.mode=e,this.children=i,this.typeIds=t=Int32Array.from(t),this.typeIdToChildIndex=t.reduce((a,u,f)=>(a[u]=f)&&a||a,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(e=>`${e.type}`).join(" | ")}>`}}Jy=Symbol.toStringTag;Ll[Jy]=(n=>(n.mode=null,n.typeIds=null,n.children=null,n.typeIdToChildIndex=null,n.ArrayType=Int8Array,n[Symbol.toStringTag]="Union"))(Ll.prototype);class Ul extends me{constructor(e){super(M.FixedSizeBinary),this.byteWidth=e}toString(){return`FixedSizeBinary[${this.byteWidth}]`}}qy=Symbol.toStringTag;Ul[qy]=(n=>(n.byteWidth=null,n.ArrayType=Uint8Array,n[Symbol.toStringTag]="FixedSizeBinary"))(Ul.prototype);class $l extends me{constructor(e,t){super(M.FixedSizeList),this.listSize=e,this.children=[t]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}Zy=Symbol.toStringTag;$l[Zy]=(n=>(n.children=null,n.listSize=null,n[Symbol.toStringTag]="FixedSizeList"))($l.prototype);class Pl extends me{constructor(e,t=!1){var i,a,u;if(super(M.Map),this.children=[e],this.keysSorted=t,e&&(e.name="entries",!((i=e==null?void 0:e.type)===null||i===void 0)&&i.children)){const f=(a=e==null?void 0:e.type)===null||a===void 0?void 0:a.children[0];f&&(f.name="key");const h=(u=e==null?void 0:e.type)===null||u===void 0?void 0:u.children[1];h&&(h.name="value")}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}Xy=Symbol.toStringTag;Pl[Xy]=(n=>(n.children=null,n.keysSorted=null,n[Symbol.toStringTag]="Map_"))(Pl.prototype);const Pb=(n=>()=>++n)(-1);class Mi extends me{constructor(e,t,i,a){super(M.Dictionary),this.indices=t,this.dictionary=e,this.isOrdered=a||!1,this.id=i==null?Pb():tt(i)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}}eg=Symbol.toStringTag;Mi[eg]=(n=>(n.id=null,n.indices=null,n.isOrdered=null,n.dictionary=null,n[Symbol.toStringTag]="Dictionary"))(Mi.prototype);function vr(n){const e=n;switch(n.typeId){case M.Decimal:return n.bitWidth/32;case M.Interval:return 1+e.unit;case M.FixedSizeList:return e.listSize;case M.FixedSizeBinary:return e.byteWidth;default:return 1}}class Re{visitMany(e,...t){return e.map((i,a)=>this.visit(i,...t.map(u=>u[a])))}visit(...e){return this.getVisitFn(e[0],!1).apply(this,e)}getVisitFn(e,t=!0){return zb(this,e,t)}getVisitFnByTypeId(e,t=!0){return mi(this,e,t)}visitNull(e,...t){return null}visitBool(e,...t){return null}visitInt(e,...t){return null}visitFloat(e,...t){return null}visitUtf8(e,...t){return null}visitLargeUtf8(e,...t){return null}visitBinary(e,...t){return null}visitLargeBinary(e,...t){return null}visitFixedSizeBinary(e,...t){return null}visitDate(e,...t){return null}visitTimestamp(e,...t){return null}visitTime(e,...t){return null}visitDecimal(e,...t){return null}visitList(e,...t){return null}visitStruct(e,...t){return null}visitUnion(e,...t){return null}visitDictionary(e,...t){return null}visitInterval(e,...t){return null}visitDuration(e,...t){return null}visitFixedSizeList(e,...t){return null}visitMap(e,...t){return null}}function zb(n,e,t=!0){return typeof e=="number"?mi(n,e,t):typeof e=="string"&&e in M?mi(n,M[e],t):e&&e instanceof me?mi(n,bm(e),t):e!=null&&e.type&&e.type instanceof me?mi(n,bm(e.type),t):mi(n,M.NONE,t)}function mi(n,e,t=!0){let i=null;switch(e){case M.Null:i=n.visitNull;break;case M.Bool:i=n.visitBool;break;case M.Int:i=n.visitInt;break;case M.Int8:i=n.visitInt8||n.visitInt;break;case M.Int16:i=n.visitInt16||n.visitInt;break;case M.Int32:i=n.visitInt32||n.visitInt;break;case M.Int64:i=n.visitInt64||n.visitInt;break;case M.Uint8:i=n.visitUint8||n.visitInt;break;case M.Uint16:i=n.visitUint16||n.visitInt;break;case M.Uint32:i=n.visitUint32||n.visitInt;break;case M.Uint64:i=n.visitUint64||n.visitInt;break;case M.Float:i=n.visitFloat;break;case M.Float16:i=n.visitFloat16||n.visitFloat;break;case M.Float32:i=n.visitFloat32||n.visitFloat;break;case M.Float64:i=n.visitFloat64||n.visitFloat;break;case M.Utf8:i=n.visitUtf8;break;case M.LargeUtf8:i=n.visitLargeUtf8;break;case M.Binary:i=n.visitBinary;break;case M.LargeBinary:i=n.visitLargeBinary;break;case M.FixedSizeBinary:i=n.visitFixedSizeBinary;break;case M.Date:i=n.visitDate;break;case M.DateDay:i=n.visitDateDay||n.visitDate;break;case M.DateMillisecond:i=n.visitDateMillisecond||n.visitDate;break;case M.Timestamp:i=n.visitTimestamp;break;case M.TimestampSecond:i=n.visitTimestampSecond||n.visitTimestamp;break;case M.TimestampMillisecond:i=n.visitTimestampMillisecond||n.visitTimestamp;break;case M.TimestampMicrosecond:i=n.visitTimestampMicrosecond||n.visitTimestamp;break;case M.TimestampNanosecond:i=n.visitTimestampNanosecond||n.visitTimestamp;break;case M.Time:i=n.visitTime;break;case M.TimeSecond:i=n.visitTimeSecond||n.visitTime;break;case M.TimeMillisecond:i=n.visitTimeMillisecond||n.visitTime;break;case M.TimeMicrosecond:i=n.visitTimeMicrosecond||n.visitTime;break;case M.TimeNanosecond:i=n.visitTimeNanosecond||n.visitTime;break;case M.Decimal:i=n.visitDecimal;break;case M.List:i=n.visitList;break;case M.Struct:i=n.visitStruct;break;case M.Union:i=n.visitUnion;break;case M.DenseUnion:i=n.visitDenseUnion||n.visitUnion;break;case M.SparseUnion:i=n.visitSparseUnion||n.visitUnion;break;case M.Dictionary:i=n.visitDictionary;break;case M.Interval:i=n.visitInterval;break;case M.IntervalDayTime:i=n.visitIntervalDayTime||n.visitInterval;break;case M.IntervalYearMonth:i=n.visitIntervalYearMonth||n.visitInterval;break;case M.Duration:i=n.visitDuration;break;case M.DurationSecond:i=n.visitDurationSecond||n.visitDuration;break;case M.DurationMillisecond:i=n.visitDurationMillisecond||n.visitDuration;break;case M.DurationMicrosecond:i=n.visitDurationMicrosecond||n.visitDuration;break;case M.DurationNanosecond:i=n.visitDurationNanosecond||n.visitDuration;break;case M.FixedSizeList:i=n.visitFixedSizeList;break;case M.Map:i=n.visitMap;break}if(typeof i=="function")return i;if(!t)return()=>null;throw new Error(`Unrecognized type '${M[e]}'`)}function bm(n){switch(n.typeId){case M.Null:return M.Null;case M.Int:{const{bitWidth:e,isSigned:t}=n;switch(e){case 8:return t?M.Int8:M.Uint8;case 16:return t?M.Int16:M.Uint16;case 32:return t?M.Int32:M.Uint32;case 64:return t?M.Int64:M.Uint64}return M.Int}case M.Float:switch(n.precision){case Dt.HALF:return M.Float16;case Dt.SINGLE:return M.Float32;case Dt.DOUBLE:return M.Float64}return M.Float;case M.Binary:return M.Binary;case M.LargeBinary:return M.LargeBinary;case M.Utf8:return M.Utf8;case M.LargeUtf8:return M.LargeUtf8;case M.Bool:return M.Bool;case M.Decimal:return M.Decimal;case M.Time:switch(n.unit){case _e.SECOND:return M.TimeSecond;case _e.MILLISECOND:return M.TimeMillisecond;case _e.MICROSECOND:return M.TimeMicrosecond;case _e.NANOSECOND:return M.TimeNanosecond}return M.Time;case M.Timestamp:switch(n.unit){case _e.SECOND:return M.TimestampSecond;case _e.MILLISECOND:return M.TimestampMillisecond;case _e.MICROSECOND:return M.TimestampMicrosecond;case _e.NANOSECOND:return M.TimestampNanosecond}return M.Timestamp;case M.Date:switch(n.unit){case gn.DAY:return M.DateDay;case gn.MILLISECOND:return M.DateMillisecond}return M.Date;case M.Interval:switch(n.unit){case nr.DAY_TIME:return M.IntervalDayTime;case nr.YEAR_MONTH:return M.IntervalYearMonth}return M.Interval;case M.Duration:switch(n.unit){case _e.SECOND:return M.DurationSecond;case _e.MILLISECOND:return M.DurationMillisecond;case _e.MICROSECOND:return M.DurationMicrosecond;case _e.NANOSECOND:return M.DurationNanosecond}return M.Duration;case M.Map:return M.Map;case M.List:return M.List;case M.Struct:return M.Struct;case M.Union:switch(n.mode){case Ht.Dense:return M.DenseUnion;case Ht.Sparse:return M.SparseUnion}return M.Union;case M.FixedSizeBinary:return M.FixedSizeBinary;case M.FixedSizeList:return M.FixedSizeList;case M.Dictionary:return M.Dictionary}throw new Error(`Unrecognized type '${M[n.typeId]}'`)}Re.prototype.visitInt8=null;Re.prototype.visitInt16=null;Re.prototype.visitInt32=null;Re.prototype.visitInt64=null;Re.prototype.visitUint8=null;Re.prototype.visitUint16=null;Re.prototype.visitUint32=null;Re.prototype.visitUint64=null;Re.prototype.visitFloat16=null;Re.prototype.visitFloat32=null;Re.prototype.visitFloat64=null;Re.prototype.visitDateDay=null;Re.prototype.visitDateMillisecond=null;Re.prototype.visitTimestampSecond=null;Re.prototype.visitTimestampMillisecond=null;Re.prototype.visitTimestampMicrosecond=null;Re.prototype.visitTimestampNanosecond=null;Re.prototype.visitTimeSecond=null;Re.prototype.visitTimeMillisecond=null;Re.prototype.visitTimeMicrosecond=null;Re.prototype.visitTimeNanosecond=null;Re.prototype.visitDenseUnion=null;Re.prototype.visitSparseUnion=null;Re.prototype.visitIntervalDayTime=null;Re.prototype.visitIntervalYearMonth=null;Re.prototype.visitDuration=null;Re.prototype.visitDurationSecond=null;Re.prototype.visitDurationMillisecond=null;Re.prototype.visitDurationMicrosecond=null;Re.prototype.visitDurationNanosecond=null;const tg=new Float64Array(1),ai=new Uint32Array(tg.buffer);function ng(n){const e=(n&31744)>>10,t=(n&1023)/1024,i=Math.pow(-1,(n&32768)>>15);switch(e){case 31:return i*(t?Number.NaN:1/0);case 0:return i*(t?6103515625e-14*t:0)}return i*Math.pow(2,e-15)*(1+t)}function Vb(n){if(n!==n)return 32256;tg[0]=n;const e=(ai[1]&2147483648)>>16&65535;let t=ai[1]&2146435072,i=0;return t>=1089470464?ai[0]>0?t=31744:(t=(t&2080374784)>>16,i=(ai[1]&1048575)>>10):t<=1056964608?(i=1048576+(ai[1]&1048575),i=1048576+(i<<(t>>20)-998)>>21,t=0):(t=t-1056964608>>10,i=(ai[1]&1048575)+512>>10),e|t|i&65535}class Ne extends Re{}function Ie(n){return(e,t,i)=>{if(e.setValid(t,i!=null))return n(e,t,i)}}const Wb=(n,e,t)=>{n[e]=Math.floor(t/864e5)},rg=(n,e,t,i)=>{if(t+1{const a=n+t;i?e[a>>3]|=1<>3]&=~(1<{n[e]=t},$d=({values:n},e,t)=>{n[e]=t},sg=({values:n},e,t)=>{n[e]=Vb(t)},Gb=(n,e,t)=>{switch(n.type.precision){case Dt.HALF:return sg(n,e,t);case Dt.SINGLE:case Dt.DOUBLE:return $d(n,e,t)}},ig=({values:n},e,t)=>{Wb(n,e,t.valueOf())},og=({values:n},e,t)=>{n[e]=BigInt(t)},Yb=({stride:n,values:e},t,i)=>{e.set(i.subarray(0,n),n*t)},ag=({values:n,valueOffsets:e},t,i)=>rg(n,e,t,i),lg=({values:n,valueOffsets:e},t,i)=>rg(n,e,t,Bd(i)),Qb=(n,e,t)=>{n.type.unit===gn.DAY?ig(n,e,t):og(n,e,t)},ug=({values:n},e,t)=>{n[e]=BigInt(t/1e3)},cg=({values:n},e,t)=>{n[e]=BigInt(t)},dg=({values:n},e,t)=>{n[e]=BigInt(t*1e3)},fg=({values:n},e,t)=>{n[e]=BigInt(t*1e6)},Kb=(n,e,t)=>{switch(n.type.unit){case _e.SECOND:return ug(n,e,t);case _e.MILLISECOND:return cg(n,e,t);case _e.MICROSECOND:return dg(n,e,t);case _e.NANOSECOND:return fg(n,e,t)}},hg=({values:n},e,t)=>{n[e]=t},pg=({values:n},e,t)=>{n[e]=t},mg=({values:n},e,t)=>{n[e]=t},yg=({values:n},e,t)=>{n[e]=t},Jb=(n,e,t)=>{switch(n.type.unit){case _e.SECOND:return hg(n,e,t);case _e.MILLISECOND:return pg(n,e,t);case _e.MICROSECOND:return mg(n,e,t);case _e.NANOSECOND:return yg(n,e,t)}},qb=({values:n,stride:e},t,i)=>{n.set(i.subarray(0,e),e*t)},Zb=(n,e,t)=>{const i=n.children[0],a=n.valueOffsets,u=vn.getVisitFn(i);if(Array.isArray(t))for(let f=-1,h=a[e],m=a[e+1];h{const i=n.children[0],{valueOffsets:a}=n,u=vn.getVisitFn(i);let{[e]:f,[e+1]:h}=a;const m=t instanceof Map?t.entries():Object.entries(t);for(const g of m)if(u(i,f,g),++f>=h)break},ew=(n,e)=>(t,i,a,u)=>i&&t(i,n,e[u]),tw=(n,e)=>(t,i,a,u)=>i&&t(i,n,e.get(u)),nw=(n,e)=>(t,i,a,u)=>i&&t(i,n,e.get(a.name)),rw=(n,e)=>(t,i,a,u)=>i&&t(i,n,e[a.name]),sw=(n,e,t)=>{const i=n.type.children.map(u=>vn.getVisitFn(u.type)),a=t instanceof Map?nw(e,t):t instanceof Je?tw(e,t):Array.isArray(t)?ew(e,t):rw(e,t);n.type.children.forEach((u,f)=>a(i[f],n.children[f],u,f))},iw=(n,e,t)=>{n.type.mode===Ht.Dense?gg(n,e,t):vg(n,e,t)},gg=(n,e,t)=>{const i=n.type.typeIdToChildIndex[n.typeIds[e]],a=n.children[i];vn.visit(a,n.valueOffsets[e],t)},vg=(n,e,t)=>{const i=n.type.typeIdToChildIndex[n.typeIds[e]],a=n.children[i];vn.visit(a,e,t)},ow=(n,e,t)=>{var i;(i=n.dictionary)===null||i===void 0||i.set(n.values[e],t)},aw=(n,e,t)=>{n.type.unit===nr.DAY_TIME?xg(n,e,t):bg(n,e,t)},xg=({values:n},e,t)=>{n.set(t.subarray(0,2),2*e)},bg=({values:n},e,t)=>{n[e]=t[0]*12+t[1]%12},wg=({values:n},e,t)=>{n[e]=t},Sg=({values:n},e,t)=>{n[e]=t},_g=({values:n},e,t)=>{n[e]=t},Ng=({values:n},e,t)=>{n[e]=t},lw=(n,e,t)=>{switch(n.type.unit){case _e.SECOND:return wg(n,e,t);case _e.MILLISECOND:return Sg(n,e,t);case _e.MICROSECOND:return _g(n,e,t);case _e.NANOSECOND:return Ng(n,e,t)}},uw=(n,e,t)=>{const{stride:i}=n,a=n.children[0],u=vn.getVisitFn(a);if(Array.isArray(t))for(let f=-1,h=e*i;++f`${Bo(e)}: ${Bo(t)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new cw(this[On],this[Si])}}class cw{constructor(e,t){this.childIndex=0,this.children=e.children,this.rowIndex=t,this.childFields=e.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){const e=this.childIndex;return et.name)}has(e,t){return e[On].type.children.findIndex(i=>i.name===t)!==-1}getOwnPropertyDescriptor(e,t){if(e[On].type.children.findIndex(i=>i.name===t)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,t){if(Reflect.has(e,t))return e[t];const i=e[On].type.children.findIndex(a=>a.name===t);if(i!==-1){const a=Gt.visit(e[On].children[i],e[Si]);return Reflect.set(e,t,a),a}}set(e,t,i){const a=e[On].type.children.findIndex(u=>u.name===t);return a!==-1?(vn.visit(e[On].children[a],e[Si],i),Reflect.set(e,t,i)):Reflect.has(e,t)||typeof t=="symbol"?Reflect.set(e,t,i):!1}}class ve extends Re{}function je(n){return(e,t)=>e.getValid(t)?n(e,t):null}const fw=(n,e)=>864e5*n[e],hw=(n,e)=>null,jg=(n,e,t)=>{if(t+1>=e.length)return null;const i=tt(e[t]),a=tt(e[t+1]);return n.subarray(i,a)},pw=({offset:n,values:e},t)=>{const i=n+t;return(e[i>>3]&1<fw(n,e),Ig=({values:n},e)=>tt(n[e]),as=({stride:n,values:e},t)=>e[n*t],mw=({stride:n,values:e},t)=>ng(e[n*t]),Mg=({values:n},e)=>n[e],yw=({stride:n,values:e},t)=>e.subarray(n*t,n*(t+1)),Dg=({values:n,valueOffsets:e},t)=>jg(n,e,t),Cg=({values:n,valueOffsets:e},t)=>{const i=jg(n,e,t);return i!==null?xd(i):null},gw=({values:n},e)=>n[e],vw=({type:n,values:e},t)=>n.precision!==Dt.HALF?e[t]:ng(e[t]),xw=(n,e)=>n.type.unit===gn.DAY?kg(n,e):Ig(n,e),Fg=({values:n},e)=>1e3*tt(n[e]),Og=({values:n},e)=>tt(n[e]),Tg=({values:n},e)=>Fy(n[e],BigInt(1e3)),Ag=({values:n},e)=>Fy(n[e],BigInt(1e6)),bw=(n,e)=>{switch(n.type.unit){case _e.SECOND:return Fg(n,e);case _e.MILLISECOND:return Og(n,e);case _e.MICROSECOND:return Tg(n,e);case _e.NANOSECOND:return Ag(n,e)}},Bg=({values:n},e)=>n[e],Eg=({values:n},e)=>n[e],Rg=({values:n},e)=>n[e],Lg=({values:n},e)=>n[e],ww=(n,e)=>{switch(n.type.unit){case _e.SECOND:return Bg(n,e);case _e.MILLISECOND:return Eg(n,e);case _e.MICROSECOND:return Rg(n,e);case _e.NANOSECOND:return Lg(n,e)}},Sw=({values:n,stride:e},t)=>Ud.decimal(n.subarray(e*t,e*(t+1))),_w=(n,e)=>{const{valueOffsets:t,stride:i,children:a}=n,{[e*i]:u,[e*i+1]:f}=t,m=a[0].slice(u,f-u);return new Je([m])},Nw=(n,e)=>{const{valueOffsets:t,children:i}=n,{[e]:a,[e+1]:u}=t,f=i[0];return new zd(f.slice(a,u-a))},jw=(n,e)=>new Pd(n,e),kw=(n,e)=>n.type.mode===Ht.Dense?Ug(n,e):$g(n,e),Ug=(n,e)=>{const t=n.type.typeIdToChildIndex[n.typeIds[e]],i=n.children[t];return Gt.visit(i,n.valueOffsets[e])},$g=(n,e)=>{const t=n.type.typeIdToChildIndex[n.typeIds[e]],i=n.children[t];return Gt.visit(i,e)},Iw=(n,e)=>{var t;return(t=n.dictionary)===null||t===void 0?void 0:t.get(n.values[e])},Mw=(n,e)=>n.type.unit===nr.DAY_TIME?Pg(n,e):zg(n,e),Pg=({values:n},e)=>n.subarray(2*e,2*(e+1)),zg=({values:n},e)=>{const t=n[e],i=new Int32Array(2);return i[0]=Math.trunc(t/12),i[1]=Math.trunc(t%12),i},Vg=({values:n},e)=>n[e],Wg=({values:n},e)=>n[e],Hg=({values:n},e)=>n[e],Gg=({values:n},e)=>n[e],Dw=(n,e)=>{switch(n.type.unit){case _e.SECOND:return Vg(n,e);case _e.MILLISECOND:return Wg(n,e);case _e.MICROSECOND:return Hg(n,e);case _e.NANOSECOND:return Gg(n,e)}},Cw=(n,e)=>{const{stride:t,children:i}=n,u=i[0].slice(e*t,t);return new Je([u])};ve.prototype.visitNull=je(hw);ve.prototype.visitBool=je(pw);ve.prototype.visitInt=je(gw);ve.prototype.visitInt8=je(as);ve.prototype.visitInt16=je(as);ve.prototype.visitInt32=je(as);ve.prototype.visitInt64=je(Mg);ve.prototype.visitUint8=je(as);ve.prototype.visitUint16=je(as);ve.prototype.visitUint32=je(as);ve.prototype.visitUint64=je(Mg);ve.prototype.visitFloat=je(vw);ve.prototype.visitFloat16=je(mw);ve.prototype.visitFloat32=je(as);ve.prototype.visitFloat64=je(as);ve.prototype.visitUtf8=je(Cg);ve.prototype.visitLargeUtf8=je(Cg);ve.prototype.visitBinary=je(Dg);ve.prototype.visitLargeBinary=je(Dg);ve.prototype.visitFixedSizeBinary=je(yw);ve.prototype.visitDate=je(xw);ve.prototype.visitDateDay=je(kg);ve.prototype.visitDateMillisecond=je(Ig);ve.prototype.visitTimestamp=je(bw);ve.prototype.visitTimestampSecond=je(Fg);ve.prototype.visitTimestampMillisecond=je(Og);ve.prototype.visitTimestampMicrosecond=je(Tg);ve.prototype.visitTimestampNanosecond=je(Ag);ve.prototype.visitTime=je(ww);ve.prototype.visitTimeSecond=je(Bg);ve.prototype.visitTimeMillisecond=je(Eg);ve.prototype.visitTimeMicrosecond=je(Rg);ve.prototype.visitTimeNanosecond=je(Lg);ve.prototype.visitDecimal=je(Sw);ve.prototype.visitList=je(_w);ve.prototype.visitStruct=je(jw);ve.prototype.visitUnion=je(kw);ve.prototype.visitDenseUnion=je(Ug);ve.prototype.visitSparseUnion=je($g);ve.prototype.visitDictionary=je(Iw);ve.prototype.visitInterval=je(Mw);ve.prototype.visitIntervalDayTime=je(Pg);ve.prototype.visitIntervalYearMonth=je(zg);ve.prototype.visitDuration=je(Dw);ve.prototype.visitDurationSecond=je(Vg);ve.prototype.visitDurationMillisecond=je(Wg);ve.prototype.visitDurationMicrosecond=je(Hg);ve.prototype.visitDurationNanosecond=je(Gg);ve.prototype.visitFixedSizeList=je(Cw);ve.prototype.visitMap=je(Nw);const Gt=new ve,yi=Symbol.for("keys"),_i=Symbol.for("vals"),gi=Symbol.for("kKeysAsStrings"),jd=Symbol.for("_kKeysAsStrings");class zd{constructor(e){return this[yi]=new Je([e.children[0]]).memoize(),this[_i]=e.children[1],new Proxy(this,new Ow)}get[gi](){return this[jd]||(this[jd]=Array.from(this[yi].toArray(),String))}[Symbol.iterator](){return new Fw(this[yi],this[_i])}get size(){return this[yi].length}toArray(){return Object.values(this.toJSON())}toJSON(){const e=this[yi],t=this[_i],i={};for(let a=-1,u=e.length;++a`${Bo(e)}: ${Bo(t)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}}class Fw{constructor(e,t){this.keys=e,this.vals=t,this.keyIndex=0,this.numKeys=e.length}[Symbol.iterator](){return this}next(){const e=this.keyIndex;return e===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(e),Gt.visit(this.vals,e)]})}}class Ow{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(e){return e[gi]}has(e,t){return e[gi].includes(t)}getOwnPropertyDescriptor(e,t){if(e[gi].indexOf(t)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,t){if(Reflect.has(e,t))return e[t];const i=e[gi].indexOf(t);if(i!==-1){const a=Gt.visit(Reflect.get(e,_i),i);return Reflect.set(e,t,a),a}}set(e,t,i){const a=e[gi].indexOf(t);return a!==-1?(vn.visit(Reflect.get(e,_i),a,i),Reflect.set(e,t,i)):Reflect.has(e,t)?Reflect.set(e,t,i):!1}}Object.defineProperties(zd.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[yi]:{writable:!0,enumerable:!1,configurable:!1,value:null},[_i]:{writable:!0,enumerable:!1,configurable:!1,value:null},[jd]:{writable:!0,enumerable:!1,configurable:!1,value:null}});let wm;function Yg(n,e,t,i){const{length:a=0}=n;let u=typeof e!="number"?0:e,f=typeof t!="number"?a:t;return u<0&&(u=(u%a+a)%a),f<0&&(f=(f%a+a)%a),fa&&(f=a),i?i(n,u,f):[u,f]}const Vd=(n,e)=>n<0?e+n:n,Sm=n=>n!==n;function Ti(n){if(typeof n!=="object"||n===null)return Sm(n)?Sm:t=>t===n;if(n instanceof Date){const t=n.valueOf();return i=>i instanceof Date?i.valueOf()===t:!1}return ArrayBuffer.isView(n)?t=>t?Cb(n,t):!1:n instanceof Map?Aw(n):Array.isArray(n)?Tw(n):n instanceof Je?Bw(n):Ew(n,!0)}function Tw(n){const e=[];for(let t=-1,i=n.length;++t!1;const i=[];for(let a=-1,u=t.length;++a{if(!t||typeof t!="object")return!1;switch(t.constructor){case Array:return Rw(n,t);case Map:return _m(n,t,t.keys());case zd:case Pd:case Object:case void 0:return _m(n,t,e||Object.keys(t))}return t instanceof Je?Lw(n,t):!1}}function Rw(n,e){const t=n.length;if(e.length!==t)return!1;for(let i=-1;++i>i}function Nm(n,e,t){const i=t.byteLength+7&-8;if(n>0||t.byteLength>3):kd(new Wd(t,n,e,null,Qg)).subarray(0,i)),a}return t}function kd(n){const e=[];let t=0,i=0,a=0;for(const f of n)f&&(a|=1<0)&&(e[t++]=a);const u=new Uint8Array(e.length+7&-8);return u.set(e),u}class Wd{constructor(e,t,i,a,u){this.bytes=e,this.length=i,this.context=a,this.get=u,this.bit=t%8,this.byteIndex=t>>3,this.byte=e[this.byteIndex++],this.index=0}next(){return this.index>3<<3,a=e+(e%8===0?0:8-e%8);return Id(n,e,a)+Id(n,i,t)+$w(n,a>>3,i-a>>3)}function $w(n,e,t){let i=0,a=Math.trunc(e);const u=new DataView(n.buffer,n.byteOffset,n.byteLength),f=t===void 0?n.byteLength:a+t;for(;f-a>=4;)i+=id(u.getUint32(a)),a+=4;for(;f-a>=2;)i+=id(u.getUint16(a)),a+=2;for(;f-a>=1;)i+=id(u.getUint8(a)),a+=1;return i}function id(n){let e=Math.trunc(n);return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24}const Pw=-1;class Ye{get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){const{type:e}=this;return me.isSparseUnion(e)?this.children.some(t=>t.nullable):me.isDenseUnion(e)?this.children.some(t=>t.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let e=0;const{valueOffsets:t,values:i,nullBitmap:a,typeIds:u}=this;return t&&(e+=t.byteLength),i&&(e+=i.byteLength),a&&(e+=a.byteLength),u&&(e+=u.byteLength),this.children.reduce((f,h)=>f+h.byteLength,e)}get nullCount(){if(me.isUnion(this.type))return this.children.reduce((i,a)=>i+a.nullCount,0);let e=this._nullCount,t;return e<=Pw&&(t=this.nullBitmap)&&(this._nullCount=e=t.length===0?0:this.length-Id(t,this.offset,this.offset+this.length)),e}constructor(e,t,i,a,u,f=[],h){this.type=e,this.children=f,this.dictionary=h,this.offset=Math.floor(Math.max(t||0,0)),this.length=Math.floor(Math.max(i||0,0)),this._nullCount=Math.floor(Math.max(a||0,-1));let m;u instanceof Ye?(this.stride=u.stride,this.values=u.values,this.typeIds=u.typeIds,this.nullBitmap=u.nullBitmap,this.valueOffsets=u.valueOffsets):(this.stride=vr(e),u&&((m=u[0])&&(this.valueOffsets=m),(m=u[1])&&(this.values=m),(m=u[2])&&(this.nullBitmap=m),(m=u[3])&&(this.typeIds=m)))}getValid(e){const{type:t}=this;if(me.isUnion(t)){const i=t,a=this.children[i.typeIdToChildIndex[this.typeIds[e]]],u=i.mode===Ht.Dense?this.valueOffsets[e]:e;return a.getValid(u)}if(this.nullable&&this.nullCount>0){const i=this.offset+e;return(this.nullBitmap[i>>3]&1<>3;(!u||u.byteLength<=v)&&(u=new Uint8Array((f+h+63&-64)>>3).fill(255),this.nullCount>0?(u.set(Nm(f,h,this.nullBitmap),0),Object.assign(this,{nullBitmap:u})):Object.assign(this,{nullBitmap:u,_nullCount:0}));const x=u[v];i=(x&g)!==0,u[v]=t?x|g:x&~g}return i!==!!t&&(this._nullCount=this.nullCount+(t?-1:1)),t}clone(e=this.type,t=this.offset,i=this.length,a=this._nullCount,u=this,f=this.children){return new Ye(e,t,i,a,u,f,this.dictionary)}slice(e,t){const{stride:i,typeId:a,children:u}=this,f=+(this._nullCount===0)-1,h=a===16?i:1,m=this._sliceBuffers(e,t,i,a);return this.clone(this.type,this.offset+e,t,f,m,u.length===0||this.valueOffsets?u:this._sliceChildren(u,h*e,h*t))}_changeLengthAndBackfillNullBitmap(e){if(this.typeId===M.Null)return this.clone(this.type,0,e,0);const{length:t,nullCount:i}=this,a=new Uint8Array((e+63&-64)>>3).fill(255,0,t>>3);a[t>>3]=(1<0&&a.set(Nm(this.offset,t,this.nullBitmap),0);const u=this.buffers;return u[gr.VALIDITY]=a,this.clone(this.type,0,e,i+(e-t),u)}_sliceBuffers(e,t,i,a){let u;const{buffers:f}=this;return(u=f[gr.TYPE])&&(f[gr.TYPE]=u.subarray(e,e+t)),(u=f[gr.OFFSET])&&(f[gr.OFFSET]=u.subarray(e,e+t+1))||(u=f[gr.DATA])&&(f[gr.DATA]=a===6?u:u.subarray(i*e,i*(e+t))),f}_sliceChildren(e,t,i){return e.map(a=>a.slice(t,i))}}Ye.prototype.children=Object.freeze([]);class To extends Re{visit(e){return this.getVisitFn(e.type).call(this,e)}visitNull(e){const{["type"]:t,["offset"]:i=0,["length"]:a=0}=e;return new Ye(t,i,a,a)}visitBool(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length>>3,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitInt(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitFloat(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitUtf8(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.data),u=$e(e.nullBitmap),f=So(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,u])}visitLargeUtf8(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.data),u=$e(e.nullBitmap),f=cm(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,u])}visitBinary(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.data),u=$e(e.nullBitmap),f=So(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,u])}visitLargeBinary(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.data),u=$e(e.nullBitmap),f=cm(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,u])}visitFixedSizeBinary(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitDate(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitTimestamp(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitTime(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitDecimal(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitList(e){const{["type"]:t,["offset"]:i=0,["child"]:a}=e,u=$e(e.nullBitmap),f=So(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,void 0,u],[a])}visitStruct(e){const{["type"]:t,["offset"]:i=0,["children"]:a=[]}=e,u=$e(e.nullBitmap),{length:f=a.reduce((m,{length:g})=>Math.max(m,g),0),nullCount:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,void 0,u],a)}visitUnion(e){const{["type"]:t,["offset"]:i=0,["children"]:a=[]}=e,u=Ke(t.ArrayType,e.typeIds),{["length"]:f=u.length,["nullCount"]:h=-1}=e;if(me.isSparseUnion(t))return new Ye(t,i,f,h,[void 0,void 0,void 0,u],a);const m=So(e.valueOffsets);return new Ye(t,i,f,h,[m,void 0,void 0,u],a)}visitDictionary(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.indices.ArrayType,e.data),{["dictionary"]:f=new Je([new To().visit({type:t.dictionary})])}=e,{["length"]:h=u.length,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[void 0,u,a],[],f)}visitInterval(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitDuration(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitFixedSizeList(e){const{["type"]:t,["offset"]:i=0,["child"]:a=new To().visit({type:t.valueType})}=e,u=$e(e.nullBitmap),{["length"]:f=a.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,void 0,u],[a])}visitMap(e){const{["type"]:t,["offset"]:i=0,["child"]:a=new To().visit({type:t.childType})}=e,u=$e(e.nullBitmap),f=So(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,void 0,u],[a])}}const zw=new To;function Ee(n){return zw.visit(n)}class jm{constructor(e=0,t){this.numChunks=e,this.getChunkIterator=t,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndexe.nullable)}function Kg(n){return n.reduce((e,t)=>e+t.nullCount,0)}function Jg(n){return n.reduce((e,t,i)=>(e[i+1]=e[i]+t.length,e),new Uint32Array(n.length+1))}function qg(n,e,t,i){const a=[];for(let u=-1,f=n.length;++u=i)break;if(t>=m+g)continue;if(m>=t&&m+g<=i){a.push(h);continue}const v=Math.max(0,t-m),x=Math.min(i-m,g);a.push(h.slice(v,x-v))}return a.length===0&&a.push(n[0].slice(0,0)),a}function Hd(n,e,t,i){let a=0,u=0,f=e.length-1;do{if(a>=f-1)return t0?0:-1}function Hw(n,e){const{nullBitmap:t}=n;if(!t||n.nullCount<=0)return-1;let i=0;for(const a of new Wd(t,n.offset+(e||0),n.length,t,Qg)){if(!a)return i;++i}return-1}function De(n,e,t){if(e===void 0)return-1;if(e===null)switch(n.typeId){case M.Union:break;case M.Dictionary:break;default:return Hw(n,t)}const i=Gt.getVisitFn(n),a=Ti(e);for(let u=(t||0)-1,f=n.length;++u{const a=n.data[i];return a.values.subarray(0,a.length)[Symbol.iterator]()});let t=0;return new jm(n.data.length,i=>{const u=n.data[i].length,f=n.slice(t,t+u);return t+=u,new Gw(f)})}class Gw{constructor(e){this.vector=e,this.index=0}next(){return this.indexh.data):e;if(u.length===0||u.some(h=>!(h instanceof Ye)))throw new TypeError("Vector constructor expects an Array of Data instances.");const f=(t=u[0])===null||t===void 0?void 0:t.type;switch(u.length){case 0:this._offsets=[0];break;case 1:{const{get:h,set:m,indexOf:g}=nv[f.typeId],v=u[0];this.isValid=x=>Gd(v,x),this.get=x=>h(v,x),this.set=(x,b)=>m(v,x,b),this.indexOf=x=>g(v,x),this._offsets=[0,v.length];break}default:Object.setPrototypeOf(this,rv[f.typeId]),this._offsets=Jg(u);break}this.data=u,this.type=f,this.stride=vr(f),this.numChildren=(a=(i=f.children)===null||i===void 0?void 0:i.length)!==null&&a!==void 0?a:0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((e,t)=>e+t.byteLength,0)}get nullable(){return Vw(this.data)}get nullCount(){return Kg(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${M[this.type.typeId]}Vector`}isValid(e){return!1}get(e){return null}at(e){return this.get(Vd(e,this.length))}set(e,t){}indexOf(e,t){return-1}includes(e,t){return this.indexOf(e,t)>-1}[Symbol.iterator](){return Yd.visit(this)}concat(...e){return new Je(this.data.concat(e.flatMap(t=>t.data).flat(Number.POSITIVE_INFINITY)))}slice(e,t){return new Je(Yg(this,e,t,({data:i,_offsets:a},u,f)=>qg(i,a,u,f)))}toJSON(){return[...this]}toArray(){const{type:e,data:t,length:i,stride:a,ArrayType:u}=this;switch(e.typeId){case M.Int:case M.Float:case M.Decimal:case M.Time:case M.Timestamp:switch(t.length){case 0:return new u;case 1:return t[0].values.subarray(0,i*a);default:return t.reduce((f,{values:h,length:m})=>(f.array.set(h.subarray(0,m*a),f.offset),f.offset+=m*a,f),{array:new u(i*a),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(e){var t;return this.getChildAt((t=this.type.children)===null||t===void 0?void 0:t.findIndex(i=>i.name===e))}getChildAt(e){return e>-1&&et[e])):null}get isMemoized(){return me.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(me.isDictionary(this.type)){const e=new Wl(this.data[0].dictionary),t=this.data.map(i=>{const a=i.clone();return a.dictionary=e,a});return new Je(t)}return new Wl(this)}unmemoize(){if(me.isDictionary(this.type)&&this.isMemoized){const e=this.data[0].dictionary.unmemoize(),t=this.data.map(i=>{const a=i.clone();return a.dictionary=e,a});return new Je(t)}return this}}tv=Symbol.toStringTag;Je[tv]=(n=>{n.type=me.prototype,n.data=[],n.length=0,n.stride=1,n.numChildren=0,n._offsets=new Uint32Array([0]),n[Symbol.isConcatSpreadable]=!0;const e=Object.keys(M).map(t=>M[t]).filter(t=>typeof t=="number"&&t!==M.NONE);for(const t of e){const i=Gt.getVisitFnByTypeId(t),a=vn.getVisitFnByTypeId(t),u=Vl.getVisitFnByTypeId(t);nv[t]={get:i,set:a,indexOf:u},rv[t]=Object.create(n,{isValid:{value:zl(Gd)},get:{value:zl(Gt.getVisitFnByTypeId(t))},set:{value:Zg(vn.getVisitFnByTypeId(t))},indexOf:{value:Xg(Vl.getVisitFnByTypeId(t))}})}return"Vector"})(Je.prototype);class Wl extends Je{constructor(e){super(e.data);const t=this.get,i=this.set,a=this.slice,u=new Array(this.length);Object.defineProperty(this,"get",{value(f){const h=u[f];if(h!==void 0)return h;const m=t.call(this,f);return u[f]=m,m}}),Object.defineProperty(this,"set",{value(f,h){i.call(this,f,h),u[f]=h}}),Object.defineProperty(this,"slice",{value:(f,h)=>new Wl(a.call(this,f,h))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new Je(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}}class Md{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(e,t,i,a){return e.prep(8,24),e.writeInt64(BigInt(a??0)),e.pad(4),e.writeInt32(i),e.writeInt64(BigInt(t??0)),e.offset()}}class Xt{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsFooter(e,t){return(t||new Xt).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFooter(e,t){return e.setPosition(e.position()+He),(t||new Xt).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):ht.V1}schema(e){const t=this.bb.__offset(this.bb_pos,6);return t?(e||new Gn).__init(this.bb.__indirect(this.bb_pos+t),this.bb):null}dictionaries(e,t){const i=this.bb.__offset(this.bb_pos,8);return i?(t||new Md).__init(this.bb.__vector(this.bb_pos+i)+e*24,this.bb):null}dictionariesLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}recordBatches(e,t){const i=this.bb.__offset(this.bb_pos,10);return i?(t||new Md).__init(this.bb.__vector(this.bb_pos+i)+e*24,this.bb):null}recordBatchesLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,12);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startFooter(e){e.startObject(5)}static addVersion(e,t){e.addFieldInt16(0,t,ht.V1)}static addSchema(e,t){e.addFieldOffset(1,t,0)}static addDictionaries(e,t){e.addFieldOffset(2,t,0)}static startDictionariesVector(e,t){e.startVector(24,t,8)}static addRecordBatches(e,t){e.addFieldOffset(3,t,0)}static startRecordBatchesVector(e,t){e.startVector(24,t,8)}static addCustomMetadata(e,t){e.addFieldOffset(4,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endFooter(e){return e.endObject()}static finishFooterBuffer(e,t){e.finish(t)}static finishSizePrefixedFooterBuffer(e,t){e.finish(t,void 0,!0)}}class We{constructor(e=[],t,i,a=ht.V5){this.fields=e||[],this.metadata=t||new Map,i||(i=Dd(this.fields)),this.dictionaries=i,this.metadataVersion=a}get[Symbol.toStringTag](){return"Schema"}get names(){return this.fields.map(e=>e.name)}toString(){return`Schema<{ ${this.fields.map((e,t)=>`${t}: ${e}`).join(", ")} }>`}select(e){const t=new Set(e),i=this.fields.filter(a=>t.has(a.name));return new We(i,this.metadata)}selectAt(e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new We(t,this.metadata)}assign(...e){const t=e[0]instanceof We?e[0]:Array.isArray(e[0])?new We(e[0]):new We(e),i=[...this.fields],a=sl(sl(new Map,this.metadata),t.metadata),u=t.fields.filter(h=>{const m=i.findIndex(g=>g.name===h.name);return~m?(i[m]=h.clone({metadata:sl(sl(new Map,i[m].metadata),h.metadata)}))&&!1:!0}),f=Dd(u,new Map);return new We([...i,...u],a,new Map([...this.dictionaries,...f]))}}We.prototype.fields=null;We.prototype.metadata=null;We.prototype.dictionaries=null;class nt{static new(...e){let[t,i,a,u]=e;return e[0]&&typeof e[0]=="object"&&({name:t}=e[0],i===void 0&&(i=e[0].type),a===void 0&&(a=e[0].nullable),u===void 0&&(u=e[0].metadata)),new nt(`${t}`,i,a,u)}constructor(e,t,i=!1,a){this.name=e,this.type=t,this.nullable=i,this.metadata=a||new Map}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}clone(...e){let[t,i,a,u]=e;return!e[0]||typeof e[0]!="object"?[t=this.name,i=this.type,a=this.nullable,u=this.metadata]=e:{name:t=this.name,type:i=this.type,nullable:a=this.nullable,metadata:u=this.metadata}=e[0],nt.new(t,i,a,u)}}nt.prototype.type=null;nt.prototype.name=null;nt.prototype.nullable=null;nt.prototype.metadata=null;function sl(n,e){return new Map([...n||new Map,...e||new Map])}function Dd(n,e=new Map){for(let t=-1,i=n.length;++t0&&Dd(u.children,e)}return e}var Yw=Iy,Qw=ki;class Qd{static decode(e){e=new Qw($e(e));const t=Xt.getRootAsFooter(e),i=We.decode(t.schema(),new Map,t.version());return new Kw(i,t)}static encode(e){const t=new Yw,i=We.encode(t,e.schema);Xt.startRecordBatchesVector(t,e.numRecordBatches);for(const f of[...e.recordBatches()].slice().reverse())Di.encode(t,f);const a=t.endVector();Xt.startDictionariesVector(t,e.numDictionaries);for(const f of[...e.dictionaryBatches()].slice().reverse())Di.encode(t,f);const u=t.endVector();return Xt.startFooter(t),Xt.addSchema(t,i),Xt.addVersion(t,ht.V5),Xt.addRecordBatches(t,a),Xt.addDictionaries(t,u),Xt.finishFooterBuffer(t,Xt.endFooter(t)),t.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}constructor(e,t=ht.V5,i,a){this.schema=e,this.version=t,i&&(this._recordBatches=i),a&&(this._dictionaryBatches=a)}*recordBatches(){for(let e,t=-1,i=this.numRecordBatches;++t=0&&e=0&&e=0&&e=0&&ethis._closedPromiseResolve=e)}get closed(){return this._closedPromise}cancel(e){return Fe(this,void 0,void 0,function*(){yield this.return(e)})}write(e){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(e):this.resolvers.shift().resolve({done:!1,value:e}))}abort(e){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:e}:this.resolvers.shift().reject({done:!0,value:e}))}close(){if(this._closedPromiseResolve){const{resolvers:e}=this;for(;e.length>0;)e.shift().resolve(at);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(e){return fn.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,e)}toNodeStream(e){return fn.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,e)}throw(e){return Fe(this,void 0,void 0,function*(){return yield this.abort(e),at})}return(e){return Fe(this,void 0,void 0,function*(){return yield this.close(),at})}read(e){return Fe(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return Fe(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(...e){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((t,i)=>{this.resolvers.push({resolve:t,reject:i})}):Promise.resolve(at)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error("AsyncQueue is closed")}}class qw extends Jw{write(e){if((e=$e(e)).byteLength>0)return super.write(e)}toString(e=!1){return e?xd(this.toUint8Array(!0)):this.toUint8Array(!1).then(xd)}toUint8Array(e=!1){return e?tr(this._values)[0]:Fe(this,void 0,void 0,function*(){var t,i,a,u;const f=[];let h=0;try{for(var m=!0,g=xi(this),v;v=yield g.next(),t=v.done,!t;m=!0){u=v.value,m=!1;const x=u;f.push(x),h+=x.byteLength}}catch(x){i={error:x}}finally{try{!m&&!t&&(a=g.return)&&(yield a.call(g))}finally{if(i)throw i.error}}return tr(f,h)[0]})}}class Hl{constructor(e){e&&(this.source=new Zw(fn.fromIterable(e)))}[Symbol.iterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class Ci{constructor(e){e instanceof Ci?this.source=e.source:e instanceof qw?this.source=new js(fn.fromAsyncIterable(e)):Ny(e)?this.source=new js(fn.fromNodeStream(e)):Rd(e)?this.source=new js(fn.fromDOMStream(e)):Sy(e)?this.source=new js(fn.fromDOMStream(e.body)):nu(e)?this.source=new js(fn.fromIterable(e)):Ao(e)?this.source=new js(fn.fromAsyncIterable(e)):Ed(e)&&(this.source=new js(fn.fromAsyncIterable(e)))}[Symbol.asyncIterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}get closed(){return this.source.closed}cancel(e){return this.source.cancel(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class Zw{constructor(e){this.source=e}cancel(e){this.return(e)}peek(e){return this.next(e,"peek").value}read(e){return this.next(e,"read").value}next(e,t="read"){return this.source.next({cmd:t,size:e})}throw(e){return Object.create(this.source.throw&&this.source.throw(e)||at)}return(e){return Object.create(this.source.return&&this.source.return(e)||at)}}class js{constructor(e){this.source=e,this._closedPromise=new Promise(t=>this._closedPromiseResolve=t)}cancel(e){return Fe(this,void 0,void 0,function*(){yield this.return(e)})}get closed(){return this._closedPromise}read(e){return Fe(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return Fe(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(e){return Fe(this,arguments,void 0,function*(t,i="read"){return yield this.source.next({cmd:i,size:t})})}throw(e){return Fe(this,void 0,void 0,function*(){const t=this.source.throw&&(yield this.source.throw(e))||at;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(t)})}return(e){return Fe(this,void 0,void 0,function*(){const t=this.source.return&&(yield this.source.return(e))||at;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(t)})}}class Im extends Hl{constructor(e,t){super(),this.position=0,this.buffer=$e(e),this.size=t===void 0?this.buffer.byteLength:t}readInt32(e){const{buffer:t,byteOffset:i}=this.readAt(e,4);return new DataView(t,i).getInt32(0,!0)}seek(e){return this.position=Math.min(e,this.size),e>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),i=new Uint32Array([e.buffer[1]>>>16,e.buffer[1]&65535,e.buffer[0]>>>16,e.buffer[0]&65535]);let a=t[3]*i[3];this.buffer[0]=a&65535;let u=a>>>16;return a=t[2]*i[3],u+=a,a=t[3]*i[2]>>>0,u+=a,this.buffer[0]+=u<<16,this.buffer[1]=u>>>0>>16,this.buffer[1]+=t[1]*i[3]+t[2]*i[2]+t[3]*i[1],this.buffer[1]+=t[0]*i[3]+t[1]*i[2]+t[2]*i[1]+t[3]*i[0]<<16,this}_plus(e){const t=this.buffer[0]+e.buffer[0]>>>0;this.buffer[1]+=e.buffer[1],t>>0&&++this.buffer[1],this.buffer[0]=t}lessThan(e){return this.buffer[1]>>0,t[2]=this.buffer[2]+e.buffer[2]>>>0,t[1]=this.buffer[1]+e.buffer[1]>>>0,t[0]=this.buffer[0]+e.buffer[0]>>>0,t[0]>>0&&++t[1],t[1]>>0&&++t[2],t[2]>>0&&++t[3],this.buffer[3]=t[3],this.buffer[2]=t[2],this.buffer[1]=t[1],this.buffer[0]=t[0],this}hex(){return`${vi(this.buffer[3])} ${vi(this.buffer[2])} ${vi(this.buffer[1])} ${vi(this.buffer[0])}`}static multiply(e,t){return new Yn(new Uint32Array(e.buffer)).times(t)}static add(e,t){return new Yn(new Uint32Array(e.buffer)).plus(t)}static from(e,t=new Uint32Array(4)){return Yn.fromString(typeof e=="string"?e:e.toString(),t)}static fromNumber(e,t=new Uint32Array(4)){return Yn.fromString(e.toString(),t)}static fromString(e,t=new Uint32Array(4)){const i=e.startsWith("-"),a=e.length,u=new Yn(t);for(let f=i?1:0;f0&&this.readData(e,i)||new Uint8Array(0)}readOffsets(e,t){return this.readData(e,t)}readTypeIds(e,t){return this.readData(e,t)}readData(e,{length:t,offset:i}=this.nextBufferRange()){return this.bytes.subarray(i,i+t)}readDictionary(e){return this.dictionaries.get(e.id)}}class e1 extends ov{constructor(e,t,i,a,u){super(new Uint8Array(0),t,i,a,u),this.sources=e}readNullBitmap(e,t,{offset:i}=this.nextBufferRange()){return t<=0?new Uint8Array(0):kd(this.sources[i])}readOffsets(e,{offset:t}=this.nextBufferRange()){return Ke(Uint8Array,Ke(e.OffsetArrayType,this.sources[t]))}readTypeIds(e,{offset:t}=this.nextBufferRange()){return Ke(Uint8Array,Ke(e.ArrayType,this.sources[t]))}readData(e,{offset:t}=this.nextBufferRange()){const{sources:i}=this;return me.isTimestamp(e)||(me.isInt(e)||me.isTime(e))&&e.bitWidth===64||me.isDuration(e)||me.isDate(e)&&e.unit===gn.MILLISECOND?Ke(Uint8Array,zt.convertArray(i[t])):me.isDecimal(e)?Ke(Uint8Array,Yn.convertArray(i[t])):me.isBinary(e)||me.isLargeBinary(e)||me.isFixedSizeBinary(e)?t1(i[t]):me.isBool(e)?kd(i[t]):me.isUtf8(e)||me.isLargeUtf8(e)?Bd(i[t].join("")):Ke(Uint8Array,Ke(e.ArrayType,i[t].map(a=>+a)))}}function t1(n){const e=n.join(""),t=new Uint8Array(e.length/2);for(let i=0;i>1]=Number.parseInt(e.slice(i,i+2),16);return t}class we extends Re{compareSchemas(e,t){return e===t||t instanceof e.constructor&&this.compareManyFields(e.fields,t.fields)}compareManyFields(e,t){return e===t||Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((i,a)=>this.compareFields(i,t[a]))}compareFields(e,t){return e===t||t instanceof e.constructor&&e.name===t.name&&e.nullable===t.nullable&&this.visit(e.type,t.type)}}function At(n,e){return e instanceof n.constructor}function As(n,e){return n===e||At(n,e)}function Mr(n,e){return n===e||At(n,e)&&n.bitWidth===e.bitWidth&&n.isSigned===e.isSigned}function su(n,e){return n===e||At(n,e)&&n.precision===e.precision}function n1(n,e){return n===e||At(n,e)&&n.byteWidth===e.byteWidth}function Jd(n,e){return n===e||At(n,e)&&n.unit===e.unit}function Po(n,e){return n===e||At(n,e)&&n.unit===e.unit&&n.timezone===e.timezone}function zo(n,e){return n===e||At(n,e)&&n.unit===e.unit&&n.bitWidth===e.bitWidth}function r1(n,e){return n===e||At(n,e)&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}function s1(n,e){return n===e||At(n,e)&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}function qd(n,e){return n===e||At(n,e)&&n.mode===e.mode&&n.typeIds.every((t,i)=>t===e.typeIds[i])&&is.compareManyFields(n.children,e.children)}function i1(n,e){return n===e||At(n,e)&&n.id===e.id&&n.isOrdered===e.isOrdered&&is.visit(n.indices,e.indices)&&is.visit(n.dictionary,e.dictionary)}function Zd(n,e){return n===e||At(n,e)&&n.unit===e.unit}function Vo(n,e){return n===e||At(n,e)&&n.unit===e.unit}function o1(n,e){return n===e||At(n,e)&&n.listSize===e.listSize&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}function a1(n,e){return n===e||At(n,e)&&n.keysSorted===e.keysSorted&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}we.prototype.visitNull=As;we.prototype.visitBool=As;we.prototype.visitInt=Mr;we.prototype.visitInt8=Mr;we.prototype.visitInt16=Mr;we.prototype.visitInt32=Mr;we.prototype.visitInt64=Mr;we.prototype.visitUint8=Mr;we.prototype.visitUint16=Mr;we.prototype.visitUint32=Mr;we.prototype.visitUint64=Mr;we.prototype.visitFloat=su;we.prototype.visitFloat16=su;we.prototype.visitFloat32=su;we.prototype.visitFloat64=su;we.prototype.visitUtf8=As;we.prototype.visitLargeUtf8=As;we.prototype.visitBinary=As;we.prototype.visitLargeBinary=As;we.prototype.visitFixedSizeBinary=n1;we.prototype.visitDate=Jd;we.prototype.visitDateDay=Jd;we.prototype.visitDateMillisecond=Jd;we.prototype.visitTimestamp=Po;we.prototype.visitTimestampSecond=Po;we.prototype.visitTimestampMillisecond=Po;we.prototype.visitTimestampMicrosecond=Po;we.prototype.visitTimestampNanosecond=Po;we.prototype.visitTime=zo;we.prototype.visitTimeSecond=zo;we.prototype.visitTimeMillisecond=zo;we.prototype.visitTimeMicrosecond=zo;we.prototype.visitTimeNanosecond=zo;we.prototype.visitDecimal=As;we.prototype.visitList=r1;we.prototype.visitStruct=s1;we.prototype.visitUnion=qd;we.prototype.visitDenseUnion=qd;we.prototype.visitSparseUnion=qd;we.prototype.visitDictionary=i1;we.prototype.visitInterval=Zd;we.prototype.visitIntervalDayTime=Zd;we.prototype.visitIntervalYearMonth=Zd;we.prototype.visitDuration=Vo;we.prototype.visitDurationSecond=Vo;we.prototype.visitDurationMillisecond=Vo;we.prototype.visitDurationMicrosecond=Vo;we.prototype.visitDurationNanosecond=Vo;we.prototype.visitFixedSizeList=o1;we.prototype.visitMap=a1;const is=new we;function l1(n,e){return is.compareSchemas(n,e)}function od(n,e){return u1(n,e.map(t=>t.data.concat()))}function u1(n,e){const t=[...n.fields],i=[],a={numBatches:e.reduce((x,b)=>Math.max(x,b.length),0)};let u=0,f=0,h=-1;const m=e.length;let g,v=[];for(;a.numBatches-- >0;){for(f=Number.POSITIVE_INFINITY,h=-1;++h0&&(i[u++]=Ee({type:new Tt(t),length:f,nullCount:0,children:v.slice()})))}return[n=n.assign(t),i.map(x=>new An(n,x))]}function c1(n,e,t,i,a){var u;const f=(e+63&-64)>>3;for(let h=-1,m=i.length;++h=e)v===e?t[h]=g:(t[h]=g.slice(0,e),a.numBatches=Math.max(a.numBatches,i[h].unshift(g.slice(e,v-e))));else{const x=n[h];n[h]=x.clone({nullable:!0}),t[h]=(u=g==null?void 0:g._changeLengthAndBackfillNullBitmap(e))!==null&&u!==void 0?u:Ee({type:x.type,length:e,nullCount:e,nullBitmap:new Uint8Array(f)})}}return t}var av;class mn{constructor(...e){var t,i;if(e.length===0)return this.batches=[],this.schema=new We([]),this._offsets=[0],this;let a,u;e[0]instanceof We&&(a=e.shift()),e.at(-1)instanceof Uint32Array&&(u=e.pop());const f=m=>{if(m){if(m instanceof An)return[m];if(m instanceof mn)return m.batches;if(m instanceof Ye){if(m.type instanceof Tt)return[new An(new We(m.type.children),m)]}else{if(Array.isArray(m))return m.flatMap(g=>f(g));if(typeof m[Symbol.iterator]=="function")return[...m].flatMap(g=>f(g));if(typeof m=="object"){const g=Object.keys(m),v=g.map(w=>new Je([m[w]])),x=a??new We(g.map((w,j)=>new nt(String(w),v[j].type,v[j].nullable))),[,b]=od(x,v);return b.length===0?[new An(m)]:b}}}return[]},h=e.flatMap(m=>f(m));if(a=(i=a??((t=h[0])===null||t===void 0?void 0:t.schema))!==null&&i!==void 0?i:new We([]),!(a instanceof We))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");for(const m of h){if(!(m instanceof An))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");if(!l1(a,m.schema))throw new TypeError("Table and inner RecordBatch schemas must be equivalent.")}this.schema=a,this.batches=h,this._offsets=u??Jg(this.data)}get data(){return this.batches.map(({data:e})=>e)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((e,t)=>e+t.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=Kg(this.data)),this._nullCount}isValid(e){return!1}get(e){return null}at(e){return this.get(Vd(e,this.numRows))}set(e,t){}indexOf(e,t){return-1}[Symbol.iterator](){return this.batches.length>0?Yd.visit(new Je(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[ + ${this.toArray().join(`, + `)} +]`}concat(...e){const t=this.schema,i=this.data.concat(e.flatMap(({data:a})=>a));return new mn(t,i.map(a=>new An(t,a)))}slice(e,t){const i=this.schema;[e,t]=Yg({length:this.numRows},e,t);const a=qg(this.data,this._offsets,e,t);return new mn(i,a.map(u=>new An(i,u)))}getChild(e){return this.getChildAt(this.schema.fields.findIndex(t=>t.name===e))}getChildAt(e){if(e>-1&&ei.children[e]);if(t.length===0){const{type:i}=this.schema.fields[e],a=Ee({type:i,length:0,nullCount:0});t.push(a._changeLengthAndBackfillNullBitmap(this.numRows))}return new Je(t)}return null}setChild(e,t){var i;return this.setChildAt((i=this.schema.fields)===null||i===void 0?void 0:i.findIndex(a=>a.name===e),t)}setChildAt(e,t){let i=this.schema,a=[...this.batches];if(e>-1&&ethis.getChildAt(g));[u[e],h[e]]=[f,t],[i,a]=od(i,h)}return new mn(i,a)}select(e){const t=this.schema.fields.reduce((i,a,u)=>i.set(a.name,u),new Map);return this.selectAt(e.map(i=>t.get(i)).filter(i=>i>-1))}selectAt(e){const t=this.schema.selectAt(e),i=this.batches.map(a=>a.selectAt(e));return new mn(t,i)}assign(e){const t=this.schema.fields,[i,a]=e.schema.fields.reduce((h,m,g)=>{const[v,x]=h,b=t.findIndex(w=>w.name===m.name);return~b?x[b]=g:v.push(g),h},[[],[]]),u=this.schema.assign(e.schema),f=[...t.map((h,m)=>[m,a[m]]).map(([h,m])=>m===void 0?this.getChildAt(h):e.getChildAt(m)),...i.map(h=>e.getChildAt(h))].filter(Boolean);return new mn(...od(u,f))}}av=Symbol.toStringTag;mn[av]=(n=>(n.schema=null,n.batches=[],n._offsets=new Uint32Array([0]),n._nullCount=-1,n[Symbol.isConcatSpreadable]=!0,n.isValid=zl(Gd),n.get=zl(Gt.getVisitFn(M.Struct)),n.set=Zg(vn.getVisitFn(M.Struct)),n.indexOf=Xg(Vl.getVisitFn(M.Struct)),"Table"))(mn.prototype);var lv;let An=class Oo{constructor(...e){switch(e.length){case 2:{if([this.schema]=e,!(this.schema instanceof We))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");if([,this.data=Ee({nullCount:0,type:new Tt(this.schema.fields),children:this.schema.fields.map(t=>Ee({type:t.type,nullCount:0}))})]=e,!(this.data instanceof Ye))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");[this.schema,this.data]=Mm(this.schema,this.data.children);break}case 1:{const[t]=e,{fields:i,children:a,length:u}=Object.keys(t).reduce((m,g,v)=>(m.children[v]=t[g],m.length=Math.max(m.length,t[g].length),m.fields[v]=nt.new({name:g,type:t[g].type,nullable:!0}),m),{length:0,fields:new Array,children:new Array}),f=new We(i),h=Ee({type:new Tt(i),length:u,children:a,nullCount:0});[this.schema,this.data]=Mm(f,h.children,u);break}default:throw new TypeError("RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.")}}get dictionaries(){return this._dictionaries||(this._dictionaries=uv(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(e){return this.data.getValid(e)}get(e){return Gt.visit(this.data,e)}at(e){return this.get(Vd(e,this.numRows))}set(e,t){return vn.visit(this.data,e,t)}indexOf(e,t){return Vl.visit(this.data,e,t)}[Symbol.iterator](){return Yd.visit(new Je([this.data]))}toArray(){return[...this]}concat(...e){return new mn(this.schema,[this,...e])}slice(e,t){const[i]=new Je([this.data]).slice(e,t).data;return new Oo(this.schema,i)}getChild(e){var t;return this.getChildAt((t=this.schema.fields)===null||t===void 0?void 0:t.findIndex(i=>i.name===e))}getChildAt(e){return e>-1&&ea.name===e),t)}setChildAt(e,t){let i=this.schema,a=this.data;if(e>-1&&eh.name===u);~f&&(a[f]=this.data.children[f])}return new Oo(t,Ee({type:i,length:this.numRows,children:a}))}selectAt(e){const t=this.schema.selectAt(e),i=e.map(u=>this.data.children[u]).filter(Boolean),a=Ee({type:new Tt(t.fields),length:this.numRows,children:i});return new Oo(t,a)}};lv=Symbol.toStringTag;An[lv]=(n=>(n._nullCount=-1,n[Symbol.isConcatSpreadable]=!0,"RecordBatch"))(An.prototype);function Mm(n,e,t=e.reduce((i,a)=>Math.max(i,a.length),0)){var i;const a=[...n.fields],u=[...e],f=(t+63&-64)>>3;for(const[h,m]of n.fields.entries()){const g=e[h];(!g||g.length!==t)&&(a[h]=m.clone({nullable:!0}),u[h]=(i=g==null?void 0:g._changeLengthAndBackfillNullBitmap(t))!==null&&i!==void 0?i:Ee({type:m.type,length:t,nullCount:t,nullBitmap:new Uint8Array(f)}))}return[n.assign(a),Ee({type:new Tt(a),length:t,children:u})]}function uv(n,e,t=new Map){var i,a;if(((i=n==null?void 0:n.length)!==null&&i!==void 0?i:0)>0&&(n==null?void 0:n.length)===(e==null?void 0:e.length))for(let u=-1,f=n.length;++uEe({type:a.type})),i=Ee({type:new Tt(e.fields),nullCount:0,children:t});super(e,i)}}let qr=class Hn{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsMessage(e,t){return(t||new Hn).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsMessage(e,t){return e.setPosition(e.position()+He),(t||new Hn).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):ht.V1}headerType(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb_pos+e):Ve.NONE}header(e){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__union(e,this.bb_pos+t):null}bodyLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt64(this.bb_pos+e):BigInt("0")}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,12);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startMessage(e){e.startObject(5)}static addVersion(e,t){e.addFieldInt16(0,t,ht.V1)}static addHeaderType(e,t){e.addFieldInt8(1,t,Ve.NONE)}static addHeader(e,t){e.addFieldOffset(2,t,0)}static addBodyLength(e,t){e.addFieldInt64(3,t,BigInt("0"))}static addCustomMetadata(e,t){e.addFieldOffset(4,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endMessage(e){return e.endObject()}static finishMessageBuffer(e,t){e.finish(t)}static finishSizePrefixedMessageBuffer(e,t){e.finish(t,void 0,!0)}static createMessage(e,t,i,a,u,f){return Hn.startMessage(e),Hn.addVersion(e,t),Hn.addHeaderType(e,i),Hn.addHeader(e,a),Hn.addBodyLength(e,u),Hn.addCustomMetadata(e,f),Hn.endMessage(e)}};class d1 extends Re{visit(e,t){return e==null||t==null?void 0:super.visit(e,t)}visitNull(e,t){return vm.startNull(t),vm.endNull(t)}visitInt(e,t){return en.startInt(t),en.addBitWidth(t,e.bitWidth),en.addIsSigned(t,e.isSigned),en.endInt(t)}visitFloat(e,t){return Kn.startFloatingPoint(t),Kn.addPrecision(t,e.precision),Kn.endFloatingPoint(t)}visitBinary(e,t){return hm.startBinary(t),hm.endBinary(t)}visitLargeBinary(e,t){return mm.startLargeBinary(t),mm.endLargeBinary(t)}visitBool(e,t){return pm.startBool(t),pm.endBool(t)}visitUtf8(e,t){return xm.startUtf8(t),xm.endUtf8(t)}visitLargeUtf8(e,t){return ym.startLargeUtf8(t),ym.endLargeUtf8(t)}visitDecimal(e,t){return ci.startDecimal(t),ci.addScale(t,e.scale),ci.addPrecision(t,e.precision),ci.addBitWidth(t,e.bitWidth),ci.endDecimal(t)}visitDate(e,t){return hl.startDate(t),hl.addUnit(t,e.unit),hl.endDate(t)}visitTime(e,t){return hn.startTime(t),hn.addUnit(t,e.unit),hn.addBitWidth(t,e.bitWidth),hn.endTime(t)}visitTimestamp(e,t){const i=e.timezone&&t.createString(e.timezone)||void 0;return pn.startTimestamp(t),pn.addUnit(t,e.unit),i!==void 0&&pn.addTimezone(t,i),pn.endTimestamp(t)}visitInterval(e,t){return Jn.startInterval(t),Jn.addUnit(t,e.unit),Jn.endInterval(t)}visitDuration(e,t){return pl.startDuration(t),pl.addUnit(t,e.unit),pl.endDuration(t)}visitList(e,t){return gm.startList(t),gm.endList(t)}visitStruct(e,t){return ks.startStruct_(t),ks.endStruct_(t)}visitUnion(e,t){Vt.startTypeIdsVector(t,e.typeIds.length);const i=Vt.createTypeIdsVector(t,e.typeIds);return Vt.startUnion(t),Vt.addMode(t,e.mode),Vt.addTypeIds(t,i),Vt.endUnion(t)}visitDictionary(e,t){const i=this.visit(e.indices,t);return wr.startDictionaryEncoding(t),wr.addId(t,BigInt(e.id)),wr.addIsOrdered(t,e.isOrdered),i!==void 0&&wr.addIndexType(t,i),wr.endDictionaryEncoding(t)}visitFixedSizeBinary(e,t){return ml.startFixedSizeBinary(t),ml.addByteWidth(t,e.byteWidth),ml.endFixedSizeBinary(t)}visitFixedSizeList(e,t){return yl.startFixedSizeList(t),yl.addListSize(t,e.listSize),yl.endFixedSizeList(t)}visitMap(e,t){return gl.startMap(t),gl.addKeysSorted(t,e.keysSorted),gl.endMap(t)}}const ad=new d1;function f1(n,e=new Map){return new We(p1(n,e),xl(n.metadata),e)}function dv(n){return new Rn(n.count,fv(n.columns),hv(n.columns))}function h1(n){return new kr(dv(n.data),n.id,n.isDelta)}function p1(n,e){return(n.fields||[]).filter(Boolean).map(t=>nt.fromJSON(t,e))}function Dm(n,e){return(n.children||[]).filter(Boolean).map(t=>nt.fromJSON(t,e))}function fv(n){return(n||[]).reduce((e,t)=>[...e,new Ai(t.count,m1(t.VALIDITY)),...fv(t.children)],[])}function hv(n,e=[]){for(let t=-1,i=(n||[]).length;++te+ +(t===0),0)}function y1(n,e){let t,i,a,u,f,h;return!e||!(u=n.dictionary)?(f=Fm(n,Dm(n,e)),a=new nt(n.name,f,n.nullable,xl(n.metadata))):e.has(t=u.id)?(i=(i=u.indexType)?Cm(i):new Lo,h=new Mi(e.get(t),i,t,u.isOrdered),a=new nt(n.name,h,n.nullable,xl(n.metadata))):(i=(i=u.indexType)?Cm(i):new Lo,e.set(t,f=Fm(n,Dm(n,e))),h=new Mi(f,i,t,u.isOrdered),a=new nt(n.name,h,n.nullable,xl(n.metadata))),a||null}function xl(n=[]){return new Map(n.map(({key:e,value:t})=>[e,t]))}function Cm(n){return new Ds(n.isSigned,n.bitWidth)}function Fm(n,e){const t=n.type.name;switch(t){case"NONE":return new ss;case"null":return new ss;case"binary":return new kl;case"largebinary":return new Il;case"utf8":return new Ml;case"largeutf8":return new Dl;case"bool":return new Cl;case"list":return new Rl((e||[])[0]);case"struct":return new Tt(e||[]);case"struct_":return new Tt(e||[])}switch(t){case"int":{const i=n.type;return new Ds(i.isSigned,i.bitWidth)}case"floatingpoint":{const i=n.type;return new jl(Dt[i.precision])}case"decimal":{const i=n.type;return new Fl(i.scale,i.precision,i.bitWidth)}case"date":{const i=n.type;return new Ol(gn[i.unit])}case"time":{const i=n.type;return new Tl(_e[i.unit],i.bitWidth)}case"timestamp":{const i=n.type;return new Al(_e[i.unit],i.timezone)}case"interval":{const i=n.type;return new Bl(nr[i.unit])}case"duration":{const i=n.type;return new El(_e[i.unit])}case"union":{const i=n.type,[a,...u]=(i.mode+"").toLowerCase(),f=a.toUpperCase()+u.join("");return new Ll(Ht[f],i.typeIds||[],e||[])}case"fixedsizebinary":{const i=n.type;return new Ul(i.byteWidth)}case"fixedsizelist":{const i=n.type;return new $l(i.listSize,(e||[])[0])}case"map":{const i=n.type;return new Pl((e||[])[0],i.keysSorted)}}throw new Error(`Unrecognized type: "${t}"`)}var g1=Iy,v1=ki;class Bn{static fromJSON(e,t){const i=new Bn(0,ht.V5,t);return i._createHeader=x1(e,t),i}static decode(e){e=new v1($e(e));const t=qr.getRootAsMessage(e),i=t.bodyLength(),a=t.version(),u=t.headerType(),f=new Bn(i,a,u);return f._createHeader=b1(t,u),f}static encode(e){const t=new g1;let i=-1;return e.isSchema()?i=We.encode(t,e.header()):e.isRecordBatch()?i=Rn.encode(t,e.header()):e.isDictionaryBatch()&&(i=kr.encode(t,e.header())),qr.startMessage(t),qr.addVersion(t,ht.V5),qr.addHeader(t,i),qr.addHeaderType(t,e.headerType),qr.addBodyLength(t,BigInt(e.bodyLength)),qr.finishMessageBuffer(t,qr.endMessage(t)),t.asUint8Array()}static from(e,t=0){if(e instanceof We)return new Bn(0,ht.V5,Ve.Schema,e);if(e instanceof Rn)return new Bn(t,ht.V5,Ve.RecordBatch,e);if(e instanceof kr)return new Bn(t,ht.V5,Ve.DictionaryBatch,e);throw new Error(`Unrecognized Message header: ${e}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===Ve.Schema}isRecordBatch(){return this.headerType===Ve.RecordBatch}isDictionaryBatch(){return this.headerType===Ve.DictionaryBatch}constructor(e,t,i,a){this._version=t,this._headerType=i,this.body=new Uint8Array(0),a&&(this._createHeader=()=>a),this._bodyLength=tt(e)}}class Rn{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}constructor(e,t,i){this._nodes=t,this._buffers=i,this._length=tt(e)}}class kr{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(e,t,i=!1){this._data=e,this._isDelta=i,this._id=tt(t)}}class _r{constructor(e,t){this.offset=tt(e),this.length=tt(t)}}class Ai{constructor(e,t){this.length=tt(e),this.nullCount=tt(t)}}function x1(n,e){return(()=>{switch(e){case Ve.Schema:return We.fromJSON(n);case Ve.RecordBatch:return Rn.fromJSON(n);case Ve.DictionaryBatch:return kr.fromJSON(n)}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)})}function b1(n,e){return(()=>{switch(e){case Ve.Schema:return We.decode(n.header(new Gn),new Map,n.version());case Ve.RecordBatch:return Rn.decode(n.header(new yr),n.version());case Ve.DictionaryBatch:return kr.decode(n.header(new li),n.version())}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)})}nt.encode=F1;nt.decode=D1;nt.fromJSON=y1;We.encode=C1;We.decode=w1;We.fromJSON=f1;Rn.encode=O1;Rn.decode=S1;Rn.fromJSON=dv;kr.encode=T1;kr.decode=_1;kr.fromJSON=h1;Ai.encode=A1;Ai.decode=j1;_r.encode=B1;_r.decode=N1;function w1(n,e=new Map,t=ht.V5){const i=M1(n,e);return new We(i,bl(n),e,t)}function S1(n,e=ht.V5){if(n.compression()!==null)throw new Error("Record batch compression not implemented");return new Rn(n.length(),k1(n),I1(n,e))}function _1(n,e=ht.V5){return new kr(Rn.decode(n.data(),e),n.id(),n.isDelta())}function N1(n){return new _r(n.offset(),n.length())}function j1(n){return new Ai(n.length(),n.nullCount())}function k1(n){const e=[];for(let t,i=-1,a=-1,u=n.nodesLength();++int.encode(n,u));Gn.startFieldsVector(n,t.length);const i=Gn.createFieldsVector(n,t),a=e.metadata&&e.metadata.size>0?Gn.createCustomMetadataVector(n,[...e.metadata].map(([u,f])=>{const h=n.createString(`${u}`),m=n.createString(`${f}`);return gt.startKeyValue(n),gt.addKey(n,h),gt.addValue(n,m),gt.endKeyValue(n)})):-1;return Gn.startSchema(n),Gn.addFields(n,i),Gn.addEndianness(n,E1?Ii.Little:Ii.Big),a!==-1&&Gn.addCustomMetadata(n,a),Gn.endSchema(n)}function F1(n,e){let t=-1,i=-1,a=-1;const u=e.type;let f=e.typeId;me.isDictionary(u)?(f=u.dictionary.typeId,a=ad.visit(u,n),i=ad.visit(u.dictionary,n)):i=ad.visit(u,n);const h=(u.children||[]).map(v=>nt.encode(n,v)),m=dn.createChildrenVector(n,h),g=e.metadata&&e.metadata.size>0?dn.createCustomMetadataVector(n,[...e.metadata].map(([v,x])=>{const b=n.createString(`${v}`),w=n.createString(`${x}`);return gt.startKeyValue(n),gt.addKey(n,b),gt.addValue(n,w),gt.endKeyValue(n)})):-1;return e.name&&(t=n.createString(e.name)),dn.startField(n),dn.addType(n,i),dn.addTypeType(n,f),dn.addChildren(n,m),dn.addNullable(n,!!e.nullable),t!==-1&&dn.addName(n,t),a!==-1&&dn.addDictionary(n,a),g!==-1&&dn.addCustomMetadata(n,g),dn.endField(n)}function O1(n,e){const t=e.nodes||[],i=e.buffers||[];yr.startNodesVector(n,t.length);for(const f of t.slice().reverse())Ai.encode(n,f);const a=n.endVector();yr.startBuffersVector(n,i.length);for(const f of i.slice().reverse())_r.encode(n,f);const u=n.endVector();return yr.startRecordBatch(n),yr.addLength(n,BigInt(e.length)),yr.addNodes(n,a),yr.addBuffers(n,u),yr.endRecordBatch(n)}function T1(n,e){const t=Rn.encode(n,e.data);return li.startDictionaryBatch(n),li.addId(n,BigInt(e.id)),li.addIsDelta(n,e.isDelta),li.addData(n,t),li.endDictionaryBatch(n)}function A1(n,e){return Cy.createFieldNode(n,BigInt(e.length),BigInt(e.nullCount))}function B1(n,e){return Dy.createBuffer(n,BigInt(e.offset),BigInt(e.length))}const E1=(()=>{const n=new ArrayBuffer(2);return new DataView(n).setInt16(0,256,!0),new Int16Array(n)[0]===256})(),Xd=n=>`Expected ${Ve[n]} Message in stream, but was null or length 0.`,ef=n=>`Header pointer of flatbuffer-encoded ${Ve[n]} Message is null or length 0.`,pv=(n,e)=>`Expected to read ${n} metadata bytes, but only read ${e}.`,mv=(n,e)=>`Expected to read ${n} bytes for message body, but only read ${e}.`;class yv{constructor(e){this.source=e instanceof Hl?e:new Hl(e)}[Symbol.iterator](){return this}next(){let e;return(e=this.readMetadataLength()).done||e.value===-1&&(e=this.readMetadataLength()).done||(e=this.readMetadata(e.value)).done?at:e}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}readMessage(e){let t;if((t=this.next()).done)return null;if(e!=null&&t.value.headerType!==e)throw new Error(Xd(e));return t.value}readMessageBody(e){if(e<=0)return new Uint8Array(0);const t=$e(this.source.read(e));if(t.byteLength[...a,...u.VALIDITY&&[u.VALIDITY]||[],...u.TYPE_ID&&[u.TYPE_ID]||[],...u.OFFSET&&[u.OFFSET]||[],...u.DATA&&[u.DATA]||[],...t(u.children)],[])}}readMessage(e){let t;if((t=this.next()).done)return null;if(e!=null&&t.value.headerType!==e)throw new Error(Xd(e));return t.value}readSchema(){const e=Ve.Schema,t=this.readMessage(e),i=t==null?void 0:t.header();if(!t||!i)throw new Error(ef(e));return i}}const iu=4,Cd="ARROW1",Yl=new Uint8Array(Cd.length);for(let n=0;nthis):this}readRecordBatch(e){return this._impl.isFile()?this._impl.readRecordBatch(e):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return fn.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return fn.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,t){throw new Error('"throughDOM" not available in this environment')}static from(e){return e instanceof jr?e:bd(e)?V1(e):wy(e)?G1(e):Ao(e)?Fe(this,void 0,void 0,function*(){return yield jr.from(yield e)}):Sy(e)||Rd(e)||Ny(e)||Ed(e)?H1(new Ci(e)):W1(new Hl(e))}static readAll(e){return e instanceof jr?e.isSync()?Bm(e):Em(e):bd(e)||ArrayBuffer.isView(e)||nu(e)||by(e)?Bm(e):Em(e)}}class Ql extends jr{constructor(e){super(e),this._impl=e}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return qn(this,arguments,function*(){yield Ae(yield*fl(xi(this[Symbol.iterator]())))})}}class Kl extends jr{constructor(e){super(e),this._impl=e}readAll(){return Fe(this,void 0,void 0,function*(){var e,t,i,a;const u=new Array;try{for(var f=!0,h=xi(this),m;m=yield h.next(),e=m.done,!e;f=!0){a=m.value,f=!1;const g=a;u.push(g)}}catch(g){t={error:g}}finally{try{!f&&!e&&(i=h.return)&&(yield i.call(h))}finally{if(t)throw t.error}}return u})}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}}class vv extends Ql{constructor(e){super(e),this._impl=e}}class $1 extends Kl{constructor(e){super(e),this._impl=e}}class xv{get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}constructor(e=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=e}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(e){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=e,this.dictionaries=new Map,this}_loadRecordBatch(e,t){const i=this._loadVectors(e,t,this.schema.fields),a=Ee({type:new Tt(this.schema.fields),length:e.length,children:i});return new An(this.schema,a)}_loadDictionaryBatch(e,t){const{id:i,isDelta:a}=e,{dictionaries:u,schema:f}=this,h=u.get(i),m=f.dictionaries.get(i),g=this._loadVectors(e.data,t,[m]);return(h&&a?h.concat(new Je(g)):new Je(g)).memoize()}_loadVectors(e,t,i){return new ov(t,e.nodes,e.buffers,this.dictionaries,this.schema.metadataVersion).visitMany(i)}}class Jl extends xv{constructor(e,t){super(t),this._reader=bd(e)?new L1(this._handle=e):new yv(this._handle=e)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(e){return this.closed||(this.autoDestroy=wv(this,e),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(e):at}return(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(e):at}next(){if(this.closed)return at;let e;const{_reader:t}=this;for(;e=this._readNextMessageAndValidate();)if(e.isSchema())this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const i=e.header(),a=t.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(i,a)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const i=e.header(),a=t.readMessageBody(e.bodyLength),u=this._loadDictionaryBatch(i,a);this.dictionaries.set(i.id,u)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new cv(this.schema)}):this.return()}_readNextMessageAndValidate(e){return this._reader.readMessage(e)}}class ql extends xv{constructor(e,t){super(t),this._reader=new R1(this._handle=e)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return Fe(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(e){return Fe(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=wv(this,e),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(e){return Fe(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(e):at})}return(e){return Fe(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(e):at})}next(){return Fe(this,void 0,void 0,function*(){if(this.closed)return at;let e;const{_reader:t}=this;for(;e=yield this._readNextMessageAndValidate();)if(e.isSchema())yield this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const i=e.header(),a=yield t.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(i,a)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const i=e.header(),a=yield t.readMessageBody(e.bodyLength),u=this._loadDictionaryBatch(i,a);this.dictionaries.set(i.id,u)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new cv(this.schema)}):yield this.return()})}_readNextMessageAndValidate(e){return Fe(this,void 0,void 0,function*(){return yield this._reader.readMessage(e)})}}class bv extends Jl{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(e,t){super(e instanceof Im?e:new Im(e),t)}isSync(){return!0}isFile(){return!0}open(e){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(const t of this._footer.dictionaryBatches())t&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(e)}readRecordBatch(e){var t;if(this.closed)return null;this._footer||this.open();const i=(t=this._footer)===null||t===void 0?void 0:t.getRecordBatch(e);if(i&&this._handle.seek(i.offset)){const a=this._reader.readMessage(Ve.RecordBatch);if(a!=null&&a.isRecordBatch()){const u=a.header(),f=this._reader.readMessageBody(a.bodyLength);return this._loadRecordBatch(u,f)}}return null}_readDictionaryBatch(e){var t;const i=(t=this._footer)===null||t===void 0?void 0:t.getDictionaryBatch(e);if(i&&this._handle.seek(i.offset)){const a=this._reader.readMessage(Ve.DictionaryBatch);if(a!=null&&a.isDictionaryBatch()){const u=a.header(),f=this._reader.readMessageBody(a.bodyLength),h=this._loadDictionaryBatch(u,f);this.dictionaries.set(u.id,h)}}}_readFooter(){const{_handle:e}=this,t=e.size-gv,i=e.readInt32(t),a=e.readAt(t-i,i);return Qd.decode(a)}_readNextMessageAndValidate(e){var t;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return Fe(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(const i of this._footer.dictionaryBatches())i&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield t.open.call(this,e)})}readRecordBatch(e){return Fe(this,void 0,void 0,function*(){var t;if(this.closed)return null;this._footer||(yield this.open());const i=(t=this._footer)===null||t===void 0?void 0:t.getRecordBatch(e);if(i&&(yield this._handle.seek(i.offset))){const a=yield this._reader.readMessage(Ve.RecordBatch);if(a!=null&&a.isRecordBatch()){const u=a.header(),f=yield this._reader.readMessageBody(a.bodyLength);return this._loadRecordBatch(u,f)}}return null})}_readDictionaryBatch(e){return Fe(this,void 0,void 0,function*(){var t;const i=(t=this._footer)===null||t===void 0?void 0:t.getDictionaryBatch(e);if(i&&(yield this._handle.seek(i.offset))){const a=yield this._reader.readMessage(Ve.DictionaryBatch);if(a!=null&&a.isDictionaryBatch()){const u=a.header(),f=yield this._reader.readMessageBody(a.bodyLength),h=this._loadDictionaryBatch(u,f);this.dictionaries.set(u.id,h)}}})}_readFooter(){return Fe(this,void 0,void 0,function*(){const{_handle:e}=this;e._pending&&(yield e._pending);const t=e.size-gv,i=yield e.readInt32(t),a=yield e.readAt(t-i,i);return Qd.decode(a)})}_readNextMessageAndValidate(e){return Fe(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?tf(e)?new vv(new bv(n.read())):new Ql(new Jl(n)):new Ql(new Jl((function*(){})()))}function H1(n){return Fe(this,void 0,void 0,function*(){const e=yield n.peek(Wo+7&-8);return e&&e.byteLength>=4?tf(e)?new vv(new bv(yield n.read())):new Kl(new ql(n)):new Kl(new ql((function(){return qn(this,arguments,function*(){})})()))})}function G1(n){return Fe(this,void 0,void 0,function*(){const{size:e}=yield n.stat(),t=new Gl(n,e);return e>=U1&&tf(yield t.readAt(0,Wo+7&-8))?new $1(new P1(t)):new Kl(new ql(t))})}function Sv(n){const e=jr.from(n);return Ao(e)?e.then(t=>Sv(t)):e.isAsync()?e.readAll().then(t=>new mn(t)):new mn(e.readAll())}function Y1(n){if(n==null)return null;if(typeof n=="bigint"){const e=Number(n);return Number.isSafeInteger(e)?e:n.toString()}if(n instanceof Date){const e=n.toISOString();return e.endsWith("T00:00:00.000Z")?e.slice(0,10):e}return typeof n=="object"?String(n):n}function Q1(n){const e=Sv(n),t=e.schema.fields.map(a=>a.name),i=new Array(e.numRows);for(let a=0;a({...e,charts:e.charts.map(t=>{var f,h;const i=t.query,a=(f=t.interactions)==null?void 0:f.brush,u=(h=t.interactions)==null?void 0:h.select;return{...t,query:{...i,metrics:Zr(i.metrics)??[],dimensions:Zr(i.dimensions),filters:Zr(i.filters),segments:Zr(i.segments),order_by:Zr(i.order_by),orderBy:Zr(i.orderBy)},interactions:t.interactions?{...t.interactions,brush:typeof a=="object"?{...a,fields:Zr(a.fields)}:a,select:typeof u=="object"?{...u,fields:Zr(u.fields)}:u}:void 0}})}))}}const J1="application/vnd.apache.arrow.stream";class q1{constructor(e){Mn(this,"active",0);Mn(this,"waiters",[]);this.max=e}async run(e){var t;this.active>=this.max&&await new Promise(i=>this.waiters.push(i)),this.active+=1;try{return await e()}finally{this.active-=1,(t=this.waiters.shift())==null||t()}}}function Z1(n){var t,i,a,u,f;const e={};return(t=n.metrics)!=null&&t.length&&(e.metrics=n.metrics),(i=n.dimensions)!=null&&i.length&&(e.dimensions=n.dimensions),(a=n.filters)!=null&&a.length&&(e.filters=n.filters),(u=n.segments)!=null&&u.length&&(e.segments=n.segments),(f=n.orderBy)!=null&&f.length&&(e.order_by=n.orderBy),n.limit!=null&&(e.limit=n.limit),n.offset!=null&&(e.offset=n.offset),n.ungrouped&&(e.ungrouped=!0),n.parameters&&(e.parameters=n.parameters),n.usePreaggregations!=null&&(e.use_preaggregations=n.usePreaggregations),n.timezone&&n.timezone!=="UTC"&&(e.timezone=n.timezone),e}class X1{constructor(e={}){Mn(this,"baseUrl");Mn(this,"token");Mn(this,"sessionToken");Mn(this,"transport");Mn(this,"usePreaggregations");Mn(this,"gate");Mn(this,"onUnauthorized");this.baseUrl=(e.baseUrl??"").replace(/\/$/,""),this.token=e.token,this.transport=e.transport??"json",this.usePreaggregations=e.usePreaggregations??!0,this.gate=new q1(e.maxConcurrency??6),this.onUnauthorized=e.onUnauthorized}body(e){return Z1({usePreaggregations:this.usePreaggregations,...e})}headers(e){const t={...e};return this.sessionToken?t.Authorization=`Sidemantic-Session ${this.sessionToken}`:this.token&&(t.Authorization=`Bearer ${this.token}`),t}isCrossOrigin(){return!this.baseUrl||typeof globalThis.location>"u"?!1:new URL(this.baseUrl,globalThis.location.href).origin!==globalThis.location.origin}url(e){return`${this.baseUrl}${e}`}async getJson(e){const t=await fetch(this.url(e),{headers:this.headers(),credentials:"include"});if(!t.ok)throw new Error(await this.errorText(t,e));return await t.json()}async errorText(e,t){var a;e.status===401&&((a=this.onUnauthorized)==null||a.call(this));let i="";try{const u=await e.json();i=u.error??u.detail??""}catch{}return`${t} failed (${e.status})${i?`: ${i}`:""}`}async health(){try{return(await fetch(this.url("/health"),{headers:this.headers(),credentials:"include"})).ok}catch{return!1}}async getCatalog(){try{const t=await fetch(this.url("/describe"),{headers:this.headers(),credentials:"include"});if(t.ok){const i=vb(await t.json());try{return bb(i,await this.getJson("/graph"))}catch{return i}}}catch{}const e=await this.getJson("/graph");return xb(e)}async getDashboard(){try{const e=await fetch(this.url("/dashboard"),{headers:this.headers()});if(e.status===404)return null;if(!e.ok)throw new Error(await this.errorText(e,"/dashboard"));if(!(e.headers.get("content-type")??"").includes("application/json"))return null;const t=await e.json();return typeof t.title=="string"&&Array.isArray(t.tabs)?K1(t):null}catch{return null}}async compile(e){const t=await fetch(this.url("/compile"),{method:"POST",headers:this.headers({"Content-Type":"application/json"}),credentials:"include",body:JSON.stringify(this.body(e))});if(!t.ok)throw new Error(await this.errorText(t,"/compile"));return(await t.json()).sql}async runQuery(e){return this.gate.run(()=>this.transport==="arrow"?this.runQueryArrow(e):this.runQueryJson(e))}async runQueryJson(e){const t=await fetch(this.url("/query"),{method:"POST",headers:this.headers({"Content-Type":"application/json"}),credentials:"include",body:JSON.stringify(this.body(e))});if(!t.ok)throw new Error(await this.errorText(t,"/query"));const i=await t.json(),a=i.rows??[];return{columns:a.length?Object.keys(a[0]):[],rows:a,rowCount:i.row_count??a.length,sql:i.sql??""}}async runQueryArrow(e){const t=await fetch(this.url("/query?format=arrow"),{method:"POST",headers:this.headers({"Content-Type":"application/json",Accept:J1}),credentials:"include",body:JSON.stringify(this.body(e))});if(!t.ok)throw new Error(await this.errorText(t,"/query"));const i=new Uint8Array(await t.arrayBuffer()),{columns:a,rows:u}=Q1(i),f=t.headers.get("X-Sidemantic-Sql")??"";return{columns:a,rows:u,rowCount:u.length,sql:f}}async createBrowserSession(e){var a;const t=this.isCrossOrigin(),i=await fetch(this.url("/auth/session"),{method:"POST",headers:{Authorization:`Bearer ${e}`,...t?{"X-Sidemantic-Session-Mode":"header"}:{}},credentials:"include"});if(i.status===404||i.ok&&!((a=i.headers.get("content-type"))!=null&&a.includes("application/json"))){this.token=e;return}if(!i.ok)throw new Error(await this.errorText(i,"/auth/session"));if(t){const u=await i.json();if(!u.session_token)throw new Error("/auth/session did not return a cross-origin session token");this.sessionToken=u.session_token}this.token=void 0}}function _v({brand:n,toolbar:e,filters:t,rail:i,children:a,drawer:u,showRail:f=!0,openRailRequest:h}){const[m,g]=D.useState(()=>typeof window<"u"&&window.matchMedia("(max-width: 767px)").matches),[v,x]=D.useState(()=>typeof window>"u"||!window.matchMedia("(max-width: 767px)").matches),b=D.useId(),w=D.useRef(null),j=D.useRef(null),C=f&&v;return D.useEffect(()=>{const O=window.matchMedia("(max-width: 767px)"),H=()=>{g(O.matches),x(!O.matches)};return O.addEventListener("change",H),()=>O.removeEventListener("change",H)},[]),D.useEffect(()=>{h&&!m&&x(!0)},[h,m]),D.useEffect(()=>{if(!m||!v)return;const O=j.current,H=document.body.style.overflow;document.body.style.overflow="hidden",window.requestAnimationFrame(()=>{var R,T;return(T=(R=w.current)==null?void 0:R.querySelector("button"))==null?void 0:T.focus()});function L(R){var U;if(R.key==="Escape"){R.preventDefault(),x(!1);return}if(R.key!=="Tab")return;const T=(U=w.current)==null?void 0:U.querySelectorAll('button:not(:disabled), select:not(:disabled), input:not(:disabled), [href], [tabindex]:not([tabindex="-1"])');if(!(T!=null&&T.length))return;const E=T[0],I=T[T.length-1];R.shiftKey&&document.activeElement===E?(R.preventDefault(),I.focus()):!R.shiftKey&&document.activeElement===I&&(R.preventDefault(),E.focus())}return document.addEventListener("keydown",L,!0),()=>{document.body.style.overflow=H,document.removeEventListener("keydown",L,!0),O==null||O.focus()}},[m,v]),c.jsxs("div",{className:"flex h-[100dvh] min-w-0 flex-col overflow-hidden bg-bg text-ink",children:[c.jsxs("header",{className:"relative z-40 flex shrink-0 flex-col gap-2 border-b border-line bg-surface px-3 py-2 md:flex-row md:items-center md:justify-between md:gap-3",children:[c.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[f?c.jsx("button",{ref:j,type:"button","aria-label":m?"Open catalog":v?"Collapse sidebar":"Expand sidebar","aria-expanded":v,"aria-controls":b,onClick:()=>x(O=>!O),className:"grid size-7 shrink-0 place-items-center border border-line text-faint hover:border-faint hover:text-ink",children:v?"‹":"›"}):null,n]}),c.jsx("div",{className:"flex w-full min-w-0 flex-wrap items-center gap-2 overflow-visible md:w-auto md:shrink-0 md:flex-nowrap",children:e})]}),t?c.jsx("div",{className:"flex min-h-9 shrink-0 flex-wrap items-center gap-2 overflow-x-auto border-b border-line bg-surface px-3 py-2 md:h-9 md:flex-nowrap md:py-0",children:t}):null,c.jsxs("div",{className:`grid min-h-0 min-w-0 flex-1 grid-cols-1 ${C?"md:grid-cols-[260px_minmax(0,1fr)]":"md:grid-cols-1"}`,children:[f&&C?c.jsxs(c.Fragment,{children:[m?c.jsx("button",{type:"button","aria-label":"Close catalog",className:"fixed inset-0 z-40 bg-black/35 backdrop-blur-[2px]",onClick:()=>x(!1)}):null,c.jsxs("aside",{id:b,ref:w,role:m?"dialog":void 0,"aria-modal":m?"true":void 0,"aria-label":m?"Data catalog":void 0,onClick:O=>{m&&O.target.closest("[data-catalog-metric], [data-catalog-dimension]")&&x(!1)},onChange:()=>m&&x(!1),className:"fixed inset-y-0 left-0 z-50 min-h-0 w-[min(88vw,320px)] overflow-y-auto bg-surface shadow-[var(--shadow)] md:static md:z-auto md:w-auto md:border-r md:border-line md:shadow-none",children:[m?c.jsxs("div",{"data-testid":"catalog-drawer-header",className:"sticky top-0 z-10 flex items-center justify-between border-b border-line bg-surface px-4 py-3",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-sm font-semibold text-ink",children:"Catalog"}),c.jsx("p",{className:"text-xs text-muted",children:"Choose a model and fields"})]}),c.jsx("button",{type:"button","aria-label":"Close catalog",onClick:()=>x(!1),className:"grid size-10 place-items-center rounded-full bg-surface-soft text-muted hover:bg-line hover:text-ink",children:c.jsx("span",{"aria-hidden":"true",className:"text-xl leading-none",children:"×"})})]}):null,i]})]}):null,c.jsxs("main",{className:"relative min-h-0 min-w-0 overflow-hidden",children:[c.jsx("div",{className:`h-full overflow-y-auto ${u?"pb-8":""}`,children:a}),u]})]})]})}function eS({dashboardTitle:n,modelLabel:e,onHome:t}){const i=c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"text-sm font-semibold text-ink",children:n??"Sidemantic"}),n===void 0&&e?c.jsx("span",{className:"truncate text-2xs text-faint",children:e}):null]});return n!==void 0?c.jsx("span",{className:"flex min-w-0 items-baseline gap-2",children:i}):c.jsx("button",{type:"button",onClick:t,"aria-label":"Home",className:"flex min-w-0 items-baseline gap-2",children:i})}const tS=new Set(["second","minute","hour","day","week","month","quarter","year"]);function il(n){return n===void 0?[]:Array.isArray(n)?n:[n]}function ol(n,e){return n.models.flatMap(t=>t.dimensions).find(t=>e===t.ref||e.startsWith(`${t.ref}__`))}function nS(n,e){const t=n.split("__").at(-1);return t&&tS.has(t)?t:e}function rS(n){var a;const e=(a=n.defaults)==null?void 0:a.query;if(!e||typeof e!="object")return;const t=e,i=t.use_preaggregations??t.usePreaggregations;return typeof i=="boolean"?i:void 0}function sS(n,e){var u;const t=(u=n.defaults)==null?void 0:u.query,i=t&&typeof t=="object"?t:{},a=e.query.interaction_preaggregations??e.query.interactionPreaggregations??e.interaction_preaggregations??e.interactionPreaggregations??i.interaction_preaggregations??i.interactionPreaggregations;return typeof a=="boolean"?a:void 0}function Cs(n,e,t){var T,E,I,U,G,V,Q;if(!(e!=null&&e.tabs.length))return null;const i=e.tabs.find(z=>z.id===t)??e.tabs[0],a=i.charts[0];if(!a)return null;const u=il(a.query.dimensions),f=il(a.query.metrics),h=f.map(z=>{var ee;return(ee=n.graphMetrics.find(X=>X.ref===z))==null?void 0:ee.ownerModel}).find(z=>!!z),m=((T=f.find(z=>z.includes(".")))==null?void 0:T.split(".")[0])??h??((E=u.find(z=>z.includes(".")))==null?void 0:E.split(".")[0]),g=n.models.find(z=>z.name===m)??n.models[0];if(!g)return null;const v=[...n.models.flatMap(z=>z.metrics),...ji(n,g.name)],x=f.map(z=>v.find(ee=>ee.ref===z)).filter(z=>!!z),b=u.map(z=>ol(n,z)).filter((z,ee,X)=>!!z&&X.findIndex(ie=>(ie==null?void 0:ie.ref)===(z==null?void 0:z.ref))===ee),w=(I=a.encoding)==null?void 0:I.y,C=(Array.isArray(w)?w:w?[w]:[]).find(z=>x.some(ee=>ee.ref===z))??((U=x[0])==null?void 0:U.ref)??((G=g.metrics[0])==null?void 0:G.ref)??"",O=(V=a.encoding)==null?void 0:V.x,H=(O&&((Q=ol(n,O))==null?void 0:Q.type)==="time"?O:void 0)??u.find(z=>{var ee;return((ee=ol(n,z))==null?void 0:ee.type)==="time"}),L=g.defaultGrain??"month",R=H?ol(n,H):g.timeDimension;return{id:i.id,label:i.label??i.id,title:a.title??e.title,model:g,metrics:x.length?x:g.metrics,dimensions:b.length?b:g.dimensions,timeDimension:R,selectedMetric:C,grain:H?nS(H,L):L,filters:il(a.query.filters),segments:il(a.query.segments),usePreaggregations:sS(e,a)??a.query.use_preaggregations??a.query.usePreaggregations??rS(e)}}const Fd=["second","minute","hour","day","week","month","quarter","year"];function iS(n,e){if(n!=null&&n.length){const i=new Set(n.map(u=>u.toLowerCase())),a=Fd.filter(u=>i.has(u));if(a.length)return a}const t=["day","week","month","quarter","year"];return e&&!t.includes(e)?Fd.filter(i=>i===e||t.includes(i)):t}function Ni(n){return n.toISOString().slice(0,10)}function nf(n){return n.slice(0,10)}function Oi(n){const e=n.trim();return/^\d{4}-\d{2}-\d{2}$/.test(e)?`${e}T00:00:00Z`:/[zZ]|[+-]\d{2}:?\d{2}$/.test(e)?e:`${e.replace(" ","T")}Z`}function Fs(n){return new Date(`${nf(n)}T00:00:00Z`)}function Uo(n,e){const t=Fs(n);return t.setUTCDate(t.getUTCDate()+e),Ni(t)}function oS(n){return Math.round((Fs(n.to).getTime()-Fs(n.from).getTime())/864e5)+1}function aS(n){if(n.from.includes("T")||n.to.includes("T")){const a=Date.parse(Oi(n.from)),f=Date.parse(Oi(n.to))-a;return{from:new Date(a-f).toISOString().slice(0,19),to:new Date(a).toISOString().slice(0,19)}}const e=oS(n),t=Uo(n.from,-1);return{from:Uo(t,-(e-1)),to:t}}function Rm(n){if(n.includes("T")){const f=new Date(Oi(n)),h=f.getUTCFullYear()-1,m=f.getUTCMonth(),g=new Date(Date.UTC(h,m+1,0)).getUTCDate();return new Date(Date.UTC(h,m,Math.min(f.getUTCDate(),g),f.getUTCHours(),f.getUTCMinutes(),f.getUTCSeconds())).toISOString().slice(0,19)}const e=Fs(n),t=e.getUTCFullYear()-1,i=e.getUTCMonth(),a=e.getUTCDate(),u=new Date(Date.UTC(t,i+1,0)).getUTCDate();return Ni(new Date(Date.UTC(t,i,Math.min(a,u))))}function lS(n){return{from:Rm(n.from),to:Rm(n.to)}}function uS(n,e){const t=n.trim(),i=t.slice(0,10);if(e!=="second"&&e!=="minute"&&e!=="hour")return i||n;const a=t.slice(10).match(/(\d{2}):(\d{2})(?::(\d{2}))?/);if(!a)return i||n;const u=e==="second"&&a[3]?`${a[1]}:${a[2]}:${a[3]}`:`${a[1]}:${a[2]}`;return`${i} ${u}`}const cS=[{key:"7d",label:"Last 7 days",days:7},{key:"28d",label:"Last 28 days",days:28},{key:"90d",label:"Last 90 days",days:90},{key:"180d",label:"Last 180 days",days:180},{key:"365d",label:"Last 12 months",days:365}];function dS(n,e=new Date){const t=Ni(e);return{from:Uo(t,-(n-1)),to:t}}function fS(n,e){return e.from.includes("T")||e.to.includes("T")?[`${n} >= cast('${e.from}' as timestamp)`,`${n} < cast('${e.to}' as timestamp)`]:[`${n} >= cast('${e.from}' as date)`,`${n} < cast('${Uo(e.to,1)}' as date)`]}function Lm(n,e,t){if(t==="second"||t==="minute"||t==="hour"){const f=t==="second"?1e3:t==="minute"?6e4:36e5;return Math.round((Date.parse(Oi(e))-Date.parse(Oi(n)))/f)}const i=Fs(n),a=Fs(e),u=(a.getUTCFullYear()-i.getUTCFullYear())*12+(a.getUTCMonth()-i.getUTCMonth());switch(t){case"week":return Math.round((a.getTime()-i.getTime())/(7*864e5));case"month":return u;case"quarter":return Math.round(u/3);case"year":return a.getUTCFullYear()-i.getUTCFullYear();default:return Math.round((a.getTime()-i.getTime())/864e5)}}function ld(n,e){return new Date(Date.parse(Oi(n))+e).toISOString().slice(0,19)}function hS(n,e){const t=nf(n),i=Fs(t);switch(e){case"second":return ld(n,1e3);case"minute":return ld(n,6e4);case"hour":return ld(n,36e5);case"day":return t;case"week":return Uo(n,6);case"month":return Ni(new Date(Date.UTC(i.getUTCFullYear(),i.getUTCMonth()+1,0)));case"quarter":{const a=Math.floor(i.getUTCMonth()/3)*3+3;return Ni(new Date(Date.UTC(i.getUTCFullYear(),a,0)))}case"year":return Ni(new Date(Date.UTC(i.getUTCFullYear(),12,0)));default:return n}}function rf(n){return n.mode==="contains"?!n.pattern:n.values.length===0}function sf(n){return Object.fromEntries(n.map(e=>[e.ref,e.type]))}function ou(n){return sf(n.models.flatMap(e=>e.dimensions))}function Um(n,e){if((e==="numeric"||e==="number")&&n.trim()!==""&&Number.isFinite(Number(n)))return n;if(e==="boolean"){const t=n.toLowerCase();if(t==="true"||t==="false")return t}return Tn(n)}function Nv(n){return n.replaceAll("\\","\\\\").replaceAll("%","\\%").replaceAll("_","\\_")}function pS(n,e,t){const i=e.mode==="exclude",a=e.values.includes(er),u=e.values.filter(h=>h!==er);let f=null;if(u.length===1)f=`${n} ${i?"!=":"="} ${Um(u[0],t)}`;else if(u.length>1){const h=u.map(m=>Um(m,t)).join(", ");f=`${n} ${i?"NOT IN":"IN"} (${h})`}if(!i){const h=[];return f&&h.push(f),a&&h.push(`${n} IS NULL`),h.length===0?null:h.length===1?h[0]:`(${h.join(" OR ")})`}if(a){const h=[];return f&&h.push(f),h.push(`${n} IS NOT NULL`),h.length===1?h[0]:`(${h.join(" AND ")})`}return f?`(${f} OR ${n} IS NULL)`:null}function jv(n,e={}){var i;const t=[];for(const[a,u]of Object.entries(n)){if(a===e.excludeDim||rf(u))continue;const f=(i=e.types)==null?void 0:i[a];if(u.mode==="contains"){const m=Tn(`%${Nv(u.pattern??"")}%`);t.push(`CAST(${a} AS VARCHAR) ILIKE ${m} ESCAPE '\\'`);continue}const h=pS(a,u,f);h&&t.push(h)}return t}function Os(n,e={}){const t=jv(n,{types:e.types,excludeDim:e.excludeDim});return e.timeRef&&e.range&&t.push(...fS(e.timeRef,e.range)),t}function $m(n,e,t,i){return{metrics:n,filters:e,...t!=null&&t.length?{segments:t}:{},...i!=null?{usePreaggregations:i}:{}}}const mS={second:2e3,minute:2e3,hour:9600,day:4e3,week:800,month:240,quarter:120,year:60};function Pm(n,e,t,i,a,u,f=!1){const h=`${e}__${t}`,m=t==="second"||t==="minute",g=m&&!f;return{metrics:n,dimensions:[h],filters:i,...a!=null&&a.length?{segments:a}:{},...u!=null?{usePreaggregations:u}:{},orderBy:[`${h} ${g?"DESC":"ASC"}`],...!m||g?{limit:mS[t]??2e3}:{}}}function zm(n,e,t,i=6,a,u){return{metrics:[n],dimensions:[e],filters:t,...a!=null&&a.length?{segments:a}:{},...u!=null?{usePreaggregations:u}:{},orderBy:[`${n} DESC`],limit:i}}function yS(n,e,t=50,i,a){return{dimensions:[n],filters:e,...i!=null&&i.length?{segments:i}:{},...a!=null?{usePreaggregations:a}:{},orderBy:[`${n} ASC`],limit:t}}function gS(n,e,t,i,a=500){return{metrics:n,dimensions:e,filters:t,orderBy:i,limit:a}}function vS(n,e,t=50,i,a){return{dimensions:n.dimensions,metrics:n.metrics,filters:e,...i!=null&&i.length?{segments:i}:{},...a!=null?{usePreaggregations:a}:{},ungrouped:!0,limit:t}}function xS(n,e){const t=n??[];return t.includes(e)?t.filter(i=>i!==e):[...t,e]}function al(n,e,t){const i={...n};return rf(t)?delete i[e]:i[e]=t,i}function bS(n,e){switch(e.type){case"hydrate":return e.state;case"setView":return{...n,view:e.view};case"setDashboardTab":return{...n,view:"explore",dashboardTab:e.tab,model:e.model,selectedMetric:e.metric,grain:e.grain,filters:{},dateRange:void 0,pivotDims:[],pivotMetrics:[]};case"setModel":return{...n,model:e.model,selectedMetric:e.metric,grain:e.grain,filters:{},pivotDims:[],pivotMetrics:[]};case"setMetric":return{...n,selectedMetric:e.metric};case"toggleFilter":{const t=n.filters[e.dim],i=e.mode??(t&&t.mode!=="contains"?t.mode:"include"),a=t&&t.mode===i?t.values:[],u=xS(a,e.value);return{...n,filters:al(n.filters,e.dim,{mode:i,values:u})}}case"setFilterMode":{const t=n.filters[e.dim],i={mode:e.mode,values:(t==null?void 0:t.values)??[],pattern:t==null?void 0:t.pattern};return{...n,filters:al(n.filters,e.dim,i)}}case"setFilterPattern":{const t=n.filters[e.dim],i={mode:"contains",values:(t==null?void 0:t.values)??[],pattern:e.pattern};return{...n,filters:al(n.filters,e.dim,i)}}case"removeFilterValue":{const t=n.filters[e.dim];if(!t)return n;const i=t.values.filter(a=>a!==e.value);return{...n,filters:al(n.filters,e.dim,{...t,values:i})}}case"removeFilterDim":{const t={...n.filters};return delete t[e.dim],{...n,filters:t}}case"clearFilters":return{...n,filters:{}};case"setGrain":return{...n,grain:e.grain};case"setTimezone":return{...n,timezone:e.timezone};case"setDateRange":return{...n,dateRange:e.range};case"setContextColumn":return{...n,contextColumn:e.column};case"setComparison":return{...n,comparison:e.comparison,comparisonRange:e.comparison==="custom"?e.range:void 0};case"setPivotDims":return{...n,pivotDims:e.dims};case"setPivotMetrics":return{...n,pivotMetrics:e.metrics};case"reset":return{...e.initial,view:n.view};default:return n}}function wS(n){return n.models.find(e=>e.timeDimension)??n.models[0]}function kv(n,e){var t,i;return((t=n==null?void 0:n.metrics[0])==null?void 0:t.ref)??(n?(i=ji(e,n.name)[0])==null?void 0:i.ref:void 0)??""}function Iv(n,e,t){const i=Cs(n,e,t),a=(i==null?void 0:i.model)??wS(n),u=(i==null?void 0:i.selectedMetric)??kv(a,n);return{view:i?"explore":"home",dashboardTab:i==null?void 0:i.id,model:(a==null?void 0:a.name)??"",selectedMetric:u,filters:{},grain:(i==null?void 0:i.grain)??(a==null?void 0:a.defaultGrain)??"month",timezone:"UTC",dateRange:void 0,contextColumn:"none",comparison:"previous",comparisonRange:void 0,pivotDims:[],pivotMetrics:[]}}function SS(n,e,t){const i=new URLSearchParams(t),a=i.get("metric"),u=i.get("grain"),f=a===n.selectedMetric&&e.metrics.some(m=>m.ref===a),h=u===n.grain;return{...n,view:"explore",dashboardTab:e.id,model:e.model.name,selectedMetric:f?n.selectedMetric:e.selectedMetric,grain:h?n.grain:e.grain}}const _S=["home","explore","pivot"],NS=new Set(Fd),jS=new Set(["none","pctTotal","delta","deltaPct"]),kS=new Set(["off","previous","year","custom"]),IS="none",MS="previous",DS="UTC";function CS(n){return n!=null&&/^[A-Za-z][A-Za-z0-9/_+-]{0,63}$/.test(n)}function ud(n){if(n)try{return JSON.parse(n)}catch{return}}function Zl(n){return Array.isArray(n)&&n.every(e=>typeof e=="string")}function ll(n){return n!=null&&/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2})?$/.test(n)&&!Number.isNaN(Date.parse(n))}const FS=new Set(["include","exclude","contains"]);function OS(n){if(Zl(n))return{mode:"include",values:n};if(typeof n!="object"||n===null||Array.isArray(n))return null;const e=n;if(!FS.has(e.mode))return null;const t=e.mode,i=Zl(e.values)?e.values:[],a=typeof e.pattern=="string"?e.pattern:void 0,u={mode:t,values:i,pattern:a};return rf(u)?null:u}function TS(n){if(typeof n!="object"||n===null||Array.isArray(n))return null;const e={};for(const[t,i]of Object.entries(n)){const a=OS(i);a&&(e[t]=a)}return e}function AS(n){const e={};for(const[t,i]of Object.entries(n))e[t]=i.mode==="include"?i.values:i;return e}function BS(n){const e=new URLSearchParams;return e.set("view",n.view),n.dashboardTab&&e.set("tab",n.dashboardTab),n.model&&e.set("model",n.model),n.selectedMetric&&e.set("metric",n.selectedMetric),n.grain&&e.set("grain",n.grain),n.timezone&&n.timezone!==DS&&e.set("tz",n.timezone),n.dateRange&&(e.set("from",n.dateRange.from),e.set("to",n.dateRange.to)),n.contextColumn!==IS&&e.set("ctx",n.contextColumn),n.comparison!==MS&&e.set("cmp",n.comparison),n.comparison==="custom"&&n.comparisonRange&&(e.set("cfrom",n.comparisonRange.from),e.set("cto",n.comparisonRange.to)),Object.keys(n.filters).length&&e.set("filters",JSON.stringify(AS(n.filters))),n.pivotDims.length&&e.set("pdims",JSON.stringify(n.pivotDims)),n.pivotMetrics.length&&e.set("pmetrics",JSON.stringify(n.pivotMetrics)),e.toString()}function ES(n,e){const t=new URLSearchParams(n),i={...e},a=t.get("view");a&&_S.includes(a)&&(i.view=a);const u=t.get("tab");u&&(i.dashboardTab=u);const f=t.get("model");f&&(i.model=f);const h=t.get("metric");h&&(i.selectedMetric=h);const m=t.get("grain");m&&NS.has(m)&&(i.grain=m);const g=t.get("tz");CS(g)&&(i.timezone=g);const v=t.get("from"),x=t.get("to");ll(v)&&ll(x)&&Date.parse(v)<=Date.parse(x)&&(i.dateRange={from:v,to:x});const b=t.get("ctx");b&&jS.has(b)&&(i.contextColumn=b);const w=t.get("cmp");w&&kS.has(w)&&(i.comparison=w);const j=t.get("cfrom"),C=t.get("cto");i.comparison==="custom"&&ll(j)&&ll(C)&&Date.parse(j)<=Date.parse(C)&&(i.comparisonRange={from:j,to:C});const O=TS(ud(t.get("filters")));O&&(i.filters=O);const H=ud(t.get("pdims"));Zl(H)&&(i.pivotDims=H);const L=ud(t.get("pmetrics"));return Zl(L)&&(i.pivotMetrics=L),i}const Mv=D.createContext(null);function RS({catalog:n,backend:e,dashboard:t,children:i}){const a=D.useMemo(()=>Iv(n,t),[n,t]),[u,f]=D.useReducer(bS,void 0,()=>{const m=ES(window.location.search,a),g=Cs(n,t,m.dashboardTab);return g?SS(m,g,window.location.search):m});D.useEffect(()=>{const m=BS(u),g=`${window.location.pathname}${m?`?${m}`:""}`;window.history.replaceState(null,"",g)},[u]);const h=D.useMemo(()=>({state:u,dispatch:f,catalog:n,backend:e,initial:a,dashboard:t}),[u,n,e,a,t]);return c.jsx(Mv.Provider,{value:h,children:i})}function ls(){const n=D.useContext(Mv);if(!n)throw new Error("useExplorer must be used within ExplorerProvider");return n}const Is={active:0,listeners:new Set};function Dv(){for(const n of Is.listeners)n()}function LS(){Is.active+=1,Dv()}function US(){Is.active=Math.max(0,Is.active-1),Dv()}function Cv(){return D.useSyncExternalStore(n=>(Is.listeners.add(n),()=>Is.listeners.delete(n)),()=>Is.active>0,()=>!1)}const $S=80;function Zn(n,e){const[t,i]=D.useState({loading:!1}),a=D.useRef(0),u=e?JSON.stringify(e):null;return D.useEffect(()=>{if(!e){i({loading:!1});return}const f=++a.current;i(m=>({result:m.result,loading:!0}));const h=setTimeout(()=>{LS(),n.runQuery(e).then(m=>{f===a.current&&i({result:m,loading:!1})}).catch(m=>{f===a.current&&i({loading:!1,error:m instanceof Error?m.message:String(m)})}).finally(()=>US())},$S);return()=>clearTimeout(h)},[u,n]),t}const PS=[{mode:"include",label:"Include"},{mode:"exclude",label:"Exclude"},{mode:"contains",label:"Contains"}],zS=50,Vm=200;function Wm(n,e){const[t,i]=D.useState(n);return D.useEffect(()=>{const a=setTimeout(()=>i(n),e);return()=>clearTimeout(a)},[n,e]),t}function Fv({dim:n,model:e,onClose:t}){var W,_;const{state:i,dispatch:a,backend:u,catalog:f,dashboard:h}=ls(),m=D.useMemo(()=>Cs(f,h,i.dashboardTab),[f,h,i.dashboardTab]),g=i.filters[n.ref],[v,x]=D.useState((g==null?void 0:g.mode)??"include"),b=D.useMemo(()=>new Set((g==null?void 0:g.mode)!=="contains"?(g==null?void 0:g.values)??[]:[]),[g]),w=D.useRef(null),j=D.useRef(null),C=D.useId(),[O,H]=D.useState(""),L=Wm(O,Vm),R=(g==null?void 0:g.mode)==="contains"?g.pattern??"":"",[T,E]=D.useState(R),I=Wm(T,Vm);D.useEffect(()=>{var te;const F=document.activeElement;return(te=j.current)==null||te.focus(),()=>{var pe;return(pe=F==null?void 0:F.focus)==null?void 0:pe.call(F)}},[]),D.useEffect(()=>{function F(pe){pe.key==="Escape"&&(pe.stopPropagation(),t())}function te(pe){w.current&&!w.current.contains(pe.target)&&t()}return document.addEventListener("keydown",F,!0),document.addEventListener("mousedown",te,!0),()=>{document.removeEventListener("keydown",F,!0),document.removeEventListener("mousedown",te,!0)}},[t]),D.useEffect(()=>{v==="contains"&&I!==R&&a({type:"setFilterPattern",dim:n.ref,pattern:I})},[I,v,n.ref,a]);const U=((W=m==null?void 0:m.timeDimension)==null?void 0:W.ref)??((_=e.timeDimension)==null?void 0:_.ref),G=D.useMemo(()=>ou(f),[f]),V=D.useMemo(()=>{const F=[...(m==null?void 0:m.filters)??[],...Os(i.filters,{timeRef:U,range:i.dateRange,excludeDim:n.ref,types:G})];if(L.trim()){const te=Tn(`%${Nv(L.trim())}%`);F.push(`CAST(${n.ref} AS VARCHAR) ILIKE ${te} ESCAPE '\\'`)}return F},[m,i.filters,U,i.dateRange,n.ref,L,G]),Q=v!=="contains",{result:z,loading:ee,error:X}=Zn(u,Q?yS(n.ref,V,zS,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations):null),ie=Sr(n.ref),ae=D.useMemo(()=>z?z.rows.map(F=>{const te=F[ie];return te==null?er:String(te)}):[],[z,ie]),re=!!z&&z.rows.length>0&&!z.columns.includes(ie),se=Q&&(ee||re);function A(F){x(F),g&&a({type:"setFilterMode",dim:n.ref,mode:F}),F==="contains"&&E(R)}function Y(F){var fe;if(F.key!=="Tab")return;const te=(fe=w.current)==null?void 0:fe.querySelectorAll('button, input, [href], select, textarea, [tabindex]:not([tabindex="-1"])');if(!te||te.length===0)return;const pe=te[0],ne=te[te.length-1];F.shiftKey&&document.activeElement===pe?(F.preventDefault(),ne.focus()):!F.shiftKey&&document.activeElement===ne&&(F.preventDefault(),pe.focus())}return c.jsxs("div",{ref:w,role:"dialog","aria-modal":"true","aria-labelledby":C,onKeyDown:Y,className:"absolute left-0 z-50 mt-1 w-64 border border-line bg-surface p-2 text-2xs shadow-lg",children:[c.jsxs("div",{id:C,className:"mb-2 flex items-baseline justify-between gap-2",children:[c.jsx("span",{className:"truncate font-semibold text-ink",children:n.label}),c.jsx("button",{type:"button","aria-label":"Close filter editor",onClick:t,className:"grid size-4 place-items-center rounded-full bg-surface-soft text-faint hover:bg-line hover:text-ink",children:"×"})]}),c.jsx("div",{role:"group","aria-label":"Filter mode",className:"mb-2 grid grid-cols-3 gap-px border border-line bg-line",children:PS.map(({mode:F,label:te})=>c.jsx("button",{type:"button","aria-pressed":v===F,onClick:()=>A(F),className:`px-1.5 py-1 text-center ${v===F?"bg-accent-soft font-medium text-accent":"bg-surface text-muted hover:bg-surface-soft"}`,children:te},F))}),v==="contains"?c.jsx("input",{ref:j,type:"text","aria-label":`${n.label} contains`,placeholder:"Substring…",value:T,onChange:F=>E(F.target.value),className:"w-full border border-line bg-surface px-1.5 py-1 text-2xs text-ink placeholder:text-faint"}):c.jsxs(c.Fragment,{children:[c.jsx("input",{ref:j,type:"text","aria-label":`Search ${n.label} values`,placeholder:"Search values…",value:O,onChange:F=>H(F.target.value),className:"w-full border border-line bg-surface px-1.5 py-1 text-2xs text-ink placeholder:text-faint"}),c.jsx("div",{className:"mt-2 max-h-56 overflow-y-auto",role:"group","aria-label":`${n.label} values`,children:X?c.jsx("p",{className:"px-1 py-2 text-danger",children:X}):se?c.jsx("div",{className:"space-y-1.5 p-1",children:[0,1,2,3,4].map(F=>c.jsx("div",{className:"skeleton h-4 w-full"},F))}):ae.length===0?c.jsx("p",{className:"px-1 py-2 text-faint",children:"No values"}):ae.map(F=>{const te=b.has(F);return c.jsxs("label",{className:"flex cursor-pointer items-center gap-2 px-1 py-1 hover:bg-surface-soft",children:[c.jsx("input",{type:"checkbox",checked:te,onChange:()=>a({type:"toggleFilter",dim:n.ref,value:F,mode:v}),className:"size-3 accent-[var(--accent)]"}),c.jsx("span",{className:"min-w-0 truncate text-ink",children:rs(F)})]},F)})})]}),c.jsxs("div",{className:"mt-2 flex items-center justify-between border-t border-line pt-2",children:[c.jsx("button",{type:"button",onClick:()=>a({type:"removeFilterDim",dim:n.ref}),className:"text-muted underline-offset-2 hover:text-ink hover:underline",children:"Clear"}),c.jsx("button",{type:"button",onClick:t,className:"border border-line px-2 py-1 text-muted hover:bg-surface-soft",children:"Done"})]})]})}function VS({model:n}){const e=n.dimensions.filter(m=>m.type!=="time"),[t,i]=D.useState(!1),[a,u]=D.useState(null),f=D.useRef(null);D.useEffect(()=>{if(!t)return;function m(v){v.key==="Escape"&&h()}function g(v){a||f.current&&!f.current.contains(v.target)&&h()}return document.addEventListener("keydown",m,!0),document.addEventListener("mousedown",g,!0),()=>{document.removeEventListener("keydown",m,!0),document.removeEventListener("mousedown",g,!0)}},[t,a]);function h(){i(!1),u(null)}return e.length===0?null:c.jsxs("span",{ref:f,className:"relative inline-flex",children:[c.jsx("button",{type:"button","aria-haspopup":"dialog","aria-expanded":t,onClick:()=>t?h():i(!0),className:"inline-flex h-7 shrink-0 items-center rounded-full border border-dashed border-line px-3 text-xs text-muted hover:border-faint hover:text-ink",children:"+ Filter"}),t&&!a?c.jsx("div",{role:"menu","aria-label":"Add a filter for a dimension",className:"absolute left-0 z-50 mt-1 max-h-64 w-48 overflow-y-auto rounded-xl border border-line bg-surface p-1.5 text-2xs shadow-[var(--shadow)]",children:e.map(m=>c.jsx("button",{type:"button",role:"menuitem",onClick:()=>u(m),className:"block w-full truncate px-1.5 py-1 text-left text-muted hover:bg-surface-soft hover:text-ink",children:m.label},m.ref))}):null,t&&a?c.jsx(Fv,{dim:a,model:n,onClose:h}):null]})}function cd(n,e){return n.includes(e)?n.filter(t=>t!==e):[...n,e]}function Hm({metric:n,selected:e,multiple:t,onSelect:i}){return c.jsxs("button",{type:"button","data-catalog-metric":n.ref,"data-selected":e||void 0,"aria-pressed":e,title:n.description,onClick:i,className:"flex w-full items-center justify-between gap-2 border-l-2 px-3 py-1 text-left text-xs hover:bg-surface-soft data-[selected=true]:border-l-accent data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent border-l-transparent text-muted",children:[c.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[t?c.jsx("span",{"aria-hidden":"true",className:"w-3 shrink-0 text-center text-accent",children:e?"✓":""}):null,c.jsx("span",{className:"truncate",children:n.label})]}),n.agg?c.jsx("span",{className:"shrink-0 text-2xs text-faint",children:n.agg}):null]})}function WS({dimension:n,selected:e,onSelect:t}){return c.jsxs("button",{type:"button","data-catalog-dimension":n.ref,"data-selected":e||void 0,"aria-pressed":e,title:n.description,onClick:t,className:"flex w-full items-center justify-between gap-2 border-l-2 border-l-transparent px-3 py-1 text-left text-xs text-muted hover:bg-surface-soft data-[selected=true]:border-l-accent data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent",children:[c.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[c.jsx("span",{"aria-hidden":"true",className:"w-3 shrink-0 text-center",children:e?"✓":""}),c.jsx("span",{className:"truncate",children:n.label})]}),c.jsx("span",{className:"shrink-0 text-2xs text-faint",children:n.type==="time"?"time":""})]})}function HS(){const{state:n,dispatch:e,catalog:t}=ls(),i=t.models.find(h=>h.name===n.model),a=ji(t,n.model),u=n.view==="pivot",f=n.pivotMetrics.length?n.pivotMetrics:n.selectedMetric?[n.selectedMetric]:[];return c.jsxs("nav",{"aria-label":"Semantic layer catalog",className:"flex flex-col gap-4 py-3 text-sm",children:[c.jsxs("section",{className:"px-3",children:[c.jsx("h2",{className:"mb-1 text-xs font-medium text-muted",children:"Model"}),c.jsx("select",{"aria-label":"Model",value:n.model,onChange:h=>{var v,x;const m=t.models.find(b=>b.name===h.target.value),g=((v=m==null?void 0:m.metrics[0])==null?void 0:v.ref)??((x=ji(t,h.target.value)[0])==null?void 0:x.ref)??"";e({type:"setModel",model:h.target.value,metric:g,grain:(m==null?void 0:m.defaultGrain)??"month"})},className:"w-full border border-line bg-surface px-2 py-1 text-xs text-ink",children:t.models.map(h=>c.jsx("option",{value:h.name,children:h.label},h.name))})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-1 px-3 text-xs font-medium text-muted",children:"Metrics"}),c.jsx("div",{children:((i==null?void 0:i.metrics)??[]).map(h=>c.jsx(Hm,{metric:h,selected:u?f.includes(h.ref):n.selectedMetric===h.ref,multiple:u,onSelect:()=>e(u?{type:"setPivotMetrics",metrics:cd(f,h.ref)}:{type:"setMetric",metric:h.ref})},h.ref))}),a.length?c.jsxs(c.Fragment,{children:[c.jsx("h3",{className:"mb-1 mt-3 px-3 text-xs font-medium text-muted",children:"Shared metrics"}),c.jsx("div",{children:a.map(h=>c.jsx(Hm,{metric:h,selected:u?f.includes(h.ref):n.selectedMetric===h.ref,multiple:u,onSelect:()=>e(u?{type:"setPivotMetrics",metrics:cd(f,h.ref)}:{type:"setMetric",metric:h.ref})},h.ref))})]}):null]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-1 px-3 text-xs font-medium text-muted",children:"Dimensions"}),u?c.jsx("div",{children:((i==null?void 0:i.dimensions)??[]).map(h=>c.jsx(WS,{dimension:h,selected:n.pivotDims.includes(h.ref),onSelect:()=>e({type:"setPivotDims",dims:cd(n.pivotDims,h.ref)})},h.ref))}):c.jsx("ul",{className:"px-3 text-xs text-muted",children:((i==null?void 0:i.dimensions)??[]).map(h=>c.jsxs("li",{className:"flex items-center justify-between gap-2 py-0.5",title:h.description,children:[c.jsx("span",{className:"truncate",children:h.label}),c.jsx("span",{className:"shrink-0 text-2xs text-faint",children:h.type==="time"?"time":""})]},h.ref))})]})]})}class GS extends D.Component{constructor(){super(...arguments);Mn(this,"state",{})}static getDerivedStateFromError(t){return{error:t}}render(){return this.state.error?c.jsx("div",{className:"p-4",children:c.jsxs("div",{className:"border border-danger/40 bg-surface p-4",children:[c.jsx("p",{className:"text-sm font-semibold text-danger",children:"Something went wrong rendering this view."}),c.jsx("p",{className:"mt-1 break-words text-xs text-muted",children:this.state.error.message}),c.jsxs("div",{className:"mt-3 flex gap-2",children:[c.jsx("button",{type:"button",onClick:()=>this.setState({error:void 0}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Retry"}),c.jsx("button",{type:"button",onClick:()=>window.location.reload(),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Reload"})]})]})}):this.props.children}}const YS=[{key:"off",label:"Off"},{key:"previous",label:"Previous period"},{key:"year",label:"Previous year"},{key:"custom",label:"Custom range"}];function Ov({range:n,disabled:e,onChange:t,comparison:i,comparisonRange:a,onComparisonChange:u}){const f=D.useRef(null),[h,m]=D.useState((n==null?void 0:n.from)??""),[g,v]=D.useState((n==null?void 0:n.to)??""),[x,b]=D.useState((a==null?void 0:a.from)??""),[w,j]=D.useState((a==null?void 0:a.to)??"");function C(){f.current&&(f.current.open=!1)}function O(T){t(T),C()}function H(T){T==="custom"?u("custom",x&&w?{from:x,to:w}:void 0):u(T)}const L=n?`${n.from} → ${n.to}`:"All time",R=!n;return c.jsxs("details",{ref:f,className:"relative text-xs",onToggle:T=>{e&&(T.currentTarget.open=!1)},children:[c.jsxs("summary",{"aria-disabled":e||void 0,tabIndex:e?-1:void 0,onClick:T=>e&&T.preventDefault(),onKeyDown:T=>{e&&(T.key==="Enter"||T.key===" ")&&T.preventDefault()},className:`flex h-7 cursor-pointer items-center gap-1.5 rounded-full border border-line bg-surface px-3 text-ink ${e?"cursor-not-allowed opacity-50":""}`,children:[c.jsx("span",{className:"text-faint",children:"Range"}),c.jsx("span",{className:"tnum",children:L}),c.jsx("span",{"aria-hidden":"true",className:"text-faint",children:"▾"})]}),c.jsxs("div",{className:"absolute right-0 z-50 mt-1 w-64 rounded-xl border border-line bg-surface p-1.5 shadow-[var(--shadow)]",children:[c.jsx("button",{type:"button",onClick:()=>O(void 0),className:"w-full rounded-lg px-2.5 py-1.5 text-left text-xs text-muted hover:bg-surface-soft hover:text-ink",children:"All time"}),c.jsx("div",{className:"grid grid-cols-2",children:cS.map(T=>c.jsx("button",{type:"button",onClick:()=>O(dS(T.days)),className:"rounded-lg px-2.5 py-1.5 text-left text-xs text-muted hover:bg-surface-soft hover:text-ink",children:T.label},T.key))}),c.jsxs("div",{className:"mt-2 px-1 pb-1",children:[c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("input",{type:"date","aria-label":"From date",value:h,onChange:T=>m(T.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"}),c.jsx("span",{className:"text-faint",children:"→"}),c.jsx("input",{type:"date","aria-label":"To date",value:g,onChange:T=>v(T.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"})]}),c.jsx("button",{type:"button",disabled:!h||!g,onClick:()=>O({from:h,to:g}),className:"mt-1.5 inline-flex h-7 w-full items-center justify-center rounded-full border border-accent bg-accent-soft text-xs font-medium text-accent hover:bg-accent hover:text-surface disabled:pointer-events-none disabled:opacity-50",children:"Apply custom range"})]}),c.jsxs("div",{className:"mt-1 px-1 pb-1","data-testid":"comparison-picker",children:[c.jsx("p",{className:"mb-1 px-1.5 text-2xs text-faint",children:"Compare to"}),c.jsx("div",{className:`grid grid-cols-2 ${R?"opacity-50":""}`,children:YS.map(T=>c.jsx("button",{type:"button",disabled:R,"data-comparison":T.key,"data-active":i===T.key||void 0,onClick:()=>H(T.key),className:"rounded-lg px-2.5 py-1.5 text-left text-xs text-muted hover:bg-surface-soft hover:text-ink data-[active=true]:bg-accent-soft data-[active=true]:text-accent",children:T.label},T.key))}),i==="custom"&&!R?c.jsxs("div",{className:"mt-1.5",children:[c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("input",{type:"date","aria-label":"Comparison from date",value:x,onChange:T=>b(T.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"}),c.jsx("span",{className:"text-faint",children:"→"}),c.jsx("input",{type:"date","aria-label":"Comparison to date",value:w,onChange:T=>j(T.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"})]}),c.jsx("button",{type:"button",disabled:!x||!w,onClick:()=>u("custom",{from:x,to:w}),className:"mt-1.5 inline-flex h-7 w-full items-center justify-center rounded-full border border-accent bg-accent-soft text-xs font-medium text-accent hover:bg-accent hover:text-surface disabled:pointer-events-none disabled:opacity-50",children:"Apply comparison"})]}):null]})]})]})}function Od(n){const[e,t]=D.useState(!1);if(!("dim"in n))return c.jsxs("span",{"data-dimension":n.dimension,"data-value":n.value,className:"inline-flex max-w-full items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 text-2xs leading-4 text-muted",children:[c.jsxs("span",{className:"truncate",children:[c.jsxs("span",{className:"text-faint",children:[n.dimensionLabel??n.dimension,":"]})," ",n.value]}),n.onRemove?c.jsx("button",{type:"button","aria-label":`Remove filter ${n.value}`,onClick:n.onRemove,className:"-mr-0.5 px-0.5 text-faint hover:text-ink",children:"×"}):null]});const{dim:i,model:a,filter:u,onRemove:f}=n;return c.jsxs("span",{className:"relative inline-flex max-w-full items-center","data-dimension":i.ref,"data-mode":u.mode,children:[c.jsxs("span",{className:"inline-flex max-w-full items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 text-2xs leading-4 text-muted",children:[c.jsxs("button",{type:"button","aria-label":`Edit filter ${i.label}`,"aria-haspopup":"dialog","aria-expanded":e,onClick:()=>t(h=>!h),className:"min-w-0 truncate text-left hover:text-ink",children:[c.jsx("span",{className:"text-faint",children:i.label})," ",yb(u)]}),c.jsx("button",{type:"button","aria-label":`Remove filter ${i.label}`,onClick:f,className:"grid size-3.5 shrink-0 place-items-center rounded-full bg-surface-soft text-faint hover:bg-line hover:text-ink",children:"×"})]}),e?c.jsx(Fv,{dim:i,model:a,onClose:()=>t(!1)}):null]})}function Td({grain:n,options:e,disabled:t,onChange:i}){return c.jsxs("label",{className:"flex items-center gap-1.5 text-xs text-faint",children:[c.jsx("span",{className:"hidden sm:inline",children:"Grain"}),c.jsx("select",{"aria-label":"Time grain",value:n,disabled:t,onChange:a=>i(a.target.value),className:"h-7 rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50",children:e.map(a=>c.jsx("option",{value:a,children:Le(a)},a))})]})}const QS=["UTC","America/Los_Angeles","America/Denver","America/Chicago","America/New_York","America/Sao_Paulo","Europe/London","Europe/Berlin","Europe/Paris","Europe/Moscow","Asia/Dubai","Asia/Kolkata","Asia/Singapore","Asia/Shanghai","Asia/Tokyo","Australia/Sydney"];let ul=null;function Gm(){if(ul)return ul;const n=typeof Intl.supportedValuesOf=="function"?Intl.supportedValuesOf("timeZone"):[];return ul=[...new Set(["UTC",...n])].sort(),ul}function KS(n){if(!n)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:n}),!0}catch{return!1}}function JS(n,e=new Date){var t;try{const u=(((t=new Intl.DateTimeFormat("en-US",{timeZone:n,timeZoneName:"shortOffset"}).formatToParts(e).find(g=>g.type==="timeZoneName"))==null?void 0:t.value)??"").match(/([+-])(\d{1,2})(?::(\d{2}))?/);if(!u)return n==="UTC"?"+00:00":"";const f=u[1],h=u[2].padStart(2,"0"),m=u[3]??"00";return`${f}${h}:${m}`}catch{return""}}const Ym="__search__";function qS({timezone:n,disabled:e,onChange:t}){const i=D.useId(),[a,u]=D.useState(!1),[f,h]=D.useState(""),m=D.useMemo(()=>{const b=new Set(QS);return n&&b.add(n),[...b]},[n]),g=D.useMemo(()=>a?Gm():[],[a]);function v(b){const w=b.trim();KS(w)&&(t(w),u(!1),h(""))}if(a)return c.jsxs("label",{className:"flex items-center gap-1.5 text-2xs text-faint",children:[c.jsx("span",{className:"hidden sm:inline",children:"Zone"}),c.jsx("input",{type:"text",list:i,autoFocus:!0,"aria-label":"Search timezone",placeholder:"Region/City…",value:f,disabled:e,onChange:b=>{h(b.target.value),Gm().includes(b.target.value)&&v(b.target.value)},onKeyDown:b=>{b.key==="Enter"?v(f):b.key==="Escape"&&(u(!1),h(""))},onBlur:()=>{u(!1),h("")},className:"h-7 w-36 rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50"}),c.jsx("datalist",{id:i,children:g.map(b=>c.jsx("option",{value:b},b))})]});const x=JS(n);return c.jsxs("label",{className:"flex items-center gap-1.5 text-2xs text-faint",children:[c.jsx("span",{className:"hidden sm:inline",children:"Zone"}),c.jsxs("select",{"aria-label":"Timezone",value:n,disabled:e,onChange:b=>{b.target.value===Ym?u(!0):t(b.target.value)},className:"h-7 max-w-[11rem] rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50",children:[m.map(b=>c.jsxs("option",{value:b,children:[b,b==="UTC"?"":x&&b===n?` (${x})`:""]},b)),c.jsx("option",{value:Ym,children:"Search…"})]})]})}function ZS(n,e,t){if(t==="count")return n.length;const i=n.map(u=>typeof u[e]=="number"?u[e]:Number(u[e])).filter(Number.isFinite);if(i.length===0)return Number.NaN;if(t==="min")return Math.min(...i);if(t==="max")return Math.max(...i);const a=i.reduce((u,f)=>u+f,0);return t==="avg"?a/i.length:a}const XS={sum:"Σ",avg:"avg",min:"min",max:"max",count:"n"};function Ho({columns:n,rows:e,loading:t,sortKey:i,sortDir:a,onSort:u,renderCell:f,pageSize:h=50,searchable:m,totals:g,stickyHeader:v=!0}){const[x,b]=D.useState(0),[w,j]=D.useState(""),C=D.useMemo(()=>{const I=w.trim().toLowerCase();return!m||!I?e:e.filter(U=>n.some(G=>String(U[G.key]??"").toLowerCase().includes(I)))},[e,n,w,m]),{paginate:O,pageCount:H,safePage:L,start:R,visibleRows:T}=fb(C,x,h);D.useEffect(()=>{b(0)},[e,h,i,a,w]);const E=g&&n.some(I=>g[I.key]);return c.jsxs("div",{children:[m?c.jsxs("div",{className:"mb-2 flex items-center justify-end gap-2",children:[w?c.jsxs("span",{className:"whitespace-nowrap text-2xs text-faint tnum",children:[C.length.toLocaleString()," of ",e.length.toLocaleString()]}):null,c.jsx("input",{type:"search","aria-label":"Search rows",placeholder:"Search…",value:w,onChange:I=>j(I.target.value),className:"h-7 w-full max-w-64 rounded-full border border-line bg-surface px-2.5 text-xs text-ink placeholder:text-faint"})]}):null,c.jsx("div",{className:"overflow-auto border border-line bg-surface",children:c.jsxs("table",{className:"w-max min-w-full border-collapse text-xs","data-testid":"pivot-table",children:[c.jsx("thead",{children:c.jsx("tr",{className:"bg-surface-soft",children:n.map(I=>{const U=i===I.key;return c.jsx("th",{className:`max-w-80 whitespace-nowrap border-b border-line bg-surface-soft px-3 py-1.5 font-semibold text-faint ${I.numeric?"min-w-32 text-right":"min-w-40 text-left"} ${v?"sticky top-0 z-10":""}`,children:I.sortable&&u?c.jsxs("button",{type:"button",onClick:()=>u(I.key),"aria-label":`Sort by ${I.label}${U?`, currently ${a==="asc"?"ascending":"descending"}`:""}`,className:`table-sort inline-flex max-w-full items-center gap-1 whitespace-nowrap hover:text-ink ${U?"text-ink":""}`,children:[c.jsx("span",{className:"truncate",children:I.label}),c.jsx("span",{"aria-hidden":"true",className:"text-[9px]",children:U?a==="asc"?"▲":"▼":"↕"})]}):c.jsx("span",{className:"block truncate",title:I.label,children:I.label})},I.key)})})}),c.jsx("tbody",{children:t&&C.length===0?c.jsx("tr",{children:c.jsx("td",{colSpan:n.length,className:"px-3 py-6 text-center text-faint",children:"Loading…"})}):C.length===0?c.jsx("tr",{children:c.jsx("td",{colSpan:n.length,className:"px-3 py-6 text-center text-faint",children:w?"No matching rows":"No rows"})}):T.map((I,U)=>c.jsx("tr",{className:"hover:bg-surface-soft",children:n.map(G=>{const V=f(G,I[G.key]);return c.jsx("td",{className:`max-w-80 whitespace-nowrap border-b border-line px-3 py-1.5 text-muted ${G.numeric?"min-w-32 text-right font-mono tnum text-ink":"min-w-40"}`,children:c.jsx("span",{className:"block max-w-80 truncate",title:V,children:V})},G.key)})},R+U))}),E&&C.length>0?c.jsx("tfoot",{children:c.jsx("tr",{className:"bg-surface-soft","data-testid":"table-totals",children:n.map(I=>{const U=g==null?void 0:g[I.key];if(!U)return c.jsx("td",{className:"border-t border-line px-3 py-1.5"},I.key);const G=ZS(C,I.key,U),V=U==="count"?G.toLocaleString():Number.isFinite(G)?f(I,G):"—";return c.jsxs("td",{"data-total":U,className:`whitespace-nowrap border-t border-line px-3 py-1.5 font-mono tnum font-medium text-ink ${I.numeric?"text-right":"text-left"}`,children:[c.jsx("span",{"aria-hidden":"true",className:"mr-1 text-2xs text-faint",children:XS[U]}),V]},I.key)})})}):null]})}),O?c.jsxs("div",{"data-testid":"pivot-table-pager",className:"mt-1.5 flex items-center justify-between gap-3 text-2xs text-faint",children:[c.jsxs("span",{className:"tnum",children:[R+1,"–",Math.min(R+h,C.length)," of ",C.length.toLocaleString(),t?" · Updating…":""]}),c.jsxs("div",{className:"flex gap-1",children:[c.jsx("button",{type:"button",disabled:L===0,onClick:()=>b(I=>Math.max(0,I-1)),className:"table-pager-button px-2 py-1 text-muted hover:text-ink disabled:cursor-not-allowed disabled:opacity-40",children:"Prev"}),c.jsx("button",{type:"button",disabled:L>=H-1,onClick:()=>b(I=>Math.min(H-1,I+1)),className:"table-pager-button px-2 py-1 text-muted hover:text-ink disabled:cursor-not-allowed disabled:opacity-40",children:"Next"})]})]}):null]})}function e_(n,e){const t=e.filter(i=>n.some(a=>a.ref===i));return t.length?t:n.slice(0,6).map(i=>i.ref)}function t_(){var L,R;const[n,e]=D.useState(!1),{state:t,catalog:i,backend:a,dashboard:u}=ls(),f=i.models.find(T=>T.name===t.model),h=D.useMemo(()=>Cs(i,u,t.dashboardTab),[i,u,t.dashboardTab]),m=(h==null?void 0:h.dimensions)??(f==null?void 0:f.dimensions)??[],g=e_(m,t.pivotDims),v=((L=h==null?void 0:h.timeDimension)==null?void 0:L.ref)??((R=f==null?void 0:f.timeDimension)==null?void 0:R.ref),x=D.useMemo(()=>ou(i),[i]),b=D.useMemo(()=>[...(h==null?void 0:h.filters)??[],...Os(t.filters,{timeRef:v,range:t.dateRange,types:x})],[h,t.filters,v,t.dateRange,x]),w=n&&f?vS({dimensions:g,metrics:[]},b,50,h==null?void 0:h.segments,h==null?void 0:h.usePreaggregations):null,{result:j,loading:C,error:O}=Zn(a,w),H=[...g.map(T=>{var E;return{key:Sr(T),label:((E=m.find(I=>I.ref===T))==null?void 0:E.label)??Le(T)}})];return c.jsxs("section",{"data-testid":"row-preview-drawer","data-open":n||void 0,className:"absolute inset-x-0 bottom-0 z-30 border-t border-line bg-surface shadow-[0_-8px_24px_rgba(0,0,0,0.16)]",children:[c.jsxs("button",{type:"button","aria-expanded":n,onClick:()=>e(T=>!T),className:"flex h-8 w-full items-center justify-between px-3 text-left text-xs font-medium text-muted hover:bg-surface-soft hover:text-ink",children:[c.jsx("span",{children:"Rows preview"}),c.jsx("span",{"aria-hidden":"true",children:n?"▼":"▲"})]}),n?c.jsx("div",{className:"max-h-[45vh] overflow-auto border-t border-line",children:O?c.jsx("p",{role:"alert",className:"p-3 text-xs text-danger",children:O}):H.length===0?c.jsx("p",{className:"p-3 text-xs text-faint",children:"No preview fields are available."}):c.jsx(Ho,{columns:H,rows:(j==null?void 0:j.rows)??[],loading:C,pageSize:10,renderCell:(T,E)=>E==null||E===""?"—":String(E)})}):null]})}function of({tone:n,title:e,message:t}){const i=n==="danger";return c.jsx("div",{className:`grid min-h-[200px] place-items-center border bg-surface p-6 text-center ${i?"border-danger/40":"border-line"}`,"data-state":n,role:i?"alert":"status","aria-live":i?"assertive":"polite",children:c.jsxs("div",{className:"max-w-md",children:[n==="loading"?c.jsx("span",{"aria-hidden":"true",className:"motion-safe:animate-pulse inline-block size-2 rounded-full bg-accent"}):null,e?c.jsx("h3",{className:`text-sm font-semibold ${i?"text-danger":"text-ink"}`,children:e}):null,c.jsx("p",{className:`mt-1 text-xs ${i?"text-danger":"text-muted"}`,children:t})]})})}function af({title:n="Loading",message:e="Loading metrics…"}){return c.jsx(of,{tone:"loading",title:n,message:e})}function Xn({title:n="No results",message:e}){return c.jsx(of,{tone:"muted",title:n,message:e})}function Bi({title:n="Query failed",message:e}){return c.jsx(of,{tone:"danger",title:n,message:e})}function dd({status:n}){const e=n==="ok"?"bg-success":n==="loading"?"bg-faint animate-pulse":"bg-line";return c.jsx("span",{"aria-hidden":"true",className:`inline-block size-2 rounded-full ${e}`})}const Tv="sidemantic-theme";function lf(){var e;const n=localStorage.getItem(Tv);return n==="light"||n==="dark"?n:(e=window.matchMedia)!=null&&e.call(window,"(prefers-color-scheme: dark)").matches?"dark":"light"}function Av(n){document.documentElement.dataset.theme=n}function n_(){Av(lf())}function r_(){const n=lf()==="dark"?"light":"dark";return localStorage.setItem(Tv,n),Av(n),n}function $o(){const[n,e]=D.useState(lf());return c.jsx("button",{type:"button","aria-label":n==="dark"?"Switch to light theme":"Switch to dark theme",title:n==="dark"?"Light theme":"Dark theme",onClick:()=>e(r_()),className:"grid size-7 place-items-center border border-line bg-surface text-faint hover:border-faint hover:text-ink",children:n==="dark"?c.jsxs("svg",{viewBox:"0 0 24 24",className:"size-3.5",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[c.jsx("circle",{cx:"12",cy:"12",r:"4"}),c.jsx("path",{d:"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"})]}):c.jsx("svg",{viewBox:"0 0 24 24",className:"size-3.5",fill:"none",stroke:"currentColor",strokeWidth:"2",children:c.jsx("path",{d:"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"})})})}const _o=[{key:"explore",label:"Explore"},{key:"pivot",label:"Pivot"}];function Bv({view:n,onChange:e}){const t=D.useRef(null);function i(a){const u=Math.max(0,_o.findIndex(h=>h.key===n)),f=_o[(u+a+_o.length)%_o.length];e(f.key),window.requestAnimationFrame(()=>{var h,m;return(m=(h=t.current)==null?void 0:h.querySelector(`[data-view="${f.key}"]`))==null?void 0:m.focus()})}return c.jsx("div",{ref:t,role:"tablist","aria-label":"View",className:"inline-flex items-center gap-0.5 rounded-full border border-line bg-surface p-px",children:_o.map(a=>c.jsx("button",{role:"tab",type:"button","aria-selected":n===a.key,tabIndex:n===a.key?0:-1,"data-view":a.key,"data-selected":n===a.key||void 0,onClick:()=>e(a.key),onKeyDown:u=>{u.key==="ArrowLeft"?(u.preventDefault(),i(-1)):u.key==="ArrowRight"&&(u.preventDefault(),i(1))},className:"inline-flex h-6 items-center rounded-full px-2.5 text-xs font-medium text-muted hover:bg-surface-soft hover:text-ink data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent",children:a.label},a.key))})}const Ev="dashboard_filters",Rv="dashboard_ranges",Lv="dashboard_filter_sources",Uv="dashboard_range_sources",$v="dashboard_chart_filters",Pv="dashboard_chart_ranges";function s_(n,e){if(n==="/explore")return!0;const t=new URLSearchParams(e).get("view");return t==="explore"||t==="pivot"}function uf(n,e){var i,a;if(!e||!(n.query.dimensions??[]).includes(e))return!1;const t=(i=n.interactions)==null?void 0:i.select;return t===!0?!0:t?!((a=t.fields)!=null&&a.length)||t.fields.includes(e):!1}function i_(n){return(n.query.dimensions??[]).find(e=>uf(n,e))}function o_(n,e){var i,a;if(!e||!(n.query.dimensions??[]).includes(e))return!1;const t=(i=n.interactions)==null?void 0:i.brush;return t===!0?!0:!t||t.channel&&t.channel!=="x"?!1:!((a=t.fields)!=null&&a.length)||t.fields.includes(e)}function Xl(n){return n==null?er:String(n)}function a_(n){let e=n.trim().replaceAll(/[^A-Za-z0-9_]/g,"_").replaceAll(/^_+|_+$/g,"")||"field";return/^\d/.test(e)&&(e=`field_${e}`),e}function xr(n,e){const t=Sr(n),i=a_(n);return i!==t&&e.includes(i)?i:e.includes(t)?t:e.find(a=>a.endsWith(t))??t}function l_(n){var t;const e=(t=n.encoding)==null?void 0:t.y;return Array.isArray(e)&&e.length?e:typeof e=="string"?[e]:n.query.metrics.slice(0,1)}function u_(n,e,t,i,a){return Object.fromEntries([[e,t],...i.map((u,f)=>[u,a[f]])].filter(u=>typeof u[1]=="string"&&uf(n,u[0])))}function c_(n,e,t){return[e,...t].some(i=>uf(n,i))}const d_=new Set(["second","minute","hour","day","week","month","quarter","year"]);function Ms(n){const e=n.lastIndexOf("__");if(e<0)return null;const t=n.slice(e+2);return d_.has(t)?{baseDimension:n.slice(0,e),grain:t}:null}function zv(n,e){var u,f;if(n.type&&n.type!=="auto")return n.type;const t=((u=n.encoding)==null?void 0:u.x)??((f=n.query.dimensions)==null?void 0:f[0])??"",i=Ms(t);return(e[t]??(i?e[i.baseDimension]:void 0))==="time"?"line":"bar"}function Vv(n,e){const t=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?$/.test(n)?`${n}Z`:n,i=new Date(t);return Number.isFinite(i.getTime())?(e==="second"?i.setUTCSeconds(i.getUTCSeconds()+1):e==="minute"?i.setUTCMinutes(i.getUTCMinutes()+1):e==="hour"?i.setUTCHours(i.getUTCHours()+1):e==="day"?i.setUTCDate(i.getUTCDate()+1):e==="week"?i.setUTCDate(i.getUTCDate()+7):e==="month"?i.setUTCMonth(i.getUTCMonth()+1):e==="quarter"?i.setUTCMonth(i.getUTCMonth()+3):e==="year"&&i.setUTCFullYear(i.getUTCFullYear()+1),/^\d{4}-\d{2}-\d{2}$/.test(n)?i.toISOString().slice(0,10):i.toISOString()):null}function Wv(n,e){const t=Ms(n);if(t){const i=Vv(e.to,t.grain);return i?`${t.baseDimension} >= ${Tn(e.from)} AND ${t.baseDimension} < ${Tn(i)}`:`${t.baseDimension} >= ${Tn(e.from)} AND ${t.baseDimension} <= ${Tn(e.to)}`}return`${n} >= ${Tn(e.from)} AND ${n} <= ${Tn(e.to)}`}function f_(n,e,t){const i=Ms(n);return i?e===er?[`${i.baseDimension} IS NULL`]:[Wv(n,{from:e,to:e})]:jv({[n]:{mode:"include",values:[e]}},{types:t})}function eu(n,e){const t=n.tabs.find(i=>i.charts.includes(e));return`${(t==null?void 0:t.id)??"dashboard"}:${e.id}`}function cf(n,e,t){var f,h,m,g,v;const i=((h=(f=n.defaults)==null?void 0:f.interactions)==null?void 0:h.scope)??"dashboard";if(i==="dashboard")return t;if(i==="chart"){const x=eu(n,e);return{filters:{...Object.fromEntries(Object.entries(t.filters).filter(([b])=>t.filterSources[b]===x)),...((m=t.chartFilters)==null?void 0:m[x])??{}},ranges:{...Object.fromEntries(Object.entries(t.ranges).filter(([b])=>t.rangeSources[b]===x)),...((g=t.chartRanges)==null?void 0:g[x])??{}}}}const a=((v=n.tabs.find(x=>x.charts.includes(e)))==null?void 0:v.charts)??[e],u=new Set(a.flatMap(x=>x.query.dimensions??[]));return{filters:Object.fromEntries(Object.entries(t.filters).filter(([x])=>u.has(x))),ranges:Object.fromEntries(Object.entries(t.ranges).filter(([x])=>u.has(x)))}}function h_(n,e,t,i,a={},u={filterSources:{},rangeSources:{}}){var b,w,j,C,O,H;const f=cf(n,e,{filters:t,ranges:a,...u}),h=((b=e.encoding)==null?void 0:b.x)??((w=e.query.dimensions)==null?void 0:w[0])??"",m=e.query.order_by??e.query.orderBy,g=h&&["line","area"].includes(zv(e,i))?[`${h} ASC`]:void 0,v={metrics:e.query.metrics,dimensions:e.query.dimensions,filters:[...e.query.filters??[],...Object.entries(f.filters).flatMap(([L,R])=>f_(L,R,i)),...Object.entries(f.ranges).map(([L,R])=>Wv(L,R))],segments:e.query.segments,orderBy:m??g,limit:e.query.limit??500},x=e.query.use_preaggregations??e.query.usePreaggregations??((C=(j=n.defaults)==null?void 0:j.query)==null?void 0:C.use_preaggregations)??((H=(O=n.defaults)==null?void 0:O.query)==null?void 0:H.usePreaggregations);return x!==void 0&&(v.usePreaggregations=x),v}function Qm(n){const e=/^(\d{4}-\d{2}-\d{2})/.exec(n);return(e==null?void 0:e[1])??null}function Km(n,e){const t=Qm(e.from);if(!t)return null;const i=Ms(n);if(!i){const f=Qm(e.to);return f?{from:t,to:f}:null}const a=Vv(e.to,i.grain);if(!a)return null;const u=new Date(a);return u.setUTCMilliseconds(u.getUTCMilliseconds()-1),{from:t,to:u.toISOString().slice(0,10)}}function p_(n,e,t,i={},a){var T,E,I;const u=(T=e.encoding)==null?void 0:T.y,f=(Array.isArray(u)?u[0]:u)??e.query.metrics[0]??"",h=e.query.dimensions??[],m=a==null?void 0:a.graphMetrics.find(U=>U.ref===f),g=f.includes(".")?f.split(".")[0]:((E=h[0])==null?void 0:E.split(".")[0])??(m==null?void 0:m.ownerModel)??(m==null?void 0:m.model)??"",v=cf(n,e,t),x=Object.entries(v.filters).flatMap(([U,G])=>{const V=Ms(U);return V?[{dimension:U,value:G,baseDimension:V.baseDimension}]:[]}),b=Object.fromEntries(Object.entries(v.filters).flatMap(([U,G])=>{const V=Ms(U);return V?G===er?[[V.baseDimension,[G]]]:[]:[[U,[G]]]})),w=new URLSearchParams({view:"explore",model:g,metric:f});Object.keys(b).length&&w.set("filters",JSON.stringify(b));const j=((I=e.encoding)==null?void 0:I.x)??h[0],C=x.find(({baseDimension:U,value:G})=>G!==er&&(!g||U.startsWith(`${g}.`))),O=Object.keys(v.ranges),H=[j,...O].find((U,G,V)=>{if(!U||V.indexOf(U)!==G||!v.ranges[U])return!1;const Q=Ms(U);return((i[U]??(Q?i[Q.baseDimension]:void 0))==="time"||!!Q)&&(!g||U.startsWith(`${g}.`))}),L=H?v.ranges[H]:void 0,R=C?Km(C.dimension,{from:C.value,to:C.value}):H&&L?Km(H,L):null;return R&&(w.set("from",R.from),w.set("to",R.to)),`/explore?${w}`}function m_(n,e,t,i){const a=new Map;for(const u of n){const f=Number(u[t]);if(!Number.isFinite(f))continue;const h=i.map(b=>Xl(u[b])),m=JSON.stringify(h),g=h.length?h.map(rs).join(" · "):"Current",v=a.get(m)??{label:g,filterValues:h,data:[]},x=Xl(u[e]);v.data.push({label:rs(x),filterValue:x,value:f}),a.set(m,v)}return[...a.values()]}function y_(n,e,t,i){const a=[],u=new Set,f=new Map;for(const h of n){if(h[e]==null)continue;const m=String(h[e]),g=Number(h[t]);if(!Number.isFinite(g))continue;u.has(m)||(u.add(m),a.push(m));const v=i.map(j=>Xl(h[j])),x=JSON.stringify(v),b=v.length?v.map(rs).join(" · "):"Current",w=f.get(x)??{label:b,values:new Map};w.values.set(m,g),f.set(x,w)}return[...f.values()].map(h=>({label:h.label,points:a.map(m=>({x:m,y:h.values.get(m)??Number.NaN}))}))}function df(n,e){if(typeof n!="object"||n===null||Array.isArray(n))return{};const t={};for(const[i,a]of Object.entries(n))e.has(i)&&typeof a=="string"&&(t[i]=a);return t}function ff(n,e){if(typeof n!="object"||n===null||Array.isArray(n))return{};const t={};for(const[i,a]of Object.entries(n)){if(!e.has(i)||typeof a!="object"||a===null||Array.isArray(a))continue;const u=a;typeof u.from=="string"&&typeof u.to=="string"&&(t[i]={from:u.from,to:u.to})}return t}function tu(n,e){return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).filter(t=>e.has(t[0])&&typeof t[1]=="string"))}function Hv(n,e){return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).flatMap(([t,i])=>{const a=e.get(t);if(!a)return[];const u=df(i,a);return Object.keys(u).length?[[t,u]]:[]}))}function Gv(n,e){return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).flatMap(([t,i])=>{const a=e.get(t);if(!a)return[];const u=ff(i,a);return Object.keys(u).length?[[t,u]]:[]}))}function Yv(n){return new Set(n.tabs.flatMap(e=>e.charts.flatMap(t=>t.query.dimensions??[])))}function Qv(n){return new Map(n.tabs.flatMap(e=>e.charts.map(t=>[eu(n,t),new Set(t.query.dimensions??[])])))}function g_(n,e){var j;const t=new URLSearchParams(n),i=((j=e.tabs[0])==null?void 0:j.id)??"",a=t.get("tab"),u=e.tabs.some(C=>C.id===a)?a??i:i;let f,h,m,g,v,x;try{f=JSON.parse(t.get(Ev)??"{}")}catch{f={}}try{h=JSON.parse(t.get(Rv)??"{}")}catch{h={}}try{m=JSON.parse(t.get(Lv)??"{}")}catch{m={}}try{g=JSON.parse(t.get(Uv)??"{}")}catch{g={}}try{v=JSON.parse(t.get($v)??"{}")}catch{v={}}try{x=JSON.parse(t.get(Pv)??"{}")}catch{x={}}const b=Yv(e),w=Qv(e);return{tab:u,filters:df(f,b),ranges:ff(h,b),filterSources:tu(m,b),rangeSources:tu(g,b),chartFilters:Hv(v,w),chartRanges:Gv(x,w)}}function v_(n,e){var u;const t=new URLSearchParams;n.tab&&n.tab!==((u=e.tabs[0])==null?void 0:u.id)&&t.set("tab",n.tab),Object.keys(n.filters).length&&t.set(Ev,JSON.stringify(n.filters)),Object.keys(n.ranges).length&&t.set(Rv,JSON.stringify(n.ranges));const i=Object.fromEntries(Object.entries(n.filterSources).filter(([f])=>f in n.filters)),a=Object.fromEntries(Object.entries(n.rangeSources).filter(([f])=>f in n.ranges));return Object.keys(i).length&&t.set(Lv,JSON.stringify(i)),Object.keys(a).length&&t.set(Uv,JSON.stringify(a)),Object.keys(n.chartFilters??{}).length&&t.set($v,JSON.stringify(n.chartFilters)),Object.keys(n.chartRanges??{}).length&&t.set(Pv,JSON.stringify(n.chartRanges)),t.toString()}function Kv(n){return`sidemantic-dashboard-views:${`${n.schema??"sidemantic.dashboard.v1"}:${n.title}`}`}function x_(n){try{const e=JSON.parse(localStorage.getItem(Kv(n))??"[]");if(!Array.isArray(e))return[];const t=Yv(n);return e.flatMap(i=>{var m;if(typeof i!="object"||i===null||Array.isArray(i))return[];const a=i;if(typeof a.name!="string"||!a.name.trim())return[];if(typeof a.state!="object"||a.state===null||Array.isArray(a.state))return[];const u=a.state,f=n.tabs.some(g=>g.id===u.tab)?String(u.tab):((m=n.tabs[0])==null?void 0:m.id)??"",h=Qv(n);return[{name:a.name,state:{tab:f,filters:df(u.filters,t),ranges:ff(u.ranges,t),filterSources:tu(u.filterSources,t),rangeSources:tu(u.rangeSources,t),chartFilters:Hv(u.chartFilters,h),chartRanges:Gv(u.chartRanges,h)}}]})}catch{return[]}}function b_(n,e){try{return localStorage.setItem(Kv(n),JSON.stringify(e)),!0}catch{return!1}}function Jm(n){if(n==null)return"";const e=String(n);return/[",\r\n]/.test(e)?`"${e.replaceAll('"','""')}"`:e}function w_(n,e){return[n.map(Jm).join(","),...e.map(t=>n.map(i=>Jm(t[i])).join(","))].join(`\r +`)}function S_(n){var e;return((e=n.label)==null?void 0:e.trim())||n.id}function fd(n,e){return`${n} ${e}${n===1?"":"s"}`}function __(){const{catalog:n,dispatch:e}=ls(),t=i=>{const a=n.models.find(h=>h.name===i),u=kv(a,n),f=(a==null?void 0:a.defaultGrain)??"month";e({type:"setModel",model:i,metric:u,grain:f}),e({type:"setView",view:"explore"})};return c.jsxs("div",{className:"mx-auto w-full max-w-5xl p-6",children:[c.jsxs("div",{className:"mb-4",children:[c.jsx("h1",{className:"text-base font-semibold text-ink",children:"Explore"}),c.jsxs("p",{className:"text-2xs text-muted",children:[fd(n.models.length,"model")," · pick one to explore"]})]}),c.jsx("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3",children:n.models.map(i=>c.jsxs("button",{type:"button","data-testid":"explore-card","data-model":i.name,onClick:()=>t(i.name),className:"flex min-h-32 flex-col gap-2 rounded-xl border border-line bg-surface p-4 text-left shadow-[var(--shadow-sm)] transition-colors hover:border-line-strong",children:[c.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[c.jsx("span",{className:"truncate text-sm font-medium text-ink",children:i.label}),i.timeDimension?c.jsx("span",{className:"shrink-0 text-2xs text-faint",children:"time series"}):null]}),i.description?c.jsx("p",{className:"line-clamp-2 text-2xs text-muted",children:i.description}):null,c.jsx("div",{className:"mt-auto flex flex-wrap gap-1 pt-1",children:i.metrics.slice(0,3).map(a=>c.jsx("span",{className:"rounded-full bg-surface-soft px-2 py-0.5 text-2xs text-muted",children:a.label},a.ref))}),c.jsxs("div",{className:"text-2xs text-faint",children:[fd(i.metrics.length,"metric")," · ",fd(i.dimensions.length,"dimension")]})]},i.name))})]})}const N_="600px";function j_(n){for(let e=n.parentElement;e;e=e.parentElement){const t=getComputedStyle(e).overflowY;if(t==="auto"||t==="scroll")return e}return null}function k_(n,e,t=N_){if(typeof IntersectionObserver>"u")return e(),()=>{};const i=new IntersectionObserver(a=>{a.some(u=>u.isIntersecting)&&(i.disconnect(),e())},{root:j_(n),rootMargin:t});return i.observe(n),()=>i.disconnect()}const I_={positive:"text-success",negative:"text-danger",neutral:"text-faint"};function Jv({dimension:n,title:e,metricLabel:t,rows:i,selectedValues:a=[],loading:u,formatMetric:f,onToggle:h,contextColumn:m="none",contextOptions:g,onContextColumn:v,collapsedLimit:x=6,expanded:b=!1,onExpandedChange:w,containerRef:j}){const C=new Set(a),O=b?i:i.slice(0,x),H=Math.max(1,...O.map(E=>Math.abs(E.metric))),L=b||i.length>x,R=m!=="none",T=R?"grid-cols-[minmax(0,1fr)_auto_auto]":"grid-cols-[minmax(0,1fr)_auto]";return c.jsxs("section",{ref:j,"data-testid":"dimension-leaderboard","data-dimension":n,"data-expanded":b||void 0,"aria-label":`${e}, ranked by ${t}`,className:"flex min-h-40 flex-col border-b border-r border-line bg-surface data-[expanded=true]:col-span-full",children:[c.jsxs("header",{className:"flex items-center justify-between gap-3 px-3 pb-2 pt-2.5",children:[c.jsxs("div",{className:"flex min-w-0 items-baseline gap-2",children:[c.jsx("h3",{className:"truncate text-sm font-semibold text-ink",children:e}),c.jsxs("p",{className:"sr-only",children:["Ranked by ",t]})]}),g&&v?c.jsx("div",{role:"group","aria-label":"Context column","data-testid":"leaderboard-context-toggle",className:"flex shrink-0 overflow-hidden border border-line text-2xs",children:g.map(E=>c.jsx("button",{type:"button",title:E.title,"aria-pressed":m===E.key,"data-context":E.key,"data-active":m===E.key||void 0,onClick:()=>v(E.key),className:"border-l border-line px-1.5 py-0.5 font-mono text-faint first:border-l-0 hover:bg-surface-soft data-[active=true]:bg-accent-soft data-[active=true]:text-accent",children:E.label},E.key))}):null]}),c.jsx("div",{"data-testid":"leaderboard-rows",children:u&&i.length===0?c.jsx("div",{className:"space-y-2 p-3",children:[0,1,2,3].map(E=>c.jsx("div",{className:"skeleton h-5 w-full"},E))}):i.length===0?c.jsx("p",{className:"px-3 py-4 text-xs text-faint",children:"No values"}):O.map(E=>{var V,Q,z;const I=E.metric<0?"negative":"positive",U=C.has(E.value),G=`${Math.round(Math.abs(E.metric)/H*100)}%`;return c.jsxs("button",{type:"button","data-dimension":n,"data-value":E.value,"data-selected":U||void 0,"data-tone":I,onClick:()=>h==null?void 0:h(E.value),"aria-pressed":U,className:`leaderboard-row relative grid w-full ${T} items-center gap-3 overflow-hidden border-0 bg-transparent px-3 py-1 text-left text-xs text-ink data-[selected=true]:bg-chart-primary-selected`,children:[c.jsx("span",{"aria-hidden":"true",className:`absolute inset-y-0 left-0 ${I==="negative"?"bg-danger-soft":"bg-chart-primary-soft"}`,style:{width:G}}),c.jsx("span",{className:"relative min-w-0 truncate text-muted",children:rs(E.value)}),c.jsx("strong",{className:"relative tnum font-semibold text-ink",children:f(E.metric)}),R?c.jsx("span",{"data-testid":"leaderboard-context","data-tone":((V=E.context)==null?void 0:V.tone)??"neutral",className:`relative w-14 text-right font-mono tnum text-2xs ${I_[((Q=E.context)==null?void 0:Q.tone)??"neutral"]}`,children:((z=E.context)==null?void 0:z.label)??"—"}):null]},`${n}:${E.value}`)})}),L&&!u?c.jsx("button",{type:"button","data-action":b?"leaderboard-back":"leaderboard-expand","aria-expanded":b,onClick:()=>w==null?void 0:w(!b),className:"leaderboard-expand border-0 border-t border-line bg-transparent px-3 py-1 text-left text-xs font-normal text-faint hover:text-accent",children:b?"← All dimensions":`Expand table (${i.length})`}):null]})}const M_=[{key:"none",label:"—",title:"No context column"},{key:"pctTotal",label:"%",title:"Share of total"},{key:"delta",label:"Δ",title:"Absolute change vs comparison period"},{key:"deltaPct",label:"Δ%",title:"Percent change vs comparison period"}],D_=[],C_=[];function F_({dim:n,model:e,timeDimensionRef:t,rankMetric:i,contextColumn:a,metricTotal:u,comparisonRange:f,baseFilters:h=D_,baseSegments:m=C_,usePreaggregations:g,limit:v=6,expanded:x=!1,onExpandedChange:b}){var pe;const{state:w,dispatch:j,backend:C,catalog:O}=ls(),H=D.useRef(null),[L,R]=D.useState(!1);D.useEffect(()=>{if(!(L||!H.current))return k_(H.current,()=>R(!0))},[L]);const T=t??((pe=e.timeDimension)==null?void 0:pe.ref),E=D.useMemo(()=>ou(O),[O]),I=D.useMemo(()=>[...h,...Os(w.filters,{timeRef:T,range:w.dateRange,excludeDim:n.ref,types:E})],[h,w.filters,T,w.dateRange,n.ref,E]),{result:U,loading:G,error:V}=Zn(C,L?zm(i.ref,n.ref,I,v,m,g):null),Q=w.filters[n.ref],z=(Q==null?void 0:Q.mode)==="include"?Q.values:void 0,ee=[i.ref,n.ref],X=Fn(n.ref,ee),ie=a==="delta"||a==="deltaPct",ae=D.useMemo(()=>{if(!U||!U.columns.includes(X))return null;const ne=[];let fe=!1;for(const Te of U.rows){const Ue=Te[X];Ue==null?fe=!0:ne.push(String(Ue))}const Ce=[];return ne.length&&Ce.push(`CAST(${n.ref} AS VARCHAR) IN (${ne.map(Tn).join(", ")})`),fe&&Ce.push(`${n.ref} IS NULL`),Ce.length?Ce.length===1?Ce[0]:`(${Ce.join(" OR ")})`:null},[U,X,n.ref]),re=D.useMemo(()=>ie&&f&&T&&ae?[...h,...Os(w.filters,{timeRef:T,range:f,excludeDim:n.ref,types:E}),ae]:null,[ie,f,T,w.filters,n.ref,E,ae,h]),se=Zn(C,re?zm(i.ref,n.ref,re,v,m,g):null),A=Fn(i.ref,ee),Y=!!U&&U.rows.length>0&&!U.columns.includes(A),W=D.useMemo(()=>{const ne=new Map;if(!se.result||!se.result.columns.includes(A))return ne;for(const fe of se.result.rows){const Ce=fe[X],Te=Ce==null?er:String(Ce);ne.set(Te,Number(fe[A]))}return ne},[se.result,X,A]),_={format:i.format,type:i.type};function F(ne,fe){switch(a){case"pctTotal":return u===void 0?void 0:hb(fe,u);case"delta":return pb(fe,W.get(ne),_);case"deltaPct":return mb(fe,W.get(ne));default:return}}const te=U&&!Y?U.rows.map(ne=>{const fe=ne[X],Ce=fe==null?er:String(fe),Te=Number(ne[A]??0);return{value:Ce,metric:Te,context:F(Ce,Te)}}):[];return V?c.jsx(Bi,{title:n.label,message:V}):c.jsx(Jv,{dimension:n.ref,title:n.label,metricLabel:i.label,rows:te,containerRef:H,loading:!L||G||Y,selectedValues:z,formatMetric:ne=>Wt(ne,_),onToggle:ne=>j({type:"toggleFilter",dim:n.ref,value:ne}),contextColumn:a,contextOptions:M_,onContextColumn:ne=>j({type:"setContextColumn",column:ne}),collapsedLimit:v,expanded:x,onExpandedChange:b})}function Dr(){const[n,e]=D.useState(null);return{tip:n,handlers:i=>({onMouseEnter:a=>e({content:i,x:a.clientX,y:a.clientY}),onMouseMove:a=>e({content:i,x:a.clientX,y:a.clientY}),onMouseLeave:()=>e(null)})}}function rr({tip:n,position:e="fixed",offset:t=12,className:i,style:a}){return n?c.jsx("div",{role:"tooltip",style:{position:e,left:n.x+t,top:n.y+t,pointerEvents:"none",zIndex:50,...a},className:i||"rounded-lg border border-line bg-surface px-2.5 py-1.5 text-xs text-ink shadow-[var(--shadow)]",children:n.content}):null}function os({title:n,rows:e}){return c.jsxs("div",{className:"min-w-28",children:[n?c.jsx("div",{className:"mb-0.5 font-mono text-faint",children:n}):null,e.map((t,i)=>c.jsxs("div",{className:"flex items-center justify-between gap-3",children:[c.jsxs("span",{className:"flex items-center gap-1 text-muted",children:[t.swatch?c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-sm",style:{background:t.swatch}}):null,t.label]}),c.jsx("span",{className:"font-mono tnum font-medium text-ink",children:t.value})]},i))]})}function qv({values:n,labels:e,height:t=44,ariaLabel:i,formatValue:a=h=>h.toLocaleString(void 0,{maximumFractionDigits:2}),onHover:u,onBrush:f}){const h=D.useRef(null),m=D.useId(),g=D.useRef(null),v=D.useRef(null),[x,b]=D.useState(200),[w,j]=D.useState(null),[C,O]=D.useState(null),[H,L]=D.useState(null);D.useEffect(()=>{const W=h.current;if(!W||typeof ResizeObserver>"u")return;const _=new ResizeObserver(F=>{for(const te of F)b(Math.max(40,te.contentRect.width))});return _.observe(W),()=>_.disconnect()},[]);const R=n.map((W,_)=>({index:_,value:W})).filter(W=>Number.isFinite(W.value));if(R.length<2)return c.jsx("svg",{ref:g,role:"img","aria-label":i||"No trend data",className:"h-11 w-full",viewBox:`0 0 ${x} ${t}`});const T=3,E=Math.min(...R.map(W=>W.value)),U=Math.max(...R.map(W=>W.value))-E||1,G=R.map((W,_)=>({...W,x:T+_/(R.length-1)*(x-T*2),y:T+(1-(W.value-E)/U)*(t-T*2)})),V=G.map(({x:W,y:_})=>`${W.toFixed(1)},${_.toFixed(1)}`).join(" L "),Q=`M ${G[0].x.toFixed(1)},${t-T} L ${V} L ${G.at(-1).x.toFixed(1)},${t-T} Z`,z=G.at(-1),ee=i||`Trend of ${R.length} points, latest ${a(z.value)}`;function X(W){var F;const _=(F=g.current)==null?void 0:F.getBoundingClientRect();return _?Math.max(T,Math.min(x-T,(W.clientX-_.left)/_.width*x)):T}function ie(W){return Math.max(0,Math.min(G.length-1,Math.round((W-T)/(x-T*2)*(G.length-1))))}function ae(W){const _=X(W),F=ie(_),te=G[F];j(F),L({content:`${e!=null&&e[te.index]?`${e[te.index]}: `:""}${a(te.value)}`,x:W.clientX,y:W.clientY}),u==null||u({index:te.index,label:e==null?void 0:e[te.index],value:te.value}),v.current!==null&&O({a:v.current,b:_})}function re(W){if(!f||!(e!=null&&e.length))return;W.currentTarget.setPointerCapture(W.pointerId);const _=X(W);v.current=_,O({a:_,b:_})}function se(W){if(v.current===null||!f||!(e!=null&&e.length))return;W.currentTarget.hasPointerCapture(W.pointerId)&&W.currentTarget.releasePointerCapture(W.pointerId);const _=X(W);if(Math.abs(_-v.current)>6){const F=G[ie(Math.min(v.current,_))],te=G[ie(Math.max(v.current,_))];f({from:e[F.index],to:e[te.index]})}v.current=null,O(null)}function A(){j(null),L(null),u==null||u(null),v.current===null&&O(null)}const Y=w===null?null:G[w];return c.jsxs("span",{ref:h,className:"relative block w-full",children:[c.jsxs("svg",{ref:g,role:"img","aria-label":ee,className:`h-11 w-full overflow-hidden text-chart-primary ${f?"touch-none select-none":""}`,viewBox:`0 0 ${x} ${t}`,preserveAspectRatio:"none",onPointerMove:ae,onPointerDown:re,onPointerUp:se,onPointerCancel:A,onPointerLeave:A,onDoubleClick:()=>f==null?void 0:f(null),children:[c.jsx("defs",{children:c.jsxs("linearGradient",{id:m,x1:"0",y1:"0",x2:"0",y2:"1",children:[c.jsx("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:.16}),c.jsx("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:0})]})}),c.jsx("path",{d:Q,fill:`url(#${m})`}),c.jsx("path",{d:`M ${V}`,fill:"none",stroke:"currentColor",strokeWidth:1.5,vectorEffect:"non-scaling-stroke"}),C?c.jsx("rect",{x:Math.min(C.a,C.b),y:0,width:Math.abs(C.b-C.a),height:t,fill:"currentColor",opacity:.12}):null,Y?c.jsxs(c.Fragment,{children:[c.jsx("line",{x1:Y.x,x2:Y.x,y1:0,y2:t,stroke:"currentColor",strokeWidth:1,opacity:.45}),c.jsx("circle",{cx:Y.x,cy:Y.y,r:2.5,fill:"currentColor"})]}):c.jsx("circle",{cx:z.x,cy:z.y,r:2.25,fill:"currentColor"})]}),c.jsx(rr,{tip:H})]})}const O_={positive:"text-success",negative:"text-danger",neutral:"text-faint"},T_={positive:"▲",negative:"▼",neutral:"·"};function Nr({metric:n,label:e,value:t,valueText:i,format:a,delta:u,comparison:f,sparkValues:h=[],sparkLabels:m,selected:g,loading:v,onSelect:x,onSparkHover:b,onSparkBrush:w}){const[j,C]=D.useState(null),O=c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[c.jsx("span",{className:"truncate text-xs font-medium text-muted",children:e}),j!=null&&j.label?c.jsx("span",{className:"shrink-0 font-mono text-2xs text-faint",children:j.label}):null]}),c.jsx("div",{className:"font-mono tnum text-[19px] font-semibold leading-tight tracking-tight text-ink",children:v?c.jsx("span",{className:"skeleton inline-block h-6 w-24 align-middle"}):j?pt(j.value,a):i??pt(t,a)}),u||f?c.jsxs("div",{className:"flex items-baseline gap-1 text-2xs",children:[u?c.jsxs("span",{"data-tone":u.tone,className:`font-mono tnum font-medium ${O_[u.tone]}`,children:[c.jsx("span",{"aria-hidden":"true",className:"mr-0.5 text-[8px]",children:T_[u.tone]}),u.label]}):null,f?c.jsx("span",{className:"truncate text-faint",children:f}):null]}):null]}),H="group flex w-full flex-col gap-1.5 overflow-hidden rounded-xl border border-line bg-surface px-3.5 pt-3 text-left shadow-[var(--shadow-sm)] transition-colors hover:border-line-strong data-[selected=true]:border-accent",L=c.jsx("div",{className:"-mx-3.5 mt-auto",children:c.jsx(qv,{values:h,labels:m,onHover:R=>{C(R),b==null||b(R)},onBrush:w,formatValue:R=>pt(R,a)})});return x?c.jsxs("article",{"data-metric":n,"data-selected":g||void 0,className:H,children:[c.jsx("button",{type:"button","data-metric":n,"aria-pressed":!!g,onClick:()=>x(n),className:"-m-1 flex flex-col gap-1 border-0 bg-transparent p-1 text-left transition hover:opacity-75",children:O}),L]}):c.jsxs("article",{"data-metric":n,"data-selected":g||void 0,className:H,children:[O,L]})}const cl=280,qt={top:14,right:18,bottom:26,left:60},qm=["var(--accent)","var(--danger)","#0f9f8f","#d98921","#a66dd4","#3b82c4"];function hd(n){return qm[n%qm.length]}function Zm(n,e,t){return Math.min(Math.max(n,e),t)}function Go({points:n,seriesLabel:e="Current",additionalSeries:t=[],comparison:i,formatValue:a,formatAxis:u=a,formatLabel:f=v=>v,comparisonLabel:h="Previous",ariaLabel:m,onBrush:g}){var Fr;const v=D.useRef(null),x=D.useRef(null),b=D.useRef(!1),w=D.useRef(null),[j,C]=D.useState(820),[O,H]=D.useState(null),[L,R]=D.useState(null);D.useEffect(()=>{const ue=v.current;if(!ue)return;const Oe=new ResizeObserver(rt=>{for(const Nt of rt)C(Math.max(320,Nt.contentRect.width))});return Oe.observe(ue),()=>Oe.disconnect()},[]);const T=n.length,E=[{label:e,points:n},...t],I=[...E.flatMap(ue=>ue.points),...i??[]].map(ue=>ue.y).filter(Number.isFinite),U=T<2||I.length===0,G=U?0:Math.min(0,...I),V=U?1:Math.max(...I),Q=V-G||1,z=j-qt.left-qt.right,ee=cl-qt.top-qt.bottom,X=ue=>qt.left+(T<=1?0:ue/(T-1)*z),ie=ue=>qt.top+(1-(ue-G)/Q)*ee,ae=ue=>Zm(Math.round((ue-qt.left)/z*(T-1)),0,T-1),re=ue=>{const Oe=[];let rt=[];return ue.forEach((Nt,Un)=>{Number.isFinite(Nt.y)?rt.push(`${X(Un).toFixed(1)},${ie(Nt.y).toFixed(1)}`):rt.length&&(Oe.push(rt.join(" L ")),rt=[])}),rt.length&&Oe.push(rt.join(" L ")),Oe.map(Nt=>`M ${Nt}`).join(" ")},se=U||n.some(ue=>!Number.isFinite(ue.y))?"":`M ${X(0).toFixed(1)},${ie(G).toFixed(1)} L ${n.map((ue,Oe)=>`${X(Oe).toFixed(1)},${ie(ue.y).toFixed(1)}`).join(" L ")} L ${X(T-1).toFixed(1)},${ie(G).toFixed(1)} Z`;function A(ue){var rt;const Oe=(rt=x.current)==null?void 0:rt.getBoundingClientRect();return Oe?ue.clientX-Oe.left:0}function Y(ue){if(U)return;const Oe=A(ue);H(ae(Oe)),b.current&&w.current&&(w.current={a:w.current.a,b:Oe},R({...w.current}))}function W(ue){if(U||!g)return;ue.currentTarget.setPointerCapture(ue.pointerId),b.current=!0;const Oe=A(ue);w.current={a:Oe,b:Oe},R({...w.current})}function _(ue){ue.currentTarget.hasPointerCapture(ue.pointerId)&&ue.currentTarget.releasePointerCapture(ue.pointerId);const Oe=w.current;if(b.current&&Oe&&g){const rt=ae(Math.min(Oe.a,Oe.b)),Nt=ae(Math.max(Oe.a,Oe.b));Nt>rt&&g({from:n[rt].x,to:n[Nt].x})}b.current=!1,w.current=null,R(null)}function F(){H(null),b.current=!1,w.current=null,R(null)}const te=Math.max(1,Math.ceil(T/8)),pe=[V,G+Q*.66,G+Q*.33,G],ne=O!=null&&O>=0&&O{const rt=ue.points[ne];return rt&&Number.isFinite(rt.y)?[{...ue,point:rt,index:Oe}]:[]}),lt=ne!=null?(i==null?void 0:i[ne])??null:null,wt=lt&&Number.isFinite(lt.y)?lt:null,Bs=ne!=null?Zm(X(ne),80,j-80):0,xn=Ce&&wt&&wt.y!==0?(Ce.y-wt.y)/Math.abs(wt.y)*100:null,Cr=m??(U?"Time series chart: not enough data to plot.":`Time series chart, ${T} points from ${f(n[0].x)} to ${f(n[T-1].x)}.`);return c.jsxs("div",{className:"relative text-chart-primary",children:[c.jsxs("div",{className:"flex flex-wrap items-center justify-end gap-x-3 gap-y-0.5 px-3 pt-2 text-2xs text-faint",children:[E.map((ue,Oe)=>c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{className:"inline-block h-0.5 w-3",style:{backgroundColor:hd(Oe)}})," ",ue.label]},`${ue.label}-${Oe}`)),i!=null&&i.length?c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{className:"inline-block h-0 w-3 border-t border-dashed border-faint"})," ",h]}):null]}),c.jsx("div",{ref:v,className:"w-full",children:U?c.jsx("div",{className:"grid h-[280px] place-items-center text-xs text-faint",children:"Not enough data to chart."}):c.jsxs("svg",{ref:x,width:j,height:cl,role:"img","aria-label":Cr,className:"block touch-none select-none",onPointerMove:Y,onPointerDown:W,onPointerUp:_,onPointerLeave:F,onPointerCancel:F,onDoubleClick:()=>g==null?void 0:g(null),children:[c.jsx("defs",{children:c.jsxs("linearGradient",{id:"ts-fill",x1:"0",y1:"0",x2:"0",y2:"1",children:[c.jsx("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:.18}),c.jsx("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:0})]})}),pe.map((ue,Oe)=>c.jsxs("g",{children:[c.jsx("line",{x1:qt.left,x2:j-qt.right,y1:ie(ue),y2:ie(ue),className:"stroke-line"}),c.jsx("text",{x:qt.left-8,y:ie(ue)+3,textAnchor:"end",className:"fill-faint font-mono text-[10px]",children:u(ue)})]},Oe)),i&&i.length>=2?c.jsx("path",{d:re(i),fill:"none",className:"stroke-faint",strokeWidth:1.25,strokeDasharray:"4 3"}):null,se?c.jsx("path",{d:se,fill:"url(#ts-fill)"}):null,E.map((ue,Oe)=>c.jsx("path",{d:re(ue.points),fill:"none",stroke:hd(Oe),strokeWidth:1.75},`${ue.label}-${Oe}`)),L?c.jsx("rect",{x:Math.min(L.a,L.b),y:qt.top,width:Math.abs(L.b-L.a),height:ee,className:"fill-chart-primary",opacity:.12}):null,ne!=null&&Ue.length?c.jsxs("g",{children:[c.jsx("line",{x1:X(ne),x2:X(ne),y1:qt.top,y2:cl-qt.bottom,className:"stroke-faint",strokeDasharray:"3 3"}),wt?c.jsx("circle",{cx:X(ne),cy:ie(wt.y),r:3,className:"fill-faint"}):null,Ue.map(ue=>c.jsx("circle",{cx:X(ne),cy:ie(ue.point.y),r:3.5,fill:hd(ue.index)},`${ue.label}-${ue.index}`))]}):null,n.map((ue,Oe)=>Oe%te===0||Oe===T-1?c.jsx("text",{x:X(Oe),y:cl-8,textAnchor:"middle",className:"fill-faint font-mono text-[10px]",children:f(ue.x)},ue.x):null)]})}),Ue.length&&Te?c.jsxs("div",{className:"pointer-events-none absolute top-8 z-20 -translate-x-1/2 whitespace-nowrap border border-line bg-surface px-2 py-1.5 text-2xs shadow-[var(--shadow)]",style:{left:Bs},children:[c.jsx("div",{className:"mb-0.5 font-mono text-faint",children:f(Te)}),Ue.map(ue=>c.jsxs("div",{className:"flex items-center justify-between gap-3",children:[c.jsx("span",{className:"text-muted",children:ue.label}),c.jsx("span",{className:"font-mono tnum font-medium text-ink",children:a(ue.point.y)})]},`${ue.label}-${ue.index}`)),wt?c.jsxs("div",{className:"flex items-center justify-between gap-3",children:[c.jsx("span",{className:"text-muted",children:h}),c.jsx("span",{className:"font-mono tnum text-muted",children:a(wt.y)})]}):null,xn!=null?c.jsxs("div",{className:`mt-0.5 text-right font-mono ${xn>0?"text-success":xn<0?"text-danger":"text-faint"}`,children:[xn.toLocaleString(void 0,{maximumFractionDigits:1,signDisplay:"exceptZero"}),"%"]}):null]}):null]})}const A_={positive:"text-success",negative:"text-danger",neutral:"text-faint"};function B_({metric:n,points:e,comparisonPoints:t,total:i,prevTotal:a,hasTime:u,loading:f,activeRange:h,comparisonLabel:m="Prev period",formatLabel:g,onBrush:v}){const x={format:n.format,type:n.type},b=a!==void 0?yy(i,a):null,w=`${n.label} over time. Total ${pt(i,x)}${b?`, ${b.label} versus the ${m.toLowerCase()}`:""}.`;return c.jsxs("section",{className:"flex flex-col gap-2",children:[c.jsxs("header",{className:"flex flex-wrap items-baseline gap-x-3 gap-y-0.5 px-0.5",children:[c.jsx("h2",{className:"text-xs font-medium text-muted",children:n.label}),c.jsx("span",{className:"font-mono tnum text-xl font-semibold text-ink",children:pt(i,x)}),b?c.jsxs("span",{className:`text-xs ${A_[b.tone]}`,children:[b.label," vs ",m.toLowerCase()]}):null,u?null:c.jsx("span",{className:"text-2xs text-faint",children:"No time dimension"}),h?c.jsx("button",{type:"button",onClick:()=>v(null),className:"ml-auto inline-flex h-7 items-center rounded-full border border-line bg-surface px-3 text-xs text-muted hover:border-line-strong hover:text-ink",children:"Reset zoom"}):null]}),u?f&&e.length<2?c.jsx("div",{className:"skeleton h-[280px] w-full"}):c.jsx(Go,{points:e,comparison:t,formatValue:j=>pt(j,x),formatAxis:j=>Wt(j,x),formatLabel:g,comparisonLabel:m,ariaLabel:w,onBrush:v}):null]})}const E_=new Set(["and","as","asc","by","case","cast","count","date_trunc","desc","else","end","from","group","in","is","join","left","limit","not","null","on","or","order","over","partition","select","sum","then","when","where","with"]);function R_(n){const e=[];let t=0;for(;ta).map(([a,u])=>`-- ${a} +${u}`).join(` + +`),i=R_(t||"No queries yet.");return c.jsxs("details",{className:"border border-line bg-surface",children:[c.jsx("summary",{className:"cursor-pointer px-3 py-2 text-xs font-medium text-muted",children:"Generated SQL"}),Object.keys(e).length>0?c.jsx("div",{"data-testid":"query-inputs",className:"grid gap-px border-t border-line bg-line sm:grid-cols-2",children:Object.entries(e).map(([a,u])=>u?c.jsxs("section",{className:"min-w-0 bg-surface px-3 py-2 text-2xs",children:[c.jsx("h3",{className:"mb-1 font-semibold text-ink",children:a}),[["Metrics",u.metrics],["Dimensions",u.dimensions],["Filters",u.filters]].map(([f,h])=>h!=null&&h.length?c.jsxs("p",{className:"truncate text-muted",title:h.join(", "),children:[c.jsxs("strong",{className:"font-medium text-faint",children:[f,":"]})," ",h.join(", ")]},f):null)]},a):null)}):null,c.jsx("pre",{"data-testid":"query-debug",className:"max-h-72 overflow-auto whitespace-pre-wrap border-t border-line px-3 py-2 font-mono text-2xs text-muted",children:i.map((a,u)=>Xm[a.kind]?c.jsx("span",{className:Xm[a.kind],"data-token":a.kind,children:a.value},u):a.value)})]})}function L_(n){return{format:n==null?void 0:n.format,type:n==null?void 0:n.type}}function U_(n,e){return n&&e.some(t=>t.ref===n)?n:null}function ey(n,e){return[...n].sort((t,i)=>String(t[e]??"").localeCompare(String(i[e]??"")))}function $_(n,e){return{from:e==="second"||e==="minute"||e==="hour"?n.from.replace(" ","T"):nf(n.from),to:hS(n.to,e)}}function P_(){var Cr,Fr,ue,Oe,rt,Nt,Un,sr,Es,Ei;const{state:n,dispatch:e,catalog:t,backend:i,dashboard:a}=ls(),[u,f]=D.useState(null),h=t.models.find(Se=>Se.name===n.model),m=D.useMemo(()=>Cs(t,a,n.dashboardTab),[t,a,n.dashboardTab]);D.useEffect(()=>{f(null)},[n.dashboardTab,n.model]);const g=(m==null?void 0:m.metrics)??(h==null?void 0:h.metrics)??[],v=new Set(g.map(Se=>Se.ref)),x=ji(t,n.model).filter(Se=>!m||v.has(Se.ref)),b=((Cr=m==null?void 0:m.timeDimension)==null?void 0:Cr.ref)??((Fr=h==null?void 0:h.timeDimension)==null?void 0:Fr.ref),w=g.find(Se=>Se.ref===n.selectedMetric)??x.find(Se=>Se.ref===n.selectedMetric)??g[0],j=!!w&&g.some(Se=>Se.ref===w.ref),C=D.useMemo(()=>{const Se=g.map(bn=>bn.ref);return w&&!j?[...Se,w.ref]:Se},[g,w,j]),O=D.useMemo(()=>ou(t),[t]),H=D.useMemo(()=>[...(m==null?void 0:m.filters)??[],...Os(n.filters,{timeRef:b,range:n.dateRange,types:O})],[m,n.filters,b,n.dateRange,O]),L=D.useMemo(()=>n.comparison==="off"||!n.dateRange?null:n.comparison==="year"?lS(n.dateRange):n.comparison==="custom"?n.comparisonRange??null:aS(n.dateRange),[n.comparison,n.dateRange,n.comparisonRange]),R=D.useMemo(()=>L&&b?[...(m==null?void 0:m.filters)??[],...Os(n.filters,{timeRef:b,range:L,types:O})]:null,[m,n.filters,b,L,O]),T=n.timezone,E=Se=>Se?{...Se,timezone:T}:null,I=Zn(i,C.length?E($m(C,H,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations)):null),U=Zn(i,C.length&&b?E(Pm(C,b,n.grain,H,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations,!!n.dateRange)):null),G=Zn(i,C.length&&R?E($m(C,R,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations)):null),V=Zn(i,w&&b&&R?E(Pm([w.ref],b,n.grain,R,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations,!0)):null),Q=I.error??U.error??G.error??V.error;if(!h)return c.jsx("div",{className:"p-4",children:c.jsx(Xn,{message:"No model available in this semantic layer."})});const z=((m==null?void 0:m.dimensions)??h.dimensions).filter(Se=>Se.type!=="time"),ee=U_(u,z),X=n.comparison==="year"?"Prev year":n.comparison==="custom"?"Comparison":"Prev period",ie=b?`${b}__${n.grain}`:"",ae=ie?[...C,ie]:C,re=w&&ie?[w.ref,ie]:[],se=g[0]?Fn(g[0].ref,C):w?Fn(w.ref,C):null,A=Se=>!Se||!se||Se.columns.includes(se),Y=A(I.result)?(ue=I.result)==null?void 0:ue.rows[0]:void 0,W=A(G.result)?(Oe=G.result)==null?void 0:Oe.rows[0]:void 0,_=A(U.result)?((rt=U.result)==null?void 0:rt.rows)??[]:[],F=w?Fn(w.ref,C):"",te=w?Fn(w.ref,ae):"",pe=w?Fn(w.ref,re):"",ne=ie?Fn(ie,ae):"",fe=ie?Fn(ie,re):"",Ce=ne?ey(_,ne):_,Te=Y&&F?Number(Y[F]):NaN,Ue=W&&F?Number(W[F]):void 0,lt=te?Ce.map(Se=>({x:String(Se[ne]??""),y:Number(Se[te])})):[],wt=fe?ey(((Nt=V.result)==null?void 0:Nt.rows)??[],fe):[],Bs=pe&<.length>0&&wt.length>0?(()=>{const Se=String(wt[0][fe]??""),bn=lt[0].x,cs=new Map;for(const tn of wt)cs.set(Lm(Se,String(tn[fe]??""),n.grain),Number(tn[pe]));return lt.map(tn=>({x:tn.x,y:cs.get(Lm(bn,tn.x,n.grain))??NaN}))})():[];function xn(Se){e(Se?{type:"setDateRange",range:$_(Se,n.grain)}:{type:"setDateRange",range:void 0})}return c.jsxs("div",{className:"flex flex-col gap-4 p-4",children:[Q?c.jsx(Bi,{message:Q}):null,c.jsx("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-3 lg:grid-cols-4 xl:grid-cols-6","data-testid":"metric-totals",children:g.length===0?c.jsx("div",{className:"col-span-full",children:c.jsx(Xn,{message:"This model has no metrics."})}):g.map(Se=>{const bn=Fn(Se.ref,C),cs=Fn(Se.ref,ae),tn=Y?Number(Y[bn]):NaN,ds=W?Number(W[bn]):void 0,Yo=Ce.map(ir=>Number(ir[cs])).filter(Number.isFinite);return c.jsx(Nr,{metric:Se.ref,label:Se.label,valueText:pt(tn,L_(Se)),delta:ds!==void 0?yy(tn,ds):null,sparkValues:Yo,selected:n.selectedMetric===Se.ref,loading:I.loading&&!Y,onSelect:ir=>e({type:"setMetric",metric:ir})},Se.ref)})}),w?c.jsx(B_,{metric:w,points:lt,comparisonPoints:L?Bs:void 0,total:Te,prevTotal:L?Ue:void 0,hasTime:!!b,loading:U.loading,activeRange:n.dateRange,comparisonLabel:X,formatLabel:Se=>uS(Se,n.grain),onBrush:xn}):null,c.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(220px,1fr))] gap-0 border-l border-t border-line",children:w&&z.length?z.filter(Se=>ee===null||ee===Se.ref).map(Se=>c.jsx(F_,{dim:Se,model:h,timeDimensionRef:b,rankMetric:w,contextColumn:n.contextColumn,metricTotal:Number.isFinite(Te)?Te:void 0,comparisonRange:L??void 0,baseFilters:m==null?void 0:m.filters,baseSegments:m==null?void 0:m.segments,usePreaggregations:m==null?void 0:m.usePreaggregations,expanded:ee===Se.ref,onExpandedChange:bn=>f(bn?Se.ref:null)},Se.ref)):c.jsx(Xn,{message:"No categorical dimensions to break down."})}),c.jsx(au,{queries:{Totals:(Un=I.result)==null?void 0:Un.sql,Series:(sr=U.result)==null?void 0:sr.sql,Comparison:(Es=G.result)==null?void 0:Es.sql,"Prev series":(Ei=V.result)==null?void 0:Ei.sql}})]})}function z_(){var ie,ae;const{state:n,catalog:e,backend:t}=ls(),i=e.models.find(re=>re.name===n.model),a=(i==null?void 0:i.dimensions)??[],u=ji(e,n.model),f=D.useMemo(()=>[...(i==null?void 0:i.metrics)??[],...u],[i,u]),h=(ie=i==null?void 0:i.timeDimension)==null?void 0:ie.ref,m=re=>a.some(se=>se.ref===re),g=re=>f.some(se=>se.ref===re),v=n.pivotDims.filter(m),x=n.pivotMetrics.filter(g),b=g(n.selectedMetric)?n.selectedMetric:(ae=i==null?void 0:i.metrics[0])==null?void 0:ae.ref,w=x.length?x:b?[b]:[],[j,C]=D.useState(null),O=D.useMemo(()=>sf(a),[a]),H=D.useMemo(()=>Os(n.filters,{timeRef:h,range:n.dateRange,types:O}),[n.filters,h,n.dateRange,O]),L=j??(w[0]?{ref:w[0],dir:"desc"}:null),R=L?[`${L.ref} ${L.dir.toUpperCase()}`]:void 0,T=w.length||v.length?gS(w,v,H,R,500):null,E=T?{...T,timezone:n.timezone}:null,{result:I,loading:U,error:G}=Zn(t,E),V=D.useMemo(()=>new Map(f.map(re=>[re.ref,re])),[f]),Q=D.useMemo(()=>{const re=new Map;for(const se of[...v,...w])re.set(Sr(se),se);return re},[v,w]),z=[...v.map(re=>{var se;return{key:Sr(re),label:((se=a.find(A=>A.ref===re))==null?void 0:se.label)??Le(re),numeric:!1}}),...w.map(re=>{var se;return{key:Sr(re),label:((se=V.get(re))==null?void 0:se.label)??Le(re),numeric:!0,sortable:!0}})];function ee(re){const se=Q.get(re);se&&C(A=>A&&A.ref===se?{ref:se,dir:A.dir==="desc"?"asc":"desc"}:{ref:se,dir:"desc"})}function X(re,se){if(re.numeric){const A=V.get(Q.get(re.key)??"");return pt(se,{format:A==null?void 0:A.format,type:A==null?void 0:A.type})}return se==null||se===""?"—":String(se)}return i?c.jsxs("div",{className:"flex flex-col gap-4 p-4",children:[G?c.jsx(Bi,{message:G}):z.length===0?c.jsx(Xn,{title:"Nothing selected",message:"Pick at least one metric or dimension above."}):c.jsx(Ho,{columns:z,rows:(I==null?void 0:I.rows)??[],loading:U,sortKey:L?Sr(L.ref):void 0,sortDir:L==null?void 0:L.dir,onSort:ee,renderCell:X}),c.jsx(au,{queries:{Pivot:I==null?void 0:I.sql}})]}):c.jsx("div",{className:"p-4",children:c.jsx(Xn,{message:"No model available."})})}const Dn={top:12,right:14,bottom:26,left:44};function V_(n,e,t=4){if(!(e>n))return[n];const i=(e-n)/(t-1);return Array.from({length:t},(a,u)=>n+i*u)}function Zv({data:n,height:e=200,ariaLabel:t,selectedLabel:i,onSelect:a}){const u=D.useRef(null),[f,h]=D.useState(640),{tip:m,handlers:g}=Dr();D.useEffect(()=>{const I=u.current;if(!I||typeof ResizeObserver>"u")return;const U=new ResizeObserver(G=>{for(const V of G)h(Math.max(160,V.contentRect.width))});return U.observe(I),()=>U.disconnect()},[]);const v=n.map(I=>Number.isFinite(I.value)?I.value:0),x=Math.min(0,...v),b=Math.max(0,...v),w=b-x||1,j=f-Dn.left-Dn.right,C=e-Dn.top-Dn.bottom,O=I=>Dn.top+(1-(I-x)/w)*C,H=O(0),L=j/Math.max(n.length,1),R=Math.max(8,Math.min(48,L*.62)),T=V_(x,b,4),E=t||`Bar chart, ${n.length} categories, up to ${Wt(b)}`;return c.jsxs(c.Fragment,{children:[c.jsxs("svg",{ref:u,role:"img","aria-label":E,className:"h-[200px] w-full overflow-hidden",viewBox:`0 0 ${f} ${e}`,children:[T.map((I,U)=>{const G=O(I);return c.jsxs("g",{children:[c.jsx("line",{x1:Dn.left,x2:f-Dn.right,y1:G,y2:G,className:"stroke-line"}),c.jsx("text",{x:Dn.left-6,y:G+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Wt(I)})]},U)}),c.jsx("line",{x1:Dn.left,x2:f-Dn.right,y1:H,y2:H,className:"stroke-line"}),n.map((I,U)=>{const G=I.filterValue??I.label,V=v[U]??0,Q=O(V),z=Math.abs(Q-H),ee=Dn.left+L*U+(L-R)/2,X=Math.min(Q,H);return c.jsxs("g",{role:a?"button":void 0,tabIndex:a?0:void 0,"aria-label":a?`Filter to ${I.label}`:void 0,"aria-pressed":a?i===G:void 0,onClick:a?()=>a(G):void 0,onKeyDown:a?ie=>{(ie.key==="Enter"||ie.key===" ")&&a(G)}:void 0,className:a?"cursor-pointer":void 0,children:[c.jsx("rect",{x:ee,y:X,width:R,height:z,"data-label":I.label,"data-value":V,"data-tone":V<0?"negative":"positive",className:i===G?"fill-accent":V<0?"fill-danger":"fill-chart-primary",...g(`${I.label}: ${pt(V)}`)}),c.jsx("text",{x:ee+R/2,y:e-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:I.label.slice(0,8)})]},`${G}-${U}`)})]}),c.jsx(rr,{tip:m})]})}const pd=7;function yn(n){return`var(--viz-${(n%pd+pd)%pd+1})`}function Ts(n,e,t=4){if(!(e>n))return[n];const i=(e-n)/(t-1);return Array.from({length:t},(a,u)=>n+i*u)}function us(n,e,t){if(!n||typeof ResizeObserver>"u")return()=>{};const i=new ResizeObserver(a=>{for(const u of a)t(Math.max(e,u.contentRect.width))});return i.observe(n),()=>i.disconnect()}const Pt={top:12,right:14,bottom:30,left:48};function Xv({points:n,height:e=240,xLabel:t,yLabel:i,formatX:a=Wt,formatY:u=Wt,ariaLabel:f}){const h=D.useRef(null),[m,g]=D.useState(640),{tip:v,handlers:x}=Dr();D.useEffect(()=>us(h.current,200,g),[]);const b=n.filter(z=>Number.isFinite(z.x)&&Number.isFinite(z.y));if(b.length===0)return c.jsx("div",{className:"grid h-[240px] place-items-center text-xs text-faint",children:"No points to chart."});const w=[...new Set(b.map(z=>z.series??""))],j=b.map(z=>z.x),C=b.map(z=>z.y),O=Math.min(...j),H=Math.max(...j),L=Math.min(...C),R=Math.max(...C),T=H-O||1,E=R-L||1,I=m-Pt.left-Pt.right,U=e-Pt.top-Pt.bottom,G=z=>Pt.left+(z-O)/T*I,V=z=>Pt.top+(1-(z-L)/E)*U,Q=f||`Scatter plot, ${b.length} points${t&&i?` of ${i} by ${t}`:""}`;return c.jsxs(c.Fragment,{children:[w.length>1?c.jsx("div",{className:"mb-1 flex flex-wrap items-center gap-3 text-2xs text-faint",children:w.map((z,ee)=>c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-full",style:{background:yn(ee)}}),z||"(default)"]},z||"(default)"))}):null,c.jsxs("svg",{ref:h,role:"img","aria-label":Q,className:"w-full overflow-hidden",style:{height:e},viewBox:`0 0 ${m} ${e}`,children:[Ts(L,R,4).map((z,ee)=>{const X=V(z);return c.jsxs("g",{children:[c.jsx("line",{x1:Pt.left,x2:m-Pt.right,y1:X,y2:X,className:"stroke-line"}),c.jsx("text",{x:Pt.left-6,y:X+3,textAnchor:"end",className:"fill-faint text-[10px]",children:u(z)})]},`y${ee}`)}),Ts(O,H,5).map((z,ee)=>{const X=G(z);return c.jsxs("g",{children:[c.jsx("line",{x1:X,x2:X,y1:Pt.top,y2:e-Pt.bottom,className:"stroke-line"}),c.jsx("text",{x:X,y:e-14,textAnchor:"middle",className:"fill-faint text-[10px]",children:a(z)})]},`x${ee}`)}),t?c.jsx("text",{x:Pt.left+I/2,y:e-2,textAnchor:"middle",className:"fill-muted text-[10px]",children:t}):null,i?c.jsx("text",{x:10,y:Pt.top+U/2,textAnchor:"middle",transform:`rotate(-90 10 ${Pt.top+U/2})`,className:"fill-muted text-[10px]",children:i}):null,b.map((z,ee)=>c.jsx("circle",{cx:G(z.x),cy:V(z.y),r:3.5,fill:yn(w.indexOf(z.series??"")),fillOpacity:.75,"data-x":z.x,"data-y":z.y,"data-label":z.label,...x(c.jsx(os,{title:z.label??z.series,rows:[{label:t??"x",value:a(z.x)},{label:i??"y",value:u(z.y)}]}))},ee))]}),c.jsx(rr,{tip:v})]})}function W_(){const n=Cv();return c.jsx("span",{className:"text-2xs text-faint",children:n?"Querying…":"Live data"})}function md(n,e){for(const i of n.models){const a=i.metrics.find(u=>u.ref===e);if(a)return{format:a.format,type:a.type}}const t=n.graphMetrics.find(i=>i.ref===e);return{format:t==null?void 0:t.format,type:t==null?void 0:t.type}}function H_(n){return sf(n.models.flatMap(e=>e.dimensions))}function G_(n){var t;const e=(t=n.encoding)==null?void 0:t.y;return(Array.isArray(e)?e[0]:e)??n.query.metrics[0]??""}function Y_({chart:n,columns:e,rows:t}){const i=w_(e,t);return c.jsx("a",{href:`data:text/csv;charset=utf-8,${encodeURIComponent(i)}`,download:`${n.id}.csv`,className:"border border-line px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Export CSV"})}function Q_({chart:n,columns:e,rows:t,loading:i,onDrill:a}){const u=e.map(g=>({key:g,label:Le(g),numeric:n.query.metrics.some(v=>xr(v,e)===g)})),f=i_(n),h=f?xr(f,e):void 0,m=!!f;return c.jsxs("div",{className:"border-t border-line bg-surface-soft p-3","data-testid":`chart-details-${n.id}`,children:[c.jsxs("div",{className:"mb-2 flex items-center justify-between gap-2",children:[c.jsx("span",{className:"text-2xs font-semibold uppercase tracking-wide text-faint",children:"Drill details"}),m&&f&&h?c.jsxs("span",{className:"text-2xs text-faint",children:["Choose a ",Le(f)," value to filter every chart."]}):null]}),c.jsx(Ho,{columns:u,rows:t,loading:i,pageSize:20,renderCell:(g,v)=>String(v??"—")}),m&&f&&h&&t.length?c.jsx("div",{className:"mt-2 flex flex-wrap gap-1","aria-label":`Drill by ${Le(f)}`,children:t.slice(0,12).map((g,v)=>{const x=Xl(g[h]);return c.jsxs("button",{type:"button",onClick:()=>a(f,x),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-accent hover:text-ink",children:["Filter to ",rs(x)]},`${String(x)}-${v}`)})}):null]})}function K_({document:n,chart:e,catalog:t,backend:i,state:a,setFilters:u,setRange:f}){var z,ee,X,ie,ae,re,se;const[h,m]=D.useState(!1),g=D.useMemo(()=>H_(t),[t]),v=D.useMemo(()=>h_(n,e,a.filters,g,a.ranges,a),[e,n,a,g]),x=Zn(i,v),b=((z=x.result)==null?void 0:z.rows)??[],w=((ee=x.result)==null?void 0:ee.columns)??[],j=e.query.dimensions??[],C=((X=e.encoding)==null?void 0:X.x)??j[0]??"",O=l_(e),H=O[0]??G_(e),L=xr(C,w),R=cf(n,e,a),T=zv(e,g),E=o_(e,C),I=((ie=e.title)==null?void 0:ie.trim())||Le(e.id),U=[(ae=e.encoding)==null?void 0:ae.color,...j.filter(A=>A!==C)].filter((A,Y,W)=>!!A&&W.indexOf(A)===Y),G=c_(e,C,U),V=U.map(A=>xr(A,w));let Q;if(x.loading&&!x.result)Q=c.jsx(af,{title:`Loading ${I}`});else if(x.error)Q=c.jsx(Bi,{title:`Could not load ${I}`,message:x.error});else if(!b.length)Q=c.jsx(Xn,{title:I,message:"The query returned no rows."});else if(j.length)if(T==="scatter"||T==="point"){const A=(re=e.encoding)!=null&&re.color?xr(e.encoding.color,w):V[0];Q=c.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(260px,1fr))] gap-3",children:O.map(Y=>{const W=xr(Y,w),_=b.map(F=>({x:Number(F[L]),y:Number(F[W]),label:String(F[L]??""),series:A?String(F[A]??""):void 0}));return c.jsxs("div",{className:"min-w-0",children:[O.length>1?c.jsx("h3",{className:"mb-1 text-2xs font-semibold text-muted",children:Le(Y)}):null,c.jsx(Xv,{points:_,xLabel:Le(C),yLabel:Le(Y),formatY:F=>pt(F,md(t,Y)),ariaLabel:`${I}, ${Le(Y)} by ${Le(C)}, ${_.length} points`})]},Y)})})}else T==="line"||T==="area"?Q=c.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(260px,1fr))] gap-3",children:O.map(A=>{const Y=y_(b,L,xr(A,w),V),W=Y[0]??{label:"Current",points:[]},_=md(t,A);return c.jsxs("div",{className:"min-w-0",children:[O.length>1?c.jsx("h3",{className:"mb-1 text-2xs font-semibold text-muted",children:Le(A)}):null,c.jsx(Go,{points:W.points,seriesLabel:W.label,additionalSeries:Y.slice(1),formatValue:F=>pt(F,_),ariaLabel:`${I}, ${Le(A)}, ${Y.length} series and ${W.points.length} buckets`,onBrush:E?F=>f(C,F):void 0})]},A)})}):Q=c.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(260px,1fr))] gap-3",children:O.map(A=>{const Y=xr(A,w),W=m_(b,L,Y,V);return W.map((_,F)=>{const te=_.data.slice(0,30),pe=O.length>1||W.length>1,ne=[O.length>1?Le(A):"",W.length>1?_.label:""].filter(Boolean).join(" · ");return c.jsxs("div",{className:"min-w-0",children:[pe?c.jsx("h3",{className:"mb-1 text-2xs font-semibold text-muted",children:ne}):null,c.jsx(Zv,{data:te,ariaLabel:`${I}, ${ne||Le(A)}, ${te.length} categories`,selectedLabel:R.filters[C],onSelect:G?fe=>{u(u_(e,C,fe,U,_.filterValues)),m(!0)}:void 0})]},`${A}-${_.label}-${F}`)})})});else{const A=b[0];Q=c.jsx("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2",children:e.query.metrics.map(Y=>c.jsx(Nr,{metric:Y,label:Le(Y),value:A[xr(Y,w)],format:md(t,Y)},Y))})}return c.jsxs("article",{className:"min-w-0 overflow-hidden border border-line bg-surface","data-testid":"dashboard-chart","data-chart-id":e.id,children:[c.jsxs("header",{className:"flex min-h-12 flex-wrap items-center justify-between gap-2 border-b border-line px-3 py-2",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("h2",{className:"truncate text-sm font-semibold text-ink",children:I}),c.jsxs("p",{className:"text-2xs text-faint",children:[Le(H),C?` by ${Le(C)}`:""]})]}),c.jsxs("div",{className:"flex flex-wrap gap-1",children:[c.jsx("button",{type:"button","aria-expanded":h,onClick:()=>m(A=>!A),className:"border border-line px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:h?"Hide details":"Drill details"}),c.jsx("a",{href:p_(n,e,a,g,t),className:"border border-line px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Explore from here"}),c.jsx(Y_,{chart:e,columns:w,rows:b})]})]}),c.jsx("div",{className:"min-h-64 overflow-hidden p-3",children:Q}),h?c.jsx(Q_,{chart:e,columns:w,rows:b,loading:x.loading,onDrill:(A,Y)=>u({[A]:Y})}):null,(se=x.result)!=null&&se.sql?c.jsx("div",{className:"border-t border-line px-3 py-2",children:c.jsx(au,{queries:{Query:x.result.sql}})}):null]})}function J_({document:n,state:e,onLoad:t}){const[i,a]=D.useState(""),[u,f]=D.useState(()=>x_(n)),[h,m]=D.useState(!1);function g(v){f(v),m(!b_(n,v))}return c.jsxs("details",{className:"relative",children:[c.jsx("summary",{className:"cursor-pointer list-none border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Saved views"}),c.jsxs("div",{className:"absolute right-0 z-50 mt-1 w-72 border border-line bg-surface p-3 shadow-[var(--shadow)]",children:[c.jsx("p",{className:"mb-2 text-2xs text-faint",children:"Stored only in this browser. Nothing is written to the server."}),c.jsxs("div",{className:"flex gap-1",children:[c.jsx("input",{value:i,onChange:v=>a(v.target.value),placeholder:"View name","aria-label":"Saved view name",className:"min-w-0 flex-1 border border-line bg-bg px-2 py-1 text-xs text-ink"}),c.jsx("button",{type:"button",disabled:!i.trim(),onClick:()=>{const v=[...u.filter(x=>x.name!==i.trim()),{name:i.trim(),state:e}];g(v),a("")},className:"border border-line px-2 py-1 text-2xs text-muted hover:text-ink disabled:opacity-40",children:"Save"})]}),h?c.jsx("p",{role:"alert",className:"mt-2 text-2xs text-danger",children:"Browser storage is unavailable."}):null,c.jsx("div",{className:"mt-2 flex flex-col gap-1",children:u.length?u.map(v=>c.jsxs("div",{className:"flex items-center justify-between gap-2 border-t border-line pt-1",children:[c.jsx("button",{type:"button",onClick:()=>t(v.state),className:"min-w-0 flex-1 truncate text-left text-xs text-muted hover:text-ink",children:v.name}),c.jsx("button",{type:"button","aria-label":`Delete saved view ${v.name}`,onClick:()=>g(u.filter(x=>x.name!==v.name)),className:"text-2xs text-faint hover:text-danger",children:"Delete"})]},v.name)):c.jsx("span",{className:"text-2xs text-faint",children:"No local views yet."})})]})]})}function q_(){const[n,e]=D.useState(!1);return c.jsx("button",{type:"button",title:"Copies the active tab, filters, and brushed ranges. Data is queried live; local saved views are not shared.",onClick:async()=>{await navigator.clipboard.writeText(window.location.href),e(!0),window.setTimeout(()=>e(!1),1200)},className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:n?"Share URL copied":"Copy share URL"})}function Z_({document:n,catalog:e,backend:t}){const[i,a]=D.useState(()=>g_(window.location.search,n)),u=n.tabs.find(b=>b.id===i.tab)??n.tabs[0];D.useEffect(()=>{window.document.title=n.title},[n.title]),D.useEffect(()=>{const b=v_(i,n);window.history.replaceState(null,"",`${window.location.pathname}${b?`?${b}`:""}`)},[n,i]);function f(b,w){var C,O;const j=eu(n,b);if((((O=(C=n.defaults)==null?void 0:C.interactions)==null?void 0:O.scope)??"dashboard")==="chart"){a(H=>{var L;return{...H,chartFilters:{...H.chartFilters??{},[j]:{...((L=H.chartFilters)==null?void 0:L[j])??{},...w}}}});return}a(H=>({...H,filters:{...H.filters,...w},filterSources:{...H.filterSources,...Object.fromEntries(Object.keys(w).map(L=>[L,j]))}}))}function h(b,w,j){var O,H;const C=eu(n,b);if((((H=(O=n.defaults)==null?void 0:O.interactions)==null?void 0:H.scope)??"dashboard")==="chart"){a(L=>{const R={...L.chartRanges??{}},T={...R[C]??{}};return j?T[w]=j:delete T[w],Object.keys(T).length?R[C]=T:delete R[C],{...L,chartRanges:R}});return}a(L=>{const R={...L.ranges},T={...L.rangeSources};return j?(R[w]=j,T[w]=C):(delete R[w],delete T[w]),{...L,ranges:R,rangeSources:T}})}const m=c.jsxs(c.Fragment,{children:[c.jsx(J_,{document:n,state:i,onLoad:a}),c.jsx(q_,{}),c.jsx($o,{}),c.jsx(W_,{})]}),g=Object.entries(i.chartFilters??{}).flatMap(([b,w])=>Object.entries(w).map(([j,C])=>({source:b,dimension:j,value:C}))),v=Object.entries(i.chartRanges??{}).flatMap(([b,w])=>Object.entries(w).map(([j,C])=>({source:b,dimension:j,range:C}))),x=Object.entries(i.filters).length||Object.entries(i.ranges).length||g.length||v.length?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"shrink-0 text-2xs font-semibold uppercase tracking-wide text-faint",children:"Filters"}),Object.entries(i.filters).map(([b,w])=>c.jsxs("button",{type:"button","aria-label":`Remove filter ${Le(b)} ${w}`,onClick:()=>a(j=>{const C={...j.filters},O={...j.filterSources};return delete C[b],delete O[b],{...j,filters:C,filterSources:O}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Le(b)," = ",w," ×"]},b)),Object.entries(i.ranges).map(([b,w])=>c.jsxs("button",{type:"button","aria-label":`Remove range ${Le(b)} ${w.from} to ${w.to}`,onClick:()=>a(j=>{const C={...j.ranges},O={...j.rangeSources};return delete C[b],delete O[b],{...j,ranges:C,rangeSources:O}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Le(b),": ",w.from,"–",w.to," ×"]},`range-${b}`)),g.map(({source:b,dimension:w,value:j})=>c.jsxs("button",{type:"button","aria-label":`Remove filter ${Le(w)} ${j} from ${b}`,onClick:()=>a(C=>{const O={...C.chartFilters??{}},H={...O[b]??{}};return delete H[w],Object.keys(H).length?O[b]=H:delete O[b],{...C,chartFilters:O}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Le(w)," = ",j," · ",b," ×"]},`chart-filter-${b}-${w}`)),v.map(({source:b,dimension:w,range:j})=>c.jsxs("button",{type:"button","aria-label":`Remove range ${Le(w)} ${j.from} to ${j.to} from ${b}`,onClick:()=>a(C=>{const O={...C.chartRanges??{}},H={...O[b]??{}};return delete H[w],Object.keys(H).length?O[b]=H:delete O[b],{...C,chartRanges:O}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Le(w),": ",j.from,"–",j.to," · ",b," ×"]},`chart-range-${b}-${w}`)),c.jsx("button",{type:"button",onClick:()=>a(b=>({...b,filters:{},ranges:{},filterSources:{},rangeSources:{},chartFilters:{},chartRanges:{}})),className:"text-2xs text-muted hover:text-ink",children:"Clear all"})]}):void 0;return c.jsx(_v,{brand:c.jsxs("div",{className:"min-w-0",children:[c.jsx("h1",{className:"truncate text-sm font-semibold text-ink",children:n.title}),c.jsx("p",{className:"text-2xs text-faint",children:"Declarative dashboard"})]}),toolbar:m,filters:x,rail:null,showRail:!1,children:c.jsxs("div",{"data-testid":"dashboard-document",className:"flex min-h-full flex-col",children:[c.jsx("nav",{className:"flex shrink-0 gap-1 overflow-x-auto border-b border-line bg-surface px-3 pt-2","aria-label":"Dashboard tabs",children:n.tabs.map(b=>c.jsx("button",{type:"button",role:"tab","aria-selected":b.id===(u==null?void 0:u.id),"data-tab-id":b.id,onClick:()=>a(w=>{var j,C;return w.tab===b.id?w:(((C=(j=n.defaults)==null?void 0:j.interactions)==null?void 0:C.scope)??"dashboard")==="dashboard"?{...w,tab:b.id}:{...w,tab:b.id,filters:{},ranges:{},filterSources:{},rangeSources:{},chartFilters:{},chartRanges:{}}}),className:"border border-b-0 border-line px-3 py-2 text-xs text-muted aria-selected:border-accent aria-selected:bg-bg aria-selected:text-ink",children:S_(b)},b.id))}),u?c.jsx("section",{className:"grid min-w-0 grid-cols-1 gap-3 p-3 xl:grid-cols-2","data-testid":"dashboard-chart-grid","data-tab-id":u.id,children:u.charts.map(b=>c.jsx(K_,{document:n,chart:b,catalog:e,backend:t,state:i,setFilters:w=>f(b,w),setRange:(w,j)=>h(b,w,j)},b.id))}):c.jsx(Xn,{title:"No dashboard tabs",message:"This dashboard document has no tabs to render."})]})})}function ty(){const n=Cv();return c.jsxs("span",{role:"status","aria-live":"polite","aria-atomic":"true",className:"flex items-center gap-1.5 text-2xs text-faint",title:n?"Updating data":"Data is up to date",children:[n?c.jsx("svg",{"aria-hidden":"true",viewBox:"0 0 24 24",className:"spinner size-3.5 text-accent",fill:"none",stroke:"currentColor",strokeWidth:"3",children:c.jsx("path",{d:"M12 3a9 9 0 1 0 9 9",strokeLinecap:"round"})}):c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-full bg-accent"}),c.jsx("span",{className:"sr-only",children:n?"Updating data":"Data is up to date"})]})}function X_(){const[n,e]=D.useState(!1);return c.jsx("button",{type:"button",onClick:async()=>{await navigator.clipboard.writeText(window.location.href),e(!0),window.setTimeout(()=>e(!1),1200)},className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:n?"Copied":"Copy link"})}function dl({children:n}){return c.jsx("div",{className:"grid h-screen place-items-center bg-bg p-6",children:n})}function e2({backend:n,onAuthenticated:e}){const[t,i]=D.useState(""),[a,u]=D.useState(null),[f,h]=D.useState(!1);return c.jsxs("div",{className:"w-full max-w-sm border border-line bg-surface p-6 shadow-sm",children:[c.jsx("h1",{className:"text-base font-semibold text-ink",children:"Connect to Sidemantic"}),c.jsx("p",{className:"mt-2 text-xs leading-5 text-muted",children:"Enter the API bearer once. It is exchanged for a short-lived, HttpOnly browser session where supported, and is never placed in the URL or browser storage."}),c.jsxs("form",{className:"mt-5 space-y-3",onSubmit:async m=>{m.preventDefault(),h(!0),u(null);try{await n.createBrowserSession(t),i(""),e()}catch(g){u(g instanceof Error?g.message:String(g))}finally{h(!1)}},children:[c.jsx("label",{className:"block text-xs font-medium text-ink",htmlFor:"api-token",children:"API bearer token"}),c.jsx("input",{id:"api-token",type:"password",autoComplete:"off",required:!0,value:t,onChange:m=>i(m.target.value),className:"w-full border border-line bg-bg px-3 py-2 text-sm text-ink outline-none focus:border-accent"}),a?c.jsx("p",{className:"text-xs text-red-700",children:a}):null,c.jsx("button",{type:"submit",disabled:f||!t,className:"w-full bg-accent px-3 py-2 text-xs font-semibold text-white disabled:opacity-50",children:f?"Connecting…":"Connect"})]})]})}function t2(){const{state:n,dispatch:e,catalog:t,initial:i,dashboard:a}=ls(),u=!!a,f=n.view==="home"&&!u,h=t.models.find(R=>R.name===n.model),m=D.useMemo(()=>Cs(t,a,n.dashboardTab),[t,a,n.dashboardTab]),g=D.useMemo(()=>a?Iv(t,a,n.dashboardTab):i,[t,a,i,n.dashboardTab]),v=n.dateRange!=null||Object.keys(n.filters).length>0,x=(m==null?void 0:m.timeDimension)??(h==null?void 0:h.timeDimension),b=!!x,w=iS(x==null?void 0:x.supportedGranularities,n.grain),j=D.useMemo(()=>{const R=new Map;for(const T of t.models)for(const E of T.dimensions)R.set(E.ref,{dim:E,model:T});return R},[t]),C=Object.entries(n.filters).flatMap(([R,T])=>{const E=j.get(R);return E?[c.jsx(Od,{dim:E.dim,model:E.model,filter:T,onRemove:()=>e({type:"removeFilterDim",dim:R})},R)]:[]}),O=c.jsx(eS,{dashboardTitle:a==null?void 0:a.title,modelLabel:!f&&!u?h==null?void 0:h.label:void 0,onHome:()=>e({type:"setView",view:"home"})}),H=f?c.jsxs(c.Fragment,{children:[c.jsx($o,{}),c.jsx(ty,{})]}):c.jsxs(c.Fragment,{children:[a?c.jsx("div",{className:"flex items-center border border-line bg-surface",role:"tablist","aria-label":"Dashboard tabs",children:a.tabs.map(R=>{const T=R.id===n.dashboardTab;return c.jsx("button",{type:"button",role:"tab","aria-selected":T,className:`px-2 py-1 text-2xs ${T?"bg-accent text-white":"text-muted hover:text-ink"}`,onClick:()=>{const E=Cs(t,a,R.id);E&&e({type:"setDashboardTab",tab:E.id,model:E.model.name,metric:E.selectedMetric,grain:E.grain})},children:R.label??R.id},R.id)})}):c.jsx(Bv,{view:n.view,onChange:R=>e({type:"setView",view:R})}),c.jsx(Ov,{range:n.dateRange,disabled:!b,onChange:R=>e({type:"setDateRange",range:R}),comparison:n.comparison,comparisonRange:n.comparisonRange,onComparisonChange:(R,T)=>e({type:"setComparison",comparison:R,range:T})}),c.jsx(Td,{grain:n.grain,options:w,disabled:!b,onChange:R=>e({type:"setGrain",grain:R})}),c.jsx(qS,{timezone:n.timezone,disabled:!b,onChange:R=>e({type:"setTimezone",timezone:R})}),v?c.jsx("button",{type:"button",onClick:()=>e({type:"reset",initial:g}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Reset"}):null,c.jsx(X_,{}),c.jsx($o,{}),c.jsx(ty,{})]}),L=c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"shrink-0 text-xs font-medium text-muted",children:"Filters"}),C.length?C:c.jsx("span",{className:"text-2xs text-faint",children:"None"}),h?c.jsx(VS,{model:h}):null,C.length?c.jsx("button",{type:"button",onClick:()=>e({type:"clearFilters"}),className:"shrink-0 text-2xs text-muted underline-offset-2 hover:text-ink hover:underline",children:"Clear"}):null]});return c.jsx(_v,{brand:O,toolbar:H,filters:f?void 0:L,rail:c.jsx(HS,{}),showRail:!f&&!u,openRailRequest:n.view==="pivot",drawer:f?void 0:c.jsx(t_,{}),children:c.jsxs(GS,{children:[n.view==="home"?c.jsx(__,{}):null,n.view==="explore"?c.jsx(P_,{}):null,n.view==="pivot"?c.jsx(z_,{}):null]},n.view)})}function n2(){const[n,e]=D.useState(!1),t=D.useMemo(()=>new X1({transport:"json",onUnauthorized:()=>e(!0)}),[]),[i,a]=D.useState(null),[u,f]=D.useState(null),[h,m]=D.useState(0),g=s_(window.location.pathname,window.location.search);return D.useEffect(()=>{let v=!0;return Promise.all([t.getCatalog(),g?Promise.resolve(null):t.getDashboard()]).then(([x,b])=>v&&a({catalog:x,dashboard:b})).catch(x=>v&&f(x instanceof Error?x.message:String(x))),()=>{v=!1}},[t,g,h]),n?c.jsx(dl,{children:c.jsx(e2,{backend:t,onAuthenticated:()=>{e(!1),f(null),m(v=>v+1)}})}):u?c.jsx(dl,{children:c.jsx(Bi,{title:"Could not load semantic layer",message:u})}):i?i.catalog.models.length?i.dashboard?c.jsx(Z_,{document:i.dashboard,catalog:i.catalog,backend:t}):c.jsx(RS,{catalog:i.catalog,backend:t,children:c.jsx(t2,{})}):c.jsx(dl,{children:c.jsx(Xn,{title:"Empty semantic layer",message:"No models were found."})}):c.jsx(dl,{children:c.jsx(af,{title:"Loading semantic layer",message:"Reading models and metrics…"})})}const Zt={top:14,right:48,bottom:26,left:48};function r2({data:n,barLabel:e="Bars",lineLabel:t="Line",height:i=220,formatBar:a=pt,formatLine:u=pt,ariaLabel:f}){const h=D.useRef(null),[m,g]=D.useState(640),{tip:v,handlers:x}=Dr();if(D.useEffect(()=>us(h.current,240,g),[]),n.length===0)return c.jsx("div",{className:"grid h-[220px] place-items-center text-xs text-faint",children:"No data to chart."});const b=n.map(ae=>Number.isFinite(ae.bar)?ae.bar:0),w=n.map(ae=>Number.isFinite(ae.line)?ae.line:0),j=Math.min(0,...b),C=Math.max(0,...b),O=C-j||1,H=Math.min(...w),L=Math.max(...w),R=L-H||1,T=m-Zt.left-Zt.right,E=i-Zt.top-Zt.bottom,I=ae=>Zt.top+(1-(ae-j)/O)*E,U=ae=>Zt.top+(1-(ae-H)/R)*E,G=T/n.length,V=Math.max(8,Math.min(48,G*.55)),Q=ae=>Zt.left+G*ae+G/2,z=I(0),ee=n.map((ae,re)=>`${Q(re).toFixed(1)},${U(w[re]).toFixed(1)}`).join(" L "),X=yn(1),ie=f||`Combo chart, ${n.length} categories: ${e} bars with a ${t} line`;return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"mb-1 flex items-center gap-3 text-2xs text-faint",children:[c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block h-2 w-3 bg-chart-primary"})," ",e]}),c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block h-0.5 w-3",style:{background:X}})," ",t]})]}),c.jsxs("svg",{ref:h,role:"img","aria-label":ie,className:"w-full overflow-hidden",style:{height:i},viewBox:`0 0 ${m} ${i}`,children:[Ts(j,C,4).map((ae,re)=>{const se=I(ae);return c.jsxs("g",{children:[c.jsx("line",{x1:Zt.left,x2:m-Zt.right,y1:se,y2:se,className:"stroke-line"}),c.jsx("text",{x:Zt.left-6,y:se+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Wt(ae)})]},re)}),Ts(H,L,4).map((ae,re)=>c.jsx("text",{x:m-Zt.right+6,y:U(ae)+3,textAnchor:"start",className:"text-[10px]",fill:X,children:u(ae)},re)),c.jsx("line",{x1:Zt.left,x2:m-Zt.right,y1:z,y2:z,className:"stroke-line"}),n.map((ae,re)=>{const se=b[re],A=I(se);return c.jsxs("g",{children:[c.jsx("rect",{x:Q(re)-V/2,y:Math.min(A,z),width:V,height:Math.abs(A-z),"data-label":ae.label,"data-bar":se,"data-line":w[re],className:se<0?"fill-danger":"fill-chart-primary",...x(c.jsx(os,{title:ae.label,rows:[{label:e,value:a(se),swatch:"var(--chart-primary)"},{label:t,value:u(w[re]),swatch:X}]}))}),c.jsx("text",{x:Q(re),y:i-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:ae.label.slice(0,8)})]},ae.label)}),c.jsx("path",{d:`M ${ee}`,fill:"none",stroke:X,strokeWidth:1.75}),n.map((ae,re)=>c.jsx("circle",{cx:Q(re),cy:U(w[re]),r:3,fill:X,...x(c.jsx(os,{title:ae.label,rows:[{label:e,value:a(b[re]),swatch:"var(--chart-primary)"},{label:t,value:u(w[re]),swatch:X}]}))},ae.label))]}),c.jsx(rr,{tip:v})]})}const s2={primary:"border-accent bg-accent-soft font-medium text-accent hover:bg-accent hover:text-surface",secondary:"border-line bg-surface text-ink hover:bg-surface-soft",ghost:"border-transparent bg-transparent text-muted hover:bg-surface-soft hover:text-ink",danger:"border-danger bg-danger-soft font-medium text-danger hover:bg-danger hover:text-surface"};function No({variant:n="secondary",size:e="md",type:t="button",className:i,...a}){const u=e==="sm"?"h-6 px-2.5 text-2xs":"h-7 px-3 text-xs";return c.jsx("button",{type:t,"data-variant":n,className:`inline-flex items-center justify-center rounded-full border ${u} ${s2[n]} disabled:pointer-events-none disabled:opacity-50 ${i??""}`,...a})}function i2(n,e){const t=e.trim().toLowerCase();return t?n.filter(i=>i.value.toLowerCase().includes(t)||(i.label??"").toLowerCase().includes(t)):n}function ny(n){const{options:e,placeholder:t="Search…",ariaLabel:i,disabled:a,maxVisible:u=50}=n,f=D.useId(),h=D.useRef(null),[m,g]=D.useState(!1),[v,x]=D.useState(""),[b,w]=D.useState(0),j=D.useMemo(()=>i2(e,v).slice(0,u),[e,v,u]),C=n.multiple?n.values:n.value!=null?[n.value]:[],O=new Set(C),H=I=>{var U;return((U=e.find(G=>G.value===I))==null?void 0:U.label)??I};D.useEffect(()=>{if(!m)return;function I(U){h.current&&!h.current.contains(U.target)&&g(!1)}return document.addEventListener("mousedown",I,!0),()=>document.removeEventListener("mousedown",I,!0)},[m]);function L(I){if(I){if(n.multiple){const U=O.has(I.value)?n.values.filter(G=>G!==I.value):[...n.values,I.value];n.onChange(U);return}n.onChange(I.value),x(""),g(!1)}}function R(){n.multiple?n.onChange([]):n.onChange(null),x("")}function T(I){I.key==="ArrowDown"?(I.preventDefault(),g(!0),w(U=>Math.min(U+1,j.length-1))):I.key==="ArrowUp"?(I.preventDefault(),w(U=>Math.max(U-1,0))):I.key==="Enter"?(I.preventDefault(),m&&L(j[b])):I.key==="Escape"?g(!1):I.key==="Backspace"&&n.multiple&&!v&&n.values.length&&n.onChange(n.values.slice(0,-1))}const E=!n.multiple&&n.value!=null?H(n.value):t;return c.jsxs("div",{ref:h,className:"relative inline-flex min-w-40 flex-wrap items-center gap-1 text-xs",children:[n.multiple?n.values.map(I=>c.jsxs("span",{"data-chip":I,className:"inline-flex items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 leading-4 text-muted",children:[c.jsx("span",{className:"max-w-32 truncate",children:H(I)}),c.jsx("button",{type:"button","aria-label":`Remove ${H(I)}`,disabled:a,onClick:()=>n.onChange(n.values.filter(U=>U!==I)),className:"text-faint hover:text-ink",children:"×"})]},I)):null,c.jsxs("span",{className:"relative min-w-28 flex-1",children:[c.jsx("input",{type:"text",role:"combobox","aria-expanded":m,"aria-controls":f,"aria-autocomplete":"list","aria-activedescendant":m&&j[b]?`${f}-${b}`:void 0,"aria-label":i,disabled:a,placeholder:E,value:v,onChange:I=>{x(I.target.value),w(0),g(!0)},onFocus:()=>g(!0),onKeyDown:T,className:"h-7 w-full rounded-full border border-line bg-surface px-3 text-ink placeholder:text-faint disabled:opacity-50"}),C.length>0?c.jsx("button",{type:"button","aria-label":"Clear selection",disabled:a,onClick:R,className:"absolute right-1 top-1/2 -translate-y-1/2 px-1 text-faint hover:text-ink",children:"×"}):null]}),m?c.jsxs("ul",{id:f,role:"listbox","aria-multiselectable":n.multiple||void 0,className:"absolute left-0 top-full z-50 mt-1 max-h-56 w-full min-w-40 overflow-y-auto rounded-xl border border-line bg-surface p-1.5 shadow-[var(--shadow)]",children:[j.length===0?c.jsx("li",{className:"px-1.5 py-1 text-faint",children:"No matches"}):null,j.map((I,U)=>c.jsxs("li",{id:`${f}-${U}`,role:"option","aria-selected":O.has(I.value),"data-active":U===b||void 0,onMouseEnter:()=>w(U),onMouseDown:G=>{G.preventDefault(),L(I)},className:"cursor-pointer truncate rounded-md px-2 py-1 text-muted data-[active=true]:bg-surface-soft data-[active=true]:text-ink",children:[I.label??I.value,O.has(I.value)?c.jsx("span",{className:"float-right text-accent",children:"✓"}):null]},I.value))]}):null]})}function o2({title:n,eyebrow:e="Sidemantic",status:t,toolbar:i,children:a}){return c.jsxs("main",{className:"mx-auto max-w-6xl px-4 py-5 text-ink sm:px-6",children:[c.jsxs("header",{className:"flex flex-wrap items-end justify-between gap-4 border-b border-line pb-4",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-xs font-medium text-faint",children:e}),c.jsx("h1",{className:"mt-1 text-2xl font-semibold text-ink",children:n})]}),t?c.jsx("div",{className:"text-sm text-muted",children:t}):null]}),i?c.jsx("section",{className:"flex flex-wrap gap-2 py-3",children:i}):null,c.jsx("section",{className:"grid gap-4 py-4",children:a})]})}const a2=["Su","Mo","Tu","We","Th","Fr","Sa"],ry=["January","February","March","April","May","June","July","August","September","October","November","December"];function e0(n,e,t){return`${String(n).padStart(4,"0")}-${String(e+1).padStart(2,"0")}-${String(t).padStart(2,"0")}`}function l2(n,e){const t=new Date(Date.UTC(n,e,1)),i=new Date(t);i.setUTCDate(1-t.getUTCDay());const a=[],u=new Date(i);do{const f=[];for(let h=0;h<7;h+=1)f.push({iso:e0(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()),day:u.getUTCDate(),inMonth:u.getUTCMonth()===e}),u.setUTCDate(u.getUTCDate()+1);a.push(f)}while(u.getUTCMonth()===e);return a}function yd(){const n=new Date;return e0(n.getFullYear(),n.getMonth(),n.getDate())}function sy(n){var T;const{inline:e,ariaLabel:t,disabled:i}=n,a=n.mode==="range",u=a?((T=n.value)==null?void 0:T.from)??null:n.value,[f,h]=D.useState(()=>Number((u??yd()).slice(0,4))),[m,g]=D.useState(()=>Number((u??yd()).slice(5,7))-1),[v,x]=D.useState(null),b=D.useRef(null);function w(E){const I=new Date(Date.UTC(f,m+E,1));h(I.getUTCFullYear()),g(I.getUTCMonth())}function j(E){if(!a){n.onChange(E),b.current&&(b.current.open=!1);return}if(!v){x(E);return}const[I,U]=v<=E?[v,E]:[E,v];n.onChange({from:I,to:U}),x(null),b.current&&(b.current.open=!1)}function C(E){return a?v?E===v:n.value!=null&&E>=n.value.from&&E<=n.value.to:E===n.value}function O(E){return a?v?E===v:n.value!=null&&(E===n.value.from||E===n.value.to):E===n.value}const H=yd(),L=c.jsxs("div",{className:"w-56 select-none rounded-xl border border-line bg-surface p-2.5 text-2xs","aria-label":t??"Calendar",children:[c.jsxs("div",{className:"mb-1 flex items-center justify-between",children:[c.jsx("button",{type:"button","aria-label":"Previous month",onClick:()=>w(-1),className:"px-1.5 py-0.5 text-muted hover:bg-surface-soft hover:text-ink",children:"‹"}),c.jsxs("span",{className:"font-medium text-ink",children:[ry[m]," ",f]}),c.jsx("button",{type:"button","aria-label":"Next month",onClick:()=>w(1),className:"px-1.5 py-0.5 text-muted hover:bg-surface-soft hover:text-ink",children:"›"})]}),c.jsx("div",{className:"grid grid-cols-7 text-center text-faint",children:a2.map(E=>c.jsx("span",{className:"py-0.5",children:E},E))}),c.jsx("div",{role:"grid","aria-label":`${ry[m]} ${f}`,children:l2(f,m).map((E,I)=>c.jsx("div",{role:"row",className:"grid grid-cols-7",children:E.map(U=>c.jsx("button",{type:"button",role:"gridcell","aria-selected":C(U.iso),"data-date":U.iso,onClick:()=>j(U.iso),className:`py-1 text-center tnum ${O(U.iso)?"bg-accent text-surface":C(U.iso)?"bg-accent-soft text-accent":U.inMonth?"text-ink hover:bg-surface-soft":"text-faint hover:bg-surface-soft"} ${U.iso===H?"underline underline-offset-2":""}`,children:U.day},U.iso))},I))}),a&&v?c.jsxs("p",{className:"mt-1 text-faint",children:["Start ",v," — pick an end date."]}):null,n.value!=null?c.jsx("button",{type:"button",onClick:()=>n.onChange(null),className:"mt-1 w-full rounded-lg border border-line px-2 py-1 text-left text-muted hover:bg-surface-soft",children:"Clear"}):null]});if(e)return L;const R=a?n.value?`${n.value.from} → ${n.value.to}`:"Any dates":n.value??"Any date";return c.jsxs("details",{ref:b,className:"relative inline-block text-xs",children:[c.jsxs("summary",{className:`flex cursor-pointer items-center h-7 gap-1.5 rounded-full border border-line bg-surface px-3 text-ink ${i?"pointer-events-none opacity-50":""}`,children:[c.jsx("span",{className:"text-faint",children:t??"Date"}),c.jsx("span",{className:"tnum",children:R}),c.jsx("span",{"aria-hidden":"true",className:"text-faint",children:"▾"})]}),c.jsx("div",{className:"absolute left-0 z-50 mt-1 shadow-[var(--shadow)]",children:L})]})}function u2({result:n,pageSize:e=10}){const t=(n==null?void 0:n.columns)??[];return c.jsx(Ho,{columns:t.map(i=>({key:i,label:Le(i),numeric:n==null?void 0:n.sample_rows.some(a=>typeof a[i]=="number")})),rows:(n==null?void 0:n.sample_rows)??[],pageSize:e,renderCell:(i,a)=>pt(a)})}function c2({data:n,height:e=200,ariaLabel:t}){return c.jsx("div",{style:{minHeight:e},children:c.jsx(Go,{points:n.map(({label:i,value:a})=>({x:i,y:a})),formatValue:i=>pt(i),ariaLabel:t})})}const t0=Math.PI*2;function d2(n){const e=n.map((a,u)=>({...a,colorIndex:u})).filter(a=>Number.isFinite(a.value)&&a.value>0),t=e.reduce((a,u)=>a+u.value,0);if(t<=0)return[];let i=-Math.PI/2;return e.map(a=>{const u=a.value/t,f=i;return i+=u*t0,{label:a.label,value:a.value,share:u,startAngle:f,endAngle:i,colorIndex:a.colorIndex}})}function f2(n,e,t,i,a,u){const f=Math.min(u-a,t0-1e-4),h=a+f,m=f>Math.PI?1:0,g=n+i*Math.cos(a),v=e+i*Math.sin(a),x=n+i*Math.cos(h),b=e+i*Math.sin(h),w=n+t*Math.cos(h),j=e+t*Math.sin(h),C=n+t*Math.cos(a),O=e+t*Math.sin(a);return[`M ${g.toFixed(2)} ${v.toFixed(2)}`,`A ${i} ${i} 0 ${m} 1 ${x.toFixed(2)} ${b.toFixed(2)}`,`L ${w.toFixed(2)} ${j.toFixed(2)}`,`A ${t} ${t} 0 ${m} 0 ${C.toFixed(2)} ${O.toFixed(2)}`,"Z"].join(" ")}function h2({data:n,height:e=200,centerLabel:t="Total",format:i=pt,ariaLabel:a}){const u=D.useRef(null),[f,h]=D.useState(360),{tip:m,handlers:g}=Dr();D.useEffect(()=>us(u.current,220,h),[]);const v=d2(n),x=v.reduce((L,R)=>L+R.value,0),b=Math.min(e,f*.55),w=b/2,j=e/2,C=b/2-6,O=Math.max(C*.62,C-34),H=a||`Donut chart, ${v.length} segments totaling ${Wt(x)}`;return v.length===0?c.jsx("div",{className:"grid h-[200px] place-items-center text-xs text-faint",children:"No positive values to chart."}):c.jsxs("div",{ref:u,className:"flex w-full items-center gap-4",style:{height:e},children:[c.jsxs("svg",{role:"img","aria-label":H,width:b,height:e,className:"shrink-0 overflow-hidden",children:[v.map(L=>c.jsx("path",{d:f2(w,j,O,C,L.startAngle,L.endAngle),fill:yn(L.colorIndex),stroke:"var(--surface)",strokeWidth:1,"data-label":L.label,"data-value":L.value,...g(c.jsx(os,{title:L.label,rows:[{label:"Value",value:i(L.value),swatch:yn(L.colorIndex)},{label:"Share",value:`${(L.share*100).toFixed(1)}%`}]}))},L.label)),c.jsx("text",{x:w,y:j-4,textAnchor:"middle",className:"fill-ink font-mono tnum text-sm font-medium",children:Wt(x)}),c.jsx("text",{x:w,y:j+12,textAnchor:"middle",className:"fill-faint text-[10px]",children:t})]}),c.jsx("ul",{className:"min-w-0 flex-1 space-y-1 text-2xs",children:v.map(L=>c.jsxs("li",{className:"flex items-center gap-2","data-label":L.label,children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 shrink-0",style:{background:yn(L.colorIndex)}}),c.jsx("span",{className:"truncate text-muted",children:L.label}),c.jsx("span",{className:"ml-auto font-mono tnum text-ink",children:i(L.value)}),c.jsxs("span",{className:"w-10 text-right font-mono tnum text-faint",children:[(L.share*100).toFixed(1),"%"]})]},L.label))}),c.jsx(rr,{tip:m})]})}const pr={top:8,right:8,bottom:26,left:76};function iy(n,e,t){if(t!=null&&t.length)return t;const i=[];for(const a of n)i.includes(a[e])||i.push(a[e]);return i}function p2({cells:n,xLabels:e,yLabels:t,height:i=240,format:a=pt,ariaLabel:u}){const f=D.useRef(null),[h,m]=D.useState(640),{tip:g,handlers:v}=Dr();D.useEffect(()=>us(f.current,240,m),[]);const x=iy(n,"x",e),b=iy(n,"y",t);if(x.length===0||b.length===0)return c.jsx("div",{className:"grid h-[240px] place-items-center text-xs text-faint",children:"No cells to chart."});const w=new Map(n.map(I=>[`${I.x}\0${I.y}`,I.value])),j=n.map(I=>Math.abs(I.value)).filter(Number.isFinite),C=Math.max(...j,0)||1,O=h-pr.left-pr.right,H=i-pr.top-pr.bottom,L=O/x.length,R=H/b.length,T=Math.max(1,Math.ceil(x.length/Math.max(1,Math.floor(O/56)))),E=u||`Heatmap, ${x.length} by ${b.length} cells`;return c.jsxs(c.Fragment,{children:[c.jsxs("svg",{ref:f,role:"img","aria-label":E,className:"w-full overflow-hidden",style:{height:i},viewBox:`0 0 ${h} ${i}`,children:[b.map((I,U)=>c.jsx("text",{x:pr.left-6,y:pr.top+U*R+R/2+3,textAnchor:"end",className:"fill-muted text-[10px]",children:I.slice(0,12)},I)),x.map((I,U)=>U%T===0?c.jsx("text",{x:pr.left+U*L+L/2,y:i-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:I.slice(0,8)},I):null),b.map((I,U)=>x.map((G,V)=>{const Q=w.get(`${G}\0${I}`),z=Q!=null&&Number.isFinite(Q),ee=z?.06+.94*(Math.abs(Q)/C):0;return c.jsx("rect",{x:pr.left+V*L+.5,y:pr.top+U*R+.5,width:Math.max(1,L-1),height:Math.max(1,R-1),"data-x":G,"data-y":I,"data-value":z?Q:void 0,className:z&&Q<0?"fill-danger":"fill-chart-primary",fillOpacity:z?ee:.03,...v(c.jsx(os,{title:`${I} / ${G}`,rows:[{label:"Value",value:z?a(Q):"no data"}]}))},`${G}\0${I}`)}))]}),c.jsx(rr,{tip:g})]})}function m2(n,e){const t=n.filter(Number.isFinite);if(t.length===0)return[];const i=Math.min(...t),a=Math.max(...t),u=Math.max(1,Math.floor(e??Math.min(40,Math.ceil(Math.log2(t.length)+1))));if(i===a)return[{x0:i,x1:a,count:t.length}];const f=(a-i)/u,h=Array.from({length:u},(m,g)=>({x0:i+g*f,x1:i+(g+1)*f,count:0}));for(const m of t){const g=Math.min(u-1,Math.floor((m-i)/f));h[g].count+=1}return h}const Cn={top:12,right:14,bottom:26,left:44};function y2({values:n,bins:e,height:t=200,format:i=Wt,ariaLabel:a}){const u=D.useRef(null),[f,h]=D.useState(640),{tip:m,handlers:g}=Dr();D.useEffect(()=>us(u.current,160,h),[]);const v=m2(n,e);if(v.length===0)return c.jsx("div",{className:"grid h-[200px] place-items-center text-xs text-faint",children:"No numeric values to chart."});const x=Math.max(...v.map(R=>R.count),1),b=f-Cn.left-Cn.right,w=t-Cn.top-Cn.bottom,j=R=>Cn.top+(1-R/x)*w,C=b/v.length,O=Ts(0,x,4),H=Math.max(1,Math.ceil(v.length/6)),L=a||`Histogram, ${v.length} bins from ${i(v[0].x0)} to ${i(v[v.length-1].x1)}`;return c.jsxs(c.Fragment,{children:[c.jsxs("svg",{ref:u,role:"img","aria-label":L,className:"w-full overflow-hidden",style:{height:t},viewBox:`0 0 ${f} ${t}`,children:[O.map((R,T)=>{const E=j(R);return c.jsxs("g",{children:[c.jsx("line",{x1:Cn.left,x2:f-Cn.right,y1:E,y2:E,className:"stroke-line"}),c.jsx("text",{x:Cn.left-6,y:E+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Wt(R)})]},T)}),v.map((R,T)=>{const E=Cn.left+C*T,I=j(R.count);return c.jsx("rect",{x:E+.5,y:I,width:Math.max(1,C-1),height:Cn.top+w-I,"data-x0":R.x0,"data-x1":R.x1,"data-count":R.count,className:"fill-chart-primary",...g(c.jsx(os,{title:`${i(R.x0)} – ${i(R.x1)}`,rows:[{label:"Count",value:R.count.toLocaleString()}]}))},T)}),v.map((R,T)=>T%H===0?c.jsx("text",{x:Cn.left+C*T,y:t-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:i(R.x0)},T):null)]}),c.jsx(rr,{tip:m})]})}function g2(n){let e=2166136261;for(let t=0;t>>0}function v2(n){let e=n||1;return()=>{e|=0,e=e+1831565813|0;let t=Math.imul(e^e>>>15,1|e);return t=t+Math.imul(t^t>>>7,61|t)^t,((t^t>>>14)>>>0)/4294967296}}function x2(n,e,{width:t=640,height:i=320,iterations:a=150}={}){if(n.length===0)return[];const u=v2(g2(n.map(G=>G.id).join("\0"))),f=new Map(n.map((G,V)=>[G.id,V])),h=n.map(()=>u()*t),m=n.map(()=>u()*i),g=n.map(()=>0),v=n.map(()=>0),x=n.map(()=>0),b=[];for(const G of e){const V=f.get(G.source),Q=f.get(G.target);V==null||Q==null||V===Q||(b.push([V,Q]),x[V]+=1,x[Q]+=1)}const w=t*i,j=Math.sqrt(w/n.length);let C=Math.max(t,i)/8;const O=C/(a+1);for(let G=0;G({...G,x:H+(h[V]-L)/I*(t-H*2),y:H+(m[V]-T)/U*(i-H*2),degree:x[V]}))}function b2({nodes:n,links:e,height:t=320,ariaLabel:i}){const a=D.useRef(null),[u,f]=D.useState(640),{tip:h,handlers:m}=Dr();D.useEffect(()=>us(a.current,240,f),[]);const g=D.useMemo(()=>x2(n,e,{width:u,height:t}),[n,e,u,t]),v=D.useMemo(()=>new Map(g.map(j=>[j.id,j])),[g]),x=D.useMemo(()=>[...new Set(n.map(j=>j.group??""))],[n]),b=Math.max(...e.map(j=>j.weight??1),1);if(g.length===0)return c.jsx("div",{className:"grid h-[320px] place-items-center text-xs text-faint",children:"No nodes to chart."});const w=i||`Network graph, ${n.length} nodes and ${e.length} links`;return c.jsxs(c.Fragment,{children:[x.length>1?c.jsx("div",{className:"mb-1 flex flex-wrap items-center gap-3 text-2xs text-faint",children:x.map((j,C)=>c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-full",style:{background:yn(C)}}),j||"(default)"]},j||"(default)"))}):null,c.jsxs("svg",{ref:a,role:"img","aria-label":w,className:"w-full overflow-hidden",style:{height:t},viewBox:`0 0 ${u} ${t}`,children:[e.map((j,C)=>{const O=v.get(j.source),H=v.get(j.target);return!O||!H?null:c.jsx("line",{x1:O.x,y1:O.y,x2:H.x,y2:H.y,className:"stroke-line",strokeWidth:.75+2.25*((j.weight??1)/b),"data-source":j.source,"data-target":j.target},C)}),g.map(j=>{const C=5+Math.min(9,j.degree*1.5);return c.jsxs("g",{children:[c.jsx("circle",{cx:j.x,cy:j.y,r:C,fill:yn(x.indexOf(j.group??"")),stroke:"var(--surface)",strokeWidth:1.5,"data-id":j.id,"data-degree":j.degree,...m(c.jsx(os,{title:j.label??j.id,rows:[{label:"Connections",value:String(j.degree)},...j.group?[{label:"Group",value:j.group,swatch:yn(x.indexOf(j.group))}]:[]]}))}),c.jsx("text",{x:j.x,y:j.y-C-4,textAnchor:"middle",className:"pointer-events-none fill-muted text-[10px]",children:(j.label??j.id).slice(0,14)})]},j.id)})]}),c.jsx(rr,{tip:h})]})}function wl({value:n,options:e,onChange:t,label:i,ariaLabel:a,placeholder:u,disabled:f}){return c.jsxs("label",{className:"flex items-center gap-1.5 text-xs text-faint",children:[i?c.jsx("span",{className:"hidden sm:inline",children:i}):null,c.jsxs("select",{"aria-label":a??i,value:n,disabled:f,onChange:h=>t(h.target.value),className:"h-7 rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50",children:[u?c.jsx("option",{value:"",disabled:!0,children:u}):null,e.map(h=>c.jsx("option",{value:h.value,children:h.label??h.value},h.value))]})]})}const un={top:12,right:14,bottom:26,left:48};function w2(n,e,t){return Math.min(Math.max(n,e),t)}function S2({labels:n,series:e,height:t=240,format:i=pt,formatLabel:a=f=>f,ariaLabel:u}){const f=D.useRef(null),[h,m]=D.useState(640),[g,v]=D.useState(null);D.useEffect(()=>us(f.current,240,m),[]);const x=n.length;if(x<2||e.length===0)return c.jsx("div",{className:"grid h-[240px] place-items-center text-xs text-faint",children:"Not enough data to chart."});const b=e.map(V=>({name:V.name,values:n.map((Q,z)=>{const ee=V.values[z];return Number.isFinite(ee)&&ee>0?ee:0})})),w=[];let j=n.map(()=>0);for(const V of b){const Q=V.values.map((z,ee)=>j[ee]+z);w.push(Q),j=Q}const C=Math.max(...j,1),O=h-un.left-un.right,H=t-un.top-un.bottom,L=V=>un.left+V/(x-1)*O,R=V=>un.top+(1-V/C)*H,T=Math.max(1,Math.ceil(x/8)),E=u||`Stacked area chart, ${e.length} series over ${x} points`;function I(V){const Q=w[V],z=V===0?n.map(()=>0):w[V-1],ee=Q.map((ie,ae)=>`${L(ae).toFixed(1)},${R(ie).toFixed(1)}`).join(" L "),X=[...z.keys()].reverse().map(ie=>`${L(ie).toFixed(1)},${R(z[ie]).toFixed(1)}`).join(" L ");return`M ${ee} L ${X} Z`}function U(V){const Q=V.currentTarget.getBoundingClientRect(),z=(V.clientX-Q.left)/Q.width*h,ee=Math.round((z-un.left)/O*(x-1));v(ee>=0&&eec.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2",style:{background:yn(Q)}}),V.name]},V.name))}),c.jsxs("svg",{role:"img","aria-label":E,className:"w-full overflow-hidden",style:{height:t},viewBox:`0 0 ${h} ${t}`,onMouseMove:U,onMouseLeave:()=>v(null),children:[Ts(0,C,4).map((V,Q)=>{const z=R(V);return c.jsxs("g",{children:[c.jsx("line",{x1:un.left,x2:h-un.right,y1:z,y2:z,className:"stroke-line"}),c.jsx("text",{x:un.left-6,y:z+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Wt(V)})]},Q)}),b.map((V,Q)=>c.jsx("path",{d:I(Q),fill:yn(Q),fillOpacity:.8,"data-series":V.name},V.name)),g!=null?c.jsx("line",{x1:L(g),x2:L(g),y1:un.top,y2:t-un.bottom,className:"stroke-faint",strokeDasharray:"3 3"}):null,n.map((V,Q)=>Q%T===0||Q===x-1?c.jsx("text",{x:L(Q),y:t-8,textAnchor:"middle",className:"fill-faint font-mono text-[10px]",children:a(V)},V):null)]}),g!=null?c.jsxs("div",{className:"pointer-events-none absolute top-8 z-20 -translate-x-1/2 whitespace-nowrap border border-line bg-surface px-2 py-1.5 text-2xs shadow-[var(--shadow)]",style:{left:G},children:[c.jsx("div",{className:"mb-0.5 font-mono text-faint",children:a(n[g])}),b.map((V,Q)=>c.jsxs("div",{className:"flex items-center justify-between gap-3",children:[c.jsxs("span",{className:"flex items-center gap-1 text-muted",children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2",style:{background:yn(Q)}}),V.name]}),c.jsx("span",{className:"font-mono tnum text-ink",children:i(V.values[g])})]},V.name))]}):null]})}function _2({checked:n,onChange:e,label:t,ariaLabel:i,disabled:a}){return c.jsxs("label",{className:`flex items-center gap-1.5 text-xs ${a?"opacity-50":""}`,children:[c.jsx("button",{type:"button",role:"switch","aria-checked":n,"aria-label":i??t,disabled:a,onClick:()=>e(!n),"data-checked":n||void 0,className:`relative h-4 w-7 shrink-0 rounded-full border transition-colors ${n?"border-accent bg-accent":"border-line bg-surface-soft"}`,children:c.jsx("span",{"aria-hidden":"true",className:`absolute top-1/2 size-3 -translate-y-1/2 rounded-full bg-surface shadow transition-[left] ${n?"left-[14px]":"left-[2px]"}`})}),t?c.jsx("span",{className:"text-muted",children:t}):null]})}function N2({tabs:n,active:e,onChange:t,ariaLabel:i="Tabs"}){return c.jsx("div",{role:"tablist","aria-label":i,className:"inline-flex items-center gap-0.5 rounded-full border border-line bg-surface p-px",children:n.map(a=>c.jsx("button",{role:"tab",type:"button","aria-selected":e===a.key,"data-tab":a.key,"data-selected":e===a.key||void 0,onClick:()=>t(a.key),className:"inline-flex h-6 items-center rounded-full px-2.5 text-xs font-medium text-muted hover:bg-surface-soft hover:text-ink data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent",children:a.label},a.key))})}function j2({content:n,children:e,className:t}){const{tip:i,handlers:a}=Dr();return c.jsxs(c.Fragment,{children:[c.jsx("span",{className:t??"inline-flex",...a(n),children:e}),c.jsx(rr,{tip:i})]})}function k2(n){let e=0;return n.map(t=>{const i=Number.isFinite(t.value)?t.value:0;if(t.isTotal)return e=i,{...t,value:i,start:0,end:i};const a=e;return e+=i,{...t,value:i,start:a,end:e}})}const cn={top:12,right:14,bottom:26,left:48};function I2({data:n,height:e=220,format:t=pt,ariaLabel:i}){const a=D.useRef(null),[u,f]=D.useState(640),{tip:h,handlers:m}=Dr();D.useEffect(()=>us(a.current,200,f),[]);const g=k2(n);if(g.length===0)return c.jsx("div",{className:"grid h-[220px] place-items-center text-xs text-faint",children:"No steps to chart."});const v=g.flatMap(E=>[E.start,E.end]),x=Math.min(0,...v),b=Math.max(0,...v),w=b-x||1,j=u-cn.left-cn.right,C=e-cn.top-cn.bottom,O=E=>cn.top+(1-(E-x)/w)*C,H=j/g.length,L=Math.max(10,Math.min(56,H*.62)),R=Ts(x,b,4),T=i||`Waterfall chart, ${g.length} steps ending at ${t(g[g.length-1].end)}`;return c.jsxs(c.Fragment,{children:[c.jsxs("svg",{ref:a,role:"img","aria-label":T,className:"w-full overflow-hidden",style:{height:e},viewBox:`0 0 ${u} ${e}`,children:[R.map((E,I)=>{const U=O(E);return c.jsxs("g",{children:[c.jsx("line",{x1:cn.left,x2:u-cn.right,y1:U,y2:U,className:"stroke-line"}),c.jsx("text",{x:cn.left-6,y:U+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Wt(E)})]},I)}),c.jsx("line",{x1:cn.left,x2:u-cn.right,y1:O(0),y2:O(0),className:"stroke-faint"}),g.map((E,I)=>{const U=cn.left+H*I+(H-L)/2,G=O(E.start),V=O(E.end),Q=E.isTotal?"total":E.value<0?"negative":"positive",z=E.isTotal?"fill-faint":E.value<0?"fill-danger":"fill-chart-primary",ee=g[I+1];return c.jsxs("g",{children:[c.jsx("rect",{x:U,y:Math.min(G,V),width:L,height:Math.max(1,Math.abs(V-G)),"data-label":E.label,"data-value":E.value,"data-tone":Q,className:z,...m(c.jsx(os,{title:E.label,rows:E.isTotal?[{label:"Total",value:t(E.end)}]:[{label:"Change",value:t(E.value)},{label:"Running",value:t(E.end)}]}))}),ee?c.jsx("line",{x1:U+L,x2:cn.left+H*(I+1)+(H-L)/2,y1:V,y2:V,className:"stroke-faint",strokeDasharray:"3 3"}):null,c.jsx("text",{x:U+L/2,y:e-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:E.label.slice(0,9)})]},`${E.label}-${I}`)})]}),c.jsx(rr,{tip:h})]})}function oy(n){return n==null?"∅":String(n)}function M2(n){const e=typeof n=="number"?n:Number(n);return Number.isFinite(e)?e:Number.NaN}function D2(n,e){const t=[],i=[],a=new Map;for(const u of n){const f=oy(u[e.x]),h=oy(u[e.series]);t.includes(f)||t.push(f),i.includes(h)||i.push(h),a.set(`${h}\0${f}`,M2(u[e.y]))}return{labels:t,series:i.map(u=>({name:u,values:t.map(f=>a.get(`${u}\0${f}`)??0)}))}}const C2=[{dimension:"orders.region",title:"Customer Region",rows:[["East",83262],["South",80579],["West",71561],["North",52889]].map(([n,e])=>({value:String(n),metric:Number(e)}))},{dimension:"orders.status",title:"Order Status",rows:[["completed",170379],["cancelled",64637],["pending",53275]].map(([n,e])=>({value:String(n),metric:Number(e)}))},{dimension:"products.category",title:"Product Category",rows:[["Electronics",202015],["Furniture",83848],["Office Supplies",2428]].map(([n,e])=>({value:String(n),metric:Number(e)}))},{dimension:"customers.name",title:"Top Customers",rows:[["Bob Smith",46690],["Carol Davis",42227],["Henry Taylor",41633],["Grace Lee",41035],["Frank Brown",33890],["David Wilson",29928],["Alice Johnson",27114],["Emma Martinez",24802]].map(([n,e])=>({value:String(n),metric:Number(e)}))}],F2=[{key:"region",label:"Region",sortable:!0},{key:"revenue",label:"Revenue",numeric:!0,sortable:!0},{key:"orders",label:"Orders",numeric:!0,sortable:!0}],ay=Array.from({length:17},(n,e)=>({region:["East","South","West","North"][e%4],revenue:91e3-e*2875,orders:420-e*11})),hf=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug"],O2=hf.flatMap((n,e)=>[{month:n,plan:"Basic",revenue:120+e*26},{month:n,plan:"Pro",revenue:60+e*24},{month:n,plan:"Enterprise",revenue:e<2?0:10+e*12}]),T2=Array.from({length:48},(n,e)=>({x:e+1,y:(e+1)*1.6+Math.sin(e*78.233)*43758.5453%18,label:`Account ${e+1}`,series:e%2?"Returning":"New"})),A2=Array.from({length:400},(n,e)=>Math.abs(Math.sin(e*12.9898)*43758.5453%1)*100),B2=["East","South","West","North"].flatMap((n,e)=>hf.map((t,i)=>({x:t,y:n,value:(e+1)*(i+1)*7-(i%4===3?80:0)}))),ly=[{value:"orders.revenue",label:"Revenue"},{value:"orders.count",label:"Order count"},{value:"customers.count",label:"Customer count"},{value:"orders.margin",label:"Gross margin"}];function E2(){const[n,e]=D.useState("orders.revenue"),[t,i]=D.useState({}),[a,u]=D.useState(null),[f,h]=D.useState({"orders.region":["East","West"],"orders.status":["completed"]}),[m,g]=D.useState({from:"2025-01-01",to:"2025-06-30"}),[v,x]=D.useState("month"),[b,w]=D.useState("explore"),[j,C]=D.useState("previous"),[O,H]=D.useState("orders.revenue"),[L,R]=D.useState(["orders.revenue","orders.count"]),[T,E]=D.useState("apple"),[I,U]=D.useState(!0),[G,V]=D.useState("explore"),[Q,z]=D.useState("2025-06-15"),[ee,X]=D.useState({from:"2025-06-01",to:"2025-06-21"}),ie=D.useMemo(()=>D2(O2,{x:"month",y:"revenue",series:"plan"}),[]),[ae,re]=D.useState({key:"revenue",dir:"desc"}),se=D.useMemo(()=>[...ay].sort((A,Y)=>{const W=A[ae.key],_=Y[ae.key],F=typeof W=="number"&&typeof _=="number"?W-_:String(W).localeCompare(String(_));return ae.dir==="asc"?F:-F}),[ae]);return c.jsxs("main",{className:"min-h-screen bg-bg text-ink",children:[c.jsxs("header",{className:"sticky top-0 z-20 flex items-center justify-between border-b border-line bg-surface px-4 py-3",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-sm font-semibold",children:"Sidemantic component gallery"}),c.jsxs("p",{className:"text-2xs text-faint",children:["Canonical React primitives · ",c.jsx("a",{className:"text-accent hover:underline",href:"/typography",children:"typography workbench →"})]})]}),c.jsx($o,{})]}),c.jsxs("div",{className:"space-y-8 p-4",children:[c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Metric cards"}),c.jsxs("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-3",children:[c.jsx(Nr,{metric:"orders.revenue",label:"Revenue",value:288291,format:{format:"currency"},selected:n==="orders.revenue",sparkValues:[31,42,38,55,60,74],onSelect:e}),c.jsx(Nr,{metric:"orders.count",label:"Order Count",value:447,selected:n==="orders.count",sparkValues:[21,34,28,41,44,51],onSelect:e}),c.jsx(Nr,{metric:"orders.margin",label:"Gross Margin",value:.324,format:{format:"percent"},delta:{label:"+1.1pt",tone:"positive"},comparison:"vs previous month",sparkValues:[24,26,29,27,31,32],selected:n==="orders.margin",onSelect:e})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Leaderboard cards"}),c.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(220px,1fr))] gap-0 border-l border-t border-line",children:C2.filter(A=>a===null||a===A.dimension).map(A=>c.jsx(Jv,{dimension:A.dimension,title:A.title,metricLabel:"Total Revenue",rows:A.rows,selectedValues:t[A.dimension],formatMetric:Y=>pt(Y,{format:"currency"}),onToggle:Y=>i(W=>{const _=W[A.dimension]??[];return{...W,[A.dimension]:_.includes(Y)?_.filter(F=>F!==Y):[..._,Y]}}),expanded:a===A.dimension,onExpandedChange:Y=>u(Y?A.dimension:null)},A.dimension))})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Filters and controls"}),c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{"data-testid":"gallery-filter-pills",className:"flex min-h-8 flex-wrap items-center gap-2",children:[Object.entries(f).flatMap(([A,Y])=>Y.map(W=>c.jsx(Od,{dimension:A,value:W,onRemove:()=>h(_=>({..._,[A]:_[A].filter(F=>F!==W)}))},`${A}:${W}`))),Object.values(f).every(A=>A.length===0)?c.jsx("span",{className:"text-2xs text-faint",children:"No active filters"}):null]}),c.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[c.jsx(Ov,{range:m,onChange:g,comparison:j,onComparisonChange:C}),c.jsx(Td,{grain:v,options:["day","week","month","quarter","year"],onChange:x}),c.jsx(Bv,{view:b,onChange:w}),c.jsxs("span",{className:"inline-flex items-center gap-1.5 text-2xs text-muted",children:[c.jsx(dd,{status:"ok"})," Ready"]}),c.jsxs("span",{className:"inline-flex items-center gap-1.5 text-2xs text-muted",children:[c.jsx(dd,{status:"loading"})," Updating"]}),c.jsx("button",{type:"button",onClick:()=>h({"orders.region":["East","West"],"orders.status":["completed"]}),className:"inline-flex h-7 items-center rounded-full border border-line px-3 text-xs text-muted hover:bg-surface-soft",children:"Reset filters"})]})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Charts"}),c.jsxs("div",{className:"grid gap-3 xl:grid-cols-2",children:[c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Sparkline"}),c.jsx(qv,{values:[31,42,38,55,60,74,69,83],labels:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug"],ariaLabel:"Eight month revenue trend"})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Column chart"}),c.jsx(Zv,{data:[{label:"East",value:83},{label:"South",value:81},{label:"West",value:72},{label:"Returns",value:-18}]})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Line chart compatibility export"}),c.jsx(c2,{data:[{label:"Jan",value:31},{label:"Feb",value:42},{label:"Mar",value:38},{label:"Apr",value:55},{label:"May",value:60}]})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Interactive time series"}),c.jsx(Go,{points:[31,42,38,55,60,74].map((A,Y)=>({x:`2025-0${Y+1}-01`,y:A})),comparison:[27,35,33,48,52,61].map((A,Y)=>({x:`2024-0${Y+1}-01`,y:A})),formatValue:A=>`$${A.toLocaleString()}k`})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Donut"}),c.jsx(h2,{data:[{label:"iOS",value:4200},{label:"Android",value:3100},{label:"Web",value:1900},{label:"Other",value:400}]})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Stacked area (long rows via rowsToSeries)"}),c.jsx(S2,{labels:ie.labels,series:ie.series,height:200})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Bar + line combo (dual axis)"}),c.jsx(r2,{data:hf.map((A,Y)=>({label:A,bar:200+Y*42,line:.02+Y*.004})),barLabel:"Revenue",lineLabel:"Conversion",formatLine:A=>`${(A*100).toFixed(1)}%`,height:200})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Histogram"}),c.jsx(y2,{values:A2,bins:20})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Scatter"}),c.jsx(Xv,{points:T2,xLabel:"Sessions",yLabel:"Orders",height:200})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Heatmap"}),c.jsx(p2,{cells:B2,height:200})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Waterfall"}),c.jsx(I2,{data:[{label:"Gross",value:1e3,isTotal:!0},{label:"Refunds",value:-140},{label:"Discounts",value:-90},{label:"Upsells",value:130},{label:"Net",value:900,isTotal:!0}],height:200})]}),c.jsxs("article",{className:"min-w-0 xl:col-span-2",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Network"}),c.jsx(b2,{nodes:[{id:"orders",group:"fact"},{id:"payments",group:"fact"},{id:"customers",group:"dimension"},{id:"products",group:"dimension"},{id:"regions",group:"dimension"}],links:[{source:"orders",target:"customers",weight:3},{source:"orders",target:"products",weight:2},{source:"orders",target:"regions"},{source:"payments",target:"orders",weight:2},{source:"payments",target:"customers"}],height:260})]})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Inputs"}),c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[c.jsx(No,{variant:"primary",children:"Primary"}),c.jsx(No,{children:"Secondary"}),c.jsx(No,{variant:"ghost",children:"Ghost"}),c.jsx(No,{variant:"danger",children:"Danger"}),c.jsx(No,{size:"sm",children:"Small"}),c.jsx(wl,{label:"Fruit",value:T,onChange:E,options:[{value:"apple",label:"Apple"},{value:"banana",label:"Banana"},{value:"cherry",label:"Cherry"}]}),c.jsx(_2,{checked:I,onChange:U,label:"Compact rows"}),c.jsx(N2,{tabs:[{key:"explore",label:"Explore"},{key:"pivot",label:"Pivot"},{key:"sql",label:"SQL"}],active:G,onChange:V}),c.jsx(j2,{content:"Revenue in USD, net of refunds",children:c.jsx("span",{className:"cursor-help text-2xs text-muted underline decoration-dotted",children:"What is revenue?"})})]}),c.jsxs("div",{className:"flex flex-wrap items-start gap-3",children:[c.jsx(ny,{value:O,onChange:H,options:ly,ariaLabel:"Metric"}),c.jsx(ny,{multiple:!0,values:L,onChange:R,options:ly,ariaLabel:"Metrics"}),c.jsx(sy,{mode:"single",value:Q,onChange:z,ariaLabel:"Date"}),c.jsx(sy,{mode:"range",value:ee,onChange:X,ariaLabel:"Range"})]})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Analytical table"}),c.jsx(Ho,{columns:F2,rows:se,pageSize:6,sortKey:ae.key,sortDir:ae.dir,onSort:A=>re(Y=>({key:A,dir:Y.key===A&&Y.dir==="desc"?"asc":"desc"})),renderCell:(A,Y)=>A.numeric?Number(Y).toLocaleString():String(Y),searchable:!0,totals:{region:"count",revenue:"sum",orders:"sum"}}),c.jsxs("div",{className:"mt-3",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold text-muted",children:"Distribution-friendly data preview"}),c.jsx(u2,{result:{columns:["region","revenue","orders"],sample_rows:ay.slice(0,8)},pageSize:4})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Query inspection"}),c.jsx(au,{inputs:{Revenue:{metrics:["orders.revenue"],dimensions:["orders.region"],filters:["orders.status = 'completed'"]}},queries:{Revenue:`SELECT orders.region, SUM(orders.revenue) AS revenue +FROM orders +WHERE orders.status = 'completed' +GROUP BY orders.region +ORDER BY revenue DESC`}})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"States"}),c.jsxs("div",{className:"grid gap-2 lg:grid-cols-3",children:[c.jsx(af,{message:"Loading metric results…"}),c.jsx(Xn,{message:"No matching rows."}),c.jsx(Bi,{message:"The query could not be completed."})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Dashboard shell"}),c.jsx("div",{children:c.jsx(o2,{eyebrow:"Embedded shell example",title:"Revenue overview",status:c.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[c.jsx(dd,{status:"ok"})," Connected"]}),toolbar:c.jsxs(c.Fragment,{children:[c.jsx(Od,{dimension:"orders.region",value:"East"}),c.jsx(Td,{grain:v,options:["day","month","quarter"],onChange:x})]}),children:c.jsxs("div",{className:"grid gap-2 sm:grid-cols-2",children:[c.jsx(Nr,{metric:"orders.revenue",label:"Revenue",value:288291,format:{format:"currency"},sparkValues:[31,42,38,55,60]}),c.jsx(Xn,{title:"Optional panel",message:"Shell content is composed from the same primitives."})]})})})]})]})]})}function ns(n){return`https://api.fontshare.com/v2/css?f[]=${n}&display=swap`}const uy=[{value:"system",label:"System (SF Pro)",stack:"system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif"},{value:"geist",label:"Geist",gf:"Geist:wght@400;500;600",stack:"'Geist', system-ui, sans-serif"},{value:"inter",label:"Inter",gf:"Inter:wght@400;500;600",stack:"'Inter', system-ui, sans-serif"},{value:"instrument",label:"Instrument Sans",gf:"Instrument+Sans:wght@400;500;600",stack:"'Instrument Sans', system-ui, sans-serif"},{value:"plex",label:"IBM Plex Sans",gf:"IBM+Plex+Sans:wght@400;500;600",stack:"'IBM Plex Sans', system-ui, sans-serif"},{value:"schibsted",label:"Schibsted Grotesk",gf:"Schibsted+Grotesk:wght@400;500;600",stack:"'Schibsted Grotesk', system-ui, sans-serif"},{value:"figtree",label:"Figtree",gf:"Figtree:wght@400;500;600",stack:"'Figtree', system-ui, sans-serif"},{value:"manrope",label:"Manrope",gf:"Manrope:wght@400;500;600",stack:"'Manrope', system-ui, sans-serif"},{value:"publicsans",label:"Public Sans",gf:"Public+Sans:wght@400;500;600",stack:"'Public Sans', system-ui, sans-serif"},{value:"spacegrotesk",label:"Space Grotesk",gf:"Space+Grotesk:wght@400;500;600",stack:"'Space Grotesk', system-ui, sans-serif"},{value:"satoshi",label:"Satoshi ✦",url:ns("satoshi@400,500,700"),stack:"'Satoshi', system-ui, sans-serif"},{value:"generalsans",label:"General Sans ✦",url:ns("general-sans@400,500,600"),stack:"'General Sans', system-ui, sans-serif"},{value:"switzer",label:"Switzer ✦",url:ns("switzer@400,500,600"),stack:"'Switzer', system-ui, sans-serif"},{value:"cabinet",label:"Cabinet Grotesk ✦",url:ns("cabinet-grotesk@400,500,700"),stack:"'Cabinet Grotesk', system-ui, sans-serif"},{value:"bricolage",label:"Bricolage Grotesque ✦",gf:"Bricolage+Grotesque:wght@400;500;600",stack:"'Bricolage Grotesque', system-ui, sans-serif"},{value:"familjen",label:"Familjen Grotesk ✦",gf:"Familjen+Grotesk:wght@400;500;600",stack:"'Familjen Grotesk', system-ui, sans-serif"},{value:"hanken",label:"Hanken Grotesk ✦",gf:"Hanken+Grotesk:wght@400;500;600",stack:"'Hanken Grotesk', system-ui, sans-serif"},{value:"reddit",label:"Reddit Sans ✦",gf:"Reddit+Sans:wght@400;500;600",stack:"'Reddit Sans', system-ui, sans-serif"},{value:"chivo",label:"Chivo ✦",gf:"Chivo:wght@400;500;600",stack:"'Chivo', system-ui, sans-serif"},{value:"hostgrotesk",label:"Host Grotesk ✦",gf:"Host+Grotesk:wght@400;500;600",stack:"'Host Grotesk', system-ui, sans-serif"},{value:"sora",label:"Sora ✦",gf:"Sora:wght@400;500;600",stack:"'Sora', system-ui, sans-serif"}],cy=[{value:"system",label:"System (SF Mono)",stack:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},{value:"geistmono",label:"Geist Mono",gf:"Geist+Mono:wght@400;500",stack:"'Geist Mono', ui-monospace, monospace"},{value:"jetbrains",label:"JetBrains Mono",gf:"JetBrains+Mono:wght@400;500",stack:"'JetBrains Mono', ui-monospace, monospace"},{value:"plexmono",label:"IBM Plex Mono",gf:"IBM+Plex+Mono:wght@400;500",stack:"'IBM Plex Mono', ui-monospace, monospace"},{value:"firacode",label:"Fira Code",gf:"Fira+Code:wght@400;500",stack:"'Fira Code', ui-monospace, monospace"},{value:"splinemono",label:"Spline Sans Mono",gf:"Spline+Sans+Mono:wght@400;500",stack:"'Spline Sans Mono', ui-monospace, monospace"},{value:"dmmono",label:"DM Mono",gf:"DM+Mono:wght@400;500",stack:"'DM Mono', ui-monospace, monospace"},{value:"martianmono",label:"Martian Mono ✦",gf:"Martian+Mono:wght@400;500",stack:"'Martian Mono', ui-monospace, monospace"},{value:"fragment",label:"Fragment Mono ✦",gf:"Fragment+Mono",stack:"'Fragment Mono', ui-monospace, monospace"},{value:"redhatmono",label:"Red Hat Mono ✦",gf:"Red+Hat+Mono:wght@400;500",stack:"'Red Hat Mono', ui-monospace, monospace"},{value:"chivomono",label:"Chivo Mono ✦",gf:"Chivo+Mono:wght@400;500",stack:"'Chivo Mono', ui-monospace, monospace"},{value:"azeret",label:"Azeret Mono ✦",gf:"Azeret+Mono:wght@400;500",stack:"'Azeret Mono', ui-monospace, monospace"},{value:"spacemono",label:"Space Mono ✦",gf:"Space+Mono:wght@400;700",stack:"'Space Mono', ui-monospace, monospace"}],dy=[{value:"sans",label:"Same as sans",stack:""},{value:"newsreader",label:"Newsreader (serif)",gf:"Newsreader:opsz,wght@6..72,400..700",stack:"'Newsreader', Georgia, serif"},{value:"sourceserif",label:"Source Serif 4",gf:"Source+Serif+4:opsz,wght@8..60,400..700",stack:"'Source Serif 4', Georgia, serif"},{value:"fraunces",label:"Fraunces",gf:"Fraunces:opsz,wght@9..144,400..700",stack:"'Fraunces', Georgia, serif"},{value:"instrumentserif",label:"Instrument Serif",gf:"Instrument+Serif",stack:"'Instrument Serif', Georgia, serif"},{value:"spacegrotesk",label:"Space Grotesk",gf:"Space+Grotesk:wght@400;500;600",stack:"'Space Grotesk', system-ui, sans-serif"},{value:"clash",label:"Clash Display ✦",url:ns("clash-display@400,500,600"),stack:"'Clash Display', system-ui, sans-serif"},{value:"cabinetdisplay",label:"Cabinet Grotesk ✦",url:ns("cabinet-grotesk@500,700,800"),stack:"'Cabinet Grotesk', system-ui, sans-serif"},{value:"sentient",label:"Sentient (serif) ✦",url:ns("sentient@400,500,700"),stack:"'Sentient', Georgia, serif"},{value:"gambetta",label:"Gambetta (serif) ✦",url:ns("gambetta@400,500,700"),stack:"'Gambetta', Georgia, serif"},{value:"bricolagedisplay",label:"Bricolage Grotesque ✦",gf:"Bricolage+Grotesque:opsz,wght@12..96,400..700",stack:"'Bricolage Grotesque', system-ui, sans-serif"},{value:"youngserif",label:"Young Serif ✦",gf:"Young+Serif",stack:"'Young Serif', Georgia, serif"},{value:"unbounded",label:"Unbounded ✦",gf:"Unbounded:wght@400;500;600",stack:"'Unbounded', system-ui, sans-serif"}],R2=[{label:"Geist / Geist Mono",sans:"geist",mono:"geistmono",display:"sans"},{label:"Inter / JetBrains",sans:"inter",mono:"jetbrains",display:"sans"},{label:"IBM Plex",sans:"plex",mono:"plexmono",display:"sans"},{label:"Instrument / Spline",sans:"instrument",mono:"splinemono",display:"sans"},{label:"Schibsted / Fira",sans:"schibsted",mono:"firacode",display:"sans"},{label:"Editorial: Geist + Newsreader",sans:"geist",mono:"geistmono",display:"newsreader"},{label:"Satoshi / Martian ✦",sans:"satoshi",mono:"martianmono",display:"sans"},{label:"General Sans / Fragment ✦",sans:"generalsans",mono:"fragment",display:"sans"},{label:"Switzer + Clash headings ✦",sans:"switzer",mono:"redhatmono",display:"clash"},{label:"Cabinet + Gambetta ✦",sans:"cabinet",mono:"chivomono",display:"gambetta"},{label:"Bricolage all the way ✦",sans:"bricolage",mono:"spacemono",display:"bricolagedisplay"}],fy=new Set;function gd(n){if(!n)return;const e=n.url??(n.gf?`https://fonts.googleapis.com/css2?family=${n.gf}&display=swap`:void 0);if(!e||fy.has(e))return;fy.add(e);const t=document.createElement("link");t.rel="stylesheet",t.href=e,document.head.appendChild(t)}function vd(n,e){return n.find(t=>t.value===e)??n[0]}const L2=[{px:"8",cls:"text-[8px]",usage:"MetricCard delta arrow glyph",sample:"▲"},{px:"9",cls:"text-[9px]",usage:"DataTable sort direction glyph",sample:"▲▼"},{px:"10",cls:"text-[10px]",usage:"Chart axis labels (all 9 charts)",sample:"Jan Feb Mar 12.4k 18.2k"},{px:"11",cls:"text-2xs",usage:"Captions, chips, table body, helper text (58 uses)",sample:"Canonical React primitives · updated 2h ago"},{px:"12",cls:"text-xs",usage:"Controls, labels, leaderboard rows — the workhorse (70 uses)",sample:"Revenue by region, last 28 days"},{px:"13",cls:"text-sm",usage:"Section titles, panel headers (9 uses); also the body default",sample:"Customer Region"},{px:"14",cls:"text-base",usage:"Explore index page title (1 use)",sample:"Explore"},{px:"19",cls:"text-[19px]",usage:"MetricCard value",sample:"$288,291"},{px:"20",cls:"text-xl",usage:"MetricTimeSeries headline total",sample:"$1,282,392"},{px:"24",cls:"text-2xl",usage:"DashboardShell page title",sample:"Revenue overview"}],U2=[{name:"A — Current",note:"11 / 12 / 13 base. Dense, reads small on 27″ displays.",caption:11,label:12,body:13,section:13,value:19,headline:20,title:24},{name:"B — One up",note:"12 / 13 / 14 base. Same hierarchy, comfortably legible.",caption:12,label:13,body:14,section:14,value:22,headline:24,title:28},{name:"C — Quiet UI, loud numbers",note:"Keeps the dense chrome, doubles down on data: bigger values and titles.",caption:11,label:12,body:13,section:13,value:24,headline:28,title:30}],$2=[31,42,38,55,60,74],P2=Array.from({length:12},(n,e)=>({x:`2025-${String(e+1).padStart(2,"0")}-01`,y:96e3+e*14e3+e%3*9e3})),z2=`select region, sum(revenue) as revenue +from orders +where created_at >= date '2025-01-01' +group by all +order by revenue desc`;function hy({family:n,size:e}){return c.jsxs("div",{className:"flex flex-wrap items-baseline gap-x-6 gap-y-1",style:{fontFamily:n},children:[c.jsx("span",{className:`${e} font-normal`,children:"Regular 400 — Revenue by payment method"}),c.jsx("span",{className:`${e} font-medium`,children:"Medium 500 — Revenue by payment method"}),c.jsx("span",{className:`${e} font-semibold`,children:"Semibold 600 — Revenue by payment method"})]})}function V2(){const[n,e]=D.useState("geist"),[t,i]=D.useState("geistmono"),[a,u]=D.useState("sans"),f=vd(uy,n),h=vd(cy,t),m=vd(dy,a),g=m.stack||f.stack;D.useEffect(()=>{gd(f),gd(h),gd(m)},[f,h,m]);const v={"--font-sans":f.stack,"--font-mono":h.stack,"--font-display":g,fontFamily:"var(--font-sans)"};return c.jsxs("main",{className:"min-h-screen bg-bg text-ink",children:[c.jsxs("header",{className:"sticky top-0 z-20 flex items-center justify-between gap-3 border-b border-line bg-surface px-4 py-3",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-sm font-semibold",children:"Typography workbench"}),c.jsxs("p",{className:"text-2xs text-faint",children:["Pick faces, judge them on real components · ",c.jsx("a",{className:"text-accent hover:underline",href:"/components",children:"component gallery →"})]})]}),c.jsx($o,{})]}),c.jsxs("div",{className:"space-y-10 p-4",children:[c.jsx("section",{children:c.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[c.jsx(wl,{label:"Sans",value:n,options:uy.map(({value:x,label:b})=>({value:x,label:b})),onChange:e}),c.jsx(wl,{label:"Mono",value:t,options:cy.map(({value:x,label:b})=>({value:x,label:b})),onChange:i}),c.jsx(wl,{label:"Headings",value:a,options:dy.map(({value:x,label:b})=>({value:x,label:b})),onChange:u}),c.jsx("div",{className:"flex flex-wrap items-center gap-1.5",children:R2.map(x=>{const b=x.sans===n&&x.mono===t&&x.display===a;return c.jsx("button",{type:"button","data-selected":b||void 0,onClick:()=>{e(x.sans),i(x.mono),u(x.display)},className:`inline-flex h-7 items-center rounded-full border px-3 text-xs transition-colors ${b?"border-accent text-accent":"border-line bg-surface text-muted hover:border-line-strong"}`,children:x.label},x.label)})})]})}),c.jsxs("div",{style:v,className:"space-y-10",children:[c.jsxs("section",{children:[c.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"In context"}),c.jsxs("div",{className:"space-y-6",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-2xs text-faint",children:"Acme Analytics · production"}),c.jsx("h1",{className:"mt-1 text-2xl font-semibold text-ink",children:"Revenue overview"}),c.jsx("div",{className:"text-sm text-muted",children:"Updated 2 minutes ago · 448,214 rows scanned"})]}),c.jsxs("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-3",children:[c.jsx(Nr,{metric:"t.revenue",label:"Revenue",value:288291,format:{format:"currency"},delta:{label:"+12.4%",tone:"positive"},comparison:"vs previous month",sparkValues:$2,selected:!0,onSelect:()=>{}}),c.jsx(Nr,{metric:"t.orders",label:"Order Count",value:447,delta:{label:"-2.1%",tone:"negative"},comparison:"vs previous month",sparkValues:[21,34,28,41,44,38],onSelect:()=>{}}),c.jsx(Nr,{metric:"t.margin",label:"Gross Margin",value:.324,format:{format:"percent"},delta:{label:"+1.1pt",tone:"positive"},comparison:"vs previous month",sparkValues:[24,26,29,27,31,32],onSelect:()=>{}})]}),c.jsx(Go,{points:P2,formatValue:x=>`$${Math.round(x).toLocaleString("en-US")}`,formatAxis:x=>`$${Math.round(x/1e3)}k`,formatLabel:x=>x.slice(0,7),ariaLabel:"Twelve month revenue trend"}),c.jsxs("div",{className:"max-w-xl",children:[c.jsx("h3",{className:"text-sm font-semibold text-ink",children:"How the comparison works"}),c.jsx("p",{className:"mt-1 text-xs leading-5 text-muted",children:"The overlay shifts the previous period onto the current axis so both lines share a scale. Deltas are computed on the visible range only — zooming recomputes them. Hover any point for the exact pair of values; the quiet gray line is always the older period."})]}),c.jsx("pre",{className:"overflow-x-auto font-mono text-xs leading-5 text-muted",children:z2})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Numerals — mono, tabular"}),c.jsxs("div",{className:"flex flex-wrap gap-12",children:[c.jsx("div",{className:"font-mono tnum text-sm text-ink",children:["$1,204,918.24","$984,003.10","$88,214.00","$1,111,111.11"].map(x=>c.jsx("div",{className:"text-right",children:x},x))}),c.jsx("div",{className:"font-mono tnum text-sm text-ink",children:["2025-06-30 23:59:59","2025-07-01 00:00:00","2025-12-31 08:15:42"].map(x=>c.jsx("div",{children:x},x))}),c.jsxs("div",{className:"font-mono text-sm text-ink",children:["0O · 1lI · 5S · 8B · ","->"," ","=>"," ","!="," ",">="]})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Weights in use — 400 / 500 / 600 (no bold anywhere)"}),c.jsxs("div",{className:"space-y-2 text-ink",children:[c.jsx(hy,{family:"var(--font-sans)",size:"text-sm"}),c.jsx(hy,{family:"var(--font-sans)",size:"text-xs"}),c.jsx("div",{className:"text-xl font-semibold",style:{fontFamily:"var(--font-display)"},children:"Display 600 — Quarterly revenue, all regions"})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Current ramp — every size in the app and where it appears"}),c.jsx("div",{className:"space-y-1.5",children:L2.map(x=>c.jsxs("div",{className:"grid grid-cols-[3rem_7rem_1fr_1.2fr] items-baseline gap-3",children:[c.jsxs("span",{className:"font-mono tnum text-2xs text-faint",children:[x.px,"px"]}),c.jsx("span",{className:"font-mono text-2xs text-faint",children:x.cls}),c.jsx("span",{className:"truncate text-ink",style:{fontSize:`${x.px}px`,lineHeight:1.3},children:x.sample}),c.jsx("span",{className:"text-2xs text-faint",children:x.usage})]},x.px))})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Size ramp candidates"}),c.jsx("div",{className:"grid grid-cols-1 gap-8 lg:grid-cols-3",children:U2.map(x=>c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"text-sm font-semibold text-ink",children:x.name}),c.jsx("p",{className:"mt-0.5 text-2xs text-faint",children:x.note}),c.jsxs("div",{className:"mt-3 space-y-2",children:[c.jsxs("div",{className:"text-faint",style:{fontSize:x.caption,lineHeight:1.3},children:["Caption ",x.caption,"px · vs previous month"]}),c.jsxs("div",{className:"text-muted",style:{fontSize:x.label,lineHeight:1.35},children:["Label ",x.label,"px · Revenue by region"]}),c.jsxs("div",{className:"text-ink",style:{fontSize:x.body,lineHeight:1.45},children:["Body ",x.body,"px · The overlay shifts the previous period onto the current axis so both lines share a scale."]}),c.jsxs("div",{className:"font-semibold text-ink",style:{fontSize:x.section,lineHeight:1.35},children:["Section title ",x.section,"px"]}),c.jsx("div",{className:"font-mono tnum font-semibold text-ink",style:{fontSize:x.value,lineHeight:1.15},children:"$288,291"}),c.jsx("div",{className:"font-mono tnum font-semibold text-ink",style:{fontSize:x.headline,lineHeight:1.15},children:"$1,282,392"}),c.jsx("div",{className:"font-semibold text-ink",style:{fontFamily:"var(--font-display)",fontSize:x.title,lineHeight:1.2,letterSpacing:"-0.025em"},children:"Revenue overview"})]})]},x.name))})]})]})]})]})}n_();const n0=document.getElementById("root");if(!n0)throw new Error("Missing #root element");ub.createRoot(n0).render(c.jsx(D.StrictMode,{children:window.location.pathname==="/components"?c.jsx(E2,{}):window.location.pathname==="/typography"?c.jsx(V2,{}):c.jsx(n2,{})})); diff --git a/sidemantic-rs/ui/index.html b/sidemantic-rs/ui/index.html index 8f191ce4c..bb5230531 100644 --- a/sidemantic-rs/ui/index.html +++ b/sidemantic-rs/ui/index.html @@ -4,7 +4,7 @@ Sidemantic - + diff --git a/sidemantic/ui/static/assets/index-DqXBaPTo.js b/sidemantic/ui/static/assets/index-DqXBaPTo.js deleted file mode 100644 index ad89c7e9f..000000000 --- a/sidemantic/ui/static/assets/index-DqXBaPTo.js +++ /dev/null @@ -1,55 +0,0 @@ -var Xx=Object.defineProperty;var eb=(n,e,t)=>e in n?Xx(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var Mn=(n,e,t)=>eb(n,typeof e!="symbol"?e+"":e,t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))i(a);new MutationObserver(a=>{for(const c of a)if(c.type==="childList")for(const f of c.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&i(f)}).observe(document,{childList:!0,subtree:!0});function t(a){const c={};return a.integrity&&(c.integrity=a.integrity),a.referrerPolicy&&(c.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?c.credentials="include":a.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function i(a){if(a.ep)return;a.ep=!0;const c=t(a);fetch(a.href,c)}})();var Ju={exports:{}},wo={},qu={exports:{}},Te={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Xp;function tb(){if(Xp)return Te;Xp=1;var n=Symbol.for("react.element"),e=Symbol.for("react.portal"),t=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),f=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),x=Symbol.iterator;function b(_){return _===null||typeof _!="object"?null:(_=x&&_[x]||_["@@iterator"],typeof _=="function"?_:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},j=Object.assign,O={};function T(_,k,Z){this.props=_,this.context=k,this.refs=O,this.updater=Z||w}T.prototype.isReactComponent={},T.prototype.setState=function(_,k){if(typeof _!="object"&&typeof _!="function"&&_!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,_,k,"setState")},T.prototype.forceUpdate=function(_){this.updater.enqueueForceUpdate(this,_,"forceUpdate")};function W(){}W.prototype=T.prototype;function R(_,k,Z){this.props=_,this.context=k,this.refs=O,this.updater=Z||w}var E=R.prototype=new W;E.constructor=R,j(E,T.prototype),E.isPureReactComponent=!0;var I=Array.isArray,V=Object.prototype.hasOwnProperty,M={current:null},U={key:!0,ref:!0,__self:!0,__source:!0};function G(_,k,Z){var ae,ce={},we=null,$e=null;if(k!=null)for(ae in k.ref!==void 0&&($e=k.ref),k.key!==void 0&&(we=""+k.key),k)V.call(k,ae)&&!U.hasOwnProperty(ae)&&(ce[ae]=k[ae]);var Re=arguments.length-2;if(Re===1)ce.children=Z;else if(1>>1,k=A[_];if(0>>1;_a(ce,H))wea($e,ce)?(A[_]=$e,A[we]=H,_=we):(A[_]=ce,A[ae]=H,_=ae);else if(wea($e,H))A[_]=$e,A[we]=H,_=we;else break e}}return Q}function a(A,Q){var H=A.sortIndex-Q.sortIndex;return H!==0?H:A.id-Q.id}if(typeof performance=="object"&&typeof performance.now=="function"){var c=performance;n.unstable_now=function(){return c.now()}}else{var f=Date,h=f.now();n.unstable_now=function(){return f.now()-h}}var m=[],g=[],v=1,x=null,b=3,w=!1,j=!1,O=!1,T=typeof setTimeout=="function"?setTimeout:null,W=typeof clearTimeout=="function"?clearTimeout:null,R=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function E(A){for(var Q=t(g);Q!==null;){if(Q.callback===null)i(g);else if(Q.startTime<=A)i(g),Q.sortIndex=Q.expirationTime,e(m,Q);else break;Q=t(g)}}function I(A){if(O=!1,E(A),!j)if(t(m)!==null)j=!0,re(V);else{var Q=t(g);Q!==null&&se(I,Q.startTime-A)}}function V(A,Q){j=!1,O&&(O=!1,W(G),G=-1),w=!0;var H=b;try{for(E(Q),x=t(m);x!==null&&(!(x.expirationTime>Q)||A&&!P());){var _=x.callback;if(typeof _=="function"){x.callback=null,b=x.priorityLevel;var k=_(x.expirationTime<=Q);Q=n.unstable_now(),typeof k=="function"?x.callback=k:x===t(m)&&i(m),E(Q)}else i(m);x=t(m)}if(x!==null)var Z=!0;else{var ae=t(g);ae!==null&&se(I,ae.startTime-Q),Z=!1}return Z}finally{x=null,b=H,w=!1}}var M=!1,U=null,G=-1,z=5,Y=-1;function P(){return!(n.unstable_now()-YA||125_?(A.sortIndex=H,e(g,A),t(m)===null&&A===t(g)&&(O?(W(G),G=-1):O=!0,se(I,H-_))):(A.sortIndex=k,e(m,A),j||w||(j=!0,re(V))),A},n.unstable_shouldYield=P,n.unstable_wrapCallback=function(A){var Q=b;return function(){var H=b;b=Q;try{return A.apply(this,arguments)}finally{b=H}}}})(ed)),ed}var sm;function ib(){return sm||(sm=1,Xu.exports=sb()),Xu.exports}/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var im;function ob(){if(im)return $t;im=1;var n=Ad(),e=ib();function t(r){for(var s="https://reactjs.org/docs/error-decoder.html?invariant="+r,o=1;o"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),m=Object.prototype.hasOwnProperty,g=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,v={},x={};function b(r){return m.call(x,r)?!0:m.call(v,r)?!1:g.test(r)?x[r]=!0:(v[r]=!0,!1)}function w(r,s,o,l){if(o!==null&&o.type===0)return!1;switch(typeof s){case"function":case"symbol":return!0;case"boolean":return l?!1:o!==null?!o.acceptsBooleans:(r=r.toLowerCase().slice(0,5),r!=="data-"&&r!=="aria-");default:return!1}}function j(r,s,o,l){if(s===null||typeof s>"u"||w(r,s,o,l))return!0;if(l)return!1;if(o!==null)switch(o.type){case 3:return!s;case 4:return s===!1;case 5:return isNaN(s);case 6:return isNaN(s)||1>s}return!1}function O(r,s,o,l,d,p,y){this.acceptsBooleans=s===2||s===3||s===4,this.attributeName=l,this.attributeNamespace=d,this.mustUseProperty=o,this.propertyName=r,this.type=s,this.sanitizeURL=p,this.removeEmptyString=y}var T={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(r){T[r]=new O(r,0,!1,r,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(r){var s=r[0];T[s]=new O(s,1,!1,r[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(r){T[r]=new O(r,2,!1,r.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(r){T[r]=new O(r,2,!1,r,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(r){T[r]=new O(r,3,!1,r.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(r){T[r]=new O(r,3,!0,r,null,!1,!1)}),["capture","download"].forEach(function(r){T[r]=new O(r,4,!1,r,null,!1,!1)}),["cols","rows","size","span"].forEach(function(r){T[r]=new O(r,6,!1,r,null,!1,!1)}),["rowSpan","start"].forEach(function(r){T[r]=new O(r,5,!1,r.toLowerCase(),null,!1,!1)});var W=/[\-:]([a-z])/g;function R(r){return r[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(r){var s=r.replace(W,R);T[s]=new O(s,1,!1,r,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(r){var s=r.replace(W,R);T[s]=new O(s,1,!1,r,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(r){var s=r.replace(W,R);T[s]=new O(s,1,!1,r,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(r){T[r]=new O(r,1,!1,r.toLowerCase(),null,!1,!1)}),T.xlinkHref=new O("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(r){T[r]=new O(r,1,!1,r.toLowerCase(),null,!0,!0)});function E(r,s,o,l){var d=T.hasOwnProperty(s)?T[s]:null;(d!==null?d.type!==0:l||!(2S||d[y]!==p[S]){var N=` -`+d[y].replace(" at new "," at ");return r.displayName&&N.includes("")&&(N=N.replace("",r.displayName)),N}while(1<=y&&0<=S);break}}}finally{Z=!1,Error.prepareStackTrace=o}return(r=r?r.displayName||r.name:"")?k(r):""}function ce(r){switch(r.tag){case 5:return k(r.type);case 16:return k("Lazy");case 13:return k("Suspense");case 19:return k("SuspenseList");case 0:case 2:case 15:return r=ae(r.type,!1),r;case 11:return r=ae(r.type.render,!1),r;case 1:return r=ae(r.type,!0),r;default:return""}}function we(r){if(r==null)return null;if(typeof r=="function")return r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case U:return"Fragment";case M:return"Portal";case z:return"Profiler";case G:return"StrictMode";case te:return"Suspense";case ne:return"SuspenseList"}if(typeof r=="object")switch(r.$$typeof){case P:return(r.displayName||"Context")+".Consumer";case Y:return(r._context.displayName||"Context")+".Provider";case ee:var s=r.render;return r=r.displayName,r||(r=s.displayName||s.name||"",r=r!==""?"ForwardRef("+r+")":"ForwardRef"),r;case ie:return s=r.displayName||null,s!==null?s:we(r.type)||"Memo";case re:s=r._payload,r=r._init;try{return we(r(s))}catch{}}return null}function $e(r){var s=r.type;switch(r.tag){case 24:return"Cache";case 9:return(s.displayName||"Context")+".Consumer";case 10:return(s._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return r=s.render,r=r.displayName||r.name||"",s.displayName||(r!==""?"ForwardRef("+r+")":"ForwardRef");case 7:return"Fragment";case 5:return s;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return we(s);case 8:return s===G?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s}return null}function Re(r){switch(typeof r){case"boolean":case"number":case"string":case"undefined":return r;case"object":return r;default:return""}}function ze(r){var s=r.type;return(r=r.nodeName)&&r.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function lt(r){var s=ze(r)?"checked":"value",o=Object.getOwnPropertyDescriptor(r.constructor.prototype,s),l=""+r[s];if(!r.hasOwnProperty(s)&&typeof o<"u"&&typeof o.get=="function"&&typeof o.set=="function"){var d=o.get,p=o.set;return Object.defineProperty(r,s,{configurable:!0,get:function(){return d.call(this)},set:function(y){l=""+y,p.call(this,y)}}),Object.defineProperty(r,s,{enumerable:o.enumerable}),{getValue:function(){return l},setValue:function(y){l=""+y},stopTracking:function(){r._valueTracker=null,delete r[s]}}}}function wt(r){r._valueTracker||(r._valueTracker=lt(r))}function Bs(r){if(!r)return!1;var s=r._valueTracker;if(!s)return!0;var o=s.getValue(),l="";return r&&(l=ze(r)?r.checked?"true":"false":r.value),r=l,r!==o?(s.setValue(r),!0):!1}function xn(r){if(r=r||(typeof document<"u"?document:void 0),typeof r>"u")return null;try{return r.activeElement||r.body}catch{return r.body}}function Cr(r,s){var o=s.checked;return H({},s,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:o??r._wrapperState.initialChecked})}function Fr(r,s){var o=s.defaultValue==null?"":s.defaultValue,l=s.checked!=null?s.checked:s.defaultChecked;o=Re(s.value!=null?s.value:o),r._wrapperState={initialChecked:l,initialValue:o,controlled:s.type==="checkbox"||s.type==="radio"?s.checked!=null:s.value!=null}}function ue(r,s){s=s.checked,s!=null&&E(r,"checked",s,!1)}function Fe(r,s){ue(r,s);var o=Re(s.value),l=s.type;if(o!=null)l==="number"?(o===0&&r.value===""||r.value!=o)&&(r.value=""+o):r.value!==""+o&&(r.value=""+o);else if(l==="submit"||l==="reset"){r.removeAttribute("value");return}s.hasOwnProperty("value")?Nt(r,s.type,o):s.hasOwnProperty("defaultValue")&&Nt(r,s.type,Re(s.defaultValue)),s.checked==null&&s.defaultChecked!=null&&(r.defaultChecked=!!s.defaultChecked)}function rt(r,s,o){if(s.hasOwnProperty("value")||s.hasOwnProperty("defaultValue")){var l=s.type;if(!(l!=="submit"&&l!=="reset"||s.value!==void 0&&s.value!==null))return;s=""+r._wrapperState.initialValue,o||s===r.value||(r.value=s),r.defaultValue=s}o=r.name,o!==""&&(r.name=""),r.defaultChecked=!!r._wrapperState.initialChecked,o!==""&&(r.name=o)}function Nt(r,s,o){(s!=="number"||xn(r.ownerDocument)!==r)&&(o==null?r.defaultValue=""+r._wrapperState.initialValue:r.defaultValue!==""+o&&(r.defaultValue=""+o))}var Un=Array.isArray;function sr(r,s,o,l){if(r=r.options,s){s={};for(var d=0;d"+s.valueOf().toString()+"",s=ds.firstChild;r.firstChild;)r.removeChild(r.firstChild);for(;s.firstChild;)r.appendChild(s.firstChild)}});function ir(r,s){if(s){var o=r.firstChild;if(o&&o===r.lastChild&&o.nodeType===3){o.nodeValue=s;return}}r.textContent=s}var Ri={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},r0=["Webkit","ms","Moz","O"];Object.keys(Ri).forEach(function(r){r0.forEach(function(s){s=s+r.charAt(0).toUpperCase()+r.substring(1),Ri[s]=Ri[r]})});function pf(r,s,o){return s==null||typeof s=="boolean"||s===""?"":o||typeof s!="number"||s===0||Ri.hasOwnProperty(r)&&Ri[r]?(""+s).trim():s+"px"}function mf(r,s){r=r.style;for(var o in s)if(s.hasOwnProperty(o)){var l=o.indexOf("--")===0,d=pf(o,s[o],l);o==="float"&&(o="cssFloat"),l?r.setProperty(o,d):r[o]=d}}var s0=H({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function lc(r,s){if(s){if(s0[r]&&(s.children!=null||s.dangerouslySetInnerHTML!=null))throw Error(t(137,r));if(s.dangerouslySetInnerHTML!=null){if(s.children!=null)throw Error(t(60));if(typeof s.dangerouslySetInnerHTML!="object"||!("__html"in s.dangerouslySetInnerHTML))throw Error(t(61))}if(s.style!=null&&typeof s.style!="object")throw Error(t(62))}}function cc(r,s){if(r.indexOf("-")===-1)return typeof s.is=="string";switch(r){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var uc=null;function dc(r){return r=r.target||r.srcElement||window,r.correspondingUseElement&&(r=r.correspondingUseElement),r.nodeType===3?r.parentNode:r}var fc=null,Rs=null,Ls=null;function yf(r){if(r=io(r)){if(typeof fc!="function")throw Error(t(280));var s=r.stateNode;s&&(s=ya(s),fc(r.stateNode,r.type,s))}}function gf(r){Rs?Ls?Ls.push(r):Ls=[r]:Rs=r}function vf(){if(Rs){var r=Rs,s=Ls;if(Ls=Rs=null,yf(r),s)for(r=0;r>>=0,r===0?32:31-(m0(r)/y0|0)|0}var Zo=64,Xo=4194304;function Pi(r){switch(r&-r){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return r&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return r&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return r}}function ea(r,s){var o=r.pendingLanes;if(o===0)return 0;var l=0,d=r.suspendedLanes,p=r.pingedLanes,y=o&268435455;if(y!==0){var S=y&~d;S!==0?l=Pi(S):(p&=y,p!==0&&(l=Pi(p)))}else y=o&~d,y!==0?l=Pi(y):p!==0&&(l=Pi(p));if(l===0)return 0;if(s!==0&&s!==l&&(s&d)===0&&(d=l&-l,p=s&-s,d>=p||d===16&&(p&4194240)!==0))return s;if((l&4)!==0&&(l|=o&16),s=r.entangledLanes,s!==0)for(r=r.entanglements,s&=l;0o;o++)s.push(r);return s}function zi(r,s,o){r.pendingLanes|=s,s!==536870912&&(r.suspendedLanes=0,r.pingedLanes=0),r=r.eventTimes,s=31-wn(s),r[s]=o}function b0(r,s){var o=r.pendingLanes&~s;r.pendingLanes=s,r.suspendedLanes=0,r.pingedLanes=0,r.expiredLanes&=s,r.mutableReadLanes&=s,r.entangledLanes&=s,s=r.entanglements;var l=r.eventTimes;for(r=r.expirationTimes;0=Ji),Gf=" ",Yf=!1;function Qf(r,s){switch(r){case"keyup":return Q0.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Kf(r){return r=r.detail,typeof r=="object"&&"data"in r?r.data:null}var Ps=!1;function J0(r,s){switch(r){case"compositionend":return Kf(s);case"keypress":return s.which!==32?null:(Yf=!0,Gf);case"textInput":return r=s.data,r===Gf&&Yf?null:r;default:return null}}function q0(r,s){if(Ps)return r==="compositionend"||!Cc&&Qf(r,s)?(r=$f(),ia=Nc=Er=null,Ps=!1,r):null;switch(r){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:o,offset:s-r};r=l}e:{for(;o;){if(o.nextSibling){o=o.nextSibling;break e}o=o.parentNode}o=void 0}o=nh(o)}}function sh(r,s){return r&&s?r===s?!0:r&&r.nodeType===3?!1:s&&s.nodeType===3?sh(r,s.parentNode):"contains"in r?r.contains(s):r.compareDocumentPosition?!!(r.compareDocumentPosition(s)&16):!1:!1}function ih(){for(var r=window,s=xn();s instanceof r.HTMLIFrameElement;){try{var o=typeof s.contentWindow.location.href=="string"}catch{o=!1}if(o)r=s.contentWindow;else break;s=xn(r.document)}return s}function Tc(r){var s=r&&r.nodeName&&r.nodeName.toLowerCase();return s&&(s==="input"&&(r.type==="text"||r.type==="search"||r.type==="tel"||r.type==="url"||r.type==="password")||s==="textarea"||r.contentEditable==="true")}function ox(r){var s=ih(),o=r.focusedElem,l=r.selectionRange;if(s!==o&&o&&o.ownerDocument&&sh(o.ownerDocument.documentElement,o)){if(l!==null&&Tc(o)){if(s=l.start,r=l.end,r===void 0&&(r=s),"selectionStart"in o)o.selectionStart=s,o.selectionEnd=Math.min(r,o.value.length);else if(r=(s=o.ownerDocument||document)&&s.defaultView||window,r.getSelection){r=r.getSelection();var d=o.textContent.length,p=Math.min(l.start,d);l=l.end===void 0?p:Math.min(l.end,d),!r.extend&&p>l&&(d=l,l=p,p=d),d=rh(o,p);var y=rh(o,l);d&&y&&(r.rangeCount!==1||r.anchorNode!==d.node||r.anchorOffset!==d.offset||r.focusNode!==y.node||r.focusOffset!==y.offset)&&(s=s.createRange(),s.setStart(d.node,d.offset),r.removeAllRanges(),p>l?(r.addRange(s),r.extend(y.node,y.offset)):(s.setEnd(y.node,y.offset),r.addRange(s)))}}for(s=[],r=o;r=r.parentNode;)r.nodeType===1&&s.push({element:r,left:r.scrollLeft,top:r.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;o=document.documentMode,zs=null,Ac=null,eo=null,Bc=!1;function oh(r,s,o){var l=o.window===o?o.document:o.nodeType===9?o:o.ownerDocument;Bc||zs==null||zs!==xn(l)||(l=zs,"selectionStart"in l&&Tc(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),eo&&Xi(eo,l)||(eo=l,l=ha(Ac,"onSelect"),0Ys||(r.current=Yc[Ys],Yc[Ys]=null,Ys--)}function qe(r,s){Ys++,Yc[Ys]=r.current,r.current=s}var $r={},jt=Ur($r),Bt=Ur(!1),ps=$r;function Qs(r,s){var o=r.type.contextTypes;if(!o)return $r;var l=r.stateNode;if(l&&l.__reactInternalMemoizedUnmaskedChildContext===s)return l.__reactInternalMemoizedMaskedChildContext;var d={},p;for(p in o)d[p]=s[p];return l&&(r=r.stateNode,r.__reactInternalMemoizedUnmaskedChildContext=s,r.__reactInternalMemoizedMaskedChildContext=d),d}function Et(r){return r=r.childContextTypes,r!=null}function ga(){et(Bt),et(jt)}function wh(r,s,o){if(jt.current!==$r)throw Error(t(168));qe(jt,s),qe(Bt,o)}function Sh(r,s,o){var l=r.stateNode;if(s=s.childContextTypes,typeof l.getChildContext!="function")return o;l=l.getChildContext();for(var d in l)if(!(d in s))throw Error(t(108,$e(r)||"Unknown",d));return H({},o,l)}function va(r){return r=(r=r.stateNode)&&r.__reactInternalMemoizedMergedChildContext||$r,ps=jt.current,qe(jt,r),qe(Bt,Bt.current),!0}function _h(r,s,o){var l=r.stateNode;if(!l)throw Error(t(169));o?(r=Sh(r,s,ps),l.__reactInternalMemoizedMergedChildContext=r,et(Bt),et(jt),qe(jt,r)):et(Bt),qe(Bt,o)}var ar=null,xa=!1,Qc=!1;function Nh(r){ar===null?ar=[r]:ar.push(r)}function vx(r){xa=!0,Nh(r)}function Pr(){if(!Qc&&ar!==null){Qc=!0;var r=0,s=Ge;try{var o=ar;for(Ge=1;r>=y,d-=y,lr=1<<32-wn(s)+d|o<Me?(bt=ye,ye=null):bt=ye.sibling;var Pe=K(B,ye,L[Me],X);if(Pe===null){ye===null&&(ye=bt);break}r&&ye&&Pe.alternate===null&&s(B,ye),D=p(Pe,D,Me),me===null?he=Pe:me.sibling=Pe,me=Pe,ye=bt}if(Me===L.length)return o(B,ye),st&&ys(B,Me),he;if(ye===null){for(;MeMe?(bt=ye,ye=null):bt=ye.sibling;var Jr=K(B,ye,Pe.value,X);if(Jr===null){ye===null&&(ye=bt);break}r&&ye&&Jr.alternate===null&&s(B,ye),D=p(Jr,D,Me),me===null?he=Jr:me.sibling=Jr,me=Jr,ye=bt}if(Pe.done)return o(B,ye),st&&ys(B,Me),he;if(ye===null){for(;!Pe.done;Me++,Pe=L.next())Pe=q(B,Pe.value,X),Pe!==null&&(D=p(Pe,D,Me),me===null?he=Pe:me.sibling=Pe,me=Pe);return st&&ys(B,Me),he}for(ye=l(B,ye);!Pe.done;Me++,Pe=L.next())Pe=oe(ye,B,Me,Pe.value,X),Pe!==null&&(r&&Pe.alternate!==null&&ye.delete(Pe.key===null?Me:Pe.key),D=p(Pe,D,Me),me===null?he=Pe:me.sibling=Pe,me=Pe);return r&&ye.forEach(function(Zx){return s(B,Zx)}),st&&ys(B,Me),he}function dt(B,D,L,X){if(typeof L=="object"&&L!==null&&L.type===U&&L.key===null&&(L=L.props.children),typeof L=="object"&&L!==null){switch(L.$$typeof){case V:e:{for(var he=L.key,me=D;me!==null;){if(me.key===he){if(he=L.type,he===U){if(me.tag===7){o(B,me.sibling),D=d(me,L.props.children),D.return=B,B=D;break e}}else if(me.elementType===he||typeof he=="object"&&he!==null&&he.$$typeof===re&&Ch(he)===me.type){o(B,me.sibling),D=d(me,L.props),D.ref=oo(B,me,L),D.return=B,B=D;break e}o(B,me);break}else s(B,me);me=me.sibling}L.type===U?(D=Ns(L.props.children,B.mode,X,L.key),D.return=B,B=D):(X=Ya(L.type,L.key,L.props,null,B.mode,X),X.ref=oo(B,D,L),X.return=B,B=X)}return y(B);case M:e:{for(me=L.key;D!==null;){if(D.key===me)if(D.tag===4&&D.stateNode.containerInfo===L.containerInfo&&D.stateNode.implementation===L.implementation){o(B,D.sibling),D=d(D,L.children||[]),D.return=B,B=D;break e}else{o(B,D);break}else s(B,D);D=D.sibling}D=Hu(L,B.mode,X),D.return=B,B=D}return y(B);case re:return me=L._init,dt(B,D,me(L._payload),X)}if(Un(L))return de(B,D,L,X);if(Q(L))return fe(B,D,L,X);_a(B,L)}return typeof L=="string"&&L!==""||typeof L=="number"?(L=""+L,D!==null&&D.tag===6?(o(B,D.sibling),D=d(D,L),D.return=B,B=D):(o(B,D),D=Wu(L,B.mode,X),D.return=B,B=D),y(B)):o(B,D)}return dt}var Zs=Fh(!0),Oh=Fh(!1),Na=Ur(null),ja=null,Xs=null,eu=null;function tu(){eu=Xs=ja=null}function nu(r){var s=Na.current;et(Na),r._currentValue=s}function ru(r,s,o){for(;r!==null;){var l=r.alternate;if((r.childLanes&s)!==s?(r.childLanes|=s,l!==null&&(l.childLanes|=s)):l!==null&&(l.childLanes&s)!==s&&(l.childLanes|=s),r===o)break;r=r.return}}function ei(r,s){ja=r,eu=Xs=null,r=r.dependencies,r!==null&&r.firstContext!==null&&((r.lanes&s)!==0&&(Rt=!0),r.firstContext=null)}function sn(r){var s=r._currentValue;if(eu!==r)if(r={context:r,memoizedValue:s,next:null},Xs===null){if(ja===null)throw Error(t(308));Xs=r,ja.dependencies={lanes:0,firstContext:r}}else Xs=Xs.next=r;return s}var gs=null;function su(r){gs===null?gs=[r]:gs.push(r)}function Th(r,s,o,l){var d=s.interleaved;return d===null?(o.next=o,su(s)):(o.next=d.next,d.next=o),s.interleaved=o,ur(r,l)}function ur(r,s){r.lanes|=s;var o=r.alternate;for(o!==null&&(o.lanes|=s),o=r,r=r.return;r!==null;)r.childLanes|=s,o=r.alternate,o!==null&&(o.childLanes|=s),o=r,r=r.return;return o.tag===3?o.stateNode:null}var zr=!1;function iu(r){r.updateQueue={baseState:r.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Ah(r,s){r=r.updateQueue,s.updateQueue===r&&(s.updateQueue={baseState:r.baseState,firstBaseUpdate:r.firstBaseUpdate,lastBaseUpdate:r.lastBaseUpdate,shared:r.shared,effects:r.effects})}function dr(r,s){return{eventTime:r,lane:s,tag:0,payload:null,callback:null,next:null}}function Vr(r,s,o){var l=r.updateQueue;if(l===null)return null;if(l=l.shared,(Ue&2)!==0){var d=l.pending;return d===null?s.next=s:(s.next=d.next,d.next=s),l.pending=s,ur(r,o)}return d=l.interleaved,d===null?(s.next=s,su(l)):(s.next=d.next,d.next=s),l.interleaved=s,ur(r,o)}function ka(r,s,o){if(s=s.updateQueue,s!==null&&(s=s.shared,(o&4194240)!==0)){var l=s.lanes;l&=r.pendingLanes,o|=l,s.lanes=o,xc(r,o)}}function Bh(r,s){var o=r.updateQueue,l=r.alternate;if(l!==null&&(l=l.updateQueue,o===l)){var d=null,p=null;if(o=o.firstBaseUpdate,o!==null){do{var y={eventTime:o.eventTime,lane:o.lane,tag:o.tag,payload:o.payload,callback:o.callback,next:null};p===null?d=p=y:p=p.next=y,o=o.next}while(o!==null);p===null?d=p=s:p=p.next=s}else d=p=s;o={baseState:l.baseState,firstBaseUpdate:d,lastBaseUpdate:p,shared:l.shared,effects:l.effects},r.updateQueue=o;return}r=o.lastBaseUpdate,r===null?o.firstBaseUpdate=s:r.next=s,o.lastBaseUpdate=s}function Ia(r,s,o,l){var d=r.updateQueue;zr=!1;var p=d.firstBaseUpdate,y=d.lastBaseUpdate,S=d.shared.pending;if(S!==null){d.shared.pending=null;var N=S,$=N.next;N.next=null,y===null?p=$:y.next=$,y=N;var J=r.alternate;J!==null&&(J=J.updateQueue,S=J.lastBaseUpdate,S!==y&&(S===null?J.firstBaseUpdate=$:S.next=$,J.lastBaseUpdate=N))}if(p!==null){var q=d.baseState;y=0,J=$=N=null,S=p;do{var K=S.lane,oe=S.eventTime;if((l&K)===K){J!==null&&(J=J.next={eventTime:oe,lane:0,tag:S.tag,payload:S.payload,callback:S.callback,next:null});e:{var de=r,fe=S;switch(K=s,oe=o,fe.tag){case 1:if(de=fe.payload,typeof de=="function"){q=de.call(oe,q,K);break e}q=de;break e;case 3:de.flags=de.flags&-65537|128;case 0:if(de=fe.payload,K=typeof de=="function"?de.call(oe,q,K):de,K==null)break e;q=H({},q,K);break e;case 2:zr=!0}}S.callback!==null&&S.lane!==0&&(r.flags|=64,K=d.effects,K===null?d.effects=[S]:K.push(S))}else oe={eventTime:oe,lane:K,tag:S.tag,payload:S.payload,callback:S.callback,next:null},J===null?($=J=oe,N=q):J=J.next=oe,y|=K;if(S=S.next,S===null){if(S=d.shared.pending,S===null)break;K=S,S=K.next,K.next=null,d.lastBaseUpdate=K,d.shared.pending=null}}while(!0);if(J===null&&(N=q),d.baseState=N,d.firstBaseUpdate=$,d.lastBaseUpdate=J,s=d.shared.interleaved,s!==null){d=s;do y|=d.lane,d=d.next;while(d!==s)}else p===null&&(d.shared.lanes=0);bs|=y,r.lanes=y,r.memoizedState=q}}function Eh(r,s,o){if(r=s.effects,s.effects=null,r!==null)for(s=0;so?o:4,r(!0);var l=uu.transition;uu.transition={};try{r(!1),s()}finally{Ge=o,uu.transition=l}}function tp(){return on().memoizedState}function Sx(r,s,o){var l=Yr(r);if(o={lane:l,action:o,hasEagerState:!1,eagerState:null,next:null},np(r))rp(s,o);else if(o=Th(r,s,o,l),o!==null){var d=Ft();In(o,r,l,d),sp(o,s,l)}}function _x(r,s,o){var l=Yr(r),d={lane:l,action:o,hasEagerState:!1,eagerState:null,next:null};if(np(r))rp(s,d);else{var p=r.alternate;if(r.lanes===0&&(p===null||p.lanes===0)&&(p=s.lastRenderedReducer,p!==null))try{var y=s.lastRenderedState,S=p(y,o);if(d.hasEagerState=!0,d.eagerState=S,Sn(S,y)){var N=s.interleaved;N===null?(d.next=d,su(s)):(d.next=N.next,N.next=d),s.interleaved=d;return}}catch{}finally{}o=Th(r,s,d,l),o!==null&&(d=Ft(),In(o,r,l,d),sp(o,s,l))}}function np(r){var s=r.alternate;return r===ot||s!==null&&s===ot}function rp(r,s){uo=Ca=!0;var o=r.pending;o===null?s.next=s:(s.next=o.next,o.next=s),r.pending=s}function sp(r,s,o){if((o&4194240)!==0){var l=s.lanes;l&=r.pendingLanes,o|=l,s.lanes=o,xc(r,o)}}var Ta={readContext:sn,useCallback:kt,useContext:kt,useEffect:kt,useImperativeHandle:kt,useInsertionEffect:kt,useLayoutEffect:kt,useMemo:kt,useReducer:kt,useRef:kt,useState:kt,useDebugValue:kt,useDeferredValue:kt,useTransition:kt,useMutableSource:kt,useSyncExternalStore:kt,useId:kt,unstable_isNewReconciler:!1},Nx={readContext:sn,useCallback:function(r,s){return Vn().memoizedState=[r,s===void 0?null:s],r},useContext:sn,useEffect:Yh,useImperativeHandle:function(r,s,o){return o=o!=null?o.concat([r]):null,Fa(4194308,4,Jh.bind(null,s,r),o)},useLayoutEffect:function(r,s){return Fa(4194308,4,r,s)},useInsertionEffect:function(r,s){return Fa(4,2,r,s)},useMemo:function(r,s){var o=Vn();return s=s===void 0?null:s,r=r(),o.memoizedState=[r,s],r},useReducer:function(r,s,o){var l=Vn();return s=o!==void 0?o(s):s,l.memoizedState=l.baseState=s,r={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:r,lastRenderedState:s},l.queue=r,r=r.dispatch=Sx.bind(null,ot,r),[l.memoizedState,r]},useRef:function(r){var s=Vn();return r={current:r},s.memoizedState=r},useState:Hh,useDebugValue:gu,useDeferredValue:function(r){return Vn().memoizedState=r},useTransition:function(){var r=Hh(!1),s=r[0];return r=wx.bind(null,r[1]),Vn().memoizedState=r,[s,r]},useMutableSource:function(){},useSyncExternalStore:function(r,s,o){var l=ot,d=Vn();if(st){if(o===void 0)throw Error(t(407));o=o()}else{if(o=s(),xt===null)throw Error(t(349));(xs&30)!==0||$h(l,s,o)}d.memoizedState=o;var p={value:o,getSnapshot:s};return d.queue=p,Yh(zh.bind(null,l,p,r),[r]),l.flags|=2048,po(9,Ph.bind(null,l,p,o,s),void 0,null),o},useId:function(){var r=Vn(),s=xt.identifierPrefix;if(st){var o=cr,l=lr;o=(l&~(1<<32-wn(l)-1)).toString(32)+o,s=":"+s+"R"+o,o=fo++,0<\/script>",r=r.removeChild(r.firstChild)):typeof l.is=="string"?r=y.createElement(o,{is:l.is}):(r=y.createElement(o),o==="select"&&(y=r,l.multiple?y.multiple=!0:l.size&&(y.size=l.size))):r=y.createElementNS(r,o),r[Pn]=s,r[so]=l,Np(r,s,!1,!1),s.stateNode=r;e:{switch(y=cc(o,l),o){case"dialog":Xe("cancel",r),Xe("close",r),d=l;break;case"iframe":case"object":case"embed":Xe("load",r),d=l;break;case"video":case"audio":for(d=0;dii&&(s.flags|=128,l=!0,mo(p,!1),s.lanes=4194304)}else{if(!l)if(r=Ma(y),r!==null){if(s.flags|=128,l=!0,o=r.updateQueue,o!==null&&(s.updateQueue=o,s.flags|=4),mo(p,!0),p.tail===null&&p.tailMode==="hidden"&&!y.alternate&&!st)return It(s),null}else 2*ut()-p.renderingStartTime>ii&&o!==1073741824&&(s.flags|=128,l=!0,mo(p,!1),s.lanes=4194304);p.isBackwards?(y.sibling=s.child,s.child=y):(o=p.last,o!==null?o.sibling=y:s.child=y,p.last=y)}return p.tail!==null?(s=p.tail,p.rendering=s,p.tail=s.sibling,p.renderingStartTime=ut(),s.sibling=null,o=it.current,qe(it,l?o&1|2:o&1),s):(It(s),null);case 22:case 23:return Pu(),l=s.memoizedState!==null,r!==null&&r.memoizedState!==null!==l&&(s.flags|=8192),l&&(s.mode&1)!==0?(Jt&1073741824)!==0&&(It(s),s.subtreeFlags&6&&(s.flags|=8192)):It(s),null;case 24:return null;case 25:return null}throw Error(t(156,s.tag))}function Ox(r,s){switch(Jc(s),s.tag){case 1:return Et(s.type)&&ga(),r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 3:return ti(),et(Bt),et(jt),cu(),r=s.flags,(r&65536)!==0&&(r&128)===0?(s.flags=r&-65537|128,s):null;case 5:return au(s),null;case 13:if(et(it),r=s.memoizedState,r!==null&&r.dehydrated!==null){if(s.alternate===null)throw Error(t(340));qs()}return r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 19:return et(it),null;case 4:return ti(),null;case 10:return nu(s.type._context),null;case 22:case 23:return Pu(),null;case 24:return null;default:return null}}var Ra=!1,Mt=!1,Tx=typeof WeakSet=="function"?WeakSet:Set,le=null;function ri(r,s){var o=r.ref;if(o!==null)if(typeof o=="function")try{o(null)}catch(l){ct(r,s,l)}else o.current=null}function Du(r,s,o){try{o()}catch(l){ct(r,s,l)}}var Ip=!1;function Ax(r,s){if(Pc=ra,r=ih(),Tc(r)){if("selectionStart"in r)var o={start:r.selectionStart,end:r.selectionEnd};else e:{o=(o=r.ownerDocument)&&o.defaultView||window;var l=o.getSelection&&o.getSelection();if(l&&l.rangeCount!==0){o=l.anchorNode;var d=l.anchorOffset,p=l.focusNode;l=l.focusOffset;try{o.nodeType,p.nodeType}catch{o=null;break e}var y=0,S=-1,N=-1,$=0,J=0,q=r,K=null;t:for(;;){for(var oe;q!==o||d!==0&&q.nodeType!==3||(S=y+d),q!==p||l!==0&&q.nodeType!==3||(N=y+l),q.nodeType===3&&(y+=q.nodeValue.length),(oe=q.firstChild)!==null;)K=q,q=oe;for(;;){if(q===r)break t;if(K===o&&++$===d&&(S=y),K===p&&++J===l&&(N=y),(oe=q.nextSibling)!==null)break;q=K,K=q.parentNode}q=oe}o=S===-1||N===-1?null:{start:S,end:N}}else o=null}o=o||{start:0,end:0}}else o=null;for(zc={focusedElem:r,selectionRange:o},ra=!1,le=s;le!==null;)if(s=le,r=s.child,(s.subtreeFlags&1028)!==0&&r!==null)r.return=s,le=r;else for(;le!==null;){s=le;try{var de=s.alternate;if((s.flags&1024)!==0)switch(s.tag){case 0:case 11:case 15:break;case 1:if(de!==null){var fe=de.memoizedProps,dt=de.memoizedState,B=s.stateNode,D=B.getSnapshotBeforeUpdate(s.elementType===s.type?fe:Nn(s.type,fe),dt);B.__reactInternalSnapshotBeforeUpdate=D}break;case 3:var L=s.stateNode.containerInfo;L.nodeType===1?L.textContent="":L.nodeType===9&&L.documentElement&&L.removeChild(L.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(t(163))}}catch(X){ct(s,s.return,X)}if(r=s.sibling,r!==null){r.return=s.return,le=r;break}le=s.return}return de=Ip,Ip=!1,de}function yo(r,s,o){var l=s.updateQueue;if(l=l!==null?l.lastEffect:null,l!==null){var d=l=l.next;do{if((d.tag&r)===r){var p=d.destroy;d.destroy=void 0,p!==void 0&&Du(s,o,p)}d=d.next}while(d!==l)}}function La(r,s){if(s=s.updateQueue,s=s!==null?s.lastEffect:null,s!==null){var o=s=s.next;do{if((o.tag&r)===r){var l=o.create;o.destroy=l()}o=o.next}while(o!==s)}}function Cu(r){var s=r.ref;if(s!==null){var o=r.stateNode;switch(r.tag){case 5:r=o;break;default:r=o}typeof s=="function"?s(r):s.current=r}}function Mp(r){var s=r.alternate;s!==null&&(r.alternate=null,Mp(s)),r.child=null,r.deletions=null,r.sibling=null,r.tag===5&&(s=r.stateNode,s!==null&&(delete s[Pn],delete s[so],delete s[Gc],delete s[yx],delete s[gx])),r.stateNode=null,r.return=null,r.dependencies=null,r.memoizedProps=null,r.memoizedState=null,r.pendingProps=null,r.stateNode=null,r.updateQueue=null}function Dp(r){return r.tag===5||r.tag===3||r.tag===4}function Cp(r){e:for(;;){for(;r.sibling===null;){if(r.return===null||Dp(r.return))return null;r=r.return}for(r.sibling.return=r.return,r=r.sibling;r.tag!==5&&r.tag!==6&&r.tag!==18;){if(r.flags&2||r.child===null||r.tag===4)continue e;r.child.return=r,r=r.child}if(!(r.flags&2))return r.stateNode}}function Fu(r,s,o){var l=r.tag;if(l===5||l===6)r=r.stateNode,s?o.nodeType===8?o.parentNode.insertBefore(r,s):o.insertBefore(r,s):(o.nodeType===8?(s=o.parentNode,s.insertBefore(r,o)):(s=o,s.appendChild(r)),o=o._reactRootContainer,o!=null||s.onclick!==null||(s.onclick=ma));else if(l!==4&&(r=r.child,r!==null))for(Fu(r,s,o),r=r.sibling;r!==null;)Fu(r,s,o),r=r.sibling}function Ou(r,s,o){var l=r.tag;if(l===5||l===6)r=r.stateNode,s?o.insertBefore(r,s):o.appendChild(r);else if(l!==4&&(r=r.child,r!==null))for(Ou(r,s,o),r=r.sibling;r!==null;)Ou(r,s,o),r=r.sibling}var St=null,jn=!1;function Wr(r,s,o){for(o=o.child;o!==null;)Fp(r,s,o),o=o.sibling}function Fp(r,s,o){if($n&&typeof $n.onCommitFiberUnmount=="function")try{$n.onCommitFiberUnmount(qo,o)}catch{}switch(o.tag){case 5:Mt||ri(o,s);case 6:var l=St,d=jn;St=null,Wr(r,s,o),St=l,jn=d,St!==null&&(jn?(r=St,o=o.stateNode,r.nodeType===8?r.parentNode.removeChild(o):r.removeChild(o)):St.removeChild(o.stateNode));break;case 18:St!==null&&(jn?(r=St,o=o.stateNode,r.nodeType===8?Hc(r.parentNode,o):r.nodeType===1&&Hc(r,o),Yi(r)):Hc(St,o.stateNode));break;case 4:l=St,d=jn,St=o.stateNode.containerInfo,jn=!0,Wr(r,s,o),St=l,jn=d;break;case 0:case 11:case 14:case 15:if(!Mt&&(l=o.updateQueue,l!==null&&(l=l.lastEffect,l!==null))){d=l=l.next;do{var p=d,y=p.destroy;p=p.tag,y!==void 0&&((p&2)!==0||(p&4)!==0)&&Du(o,s,y),d=d.next}while(d!==l)}Wr(r,s,o);break;case 1:if(!Mt&&(ri(o,s),l=o.stateNode,typeof l.componentWillUnmount=="function"))try{l.props=o.memoizedProps,l.state=o.memoizedState,l.componentWillUnmount()}catch(S){ct(o,s,S)}Wr(r,s,o);break;case 21:Wr(r,s,o);break;case 22:o.mode&1?(Mt=(l=Mt)||o.memoizedState!==null,Wr(r,s,o),Mt=l):Wr(r,s,o);break;default:Wr(r,s,o)}}function Op(r){var s=r.updateQueue;if(s!==null){r.updateQueue=null;var o=r.stateNode;o===null&&(o=r.stateNode=new Tx),s.forEach(function(l){var d=Vx.bind(null,r,l);o.has(l)||(o.add(l),l.then(d,d))})}}function kn(r,s){var o=s.deletions;if(o!==null)for(var l=0;ld&&(d=y),l&=~p}if(l=d,l=ut()-l,l=(120>l?120:480>l?480:1080>l?1080:1920>l?1920:3e3>l?3e3:4320>l?4320:1960*Ex(l/1960))-l,10r?16:r,Gr===null)var l=!1;else{if(r=Gr,Gr=null,Va=0,(Ue&6)!==0)throw Error(t(331));var d=Ue;for(Ue|=4,le=r.current;le!==null;){var p=le,y=p.child;if((le.flags&16)!==0){var S=p.deletions;if(S!==null){for(var N=0;Nut()-Bu?Ss(r,0):Au|=o),Ut(r,s)}function Hp(r,s){s===0&&((r.mode&1)===0?s=1:(s=Xo,Xo<<=1,(Xo&130023424)===0&&(Xo=4194304)));var o=Ft();r=ur(r,s),r!==null&&(zi(r,s,o),Ut(r,o))}function zx(r){var s=r.memoizedState,o=0;s!==null&&(o=s.retryLane),Hp(r,o)}function Vx(r,s){var o=0;switch(r.tag){case 13:var l=r.stateNode,d=r.memoizedState;d!==null&&(o=d.retryLane);break;case 19:l=r.stateNode;break;default:throw Error(t(314))}l!==null&&l.delete(s),Hp(r,o)}var Gp;Gp=function(r,s,o){if(r!==null)if(r.memoizedProps!==s.pendingProps||Bt.current)Rt=!0;else{if((r.lanes&o)===0&&(s.flags&128)===0)return Rt=!1,Cx(r,s,o);Rt=(r.flags&131072)!==0}else Rt=!1,st&&(s.flags&1048576)!==0&&jh(s,wa,s.index);switch(s.lanes=0,s.tag){case 2:var l=s.type;Ea(r,s),r=s.pendingProps;var d=Qs(s,jt.current);ei(s,o),d=fu(null,s,l,r,d,o);var p=hu();return s.flags|=1,typeof d=="object"&&d!==null&&typeof d.render=="function"&&d.$$typeof===void 0?(s.tag=1,s.memoizedState=null,s.updateQueue=null,Et(l)?(p=!0,va(s)):p=!1,s.memoizedState=d.state!==null&&d.state!==void 0?d.state:null,iu(s),d.updater=Aa,s.stateNode=d,d._reactInternals=s,xu(s,l,r,o),s=_u(null,s,l,!0,p,o)):(s.tag=0,st&&p&&Kc(s),Ct(null,s,d,o),s=s.child),s;case 16:l=s.elementType;e:{switch(Ea(r,s),r=s.pendingProps,d=l._init,l=d(l._payload),s.type=l,d=s.tag=Hx(l),r=Nn(l,r),d){case 0:s=Su(null,s,l,r,o);break e;case 1:s=vp(null,s,l,r,o);break e;case 11:s=hp(null,s,l,r,o);break e;case 14:s=pp(null,s,l,Nn(l.type,r),o);break e}throw Error(t(306,l,""))}return s;case 0:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),Su(r,s,l,d,o);case 1:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),vp(r,s,l,d,o);case 3:e:{if(xp(s),r===null)throw Error(t(387));l=s.pendingProps,p=s.memoizedState,d=p.element,Ah(r,s),Ia(s,l,null,o);var y=s.memoizedState;if(l=y.element,p.isDehydrated)if(p={element:l,isDehydrated:!1,cache:y.cache,pendingSuspenseBoundaries:y.pendingSuspenseBoundaries,transitions:y.transitions},s.updateQueue.baseState=p,s.memoizedState=p,s.flags&256){d=ni(Error(t(423)),s),s=bp(r,s,l,o,d);break e}else if(l!==d){d=ni(Error(t(424)),s),s=bp(r,s,l,o,d);break e}else for(Kt=Lr(s.stateNode.containerInfo.firstChild),Qt=s,st=!0,_n=null,o=Oh(s,null,l,o),s.child=o;o;)o.flags=o.flags&-3|4096,o=o.sibling;else{if(qs(),l===d){s=fr(r,s,o);break e}Ct(r,s,l,o)}s=s.child}return s;case 5:return Rh(s),r===null&&Zc(s),l=s.type,d=s.pendingProps,p=r!==null?r.memoizedProps:null,y=d.children,Vc(l,d)?y=null:p!==null&&Vc(l,p)&&(s.flags|=32),gp(r,s),Ct(r,s,y,o),s.child;case 6:return r===null&&Zc(s),null;case 13:return wp(r,s,o);case 4:return ou(s,s.stateNode.containerInfo),l=s.pendingProps,r===null?s.child=Zs(s,null,l,o):Ct(r,s,l,o),s.child;case 11:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),hp(r,s,l,d,o);case 7:return Ct(r,s,s.pendingProps,o),s.child;case 8:return Ct(r,s,s.pendingProps.children,o),s.child;case 12:return Ct(r,s,s.pendingProps.children,o),s.child;case 10:e:{if(l=s.type._context,d=s.pendingProps,p=s.memoizedProps,y=d.value,qe(Na,l._currentValue),l._currentValue=y,p!==null)if(Sn(p.value,y)){if(p.children===d.children&&!Bt.current){s=fr(r,s,o);break e}}else for(p=s.child,p!==null&&(p.return=s);p!==null;){var S=p.dependencies;if(S!==null){y=p.child;for(var N=S.firstContext;N!==null;){if(N.context===l){if(p.tag===1){N=dr(-1,o&-o),N.tag=2;var $=p.updateQueue;if($!==null){$=$.shared;var J=$.pending;J===null?N.next=N:(N.next=J.next,J.next=N),$.pending=N}}p.lanes|=o,N=p.alternate,N!==null&&(N.lanes|=o),ru(p.return,o,s),S.lanes|=o;break}N=N.next}}else if(p.tag===10)y=p.type===s.type?null:p.child;else if(p.tag===18){if(y=p.return,y===null)throw Error(t(341));y.lanes|=o,S=y.alternate,S!==null&&(S.lanes|=o),ru(y,o,s),y=p.sibling}else y=p.child;if(y!==null)y.return=p;else for(y=p;y!==null;){if(y===s){y=null;break}if(p=y.sibling,p!==null){p.return=y.return,y=p;break}y=y.return}p=y}Ct(r,s,d.children,o),s=s.child}return s;case 9:return d=s.type,l=s.pendingProps.children,ei(s,o),d=sn(d),l=l(d),s.flags|=1,Ct(r,s,l,o),s.child;case 14:return l=s.type,d=Nn(l,s.pendingProps),d=Nn(l.type,d),pp(r,s,l,d,o);case 15:return mp(r,s,s.type,s.pendingProps,o);case 17:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),Ea(r,s),s.tag=1,Et(l)?(r=!0,va(s)):r=!1,ei(s,o),op(s,l,d),xu(s,l,d,o),_u(null,s,l,!0,r,o);case 19:return _p(r,s,o);case 22:return yp(r,s,o)}throw Error(t(156,s.tag))};function Yp(r,s){return kf(r,s)}function Wx(r,s,o,l){this.tag=r,this.key=o,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ln(r,s,o,l){return new Wx(r,s,o,l)}function Vu(r){return r=r.prototype,!(!r||!r.isReactComponent)}function Hx(r){if(typeof r=="function")return Vu(r)?1:0;if(r!=null){if(r=r.$$typeof,r===ee)return 11;if(r===ie)return 14}return 2}function Kr(r,s){var o=r.alternate;return o===null?(o=ln(r.tag,s,r.key,r.mode),o.elementType=r.elementType,o.type=r.type,o.stateNode=r.stateNode,o.alternate=r,r.alternate=o):(o.pendingProps=s,o.type=r.type,o.flags=0,o.subtreeFlags=0,o.deletions=null),o.flags=r.flags&14680064,o.childLanes=r.childLanes,o.lanes=r.lanes,o.child=r.child,o.memoizedProps=r.memoizedProps,o.memoizedState=r.memoizedState,o.updateQueue=r.updateQueue,s=r.dependencies,o.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},o.sibling=r.sibling,o.index=r.index,o.ref=r.ref,o}function Ya(r,s,o,l,d,p){var y=2;if(l=r,typeof r=="function")Vu(r)&&(y=1);else if(typeof r=="string")y=5;else e:switch(r){case U:return Ns(o.children,d,p,s);case G:y=8,d|=8;break;case z:return r=ln(12,o,s,d|2),r.elementType=z,r.lanes=p,r;case te:return r=ln(13,o,s,d),r.elementType=te,r.lanes=p,r;case ne:return r=ln(19,o,s,d),r.elementType=ne,r.lanes=p,r;case se:return Qa(o,d,p,s);default:if(typeof r=="object"&&r!==null)switch(r.$$typeof){case Y:y=10;break e;case P:y=9;break e;case ee:y=11;break e;case ie:y=14;break e;case re:y=16,l=null;break e}throw Error(t(130,r==null?r:typeof r,""))}return s=ln(y,o,s,d),s.elementType=r,s.type=l,s.lanes=p,s}function Ns(r,s,o,l){return r=ln(7,r,l,s),r.lanes=o,r}function Qa(r,s,o,l){return r=ln(22,r,l,s),r.elementType=se,r.lanes=o,r.stateNode={isHidden:!1},r}function Wu(r,s,o){return r=ln(6,r,null,s),r.lanes=o,r}function Hu(r,s,o){return s=ln(4,r.children!==null?r.children:[],r.key,s),s.lanes=o,s.stateNode={containerInfo:r.containerInfo,pendingChildren:null,implementation:r.implementation},s}function Gx(r,s,o,l,d){this.tag=s,this.containerInfo=r,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=vc(0),this.expirationTimes=vc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=vc(0),this.identifierPrefix=l,this.onRecoverableError=d,this.mutableSourceEagerHydrationData=null}function Gu(r,s,o,l,d,p,y,S,N){return r=new Gx(r,s,o,S,N),s===1?(s=1,p===!0&&(s|=8)):s=0,p=ln(3,null,null,s),r.current=p,p.stateNode=r,p.memoizedState={element:l,isDehydrated:o,cache:null,transitions:null,pendingSuspenseBoundaries:null},iu(p),r}function Yx(r,s,o){var l=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}return n(),Zu.exports=ob(),Zu.exports}var am;function lb(){if(am)return tl;am=1;var n=ab();return tl.createRoot=n.createRoot,tl.hydrateRoot=n.hydrateRoot,tl}var cb=lb();function Sr(n){return n.split(".").at(-1)||n}function Fn(n,e){const t=Sr(n);if(e.filter(a=>Sr(a)===t).length<2)return t;const i=n.indexOf(".");return i>0?`${n.slice(0,i)}_${t}`:t}const er="\0__null__";function ub(n){return String(n||"").replaceAll("_"," ").replaceAll("."," ").replace(/\b\w/g,e=>e.toUpperCase()).trim()}function py(n,e={}){if(n==null||n==="")return"—";const t=typeof n=="number"?n:Number(n);if(!Number.isFinite(t))return String(n);const i=String(e.format||"").toLowerCase();if(e.style==="percent"||i.includes("%")||i.includes("percent")||i.includes("pct")||e.type==="ratio")return(e.style==="percent"?t:Math.abs(t)<=1?t*100:t).toLocaleString(void 0,{maximumFractionDigits:e.maximumFractionDigits??1,style:e.style==="percent"?"percent":"decimal"})+(e.style==="percent"?"":"%");const c=e.style==="currency"||e.currency||i.includes("$")||i.includes("usd")||i.includes("currency")||i.includes("dollar");return t.toLocaleString(void 0,{currency:c?e.currency||"USD":void 0,maximumFractionDigits:e.maximumFractionDigits??2,notation:e.compact?"compact":"standard",style:c?"currency":"decimal"})}function db(n,e={}){return py(n,{...e,compact:!0,maximumFractionDigits:e.maximumFractionDigits??1})}function fb(n,e,t){const i=t>0&&n.length>t,a=i?Math.ceil(n.length/t):1,c=Math.max(0,Math.min(e,a-1)),f=i?c*t:0;return{paginate:i,pageCount:a,safePage:c,start:f,visibleRows:i?n.slice(f,f+t):n}}function rs(n){return n===er||n===""?"—":n}function Ee(n){return ub(n)}function pt(n,e={}){return py(n,e)}function Wt(n,e={}){return db(n,e)}function my(n){return!Number.isFinite(n)||n===0?"neutral":n>0?"positive":"negative"}function hb(n,e){return!Number.isFinite(n)||!Number.isFinite(e)||e<=0?{label:"—",tone:"neutral"}:{label:`${(n/e*100).toLocaleString(void 0,{maximumFractionDigits:1})}%`,tone:"neutral"}}function pb(n,e,t={}){if(e==null||!Number.isFinite(e)||!Number.isFinite(n))return{label:"—",tone:"neutral"};const i=n-e;return{label:`${i>0?"+":i<0?"−":""}${Wt(Math.abs(i),t)}`,tone:my(i)}}function mb(n,e){if(e==null||!Number.isFinite(e)||e===0||!Number.isFinite(n))return{label:"—",tone:"neutral"};const t=(n-e)/Math.abs(e);return{label:`${(t*100).toLocaleString(void 0,{maximumFractionDigits:1,signDisplay:"exceptZero"})}%`,tone:my(t)}}function yy(n,e){if(e==null||!Number.isFinite(e)||e===0||!Number.isFinite(n))return null;const t=(n-e)/Math.abs(e),i=(t*100).toLocaleString(void 0,{maximumFractionDigits:1,signDisplay:"exceptZero"}),a=t>0?"positive":t<0?"negative":"neutral";return{label:`${i}%`,tone:a}}function Tn(n){return`'${n.replaceAll("'","''")}'`}function yb(n){if(n.mode==="contains")return`contains ${Tn(n.pattern??"")}`;const{values:e}=n,t=n.mode==="exclude"?"is not":"is";return e.length===0?t:e.length===1?`${t} ${rs(e[0])}`:e.length<=2?`${t} ${e.map(rs).join(", ")}`:`${t} ${e.length} values`}const td=n=>n.public!==!1,gy=/(^|_)(date|time|day|month|week|year|quarter|created|updated|timestamp|_at|_on)($|_)/i;function vy(n,e){if(e){const t=n.find(i=>i.name===e);if(t)return t}return n.find(t=>t.type==="time")??n.find(t=>gy.test(t.name))}function gb(n,e){var f;const t=new Set;if(!n)return t;const i=new Set(e.map(h=>h.name)),a=n.match(/[A-Za-z_][A-Za-z0-9_]*\.[A-Za-z_][A-Za-z0-9_]*/g)??[];for(const h of a){const[m]=h.split(".");i.has(m)&&t.add(m)}if(t.size)return t;const c=(f=n.match(/^[A-Za-z_][A-Za-z0-9_]*$/))==null?void 0:f[0];if(!c)return t;for(const h of e)h.metrics.some(m=>m.name===c)&&t.add(h.name);return t}function xy(n,e){const t=new Set;for(const i of[n.base_metric,n.numerator,n.denominator,n.sql])for(const a of gb(i,e))t.add(a);return t.size===1?[...t][0]:void 0}function vb(n){const e=(n.models??[]).map(i=>{const a=(i.dimensions??[]).filter(td).map(h=>({ref:`${i.name}.${h.name}`,name:h.name,model:i.name,label:h.label||Ee(h.name),description:h.description,type:h.type||"categorical",granularity:h.granularity,supportedGranularities:h.supported_granularities,format:h.format})),c=(i.metrics??[]).filter(td).map(h=>({ref:`${i.name}.${h.name}`,name:h.name,model:i.name,label:h.label||Ee(h.name),description:h.description,agg:h.agg,type:h.type,format:h.format})),f=vy(a,i.default_time_dimension);return{name:i.name,label:Ee(i.name),description:i.description,table:i.table,dimensions:a,metrics:c,timeDimension:f,defaultGrain:i.default_grain||(f==null?void 0:f.granularity)||"day"}}),t=(n.metrics??[]).filter(td).map(i=>({ref:i.name,name:i.name,ownerModel:xy(i,e),baseMetric:i.base_metric,label:i.label||Ee(i.name),description:i.description,type:i.type,format:i.format}));return{models:e,graphMetrics:t,dialect:n.dialect}}function xb(n){const e=n??{},t=(e.models??[]).map(a=>{const c=(a.dimensions??[]).map(m=>({ref:`${a.name}.${m}`,name:m,model:a.name,label:Ee(m),type:gy.test(m)?"time":"categorical"})),f=(a.metrics??[]).map(m=>({ref:`${a.name}.${m}`,name:m,model:a.name,label:Ee(m)})),h=vy(c);return{name:a.name,label:Ee(a.name),table:a.table,dimensions:c,metrics:f,timeDimension:h,defaultGrain:(h==null?void 0:h.granularity)||"day"}}),i=(e.graph_metrics??[]).map(a=>({ref:a.name,name:a.name,ownerModel:xy(a,t),baseMetric:a.base_metric,label:Ee(a.name),type:a.type,description:a.description}));return{models:t,graphMetrics:i,joinablePairs:e.joinable_pairs??[]}}function bb(n,e){return{...n,joinablePairs:(e??{}).joinable_pairs??n.joinablePairs??[]}}function ji(n,e){const t=new Set;for(const i of n.joinablePairs??[])i.from===e&&t.add(i.to),i.to===e&&t.add(i.from);return n.graphMetrics.filter(i=>i.ownerModel?i.ownerModel===e||t.has(i.ownerModel):!0)}function Ce(n,e,t,i){function a(c){return c instanceof t?c:new t(function(f){f(c)})}return new(t||(t=Promise))(function(c,f){function h(v){try{g(i.next(v))}catch(x){f(x)}}function m(v){try{g(i.throw(v))}catch(x){f(x)}}function g(v){v.done?c(v.value):a(v.value).then(h,m)}g((i=i.apply(n,e||[])).next())})}function lm(n){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&n[e],i=0;if(t)return t.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Oe(n){return this instanceof Oe?(this.v=n,this):new Oe(n)}function qn(n,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(n,e||[]),a,c=[];return a=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),h("next"),h("throw"),h("return",f),a[Symbol.asyncIterator]=function(){return this},a;function f(w){return function(j){return Promise.resolve(j).then(w,x)}}function h(w,j){i[w]&&(a[w]=function(O){return new Promise(function(T,W){c.push([w,O,T,W])>1||m(w,O)})},j&&(a[w]=j(a[w])))}function m(w,j){try{g(i[w](j))}catch(O){b(c[0][3],O)}}function g(w){w.value instanceof Oe?Promise.resolve(w.value.v).then(v,x):b(c[0][2],w)}function v(w){m("next",w)}function x(w){m("throw",w)}function b(w,j){w(j),c.shift(),c.length&&m(c[0][0],c[0][1])}}function fl(n){var e,t;return e={},i("next"),i("throw",function(a){throw a}),i("return"),e[Symbol.iterator]=function(){return this},e;function i(a,c){e[a]=n[a]?function(f){return(t=!t)?{value:Oe(n[a](f)),done:!1}:c?c(f):f}:c}}function xi(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=n[Symbol.asyncIterator],t;return e?e.call(n):(n=typeof lm=="function"?lm(n):n[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(c){t[c]=n[c]&&function(f){return new Promise(function(h,m){f=n[c](f),a(h,m,f.done,f.value)})}}function a(c,f,h,m){Promise.resolve(m).then(function(g){c({value:g,done:h})},f)}}const wb=new TextDecoder("utf-8"),xd=n=>wb.decode(n),Sb=new TextEncoder,Bd=n=>Sb.encode(n),_b=n=>typeof n=="number",Nb=n=>typeof n=="boolean",Ot=n=>typeof n=="function",En=n=>n!=null&&Object(n)===n,Ao=n=>En(n)&&Ot(n.then),nc=n=>En(n)&&Ot(n[Symbol.iterator]),Ed=n=>En(n)&&Ot(n[Symbol.asyncIterator]),bd=n=>En(n)&&En(n.schema),by=n=>En(n)&&"done"in n&&"value"in n,wy=n=>En(n)&&Ot(n.stat)&&_b(n.fd),Sy=n=>En(n)&&Rd(n.body),_y=n=>"_getDOMStream"in n&&"_getNodeStream"in n,Rd=n=>En(n)&&Ot(n.cancel)&&Ot(n.getReader)&&!_y(n),Ny=n=>En(n)&&Ot(n.read)&&Ot(n.pipe)&&Nb(n.readable)&&!_y(n),jb=n=>En(n)&&Ot(n.clear)&&Ot(n.bytes)&&Ot(n.position)&&Ot(n.setPosition)&&Ot(n.capacity)&&Ot(n.getBufferIdentifier)&&Ot(n.createLong),Ld=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;function kb(n){const e=n[0]?[n[0]]:[];let t,i,a,c;for(let f,h,m=0,g=0,v=n.length;++mv+x.byteLength,0);let a,c,f,h=0,m=-1;const g=Math.min(e||Number.POSITIVE_INFINITY,i);for(const v=t.length;++mKe(Int32Array,n),um=n=>Ke(BigInt64Array,n),Le=n=>Ke(Uint8Array,n),wd=n=>(n.next(),n);function*Ib(n,e){const t=function*(a){yield a},i=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof Ld?t(e):nc(e)?e:t(e);return yield*wd((function*(a){let c=null;do c=a.next(yield Ke(n,c));while(!c.done)})(i[Symbol.iterator]())),new n}const Mb=n=>Ib(Uint8Array,n);function jy(n,e){return qn(this,arguments,function*(){if(Ao(e))return yield Oe(yield Oe(yield*fl(xi(jy(n,yield Oe(e))))));const i=function(f){return qn(this,arguments,function*(){yield yield Oe(yield Oe(f))})},a=function(f){return qn(this,arguments,function*(){yield Oe(yield*fl(xi(wd((function*(h){let m=null;do m=h.next(yield m==null?void 0:m.value);while(!m.done)})(f[Symbol.iterator]())))))})},c=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof Ld?i(e):nc(e)?a(e):Ed(e)?e:i(e);return yield Oe(yield*fl(xi(wd((function(f){return qn(this,arguments,function*(){let h=null;do h=yield Oe(f.next(yield yield Oe(Ke(n,h))));while(!h.done)})})(c[Symbol.asyncIterator]()))))),yield Oe(new n)})}const Db=n=>jy(Uint8Array,n);function Cb(n,e){let t=0;const i=n.length;if(i!==e.length)return!1;if(i>0)do if(n[t]!==e[t])return!1;while(++t(n.next(),n);function*Fb(n){let e,t=!1,i=[],a,c,f,h=0;function m(){return c==="peek"?tr(i,f)[0]:([a,i,h]=tr(i,f),a)}({cmd:c,size:f}=(yield null)||{cmd:"read",size:0});const g=Mb(n)[Symbol.iterator]();try{do if({done:e,value:a}=Number.isNaN(f-h)?g.next():g.next(f-h),!e&&a.byteLength>0&&(i.push(a),h+=a.byteLength),e||f<=h)do({cmd:c,size:f}=yield m());while(f0&&(a.push(c),m+=c.byteLength),t||h<=m)do({cmd:f,size:h}=yield yield Oe(g()));while(h0&&(a.push(Le(c)),m+=c.byteLength),t||h<=m)do({cmd:f,size:h}=yield yield Oe(g()));while(h{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(e){return Ce(this,void 0,void 0,function*(){const{reader:t,source:i}=this;t&&(yield t.cancel(e).catch(()=>{})),i&&i.locked&&this.releaseLock()})}read(e){return Ce(this,void 0,void 0,function*(){if(e===0)return{done:this.reader==null,value:new Uint8Array(0)};const t=yield this.reader.read();return!t.done&&(t.value=Le(t)),t})}}const nd=(n,e)=>{const t=a=>i([e,a]);let i;return[e,t,new Promise(a=>(i=a)&&n.once(e,t))]};function Bb(n){return qn(this,arguments,function*(){const t=[];let i="error",a=!1,c=null,f,h,m=0,g=[],v;function x(){return f==="peek"?tr(g,h)[0]:([v,g,m]=tr(g,h),v)}if({cmd:f,size:h}=(yield yield Oe(null))||{cmd:"read",size:0},n.isTTY)return yield yield Oe(new Uint8Array(0)),yield Oe(null);try{t[0]=nd(n,"end"),t[1]=nd(n,"error");do{if(t[2]=nd(n,"readable"),[i,c]=yield Oe(Promise.race(t.map(w=>w[2]))),i==="error")break;if((a=i==="end")||(Number.isFinite(h-m)?(v=Le(n.read(h-m)),v.byteLength0&&(g.push(v),m+=v.byteLength)),a||h<=m)do({cmd:f,size:h}=yield yield Oe(x()));while(h{for(const[W,R]of w)n.off(W,R);try{const W=n.destroy;W&&W.call(n,j),j=void 0}catch(W){j=W||j}finally{j!=null?T(j):O()}})}})}var ht;(function(n){n[n.V1=0]="V1",n[n.V2=1]="V2",n[n.V3=2]="V3",n[n.V4=3]="V4",n[n.V5=4]="V5"})(ht||(ht={}));var Ht;(function(n){n[n.Sparse=0]="Sparse",n[n.Dense=1]="Dense"})(Ht||(Ht={}));var Dt;(function(n){n[n.HALF=0]="HALF",n[n.SINGLE=1]="SINGLE",n[n.DOUBLE=2]="DOUBLE"})(Dt||(Dt={}));var gn;(function(n){n[n.DAY=0]="DAY",n[n.MILLISECOND=1]="MILLISECOND"})(gn||(gn={}));var _e;(function(n){n[n.SECOND=0]="SECOND",n[n.MILLISECOND=1]="MILLISECOND",n[n.MICROSECOND=2]="MICROSECOND",n[n.NANOSECOND=3]="NANOSECOND"})(_e||(_e={}));var nr;(function(n){n[n.YEAR_MONTH=0]="YEAR_MONTH",n[n.DAY_TIME=1]="DAY_TIME",n[n.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(nr||(nr={}));const rd=2,Qn=4,br=4,He=4,es=new Int32Array(2),dm=new Float32Array(es.buffer),fm=new Float64Array(es.buffer),rl=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var Sd;(function(n){n[n.UTF8_BYTES=1]="UTF8_BYTES",n[n.UTF16_STRING=2]="UTF16_STRING"})(Sd||(Sd={}));let ki=class ky{constructor(e){this.bytes_=e,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(e){return new ky(new Uint8Array(e))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(e){this.position_=e}capacity(){return this.bytes_.length}readInt8(e){return this.readUint8(e)<<24>>24}readUint8(e){return this.bytes_[e]}readInt16(e){return this.readUint16(e)<<16>>16}readUint16(e){return this.bytes_[e]|this.bytes_[e+1]<<8}readInt32(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24}readUint32(e){return this.readInt32(e)>>>0}readInt64(e){return BigInt.asIntN(64,BigInt(this.readUint32(e))+(BigInt(this.readUint32(e+4))<>8}writeUint16(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8}writeInt32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeUint32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeInt64(e,t){this.writeInt32(e,Number(BigInt.asIntN(32,t))),this.writeInt32(e+4,Number(BigInt.asIntN(32,t>>BigInt(32))))}writeUint64(e,t){this.writeUint32(e,Number(BigInt.asUintN(32,t))),this.writeUint32(e+4,Number(BigInt.asUintN(32,t>>BigInt(32))))}writeFloat32(e,t){dm[0]=t,this.writeInt32(e,es[0])}writeFloat64(e,t){fm[0]=t,this.writeInt32(e,es[rl?0:1]),this.writeInt32(e+4,es[rl?1:0])}getBufferIdentifier(){if(this.bytes_.lengththis.minalign&&(this.minalign=e);const i=~(this.bb.capacity()-this.space+t)+1&e-1;for(;this.space=0&&this.vtable[t]==0;t--);const i=t+1;for(;t>=0;t--)this.addInt16(this.vtable[t]!=0?e-this.vtable[t]:0);const a=2;this.addInt16(e-this.object_start);const c=(i+a)*rd;this.addInt16(c);let f=0;const h=this.space;e:for(t=0;t=0;f--)this.writeInt8(c.charCodeAt(f))}this.prep(this.minalign,Qn+a),this.addOffset(e),a&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,t){this.finish(e,t,!0)}requiredField(e,t){const i=this.bb.capacity()-e,a=i-this.bb.readInt32(i);if(!(t=0;i--)e.addInt32(t[i]);return e.endVector()}static startTypeIdsVector(e,t){e.startVector(4,t,4)}static endUnion(e){return e.endObject()}static createUnion(e,t,i){return Vt.startUnion(e),Vt.addMode(e,t),Vt.addTypeIds(e,i),Vt.endUnion(e)}}let xm=class Fo{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsUtf8(e,t){return(t||new Fo).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsUtf8(e,t){return e.setPosition(e.position()+He),(t||new Fo).__init(e.readInt32(e.position())+e.position(),e)}static startUtf8(e){e.startObject(0)}static endUtf8(e){return e.endObject()}static createUtf8(e){return Fo.startUtf8(e),Fo.endUtf8(e)}};var Ze;(function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.FloatingPoint=3]="FloatingPoint",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct_=13]="Struct_",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Duration=18]="Duration",n[n.LargeBinary=19]="LargeBinary",n[n.LargeUtf8=20]="LargeUtf8",n[n.LargeList=21]="LargeList",n[n.RunEndEncoded=22]="RunEndEncoded"})(Ze||(Ze={}));let dn=class vl{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsField(e,t){return(t||new vl).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsField(e,t){return e.setPosition(e.position()+He),(t||new vl).__init(e.readInt32(e.position())+e.position(),e)}name(e){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__string(this.bb_pos+t,e):null}nullable(){const e=this.bb.__offset(this.bb_pos,6);return e?!!this.bb.readInt8(this.bb_pos+e):!1}typeType(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb_pos+e):Ze.NONE}type(e){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__union(e,this.bb_pos+t):null}dictionary(e){const t=this.bb.__offset(this.bb_pos,12);return t?(e||new wr).__init(this.bb.__indirect(this.bb_pos+t),this.bb):null}children(e,t){const i=this.bb.__offset(this.bb_pos,14);return i?(t||new vl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}childrenLength(){const e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,16);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}static startField(e){e.startObject(7)}static addName(e,t){e.addFieldOffset(0,t,0)}static addNullable(e,t){e.addFieldInt8(1,+t,0)}static addTypeType(e,t){e.addFieldInt8(2,t,Ze.NONE)}static addType(e,t){e.addFieldOffset(3,t,0)}static addDictionary(e,t){e.addFieldOffset(4,t,0)}static addChildren(e,t){e.addFieldOffset(5,t,0)}static createChildrenVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startChildrenVector(e,t){e.startVector(4,t,4)}static addCustomMetadata(e,t){e.addFieldOffset(6,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endField(e){return e.endObject()}},Gn=class mr{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsSchema(e,t){return(t||new mr).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsSchema(e,t){return e.setPosition(e.position()+He),(t||new mr).__init(e.readInt32(e.position())+e.position(),e)}endianness(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Ii.Little}fields(e,t){const i=this.bb.__offset(this.bb_pos,6);return i?(t||new dn).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}fieldsLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,8);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}features(e){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt64(this.bb.__vector(this.bb_pos+t)+e*8):BigInt(0)}featuresLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}static startSchema(e){e.startObject(4)}static addEndianness(e,t){e.addFieldInt16(0,t,Ii.Little)}static addFields(e,t){e.addFieldOffset(1,t,0)}static createFieldsVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startFieldsVector(e,t){e.startVector(4,t,4)}static addCustomMetadata(e,t){e.addFieldOffset(2,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static addFeatures(e,t){e.addFieldOffset(3,t,0)}static createFeaturesVector(e,t){e.startVector(8,t.length,8);for(let i=t.length-1;i>=0;i--)e.addInt64(t[i]);return e.endVector()}static startFeaturesVector(e,t){e.startVector(8,t,8)}static endSchema(e){return e.endObject()}static finishSchemaBuffer(e,t){e.finish(t)}static finishSizePrefixedSchemaBuffer(e,t){e.finish(t,void 0,!0)}static createSchema(e,t,i,a,c){return mr.startSchema(e),mr.addEndianness(e,t),mr.addFields(e,i),mr.addCustomMetadata(e,a),mr.addFeatures(e,c),mr.endSchema(e)}};var Ve;(function(n){n[n.NONE=0]="NONE",n[n.Schema=1]="Schema",n[n.DictionaryBatch=2]="DictionaryBatch",n[n.RecordBatch=3]="RecordBatch",n[n.Tensor=4]="Tensor",n[n.SparseTensor=5]="SparseTensor"})(Ve||(Ve={}));var C;(function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Duration=18]="Duration",n[n.LargeBinary=19]="LargeBinary",n[n.LargeUtf8=20]="LargeUtf8",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth",n[n.DurationSecond=-27]="DurationSecond",n[n.DurationMillisecond=-28]="DurationMillisecond",n[n.DurationMicrosecond=-29]="DurationMicrosecond",n[n.DurationNanosecond=-30]="DurationNanosecond"})(C||(C={}));var gr;(function(n){n[n.OFFSET=0]="OFFSET",n[n.DATA=1]="DATA",n[n.VALIDITY=2]="VALIDITY",n[n.TYPE=3]="TYPE"})(gr||(gr={}));const Eb=void 0;function Bo(n){if(n===null)return"null";if(n===Eb)return"undefined";switch(typeof n){case"number":return`${n}`;case"bigint":return`${n}`;case"string":return`"${n}"`}return typeof n[Symbol.toPrimitive]=="function"?n[Symbol.toPrimitive]("string"):ArrayBuffer.isView(n)?n instanceof BigInt64Array||n instanceof BigUint64Array?`[${[...n].map(e=>Bo(e))}]`:`[${n}]`:ArrayBuffer.isView(n)?`[${n}]`:JSON.stringify(n,(e,t)=>typeof t=="bigint"?`${t}`:t)}function tt(n){if(typeof n=="bigint"&&(nNumber.MAX_SAFE_INTEGER))throw new TypeError(`${n} is not safe to convert to a number.`);return Number(n)}function Fy(n,e){return tt(n/e)+tt(n%e)/tt(e)}const Rb=Symbol.for("isArrowBigNum");function Ln(n,...e){return e.length===0?Object.setPrototypeOf(Ke(this.TypedArray,n),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(n,...e),this.constructor.prototype)}Ln.prototype[Rb]=!0;Ln.prototype.toJSON=function(){return`"${Ro(this)}"`};Ln.prototype.valueOf=function(n){return Oy(this,n)};Ln.prototype.toString=function(){return Ro(this)};Ln.prototype[Symbol.toPrimitive]=function(n="default"){switch(n){case"number":return Oy(this);case"string":return Ro(this);case"default":return $b(this)}return Ro(this)};function bi(...n){return Ln.apply(this,n)}function wi(...n){return Ln.apply(this,n)}function Eo(...n){return Ln.apply(this,n)}Object.setPrototypeOf(bi.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(wi.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Eo.prototype,Object.create(Uint32Array.prototype));Object.assign(bi.prototype,Ln.prototype,{constructor:bi,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array});Object.assign(wi.prototype,Ln.prototype,{constructor:wi,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array});Object.assign(Eo.prototype,Ln.prototype,{constructor:Eo,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});const Lb=BigInt(4294967296)*BigInt(4294967296),Ub=Lb-BigInt(1);function Oy(n,e){const{buffer:t,byteOffset:i,byteLength:a,signed:c}=n,f=new BigUint64Array(t,i,a/8),h=c&&f.at(-1)&BigInt(1)<=0)return sd(n);e=e.slice();let i=1;for(let c=0;c(n.children=null,n.ArrayType=Array,n.OffsetArrayType=Int32Array,n[Symbol.toStringTag]="DataType"))(pe.prototype);class ss extends pe{constructor(){super(C.Null)}toString(){return"Null"}}Ay=Symbol.toStringTag;ss[Ay]=(n=>n[Symbol.toStringTag]="Null")(ss.prototype);class Ds extends pe{constructor(e,t){super(C.Int),this.isSigned=e,this.bitWidth=t}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}By=Symbol.toStringTag;Ds[By]=(n=>(n.isSigned=null,n.bitWidth=null,n[Symbol.toStringTag]="Int"))(Ds.prototype);class Lo extends Ds{constructor(){super(!0,32)}get ArrayType(){return Int32Array}}Object.defineProperty(Lo.prototype,"ArrayType",{value:Int32Array});class jl extends pe{constructor(e){super(C.Float),this.precision=e}get ArrayType(){switch(this.precision){case Dt.HALF:return Uint16Array;case Dt.SINGLE:return Float32Array;case Dt.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}}Ey=Symbol.toStringTag;jl[Ey]=(n=>(n.precision=null,n[Symbol.toStringTag]="Float"))(jl.prototype);class kl extends pe{constructor(){super(C.Binary)}toString(){return"Binary"}}Ry=Symbol.toStringTag;kl[Ry]=(n=>(n.ArrayType=Uint8Array,n[Symbol.toStringTag]="Binary"))(kl.prototype);class Il extends pe{constructor(){super(C.LargeBinary)}toString(){return"LargeBinary"}}Ly=Symbol.toStringTag;Il[Ly]=(n=>(n.ArrayType=Uint8Array,n.OffsetArrayType=BigInt64Array,n[Symbol.toStringTag]="LargeBinary"))(Il.prototype);class Ml extends pe{constructor(){super(C.Utf8)}toString(){return"Utf8"}}Uy=Symbol.toStringTag;Ml[Uy]=(n=>(n.ArrayType=Uint8Array,n[Symbol.toStringTag]="Utf8"))(Ml.prototype);class Dl extends pe{constructor(){super(C.LargeUtf8)}toString(){return"LargeUtf8"}}$y=Symbol.toStringTag;Dl[$y]=(n=>(n.ArrayType=Uint8Array,n.OffsetArrayType=BigInt64Array,n[Symbol.toStringTag]="LargeUtf8"))(Dl.prototype);class Cl extends pe{constructor(){super(C.Bool)}toString(){return"Bool"}}Py=Symbol.toStringTag;Cl[Py]=(n=>(n.ArrayType=Uint8Array,n[Symbol.toStringTag]="Bool"))(Cl.prototype);class Fl extends pe{constructor(e,t,i=128){super(C.Decimal),this.scale=e,this.precision=t,this.bitWidth=i}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}}zy=Symbol.toStringTag;Fl[zy]=(n=>(n.scale=null,n.precision=null,n.ArrayType=Uint32Array,n[Symbol.toStringTag]="Decimal"))(Fl.prototype);class Ol extends pe{constructor(e){super(C.Date),this.unit=e}toString(){return`Date${(this.unit+1)*32}<${gn[this.unit]}>`}get ArrayType(){return this.unit===gn.DAY?Int32Array:BigInt64Array}}Vy=Symbol.toStringTag;Ol[Vy]=(n=>(n.unit=null,n[Symbol.toStringTag]="Date"))(Ol.prototype);class Tl extends pe{constructor(e,t){super(C.Time),this.unit=e,this.bitWidth=t}toString(){return`Time${this.bitWidth}<${_e[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}}Wy=Symbol.toStringTag;Tl[Wy]=(n=>(n.unit=null,n.bitWidth=null,n[Symbol.toStringTag]="Time"))(Tl.prototype);class Al extends pe{constructor(e,t){super(C.Timestamp),this.unit=e,this.timezone=t}toString(){return`Timestamp<${_e[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}}Hy=Symbol.toStringTag;Al[Hy]=(n=>(n.unit=null,n.timezone=null,n.ArrayType=BigInt64Array,n[Symbol.toStringTag]="Timestamp"))(Al.prototype);class Bl extends pe{constructor(e){super(C.Interval),this.unit=e}toString(){return`Interval<${nr[this.unit]}>`}}Gy=Symbol.toStringTag;Bl[Gy]=(n=>(n.unit=null,n.ArrayType=Int32Array,n[Symbol.toStringTag]="Interval"))(Bl.prototype);class El extends pe{constructor(e){super(C.Duration),this.unit=e}toString(){return`Duration<${_e[this.unit]}>`}}Yy=Symbol.toStringTag;El[Yy]=(n=>(n.unit=null,n.ArrayType=BigInt64Array,n[Symbol.toStringTag]="Duration"))(El.prototype);class Rl extends pe{constructor(e){super(C.List),this.children=[e]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}}Qy=Symbol.toStringTag;Rl[Qy]=(n=>(n.children=null,n[Symbol.toStringTag]="List"))(Rl.prototype);class Tt extends pe{constructor(e){super(C.Struct),this.children=e}toString(){return`Struct<{${this.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}Ky=Symbol.toStringTag;Tt[Ky]=(n=>(n.children=null,n[Symbol.toStringTag]="Struct"))(Tt.prototype);class Ll extends pe{constructor(e,t,i){super(C.Union),this.mode=e,this.children=i,this.typeIds=t=Int32Array.from(t),this.typeIdToChildIndex=t.reduce((a,c,f)=>(a[c]=f)&&a||a,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(e=>`${e.type}`).join(" | ")}>`}}Jy=Symbol.toStringTag;Ll[Jy]=(n=>(n.mode=null,n.typeIds=null,n.children=null,n.typeIdToChildIndex=null,n.ArrayType=Int8Array,n[Symbol.toStringTag]="Union"))(Ll.prototype);class Ul extends pe{constructor(e){super(C.FixedSizeBinary),this.byteWidth=e}toString(){return`FixedSizeBinary[${this.byteWidth}]`}}qy=Symbol.toStringTag;Ul[qy]=(n=>(n.byteWidth=null,n.ArrayType=Uint8Array,n[Symbol.toStringTag]="FixedSizeBinary"))(Ul.prototype);class $l extends pe{constructor(e,t){super(C.FixedSizeList),this.listSize=e,this.children=[t]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}Zy=Symbol.toStringTag;$l[Zy]=(n=>(n.children=null,n.listSize=null,n[Symbol.toStringTag]="FixedSizeList"))($l.prototype);class Pl extends pe{constructor(e,t=!1){var i,a,c;if(super(C.Map),this.children=[e],this.keysSorted=t,e&&(e.name="entries",!((i=e==null?void 0:e.type)===null||i===void 0)&&i.children)){const f=(a=e==null?void 0:e.type)===null||a===void 0?void 0:a.children[0];f&&(f.name="key");const h=(c=e==null?void 0:e.type)===null||c===void 0?void 0:c.children[1];h&&(h.name="value")}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}Xy=Symbol.toStringTag;Pl[Xy]=(n=>(n.children=null,n.keysSorted=null,n[Symbol.toStringTag]="Map_"))(Pl.prototype);const Pb=(n=>()=>++n)(-1);class Mi extends pe{constructor(e,t,i,a){super(C.Dictionary),this.indices=t,this.dictionary=e,this.isOrdered=a||!1,this.id=i==null?Pb():tt(i)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}}eg=Symbol.toStringTag;Mi[eg]=(n=>(n.id=null,n.indices=null,n.isOrdered=null,n.dictionary=null,n[Symbol.toStringTag]="Dictionary"))(Mi.prototype);function vr(n){const e=n;switch(n.typeId){case C.Decimal:return n.bitWidth/32;case C.Interval:return 1+e.unit;case C.FixedSizeList:return e.listSize;case C.FixedSizeBinary:return e.byteWidth;default:return 1}}class Be{visitMany(e,...t){return e.map((i,a)=>this.visit(i,...t.map(c=>c[a])))}visit(...e){return this.getVisitFn(e[0],!1).apply(this,e)}getVisitFn(e,t=!0){return zb(this,e,t)}getVisitFnByTypeId(e,t=!0){return mi(this,e,t)}visitNull(e,...t){return null}visitBool(e,...t){return null}visitInt(e,...t){return null}visitFloat(e,...t){return null}visitUtf8(e,...t){return null}visitLargeUtf8(e,...t){return null}visitBinary(e,...t){return null}visitLargeBinary(e,...t){return null}visitFixedSizeBinary(e,...t){return null}visitDate(e,...t){return null}visitTimestamp(e,...t){return null}visitTime(e,...t){return null}visitDecimal(e,...t){return null}visitList(e,...t){return null}visitStruct(e,...t){return null}visitUnion(e,...t){return null}visitDictionary(e,...t){return null}visitInterval(e,...t){return null}visitDuration(e,...t){return null}visitFixedSizeList(e,...t){return null}visitMap(e,...t){return null}}function zb(n,e,t=!0){return typeof e=="number"?mi(n,e,t):typeof e=="string"&&e in C?mi(n,C[e],t):e&&e instanceof pe?mi(n,bm(e),t):e!=null&&e.type&&e.type instanceof pe?mi(n,bm(e.type),t):mi(n,C.NONE,t)}function mi(n,e,t=!0){let i=null;switch(e){case C.Null:i=n.visitNull;break;case C.Bool:i=n.visitBool;break;case C.Int:i=n.visitInt;break;case C.Int8:i=n.visitInt8||n.visitInt;break;case C.Int16:i=n.visitInt16||n.visitInt;break;case C.Int32:i=n.visitInt32||n.visitInt;break;case C.Int64:i=n.visitInt64||n.visitInt;break;case C.Uint8:i=n.visitUint8||n.visitInt;break;case C.Uint16:i=n.visitUint16||n.visitInt;break;case C.Uint32:i=n.visitUint32||n.visitInt;break;case C.Uint64:i=n.visitUint64||n.visitInt;break;case C.Float:i=n.visitFloat;break;case C.Float16:i=n.visitFloat16||n.visitFloat;break;case C.Float32:i=n.visitFloat32||n.visitFloat;break;case C.Float64:i=n.visitFloat64||n.visitFloat;break;case C.Utf8:i=n.visitUtf8;break;case C.LargeUtf8:i=n.visitLargeUtf8;break;case C.Binary:i=n.visitBinary;break;case C.LargeBinary:i=n.visitLargeBinary;break;case C.FixedSizeBinary:i=n.visitFixedSizeBinary;break;case C.Date:i=n.visitDate;break;case C.DateDay:i=n.visitDateDay||n.visitDate;break;case C.DateMillisecond:i=n.visitDateMillisecond||n.visitDate;break;case C.Timestamp:i=n.visitTimestamp;break;case C.TimestampSecond:i=n.visitTimestampSecond||n.visitTimestamp;break;case C.TimestampMillisecond:i=n.visitTimestampMillisecond||n.visitTimestamp;break;case C.TimestampMicrosecond:i=n.visitTimestampMicrosecond||n.visitTimestamp;break;case C.TimestampNanosecond:i=n.visitTimestampNanosecond||n.visitTimestamp;break;case C.Time:i=n.visitTime;break;case C.TimeSecond:i=n.visitTimeSecond||n.visitTime;break;case C.TimeMillisecond:i=n.visitTimeMillisecond||n.visitTime;break;case C.TimeMicrosecond:i=n.visitTimeMicrosecond||n.visitTime;break;case C.TimeNanosecond:i=n.visitTimeNanosecond||n.visitTime;break;case C.Decimal:i=n.visitDecimal;break;case C.List:i=n.visitList;break;case C.Struct:i=n.visitStruct;break;case C.Union:i=n.visitUnion;break;case C.DenseUnion:i=n.visitDenseUnion||n.visitUnion;break;case C.SparseUnion:i=n.visitSparseUnion||n.visitUnion;break;case C.Dictionary:i=n.visitDictionary;break;case C.Interval:i=n.visitInterval;break;case C.IntervalDayTime:i=n.visitIntervalDayTime||n.visitInterval;break;case C.IntervalYearMonth:i=n.visitIntervalYearMonth||n.visitInterval;break;case C.Duration:i=n.visitDuration;break;case C.DurationSecond:i=n.visitDurationSecond||n.visitDuration;break;case C.DurationMillisecond:i=n.visitDurationMillisecond||n.visitDuration;break;case C.DurationMicrosecond:i=n.visitDurationMicrosecond||n.visitDuration;break;case C.DurationNanosecond:i=n.visitDurationNanosecond||n.visitDuration;break;case C.FixedSizeList:i=n.visitFixedSizeList;break;case C.Map:i=n.visitMap;break}if(typeof i=="function")return i;if(!t)return()=>null;throw new Error(`Unrecognized type '${C[e]}'`)}function bm(n){switch(n.typeId){case C.Null:return C.Null;case C.Int:{const{bitWidth:e,isSigned:t}=n;switch(e){case 8:return t?C.Int8:C.Uint8;case 16:return t?C.Int16:C.Uint16;case 32:return t?C.Int32:C.Uint32;case 64:return t?C.Int64:C.Uint64}return C.Int}case C.Float:switch(n.precision){case Dt.HALF:return C.Float16;case Dt.SINGLE:return C.Float32;case Dt.DOUBLE:return C.Float64}return C.Float;case C.Binary:return C.Binary;case C.LargeBinary:return C.LargeBinary;case C.Utf8:return C.Utf8;case C.LargeUtf8:return C.LargeUtf8;case C.Bool:return C.Bool;case C.Decimal:return C.Decimal;case C.Time:switch(n.unit){case _e.SECOND:return C.TimeSecond;case _e.MILLISECOND:return C.TimeMillisecond;case _e.MICROSECOND:return C.TimeMicrosecond;case _e.NANOSECOND:return C.TimeNanosecond}return C.Time;case C.Timestamp:switch(n.unit){case _e.SECOND:return C.TimestampSecond;case _e.MILLISECOND:return C.TimestampMillisecond;case _e.MICROSECOND:return C.TimestampMicrosecond;case _e.NANOSECOND:return C.TimestampNanosecond}return C.Timestamp;case C.Date:switch(n.unit){case gn.DAY:return C.DateDay;case gn.MILLISECOND:return C.DateMillisecond}return C.Date;case C.Interval:switch(n.unit){case nr.DAY_TIME:return C.IntervalDayTime;case nr.YEAR_MONTH:return C.IntervalYearMonth}return C.Interval;case C.Duration:switch(n.unit){case _e.SECOND:return C.DurationSecond;case _e.MILLISECOND:return C.DurationMillisecond;case _e.MICROSECOND:return C.DurationMicrosecond;case _e.NANOSECOND:return C.DurationNanosecond}return C.Duration;case C.Map:return C.Map;case C.List:return C.List;case C.Struct:return C.Struct;case C.Union:switch(n.mode){case Ht.Dense:return C.DenseUnion;case Ht.Sparse:return C.SparseUnion}return C.Union;case C.FixedSizeBinary:return C.FixedSizeBinary;case C.FixedSizeList:return C.FixedSizeList;case C.Dictionary:return C.Dictionary}throw new Error(`Unrecognized type '${C[n.typeId]}'`)}Be.prototype.visitInt8=null;Be.prototype.visitInt16=null;Be.prototype.visitInt32=null;Be.prototype.visitInt64=null;Be.prototype.visitUint8=null;Be.prototype.visitUint16=null;Be.prototype.visitUint32=null;Be.prototype.visitUint64=null;Be.prototype.visitFloat16=null;Be.prototype.visitFloat32=null;Be.prototype.visitFloat64=null;Be.prototype.visitDateDay=null;Be.prototype.visitDateMillisecond=null;Be.prototype.visitTimestampSecond=null;Be.prototype.visitTimestampMillisecond=null;Be.prototype.visitTimestampMicrosecond=null;Be.prototype.visitTimestampNanosecond=null;Be.prototype.visitTimeSecond=null;Be.prototype.visitTimeMillisecond=null;Be.prototype.visitTimeMicrosecond=null;Be.prototype.visitTimeNanosecond=null;Be.prototype.visitDenseUnion=null;Be.prototype.visitSparseUnion=null;Be.prototype.visitIntervalDayTime=null;Be.prototype.visitIntervalYearMonth=null;Be.prototype.visitDuration=null;Be.prototype.visitDurationSecond=null;Be.prototype.visitDurationMillisecond=null;Be.prototype.visitDurationMicrosecond=null;Be.prototype.visitDurationNanosecond=null;const tg=new Float64Array(1),ai=new Uint32Array(tg.buffer);function ng(n){const e=(n&31744)>>10,t=(n&1023)/1024,i=Math.pow(-1,(n&32768)>>15);switch(e){case 31:return i*(t?Number.NaN:1/0);case 0:return i*(t?6103515625e-14*t:0)}return i*Math.pow(2,e-15)*(1+t)}function Vb(n){if(n!==n)return 32256;tg[0]=n;const e=(ai[1]&2147483648)>>16&65535;let t=ai[1]&2146435072,i=0;return t>=1089470464?ai[0]>0?t=31744:(t=(t&2080374784)>>16,i=(ai[1]&1048575)>>10):t<=1056964608?(i=1048576+(ai[1]&1048575),i=1048576+(i<<(t>>20)-998)>>21,t=0):(t=t-1056964608>>10,i=(ai[1]&1048575)+512>>10),e|t|i&65535}class Ne extends Be{}function Ie(n){return(e,t,i)=>{if(e.setValid(t,i!=null))return n(e,t,i)}}const Wb=(n,e,t)=>{n[e]=Math.floor(t/864e5)},rg=(n,e,t,i)=>{if(t+1{const a=n+t;i?e[a>>3]|=1<>3]&=~(1<{n[e]=t},$d=({values:n},e,t)=>{n[e]=t},sg=({values:n},e,t)=>{n[e]=Vb(t)},Gb=(n,e,t)=>{switch(n.type.precision){case Dt.HALF:return sg(n,e,t);case Dt.SINGLE:case Dt.DOUBLE:return $d(n,e,t)}},ig=({values:n},e,t)=>{Wb(n,e,t.valueOf())},og=({values:n},e,t)=>{n[e]=BigInt(t)},Yb=({stride:n,values:e},t,i)=>{e.set(i.subarray(0,n),n*t)},ag=({values:n,valueOffsets:e},t,i)=>rg(n,e,t,i),lg=({values:n,valueOffsets:e},t,i)=>rg(n,e,t,Bd(i)),Qb=(n,e,t)=>{n.type.unit===gn.DAY?ig(n,e,t):og(n,e,t)},cg=({values:n},e,t)=>{n[e]=BigInt(t/1e3)},ug=({values:n},e,t)=>{n[e]=BigInt(t)},dg=({values:n},e,t)=>{n[e]=BigInt(t*1e3)},fg=({values:n},e,t)=>{n[e]=BigInt(t*1e6)},Kb=(n,e,t)=>{switch(n.type.unit){case _e.SECOND:return cg(n,e,t);case _e.MILLISECOND:return ug(n,e,t);case _e.MICROSECOND:return dg(n,e,t);case _e.NANOSECOND:return fg(n,e,t)}},hg=({values:n},e,t)=>{n[e]=t},pg=({values:n},e,t)=>{n[e]=t},mg=({values:n},e,t)=>{n[e]=t},yg=({values:n},e,t)=>{n[e]=t},Jb=(n,e,t)=>{switch(n.type.unit){case _e.SECOND:return hg(n,e,t);case _e.MILLISECOND:return pg(n,e,t);case _e.MICROSECOND:return mg(n,e,t);case _e.NANOSECOND:return yg(n,e,t)}},qb=({values:n,stride:e},t,i)=>{n.set(i.subarray(0,e),e*t)},Zb=(n,e,t)=>{const i=n.children[0],a=n.valueOffsets,c=vn.getVisitFn(i);if(Array.isArray(t))for(let f=-1,h=a[e],m=a[e+1];h{const i=n.children[0],{valueOffsets:a}=n,c=vn.getVisitFn(i);let{[e]:f,[e+1]:h}=a;const m=t instanceof Map?t.entries():Object.entries(t);for(const g of m)if(c(i,f,g),++f>=h)break},ew=(n,e)=>(t,i,a,c)=>i&&t(i,n,e[c]),tw=(n,e)=>(t,i,a,c)=>i&&t(i,n,e.get(c)),nw=(n,e)=>(t,i,a,c)=>i&&t(i,n,e.get(a.name)),rw=(n,e)=>(t,i,a,c)=>i&&t(i,n,e[a.name]),sw=(n,e,t)=>{const i=n.type.children.map(c=>vn.getVisitFn(c.type)),a=t instanceof Map?nw(e,t):t instanceof Je?tw(e,t):Array.isArray(t)?ew(e,t):rw(e,t);n.type.children.forEach((c,f)=>a(i[f],n.children[f],c,f))},iw=(n,e,t)=>{n.type.mode===Ht.Dense?gg(n,e,t):vg(n,e,t)},gg=(n,e,t)=>{const i=n.type.typeIdToChildIndex[n.typeIds[e]],a=n.children[i];vn.visit(a,n.valueOffsets[e],t)},vg=(n,e,t)=>{const i=n.type.typeIdToChildIndex[n.typeIds[e]],a=n.children[i];vn.visit(a,e,t)},ow=(n,e,t)=>{var i;(i=n.dictionary)===null||i===void 0||i.set(n.values[e],t)},aw=(n,e,t)=>{n.type.unit===nr.DAY_TIME?xg(n,e,t):bg(n,e,t)},xg=({values:n},e,t)=>{n.set(t.subarray(0,2),2*e)},bg=({values:n},e,t)=>{n[e]=t[0]*12+t[1]%12},wg=({values:n},e,t)=>{n[e]=t},Sg=({values:n},e,t)=>{n[e]=t},_g=({values:n},e,t)=>{n[e]=t},Ng=({values:n},e,t)=>{n[e]=t},lw=(n,e,t)=>{switch(n.type.unit){case _e.SECOND:return wg(n,e,t);case _e.MILLISECOND:return Sg(n,e,t);case _e.MICROSECOND:return _g(n,e,t);case _e.NANOSECOND:return Ng(n,e,t)}},cw=(n,e,t)=>{const{stride:i}=n,a=n.children[0],c=vn.getVisitFn(a);if(Array.isArray(t))for(let f=-1,h=e*i;++f`${Bo(e)}: ${Bo(t)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new uw(this[On],this[Si])}}class uw{constructor(e,t){this.childIndex=0,this.children=e.children,this.rowIndex=t,this.childFields=e.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){const e=this.childIndex;return et.name)}has(e,t){return e[On].type.children.findIndex(i=>i.name===t)!==-1}getOwnPropertyDescriptor(e,t){if(e[On].type.children.findIndex(i=>i.name===t)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,t){if(Reflect.has(e,t))return e[t];const i=e[On].type.children.findIndex(a=>a.name===t);if(i!==-1){const a=Gt.visit(e[On].children[i],e[Si]);return Reflect.set(e,t,a),a}}set(e,t,i){const a=e[On].type.children.findIndex(c=>c.name===t);return a!==-1?(vn.visit(e[On].children[a],e[Si],i),Reflect.set(e,t,i)):Reflect.has(e,t)||typeof t=="symbol"?Reflect.set(e,t,i):!1}}class ge extends Be{}function je(n){return(e,t)=>e.getValid(t)?n(e,t):null}const fw=(n,e)=>864e5*n[e],hw=(n,e)=>null,jg=(n,e,t)=>{if(t+1>=e.length)return null;const i=tt(e[t]),a=tt(e[t+1]);return n.subarray(i,a)},pw=({offset:n,values:e},t)=>{const i=n+t;return(e[i>>3]&1<fw(n,e),Ig=({values:n},e)=>tt(n[e]),as=({stride:n,values:e},t)=>e[n*t],mw=({stride:n,values:e},t)=>ng(e[n*t]),Mg=({values:n},e)=>n[e],yw=({stride:n,values:e},t)=>e.subarray(n*t,n*(t+1)),Dg=({values:n,valueOffsets:e},t)=>jg(n,e,t),Cg=({values:n,valueOffsets:e},t)=>{const i=jg(n,e,t);return i!==null?xd(i):null},gw=({values:n},e)=>n[e],vw=({type:n,values:e},t)=>n.precision!==Dt.HALF?e[t]:ng(e[t]),xw=(n,e)=>n.type.unit===gn.DAY?kg(n,e):Ig(n,e),Fg=({values:n},e)=>1e3*tt(n[e]),Og=({values:n},e)=>tt(n[e]),Tg=({values:n},e)=>Fy(n[e],BigInt(1e3)),Ag=({values:n},e)=>Fy(n[e],BigInt(1e6)),bw=(n,e)=>{switch(n.type.unit){case _e.SECOND:return Fg(n,e);case _e.MILLISECOND:return Og(n,e);case _e.MICROSECOND:return Tg(n,e);case _e.NANOSECOND:return Ag(n,e)}},Bg=({values:n},e)=>n[e],Eg=({values:n},e)=>n[e],Rg=({values:n},e)=>n[e],Lg=({values:n},e)=>n[e],ww=(n,e)=>{switch(n.type.unit){case _e.SECOND:return Bg(n,e);case _e.MILLISECOND:return Eg(n,e);case _e.MICROSECOND:return Rg(n,e);case _e.NANOSECOND:return Lg(n,e)}},Sw=({values:n,stride:e},t)=>Ud.decimal(n.subarray(e*t,e*(t+1))),_w=(n,e)=>{const{valueOffsets:t,stride:i,children:a}=n,{[e*i]:c,[e*i+1]:f}=t,m=a[0].slice(c,f-c);return new Je([m])},Nw=(n,e)=>{const{valueOffsets:t,children:i}=n,{[e]:a,[e+1]:c}=t,f=i[0];return new zd(f.slice(a,c-a))},jw=(n,e)=>new Pd(n,e),kw=(n,e)=>n.type.mode===Ht.Dense?Ug(n,e):$g(n,e),Ug=(n,e)=>{const t=n.type.typeIdToChildIndex[n.typeIds[e]],i=n.children[t];return Gt.visit(i,n.valueOffsets[e])},$g=(n,e)=>{const t=n.type.typeIdToChildIndex[n.typeIds[e]],i=n.children[t];return Gt.visit(i,e)},Iw=(n,e)=>{var t;return(t=n.dictionary)===null||t===void 0?void 0:t.get(n.values[e])},Mw=(n,e)=>n.type.unit===nr.DAY_TIME?Pg(n,e):zg(n,e),Pg=({values:n},e)=>n.subarray(2*e,2*(e+1)),zg=({values:n},e)=>{const t=n[e],i=new Int32Array(2);return i[0]=Math.trunc(t/12),i[1]=Math.trunc(t%12),i},Vg=({values:n},e)=>n[e],Wg=({values:n},e)=>n[e],Hg=({values:n},e)=>n[e],Gg=({values:n},e)=>n[e],Dw=(n,e)=>{switch(n.type.unit){case _e.SECOND:return Vg(n,e);case _e.MILLISECOND:return Wg(n,e);case _e.MICROSECOND:return Hg(n,e);case _e.NANOSECOND:return Gg(n,e)}},Cw=(n,e)=>{const{stride:t,children:i}=n,c=i[0].slice(e*t,t);return new Je([c])};ge.prototype.visitNull=je(hw);ge.prototype.visitBool=je(pw);ge.prototype.visitInt=je(gw);ge.prototype.visitInt8=je(as);ge.prototype.visitInt16=je(as);ge.prototype.visitInt32=je(as);ge.prototype.visitInt64=je(Mg);ge.prototype.visitUint8=je(as);ge.prototype.visitUint16=je(as);ge.prototype.visitUint32=je(as);ge.prototype.visitUint64=je(Mg);ge.prototype.visitFloat=je(vw);ge.prototype.visitFloat16=je(mw);ge.prototype.visitFloat32=je(as);ge.prototype.visitFloat64=je(as);ge.prototype.visitUtf8=je(Cg);ge.prototype.visitLargeUtf8=je(Cg);ge.prototype.visitBinary=je(Dg);ge.prototype.visitLargeBinary=je(Dg);ge.prototype.visitFixedSizeBinary=je(yw);ge.prototype.visitDate=je(xw);ge.prototype.visitDateDay=je(kg);ge.prototype.visitDateMillisecond=je(Ig);ge.prototype.visitTimestamp=je(bw);ge.prototype.visitTimestampSecond=je(Fg);ge.prototype.visitTimestampMillisecond=je(Og);ge.prototype.visitTimestampMicrosecond=je(Tg);ge.prototype.visitTimestampNanosecond=je(Ag);ge.prototype.visitTime=je(ww);ge.prototype.visitTimeSecond=je(Bg);ge.prototype.visitTimeMillisecond=je(Eg);ge.prototype.visitTimeMicrosecond=je(Rg);ge.prototype.visitTimeNanosecond=je(Lg);ge.prototype.visitDecimal=je(Sw);ge.prototype.visitList=je(_w);ge.prototype.visitStruct=je(jw);ge.prototype.visitUnion=je(kw);ge.prototype.visitDenseUnion=je(Ug);ge.prototype.visitSparseUnion=je($g);ge.prototype.visitDictionary=je(Iw);ge.prototype.visitInterval=je(Mw);ge.prototype.visitIntervalDayTime=je(Pg);ge.prototype.visitIntervalYearMonth=je(zg);ge.prototype.visitDuration=je(Dw);ge.prototype.visitDurationSecond=je(Vg);ge.prototype.visitDurationMillisecond=je(Wg);ge.prototype.visitDurationMicrosecond=je(Hg);ge.prototype.visitDurationNanosecond=je(Gg);ge.prototype.visitFixedSizeList=je(Cw);ge.prototype.visitMap=je(Nw);const Gt=new ge,yi=Symbol.for("keys"),_i=Symbol.for("vals"),gi=Symbol.for("kKeysAsStrings"),jd=Symbol.for("_kKeysAsStrings");class zd{constructor(e){return this[yi]=new Je([e.children[0]]).memoize(),this[_i]=e.children[1],new Proxy(this,new Ow)}get[gi](){return this[jd]||(this[jd]=Array.from(this[yi].toArray(),String))}[Symbol.iterator](){return new Fw(this[yi],this[_i])}get size(){return this[yi].length}toArray(){return Object.values(this.toJSON())}toJSON(){const e=this[yi],t=this[_i],i={};for(let a=-1,c=e.length;++a`${Bo(e)}: ${Bo(t)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}}class Fw{constructor(e,t){this.keys=e,this.vals=t,this.keyIndex=0,this.numKeys=e.length}[Symbol.iterator](){return this}next(){const e=this.keyIndex;return e===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(e),Gt.visit(this.vals,e)]})}}class Ow{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(e){return e[gi]}has(e,t){return e[gi].includes(t)}getOwnPropertyDescriptor(e,t){if(e[gi].indexOf(t)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,t){if(Reflect.has(e,t))return e[t];const i=e[gi].indexOf(t);if(i!==-1){const a=Gt.visit(Reflect.get(e,_i),i);return Reflect.set(e,t,a),a}}set(e,t,i){const a=e[gi].indexOf(t);return a!==-1?(vn.visit(Reflect.get(e,_i),a,i),Reflect.set(e,t,i)):Reflect.has(e,t)?Reflect.set(e,t,i):!1}}Object.defineProperties(zd.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[yi]:{writable:!0,enumerable:!1,configurable:!1,value:null},[_i]:{writable:!0,enumerable:!1,configurable:!1,value:null},[jd]:{writable:!0,enumerable:!1,configurable:!1,value:null}});let wm;function Yg(n,e,t,i){const{length:a=0}=n;let c=typeof e!="number"?0:e,f=typeof t!="number"?a:t;return c<0&&(c=(c%a+a)%a),f<0&&(f=(f%a+a)%a),fa&&(f=a),i?i(n,c,f):[c,f]}const Vd=(n,e)=>n<0?e+n:n,Sm=n=>n!==n;function Ti(n){if(typeof n!=="object"||n===null)return Sm(n)?Sm:t=>t===n;if(n instanceof Date){const t=n.valueOf();return i=>i instanceof Date?i.valueOf()===t:!1}return ArrayBuffer.isView(n)?t=>t?Cb(n,t):!1:n instanceof Map?Aw(n):Array.isArray(n)?Tw(n):n instanceof Je?Bw(n):Ew(n,!0)}function Tw(n){const e=[];for(let t=-1,i=n.length;++t!1;const i=[];for(let a=-1,c=t.length;++a{if(!t||typeof t!="object")return!1;switch(t.constructor){case Array:return Rw(n,t);case Map:return _m(n,t,t.keys());case zd:case Pd:case Object:case void 0:return _m(n,t,e||Object.keys(t))}return t instanceof Je?Lw(n,t):!1}}function Rw(n,e){const t=n.length;if(e.length!==t)return!1;for(let i=-1;++i>i}function Nm(n,e,t){const i=t.byteLength+7&-8;if(n>0||t.byteLength>3):kd(new Wd(t,n,e,null,Qg)).subarray(0,i)),a}return t}function kd(n){const e=[];let t=0,i=0,a=0;for(const f of n)f&&(a|=1<0)&&(e[t++]=a);const c=new Uint8Array(e.length+7&-8);return c.set(e),c}class Wd{constructor(e,t,i,a,c){this.bytes=e,this.length=i,this.context=a,this.get=c,this.bit=t%8,this.byteIndex=t>>3,this.byte=e[this.byteIndex++],this.index=0}next(){return this.index>3<<3,a=e+(e%8===0?0:8-e%8);return Id(n,e,a)+Id(n,i,t)+$w(n,a>>3,i-a>>3)}function $w(n,e,t){let i=0,a=Math.trunc(e);const c=new DataView(n.buffer,n.byteOffset,n.byteLength),f=t===void 0?n.byteLength:a+t;for(;f-a>=4;)i+=id(c.getUint32(a)),a+=4;for(;f-a>=2;)i+=id(c.getUint16(a)),a+=2;for(;f-a>=1;)i+=id(c.getUint8(a)),a+=1;return i}function id(n){let e=Math.trunc(n);return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24}const Pw=-1;class Ye{get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){const{type:e}=this;return pe.isSparseUnion(e)?this.children.some(t=>t.nullable):pe.isDenseUnion(e)?this.children.some(t=>t.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let e=0;const{valueOffsets:t,values:i,nullBitmap:a,typeIds:c}=this;return t&&(e+=t.byteLength),i&&(e+=i.byteLength),a&&(e+=a.byteLength),c&&(e+=c.byteLength),this.children.reduce((f,h)=>f+h.byteLength,e)}get nullCount(){if(pe.isUnion(this.type))return this.children.reduce((i,a)=>i+a.nullCount,0);let e=this._nullCount,t;return e<=Pw&&(t=this.nullBitmap)&&(this._nullCount=e=t.length===0?0:this.length-Id(t,this.offset,this.offset+this.length)),e}constructor(e,t,i,a,c,f=[],h){this.type=e,this.children=f,this.dictionary=h,this.offset=Math.floor(Math.max(t||0,0)),this.length=Math.floor(Math.max(i||0,0)),this._nullCount=Math.floor(Math.max(a||0,-1));let m;c instanceof Ye?(this.stride=c.stride,this.values=c.values,this.typeIds=c.typeIds,this.nullBitmap=c.nullBitmap,this.valueOffsets=c.valueOffsets):(this.stride=vr(e),c&&((m=c[0])&&(this.valueOffsets=m),(m=c[1])&&(this.values=m),(m=c[2])&&(this.nullBitmap=m),(m=c[3])&&(this.typeIds=m)))}getValid(e){const{type:t}=this;if(pe.isUnion(t)){const i=t,a=this.children[i.typeIdToChildIndex[this.typeIds[e]]],c=i.mode===Ht.Dense?this.valueOffsets[e]:e;return a.getValid(c)}if(this.nullable&&this.nullCount>0){const i=this.offset+e;return(this.nullBitmap[i>>3]&1<>3;(!c||c.byteLength<=v)&&(c=new Uint8Array((f+h+63&-64)>>3).fill(255),this.nullCount>0?(c.set(Nm(f,h,this.nullBitmap),0),Object.assign(this,{nullBitmap:c})):Object.assign(this,{nullBitmap:c,_nullCount:0}));const x=c[v];i=(x&g)!==0,c[v]=t?x|g:x&~g}return i!==!!t&&(this._nullCount=this.nullCount+(t?-1:1)),t}clone(e=this.type,t=this.offset,i=this.length,a=this._nullCount,c=this,f=this.children){return new Ye(e,t,i,a,c,f,this.dictionary)}slice(e,t){const{stride:i,typeId:a,children:c}=this,f=+(this._nullCount===0)-1,h=a===16?i:1,m=this._sliceBuffers(e,t,i,a);return this.clone(this.type,this.offset+e,t,f,m,c.length===0||this.valueOffsets?c:this._sliceChildren(c,h*e,h*t))}_changeLengthAndBackfillNullBitmap(e){if(this.typeId===C.Null)return this.clone(this.type,0,e,0);const{length:t,nullCount:i}=this,a=new Uint8Array((e+63&-64)>>3).fill(255,0,t>>3);a[t>>3]=(1<0&&a.set(Nm(this.offset,t,this.nullBitmap),0);const c=this.buffers;return c[gr.VALIDITY]=a,this.clone(this.type,0,e,i+(e-t),c)}_sliceBuffers(e,t,i,a){let c;const{buffers:f}=this;return(c=f[gr.TYPE])&&(f[gr.TYPE]=c.subarray(e,e+t)),(c=f[gr.OFFSET])&&(f[gr.OFFSET]=c.subarray(e,e+t+1))||(c=f[gr.DATA])&&(f[gr.DATA]=a===6?c:c.subarray(i*e,i*(e+t))),f}_sliceChildren(e,t,i){return e.map(a=>a.slice(t,i))}}Ye.prototype.children=Object.freeze([]);class To extends Be{visit(e){return this.getVisitFn(e.type).call(this,e)}visitNull(e){const{["type"]:t,["offset"]:i=0,["length"]:a=0}=e;return new Ye(t,i,a,a)}visitBool(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length>>3,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitInt(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitFloat(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitUtf8(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.data),c=Le(e.nullBitmap),f=So(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,c])}visitLargeUtf8(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.data),c=Le(e.nullBitmap),f=um(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,c])}visitBinary(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.data),c=Le(e.nullBitmap),f=So(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,c])}visitLargeBinary(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.data),c=Le(e.nullBitmap),f=um(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,c])}visitFixedSizeBinary(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitDate(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitTimestamp(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitTime(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitDecimal(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitList(e){const{["type"]:t,["offset"]:i=0,["child"]:a}=e,c=Le(e.nullBitmap),f=So(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,void 0,c],[a])}visitStruct(e){const{["type"]:t,["offset"]:i=0,["children"]:a=[]}=e,c=Le(e.nullBitmap),{length:f=a.reduce((m,{length:g})=>Math.max(m,g),0),nullCount:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,void 0,c],a)}visitUnion(e){const{["type"]:t,["offset"]:i=0,["children"]:a=[]}=e,c=Ke(t.ArrayType,e.typeIds),{["length"]:f=c.length,["nullCount"]:h=-1}=e;if(pe.isSparseUnion(t))return new Ye(t,i,f,h,[void 0,void 0,void 0,c],a);const m=So(e.valueOffsets);return new Ye(t,i,f,h,[m,void 0,void 0,c],a)}visitDictionary(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.nullBitmap),c=Ke(t.indices.ArrayType,e.data),{["dictionary"]:f=new Je([new To().visit({type:t.dictionary})])}=e,{["length"]:h=c.length,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[void 0,c,a],[],f)}visitInterval(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitDuration(e){const{["type"]:t,["offset"]:i=0}=e,a=Le(e.nullBitmap),c=Ke(t.ArrayType,e.data),{["length"]:f=c.length,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,c,a])}visitFixedSizeList(e){const{["type"]:t,["offset"]:i=0,["child"]:a=new To().visit({type:t.valueType})}=e,c=Le(e.nullBitmap),{["length"]:f=a.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,void 0,c],[a])}visitMap(e){const{["type"]:t,["offset"]:i=0,["child"]:a=new To().visit({type:t.childType})}=e,c=Le(e.nullBitmap),f=So(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,void 0,c],[a])}}const zw=new To;function Ae(n){return zw.visit(n)}class jm{constructor(e=0,t){this.numChunks=e,this.getChunkIterator=t,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndexe.nullable)}function Kg(n){return n.reduce((e,t)=>e+t.nullCount,0)}function Jg(n){return n.reduce((e,t,i)=>(e[i+1]=e[i]+t.length,e),new Uint32Array(n.length+1))}function qg(n,e,t,i){const a=[];for(let c=-1,f=n.length;++c=i)break;if(t>=m+g)continue;if(m>=t&&m+g<=i){a.push(h);continue}const v=Math.max(0,t-m),x=Math.min(i-m,g);a.push(h.slice(v,x-v))}return a.length===0&&a.push(n[0].slice(0,0)),a}function Hd(n,e,t,i){let a=0,c=0,f=e.length-1;do{if(a>=f-1)return t0?0:-1}function Hw(n,e){const{nullBitmap:t}=n;if(!t||n.nullCount<=0)return-1;let i=0;for(const a of new Wd(t,n.offset+(e||0),n.length,t,Qg)){if(!a)return i;++i}return-1}function De(n,e,t){if(e===void 0)return-1;if(e===null)switch(n.typeId){case C.Union:break;case C.Dictionary:break;default:return Hw(n,t)}const i=Gt.getVisitFn(n),a=Ti(e);for(let c=(t||0)-1,f=n.length;++c{const a=n.data[i];return a.values.subarray(0,a.length)[Symbol.iterator]()});let t=0;return new jm(n.data.length,i=>{const c=n.data[i].length,f=n.slice(t,t+c);return t+=c,new Gw(f)})}class Gw{constructor(e){this.vector=e,this.index=0}next(){return this.indexh.data):e;if(c.length===0||c.some(h=>!(h instanceof Ye)))throw new TypeError("Vector constructor expects an Array of Data instances.");const f=(t=c[0])===null||t===void 0?void 0:t.type;switch(c.length){case 0:this._offsets=[0];break;case 1:{const{get:h,set:m,indexOf:g}=nv[f.typeId],v=c[0];this.isValid=x=>Gd(v,x),this.get=x=>h(v,x),this.set=(x,b)=>m(v,x,b),this.indexOf=x=>g(v,x),this._offsets=[0,v.length];break}default:Object.setPrototypeOf(this,rv[f.typeId]),this._offsets=Jg(c);break}this.data=c,this.type=f,this.stride=vr(f),this.numChildren=(a=(i=f.children)===null||i===void 0?void 0:i.length)!==null&&a!==void 0?a:0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((e,t)=>e+t.byteLength,0)}get nullable(){return Vw(this.data)}get nullCount(){return Kg(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${C[this.type.typeId]}Vector`}isValid(e){return!1}get(e){return null}at(e){return this.get(Vd(e,this.length))}set(e,t){}indexOf(e,t){return-1}includes(e,t){return this.indexOf(e,t)>-1}[Symbol.iterator](){return Yd.visit(this)}concat(...e){return new Je(this.data.concat(e.flatMap(t=>t.data).flat(Number.POSITIVE_INFINITY)))}slice(e,t){return new Je(Yg(this,e,t,({data:i,_offsets:a},c,f)=>qg(i,a,c,f)))}toJSON(){return[...this]}toArray(){const{type:e,data:t,length:i,stride:a,ArrayType:c}=this;switch(e.typeId){case C.Int:case C.Float:case C.Decimal:case C.Time:case C.Timestamp:switch(t.length){case 0:return new c;case 1:return t[0].values.subarray(0,i*a);default:return t.reduce((f,{values:h,length:m})=>(f.array.set(h.subarray(0,m*a),f.offset),f.offset+=m*a,f),{array:new c(i*a),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(e){var t;return this.getChildAt((t=this.type.children)===null||t===void 0?void 0:t.findIndex(i=>i.name===e))}getChildAt(e){return e>-1&&et[e])):null}get isMemoized(){return pe.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(pe.isDictionary(this.type)){const e=new Wl(this.data[0].dictionary),t=this.data.map(i=>{const a=i.clone();return a.dictionary=e,a});return new Je(t)}return new Wl(this)}unmemoize(){if(pe.isDictionary(this.type)&&this.isMemoized){const e=this.data[0].dictionary.unmemoize(),t=this.data.map(i=>{const a=i.clone();return a.dictionary=e,a});return new Je(t)}return this}}tv=Symbol.toStringTag;Je[tv]=(n=>{n.type=pe.prototype,n.data=[],n.length=0,n.stride=1,n.numChildren=0,n._offsets=new Uint32Array([0]),n[Symbol.isConcatSpreadable]=!0;const e=Object.keys(C).map(t=>C[t]).filter(t=>typeof t=="number"&&t!==C.NONE);for(const t of e){const i=Gt.getVisitFnByTypeId(t),a=vn.getVisitFnByTypeId(t),c=Vl.getVisitFnByTypeId(t);nv[t]={get:i,set:a,indexOf:c},rv[t]=Object.create(n,{isValid:{value:zl(Gd)},get:{value:zl(Gt.getVisitFnByTypeId(t))},set:{value:Zg(vn.getVisitFnByTypeId(t))},indexOf:{value:Xg(Vl.getVisitFnByTypeId(t))}})}return"Vector"})(Je.prototype);class Wl extends Je{constructor(e){super(e.data);const t=this.get,i=this.set,a=this.slice,c=new Array(this.length);Object.defineProperty(this,"get",{value(f){const h=c[f];if(h!==void 0)return h;const m=t.call(this,f);return c[f]=m,m}}),Object.defineProperty(this,"set",{value(f,h){i.call(this,f,h),c[f]=h}}),Object.defineProperty(this,"slice",{value:(f,h)=>new Wl(a.call(this,f,h))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new Je(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}}class Md{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(e,t,i,a){return e.prep(8,24),e.writeInt64(BigInt(a??0)),e.pad(4),e.writeInt32(i),e.writeInt64(BigInt(t??0)),e.offset()}}class Xt{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsFooter(e,t){return(t||new Xt).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFooter(e,t){return e.setPosition(e.position()+He),(t||new Xt).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):ht.V1}schema(e){const t=this.bb.__offset(this.bb_pos,6);return t?(e||new Gn).__init(this.bb.__indirect(this.bb_pos+t),this.bb):null}dictionaries(e,t){const i=this.bb.__offset(this.bb_pos,8);return i?(t||new Md).__init(this.bb.__vector(this.bb_pos+i)+e*24,this.bb):null}dictionariesLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}recordBatches(e,t){const i=this.bb.__offset(this.bb_pos,10);return i?(t||new Md).__init(this.bb.__vector(this.bb_pos+i)+e*24,this.bb):null}recordBatchesLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,12);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startFooter(e){e.startObject(5)}static addVersion(e,t){e.addFieldInt16(0,t,ht.V1)}static addSchema(e,t){e.addFieldOffset(1,t,0)}static addDictionaries(e,t){e.addFieldOffset(2,t,0)}static startDictionariesVector(e,t){e.startVector(24,t,8)}static addRecordBatches(e,t){e.addFieldOffset(3,t,0)}static startRecordBatchesVector(e,t){e.startVector(24,t,8)}static addCustomMetadata(e,t){e.addFieldOffset(4,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endFooter(e){return e.endObject()}static finishFooterBuffer(e,t){e.finish(t)}static finishSizePrefixedFooterBuffer(e,t){e.finish(t,void 0,!0)}}class We{constructor(e=[],t,i,a=ht.V5){this.fields=e||[],this.metadata=t||new Map,i||(i=Dd(this.fields)),this.dictionaries=i,this.metadataVersion=a}get[Symbol.toStringTag](){return"Schema"}get names(){return this.fields.map(e=>e.name)}toString(){return`Schema<{ ${this.fields.map((e,t)=>`${t}: ${e}`).join(", ")} }>`}select(e){const t=new Set(e),i=this.fields.filter(a=>t.has(a.name));return new We(i,this.metadata)}selectAt(e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new We(t,this.metadata)}assign(...e){const t=e[0]instanceof We?e[0]:Array.isArray(e[0])?new We(e[0]):new We(e),i=[...this.fields],a=sl(sl(new Map,this.metadata),t.metadata),c=t.fields.filter(h=>{const m=i.findIndex(g=>g.name===h.name);return~m?(i[m]=h.clone({metadata:sl(sl(new Map,i[m].metadata),h.metadata)}))&&!1:!0}),f=Dd(c,new Map);return new We([...i,...c],a,new Map([...this.dictionaries,...f]))}}We.prototype.fields=null;We.prototype.metadata=null;We.prototype.dictionaries=null;class nt{static new(...e){let[t,i,a,c]=e;return e[0]&&typeof e[0]=="object"&&({name:t}=e[0],i===void 0&&(i=e[0].type),a===void 0&&(a=e[0].nullable),c===void 0&&(c=e[0].metadata)),new nt(`${t}`,i,a,c)}constructor(e,t,i=!1,a){this.name=e,this.type=t,this.nullable=i,this.metadata=a||new Map}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}clone(...e){let[t,i,a,c]=e;return!e[0]||typeof e[0]!="object"?[t=this.name,i=this.type,a=this.nullable,c=this.metadata]=e:{name:t=this.name,type:i=this.type,nullable:a=this.nullable,metadata:c=this.metadata}=e[0],nt.new(t,i,a,c)}}nt.prototype.type=null;nt.prototype.name=null;nt.prototype.nullable=null;nt.prototype.metadata=null;function sl(n,e){return new Map([...n||new Map,...e||new Map])}function Dd(n,e=new Map){for(let t=-1,i=n.length;++t0&&Dd(c.children,e)}return e}var Yw=Iy,Qw=ki;class Qd{static decode(e){e=new Qw(Le(e));const t=Xt.getRootAsFooter(e),i=We.decode(t.schema(),new Map,t.version());return new Kw(i,t)}static encode(e){const t=new Yw,i=We.encode(t,e.schema);Xt.startRecordBatchesVector(t,e.numRecordBatches);for(const f of[...e.recordBatches()].slice().reverse())Di.encode(t,f);const a=t.endVector();Xt.startDictionariesVector(t,e.numDictionaries);for(const f of[...e.dictionaryBatches()].slice().reverse())Di.encode(t,f);const c=t.endVector();return Xt.startFooter(t),Xt.addSchema(t,i),Xt.addVersion(t,ht.V5),Xt.addRecordBatches(t,a),Xt.addDictionaries(t,c),Xt.finishFooterBuffer(t,Xt.endFooter(t)),t.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}constructor(e,t=ht.V5,i,a){this.schema=e,this.version=t,i&&(this._recordBatches=i),a&&(this._dictionaryBatches=a)}*recordBatches(){for(let e,t=-1,i=this.numRecordBatches;++t=0&&e=0&&e=0&&e=0&&ethis._closedPromiseResolve=e)}get closed(){return this._closedPromise}cancel(e){return Ce(this,void 0,void 0,function*(){yield this.return(e)})}write(e){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(e):this.resolvers.shift().resolve({done:!1,value:e}))}abort(e){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:e}:this.resolvers.shift().reject({done:!0,value:e}))}close(){if(this._closedPromiseResolve){const{resolvers:e}=this;for(;e.length>0;)e.shift().resolve(at);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(e){return fn.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,e)}toNodeStream(e){return fn.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,e)}throw(e){return Ce(this,void 0,void 0,function*(){return yield this.abort(e),at})}return(e){return Ce(this,void 0,void 0,function*(){return yield this.close(),at})}read(e){return Ce(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return Ce(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(...e){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((t,i)=>{this.resolvers.push({resolve:t,reject:i})}):Promise.resolve(at)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error("AsyncQueue is closed")}}class qw extends Jw{write(e){if((e=Le(e)).byteLength>0)return super.write(e)}toString(e=!1){return e?xd(this.toUint8Array(!0)):this.toUint8Array(!1).then(xd)}toUint8Array(e=!1){return e?tr(this._values)[0]:Ce(this,void 0,void 0,function*(){var t,i,a,c;const f=[];let h=0;try{for(var m=!0,g=xi(this),v;v=yield g.next(),t=v.done,!t;m=!0){c=v.value,m=!1;const x=c;f.push(x),h+=x.byteLength}}catch(x){i={error:x}}finally{try{!m&&!t&&(a=g.return)&&(yield a.call(g))}finally{if(i)throw i.error}}return tr(f,h)[0]})}}class Hl{constructor(e){e&&(this.source=new Zw(fn.fromIterable(e)))}[Symbol.iterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class Ci{constructor(e){e instanceof Ci?this.source=e.source:e instanceof qw?this.source=new js(fn.fromAsyncIterable(e)):Ny(e)?this.source=new js(fn.fromNodeStream(e)):Rd(e)?this.source=new js(fn.fromDOMStream(e)):Sy(e)?this.source=new js(fn.fromDOMStream(e.body)):nc(e)?this.source=new js(fn.fromIterable(e)):Ao(e)?this.source=new js(fn.fromAsyncIterable(e)):Ed(e)&&(this.source=new js(fn.fromAsyncIterable(e)))}[Symbol.asyncIterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}get closed(){return this.source.closed}cancel(e){return this.source.cancel(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class Zw{constructor(e){this.source=e}cancel(e){this.return(e)}peek(e){return this.next(e,"peek").value}read(e){return this.next(e,"read").value}next(e,t="read"){return this.source.next({cmd:t,size:e})}throw(e){return Object.create(this.source.throw&&this.source.throw(e)||at)}return(e){return Object.create(this.source.return&&this.source.return(e)||at)}}class js{constructor(e){this.source=e,this._closedPromise=new Promise(t=>this._closedPromiseResolve=t)}cancel(e){return Ce(this,void 0,void 0,function*(){yield this.return(e)})}get closed(){return this._closedPromise}read(e){return Ce(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return Ce(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(e){return Ce(this,arguments,void 0,function*(t,i="read"){return yield this.source.next({cmd:i,size:t})})}throw(e){return Ce(this,void 0,void 0,function*(){const t=this.source.throw&&(yield this.source.throw(e))||at;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(t)})}return(e){return Ce(this,void 0,void 0,function*(){const t=this.source.return&&(yield this.source.return(e))||at;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(t)})}}class Im extends Hl{constructor(e,t){super(),this.position=0,this.buffer=Le(e),this.size=t===void 0?this.buffer.byteLength:t}readInt32(e){const{buffer:t,byteOffset:i}=this.readAt(e,4);return new DataView(t,i).getInt32(0,!0)}seek(e){return this.position=Math.min(e,this.size),e>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),i=new Uint32Array([e.buffer[1]>>>16,e.buffer[1]&65535,e.buffer[0]>>>16,e.buffer[0]&65535]);let a=t[3]*i[3];this.buffer[0]=a&65535;let c=a>>>16;return a=t[2]*i[3],c+=a,a=t[3]*i[2]>>>0,c+=a,this.buffer[0]+=c<<16,this.buffer[1]=c>>>0>>16,this.buffer[1]+=t[1]*i[3]+t[2]*i[2]+t[3]*i[1],this.buffer[1]+=t[0]*i[3]+t[1]*i[2]+t[2]*i[1]+t[3]*i[0]<<16,this}_plus(e){const t=this.buffer[0]+e.buffer[0]>>>0;this.buffer[1]+=e.buffer[1],t>>0&&++this.buffer[1],this.buffer[0]=t}lessThan(e){return this.buffer[1]>>0,t[2]=this.buffer[2]+e.buffer[2]>>>0,t[1]=this.buffer[1]+e.buffer[1]>>>0,t[0]=this.buffer[0]+e.buffer[0]>>>0,t[0]>>0&&++t[1],t[1]>>0&&++t[2],t[2]>>0&&++t[3],this.buffer[3]=t[3],this.buffer[2]=t[2],this.buffer[1]=t[1],this.buffer[0]=t[0],this}hex(){return`${vi(this.buffer[3])} ${vi(this.buffer[2])} ${vi(this.buffer[1])} ${vi(this.buffer[0])}`}static multiply(e,t){return new Yn(new Uint32Array(e.buffer)).times(t)}static add(e,t){return new Yn(new Uint32Array(e.buffer)).plus(t)}static from(e,t=new Uint32Array(4)){return Yn.fromString(typeof e=="string"?e:e.toString(),t)}static fromNumber(e,t=new Uint32Array(4)){return Yn.fromString(e.toString(),t)}static fromString(e,t=new Uint32Array(4)){const i=e.startsWith("-"),a=e.length,c=new Yn(t);for(let f=i?1:0;f0&&this.readData(e,i)||new Uint8Array(0)}readOffsets(e,t){return this.readData(e,t)}readTypeIds(e,t){return this.readData(e,t)}readData(e,{length:t,offset:i}=this.nextBufferRange()){return this.bytes.subarray(i,i+t)}readDictionary(e){return this.dictionaries.get(e.id)}}class e1 extends ov{constructor(e,t,i,a,c){super(new Uint8Array(0),t,i,a,c),this.sources=e}readNullBitmap(e,t,{offset:i}=this.nextBufferRange()){return t<=0?new Uint8Array(0):kd(this.sources[i])}readOffsets(e,{offset:t}=this.nextBufferRange()){return Ke(Uint8Array,Ke(e.OffsetArrayType,this.sources[t]))}readTypeIds(e,{offset:t}=this.nextBufferRange()){return Ke(Uint8Array,Ke(e.ArrayType,this.sources[t]))}readData(e,{offset:t}=this.nextBufferRange()){const{sources:i}=this;return pe.isTimestamp(e)||(pe.isInt(e)||pe.isTime(e))&&e.bitWidth===64||pe.isDuration(e)||pe.isDate(e)&&e.unit===gn.MILLISECOND?Ke(Uint8Array,zt.convertArray(i[t])):pe.isDecimal(e)?Ke(Uint8Array,Yn.convertArray(i[t])):pe.isBinary(e)||pe.isLargeBinary(e)||pe.isFixedSizeBinary(e)?t1(i[t]):pe.isBool(e)?kd(i[t]):pe.isUtf8(e)||pe.isLargeUtf8(e)?Bd(i[t].join("")):Ke(Uint8Array,Ke(e.ArrayType,i[t].map(a=>+a)))}}function t1(n){const e=n.join(""),t=new Uint8Array(e.length/2);for(let i=0;i>1]=Number.parseInt(e.slice(i,i+2),16);return t}class be extends Be{compareSchemas(e,t){return e===t||t instanceof e.constructor&&this.compareManyFields(e.fields,t.fields)}compareManyFields(e,t){return e===t||Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((i,a)=>this.compareFields(i,t[a]))}compareFields(e,t){return e===t||t instanceof e.constructor&&e.name===t.name&&e.nullable===t.nullable&&this.visit(e.type,t.type)}}function At(n,e){return e instanceof n.constructor}function As(n,e){return n===e||At(n,e)}function Mr(n,e){return n===e||At(n,e)&&n.bitWidth===e.bitWidth&&n.isSigned===e.isSigned}function sc(n,e){return n===e||At(n,e)&&n.precision===e.precision}function n1(n,e){return n===e||At(n,e)&&n.byteWidth===e.byteWidth}function Jd(n,e){return n===e||At(n,e)&&n.unit===e.unit}function Po(n,e){return n===e||At(n,e)&&n.unit===e.unit&&n.timezone===e.timezone}function zo(n,e){return n===e||At(n,e)&&n.unit===e.unit&&n.bitWidth===e.bitWidth}function r1(n,e){return n===e||At(n,e)&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}function s1(n,e){return n===e||At(n,e)&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}function qd(n,e){return n===e||At(n,e)&&n.mode===e.mode&&n.typeIds.every((t,i)=>t===e.typeIds[i])&&is.compareManyFields(n.children,e.children)}function i1(n,e){return n===e||At(n,e)&&n.id===e.id&&n.isOrdered===e.isOrdered&&is.visit(n.indices,e.indices)&&is.visit(n.dictionary,e.dictionary)}function Zd(n,e){return n===e||At(n,e)&&n.unit===e.unit}function Vo(n,e){return n===e||At(n,e)&&n.unit===e.unit}function o1(n,e){return n===e||At(n,e)&&n.listSize===e.listSize&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}function a1(n,e){return n===e||At(n,e)&&n.keysSorted===e.keysSorted&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}be.prototype.visitNull=As;be.prototype.visitBool=As;be.prototype.visitInt=Mr;be.prototype.visitInt8=Mr;be.prototype.visitInt16=Mr;be.prototype.visitInt32=Mr;be.prototype.visitInt64=Mr;be.prototype.visitUint8=Mr;be.prototype.visitUint16=Mr;be.prototype.visitUint32=Mr;be.prototype.visitUint64=Mr;be.prototype.visitFloat=sc;be.prototype.visitFloat16=sc;be.prototype.visitFloat32=sc;be.prototype.visitFloat64=sc;be.prototype.visitUtf8=As;be.prototype.visitLargeUtf8=As;be.prototype.visitBinary=As;be.prototype.visitLargeBinary=As;be.prototype.visitFixedSizeBinary=n1;be.prototype.visitDate=Jd;be.prototype.visitDateDay=Jd;be.prototype.visitDateMillisecond=Jd;be.prototype.visitTimestamp=Po;be.prototype.visitTimestampSecond=Po;be.prototype.visitTimestampMillisecond=Po;be.prototype.visitTimestampMicrosecond=Po;be.prototype.visitTimestampNanosecond=Po;be.prototype.visitTime=zo;be.prototype.visitTimeSecond=zo;be.prototype.visitTimeMillisecond=zo;be.prototype.visitTimeMicrosecond=zo;be.prototype.visitTimeNanosecond=zo;be.prototype.visitDecimal=As;be.prototype.visitList=r1;be.prototype.visitStruct=s1;be.prototype.visitUnion=qd;be.prototype.visitDenseUnion=qd;be.prototype.visitSparseUnion=qd;be.prototype.visitDictionary=i1;be.prototype.visitInterval=Zd;be.prototype.visitIntervalDayTime=Zd;be.prototype.visitIntervalYearMonth=Zd;be.prototype.visitDuration=Vo;be.prototype.visitDurationSecond=Vo;be.prototype.visitDurationMillisecond=Vo;be.prototype.visitDurationMicrosecond=Vo;be.prototype.visitDurationNanosecond=Vo;be.prototype.visitFixedSizeList=o1;be.prototype.visitMap=a1;const is=new be;function l1(n,e){return is.compareSchemas(n,e)}function od(n,e){return c1(n,e.map(t=>t.data.concat()))}function c1(n,e){const t=[...n.fields],i=[],a={numBatches:e.reduce((x,b)=>Math.max(x,b.length),0)};let c=0,f=0,h=-1;const m=e.length;let g,v=[];for(;a.numBatches-- >0;){for(f=Number.POSITIVE_INFINITY,h=-1;++h0&&(i[c++]=Ae({type:new Tt(t),length:f,nullCount:0,children:v.slice()})))}return[n=n.assign(t),i.map(x=>new An(n,x))]}function u1(n,e,t,i,a){var c;const f=(e+63&-64)>>3;for(let h=-1,m=i.length;++h=e)v===e?t[h]=g:(t[h]=g.slice(0,e),a.numBatches=Math.max(a.numBatches,i[h].unshift(g.slice(e,v-e))));else{const x=n[h];n[h]=x.clone({nullable:!0}),t[h]=(c=g==null?void 0:g._changeLengthAndBackfillNullBitmap(e))!==null&&c!==void 0?c:Ae({type:x.type,length:e,nullCount:e,nullBitmap:new Uint8Array(f)})}}return t}var av;class mn{constructor(...e){var t,i;if(e.length===0)return this.batches=[],this.schema=new We([]),this._offsets=[0],this;let a,c;e[0]instanceof We&&(a=e.shift()),e.at(-1)instanceof Uint32Array&&(c=e.pop());const f=m=>{if(m){if(m instanceof An)return[m];if(m instanceof mn)return m.batches;if(m instanceof Ye){if(m.type instanceof Tt)return[new An(new We(m.type.children),m)]}else{if(Array.isArray(m))return m.flatMap(g=>f(g));if(typeof m[Symbol.iterator]=="function")return[...m].flatMap(g=>f(g));if(typeof m=="object"){const g=Object.keys(m),v=g.map(w=>new Je([m[w]])),x=a??new We(g.map((w,j)=>new nt(String(w),v[j].type,v[j].nullable))),[,b]=od(x,v);return b.length===0?[new An(m)]:b}}}return[]},h=e.flatMap(m=>f(m));if(a=(i=a??((t=h[0])===null||t===void 0?void 0:t.schema))!==null&&i!==void 0?i:new We([]),!(a instanceof We))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");for(const m of h){if(!(m instanceof An))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");if(!l1(a,m.schema))throw new TypeError("Table and inner RecordBatch schemas must be equivalent.")}this.schema=a,this.batches=h,this._offsets=c??Jg(this.data)}get data(){return this.batches.map(({data:e})=>e)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((e,t)=>e+t.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=Kg(this.data)),this._nullCount}isValid(e){return!1}get(e){return null}at(e){return this.get(Vd(e,this.numRows))}set(e,t){}indexOf(e,t){return-1}[Symbol.iterator](){return this.batches.length>0?Yd.visit(new Je(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[ - ${this.toArray().join(`, - `)} -]`}concat(...e){const t=this.schema,i=this.data.concat(e.flatMap(({data:a})=>a));return new mn(t,i.map(a=>new An(t,a)))}slice(e,t){const i=this.schema;[e,t]=Yg({length:this.numRows},e,t);const a=qg(this.data,this._offsets,e,t);return new mn(i,a.map(c=>new An(i,c)))}getChild(e){return this.getChildAt(this.schema.fields.findIndex(t=>t.name===e))}getChildAt(e){if(e>-1&&ei.children[e]);if(t.length===0){const{type:i}=this.schema.fields[e],a=Ae({type:i,length:0,nullCount:0});t.push(a._changeLengthAndBackfillNullBitmap(this.numRows))}return new Je(t)}return null}setChild(e,t){var i;return this.setChildAt((i=this.schema.fields)===null||i===void 0?void 0:i.findIndex(a=>a.name===e),t)}setChildAt(e,t){let i=this.schema,a=[...this.batches];if(e>-1&&ethis.getChildAt(g));[c[e],h[e]]=[f,t],[i,a]=od(i,h)}return new mn(i,a)}select(e){const t=this.schema.fields.reduce((i,a,c)=>i.set(a.name,c),new Map);return this.selectAt(e.map(i=>t.get(i)).filter(i=>i>-1))}selectAt(e){const t=this.schema.selectAt(e),i=this.batches.map(a=>a.selectAt(e));return new mn(t,i)}assign(e){const t=this.schema.fields,[i,a]=e.schema.fields.reduce((h,m,g)=>{const[v,x]=h,b=t.findIndex(w=>w.name===m.name);return~b?x[b]=g:v.push(g),h},[[],[]]),c=this.schema.assign(e.schema),f=[...t.map((h,m)=>[m,a[m]]).map(([h,m])=>m===void 0?this.getChildAt(h):e.getChildAt(m)),...i.map(h=>e.getChildAt(h))].filter(Boolean);return new mn(...od(c,f))}}av=Symbol.toStringTag;mn[av]=(n=>(n.schema=null,n.batches=[],n._offsets=new Uint32Array([0]),n._nullCount=-1,n[Symbol.isConcatSpreadable]=!0,n.isValid=zl(Gd),n.get=zl(Gt.getVisitFn(C.Struct)),n.set=Zg(vn.getVisitFn(C.Struct)),n.indexOf=Xg(Vl.getVisitFn(C.Struct)),"Table"))(mn.prototype);var lv;let An=class Oo{constructor(...e){switch(e.length){case 2:{if([this.schema]=e,!(this.schema instanceof We))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");if([,this.data=Ae({nullCount:0,type:new Tt(this.schema.fields),children:this.schema.fields.map(t=>Ae({type:t.type,nullCount:0}))})]=e,!(this.data instanceof Ye))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");[this.schema,this.data]=Mm(this.schema,this.data.children);break}case 1:{const[t]=e,{fields:i,children:a,length:c}=Object.keys(t).reduce((m,g,v)=>(m.children[v]=t[g],m.length=Math.max(m.length,t[g].length),m.fields[v]=nt.new({name:g,type:t[g].type,nullable:!0}),m),{length:0,fields:new Array,children:new Array}),f=new We(i),h=Ae({type:new Tt(i),length:c,children:a,nullCount:0});[this.schema,this.data]=Mm(f,h.children,c);break}default:throw new TypeError("RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.")}}get dictionaries(){return this._dictionaries||(this._dictionaries=cv(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(e){return this.data.getValid(e)}get(e){return Gt.visit(this.data,e)}at(e){return this.get(Vd(e,this.numRows))}set(e,t){return vn.visit(this.data,e,t)}indexOf(e,t){return Vl.visit(this.data,e,t)}[Symbol.iterator](){return Yd.visit(new Je([this.data]))}toArray(){return[...this]}concat(...e){return new mn(this.schema,[this,...e])}slice(e,t){const[i]=new Je([this.data]).slice(e,t).data;return new Oo(this.schema,i)}getChild(e){var t;return this.getChildAt((t=this.schema.fields)===null||t===void 0?void 0:t.findIndex(i=>i.name===e))}getChildAt(e){return e>-1&&ea.name===e),t)}setChildAt(e,t){let i=this.schema,a=this.data;if(e>-1&&eh.name===c);~f&&(a[f]=this.data.children[f])}return new Oo(t,Ae({type:i,length:this.numRows,children:a}))}selectAt(e){const t=this.schema.selectAt(e),i=e.map(c=>this.data.children[c]).filter(Boolean),a=Ae({type:new Tt(t.fields),length:this.numRows,children:i});return new Oo(t,a)}};lv=Symbol.toStringTag;An[lv]=(n=>(n._nullCount=-1,n[Symbol.isConcatSpreadable]=!0,"RecordBatch"))(An.prototype);function Mm(n,e,t=e.reduce((i,a)=>Math.max(i,a.length),0)){var i;const a=[...n.fields],c=[...e],f=(t+63&-64)>>3;for(const[h,m]of n.fields.entries()){const g=e[h];(!g||g.length!==t)&&(a[h]=m.clone({nullable:!0}),c[h]=(i=g==null?void 0:g._changeLengthAndBackfillNullBitmap(t))!==null&&i!==void 0?i:Ae({type:m.type,length:t,nullCount:t,nullBitmap:new Uint8Array(f)}))}return[n.assign(a),Ae({type:new Tt(a),length:t,children:c})]}function cv(n,e,t=new Map){var i,a;if(((i=n==null?void 0:n.length)!==null&&i!==void 0?i:0)>0&&(n==null?void 0:n.length)===(e==null?void 0:e.length))for(let c=-1,f=n.length;++cAe({type:a.type})),i=Ae({type:new Tt(e.fields),nullCount:0,children:t});super(e,i)}}let qr=class Hn{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsMessage(e,t){return(t||new Hn).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsMessage(e,t){return e.setPosition(e.position()+He),(t||new Hn).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):ht.V1}headerType(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb_pos+e):Ve.NONE}header(e){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__union(e,this.bb_pos+t):null}bodyLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt64(this.bb_pos+e):BigInt("0")}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,12);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startMessage(e){e.startObject(5)}static addVersion(e,t){e.addFieldInt16(0,t,ht.V1)}static addHeaderType(e,t){e.addFieldInt8(1,t,Ve.NONE)}static addHeader(e,t){e.addFieldOffset(2,t,0)}static addBodyLength(e,t){e.addFieldInt64(3,t,BigInt("0"))}static addCustomMetadata(e,t){e.addFieldOffset(4,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endMessage(e){return e.endObject()}static finishMessageBuffer(e,t){e.finish(t)}static finishSizePrefixedMessageBuffer(e,t){e.finish(t,void 0,!0)}static createMessage(e,t,i,a,c,f){return Hn.startMessage(e),Hn.addVersion(e,t),Hn.addHeaderType(e,i),Hn.addHeader(e,a),Hn.addBodyLength(e,c),Hn.addCustomMetadata(e,f),Hn.endMessage(e)}};class d1 extends Be{visit(e,t){return e==null||t==null?void 0:super.visit(e,t)}visitNull(e,t){return vm.startNull(t),vm.endNull(t)}visitInt(e,t){return en.startInt(t),en.addBitWidth(t,e.bitWidth),en.addIsSigned(t,e.isSigned),en.endInt(t)}visitFloat(e,t){return Kn.startFloatingPoint(t),Kn.addPrecision(t,e.precision),Kn.endFloatingPoint(t)}visitBinary(e,t){return hm.startBinary(t),hm.endBinary(t)}visitLargeBinary(e,t){return mm.startLargeBinary(t),mm.endLargeBinary(t)}visitBool(e,t){return pm.startBool(t),pm.endBool(t)}visitUtf8(e,t){return xm.startUtf8(t),xm.endUtf8(t)}visitLargeUtf8(e,t){return ym.startLargeUtf8(t),ym.endLargeUtf8(t)}visitDecimal(e,t){return ui.startDecimal(t),ui.addScale(t,e.scale),ui.addPrecision(t,e.precision),ui.addBitWidth(t,e.bitWidth),ui.endDecimal(t)}visitDate(e,t){return hl.startDate(t),hl.addUnit(t,e.unit),hl.endDate(t)}visitTime(e,t){return hn.startTime(t),hn.addUnit(t,e.unit),hn.addBitWidth(t,e.bitWidth),hn.endTime(t)}visitTimestamp(e,t){const i=e.timezone&&t.createString(e.timezone)||void 0;return pn.startTimestamp(t),pn.addUnit(t,e.unit),i!==void 0&&pn.addTimezone(t,i),pn.endTimestamp(t)}visitInterval(e,t){return Jn.startInterval(t),Jn.addUnit(t,e.unit),Jn.endInterval(t)}visitDuration(e,t){return pl.startDuration(t),pl.addUnit(t,e.unit),pl.endDuration(t)}visitList(e,t){return gm.startList(t),gm.endList(t)}visitStruct(e,t){return ks.startStruct_(t),ks.endStruct_(t)}visitUnion(e,t){Vt.startTypeIdsVector(t,e.typeIds.length);const i=Vt.createTypeIdsVector(t,e.typeIds);return Vt.startUnion(t),Vt.addMode(t,e.mode),Vt.addTypeIds(t,i),Vt.endUnion(t)}visitDictionary(e,t){const i=this.visit(e.indices,t);return wr.startDictionaryEncoding(t),wr.addId(t,BigInt(e.id)),wr.addIsOrdered(t,e.isOrdered),i!==void 0&&wr.addIndexType(t,i),wr.endDictionaryEncoding(t)}visitFixedSizeBinary(e,t){return ml.startFixedSizeBinary(t),ml.addByteWidth(t,e.byteWidth),ml.endFixedSizeBinary(t)}visitFixedSizeList(e,t){return yl.startFixedSizeList(t),yl.addListSize(t,e.listSize),yl.endFixedSizeList(t)}visitMap(e,t){return gl.startMap(t),gl.addKeysSorted(t,e.keysSorted),gl.endMap(t)}}const ad=new d1;function f1(n,e=new Map){return new We(p1(n,e),xl(n.metadata),e)}function dv(n){return new Rn(n.count,fv(n.columns),hv(n.columns))}function h1(n){return new kr(dv(n.data),n.id,n.isDelta)}function p1(n,e){return(n.fields||[]).filter(Boolean).map(t=>nt.fromJSON(t,e))}function Dm(n,e){return(n.children||[]).filter(Boolean).map(t=>nt.fromJSON(t,e))}function fv(n){return(n||[]).reduce((e,t)=>[...e,new Ai(t.count,m1(t.VALIDITY)),...fv(t.children)],[])}function hv(n,e=[]){for(let t=-1,i=(n||[]).length;++te+ +(t===0),0)}function y1(n,e){let t,i,a,c,f,h;return!e||!(c=n.dictionary)?(f=Fm(n,Dm(n,e)),a=new nt(n.name,f,n.nullable,xl(n.metadata))):e.has(t=c.id)?(i=(i=c.indexType)?Cm(i):new Lo,h=new Mi(e.get(t),i,t,c.isOrdered),a=new nt(n.name,h,n.nullable,xl(n.metadata))):(i=(i=c.indexType)?Cm(i):new Lo,e.set(t,f=Fm(n,Dm(n,e))),h=new Mi(f,i,t,c.isOrdered),a=new nt(n.name,h,n.nullable,xl(n.metadata))),a||null}function xl(n=[]){return new Map(n.map(({key:e,value:t})=>[e,t]))}function Cm(n){return new Ds(n.isSigned,n.bitWidth)}function Fm(n,e){const t=n.type.name;switch(t){case"NONE":return new ss;case"null":return new ss;case"binary":return new kl;case"largebinary":return new Il;case"utf8":return new Ml;case"largeutf8":return new Dl;case"bool":return new Cl;case"list":return new Rl((e||[])[0]);case"struct":return new Tt(e||[]);case"struct_":return new Tt(e||[])}switch(t){case"int":{const i=n.type;return new Ds(i.isSigned,i.bitWidth)}case"floatingpoint":{const i=n.type;return new jl(Dt[i.precision])}case"decimal":{const i=n.type;return new Fl(i.scale,i.precision,i.bitWidth)}case"date":{const i=n.type;return new Ol(gn[i.unit])}case"time":{const i=n.type;return new Tl(_e[i.unit],i.bitWidth)}case"timestamp":{const i=n.type;return new Al(_e[i.unit],i.timezone)}case"interval":{const i=n.type;return new Bl(nr[i.unit])}case"duration":{const i=n.type;return new El(_e[i.unit])}case"union":{const i=n.type,[a,...c]=(i.mode+"").toLowerCase(),f=a.toUpperCase()+c.join("");return new Ll(Ht[f],i.typeIds||[],e||[])}case"fixedsizebinary":{const i=n.type;return new Ul(i.byteWidth)}case"fixedsizelist":{const i=n.type;return new $l(i.listSize,(e||[])[0])}case"map":{const i=n.type;return new Pl((e||[])[0],i.keysSorted)}}throw new Error(`Unrecognized type: "${t}"`)}var g1=Iy,v1=ki;class Bn{static fromJSON(e,t){const i=new Bn(0,ht.V5,t);return i._createHeader=x1(e,t),i}static decode(e){e=new v1(Le(e));const t=qr.getRootAsMessage(e),i=t.bodyLength(),a=t.version(),c=t.headerType(),f=new Bn(i,a,c);return f._createHeader=b1(t,c),f}static encode(e){const t=new g1;let i=-1;return e.isSchema()?i=We.encode(t,e.header()):e.isRecordBatch()?i=Rn.encode(t,e.header()):e.isDictionaryBatch()&&(i=kr.encode(t,e.header())),qr.startMessage(t),qr.addVersion(t,ht.V5),qr.addHeader(t,i),qr.addHeaderType(t,e.headerType),qr.addBodyLength(t,BigInt(e.bodyLength)),qr.finishMessageBuffer(t,qr.endMessage(t)),t.asUint8Array()}static from(e,t=0){if(e instanceof We)return new Bn(0,ht.V5,Ve.Schema,e);if(e instanceof Rn)return new Bn(t,ht.V5,Ve.RecordBatch,e);if(e instanceof kr)return new Bn(t,ht.V5,Ve.DictionaryBatch,e);throw new Error(`Unrecognized Message header: ${e}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===Ve.Schema}isRecordBatch(){return this.headerType===Ve.RecordBatch}isDictionaryBatch(){return this.headerType===Ve.DictionaryBatch}constructor(e,t,i,a){this._version=t,this._headerType=i,this.body=new Uint8Array(0),a&&(this._createHeader=()=>a),this._bodyLength=tt(e)}}class Rn{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}constructor(e,t,i){this._nodes=t,this._buffers=i,this._length=tt(e)}}class kr{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(e,t,i=!1){this._data=e,this._isDelta=i,this._id=tt(t)}}class _r{constructor(e,t){this.offset=tt(e),this.length=tt(t)}}class Ai{constructor(e,t){this.length=tt(e),this.nullCount=tt(t)}}function x1(n,e){return(()=>{switch(e){case Ve.Schema:return We.fromJSON(n);case Ve.RecordBatch:return Rn.fromJSON(n);case Ve.DictionaryBatch:return kr.fromJSON(n)}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)})}function b1(n,e){return(()=>{switch(e){case Ve.Schema:return We.decode(n.header(new Gn),new Map,n.version());case Ve.RecordBatch:return Rn.decode(n.header(new yr),n.version());case Ve.DictionaryBatch:return kr.decode(n.header(new li),n.version())}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)})}nt.encode=F1;nt.decode=D1;nt.fromJSON=y1;We.encode=C1;We.decode=w1;We.fromJSON=f1;Rn.encode=O1;Rn.decode=S1;Rn.fromJSON=dv;kr.encode=T1;kr.decode=_1;kr.fromJSON=h1;Ai.encode=A1;Ai.decode=j1;_r.encode=B1;_r.decode=N1;function w1(n,e=new Map,t=ht.V5){const i=M1(n,e);return new We(i,bl(n),e,t)}function S1(n,e=ht.V5){if(n.compression()!==null)throw new Error("Record batch compression not implemented");return new Rn(n.length(),k1(n),I1(n,e))}function _1(n,e=ht.V5){return new kr(Rn.decode(n.data(),e),n.id(),n.isDelta())}function N1(n){return new _r(n.offset(),n.length())}function j1(n){return new Ai(n.length(),n.nullCount())}function k1(n){const e=[];for(let t,i=-1,a=-1,c=n.nodesLength();++int.encode(n,c));Gn.startFieldsVector(n,t.length);const i=Gn.createFieldsVector(n,t),a=e.metadata&&e.metadata.size>0?Gn.createCustomMetadataVector(n,[...e.metadata].map(([c,f])=>{const h=n.createString(`${c}`),m=n.createString(`${f}`);return gt.startKeyValue(n),gt.addKey(n,h),gt.addValue(n,m),gt.endKeyValue(n)})):-1;return Gn.startSchema(n),Gn.addFields(n,i),Gn.addEndianness(n,E1?Ii.Little:Ii.Big),a!==-1&&Gn.addCustomMetadata(n,a),Gn.endSchema(n)}function F1(n,e){let t=-1,i=-1,a=-1;const c=e.type;let f=e.typeId;pe.isDictionary(c)?(f=c.dictionary.typeId,a=ad.visit(c,n),i=ad.visit(c.dictionary,n)):i=ad.visit(c,n);const h=(c.children||[]).map(v=>nt.encode(n,v)),m=dn.createChildrenVector(n,h),g=e.metadata&&e.metadata.size>0?dn.createCustomMetadataVector(n,[...e.metadata].map(([v,x])=>{const b=n.createString(`${v}`),w=n.createString(`${x}`);return gt.startKeyValue(n),gt.addKey(n,b),gt.addValue(n,w),gt.endKeyValue(n)})):-1;return e.name&&(t=n.createString(e.name)),dn.startField(n),dn.addType(n,i),dn.addTypeType(n,f),dn.addChildren(n,m),dn.addNullable(n,!!e.nullable),t!==-1&&dn.addName(n,t),a!==-1&&dn.addDictionary(n,a),g!==-1&&dn.addCustomMetadata(n,g),dn.endField(n)}function O1(n,e){const t=e.nodes||[],i=e.buffers||[];yr.startNodesVector(n,t.length);for(const f of t.slice().reverse())Ai.encode(n,f);const a=n.endVector();yr.startBuffersVector(n,i.length);for(const f of i.slice().reverse())_r.encode(n,f);const c=n.endVector();return yr.startRecordBatch(n),yr.addLength(n,BigInt(e.length)),yr.addNodes(n,a),yr.addBuffers(n,c),yr.endRecordBatch(n)}function T1(n,e){const t=Rn.encode(n,e.data);return li.startDictionaryBatch(n),li.addId(n,BigInt(e.id)),li.addIsDelta(n,e.isDelta),li.addData(n,t),li.endDictionaryBatch(n)}function A1(n,e){return Cy.createFieldNode(n,BigInt(e.length),BigInt(e.nullCount))}function B1(n,e){return Dy.createBuffer(n,BigInt(e.offset),BigInt(e.length))}const E1=(()=>{const n=new ArrayBuffer(2);return new DataView(n).setInt16(0,256,!0),new Int16Array(n)[0]===256})(),Xd=n=>`Expected ${Ve[n]} Message in stream, but was null or length 0.`,ef=n=>`Header pointer of flatbuffer-encoded ${Ve[n]} Message is null or length 0.`,pv=(n,e)=>`Expected to read ${n} metadata bytes, but only read ${e}.`,mv=(n,e)=>`Expected to read ${n} bytes for message body, but only read ${e}.`;class yv{constructor(e){this.source=e instanceof Hl?e:new Hl(e)}[Symbol.iterator](){return this}next(){let e;return(e=this.readMetadataLength()).done||e.value===-1&&(e=this.readMetadataLength()).done||(e=this.readMetadata(e.value)).done?at:e}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}readMessage(e){let t;if((t=this.next()).done)return null;if(e!=null&&t.value.headerType!==e)throw new Error(Xd(e));return t.value}readMessageBody(e){if(e<=0)return new Uint8Array(0);const t=Le(this.source.read(e));if(t.byteLength[...a,...c.VALIDITY&&[c.VALIDITY]||[],...c.TYPE_ID&&[c.TYPE_ID]||[],...c.OFFSET&&[c.OFFSET]||[],...c.DATA&&[c.DATA]||[],...t(c.children)],[])}}readMessage(e){let t;if((t=this.next()).done)return null;if(e!=null&&t.value.headerType!==e)throw new Error(Xd(e));return t.value}readSchema(){const e=Ve.Schema,t=this.readMessage(e),i=t==null?void 0:t.header();if(!t||!i)throw new Error(ef(e));return i}}const ic=4,Cd="ARROW1",Yl=new Uint8Array(Cd.length);for(let n=0;nthis):this}readRecordBatch(e){return this._impl.isFile()?this._impl.readRecordBatch(e):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return fn.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return fn.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,t){throw new Error('"throughDOM" not available in this environment')}static from(e){return e instanceof jr?e:bd(e)?V1(e):wy(e)?G1(e):Ao(e)?Ce(this,void 0,void 0,function*(){return yield jr.from(yield e)}):Sy(e)||Rd(e)||Ny(e)||Ed(e)?H1(new Ci(e)):W1(new Hl(e))}static readAll(e){return e instanceof jr?e.isSync()?Bm(e):Em(e):bd(e)||ArrayBuffer.isView(e)||nc(e)||by(e)?Bm(e):Em(e)}}class Ql extends jr{constructor(e){super(e),this._impl=e}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return qn(this,arguments,function*(){yield Oe(yield*fl(xi(this[Symbol.iterator]())))})}}class Kl extends jr{constructor(e){super(e),this._impl=e}readAll(){return Ce(this,void 0,void 0,function*(){var e,t,i,a;const c=new Array;try{for(var f=!0,h=xi(this),m;m=yield h.next(),e=m.done,!e;f=!0){a=m.value,f=!1;const g=a;c.push(g)}}catch(g){t={error:g}}finally{try{!f&&!e&&(i=h.return)&&(yield i.call(h))}finally{if(t)throw t.error}}return c})}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}}class vv extends Ql{constructor(e){super(e),this._impl=e}}class $1 extends Kl{constructor(e){super(e),this._impl=e}}class xv{get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}constructor(e=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=e}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(e){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=e,this.dictionaries=new Map,this}_loadRecordBatch(e,t){const i=this._loadVectors(e,t,this.schema.fields),a=Ae({type:new Tt(this.schema.fields),length:e.length,children:i});return new An(this.schema,a)}_loadDictionaryBatch(e,t){const{id:i,isDelta:a}=e,{dictionaries:c,schema:f}=this,h=c.get(i),m=f.dictionaries.get(i),g=this._loadVectors(e.data,t,[m]);return(h&&a?h.concat(new Je(g)):new Je(g)).memoize()}_loadVectors(e,t,i){return new ov(t,e.nodes,e.buffers,this.dictionaries,this.schema.metadataVersion).visitMany(i)}}class Jl extends xv{constructor(e,t){super(t),this._reader=bd(e)?new L1(this._handle=e):new yv(this._handle=e)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(e){return this.closed||(this.autoDestroy=wv(this,e),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(e):at}return(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(e):at}next(){if(this.closed)return at;let e;const{_reader:t}=this;for(;e=this._readNextMessageAndValidate();)if(e.isSchema())this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const i=e.header(),a=t.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(i,a)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const i=e.header(),a=t.readMessageBody(e.bodyLength),c=this._loadDictionaryBatch(i,a);this.dictionaries.set(i.id,c)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new uv(this.schema)}):this.return()}_readNextMessageAndValidate(e){return this._reader.readMessage(e)}}class ql extends xv{constructor(e,t){super(t),this._reader=new R1(this._handle=e)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return Ce(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(e){return Ce(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=wv(this,e),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(e){return Ce(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(e):at})}return(e){return Ce(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(e):at})}next(){return Ce(this,void 0,void 0,function*(){if(this.closed)return at;let e;const{_reader:t}=this;for(;e=yield this._readNextMessageAndValidate();)if(e.isSchema())yield this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const i=e.header(),a=yield t.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(i,a)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const i=e.header(),a=yield t.readMessageBody(e.bodyLength),c=this._loadDictionaryBatch(i,a);this.dictionaries.set(i.id,c)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new uv(this.schema)}):yield this.return()})}_readNextMessageAndValidate(e){return Ce(this,void 0,void 0,function*(){return yield this._reader.readMessage(e)})}}class bv extends Jl{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(e,t){super(e instanceof Im?e:new Im(e),t)}isSync(){return!0}isFile(){return!0}open(e){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(const t of this._footer.dictionaryBatches())t&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(e)}readRecordBatch(e){var t;if(this.closed)return null;this._footer||this.open();const i=(t=this._footer)===null||t===void 0?void 0:t.getRecordBatch(e);if(i&&this._handle.seek(i.offset)){const a=this._reader.readMessage(Ve.RecordBatch);if(a!=null&&a.isRecordBatch()){const c=a.header(),f=this._reader.readMessageBody(a.bodyLength);return this._loadRecordBatch(c,f)}}return null}_readDictionaryBatch(e){var t;const i=(t=this._footer)===null||t===void 0?void 0:t.getDictionaryBatch(e);if(i&&this._handle.seek(i.offset)){const a=this._reader.readMessage(Ve.DictionaryBatch);if(a!=null&&a.isDictionaryBatch()){const c=a.header(),f=this._reader.readMessageBody(a.bodyLength),h=this._loadDictionaryBatch(c,f);this.dictionaries.set(c.id,h)}}}_readFooter(){const{_handle:e}=this,t=e.size-gv,i=e.readInt32(t),a=e.readAt(t-i,i);return Qd.decode(a)}_readNextMessageAndValidate(e){var t;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return Ce(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(const i of this._footer.dictionaryBatches())i&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield t.open.call(this,e)})}readRecordBatch(e){return Ce(this,void 0,void 0,function*(){var t;if(this.closed)return null;this._footer||(yield this.open());const i=(t=this._footer)===null||t===void 0?void 0:t.getRecordBatch(e);if(i&&(yield this._handle.seek(i.offset))){const a=yield this._reader.readMessage(Ve.RecordBatch);if(a!=null&&a.isRecordBatch()){const c=a.header(),f=yield this._reader.readMessageBody(a.bodyLength);return this._loadRecordBatch(c,f)}}return null})}_readDictionaryBatch(e){return Ce(this,void 0,void 0,function*(){var t;const i=(t=this._footer)===null||t===void 0?void 0:t.getDictionaryBatch(e);if(i&&(yield this._handle.seek(i.offset))){const a=yield this._reader.readMessage(Ve.DictionaryBatch);if(a!=null&&a.isDictionaryBatch()){const c=a.header(),f=yield this._reader.readMessageBody(a.bodyLength),h=this._loadDictionaryBatch(c,f);this.dictionaries.set(c.id,h)}}})}_readFooter(){return Ce(this,void 0,void 0,function*(){const{_handle:e}=this;e._pending&&(yield e._pending);const t=e.size-gv,i=yield e.readInt32(t),a=yield e.readAt(t-i,i);return Qd.decode(a)})}_readNextMessageAndValidate(e){return Ce(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?tf(e)?new vv(new bv(n.read())):new Ql(new Jl(n)):new Ql(new Jl((function*(){})()))}function H1(n){return Ce(this,void 0,void 0,function*(){const e=yield n.peek(Wo+7&-8);return e&&e.byteLength>=4?tf(e)?new vv(new bv(yield n.read())):new Kl(new ql(n)):new Kl(new ql((function(){return qn(this,arguments,function*(){})})()))})}function G1(n){return Ce(this,void 0,void 0,function*(){const{size:e}=yield n.stat(),t=new Gl(n,e);return e>=U1&&tf(yield t.readAt(0,Wo+7&-8))?new $1(new P1(t)):new Kl(new ql(t))})}function Sv(n){const e=jr.from(n);return Ao(e)?e.then(t=>Sv(t)):e.isAsync()?e.readAll().then(t=>new mn(t)):new mn(e.readAll())}function Y1(n){if(n==null)return null;if(typeof n=="bigint"){const e=Number(n);return Number.isSafeInteger(e)?e:n.toString()}if(n instanceof Date){const e=n.toISOString();return e.endsWith("T00:00:00.000Z")?e.slice(0,10):e}return typeof n=="object"?String(n):n}function Q1(n){const e=Sv(n),t=e.schema.fields.map(a=>a.name),i=new Array(e.numRows);for(let a=0;a({...e,charts:e.charts.map(t=>{var f,h;const i=t.query,a=(f=t.interactions)==null?void 0:f.brush,c=(h=t.interactions)==null?void 0:h.select;return{...t,query:{...i,metrics:Zr(i.metrics)??[],dimensions:Zr(i.dimensions),filters:Zr(i.filters),segments:Zr(i.segments),order_by:Zr(i.order_by),orderBy:Zr(i.orderBy)},interactions:t.interactions?{...t.interactions,brush:typeof a=="object"?{...a,fields:Zr(a.fields)}:a,select:typeof c=="object"?{...c,fields:Zr(c.fields)}:c}:void 0}})}))}}const J1="application/vnd.apache.arrow.stream";class q1{constructor(e){Mn(this,"active",0);Mn(this,"waiters",[]);this.max=e}async run(e){var t;this.active>=this.max&&await new Promise(i=>this.waiters.push(i)),this.active+=1;try{return await e()}finally{this.active-=1,(t=this.waiters.shift())==null||t()}}}function Z1(n){var t,i,a,c,f;const e={};return(t=n.metrics)!=null&&t.length&&(e.metrics=n.metrics),(i=n.dimensions)!=null&&i.length&&(e.dimensions=n.dimensions),(a=n.filters)!=null&&a.length&&(e.filters=n.filters),(c=n.segments)!=null&&c.length&&(e.segments=n.segments),(f=n.orderBy)!=null&&f.length&&(e.order_by=n.orderBy),n.limit!=null&&(e.limit=n.limit),n.offset!=null&&(e.offset=n.offset),n.ungrouped&&(e.ungrouped=!0),n.parameters&&(e.parameters=n.parameters),n.usePreaggregations!=null&&(e.use_preaggregations=n.usePreaggregations),n.timezone&&n.timezone!=="UTC"&&(e.timezone=n.timezone),e}class X1{constructor(e={}){Mn(this,"baseUrl");Mn(this,"token");Mn(this,"sessionToken");Mn(this,"transport");Mn(this,"usePreaggregations");Mn(this,"gate");Mn(this,"onUnauthorized");this.baseUrl=(e.baseUrl??"").replace(/\/$/,""),this.token=e.token,this.transport=e.transport??"json",this.usePreaggregations=e.usePreaggregations??!0,this.gate=new q1(e.maxConcurrency??6),this.onUnauthorized=e.onUnauthorized}body(e){return Z1({usePreaggregations:this.usePreaggregations,...e})}headers(e){const t={...e};return this.sessionToken?t.Authorization=`Sidemantic-Session ${this.sessionToken}`:this.token&&(t.Authorization=`Bearer ${this.token}`),t}isCrossOrigin(){return!this.baseUrl||typeof globalThis.location>"u"?!1:new URL(this.baseUrl,globalThis.location.href).origin!==globalThis.location.origin}url(e){return`${this.baseUrl}${e}`}async getJson(e){const t=await fetch(this.url(e),{headers:this.headers(),credentials:"include"});if(!t.ok)throw new Error(await this.errorText(t,e));return await t.json()}async errorText(e,t){var a;e.status===401&&((a=this.onUnauthorized)==null||a.call(this));let i="";try{const c=await e.json();i=c.error??c.detail??""}catch{}return`${t} failed (${e.status})${i?`: ${i}`:""}`}async health(){try{return(await fetch(this.url("/health"),{headers:this.headers(),credentials:"include"})).ok}catch{return!1}}async getCatalog(){try{const t=await fetch(this.url("/describe"),{headers:this.headers(),credentials:"include"});if(t.ok){const i=vb(await t.json());try{return bb(i,await this.getJson("/graph"))}catch{return i}}}catch{}const e=await this.getJson("/graph");return xb(e)}async getDashboard(){try{const e=await fetch(this.url("/dashboard"),{headers:this.headers()});if(e.status===404)return null;if(!e.ok)throw new Error(await this.errorText(e,"/dashboard"));if(!(e.headers.get("content-type")??"").includes("application/json"))return null;const t=await e.json();return typeof t.title=="string"&&Array.isArray(t.tabs)?K1(t):null}catch{return null}}async compile(e){const t=await fetch(this.url("/compile"),{method:"POST",headers:this.headers({"Content-Type":"application/json"}),credentials:"include",body:JSON.stringify(this.body(e))});if(!t.ok)throw new Error(await this.errorText(t,"/compile"));return(await t.json()).sql}async runQuery(e){return this.gate.run(()=>this.transport==="arrow"?this.runQueryArrow(e):this.runQueryJson(e))}async runQueryJson(e){const t=await fetch(this.url("/query"),{method:"POST",headers:this.headers({"Content-Type":"application/json"}),credentials:"include",body:JSON.stringify(this.body(e))});if(!t.ok)throw new Error(await this.errorText(t,"/query"));const i=await t.json(),a=i.rows??[];return{columns:a.length?Object.keys(a[0]):[],rows:a,rowCount:i.row_count??a.length,sql:i.sql??""}}async runQueryArrow(e){const t=await fetch(this.url("/query?format=arrow"),{method:"POST",headers:this.headers({"Content-Type":"application/json",Accept:J1}),credentials:"include",body:JSON.stringify(this.body(e))});if(!t.ok)throw new Error(await this.errorText(t,"/query"));const i=new Uint8Array(await t.arrayBuffer()),{columns:a,rows:c}=Q1(i),f=t.headers.get("X-Sidemantic-Sql")??"";return{columns:a,rows:c,rowCount:c.length,sql:f}}async createBrowserSession(e){var a;const t=this.isCrossOrigin(),i=await fetch(this.url("/auth/session"),{method:"POST",headers:{Authorization:`Bearer ${e}`,...t?{"X-Sidemantic-Session-Mode":"header"}:{}},credentials:"include"});if(i.status===404||i.ok&&!((a=i.headers.get("content-type"))!=null&&a.includes("application/json"))){this.token=e;return}if(!i.ok)throw new Error(await this.errorText(i,"/auth/session"));if(t){const c=await i.json();if(!c.session_token)throw new Error("/auth/session did not return a cross-origin session token");this.sessionToken=c.session_token}this.token=void 0}}function _v({brand:n,toolbar:e,filters:t,rail:i,children:a,drawer:c,showRail:f=!0,openRailRequest:h}){const[m,g]=F.useState(()=>typeof window<"u"&&window.matchMedia("(max-width: 767px)").matches),[v,x]=F.useState(()=>typeof window>"u"||!window.matchMedia("(max-width: 767px)").matches),b=F.useId(),w=F.useRef(null),j=F.useRef(null),O=f&&v;return F.useEffect(()=>{const T=window.matchMedia("(max-width: 767px)"),W=()=>{g(T.matches),x(!T.matches)};return T.addEventListener("change",W),()=>T.removeEventListener("change",W)},[]),F.useEffect(()=>{h&&!m&&x(!0)},[h,m]),F.useEffect(()=>{if(!m||!v)return;const T=j.current,W=document.body.style.overflow;document.body.style.overflow="hidden",window.requestAnimationFrame(()=>{var E,I;return(I=(E=w.current)==null?void 0:E.querySelector("button"))==null?void 0:I.focus()});function R(E){var U;if(E.key==="Escape"){E.preventDefault(),x(!1);return}if(E.key!=="Tab")return;const I=(U=w.current)==null?void 0:U.querySelectorAll('button:not(:disabled), select:not(:disabled), input:not(:disabled), [href], [tabindex]:not([tabindex="-1"])');if(!(I!=null&&I.length))return;const V=I[0],M=I[I.length-1];E.shiftKey&&document.activeElement===V?(E.preventDefault(),M.focus()):!E.shiftKey&&document.activeElement===M&&(E.preventDefault(),V.focus())}return document.addEventListener("keydown",R,!0),()=>{document.body.style.overflow=W,document.removeEventListener("keydown",R,!0),T==null||T.focus()}},[m,v]),u.jsxs("div",{className:"flex h-[100dvh] min-w-0 flex-col overflow-hidden bg-bg text-ink",children:[u.jsxs("header",{className:"relative z-40 flex shrink-0 flex-col gap-2 border-b border-line bg-surface px-3 py-2 md:flex-row md:items-center md:justify-between md:gap-3",children:[u.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[f?u.jsx("button",{ref:j,type:"button","aria-label":m?"Open catalog":v?"Collapse sidebar":"Expand sidebar","aria-expanded":v,"aria-controls":b,onClick:()=>x(T=>!T),className:"grid size-7 shrink-0 place-items-center border border-line text-faint hover:border-faint hover:text-ink",children:v?"‹":"›"}):null,n]}),u.jsx("div",{className:"flex w-full min-w-0 flex-wrap items-center gap-2 overflow-visible md:w-auto md:shrink-0 md:flex-nowrap",children:e})]}),t?u.jsx("div",{className:"flex min-h-9 shrink-0 flex-wrap items-center gap-2 overflow-x-auto border-b border-line bg-surface px-3 py-2 md:h-9 md:flex-nowrap md:py-0",children:t}):null,u.jsxs("div",{className:`grid min-h-0 min-w-0 flex-1 grid-cols-1 ${O?"md:grid-cols-[260px_minmax(0,1fr)]":"md:grid-cols-1"}`,children:[f&&O?u.jsxs(u.Fragment,{children:[m?u.jsx("button",{type:"button","aria-label":"Close catalog",className:"fixed inset-0 z-40 bg-black/35 backdrop-blur-[2px]",onClick:()=>x(!1)}):null,u.jsxs("aside",{id:b,ref:w,role:m?"dialog":void 0,"aria-modal":m?"true":void 0,"aria-label":m?"Data catalog":void 0,onClick:T=>{m&&T.target.closest("[data-catalog-metric], [data-catalog-dimension]")&&x(!1)},onChange:()=>m&&x(!1),className:"fixed inset-y-0 left-0 z-50 min-h-0 w-[min(88vw,320px)] overflow-y-auto bg-surface shadow-[var(--shadow)] md:static md:z-auto md:w-auto md:border-r md:border-line md:shadow-none",children:[m?u.jsxs("div",{"data-testid":"catalog-drawer-header",className:"sticky top-0 z-10 flex items-center justify-between border-b border-line bg-surface px-4 py-3",children:[u.jsxs("div",{children:[u.jsx("p",{className:"text-sm font-semibold text-ink",children:"Catalog"}),u.jsx("p",{className:"text-xs text-muted",children:"Choose a model and fields"})]}),u.jsx("button",{type:"button","aria-label":"Close catalog",onClick:()=>x(!1),className:"grid size-10 place-items-center rounded-full bg-surface-soft text-muted hover:bg-line hover:text-ink",children:u.jsx("span",{"aria-hidden":"true",className:"text-xl leading-none",children:"×"})})]}):null,i]})]}):null,u.jsxs("main",{className:"relative min-h-0 min-w-0 overflow-hidden",children:[u.jsx("div",{className:`h-full overflow-y-auto ${c?"pb-8":""}`,children:a}),c]})]})]})}function eS({dashboardTitle:n,modelLabel:e,onHome:t}){const i=u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"text-sm font-semibold text-ink",children:n??"Sidemantic"}),n===void 0&&e?u.jsx("span",{className:"truncate text-2xs text-faint",children:e}):null]});return n!==void 0?u.jsx("span",{className:"flex min-w-0 items-baseline gap-2",children:i}):u.jsx("button",{type:"button",onClick:t,"aria-label":"Home",className:"flex min-w-0 items-baseline gap-2",children:i})}const tS=new Set(["second","minute","hour","day","week","month","quarter","year"]);function il(n){return n===void 0?[]:Array.isArray(n)?n:[n]}function ol(n,e){return n.models.flatMap(t=>t.dimensions).find(t=>e===t.ref||e.startsWith(`${t.ref}__`))}function nS(n,e){const t=n.split("__").at(-1);return t&&tS.has(t)?t:e}function rS(n){var a;const e=(a=n.defaults)==null?void 0:a.query;if(!e||typeof e!="object")return;const t=e,i=t.use_preaggregations??t.usePreaggregations;return typeof i=="boolean"?i:void 0}function sS(n,e){var c;const t=(c=n.defaults)==null?void 0:c.query,i=t&&typeof t=="object"?t:{},a=e.query.interaction_preaggregations??e.query.interactionPreaggregations??e.interaction_preaggregations??e.interactionPreaggregations??i.interaction_preaggregations??i.interactionPreaggregations;return typeof a=="boolean"?a:void 0}function Cs(n,e,t){var I,V,M,U,G,z,Y;if(!(e!=null&&e.tabs.length))return null;const i=e.tabs.find(P=>P.id===t)??e.tabs[0],a=i.charts[0];if(!a)return null;const c=il(a.query.dimensions),f=il(a.query.metrics),h=f.map(P=>{var ee;return(ee=n.graphMetrics.find(te=>te.ref===P))==null?void 0:ee.ownerModel}).find(P=>!!P),m=((I=f.find(P=>P.includes(".")))==null?void 0:I.split(".")[0])??h??((V=c.find(P=>P.includes(".")))==null?void 0:V.split(".")[0]),g=n.models.find(P=>P.name===m)??n.models[0];if(!g)return null;const v=[...n.models.flatMap(P=>P.metrics),...ji(n,g.name)],x=f.map(P=>v.find(ee=>ee.ref===P)).filter(P=>!!P),b=c.map(P=>ol(n,P)).filter((P,ee,te)=>!!P&&te.findIndex(ne=>(ne==null?void 0:ne.ref)===(P==null?void 0:P.ref))===ee),w=(M=a.encoding)==null?void 0:M.y,O=(Array.isArray(w)?w:w?[w]:[]).find(P=>x.some(ee=>ee.ref===P))??((U=x[0])==null?void 0:U.ref)??((G=g.metrics[0])==null?void 0:G.ref)??"",T=(z=a.encoding)==null?void 0:z.x,W=(T&&((Y=ol(n,T))==null?void 0:Y.type)==="time"?T:void 0)??c.find(P=>{var ee;return((ee=ol(n,P))==null?void 0:ee.type)==="time"}),R=g.defaultGrain??"month",E=W?ol(n,W):g.timeDimension;return{id:i.id,label:i.label??i.id,title:a.title??e.title,model:g,metrics:x.length?x:g.metrics,dimensions:b.length?b:g.dimensions,timeDimension:E,selectedMetric:O,grain:W?nS(W,R):R,filters:il(a.query.filters),segments:il(a.query.segments),usePreaggregations:sS(e,a)??a.query.use_preaggregations??a.query.usePreaggregations??rS(e)}}const Fd=["second","minute","hour","day","week","month","quarter","year"];function iS(n,e){if(n!=null&&n.length){const i=new Set(n.map(c=>c.toLowerCase())),a=Fd.filter(c=>i.has(c));if(a.length)return a}const t=["day","week","month","quarter","year"];return e&&!t.includes(e)?Fd.filter(i=>i===e||t.includes(i)):t}function Ni(n){return n.toISOString().slice(0,10)}function nf(n){return n.slice(0,10)}function Oi(n){const e=n.trim();return/^\d{4}-\d{2}-\d{2}$/.test(e)?`${e}T00:00:00Z`:/[zZ]|[+-]\d{2}:?\d{2}$/.test(e)?e:`${e.replace(" ","T")}Z`}function Fs(n){return new Date(`${nf(n)}T00:00:00Z`)}function Uo(n,e){const t=Fs(n);return t.setUTCDate(t.getUTCDate()+e),Ni(t)}function oS(n){return Math.round((Fs(n.to).getTime()-Fs(n.from).getTime())/864e5)+1}function aS(n){if(n.from.includes("T")||n.to.includes("T")){const a=Date.parse(Oi(n.from)),f=Date.parse(Oi(n.to))-a;return{from:new Date(a-f).toISOString().slice(0,19),to:new Date(a).toISOString().slice(0,19)}}const e=oS(n),t=Uo(n.from,-1);return{from:Uo(t,-(e-1)),to:t}}function Rm(n){if(n.includes("T")){const f=new Date(Oi(n)),h=f.getUTCFullYear()-1,m=f.getUTCMonth(),g=new Date(Date.UTC(h,m+1,0)).getUTCDate();return new Date(Date.UTC(h,m,Math.min(f.getUTCDate(),g),f.getUTCHours(),f.getUTCMinutes(),f.getUTCSeconds())).toISOString().slice(0,19)}const e=Fs(n),t=e.getUTCFullYear()-1,i=e.getUTCMonth(),a=e.getUTCDate(),c=new Date(Date.UTC(t,i+1,0)).getUTCDate();return Ni(new Date(Date.UTC(t,i,Math.min(a,c))))}function lS(n){return{from:Rm(n.from),to:Rm(n.to)}}function cS(n,e){const t=n.trim(),i=t.slice(0,10);if(e!=="second"&&e!=="minute"&&e!=="hour")return i||n;const a=t.slice(10).match(/(\d{2}):(\d{2})(?::(\d{2}))?/);if(!a)return i||n;const c=e==="second"&&a[3]?`${a[1]}:${a[2]}:${a[3]}`:`${a[1]}:${a[2]}`;return`${i} ${c}`}const uS=[{key:"7d",label:"Last 7 days",days:7},{key:"28d",label:"Last 28 days",days:28},{key:"90d",label:"Last 90 days",days:90},{key:"180d",label:"Last 180 days",days:180},{key:"365d",label:"Last 12 months",days:365}];function dS(n,e=new Date){const t=Ni(e);return{from:Uo(t,-(n-1)),to:t}}function fS(n,e){return e.from.includes("T")||e.to.includes("T")?[`${n} >= cast('${e.from}' as timestamp)`,`${n} < cast('${e.to}' as timestamp)`]:[`${n} >= cast('${e.from}' as date)`,`${n} < cast('${Uo(e.to,1)}' as date)`]}function Lm(n,e,t){if(t==="second"||t==="minute"||t==="hour"){const f=t==="second"?1e3:t==="minute"?6e4:36e5;return Math.round((Date.parse(Oi(e))-Date.parse(Oi(n)))/f)}const i=Fs(n),a=Fs(e),c=(a.getUTCFullYear()-i.getUTCFullYear())*12+(a.getUTCMonth()-i.getUTCMonth());switch(t){case"week":return Math.round((a.getTime()-i.getTime())/(7*864e5));case"month":return c;case"quarter":return Math.round(c/3);case"year":return a.getUTCFullYear()-i.getUTCFullYear();default:return Math.round((a.getTime()-i.getTime())/864e5)}}function ld(n,e){return new Date(Date.parse(Oi(n))+e).toISOString().slice(0,19)}function hS(n,e){const t=nf(n),i=Fs(t);switch(e){case"second":return ld(n,1e3);case"minute":return ld(n,6e4);case"hour":return ld(n,36e5);case"day":return t;case"week":return Uo(n,6);case"month":return Ni(new Date(Date.UTC(i.getUTCFullYear(),i.getUTCMonth()+1,0)));case"quarter":{const a=Math.floor(i.getUTCMonth()/3)*3+3;return Ni(new Date(Date.UTC(i.getUTCFullYear(),a,0)))}case"year":return Ni(new Date(Date.UTC(i.getUTCFullYear(),12,0)));default:return n}}function rf(n){return n.mode==="contains"?!n.pattern:n.values.length===0}function sf(n){return Object.fromEntries(n.map(e=>[e.ref,e.type]))}function oc(n){return sf(n.models.flatMap(e=>e.dimensions))}function Um(n,e){if((e==="numeric"||e==="number")&&n.trim()!==""&&Number.isFinite(Number(n)))return n;if(e==="boolean"){const t=n.toLowerCase();if(t==="true"||t==="false")return t}return Tn(n)}function Nv(n){return n.replaceAll("\\","\\\\").replaceAll("%","\\%").replaceAll("_","\\_")}function pS(n,e,t){const i=e.mode==="exclude",a=e.values.includes(er),c=e.values.filter(h=>h!==er);let f=null;if(c.length===1)f=`${n} ${i?"!=":"="} ${Um(c[0],t)}`;else if(c.length>1){const h=c.map(m=>Um(m,t)).join(", ");f=`${n} ${i?"NOT IN":"IN"} (${h})`}if(!i){const h=[];return f&&h.push(f),a&&h.push(`${n} IS NULL`),h.length===0?null:h.length===1?h[0]:`(${h.join(" OR ")})`}if(a){const h=[];return f&&h.push(f),h.push(`${n} IS NOT NULL`),h.length===1?h[0]:`(${h.join(" AND ")})`}return f?`(${f} OR ${n} IS NULL)`:null}function jv(n,e={}){var i;const t=[];for(const[a,c]of Object.entries(n)){if(a===e.excludeDim||rf(c))continue;const f=(i=e.types)==null?void 0:i[a];if(c.mode==="contains"){const m=Tn(`%${Nv(c.pattern??"")}%`);t.push(`CAST(${a} AS VARCHAR) ILIKE ${m} ESCAPE '\\'`);continue}const h=pS(a,c,f);h&&t.push(h)}return t}function Os(n,e={}){const t=jv(n,{types:e.types,excludeDim:e.excludeDim});return e.timeRef&&e.range&&t.push(...fS(e.timeRef,e.range)),t}function $m(n,e,t,i){return{metrics:n,filters:e,...t!=null&&t.length?{segments:t}:{},...i!=null?{usePreaggregations:i}:{}}}const mS={second:2e3,minute:2e3,hour:9600,day:4e3,week:800,month:240,quarter:120,year:60};function Pm(n,e,t,i,a,c,f=!1){const h=`${e}__${t}`,m=t==="second"||t==="minute",g=m&&!f;return{metrics:n,dimensions:[h],filters:i,...a!=null&&a.length?{segments:a}:{},...c!=null?{usePreaggregations:c}:{},orderBy:[`${h} ${g?"DESC":"ASC"}`],...!m||g?{limit:mS[t]??2e3}:{}}}function zm(n,e,t,i=6,a,c){return{metrics:[n],dimensions:[e],filters:t,...a!=null&&a.length?{segments:a}:{},...c!=null?{usePreaggregations:c}:{},orderBy:[`${n} DESC`],limit:i}}function yS(n,e,t=50,i,a){return{dimensions:[n],filters:e,...i!=null&&i.length?{segments:i}:{},...a!=null?{usePreaggregations:a}:{},orderBy:[`${n} ASC`],limit:t}}function gS(n,e,t,i,a=500){return{metrics:n,dimensions:e,filters:t,orderBy:i,limit:a}}function vS(n,e,t=50,i,a){return{dimensions:n.dimensions,metrics:n.metrics,filters:e,...i!=null&&i.length?{segments:i}:{},...a!=null?{usePreaggregations:a}:{},ungrouped:!0,limit:t}}function xS(n,e){const t=n??[];return t.includes(e)?t.filter(i=>i!==e):[...t,e]}function al(n,e,t){const i={...n};return rf(t)?delete i[e]:i[e]=t,i}function bS(n,e){switch(e.type){case"hydrate":return e.state;case"setView":return{...n,view:e.view};case"setDashboardTab":return{...n,view:"explore",dashboardTab:e.tab,model:e.model,selectedMetric:e.metric,grain:e.grain,filters:{},dateRange:void 0,pivotDims:[],pivotMetrics:[]};case"setModel":return{...n,model:e.model,selectedMetric:e.metric,grain:e.grain,filters:{},pivotDims:[],pivotMetrics:[]};case"setMetric":return{...n,selectedMetric:e.metric};case"toggleFilter":{const t=n.filters[e.dim],i=e.mode??(t&&t.mode!=="contains"?t.mode:"include"),a=t&&t.mode===i?t.values:[],c=xS(a,e.value);return{...n,filters:al(n.filters,e.dim,{mode:i,values:c})}}case"setFilterMode":{const t=n.filters[e.dim],i={mode:e.mode,values:(t==null?void 0:t.values)??[],pattern:t==null?void 0:t.pattern};return{...n,filters:al(n.filters,e.dim,i)}}case"setFilterPattern":{const t=n.filters[e.dim],i={mode:"contains",values:(t==null?void 0:t.values)??[],pattern:e.pattern};return{...n,filters:al(n.filters,e.dim,i)}}case"removeFilterValue":{const t=n.filters[e.dim];if(!t)return n;const i=t.values.filter(a=>a!==e.value);return{...n,filters:al(n.filters,e.dim,{...t,values:i})}}case"removeFilterDim":{const t={...n.filters};return delete t[e.dim],{...n,filters:t}}case"clearFilters":return{...n,filters:{}};case"setGrain":return{...n,grain:e.grain};case"setTimezone":return{...n,timezone:e.timezone};case"setDateRange":return{...n,dateRange:e.range};case"setContextColumn":return{...n,contextColumn:e.column};case"setComparison":return{...n,comparison:e.comparison,comparisonRange:e.comparison==="custom"?e.range:void 0};case"setPivotDims":return{...n,pivotDims:e.dims};case"setPivotMetrics":return{...n,pivotMetrics:e.metrics};case"reset":return{...e.initial,view:n.view};default:return n}}function wS(n){return n.models.find(e=>e.timeDimension)??n.models[0]}function kv(n,e){var t,i;return((t=n==null?void 0:n.metrics[0])==null?void 0:t.ref)??(n?(i=ji(e,n.name)[0])==null?void 0:i.ref:void 0)??""}function Iv(n,e,t){const i=Cs(n,e,t),a=(i==null?void 0:i.model)??wS(n),c=(i==null?void 0:i.selectedMetric)??kv(a,n);return{view:i?"explore":"home",dashboardTab:i==null?void 0:i.id,model:(a==null?void 0:a.name)??"",selectedMetric:c,filters:{},grain:(i==null?void 0:i.grain)??(a==null?void 0:a.defaultGrain)??"month",timezone:"UTC",dateRange:void 0,contextColumn:"none",comparison:"previous",comparisonRange:void 0,pivotDims:[],pivotMetrics:[]}}function SS(n,e,t){const i=new URLSearchParams(t),a=i.get("metric"),c=i.get("grain"),f=a===n.selectedMetric&&e.metrics.some(m=>m.ref===a),h=c===n.grain;return{...n,view:"explore",dashboardTab:e.id,model:e.model.name,selectedMetric:f?n.selectedMetric:e.selectedMetric,grain:h?n.grain:e.grain}}const _S=["home","explore","pivot"],NS=new Set(Fd),jS=new Set(["none","pctTotal","delta","deltaPct"]),kS=new Set(["off","previous","year","custom"]),IS="none",MS="previous",DS="UTC";function CS(n){return n!=null&&/^[A-Za-z][A-Za-z0-9/_+-]{0,63}$/.test(n)}function cd(n){if(n)try{return JSON.parse(n)}catch{return}}function Zl(n){return Array.isArray(n)&&n.every(e=>typeof e=="string")}function ll(n){return n!=null&&/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2})?$/.test(n)&&!Number.isNaN(Date.parse(n))}const FS=new Set(["include","exclude","contains"]);function OS(n){if(Zl(n))return{mode:"include",values:n};if(typeof n!="object"||n===null||Array.isArray(n))return null;const e=n;if(!FS.has(e.mode))return null;const t=e.mode,i=Zl(e.values)?e.values:[],a=typeof e.pattern=="string"?e.pattern:void 0,c={mode:t,values:i,pattern:a};return rf(c)?null:c}function TS(n){if(typeof n!="object"||n===null||Array.isArray(n))return null;const e={};for(const[t,i]of Object.entries(n)){const a=OS(i);a&&(e[t]=a)}return e}function AS(n){const e={};for(const[t,i]of Object.entries(n))e[t]=i.mode==="include"?i.values:i;return e}function BS(n){const e=new URLSearchParams;return e.set("view",n.view),n.dashboardTab&&e.set("tab",n.dashboardTab),n.model&&e.set("model",n.model),n.selectedMetric&&e.set("metric",n.selectedMetric),n.grain&&e.set("grain",n.grain),n.timezone&&n.timezone!==DS&&e.set("tz",n.timezone),n.dateRange&&(e.set("from",n.dateRange.from),e.set("to",n.dateRange.to)),n.contextColumn!==IS&&e.set("ctx",n.contextColumn),n.comparison!==MS&&e.set("cmp",n.comparison),n.comparison==="custom"&&n.comparisonRange&&(e.set("cfrom",n.comparisonRange.from),e.set("cto",n.comparisonRange.to)),Object.keys(n.filters).length&&e.set("filters",JSON.stringify(AS(n.filters))),n.pivotDims.length&&e.set("pdims",JSON.stringify(n.pivotDims)),n.pivotMetrics.length&&e.set("pmetrics",JSON.stringify(n.pivotMetrics)),e.toString()}function ES(n,e){const t=new URLSearchParams(n),i={...e},a=t.get("view");a&&_S.includes(a)&&(i.view=a);const c=t.get("tab");c&&(i.dashboardTab=c);const f=t.get("model");f&&(i.model=f);const h=t.get("metric");h&&(i.selectedMetric=h);const m=t.get("grain");m&&NS.has(m)&&(i.grain=m);const g=t.get("tz");CS(g)&&(i.timezone=g);const v=t.get("from"),x=t.get("to");ll(v)&&ll(x)&&Date.parse(v)<=Date.parse(x)&&(i.dateRange={from:v,to:x});const b=t.get("ctx");b&&jS.has(b)&&(i.contextColumn=b);const w=t.get("cmp");w&&kS.has(w)&&(i.comparison=w);const j=t.get("cfrom"),O=t.get("cto");i.comparison==="custom"&&ll(j)&&ll(O)&&Date.parse(j)<=Date.parse(O)&&(i.comparisonRange={from:j,to:O});const T=TS(cd(t.get("filters")));T&&(i.filters=T);const W=cd(t.get("pdims"));Zl(W)&&(i.pivotDims=W);const R=cd(t.get("pmetrics"));return Zl(R)&&(i.pivotMetrics=R),i}const Mv=F.createContext(null);function RS({catalog:n,backend:e,dashboard:t,children:i}){const a=F.useMemo(()=>Iv(n,t),[n,t]),[c,f]=F.useReducer(bS,void 0,()=>{const m=ES(window.location.search,a),g=Cs(n,t,m.dashboardTab);return g?SS(m,g,window.location.search):m});F.useEffect(()=>{const m=BS(c),g=`${window.location.pathname}${m?`?${m}`:""}`;window.history.replaceState(null,"",g)},[c]);const h=F.useMemo(()=>({state:c,dispatch:f,catalog:n,backend:e,initial:a,dashboard:t}),[c,n,e,a,t]);return u.jsx(Mv.Provider,{value:h,children:i})}function ls(){const n=F.useContext(Mv);if(!n)throw new Error("useExplorer must be used within ExplorerProvider");return n}const Is={active:0,listeners:new Set};function Dv(){for(const n of Is.listeners)n()}function LS(){Is.active+=1,Dv()}function US(){Is.active=Math.max(0,Is.active-1),Dv()}function Cv(){return F.useSyncExternalStore(n=>(Is.listeners.add(n),()=>Is.listeners.delete(n)),()=>Is.active>0,()=>!1)}const $S=80;function Zn(n,e){const[t,i]=F.useState({loading:!1}),a=F.useRef(0),c=e?JSON.stringify(e):null;return F.useEffect(()=>{if(!e){i({loading:!1});return}const f=++a.current;i(m=>({result:m.result,loading:!0}));const h=setTimeout(()=>{LS(),n.runQuery(e).then(m=>{f===a.current&&i({result:m,loading:!1})}).catch(m=>{f===a.current&&i({loading:!1,error:m instanceof Error?m.message:String(m)})}).finally(()=>US())},$S);return()=>clearTimeout(h)},[c,n]),t}const PS=[{mode:"include",label:"Include"},{mode:"exclude",label:"Exclude"},{mode:"contains",label:"Contains"}],zS=50,Vm=200;function Wm(n,e){const[t,i]=F.useState(n);return F.useEffect(()=>{const a=setTimeout(()=>i(n),e);return()=>clearTimeout(a)},[n,e]),t}function Fv({dim:n,model:e,onClose:t}){var H,_;const{state:i,dispatch:a,backend:c,catalog:f,dashboard:h}=ls(),m=F.useMemo(()=>Cs(f,h,i.dashboardTab),[f,h,i.dashboardTab]),g=i.filters[n.ref],[v,x]=F.useState((g==null?void 0:g.mode)??"include"),b=F.useMemo(()=>new Set((g==null?void 0:g.mode)!=="contains"?(g==null?void 0:g.values)??[]:[]),[g]),w=F.useRef(null),j=F.useRef(null),O=F.useId(),[T,W]=F.useState(""),R=Wm(T,Vm),E=(g==null?void 0:g.mode)==="contains"?g.pattern??"":"",[I,V]=F.useState(E),M=Wm(I,Vm);F.useEffect(()=>{var Z;const k=document.activeElement;return(Z=j.current)==null||Z.focus(),()=>{var ae;return(ae=k==null?void 0:k.focus)==null?void 0:ae.call(k)}},[]),F.useEffect(()=>{function k(ae){ae.key==="Escape"&&(ae.stopPropagation(),t())}function Z(ae){w.current&&!w.current.contains(ae.target)&&t()}return document.addEventListener("keydown",k,!0),document.addEventListener("mousedown",Z,!0),()=>{document.removeEventListener("keydown",k,!0),document.removeEventListener("mousedown",Z,!0)}},[t]),F.useEffect(()=>{v==="contains"&&M!==E&&a({type:"setFilterPattern",dim:n.ref,pattern:M})},[M,v,n.ref,a]);const U=((H=m==null?void 0:m.timeDimension)==null?void 0:H.ref)??((_=e.timeDimension)==null?void 0:_.ref),G=F.useMemo(()=>oc(f),[f]),z=F.useMemo(()=>{const k=[...(m==null?void 0:m.filters)??[],...Os(i.filters,{timeRef:U,range:i.dateRange,excludeDim:n.ref,types:G})];if(R.trim()){const Z=Tn(`%${Nv(R.trim())}%`);k.push(`CAST(${n.ref} AS VARCHAR) ILIKE ${Z} ESCAPE '\\'`)}return k},[m,i.filters,U,i.dateRange,n.ref,R,G]),Y=v!=="contains",{result:P,loading:ee,error:te}=Zn(c,Y?yS(n.ref,z,zS,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations):null),ne=Sr(n.ref),ie=F.useMemo(()=>P?P.rows.map(k=>{const Z=k[ne];return Z==null?er:String(Z)}):[],[P,ne]),re=!!P&&P.rows.length>0&&!P.columns.includes(ne),se=Y&&(ee||re);function A(k){x(k),g&&a({type:"setFilterMode",dim:n.ref,mode:k}),k==="contains"&&V(E)}function Q(k){var we;if(k.key!=="Tab")return;const Z=(we=w.current)==null?void 0:we.querySelectorAll('button, input, [href], select, textarea, [tabindex]:not([tabindex="-1"])');if(!Z||Z.length===0)return;const ae=Z[0],ce=Z[Z.length-1];k.shiftKey&&document.activeElement===ae?(k.preventDefault(),ce.focus()):!k.shiftKey&&document.activeElement===ce&&(k.preventDefault(),ae.focus())}return u.jsxs("div",{ref:w,role:"dialog","aria-modal":"true","aria-labelledby":O,onKeyDown:Q,className:"absolute left-0 z-50 mt-1 w-64 border border-line bg-surface p-2 text-2xs shadow-lg",children:[u.jsxs("div",{id:O,className:"mb-2 flex items-baseline justify-between gap-2",children:[u.jsx("span",{className:"truncate font-semibold text-ink",children:n.label}),u.jsx("button",{type:"button","aria-label":"Close filter editor",onClick:t,className:"grid size-4 place-items-center rounded-full bg-surface-soft text-faint hover:bg-line hover:text-ink",children:"×"})]}),u.jsx("div",{role:"group","aria-label":"Filter mode",className:"mb-2 grid grid-cols-3 gap-px border border-line bg-line",children:PS.map(({mode:k,label:Z})=>u.jsx("button",{type:"button","aria-pressed":v===k,onClick:()=>A(k),className:`px-1.5 py-1 text-center ${v===k?"bg-accent-soft font-medium text-accent":"bg-surface text-muted hover:bg-surface-soft"}`,children:Z},k))}),v==="contains"?u.jsx("input",{ref:j,type:"text","aria-label":`${n.label} contains`,placeholder:"Substring…",value:I,onChange:k=>V(k.target.value),className:"w-full border border-line bg-surface px-1.5 py-1 text-2xs text-ink placeholder:text-faint"}):u.jsxs(u.Fragment,{children:[u.jsx("input",{ref:j,type:"text","aria-label":`Search ${n.label} values`,placeholder:"Search values…",value:T,onChange:k=>W(k.target.value),className:"w-full border border-line bg-surface px-1.5 py-1 text-2xs text-ink placeholder:text-faint"}),u.jsx("div",{className:"mt-2 max-h-56 overflow-y-auto",role:"group","aria-label":`${n.label} values`,children:te?u.jsx("p",{className:"px-1 py-2 text-danger",children:te}):se?u.jsx("div",{className:"space-y-1.5 p-1",children:[0,1,2,3,4].map(k=>u.jsx("div",{className:"skeleton h-4 w-full"},k))}):ie.length===0?u.jsx("p",{className:"px-1 py-2 text-faint",children:"No values"}):ie.map(k=>{const Z=b.has(k);return u.jsxs("label",{className:"flex cursor-pointer items-center gap-2 px-1 py-1 hover:bg-surface-soft",children:[u.jsx("input",{type:"checkbox",checked:Z,onChange:()=>a({type:"toggleFilter",dim:n.ref,value:k,mode:v}),className:"size-3 accent-[var(--accent)]"}),u.jsx("span",{className:"min-w-0 truncate text-ink",children:rs(k)})]},k)})})]}),u.jsxs("div",{className:"mt-2 flex items-center justify-between border-t border-line pt-2",children:[u.jsx("button",{type:"button",onClick:()=>a({type:"removeFilterDim",dim:n.ref}),className:"text-muted underline-offset-2 hover:text-ink hover:underline",children:"Clear"}),u.jsx("button",{type:"button",onClick:t,className:"border border-line px-2 py-1 text-muted hover:bg-surface-soft",children:"Done"})]})]})}function VS({model:n}){const e=n.dimensions.filter(m=>m.type!=="time"),[t,i]=F.useState(!1),[a,c]=F.useState(null),f=F.useRef(null);F.useEffect(()=>{if(!t)return;function m(v){v.key==="Escape"&&h()}function g(v){a||f.current&&!f.current.contains(v.target)&&h()}return document.addEventListener("keydown",m,!0),document.addEventListener("mousedown",g,!0),()=>{document.removeEventListener("keydown",m,!0),document.removeEventListener("mousedown",g,!0)}},[t,a]);function h(){i(!1),c(null)}return e.length===0?null:u.jsxs("span",{ref:f,className:"relative inline-flex",children:[u.jsx("button",{type:"button","aria-haspopup":"dialog","aria-expanded":t,onClick:()=>t?h():i(!0),className:"inline-flex h-7 shrink-0 items-center rounded-full border border-dashed border-line px-3 text-xs text-muted hover:border-faint hover:text-ink",children:"+ Filter"}),t&&!a?u.jsx("div",{role:"menu","aria-label":"Add a filter for a dimension",className:"absolute left-0 z-50 mt-1 max-h-64 w-48 overflow-y-auto rounded-xl border border-line bg-surface p-1.5 text-2xs shadow-[var(--shadow)]",children:e.map(m=>u.jsx("button",{type:"button",role:"menuitem",onClick:()=>c(m),className:"block w-full truncate px-1.5 py-1 text-left text-muted hover:bg-surface-soft hover:text-ink",children:m.label},m.ref))}):null,t&&a?u.jsx(Fv,{dim:a,model:n,onClose:h}):null]})}function ud(n,e){return n.includes(e)?n.filter(t=>t!==e):[...n,e]}function Hm({metric:n,selected:e,multiple:t,onSelect:i}){return u.jsxs("button",{type:"button","data-catalog-metric":n.ref,"data-selected":e||void 0,"aria-pressed":e,title:n.description,onClick:i,className:"flex w-full items-center justify-between gap-2 border-l-2 px-3 py-1 text-left text-xs hover:bg-surface-soft data-[selected=true]:border-l-accent data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent border-l-transparent text-muted",children:[u.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[t?u.jsx("span",{"aria-hidden":"true",className:"w-3 shrink-0 text-center text-accent",children:e?"✓":""}):null,u.jsx("span",{className:"truncate",children:n.label})]}),n.agg?u.jsx("span",{className:"shrink-0 text-2xs text-faint",children:n.agg}):null]})}function WS({dimension:n,selected:e,onSelect:t}){return u.jsxs("button",{type:"button","data-catalog-dimension":n.ref,"data-selected":e||void 0,"aria-pressed":e,title:n.description,onClick:t,className:"flex w-full items-center justify-between gap-2 border-l-2 border-l-transparent px-3 py-1 text-left text-xs text-muted hover:bg-surface-soft data-[selected=true]:border-l-accent data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent",children:[u.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[u.jsx("span",{"aria-hidden":"true",className:"w-3 shrink-0 text-center",children:e?"✓":""}),u.jsx("span",{className:"truncate",children:n.label})]}),u.jsx("span",{className:"shrink-0 text-2xs text-faint",children:n.type==="time"?"time":""})]})}function HS(){const{state:n,dispatch:e,catalog:t}=ls(),i=t.models.find(h=>h.name===n.model),a=ji(t,n.model),c=n.view==="pivot",f=n.pivotMetrics.length?n.pivotMetrics:n.selectedMetric?[n.selectedMetric]:[];return u.jsxs("nav",{"aria-label":"Semantic layer catalog",className:"flex flex-col gap-4 py-3 text-sm",children:[u.jsxs("section",{className:"px-3",children:[u.jsx("h2",{className:"mb-1 text-xs font-medium text-muted",children:"Model"}),u.jsx("select",{"aria-label":"Model",value:n.model,onChange:h=>{var v,x;const m=t.models.find(b=>b.name===h.target.value),g=((v=m==null?void 0:m.metrics[0])==null?void 0:v.ref)??((x=ji(t,h.target.value)[0])==null?void 0:x.ref)??"";e({type:"setModel",model:h.target.value,metric:g,grain:(m==null?void 0:m.defaultGrain)??"month"})},className:"w-full border border-line bg-surface px-2 py-1 text-xs text-ink",children:t.models.map(h=>u.jsx("option",{value:h.name,children:h.label},h.name))})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-1 px-3 text-xs font-medium text-muted",children:"Metrics"}),u.jsx("div",{children:((i==null?void 0:i.metrics)??[]).map(h=>u.jsx(Hm,{metric:h,selected:c?f.includes(h.ref):n.selectedMetric===h.ref,multiple:c,onSelect:()=>e(c?{type:"setPivotMetrics",metrics:ud(f,h.ref)}:{type:"setMetric",metric:h.ref})},h.ref))}),a.length?u.jsxs(u.Fragment,{children:[u.jsx("h3",{className:"mb-1 mt-3 px-3 text-xs font-medium text-muted",children:"Shared metrics"}),u.jsx("div",{children:a.map(h=>u.jsx(Hm,{metric:h,selected:c?f.includes(h.ref):n.selectedMetric===h.ref,multiple:c,onSelect:()=>e(c?{type:"setPivotMetrics",metrics:ud(f,h.ref)}:{type:"setMetric",metric:h.ref})},h.ref))})]}):null]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-1 px-3 text-xs font-medium text-muted",children:"Dimensions"}),c?u.jsx("div",{children:((i==null?void 0:i.dimensions)??[]).map(h=>u.jsx(WS,{dimension:h,selected:n.pivotDims.includes(h.ref),onSelect:()=>e({type:"setPivotDims",dims:ud(n.pivotDims,h.ref)})},h.ref))}):u.jsx("ul",{className:"px-3 text-xs text-muted",children:((i==null?void 0:i.dimensions)??[]).map(h=>u.jsxs("li",{className:"flex items-center justify-between gap-2 py-0.5",title:h.description,children:[u.jsx("span",{className:"truncate",children:h.label}),u.jsx("span",{className:"shrink-0 text-2xs text-faint",children:h.type==="time"?"time":""})]},h.ref))})]})]})}class GS extends F.Component{constructor(){super(...arguments);Mn(this,"state",{})}static getDerivedStateFromError(t){return{error:t}}render(){return this.state.error?u.jsx("div",{className:"p-4",children:u.jsxs("div",{className:"border border-danger/40 bg-surface p-4",children:[u.jsx("p",{className:"text-sm font-semibold text-danger",children:"Something went wrong rendering this view."}),u.jsx("p",{className:"mt-1 break-words text-xs text-muted",children:this.state.error.message}),u.jsxs("div",{className:"mt-3 flex gap-2",children:[u.jsx("button",{type:"button",onClick:()=>this.setState({error:void 0}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Retry"}),u.jsx("button",{type:"button",onClick:()=>window.location.reload(),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Reload"})]})]})}):this.props.children}}const YS=[{key:"off",label:"Off"},{key:"previous",label:"Previous period"},{key:"year",label:"Previous year"},{key:"custom",label:"Custom range"}];function Ov({range:n,disabled:e,onChange:t,comparison:i,comparisonRange:a,onComparisonChange:c}){const f=F.useRef(null),[h,m]=F.useState((n==null?void 0:n.from)??""),[g,v]=F.useState((n==null?void 0:n.to)??""),[x,b]=F.useState((a==null?void 0:a.from)??""),[w,j]=F.useState((a==null?void 0:a.to)??"");function O(){f.current&&(f.current.open=!1)}function T(I){t(I),O()}function W(I){I==="custom"?c("custom",x&&w?{from:x,to:w}:void 0):c(I)}const R=n?`${n.from} → ${n.to}`:"All time",E=!n;return u.jsxs("details",{ref:f,className:"relative text-xs",onToggle:I=>{e&&(I.currentTarget.open=!1)},children:[u.jsxs("summary",{"aria-disabled":e||void 0,tabIndex:e?-1:void 0,onClick:I=>e&&I.preventDefault(),onKeyDown:I=>{e&&(I.key==="Enter"||I.key===" ")&&I.preventDefault()},className:`flex h-7 cursor-pointer items-center gap-1.5 rounded-full border border-line bg-surface px-3 text-ink ${e?"cursor-not-allowed opacity-50":""}`,children:[u.jsx("span",{className:"text-faint",children:"Range"}),u.jsx("span",{className:"tnum",children:R}),u.jsx("span",{"aria-hidden":"true",className:"text-faint",children:"▾"})]}),u.jsxs("div",{className:"absolute right-0 z-50 mt-1 w-64 rounded-xl border border-line bg-surface p-1.5 shadow-[var(--shadow)]",children:[u.jsx("button",{type:"button",onClick:()=>T(void 0),className:"w-full rounded-lg px-2.5 py-1.5 text-left text-xs text-muted hover:bg-surface-soft hover:text-ink",children:"All time"}),u.jsx("div",{className:"grid grid-cols-2",children:uS.map(I=>u.jsx("button",{type:"button",onClick:()=>T(dS(I.days)),className:"rounded-lg px-2.5 py-1.5 text-left text-xs text-muted hover:bg-surface-soft hover:text-ink",children:I.label},I.key))}),u.jsxs("div",{className:"mt-2 px-1 pb-1",children:[u.jsxs("div",{className:"flex items-center gap-1.5",children:[u.jsx("input",{type:"date","aria-label":"From date",value:h,onChange:I=>m(I.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"}),u.jsx("span",{className:"text-faint",children:"→"}),u.jsx("input",{type:"date","aria-label":"To date",value:g,onChange:I=>v(I.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"})]}),u.jsx("button",{type:"button",disabled:!h||!g,onClick:()=>T({from:h,to:g}),className:"mt-1.5 inline-flex h-7 w-full items-center justify-center rounded-full border border-accent bg-accent-soft text-xs font-medium text-accent hover:bg-accent hover:text-surface disabled:pointer-events-none disabled:opacity-50",children:"Apply custom range"})]}),u.jsxs("div",{className:"mt-1 px-1 pb-1","data-testid":"comparison-picker",children:[u.jsx("p",{className:"mb-1 px-1.5 text-2xs text-faint",children:"Compare to"}),u.jsx("div",{className:`grid grid-cols-2 ${E?"opacity-50":""}`,children:YS.map(I=>u.jsx("button",{type:"button",disabled:E,"data-comparison":I.key,"data-active":i===I.key||void 0,onClick:()=>W(I.key),className:"rounded-lg px-2.5 py-1.5 text-left text-xs text-muted hover:bg-surface-soft hover:text-ink data-[active=true]:bg-accent-soft data-[active=true]:text-accent",children:I.label},I.key))}),i==="custom"&&!E?u.jsxs("div",{className:"mt-1.5",children:[u.jsxs("div",{className:"flex items-center gap-1.5",children:[u.jsx("input",{type:"date","aria-label":"Comparison from date",value:x,onChange:I=>b(I.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"}),u.jsx("span",{className:"text-faint",children:"→"}),u.jsx("input",{type:"date","aria-label":"Comparison to date",value:w,onChange:I=>j(I.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"})]}),u.jsx("button",{type:"button",disabled:!x||!w,onClick:()=>c("custom",{from:x,to:w}),className:"mt-1.5 inline-flex h-7 w-full items-center justify-center rounded-full border border-accent bg-accent-soft text-xs font-medium text-accent hover:bg-accent hover:text-surface disabled:pointer-events-none disabled:opacity-50",children:"Apply comparison"})]}):null]})]})]})}function Od(n){const[e,t]=F.useState(!1);if(!("dim"in n))return u.jsxs("span",{"data-dimension":n.dimension,"data-value":n.value,className:"inline-flex max-w-full items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 text-2xs leading-4 text-muted",children:[u.jsxs("span",{className:"truncate",children:[u.jsxs("span",{className:"text-faint",children:[n.dimensionLabel??n.dimension,":"]})," ",n.value]}),n.onRemove?u.jsx("button",{type:"button","aria-label":`Remove filter ${n.value}`,onClick:n.onRemove,className:"-mr-0.5 px-0.5 text-faint hover:text-ink",children:"×"}):null]});const{dim:i,model:a,filter:c,onRemove:f}=n;return u.jsxs("span",{className:"relative inline-flex max-w-full items-center","data-dimension":i.ref,"data-mode":c.mode,children:[u.jsxs("span",{className:"inline-flex max-w-full items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 text-2xs leading-4 text-muted",children:[u.jsxs("button",{type:"button","aria-label":`Edit filter ${i.label}`,"aria-haspopup":"dialog","aria-expanded":e,onClick:()=>t(h=>!h),className:"min-w-0 truncate text-left hover:text-ink",children:[u.jsx("span",{className:"text-faint",children:i.label})," ",yb(c)]}),u.jsx("button",{type:"button","aria-label":`Remove filter ${i.label}`,onClick:f,className:"grid size-3.5 shrink-0 place-items-center rounded-full bg-surface-soft text-faint hover:bg-line hover:text-ink",children:"×"})]}),e?u.jsx(Fv,{dim:i,model:a,onClose:()=>t(!1)}):null]})}function Td({grain:n,options:e,disabled:t,onChange:i}){return u.jsxs("label",{className:"flex items-center gap-1.5 text-xs text-faint",children:[u.jsx("span",{className:"hidden sm:inline",children:"Grain"}),u.jsx("select",{"aria-label":"Time grain",value:n,disabled:t,onChange:a=>i(a.target.value),className:"h-7 rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50",children:e.map(a=>u.jsx("option",{value:a,children:Ee(a)},a))})]})}const QS=["UTC","America/Los_Angeles","America/Denver","America/Chicago","America/New_York","America/Sao_Paulo","Europe/London","Europe/Berlin","Europe/Paris","Europe/Moscow","Asia/Dubai","Asia/Kolkata","Asia/Singapore","Asia/Shanghai","Asia/Tokyo","Australia/Sydney"];let cl=null;function Gm(){if(cl)return cl;const n=typeof Intl.supportedValuesOf=="function"?Intl.supportedValuesOf("timeZone"):[];return cl=[...new Set(["UTC",...n])].sort(),cl}function KS(n){if(!n)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:n}),!0}catch{return!1}}function JS(n,e=new Date){var t;try{const c=(((t=new Intl.DateTimeFormat("en-US",{timeZone:n,timeZoneName:"shortOffset"}).formatToParts(e).find(g=>g.type==="timeZoneName"))==null?void 0:t.value)??"").match(/([+-])(\d{1,2})(?::(\d{2}))?/);if(!c)return n==="UTC"?"+00:00":"";const f=c[1],h=c[2].padStart(2,"0"),m=c[3]??"00";return`${f}${h}:${m}`}catch{return""}}const Ym="__search__";function qS({timezone:n,disabled:e,onChange:t}){const i=F.useId(),[a,c]=F.useState(!1),[f,h]=F.useState(""),m=F.useMemo(()=>{const b=new Set(QS);return n&&b.add(n),[...b]},[n]),g=F.useMemo(()=>a?Gm():[],[a]);function v(b){const w=b.trim();KS(w)&&(t(w),c(!1),h(""))}if(a)return u.jsxs("label",{className:"flex items-center gap-1.5 text-2xs text-faint",children:[u.jsx("span",{className:"hidden sm:inline",children:"Zone"}),u.jsx("input",{type:"text",list:i,autoFocus:!0,"aria-label":"Search timezone",placeholder:"Region/City…",value:f,disabled:e,onChange:b=>{h(b.target.value),Gm().includes(b.target.value)&&v(b.target.value)},onKeyDown:b=>{b.key==="Enter"?v(f):b.key==="Escape"&&(c(!1),h(""))},onBlur:()=>{c(!1),h("")},className:"h-7 w-36 rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50"}),u.jsx("datalist",{id:i,children:g.map(b=>u.jsx("option",{value:b},b))})]});const x=JS(n);return u.jsxs("label",{className:"flex items-center gap-1.5 text-2xs text-faint",children:[u.jsx("span",{className:"hidden sm:inline",children:"Zone"}),u.jsxs("select",{"aria-label":"Timezone",value:n,disabled:e,onChange:b=>{b.target.value===Ym?c(!0):t(b.target.value)},className:"h-7 max-w-[11rem] rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50",children:[m.map(b=>u.jsxs("option",{value:b,children:[b,b==="UTC"?"":x&&b===n?` (${x})`:""]},b)),u.jsx("option",{value:Ym,children:"Search…"})]})]})}function ZS(n,e,t){if(t==="count")return n.length;const i=n.map(c=>typeof c[e]=="number"?c[e]:Number(c[e])).filter(Number.isFinite);if(i.length===0)return Number.NaN;if(t==="min")return Math.min(...i);if(t==="max")return Math.max(...i);const a=i.reduce((c,f)=>c+f,0);return t==="avg"?a/i.length:a}const XS={sum:"Σ",avg:"avg",min:"min",max:"max",count:"n"};function Ho({columns:n,rows:e,loading:t,sortKey:i,sortDir:a,onSort:c,renderCell:f,pageSize:h=50,searchable:m,totals:g,stickyHeader:v=!0}){const[x,b]=F.useState(0),[w,j]=F.useState(""),O=F.useMemo(()=>{const M=w.trim().toLowerCase();return!m||!M?e:e.filter(U=>n.some(G=>String(U[G.key]??"").toLowerCase().includes(M)))},[e,n,w,m]),{paginate:T,pageCount:W,safePage:R,start:E,visibleRows:I}=fb(O,x,h);F.useEffect(()=>{b(0)},[e,h,i,a,w]);const V=g&&n.some(M=>g[M.key]);return u.jsxs("div",{children:[m?u.jsxs("div",{className:"mb-2 flex items-center justify-end gap-2",children:[w?u.jsxs("span",{className:"whitespace-nowrap text-2xs text-faint tnum",children:[O.length.toLocaleString()," of ",e.length.toLocaleString()]}):null,u.jsx("input",{type:"search","aria-label":"Search rows",placeholder:"Search…",value:w,onChange:M=>j(M.target.value),className:"h-7 w-full max-w-64 rounded-full border border-line bg-surface px-2.5 text-xs text-ink placeholder:text-faint"})]}):null,u.jsx("div",{className:"overflow-auto border border-line bg-surface",children:u.jsxs("table",{className:"w-max min-w-full border-collapse text-xs","data-testid":"pivot-table",children:[u.jsx("thead",{children:u.jsx("tr",{className:"bg-surface-soft",children:n.map(M=>{const U=i===M.key;return u.jsx("th",{className:`max-w-80 whitespace-nowrap border-b border-line bg-surface-soft px-3 py-1.5 font-semibold text-faint ${M.numeric?"min-w-32 text-right":"min-w-40 text-left"} ${v?"sticky top-0 z-10":""}`,children:M.sortable&&c?u.jsxs("button",{type:"button",onClick:()=>c(M.key),"aria-label":`Sort by ${M.label}${U?`, currently ${a==="asc"?"ascending":"descending"}`:""}`,className:`table-sort inline-flex max-w-full items-center gap-1 whitespace-nowrap hover:text-ink ${U?"text-ink":""}`,children:[u.jsx("span",{className:"truncate",children:M.label}),u.jsx("span",{"aria-hidden":"true",className:"text-[9px]",children:U?a==="asc"?"▲":"▼":"↕"})]}):u.jsx("span",{className:"block truncate",title:M.label,children:M.label})},M.key)})})}),u.jsx("tbody",{children:t&&O.length===0?u.jsx("tr",{children:u.jsx("td",{colSpan:n.length,className:"px-3 py-6 text-center text-faint",children:"Loading…"})}):O.length===0?u.jsx("tr",{children:u.jsx("td",{colSpan:n.length,className:"px-3 py-6 text-center text-faint",children:w?"No matching rows":"No rows"})}):I.map((M,U)=>u.jsx("tr",{className:"hover:bg-surface-soft",children:n.map(G=>{const z=f(G,M[G.key]);return u.jsx("td",{className:`max-w-80 whitespace-nowrap border-b border-line px-3 py-1.5 text-muted ${G.numeric?"min-w-32 text-right font-mono tnum text-ink":"min-w-40"}`,children:u.jsx("span",{className:"block max-w-80 truncate",title:z,children:z})},G.key)})},E+U))}),V&&O.length>0?u.jsx("tfoot",{children:u.jsx("tr",{className:"bg-surface-soft","data-testid":"table-totals",children:n.map(M=>{const U=g==null?void 0:g[M.key];if(!U)return u.jsx("td",{className:"border-t border-line px-3 py-1.5"},M.key);const G=ZS(O,M.key,U),z=U==="count"?G.toLocaleString():Number.isFinite(G)?f(M,G):"—";return u.jsxs("td",{"data-total":U,className:`whitespace-nowrap border-t border-line px-3 py-1.5 font-mono tnum font-medium text-ink ${M.numeric?"text-right":"text-left"}`,children:[u.jsx("span",{"aria-hidden":"true",className:"mr-1 text-2xs text-faint",children:XS[U]}),z]},M.key)})})}):null]})}),T?u.jsxs("div",{"data-testid":"pivot-table-pager",className:"mt-1.5 flex items-center justify-between gap-3 text-2xs text-faint",children:[u.jsxs("span",{className:"tnum",children:[E+1,"–",Math.min(E+h,O.length)," of ",O.length.toLocaleString(),t?" · Updating…":""]}),u.jsxs("div",{className:"flex gap-1",children:[u.jsx("button",{type:"button",disabled:R===0,onClick:()=>b(M=>Math.max(0,M-1)),className:"table-pager-button px-2 py-1 text-muted hover:text-ink disabled:cursor-not-allowed disabled:opacity-40",children:"Prev"}),u.jsx("button",{type:"button",disabled:R>=W-1,onClick:()=>b(M=>Math.min(W-1,M+1)),className:"table-pager-button px-2 py-1 text-muted hover:text-ink disabled:cursor-not-allowed disabled:opacity-40",children:"Next"})]})]}):null]})}function e_(n,e){const t=e.filter(i=>n.some(a=>a.ref===i));return t.length?t:n.slice(0,6).map(i=>i.ref)}function t_(){var R,E;const[n,e]=F.useState(!1),{state:t,catalog:i,backend:a,dashboard:c}=ls(),f=i.models.find(I=>I.name===t.model),h=F.useMemo(()=>Cs(i,c,t.dashboardTab),[i,c,t.dashboardTab]),m=(h==null?void 0:h.dimensions)??(f==null?void 0:f.dimensions)??[],g=e_(m,t.pivotDims),v=((R=h==null?void 0:h.timeDimension)==null?void 0:R.ref)??((E=f==null?void 0:f.timeDimension)==null?void 0:E.ref),x=F.useMemo(()=>oc(i),[i]),b=F.useMemo(()=>[...(h==null?void 0:h.filters)??[],...Os(t.filters,{timeRef:v,range:t.dateRange,types:x})],[h,t.filters,v,t.dateRange,x]),w=n&&f?vS({dimensions:g,metrics:[]},b,50,h==null?void 0:h.segments,h==null?void 0:h.usePreaggregations):null,{result:j,loading:O,error:T}=Zn(a,w),W=[...g.map(I=>{var V;return{key:Sr(I),label:((V=m.find(M=>M.ref===I))==null?void 0:V.label)??Ee(I)}})];return u.jsxs("section",{"data-testid":"row-preview-drawer","data-open":n||void 0,className:"absolute inset-x-0 bottom-0 z-30 border-t border-line bg-surface shadow-[0_-8px_24px_rgba(0,0,0,0.16)]",children:[u.jsxs("button",{type:"button","aria-expanded":n,onClick:()=>e(I=>!I),className:"flex h-8 w-full items-center justify-between px-3 text-left text-xs font-medium text-muted hover:bg-surface-soft hover:text-ink",children:[u.jsx("span",{children:"Rows preview"}),u.jsx("span",{"aria-hidden":"true",children:n?"▼":"▲"})]}),n?u.jsx("div",{className:"max-h-[45vh] overflow-auto border-t border-line",children:T?u.jsx("p",{role:"alert",className:"p-3 text-xs text-danger",children:T}):W.length===0?u.jsx("p",{className:"p-3 text-xs text-faint",children:"No preview fields are available."}):u.jsx(Ho,{columns:W,rows:(j==null?void 0:j.rows)??[],loading:O,pageSize:10,renderCell:(I,V)=>V==null||V===""?"—":String(V)})}):null]})}function of({tone:n,title:e,message:t}){const i=n==="danger";return u.jsx("div",{className:`grid min-h-[200px] place-items-center border bg-surface p-6 text-center ${i?"border-danger/40":"border-line"}`,"data-state":n,role:i?"alert":"status","aria-live":i?"assertive":"polite",children:u.jsxs("div",{className:"max-w-md",children:[n==="loading"?u.jsx("span",{"aria-hidden":"true",className:"motion-safe:animate-pulse inline-block size-2 rounded-full bg-accent"}):null,e?u.jsx("h3",{className:`text-sm font-semibold ${i?"text-danger":"text-ink"}`,children:e}):null,u.jsx("p",{className:`mt-1 text-xs ${i?"text-danger":"text-muted"}`,children:t})]})})}function af({title:n="Loading",message:e="Loading metrics…"}){return u.jsx(of,{tone:"loading",title:n,message:e})}function Xn({title:n="No results",message:e}){return u.jsx(of,{tone:"muted",title:n,message:e})}function Bi({title:n="Query failed",message:e}){return u.jsx(of,{tone:"danger",title:n,message:e})}function dd({status:n}){const e=n==="ok"?"bg-success":n==="loading"?"bg-faint animate-pulse":"bg-line";return u.jsx("span",{"aria-hidden":"true",className:`inline-block size-2 rounded-full ${e}`})}const Tv="sidemantic-theme";function lf(){var e;const n=localStorage.getItem(Tv);return n==="light"||n==="dark"?n:(e=window.matchMedia)!=null&&e.call(window,"(prefers-color-scheme: dark)").matches?"dark":"light"}function Av(n){document.documentElement.dataset.theme=n}function n_(){Av(lf())}function r_(){const n=lf()==="dark"?"light":"dark";return localStorage.setItem(Tv,n),Av(n),n}function $o(){const[n,e]=F.useState(lf());return u.jsx("button",{type:"button","aria-label":n==="dark"?"Switch to light theme":"Switch to dark theme",title:n==="dark"?"Light theme":"Dark theme",onClick:()=>e(r_()),className:"grid size-7 place-items-center border border-line bg-surface text-faint hover:border-faint hover:text-ink",children:n==="dark"?u.jsxs("svg",{viewBox:"0 0 24 24",className:"size-3.5",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[u.jsx("circle",{cx:"12",cy:"12",r:"4"}),u.jsx("path",{d:"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"})]}):u.jsx("svg",{viewBox:"0 0 24 24",className:"size-3.5",fill:"none",stroke:"currentColor",strokeWidth:"2",children:u.jsx("path",{d:"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"})})})}const _o=[{key:"explore",label:"Explore"},{key:"pivot",label:"Pivot"}];function Bv({view:n,onChange:e}){const t=F.useRef(null);function i(a){const c=Math.max(0,_o.findIndex(h=>h.key===n)),f=_o[(c+a+_o.length)%_o.length];e(f.key),window.requestAnimationFrame(()=>{var h,m;return(m=(h=t.current)==null?void 0:h.querySelector(`[data-view="${f.key}"]`))==null?void 0:m.focus()})}return u.jsx("div",{ref:t,role:"tablist","aria-label":"View",className:"inline-flex items-center gap-0.5 rounded-full border border-line bg-surface p-px",children:_o.map(a=>u.jsx("button",{role:"tab",type:"button","aria-selected":n===a.key,tabIndex:n===a.key?0:-1,"data-view":a.key,"data-selected":n===a.key||void 0,onClick:()=>e(a.key),onKeyDown:c=>{c.key==="ArrowLeft"?(c.preventDefault(),i(-1)):c.key==="ArrowRight"&&(c.preventDefault(),i(1))},className:"inline-flex h-6 items-center rounded-full px-2.5 text-xs font-medium text-muted hover:bg-surface-soft hover:text-ink data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent",children:a.label},a.key))})}const Ev="dashboard_filters",Rv="dashboard_ranges",Lv="dashboard_filter_sources",Uv="dashboard_range_sources",$v="dashboard_chart_filters",Pv="dashboard_chart_ranges";function s_(n,e){if(n==="/explore")return!0;const t=new URLSearchParams(e).get("view");return t==="explore"||t==="pivot"}function cf(n,e){var i,a;if(!e||!(n.query.dimensions??[]).includes(e))return!1;const t=(i=n.interactions)==null?void 0:i.select;return t===!0?!0:t?!((a=t.fields)!=null&&a.length)||t.fields.includes(e):!1}function i_(n){return(n.query.dimensions??[]).find(e=>cf(n,e))}function o_(n,e){var i,a;if(!e||!(n.query.dimensions??[]).includes(e))return!1;const t=(i=n.interactions)==null?void 0:i.brush;return t===!0?!0:!t||t.channel&&t.channel!=="x"?!1:!((a=t.fields)!=null&&a.length)||t.fields.includes(e)}function Xl(n){return n==null?er:String(n)}function a_(n){let e=n.trim().replaceAll(/[^A-Za-z0-9_]/g,"_").replaceAll(/^_+|_+$/g,"")||"field";return/^\d/.test(e)&&(e=`field_${e}`),e}function xr(n,e){const t=Sr(n),i=a_(n);return i!==t&&e.includes(i)?i:e.includes(t)?t:e.find(a=>a.endsWith(t))??t}function l_(n){var t;const e=(t=n.encoding)==null?void 0:t.y;return Array.isArray(e)&&e.length?e:typeof e=="string"?[e]:n.query.metrics.slice(0,1)}function c_(n,e,t,i,a){return Object.fromEntries([[e,t],...i.map((c,f)=>[c,a[f]])].filter(c=>typeof c[1]=="string"&&cf(n,c[0])))}function u_(n,e,t){return[e,...t].some(i=>cf(n,i))}const d_=new Set(["second","minute","hour","day","week","month","quarter","year"]);function Ms(n){const e=n.lastIndexOf("__");if(e<0)return null;const t=n.slice(e+2);return d_.has(t)?{baseDimension:n.slice(0,e),grain:t}:null}function zv(n,e){var c,f;if(n.type&&n.type!=="auto")return n.type;const t=((c=n.encoding)==null?void 0:c.x)??((f=n.query.dimensions)==null?void 0:f[0])??"",i=Ms(t);return(e[t]??(i?e[i.baseDimension]:void 0))==="time"?"line":"bar"}function Vv(n,e){const t=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?$/.test(n)?`${n}Z`:n,i=new Date(t);return Number.isFinite(i.getTime())?(e==="second"?i.setUTCSeconds(i.getUTCSeconds()+1):e==="minute"?i.setUTCMinutes(i.getUTCMinutes()+1):e==="hour"?i.setUTCHours(i.getUTCHours()+1):e==="day"?i.setUTCDate(i.getUTCDate()+1):e==="week"?i.setUTCDate(i.getUTCDate()+7):e==="month"?i.setUTCMonth(i.getUTCMonth()+1):e==="quarter"?i.setUTCMonth(i.getUTCMonth()+3):e==="year"&&i.setUTCFullYear(i.getUTCFullYear()+1),/^\d{4}-\d{2}-\d{2}$/.test(n)?i.toISOString().slice(0,10):i.toISOString()):null}function Wv(n,e){const t=Ms(n);if(t){const i=Vv(e.to,t.grain);return i?`${t.baseDimension} >= ${Tn(e.from)} AND ${t.baseDimension} < ${Tn(i)}`:`${t.baseDimension} >= ${Tn(e.from)} AND ${t.baseDimension} <= ${Tn(e.to)}`}return`${n} >= ${Tn(e.from)} AND ${n} <= ${Tn(e.to)}`}function f_(n,e,t){const i=Ms(n);return i?e===er?[`${i.baseDimension} IS NULL`]:[Wv(n,{from:e,to:e})]:jv({[n]:{mode:"include",values:[e]}},{types:t})}function ec(n,e){const t=n.tabs.find(i=>i.charts.includes(e));return`${(t==null?void 0:t.id)??"dashboard"}:${e.id}`}function uf(n,e,t){var f,h,m,g,v;const i=((h=(f=n.defaults)==null?void 0:f.interactions)==null?void 0:h.scope)??"dashboard";if(i==="dashboard")return t;if(i==="chart"){const x=ec(n,e);return{filters:{...Object.fromEntries(Object.entries(t.filters).filter(([b])=>t.filterSources[b]===x)),...((m=t.chartFilters)==null?void 0:m[x])??{}},ranges:{...Object.fromEntries(Object.entries(t.ranges).filter(([b])=>t.rangeSources[b]===x)),...((g=t.chartRanges)==null?void 0:g[x])??{}}}}const a=((v=n.tabs.find(x=>x.charts.includes(e)))==null?void 0:v.charts)??[e],c=new Set(a.flatMap(x=>x.query.dimensions??[]));return{filters:Object.fromEntries(Object.entries(t.filters).filter(([x])=>c.has(x))),ranges:Object.fromEntries(Object.entries(t.ranges).filter(([x])=>c.has(x)))}}function h_(n,e,t,i,a={},c={filterSources:{},rangeSources:{}}){var b,w,j,O,T,W;const f=uf(n,e,{filters:t,ranges:a,...c}),h=((b=e.encoding)==null?void 0:b.x)??((w=e.query.dimensions)==null?void 0:w[0])??"",m=e.query.order_by??e.query.orderBy,g=h&&["line","area"].includes(zv(e,i))?[`${h} ASC`]:void 0,v={metrics:e.query.metrics,dimensions:e.query.dimensions,filters:[...e.query.filters??[],...Object.entries(f.filters).flatMap(([R,E])=>f_(R,E,i)),...Object.entries(f.ranges).map(([R,E])=>Wv(R,E))],segments:e.query.segments,orderBy:m??g,limit:e.query.limit??500},x=e.query.use_preaggregations??e.query.usePreaggregations??((O=(j=n.defaults)==null?void 0:j.query)==null?void 0:O.use_preaggregations)??((W=(T=n.defaults)==null?void 0:T.query)==null?void 0:W.usePreaggregations);return x!==void 0&&(v.usePreaggregations=x),v}function Qm(n){const e=/^(\d{4}-\d{2}-\d{2})/.exec(n);return(e==null?void 0:e[1])??null}function Km(n,e){const t=Qm(e.from);if(!t)return null;const i=Ms(n);if(!i){const f=Qm(e.to);return f?{from:t,to:f}:null}const a=Vv(e.to,i.grain);if(!a)return null;const c=new Date(a);return c.setUTCMilliseconds(c.getUTCMilliseconds()-1),{from:t,to:c.toISOString().slice(0,10)}}function p_(n,e,t,i={},a){var I,V,M;const c=(I=e.encoding)==null?void 0:I.y,f=(Array.isArray(c)?c[0]:c)??e.query.metrics[0]??"",h=e.query.dimensions??[],m=a==null?void 0:a.graphMetrics.find(U=>U.ref===f),g=f.includes(".")?f.split(".")[0]:((V=h[0])==null?void 0:V.split(".")[0])??(m==null?void 0:m.ownerModel)??(m==null?void 0:m.model)??"",v=uf(n,e,t),x=Object.entries(v.filters).flatMap(([U,G])=>{const z=Ms(U);return z?[{dimension:U,value:G,baseDimension:z.baseDimension}]:[]}),b=Object.fromEntries(Object.entries(v.filters).flatMap(([U,G])=>{const z=Ms(U);return z?G===er?[[z.baseDimension,[G]]]:[]:[[U,[G]]]})),w=new URLSearchParams({view:"explore",model:g,metric:f});Object.keys(b).length&&w.set("filters",JSON.stringify(b));const j=((M=e.encoding)==null?void 0:M.x)??h[0],O=x.find(({baseDimension:U,value:G})=>G!==er&&(!g||U.startsWith(`${g}.`))),T=Object.keys(v.ranges),W=[j,...T].find((U,G,z)=>{if(!U||z.indexOf(U)!==G||!v.ranges[U])return!1;const Y=Ms(U);return((i[U]??(Y?i[Y.baseDimension]:void 0))==="time"||!!Y)&&(!g||U.startsWith(`${g}.`))}),R=W?v.ranges[W]:void 0,E=O?Km(O.dimension,{from:O.value,to:O.value}):W&&R?Km(W,R):null;return E&&(w.set("from",E.from),w.set("to",E.to)),`/explore?${w}`}function m_(n,e,t,i){const a=new Map;for(const c of n){const f=Number(c[t]);if(!Number.isFinite(f))continue;const h=i.map(b=>Xl(c[b])),m=JSON.stringify(h),g=h.length?h.map(rs).join(" · "):"Current",v=a.get(m)??{label:g,filterValues:h,data:[]},x=Xl(c[e]);v.data.push({label:rs(x),filterValue:x,value:f}),a.set(m,v)}return[...a.values()]}function y_(n,e,t,i){const a=[],c=new Set,f=new Map;for(const h of n){if(h[e]==null)continue;const m=String(h[e]),g=Number(h[t]);if(!Number.isFinite(g))continue;c.has(m)||(c.add(m),a.push(m));const v=i.map(j=>Xl(h[j])),x=JSON.stringify(v),b=v.length?v.map(rs).join(" · "):"Current",w=f.get(x)??{label:b,values:new Map};w.values.set(m,g),f.set(x,w)}return[...f.values()].map(h=>({label:h.label,points:a.map(m=>({x:m,y:h.values.get(m)??Number.NaN}))}))}function df(n,e){if(typeof n!="object"||n===null||Array.isArray(n))return{};const t={};for(const[i,a]of Object.entries(n))e.has(i)&&typeof a=="string"&&(t[i]=a);return t}function ff(n,e){if(typeof n!="object"||n===null||Array.isArray(n))return{};const t={};for(const[i,a]of Object.entries(n)){if(!e.has(i)||typeof a!="object"||a===null||Array.isArray(a))continue;const c=a;typeof c.from=="string"&&typeof c.to=="string"&&(t[i]={from:c.from,to:c.to})}return t}function tc(n,e){return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).filter(t=>e.has(t[0])&&typeof t[1]=="string"))}function Hv(n,e){return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).flatMap(([t,i])=>{const a=e.get(t);if(!a)return[];const c=df(i,a);return Object.keys(c).length?[[t,c]]:[]}))}function Gv(n,e){return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).flatMap(([t,i])=>{const a=e.get(t);if(!a)return[];const c=ff(i,a);return Object.keys(c).length?[[t,c]]:[]}))}function Yv(n){return new Set(n.tabs.flatMap(e=>e.charts.flatMap(t=>t.query.dimensions??[])))}function Qv(n){return new Map(n.tabs.flatMap(e=>e.charts.map(t=>[ec(n,t),new Set(t.query.dimensions??[])])))}function g_(n,e){var j;const t=new URLSearchParams(n),i=((j=e.tabs[0])==null?void 0:j.id)??"",a=t.get("tab"),c=e.tabs.some(O=>O.id===a)?a??i:i;let f,h,m,g,v,x;try{f=JSON.parse(t.get(Ev)??"{}")}catch{f={}}try{h=JSON.parse(t.get(Rv)??"{}")}catch{h={}}try{m=JSON.parse(t.get(Lv)??"{}")}catch{m={}}try{g=JSON.parse(t.get(Uv)??"{}")}catch{g={}}try{v=JSON.parse(t.get($v)??"{}")}catch{v={}}try{x=JSON.parse(t.get(Pv)??"{}")}catch{x={}}const b=Yv(e),w=Qv(e);return{tab:c,filters:df(f,b),ranges:ff(h,b),filterSources:tc(m,b),rangeSources:tc(g,b),chartFilters:Hv(v,w),chartRanges:Gv(x,w)}}function v_(n,e){var c;const t=new URLSearchParams;n.tab&&n.tab!==((c=e.tabs[0])==null?void 0:c.id)&&t.set("tab",n.tab),Object.keys(n.filters).length&&t.set(Ev,JSON.stringify(n.filters)),Object.keys(n.ranges).length&&t.set(Rv,JSON.stringify(n.ranges));const i=Object.fromEntries(Object.entries(n.filterSources).filter(([f])=>f in n.filters)),a=Object.fromEntries(Object.entries(n.rangeSources).filter(([f])=>f in n.ranges));return Object.keys(i).length&&t.set(Lv,JSON.stringify(i)),Object.keys(a).length&&t.set(Uv,JSON.stringify(a)),Object.keys(n.chartFilters??{}).length&&t.set($v,JSON.stringify(n.chartFilters)),Object.keys(n.chartRanges??{}).length&&t.set(Pv,JSON.stringify(n.chartRanges)),t.toString()}function Kv(n){return`sidemantic-dashboard-views:${`${n.schema??"sidemantic.dashboard.v1"}:${n.title}`}`}function x_(n){try{const e=JSON.parse(localStorage.getItem(Kv(n))??"[]");if(!Array.isArray(e))return[];const t=Yv(n);return e.flatMap(i=>{var m;if(typeof i!="object"||i===null||Array.isArray(i))return[];const a=i;if(typeof a.name!="string"||!a.name.trim())return[];if(typeof a.state!="object"||a.state===null||Array.isArray(a.state))return[];const c=a.state,f=n.tabs.some(g=>g.id===c.tab)?String(c.tab):((m=n.tabs[0])==null?void 0:m.id)??"",h=Qv(n);return[{name:a.name,state:{tab:f,filters:df(c.filters,t),ranges:ff(c.ranges,t),filterSources:tc(c.filterSources,t),rangeSources:tc(c.rangeSources,t),chartFilters:Hv(c.chartFilters,h),chartRanges:Gv(c.chartRanges,h)}}]})}catch{return[]}}function b_(n,e){try{return localStorage.setItem(Kv(n),JSON.stringify(e)),!0}catch{return!1}}function Jm(n){if(n==null)return"";const e=String(n);return/[",\r\n]/.test(e)?`"${e.replaceAll('"','""')}"`:e}function w_(n,e){return[n.map(Jm).join(","),...e.map(t=>n.map(i=>Jm(t[i])).join(","))].join(`\r -`)}function S_(n){var e;return((e=n.label)==null?void 0:e.trim())||n.id}function fd(n,e){return`${n} ${e}${n===1?"":"s"}`}function __(){const{catalog:n,dispatch:e}=ls(),t=i=>{const a=n.models.find(h=>h.name===i),c=kv(a,n),f=(a==null?void 0:a.defaultGrain)??"month";e({type:"setModel",model:i,metric:c,grain:f}),e({type:"setView",view:"explore"})};return u.jsxs("div",{className:"mx-auto w-full max-w-5xl p-6",children:[u.jsxs("div",{className:"mb-4",children:[u.jsx("h1",{className:"text-base font-semibold text-ink",children:"Explore"}),u.jsxs("p",{className:"text-2xs text-muted",children:[fd(n.models.length,"model")," · pick one to explore"]})]}),u.jsx("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3",children:n.models.map(i=>u.jsxs("button",{type:"button","data-testid":"explore-card","data-model":i.name,onClick:()=>t(i.name),className:"flex min-h-32 flex-col gap-2 rounded-xl border border-line bg-surface p-4 text-left shadow-[var(--shadow-sm)] transition-colors hover:border-line-strong",children:[u.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[u.jsx("span",{className:"truncate text-sm font-medium text-ink",children:i.label}),i.timeDimension?u.jsx("span",{className:"shrink-0 text-2xs text-faint",children:"time series"}):null]}),i.description?u.jsx("p",{className:"line-clamp-2 text-2xs text-muted",children:i.description}):null,u.jsx("div",{className:"mt-auto flex flex-wrap gap-1 pt-1",children:i.metrics.slice(0,3).map(a=>u.jsx("span",{className:"rounded-full bg-surface-soft px-2 py-0.5 text-2xs text-muted",children:a.label},a.ref))}),u.jsxs("div",{className:"text-2xs text-faint",children:[fd(i.metrics.length,"metric")," · ",fd(i.dimensions.length,"dimension")]})]},i.name))})]})}const N_={positive:"text-success",negative:"text-danger",neutral:"text-faint"};function Jv({dimension:n,title:e,metricLabel:t,rows:i,selectedValues:a=[],loading:c,formatMetric:f,onToggle:h,contextColumn:m="none",contextOptions:g,onContextColumn:v,collapsedLimit:x=6,expanded:b=!1,onExpandedChange:w}){const j=new Set(a),O=b?i:i.slice(0,x),T=Math.max(1,...O.map(I=>Math.abs(I.metric))),W=b||i.length>x,R=m!=="none",E=R?"grid-cols-[minmax(0,1fr)_auto_auto]":"grid-cols-[minmax(0,1fr)_auto]";return u.jsxs("section",{"data-testid":"dimension-leaderboard","data-dimension":n,"data-expanded":b||void 0,"aria-label":`${e}, ranked by ${t}`,className:"flex min-h-40 flex-col border-b border-r border-line bg-surface data-[expanded=true]:col-span-full",children:[u.jsxs("header",{className:"flex items-center justify-between gap-3 px-3 pb-2 pt-2.5",children:[u.jsxs("div",{className:"flex min-w-0 items-baseline gap-2",children:[u.jsx("h3",{className:"truncate text-sm font-semibold text-ink",children:e}),u.jsxs("p",{className:"sr-only",children:["Ranked by ",t]})]}),g&&v?u.jsx("div",{role:"group","aria-label":"Context column","data-testid":"leaderboard-context-toggle",className:"flex shrink-0 overflow-hidden border border-line text-2xs",children:g.map(I=>u.jsx("button",{type:"button",title:I.title,"aria-pressed":m===I.key,"data-context":I.key,"data-active":m===I.key||void 0,onClick:()=>v(I.key),className:"border-l border-line px-1.5 py-0.5 font-mono text-faint first:border-l-0 hover:bg-surface-soft data-[active=true]:bg-accent-soft data-[active=true]:text-accent",children:I.label},I.key))}):null]}),u.jsx("div",{"data-testid":"leaderboard-rows",children:c&&i.length===0?u.jsx("div",{className:"space-y-2 p-3",children:[0,1,2,3].map(I=>u.jsx("div",{className:"skeleton h-5 w-full"},I))}):i.length===0?u.jsx("p",{className:"px-3 py-4 text-xs text-faint",children:"No values"}):O.map(I=>{var G,z,Y;const V=I.metric<0?"negative":"positive",M=j.has(I.value),U=`${Math.round(Math.abs(I.metric)/T*100)}%`;return u.jsxs("button",{type:"button","data-dimension":n,"data-value":I.value,"data-selected":M||void 0,"data-tone":V,onClick:()=>h==null?void 0:h(I.value),"aria-pressed":M,className:`leaderboard-row relative grid w-full ${E} items-center gap-3 overflow-hidden border-0 bg-transparent px-3 py-1 text-left text-xs text-ink data-[selected=true]:bg-chart-primary-selected`,children:[u.jsx("span",{"aria-hidden":"true",className:`absolute inset-y-0 left-0 ${V==="negative"?"bg-danger-soft":"bg-chart-primary-soft"}`,style:{width:U}}),u.jsx("span",{className:"relative min-w-0 truncate text-muted",children:rs(I.value)}),u.jsx("strong",{className:"relative tnum font-semibold text-ink",children:f(I.metric)}),R?u.jsx("span",{"data-testid":"leaderboard-context","data-tone":((G=I.context)==null?void 0:G.tone)??"neutral",className:`relative w-14 text-right font-mono tnum text-2xs ${N_[((z=I.context)==null?void 0:z.tone)??"neutral"]}`,children:((Y=I.context)==null?void 0:Y.label)??"—"}):null]},`${n}:${I.value}`)})}),W&&!c?u.jsx("button",{type:"button","data-action":b?"leaderboard-back":"leaderboard-expand","aria-expanded":b,onClick:()=>w==null?void 0:w(!b),className:"leaderboard-expand border-0 border-t border-line bg-transparent px-3 py-1 text-left text-xs font-normal text-faint hover:text-accent",children:b?"← All dimensions":`Expand table (${i.length})`}):null]})}const j_=[{key:"none",label:"—",title:"No context column"},{key:"pctTotal",label:"%",title:"Share of total"},{key:"delta",label:"Δ",title:"Absolute change vs comparison period"},{key:"deltaPct",label:"Δ%",title:"Percent change vs comparison period"}],k_=[],I_=[];function M_({dim:n,model:e,timeDimensionRef:t,rankMetric:i,contextColumn:a,metricTotal:c,comparisonRange:f,baseFilters:h=k_,baseSegments:m=I_,usePreaggregations:g,limit:v=6,expanded:x=!1,onExpandedChange:b}){var _;const{state:w,dispatch:j,backend:O,catalog:T}=ls(),W=t??((_=e.timeDimension)==null?void 0:_.ref),R=F.useMemo(()=>oc(T),[T]),E=F.useMemo(()=>[...h,...Os(w.filters,{timeRef:W,range:w.dateRange,excludeDim:n.ref,types:R})],[h,w.filters,W,w.dateRange,n.ref,R]),{result:I,loading:V,error:M}=Zn(O,zm(i.ref,n.ref,E,v,m,g)),U=w.filters[n.ref],G=(U==null?void 0:U.mode)==="include"?U.values:void 0,z=[i.ref,n.ref],Y=Fn(n.ref,z),P=a==="delta"||a==="deltaPct",ee=F.useMemo(()=>{if(!I||!I.columns.includes(Y))return null;const k=[];let Z=!1;for(const ce of I.rows){const we=ce[Y];we==null?Z=!0:k.push(String(we))}const ae=[];return k.length&&ae.push(`CAST(${n.ref} AS VARCHAR) IN (${k.map(Tn).join(", ")})`),Z&&ae.push(`${n.ref} IS NULL`),ae.length?ae.length===1?ae[0]:`(${ae.join(" OR ")})`:null},[I,Y,n.ref]),te=F.useMemo(()=>P&&f&&W&&ee?[...h,...Os(w.filters,{timeRef:W,range:f,excludeDim:n.ref,types:R}),ee]:null,[P,f,W,w.filters,n.ref,R,ee,h]),ne=Zn(O,te?zm(i.ref,n.ref,te,v,m,g):null),ie=Fn(i.ref,z),re=!!I&&I.rows.length>0&&!I.columns.includes(ie),se=F.useMemo(()=>{const k=new Map;if(!ne.result||!ne.result.columns.includes(ie))return k;for(const Z of ne.result.rows){const ae=Z[Y],ce=ae==null?er:String(ae);k.set(ce,Number(Z[ie]))}return k},[ne.result,Y,ie]),A={format:i.format,type:i.type};function Q(k,Z){switch(a){case"pctTotal":return c===void 0?void 0:hb(Z,c);case"delta":return pb(Z,se.get(k),A);case"deltaPct":return mb(Z,se.get(k));default:return}}const H=I&&!re?I.rows.map(k=>{const Z=k[Y],ae=Z==null?er:String(Z),ce=Number(k[ie]??0);return{value:ae,metric:ce,context:Q(ae,ce)}}):[];return M?u.jsx(Bi,{title:n.label,message:M}):u.jsx(Jv,{dimension:n.ref,title:n.label,metricLabel:i.label,rows:H,loading:V||re,selectedValues:G,formatMetric:k=>Wt(k,A),onToggle:k=>j({type:"toggleFilter",dim:n.ref,value:k}),contextColumn:a,contextOptions:j_,onContextColumn:k=>j({type:"setContextColumn",column:k}),collapsedLimit:v,expanded:x,onExpandedChange:b})}function Dr(){const[n,e]=F.useState(null);return{tip:n,handlers:i=>({onMouseEnter:a=>e({content:i,x:a.clientX,y:a.clientY}),onMouseMove:a=>e({content:i,x:a.clientX,y:a.clientY}),onMouseLeave:()=>e(null)})}}function rr({tip:n,position:e="fixed",offset:t=12,className:i,style:a}){return n?u.jsx("div",{role:"tooltip",style:{position:e,left:n.x+t,top:n.y+t,pointerEvents:"none",zIndex:50,...a},className:i||"rounded-lg border border-line bg-surface px-2.5 py-1.5 text-xs text-ink shadow-[var(--shadow)]",children:n.content}):null}function os({title:n,rows:e}){return u.jsxs("div",{className:"min-w-28",children:[n?u.jsx("div",{className:"mb-0.5 font-mono text-faint",children:n}):null,e.map((t,i)=>u.jsxs("div",{className:"flex items-center justify-between gap-3",children:[u.jsxs("span",{className:"flex items-center gap-1 text-muted",children:[t.swatch?u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-sm",style:{background:t.swatch}}):null,t.label]}),u.jsx("span",{className:"font-mono tnum font-medium text-ink",children:t.value})]},i))]})}function qv({values:n,labels:e,height:t=44,ariaLabel:i,formatValue:a=h=>h.toLocaleString(void 0,{maximumFractionDigits:2}),onHover:c,onBrush:f}){const h=F.useRef(null),m=F.useId(),g=F.useRef(null),v=F.useRef(null),[x,b]=F.useState(200),[w,j]=F.useState(null),[O,T]=F.useState(null),[W,R]=F.useState(null);F.useEffect(()=>{const H=h.current;if(!H||typeof ResizeObserver>"u")return;const _=new ResizeObserver(k=>{for(const Z of k)b(Math.max(40,Z.contentRect.width))});return _.observe(H),()=>_.disconnect()},[]);const E=n.map((H,_)=>({index:_,value:H})).filter(H=>Number.isFinite(H.value));if(E.length<2)return u.jsx("svg",{ref:g,role:"img","aria-label":i||"No trend data",className:"h-11 w-full",viewBox:`0 0 ${x} ${t}`});const I=3,V=Math.min(...E.map(H=>H.value)),U=Math.max(...E.map(H=>H.value))-V||1,G=E.map((H,_)=>({...H,x:I+_/(E.length-1)*(x-I*2),y:I+(1-(H.value-V)/U)*(t-I*2)})),z=G.map(({x:H,y:_})=>`${H.toFixed(1)},${_.toFixed(1)}`).join(" L "),Y=`M ${G[0].x.toFixed(1)},${t-I} L ${z} L ${G.at(-1).x.toFixed(1)},${t-I} Z`,P=G.at(-1),ee=i||`Trend of ${E.length} points, latest ${a(P.value)}`;function te(H){var k;const _=(k=g.current)==null?void 0:k.getBoundingClientRect();return _?Math.max(I,Math.min(x-I,(H.clientX-_.left)/_.width*x)):I}function ne(H){return Math.max(0,Math.min(G.length-1,Math.round((H-I)/(x-I*2)*(G.length-1))))}function ie(H){const _=te(H),k=ne(_),Z=G[k];j(k),R({content:`${e!=null&&e[Z.index]?`${e[Z.index]}: `:""}${a(Z.value)}`,x:H.clientX,y:H.clientY}),c==null||c({index:Z.index,label:e==null?void 0:e[Z.index],value:Z.value}),v.current!==null&&T({a:v.current,b:_})}function re(H){if(!f||!(e!=null&&e.length))return;H.currentTarget.setPointerCapture(H.pointerId);const _=te(H);v.current=_,T({a:_,b:_})}function se(H){if(v.current===null||!f||!(e!=null&&e.length))return;H.currentTarget.hasPointerCapture(H.pointerId)&&H.currentTarget.releasePointerCapture(H.pointerId);const _=te(H);if(Math.abs(_-v.current)>6){const k=G[ne(Math.min(v.current,_))],Z=G[ne(Math.max(v.current,_))];f({from:e[k.index],to:e[Z.index]})}v.current=null,T(null)}function A(){j(null),R(null),c==null||c(null),v.current===null&&T(null)}const Q=w===null?null:G[w];return u.jsxs("span",{ref:h,className:"relative block w-full",children:[u.jsxs("svg",{ref:g,role:"img","aria-label":ee,className:`h-11 w-full overflow-hidden text-chart-primary ${f?"touch-none select-none":""}`,viewBox:`0 0 ${x} ${t}`,preserveAspectRatio:"none",onPointerMove:ie,onPointerDown:re,onPointerUp:se,onPointerCancel:A,onPointerLeave:A,onDoubleClick:()=>f==null?void 0:f(null),children:[u.jsx("defs",{children:u.jsxs("linearGradient",{id:m,x1:"0",y1:"0",x2:"0",y2:"1",children:[u.jsx("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:.16}),u.jsx("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:0})]})}),u.jsx("path",{d:Y,fill:`url(#${m})`}),u.jsx("path",{d:`M ${z}`,fill:"none",stroke:"currentColor",strokeWidth:1.5,vectorEffect:"non-scaling-stroke"}),O?u.jsx("rect",{x:Math.min(O.a,O.b),y:0,width:Math.abs(O.b-O.a),height:t,fill:"currentColor",opacity:.12}):null,Q?u.jsxs(u.Fragment,{children:[u.jsx("line",{x1:Q.x,x2:Q.x,y1:0,y2:t,stroke:"currentColor",strokeWidth:1,opacity:.45}),u.jsx("circle",{cx:Q.x,cy:Q.y,r:2.5,fill:"currentColor"})]}):u.jsx("circle",{cx:P.x,cy:P.y,r:2.25,fill:"currentColor"})]}),u.jsx(rr,{tip:W})]})}const D_={positive:"text-success",negative:"text-danger",neutral:"text-faint"},C_={positive:"▲",negative:"▼",neutral:"·"};function Nr({metric:n,label:e,value:t,valueText:i,format:a,delta:c,comparison:f,sparkValues:h=[],sparkLabels:m,selected:g,loading:v,onSelect:x,onSparkHover:b,onSparkBrush:w}){const[j,O]=F.useState(null),T=u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[u.jsx("span",{className:"truncate text-xs font-medium text-muted",children:e}),j!=null&&j.label?u.jsx("span",{className:"shrink-0 font-mono text-2xs text-faint",children:j.label}):null]}),u.jsx("div",{className:"font-mono tnum text-[19px] font-semibold leading-tight tracking-tight text-ink",children:v?u.jsx("span",{className:"skeleton inline-block h-6 w-24 align-middle"}):j?pt(j.value,a):i??pt(t,a)}),c||f?u.jsxs("div",{className:"flex items-baseline gap-1 text-2xs",children:[c?u.jsxs("span",{"data-tone":c.tone,className:`font-mono tnum font-medium ${D_[c.tone]}`,children:[u.jsx("span",{"aria-hidden":"true",className:"mr-0.5 text-[8px]",children:C_[c.tone]}),c.label]}):null,f?u.jsx("span",{className:"truncate text-faint",children:f}):null]}):null]}),W="group flex w-full flex-col gap-1.5 overflow-hidden rounded-xl border border-line bg-surface px-3.5 pt-3 text-left shadow-[var(--shadow-sm)] transition-colors hover:border-line-strong data-[selected=true]:border-accent",R=u.jsx("div",{className:"-mx-3.5 mt-auto",children:u.jsx(qv,{values:h,labels:m,onHover:E=>{O(E),b==null||b(E)},onBrush:w,formatValue:E=>pt(E,a)})});return x?u.jsxs("article",{"data-metric":n,"data-selected":g||void 0,className:W,children:[u.jsx("button",{type:"button","data-metric":n,"aria-pressed":!!g,onClick:()=>x(n),className:"-m-1 flex flex-col gap-1 border-0 bg-transparent p-1 text-left transition hover:opacity-75",children:T}),R]}):u.jsxs("article",{"data-metric":n,"data-selected":g||void 0,className:W,children:[T,R]})}const ul=280,qt={top:14,right:18,bottom:26,left:60},qm=["var(--accent)","var(--danger)","#0f9f8f","#d98921","#a66dd4","#3b82c4"];function hd(n){return qm[n%qm.length]}function Zm(n,e,t){return Math.min(Math.max(n,e),t)}function Go({points:n,seriesLabel:e="Current",additionalSeries:t=[],comparison:i,formatValue:a,formatAxis:c=a,formatLabel:f=v=>v,comparisonLabel:h="Previous",ariaLabel:m,onBrush:g}){var Fr;const v=F.useRef(null),x=F.useRef(null),b=F.useRef(!1),w=F.useRef(null),[j,O]=F.useState(820),[T,W]=F.useState(null),[R,E]=F.useState(null);F.useEffect(()=>{const ue=v.current;if(!ue)return;const Fe=new ResizeObserver(rt=>{for(const Nt of rt)O(Math.max(320,Nt.contentRect.width))});return Fe.observe(ue),()=>Fe.disconnect()},[]);const I=n.length,V=[{label:e,points:n},...t],M=[...V.flatMap(ue=>ue.points),...i??[]].map(ue=>ue.y).filter(Number.isFinite),U=I<2||M.length===0,G=U?0:Math.min(0,...M),z=U?1:Math.max(...M),Y=z-G||1,P=j-qt.left-qt.right,ee=ul-qt.top-qt.bottom,te=ue=>qt.left+(I<=1?0:ue/(I-1)*P),ne=ue=>qt.top+(1-(ue-G)/Y)*ee,ie=ue=>Zm(Math.round((ue-qt.left)/P*(I-1)),0,I-1),re=ue=>{const Fe=[];let rt=[];return ue.forEach((Nt,Un)=>{Number.isFinite(Nt.y)?rt.push(`${te(Un).toFixed(1)},${ne(Nt.y).toFixed(1)}`):rt.length&&(Fe.push(rt.join(" L ")),rt=[])}),rt.length&&Fe.push(rt.join(" L ")),Fe.map(Nt=>`M ${Nt}`).join(" ")},se=U||n.some(ue=>!Number.isFinite(ue.y))?"":`M ${te(0).toFixed(1)},${ne(G).toFixed(1)} L ${n.map((ue,Fe)=>`${te(Fe).toFixed(1)},${ne(ue.y).toFixed(1)}`).join(" L ")} L ${te(I-1).toFixed(1)},${ne(G).toFixed(1)} Z`;function A(ue){var rt;const Fe=(rt=x.current)==null?void 0:rt.getBoundingClientRect();return Fe?ue.clientX-Fe.left:0}function Q(ue){if(U)return;const Fe=A(ue);W(ie(Fe)),b.current&&w.current&&(w.current={a:w.current.a,b:Fe},E({...w.current}))}function H(ue){if(U||!g)return;ue.currentTarget.setPointerCapture(ue.pointerId),b.current=!0;const Fe=A(ue);w.current={a:Fe,b:Fe},E({...w.current})}function _(ue){ue.currentTarget.hasPointerCapture(ue.pointerId)&&ue.currentTarget.releasePointerCapture(ue.pointerId);const Fe=w.current;if(b.current&&Fe&&g){const rt=ie(Math.min(Fe.a,Fe.b)),Nt=ie(Math.max(Fe.a,Fe.b));Nt>rt&&g({from:n[rt].x,to:n[Nt].x})}b.current=!1,w.current=null,E(null)}function k(){W(null),b.current=!1,w.current=null,E(null)}const Z=Math.max(1,Math.ceil(I/8)),ae=[z,G+Y*.66,G+Y*.33,G],ce=T!=null&&T>=0&&T{const rt=ue.points[ce];return rt&&Number.isFinite(rt.y)?[{...ue,point:rt,index:Fe}]:[]}),lt=ce!=null?(i==null?void 0:i[ce])??null:null,wt=lt&&Number.isFinite(lt.y)?lt:null,Bs=ce!=null?Zm(te(ce),80,j-80):0,xn=$e&&wt&&wt.y!==0?($e.y-wt.y)/Math.abs(wt.y)*100:null,Cr=m??(U?"Time series chart: not enough data to plot.":`Time series chart, ${I} points from ${f(n[0].x)} to ${f(n[I-1].x)}.`);return u.jsxs("div",{className:"relative text-chart-primary",children:[u.jsxs("div",{className:"flex flex-wrap items-center justify-end gap-x-3 gap-y-0.5 px-3 pt-2 text-2xs text-faint",children:[V.map((ue,Fe)=>u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{className:"inline-block h-0.5 w-3",style:{backgroundColor:hd(Fe)}})," ",ue.label]},`${ue.label}-${Fe}`)),i!=null&&i.length?u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{className:"inline-block h-0 w-3 border-t border-dashed border-faint"})," ",h]}):null]}),u.jsx("div",{ref:v,className:"w-full",children:U?u.jsx("div",{className:"grid h-[280px] place-items-center text-xs text-faint",children:"Not enough data to chart."}):u.jsxs("svg",{ref:x,width:j,height:ul,role:"img","aria-label":Cr,className:"block touch-none select-none",onPointerMove:Q,onPointerDown:H,onPointerUp:_,onPointerLeave:k,onPointerCancel:k,onDoubleClick:()=>g==null?void 0:g(null),children:[u.jsx("defs",{children:u.jsxs("linearGradient",{id:"ts-fill",x1:"0",y1:"0",x2:"0",y2:"1",children:[u.jsx("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:.18}),u.jsx("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:0})]})}),ae.map((ue,Fe)=>u.jsxs("g",{children:[u.jsx("line",{x1:qt.left,x2:j-qt.right,y1:ne(ue),y2:ne(ue),className:"stroke-line"}),u.jsx("text",{x:qt.left-8,y:ne(ue)+3,textAnchor:"end",className:"fill-faint font-mono text-[10px]",children:c(ue)})]},Fe)),i&&i.length>=2?u.jsx("path",{d:re(i),fill:"none",className:"stroke-faint",strokeWidth:1.25,strokeDasharray:"4 3"}):null,se?u.jsx("path",{d:se,fill:"url(#ts-fill)"}):null,V.map((ue,Fe)=>u.jsx("path",{d:re(ue.points),fill:"none",stroke:hd(Fe),strokeWidth:1.75},`${ue.label}-${Fe}`)),R?u.jsx("rect",{x:Math.min(R.a,R.b),y:qt.top,width:Math.abs(R.b-R.a),height:ee,className:"fill-chart-primary",opacity:.12}):null,ce!=null&&ze.length?u.jsxs("g",{children:[u.jsx("line",{x1:te(ce),x2:te(ce),y1:qt.top,y2:ul-qt.bottom,className:"stroke-faint",strokeDasharray:"3 3"}),wt?u.jsx("circle",{cx:te(ce),cy:ne(wt.y),r:3,className:"fill-faint"}):null,ze.map(ue=>u.jsx("circle",{cx:te(ce),cy:ne(ue.point.y),r:3.5,fill:hd(ue.index)},`${ue.label}-${ue.index}`))]}):null,n.map((ue,Fe)=>Fe%Z===0||Fe===I-1?u.jsx("text",{x:te(Fe),y:ul-8,textAnchor:"middle",className:"fill-faint font-mono text-[10px]",children:f(ue.x)},ue.x):null)]})}),ze.length&&Re?u.jsxs("div",{className:"pointer-events-none absolute top-8 z-20 -translate-x-1/2 whitespace-nowrap border border-line bg-surface px-2 py-1.5 text-2xs shadow-[var(--shadow)]",style:{left:Bs},children:[u.jsx("div",{className:"mb-0.5 font-mono text-faint",children:f(Re)}),ze.map(ue=>u.jsxs("div",{className:"flex items-center justify-between gap-3",children:[u.jsx("span",{className:"text-muted",children:ue.label}),u.jsx("span",{className:"font-mono tnum font-medium text-ink",children:a(ue.point.y)})]},`${ue.label}-${ue.index}`)),wt?u.jsxs("div",{className:"flex items-center justify-between gap-3",children:[u.jsx("span",{className:"text-muted",children:h}),u.jsx("span",{className:"font-mono tnum text-muted",children:a(wt.y)})]}):null,xn!=null?u.jsxs("div",{className:`mt-0.5 text-right font-mono ${xn>0?"text-success":xn<0?"text-danger":"text-faint"}`,children:[xn.toLocaleString(void 0,{maximumFractionDigits:1,signDisplay:"exceptZero"}),"%"]}):null]}):null]})}const F_={positive:"text-success",negative:"text-danger",neutral:"text-faint"};function O_({metric:n,points:e,comparisonPoints:t,total:i,prevTotal:a,hasTime:c,loading:f,activeRange:h,comparisonLabel:m="Prev period",formatLabel:g,onBrush:v}){const x={format:n.format,type:n.type},b=a!==void 0?yy(i,a):null,w=`${n.label} over time. Total ${pt(i,x)}${b?`, ${b.label} versus the ${m.toLowerCase()}`:""}.`;return u.jsxs("section",{className:"flex flex-col gap-2",children:[u.jsxs("header",{className:"flex flex-wrap items-baseline gap-x-3 gap-y-0.5 px-0.5",children:[u.jsx("h2",{className:"text-xs font-medium text-muted",children:n.label}),u.jsx("span",{className:"font-mono tnum text-xl font-semibold text-ink",children:pt(i,x)}),b?u.jsxs("span",{className:`text-xs ${F_[b.tone]}`,children:[b.label," vs ",m.toLowerCase()]}):null,c?null:u.jsx("span",{className:"text-2xs text-faint",children:"No time dimension"}),h?u.jsx("button",{type:"button",onClick:()=>v(null),className:"ml-auto inline-flex h-7 items-center rounded-full border border-line bg-surface px-3 text-xs text-muted hover:border-line-strong hover:text-ink",children:"Reset zoom"}):null]}),c?f&&e.length<2?u.jsx("div",{className:"skeleton h-[280px] w-full"}):u.jsx(Go,{points:e,comparison:t,formatValue:j=>pt(j,x),formatAxis:j=>Wt(j,x),formatLabel:g,comparisonLabel:m,ariaLabel:w,onBrush:v}):null]})}const T_=new Set(["and","as","asc","by","case","cast","count","date_trunc","desc","else","end","from","group","in","is","join","left","limit","not","null","on","or","order","over","partition","select","sum","then","when","where","with"]);function A_(n){const e=[];let t=0;for(;ta).map(([a,c])=>`-- ${a} -${c}`).join(` - -`),i=A_(t||"No queries yet.");return u.jsxs("details",{className:"border border-line bg-surface",children:[u.jsx("summary",{className:"cursor-pointer px-3 py-2 text-xs font-medium text-muted",children:"Generated SQL"}),Object.keys(e).length>0?u.jsx("div",{"data-testid":"query-inputs",className:"grid gap-px border-t border-line bg-line sm:grid-cols-2",children:Object.entries(e).map(([a,c])=>c?u.jsxs("section",{className:"min-w-0 bg-surface px-3 py-2 text-2xs",children:[u.jsx("h3",{className:"mb-1 font-semibold text-ink",children:a}),[["Metrics",c.metrics],["Dimensions",c.dimensions],["Filters",c.filters]].map(([f,h])=>h!=null&&h.length?u.jsxs("p",{className:"truncate text-muted",title:h.join(", "),children:[u.jsxs("strong",{className:"font-medium text-faint",children:[f,":"]})," ",h.join(", ")]},f):null)]},a):null)}):null,u.jsx("pre",{"data-testid":"query-debug",className:"max-h-72 overflow-auto whitespace-pre-wrap border-t border-line px-3 py-2 font-mono text-2xs text-muted",children:i.map((a,c)=>Xm[a.kind]?u.jsx("span",{className:Xm[a.kind],"data-token":a.kind,children:a.value},c):a.value)})]})}function B_(n){return{format:n==null?void 0:n.format,type:n==null?void 0:n.type}}function E_(n,e){return n&&e.some(t=>t.ref===n)?n:null}function ey(n,e){return[...n].sort((t,i)=>String(t[e]??"").localeCompare(String(i[e]??"")))}function R_(n,e){return{from:e==="second"||e==="minute"||e==="hour"?n.from.replace(" ","T"):nf(n.from),to:hS(n.to,e)}}function L_(){var Cr,Fr,ue,Fe,rt,Nt,Un,sr,Es,Ei;const{state:n,dispatch:e,catalog:t,backend:i,dashboard:a}=ls(),[c,f]=F.useState(null),h=t.models.find(Se=>Se.name===n.model),m=F.useMemo(()=>Cs(t,a,n.dashboardTab),[t,a,n.dashboardTab]);F.useEffect(()=>{f(null)},[n.dashboardTab,n.model]);const g=(m==null?void 0:m.metrics)??(h==null?void 0:h.metrics)??[],v=new Set(g.map(Se=>Se.ref)),x=ji(t,n.model).filter(Se=>!m||v.has(Se.ref)),b=((Cr=m==null?void 0:m.timeDimension)==null?void 0:Cr.ref)??((Fr=h==null?void 0:h.timeDimension)==null?void 0:Fr.ref),w=g.find(Se=>Se.ref===n.selectedMetric)??x.find(Se=>Se.ref===n.selectedMetric)??g[0],j=!!w&&g.some(Se=>Se.ref===w.ref),O=F.useMemo(()=>{const Se=g.map(bn=>bn.ref);return w&&!j?[...Se,w.ref]:Se},[g,w,j]),T=F.useMemo(()=>oc(t),[t]),W=F.useMemo(()=>[...(m==null?void 0:m.filters)??[],...Os(n.filters,{timeRef:b,range:n.dateRange,types:T})],[m,n.filters,b,n.dateRange,T]),R=F.useMemo(()=>n.comparison==="off"||!n.dateRange?null:n.comparison==="year"?lS(n.dateRange):n.comparison==="custom"?n.comparisonRange??null:aS(n.dateRange),[n.comparison,n.dateRange,n.comparisonRange]),E=F.useMemo(()=>R&&b?[...(m==null?void 0:m.filters)??[],...Os(n.filters,{timeRef:b,range:R,types:T})]:null,[m,n.filters,b,R,T]),I=n.timezone,V=Se=>Se?{...Se,timezone:I}:null,M=Zn(i,O.length?V($m(O,W,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations)):null),U=Zn(i,O.length&&b?V(Pm(O,b,n.grain,W,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations,!!n.dateRange)):null),G=Zn(i,O.length&&E?V($m(O,E,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations)):null),z=Zn(i,w&&b&&E?V(Pm([w.ref],b,n.grain,E,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations,!0)):null),Y=M.error??U.error??G.error??z.error;if(!h)return u.jsx("div",{className:"p-4",children:u.jsx(Xn,{message:"No model available in this semantic layer."})});const P=((m==null?void 0:m.dimensions)??h.dimensions).filter(Se=>Se.type!=="time"),ee=E_(c,P),te=n.comparison==="year"?"Prev year":n.comparison==="custom"?"Comparison":"Prev period",ne=b?`${b}__${n.grain}`:"",ie=ne?[...O,ne]:O,re=w&&ne?[w.ref,ne]:[],se=g[0]?Fn(g[0].ref,O):w?Fn(w.ref,O):null,A=Se=>!Se||!se||Se.columns.includes(se),Q=A(M.result)?(ue=M.result)==null?void 0:ue.rows[0]:void 0,H=A(G.result)?(Fe=G.result)==null?void 0:Fe.rows[0]:void 0,_=A(U.result)?((rt=U.result)==null?void 0:rt.rows)??[]:[],k=w?Fn(w.ref,O):"",Z=w?Fn(w.ref,ie):"",ae=w?Fn(w.ref,re):"",ce=ne?Fn(ne,ie):"",we=ne?Fn(ne,re):"",$e=ce?ey(_,ce):_,Re=Q&&k?Number(Q[k]):NaN,ze=H&&k?Number(H[k]):void 0,lt=Z?$e.map(Se=>({x:String(Se[ce]??""),y:Number(Se[Z])})):[],wt=we?ey(((Nt=z.result)==null?void 0:Nt.rows)??[],we):[],Bs=ae&<.length>0&&wt.length>0?(()=>{const Se=String(wt[0][we]??""),bn=lt[0].x,us=new Map;for(const tn of wt)us.set(Lm(Se,String(tn[we]??""),n.grain),Number(tn[ae]));return lt.map(tn=>({x:tn.x,y:us.get(Lm(bn,tn.x,n.grain))??NaN}))})():[];function xn(Se){e(Se?{type:"setDateRange",range:R_(Se,n.grain)}:{type:"setDateRange",range:void 0})}return u.jsxs("div",{className:"flex flex-col gap-4 p-4",children:[Y?u.jsx(Bi,{message:Y}):null,u.jsx("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-3 lg:grid-cols-4 xl:grid-cols-6","data-testid":"metric-totals",children:g.length===0?u.jsx("div",{className:"col-span-full",children:u.jsx(Xn,{message:"This model has no metrics."})}):g.map(Se=>{const bn=Fn(Se.ref,O),us=Fn(Se.ref,ie),tn=Q?Number(Q[bn]):NaN,ds=H?Number(H[bn]):void 0,Yo=$e.map(ir=>Number(ir[us])).filter(Number.isFinite);return u.jsx(Nr,{metric:Se.ref,label:Se.label,valueText:pt(tn,B_(Se)),delta:ds!==void 0?yy(tn,ds):null,sparkValues:Yo,selected:n.selectedMetric===Se.ref,loading:M.loading&&!Q,onSelect:ir=>e({type:"setMetric",metric:ir})},Se.ref)})}),w?u.jsx(O_,{metric:w,points:lt,comparisonPoints:R?Bs:void 0,total:Re,prevTotal:R?ze:void 0,hasTime:!!b,loading:U.loading,activeRange:n.dateRange,comparisonLabel:te,formatLabel:Se=>cS(Se,n.grain),onBrush:xn}):null,u.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(220px,1fr))] gap-0 border-l border-t border-line",children:w&&P.length?P.filter(Se=>ee===null||ee===Se.ref).map(Se=>u.jsx(M_,{dim:Se,model:h,timeDimensionRef:b,rankMetric:w,contextColumn:n.contextColumn,metricTotal:Number.isFinite(Re)?Re:void 0,comparisonRange:R??void 0,baseFilters:m==null?void 0:m.filters,baseSegments:m==null?void 0:m.segments,usePreaggregations:m==null?void 0:m.usePreaggregations,expanded:ee===Se.ref,onExpandedChange:bn=>f(bn?Se.ref:null)},Se.ref)):u.jsx(Xn,{message:"No categorical dimensions to break down."})}),u.jsx(ac,{queries:{Totals:(Un=M.result)==null?void 0:Un.sql,Series:(sr=U.result)==null?void 0:sr.sql,Comparison:(Es=G.result)==null?void 0:Es.sql,"Prev series":(Ei=z.result)==null?void 0:Ei.sql}})]})}function U_(){var ne,ie;const{state:n,catalog:e,backend:t}=ls(),i=e.models.find(re=>re.name===n.model),a=(i==null?void 0:i.dimensions)??[],c=ji(e,n.model),f=F.useMemo(()=>[...(i==null?void 0:i.metrics)??[],...c],[i,c]),h=(ne=i==null?void 0:i.timeDimension)==null?void 0:ne.ref,m=re=>a.some(se=>se.ref===re),g=re=>f.some(se=>se.ref===re),v=n.pivotDims.filter(m),x=n.pivotMetrics.filter(g),b=g(n.selectedMetric)?n.selectedMetric:(ie=i==null?void 0:i.metrics[0])==null?void 0:ie.ref,w=x.length?x:b?[b]:[],[j,O]=F.useState(null),T=F.useMemo(()=>sf(a),[a]),W=F.useMemo(()=>Os(n.filters,{timeRef:h,range:n.dateRange,types:T}),[n.filters,h,n.dateRange,T]),R=j??(w[0]?{ref:w[0],dir:"desc"}:null),E=R?[`${R.ref} ${R.dir.toUpperCase()}`]:void 0,I=w.length||v.length?gS(w,v,W,E,500):null,V=I?{...I,timezone:n.timezone}:null,{result:M,loading:U,error:G}=Zn(t,V),z=F.useMemo(()=>new Map(f.map(re=>[re.ref,re])),[f]),Y=F.useMemo(()=>{const re=new Map;for(const se of[...v,...w])re.set(Sr(se),se);return re},[v,w]),P=[...v.map(re=>{var se;return{key:Sr(re),label:((se=a.find(A=>A.ref===re))==null?void 0:se.label)??Ee(re),numeric:!1}}),...w.map(re=>{var se;return{key:Sr(re),label:((se=z.get(re))==null?void 0:se.label)??Ee(re),numeric:!0,sortable:!0}})];function ee(re){const se=Y.get(re);se&&O(A=>A&&A.ref===se?{ref:se,dir:A.dir==="desc"?"asc":"desc"}:{ref:se,dir:"desc"})}function te(re,se){if(re.numeric){const A=z.get(Y.get(re.key)??"");return pt(se,{format:A==null?void 0:A.format,type:A==null?void 0:A.type})}return se==null||se===""?"—":String(se)}return i?u.jsxs("div",{className:"flex flex-col gap-4 p-4",children:[G?u.jsx(Bi,{message:G}):P.length===0?u.jsx(Xn,{title:"Nothing selected",message:"Pick at least one metric or dimension above."}):u.jsx(Ho,{columns:P,rows:(M==null?void 0:M.rows)??[],loading:U,sortKey:R?Sr(R.ref):void 0,sortDir:R==null?void 0:R.dir,onSort:ee,renderCell:te}),u.jsx(ac,{queries:{Pivot:M==null?void 0:M.sql}})]}):u.jsx("div",{className:"p-4",children:u.jsx(Xn,{message:"No model available."})})}const Dn={top:12,right:14,bottom:26,left:44};function $_(n,e,t=4){if(!(e>n))return[n];const i=(e-n)/(t-1);return Array.from({length:t},(a,c)=>n+i*c)}function Zv({data:n,height:e=200,ariaLabel:t,selectedLabel:i,onSelect:a}){const c=F.useRef(null),[f,h]=F.useState(640),{tip:m,handlers:g}=Dr();F.useEffect(()=>{const M=c.current;if(!M||typeof ResizeObserver>"u")return;const U=new ResizeObserver(G=>{for(const z of G)h(Math.max(160,z.contentRect.width))});return U.observe(M),()=>U.disconnect()},[]);const v=n.map(M=>Number.isFinite(M.value)?M.value:0),x=Math.min(0,...v),b=Math.max(0,...v),w=b-x||1,j=f-Dn.left-Dn.right,O=e-Dn.top-Dn.bottom,T=M=>Dn.top+(1-(M-x)/w)*O,W=T(0),R=j/Math.max(n.length,1),E=Math.max(8,Math.min(48,R*.62)),I=$_(x,b,4),V=t||`Bar chart, ${n.length} categories, up to ${Wt(b)}`;return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{ref:c,role:"img","aria-label":V,className:"h-[200px] w-full overflow-hidden",viewBox:`0 0 ${f} ${e}`,children:[I.map((M,U)=>{const G=T(M);return u.jsxs("g",{children:[u.jsx("line",{x1:Dn.left,x2:f-Dn.right,y1:G,y2:G,className:"stroke-line"}),u.jsx("text",{x:Dn.left-6,y:G+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Wt(M)})]},U)}),u.jsx("line",{x1:Dn.left,x2:f-Dn.right,y1:W,y2:W,className:"stroke-line"}),n.map((M,U)=>{const G=M.filterValue??M.label,z=v[U]??0,Y=T(z),P=Math.abs(Y-W),ee=Dn.left+R*U+(R-E)/2,te=Math.min(Y,W);return u.jsxs("g",{role:a?"button":void 0,tabIndex:a?0:void 0,"aria-label":a?`Filter to ${M.label}`:void 0,"aria-pressed":a?i===G:void 0,onClick:a?()=>a(G):void 0,onKeyDown:a?ne=>{(ne.key==="Enter"||ne.key===" ")&&a(G)}:void 0,className:a?"cursor-pointer":void 0,children:[u.jsx("rect",{x:ee,y:te,width:E,height:P,"data-label":M.label,"data-value":z,"data-tone":z<0?"negative":"positive",className:i===G?"fill-accent":z<0?"fill-danger":"fill-chart-primary",...g(`${M.label}: ${pt(z)}`)}),u.jsx("text",{x:ee+E/2,y:e-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:M.label.slice(0,8)})]},`${G}-${U}`)})]}),u.jsx(rr,{tip:m})]})}const pd=7;function yn(n){return`var(--viz-${(n%pd+pd)%pd+1})`}function Ts(n,e,t=4){if(!(e>n))return[n];const i=(e-n)/(t-1);return Array.from({length:t},(a,c)=>n+i*c)}function cs(n,e,t){if(!n||typeof ResizeObserver>"u")return()=>{};const i=new ResizeObserver(a=>{for(const c of a)t(Math.max(e,c.contentRect.width))});return i.observe(n),()=>i.disconnect()}const Pt={top:12,right:14,bottom:30,left:48};function Xv({points:n,height:e=240,xLabel:t,yLabel:i,formatX:a=Wt,formatY:c=Wt,ariaLabel:f}){const h=F.useRef(null),[m,g]=F.useState(640),{tip:v,handlers:x}=Dr();F.useEffect(()=>cs(h.current,200,g),[]);const b=n.filter(P=>Number.isFinite(P.x)&&Number.isFinite(P.y));if(b.length===0)return u.jsx("div",{className:"grid h-[240px] place-items-center text-xs text-faint",children:"No points to chart."});const w=[...new Set(b.map(P=>P.series??""))],j=b.map(P=>P.x),O=b.map(P=>P.y),T=Math.min(...j),W=Math.max(...j),R=Math.min(...O),E=Math.max(...O),I=W-T||1,V=E-R||1,M=m-Pt.left-Pt.right,U=e-Pt.top-Pt.bottom,G=P=>Pt.left+(P-T)/I*M,z=P=>Pt.top+(1-(P-R)/V)*U,Y=f||`Scatter plot, ${b.length} points${t&&i?` of ${i} by ${t}`:""}`;return u.jsxs(u.Fragment,{children:[w.length>1?u.jsx("div",{className:"mb-1 flex flex-wrap items-center gap-3 text-2xs text-faint",children:w.map((P,ee)=>u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-full",style:{background:yn(ee)}}),P||"(default)"]},P||"(default)"))}):null,u.jsxs("svg",{ref:h,role:"img","aria-label":Y,className:"w-full overflow-hidden",style:{height:e},viewBox:`0 0 ${m} ${e}`,children:[Ts(R,E,4).map((P,ee)=>{const te=z(P);return u.jsxs("g",{children:[u.jsx("line",{x1:Pt.left,x2:m-Pt.right,y1:te,y2:te,className:"stroke-line"}),u.jsx("text",{x:Pt.left-6,y:te+3,textAnchor:"end",className:"fill-faint text-[10px]",children:c(P)})]},`y${ee}`)}),Ts(T,W,5).map((P,ee)=>{const te=G(P);return u.jsxs("g",{children:[u.jsx("line",{x1:te,x2:te,y1:Pt.top,y2:e-Pt.bottom,className:"stroke-line"}),u.jsx("text",{x:te,y:e-14,textAnchor:"middle",className:"fill-faint text-[10px]",children:a(P)})]},`x${ee}`)}),t?u.jsx("text",{x:Pt.left+M/2,y:e-2,textAnchor:"middle",className:"fill-muted text-[10px]",children:t}):null,i?u.jsx("text",{x:10,y:Pt.top+U/2,textAnchor:"middle",transform:`rotate(-90 10 ${Pt.top+U/2})`,className:"fill-muted text-[10px]",children:i}):null,b.map((P,ee)=>u.jsx("circle",{cx:G(P.x),cy:z(P.y),r:3.5,fill:yn(w.indexOf(P.series??"")),fillOpacity:.75,"data-x":P.x,"data-y":P.y,"data-label":P.label,...x(u.jsx(os,{title:P.label??P.series,rows:[{label:t??"x",value:a(P.x)},{label:i??"y",value:c(P.y)}]}))},ee))]}),u.jsx(rr,{tip:v})]})}function P_(){const n=Cv();return u.jsx("span",{className:"text-2xs text-faint",children:n?"Querying…":"Live data"})}function md(n,e){for(const i of n.models){const a=i.metrics.find(c=>c.ref===e);if(a)return{format:a.format,type:a.type}}const t=n.graphMetrics.find(i=>i.ref===e);return{format:t==null?void 0:t.format,type:t==null?void 0:t.type}}function z_(n){return sf(n.models.flatMap(e=>e.dimensions))}function V_(n){var t;const e=(t=n.encoding)==null?void 0:t.y;return(Array.isArray(e)?e[0]:e)??n.query.metrics[0]??""}function W_({chart:n,columns:e,rows:t}){const i=w_(e,t);return u.jsx("a",{href:`data:text/csv;charset=utf-8,${encodeURIComponent(i)}`,download:`${n.id}.csv`,className:"border border-line px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Export CSV"})}function H_({chart:n,columns:e,rows:t,loading:i,onDrill:a}){const c=e.map(g=>({key:g,label:Ee(g),numeric:n.query.metrics.some(v=>xr(v,e)===g)})),f=i_(n),h=f?xr(f,e):void 0,m=!!f;return u.jsxs("div",{className:"border-t border-line bg-surface-soft p-3","data-testid":`chart-details-${n.id}`,children:[u.jsxs("div",{className:"mb-2 flex items-center justify-between gap-2",children:[u.jsx("span",{className:"text-2xs font-semibold uppercase tracking-wide text-faint",children:"Drill details"}),m&&f&&h?u.jsxs("span",{className:"text-2xs text-faint",children:["Choose a ",Ee(f)," value to filter every chart."]}):null]}),u.jsx(Ho,{columns:c,rows:t,loading:i,pageSize:20,renderCell:(g,v)=>String(v??"—")}),m&&f&&h&&t.length?u.jsx("div",{className:"mt-2 flex flex-wrap gap-1","aria-label":`Drill by ${Ee(f)}`,children:t.slice(0,12).map((g,v)=>{const x=Xl(g[h]);return u.jsxs("button",{type:"button",onClick:()=>a(f,x),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-accent hover:text-ink",children:["Filter to ",rs(x)]},`${String(x)}-${v}`)})}):null]})}function G_({document:n,chart:e,catalog:t,backend:i,state:a,setFilters:c,setRange:f}){var P,ee,te,ne,ie,re,se;const[h,m]=F.useState(!1),g=F.useMemo(()=>z_(t),[t]),v=F.useMemo(()=>h_(n,e,a.filters,g,a.ranges,a),[e,n,a,g]),x=Zn(i,v),b=((P=x.result)==null?void 0:P.rows)??[],w=((ee=x.result)==null?void 0:ee.columns)??[],j=e.query.dimensions??[],O=((te=e.encoding)==null?void 0:te.x)??j[0]??"",T=l_(e),W=T[0]??V_(e),R=xr(O,w),E=uf(n,e,a),I=zv(e,g),V=o_(e,O),M=((ne=e.title)==null?void 0:ne.trim())||Ee(e.id),U=[(ie=e.encoding)==null?void 0:ie.color,...j.filter(A=>A!==O)].filter((A,Q,H)=>!!A&&H.indexOf(A)===Q),G=u_(e,O,U),z=U.map(A=>xr(A,w));let Y;if(x.loading&&!x.result)Y=u.jsx(af,{title:`Loading ${M}`});else if(x.error)Y=u.jsx(Bi,{title:`Could not load ${M}`,message:x.error});else if(!b.length)Y=u.jsx(Xn,{title:M,message:"The query returned no rows."});else if(j.length)if(I==="scatter"||I==="point"){const A=(re=e.encoding)!=null&&re.color?xr(e.encoding.color,w):z[0];Y=u.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(260px,1fr))] gap-3",children:T.map(Q=>{const H=xr(Q,w),_=b.map(k=>({x:Number(k[R]),y:Number(k[H]),label:String(k[R]??""),series:A?String(k[A]??""):void 0}));return u.jsxs("div",{className:"min-w-0",children:[T.length>1?u.jsx("h3",{className:"mb-1 text-2xs font-semibold text-muted",children:Ee(Q)}):null,u.jsx(Xv,{points:_,xLabel:Ee(O),yLabel:Ee(Q),formatY:k=>pt(k,md(t,Q)),ariaLabel:`${M}, ${Ee(Q)} by ${Ee(O)}, ${_.length} points`})]},Q)})})}else I==="line"||I==="area"?Y=u.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(260px,1fr))] gap-3",children:T.map(A=>{const Q=y_(b,R,xr(A,w),z),H=Q[0]??{label:"Current",points:[]},_=md(t,A);return u.jsxs("div",{className:"min-w-0",children:[T.length>1?u.jsx("h3",{className:"mb-1 text-2xs font-semibold text-muted",children:Ee(A)}):null,u.jsx(Go,{points:H.points,seriesLabel:H.label,additionalSeries:Q.slice(1),formatValue:k=>pt(k,_),ariaLabel:`${M}, ${Ee(A)}, ${Q.length} series and ${H.points.length} buckets`,onBrush:V?k=>f(O,k):void 0})]},A)})}):Y=u.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(260px,1fr))] gap-3",children:T.map(A=>{const Q=xr(A,w),H=m_(b,R,Q,z);return H.map((_,k)=>{const Z=_.data.slice(0,30),ae=T.length>1||H.length>1,ce=[T.length>1?Ee(A):"",H.length>1?_.label:""].filter(Boolean).join(" · ");return u.jsxs("div",{className:"min-w-0",children:[ae?u.jsx("h3",{className:"mb-1 text-2xs font-semibold text-muted",children:ce}):null,u.jsx(Zv,{data:Z,ariaLabel:`${M}, ${ce||Ee(A)}, ${Z.length} categories`,selectedLabel:E.filters[O],onSelect:G?we=>{c(c_(e,O,we,U,_.filterValues)),m(!0)}:void 0})]},`${A}-${_.label}-${k}`)})})});else{const A=b[0];Y=u.jsx("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2",children:e.query.metrics.map(Q=>u.jsx(Nr,{metric:Q,label:Ee(Q),value:A[xr(Q,w)],format:md(t,Q)},Q))})}return u.jsxs("article",{className:"min-w-0 overflow-hidden border border-line bg-surface","data-testid":"dashboard-chart","data-chart-id":e.id,children:[u.jsxs("header",{className:"flex min-h-12 flex-wrap items-center justify-between gap-2 border-b border-line px-3 py-2",children:[u.jsxs("div",{className:"min-w-0",children:[u.jsx("h2",{className:"truncate text-sm font-semibold text-ink",children:M}),u.jsxs("p",{className:"text-2xs text-faint",children:[Ee(W),O?` by ${Ee(O)}`:""]})]}),u.jsxs("div",{className:"flex flex-wrap gap-1",children:[u.jsx("button",{type:"button","aria-expanded":h,onClick:()=>m(A=>!A),className:"border border-line px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:h?"Hide details":"Drill details"}),u.jsx("a",{href:p_(n,e,a,g,t),className:"border border-line px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Explore from here"}),u.jsx(W_,{chart:e,columns:w,rows:b})]})]}),u.jsx("div",{className:"min-h-64 overflow-hidden p-3",children:Y}),h?u.jsx(H_,{chart:e,columns:w,rows:b,loading:x.loading,onDrill:(A,Q)=>c({[A]:Q})}):null,(se=x.result)!=null&&se.sql?u.jsx("div",{className:"border-t border-line px-3 py-2",children:u.jsx(ac,{queries:{Query:x.result.sql}})}):null]})}function Y_({document:n,state:e,onLoad:t}){const[i,a]=F.useState(""),[c,f]=F.useState(()=>x_(n)),[h,m]=F.useState(!1);function g(v){f(v),m(!b_(n,v))}return u.jsxs("details",{className:"relative",children:[u.jsx("summary",{className:"cursor-pointer list-none border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Saved views"}),u.jsxs("div",{className:"absolute right-0 z-50 mt-1 w-72 border border-line bg-surface p-3 shadow-[var(--shadow)]",children:[u.jsx("p",{className:"mb-2 text-2xs text-faint",children:"Stored only in this browser. Nothing is written to the server."}),u.jsxs("div",{className:"flex gap-1",children:[u.jsx("input",{value:i,onChange:v=>a(v.target.value),placeholder:"View name","aria-label":"Saved view name",className:"min-w-0 flex-1 border border-line bg-bg px-2 py-1 text-xs text-ink"}),u.jsx("button",{type:"button",disabled:!i.trim(),onClick:()=>{const v=[...c.filter(x=>x.name!==i.trim()),{name:i.trim(),state:e}];g(v),a("")},className:"border border-line px-2 py-1 text-2xs text-muted hover:text-ink disabled:opacity-40",children:"Save"})]}),h?u.jsx("p",{role:"alert",className:"mt-2 text-2xs text-danger",children:"Browser storage is unavailable."}):null,u.jsx("div",{className:"mt-2 flex flex-col gap-1",children:c.length?c.map(v=>u.jsxs("div",{className:"flex items-center justify-between gap-2 border-t border-line pt-1",children:[u.jsx("button",{type:"button",onClick:()=>t(v.state),className:"min-w-0 flex-1 truncate text-left text-xs text-muted hover:text-ink",children:v.name}),u.jsx("button",{type:"button","aria-label":`Delete saved view ${v.name}`,onClick:()=>g(c.filter(x=>x.name!==v.name)),className:"text-2xs text-faint hover:text-danger",children:"Delete"})]},v.name)):u.jsx("span",{className:"text-2xs text-faint",children:"No local views yet."})})]})]})}function Q_(){const[n,e]=F.useState(!1);return u.jsx("button",{type:"button",title:"Copies the active tab, filters, and brushed ranges. Data is queried live; local saved views are not shared.",onClick:async()=>{await navigator.clipboard.writeText(window.location.href),e(!0),window.setTimeout(()=>e(!1),1200)},className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:n?"Share URL copied":"Copy share URL"})}function K_({document:n,catalog:e,backend:t}){const[i,a]=F.useState(()=>g_(window.location.search,n)),c=n.tabs.find(b=>b.id===i.tab)??n.tabs[0];F.useEffect(()=>{window.document.title=n.title},[n.title]),F.useEffect(()=>{const b=v_(i,n);window.history.replaceState(null,"",`${window.location.pathname}${b?`?${b}`:""}`)},[n,i]);function f(b,w){var O,T;const j=ec(n,b);if((((T=(O=n.defaults)==null?void 0:O.interactions)==null?void 0:T.scope)??"dashboard")==="chart"){a(W=>{var R;return{...W,chartFilters:{...W.chartFilters??{},[j]:{...((R=W.chartFilters)==null?void 0:R[j])??{},...w}}}});return}a(W=>({...W,filters:{...W.filters,...w},filterSources:{...W.filterSources,...Object.fromEntries(Object.keys(w).map(R=>[R,j]))}}))}function h(b,w,j){var T,W;const O=ec(n,b);if((((W=(T=n.defaults)==null?void 0:T.interactions)==null?void 0:W.scope)??"dashboard")==="chart"){a(R=>{const E={...R.chartRanges??{}},I={...E[O]??{}};return j?I[w]=j:delete I[w],Object.keys(I).length?E[O]=I:delete E[O],{...R,chartRanges:E}});return}a(R=>{const E={...R.ranges},I={...R.rangeSources};return j?(E[w]=j,I[w]=O):(delete E[w],delete I[w]),{...R,ranges:E,rangeSources:I}})}const m=u.jsxs(u.Fragment,{children:[u.jsx(Y_,{document:n,state:i,onLoad:a}),u.jsx(Q_,{}),u.jsx($o,{}),u.jsx(P_,{})]}),g=Object.entries(i.chartFilters??{}).flatMap(([b,w])=>Object.entries(w).map(([j,O])=>({source:b,dimension:j,value:O}))),v=Object.entries(i.chartRanges??{}).flatMap(([b,w])=>Object.entries(w).map(([j,O])=>({source:b,dimension:j,range:O}))),x=Object.entries(i.filters).length||Object.entries(i.ranges).length||g.length||v.length?u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"shrink-0 text-2xs font-semibold uppercase tracking-wide text-faint",children:"Filters"}),Object.entries(i.filters).map(([b,w])=>u.jsxs("button",{type:"button","aria-label":`Remove filter ${Ee(b)} ${w}`,onClick:()=>a(j=>{const O={...j.filters},T={...j.filterSources};return delete O[b],delete T[b],{...j,filters:O,filterSources:T}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Ee(b)," = ",w," ×"]},b)),Object.entries(i.ranges).map(([b,w])=>u.jsxs("button",{type:"button","aria-label":`Remove range ${Ee(b)} ${w.from} to ${w.to}`,onClick:()=>a(j=>{const O={...j.ranges},T={...j.rangeSources};return delete O[b],delete T[b],{...j,ranges:O,rangeSources:T}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Ee(b),": ",w.from,"–",w.to," ×"]},`range-${b}`)),g.map(({source:b,dimension:w,value:j})=>u.jsxs("button",{type:"button","aria-label":`Remove filter ${Ee(w)} ${j} from ${b}`,onClick:()=>a(O=>{const T={...O.chartFilters??{}},W={...T[b]??{}};return delete W[w],Object.keys(W).length?T[b]=W:delete T[b],{...O,chartFilters:T}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Ee(w)," = ",j," · ",b," ×"]},`chart-filter-${b}-${w}`)),v.map(({source:b,dimension:w,range:j})=>u.jsxs("button",{type:"button","aria-label":`Remove range ${Ee(w)} ${j.from} to ${j.to} from ${b}`,onClick:()=>a(O=>{const T={...O.chartRanges??{}},W={...T[b]??{}};return delete W[w],Object.keys(W).length?T[b]=W:delete T[b],{...O,chartRanges:T}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Ee(w),": ",j.from,"–",j.to," · ",b," ×"]},`chart-range-${b}-${w}`)),u.jsx("button",{type:"button",onClick:()=>a(b=>({...b,filters:{},ranges:{},filterSources:{},rangeSources:{},chartFilters:{},chartRanges:{}})),className:"text-2xs text-muted hover:text-ink",children:"Clear all"})]}):void 0;return u.jsx(_v,{brand:u.jsxs("div",{className:"min-w-0",children:[u.jsx("h1",{className:"truncate text-sm font-semibold text-ink",children:n.title}),u.jsx("p",{className:"text-2xs text-faint",children:"Declarative dashboard"})]}),toolbar:m,filters:x,rail:null,showRail:!1,children:u.jsxs("div",{"data-testid":"dashboard-document",className:"flex min-h-full flex-col",children:[u.jsx("nav",{className:"flex shrink-0 gap-1 overflow-x-auto border-b border-line bg-surface px-3 pt-2","aria-label":"Dashboard tabs",children:n.tabs.map(b=>u.jsx("button",{type:"button",role:"tab","aria-selected":b.id===(c==null?void 0:c.id),"data-tab-id":b.id,onClick:()=>a(w=>{var j,O;return w.tab===b.id?w:(((O=(j=n.defaults)==null?void 0:j.interactions)==null?void 0:O.scope)??"dashboard")==="dashboard"?{...w,tab:b.id}:{...w,tab:b.id,filters:{},ranges:{},filterSources:{},rangeSources:{},chartFilters:{},chartRanges:{}}}),className:"border border-b-0 border-line px-3 py-2 text-xs text-muted aria-selected:border-accent aria-selected:bg-bg aria-selected:text-ink",children:S_(b)},b.id))}),c?u.jsx("section",{className:"grid min-w-0 grid-cols-1 gap-3 p-3 xl:grid-cols-2","data-testid":"dashboard-chart-grid","data-tab-id":c.id,children:c.charts.map(b=>u.jsx(G_,{document:n,chart:b,catalog:e,backend:t,state:i,setFilters:w=>f(b,w),setRange:(w,j)=>h(b,w,j)},b.id))}):u.jsx(Xn,{title:"No dashboard tabs",message:"This dashboard document has no tabs to render."})]})})}function ty(){const n=Cv();return u.jsxs("span",{role:"status","aria-live":"polite","aria-atomic":"true",className:"flex items-center gap-1.5 text-2xs text-faint",title:n?"Updating data":"Data is up to date",children:[n?u.jsx("svg",{"aria-hidden":"true",viewBox:"0 0 24 24",className:"spinner size-3.5 text-accent",fill:"none",stroke:"currentColor",strokeWidth:"3",children:u.jsx("path",{d:"M12 3a9 9 0 1 0 9 9",strokeLinecap:"round"})}):u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-full bg-accent"}),u.jsx("span",{className:"sr-only",children:n?"Updating data":"Data is up to date"})]})}function J_(){const[n,e]=F.useState(!1);return u.jsx("button",{type:"button",onClick:async()=>{await navigator.clipboard.writeText(window.location.href),e(!0),window.setTimeout(()=>e(!1),1200)},className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:n?"Copied":"Copy link"})}function dl({children:n}){return u.jsx("div",{className:"grid h-screen place-items-center bg-bg p-6",children:n})}function q_({backend:n,onAuthenticated:e}){const[t,i]=F.useState(""),[a,c]=F.useState(null),[f,h]=F.useState(!1);return u.jsxs("div",{className:"w-full max-w-sm border border-line bg-surface p-6 shadow-sm",children:[u.jsx("h1",{className:"text-base font-semibold text-ink",children:"Connect to Sidemantic"}),u.jsx("p",{className:"mt-2 text-xs leading-5 text-muted",children:"Enter the API bearer once. It is exchanged for a short-lived, HttpOnly browser session where supported, and is never placed in the URL or browser storage."}),u.jsxs("form",{className:"mt-5 space-y-3",onSubmit:async m=>{m.preventDefault(),h(!0),c(null);try{await n.createBrowserSession(t),i(""),e()}catch(g){c(g instanceof Error?g.message:String(g))}finally{h(!1)}},children:[u.jsx("label",{className:"block text-xs font-medium text-ink",htmlFor:"api-token",children:"API bearer token"}),u.jsx("input",{id:"api-token",type:"password",autoComplete:"off",required:!0,value:t,onChange:m=>i(m.target.value),className:"w-full border border-line bg-bg px-3 py-2 text-sm text-ink outline-none focus:border-accent"}),a?u.jsx("p",{className:"text-xs text-red-700",children:a}):null,u.jsx("button",{type:"submit",disabled:f||!t,className:"w-full bg-accent px-3 py-2 text-xs font-semibold text-white disabled:opacity-50",children:f?"Connecting…":"Connect"})]})]})}function Z_(){const{state:n,dispatch:e,catalog:t,initial:i,dashboard:a}=ls(),c=!!a,f=n.view==="home"&&!c,h=t.models.find(E=>E.name===n.model),m=F.useMemo(()=>Cs(t,a,n.dashboardTab),[t,a,n.dashboardTab]),g=F.useMemo(()=>a?Iv(t,a,n.dashboardTab):i,[t,a,i,n.dashboardTab]),v=n.dateRange!=null||Object.keys(n.filters).length>0,x=(m==null?void 0:m.timeDimension)??(h==null?void 0:h.timeDimension),b=!!x,w=iS(x==null?void 0:x.supportedGranularities,n.grain),j=F.useMemo(()=>{const E=new Map;for(const I of t.models)for(const V of I.dimensions)E.set(V.ref,{dim:V,model:I});return E},[t]),O=Object.entries(n.filters).flatMap(([E,I])=>{const V=j.get(E);return V?[u.jsx(Od,{dim:V.dim,model:V.model,filter:I,onRemove:()=>e({type:"removeFilterDim",dim:E})},E)]:[]}),T=u.jsx(eS,{dashboardTitle:a==null?void 0:a.title,modelLabel:!f&&!c?h==null?void 0:h.label:void 0,onHome:()=>e({type:"setView",view:"home"})}),W=f?u.jsxs(u.Fragment,{children:[u.jsx($o,{}),u.jsx(ty,{})]}):u.jsxs(u.Fragment,{children:[a?u.jsx("div",{className:"flex items-center border border-line bg-surface",role:"tablist","aria-label":"Dashboard tabs",children:a.tabs.map(E=>{const I=E.id===n.dashboardTab;return u.jsx("button",{type:"button",role:"tab","aria-selected":I,className:`px-2 py-1 text-2xs ${I?"bg-accent text-white":"text-muted hover:text-ink"}`,onClick:()=>{const V=Cs(t,a,E.id);V&&e({type:"setDashboardTab",tab:V.id,model:V.model.name,metric:V.selectedMetric,grain:V.grain})},children:E.label??E.id},E.id)})}):u.jsx(Bv,{view:n.view,onChange:E=>e({type:"setView",view:E})}),u.jsx(Ov,{range:n.dateRange,disabled:!b,onChange:E=>e({type:"setDateRange",range:E}),comparison:n.comparison,comparisonRange:n.comparisonRange,onComparisonChange:(E,I)=>e({type:"setComparison",comparison:E,range:I})}),u.jsx(Td,{grain:n.grain,options:w,disabled:!b,onChange:E=>e({type:"setGrain",grain:E})}),u.jsx(qS,{timezone:n.timezone,disabled:!b,onChange:E=>e({type:"setTimezone",timezone:E})}),v?u.jsx("button",{type:"button",onClick:()=>e({type:"reset",initial:g}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Reset"}):null,u.jsx(J_,{}),u.jsx($o,{}),u.jsx(ty,{})]}),R=u.jsxs(u.Fragment,{children:[u.jsx("span",{className:"shrink-0 text-xs font-medium text-muted",children:"Filters"}),O.length?O:u.jsx("span",{className:"text-2xs text-faint",children:"None"}),h?u.jsx(VS,{model:h}):null,O.length?u.jsx("button",{type:"button",onClick:()=>e({type:"clearFilters"}),className:"shrink-0 text-2xs text-muted underline-offset-2 hover:text-ink hover:underline",children:"Clear"}):null]});return u.jsx(_v,{brand:T,toolbar:W,filters:f?void 0:R,rail:u.jsx(HS,{}),showRail:!f&&!c,openRailRequest:n.view==="pivot",drawer:f?void 0:u.jsx(t_,{}),children:u.jsxs(GS,{children:[n.view==="home"?u.jsx(__,{}):null,n.view==="explore"?u.jsx(L_,{}):null,n.view==="pivot"?u.jsx(U_,{}):null]},n.view)})}function X_(){const[n,e]=F.useState(!1),t=F.useMemo(()=>new X1({transport:"json",onUnauthorized:()=>e(!0)}),[]),[i,a]=F.useState(null),[c,f]=F.useState(null),[h,m]=F.useState(0),g=s_(window.location.pathname,window.location.search);return F.useEffect(()=>{let v=!0;return Promise.all([t.getCatalog(),g?Promise.resolve(null):t.getDashboard()]).then(([x,b])=>v&&a({catalog:x,dashboard:b})).catch(x=>v&&f(x instanceof Error?x.message:String(x))),()=>{v=!1}},[t,g,h]),n?u.jsx(dl,{children:u.jsx(q_,{backend:t,onAuthenticated:()=>{e(!1),f(null),m(v=>v+1)}})}):c?u.jsx(dl,{children:u.jsx(Bi,{title:"Could not load semantic layer",message:c})}):i?i.catalog.models.length?i.dashboard?u.jsx(K_,{document:i.dashboard,catalog:i.catalog,backend:t}):u.jsx(RS,{catalog:i.catalog,backend:t,children:u.jsx(Z_,{})}):u.jsx(dl,{children:u.jsx(Xn,{title:"Empty semantic layer",message:"No models were found."})}):u.jsx(dl,{children:u.jsx(af,{title:"Loading semantic layer",message:"Reading models and metrics…"})})}const Zt={top:14,right:48,bottom:26,left:48};function e2({data:n,barLabel:e="Bars",lineLabel:t="Line",height:i=220,formatBar:a=pt,formatLine:c=pt,ariaLabel:f}){const h=F.useRef(null),[m,g]=F.useState(640),{tip:v,handlers:x}=Dr();if(F.useEffect(()=>cs(h.current,240,g),[]),n.length===0)return u.jsx("div",{className:"grid h-[220px] place-items-center text-xs text-faint",children:"No data to chart."});const b=n.map(ie=>Number.isFinite(ie.bar)?ie.bar:0),w=n.map(ie=>Number.isFinite(ie.line)?ie.line:0),j=Math.min(0,...b),O=Math.max(0,...b),T=O-j||1,W=Math.min(...w),R=Math.max(...w),E=R-W||1,I=m-Zt.left-Zt.right,V=i-Zt.top-Zt.bottom,M=ie=>Zt.top+(1-(ie-j)/T)*V,U=ie=>Zt.top+(1-(ie-W)/E)*V,G=I/n.length,z=Math.max(8,Math.min(48,G*.55)),Y=ie=>Zt.left+G*ie+G/2,P=M(0),ee=n.map((ie,re)=>`${Y(re).toFixed(1)},${U(w[re]).toFixed(1)}`).join(" L "),te=yn(1),ne=f||`Combo chart, ${n.length} categories: ${e} bars with a ${t} line`;return u.jsxs(u.Fragment,{children:[u.jsxs("div",{className:"mb-1 flex items-center gap-3 text-2xs text-faint",children:[u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block h-2 w-3 bg-chart-primary"})," ",e]}),u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block h-0.5 w-3",style:{background:te}})," ",t]})]}),u.jsxs("svg",{ref:h,role:"img","aria-label":ne,className:"w-full overflow-hidden",style:{height:i},viewBox:`0 0 ${m} ${i}`,children:[Ts(j,O,4).map((ie,re)=>{const se=M(ie);return u.jsxs("g",{children:[u.jsx("line",{x1:Zt.left,x2:m-Zt.right,y1:se,y2:se,className:"stroke-line"}),u.jsx("text",{x:Zt.left-6,y:se+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Wt(ie)})]},re)}),Ts(W,R,4).map((ie,re)=>u.jsx("text",{x:m-Zt.right+6,y:U(ie)+3,textAnchor:"start",className:"text-[10px]",fill:te,children:c(ie)},re)),u.jsx("line",{x1:Zt.left,x2:m-Zt.right,y1:P,y2:P,className:"stroke-line"}),n.map((ie,re)=>{const se=b[re],A=M(se);return u.jsxs("g",{children:[u.jsx("rect",{x:Y(re)-z/2,y:Math.min(A,P),width:z,height:Math.abs(A-P),"data-label":ie.label,"data-bar":se,"data-line":w[re],className:se<0?"fill-danger":"fill-chart-primary",...x(u.jsx(os,{title:ie.label,rows:[{label:e,value:a(se),swatch:"var(--chart-primary)"},{label:t,value:c(w[re]),swatch:te}]}))}),u.jsx("text",{x:Y(re),y:i-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:ie.label.slice(0,8)})]},ie.label)}),u.jsx("path",{d:`M ${ee}`,fill:"none",stroke:te,strokeWidth:1.75}),n.map((ie,re)=>u.jsx("circle",{cx:Y(re),cy:U(w[re]),r:3,fill:te,...x(u.jsx(os,{title:ie.label,rows:[{label:e,value:a(b[re]),swatch:"var(--chart-primary)"},{label:t,value:c(w[re]),swatch:te}]}))},ie.label))]}),u.jsx(rr,{tip:v})]})}const t2={primary:"border-accent bg-accent-soft font-medium text-accent hover:bg-accent hover:text-surface",secondary:"border-line bg-surface text-ink hover:bg-surface-soft",ghost:"border-transparent bg-transparent text-muted hover:bg-surface-soft hover:text-ink",danger:"border-danger bg-danger-soft font-medium text-danger hover:bg-danger hover:text-surface"};function No({variant:n="secondary",size:e="md",type:t="button",className:i,...a}){const c=e==="sm"?"h-6 px-2.5 text-2xs":"h-7 px-3 text-xs";return u.jsx("button",{type:t,"data-variant":n,className:`inline-flex items-center justify-center rounded-full border ${c} ${t2[n]} disabled:pointer-events-none disabled:opacity-50 ${i??""}`,...a})}function n2(n,e){const t=e.trim().toLowerCase();return t?n.filter(i=>i.value.toLowerCase().includes(t)||(i.label??"").toLowerCase().includes(t)):n}function ny(n){const{options:e,placeholder:t="Search…",ariaLabel:i,disabled:a,maxVisible:c=50}=n,f=F.useId(),h=F.useRef(null),[m,g]=F.useState(!1),[v,x]=F.useState(""),[b,w]=F.useState(0),j=F.useMemo(()=>n2(e,v).slice(0,c),[e,v,c]),O=n.multiple?n.values:n.value!=null?[n.value]:[],T=new Set(O),W=M=>{var U;return((U=e.find(G=>G.value===M))==null?void 0:U.label)??M};F.useEffect(()=>{if(!m)return;function M(U){h.current&&!h.current.contains(U.target)&&g(!1)}return document.addEventListener("mousedown",M,!0),()=>document.removeEventListener("mousedown",M,!0)},[m]);function R(M){if(M){if(n.multiple){const U=T.has(M.value)?n.values.filter(G=>G!==M.value):[...n.values,M.value];n.onChange(U);return}n.onChange(M.value),x(""),g(!1)}}function E(){n.multiple?n.onChange([]):n.onChange(null),x("")}function I(M){M.key==="ArrowDown"?(M.preventDefault(),g(!0),w(U=>Math.min(U+1,j.length-1))):M.key==="ArrowUp"?(M.preventDefault(),w(U=>Math.max(U-1,0))):M.key==="Enter"?(M.preventDefault(),m&&R(j[b])):M.key==="Escape"?g(!1):M.key==="Backspace"&&n.multiple&&!v&&n.values.length&&n.onChange(n.values.slice(0,-1))}const V=!n.multiple&&n.value!=null?W(n.value):t;return u.jsxs("div",{ref:h,className:"relative inline-flex min-w-40 flex-wrap items-center gap-1 text-xs",children:[n.multiple?n.values.map(M=>u.jsxs("span",{"data-chip":M,className:"inline-flex items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 leading-4 text-muted",children:[u.jsx("span",{className:"max-w-32 truncate",children:W(M)}),u.jsx("button",{type:"button","aria-label":`Remove ${W(M)}`,disabled:a,onClick:()=>n.onChange(n.values.filter(U=>U!==M)),className:"text-faint hover:text-ink",children:"×"})]},M)):null,u.jsxs("span",{className:"relative min-w-28 flex-1",children:[u.jsx("input",{type:"text",role:"combobox","aria-expanded":m,"aria-controls":f,"aria-autocomplete":"list","aria-activedescendant":m&&j[b]?`${f}-${b}`:void 0,"aria-label":i,disabled:a,placeholder:V,value:v,onChange:M=>{x(M.target.value),w(0),g(!0)},onFocus:()=>g(!0),onKeyDown:I,className:"h-7 w-full rounded-full border border-line bg-surface px-3 text-ink placeholder:text-faint disabled:opacity-50"}),O.length>0?u.jsx("button",{type:"button","aria-label":"Clear selection",disabled:a,onClick:E,className:"absolute right-1 top-1/2 -translate-y-1/2 px-1 text-faint hover:text-ink",children:"×"}):null]}),m?u.jsxs("ul",{id:f,role:"listbox","aria-multiselectable":n.multiple||void 0,className:"absolute left-0 top-full z-50 mt-1 max-h-56 w-full min-w-40 overflow-y-auto rounded-xl border border-line bg-surface p-1.5 shadow-[var(--shadow)]",children:[j.length===0?u.jsx("li",{className:"px-1.5 py-1 text-faint",children:"No matches"}):null,j.map((M,U)=>u.jsxs("li",{id:`${f}-${U}`,role:"option","aria-selected":T.has(M.value),"data-active":U===b||void 0,onMouseEnter:()=>w(U),onMouseDown:G=>{G.preventDefault(),R(M)},className:"cursor-pointer truncate rounded-md px-2 py-1 text-muted data-[active=true]:bg-surface-soft data-[active=true]:text-ink",children:[M.label??M.value,T.has(M.value)?u.jsx("span",{className:"float-right text-accent",children:"✓"}):null]},M.value))]}):null]})}function r2({title:n,eyebrow:e="Sidemantic",status:t,toolbar:i,children:a}){return u.jsxs("main",{className:"mx-auto max-w-6xl px-4 py-5 text-ink sm:px-6",children:[u.jsxs("header",{className:"flex flex-wrap items-end justify-between gap-4 border-b border-line pb-4",children:[u.jsxs("div",{children:[u.jsx("p",{className:"text-xs font-medium text-faint",children:e}),u.jsx("h1",{className:"mt-1 text-2xl font-semibold text-ink",children:n})]}),t?u.jsx("div",{className:"text-sm text-muted",children:t}):null]}),i?u.jsx("section",{className:"flex flex-wrap gap-2 py-3",children:i}):null,u.jsx("section",{className:"grid gap-4 py-4",children:a})]})}const s2=["Su","Mo","Tu","We","Th","Fr","Sa"],ry=["January","February","March","April","May","June","July","August","September","October","November","December"];function e0(n,e,t){return`${String(n).padStart(4,"0")}-${String(e+1).padStart(2,"0")}-${String(t).padStart(2,"0")}`}function i2(n,e){const t=new Date(Date.UTC(n,e,1)),i=new Date(t);i.setUTCDate(1-t.getUTCDay());const a=[],c=new Date(i);do{const f=[];for(let h=0;h<7;h+=1)f.push({iso:e0(c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()),day:c.getUTCDate(),inMonth:c.getUTCMonth()===e}),c.setUTCDate(c.getUTCDate()+1);a.push(f)}while(c.getUTCMonth()===e);return a}function yd(){const n=new Date;return e0(n.getFullYear(),n.getMonth(),n.getDate())}function sy(n){var I;const{inline:e,ariaLabel:t,disabled:i}=n,a=n.mode==="range",c=a?((I=n.value)==null?void 0:I.from)??null:n.value,[f,h]=F.useState(()=>Number((c??yd()).slice(0,4))),[m,g]=F.useState(()=>Number((c??yd()).slice(5,7))-1),[v,x]=F.useState(null),b=F.useRef(null);function w(V){const M=new Date(Date.UTC(f,m+V,1));h(M.getUTCFullYear()),g(M.getUTCMonth())}function j(V){if(!a){n.onChange(V),b.current&&(b.current.open=!1);return}if(!v){x(V);return}const[M,U]=v<=V?[v,V]:[V,v];n.onChange({from:M,to:U}),x(null),b.current&&(b.current.open=!1)}function O(V){return a?v?V===v:n.value!=null&&V>=n.value.from&&V<=n.value.to:V===n.value}function T(V){return a?v?V===v:n.value!=null&&(V===n.value.from||V===n.value.to):V===n.value}const W=yd(),R=u.jsxs("div",{className:"w-56 select-none rounded-xl border border-line bg-surface p-2.5 text-2xs","aria-label":t??"Calendar",children:[u.jsxs("div",{className:"mb-1 flex items-center justify-between",children:[u.jsx("button",{type:"button","aria-label":"Previous month",onClick:()=>w(-1),className:"px-1.5 py-0.5 text-muted hover:bg-surface-soft hover:text-ink",children:"‹"}),u.jsxs("span",{className:"font-medium text-ink",children:[ry[m]," ",f]}),u.jsx("button",{type:"button","aria-label":"Next month",onClick:()=>w(1),className:"px-1.5 py-0.5 text-muted hover:bg-surface-soft hover:text-ink",children:"›"})]}),u.jsx("div",{className:"grid grid-cols-7 text-center text-faint",children:s2.map(V=>u.jsx("span",{className:"py-0.5",children:V},V))}),u.jsx("div",{role:"grid","aria-label":`${ry[m]} ${f}`,children:i2(f,m).map((V,M)=>u.jsx("div",{role:"row",className:"grid grid-cols-7",children:V.map(U=>u.jsx("button",{type:"button",role:"gridcell","aria-selected":O(U.iso),"data-date":U.iso,onClick:()=>j(U.iso),className:`py-1 text-center tnum ${T(U.iso)?"bg-accent text-surface":O(U.iso)?"bg-accent-soft text-accent":U.inMonth?"text-ink hover:bg-surface-soft":"text-faint hover:bg-surface-soft"} ${U.iso===W?"underline underline-offset-2":""}`,children:U.day},U.iso))},M))}),a&&v?u.jsxs("p",{className:"mt-1 text-faint",children:["Start ",v," — pick an end date."]}):null,n.value!=null?u.jsx("button",{type:"button",onClick:()=>n.onChange(null),className:"mt-1 w-full rounded-lg border border-line px-2 py-1 text-left text-muted hover:bg-surface-soft",children:"Clear"}):null]});if(e)return R;const E=a?n.value?`${n.value.from} → ${n.value.to}`:"Any dates":n.value??"Any date";return u.jsxs("details",{ref:b,className:"relative inline-block text-xs",children:[u.jsxs("summary",{className:`flex cursor-pointer items-center h-7 gap-1.5 rounded-full border border-line bg-surface px-3 text-ink ${i?"pointer-events-none opacity-50":""}`,children:[u.jsx("span",{className:"text-faint",children:t??"Date"}),u.jsx("span",{className:"tnum",children:E}),u.jsx("span",{"aria-hidden":"true",className:"text-faint",children:"▾"})]}),u.jsx("div",{className:"absolute left-0 z-50 mt-1 shadow-[var(--shadow)]",children:R})]})}function o2({result:n,pageSize:e=10}){const t=(n==null?void 0:n.columns)??[];return u.jsx(Ho,{columns:t.map(i=>({key:i,label:Ee(i),numeric:n==null?void 0:n.sample_rows.some(a=>typeof a[i]=="number")})),rows:(n==null?void 0:n.sample_rows)??[],pageSize:e,renderCell:(i,a)=>pt(a)})}function a2({data:n,height:e=200,ariaLabel:t}){return u.jsx("div",{style:{minHeight:e},children:u.jsx(Go,{points:n.map(({label:i,value:a})=>({x:i,y:a})),formatValue:i=>pt(i),ariaLabel:t})})}const t0=Math.PI*2;function l2(n){const e=n.map((a,c)=>({...a,colorIndex:c})).filter(a=>Number.isFinite(a.value)&&a.value>0),t=e.reduce((a,c)=>a+c.value,0);if(t<=0)return[];let i=-Math.PI/2;return e.map(a=>{const c=a.value/t,f=i;return i+=c*t0,{label:a.label,value:a.value,share:c,startAngle:f,endAngle:i,colorIndex:a.colorIndex}})}function c2(n,e,t,i,a,c){const f=Math.min(c-a,t0-1e-4),h=a+f,m=f>Math.PI?1:0,g=n+i*Math.cos(a),v=e+i*Math.sin(a),x=n+i*Math.cos(h),b=e+i*Math.sin(h),w=n+t*Math.cos(h),j=e+t*Math.sin(h),O=n+t*Math.cos(a),T=e+t*Math.sin(a);return[`M ${g.toFixed(2)} ${v.toFixed(2)}`,`A ${i} ${i} 0 ${m} 1 ${x.toFixed(2)} ${b.toFixed(2)}`,`L ${w.toFixed(2)} ${j.toFixed(2)}`,`A ${t} ${t} 0 ${m} 0 ${O.toFixed(2)} ${T.toFixed(2)}`,"Z"].join(" ")}function u2({data:n,height:e=200,centerLabel:t="Total",format:i=pt,ariaLabel:a}){const c=F.useRef(null),[f,h]=F.useState(360),{tip:m,handlers:g}=Dr();F.useEffect(()=>cs(c.current,220,h),[]);const v=l2(n),x=v.reduce((R,E)=>R+E.value,0),b=Math.min(e,f*.55),w=b/2,j=e/2,O=b/2-6,T=Math.max(O*.62,O-34),W=a||`Donut chart, ${v.length} segments totaling ${Wt(x)}`;return v.length===0?u.jsx("div",{className:"grid h-[200px] place-items-center text-xs text-faint",children:"No positive values to chart."}):u.jsxs("div",{ref:c,className:"flex w-full items-center gap-4",style:{height:e},children:[u.jsxs("svg",{role:"img","aria-label":W,width:b,height:e,className:"shrink-0 overflow-hidden",children:[v.map(R=>u.jsx("path",{d:c2(w,j,T,O,R.startAngle,R.endAngle),fill:yn(R.colorIndex),stroke:"var(--surface)",strokeWidth:1,"data-label":R.label,"data-value":R.value,...g(u.jsx(os,{title:R.label,rows:[{label:"Value",value:i(R.value),swatch:yn(R.colorIndex)},{label:"Share",value:`${(R.share*100).toFixed(1)}%`}]}))},R.label)),u.jsx("text",{x:w,y:j-4,textAnchor:"middle",className:"fill-ink font-mono tnum text-sm font-medium",children:Wt(x)}),u.jsx("text",{x:w,y:j+12,textAnchor:"middle",className:"fill-faint text-[10px]",children:t})]}),u.jsx("ul",{className:"min-w-0 flex-1 space-y-1 text-2xs",children:v.map(R=>u.jsxs("li",{className:"flex items-center gap-2","data-label":R.label,children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 shrink-0",style:{background:yn(R.colorIndex)}}),u.jsx("span",{className:"truncate text-muted",children:R.label}),u.jsx("span",{className:"ml-auto font-mono tnum text-ink",children:i(R.value)}),u.jsxs("span",{className:"w-10 text-right font-mono tnum text-faint",children:[(R.share*100).toFixed(1),"%"]})]},R.label))}),u.jsx(rr,{tip:m})]})}const pr={top:8,right:8,bottom:26,left:76};function iy(n,e,t){if(t!=null&&t.length)return t;const i=[];for(const a of n)i.includes(a[e])||i.push(a[e]);return i}function d2({cells:n,xLabels:e,yLabels:t,height:i=240,format:a=pt,ariaLabel:c}){const f=F.useRef(null),[h,m]=F.useState(640),{tip:g,handlers:v}=Dr();F.useEffect(()=>cs(f.current,240,m),[]);const x=iy(n,"x",e),b=iy(n,"y",t);if(x.length===0||b.length===0)return u.jsx("div",{className:"grid h-[240px] place-items-center text-xs text-faint",children:"No cells to chart."});const w=new Map(n.map(M=>[`${M.x}\0${M.y}`,M.value])),j=n.map(M=>Math.abs(M.value)).filter(Number.isFinite),O=Math.max(...j,0)||1,T=h-pr.left-pr.right,W=i-pr.top-pr.bottom,R=T/x.length,E=W/b.length,I=Math.max(1,Math.ceil(x.length/Math.max(1,Math.floor(T/56)))),V=c||`Heatmap, ${x.length} by ${b.length} cells`;return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{ref:f,role:"img","aria-label":V,className:"w-full overflow-hidden",style:{height:i},viewBox:`0 0 ${h} ${i}`,children:[b.map((M,U)=>u.jsx("text",{x:pr.left-6,y:pr.top+U*E+E/2+3,textAnchor:"end",className:"fill-muted text-[10px]",children:M.slice(0,12)},M)),x.map((M,U)=>U%I===0?u.jsx("text",{x:pr.left+U*R+R/2,y:i-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:M.slice(0,8)},M):null),b.map((M,U)=>x.map((G,z)=>{const Y=w.get(`${G}\0${M}`),P=Y!=null&&Number.isFinite(Y),ee=P?.06+.94*(Math.abs(Y)/O):0;return u.jsx("rect",{x:pr.left+z*R+.5,y:pr.top+U*E+.5,width:Math.max(1,R-1),height:Math.max(1,E-1),"data-x":G,"data-y":M,"data-value":P?Y:void 0,className:P&&Y<0?"fill-danger":"fill-chart-primary",fillOpacity:P?ee:.03,...v(u.jsx(os,{title:`${M} / ${G}`,rows:[{label:"Value",value:P?a(Y):"no data"}]}))},`${G}\0${M}`)}))]}),u.jsx(rr,{tip:g})]})}function f2(n,e){const t=n.filter(Number.isFinite);if(t.length===0)return[];const i=Math.min(...t),a=Math.max(...t),c=Math.max(1,Math.floor(e??Math.min(40,Math.ceil(Math.log2(t.length)+1))));if(i===a)return[{x0:i,x1:a,count:t.length}];const f=(a-i)/c,h=Array.from({length:c},(m,g)=>({x0:i+g*f,x1:i+(g+1)*f,count:0}));for(const m of t){const g=Math.min(c-1,Math.floor((m-i)/f));h[g].count+=1}return h}const Cn={top:12,right:14,bottom:26,left:44};function h2({values:n,bins:e,height:t=200,format:i=Wt,ariaLabel:a}){const c=F.useRef(null),[f,h]=F.useState(640),{tip:m,handlers:g}=Dr();F.useEffect(()=>cs(c.current,160,h),[]);const v=f2(n,e);if(v.length===0)return u.jsx("div",{className:"grid h-[200px] place-items-center text-xs text-faint",children:"No numeric values to chart."});const x=Math.max(...v.map(E=>E.count),1),b=f-Cn.left-Cn.right,w=t-Cn.top-Cn.bottom,j=E=>Cn.top+(1-E/x)*w,O=b/v.length,T=Ts(0,x,4),W=Math.max(1,Math.ceil(v.length/6)),R=a||`Histogram, ${v.length} bins from ${i(v[0].x0)} to ${i(v[v.length-1].x1)}`;return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{ref:c,role:"img","aria-label":R,className:"w-full overflow-hidden",style:{height:t},viewBox:`0 0 ${f} ${t}`,children:[T.map((E,I)=>{const V=j(E);return u.jsxs("g",{children:[u.jsx("line",{x1:Cn.left,x2:f-Cn.right,y1:V,y2:V,className:"stroke-line"}),u.jsx("text",{x:Cn.left-6,y:V+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Wt(E)})]},I)}),v.map((E,I)=>{const V=Cn.left+O*I,M=j(E.count);return u.jsx("rect",{x:V+.5,y:M,width:Math.max(1,O-1),height:Cn.top+w-M,"data-x0":E.x0,"data-x1":E.x1,"data-count":E.count,className:"fill-chart-primary",...g(u.jsx(os,{title:`${i(E.x0)} – ${i(E.x1)}`,rows:[{label:"Count",value:E.count.toLocaleString()}]}))},I)}),v.map((E,I)=>I%W===0?u.jsx("text",{x:Cn.left+O*I,y:t-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:i(E.x0)},I):null)]}),u.jsx(rr,{tip:m})]})}function p2(n){let e=2166136261;for(let t=0;t>>0}function m2(n){let e=n||1;return()=>{e|=0,e=e+1831565813|0;let t=Math.imul(e^e>>>15,1|e);return t=t+Math.imul(t^t>>>7,61|t)^t,((t^t>>>14)>>>0)/4294967296}}function y2(n,e,{width:t=640,height:i=320,iterations:a=150}={}){if(n.length===0)return[];const c=m2(p2(n.map(G=>G.id).join("\0"))),f=new Map(n.map((G,z)=>[G.id,z])),h=n.map(()=>c()*t),m=n.map(()=>c()*i),g=n.map(()=>0),v=n.map(()=>0),x=n.map(()=>0),b=[];for(const G of e){const z=f.get(G.source),Y=f.get(G.target);z==null||Y==null||z===Y||(b.push([z,Y]),x[z]+=1,x[Y]+=1)}const w=t*i,j=Math.sqrt(w/n.length);let O=Math.max(t,i)/8;const T=O/(a+1);for(let G=0;G({...G,x:W+(h[z]-R)/M*(t-W*2),y:W+(m[z]-I)/U*(i-W*2),degree:x[z]}))}function g2({nodes:n,links:e,height:t=320,ariaLabel:i}){const a=F.useRef(null),[c,f]=F.useState(640),{tip:h,handlers:m}=Dr();F.useEffect(()=>cs(a.current,240,f),[]);const g=F.useMemo(()=>y2(n,e,{width:c,height:t}),[n,e,c,t]),v=F.useMemo(()=>new Map(g.map(j=>[j.id,j])),[g]),x=F.useMemo(()=>[...new Set(n.map(j=>j.group??""))],[n]),b=Math.max(...e.map(j=>j.weight??1),1);if(g.length===0)return u.jsx("div",{className:"grid h-[320px] place-items-center text-xs text-faint",children:"No nodes to chart."});const w=i||`Network graph, ${n.length} nodes and ${e.length} links`;return u.jsxs(u.Fragment,{children:[x.length>1?u.jsx("div",{className:"mb-1 flex flex-wrap items-center gap-3 text-2xs text-faint",children:x.map((j,O)=>u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-full",style:{background:yn(O)}}),j||"(default)"]},j||"(default)"))}):null,u.jsxs("svg",{ref:a,role:"img","aria-label":w,className:"w-full overflow-hidden",style:{height:t},viewBox:`0 0 ${c} ${t}`,children:[e.map((j,O)=>{const T=v.get(j.source),W=v.get(j.target);return!T||!W?null:u.jsx("line",{x1:T.x,y1:T.y,x2:W.x,y2:W.y,className:"stroke-line",strokeWidth:.75+2.25*((j.weight??1)/b),"data-source":j.source,"data-target":j.target},O)}),g.map(j=>{const O=5+Math.min(9,j.degree*1.5);return u.jsxs("g",{children:[u.jsx("circle",{cx:j.x,cy:j.y,r:O,fill:yn(x.indexOf(j.group??"")),stroke:"var(--surface)",strokeWidth:1.5,"data-id":j.id,"data-degree":j.degree,...m(u.jsx(os,{title:j.label??j.id,rows:[{label:"Connections",value:String(j.degree)},...j.group?[{label:"Group",value:j.group,swatch:yn(x.indexOf(j.group))}]:[]]}))}),u.jsx("text",{x:j.x,y:j.y-O-4,textAnchor:"middle",className:"pointer-events-none fill-muted text-[10px]",children:(j.label??j.id).slice(0,14)})]},j.id)})]}),u.jsx(rr,{tip:h})]})}function wl({value:n,options:e,onChange:t,label:i,ariaLabel:a,placeholder:c,disabled:f}){return u.jsxs("label",{className:"flex items-center gap-1.5 text-xs text-faint",children:[i?u.jsx("span",{className:"hidden sm:inline",children:i}):null,u.jsxs("select",{"aria-label":a??i,value:n,disabled:f,onChange:h=>t(h.target.value),className:"h-7 rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50",children:[c?u.jsx("option",{value:"",disabled:!0,children:c}):null,e.map(h=>u.jsx("option",{value:h.value,children:h.label??h.value},h.value))]})]})}const cn={top:12,right:14,bottom:26,left:48};function v2(n,e,t){return Math.min(Math.max(n,e),t)}function x2({labels:n,series:e,height:t=240,format:i=pt,formatLabel:a=f=>f,ariaLabel:c}){const f=F.useRef(null),[h,m]=F.useState(640),[g,v]=F.useState(null);F.useEffect(()=>cs(f.current,240,m),[]);const x=n.length;if(x<2||e.length===0)return u.jsx("div",{className:"grid h-[240px] place-items-center text-xs text-faint",children:"Not enough data to chart."});const b=e.map(z=>({name:z.name,values:n.map((Y,P)=>{const ee=z.values[P];return Number.isFinite(ee)&&ee>0?ee:0})})),w=[];let j=n.map(()=>0);for(const z of b){const Y=z.values.map((P,ee)=>j[ee]+P);w.push(Y),j=Y}const O=Math.max(...j,1),T=h-cn.left-cn.right,W=t-cn.top-cn.bottom,R=z=>cn.left+z/(x-1)*T,E=z=>cn.top+(1-z/O)*W,I=Math.max(1,Math.ceil(x/8)),V=c||`Stacked area chart, ${e.length} series over ${x} points`;function M(z){const Y=w[z],P=z===0?n.map(()=>0):w[z-1],ee=Y.map((ne,ie)=>`${R(ie).toFixed(1)},${E(ne).toFixed(1)}`).join(" L "),te=[...P.keys()].reverse().map(ne=>`${R(ne).toFixed(1)},${E(P[ne]).toFixed(1)}`).join(" L ");return`M ${ee} L ${te} Z`}function U(z){const Y=z.currentTarget.getBoundingClientRect(),P=(z.clientX-Y.left)/Y.width*h,ee=Math.round((P-cn.left)/T*(x-1));v(ee>=0&&eeu.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2",style:{background:yn(Y)}}),z.name]},z.name))}),u.jsxs("svg",{role:"img","aria-label":V,className:"w-full overflow-hidden",style:{height:t},viewBox:`0 0 ${h} ${t}`,onMouseMove:U,onMouseLeave:()=>v(null),children:[Ts(0,O,4).map((z,Y)=>{const P=E(z);return u.jsxs("g",{children:[u.jsx("line",{x1:cn.left,x2:h-cn.right,y1:P,y2:P,className:"stroke-line"}),u.jsx("text",{x:cn.left-6,y:P+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Wt(z)})]},Y)}),b.map((z,Y)=>u.jsx("path",{d:M(Y),fill:yn(Y),fillOpacity:.8,"data-series":z.name},z.name)),g!=null?u.jsx("line",{x1:R(g),x2:R(g),y1:cn.top,y2:t-cn.bottom,className:"stroke-faint",strokeDasharray:"3 3"}):null,n.map((z,Y)=>Y%I===0||Y===x-1?u.jsx("text",{x:R(Y),y:t-8,textAnchor:"middle",className:"fill-faint font-mono text-[10px]",children:a(z)},z):null)]}),g!=null?u.jsxs("div",{className:"pointer-events-none absolute top-8 z-20 -translate-x-1/2 whitespace-nowrap border border-line bg-surface px-2 py-1.5 text-2xs shadow-[var(--shadow)]",style:{left:G},children:[u.jsx("div",{className:"mb-0.5 font-mono text-faint",children:a(n[g])}),b.map((z,Y)=>u.jsxs("div",{className:"flex items-center justify-between gap-3",children:[u.jsxs("span",{className:"flex items-center gap-1 text-muted",children:[u.jsx("span",{"aria-hidden":"true",className:"inline-block size-2",style:{background:yn(Y)}}),z.name]}),u.jsx("span",{className:"font-mono tnum text-ink",children:i(z.values[g])})]},z.name))]}):null]})}function b2({checked:n,onChange:e,label:t,ariaLabel:i,disabled:a}){return u.jsxs("label",{className:`flex items-center gap-1.5 text-xs ${a?"opacity-50":""}`,children:[u.jsx("button",{type:"button",role:"switch","aria-checked":n,"aria-label":i??t,disabled:a,onClick:()=>e(!n),"data-checked":n||void 0,className:`relative h-4 w-7 shrink-0 rounded-full border transition-colors ${n?"border-accent bg-accent":"border-line bg-surface-soft"}`,children:u.jsx("span",{"aria-hidden":"true",className:`absolute top-1/2 size-3 -translate-y-1/2 rounded-full bg-surface shadow transition-[left] ${n?"left-[14px]":"left-[2px]"}`})}),t?u.jsx("span",{className:"text-muted",children:t}):null]})}function w2({tabs:n,active:e,onChange:t,ariaLabel:i="Tabs"}){return u.jsx("div",{role:"tablist","aria-label":i,className:"inline-flex items-center gap-0.5 rounded-full border border-line bg-surface p-px",children:n.map(a=>u.jsx("button",{role:"tab",type:"button","aria-selected":e===a.key,"data-tab":a.key,"data-selected":e===a.key||void 0,onClick:()=>t(a.key),className:"inline-flex h-6 items-center rounded-full px-2.5 text-xs font-medium text-muted hover:bg-surface-soft hover:text-ink data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent",children:a.label},a.key))})}function S2({content:n,children:e,className:t}){const{tip:i,handlers:a}=Dr();return u.jsxs(u.Fragment,{children:[u.jsx("span",{className:t??"inline-flex",...a(n),children:e}),u.jsx(rr,{tip:i})]})}function _2(n){let e=0;return n.map(t=>{const i=Number.isFinite(t.value)?t.value:0;if(t.isTotal)return e=i,{...t,value:i,start:0,end:i};const a=e;return e+=i,{...t,value:i,start:a,end:e}})}const un={top:12,right:14,bottom:26,left:48};function N2({data:n,height:e=220,format:t=pt,ariaLabel:i}){const a=F.useRef(null),[c,f]=F.useState(640),{tip:h,handlers:m}=Dr();F.useEffect(()=>cs(a.current,200,f),[]);const g=_2(n);if(g.length===0)return u.jsx("div",{className:"grid h-[220px] place-items-center text-xs text-faint",children:"No steps to chart."});const v=g.flatMap(V=>[V.start,V.end]),x=Math.min(0,...v),b=Math.max(0,...v),w=b-x||1,j=c-un.left-un.right,O=e-un.top-un.bottom,T=V=>un.top+(1-(V-x)/w)*O,W=j/g.length,R=Math.max(10,Math.min(56,W*.62)),E=Ts(x,b,4),I=i||`Waterfall chart, ${g.length} steps ending at ${t(g[g.length-1].end)}`;return u.jsxs(u.Fragment,{children:[u.jsxs("svg",{ref:a,role:"img","aria-label":I,className:"w-full overflow-hidden",style:{height:e},viewBox:`0 0 ${c} ${e}`,children:[E.map((V,M)=>{const U=T(V);return u.jsxs("g",{children:[u.jsx("line",{x1:un.left,x2:c-un.right,y1:U,y2:U,className:"stroke-line"}),u.jsx("text",{x:un.left-6,y:U+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Wt(V)})]},M)}),u.jsx("line",{x1:un.left,x2:c-un.right,y1:T(0),y2:T(0),className:"stroke-faint"}),g.map((V,M)=>{const U=un.left+W*M+(W-R)/2,G=T(V.start),z=T(V.end),Y=V.isTotal?"total":V.value<0?"negative":"positive",P=V.isTotal?"fill-faint":V.value<0?"fill-danger":"fill-chart-primary",ee=g[M+1];return u.jsxs("g",{children:[u.jsx("rect",{x:U,y:Math.min(G,z),width:R,height:Math.max(1,Math.abs(z-G)),"data-label":V.label,"data-value":V.value,"data-tone":Y,className:P,...m(u.jsx(os,{title:V.label,rows:V.isTotal?[{label:"Total",value:t(V.end)}]:[{label:"Change",value:t(V.value)},{label:"Running",value:t(V.end)}]}))}),ee?u.jsx("line",{x1:U+R,x2:un.left+W*(M+1)+(W-R)/2,y1:z,y2:z,className:"stroke-faint",strokeDasharray:"3 3"}):null,u.jsx("text",{x:U+R/2,y:e-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:V.label.slice(0,9)})]},`${V.label}-${M}`)})]}),u.jsx(rr,{tip:h})]})}function oy(n){return n==null?"∅":String(n)}function j2(n){const e=typeof n=="number"?n:Number(n);return Number.isFinite(e)?e:Number.NaN}function k2(n,e){const t=[],i=[],a=new Map;for(const c of n){const f=oy(c[e.x]),h=oy(c[e.series]);t.includes(f)||t.push(f),i.includes(h)||i.push(h),a.set(`${h}\0${f}`,j2(c[e.y]))}return{labels:t,series:i.map(c=>({name:c,values:t.map(f=>a.get(`${c}\0${f}`)??0)}))}}const I2=[{dimension:"orders.region",title:"Customer Region",rows:[["East",83262],["South",80579],["West",71561],["North",52889]].map(([n,e])=>({value:String(n),metric:Number(e)}))},{dimension:"orders.status",title:"Order Status",rows:[["completed",170379],["cancelled",64637],["pending",53275]].map(([n,e])=>({value:String(n),metric:Number(e)}))},{dimension:"products.category",title:"Product Category",rows:[["Electronics",202015],["Furniture",83848],["Office Supplies",2428]].map(([n,e])=>({value:String(n),metric:Number(e)}))},{dimension:"customers.name",title:"Top Customers",rows:[["Bob Smith",46690],["Carol Davis",42227],["Henry Taylor",41633],["Grace Lee",41035],["Frank Brown",33890],["David Wilson",29928],["Alice Johnson",27114],["Emma Martinez",24802]].map(([n,e])=>({value:String(n),metric:Number(e)}))}],M2=[{key:"region",label:"Region",sortable:!0},{key:"revenue",label:"Revenue",numeric:!0,sortable:!0},{key:"orders",label:"Orders",numeric:!0,sortable:!0}],ay=Array.from({length:17},(n,e)=>({region:["East","South","West","North"][e%4],revenue:91e3-e*2875,orders:420-e*11})),hf=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug"],D2=hf.flatMap((n,e)=>[{month:n,plan:"Basic",revenue:120+e*26},{month:n,plan:"Pro",revenue:60+e*24},{month:n,plan:"Enterprise",revenue:e<2?0:10+e*12}]),C2=Array.from({length:48},(n,e)=>({x:e+1,y:(e+1)*1.6+Math.sin(e*78.233)*43758.5453%18,label:`Account ${e+1}`,series:e%2?"Returning":"New"})),F2=Array.from({length:400},(n,e)=>Math.abs(Math.sin(e*12.9898)*43758.5453%1)*100),O2=["East","South","West","North"].flatMap((n,e)=>hf.map((t,i)=>({x:t,y:n,value:(e+1)*(i+1)*7-(i%4===3?80:0)}))),ly=[{value:"orders.revenue",label:"Revenue"},{value:"orders.count",label:"Order count"},{value:"customers.count",label:"Customer count"},{value:"orders.margin",label:"Gross margin"}];function T2(){const[n,e]=F.useState("orders.revenue"),[t,i]=F.useState({}),[a,c]=F.useState(null),[f,h]=F.useState({"orders.region":["East","West"],"orders.status":["completed"]}),[m,g]=F.useState({from:"2025-01-01",to:"2025-06-30"}),[v,x]=F.useState("month"),[b,w]=F.useState("explore"),[j,O]=F.useState("previous"),[T,W]=F.useState("orders.revenue"),[R,E]=F.useState(["orders.revenue","orders.count"]),[I,V]=F.useState("apple"),[M,U]=F.useState(!0),[G,z]=F.useState("explore"),[Y,P]=F.useState("2025-06-15"),[ee,te]=F.useState({from:"2025-06-01",to:"2025-06-21"}),ne=F.useMemo(()=>k2(D2,{x:"month",y:"revenue",series:"plan"}),[]),[ie,re]=F.useState({key:"revenue",dir:"desc"}),se=F.useMemo(()=>[...ay].sort((A,Q)=>{const H=A[ie.key],_=Q[ie.key],k=typeof H=="number"&&typeof _=="number"?H-_:String(H).localeCompare(String(_));return ie.dir==="asc"?k:-k}),[ie]);return u.jsxs("main",{className:"min-h-screen bg-bg text-ink",children:[u.jsxs("header",{className:"sticky top-0 z-20 flex items-center justify-between border-b border-line bg-surface px-4 py-3",children:[u.jsxs("div",{children:[u.jsx("h1",{className:"text-sm font-semibold",children:"Sidemantic component gallery"}),u.jsxs("p",{className:"text-2xs text-faint",children:["Canonical React primitives · ",u.jsx("a",{className:"text-accent hover:underline",href:"/typography",children:"typography workbench →"})]})]}),u.jsx($o,{})]}),u.jsxs("div",{className:"space-y-8 p-4",children:[u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Metric cards"}),u.jsxs("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-3",children:[u.jsx(Nr,{metric:"orders.revenue",label:"Revenue",value:288291,format:{format:"currency"},selected:n==="orders.revenue",sparkValues:[31,42,38,55,60,74],onSelect:e}),u.jsx(Nr,{metric:"orders.count",label:"Order Count",value:447,selected:n==="orders.count",sparkValues:[21,34,28,41,44,51],onSelect:e}),u.jsx(Nr,{metric:"orders.margin",label:"Gross Margin",value:.324,format:{format:"percent"},delta:{label:"+1.1pt",tone:"positive"},comparison:"vs previous month",sparkValues:[24,26,29,27,31,32],selected:n==="orders.margin",onSelect:e})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Leaderboard cards"}),u.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(220px,1fr))] gap-0 border-l border-t border-line",children:I2.filter(A=>a===null||a===A.dimension).map(A=>u.jsx(Jv,{dimension:A.dimension,title:A.title,metricLabel:"Total Revenue",rows:A.rows,selectedValues:t[A.dimension],formatMetric:Q=>pt(Q,{format:"currency"}),onToggle:Q=>i(H=>{const _=H[A.dimension]??[];return{...H,[A.dimension]:_.includes(Q)?_.filter(k=>k!==Q):[..._,Q]}}),expanded:a===A.dimension,onExpandedChange:Q=>c(Q?A.dimension:null)},A.dimension))})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Filters and controls"}),u.jsxs("div",{className:"space-y-3",children:[u.jsxs("div",{"data-testid":"gallery-filter-pills",className:"flex min-h-8 flex-wrap items-center gap-2",children:[Object.entries(f).flatMap(([A,Q])=>Q.map(H=>u.jsx(Od,{dimension:A,value:H,onRemove:()=>h(_=>({..._,[A]:_[A].filter(k=>k!==H)}))},`${A}:${H}`))),Object.values(f).every(A=>A.length===0)?u.jsx("span",{className:"text-2xs text-faint",children:"No active filters"}):null]}),u.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[u.jsx(Ov,{range:m,onChange:g,comparison:j,onComparisonChange:O}),u.jsx(Td,{grain:v,options:["day","week","month","quarter","year"],onChange:x}),u.jsx(Bv,{view:b,onChange:w}),u.jsxs("span",{className:"inline-flex items-center gap-1.5 text-2xs text-muted",children:[u.jsx(dd,{status:"ok"})," Ready"]}),u.jsxs("span",{className:"inline-flex items-center gap-1.5 text-2xs text-muted",children:[u.jsx(dd,{status:"loading"})," Updating"]}),u.jsx("button",{type:"button",onClick:()=>h({"orders.region":["East","West"],"orders.status":["completed"]}),className:"inline-flex h-7 items-center rounded-full border border-line px-3 text-xs text-muted hover:bg-surface-soft",children:"Reset filters"})]})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Charts"}),u.jsxs("div",{className:"grid gap-3 xl:grid-cols-2",children:[u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Sparkline"}),u.jsx(qv,{values:[31,42,38,55,60,74,69,83],labels:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug"],ariaLabel:"Eight month revenue trend"})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Column chart"}),u.jsx(Zv,{data:[{label:"East",value:83},{label:"South",value:81},{label:"West",value:72},{label:"Returns",value:-18}]})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Line chart compatibility export"}),u.jsx(a2,{data:[{label:"Jan",value:31},{label:"Feb",value:42},{label:"Mar",value:38},{label:"Apr",value:55},{label:"May",value:60}]})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Interactive time series"}),u.jsx(Go,{points:[31,42,38,55,60,74].map((A,Q)=>({x:`2025-0${Q+1}-01`,y:A})),comparison:[27,35,33,48,52,61].map((A,Q)=>({x:`2024-0${Q+1}-01`,y:A})),formatValue:A=>`$${A.toLocaleString()}k`})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Donut"}),u.jsx(u2,{data:[{label:"iOS",value:4200},{label:"Android",value:3100},{label:"Web",value:1900},{label:"Other",value:400}]})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Stacked area (long rows via rowsToSeries)"}),u.jsx(x2,{labels:ne.labels,series:ne.series,height:200})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Bar + line combo (dual axis)"}),u.jsx(e2,{data:hf.map((A,Q)=>({label:A,bar:200+Q*42,line:.02+Q*.004})),barLabel:"Revenue",lineLabel:"Conversion",formatLine:A=>`${(A*100).toFixed(1)}%`,height:200})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Histogram"}),u.jsx(h2,{values:F2,bins:20})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Scatter"}),u.jsx(Xv,{points:C2,xLabel:"Sessions",yLabel:"Orders",height:200})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Heatmap"}),u.jsx(d2,{cells:O2,height:200})]}),u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Waterfall"}),u.jsx(N2,{data:[{label:"Gross",value:1e3,isTotal:!0},{label:"Refunds",value:-140},{label:"Discounts",value:-90},{label:"Upsells",value:130},{label:"Net",value:900,isTotal:!0}],height:200})]}),u.jsxs("article",{className:"min-w-0 xl:col-span-2",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Network"}),u.jsx(g2,{nodes:[{id:"orders",group:"fact"},{id:"payments",group:"fact"},{id:"customers",group:"dimension"},{id:"products",group:"dimension"},{id:"regions",group:"dimension"}],links:[{source:"orders",target:"customers",weight:3},{source:"orders",target:"products",weight:2},{source:"orders",target:"regions"},{source:"payments",target:"orders",weight:2},{source:"payments",target:"customers"}],height:260})]})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Inputs"}),u.jsxs("div",{className:"space-y-3",children:[u.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[u.jsx(No,{variant:"primary",children:"Primary"}),u.jsx(No,{children:"Secondary"}),u.jsx(No,{variant:"ghost",children:"Ghost"}),u.jsx(No,{variant:"danger",children:"Danger"}),u.jsx(No,{size:"sm",children:"Small"}),u.jsx(wl,{label:"Fruit",value:I,onChange:V,options:[{value:"apple",label:"Apple"},{value:"banana",label:"Banana"},{value:"cherry",label:"Cherry"}]}),u.jsx(b2,{checked:M,onChange:U,label:"Compact rows"}),u.jsx(w2,{tabs:[{key:"explore",label:"Explore"},{key:"pivot",label:"Pivot"},{key:"sql",label:"SQL"}],active:G,onChange:z}),u.jsx(S2,{content:"Revenue in USD, net of refunds",children:u.jsx("span",{className:"cursor-help text-2xs text-muted underline decoration-dotted",children:"What is revenue?"})})]}),u.jsxs("div",{className:"flex flex-wrap items-start gap-3",children:[u.jsx(ny,{value:T,onChange:W,options:ly,ariaLabel:"Metric"}),u.jsx(ny,{multiple:!0,values:R,onChange:E,options:ly,ariaLabel:"Metrics"}),u.jsx(sy,{mode:"single",value:Y,onChange:P,ariaLabel:"Date"}),u.jsx(sy,{mode:"range",value:ee,onChange:te,ariaLabel:"Range"})]})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Analytical table"}),u.jsx(Ho,{columns:M2,rows:se,pageSize:6,sortKey:ie.key,sortDir:ie.dir,onSort:A=>re(Q=>({key:A,dir:Q.key===A&&Q.dir==="desc"?"asc":"desc"})),renderCell:(A,Q)=>A.numeric?Number(Q).toLocaleString():String(Q),searchable:!0,totals:{region:"count",revenue:"sum",orders:"sum"}}),u.jsxs("div",{className:"mt-3",children:[u.jsx("h3",{className:"mb-2 text-xs font-semibold text-muted",children:"Distribution-friendly data preview"}),u.jsx(o2,{result:{columns:["region","revenue","orders"],sample_rows:ay.slice(0,8)},pageSize:4})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Query inspection"}),u.jsx(ac,{inputs:{Revenue:{metrics:["orders.revenue"],dimensions:["orders.region"],filters:["orders.status = 'completed'"]}},queries:{Revenue:`SELECT orders.region, SUM(orders.revenue) AS revenue -FROM orders -WHERE orders.status = 'completed' -GROUP BY orders.region -ORDER BY revenue DESC`}})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"States"}),u.jsxs("div",{className:"grid gap-2 lg:grid-cols-3",children:[u.jsx(af,{message:"Loading metric results…"}),u.jsx(Xn,{message:"No matching rows."}),u.jsx(Bi,{message:"The query could not be completed."})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Dashboard shell"}),u.jsx("div",{children:u.jsx(r2,{eyebrow:"Embedded shell example",title:"Revenue overview",status:u.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[u.jsx(dd,{status:"ok"})," Connected"]}),toolbar:u.jsxs(u.Fragment,{children:[u.jsx(Od,{dimension:"orders.region",value:"East"}),u.jsx(Td,{grain:v,options:["day","month","quarter"],onChange:x})]}),children:u.jsxs("div",{className:"grid gap-2 sm:grid-cols-2",children:[u.jsx(Nr,{metric:"orders.revenue",label:"Revenue",value:288291,format:{format:"currency"},sparkValues:[31,42,38,55,60]}),u.jsx(Xn,{title:"Optional panel",message:"Shell content is composed from the same primitives."})]})})})]})]})]})}function ns(n){return`https://api.fontshare.com/v2/css?f[]=${n}&display=swap`}const cy=[{value:"system",label:"System (SF Pro)",stack:"system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif"},{value:"geist",label:"Geist",gf:"Geist:wght@400;500;600",stack:"'Geist', system-ui, sans-serif"},{value:"inter",label:"Inter",gf:"Inter:wght@400;500;600",stack:"'Inter', system-ui, sans-serif"},{value:"instrument",label:"Instrument Sans",gf:"Instrument+Sans:wght@400;500;600",stack:"'Instrument Sans', system-ui, sans-serif"},{value:"plex",label:"IBM Plex Sans",gf:"IBM+Plex+Sans:wght@400;500;600",stack:"'IBM Plex Sans', system-ui, sans-serif"},{value:"schibsted",label:"Schibsted Grotesk",gf:"Schibsted+Grotesk:wght@400;500;600",stack:"'Schibsted Grotesk', system-ui, sans-serif"},{value:"figtree",label:"Figtree",gf:"Figtree:wght@400;500;600",stack:"'Figtree', system-ui, sans-serif"},{value:"manrope",label:"Manrope",gf:"Manrope:wght@400;500;600",stack:"'Manrope', system-ui, sans-serif"},{value:"publicsans",label:"Public Sans",gf:"Public+Sans:wght@400;500;600",stack:"'Public Sans', system-ui, sans-serif"},{value:"spacegrotesk",label:"Space Grotesk",gf:"Space+Grotesk:wght@400;500;600",stack:"'Space Grotesk', system-ui, sans-serif"},{value:"satoshi",label:"Satoshi ✦",url:ns("satoshi@400,500,700"),stack:"'Satoshi', system-ui, sans-serif"},{value:"generalsans",label:"General Sans ✦",url:ns("general-sans@400,500,600"),stack:"'General Sans', system-ui, sans-serif"},{value:"switzer",label:"Switzer ✦",url:ns("switzer@400,500,600"),stack:"'Switzer', system-ui, sans-serif"},{value:"cabinet",label:"Cabinet Grotesk ✦",url:ns("cabinet-grotesk@400,500,700"),stack:"'Cabinet Grotesk', system-ui, sans-serif"},{value:"bricolage",label:"Bricolage Grotesque ✦",gf:"Bricolage+Grotesque:wght@400;500;600",stack:"'Bricolage Grotesque', system-ui, sans-serif"},{value:"familjen",label:"Familjen Grotesk ✦",gf:"Familjen+Grotesk:wght@400;500;600",stack:"'Familjen Grotesk', system-ui, sans-serif"},{value:"hanken",label:"Hanken Grotesk ✦",gf:"Hanken+Grotesk:wght@400;500;600",stack:"'Hanken Grotesk', system-ui, sans-serif"},{value:"reddit",label:"Reddit Sans ✦",gf:"Reddit+Sans:wght@400;500;600",stack:"'Reddit Sans', system-ui, sans-serif"},{value:"chivo",label:"Chivo ✦",gf:"Chivo:wght@400;500;600",stack:"'Chivo', system-ui, sans-serif"},{value:"hostgrotesk",label:"Host Grotesk ✦",gf:"Host+Grotesk:wght@400;500;600",stack:"'Host Grotesk', system-ui, sans-serif"},{value:"sora",label:"Sora ✦",gf:"Sora:wght@400;500;600",stack:"'Sora', system-ui, sans-serif"}],uy=[{value:"system",label:"System (SF Mono)",stack:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},{value:"geistmono",label:"Geist Mono",gf:"Geist+Mono:wght@400;500",stack:"'Geist Mono', ui-monospace, monospace"},{value:"jetbrains",label:"JetBrains Mono",gf:"JetBrains+Mono:wght@400;500",stack:"'JetBrains Mono', ui-monospace, monospace"},{value:"plexmono",label:"IBM Plex Mono",gf:"IBM+Plex+Mono:wght@400;500",stack:"'IBM Plex Mono', ui-monospace, monospace"},{value:"firacode",label:"Fira Code",gf:"Fira+Code:wght@400;500",stack:"'Fira Code', ui-monospace, monospace"},{value:"splinemono",label:"Spline Sans Mono",gf:"Spline+Sans+Mono:wght@400;500",stack:"'Spline Sans Mono', ui-monospace, monospace"},{value:"dmmono",label:"DM Mono",gf:"DM+Mono:wght@400;500",stack:"'DM Mono', ui-monospace, monospace"},{value:"martianmono",label:"Martian Mono ✦",gf:"Martian+Mono:wght@400;500",stack:"'Martian Mono', ui-monospace, monospace"},{value:"fragment",label:"Fragment Mono ✦",gf:"Fragment+Mono",stack:"'Fragment Mono', ui-monospace, monospace"},{value:"redhatmono",label:"Red Hat Mono ✦",gf:"Red+Hat+Mono:wght@400;500",stack:"'Red Hat Mono', ui-monospace, monospace"},{value:"chivomono",label:"Chivo Mono ✦",gf:"Chivo+Mono:wght@400;500",stack:"'Chivo Mono', ui-monospace, monospace"},{value:"azeret",label:"Azeret Mono ✦",gf:"Azeret+Mono:wght@400;500",stack:"'Azeret Mono', ui-monospace, monospace"},{value:"spacemono",label:"Space Mono ✦",gf:"Space+Mono:wght@400;700",stack:"'Space Mono', ui-monospace, monospace"}],dy=[{value:"sans",label:"Same as sans",stack:""},{value:"newsreader",label:"Newsreader (serif)",gf:"Newsreader:opsz,wght@6..72,400..700",stack:"'Newsreader', Georgia, serif"},{value:"sourceserif",label:"Source Serif 4",gf:"Source+Serif+4:opsz,wght@8..60,400..700",stack:"'Source Serif 4', Georgia, serif"},{value:"fraunces",label:"Fraunces",gf:"Fraunces:opsz,wght@9..144,400..700",stack:"'Fraunces', Georgia, serif"},{value:"instrumentserif",label:"Instrument Serif",gf:"Instrument+Serif",stack:"'Instrument Serif', Georgia, serif"},{value:"spacegrotesk",label:"Space Grotesk",gf:"Space+Grotesk:wght@400;500;600",stack:"'Space Grotesk', system-ui, sans-serif"},{value:"clash",label:"Clash Display ✦",url:ns("clash-display@400,500,600"),stack:"'Clash Display', system-ui, sans-serif"},{value:"cabinetdisplay",label:"Cabinet Grotesk ✦",url:ns("cabinet-grotesk@500,700,800"),stack:"'Cabinet Grotesk', system-ui, sans-serif"},{value:"sentient",label:"Sentient (serif) ✦",url:ns("sentient@400,500,700"),stack:"'Sentient', Georgia, serif"},{value:"gambetta",label:"Gambetta (serif) ✦",url:ns("gambetta@400,500,700"),stack:"'Gambetta', Georgia, serif"},{value:"bricolagedisplay",label:"Bricolage Grotesque ✦",gf:"Bricolage+Grotesque:opsz,wght@12..96,400..700",stack:"'Bricolage Grotesque', system-ui, sans-serif"},{value:"youngserif",label:"Young Serif ✦",gf:"Young+Serif",stack:"'Young Serif', Georgia, serif"},{value:"unbounded",label:"Unbounded ✦",gf:"Unbounded:wght@400;500;600",stack:"'Unbounded', system-ui, sans-serif"}],A2=[{label:"Geist / Geist Mono",sans:"geist",mono:"geistmono",display:"sans"},{label:"Inter / JetBrains",sans:"inter",mono:"jetbrains",display:"sans"},{label:"IBM Plex",sans:"plex",mono:"plexmono",display:"sans"},{label:"Instrument / Spline",sans:"instrument",mono:"splinemono",display:"sans"},{label:"Schibsted / Fira",sans:"schibsted",mono:"firacode",display:"sans"},{label:"Editorial: Geist + Newsreader",sans:"geist",mono:"geistmono",display:"newsreader"},{label:"Satoshi / Martian ✦",sans:"satoshi",mono:"martianmono",display:"sans"},{label:"General Sans / Fragment ✦",sans:"generalsans",mono:"fragment",display:"sans"},{label:"Switzer + Clash headings ✦",sans:"switzer",mono:"redhatmono",display:"clash"},{label:"Cabinet + Gambetta ✦",sans:"cabinet",mono:"chivomono",display:"gambetta"},{label:"Bricolage all the way ✦",sans:"bricolage",mono:"spacemono",display:"bricolagedisplay"}],fy=new Set;function gd(n){if(!n)return;const e=n.url??(n.gf?`https://fonts.googleapis.com/css2?family=${n.gf}&display=swap`:void 0);if(!e||fy.has(e))return;fy.add(e);const t=document.createElement("link");t.rel="stylesheet",t.href=e,document.head.appendChild(t)}function vd(n,e){return n.find(t=>t.value===e)??n[0]}const B2=[{px:"8",cls:"text-[8px]",usage:"MetricCard delta arrow glyph",sample:"▲"},{px:"9",cls:"text-[9px]",usage:"DataTable sort direction glyph",sample:"▲▼"},{px:"10",cls:"text-[10px]",usage:"Chart axis labels (all 9 charts)",sample:"Jan Feb Mar 12.4k 18.2k"},{px:"11",cls:"text-2xs",usage:"Captions, chips, table body, helper text (58 uses)",sample:"Canonical React primitives · updated 2h ago"},{px:"12",cls:"text-xs",usage:"Controls, labels, leaderboard rows — the workhorse (70 uses)",sample:"Revenue by region, last 28 days"},{px:"13",cls:"text-sm",usage:"Section titles, panel headers (9 uses); also the body default",sample:"Customer Region"},{px:"14",cls:"text-base",usage:"Explore index page title (1 use)",sample:"Explore"},{px:"19",cls:"text-[19px]",usage:"MetricCard value",sample:"$288,291"},{px:"20",cls:"text-xl",usage:"MetricTimeSeries headline total",sample:"$1,282,392"},{px:"24",cls:"text-2xl",usage:"DashboardShell page title",sample:"Revenue overview"}],E2=[{name:"A — Current",note:"11 / 12 / 13 base. Dense, reads small on 27″ displays.",caption:11,label:12,body:13,section:13,value:19,headline:20,title:24},{name:"B — One up",note:"12 / 13 / 14 base. Same hierarchy, comfortably legible.",caption:12,label:13,body:14,section:14,value:22,headline:24,title:28},{name:"C — Quiet UI, loud numbers",note:"Keeps the dense chrome, doubles down on data: bigger values and titles.",caption:11,label:12,body:13,section:13,value:24,headline:28,title:30}],R2=[31,42,38,55,60,74],L2=Array.from({length:12},(n,e)=>({x:`2025-${String(e+1).padStart(2,"0")}-01`,y:96e3+e*14e3+e%3*9e3})),U2=`select region, sum(revenue) as revenue -from orders -where created_at >= date '2025-01-01' -group by all -order by revenue desc`;function hy({family:n,size:e}){return u.jsxs("div",{className:"flex flex-wrap items-baseline gap-x-6 gap-y-1",style:{fontFamily:n},children:[u.jsx("span",{className:`${e} font-normal`,children:"Regular 400 — Revenue by payment method"}),u.jsx("span",{className:`${e} font-medium`,children:"Medium 500 — Revenue by payment method"}),u.jsx("span",{className:`${e} font-semibold`,children:"Semibold 600 — Revenue by payment method"})]})}function $2(){const[n,e]=F.useState("geist"),[t,i]=F.useState("geistmono"),[a,c]=F.useState("sans"),f=vd(cy,n),h=vd(uy,t),m=vd(dy,a),g=m.stack||f.stack;F.useEffect(()=>{gd(f),gd(h),gd(m)},[f,h,m]);const v={"--font-sans":f.stack,"--font-mono":h.stack,"--font-display":g,fontFamily:"var(--font-sans)"};return u.jsxs("main",{className:"min-h-screen bg-bg text-ink",children:[u.jsxs("header",{className:"sticky top-0 z-20 flex items-center justify-between gap-3 border-b border-line bg-surface px-4 py-3",children:[u.jsxs("div",{children:[u.jsx("h1",{className:"text-sm font-semibold",children:"Typography workbench"}),u.jsxs("p",{className:"text-2xs text-faint",children:["Pick faces, judge them on real components · ",u.jsx("a",{className:"text-accent hover:underline",href:"/components",children:"component gallery →"})]})]}),u.jsx($o,{})]}),u.jsxs("div",{className:"space-y-10 p-4",children:[u.jsx("section",{children:u.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[u.jsx(wl,{label:"Sans",value:n,options:cy.map(({value:x,label:b})=>({value:x,label:b})),onChange:e}),u.jsx(wl,{label:"Mono",value:t,options:uy.map(({value:x,label:b})=>({value:x,label:b})),onChange:i}),u.jsx(wl,{label:"Headings",value:a,options:dy.map(({value:x,label:b})=>({value:x,label:b})),onChange:c}),u.jsx("div",{className:"flex flex-wrap items-center gap-1.5",children:A2.map(x=>{const b=x.sans===n&&x.mono===t&&x.display===a;return u.jsx("button",{type:"button","data-selected":b||void 0,onClick:()=>{e(x.sans),i(x.mono),c(x.display)},className:`inline-flex h-7 items-center rounded-full border px-3 text-xs transition-colors ${b?"border-accent text-accent":"border-line bg-surface text-muted hover:border-line-strong"}`,children:x.label},x.label)})})]})}),u.jsxs("div",{style:v,className:"space-y-10",children:[u.jsxs("section",{children:[u.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"In context"}),u.jsxs("div",{className:"space-y-6",children:[u.jsxs("div",{children:[u.jsx("p",{className:"text-2xs text-faint",children:"Acme Analytics · production"}),u.jsx("h1",{className:"mt-1 text-2xl font-semibold text-ink",children:"Revenue overview"}),u.jsx("div",{className:"text-sm text-muted",children:"Updated 2 minutes ago · 448,214 rows scanned"})]}),u.jsxs("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-3",children:[u.jsx(Nr,{metric:"t.revenue",label:"Revenue",value:288291,format:{format:"currency"},delta:{label:"+12.4%",tone:"positive"},comparison:"vs previous month",sparkValues:R2,selected:!0,onSelect:()=>{}}),u.jsx(Nr,{metric:"t.orders",label:"Order Count",value:447,delta:{label:"-2.1%",tone:"negative"},comparison:"vs previous month",sparkValues:[21,34,28,41,44,38],onSelect:()=>{}}),u.jsx(Nr,{metric:"t.margin",label:"Gross Margin",value:.324,format:{format:"percent"},delta:{label:"+1.1pt",tone:"positive"},comparison:"vs previous month",sparkValues:[24,26,29,27,31,32],onSelect:()=>{}})]}),u.jsx(Go,{points:L2,formatValue:x=>`$${Math.round(x).toLocaleString("en-US")}`,formatAxis:x=>`$${Math.round(x/1e3)}k`,formatLabel:x=>x.slice(0,7),ariaLabel:"Twelve month revenue trend"}),u.jsxs("div",{className:"max-w-xl",children:[u.jsx("h3",{className:"text-sm font-semibold text-ink",children:"How the comparison works"}),u.jsx("p",{className:"mt-1 text-xs leading-5 text-muted",children:"The overlay shifts the previous period onto the current axis so both lines share a scale. Deltas are computed on the visible range only — zooming recomputes them. Hover any point for the exact pair of values; the quiet gray line is always the older period."})]}),u.jsx("pre",{className:"overflow-x-auto font-mono text-xs leading-5 text-muted",children:U2})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Numerals — mono, tabular"}),u.jsxs("div",{className:"flex flex-wrap gap-12",children:[u.jsx("div",{className:"font-mono tnum text-sm text-ink",children:["$1,204,918.24","$984,003.10","$88,214.00","$1,111,111.11"].map(x=>u.jsx("div",{className:"text-right",children:x},x))}),u.jsx("div",{className:"font-mono tnum text-sm text-ink",children:["2025-06-30 23:59:59","2025-07-01 00:00:00","2025-12-31 08:15:42"].map(x=>u.jsx("div",{children:x},x))}),u.jsxs("div",{className:"font-mono text-sm text-ink",children:["0O · 1lI · 5S · 8B · ","->"," ","=>"," ","!="," ",">="]})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Weights in use — 400 / 500 / 600 (no bold anywhere)"}),u.jsxs("div",{className:"space-y-2 text-ink",children:[u.jsx(hy,{family:"var(--font-sans)",size:"text-sm"}),u.jsx(hy,{family:"var(--font-sans)",size:"text-xs"}),u.jsx("div",{className:"text-xl font-semibold",style:{fontFamily:"var(--font-display)"},children:"Display 600 — Quarterly revenue, all regions"})]})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Current ramp — every size in the app and where it appears"}),u.jsx("div",{className:"space-y-1.5",children:B2.map(x=>u.jsxs("div",{className:"grid grid-cols-[3rem_7rem_1fr_1.2fr] items-baseline gap-3",children:[u.jsxs("span",{className:"font-mono tnum text-2xs text-faint",children:[x.px,"px"]}),u.jsx("span",{className:"font-mono text-2xs text-faint",children:x.cls}),u.jsx("span",{className:"truncate text-ink",style:{fontSize:`${x.px}px`,lineHeight:1.3},children:x.sample}),u.jsx("span",{className:"text-2xs text-faint",children:x.usage})]},x.px))})]}),u.jsxs("section",{children:[u.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Size ramp candidates"}),u.jsx("div",{className:"grid grid-cols-1 gap-8 lg:grid-cols-3",children:E2.map(x=>u.jsxs("article",{className:"min-w-0",children:[u.jsx("h3",{className:"text-sm font-semibold text-ink",children:x.name}),u.jsx("p",{className:"mt-0.5 text-2xs text-faint",children:x.note}),u.jsxs("div",{className:"mt-3 space-y-2",children:[u.jsxs("div",{className:"text-faint",style:{fontSize:x.caption,lineHeight:1.3},children:["Caption ",x.caption,"px · vs previous month"]}),u.jsxs("div",{className:"text-muted",style:{fontSize:x.label,lineHeight:1.35},children:["Label ",x.label,"px · Revenue by region"]}),u.jsxs("div",{className:"text-ink",style:{fontSize:x.body,lineHeight:1.45},children:["Body ",x.body,"px · The overlay shifts the previous period onto the current axis so both lines share a scale."]}),u.jsxs("div",{className:"font-semibold text-ink",style:{fontSize:x.section,lineHeight:1.35},children:["Section title ",x.section,"px"]}),u.jsx("div",{className:"font-mono tnum font-semibold text-ink",style:{fontSize:x.value,lineHeight:1.15},children:"$288,291"}),u.jsx("div",{className:"font-mono tnum font-semibold text-ink",style:{fontSize:x.headline,lineHeight:1.15},children:"$1,282,392"}),u.jsx("div",{className:"font-semibold text-ink",style:{fontFamily:"var(--font-display)",fontSize:x.title,lineHeight:1.2,letterSpacing:"-0.025em"},children:"Revenue overview"})]})]},x.name))})]})]})]})]})}n_();const n0=document.getElementById("root");if(!n0)throw new Error("Missing #root element");cb.createRoot(n0).render(u.jsx(F.StrictMode,{children:window.location.pathname==="/components"?u.jsx(T2,{}):window.location.pathname==="/typography"?u.jsx($2,{}):u.jsx(X_,{})})); diff --git a/sidemantic/ui/static/assets/index-iemRTgYP.js b/sidemantic/ui/static/assets/index-iemRTgYP.js new file mode 100644 index 000000000..873cbd343 --- /dev/null +++ b/sidemantic/ui/static/assets/index-iemRTgYP.js @@ -0,0 +1,55 @@ +var Xx=Object.defineProperty;var eb=(n,e,t)=>e in n?Xx(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var Mn=(n,e,t)=>eb(n,typeof e!="symbol"?e+"":e,t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))i(a);new MutationObserver(a=>{for(const u of a)if(u.type==="childList")for(const f of u.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&i(f)}).observe(document,{childList:!0,subtree:!0});function t(a){const u={};return a.integrity&&(u.integrity=a.integrity),a.referrerPolicy&&(u.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?u.credentials="include":a.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function i(a){if(a.ep)return;a.ep=!0;const u=t(a);fetch(a.href,u)}})();var Jc={exports:{}},wo={},qc={exports:{}},Be={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Xp;function tb(){if(Xp)return Be;Xp=1;var n=Symbol.for("react.element"),e=Symbol.for("react.portal"),t=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),u=Symbol.for("react.provider"),f=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),x=Symbol.iterator;function b(_){return _===null||typeof _!="object"?null:(_=x&&_[x]||_["@@iterator"],typeof _=="function"?_:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},j=Object.assign,C={};function O(_,F,te){this.props=_,this.context=F,this.refs=C,this.updater=te||w}O.prototype.isReactComponent={},O.prototype.setState=function(_,F){if(typeof _!="object"&&typeof _!="function"&&_!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,_,F,"setState")},O.prototype.forceUpdate=function(_){this.updater.enqueueForceUpdate(this,_,"forceUpdate")};function H(){}H.prototype=O.prototype;function L(_,F,te){this.props=_,this.context=F,this.refs=C,this.updater=te||w}var R=L.prototype=new H;R.constructor=L,j(R,O.prototype),R.isPureReactComponent=!0;var T=Array.isArray,E=Object.prototype.hasOwnProperty,I={current:null},U={key:!0,ref:!0,__self:!0,__source:!0};function G(_,F,te){var pe,ne={},fe=null,Ce=null;if(F!=null)for(pe in F.ref!==void 0&&(Ce=F.ref),F.key!==void 0&&(fe=""+F.key),F)E.call(F,pe)&&!U.hasOwnProperty(pe)&&(ne[pe]=F[pe]);var Te=arguments.length-2;if(Te===1)ne.children=te;else if(1>>1,F=A[_];if(0>>1;_a(ne,W))fea(Ce,ne)?(A[_]=Ce,A[fe]=W,_=fe):(A[_]=ne,A[pe]=W,_=pe);else if(fea(Ce,W))A[_]=Ce,A[fe]=W,_=fe;else break e}}return Y}function a(A,Y){var W=A.sortIndex-Y.sortIndex;return W!==0?W:A.id-Y.id}if(typeof performance=="object"&&typeof performance.now=="function"){var u=performance;n.unstable_now=function(){return u.now()}}else{var f=Date,h=f.now();n.unstable_now=function(){return f.now()-h}}var m=[],g=[],v=1,x=null,b=3,w=!1,j=!1,C=!1,O=typeof setTimeout=="function"?setTimeout:null,H=typeof clearTimeout=="function"?clearTimeout:null,L=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function R(A){for(var Y=t(g);Y!==null;){if(Y.callback===null)i(g);else if(Y.startTime<=A)i(g),Y.sortIndex=Y.expirationTime,e(m,Y);else break;Y=t(g)}}function T(A){if(C=!1,R(A),!j)if(t(m)!==null)j=!0,re(E);else{var Y=t(g);Y!==null&&se(T,Y.startTime-A)}}function E(A,Y){j=!1,C&&(C=!1,H(G),G=-1),w=!0;var W=b;try{for(R(Y),x=t(m);x!==null&&(!(x.expirationTime>Y)||A&&!z());){var _=x.callback;if(typeof _=="function"){x.callback=null,b=x.priorityLevel;var F=_(x.expirationTime<=Y);Y=n.unstable_now(),typeof F=="function"?x.callback=F:x===t(m)&&i(m),R(Y)}else i(m);x=t(m)}if(x!==null)var te=!0;else{var pe=t(g);pe!==null&&se(T,pe.startTime-Y),te=!1}return te}finally{x=null,b=W,w=!1}}var I=!1,U=null,G=-1,V=5,Q=-1;function z(){return!(n.unstable_now()-QA||125_?(A.sortIndex=W,e(g,A),t(m)===null&&A===t(g)&&(C?(H(G),G=-1):C=!0,se(T,W-_))):(A.sortIndex=F,e(m,A),j||w||(j=!0,re(E))),A},n.unstable_shouldYield=z,n.unstable_wrapCallback=function(A){var Y=b;return function(){var W=b;b=Y;try{return A.apply(this,arguments)}finally{b=W}}}})(ed)),ed}var sm;function ib(){return sm||(sm=1,Xc.exports=sb()),Xc.exports}/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var im;function ob(){if(im)return $t;im=1;var n=Ad(),e=ib();function t(r){for(var s="https://reactjs.org/docs/error-decoder.html?invariant="+r,o=1;o"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),m=Object.prototype.hasOwnProperty,g=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,v={},x={};function b(r){return m.call(x,r)?!0:m.call(v,r)?!1:g.test(r)?x[r]=!0:(v[r]=!0,!1)}function w(r,s,o,l){if(o!==null&&o.type===0)return!1;switch(typeof s){case"function":case"symbol":return!0;case"boolean":return l?!1:o!==null?!o.acceptsBooleans:(r=r.toLowerCase().slice(0,5),r!=="data-"&&r!=="aria-");default:return!1}}function j(r,s,o,l){if(s===null||typeof s>"u"||w(r,s,o,l))return!0;if(l)return!1;if(o!==null)switch(o.type){case 3:return!s;case 4:return s===!1;case 5:return isNaN(s);case 6:return isNaN(s)||1>s}return!1}function C(r,s,o,l,d,p,y){this.acceptsBooleans=s===2||s===3||s===4,this.attributeName=l,this.attributeNamespace=d,this.mustUseProperty=o,this.propertyName=r,this.type=s,this.sanitizeURL=p,this.removeEmptyString=y}var O={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(r){O[r]=new C(r,0,!1,r,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(r){var s=r[0];O[s]=new C(s,1,!1,r[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(r){O[r]=new C(r,2,!1,r.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(r){O[r]=new C(r,2,!1,r,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(r){O[r]=new C(r,3,!1,r.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(r){O[r]=new C(r,3,!0,r,null,!1,!1)}),["capture","download"].forEach(function(r){O[r]=new C(r,4,!1,r,null,!1,!1)}),["cols","rows","size","span"].forEach(function(r){O[r]=new C(r,6,!1,r,null,!1,!1)}),["rowSpan","start"].forEach(function(r){O[r]=new C(r,5,!1,r.toLowerCase(),null,!1,!1)});var H=/[\-:]([a-z])/g;function L(r){return r[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(r){var s=r.replace(H,L);O[s]=new C(s,1,!1,r,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(r){var s=r.replace(H,L);O[s]=new C(s,1,!1,r,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(r){var s=r.replace(H,L);O[s]=new C(s,1,!1,r,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(r){O[r]=new C(r,1,!1,r.toLowerCase(),null,!1,!1)}),O.xlinkHref=new C("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(r){O[r]=new C(r,1,!1,r.toLowerCase(),null,!0,!0)});function R(r,s,o,l){var d=O.hasOwnProperty(s)?O[s]:null;(d!==null?d.type!==0:l||!(2S||d[y]!==p[S]){var N=` +`+d[y].replace(" at new "," at ");return r.displayName&&N.includes("")&&(N=N.replace("",r.displayName)),N}while(1<=y&&0<=S);break}}}finally{te=!1,Error.prepareStackTrace=o}return(r=r?r.displayName||r.name:"")?F(r):""}function ne(r){switch(r.tag){case 5:return F(r.type);case 16:return F("Lazy");case 13:return F("Suspense");case 19:return F("SuspenseList");case 0:case 2:case 15:return r=pe(r.type,!1),r;case 11:return r=pe(r.type.render,!1),r;case 1:return r=pe(r.type,!0),r;default:return""}}function fe(r){if(r==null)return null;if(typeof r=="function")return r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case U:return"Fragment";case I:return"Portal";case V:return"Profiler";case G:return"StrictMode";case X:return"Suspense";case ie:return"SuspenseList"}if(typeof r=="object")switch(r.$$typeof){case z:return(r.displayName||"Context")+".Consumer";case Q:return(r._context.displayName||"Context")+".Provider";case ee:var s=r.render;return r=r.displayName,r||(r=s.displayName||s.name||"",r=r!==""?"ForwardRef("+r+")":"ForwardRef"),r;case ae:return s=r.displayName||null,s!==null?s:fe(r.type)||"Memo";case re:s=r._payload,r=r._init;try{return fe(r(s))}catch{}}return null}function Ce(r){var s=r.type;switch(r.tag){case 24:return"Cache";case 9:return(s.displayName||"Context")+".Consumer";case 10:return(s._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return r=s.render,r=r.displayName||r.name||"",s.displayName||(r!==""?"ForwardRef("+r+")":"ForwardRef");case 7:return"Fragment";case 5:return s;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return fe(s);case 8:return s===G?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s}return null}function Te(r){switch(typeof r){case"boolean":case"number":case"string":case"undefined":return r;case"object":return r;default:return""}}function Ue(r){var s=r.type;return(r=r.nodeName)&&r.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function lt(r){var s=Ue(r)?"checked":"value",o=Object.getOwnPropertyDescriptor(r.constructor.prototype,s),l=""+r[s];if(!r.hasOwnProperty(s)&&typeof o<"u"&&typeof o.get=="function"&&typeof o.set=="function"){var d=o.get,p=o.set;return Object.defineProperty(r,s,{configurable:!0,get:function(){return d.call(this)},set:function(y){l=""+y,p.call(this,y)}}),Object.defineProperty(r,s,{enumerable:o.enumerable}),{getValue:function(){return l},setValue:function(y){l=""+y},stopTracking:function(){r._valueTracker=null,delete r[s]}}}}function wt(r){r._valueTracker||(r._valueTracker=lt(r))}function Bs(r){if(!r)return!1;var s=r._valueTracker;if(!s)return!0;var o=s.getValue(),l="";return r&&(l=Ue(r)?r.checked?"true":"false":r.value),r=l,r!==o?(s.setValue(r),!0):!1}function xn(r){if(r=r||(typeof document<"u"?document:void 0),typeof r>"u")return null;try{return r.activeElement||r.body}catch{return r.body}}function Cr(r,s){var o=s.checked;return W({},s,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:o??r._wrapperState.initialChecked})}function Fr(r,s){var o=s.defaultValue==null?"":s.defaultValue,l=s.checked!=null?s.checked:s.defaultChecked;o=Te(s.value!=null?s.value:o),r._wrapperState={initialChecked:l,initialValue:o,controlled:s.type==="checkbox"||s.type==="radio"?s.checked!=null:s.value!=null}}function ue(r,s){s=s.checked,s!=null&&R(r,"checked",s,!1)}function Oe(r,s){ue(r,s);var o=Te(s.value),l=s.type;if(o!=null)l==="number"?(o===0&&r.value===""||r.value!=o)&&(r.value=""+o):r.value!==""+o&&(r.value=""+o);else if(l==="submit"||l==="reset"){r.removeAttribute("value");return}s.hasOwnProperty("value")?Nt(r,s.type,o):s.hasOwnProperty("defaultValue")&&Nt(r,s.type,Te(s.defaultValue)),s.checked==null&&s.defaultChecked!=null&&(r.defaultChecked=!!s.defaultChecked)}function rt(r,s,o){if(s.hasOwnProperty("value")||s.hasOwnProperty("defaultValue")){var l=s.type;if(!(l!=="submit"&&l!=="reset"||s.value!==void 0&&s.value!==null))return;s=""+r._wrapperState.initialValue,o||s===r.value||(r.value=s),r.defaultValue=s}o=r.name,o!==""&&(r.name=""),r.defaultChecked=!!r._wrapperState.initialChecked,o!==""&&(r.name=o)}function Nt(r,s,o){(s!=="number"||xn(r.ownerDocument)!==r)&&(o==null?r.defaultValue=""+r._wrapperState.initialValue:r.defaultValue!==""+o&&(r.defaultValue=""+o))}var Un=Array.isArray;function sr(r,s,o,l){if(r=r.options,s){s={};for(var d=0;d"+s.valueOf().toString()+"",s=ds.firstChild;r.firstChild;)r.removeChild(r.firstChild);for(;s.firstChild;)r.appendChild(s.firstChild)}});function ir(r,s){if(s){var o=r.firstChild;if(o&&o===r.lastChild&&o.nodeType===3){o.nodeValue=s;return}}r.textContent=s}var Ri={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},r0=["Webkit","ms","Moz","O"];Object.keys(Ri).forEach(function(r){r0.forEach(function(s){s=s+r.charAt(0).toUpperCase()+r.substring(1),Ri[s]=Ri[r]})});function pf(r,s,o){return s==null||typeof s=="boolean"||s===""?"":o||typeof s!="number"||s===0||Ri.hasOwnProperty(r)&&Ri[r]?(""+s).trim():s+"px"}function mf(r,s){r=r.style;for(var o in s)if(s.hasOwnProperty(o)){var l=o.indexOf("--")===0,d=pf(o,s[o],l);o==="float"&&(o="cssFloat"),l?r.setProperty(o,d):r[o]=d}}var s0=W({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function lu(r,s){if(s){if(s0[r]&&(s.children!=null||s.dangerouslySetInnerHTML!=null))throw Error(t(137,r));if(s.dangerouslySetInnerHTML!=null){if(s.children!=null)throw Error(t(60));if(typeof s.dangerouslySetInnerHTML!="object"||!("__html"in s.dangerouslySetInnerHTML))throw Error(t(61))}if(s.style!=null&&typeof s.style!="object")throw Error(t(62))}}function uu(r,s){if(r.indexOf("-")===-1)return typeof s.is=="string";switch(r){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var cu=null;function du(r){return r=r.target||r.srcElement||window,r.correspondingUseElement&&(r=r.correspondingUseElement),r.nodeType===3?r.parentNode:r}var fu=null,Rs=null,Ls=null;function yf(r){if(r=io(r)){if(typeof fu!="function")throw Error(t(280));var s=r.stateNode;s&&(s=ya(s),fu(r.stateNode,r.type,s))}}function gf(r){Rs?Ls?Ls.push(r):Ls=[r]:Rs=r}function vf(){if(Rs){var r=Rs,s=Ls;if(Ls=Rs=null,yf(r),s)for(r=0;r>>=0,r===0?32:31-(m0(r)/y0|0)|0}var Zo=64,Xo=4194304;function Pi(r){switch(r&-r){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return r&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return r&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return r}}function ea(r,s){var o=r.pendingLanes;if(o===0)return 0;var l=0,d=r.suspendedLanes,p=r.pingedLanes,y=o&268435455;if(y!==0){var S=y&~d;S!==0?l=Pi(S):(p&=y,p!==0&&(l=Pi(p)))}else y=o&~d,y!==0?l=Pi(y):p!==0&&(l=Pi(p));if(l===0)return 0;if(s!==0&&s!==l&&(s&d)===0&&(d=l&-l,p=s&-s,d>=p||d===16&&(p&4194240)!==0))return s;if((l&4)!==0&&(l|=o&16),s=r.entangledLanes,s!==0)for(r=r.entanglements,s&=l;0o;o++)s.push(r);return s}function zi(r,s,o){r.pendingLanes|=s,s!==536870912&&(r.suspendedLanes=0,r.pingedLanes=0),r=r.eventTimes,s=31-wn(s),r[s]=o}function b0(r,s){var o=r.pendingLanes&~s;r.pendingLanes=s,r.suspendedLanes=0,r.pingedLanes=0,r.expiredLanes&=s,r.mutableReadLanes&=s,r.entangledLanes&=s,s=r.entanglements;var l=r.eventTimes;for(r=r.expirationTimes;0=Ji),Gf=" ",Yf=!1;function Qf(r,s){switch(r){case"keyup":return Q0.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Kf(r){return r=r.detail,typeof r=="object"&&"data"in r?r.data:null}var Ps=!1;function J0(r,s){switch(r){case"compositionend":return Kf(s);case"keypress":return s.which!==32?null:(Yf=!0,Gf);case"textInput":return r=s.data,r===Gf&&Yf?null:r;default:return null}}function q0(r,s){if(Ps)return r==="compositionend"||!Cu&&Qf(r,s)?(r=$f(),ia=Nu=Er=null,Ps=!1,r):null;switch(r){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:o,offset:s-r};r=l}e:{for(;o;){if(o.nextSibling){o=o.nextSibling;break e}o=o.parentNode}o=void 0}o=nh(o)}}function sh(r,s){return r&&s?r===s?!0:r&&r.nodeType===3?!1:s&&s.nodeType===3?sh(r,s.parentNode):"contains"in r?r.contains(s):r.compareDocumentPosition?!!(r.compareDocumentPosition(s)&16):!1:!1}function ih(){for(var r=window,s=xn();s instanceof r.HTMLIFrameElement;){try{var o=typeof s.contentWindow.location.href=="string"}catch{o=!1}if(o)r=s.contentWindow;else break;s=xn(r.document)}return s}function Tu(r){var s=r&&r.nodeName&&r.nodeName.toLowerCase();return s&&(s==="input"&&(r.type==="text"||r.type==="search"||r.type==="tel"||r.type==="url"||r.type==="password")||s==="textarea"||r.contentEditable==="true")}function ox(r){var s=ih(),o=r.focusedElem,l=r.selectionRange;if(s!==o&&o&&o.ownerDocument&&sh(o.ownerDocument.documentElement,o)){if(l!==null&&Tu(o)){if(s=l.start,r=l.end,r===void 0&&(r=s),"selectionStart"in o)o.selectionStart=s,o.selectionEnd=Math.min(r,o.value.length);else if(r=(s=o.ownerDocument||document)&&s.defaultView||window,r.getSelection){r=r.getSelection();var d=o.textContent.length,p=Math.min(l.start,d);l=l.end===void 0?p:Math.min(l.end,d),!r.extend&&p>l&&(d=l,l=p,p=d),d=rh(o,p);var y=rh(o,l);d&&y&&(r.rangeCount!==1||r.anchorNode!==d.node||r.anchorOffset!==d.offset||r.focusNode!==y.node||r.focusOffset!==y.offset)&&(s=s.createRange(),s.setStart(d.node,d.offset),r.removeAllRanges(),p>l?(r.addRange(s),r.extend(y.node,y.offset)):(s.setEnd(y.node,y.offset),r.addRange(s)))}}for(s=[],r=o;r=r.parentNode;)r.nodeType===1&&s.push({element:r,left:r.scrollLeft,top:r.scrollTop});for(typeof o.focus=="function"&&o.focus(),o=0;o=document.documentMode,zs=null,Au=null,eo=null,Bu=!1;function oh(r,s,o){var l=o.window===o?o.document:o.nodeType===9?o:o.ownerDocument;Bu||zs==null||zs!==xn(l)||(l=zs,"selectionStart"in l&&Tu(l)?l={start:l.selectionStart,end:l.selectionEnd}:(l=(l.ownerDocument&&l.ownerDocument.defaultView||window).getSelection(),l={anchorNode:l.anchorNode,anchorOffset:l.anchorOffset,focusNode:l.focusNode,focusOffset:l.focusOffset}),eo&&Xi(eo,l)||(eo=l,l=ha(Au,"onSelect"),0Ys||(r.current=Yu[Ys],Yu[Ys]=null,Ys--)}function qe(r,s){Ys++,Yu[Ys]=r.current,r.current=s}var $r={},jt=Ur($r),Bt=Ur(!1),ps=$r;function Qs(r,s){var o=r.type.contextTypes;if(!o)return $r;var l=r.stateNode;if(l&&l.__reactInternalMemoizedUnmaskedChildContext===s)return l.__reactInternalMemoizedMaskedChildContext;var d={},p;for(p in o)d[p]=s[p];return l&&(r=r.stateNode,r.__reactInternalMemoizedUnmaskedChildContext=s,r.__reactInternalMemoizedMaskedChildContext=d),d}function Et(r){return r=r.childContextTypes,r!=null}function ga(){et(Bt),et(jt)}function wh(r,s,o){if(jt.current!==$r)throw Error(t(168));qe(jt,s),qe(Bt,o)}function Sh(r,s,o){var l=r.stateNode;if(s=s.childContextTypes,typeof l.getChildContext!="function")return o;l=l.getChildContext();for(var d in l)if(!(d in s))throw Error(t(108,Ce(r)||"Unknown",d));return W({},o,l)}function va(r){return r=(r=r.stateNode)&&r.__reactInternalMemoizedMergedChildContext||$r,ps=jt.current,qe(jt,r),qe(Bt,Bt.current),!0}function _h(r,s,o){var l=r.stateNode;if(!l)throw Error(t(169));o?(r=Sh(r,s,ps),l.__reactInternalMemoizedMergedChildContext=r,et(Bt),et(jt),qe(jt,r)):et(Bt),qe(Bt,o)}var ar=null,xa=!1,Qu=!1;function Nh(r){ar===null?ar=[r]:ar.push(r)}function vx(r){xa=!0,Nh(r)}function Pr(){if(!Qu&&ar!==null){Qu=!0;var r=0,s=Ge;try{var o=ar;for(Ge=1;r>=y,d-=y,lr=1<<32-wn(s)+d|o<Me?(bt=ge,ge=null):bt=ge.sibling;var ze=K(B,ge,$[Me],Z);if(ze===null){ge===null&&(ge=bt);break}r&&ge&&ze.alternate===null&&s(B,ge),k=p(ze,k,Me),ye===null?he=ze:ye.sibling=ze,ye=ze,ge=bt}if(Me===$.length)return o(B,ge),st&&ys(B,Me),he;if(ge===null){for(;Me<$.length;Me++)ge=q(B,$[Me],Z),ge!==null&&(k=p(ge,k,Me),ye===null?he=ge:ye.sibling=ge,ye=ge);return st&&ys(B,Me),he}for(ge=l(B,ge);Me<$.length;Me++)bt=oe(ge,B,Me,$[Me],Z),bt!==null&&(r&&bt.alternate!==null&&ge.delete(bt.key===null?Me:bt.key),k=p(bt,k,Me),ye===null?he=bt:ye.sibling=bt,ye=bt);return r&&ge.forEach(function(Jr){return s(B,Jr)}),st&&ys(B,Me),he}function de(B,k,$,Z){var he=Y($);if(typeof he!="function")throw Error(t(150));if($=he.call($),$==null)throw Error(t(151));for(var ye=he=null,ge=k,Me=k=0,bt=null,ze=$.next();ge!==null&&!ze.done;Me++,ze=$.next()){ge.index>Me?(bt=ge,ge=null):bt=ge.sibling;var Jr=K(B,ge,ze.value,Z);if(Jr===null){ge===null&&(ge=bt);break}r&&ge&&Jr.alternate===null&&s(B,ge),k=p(Jr,k,Me),ye===null?he=Jr:ye.sibling=Jr,ye=Jr,ge=bt}if(ze.done)return o(B,ge),st&&ys(B,Me),he;if(ge===null){for(;!ze.done;Me++,ze=$.next())ze=q(B,ze.value,Z),ze!==null&&(k=p(ze,k,Me),ye===null?he=ze:ye.sibling=ze,ye=ze);return st&&ys(B,Me),he}for(ge=l(B,ge);!ze.done;Me++,ze=$.next())ze=oe(ge,B,Me,ze.value,Z),ze!==null&&(r&&ze.alternate!==null&&ge.delete(ze.key===null?Me:ze.key),k=p(ze,k,Me),ye===null?he=ze:ye.sibling=ze,ye=ze);return r&&ge.forEach(function(Zx){return s(B,Zx)}),st&&ys(B,Me),he}function dt(B,k,$,Z){if(typeof $=="object"&&$!==null&&$.type===U&&$.key===null&&($=$.props.children),typeof $=="object"&&$!==null){switch($.$$typeof){case E:e:{for(var he=$.key,ye=k;ye!==null;){if(ye.key===he){if(he=$.type,he===U){if(ye.tag===7){o(B,ye.sibling),k=d(ye,$.props.children),k.return=B,B=k;break e}}else if(ye.elementType===he||typeof he=="object"&&he!==null&&he.$$typeof===re&&Ch(he)===ye.type){o(B,ye.sibling),k=d(ye,$.props),k.ref=oo(B,ye,$),k.return=B,B=k;break e}o(B,ye);break}else s(B,ye);ye=ye.sibling}$.type===U?(k=Ns($.props.children,B.mode,Z,$.key),k.return=B,B=k):(Z=Ya($.type,$.key,$.props,null,B.mode,Z),Z.ref=oo(B,k,$),Z.return=B,B=Z)}return y(B);case I:e:{for(ye=$.key;k!==null;){if(k.key===ye)if(k.tag===4&&k.stateNode.containerInfo===$.containerInfo&&k.stateNode.implementation===$.implementation){o(B,k.sibling),k=d(k,$.children||[]),k.return=B,B=k;break e}else{o(B,k);break}else s(B,k);k=k.sibling}k=Hc($,B.mode,Z),k.return=B,B=k}return y(B);case re:return ye=$._init,dt(B,k,ye($._payload),Z)}if(Un($))return ce(B,k,$,Z);if(Y($))return de(B,k,$,Z);_a(B,$)}return typeof $=="string"&&$!==""||typeof $=="number"?($=""+$,k!==null&&k.tag===6?(o(B,k.sibling),k=d(k,$),k.return=B,B=k):(o(B,k),k=Wc($,B.mode,Z),k.return=B,B=k),y(B)):o(B,k)}return dt}var Zs=Fh(!0),Oh=Fh(!1),Na=Ur(null),ja=null,Xs=null,ec=null;function tc(){ec=Xs=ja=null}function nc(r){var s=Na.current;et(Na),r._currentValue=s}function rc(r,s,o){for(;r!==null;){var l=r.alternate;if((r.childLanes&s)!==s?(r.childLanes|=s,l!==null&&(l.childLanes|=s)):l!==null&&(l.childLanes&s)!==s&&(l.childLanes|=s),r===o)break;r=r.return}}function ei(r,s){ja=r,ec=Xs=null,r=r.dependencies,r!==null&&r.firstContext!==null&&((r.lanes&s)!==0&&(Rt=!0),r.firstContext=null)}function sn(r){var s=r._currentValue;if(ec!==r)if(r={context:r,memoizedValue:s,next:null},Xs===null){if(ja===null)throw Error(t(308));Xs=r,ja.dependencies={lanes:0,firstContext:r}}else Xs=Xs.next=r;return s}var gs=null;function sc(r){gs===null?gs=[r]:gs.push(r)}function Th(r,s,o,l){var d=s.interleaved;return d===null?(o.next=o,sc(s)):(o.next=d.next,d.next=o),s.interleaved=o,cr(r,l)}function cr(r,s){r.lanes|=s;var o=r.alternate;for(o!==null&&(o.lanes|=s),o=r,r=r.return;r!==null;)r.childLanes|=s,o=r.alternate,o!==null&&(o.childLanes|=s),o=r,r=r.return;return o.tag===3?o.stateNode:null}var zr=!1;function ic(r){r.updateQueue={baseState:r.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Ah(r,s){r=r.updateQueue,s.updateQueue===r&&(s.updateQueue={baseState:r.baseState,firstBaseUpdate:r.firstBaseUpdate,lastBaseUpdate:r.lastBaseUpdate,shared:r.shared,effects:r.effects})}function dr(r,s){return{eventTime:r,lane:s,tag:0,payload:null,callback:null,next:null}}function Vr(r,s,o){var l=r.updateQueue;if(l===null)return null;if(l=l.shared,(Pe&2)!==0){var d=l.pending;return d===null?s.next=s:(s.next=d.next,d.next=s),l.pending=s,cr(r,o)}return d=l.interleaved,d===null?(s.next=s,sc(l)):(s.next=d.next,d.next=s),l.interleaved=s,cr(r,o)}function ka(r,s,o){if(s=s.updateQueue,s!==null&&(s=s.shared,(o&4194240)!==0)){var l=s.lanes;l&=r.pendingLanes,o|=l,s.lanes=o,xu(r,o)}}function Bh(r,s){var o=r.updateQueue,l=r.alternate;if(l!==null&&(l=l.updateQueue,o===l)){var d=null,p=null;if(o=o.firstBaseUpdate,o!==null){do{var y={eventTime:o.eventTime,lane:o.lane,tag:o.tag,payload:o.payload,callback:o.callback,next:null};p===null?d=p=y:p=p.next=y,o=o.next}while(o!==null);p===null?d=p=s:p=p.next=s}else d=p=s;o={baseState:l.baseState,firstBaseUpdate:d,lastBaseUpdate:p,shared:l.shared,effects:l.effects},r.updateQueue=o;return}r=o.lastBaseUpdate,r===null?o.firstBaseUpdate=s:r.next=s,o.lastBaseUpdate=s}function Ia(r,s,o,l){var d=r.updateQueue;zr=!1;var p=d.firstBaseUpdate,y=d.lastBaseUpdate,S=d.shared.pending;if(S!==null){d.shared.pending=null;var N=S,P=N.next;N.next=null,y===null?p=P:y.next=P,y=N;var J=r.alternate;J!==null&&(J=J.updateQueue,S=J.lastBaseUpdate,S!==y&&(S===null?J.firstBaseUpdate=P:S.next=P,J.lastBaseUpdate=N))}if(p!==null){var q=d.baseState;y=0,J=P=N=null,S=p;do{var K=S.lane,oe=S.eventTime;if((l&K)===K){J!==null&&(J=J.next={eventTime:oe,lane:0,tag:S.tag,payload:S.payload,callback:S.callback,next:null});e:{var ce=r,de=S;switch(K=s,oe=o,de.tag){case 1:if(ce=de.payload,typeof ce=="function"){q=ce.call(oe,q,K);break e}q=ce;break e;case 3:ce.flags=ce.flags&-65537|128;case 0:if(ce=de.payload,K=typeof ce=="function"?ce.call(oe,q,K):ce,K==null)break e;q=W({},q,K);break e;case 2:zr=!0}}S.callback!==null&&S.lane!==0&&(r.flags|=64,K=d.effects,K===null?d.effects=[S]:K.push(S))}else oe={eventTime:oe,lane:K,tag:S.tag,payload:S.payload,callback:S.callback,next:null},J===null?(P=J=oe,N=q):J=J.next=oe,y|=K;if(S=S.next,S===null){if(S=d.shared.pending,S===null)break;K=S,S=K.next,K.next=null,d.lastBaseUpdate=K,d.shared.pending=null}}while(!0);if(J===null&&(N=q),d.baseState=N,d.firstBaseUpdate=P,d.lastBaseUpdate=J,s=d.shared.interleaved,s!==null){d=s;do y|=d.lane,d=d.next;while(d!==s)}else p===null&&(d.shared.lanes=0);bs|=y,r.lanes=y,r.memoizedState=q}}function Eh(r,s,o){if(r=s.effects,s.effects=null,r!==null)for(s=0;so?o:4,r(!0);var l=cc.transition;cc.transition={};try{r(!1),s()}finally{Ge=o,cc.transition=l}}function tp(){return on().memoizedState}function Sx(r,s,o){var l=Yr(r);if(o={lane:l,action:o,hasEagerState:!1,eagerState:null,next:null},np(r))rp(s,o);else if(o=Th(r,s,o,l),o!==null){var d=Ft();In(o,r,l,d),sp(o,s,l)}}function _x(r,s,o){var l=Yr(r),d={lane:l,action:o,hasEagerState:!1,eagerState:null,next:null};if(np(r))rp(s,d);else{var p=r.alternate;if(r.lanes===0&&(p===null||p.lanes===0)&&(p=s.lastRenderedReducer,p!==null))try{var y=s.lastRenderedState,S=p(y,o);if(d.hasEagerState=!0,d.eagerState=S,Sn(S,y)){var N=s.interleaved;N===null?(d.next=d,sc(s)):(d.next=N.next,N.next=d),s.interleaved=d;return}}catch{}finally{}o=Th(r,s,d,l),o!==null&&(d=Ft(),In(o,r,l,d),sp(o,s,l))}}function np(r){var s=r.alternate;return r===ot||s!==null&&s===ot}function rp(r,s){co=Ca=!0;var o=r.pending;o===null?s.next=s:(s.next=o.next,o.next=s),r.pending=s}function sp(r,s,o){if((o&4194240)!==0){var l=s.lanes;l&=r.pendingLanes,o|=l,s.lanes=o,xu(r,o)}}var Ta={readContext:sn,useCallback:kt,useContext:kt,useEffect:kt,useImperativeHandle:kt,useInsertionEffect:kt,useLayoutEffect:kt,useMemo:kt,useReducer:kt,useRef:kt,useState:kt,useDebugValue:kt,useDeferredValue:kt,useTransition:kt,useMutableSource:kt,useSyncExternalStore:kt,useId:kt,unstable_isNewReconciler:!1},Nx={readContext:sn,useCallback:function(r,s){return Vn().memoizedState=[r,s===void 0?null:s],r},useContext:sn,useEffect:Yh,useImperativeHandle:function(r,s,o){return o=o!=null?o.concat([r]):null,Fa(4194308,4,Jh.bind(null,s,r),o)},useLayoutEffect:function(r,s){return Fa(4194308,4,r,s)},useInsertionEffect:function(r,s){return Fa(4,2,r,s)},useMemo:function(r,s){var o=Vn();return s=s===void 0?null:s,r=r(),o.memoizedState=[r,s],r},useReducer:function(r,s,o){var l=Vn();return s=o!==void 0?o(s):s,l.memoizedState=l.baseState=s,r={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:r,lastRenderedState:s},l.queue=r,r=r.dispatch=Sx.bind(null,ot,r),[l.memoizedState,r]},useRef:function(r){var s=Vn();return r={current:r},s.memoizedState=r},useState:Hh,useDebugValue:gc,useDeferredValue:function(r){return Vn().memoizedState=r},useTransition:function(){var r=Hh(!1),s=r[0];return r=wx.bind(null,r[1]),Vn().memoizedState=r,[s,r]},useMutableSource:function(){},useSyncExternalStore:function(r,s,o){var l=ot,d=Vn();if(st){if(o===void 0)throw Error(t(407));o=o()}else{if(o=s(),xt===null)throw Error(t(349));(xs&30)!==0||$h(l,s,o)}d.memoizedState=o;var p={value:o,getSnapshot:s};return d.queue=p,Yh(zh.bind(null,l,p,r),[r]),l.flags|=2048,po(9,Ph.bind(null,l,p,o,s),void 0,null),o},useId:function(){var r=Vn(),s=xt.identifierPrefix;if(st){var o=ur,l=lr;o=(l&~(1<<32-wn(l)-1)).toString(32)+o,s=":"+s+"R"+o,o=fo++,0<\/script>",r=r.removeChild(r.firstChild)):typeof l.is=="string"?r=y.createElement(o,{is:l.is}):(r=y.createElement(o),o==="select"&&(y=r,l.multiple?y.multiple=!0:l.size&&(y.size=l.size))):r=y.createElementNS(r,o),r[Pn]=s,r[so]=l,Np(r,s,!1,!1),s.stateNode=r;e:{switch(y=uu(o,l),o){case"dialog":Xe("cancel",r),Xe("close",r),d=l;break;case"iframe":case"object":case"embed":Xe("load",r),d=l;break;case"video":case"audio":for(d=0;dii&&(s.flags|=128,l=!0,mo(p,!1),s.lanes=4194304)}else{if(!l)if(r=Ma(y),r!==null){if(s.flags|=128,l=!0,o=r.updateQueue,o!==null&&(s.updateQueue=o,s.flags|=4),mo(p,!0),p.tail===null&&p.tailMode==="hidden"&&!y.alternate&&!st)return It(s),null}else 2*ct()-p.renderingStartTime>ii&&o!==1073741824&&(s.flags|=128,l=!0,mo(p,!1),s.lanes=4194304);p.isBackwards?(y.sibling=s.child,s.child=y):(o=p.last,o!==null?o.sibling=y:s.child=y,p.last=y)}return p.tail!==null?(s=p.tail,p.rendering=s,p.tail=s.sibling,p.renderingStartTime=ct(),s.sibling=null,o=it.current,qe(it,l?o&1|2:o&1),s):(It(s),null);case 22:case 23:return Pc(),l=s.memoizedState!==null,r!==null&&r.memoizedState!==null!==l&&(s.flags|=8192),l&&(s.mode&1)!==0?(Jt&1073741824)!==0&&(It(s),s.subtreeFlags&6&&(s.flags|=8192)):It(s),null;case 24:return null;case 25:return null}throw Error(t(156,s.tag))}function Ox(r,s){switch(Ju(s),s.tag){case 1:return Et(s.type)&&ga(),r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 3:return ti(),et(Bt),et(jt),uc(),r=s.flags,(r&65536)!==0&&(r&128)===0?(s.flags=r&-65537|128,s):null;case 5:return ac(s),null;case 13:if(et(it),r=s.memoizedState,r!==null&&r.dehydrated!==null){if(s.alternate===null)throw Error(t(340));qs()}return r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 19:return et(it),null;case 4:return ti(),null;case 10:return nc(s.type._context),null;case 22:case 23:return Pc(),null;case 24:return null;default:return null}}var Ra=!1,Mt=!1,Tx=typeof WeakSet=="function"?WeakSet:Set,le=null;function ri(r,s){var o=r.ref;if(o!==null)if(typeof o=="function")try{o(null)}catch(l){ut(r,s,l)}else o.current=null}function Dc(r,s,o){try{o()}catch(l){ut(r,s,l)}}var Ip=!1;function Ax(r,s){if(Pu=ra,r=ih(),Tu(r)){if("selectionStart"in r)var o={start:r.selectionStart,end:r.selectionEnd};else e:{o=(o=r.ownerDocument)&&o.defaultView||window;var l=o.getSelection&&o.getSelection();if(l&&l.rangeCount!==0){o=l.anchorNode;var d=l.anchorOffset,p=l.focusNode;l=l.focusOffset;try{o.nodeType,p.nodeType}catch{o=null;break e}var y=0,S=-1,N=-1,P=0,J=0,q=r,K=null;t:for(;;){for(var oe;q!==o||d!==0&&q.nodeType!==3||(S=y+d),q!==p||l!==0&&q.nodeType!==3||(N=y+l),q.nodeType===3&&(y+=q.nodeValue.length),(oe=q.firstChild)!==null;)K=q,q=oe;for(;;){if(q===r)break t;if(K===o&&++P===d&&(S=y),K===p&&++J===l&&(N=y),(oe=q.nextSibling)!==null)break;q=K,K=q.parentNode}q=oe}o=S===-1||N===-1?null:{start:S,end:N}}else o=null}o=o||{start:0,end:0}}else o=null;for(zu={focusedElem:r,selectionRange:o},ra=!1,le=s;le!==null;)if(s=le,r=s.child,(s.subtreeFlags&1028)!==0&&r!==null)r.return=s,le=r;else for(;le!==null;){s=le;try{var ce=s.alternate;if((s.flags&1024)!==0)switch(s.tag){case 0:case 11:case 15:break;case 1:if(ce!==null){var de=ce.memoizedProps,dt=ce.memoizedState,B=s.stateNode,k=B.getSnapshotBeforeUpdate(s.elementType===s.type?de:Nn(s.type,de),dt);B.__reactInternalSnapshotBeforeUpdate=k}break;case 3:var $=s.stateNode.containerInfo;$.nodeType===1?$.textContent="":$.nodeType===9&&$.documentElement&&$.removeChild($.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(t(163))}}catch(Z){ut(s,s.return,Z)}if(r=s.sibling,r!==null){r.return=s.return,le=r;break}le=s.return}return ce=Ip,Ip=!1,ce}function yo(r,s,o){var l=s.updateQueue;if(l=l!==null?l.lastEffect:null,l!==null){var d=l=l.next;do{if((d.tag&r)===r){var p=d.destroy;d.destroy=void 0,p!==void 0&&Dc(s,o,p)}d=d.next}while(d!==l)}}function La(r,s){if(s=s.updateQueue,s=s!==null?s.lastEffect:null,s!==null){var o=s=s.next;do{if((o.tag&r)===r){var l=o.create;o.destroy=l()}o=o.next}while(o!==s)}}function Cc(r){var s=r.ref;if(s!==null){var o=r.stateNode;switch(r.tag){case 5:r=o;break;default:r=o}typeof s=="function"?s(r):s.current=r}}function Mp(r){var s=r.alternate;s!==null&&(r.alternate=null,Mp(s)),r.child=null,r.deletions=null,r.sibling=null,r.tag===5&&(s=r.stateNode,s!==null&&(delete s[Pn],delete s[so],delete s[Gu],delete s[yx],delete s[gx])),r.stateNode=null,r.return=null,r.dependencies=null,r.memoizedProps=null,r.memoizedState=null,r.pendingProps=null,r.stateNode=null,r.updateQueue=null}function Dp(r){return r.tag===5||r.tag===3||r.tag===4}function Cp(r){e:for(;;){for(;r.sibling===null;){if(r.return===null||Dp(r.return))return null;r=r.return}for(r.sibling.return=r.return,r=r.sibling;r.tag!==5&&r.tag!==6&&r.tag!==18;){if(r.flags&2||r.child===null||r.tag===4)continue e;r.child.return=r,r=r.child}if(!(r.flags&2))return r.stateNode}}function Fc(r,s,o){var l=r.tag;if(l===5||l===6)r=r.stateNode,s?o.nodeType===8?o.parentNode.insertBefore(r,s):o.insertBefore(r,s):(o.nodeType===8?(s=o.parentNode,s.insertBefore(r,o)):(s=o,s.appendChild(r)),o=o._reactRootContainer,o!=null||s.onclick!==null||(s.onclick=ma));else if(l!==4&&(r=r.child,r!==null))for(Fc(r,s,o),r=r.sibling;r!==null;)Fc(r,s,o),r=r.sibling}function Oc(r,s,o){var l=r.tag;if(l===5||l===6)r=r.stateNode,s?o.insertBefore(r,s):o.appendChild(r);else if(l!==4&&(r=r.child,r!==null))for(Oc(r,s,o),r=r.sibling;r!==null;)Oc(r,s,o),r=r.sibling}var St=null,jn=!1;function Wr(r,s,o){for(o=o.child;o!==null;)Fp(r,s,o),o=o.sibling}function Fp(r,s,o){if($n&&typeof $n.onCommitFiberUnmount=="function")try{$n.onCommitFiberUnmount(qo,o)}catch{}switch(o.tag){case 5:Mt||ri(o,s);case 6:var l=St,d=jn;St=null,Wr(r,s,o),St=l,jn=d,St!==null&&(jn?(r=St,o=o.stateNode,r.nodeType===8?r.parentNode.removeChild(o):r.removeChild(o)):St.removeChild(o.stateNode));break;case 18:St!==null&&(jn?(r=St,o=o.stateNode,r.nodeType===8?Hu(r.parentNode,o):r.nodeType===1&&Hu(r,o),Yi(r)):Hu(St,o.stateNode));break;case 4:l=St,d=jn,St=o.stateNode.containerInfo,jn=!0,Wr(r,s,o),St=l,jn=d;break;case 0:case 11:case 14:case 15:if(!Mt&&(l=o.updateQueue,l!==null&&(l=l.lastEffect,l!==null))){d=l=l.next;do{var p=d,y=p.destroy;p=p.tag,y!==void 0&&((p&2)!==0||(p&4)!==0)&&Dc(o,s,y),d=d.next}while(d!==l)}Wr(r,s,o);break;case 1:if(!Mt&&(ri(o,s),l=o.stateNode,typeof l.componentWillUnmount=="function"))try{l.props=o.memoizedProps,l.state=o.memoizedState,l.componentWillUnmount()}catch(S){ut(o,s,S)}Wr(r,s,o);break;case 21:Wr(r,s,o);break;case 22:o.mode&1?(Mt=(l=Mt)||o.memoizedState!==null,Wr(r,s,o),Mt=l):Wr(r,s,o);break;default:Wr(r,s,o)}}function Op(r){var s=r.updateQueue;if(s!==null){r.updateQueue=null;var o=r.stateNode;o===null&&(o=r.stateNode=new Tx),s.forEach(function(l){var d=Vx.bind(null,r,l);o.has(l)||(o.add(l),l.then(d,d))})}}function kn(r,s){var o=s.deletions;if(o!==null)for(var l=0;ld&&(d=y),l&=~p}if(l=d,l=ct()-l,l=(120>l?120:480>l?480:1080>l?1080:1920>l?1920:3e3>l?3e3:4320>l?4320:1960*Ex(l/1960))-l,10r?16:r,Gr===null)var l=!1;else{if(r=Gr,Gr=null,Va=0,(Pe&6)!==0)throw Error(t(331));var d=Pe;for(Pe|=4,le=r.current;le!==null;){var p=le,y=p.child;if((le.flags&16)!==0){var S=p.deletions;if(S!==null){for(var N=0;Nct()-Bc?Ss(r,0):Ac|=o),Ut(r,s)}function Hp(r,s){s===0&&((r.mode&1)===0?s=1:(s=Xo,Xo<<=1,(Xo&130023424)===0&&(Xo=4194304)));var o=Ft();r=cr(r,s),r!==null&&(zi(r,s,o),Ut(r,o))}function zx(r){var s=r.memoizedState,o=0;s!==null&&(o=s.retryLane),Hp(r,o)}function Vx(r,s){var o=0;switch(r.tag){case 13:var l=r.stateNode,d=r.memoizedState;d!==null&&(o=d.retryLane);break;case 19:l=r.stateNode;break;default:throw Error(t(314))}l!==null&&l.delete(s),Hp(r,o)}var Gp;Gp=function(r,s,o){if(r!==null)if(r.memoizedProps!==s.pendingProps||Bt.current)Rt=!0;else{if((r.lanes&o)===0&&(s.flags&128)===0)return Rt=!1,Cx(r,s,o);Rt=(r.flags&131072)!==0}else Rt=!1,st&&(s.flags&1048576)!==0&&jh(s,wa,s.index);switch(s.lanes=0,s.tag){case 2:var l=s.type;Ea(r,s),r=s.pendingProps;var d=Qs(s,jt.current);ei(s,o),d=fc(null,s,l,r,d,o);var p=hc();return s.flags|=1,typeof d=="object"&&d!==null&&typeof d.render=="function"&&d.$$typeof===void 0?(s.tag=1,s.memoizedState=null,s.updateQueue=null,Et(l)?(p=!0,va(s)):p=!1,s.memoizedState=d.state!==null&&d.state!==void 0?d.state:null,ic(s),d.updater=Aa,s.stateNode=d,d._reactInternals=s,xc(s,l,r,o),s=_c(null,s,l,!0,p,o)):(s.tag=0,st&&p&&Ku(s),Ct(null,s,d,o),s=s.child),s;case 16:l=s.elementType;e:{switch(Ea(r,s),r=s.pendingProps,d=l._init,l=d(l._payload),s.type=l,d=s.tag=Hx(l),r=Nn(l,r),d){case 0:s=Sc(null,s,l,r,o);break e;case 1:s=vp(null,s,l,r,o);break e;case 11:s=hp(null,s,l,r,o);break e;case 14:s=pp(null,s,l,Nn(l.type,r),o);break e}throw Error(t(306,l,""))}return s;case 0:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),Sc(r,s,l,d,o);case 1:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),vp(r,s,l,d,o);case 3:e:{if(xp(s),r===null)throw Error(t(387));l=s.pendingProps,p=s.memoizedState,d=p.element,Ah(r,s),Ia(s,l,null,o);var y=s.memoizedState;if(l=y.element,p.isDehydrated)if(p={element:l,isDehydrated:!1,cache:y.cache,pendingSuspenseBoundaries:y.pendingSuspenseBoundaries,transitions:y.transitions},s.updateQueue.baseState=p,s.memoizedState=p,s.flags&256){d=ni(Error(t(423)),s),s=bp(r,s,l,o,d);break e}else if(l!==d){d=ni(Error(t(424)),s),s=bp(r,s,l,o,d);break e}else for(Kt=Lr(s.stateNode.containerInfo.firstChild),Qt=s,st=!0,_n=null,o=Oh(s,null,l,o),s.child=o;o;)o.flags=o.flags&-3|4096,o=o.sibling;else{if(qs(),l===d){s=fr(r,s,o);break e}Ct(r,s,l,o)}s=s.child}return s;case 5:return Rh(s),r===null&&Zu(s),l=s.type,d=s.pendingProps,p=r!==null?r.memoizedProps:null,y=d.children,Vu(l,d)?y=null:p!==null&&Vu(l,p)&&(s.flags|=32),gp(r,s),Ct(r,s,y,o),s.child;case 6:return r===null&&Zu(s),null;case 13:return wp(r,s,o);case 4:return oc(s,s.stateNode.containerInfo),l=s.pendingProps,r===null?s.child=Zs(s,null,l,o):Ct(r,s,l,o),s.child;case 11:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),hp(r,s,l,d,o);case 7:return Ct(r,s,s.pendingProps,o),s.child;case 8:return Ct(r,s,s.pendingProps.children,o),s.child;case 12:return Ct(r,s,s.pendingProps.children,o),s.child;case 10:e:{if(l=s.type._context,d=s.pendingProps,p=s.memoizedProps,y=d.value,qe(Na,l._currentValue),l._currentValue=y,p!==null)if(Sn(p.value,y)){if(p.children===d.children&&!Bt.current){s=fr(r,s,o);break e}}else for(p=s.child,p!==null&&(p.return=s);p!==null;){var S=p.dependencies;if(S!==null){y=p.child;for(var N=S.firstContext;N!==null;){if(N.context===l){if(p.tag===1){N=dr(-1,o&-o),N.tag=2;var P=p.updateQueue;if(P!==null){P=P.shared;var J=P.pending;J===null?N.next=N:(N.next=J.next,J.next=N),P.pending=N}}p.lanes|=o,N=p.alternate,N!==null&&(N.lanes|=o),rc(p.return,o,s),S.lanes|=o;break}N=N.next}}else if(p.tag===10)y=p.type===s.type?null:p.child;else if(p.tag===18){if(y=p.return,y===null)throw Error(t(341));y.lanes|=o,S=y.alternate,S!==null&&(S.lanes|=o),rc(y,o,s),y=p.sibling}else y=p.child;if(y!==null)y.return=p;else for(y=p;y!==null;){if(y===s){y=null;break}if(p=y.sibling,p!==null){p.return=y.return,y=p;break}y=y.return}p=y}Ct(r,s,d.children,o),s=s.child}return s;case 9:return d=s.type,l=s.pendingProps.children,ei(s,o),d=sn(d),l=l(d),s.flags|=1,Ct(r,s,l,o),s.child;case 14:return l=s.type,d=Nn(l,s.pendingProps),d=Nn(l.type,d),pp(r,s,l,d,o);case 15:return mp(r,s,s.type,s.pendingProps,o);case 17:return l=s.type,d=s.pendingProps,d=s.elementType===l?d:Nn(l,d),Ea(r,s),s.tag=1,Et(l)?(r=!0,va(s)):r=!1,ei(s,o),op(s,l,d),xc(s,l,d,o),_c(null,s,l,!0,r,o);case 19:return _p(r,s,o);case 22:return yp(r,s,o)}throw Error(t(156,s.tag))};function Yp(r,s){return kf(r,s)}function Wx(r,s,o,l){this.tag=r,this.key=o,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=l,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ln(r,s,o,l){return new Wx(r,s,o,l)}function Vc(r){return r=r.prototype,!(!r||!r.isReactComponent)}function Hx(r){if(typeof r=="function")return Vc(r)?1:0;if(r!=null){if(r=r.$$typeof,r===ee)return 11;if(r===ae)return 14}return 2}function Kr(r,s){var o=r.alternate;return o===null?(o=ln(r.tag,s,r.key,r.mode),o.elementType=r.elementType,o.type=r.type,o.stateNode=r.stateNode,o.alternate=r,r.alternate=o):(o.pendingProps=s,o.type=r.type,o.flags=0,o.subtreeFlags=0,o.deletions=null),o.flags=r.flags&14680064,o.childLanes=r.childLanes,o.lanes=r.lanes,o.child=r.child,o.memoizedProps=r.memoizedProps,o.memoizedState=r.memoizedState,o.updateQueue=r.updateQueue,s=r.dependencies,o.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},o.sibling=r.sibling,o.index=r.index,o.ref=r.ref,o}function Ya(r,s,o,l,d,p){var y=2;if(l=r,typeof r=="function")Vc(r)&&(y=1);else if(typeof r=="string")y=5;else e:switch(r){case U:return Ns(o.children,d,p,s);case G:y=8,d|=8;break;case V:return r=ln(12,o,s,d|2),r.elementType=V,r.lanes=p,r;case X:return r=ln(13,o,s,d),r.elementType=X,r.lanes=p,r;case ie:return r=ln(19,o,s,d),r.elementType=ie,r.lanes=p,r;case se:return Qa(o,d,p,s);default:if(typeof r=="object"&&r!==null)switch(r.$$typeof){case Q:y=10;break e;case z:y=9;break e;case ee:y=11;break e;case ae:y=14;break e;case re:y=16,l=null;break e}throw Error(t(130,r==null?r:typeof r,""))}return s=ln(y,o,s,d),s.elementType=r,s.type=l,s.lanes=p,s}function Ns(r,s,o,l){return r=ln(7,r,l,s),r.lanes=o,r}function Qa(r,s,o,l){return r=ln(22,r,l,s),r.elementType=se,r.lanes=o,r.stateNode={isHidden:!1},r}function Wc(r,s,o){return r=ln(6,r,null,s),r.lanes=o,r}function Hc(r,s,o){return s=ln(4,r.children!==null?r.children:[],r.key,s),s.lanes=o,s.stateNode={containerInfo:r.containerInfo,pendingChildren:null,implementation:r.implementation},s}function Gx(r,s,o,l,d){this.tag=s,this.containerInfo=r,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=vu(0),this.expirationTimes=vu(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=vu(0),this.identifierPrefix=l,this.onRecoverableError=d,this.mutableSourceEagerHydrationData=null}function Gc(r,s,o,l,d,p,y,S,N){return r=new Gx(r,s,o,S,N),s===1?(s=1,p===!0&&(s|=8)):s=0,p=ln(3,null,null,s),r.current=p,p.stateNode=r,p.memoizedState={element:l,isDehydrated:o,cache:null,transitions:null,pendingSuspenseBoundaries:null},ic(p),r}function Yx(r,s,o){var l=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}return n(),Zc.exports=ob(),Zc.exports}var am;function lb(){if(am)return tl;am=1;var n=ab();return tl.createRoot=n.createRoot,tl.hydrateRoot=n.hydrateRoot,tl}var ub=lb();function Sr(n){return n.split(".").at(-1)||n}function Fn(n,e){const t=Sr(n);if(e.filter(a=>Sr(a)===t).length<2)return t;const i=n.indexOf(".");return i>0?`${n.slice(0,i)}_${t}`:t}const er="\0__null__";function cb(n){return String(n||"").replaceAll("_"," ").replaceAll("."," ").replace(/\b\w/g,e=>e.toUpperCase()).trim()}function py(n,e={}){if(n==null||n==="")return"—";const t=typeof n=="number"?n:Number(n);if(!Number.isFinite(t))return String(n);const i=String(e.format||"").toLowerCase();if(e.style==="percent"||i.includes("%")||i.includes("percent")||i.includes("pct")||e.type==="ratio")return(e.style==="percent"?t:Math.abs(t)<=1?t*100:t).toLocaleString(void 0,{maximumFractionDigits:e.maximumFractionDigits??1,style:e.style==="percent"?"percent":"decimal"})+(e.style==="percent"?"":"%");const u=e.style==="currency"||e.currency||i.includes("$")||i.includes("usd")||i.includes("currency")||i.includes("dollar");return t.toLocaleString(void 0,{currency:u?e.currency||"USD":void 0,maximumFractionDigits:e.maximumFractionDigits??2,notation:e.compact?"compact":"standard",style:u?"currency":"decimal"})}function db(n,e={}){return py(n,{...e,compact:!0,maximumFractionDigits:e.maximumFractionDigits??1})}function fb(n,e,t){const i=t>0&&n.length>t,a=i?Math.ceil(n.length/t):1,u=Math.max(0,Math.min(e,a-1)),f=i?u*t:0;return{paginate:i,pageCount:a,safePage:u,start:f,visibleRows:i?n.slice(f,f+t):n}}function rs(n){return n===er||n===""?"—":n}function Le(n){return cb(n)}function pt(n,e={}){return py(n,e)}function Wt(n,e={}){return db(n,e)}function my(n){return!Number.isFinite(n)||n===0?"neutral":n>0?"positive":"negative"}function hb(n,e){return!Number.isFinite(n)||!Number.isFinite(e)||e<=0?{label:"—",tone:"neutral"}:{label:`${(n/e*100).toLocaleString(void 0,{maximumFractionDigits:1})}%`,tone:"neutral"}}function pb(n,e,t={}){if(e==null||!Number.isFinite(e)||!Number.isFinite(n))return{label:"—",tone:"neutral"};const i=n-e;return{label:`${i>0?"+":i<0?"−":""}${Wt(Math.abs(i),t)}`,tone:my(i)}}function mb(n,e){if(e==null||!Number.isFinite(e)||e===0||!Number.isFinite(n))return{label:"—",tone:"neutral"};const t=(n-e)/Math.abs(e);return{label:`${(t*100).toLocaleString(void 0,{maximumFractionDigits:1,signDisplay:"exceptZero"})}%`,tone:my(t)}}function yy(n,e){if(e==null||!Number.isFinite(e)||e===0||!Number.isFinite(n))return null;const t=(n-e)/Math.abs(e),i=(t*100).toLocaleString(void 0,{maximumFractionDigits:1,signDisplay:"exceptZero"}),a=t>0?"positive":t<0?"negative":"neutral";return{label:`${i}%`,tone:a}}function Tn(n){return`'${n.replaceAll("'","''")}'`}function yb(n){if(n.mode==="contains")return`contains ${Tn(n.pattern??"")}`;const{values:e}=n,t=n.mode==="exclude"?"is not":"is";return e.length===0?t:e.length===1?`${t} ${rs(e[0])}`:e.length<=2?`${t} ${e.map(rs).join(", ")}`:`${t} ${e.length} values`}const td=n=>n.public!==!1,gy=/(^|_)(date|time|day|month|week|year|quarter|created|updated|timestamp|_at|_on)($|_)/i;function vy(n,e){if(e){const t=n.find(i=>i.name===e);if(t)return t}return n.find(t=>t.type==="time")??n.find(t=>gy.test(t.name))}function gb(n,e){var f;const t=new Set;if(!n)return t;const i=new Set(e.map(h=>h.name)),a=n.match(/[A-Za-z_][A-Za-z0-9_]*\.[A-Za-z_][A-Za-z0-9_]*/g)??[];for(const h of a){const[m]=h.split(".");i.has(m)&&t.add(m)}if(t.size)return t;const u=(f=n.match(/^[A-Za-z_][A-Za-z0-9_]*$/))==null?void 0:f[0];if(!u)return t;for(const h of e)h.metrics.some(m=>m.name===u)&&t.add(h.name);return t}function xy(n,e){const t=new Set;for(const i of[n.base_metric,n.numerator,n.denominator,n.sql])for(const a of gb(i,e))t.add(a);return t.size===1?[...t][0]:void 0}function vb(n){const e=(n.models??[]).map(i=>{const a=(i.dimensions??[]).filter(td).map(h=>({ref:`${i.name}.${h.name}`,name:h.name,model:i.name,label:h.label||Le(h.name),description:h.description,type:h.type||"categorical",granularity:h.granularity,supportedGranularities:h.supported_granularities,format:h.format})),u=(i.metrics??[]).filter(td).map(h=>({ref:`${i.name}.${h.name}`,name:h.name,model:i.name,label:h.label||Le(h.name),description:h.description,agg:h.agg,type:h.type,format:h.format})),f=vy(a,i.default_time_dimension);return{name:i.name,label:Le(i.name),description:i.description,table:i.table,dimensions:a,metrics:u,timeDimension:f,defaultGrain:i.default_grain||(f==null?void 0:f.granularity)||"day"}}),t=(n.metrics??[]).filter(td).map(i=>({ref:i.name,name:i.name,ownerModel:xy(i,e),baseMetric:i.base_metric,label:i.label||Le(i.name),description:i.description,type:i.type,format:i.format}));return{models:e,graphMetrics:t,dialect:n.dialect}}function xb(n){const e=n??{},t=(e.models??[]).map(a=>{const u=(a.dimensions??[]).map(m=>({ref:`${a.name}.${m}`,name:m,model:a.name,label:Le(m),type:gy.test(m)?"time":"categorical"})),f=(a.metrics??[]).map(m=>({ref:`${a.name}.${m}`,name:m,model:a.name,label:Le(m)})),h=vy(u);return{name:a.name,label:Le(a.name),table:a.table,dimensions:u,metrics:f,timeDimension:h,defaultGrain:(h==null?void 0:h.granularity)||"day"}}),i=(e.graph_metrics??[]).map(a=>({ref:a.name,name:a.name,ownerModel:xy(a,t),baseMetric:a.base_metric,label:Le(a.name),type:a.type,description:a.description}));return{models:t,graphMetrics:i,joinablePairs:e.joinable_pairs??[]}}function bb(n,e){return{...n,joinablePairs:(e??{}).joinable_pairs??n.joinablePairs??[]}}function ji(n,e){const t=new Set;for(const i of n.joinablePairs??[])i.from===e&&t.add(i.to),i.to===e&&t.add(i.from);return n.graphMetrics.filter(i=>i.ownerModel?i.ownerModel===e||t.has(i.ownerModel):!0)}function Fe(n,e,t,i){function a(u){return u instanceof t?u:new t(function(f){f(u)})}return new(t||(t=Promise))(function(u,f){function h(v){try{g(i.next(v))}catch(x){f(x)}}function m(v){try{g(i.throw(v))}catch(x){f(x)}}function g(v){v.done?u(v.value):a(v.value).then(h,m)}g((i=i.apply(n,e||[])).next())})}function lm(n){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&n[e],i=0;if(t)return t.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Ae(n){return this instanceof Ae?(this.v=n,this):new Ae(n)}function qn(n,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(n,e||[]),a,u=[];return a=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),h("next"),h("throw"),h("return",f),a[Symbol.asyncIterator]=function(){return this},a;function f(w){return function(j){return Promise.resolve(j).then(w,x)}}function h(w,j){i[w]&&(a[w]=function(C){return new Promise(function(O,H){u.push([w,C,O,H])>1||m(w,C)})},j&&(a[w]=j(a[w])))}function m(w,j){try{g(i[w](j))}catch(C){b(u[0][3],C)}}function g(w){w.value instanceof Ae?Promise.resolve(w.value.v).then(v,x):b(u[0][2],w)}function v(w){m("next",w)}function x(w){m("throw",w)}function b(w,j){w(j),u.shift(),u.length&&m(u[0][0],u[0][1])}}function fl(n){var e,t;return e={},i("next"),i("throw",function(a){throw a}),i("return"),e[Symbol.iterator]=function(){return this},e;function i(a,u){e[a]=n[a]?function(f){return(t=!t)?{value:Ae(n[a](f)),done:!1}:u?u(f):f}:u}}function xi(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=n[Symbol.asyncIterator],t;return e?e.call(n):(n=typeof lm=="function"?lm(n):n[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(u){t[u]=n[u]&&function(f){return new Promise(function(h,m){f=n[u](f),a(h,m,f.done,f.value)})}}function a(u,f,h,m){Promise.resolve(m).then(function(g){u({value:g,done:h})},f)}}const wb=new TextDecoder("utf-8"),xd=n=>wb.decode(n),Sb=new TextEncoder,Bd=n=>Sb.encode(n),_b=n=>typeof n=="number",Nb=n=>typeof n=="boolean",Ot=n=>typeof n=="function",En=n=>n!=null&&Object(n)===n,Ao=n=>En(n)&&Ot(n.then),nu=n=>En(n)&&Ot(n[Symbol.iterator]),Ed=n=>En(n)&&Ot(n[Symbol.asyncIterator]),bd=n=>En(n)&&En(n.schema),by=n=>En(n)&&"done"in n&&"value"in n,wy=n=>En(n)&&Ot(n.stat)&&_b(n.fd),Sy=n=>En(n)&&Rd(n.body),_y=n=>"_getDOMStream"in n&&"_getNodeStream"in n,Rd=n=>En(n)&&Ot(n.cancel)&&Ot(n.getReader)&&!_y(n),Ny=n=>En(n)&&Ot(n.read)&&Ot(n.pipe)&&Nb(n.readable)&&!_y(n),jb=n=>En(n)&&Ot(n.clear)&&Ot(n.bytes)&&Ot(n.position)&&Ot(n.setPosition)&&Ot(n.capacity)&&Ot(n.getBufferIdentifier)&&Ot(n.createLong),Ld=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;function kb(n){const e=n[0]?[n[0]]:[];let t,i,a,u;for(let f,h,m=0,g=0,v=n.length;++mv+x.byteLength,0);let a,u,f,h=0,m=-1;const g=Math.min(e||Number.POSITIVE_INFINITY,i);for(const v=t.length;++mKe(Int32Array,n),cm=n=>Ke(BigInt64Array,n),$e=n=>Ke(Uint8Array,n),wd=n=>(n.next(),n);function*Ib(n,e){const t=function*(a){yield a},i=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof Ld?t(e):nu(e)?e:t(e);return yield*wd((function*(a){let u=null;do u=a.next(yield Ke(n,u));while(!u.done)})(i[Symbol.iterator]())),new n}const Mb=n=>Ib(Uint8Array,n);function jy(n,e){return qn(this,arguments,function*(){if(Ao(e))return yield Ae(yield Ae(yield*fl(xi(jy(n,yield Ae(e))))));const i=function(f){return qn(this,arguments,function*(){yield yield Ae(yield Ae(f))})},a=function(f){return qn(this,arguments,function*(){yield Ae(yield*fl(xi(wd((function*(h){let m=null;do m=h.next(yield m==null?void 0:m.value);while(!m.done)})(f[Symbol.iterator]())))))})},u=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof Ld?i(e):nu(e)?a(e):Ed(e)?e:i(e);return yield Ae(yield*fl(xi(wd((function(f){return qn(this,arguments,function*(){let h=null;do h=yield Ae(f.next(yield yield Ae(Ke(n,h))));while(!h.done)})})(u[Symbol.asyncIterator]()))))),yield Ae(new n)})}const Db=n=>jy(Uint8Array,n);function Cb(n,e){let t=0;const i=n.length;if(i!==e.length)return!1;if(i>0)do if(n[t]!==e[t])return!1;while(++t(n.next(),n);function*Fb(n){let e,t=!1,i=[],a,u,f,h=0;function m(){return u==="peek"?tr(i,f)[0]:([a,i,h]=tr(i,f),a)}({cmd:u,size:f}=(yield null)||{cmd:"read",size:0});const g=Mb(n)[Symbol.iterator]();try{do if({done:e,value:a}=Number.isNaN(f-h)?g.next():g.next(f-h),!e&&a.byteLength>0&&(i.push(a),h+=a.byteLength),e||f<=h)do({cmd:u,size:f}=yield m());while(f0&&(a.push(u),m+=u.byteLength),t||h<=m)do({cmd:f,size:h}=yield yield Ae(g()));while(h0&&(a.push($e(u)),m+=u.byteLength),t||h<=m)do({cmd:f,size:h}=yield yield Ae(g()));while(h{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(e){return Fe(this,void 0,void 0,function*(){const{reader:t,source:i}=this;t&&(yield t.cancel(e).catch(()=>{})),i&&i.locked&&this.releaseLock()})}read(e){return Fe(this,void 0,void 0,function*(){if(e===0)return{done:this.reader==null,value:new Uint8Array(0)};const t=yield this.reader.read();return!t.done&&(t.value=$e(t)),t})}}const nd=(n,e)=>{const t=a=>i([e,a]);let i;return[e,t,new Promise(a=>(i=a)&&n.once(e,t))]};function Bb(n){return qn(this,arguments,function*(){const t=[];let i="error",a=!1,u=null,f,h,m=0,g=[],v;function x(){return f==="peek"?tr(g,h)[0]:([v,g,m]=tr(g,h),v)}if({cmd:f,size:h}=(yield yield Ae(null))||{cmd:"read",size:0},n.isTTY)return yield yield Ae(new Uint8Array(0)),yield Ae(null);try{t[0]=nd(n,"end"),t[1]=nd(n,"error");do{if(t[2]=nd(n,"readable"),[i,u]=yield Ae(Promise.race(t.map(w=>w[2]))),i==="error")break;if((a=i==="end")||(Number.isFinite(h-m)?(v=$e(n.read(h-m)),v.byteLength0&&(g.push(v),m+=v.byteLength)),a||h<=m)do({cmd:f,size:h}=yield yield Ae(x()));while(h{for(const[H,L]of w)n.off(H,L);try{const H=n.destroy;H&&H.call(n,j),j=void 0}catch(H){j=H||j}finally{j!=null?O(j):C()}})}})}var ht;(function(n){n[n.V1=0]="V1",n[n.V2=1]="V2",n[n.V3=2]="V3",n[n.V4=3]="V4",n[n.V5=4]="V5"})(ht||(ht={}));var Ht;(function(n){n[n.Sparse=0]="Sparse",n[n.Dense=1]="Dense"})(Ht||(Ht={}));var Dt;(function(n){n[n.HALF=0]="HALF",n[n.SINGLE=1]="SINGLE",n[n.DOUBLE=2]="DOUBLE"})(Dt||(Dt={}));var gn;(function(n){n[n.DAY=0]="DAY",n[n.MILLISECOND=1]="MILLISECOND"})(gn||(gn={}));var _e;(function(n){n[n.SECOND=0]="SECOND",n[n.MILLISECOND=1]="MILLISECOND",n[n.MICROSECOND=2]="MICROSECOND",n[n.NANOSECOND=3]="NANOSECOND"})(_e||(_e={}));var nr;(function(n){n[n.YEAR_MONTH=0]="YEAR_MONTH",n[n.DAY_TIME=1]="DAY_TIME",n[n.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(nr||(nr={}));const rd=2,Qn=4,br=4,He=4,es=new Int32Array(2),dm=new Float32Array(es.buffer),fm=new Float64Array(es.buffer),rl=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var Sd;(function(n){n[n.UTF8_BYTES=1]="UTF8_BYTES",n[n.UTF16_STRING=2]="UTF16_STRING"})(Sd||(Sd={}));let ki=class ky{constructor(e){this.bytes_=e,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(e){return new ky(new Uint8Array(e))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(e){this.position_=e}capacity(){return this.bytes_.length}readInt8(e){return this.readUint8(e)<<24>>24}readUint8(e){return this.bytes_[e]}readInt16(e){return this.readUint16(e)<<16>>16}readUint16(e){return this.bytes_[e]|this.bytes_[e+1]<<8}readInt32(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24}readUint32(e){return this.readInt32(e)>>>0}readInt64(e){return BigInt.asIntN(64,BigInt(this.readUint32(e))+(BigInt(this.readUint32(e+4))<>8}writeUint16(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8}writeInt32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeUint32(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24}writeInt64(e,t){this.writeInt32(e,Number(BigInt.asIntN(32,t))),this.writeInt32(e+4,Number(BigInt.asIntN(32,t>>BigInt(32))))}writeUint64(e,t){this.writeUint32(e,Number(BigInt.asUintN(32,t))),this.writeUint32(e+4,Number(BigInt.asUintN(32,t>>BigInt(32))))}writeFloat32(e,t){dm[0]=t,this.writeInt32(e,es[0])}writeFloat64(e,t){fm[0]=t,this.writeInt32(e,es[rl?0:1]),this.writeInt32(e+4,es[rl?1:0])}getBufferIdentifier(){if(this.bytes_.lengththis.minalign&&(this.minalign=e);const i=~(this.bb.capacity()-this.space+t)+1&e-1;for(;this.space=0&&this.vtable[t]==0;t--);const i=t+1;for(;t>=0;t--)this.addInt16(this.vtable[t]!=0?e-this.vtable[t]:0);const a=2;this.addInt16(e-this.object_start);const u=(i+a)*rd;this.addInt16(u);let f=0;const h=this.space;e:for(t=0;t=0;f--)this.writeInt8(u.charCodeAt(f))}this.prep(this.minalign,Qn+a),this.addOffset(e),a&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,t){this.finish(e,t,!0)}requiredField(e,t){const i=this.bb.capacity()-e,a=i-this.bb.readInt32(i);if(!(t=0;i--)e.addInt32(t[i]);return e.endVector()}static startTypeIdsVector(e,t){e.startVector(4,t,4)}static endUnion(e){return e.endObject()}static createUnion(e,t,i){return Vt.startUnion(e),Vt.addMode(e,t),Vt.addTypeIds(e,i),Vt.endUnion(e)}}let xm=class Fo{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsUtf8(e,t){return(t||new Fo).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsUtf8(e,t){return e.setPosition(e.position()+He),(t||new Fo).__init(e.readInt32(e.position())+e.position(),e)}static startUtf8(e){e.startObject(0)}static endUtf8(e){return e.endObject()}static createUtf8(e){return Fo.startUtf8(e),Fo.endUtf8(e)}};var Ze;(function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.FloatingPoint=3]="FloatingPoint",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct_=13]="Struct_",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Duration=18]="Duration",n[n.LargeBinary=19]="LargeBinary",n[n.LargeUtf8=20]="LargeUtf8",n[n.LargeList=21]="LargeList",n[n.RunEndEncoded=22]="RunEndEncoded"})(Ze||(Ze={}));let dn=class vl{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsField(e,t){return(t||new vl).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsField(e,t){return e.setPosition(e.position()+He),(t||new vl).__init(e.readInt32(e.position())+e.position(),e)}name(e){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.__string(this.bb_pos+t,e):null}nullable(){const e=this.bb.__offset(this.bb_pos,6);return e?!!this.bb.readInt8(this.bb_pos+e):!1}typeType(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb_pos+e):Ze.NONE}type(e){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__union(e,this.bb_pos+t):null}dictionary(e){const t=this.bb.__offset(this.bb_pos,12);return t?(e||new wr).__init(this.bb.__indirect(this.bb_pos+t),this.bb):null}children(e,t){const i=this.bb.__offset(this.bb_pos,14);return i?(t||new vl).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}childrenLength(){const e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,16);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}static startField(e){e.startObject(7)}static addName(e,t){e.addFieldOffset(0,t,0)}static addNullable(e,t){e.addFieldInt8(1,+t,0)}static addTypeType(e,t){e.addFieldInt8(2,t,Ze.NONE)}static addType(e,t){e.addFieldOffset(3,t,0)}static addDictionary(e,t){e.addFieldOffset(4,t,0)}static addChildren(e,t){e.addFieldOffset(5,t,0)}static createChildrenVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startChildrenVector(e,t){e.startVector(4,t,4)}static addCustomMetadata(e,t){e.addFieldOffset(6,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endField(e){return e.endObject()}},Gn=class mr{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsSchema(e,t){return(t||new mr).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsSchema(e,t){return e.setPosition(e.position()+He),(t||new mr).__init(e.readInt32(e.position())+e.position(),e)}endianness(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Ii.Little}fields(e,t){const i=this.bb.__offset(this.bb_pos,6);return i?(t||new dn).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}fieldsLength(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,8);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}features(e){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt64(this.bb.__vector(this.bb_pos+t)+e*8):BigInt(0)}featuresLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}static startSchema(e){e.startObject(4)}static addEndianness(e,t){e.addFieldInt16(0,t,Ii.Little)}static addFields(e,t){e.addFieldOffset(1,t,0)}static createFieldsVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startFieldsVector(e,t){e.startVector(4,t,4)}static addCustomMetadata(e,t){e.addFieldOffset(2,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static addFeatures(e,t){e.addFieldOffset(3,t,0)}static createFeaturesVector(e,t){e.startVector(8,t.length,8);for(let i=t.length-1;i>=0;i--)e.addInt64(t[i]);return e.endVector()}static startFeaturesVector(e,t){e.startVector(8,t,8)}static endSchema(e){return e.endObject()}static finishSchemaBuffer(e,t){e.finish(t)}static finishSizePrefixedSchemaBuffer(e,t){e.finish(t,void 0,!0)}static createSchema(e,t,i,a,u){return mr.startSchema(e),mr.addEndianness(e,t),mr.addFields(e,i),mr.addCustomMetadata(e,a),mr.addFeatures(e,u),mr.endSchema(e)}};var Ve;(function(n){n[n.NONE=0]="NONE",n[n.Schema=1]="Schema",n[n.DictionaryBatch=2]="DictionaryBatch",n[n.RecordBatch=3]="RecordBatch",n[n.Tensor=4]="Tensor",n[n.SparseTensor=5]="SparseTensor"})(Ve||(Ve={}));var M;(function(n){n[n.NONE=0]="NONE",n[n.Null=1]="Null",n[n.Int=2]="Int",n[n.Float=3]="Float",n[n.Binary=4]="Binary",n[n.Utf8=5]="Utf8",n[n.Bool=6]="Bool",n[n.Decimal=7]="Decimal",n[n.Date=8]="Date",n[n.Time=9]="Time",n[n.Timestamp=10]="Timestamp",n[n.Interval=11]="Interval",n[n.List=12]="List",n[n.Struct=13]="Struct",n[n.Union=14]="Union",n[n.FixedSizeBinary=15]="FixedSizeBinary",n[n.FixedSizeList=16]="FixedSizeList",n[n.Map=17]="Map",n[n.Duration=18]="Duration",n[n.LargeBinary=19]="LargeBinary",n[n.LargeUtf8=20]="LargeUtf8",n[n.Dictionary=-1]="Dictionary",n[n.Int8=-2]="Int8",n[n.Int16=-3]="Int16",n[n.Int32=-4]="Int32",n[n.Int64=-5]="Int64",n[n.Uint8=-6]="Uint8",n[n.Uint16=-7]="Uint16",n[n.Uint32=-8]="Uint32",n[n.Uint64=-9]="Uint64",n[n.Float16=-10]="Float16",n[n.Float32=-11]="Float32",n[n.Float64=-12]="Float64",n[n.DateDay=-13]="DateDay",n[n.DateMillisecond=-14]="DateMillisecond",n[n.TimestampSecond=-15]="TimestampSecond",n[n.TimestampMillisecond=-16]="TimestampMillisecond",n[n.TimestampMicrosecond=-17]="TimestampMicrosecond",n[n.TimestampNanosecond=-18]="TimestampNanosecond",n[n.TimeSecond=-19]="TimeSecond",n[n.TimeMillisecond=-20]="TimeMillisecond",n[n.TimeMicrosecond=-21]="TimeMicrosecond",n[n.TimeNanosecond=-22]="TimeNanosecond",n[n.DenseUnion=-23]="DenseUnion",n[n.SparseUnion=-24]="SparseUnion",n[n.IntervalDayTime=-25]="IntervalDayTime",n[n.IntervalYearMonth=-26]="IntervalYearMonth",n[n.DurationSecond=-27]="DurationSecond",n[n.DurationMillisecond=-28]="DurationMillisecond",n[n.DurationMicrosecond=-29]="DurationMicrosecond",n[n.DurationNanosecond=-30]="DurationNanosecond"})(M||(M={}));var gr;(function(n){n[n.OFFSET=0]="OFFSET",n[n.DATA=1]="DATA",n[n.VALIDITY=2]="VALIDITY",n[n.TYPE=3]="TYPE"})(gr||(gr={}));const Eb=void 0;function Bo(n){if(n===null)return"null";if(n===Eb)return"undefined";switch(typeof n){case"number":return`${n}`;case"bigint":return`${n}`;case"string":return`"${n}"`}return typeof n[Symbol.toPrimitive]=="function"?n[Symbol.toPrimitive]("string"):ArrayBuffer.isView(n)?n instanceof BigInt64Array||n instanceof BigUint64Array?`[${[...n].map(e=>Bo(e))}]`:`[${n}]`:ArrayBuffer.isView(n)?`[${n}]`:JSON.stringify(n,(e,t)=>typeof t=="bigint"?`${t}`:t)}function tt(n){if(typeof n=="bigint"&&(nNumber.MAX_SAFE_INTEGER))throw new TypeError(`${n} is not safe to convert to a number.`);return Number(n)}function Fy(n,e){return tt(n/e)+tt(n%e)/tt(e)}const Rb=Symbol.for("isArrowBigNum");function Ln(n,...e){return e.length===0?Object.setPrototypeOf(Ke(this.TypedArray,n),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(n,...e),this.constructor.prototype)}Ln.prototype[Rb]=!0;Ln.prototype.toJSON=function(){return`"${Ro(this)}"`};Ln.prototype.valueOf=function(n){return Oy(this,n)};Ln.prototype.toString=function(){return Ro(this)};Ln.prototype[Symbol.toPrimitive]=function(n="default"){switch(n){case"number":return Oy(this);case"string":return Ro(this);case"default":return $b(this)}return Ro(this)};function bi(...n){return Ln.apply(this,n)}function wi(...n){return Ln.apply(this,n)}function Eo(...n){return Ln.apply(this,n)}Object.setPrototypeOf(bi.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(wi.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Eo.prototype,Object.create(Uint32Array.prototype));Object.assign(bi.prototype,Ln.prototype,{constructor:bi,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array});Object.assign(wi.prototype,Ln.prototype,{constructor:wi,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array});Object.assign(Eo.prototype,Ln.prototype,{constructor:Eo,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});const Lb=BigInt(4294967296)*BigInt(4294967296),Ub=Lb-BigInt(1);function Oy(n,e){const{buffer:t,byteOffset:i,byteLength:a,signed:u}=n,f=new BigUint64Array(t,i,a/8),h=u&&f.at(-1)&BigInt(1)<=0)return sd(n);e=e.slice();let i=1;for(let u=0;u(n.children=null,n.ArrayType=Array,n.OffsetArrayType=Int32Array,n[Symbol.toStringTag]="DataType"))(me.prototype);class ss extends me{constructor(){super(M.Null)}toString(){return"Null"}}Ay=Symbol.toStringTag;ss[Ay]=(n=>n[Symbol.toStringTag]="Null")(ss.prototype);class Ds extends me{constructor(e,t){super(M.Int),this.isSigned=e,this.bitWidth=t}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}By=Symbol.toStringTag;Ds[By]=(n=>(n.isSigned=null,n.bitWidth=null,n[Symbol.toStringTag]="Int"))(Ds.prototype);class Lo extends Ds{constructor(){super(!0,32)}get ArrayType(){return Int32Array}}Object.defineProperty(Lo.prototype,"ArrayType",{value:Int32Array});class jl extends me{constructor(e){super(M.Float),this.precision=e}get ArrayType(){switch(this.precision){case Dt.HALF:return Uint16Array;case Dt.SINGLE:return Float32Array;case Dt.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}}Ey=Symbol.toStringTag;jl[Ey]=(n=>(n.precision=null,n[Symbol.toStringTag]="Float"))(jl.prototype);class kl extends me{constructor(){super(M.Binary)}toString(){return"Binary"}}Ry=Symbol.toStringTag;kl[Ry]=(n=>(n.ArrayType=Uint8Array,n[Symbol.toStringTag]="Binary"))(kl.prototype);class Il extends me{constructor(){super(M.LargeBinary)}toString(){return"LargeBinary"}}Ly=Symbol.toStringTag;Il[Ly]=(n=>(n.ArrayType=Uint8Array,n.OffsetArrayType=BigInt64Array,n[Symbol.toStringTag]="LargeBinary"))(Il.prototype);class Ml extends me{constructor(){super(M.Utf8)}toString(){return"Utf8"}}Uy=Symbol.toStringTag;Ml[Uy]=(n=>(n.ArrayType=Uint8Array,n[Symbol.toStringTag]="Utf8"))(Ml.prototype);class Dl extends me{constructor(){super(M.LargeUtf8)}toString(){return"LargeUtf8"}}$y=Symbol.toStringTag;Dl[$y]=(n=>(n.ArrayType=Uint8Array,n.OffsetArrayType=BigInt64Array,n[Symbol.toStringTag]="LargeUtf8"))(Dl.prototype);class Cl extends me{constructor(){super(M.Bool)}toString(){return"Bool"}}Py=Symbol.toStringTag;Cl[Py]=(n=>(n.ArrayType=Uint8Array,n[Symbol.toStringTag]="Bool"))(Cl.prototype);class Fl extends me{constructor(e,t,i=128){super(M.Decimal),this.scale=e,this.precision=t,this.bitWidth=i}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}}zy=Symbol.toStringTag;Fl[zy]=(n=>(n.scale=null,n.precision=null,n.ArrayType=Uint32Array,n[Symbol.toStringTag]="Decimal"))(Fl.prototype);class Ol extends me{constructor(e){super(M.Date),this.unit=e}toString(){return`Date${(this.unit+1)*32}<${gn[this.unit]}>`}get ArrayType(){return this.unit===gn.DAY?Int32Array:BigInt64Array}}Vy=Symbol.toStringTag;Ol[Vy]=(n=>(n.unit=null,n[Symbol.toStringTag]="Date"))(Ol.prototype);class Tl extends me{constructor(e,t){super(M.Time),this.unit=e,this.bitWidth=t}toString(){return`Time${this.bitWidth}<${_e[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}}Wy=Symbol.toStringTag;Tl[Wy]=(n=>(n.unit=null,n.bitWidth=null,n[Symbol.toStringTag]="Time"))(Tl.prototype);class Al extends me{constructor(e,t){super(M.Timestamp),this.unit=e,this.timezone=t}toString(){return`Timestamp<${_e[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}}Hy=Symbol.toStringTag;Al[Hy]=(n=>(n.unit=null,n.timezone=null,n.ArrayType=BigInt64Array,n[Symbol.toStringTag]="Timestamp"))(Al.prototype);class Bl extends me{constructor(e){super(M.Interval),this.unit=e}toString(){return`Interval<${nr[this.unit]}>`}}Gy=Symbol.toStringTag;Bl[Gy]=(n=>(n.unit=null,n.ArrayType=Int32Array,n[Symbol.toStringTag]="Interval"))(Bl.prototype);class El extends me{constructor(e){super(M.Duration),this.unit=e}toString(){return`Duration<${_e[this.unit]}>`}}Yy=Symbol.toStringTag;El[Yy]=(n=>(n.unit=null,n.ArrayType=BigInt64Array,n[Symbol.toStringTag]="Duration"))(El.prototype);class Rl extends me{constructor(e){super(M.List),this.children=[e]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}}Qy=Symbol.toStringTag;Rl[Qy]=(n=>(n.children=null,n[Symbol.toStringTag]="List"))(Rl.prototype);class Tt extends me{constructor(e){super(M.Struct),this.children=e}toString(){return`Struct<{${this.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}Ky=Symbol.toStringTag;Tt[Ky]=(n=>(n.children=null,n[Symbol.toStringTag]="Struct"))(Tt.prototype);class Ll extends me{constructor(e,t,i){super(M.Union),this.mode=e,this.children=i,this.typeIds=t=Int32Array.from(t),this.typeIdToChildIndex=t.reduce((a,u,f)=>(a[u]=f)&&a||a,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(e=>`${e.type}`).join(" | ")}>`}}Jy=Symbol.toStringTag;Ll[Jy]=(n=>(n.mode=null,n.typeIds=null,n.children=null,n.typeIdToChildIndex=null,n.ArrayType=Int8Array,n[Symbol.toStringTag]="Union"))(Ll.prototype);class Ul extends me{constructor(e){super(M.FixedSizeBinary),this.byteWidth=e}toString(){return`FixedSizeBinary[${this.byteWidth}]`}}qy=Symbol.toStringTag;Ul[qy]=(n=>(n.byteWidth=null,n.ArrayType=Uint8Array,n[Symbol.toStringTag]="FixedSizeBinary"))(Ul.prototype);class $l extends me{constructor(e,t){super(M.FixedSizeList),this.listSize=e,this.children=[t]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}Zy=Symbol.toStringTag;$l[Zy]=(n=>(n.children=null,n.listSize=null,n[Symbol.toStringTag]="FixedSizeList"))($l.prototype);class Pl extends me{constructor(e,t=!1){var i,a,u;if(super(M.Map),this.children=[e],this.keysSorted=t,e&&(e.name="entries",!((i=e==null?void 0:e.type)===null||i===void 0)&&i.children)){const f=(a=e==null?void 0:e.type)===null||a===void 0?void 0:a.children[0];f&&(f.name="key");const h=(u=e==null?void 0:e.type)===null||u===void 0?void 0:u.children[1];h&&(h.name="value")}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}}Xy=Symbol.toStringTag;Pl[Xy]=(n=>(n.children=null,n.keysSorted=null,n[Symbol.toStringTag]="Map_"))(Pl.prototype);const Pb=(n=>()=>++n)(-1);class Mi extends me{constructor(e,t,i,a){super(M.Dictionary),this.indices=t,this.dictionary=e,this.isOrdered=a||!1,this.id=i==null?Pb():tt(i)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}}eg=Symbol.toStringTag;Mi[eg]=(n=>(n.id=null,n.indices=null,n.isOrdered=null,n.dictionary=null,n[Symbol.toStringTag]="Dictionary"))(Mi.prototype);function vr(n){const e=n;switch(n.typeId){case M.Decimal:return n.bitWidth/32;case M.Interval:return 1+e.unit;case M.FixedSizeList:return e.listSize;case M.FixedSizeBinary:return e.byteWidth;default:return 1}}class Re{visitMany(e,...t){return e.map((i,a)=>this.visit(i,...t.map(u=>u[a])))}visit(...e){return this.getVisitFn(e[0],!1).apply(this,e)}getVisitFn(e,t=!0){return zb(this,e,t)}getVisitFnByTypeId(e,t=!0){return mi(this,e,t)}visitNull(e,...t){return null}visitBool(e,...t){return null}visitInt(e,...t){return null}visitFloat(e,...t){return null}visitUtf8(e,...t){return null}visitLargeUtf8(e,...t){return null}visitBinary(e,...t){return null}visitLargeBinary(e,...t){return null}visitFixedSizeBinary(e,...t){return null}visitDate(e,...t){return null}visitTimestamp(e,...t){return null}visitTime(e,...t){return null}visitDecimal(e,...t){return null}visitList(e,...t){return null}visitStruct(e,...t){return null}visitUnion(e,...t){return null}visitDictionary(e,...t){return null}visitInterval(e,...t){return null}visitDuration(e,...t){return null}visitFixedSizeList(e,...t){return null}visitMap(e,...t){return null}}function zb(n,e,t=!0){return typeof e=="number"?mi(n,e,t):typeof e=="string"&&e in M?mi(n,M[e],t):e&&e instanceof me?mi(n,bm(e),t):e!=null&&e.type&&e.type instanceof me?mi(n,bm(e.type),t):mi(n,M.NONE,t)}function mi(n,e,t=!0){let i=null;switch(e){case M.Null:i=n.visitNull;break;case M.Bool:i=n.visitBool;break;case M.Int:i=n.visitInt;break;case M.Int8:i=n.visitInt8||n.visitInt;break;case M.Int16:i=n.visitInt16||n.visitInt;break;case M.Int32:i=n.visitInt32||n.visitInt;break;case M.Int64:i=n.visitInt64||n.visitInt;break;case M.Uint8:i=n.visitUint8||n.visitInt;break;case M.Uint16:i=n.visitUint16||n.visitInt;break;case M.Uint32:i=n.visitUint32||n.visitInt;break;case M.Uint64:i=n.visitUint64||n.visitInt;break;case M.Float:i=n.visitFloat;break;case M.Float16:i=n.visitFloat16||n.visitFloat;break;case M.Float32:i=n.visitFloat32||n.visitFloat;break;case M.Float64:i=n.visitFloat64||n.visitFloat;break;case M.Utf8:i=n.visitUtf8;break;case M.LargeUtf8:i=n.visitLargeUtf8;break;case M.Binary:i=n.visitBinary;break;case M.LargeBinary:i=n.visitLargeBinary;break;case M.FixedSizeBinary:i=n.visitFixedSizeBinary;break;case M.Date:i=n.visitDate;break;case M.DateDay:i=n.visitDateDay||n.visitDate;break;case M.DateMillisecond:i=n.visitDateMillisecond||n.visitDate;break;case M.Timestamp:i=n.visitTimestamp;break;case M.TimestampSecond:i=n.visitTimestampSecond||n.visitTimestamp;break;case M.TimestampMillisecond:i=n.visitTimestampMillisecond||n.visitTimestamp;break;case M.TimestampMicrosecond:i=n.visitTimestampMicrosecond||n.visitTimestamp;break;case M.TimestampNanosecond:i=n.visitTimestampNanosecond||n.visitTimestamp;break;case M.Time:i=n.visitTime;break;case M.TimeSecond:i=n.visitTimeSecond||n.visitTime;break;case M.TimeMillisecond:i=n.visitTimeMillisecond||n.visitTime;break;case M.TimeMicrosecond:i=n.visitTimeMicrosecond||n.visitTime;break;case M.TimeNanosecond:i=n.visitTimeNanosecond||n.visitTime;break;case M.Decimal:i=n.visitDecimal;break;case M.List:i=n.visitList;break;case M.Struct:i=n.visitStruct;break;case M.Union:i=n.visitUnion;break;case M.DenseUnion:i=n.visitDenseUnion||n.visitUnion;break;case M.SparseUnion:i=n.visitSparseUnion||n.visitUnion;break;case M.Dictionary:i=n.visitDictionary;break;case M.Interval:i=n.visitInterval;break;case M.IntervalDayTime:i=n.visitIntervalDayTime||n.visitInterval;break;case M.IntervalYearMonth:i=n.visitIntervalYearMonth||n.visitInterval;break;case M.Duration:i=n.visitDuration;break;case M.DurationSecond:i=n.visitDurationSecond||n.visitDuration;break;case M.DurationMillisecond:i=n.visitDurationMillisecond||n.visitDuration;break;case M.DurationMicrosecond:i=n.visitDurationMicrosecond||n.visitDuration;break;case M.DurationNanosecond:i=n.visitDurationNanosecond||n.visitDuration;break;case M.FixedSizeList:i=n.visitFixedSizeList;break;case M.Map:i=n.visitMap;break}if(typeof i=="function")return i;if(!t)return()=>null;throw new Error(`Unrecognized type '${M[e]}'`)}function bm(n){switch(n.typeId){case M.Null:return M.Null;case M.Int:{const{bitWidth:e,isSigned:t}=n;switch(e){case 8:return t?M.Int8:M.Uint8;case 16:return t?M.Int16:M.Uint16;case 32:return t?M.Int32:M.Uint32;case 64:return t?M.Int64:M.Uint64}return M.Int}case M.Float:switch(n.precision){case Dt.HALF:return M.Float16;case Dt.SINGLE:return M.Float32;case Dt.DOUBLE:return M.Float64}return M.Float;case M.Binary:return M.Binary;case M.LargeBinary:return M.LargeBinary;case M.Utf8:return M.Utf8;case M.LargeUtf8:return M.LargeUtf8;case M.Bool:return M.Bool;case M.Decimal:return M.Decimal;case M.Time:switch(n.unit){case _e.SECOND:return M.TimeSecond;case _e.MILLISECOND:return M.TimeMillisecond;case _e.MICROSECOND:return M.TimeMicrosecond;case _e.NANOSECOND:return M.TimeNanosecond}return M.Time;case M.Timestamp:switch(n.unit){case _e.SECOND:return M.TimestampSecond;case _e.MILLISECOND:return M.TimestampMillisecond;case _e.MICROSECOND:return M.TimestampMicrosecond;case _e.NANOSECOND:return M.TimestampNanosecond}return M.Timestamp;case M.Date:switch(n.unit){case gn.DAY:return M.DateDay;case gn.MILLISECOND:return M.DateMillisecond}return M.Date;case M.Interval:switch(n.unit){case nr.DAY_TIME:return M.IntervalDayTime;case nr.YEAR_MONTH:return M.IntervalYearMonth}return M.Interval;case M.Duration:switch(n.unit){case _e.SECOND:return M.DurationSecond;case _e.MILLISECOND:return M.DurationMillisecond;case _e.MICROSECOND:return M.DurationMicrosecond;case _e.NANOSECOND:return M.DurationNanosecond}return M.Duration;case M.Map:return M.Map;case M.List:return M.List;case M.Struct:return M.Struct;case M.Union:switch(n.mode){case Ht.Dense:return M.DenseUnion;case Ht.Sparse:return M.SparseUnion}return M.Union;case M.FixedSizeBinary:return M.FixedSizeBinary;case M.FixedSizeList:return M.FixedSizeList;case M.Dictionary:return M.Dictionary}throw new Error(`Unrecognized type '${M[n.typeId]}'`)}Re.prototype.visitInt8=null;Re.prototype.visitInt16=null;Re.prototype.visitInt32=null;Re.prototype.visitInt64=null;Re.prototype.visitUint8=null;Re.prototype.visitUint16=null;Re.prototype.visitUint32=null;Re.prototype.visitUint64=null;Re.prototype.visitFloat16=null;Re.prototype.visitFloat32=null;Re.prototype.visitFloat64=null;Re.prototype.visitDateDay=null;Re.prototype.visitDateMillisecond=null;Re.prototype.visitTimestampSecond=null;Re.prototype.visitTimestampMillisecond=null;Re.prototype.visitTimestampMicrosecond=null;Re.prototype.visitTimestampNanosecond=null;Re.prototype.visitTimeSecond=null;Re.prototype.visitTimeMillisecond=null;Re.prototype.visitTimeMicrosecond=null;Re.prototype.visitTimeNanosecond=null;Re.prototype.visitDenseUnion=null;Re.prototype.visitSparseUnion=null;Re.prototype.visitIntervalDayTime=null;Re.prototype.visitIntervalYearMonth=null;Re.prototype.visitDuration=null;Re.prototype.visitDurationSecond=null;Re.prototype.visitDurationMillisecond=null;Re.prototype.visitDurationMicrosecond=null;Re.prototype.visitDurationNanosecond=null;const tg=new Float64Array(1),ai=new Uint32Array(tg.buffer);function ng(n){const e=(n&31744)>>10,t=(n&1023)/1024,i=Math.pow(-1,(n&32768)>>15);switch(e){case 31:return i*(t?Number.NaN:1/0);case 0:return i*(t?6103515625e-14*t:0)}return i*Math.pow(2,e-15)*(1+t)}function Vb(n){if(n!==n)return 32256;tg[0]=n;const e=(ai[1]&2147483648)>>16&65535;let t=ai[1]&2146435072,i=0;return t>=1089470464?ai[0]>0?t=31744:(t=(t&2080374784)>>16,i=(ai[1]&1048575)>>10):t<=1056964608?(i=1048576+(ai[1]&1048575),i=1048576+(i<<(t>>20)-998)>>21,t=0):(t=t-1056964608>>10,i=(ai[1]&1048575)+512>>10),e|t|i&65535}class Ne extends Re{}function Ie(n){return(e,t,i)=>{if(e.setValid(t,i!=null))return n(e,t,i)}}const Wb=(n,e,t)=>{n[e]=Math.floor(t/864e5)},rg=(n,e,t,i)=>{if(t+1{const a=n+t;i?e[a>>3]|=1<>3]&=~(1<{n[e]=t},$d=({values:n},e,t)=>{n[e]=t},sg=({values:n},e,t)=>{n[e]=Vb(t)},Gb=(n,e,t)=>{switch(n.type.precision){case Dt.HALF:return sg(n,e,t);case Dt.SINGLE:case Dt.DOUBLE:return $d(n,e,t)}},ig=({values:n},e,t)=>{Wb(n,e,t.valueOf())},og=({values:n},e,t)=>{n[e]=BigInt(t)},Yb=({stride:n,values:e},t,i)=>{e.set(i.subarray(0,n),n*t)},ag=({values:n,valueOffsets:e},t,i)=>rg(n,e,t,i),lg=({values:n,valueOffsets:e},t,i)=>rg(n,e,t,Bd(i)),Qb=(n,e,t)=>{n.type.unit===gn.DAY?ig(n,e,t):og(n,e,t)},ug=({values:n},e,t)=>{n[e]=BigInt(t/1e3)},cg=({values:n},e,t)=>{n[e]=BigInt(t)},dg=({values:n},e,t)=>{n[e]=BigInt(t*1e3)},fg=({values:n},e,t)=>{n[e]=BigInt(t*1e6)},Kb=(n,e,t)=>{switch(n.type.unit){case _e.SECOND:return ug(n,e,t);case _e.MILLISECOND:return cg(n,e,t);case _e.MICROSECOND:return dg(n,e,t);case _e.NANOSECOND:return fg(n,e,t)}},hg=({values:n},e,t)=>{n[e]=t},pg=({values:n},e,t)=>{n[e]=t},mg=({values:n},e,t)=>{n[e]=t},yg=({values:n},e,t)=>{n[e]=t},Jb=(n,e,t)=>{switch(n.type.unit){case _e.SECOND:return hg(n,e,t);case _e.MILLISECOND:return pg(n,e,t);case _e.MICROSECOND:return mg(n,e,t);case _e.NANOSECOND:return yg(n,e,t)}},qb=({values:n,stride:e},t,i)=>{n.set(i.subarray(0,e),e*t)},Zb=(n,e,t)=>{const i=n.children[0],a=n.valueOffsets,u=vn.getVisitFn(i);if(Array.isArray(t))for(let f=-1,h=a[e],m=a[e+1];h{const i=n.children[0],{valueOffsets:a}=n,u=vn.getVisitFn(i);let{[e]:f,[e+1]:h}=a;const m=t instanceof Map?t.entries():Object.entries(t);for(const g of m)if(u(i,f,g),++f>=h)break},ew=(n,e)=>(t,i,a,u)=>i&&t(i,n,e[u]),tw=(n,e)=>(t,i,a,u)=>i&&t(i,n,e.get(u)),nw=(n,e)=>(t,i,a,u)=>i&&t(i,n,e.get(a.name)),rw=(n,e)=>(t,i,a,u)=>i&&t(i,n,e[a.name]),sw=(n,e,t)=>{const i=n.type.children.map(u=>vn.getVisitFn(u.type)),a=t instanceof Map?nw(e,t):t instanceof Je?tw(e,t):Array.isArray(t)?ew(e,t):rw(e,t);n.type.children.forEach((u,f)=>a(i[f],n.children[f],u,f))},iw=(n,e,t)=>{n.type.mode===Ht.Dense?gg(n,e,t):vg(n,e,t)},gg=(n,e,t)=>{const i=n.type.typeIdToChildIndex[n.typeIds[e]],a=n.children[i];vn.visit(a,n.valueOffsets[e],t)},vg=(n,e,t)=>{const i=n.type.typeIdToChildIndex[n.typeIds[e]],a=n.children[i];vn.visit(a,e,t)},ow=(n,e,t)=>{var i;(i=n.dictionary)===null||i===void 0||i.set(n.values[e],t)},aw=(n,e,t)=>{n.type.unit===nr.DAY_TIME?xg(n,e,t):bg(n,e,t)},xg=({values:n},e,t)=>{n.set(t.subarray(0,2),2*e)},bg=({values:n},e,t)=>{n[e]=t[0]*12+t[1]%12},wg=({values:n},e,t)=>{n[e]=t},Sg=({values:n},e,t)=>{n[e]=t},_g=({values:n},e,t)=>{n[e]=t},Ng=({values:n},e,t)=>{n[e]=t},lw=(n,e,t)=>{switch(n.type.unit){case _e.SECOND:return wg(n,e,t);case _e.MILLISECOND:return Sg(n,e,t);case _e.MICROSECOND:return _g(n,e,t);case _e.NANOSECOND:return Ng(n,e,t)}},uw=(n,e,t)=>{const{stride:i}=n,a=n.children[0],u=vn.getVisitFn(a);if(Array.isArray(t))for(let f=-1,h=e*i;++f`${Bo(e)}: ${Bo(t)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new cw(this[On],this[Si])}}class cw{constructor(e,t){this.childIndex=0,this.children=e.children,this.rowIndex=t,this.childFields=e.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){const e=this.childIndex;return et.name)}has(e,t){return e[On].type.children.findIndex(i=>i.name===t)!==-1}getOwnPropertyDescriptor(e,t){if(e[On].type.children.findIndex(i=>i.name===t)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,t){if(Reflect.has(e,t))return e[t];const i=e[On].type.children.findIndex(a=>a.name===t);if(i!==-1){const a=Gt.visit(e[On].children[i],e[Si]);return Reflect.set(e,t,a),a}}set(e,t,i){const a=e[On].type.children.findIndex(u=>u.name===t);return a!==-1?(vn.visit(e[On].children[a],e[Si],i),Reflect.set(e,t,i)):Reflect.has(e,t)||typeof t=="symbol"?Reflect.set(e,t,i):!1}}class ve extends Re{}function je(n){return(e,t)=>e.getValid(t)?n(e,t):null}const fw=(n,e)=>864e5*n[e],hw=(n,e)=>null,jg=(n,e,t)=>{if(t+1>=e.length)return null;const i=tt(e[t]),a=tt(e[t+1]);return n.subarray(i,a)},pw=({offset:n,values:e},t)=>{const i=n+t;return(e[i>>3]&1<fw(n,e),Ig=({values:n},e)=>tt(n[e]),as=({stride:n,values:e},t)=>e[n*t],mw=({stride:n,values:e},t)=>ng(e[n*t]),Mg=({values:n},e)=>n[e],yw=({stride:n,values:e},t)=>e.subarray(n*t,n*(t+1)),Dg=({values:n,valueOffsets:e},t)=>jg(n,e,t),Cg=({values:n,valueOffsets:e},t)=>{const i=jg(n,e,t);return i!==null?xd(i):null},gw=({values:n},e)=>n[e],vw=({type:n,values:e},t)=>n.precision!==Dt.HALF?e[t]:ng(e[t]),xw=(n,e)=>n.type.unit===gn.DAY?kg(n,e):Ig(n,e),Fg=({values:n},e)=>1e3*tt(n[e]),Og=({values:n},e)=>tt(n[e]),Tg=({values:n},e)=>Fy(n[e],BigInt(1e3)),Ag=({values:n},e)=>Fy(n[e],BigInt(1e6)),bw=(n,e)=>{switch(n.type.unit){case _e.SECOND:return Fg(n,e);case _e.MILLISECOND:return Og(n,e);case _e.MICROSECOND:return Tg(n,e);case _e.NANOSECOND:return Ag(n,e)}},Bg=({values:n},e)=>n[e],Eg=({values:n},e)=>n[e],Rg=({values:n},e)=>n[e],Lg=({values:n},e)=>n[e],ww=(n,e)=>{switch(n.type.unit){case _e.SECOND:return Bg(n,e);case _e.MILLISECOND:return Eg(n,e);case _e.MICROSECOND:return Rg(n,e);case _e.NANOSECOND:return Lg(n,e)}},Sw=({values:n,stride:e},t)=>Ud.decimal(n.subarray(e*t,e*(t+1))),_w=(n,e)=>{const{valueOffsets:t,stride:i,children:a}=n,{[e*i]:u,[e*i+1]:f}=t,m=a[0].slice(u,f-u);return new Je([m])},Nw=(n,e)=>{const{valueOffsets:t,children:i}=n,{[e]:a,[e+1]:u}=t,f=i[0];return new zd(f.slice(a,u-a))},jw=(n,e)=>new Pd(n,e),kw=(n,e)=>n.type.mode===Ht.Dense?Ug(n,e):$g(n,e),Ug=(n,e)=>{const t=n.type.typeIdToChildIndex[n.typeIds[e]],i=n.children[t];return Gt.visit(i,n.valueOffsets[e])},$g=(n,e)=>{const t=n.type.typeIdToChildIndex[n.typeIds[e]],i=n.children[t];return Gt.visit(i,e)},Iw=(n,e)=>{var t;return(t=n.dictionary)===null||t===void 0?void 0:t.get(n.values[e])},Mw=(n,e)=>n.type.unit===nr.DAY_TIME?Pg(n,e):zg(n,e),Pg=({values:n},e)=>n.subarray(2*e,2*(e+1)),zg=({values:n},e)=>{const t=n[e],i=new Int32Array(2);return i[0]=Math.trunc(t/12),i[1]=Math.trunc(t%12),i},Vg=({values:n},e)=>n[e],Wg=({values:n},e)=>n[e],Hg=({values:n},e)=>n[e],Gg=({values:n},e)=>n[e],Dw=(n,e)=>{switch(n.type.unit){case _e.SECOND:return Vg(n,e);case _e.MILLISECOND:return Wg(n,e);case _e.MICROSECOND:return Hg(n,e);case _e.NANOSECOND:return Gg(n,e)}},Cw=(n,e)=>{const{stride:t,children:i}=n,u=i[0].slice(e*t,t);return new Je([u])};ve.prototype.visitNull=je(hw);ve.prototype.visitBool=je(pw);ve.prototype.visitInt=je(gw);ve.prototype.visitInt8=je(as);ve.prototype.visitInt16=je(as);ve.prototype.visitInt32=je(as);ve.prototype.visitInt64=je(Mg);ve.prototype.visitUint8=je(as);ve.prototype.visitUint16=je(as);ve.prototype.visitUint32=je(as);ve.prototype.visitUint64=je(Mg);ve.prototype.visitFloat=je(vw);ve.prototype.visitFloat16=je(mw);ve.prototype.visitFloat32=je(as);ve.prototype.visitFloat64=je(as);ve.prototype.visitUtf8=je(Cg);ve.prototype.visitLargeUtf8=je(Cg);ve.prototype.visitBinary=je(Dg);ve.prototype.visitLargeBinary=je(Dg);ve.prototype.visitFixedSizeBinary=je(yw);ve.prototype.visitDate=je(xw);ve.prototype.visitDateDay=je(kg);ve.prototype.visitDateMillisecond=je(Ig);ve.prototype.visitTimestamp=je(bw);ve.prototype.visitTimestampSecond=je(Fg);ve.prototype.visitTimestampMillisecond=je(Og);ve.prototype.visitTimestampMicrosecond=je(Tg);ve.prototype.visitTimestampNanosecond=je(Ag);ve.prototype.visitTime=je(ww);ve.prototype.visitTimeSecond=je(Bg);ve.prototype.visitTimeMillisecond=je(Eg);ve.prototype.visitTimeMicrosecond=je(Rg);ve.prototype.visitTimeNanosecond=je(Lg);ve.prototype.visitDecimal=je(Sw);ve.prototype.visitList=je(_w);ve.prototype.visitStruct=je(jw);ve.prototype.visitUnion=je(kw);ve.prototype.visitDenseUnion=je(Ug);ve.prototype.visitSparseUnion=je($g);ve.prototype.visitDictionary=je(Iw);ve.prototype.visitInterval=je(Mw);ve.prototype.visitIntervalDayTime=je(Pg);ve.prototype.visitIntervalYearMonth=je(zg);ve.prototype.visitDuration=je(Dw);ve.prototype.visitDurationSecond=je(Vg);ve.prototype.visitDurationMillisecond=je(Wg);ve.prototype.visitDurationMicrosecond=je(Hg);ve.prototype.visitDurationNanosecond=je(Gg);ve.prototype.visitFixedSizeList=je(Cw);ve.prototype.visitMap=je(Nw);const Gt=new ve,yi=Symbol.for("keys"),_i=Symbol.for("vals"),gi=Symbol.for("kKeysAsStrings"),jd=Symbol.for("_kKeysAsStrings");class zd{constructor(e){return this[yi]=new Je([e.children[0]]).memoize(),this[_i]=e.children[1],new Proxy(this,new Ow)}get[gi](){return this[jd]||(this[jd]=Array.from(this[yi].toArray(),String))}[Symbol.iterator](){return new Fw(this[yi],this[_i])}get size(){return this[yi].length}toArray(){return Object.values(this.toJSON())}toJSON(){const e=this[yi],t=this[_i],i={};for(let a=-1,u=e.length;++a`${Bo(e)}: ${Bo(t)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}}class Fw{constructor(e,t){this.keys=e,this.vals=t,this.keyIndex=0,this.numKeys=e.length}[Symbol.iterator](){return this}next(){const e=this.keyIndex;return e===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(e),Gt.visit(this.vals,e)]})}}class Ow{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(e){return e[gi]}has(e,t){return e[gi].includes(t)}getOwnPropertyDescriptor(e,t){if(e[gi].indexOf(t)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,t){if(Reflect.has(e,t))return e[t];const i=e[gi].indexOf(t);if(i!==-1){const a=Gt.visit(Reflect.get(e,_i),i);return Reflect.set(e,t,a),a}}set(e,t,i){const a=e[gi].indexOf(t);return a!==-1?(vn.visit(Reflect.get(e,_i),a,i),Reflect.set(e,t,i)):Reflect.has(e,t)?Reflect.set(e,t,i):!1}}Object.defineProperties(zd.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[yi]:{writable:!0,enumerable:!1,configurable:!1,value:null},[_i]:{writable:!0,enumerable:!1,configurable:!1,value:null},[jd]:{writable:!0,enumerable:!1,configurable:!1,value:null}});let wm;function Yg(n,e,t,i){const{length:a=0}=n;let u=typeof e!="number"?0:e,f=typeof t!="number"?a:t;return u<0&&(u=(u%a+a)%a),f<0&&(f=(f%a+a)%a),fa&&(f=a),i?i(n,u,f):[u,f]}const Vd=(n,e)=>n<0?e+n:n,Sm=n=>n!==n;function Ti(n){if(typeof n!=="object"||n===null)return Sm(n)?Sm:t=>t===n;if(n instanceof Date){const t=n.valueOf();return i=>i instanceof Date?i.valueOf()===t:!1}return ArrayBuffer.isView(n)?t=>t?Cb(n,t):!1:n instanceof Map?Aw(n):Array.isArray(n)?Tw(n):n instanceof Je?Bw(n):Ew(n,!0)}function Tw(n){const e=[];for(let t=-1,i=n.length;++t!1;const i=[];for(let a=-1,u=t.length;++a{if(!t||typeof t!="object")return!1;switch(t.constructor){case Array:return Rw(n,t);case Map:return _m(n,t,t.keys());case zd:case Pd:case Object:case void 0:return _m(n,t,e||Object.keys(t))}return t instanceof Je?Lw(n,t):!1}}function Rw(n,e){const t=n.length;if(e.length!==t)return!1;for(let i=-1;++i>i}function Nm(n,e,t){const i=t.byteLength+7&-8;if(n>0||t.byteLength>3):kd(new Wd(t,n,e,null,Qg)).subarray(0,i)),a}return t}function kd(n){const e=[];let t=0,i=0,a=0;for(const f of n)f&&(a|=1<0)&&(e[t++]=a);const u=new Uint8Array(e.length+7&-8);return u.set(e),u}class Wd{constructor(e,t,i,a,u){this.bytes=e,this.length=i,this.context=a,this.get=u,this.bit=t%8,this.byteIndex=t>>3,this.byte=e[this.byteIndex++],this.index=0}next(){return this.index>3<<3,a=e+(e%8===0?0:8-e%8);return Id(n,e,a)+Id(n,i,t)+$w(n,a>>3,i-a>>3)}function $w(n,e,t){let i=0,a=Math.trunc(e);const u=new DataView(n.buffer,n.byteOffset,n.byteLength),f=t===void 0?n.byteLength:a+t;for(;f-a>=4;)i+=id(u.getUint32(a)),a+=4;for(;f-a>=2;)i+=id(u.getUint16(a)),a+=2;for(;f-a>=1;)i+=id(u.getUint8(a)),a+=1;return i}function id(n){let e=Math.trunc(n);return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24}const Pw=-1;class Ye{get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){const{type:e}=this;return me.isSparseUnion(e)?this.children.some(t=>t.nullable):me.isDenseUnion(e)?this.children.some(t=>t.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let e=0;const{valueOffsets:t,values:i,nullBitmap:a,typeIds:u}=this;return t&&(e+=t.byteLength),i&&(e+=i.byteLength),a&&(e+=a.byteLength),u&&(e+=u.byteLength),this.children.reduce((f,h)=>f+h.byteLength,e)}get nullCount(){if(me.isUnion(this.type))return this.children.reduce((i,a)=>i+a.nullCount,0);let e=this._nullCount,t;return e<=Pw&&(t=this.nullBitmap)&&(this._nullCount=e=t.length===0?0:this.length-Id(t,this.offset,this.offset+this.length)),e}constructor(e,t,i,a,u,f=[],h){this.type=e,this.children=f,this.dictionary=h,this.offset=Math.floor(Math.max(t||0,0)),this.length=Math.floor(Math.max(i||0,0)),this._nullCount=Math.floor(Math.max(a||0,-1));let m;u instanceof Ye?(this.stride=u.stride,this.values=u.values,this.typeIds=u.typeIds,this.nullBitmap=u.nullBitmap,this.valueOffsets=u.valueOffsets):(this.stride=vr(e),u&&((m=u[0])&&(this.valueOffsets=m),(m=u[1])&&(this.values=m),(m=u[2])&&(this.nullBitmap=m),(m=u[3])&&(this.typeIds=m)))}getValid(e){const{type:t}=this;if(me.isUnion(t)){const i=t,a=this.children[i.typeIdToChildIndex[this.typeIds[e]]],u=i.mode===Ht.Dense?this.valueOffsets[e]:e;return a.getValid(u)}if(this.nullable&&this.nullCount>0){const i=this.offset+e;return(this.nullBitmap[i>>3]&1<>3;(!u||u.byteLength<=v)&&(u=new Uint8Array((f+h+63&-64)>>3).fill(255),this.nullCount>0?(u.set(Nm(f,h,this.nullBitmap),0),Object.assign(this,{nullBitmap:u})):Object.assign(this,{nullBitmap:u,_nullCount:0}));const x=u[v];i=(x&g)!==0,u[v]=t?x|g:x&~g}return i!==!!t&&(this._nullCount=this.nullCount+(t?-1:1)),t}clone(e=this.type,t=this.offset,i=this.length,a=this._nullCount,u=this,f=this.children){return new Ye(e,t,i,a,u,f,this.dictionary)}slice(e,t){const{stride:i,typeId:a,children:u}=this,f=+(this._nullCount===0)-1,h=a===16?i:1,m=this._sliceBuffers(e,t,i,a);return this.clone(this.type,this.offset+e,t,f,m,u.length===0||this.valueOffsets?u:this._sliceChildren(u,h*e,h*t))}_changeLengthAndBackfillNullBitmap(e){if(this.typeId===M.Null)return this.clone(this.type,0,e,0);const{length:t,nullCount:i}=this,a=new Uint8Array((e+63&-64)>>3).fill(255,0,t>>3);a[t>>3]=(1<0&&a.set(Nm(this.offset,t,this.nullBitmap),0);const u=this.buffers;return u[gr.VALIDITY]=a,this.clone(this.type,0,e,i+(e-t),u)}_sliceBuffers(e,t,i,a){let u;const{buffers:f}=this;return(u=f[gr.TYPE])&&(f[gr.TYPE]=u.subarray(e,e+t)),(u=f[gr.OFFSET])&&(f[gr.OFFSET]=u.subarray(e,e+t+1))||(u=f[gr.DATA])&&(f[gr.DATA]=a===6?u:u.subarray(i*e,i*(e+t))),f}_sliceChildren(e,t,i){return e.map(a=>a.slice(t,i))}}Ye.prototype.children=Object.freeze([]);class To extends Re{visit(e){return this.getVisitFn(e.type).call(this,e)}visitNull(e){const{["type"]:t,["offset"]:i=0,["length"]:a=0}=e;return new Ye(t,i,a,a)}visitBool(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length>>3,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitInt(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitFloat(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitUtf8(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.data),u=$e(e.nullBitmap),f=So(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,u])}visitLargeUtf8(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.data),u=$e(e.nullBitmap),f=cm(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,u])}visitBinary(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.data),u=$e(e.nullBitmap),f=So(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,u])}visitLargeBinary(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.data),u=$e(e.nullBitmap),f=cm(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,a,u])}visitFixedSizeBinary(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitDate(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitTimestamp(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitTime(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitDecimal(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitList(e){const{["type"]:t,["offset"]:i=0,["child"]:a}=e,u=$e(e.nullBitmap),f=So(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,void 0,u],[a])}visitStruct(e){const{["type"]:t,["offset"]:i=0,["children"]:a=[]}=e,u=$e(e.nullBitmap),{length:f=a.reduce((m,{length:g})=>Math.max(m,g),0),nullCount:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,void 0,u],a)}visitUnion(e){const{["type"]:t,["offset"]:i=0,["children"]:a=[]}=e,u=Ke(t.ArrayType,e.typeIds),{["length"]:f=u.length,["nullCount"]:h=-1}=e;if(me.isSparseUnion(t))return new Ye(t,i,f,h,[void 0,void 0,void 0,u],a);const m=So(e.valueOffsets);return new Ye(t,i,f,h,[m,void 0,void 0,u],a)}visitDictionary(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.indices.ArrayType,e.data),{["dictionary"]:f=new Je([new To().visit({type:t.dictionary})])}=e,{["length"]:h=u.length,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[void 0,u,a],[],f)}visitInterval(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitDuration(e){const{["type"]:t,["offset"]:i=0}=e,a=$e(e.nullBitmap),u=Ke(t.ArrayType,e.data),{["length"]:f=u.length,["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,u,a])}visitFixedSizeList(e){const{["type"]:t,["offset"]:i=0,["child"]:a=new To().visit({type:t.valueType})}=e,u=$e(e.nullBitmap),{["length"]:f=a.length/vr(t),["nullCount"]:h=e.nullBitmap?-1:0}=e;return new Ye(t,i,f,h,[void 0,void 0,u],[a])}visitMap(e){const{["type"]:t,["offset"]:i=0,["child"]:a=new To().visit({type:t.childType})}=e,u=$e(e.nullBitmap),f=So(e.valueOffsets),{["length"]:h=f.length-1,["nullCount"]:m=e.nullBitmap?-1:0}=e;return new Ye(t,i,h,m,[f,void 0,u],[a])}}const zw=new To;function Ee(n){return zw.visit(n)}class jm{constructor(e=0,t){this.numChunks=e,this.getChunkIterator=t,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndexe.nullable)}function Kg(n){return n.reduce((e,t)=>e+t.nullCount,0)}function Jg(n){return n.reduce((e,t,i)=>(e[i+1]=e[i]+t.length,e),new Uint32Array(n.length+1))}function qg(n,e,t,i){const a=[];for(let u=-1,f=n.length;++u=i)break;if(t>=m+g)continue;if(m>=t&&m+g<=i){a.push(h);continue}const v=Math.max(0,t-m),x=Math.min(i-m,g);a.push(h.slice(v,x-v))}return a.length===0&&a.push(n[0].slice(0,0)),a}function Hd(n,e,t,i){let a=0,u=0,f=e.length-1;do{if(a>=f-1)return t0?0:-1}function Hw(n,e){const{nullBitmap:t}=n;if(!t||n.nullCount<=0)return-1;let i=0;for(const a of new Wd(t,n.offset+(e||0),n.length,t,Qg)){if(!a)return i;++i}return-1}function De(n,e,t){if(e===void 0)return-1;if(e===null)switch(n.typeId){case M.Union:break;case M.Dictionary:break;default:return Hw(n,t)}const i=Gt.getVisitFn(n),a=Ti(e);for(let u=(t||0)-1,f=n.length;++u{const a=n.data[i];return a.values.subarray(0,a.length)[Symbol.iterator]()});let t=0;return new jm(n.data.length,i=>{const u=n.data[i].length,f=n.slice(t,t+u);return t+=u,new Gw(f)})}class Gw{constructor(e){this.vector=e,this.index=0}next(){return this.indexh.data):e;if(u.length===0||u.some(h=>!(h instanceof Ye)))throw new TypeError("Vector constructor expects an Array of Data instances.");const f=(t=u[0])===null||t===void 0?void 0:t.type;switch(u.length){case 0:this._offsets=[0];break;case 1:{const{get:h,set:m,indexOf:g}=nv[f.typeId],v=u[0];this.isValid=x=>Gd(v,x),this.get=x=>h(v,x),this.set=(x,b)=>m(v,x,b),this.indexOf=x=>g(v,x),this._offsets=[0,v.length];break}default:Object.setPrototypeOf(this,rv[f.typeId]),this._offsets=Jg(u);break}this.data=u,this.type=f,this.stride=vr(f),this.numChildren=(a=(i=f.children)===null||i===void 0?void 0:i.length)!==null&&a!==void 0?a:0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((e,t)=>e+t.byteLength,0)}get nullable(){return Vw(this.data)}get nullCount(){return Kg(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${M[this.type.typeId]}Vector`}isValid(e){return!1}get(e){return null}at(e){return this.get(Vd(e,this.length))}set(e,t){}indexOf(e,t){return-1}includes(e,t){return this.indexOf(e,t)>-1}[Symbol.iterator](){return Yd.visit(this)}concat(...e){return new Je(this.data.concat(e.flatMap(t=>t.data).flat(Number.POSITIVE_INFINITY)))}slice(e,t){return new Je(Yg(this,e,t,({data:i,_offsets:a},u,f)=>qg(i,a,u,f)))}toJSON(){return[...this]}toArray(){const{type:e,data:t,length:i,stride:a,ArrayType:u}=this;switch(e.typeId){case M.Int:case M.Float:case M.Decimal:case M.Time:case M.Timestamp:switch(t.length){case 0:return new u;case 1:return t[0].values.subarray(0,i*a);default:return t.reduce((f,{values:h,length:m})=>(f.array.set(h.subarray(0,m*a),f.offset),f.offset+=m*a,f),{array:new u(i*a),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(e){var t;return this.getChildAt((t=this.type.children)===null||t===void 0?void 0:t.findIndex(i=>i.name===e))}getChildAt(e){return e>-1&&et[e])):null}get isMemoized(){return me.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(me.isDictionary(this.type)){const e=new Wl(this.data[0].dictionary),t=this.data.map(i=>{const a=i.clone();return a.dictionary=e,a});return new Je(t)}return new Wl(this)}unmemoize(){if(me.isDictionary(this.type)&&this.isMemoized){const e=this.data[0].dictionary.unmemoize(),t=this.data.map(i=>{const a=i.clone();return a.dictionary=e,a});return new Je(t)}return this}}tv=Symbol.toStringTag;Je[tv]=(n=>{n.type=me.prototype,n.data=[],n.length=0,n.stride=1,n.numChildren=0,n._offsets=new Uint32Array([0]),n[Symbol.isConcatSpreadable]=!0;const e=Object.keys(M).map(t=>M[t]).filter(t=>typeof t=="number"&&t!==M.NONE);for(const t of e){const i=Gt.getVisitFnByTypeId(t),a=vn.getVisitFnByTypeId(t),u=Vl.getVisitFnByTypeId(t);nv[t]={get:i,set:a,indexOf:u},rv[t]=Object.create(n,{isValid:{value:zl(Gd)},get:{value:zl(Gt.getVisitFnByTypeId(t))},set:{value:Zg(vn.getVisitFnByTypeId(t))},indexOf:{value:Xg(Vl.getVisitFnByTypeId(t))}})}return"Vector"})(Je.prototype);class Wl extends Je{constructor(e){super(e.data);const t=this.get,i=this.set,a=this.slice,u=new Array(this.length);Object.defineProperty(this,"get",{value(f){const h=u[f];if(h!==void 0)return h;const m=t.call(this,f);return u[f]=m,m}}),Object.defineProperty(this,"set",{value(f,h){i.call(this,f,h),u[f]=h}}),Object.defineProperty(this,"slice",{value:(f,h)=>new Wl(a.call(this,f,h))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new Je(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}}class Md{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(e,t,i,a){return e.prep(8,24),e.writeInt64(BigInt(a??0)),e.pad(4),e.writeInt32(i),e.writeInt64(BigInt(t??0)),e.offset()}}class Xt{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsFooter(e,t){return(t||new Xt).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFooter(e,t){return e.setPosition(e.position()+He),(t||new Xt).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):ht.V1}schema(e){const t=this.bb.__offset(this.bb_pos,6);return t?(e||new Gn).__init(this.bb.__indirect(this.bb_pos+t),this.bb):null}dictionaries(e,t){const i=this.bb.__offset(this.bb_pos,8);return i?(t||new Md).__init(this.bb.__vector(this.bb_pos+i)+e*24,this.bb):null}dictionariesLength(){const e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}recordBatches(e,t){const i=this.bb.__offset(this.bb_pos,10);return i?(t||new Md).__init(this.bb.__vector(this.bb_pos+i)+e*24,this.bb):null}recordBatchesLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,12);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startFooter(e){e.startObject(5)}static addVersion(e,t){e.addFieldInt16(0,t,ht.V1)}static addSchema(e,t){e.addFieldOffset(1,t,0)}static addDictionaries(e,t){e.addFieldOffset(2,t,0)}static startDictionariesVector(e,t){e.startVector(24,t,8)}static addRecordBatches(e,t){e.addFieldOffset(3,t,0)}static startRecordBatchesVector(e,t){e.startVector(24,t,8)}static addCustomMetadata(e,t){e.addFieldOffset(4,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endFooter(e){return e.endObject()}static finishFooterBuffer(e,t){e.finish(t)}static finishSizePrefixedFooterBuffer(e,t){e.finish(t,void 0,!0)}}class We{constructor(e=[],t,i,a=ht.V5){this.fields=e||[],this.metadata=t||new Map,i||(i=Dd(this.fields)),this.dictionaries=i,this.metadataVersion=a}get[Symbol.toStringTag](){return"Schema"}get names(){return this.fields.map(e=>e.name)}toString(){return`Schema<{ ${this.fields.map((e,t)=>`${t}: ${e}`).join(", ")} }>`}select(e){const t=new Set(e),i=this.fields.filter(a=>t.has(a.name));return new We(i,this.metadata)}selectAt(e){const t=e.map(i=>this.fields[i]).filter(Boolean);return new We(t,this.metadata)}assign(...e){const t=e[0]instanceof We?e[0]:Array.isArray(e[0])?new We(e[0]):new We(e),i=[...this.fields],a=sl(sl(new Map,this.metadata),t.metadata),u=t.fields.filter(h=>{const m=i.findIndex(g=>g.name===h.name);return~m?(i[m]=h.clone({metadata:sl(sl(new Map,i[m].metadata),h.metadata)}))&&!1:!0}),f=Dd(u,new Map);return new We([...i,...u],a,new Map([...this.dictionaries,...f]))}}We.prototype.fields=null;We.prototype.metadata=null;We.prototype.dictionaries=null;class nt{static new(...e){let[t,i,a,u]=e;return e[0]&&typeof e[0]=="object"&&({name:t}=e[0],i===void 0&&(i=e[0].type),a===void 0&&(a=e[0].nullable),u===void 0&&(u=e[0].metadata)),new nt(`${t}`,i,a,u)}constructor(e,t,i=!1,a){this.name=e,this.type=t,this.nullable=i,this.metadata=a||new Map}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}clone(...e){let[t,i,a,u]=e;return!e[0]||typeof e[0]!="object"?[t=this.name,i=this.type,a=this.nullable,u=this.metadata]=e:{name:t=this.name,type:i=this.type,nullable:a=this.nullable,metadata:u=this.metadata}=e[0],nt.new(t,i,a,u)}}nt.prototype.type=null;nt.prototype.name=null;nt.prototype.nullable=null;nt.prototype.metadata=null;function sl(n,e){return new Map([...n||new Map,...e||new Map])}function Dd(n,e=new Map){for(let t=-1,i=n.length;++t0&&Dd(u.children,e)}return e}var Yw=Iy,Qw=ki;class Qd{static decode(e){e=new Qw($e(e));const t=Xt.getRootAsFooter(e),i=We.decode(t.schema(),new Map,t.version());return new Kw(i,t)}static encode(e){const t=new Yw,i=We.encode(t,e.schema);Xt.startRecordBatchesVector(t,e.numRecordBatches);for(const f of[...e.recordBatches()].slice().reverse())Di.encode(t,f);const a=t.endVector();Xt.startDictionariesVector(t,e.numDictionaries);for(const f of[...e.dictionaryBatches()].slice().reverse())Di.encode(t,f);const u=t.endVector();return Xt.startFooter(t),Xt.addSchema(t,i),Xt.addVersion(t,ht.V5),Xt.addRecordBatches(t,a),Xt.addDictionaries(t,u),Xt.finishFooterBuffer(t,Xt.endFooter(t)),t.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}constructor(e,t=ht.V5,i,a){this.schema=e,this.version=t,i&&(this._recordBatches=i),a&&(this._dictionaryBatches=a)}*recordBatches(){for(let e,t=-1,i=this.numRecordBatches;++t=0&&e=0&&e=0&&e=0&&ethis._closedPromiseResolve=e)}get closed(){return this._closedPromise}cancel(e){return Fe(this,void 0,void 0,function*(){yield this.return(e)})}write(e){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(e):this.resolvers.shift().resolve({done:!1,value:e}))}abort(e){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:e}:this.resolvers.shift().reject({done:!0,value:e}))}close(){if(this._closedPromiseResolve){const{resolvers:e}=this;for(;e.length>0;)e.shift().resolve(at);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(e){return fn.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,e)}toNodeStream(e){return fn.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,e)}throw(e){return Fe(this,void 0,void 0,function*(){return yield this.abort(e),at})}return(e){return Fe(this,void 0,void 0,function*(){return yield this.close(),at})}read(e){return Fe(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return Fe(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(...e){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((t,i)=>{this.resolvers.push({resolve:t,reject:i})}):Promise.resolve(at)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error("AsyncQueue is closed")}}class qw extends Jw{write(e){if((e=$e(e)).byteLength>0)return super.write(e)}toString(e=!1){return e?xd(this.toUint8Array(!0)):this.toUint8Array(!1).then(xd)}toUint8Array(e=!1){return e?tr(this._values)[0]:Fe(this,void 0,void 0,function*(){var t,i,a,u;const f=[];let h=0;try{for(var m=!0,g=xi(this),v;v=yield g.next(),t=v.done,!t;m=!0){u=v.value,m=!1;const x=u;f.push(x),h+=x.byteLength}}catch(x){i={error:x}}finally{try{!m&&!t&&(a=g.return)&&(yield a.call(g))}finally{if(i)throw i.error}}return tr(f,h)[0]})}}class Hl{constructor(e){e&&(this.source=new Zw(fn.fromIterable(e)))}[Symbol.iterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class Ci{constructor(e){e instanceof Ci?this.source=e.source:e instanceof qw?this.source=new js(fn.fromAsyncIterable(e)):Ny(e)?this.source=new js(fn.fromNodeStream(e)):Rd(e)?this.source=new js(fn.fromDOMStream(e)):Sy(e)?this.source=new js(fn.fromDOMStream(e.body)):nu(e)?this.source=new js(fn.fromIterable(e)):Ao(e)?this.source=new js(fn.fromAsyncIterable(e)):Ed(e)&&(this.source=new js(fn.fromAsyncIterable(e)))}[Symbol.asyncIterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}get closed(){return this.source.closed}cancel(e){return this.source.cancel(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}}class Zw{constructor(e){this.source=e}cancel(e){this.return(e)}peek(e){return this.next(e,"peek").value}read(e){return this.next(e,"read").value}next(e,t="read"){return this.source.next({cmd:t,size:e})}throw(e){return Object.create(this.source.throw&&this.source.throw(e)||at)}return(e){return Object.create(this.source.return&&this.source.return(e)||at)}}class js{constructor(e){this.source=e,this._closedPromise=new Promise(t=>this._closedPromiseResolve=t)}cancel(e){return Fe(this,void 0,void 0,function*(){yield this.return(e)})}get closed(){return this._closedPromise}read(e){return Fe(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return Fe(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(e){return Fe(this,arguments,void 0,function*(t,i="read"){return yield this.source.next({cmd:i,size:t})})}throw(e){return Fe(this,void 0,void 0,function*(){const t=this.source.throw&&(yield this.source.throw(e))||at;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(t)})}return(e){return Fe(this,void 0,void 0,function*(){const t=this.source.return&&(yield this.source.return(e))||at;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(t)})}}class Im extends Hl{constructor(e,t){super(),this.position=0,this.buffer=$e(e),this.size=t===void 0?this.buffer.byteLength:t}readInt32(e){const{buffer:t,byteOffset:i}=this.readAt(e,4);return new DataView(t,i).getInt32(0,!0)}seek(e){return this.position=Math.min(e,this.size),e>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),i=new Uint32Array([e.buffer[1]>>>16,e.buffer[1]&65535,e.buffer[0]>>>16,e.buffer[0]&65535]);let a=t[3]*i[3];this.buffer[0]=a&65535;let u=a>>>16;return a=t[2]*i[3],u+=a,a=t[3]*i[2]>>>0,u+=a,this.buffer[0]+=u<<16,this.buffer[1]=u>>>0>>16,this.buffer[1]+=t[1]*i[3]+t[2]*i[2]+t[3]*i[1],this.buffer[1]+=t[0]*i[3]+t[1]*i[2]+t[2]*i[1]+t[3]*i[0]<<16,this}_plus(e){const t=this.buffer[0]+e.buffer[0]>>>0;this.buffer[1]+=e.buffer[1],t>>0&&++this.buffer[1],this.buffer[0]=t}lessThan(e){return this.buffer[1]>>0,t[2]=this.buffer[2]+e.buffer[2]>>>0,t[1]=this.buffer[1]+e.buffer[1]>>>0,t[0]=this.buffer[0]+e.buffer[0]>>>0,t[0]>>0&&++t[1],t[1]>>0&&++t[2],t[2]>>0&&++t[3],this.buffer[3]=t[3],this.buffer[2]=t[2],this.buffer[1]=t[1],this.buffer[0]=t[0],this}hex(){return`${vi(this.buffer[3])} ${vi(this.buffer[2])} ${vi(this.buffer[1])} ${vi(this.buffer[0])}`}static multiply(e,t){return new Yn(new Uint32Array(e.buffer)).times(t)}static add(e,t){return new Yn(new Uint32Array(e.buffer)).plus(t)}static from(e,t=new Uint32Array(4)){return Yn.fromString(typeof e=="string"?e:e.toString(),t)}static fromNumber(e,t=new Uint32Array(4)){return Yn.fromString(e.toString(),t)}static fromString(e,t=new Uint32Array(4)){const i=e.startsWith("-"),a=e.length,u=new Yn(t);for(let f=i?1:0;f0&&this.readData(e,i)||new Uint8Array(0)}readOffsets(e,t){return this.readData(e,t)}readTypeIds(e,t){return this.readData(e,t)}readData(e,{length:t,offset:i}=this.nextBufferRange()){return this.bytes.subarray(i,i+t)}readDictionary(e){return this.dictionaries.get(e.id)}}class e1 extends ov{constructor(e,t,i,a,u){super(new Uint8Array(0),t,i,a,u),this.sources=e}readNullBitmap(e,t,{offset:i}=this.nextBufferRange()){return t<=0?new Uint8Array(0):kd(this.sources[i])}readOffsets(e,{offset:t}=this.nextBufferRange()){return Ke(Uint8Array,Ke(e.OffsetArrayType,this.sources[t]))}readTypeIds(e,{offset:t}=this.nextBufferRange()){return Ke(Uint8Array,Ke(e.ArrayType,this.sources[t]))}readData(e,{offset:t}=this.nextBufferRange()){const{sources:i}=this;return me.isTimestamp(e)||(me.isInt(e)||me.isTime(e))&&e.bitWidth===64||me.isDuration(e)||me.isDate(e)&&e.unit===gn.MILLISECOND?Ke(Uint8Array,zt.convertArray(i[t])):me.isDecimal(e)?Ke(Uint8Array,Yn.convertArray(i[t])):me.isBinary(e)||me.isLargeBinary(e)||me.isFixedSizeBinary(e)?t1(i[t]):me.isBool(e)?kd(i[t]):me.isUtf8(e)||me.isLargeUtf8(e)?Bd(i[t].join("")):Ke(Uint8Array,Ke(e.ArrayType,i[t].map(a=>+a)))}}function t1(n){const e=n.join(""),t=new Uint8Array(e.length/2);for(let i=0;i>1]=Number.parseInt(e.slice(i,i+2),16);return t}class we extends Re{compareSchemas(e,t){return e===t||t instanceof e.constructor&&this.compareManyFields(e.fields,t.fields)}compareManyFields(e,t){return e===t||Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((i,a)=>this.compareFields(i,t[a]))}compareFields(e,t){return e===t||t instanceof e.constructor&&e.name===t.name&&e.nullable===t.nullable&&this.visit(e.type,t.type)}}function At(n,e){return e instanceof n.constructor}function As(n,e){return n===e||At(n,e)}function Mr(n,e){return n===e||At(n,e)&&n.bitWidth===e.bitWidth&&n.isSigned===e.isSigned}function su(n,e){return n===e||At(n,e)&&n.precision===e.precision}function n1(n,e){return n===e||At(n,e)&&n.byteWidth===e.byteWidth}function Jd(n,e){return n===e||At(n,e)&&n.unit===e.unit}function Po(n,e){return n===e||At(n,e)&&n.unit===e.unit&&n.timezone===e.timezone}function zo(n,e){return n===e||At(n,e)&&n.unit===e.unit&&n.bitWidth===e.bitWidth}function r1(n,e){return n===e||At(n,e)&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}function s1(n,e){return n===e||At(n,e)&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}function qd(n,e){return n===e||At(n,e)&&n.mode===e.mode&&n.typeIds.every((t,i)=>t===e.typeIds[i])&&is.compareManyFields(n.children,e.children)}function i1(n,e){return n===e||At(n,e)&&n.id===e.id&&n.isOrdered===e.isOrdered&&is.visit(n.indices,e.indices)&&is.visit(n.dictionary,e.dictionary)}function Zd(n,e){return n===e||At(n,e)&&n.unit===e.unit}function Vo(n,e){return n===e||At(n,e)&&n.unit===e.unit}function o1(n,e){return n===e||At(n,e)&&n.listSize===e.listSize&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}function a1(n,e){return n===e||At(n,e)&&n.keysSorted===e.keysSorted&&n.children.length===e.children.length&&is.compareManyFields(n.children,e.children)}we.prototype.visitNull=As;we.prototype.visitBool=As;we.prototype.visitInt=Mr;we.prototype.visitInt8=Mr;we.prototype.visitInt16=Mr;we.prototype.visitInt32=Mr;we.prototype.visitInt64=Mr;we.prototype.visitUint8=Mr;we.prototype.visitUint16=Mr;we.prototype.visitUint32=Mr;we.prototype.visitUint64=Mr;we.prototype.visitFloat=su;we.prototype.visitFloat16=su;we.prototype.visitFloat32=su;we.prototype.visitFloat64=su;we.prototype.visitUtf8=As;we.prototype.visitLargeUtf8=As;we.prototype.visitBinary=As;we.prototype.visitLargeBinary=As;we.prototype.visitFixedSizeBinary=n1;we.prototype.visitDate=Jd;we.prototype.visitDateDay=Jd;we.prototype.visitDateMillisecond=Jd;we.prototype.visitTimestamp=Po;we.prototype.visitTimestampSecond=Po;we.prototype.visitTimestampMillisecond=Po;we.prototype.visitTimestampMicrosecond=Po;we.prototype.visitTimestampNanosecond=Po;we.prototype.visitTime=zo;we.prototype.visitTimeSecond=zo;we.prototype.visitTimeMillisecond=zo;we.prototype.visitTimeMicrosecond=zo;we.prototype.visitTimeNanosecond=zo;we.prototype.visitDecimal=As;we.prototype.visitList=r1;we.prototype.visitStruct=s1;we.prototype.visitUnion=qd;we.prototype.visitDenseUnion=qd;we.prototype.visitSparseUnion=qd;we.prototype.visitDictionary=i1;we.prototype.visitInterval=Zd;we.prototype.visitIntervalDayTime=Zd;we.prototype.visitIntervalYearMonth=Zd;we.prototype.visitDuration=Vo;we.prototype.visitDurationSecond=Vo;we.prototype.visitDurationMillisecond=Vo;we.prototype.visitDurationMicrosecond=Vo;we.prototype.visitDurationNanosecond=Vo;we.prototype.visitFixedSizeList=o1;we.prototype.visitMap=a1;const is=new we;function l1(n,e){return is.compareSchemas(n,e)}function od(n,e){return u1(n,e.map(t=>t.data.concat()))}function u1(n,e){const t=[...n.fields],i=[],a={numBatches:e.reduce((x,b)=>Math.max(x,b.length),0)};let u=0,f=0,h=-1;const m=e.length;let g,v=[];for(;a.numBatches-- >0;){for(f=Number.POSITIVE_INFINITY,h=-1;++h0&&(i[u++]=Ee({type:new Tt(t),length:f,nullCount:0,children:v.slice()})))}return[n=n.assign(t),i.map(x=>new An(n,x))]}function c1(n,e,t,i,a){var u;const f=(e+63&-64)>>3;for(let h=-1,m=i.length;++h=e)v===e?t[h]=g:(t[h]=g.slice(0,e),a.numBatches=Math.max(a.numBatches,i[h].unshift(g.slice(e,v-e))));else{const x=n[h];n[h]=x.clone({nullable:!0}),t[h]=(u=g==null?void 0:g._changeLengthAndBackfillNullBitmap(e))!==null&&u!==void 0?u:Ee({type:x.type,length:e,nullCount:e,nullBitmap:new Uint8Array(f)})}}return t}var av;class mn{constructor(...e){var t,i;if(e.length===0)return this.batches=[],this.schema=new We([]),this._offsets=[0],this;let a,u;e[0]instanceof We&&(a=e.shift()),e.at(-1)instanceof Uint32Array&&(u=e.pop());const f=m=>{if(m){if(m instanceof An)return[m];if(m instanceof mn)return m.batches;if(m instanceof Ye){if(m.type instanceof Tt)return[new An(new We(m.type.children),m)]}else{if(Array.isArray(m))return m.flatMap(g=>f(g));if(typeof m[Symbol.iterator]=="function")return[...m].flatMap(g=>f(g));if(typeof m=="object"){const g=Object.keys(m),v=g.map(w=>new Je([m[w]])),x=a??new We(g.map((w,j)=>new nt(String(w),v[j].type,v[j].nullable))),[,b]=od(x,v);return b.length===0?[new An(m)]:b}}}return[]},h=e.flatMap(m=>f(m));if(a=(i=a??((t=h[0])===null||t===void 0?void 0:t.schema))!==null&&i!==void 0?i:new We([]),!(a instanceof We))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");for(const m of h){if(!(m instanceof An))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");if(!l1(a,m.schema))throw new TypeError("Table and inner RecordBatch schemas must be equivalent.")}this.schema=a,this.batches=h,this._offsets=u??Jg(this.data)}get data(){return this.batches.map(({data:e})=>e)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((e,t)=>e+t.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=Kg(this.data)),this._nullCount}isValid(e){return!1}get(e){return null}at(e){return this.get(Vd(e,this.numRows))}set(e,t){}indexOf(e,t){return-1}[Symbol.iterator](){return this.batches.length>0?Yd.visit(new Je(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[ + ${this.toArray().join(`, + `)} +]`}concat(...e){const t=this.schema,i=this.data.concat(e.flatMap(({data:a})=>a));return new mn(t,i.map(a=>new An(t,a)))}slice(e,t){const i=this.schema;[e,t]=Yg({length:this.numRows},e,t);const a=qg(this.data,this._offsets,e,t);return new mn(i,a.map(u=>new An(i,u)))}getChild(e){return this.getChildAt(this.schema.fields.findIndex(t=>t.name===e))}getChildAt(e){if(e>-1&&ei.children[e]);if(t.length===0){const{type:i}=this.schema.fields[e],a=Ee({type:i,length:0,nullCount:0});t.push(a._changeLengthAndBackfillNullBitmap(this.numRows))}return new Je(t)}return null}setChild(e,t){var i;return this.setChildAt((i=this.schema.fields)===null||i===void 0?void 0:i.findIndex(a=>a.name===e),t)}setChildAt(e,t){let i=this.schema,a=[...this.batches];if(e>-1&&ethis.getChildAt(g));[u[e],h[e]]=[f,t],[i,a]=od(i,h)}return new mn(i,a)}select(e){const t=this.schema.fields.reduce((i,a,u)=>i.set(a.name,u),new Map);return this.selectAt(e.map(i=>t.get(i)).filter(i=>i>-1))}selectAt(e){const t=this.schema.selectAt(e),i=this.batches.map(a=>a.selectAt(e));return new mn(t,i)}assign(e){const t=this.schema.fields,[i,a]=e.schema.fields.reduce((h,m,g)=>{const[v,x]=h,b=t.findIndex(w=>w.name===m.name);return~b?x[b]=g:v.push(g),h},[[],[]]),u=this.schema.assign(e.schema),f=[...t.map((h,m)=>[m,a[m]]).map(([h,m])=>m===void 0?this.getChildAt(h):e.getChildAt(m)),...i.map(h=>e.getChildAt(h))].filter(Boolean);return new mn(...od(u,f))}}av=Symbol.toStringTag;mn[av]=(n=>(n.schema=null,n.batches=[],n._offsets=new Uint32Array([0]),n._nullCount=-1,n[Symbol.isConcatSpreadable]=!0,n.isValid=zl(Gd),n.get=zl(Gt.getVisitFn(M.Struct)),n.set=Zg(vn.getVisitFn(M.Struct)),n.indexOf=Xg(Vl.getVisitFn(M.Struct)),"Table"))(mn.prototype);var lv;let An=class Oo{constructor(...e){switch(e.length){case 2:{if([this.schema]=e,!(this.schema instanceof We))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");if([,this.data=Ee({nullCount:0,type:new Tt(this.schema.fields),children:this.schema.fields.map(t=>Ee({type:t.type,nullCount:0}))})]=e,!(this.data instanceof Ye))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");[this.schema,this.data]=Mm(this.schema,this.data.children);break}case 1:{const[t]=e,{fields:i,children:a,length:u}=Object.keys(t).reduce((m,g,v)=>(m.children[v]=t[g],m.length=Math.max(m.length,t[g].length),m.fields[v]=nt.new({name:g,type:t[g].type,nullable:!0}),m),{length:0,fields:new Array,children:new Array}),f=new We(i),h=Ee({type:new Tt(i),length:u,children:a,nullCount:0});[this.schema,this.data]=Mm(f,h.children,u);break}default:throw new TypeError("RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.")}}get dictionaries(){return this._dictionaries||(this._dictionaries=uv(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(e){return this.data.getValid(e)}get(e){return Gt.visit(this.data,e)}at(e){return this.get(Vd(e,this.numRows))}set(e,t){return vn.visit(this.data,e,t)}indexOf(e,t){return Vl.visit(this.data,e,t)}[Symbol.iterator](){return Yd.visit(new Je([this.data]))}toArray(){return[...this]}concat(...e){return new mn(this.schema,[this,...e])}slice(e,t){const[i]=new Je([this.data]).slice(e,t).data;return new Oo(this.schema,i)}getChild(e){var t;return this.getChildAt((t=this.schema.fields)===null||t===void 0?void 0:t.findIndex(i=>i.name===e))}getChildAt(e){return e>-1&&ea.name===e),t)}setChildAt(e,t){let i=this.schema,a=this.data;if(e>-1&&eh.name===u);~f&&(a[f]=this.data.children[f])}return new Oo(t,Ee({type:i,length:this.numRows,children:a}))}selectAt(e){const t=this.schema.selectAt(e),i=e.map(u=>this.data.children[u]).filter(Boolean),a=Ee({type:new Tt(t.fields),length:this.numRows,children:i});return new Oo(t,a)}};lv=Symbol.toStringTag;An[lv]=(n=>(n._nullCount=-1,n[Symbol.isConcatSpreadable]=!0,"RecordBatch"))(An.prototype);function Mm(n,e,t=e.reduce((i,a)=>Math.max(i,a.length),0)){var i;const a=[...n.fields],u=[...e],f=(t+63&-64)>>3;for(const[h,m]of n.fields.entries()){const g=e[h];(!g||g.length!==t)&&(a[h]=m.clone({nullable:!0}),u[h]=(i=g==null?void 0:g._changeLengthAndBackfillNullBitmap(t))!==null&&i!==void 0?i:Ee({type:m.type,length:t,nullCount:t,nullBitmap:new Uint8Array(f)}))}return[n.assign(a),Ee({type:new Tt(a),length:t,children:u})]}function uv(n,e,t=new Map){var i,a;if(((i=n==null?void 0:n.length)!==null&&i!==void 0?i:0)>0&&(n==null?void 0:n.length)===(e==null?void 0:e.length))for(let u=-1,f=n.length;++uEe({type:a.type})),i=Ee({type:new Tt(e.fields),nullCount:0,children:t});super(e,i)}}let qr=class Hn{constructor(){this.bb=null,this.bb_pos=0}__init(e,t){return this.bb_pos=e,this.bb=t,this}static getRootAsMessage(e,t){return(t||new Hn).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsMessage(e,t){return e.setPosition(e.position()+He),(t||new Hn).__init(e.readInt32(e.position())+e.position(),e)}version(){const e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):ht.V1}headerType(){const e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb_pos+e):Ve.NONE}header(e){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__union(e,this.bb_pos+t):null}bodyLength(){const e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt64(this.bb_pos+e):BigInt("0")}customMetadata(e,t){const i=this.bb.__offset(this.bb_pos,12);return i?(t||new gt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+i)+e*4),this.bb):null}customMetadataLength(){const e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startMessage(e){e.startObject(5)}static addVersion(e,t){e.addFieldInt16(0,t,ht.V1)}static addHeaderType(e,t){e.addFieldInt8(1,t,Ve.NONE)}static addHeader(e,t){e.addFieldOffset(2,t,0)}static addBodyLength(e,t){e.addFieldInt64(3,t,BigInt("0"))}static addCustomMetadata(e,t){e.addFieldOffset(4,t,0)}static createCustomMetadataVector(e,t){e.startVector(4,t.length,4);for(let i=t.length-1;i>=0;i--)e.addOffset(t[i]);return e.endVector()}static startCustomMetadataVector(e,t){e.startVector(4,t,4)}static endMessage(e){return e.endObject()}static finishMessageBuffer(e,t){e.finish(t)}static finishSizePrefixedMessageBuffer(e,t){e.finish(t,void 0,!0)}static createMessage(e,t,i,a,u,f){return Hn.startMessage(e),Hn.addVersion(e,t),Hn.addHeaderType(e,i),Hn.addHeader(e,a),Hn.addBodyLength(e,u),Hn.addCustomMetadata(e,f),Hn.endMessage(e)}};class d1 extends Re{visit(e,t){return e==null||t==null?void 0:super.visit(e,t)}visitNull(e,t){return vm.startNull(t),vm.endNull(t)}visitInt(e,t){return en.startInt(t),en.addBitWidth(t,e.bitWidth),en.addIsSigned(t,e.isSigned),en.endInt(t)}visitFloat(e,t){return Kn.startFloatingPoint(t),Kn.addPrecision(t,e.precision),Kn.endFloatingPoint(t)}visitBinary(e,t){return hm.startBinary(t),hm.endBinary(t)}visitLargeBinary(e,t){return mm.startLargeBinary(t),mm.endLargeBinary(t)}visitBool(e,t){return pm.startBool(t),pm.endBool(t)}visitUtf8(e,t){return xm.startUtf8(t),xm.endUtf8(t)}visitLargeUtf8(e,t){return ym.startLargeUtf8(t),ym.endLargeUtf8(t)}visitDecimal(e,t){return ci.startDecimal(t),ci.addScale(t,e.scale),ci.addPrecision(t,e.precision),ci.addBitWidth(t,e.bitWidth),ci.endDecimal(t)}visitDate(e,t){return hl.startDate(t),hl.addUnit(t,e.unit),hl.endDate(t)}visitTime(e,t){return hn.startTime(t),hn.addUnit(t,e.unit),hn.addBitWidth(t,e.bitWidth),hn.endTime(t)}visitTimestamp(e,t){const i=e.timezone&&t.createString(e.timezone)||void 0;return pn.startTimestamp(t),pn.addUnit(t,e.unit),i!==void 0&&pn.addTimezone(t,i),pn.endTimestamp(t)}visitInterval(e,t){return Jn.startInterval(t),Jn.addUnit(t,e.unit),Jn.endInterval(t)}visitDuration(e,t){return pl.startDuration(t),pl.addUnit(t,e.unit),pl.endDuration(t)}visitList(e,t){return gm.startList(t),gm.endList(t)}visitStruct(e,t){return ks.startStruct_(t),ks.endStruct_(t)}visitUnion(e,t){Vt.startTypeIdsVector(t,e.typeIds.length);const i=Vt.createTypeIdsVector(t,e.typeIds);return Vt.startUnion(t),Vt.addMode(t,e.mode),Vt.addTypeIds(t,i),Vt.endUnion(t)}visitDictionary(e,t){const i=this.visit(e.indices,t);return wr.startDictionaryEncoding(t),wr.addId(t,BigInt(e.id)),wr.addIsOrdered(t,e.isOrdered),i!==void 0&&wr.addIndexType(t,i),wr.endDictionaryEncoding(t)}visitFixedSizeBinary(e,t){return ml.startFixedSizeBinary(t),ml.addByteWidth(t,e.byteWidth),ml.endFixedSizeBinary(t)}visitFixedSizeList(e,t){return yl.startFixedSizeList(t),yl.addListSize(t,e.listSize),yl.endFixedSizeList(t)}visitMap(e,t){return gl.startMap(t),gl.addKeysSorted(t,e.keysSorted),gl.endMap(t)}}const ad=new d1;function f1(n,e=new Map){return new We(p1(n,e),xl(n.metadata),e)}function dv(n){return new Rn(n.count,fv(n.columns),hv(n.columns))}function h1(n){return new kr(dv(n.data),n.id,n.isDelta)}function p1(n,e){return(n.fields||[]).filter(Boolean).map(t=>nt.fromJSON(t,e))}function Dm(n,e){return(n.children||[]).filter(Boolean).map(t=>nt.fromJSON(t,e))}function fv(n){return(n||[]).reduce((e,t)=>[...e,new Ai(t.count,m1(t.VALIDITY)),...fv(t.children)],[])}function hv(n,e=[]){for(let t=-1,i=(n||[]).length;++te+ +(t===0),0)}function y1(n,e){let t,i,a,u,f,h;return!e||!(u=n.dictionary)?(f=Fm(n,Dm(n,e)),a=new nt(n.name,f,n.nullable,xl(n.metadata))):e.has(t=u.id)?(i=(i=u.indexType)?Cm(i):new Lo,h=new Mi(e.get(t),i,t,u.isOrdered),a=new nt(n.name,h,n.nullable,xl(n.metadata))):(i=(i=u.indexType)?Cm(i):new Lo,e.set(t,f=Fm(n,Dm(n,e))),h=new Mi(f,i,t,u.isOrdered),a=new nt(n.name,h,n.nullable,xl(n.metadata))),a||null}function xl(n=[]){return new Map(n.map(({key:e,value:t})=>[e,t]))}function Cm(n){return new Ds(n.isSigned,n.bitWidth)}function Fm(n,e){const t=n.type.name;switch(t){case"NONE":return new ss;case"null":return new ss;case"binary":return new kl;case"largebinary":return new Il;case"utf8":return new Ml;case"largeutf8":return new Dl;case"bool":return new Cl;case"list":return new Rl((e||[])[0]);case"struct":return new Tt(e||[]);case"struct_":return new Tt(e||[])}switch(t){case"int":{const i=n.type;return new Ds(i.isSigned,i.bitWidth)}case"floatingpoint":{const i=n.type;return new jl(Dt[i.precision])}case"decimal":{const i=n.type;return new Fl(i.scale,i.precision,i.bitWidth)}case"date":{const i=n.type;return new Ol(gn[i.unit])}case"time":{const i=n.type;return new Tl(_e[i.unit],i.bitWidth)}case"timestamp":{const i=n.type;return new Al(_e[i.unit],i.timezone)}case"interval":{const i=n.type;return new Bl(nr[i.unit])}case"duration":{const i=n.type;return new El(_e[i.unit])}case"union":{const i=n.type,[a,...u]=(i.mode+"").toLowerCase(),f=a.toUpperCase()+u.join("");return new Ll(Ht[f],i.typeIds||[],e||[])}case"fixedsizebinary":{const i=n.type;return new Ul(i.byteWidth)}case"fixedsizelist":{const i=n.type;return new $l(i.listSize,(e||[])[0])}case"map":{const i=n.type;return new Pl((e||[])[0],i.keysSorted)}}throw new Error(`Unrecognized type: "${t}"`)}var g1=Iy,v1=ki;class Bn{static fromJSON(e,t){const i=new Bn(0,ht.V5,t);return i._createHeader=x1(e,t),i}static decode(e){e=new v1($e(e));const t=qr.getRootAsMessage(e),i=t.bodyLength(),a=t.version(),u=t.headerType(),f=new Bn(i,a,u);return f._createHeader=b1(t,u),f}static encode(e){const t=new g1;let i=-1;return e.isSchema()?i=We.encode(t,e.header()):e.isRecordBatch()?i=Rn.encode(t,e.header()):e.isDictionaryBatch()&&(i=kr.encode(t,e.header())),qr.startMessage(t),qr.addVersion(t,ht.V5),qr.addHeader(t,i),qr.addHeaderType(t,e.headerType),qr.addBodyLength(t,BigInt(e.bodyLength)),qr.finishMessageBuffer(t,qr.endMessage(t)),t.asUint8Array()}static from(e,t=0){if(e instanceof We)return new Bn(0,ht.V5,Ve.Schema,e);if(e instanceof Rn)return new Bn(t,ht.V5,Ve.RecordBatch,e);if(e instanceof kr)return new Bn(t,ht.V5,Ve.DictionaryBatch,e);throw new Error(`Unrecognized Message header: ${e}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===Ve.Schema}isRecordBatch(){return this.headerType===Ve.RecordBatch}isDictionaryBatch(){return this.headerType===Ve.DictionaryBatch}constructor(e,t,i,a){this._version=t,this._headerType=i,this.body=new Uint8Array(0),a&&(this._createHeader=()=>a),this._bodyLength=tt(e)}}class Rn{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}constructor(e,t,i){this._nodes=t,this._buffers=i,this._length=tt(e)}}class kr{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(e,t,i=!1){this._data=e,this._isDelta=i,this._id=tt(t)}}class _r{constructor(e,t){this.offset=tt(e),this.length=tt(t)}}class Ai{constructor(e,t){this.length=tt(e),this.nullCount=tt(t)}}function x1(n,e){return(()=>{switch(e){case Ve.Schema:return We.fromJSON(n);case Ve.RecordBatch:return Rn.fromJSON(n);case Ve.DictionaryBatch:return kr.fromJSON(n)}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)})}function b1(n,e){return(()=>{switch(e){case Ve.Schema:return We.decode(n.header(new Gn),new Map,n.version());case Ve.RecordBatch:return Rn.decode(n.header(new yr),n.version());case Ve.DictionaryBatch:return kr.decode(n.header(new li),n.version())}throw new Error(`Unrecognized Message type: { name: ${Ve[e]}, type: ${e} }`)})}nt.encode=F1;nt.decode=D1;nt.fromJSON=y1;We.encode=C1;We.decode=w1;We.fromJSON=f1;Rn.encode=O1;Rn.decode=S1;Rn.fromJSON=dv;kr.encode=T1;kr.decode=_1;kr.fromJSON=h1;Ai.encode=A1;Ai.decode=j1;_r.encode=B1;_r.decode=N1;function w1(n,e=new Map,t=ht.V5){const i=M1(n,e);return new We(i,bl(n),e,t)}function S1(n,e=ht.V5){if(n.compression()!==null)throw new Error("Record batch compression not implemented");return new Rn(n.length(),k1(n),I1(n,e))}function _1(n,e=ht.V5){return new kr(Rn.decode(n.data(),e),n.id(),n.isDelta())}function N1(n){return new _r(n.offset(),n.length())}function j1(n){return new Ai(n.length(),n.nullCount())}function k1(n){const e=[];for(let t,i=-1,a=-1,u=n.nodesLength();++int.encode(n,u));Gn.startFieldsVector(n,t.length);const i=Gn.createFieldsVector(n,t),a=e.metadata&&e.metadata.size>0?Gn.createCustomMetadataVector(n,[...e.metadata].map(([u,f])=>{const h=n.createString(`${u}`),m=n.createString(`${f}`);return gt.startKeyValue(n),gt.addKey(n,h),gt.addValue(n,m),gt.endKeyValue(n)})):-1;return Gn.startSchema(n),Gn.addFields(n,i),Gn.addEndianness(n,E1?Ii.Little:Ii.Big),a!==-1&&Gn.addCustomMetadata(n,a),Gn.endSchema(n)}function F1(n,e){let t=-1,i=-1,a=-1;const u=e.type;let f=e.typeId;me.isDictionary(u)?(f=u.dictionary.typeId,a=ad.visit(u,n),i=ad.visit(u.dictionary,n)):i=ad.visit(u,n);const h=(u.children||[]).map(v=>nt.encode(n,v)),m=dn.createChildrenVector(n,h),g=e.metadata&&e.metadata.size>0?dn.createCustomMetadataVector(n,[...e.metadata].map(([v,x])=>{const b=n.createString(`${v}`),w=n.createString(`${x}`);return gt.startKeyValue(n),gt.addKey(n,b),gt.addValue(n,w),gt.endKeyValue(n)})):-1;return e.name&&(t=n.createString(e.name)),dn.startField(n),dn.addType(n,i),dn.addTypeType(n,f),dn.addChildren(n,m),dn.addNullable(n,!!e.nullable),t!==-1&&dn.addName(n,t),a!==-1&&dn.addDictionary(n,a),g!==-1&&dn.addCustomMetadata(n,g),dn.endField(n)}function O1(n,e){const t=e.nodes||[],i=e.buffers||[];yr.startNodesVector(n,t.length);for(const f of t.slice().reverse())Ai.encode(n,f);const a=n.endVector();yr.startBuffersVector(n,i.length);for(const f of i.slice().reverse())_r.encode(n,f);const u=n.endVector();return yr.startRecordBatch(n),yr.addLength(n,BigInt(e.length)),yr.addNodes(n,a),yr.addBuffers(n,u),yr.endRecordBatch(n)}function T1(n,e){const t=Rn.encode(n,e.data);return li.startDictionaryBatch(n),li.addId(n,BigInt(e.id)),li.addIsDelta(n,e.isDelta),li.addData(n,t),li.endDictionaryBatch(n)}function A1(n,e){return Cy.createFieldNode(n,BigInt(e.length),BigInt(e.nullCount))}function B1(n,e){return Dy.createBuffer(n,BigInt(e.offset),BigInt(e.length))}const E1=(()=>{const n=new ArrayBuffer(2);return new DataView(n).setInt16(0,256,!0),new Int16Array(n)[0]===256})(),Xd=n=>`Expected ${Ve[n]} Message in stream, but was null or length 0.`,ef=n=>`Header pointer of flatbuffer-encoded ${Ve[n]} Message is null or length 0.`,pv=(n,e)=>`Expected to read ${n} metadata bytes, but only read ${e}.`,mv=(n,e)=>`Expected to read ${n} bytes for message body, but only read ${e}.`;class yv{constructor(e){this.source=e instanceof Hl?e:new Hl(e)}[Symbol.iterator](){return this}next(){let e;return(e=this.readMetadataLength()).done||e.value===-1&&(e=this.readMetadataLength()).done||(e=this.readMetadata(e.value)).done?at:e}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}readMessage(e){let t;if((t=this.next()).done)return null;if(e!=null&&t.value.headerType!==e)throw new Error(Xd(e));return t.value}readMessageBody(e){if(e<=0)return new Uint8Array(0);const t=$e(this.source.read(e));if(t.byteLength[...a,...u.VALIDITY&&[u.VALIDITY]||[],...u.TYPE_ID&&[u.TYPE_ID]||[],...u.OFFSET&&[u.OFFSET]||[],...u.DATA&&[u.DATA]||[],...t(u.children)],[])}}readMessage(e){let t;if((t=this.next()).done)return null;if(e!=null&&t.value.headerType!==e)throw new Error(Xd(e));return t.value}readSchema(){const e=Ve.Schema,t=this.readMessage(e),i=t==null?void 0:t.header();if(!t||!i)throw new Error(ef(e));return i}}const iu=4,Cd="ARROW1",Yl=new Uint8Array(Cd.length);for(let n=0;nthis):this}readRecordBatch(e){return this._impl.isFile()?this._impl.readRecordBatch(e):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return fn.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return fn.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,t){throw new Error('"throughDOM" not available in this environment')}static from(e){return e instanceof jr?e:bd(e)?V1(e):wy(e)?G1(e):Ao(e)?Fe(this,void 0,void 0,function*(){return yield jr.from(yield e)}):Sy(e)||Rd(e)||Ny(e)||Ed(e)?H1(new Ci(e)):W1(new Hl(e))}static readAll(e){return e instanceof jr?e.isSync()?Bm(e):Em(e):bd(e)||ArrayBuffer.isView(e)||nu(e)||by(e)?Bm(e):Em(e)}}class Ql extends jr{constructor(e){super(e),this._impl=e}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return qn(this,arguments,function*(){yield Ae(yield*fl(xi(this[Symbol.iterator]())))})}}class Kl extends jr{constructor(e){super(e),this._impl=e}readAll(){return Fe(this,void 0,void 0,function*(){var e,t,i,a;const u=new Array;try{for(var f=!0,h=xi(this),m;m=yield h.next(),e=m.done,!e;f=!0){a=m.value,f=!1;const g=a;u.push(g)}}catch(g){t={error:g}}finally{try{!f&&!e&&(i=h.return)&&(yield i.call(h))}finally{if(t)throw t.error}}return u})}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}}class vv extends Ql{constructor(e){super(e),this._impl=e}}class $1 extends Kl{constructor(e){super(e),this._impl=e}}class xv{get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}constructor(e=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=e}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(e){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=e,this.dictionaries=new Map,this}_loadRecordBatch(e,t){const i=this._loadVectors(e,t,this.schema.fields),a=Ee({type:new Tt(this.schema.fields),length:e.length,children:i});return new An(this.schema,a)}_loadDictionaryBatch(e,t){const{id:i,isDelta:a}=e,{dictionaries:u,schema:f}=this,h=u.get(i),m=f.dictionaries.get(i),g=this._loadVectors(e.data,t,[m]);return(h&&a?h.concat(new Je(g)):new Je(g)).memoize()}_loadVectors(e,t,i){return new ov(t,e.nodes,e.buffers,this.dictionaries,this.schema.metadataVersion).visitMany(i)}}class Jl extends xv{constructor(e,t){super(t),this._reader=bd(e)?new L1(this._handle=e):new yv(this._handle=e)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(e){return this.closed||(this.autoDestroy=wv(this,e),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(e):at}return(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(e):at}next(){if(this.closed)return at;let e;const{_reader:t}=this;for(;e=this._readNextMessageAndValidate();)if(e.isSchema())this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const i=e.header(),a=t.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(i,a)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const i=e.header(),a=t.readMessageBody(e.bodyLength),u=this._loadDictionaryBatch(i,a);this.dictionaries.set(i.id,u)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new cv(this.schema)}):this.return()}_readNextMessageAndValidate(e){return this._reader.readMessage(e)}}class ql extends xv{constructor(e,t){super(t),this._reader=new R1(this._handle=e)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return Fe(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(e){return Fe(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=wv(this,e),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(e){return Fe(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(e):at})}return(e){return Fe(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(e):at})}next(){return Fe(this,void 0,void 0,function*(){if(this.closed)return at;let e;const{_reader:t}=this;for(;e=yield this._readNextMessageAndValidate();)if(e.isSchema())yield this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;const i=e.header(),a=yield t.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(i,a)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;const i=e.header(),a=yield t.readMessageBody(e.bodyLength),u=this._loadDictionaryBatch(i,a);this.dictionaries.set(i.id,u)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new cv(this.schema)}):yield this.return()})}_readNextMessageAndValidate(e){return Fe(this,void 0,void 0,function*(){return yield this._reader.readMessage(e)})}}class bv extends Jl{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(e,t){super(e instanceof Im?e:new Im(e),t)}isSync(){return!0}isFile(){return!0}open(e){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(const t of this._footer.dictionaryBatches())t&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(e)}readRecordBatch(e){var t;if(this.closed)return null;this._footer||this.open();const i=(t=this._footer)===null||t===void 0?void 0:t.getRecordBatch(e);if(i&&this._handle.seek(i.offset)){const a=this._reader.readMessage(Ve.RecordBatch);if(a!=null&&a.isRecordBatch()){const u=a.header(),f=this._reader.readMessageBody(a.bodyLength);return this._loadRecordBatch(u,f)}}return null}_readDictionaryBatch(e){var t;const i=(t=this._footer)===null||t===void 0?void 0:t.getDictionaryBatch(e);if(i&&this._handle.seek(i.offset)){const a=this._reader.readMessage(Ve.DictionaryBatch);if(a!=null&&a.isDictionaryBatch()){const u=a.header(),f=this._reader.readMessageBody(a.bodyLength),h=this._loadDictionaryBatch(u,f);this.dictionaries.set(u.id,h)}}}_readFooter(){const{_handle:e}=this,t=e.size-gv,i=e.readInt32(t),a=e.readAt(t-i,i);return Qd.decode(a)}_readNextMessageAndValidate(e){var t;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return Fe(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(const i of this._footer.dictionaryBatches())i&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield t.open.call(this,e)})}readRecordBatch(e){return Fe(this,void 0,void 0,function*(){var t;if(this.closed)return null;this._footer||(yield this.open());const i=(t=this._footer)===null||t===void 0?void 0:t.getRecordBatch(e);if(i&&(yield this._handle.seek(i.offset))){const a=yield this._reader.readMessage(Ve.RecordBatch);if(a!=null&&a.isRecordBatch()){const u=a.header(),f=yield this._reader.readMessageBody(a.bodyLength);return this._loadRecordBatch(u,f)}}return null})}_readDictionaryBatch(e){return Fe(this,void 0,void 0,function*(){var t;const i=(t=this._footer)===null||t===void 0?void 0:t.getDictionaryBatch(e);if(i&&(yield this._handle.seek(i.offset))){const a=yield this._reader.readMessage(Ve.DictionaryBatch);if(a!=null&&a.isDictionaryBatch()){const u=a.header(),f=yield this._reader.readMessageBody(a.bodyLength),h=this._loadDictionaryBatch(u,f);this.dictionaries.set(u.id,h)}}})}_readFooter(){return Fe(this,void 0,void 0,function*(){const{_handle:e}=this;e._pending&&(yield e._pending);const t=e.size-gv,i=yield e.readInt32(t),a=yield e.readAt(t-i,i);return Qd.decode(a)})}_readNextMessageAndValidate(e){return Fe(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?tf(e)?new vv(new bv(n.read())):new Ql(new Jl(n)):new Ql(new Jl((function*(){})()))}function H1(n){return Fe(this,void 0,void 0,function*(){const e=yield n.peek(Wo+7&-8);return e&&e.byteLength>=4?tf(e)?new vv(new bv(yield n.read())):new Kl(new ql(n)):new Kl(new ql((function(){return qn(this,arguments,function*(){})})()))})}function G1(n){return Fe(this,void 0,void 0,function*(){const{size:e}=yield n.stat(),t=new Gl(n,e);return e>=U1&&tf(yield t.readAt(0,Wo+7&-8))?new $1(new P1(t)):new Kl(new ql(t))})}function Sv(n){const e=jr.from(n);return Ao(e)?e.then(t=>Sv(t)):e.isAsync()?e.readAll().then(t=>new mn(t)):new mn(e.readAll())}function Y1(n){if(n==null)return null;if(typeof n=="bigint"){const e=Number(n);return Number.isSafeInteger(e)?e:n.toString()}if(n instanceof Date){const e=n.toISOString();return e.endsWith("T00:00:00.000Z")?e.slice(0,10):e}return typeof n=="object"?String(n):n}function Q1(n){const e=Sv(n),t=e.schema.fields.map(a=>a.name),i=new Array(e.numRows);for(let a=0;a({...e,charts:e.charts.map(t=>{var f,h;const i=t.query,a=(f=t.interactions)==null?void 0:f.brush,u=(h=t.interactions)==null?void 0:h.select;return{...t,query:{...i,metrics:Zr(i.metrics)??[],dimensions:Zr(i.dimensions),filters:Zr(i.filters),segments:Zr(i.segments),order_by:Zr(i.order_by),orderBy:Zr(i.orderBy)},interactions:t.interactions?{...t.interactions,brush:typeof a=="object"?{...a,fields:Zr(a.fields)}:a,select:typeof u=="object"?{...u,fields:Zr(u.fields)}:u}:void 0}})}))}}const J1="application/vnd.apache.arrow.stream";class q1{constructor(e){Mn(this,"active",0);Mn(this,"waiters",[]);this.max=e}async run(e){var t;this.active>=this.max&&await new Promise(i=>this.waiters.push(i)),this.active+=1;try{return await e()}finally{this.active-=1,(t=this.waiters.shift())==null||t()}}}function Z1(n){var t,i,a,u,f;const e={};return(t=n.metrics)!=null&&t.length&&(e.metrics=n.metrics),(i=n.dimensions)!=null&&i.length&&(e.dimensions=n.dimensions),(a=n.filters)!=null&&a.length&&(e.filters=n.filters),(u=n.segments)!=null&&u.length&&(e.segments=n.segments),(f=n.orderBy)!=null&&f.length&&(e.order_by=n.orderBy),n.limit!=null&&(e.limit=n.limit),n.offset!=null&&(e.offset=n.offset),n.ungrouped&&(e.ungrouped=!0),n.parameters&&(e.parameters=n.parameters),n.usePreaggregations!=null&&(e.use_preaggregations=n.usePreaggregations),n.timezone&&n.timezone!=="UTC"&&(e.timezone=n.timezone),e}class X1{constructor(e={}){Mn(this,"baseUrl");Mn(this,"token");Mn(this,"sessionToken");Mn(this,"transport");Mn(this,"usePreaggregations");Mn(this,"gate");Mn(this,"onUnauthorized");this.baseUrl=(e.baseUrl??"").replace(/\/$/,""),this.token=e.token,this.transport=e.transport??"json",this.usePreaggregations=e.usePreaggregations??!0,this.gate=new q1(e.maxConcurrency??6),this.onUnauthorized=e.onUnauthorized}body(e){return Z1({usePreaggregations:this.usePreaggregations,...e})}headers(e){const t={...e};return this.sessionToken?t.Authorization=`Sidemantic-Session ${this.sessionToken}`:this.token&&(t.Authorization=`Bearer ${this.token}`),t}isCrossOrigin(){return!this.baseUrl||typeof globalThis.location>"u"?!1:new URL(this.baseUrl,globalThis.location.href).origin!==globalThis.location.origin}url(e){return`${this.baseUrl}${e}`}async getJson(e){const t=await fetch(this.url(e),{headers:this.headers(),credentials:"include"});if(!t.ok)throw new Error(await this.errorText(t,e));return await t.json()}async errorText(e,t){var a;e.status===401&&((a=this.onUnauthorized)==null||a.call(this));let i="";try{const u=await e.json();i=u.error??u.detail??""}catch{}return`${t} failed (${e.status})${i?`: ${i}`:""}`}async health(){try{return(await fetch(this.url("/health"),{headers:this.headers(),credentials:"include"})).ok}catch{return!1}}async getCatalog(){try{const t=await fetch(this.url("/describe"),{headers:this.headers(),credentials:"include"});if(t.ok){const i=vb(await t.json());try{return bb(i,await this.getJson("/graph"))}catch{return i}}}catch{}const e=await this.getJson("/graph");return xb(e)}async getDashboard(){try{const e=await fetch(this.url("/dashboard"),{headers:this.headers()});if(e.status===404)return null;if(!e.ok)throw new Error(await this.errorText(e,"/dashboard"));if(!(e.headers.get("content-type")??"").includes("application/json"))return null;const t=await e.json();return typeof t.title=="string"&&Array.isArray(t.tabs)?K1(t):null}catch{return null}}async compile(e){const t=await fetch(this.url("/compile"),{method:"POST",headers:this.headers({"Content-Type":"application/json"}),credentials:"include",body:JSON.stringify(this.body(e))});if(!t.ok)throw new Error(await this.errorText(t,"/compile"));return(await t.json()).sql}async runQuery(e){return this.gate.run(()=>this.transport==="arrow"?this.runQueryArrow(e):this.runQueryJson(e))}async runQueryJson(e){const t=await fetch(this.url("/query"),{method:"POST",headers:this.headers({"Content-Type":"application/json"}),credentials:"include",body:JSON.stringify(this.body(e))});if(!t.ok)throw new Error(await this.errorText(t,"/query"));const i=await t.json(),a=i.rows??[];return{columns:a.length?Object.keys(a[0]):[],rows:a,rowCount:i.row_count??a.length,sql:i.sql??""}}async runQueryArrow(e){const t=await fetch(this.url("/query?format=arrow"),{method:"POST",headers:this.headers({"Content-Type":"application/json",Accept:J1}),credentials:"include",body:JSON.stringify(this.body(e))});if(!t.ok)throw new Error(await this.errorText(t,"/query"));const i=new Uint8Array(await t.arrayBuffer()),{columns:a,rows:u}=Q1(i),f=t.headers.get("X-Sidemantic-Sql")??"";return{columns:a,rows:u,rowCount:u.length,sql:f}}async createBrowserSession(e){var a;const t=this.isCrossOrigin(),i=await fetch(this.url("/auth/session"),{method:"POST",headers:{Authorization:`Bearer ${e}`,...t?{"X-Sidemantic-Session-Mode":"header"}:{}},credentials:"include"});if(i.status===404||i.ok&&!((a=i.headers.get("content-type"))!=null&&a.includes("application/json"))){this.token=e;return}if(!i.ok)throw new Error(await this.errorText(i,"/auth/session"));if(t){const u=await i.json();if(!u.session_token)throw new Error("/auth/session did not return a cross-origin session token");this.sessionToken=u.session_token}this.token=void 0}}function _v({brand:n,toolbar:e,filters:t,rail:i,children:a,drawer:u,showRail:f=!0,openRailRequest:h}){const[m,g]=D.useState(()=>typeof window<"u"&&window.matchMedia("(max-width: 767px)").matches),[v,x]=D.useState(()=>typeof window>"u"||!window.matchMedia("(max-width: 767px)").matches),b=D.useId(),w=D.useRef(null),j=D.useRef(null),C=f&&v;return D.useEffect(()=>{const O=window.matchMedia("(max-width: 767px)"),H=()=>{g(O.matches),x(!O.matches)};return O.addEventListener("change",H),()=>O.removeEventListener("change",H)},[]),D.useEffect(()=>{h&&!m&&x(!0)},[h,m]),D.useEffect(()=>{if(!m||!v)return;const O=j.current,H=document.body.style.overflow;document.body.style.overflow="hidden",window.requestAnimationFrame(()=>{var R,T;return(T=(R=w.current)==null?void 0:R.querySelector("button"))==null?void 0:T.focus()});function L(R){var U;if(R.key==="Escape"){R.preventDefault(),x(!1);return}if(R.key!=="Tab")return;const T=(U=w.current)==null?void 0:U.querySelectorAll('button:not(:disabled), select:not(:disabled), input:not(:disabled), [href], [tabindex]:not([tabindex="-1"])');if(!(T!=null&&T.length))return;const E=T[0],I=T[T.length-1];R.shiftKey&&document.activeElement===E?(R.preventDefault(),I.focus()):!R.shiftKey&&document.activeElement===I&&(R.preventDefault(),E.focus())}return document.addEventListener("keydown",L,!0),()=>{document.body.style.overflow=H,document.removeEventListener("keydown",L,!0),O==null||O.focus()}},[m,v]),c.jsxs("div",{className:"flex h-[100dvh] min-w-0 flex-col overflow-hidden bg-bg text-ink",children:[c.jsxs("header",{className:"relative z-40 flex shrink-0 flex-col gap-2 border-b border-line bg-surface px-3 py-2 md:flex-row md:items-center md:justify-between md:gap-3",children:[c.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[f?c.jsx("button",{ref:j,type:"button","aria-label":m?"Open catalog":v?"Collapse sidebar":"Expand sidebar","aria-expanded":v,"aria-controls":b,onClick:()=>x(O=>!O),className:"grid size-7 shrink-0 place-items-center border border-line text-faint hover:border-faint hover:text-ink",children:v?"‹":"›"}):null,n]}),c.jsx("div",{className:"flex w-full min-w-0 flex-wrap items-center gap-2 overflow-visible md:w-auto md:shrink-0 md:flex-nowrap",children:e})]}),t?c.jsx("div",{className:"flex min-h-9 shrink-0 flex-wrap items-center gap-2 overflow-x-auto border-b border-line bg-surface px-3 py-2 md:h-9 md:flex-nowrap md:py-0",children:t}):null,c.jsxs("div",{className:`grid min-h-0 min-w-0 flex-1 grid-cols-1 ${C?"md:grid-cols-[260px_minmax(0,1fr)]":"md:grid-cols-1"}`,children:[f&&C?c.jsxs(c.Fragment,{children:[m?c.jsx("button",{type:"button","aria-label":"Close catalog",className:"fixed inset-0 z-40 bg-black/35 backdrop-blur-[2px]",onClick:()=>x(!1)}):null,c.jsxs("aside",{id:b,ref:w,role:m?"dialog":void 0,"aria-modal":m?"true":void 0,"aria-label":m?"Data catalog":void 0,onClick:O=>{m&&O.target.closest("[data-catalog-metric], [data-catalog-dimension]")&&x(!1)},onChange:()=>m&&x(!1),className:"fixed inset-y-0 left-0 z-50 min-h-0 w-[min(88vw,320px)] overflow-y-auto bg-surface shadow-[var(--shadow)] md:static md:z-auto md:w-auto md:border-r md:border-line md:shadow-none",children:[m?c.jsxs("div",{"data-testid":"catalog-drawer-header",className:"sticky top-0 z-10 flex items-center justify-between border-b border-line bg-surface px-4 py-3",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-sm font-semibold text-ink",children:"Catalog"}),c.jsx("p",{className:"text-xs text-muted",children:"Choose a model and fields"})]}),c.jsx("button",{type:"button","aria-label":"Close catalog",onClick:()=>x(!1),className:"grid size-10 place-items-center rounded-full bg-surface-soft text-muted hover:bg-line hover:text-ink",children:c.jsx("span",{"aria-hidden":"true",className:"text-xl leading-none",children:"×"})})]}):null,i]})]}):null,c.jsxs("main",{className:"relative min-h-0 min-w-0 overflow-hidden",children:[c.jsx("div",{className:`h-full overflow-y-auto ${u?"pb-8":""}`,children:a}),u]})]})]})}function eS({dashboardTitle:n,modelLabel:e,onHome:t}){const i=c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"text-sm font-semibold text-ink",children:n??"Sidemantic"}),n===void 0&&e?c.jsx("span",{className:"truncate text-2xs text-faint",children:e}):null]});return n!==void 0?c.jsx("span",{className:"flex min-w-0 items-baseline gap-2",children:i}):c.jsx("button",{type:"button",onClick:t,"aria-label":"Home",className:"flex min-w-0 items-baseline gap-2",children:i})}const tS=new Set(["second","minute","hour","day","week","month","quarter","year"]);function il(n){return n===void 0?[]:Array.isArray(n)?n:[n]}function ol(n,e){return n.models.flatMap(t=>t.dimensions).find(t=>e===t.ref||e.startsWith(`${t.ref}__`))}function nS(n,e){const t=n.split("__").at(-1);return t&&tS.has(t)?t:e}function rS(n){var a;const e=(a=n.defaults)==null?void 0:a.query;if(!e||typeof e!="object")return;const t=e,i=t.use_preaggregations??t.usePreaggregations;return typeof i=="boolean"?i:void 0}function sS(n,e){var u;const t=(u=n.defaults)==null?void 0:u.query,i=t&&typeof t=="object"?t:{},a=e.query.interaction_preaggregations??e.query.interactionPreaggregations??e.interaction_preaggregations??e.interactionPreaggregations??i.interaction_preaggregations??i.interactionPreaggregations;return typeof a=="boolean"?a:void 0}function Cs(n,e,t){var T,E,I,U,G,V,Q;if(!(e!=null&&e.tabs.length))return null;const i=e.tabs.find(z=>z.id===t)??e.tabs[0],a=i.charts[0];if(!a)return null;const u=il(a.query.dimensions),f=il(a.query.metrics),h=f.map(z=>{var ee;return(ee=n.graphMetrics.find(X=>X.ref===z))==null?void 0:ee.ownerModel}).find(z=>!!z),m=((T=f.find(z=>z.includes(".")))==null?void 0:T.split(".")[0])??h??((E=u.find(z=>z.includes(".")))==null?void 0:E.split(".")[0]),g=n.models.find(z=>z.name===m)??n.models[0];if(!g)return null;const v=[...n.models.flatMap(z=>z.metrics),...ji(n,g.name)],x=f.map(z=>v.find(ee=>ee.ref===z)).filter(z=>!!z),b=u.map(z=>ol(n,z)).filter((z,ee,X)=>!!z&&X.findIndex(ie=>(ie==null?void 0:ie.ref)===(z==null?void 0:z.ref))===ee),w=(I=a.encoding)==null?void 0:I.y,C=(Array.isArray(w)?w:w?[w]:[]).find(z=>x.some(ee=>ee.ref===z))??((U=x[0])==null?void 0:U.ref)??((G=g.metrics[0])==null?void 0:G.ref)??"",O=(V=a.encoding)==null?void 0:V.x,H=(O&&((Q=ol(n,O))==null?void 0:Q.type)==="time"?O:void 0)??u.find(z=>{var ee;return((ee=ol(n,z))==null?void 0:ee.type)==="time"}),L=g.defaultGrain??"month",R=H?ol(n,H):g.timeDimension;return{id:i.id,label:i.label??i.id,title:a.title??e.title,model:g,metrics:x.length?x:g.metrics,dimensions:b.length?b:g.dimensions,timeDimension:R,selectedMetric:C,grain:H?nS(H,L):L,filters:il(a.query.filters),segments:il(a.query.segments),usePreaggregations:sS(e,a)??a.query.use_preaggregations??a.query.usePreaggregations??rS(e)}}const Fd=["second","minute","hour","day","week","month","quarter","year"];function iS(n,e){if(n!=null&&n.length){const i=new Set(n.map(u=>u.toLowerCase())),a=Fd.filter(u=>i.has(u));if(a.length)return a}const t=["day","week","month","quarter","year"];return e&&!t.includes(e)?Fd.filter(i=>i===e||t.includes(i)):t}function Ni(n){return n.toISOString().slice(0,10)}function nf(n){return n.slice(0,10)}function Oi(n){const e=n.trim();return/^\d{4}-\d{2}-\d{2}$/.test(e)?`${e}T00:00:00Z`:/[zZ]|[+-]\d{2}:?\d{2}$/.test(e)?e:`${e.replace(" ","T")}Z`}function Fs(n){return new Date(`${nf(n)}T00:00:00Z`)}function Uo(n,e){const t=Fs(n);return t.setUTCDate(t.getUTCDate()+e),Ni(t)}function oS(n){return Math.round((Fs(n.to).getTime()-Fs(n.from).getTime())/864e5)+1}function aS(n){if(n.from.includes("T")||n.to.includes("T")){const a=Date.parse(Oi(n.from)),f=Date.parse(Oi(n.to))-a;return{from:new Date(a-f).toISOString().slice(0,19),to:new Date(a).toISOString().slice(0,19)}}const e=oS(n),t=Uo(n.from,-1);return{from:Uo(t,-(e-1)),to:t}}function Rm(n){if(n.includes("T")){const f=new Date(Oi(n)),h=f.getUTCFullYear()-1,m=f.getUTCMonth(),g=new Date(Date.UTC(h,m+1,0)).getUTCDate();return new Date(Date.UTC(h,m,Math.min(f.getUTCDate(),g),f.getUTCHours(),f.getUTCMinutes(),f.getUTCSeconds())).toISOString().slice(0,19)}const e=Fs(n),t=e.getUTCFullYear()-1,i=e.getUTCMonth(),a=e.getUTCDate(),u=new Date(Date.UTC(t,i+1,0)).getUTCDate();return Ni(new Date(Date.UTC(t,i,Math.min(a,u))))}function lS(n){return{from:Rm(n.from),to:Rm(n.to)}}function uS(n,e){const t=n.trim(),i=t.slice(0,10);if(e!=="second"&&e!=="minute"&&e!=="hour")return i||n;const a=t.slice(10).match(/(\d{2}):(\d{2})(?::(\d{2}))?/);if(!a)return i||n;const u=e==="second"&&a[3]?`${a[1]}:${a[2]}:${a[3]}`:`${a[1]}:${a[2]}`;return`${i} ${u}`}const cS=[{key:"7d",label:"Last 7 days",days:7},{key:"28d",label:"Last 28 days",days:28},{key:"90d",label:"Last 90 days",days:90},{key:"180d",label:"Last 180 days",days:180},{key:"365d",label:"Last 12 months",days:365}];function dS(n,e=new Date){const t=Ni(e);return{from:Uo(t,-(n-1)),to:t}}function fS(n,e){return e.from.includes("T")||e.to.includes("T")?[`${n} >= cast('${e.from}' as timestamp)`,`${n} < cast('${e.to}' as timestamp)`]:[`${n} >= cast('${e.from}' as date)`,`${n} < cast('${Uo(e.to,1)}' as date)`]}function Lm(n,e,t){if(t==="second"||t==="minute"||t==="hour"){const f=t==="second"?1e3:t==="minute"?6e4:36e5;return Math.round((Date.parse(Oi(e))-Date.parse(Oi(n)))/f)}const i=Fs(n),a=Fs(e),u=(a.getUTCFullYear()-i.getUTCFullYear())*12+(a.getUTCMonth()-i.getUTCMonth());switch(t){case"week":return Math.round((a.getTime()-i.getTime())/(7*864e5));case"month":return u;case"quarter":return Math.round(u/3);case"year":return a.getUTCFullYear()-i.getUTCFullYear();default:return Math.round((a.getTime()-i.getTime())/864e5)}}function ld(n,e){return new Date(Date.parse(Oi(n))+e).toISOString().slice(0,19)}function hS(n,e){const t=nf(n),i=Fs(t);switch(e){case"second":return ld(n,1e3);case"minute":return ld(n,6e4);case"hour":return ld(n,36e5);case"day":return t;case"week":return Uo(n,6);case"month":return Ni(new Date(Date.UTC(i.getUTCFullYear(),i.getUTCMonth()+1,0)));case"quarter":{const a=Math.floor(i.getUTCMonth()/3)*3+3;return Ni(new Date(Date.UTC(i.getUTCFullYear(),a,0)))}case"year":return Ni(new Date(Date.UTC(i.getUTCFullYear(),12,0)));default:return n}}function rf(n){return n.mode==="contains"?!n.pattern:n.values.length===0}function sf(n){return Object.fromEntries(n.map(e=>[e.ref,e.type]))}function ou(n){return sf(n.models.flatMap(e=>e.dimensions))}function Um(n,e){if((e==="numeric"||e==="number")&&n.trim()!==""&&Number.isFinite(Number(n)))return n;if(e==="boolean"){const t=n.toLowerCase();if(t==="true"||t==="false")return t}return Tn(n)}function Nv(n){return n.replaceAll("\\","\\\\").replaceAll("%","\\%").replaceAll("_","\\_")}function pS(n,e,t){const i=e.mode==="exclude",a=e.values.includes(er),u=e.values.filter(h=>h!==er);let f=null;if(u.length===1)f=`${n} ${i?"!=":"="} ${Um(u[0],t)}`;else if(u.length>1){const h=u.map(m=>Um(m,t)).join(", ");f=`${n} ${i?"NOT IN":"IN"} (${h})`}if(!i){const h=[];return f&&h.push(f),a&&h.push(`${n} IS NULL`),h.length===0?null:h.length===1?h[0]:`(${h.join(" OR ")})`}if(a){const h=[];return f&&h.push(f),h.push(`${n} IS NOT NULL`),h.length===1?h[0]:`(${h.join(" AND ")})`}return f?`(${f} OR ${n} IS NULL)`:null}function jv(n,e={}){var i;const t=[];for(const[a,u]of Object.entries(n)){if(a===e.excludeDim||rf(u))continue;const f=(i=e.types)==null?void 0:i[a];if(u.mode==="contains"){const m=Tn(`%${Nv(u.pattern??"")}%`);t.push(`CAST(${a} AS VARCHAR) ILIKE ${m} ESCAPE '\\'`);continue}const h=pS(a,u,f);h&&t.push(h)}return t}function Os(n,e={}){const t=jv(n,{types:e.types,excludeDim:e.excludeDim});return e.timeRef&&e.range&&t.push(...fS(e.timeRef,e.range)),t}function $m(n,e,t,i){return{metrics:n,filters:e,...t!=null&&t.length?{segments:t}:{},...i!=null?{usePreaggregations:i}:{}}}const mS={second:2e3,minute:2e3,hour:9600,day:4e3,week:800,month:240,quarter:120,year:60};function Pm(n,e,t,i,a,u,f=!1){const h=`${e}__${t}`,m=t==="second"||t==="minute",g=m&&!f;return{metrics:n,dimensions:[h],filters:i,...a!=null&&a.length?{segments:a}:{},...u!=null?{usePreaggregations:u}:{},orderBy:[`${h} ${g?"DESC":"ASC"}`],...!m||g?{limit:mS[t]??2e3}:{}}}function zm(n,e,t,i=6,a,u){return{metrics:[n],dimensions:[e],filters:t,...a!=null&&a.length?{segments:a}:{},...u!=null?{usePreaggregations:u}:{},orderBy:[`${n} DESC`],limit:i}}function yS(n,e,t=50,i,a){return{dimensions:[n],filters:e,...i!=null&&i.length?{segments:i}:{},...a!=null?{usePreaggregations:a}:{},orderBy:[`${n} ASC`],limit:t}}function gS(n,e,t,i,a=500){return{metrics:n,dimensions:e,filters:t,orderBy:i,limit:a}}function vS(n,e,t=50,i,a){return{dimensions:n.dimensions,metrics:n.metrics,filters:e,...i!=null&&i.length?{segments:i}:{},...a!=null?{usePreaggregations:a}:{},ungrouped:!0,limit:t}}function xS(n,e){const t=n??[];return t.includes(e)?t.filter(i=>i!==e):[...t,e]}function al(n,e,t){const i={...n};return rf(t)?delete i[e]:i[e]=t,i}function bS(n,e){switch(e.type){case"hydrate":return e.state;case"setView":return{...n,view:e.view};case"setDashboardTab":return{...n,view:"explore",dashboardTab:e.tab,model:e.model,selectedMetric:e.metric,grain:e.grain,filters:{},dateRange:void 0,pivotDims:[],pivotMetrics:[]};case"setModel":return{...n,model:e.model,selectedMetric:e.metric,grain:e.grain,filters:{},pivotDims:[],pivotMetrics:[]};case"setMetric":return{...n,selectedMetric:e.metric};case"toggleFilter":{const t=n.filters[e.dim],i=e.mode??(t&&t.mode!=="contains"?t.mode:"include"),a=t&&t.mode===i?t.values:[],u=xS(a,e.value);return{...n,filters:al(n.filters,e.dim,{mode:i,values:u})}}case"setFilterMode":{const t=n.filters[e.dim],i={mode:e.mode,values:(t==null?void 0:t.values)??[],pattern:t==null?void 0:t.pattern};return{...n,filters:al(n.filters,e.dim,i)}}case"setFilterPattern":{const t=n.filters[e.dim],i={mode:"contains",values:(t==null?void 0:t.values)??[],pattern:e.pattern};return{...n,filters:al(n.filters,e.dim,i)}}case"removeFilterValue":{const t=n.filters[e.dim];if(!t)return n;const i=t.values.filter(a=>a!==e.value);return{...n,filters:al(n.filters,e.dim,{...t,values:i})}}case"removeFilterDim":{const t={...n.filters};return delete t[e.dim],{...n,filters:t}}case"clearFilters":return{...n,filters:{}};case"setGrain":return{...n,grain:e.grain};case"setTimezone":return{...n,timezone:e.timezone};case"setDateRange":return{...n,dateRange:e.range};case"setContextColumn":return{...n,contextColumn:e.column};case"setComparison":return{...n,comparison:e.comparison,comparisonRange:e.comparison==="custom"?e.range:void 0};case"setPivotDims":return{...n,pivotDims:e.dims};case"setPivotMetrics":return{...n,pivotMetrics:e.metrics};case"reset":return{...e.initial,view:n.view};default:return n}}function wS(n){return n.models.find(e=>e.timeDimension)??n.models[0]}function kv(n,e){var t,i;return((t=n==null?void 0:n.metrics[0])==null?void 0:t.ref)??(n?(i=ji(e,n.name)[0])==null?void 0:i.ref:void 0)??""}function Iv(n,e,t){const i=Cs(n,e,t),a=(i==null?void 0:i.model)??wS(n),u=(i==null?void 0:i.selectedMetric)??kv(a,n);return{view:i?"explore":"home",dashboardTab:i==null?void 0:i.id,model:(a==null?void 0:a.name)??"",selectedMetric:u,filters:{},grain:(i==null?void 0:i.grain)??(a==null?void 0:a.defaultGrain)??"month",timezone:"UTC",dateRange:void 0,contextColumn:"none",comparison:"previous",comparisonRange:void 0,pivotDims:[],pivotMetrics:[]}}function SS(n,e,t){const i=new URLSearchParams(t),a=i.get("metric"),u=i.get("grain"),f=a===n.selectedMetric&&e.metrics.some(m=>m.ref===a),h=u===n.grain;return{...n,view:"explore",dashboardTab:e.id,model:e.model.name,selectedMetric:f?n.selectedMetric:e.selectedMetric,grain:h?n.grain:e.grain}}const _S=["home","explore","pivot"],NS=new Set(Fd),jS=new Set(["none","pctTotal","delta","deltaPct"]),kS=new Set(["off","previous","year","custom"]),IS="none",MS="previous",DS="UTC";function CS(n){return n!=null&&/^[A-Za-z][A-Za-z0-9/_+-]{0,63}$/.test(n)}function ud(n){if(n)try{return JSON.parse(n)}catch{return}}function Zl(n){return Array.isArray(n)&&n.every(e=>typeof e=="string")}function ll(n){return n!=null&&/^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2})?$/.test(n)&&!Number.isNaN(Date.parse(n))}const FS=new Set(["include","exclude","contains"]);function OS(n){if(Zl(n))return{mode:"include",values:n};if(typeof n!="object"||n===null||Array.isArray(n))return null;const e=n;if(!FS.has(e.mode))return null;const t=e.mode,i=Zl(e.values)?e.values:[],a=typeof e.pattern=="string"?e.pattern:void 0,u={mode:t,values:i,pattern:a};return rf(u)?null:u}function TS(n){if(typeof n!="object"||n===null||Array.isArray(n))return null;const e={};for(const[t,i]of Object.entries(n)){const a=OS(i);a&&(e[t]=a)}return e}function AS(n){const e={};for(const[t,i]of Object.entries(n))e[t]=i.mode==="include"?i.values:i;return e}function BS(n){const e=new URLSearchParams;return e.set("view",n.view),n.dashboardTab&&e.set("tab",n.dashboardTab),n.model&&e.set("model",n.model),n.selectedMetric&&e.set("metric",n.selectedMetric),n.grain&&e.set("grain",n.grain),n.timezone&&n.timezone!==DS&&e.set("tz",n.timezone),n.dateRange&&(e.set("from",n.dateRange.from),e.set("to",n.dateRange.to)),n.contextColumn!==IS&&e.set("ctx",n.contextColumn),n.comparison!==MS&&e.set("cmp",n.comparison),n.comparison==="custom"&&n.comparisonRange&&(e.set("cfrom",n.comparisonRange.from),e.set("cto",n.comparisonRange.to)),Object.keys(n.filters).length&&e.set("filters",JSON.stringify(AS(n.filters))),n.pivotDims.length&&e.set("pdims",JSON.stringify(n.pivotDims)),n.pivotMetrics.length&&e.set("pmetrics",JSON.stringify(n.pivotMetrics)),e.toString()}function ES(n,e){const t=new URLSearchParams(n),i={...e},a=t.get("view");a&&_S.includes(a)&&(i.view=a);const u=t.get("tab");u&&(i.dashboardTab=u);const f=t.get("model");f&&(i.model=f);const h=t.get("metric");h&&(i.selectedMetric=h);const m=t.get("grain");m&&NS.has(m)&&(i.grain=m);const g=t.get("tz");CS(g)&&(i.timezone=g);const v=t.get("from"),x=t.get("to");ll(v)&&ll(x)&&Date.parse(v)<=Date.parse(x)&&(i.dateRange={from:v,to:x});const b=t.get("ctx");b&&jS.has(b)&&(i.contextColumn=b);const w=t.get("cmp");w&&kS.has(w)&&(i.comparison=w);const j=t.get("cfrom"),C=t.get("cto");i.comparison==="custom"&&ll(j)&&ll(C)&&Date.parse(j)<=Date.parse(C)&&(i.comparisonRange={from:j,to:C});const O=TS(ud(t.get("filters")));O&&(i.filters=O);const H=ud(t.get("pdims"));Zl(H)&&(i.pivotDims=H);const L=ud(t.get("pmetrics"));return Zl(L)&&(i.pivotMetrics=L),i}const Mv=D.createContext(null);function RS({catalog:n,backend:e,dashboard:t,children:i}){const a=D.useMemo(()=>Iv(n,t),[n,t]),[u,f]=D.useReducer(bS,void 0,()=>{const m=ES(window.location.search,a),g=Cs(n,t,m.dashboardTab);return g?SS(m,g,window.location.search):m});D.useEffect(()=>{const m=BS(u),g=`${window.location.pathname}${m?`?${m}`:""}`;window.history.replaceState(null,"",g)},[u]);const h=D.useMemo(()=>({state:u,dispatch:f,catalog:n,backend:e,initial:a,dashboard:t}),[u,n,e,a,t]);return c.jsx(Mv.Provider,{value:h,children:i})}function ls(){const n=D.useContext(Mv);if(!n)throw new Error("useExplorer must be used within ExplorerProvider");return n}const Is={active:0,listeners:new Set};function Dv(){for(const n of Is.listeners)n()}function LS(){Is.active+=1,Dv()}function US(){Is.active=Math.max(0,Is.active-1),Dv()}function Cv(){return D.useSyncExternalStore(n=>(Is.listeners.add(n),()=>Is.listeners.delete(n)),()=>Is.active>0,()=>!1)}const $S=80;function Zn(n,e){const[t,i]=D.useState({loading:!1}),a=D.useRef(0),u=e?JSON.stringify(e):null;return D.useEffect(()=>{if(!e){i({loading:!1});return}const f=++a.current;i(m=>({result:m.result,loading:!0}));const h=setTimeout(()=>{LS(),n.runQuery(e).then(m=>{f===a.current&&i({result:m,loading:!1})}).catch(m=>{f===a.current&&i({loading:!1,error:m instanceof Error?m.message:String(m)})}).finally(()=>US())},$S);return()=>clearTimeout(h)},[u,n]),t}const PS=[{mode:"include",label:"Include"},{mode:"exclude",label:"Exclude"},{mode:"contains",label:"Contains"}],zS=50,Vm=200;function Wm(n,e){const[t,i]=D.useState(n);return D.useEffect(()=>{const a=setTimeout(()=>i(n),e);return()=>clearTimeout(a)},[n,e]),t}function Fv({dim:n,model:e,onClose:t}){var W,_;const{state:i,dispatch:a,backend:u,catalog:f,dashboard:h}=ls(),m=D.useMemo(()=>Cs(f,h,i.dashboardTab),[f,h,i.dashboardTab]),g=i.filters[n.ref],[v,x]=D.useState((g==null?void 0:g.mode)??"include"),b=D.useMemo(()=>new Set((g==null?void 0:g.mode)!=="contains"?(g==null?void 0:g.values)??[]:[]),[g]),w=D.useRef(null),j=D.useRef(null),C=D.useId(),[O,H]=D.useState(""),L=Wm(O,Vm),R=(g==null?void 0:g.mode)==="contains"?g.pattern??"":"",[T,E]=D.useState(R),I=Wm(T,Vm);D.useEffect(()=>{var te;const F=document.activeElement;return(te=j.current)==null||te.focus(),()=>{var pe;return(pe=F==null?void 0:F.focus)==null?void 0:pe.call(F)}},[]),D.useEffect(()=>{function F(pe){pe.key==="Escape"&&(pe.stopPropagation(),t())}function te(pe){w.current&&!w.current.contains(pe.target)&&t()}return document.addEventListener("keydown",F,!0),document.addEventListener("mousedown",te,!0),()=>{document.removeEventListener("keydown",F,!0),document.removeEventListener("mousedown",te,!0)}},[t]),D.useEffect(()=>{v==="contains"&&I!==R&&a({type:"setFilterPattern",dim:n.ref,pattern:I})},[I,v,n.ref,a]);const U=((W=m==null?void 0:m.timeDimension)==null?void 0:W.ref)??((_=e.timeDimension)==null?void 0:_.ref),G=D.useMemo(()=>ou(f),[f]),V=D.useMemo(()=>{const F=[...(m==null?void 0:m.filters)??[],...Os(i.filters,{timeRef:U,range:i.dateRange,excludeDim:n.ref,types:G})];if(L.trim()){const te=Tn(`%${Nv(L.trim())}%`);F.push(`CAST(${n.ref} AS VARCHAR) ILIKE ${te} ESCAPE '\\'`)}return F},[m,i.filters,U,i.dateRange,n.ref,L,G]),Q=v!=="contains",{result:z,loading:ee,error:X}=Zn(u,Q?yS(n.ref,V,zS,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations):null),ie=Sr(n.ref),ae=D.useMemo(()=>z?z.rows.map(F=>{const te=F[ie];return te==null?er:String(te)}):[],[z,ie]),re=!!z&&z.rows.length>0&&!z.columns.includes(ie),se=Q&&(ee||re);function A(F){x(F),g&&a({type:"setFilterMode",dim:n.ref,mode:F}),F==="contains"&&E(R)}function Y(F){var fe;if(F.key!=="Tab")return;const te=(fe=w.current)==null?void 0:fe.querySelectorAll('button, input, [href], select, textarea, [tabindex]:not([tabindex="-1"])');if(!te||te.length===0)return;const pe=te[0],ne=te[te.length-1];F.shiftKey&&document.activeElement===pe?(F.preventDefault(),ne.focus()):!F.shiftKey&&document.activeElement===ne&&(F.preventDefault(),pe.focus())}return c.jsxs("div",{ref:w,role:"dialog","aria-modal":"true","aria-labelledby":C,onKeyDown:Y,className:"absolute left-0 z-50 mt-1 w-64 border border-line bg-surface p-2 text-2xs shadow-lg",children:[c.jsxs("div",{id:C,className:"mb-2 flex items-baseline justify-between gap-2",children:[c.jsx("span",{className:"truncate font-semibold text-ink",children:n.label}),c.jsx("button",{type:"button","aria-label":"Close filter editor",onClick:t,className:"grid size-4 place-items-center rounded-full bg-surface-soft text-faint hover:bg-line hover:text-ink",children:"×"})]}),c.jsx("div",{role:"group","aria-label":"Filter mode",className:"mb-2 grid grid-cols-3 gap-px border border-line bg-line",children:PS.map(({mode:F,label:te})=>c.jsx("button",{type:"button","aria-pressed":v===F,onClick:()=>A(F),className:`px-1.5 py-1 text-center ${v===F?"bg-accent-soft font-medium text-accent":"bg-surface text-muted hover:bg-surface-soft"}`,children:te},F))}),v==="contains"?c.jsx("input",{ref:j,type:"text","aria-label":`${n.label} contains`,placeholder:"Substring…",value:T,onChange:F=>E(F.target.value),className:"w-full border border-line bg-surface px-1.5 py-1 text-2xs text-ink placeholder:text-faint"}):c.jsxs(c.Fragment,{children:[c.jsx("input",{ref:j,type:"text","aria-label":`Search ${n.label} values`,placeholder:"Search values…",value:O,onChange:F=>H(F.target.value),className:"w-full border border-line bg-surface px-1.5 py-1 text-2xs text-ink placeholder:text-faint"}),c.jsx("div",{className:"mt-2 max-h-56 overflow-y-auto",role:"group","aria-label":`${n.label} values`,children:X?c.jsx("p",{className:"px-1 py-2 text-danger",children:X}):se?c.jsx("div",{className:"space-y-1.5 p-1",children:[0,1,2,3,4].map(F=>c.jsx("div",{className:"skeleton h-4 w-full"},F))}):ae.length===0?c.jsx("p",{className:"px-1 py-2 text-faint",children:"No values"}):ae.map(F=>{const te=b.has(F);return c.jsxs("label",{className:"flex cursor-pointer items-center gap-2 px-1 py-1 hover:bg-surface-soft",children:[c.jsx("input",{type:"checkbox",checked:te,onChange:()=>a({type:"toggleFilter",dim:n.ref,value:F,mode:v}),className:"size-3 accent-[var(--accent)]"}),c.jsx("span",{className:"min-w-0 truncate text-ink",children:rs(F)})]},F)})})]}),c.jsxs("div",{className:"mt-2 flex items-center justify-between border-t border-line pt-2",children:[c.jsx("button",{type:"button",onClick:()=>a({type:"removeFilterDim",dim:n.ref}),className:"text-muted underline-offset-2 hover:text-ink hover:underline",children:"Clear"}),c.jsx("button",{type:"button",onClick:t,className:"border border-line px-2 py-1 text-muted hover:bg-surface-soft",children:"Done"})]})]})}function VS({model:n}){const e=n.dimensions.filter(m=>m.type!=="time"),[t,i]=D.useState(!1),[a,u]=D.useState(null),f=D.useRef(null);D.useEffect(()=>{if(!t)return;function m(v){v.key==="Escape"&&h()}function g(v){a||f.current&&!f.current.contains(v.target)&&h()}return document.addEventListener("keydown",m,!0),document.addEventListener("mousedown",g,!0),()=>{document.removeEventListener("keydown",m,!0),document.removeEventListener("mousedown",g,!0)}},[t,a]);function h(){i(!1),u(null)}return e.length===0?null:c.jsxs("span",{ref:f,className:"relative inline-flex",children:[c.jsx("button",{type:"button","aria-haspopup":"dialog","aria-expanded":t,onClick:()=>t?h():i(!0),className:"inline-flex h-7 shrink-0 items-center rounded-full border border-dashed border-line px-3 text-xs text-muted hover:border-faint hover:text-ink",children:"+ Filter"}),t&&!a?c.jsx("div",{role:"menu","aria-label":"Add a filter for a dimension",className:"absolute left-0 z-50 mt-1 max-h-64 w-48 overflow-y-auto rounded-xl border border-line bg-surface p-1.5 text-2xs shadow-[var(--shadow)]",children:e.map(m=>c.jsx("button",{type:"button",role:"menuitem",onClick:()=>u(m),className:"block w-full truncate px-1.5 py-1 text-left text-muted hover:bg-surface-soft hover:text-ink",children:m.label},m.ref))}):null,t&&a?c.jsx(Fv,{dim:a,model:n,onClose:h}):null]})}function cd(n,e){return n.includes(e)?n.filter(t=>t!==e):[...n,e]}function Hm({metric:n,selected:e,multiple:t,onSelect:i}){return c.jsxs("button",{type:"button","data-catalog-metric":n.ref,"data-selected":e||void 0,"aria-pressed":e,title:n.description,onClick:i,className:"flex w-full items-center justify-between gap-2 border-l-2 px-3 py-1 text-left text-xs hover:bg-surface-soft data-[selected=true]:border-l-accent data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent border-l-transparent text-muted",children:[c.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[t?c.jsx("span",{"aria-hidden":"true",className:"w-3 shrink-0 text-center text-accent",children:e?"✓":""}):null,c.jsx("span",{className:"truncate",children:n.label})]}),n.agg?c.jsx("span",{className:"shrink-0 text-2xs text-faint",children:n.agg}):null]})}function WS({dimension:n,selected:e,onSelect:t}){return c.jsxs("button",{type:"button","data-catalog-dimension":n.ref,"data-selected":e||void 0,"aria-pressed":e,title:n.description,onClick:t,className:"flex w-full items-center justify-between gap-2 border-l-2 border-l-transparent px-3 py-1 text-left text-xs text-muted hover:bg-surface-soft data-[selected=true]:border-l-accent data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent",children:[c.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[c.jsx("span",{"aria-hidden":"true",className:"w-3 shrink-0 text-center",children:e?"✓":""}),c.jsx("span",{className:"truncate",children:n.label})]}),c.jsx("span",{className:"shrink-0 text-2xs text-faint",children:n.type==="time"?"time":""})]})}function HS(){const{state:n,dispatch:e,catalog:t}=ls(),i=t.models.find(h=>h.name===n.model),a=ji(t,n.model),u=n.view==="pivot",f=n.pivotMetrics.length?n.pivotMetrics:n.selectedMetric?[n.selectedMetric]:[];return c.jsxs("nav",{"aria-label":"Semantic layer catalog",className:"flex flex-col gap-4 py-3 text-sm",children:[c.jsxs("section",{className:"px-3",children:[c.jsx("h2",{className:"mb-1 text-xs font-medium text-muted",children:"Model"}),c.jsx("select",{"aria-label":"Model",value:n.model,onChange:h=>{var v,x;const m=t.models.find(b=>b.name===h.target.value),g=((v=m==null?void 0:m.metrics[0])==null?void 0:v.ref)??((x=ji(t,h.target.value)[0])==null?void 0:x.ref)??"";e({type:"setModel",model:h.target.value,metric:g,grain:(m==null?void 0:m.defaultGrain)??"month"})},className:"w-full border border-line bg-surface px-2 py-1 text-xs text-ink",children:t.models.map(h=>c.jsx("option",{value:h.name,children:h.label},h.name))})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-1 px-3 text-xs font-medium text-muted",children:"Metrics"}),c.jsx("div",{children:((i==null?void 0:i.metrics)??[]).map(h=>c.jsx(Hm,{metric:h,selected:u?f.includes(h.ref):n.selectedMetric===h.ref,multiple:u,onSelect:()=>e(u?{type:"setPivotMetrics",metrics:cd(f,h.ref)}:{type:"setMetric",metric:h.ref})},h.ref))}),a.length?c.jsxs(c.Fragment,{children:[c.jsx("h3",{className:"mb-1 mt-3 px-3 text-xs font-medium text-muted",children:"Shared metrics"}),c.jsx("div",{children:a.map(h=>c.jsx(Hm,{metric:h,selected:u?f.includes(h.ref):n.selectedMetric===h.ref,multiple:u,onSelect:()=>e(u?{type:"setPivotMetrics",metrics:cd(f,h.ref)}:{type:"setMetric",metric:h.ref})},h.ref))})]}):null]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-1 px-3 text-xs font-medium text-muted",children:"Dimensions"}),u?c.jsx("div",{children:((i==null?void 0:i.dimensions)??[]).map(h=>c.jsx(WS,{dimension:h,selected:n.pivotDims.includes(h.ref),onSelect:()=>e({type:"setPivotDims",dims:cd(n.pivotDims,h.ref)})},h.ref))}):c.jsx("ul",{className:"px-3 text-xs text-muted",children:((i==null?void 0:i.dimensions)??[]).map(h=>c.jsxs("li",{className:"flex items-center justify-between gap-2 py-0.5",title:h.description,children:[c.jsx("span",{className:"truncate",children:h.label}),c.jsx("span",{className:"shrink-0 text-2xs text-faint",children:h.type==="time"?"time":""})]},h.ref))})]})]})}class GS extends D.Component{constructor(){super(...arguments);Mn(this,"state",{})}static getDerivedStateFromError(t){return{error:t}}render(){return this.state.error?c.jsx("div",{className:"p-4",children:c.jsxs("div",{className:"border border-danger/40 bg-surface p-4",children:[c.jsx("p",{className:"text-sm font-semibold text-danger",children:"Something went wrong rendering this view."}),c.jsx("p",{className:"mt-1 break-words text-xs text-muted",children:this.state.error.message}),c.jsxs("div",{className:"mt-3 flex gap-2",children:[c.jsx("button",{type:"button",onClick:()=>this.setState({error:void 0}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Retry"}),c.jsx("button",{type:"button",onClick:()=>window.location.reload(),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Reload"})]})]})}):this.props.children}}const YS=[{key:"off",label:"Off"},{key:"previous",label:"Previous period"},{key:"year",label:"Previous year"},{key:"custom",label:"Custom range"}];function Ov({range:n,disabled:e,onChange:t,comparison:i,comparisonRange:a,onComparisonChange:u}){const f=D.useRef(null),[h,m]=D.useState((n==null?void 0:n.from)??""),[g,v]=D.useState((n==null?void 0:n.to)??""),[x,b]=D.useState((a==null?void 0:a.from)??""),[w,j]=D.useState((a==null?void 0:a.to)??"");function C(){f.current&&(f.current.open=!1)}function O(T){t(T),C()}function H(T){T==="custom"?u("custom",x&&w?{from:x,to:w}:void 0):u(T)}const L=n?`${n.from} → ${n.to}`:"All time",R=!n;return c.jsxs("details",{ref:f,className:"relative text-xs",onToggle:T=>{e&&(T.currentTarget.open=!1)},children:[c.jsxs("summary",{"aria-disabled":e||void 0,tabIndex:e?-1:void 0,onClick:T=>e&&T.preventDefault(),onKeyDown:T=>{e&&(T.key==="Enter"||T.key===" ")&&T.preventDefault()},className:`flex h-7 cursor-pointer items-center gap-1.5 rounded-full border border-line bg-surface px-3 text-ink ${e?"cursor-not-allowed opacity-50":""}`,children:[c.jsx("span",{className:"text-faint",children:"Range"}),c.jsx("span",{className:"tnum",children:L}),c.jsx("span",{"aria-hidden":"true",className:"text-faint",children:"▾"})]}),c.jsxs("div",{className:"absolute right-0 z-50 mt-1 w-64 rounded-xl border border-line bg-surface p-1.5 shadow-[var(--shadow)]",children:[c.jsx("button",{type:"button",onClick:()=>O(void 0),className:"w-full rounded-lg px-2.5 py-1.5 text-left text-xs text-muted hover:bg-surface-soft hover:text-ink",children:"All time"}),c.jsx("div",{className:"grid grid-cols-2",children:cS.map(T=>c.jsx("button",{type:"button",onClick:()=>O(dS(T.days)),className:"rounded-lg px-2.5 py-1.5 text-left text-xs text-muted hover:bg-surface-soft hover:text-ink",children:T.label},T.key))}),c.jsxs("div",{className:"mt-2 px-1 pb-1",children:[c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("input",{type:"date","aria-label":"From date",value:h,onChange:T=>m(T.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"}),c.jsx("span",{className:"text-faint",children:"→"}),c.jsx("input",{type:"date","aria-label":"To date",value:g,onChange:T=>v(T.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"})]}),c.jsx("button",{type:"button",disabled:!h||!g,onClick:()=>O({from:h,to:g}),className:"mt-1.5 inline-flex h-7 w-full items-center justify-center rounded-full border border-accent bg-accent-soft text-xs font-medium text-accent hover:bg-accent hover:text-surface disabled:pointer-events-none disabled:opacity-50",children:"Apply custom range"})]}),c.jsxs("div",{className:"mt-1 px-1 pb-1","data-testid":"comparison-picker",children:[c.jsx("p",{className:"mb-1 px-1.5 text-2xs text-faint",children:"Compare to"}),c.jsx("div",{className:`grid grid-cols-2 ${R?"opacity-50":""}`,children:YS.map(T=>c.jsx("button",{type:"button",disabled:R,"data-comparison":T.key,"data-active":i===T.key||void 0,onClick:()=>H(T.key),className:"rounded-lg px-2.5 py-1.5 text-left text-xs text-muted hover:bg-surface-soft hover:text-ink data-[active=true]:bg-accent-soft data-[active=true]:text-accent",children:T.label},T.key))}),i==="custom"&&!R?c.jsxs("div",{className:"mt-1.5",children:[c.jsxs("div",{className:"flex items-center gap-1.5",children:[c.jsx("input",{type:"date","aria-label":"Comparison from date",value:x,onChange:T=>b(T.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"}),c.jsx("span",{className:"text-faint",children:"→"}),c.jsx("input",{type:"date","aria-label":"Comparison to date",value:w,onChange:T=>j(T.target.value),className:"h-7 min-w-0 flex-1 rounded-lg border border-line bg-surface px-2 text-xs text-ink"})]}),c.jsx("button",{type:"button",disabled:!x||!w,onClick:()=>u("custom",{from:x,to:w}),className:"mt-1.5 inline-flex h-7 w-full items-center justify-center rounded-full border border-accent bg-accent-soft text-xs font-medium text-accent hover:bg-accent hover:text-surface disabled:pointer-events-none disabled:opacity-50",children:"Apply comparison"})]}):null]})]})]})}function Od(n){const[e,t]=D.useState(!1);if(!("dim"in n))return c.jsxs("span",{"data-dimension":n.dimension,"data-value":n.value,className:"inline-flex max-w-full items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 text-2xs leading-4 text-muted",children:[c.jsxs("span",{className:"truncate",children:[c.jsxs("span",{className:"text-faint",children:[n.dimensionLabel??n.dimension,":"]})," ",n.value]}),n.onRemove?c.jsx("button",{type:"button","aria-label":`Remove filter ${n.value}`,onClick:n.onRemove,className:"-mr-0.5 px-0.5 text-faint hover:text-ink",children:"×"}):null]});const{dim:i,model:a,filter:u,onRemove:f}=n;return c.jsxs("span",{className:"relative inline-flex max-w-full items-center","data-dimension":i.ref,"data-mode":u.mode,children:[c.jsxs("span",{className:"inline-flex max-w-full items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 text-2xs leading-4 text-muted",children:[c.jsxs("button",{type:"button","aria-label":`Edit filter ${i.label}`,"aria-haspopup":"dialog","aria-expanded":e,onClick:()=>t(h=>!h),className:"min-w-0 truncate text-left hover:text-ink",children:[c.jsx("span",{className:"text-faint",children:i.label})," ",yb(u)]}),c.jsx("button",{type:"button","aria-label":`Remove filter ${i.label}`,onClick:f,className:"grid size-3.5 shrink-0 place-items-center rounded-full bg-surface-soft text-faint hover:bg-line hover:text-ink",children:"×"})]}),e?c.jsx(Fv,{dim:i,model:a,onClose:()=>t(!1)}):null]})}function Td({grain:n,options:e,disabled:t,onChange:i}){return c.jsxs("label",{className:"flex items-center gap-1.5 text-xs text-faint",children:[c.jsx("span",{className:"hidden sm:inline",children:"Grain"}),c.jsx("select",{"aria-label":"Time grain",value:n,disabled:t,onChange:a=>i(a.target.value),className:"h-7 rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50",children:e.map(a=>c.jsx("option",{value:a,children:Le(a)},a))})]})}const QS=["UTC","America/Los_Angeles","America/Denver","America/Chicago","America/New_York","America/Sao_Paulo","Europe/London","Europe/Berlin","Europe/Paris","Europe/Moscow","Asia/Dubai","Asia/Kolkata","Asia/Singapore","Asia/Shanghai","Asia/Tokyo","Australia/Sydney"];let ul=null;function Gm(){if(ul)return ul;const n=typeof Intl.supportedValuesOf=="function"?Intl.supportedValuesOf("timeZone"):[];return ul=[...new Set(["UTC",...n])].sort(),ul}function KS(n){if(!n)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:n}),!0}catch{return!1}}function JS(n,e=new Date){var t;try{const u=(((t=new Intl.DateTimeFormat("en-US",{timeZone:n,timeZoneName:"shortOffset"}).formatToParts(e).find(g=>g.type==="timeZoneName"))==null?void 0:t.value)??"").match(/([+-])(\d{1,2})(?::(\d{2}))?/);if(!u)return n==="UTC"?"+00:00":"";const f=u[1],h=u[2].padStart(2,"0"),m=u[3]??"00";return`${f}${h}:${m}`}catch{return""}}const Ym="__search__";function qS({timezone:n,disabled:e,onChange:t}){const i=D.useId(),[a,u]=D.useState(!1),[f,h]=D.useState(""),m=D.useMemo(()=>{const b=new Set(QS);return n&&b.add(n),[...b]},[n]),g=D.useMemo(()=>a?Gm():[],[a]);function v(b){const w=b.trim();KS(w)&&(t(w),u(!1),h(""))}if(a)return c.jsxs("label",{className:"flex items-center gap-1.5 text-2xs text-faint",children:[c.jsx("span",{className:"hidden sm:inline",children:"Zone"}),c.jsx("input",{type:"text",list:i,autoFocus:!0,"aria-label":"Search timezone",placeholder:"Region/City…",value:f,disabled:e,onChange:b=>{h(b.target.value),Gm().includes(b.target.value)&&v(b.target.value)},onKeyDown:b=>{b.key==="Enter"?v(f):b.key==="Escape"&&(u(!1),h(""))},onBlur:()=>{u(!1),h("")},className:"h-7 w-36 rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50"}),c.jsx("datalist",{id:i,children:g.map(b=>c.jsx("option",{value:b},b))})]});const x=JS(n);return c.jsxs("label",{className:"flex items-center gap-1.5 text-2xs text-faint",children:[c.jsx("span",{className:"hidden sm:inline",children:"Zone"}),c.jsxs("select",{"aria-label":"Timezone",value:n,disabled:e,onChange:b=>{b.target.value===Ym?u(!0):t(b.target.value)},className:"h-7 max-w-[11rem] rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50",children:[m.map(b=>c.jsxs("option",{value:b,children:[b,b==="UTC"?"":x&&b===n?` (${x})`:""]},b)),c.jsx("option",{value:Ym,children:"Search…"})]})]})}function ZS(n,e,t){if(t==="count")return n.length;const i=n.map(u=>typeof u[e]=="number"?u[e]:Number(u[e])).filter(Number.isFinite);if(i.length===0)return Number.NaN;if(t==="min")return Math.min(...i);if(t==="max")return Math.max(...i);const a=i.reduce((u,f)=>u+f,0);return t==="avg"?a/i.length:a}const XS={sum:"Σ",avg:"avg",min:"min",max:"max",count:"n"};function Ho({columns:n,rows:e,loading:t,sortKey:i,sortDir:a,onSort:u,renderCell:f,pageSize:h=50,searchable:m,totals:g,stickyHeader:v=!0}){const[x,b]=D.useState(0),[w,j]=D.useState(""),C=D.useMemo(()=>{const I=w.trim().toLowerCase();return!m||!I?e:e.filter(U=>n.some(G=>String(U[G.key]??"").toLowerCase().includes(I)))},[e,n,w,m]),{paginate:O,pageCount:H,safePage:L,start:R,visibleRows:T}=fb(C,x,h);D.useEffect(()=>{b(0)},[e,h,i,a,w]);const E=g&&n.some(I=>g[I.key]);return c.jsxs("div",{children:[m?c.jsxs("div",{className:"mb-2 flex items-center justify-end gap-2",children:[w?c.jsxs("span",{className:"whitespace-nowrap text-2xs text-faint tnum",children:[C.length.toLocaleString()," of ",e.length.toLocaleString()]}):null,c.jsx("input",{type:"search","aria-label":"Search rows",placeholder:"Search…",value:w,onChange:I=>j(I.target.value),className:"h-7 w-full max-w-64 rounded-full border border-line bg-surface px-2.5 text-xs text-ink placeholder:text-faint"})]}):null,c.jsx("div",{className:"overflow-auto border border-line bg-surface",children:c.jsxs("table",{className:"w-max min-w-full border-collapse text-xs","data-testid":"pivot-table",children:[c.jsx("thead",{children:c.jsx("tr",{className:"bg-surface-soft",children:n.map(I=>{const U=i===I.key;return c.jsx("th",{className:`max-w-80 whitespace-nowrap border-b border-line bg-surface-soft px-3 py-1.5 font-semibold text-faint ${I.numeric?"min-w-32 text-right":"min-w-40 text-left"} ${v?"sticky top-0 z-10":""}`,children:I.sortable&&u?c.jsxs("button",{type:"button",onClick:()=>u(I.key),"aria-label":`Sort by ${I.label}${U?`, currently ${a==="asc"?"ascending":"descending"}`:""}`,className:`table-sort inline-flex max-w-full items-center gap-1 whitespace-nowrap hover:text-ink ${U?"text-ink":""}`,children:[c.jsx("span",{className:"truncate",children:I.label}),c.jsx("span",{"aria-hidden":"true",className:"text-[9px]",children:U?a==="asc"?"▲":"▼":"↕"})]}):c.jsx("span",{className:"block truncate",title:I.label,children:I.label})},I.key)})})}),c.jsx("tbody",{children:t&&C.length===0?c.jsx("tr",{children:c.jsx("td",{colSpan:n.length,className:"px-3 py-6 text-center text-faint",children:"Loading…"})}):C.length===0?c.jsx("tr",{children:c.jsx("td",{colSpan:n.length,className:"px-3 py-6 text-center text-faint",children:w?"No matching rows":"No rows"})}):T.map((I,U)=>c.jsx("tr",{className:"hover:bg-surface-soft",children:n.map(G=>{const V=f(G,I[G.key]);return c.jsx("td",{className:`max-w-80 whitespace-nowrap border-b border-line px-3 py-1.5 text-muted ${G.numeric?"min-w-32 text-right font-mono tnum text-ink":"min-w-40"}`,children:c.jsx("span",{className:"block max-w-80 truncate",title:V,children:V})},G.key)})},R+U))}),E&&C.length>0?c.jsx("tfoot",{children:c.jsx("tr",{className:"bg-surface-soft","data-testid":"table-totals",children:n.map(I=>{const U=g==null?void 0:g[I.key];if(!U)return c.jsx("td",{className:"border-t border-line px-3 py-1.5"},I.key);const G=ZS(C,I.key,U),V=U==="count"?G.toLocaleString():Number.isFinite(G)?f(I,G):"—";return c.jsxs("td",{"data-total":U,className:`whitespace-nowrap border-t border-line px-3 py-1.5 font-mono tnum font-medium text-ink ${I.numeric?"text-right":"text-left"}`,children:[c.jsx("span",{"aria-hidden":"true",className:"mr-1 text-2xs text-faint",children:XS[U]}),V]},I.key)})})}):null]})}),O?c.jsxs("div",{"data-testid":"pivot-table-pager",className:"mt-1.5 flex items-center justify-between gap-3 text-2xs text-faint",children:[c.jsxs("span",{className:"tnum",children:[R+1,"–",Math.min(R+h,C.length)," of ",C.length.toLocaleString(),t?" · Updating…":""]}),c.jsxs("div",{className:"flex gap-1",children:[c.jsx("button",{type:"button",disabled:L===0,onClick:()=>b(I=>Math.max(0,I-1)),className:"table-pager-button px-2 py-1 text-muted hover:text-ink disabled:cursor-not-allowed disabled:opacity-40",children:"Prev"}),c.jsx("button",{type:"button",disabled:L>=H-1,onClick:()=>b(I=>Math.min(H-1,I+1)),className:"table-pager-button px-2 py-1 text-muted hover:text-ink disabled:cursor-not-allowed disabled:opacity-40",children:"Next"})]})]}):null]})}function e_(n,e){const t=e.filter(i=>n.some(a=>a.ref===i));return t.length?t:n.slice(0,6).map(i=>i.ref)}function t_(){var L,R;const[n,e]=D.useState(!1),{state:t,catalog:i,backend:a,dashboard:u}=ls(),f=i.models.find(T=>T.name===t.model),h=D.useMemo(()=>Cs(i,u,t.dashboardTab),[i,u,t.dashboardTab]),m=(h==null?void 0:h.dimensions)??(f==null?void 0:f.dimensions)??[],g=e_(m,t.pivotDims),v=((L=h==null?void 0:h.timeDimension)==null?void 0:L.ref)??((R=f==null?void 0:f.timeDimension)==null?void 0:R.ref),x=D.useMemo(()=>ou(i),[i]),b=D.useMemo(()=>[...(h==null?void 0:h.filters)??[],...Os(t.filters,{timeRef:v,range:t.dateRange,types:x})],[h,t.filters,v,t.dateRange,x]),w=n&&f?vS({dimensions:g,metrics:[]},b,50,h==null?void 0:h.segments,h==null?void 0:h.usePreaggregations):null,{result:j,loading:C,error:O}=Zn(a,w),H=[...g.map(T=>{var E;return{key:Sr(T),label:((E=m.find(I=>I.ref===T))==null?void 0:E.label)??Le(T)}})];return c.jsxs("section",{"data-testid":"row-preview-drawer","data-open":n||void 0,className:"absolute inset-x-0 bottom-0 z-30 border-t border-line bg-surface shadow-[0_-8px_24px_rgba(0,0,0,0.16)]",children:[c.jsxs("button",{type:"button","aria-expanded":n,onClick:()=>e(T=>!T),className:"flex h-8 w-full items-center justify-between px-3 text-left text-xs font-medium text-muted hover:bg-surface-soft hover:text-ink",children:[c.jsx("span",{children:"Rows preview"}),c.jsx("span",{"aria-hidden":"true",children:n?"▼":"▲"})]}),n?c.jsx("div",{className:"max-h-[45vh] overflow-auto border-t border-line",children:O?c.jsx("p",{role:"alert",className:"p-3 text-xs text-danger",children:O}):H.length===0?c.jsx("p",{className:"p-3 text-xs text-faint",children:"No preview fields are available."}):c.jsx(Ho,{columns:H,rows:(j==null?void 0:j.rows)??[],loading:C,pageSize:10,renderCell:(T,E)=>E==null||E===""?"—":String(E)})}):null]})}function of({tone:n,title:e,message:t}){const i=n==="danger";return c.jsx("div",{className:`grid min-h-[200px] place-items-center border bg-surface p-6 text-center ${i?"border-danger/40":"border-line"}`,"data-state":n,role:i?"alert":"status","aria-live":i?"assertive":"polite",children:c.jsxs("div",{className:"max-w-md",children:[n==="loading"?c.jsx("span",{"aria-hidden":"true",className:"motion-safe:animate-pulse inline-block size-2 rounded-full bg-accent"}):null,e?c.jsx("h3",{className:`text-sm font-semibold ${i?"text-danger":"text-ink"}`,children:e}):null,c.jsx("p",{className:`mt-1 text-xs ${i?"text-danger":"text-muted"}`,children:t})]})})}function af({title:n="Loading",message:e="Loading metrics…"}){return c.jsx(of,{tone:"loading",title:n,message:e})}function Xn({title:n="No results",message:e}){return c.jsx(of,{tone:"muted",title:n,message:e})}function Bi({title:n="Query failed",message:e}){return c.jsx(of,{tone:"danger",title:n,message:e})}function dd({status:n}){const e=n==="ok"?"bg-success":n==="loading"?"bg-faint animate-pulse":"bg-line";return c.jsx("span",{"aria-hidden":"true",className:`inline-block size-2 rounded-full ${e}`})}const Tv="sidemantic-theme";function lf(){var e;const n=localStorage.getItem(Tv);return n==="light"||n==="dark"?n:(e=window.matchMedia)!=null&&e.call(window,"(prefers-color-scheme: dark)").matches?"dark":"light"}function Av(n){document.documentElement.dataset.theme=n}function n_(){Av(lf())}function r_(){const n=lf()==="dark"?"light":"dark";return localStorage.setItem(Tv,n),Av(n),n}function $o(){const[n,e]=D.useState(lf());return c.jsx("button",{type:"button","aria-label":n==="dark"?"Switch to light theme":"Switch to dark theme",title:n==="dark"?"Light theme":"Dark theme",onClick:()=>e(r_()),className:"grid size-7 place-items-center border border-line bg-surface text-faint hover:border-faint hover:text-ink",children:n==="dark"?c.jsxs("svg",{viewBox:"0 0 24 24",className:"size-3.5",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[c.jsx("circle",{cx:"12",cy:"12",r:"4"}),c.jsx("path",{d:"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"})]}):c.jsx("svg",{viewBox:"0 0 24 24",className:"size-3.5",fill:"none",stroke:"currentColor",strokeWidth:"2",children:c.jsx("path",{d:"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z"})})})}const _o=[{key:"explore",label:"Explore"},{key:"pivot",label:"Pivot"}];function Bv({view:n,onChange:e}){const t=D.useRef(null);function i(a){const u=Math.max(0,_o.findIndex(h=>h.key===n)),f=_o[(u+a+_o.length)%_o.length];e(f.key),window.requestAnimationFrame(()=>{var h,m;return(m=(h=t.current)==null?void 0:h.querySelector(`[data-view="${f.key}"]`))==null?void 0:m.focus()})}return c.jsx("div",{ref:t,role:"tablist","aria-label":"View",className:"inline-flex items-center gap-0.5 rounded-full border border-line bg-surface p-px",children:_o.map(a=>c.jsx("button",{role:"tab",type:"button","aria-selected":n===a.key,tabIndex:n===a.key?0:-1,"data-view":a.key,"data-selected":n===a.key||void 0,onClick:()=>e(a.key),onKeyDown:u=>{u.key==="ArrowLeft"?(u.preventDefault(),i(-1)):u.key==="ArrowRight"&&(u.preventDefault(),i(1))},className:"inline-flex h-6 items-center rounded-full px-2.5 text-xs font-medium text-muted hover:bg-surface-soft hover:text-ink data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent",children:a.label},a.key))})}const Ev="dashboard_filters",Rv="dashboard_ranges",Lv="dashboard_filter_sources",Uv="dashboard_range_sources",$v="dashboard_chart_filters",Pv="dashboard_chart_ranges";function s_(n,e){if(n==="/explore")return!0;const t=new URLSearchParams(e).get("view");return t==="explore"||t==="pivot"}function uf(n,e){var i,a;if(!e||!(n.query.dimensions??[]).includes(e))return!1;const t=(i=n.interactions)==null?void 0:i.select;return t===!0?!0:t?!((a=t.fields)!=null&&a.length)||t.fields.includes(e):!1}function i_(n){return(n.query.dimensions??[]).find(e=>uf(n,e))}function o_(n,e){var i,a;if(!e||!(n.query.dimensions??[]).includes(e))return!1;const t=(i=n.interactions)==null?void 0:i.brush;return t===!0?!0:!t||t.channel&&t.channel!=="x"?!1:!((a=t.fields)!=null&&a.length)||t.fields.includes(e)}function Xl(n){return n==null?er:String(n)}function a_(n){let e=n.trim().replaceAll(/[^A-Za-z0-9_]/g,"_").replaceAll(/^_+|_+$/g,"")||"field";return/^\d/.test(e)&&(e=`field_${e}`),e}function xr(n,e){const t=Sr(n),i=a_(n);return i!==t&&e.includes(i)?i:e.includes(t)?t:e.find(a=>a.endsWith(t))??t}function l_(n){var t;const e=(t=n.encoding)==null?void 0:t.y;return Array.isArray(e)&&e.length?e:typeof e=="string"?[e]:n.query.metrics.slice(0,1)}function u_(n,e,t,i,a){return Object.fromEntries([[e,t],...i.map((u,f)=>[u,a[f]])].filter(u=>typeof u[1]=="string"&&uf(n,u[0])))}function c_(n,e,t){return[e,...t].some(i=>uf(n,i))}const d_=new Set(["second","minute","hour","day","week","month","quarter","year"]);function Ms(n){const e=n.lastIndexOf("__");if(e<0)return null;const t=n.slice(e+2);return d_.has(t)?{baseDimension:n.slice(0,e),grain:t}:null}function zv(n,e){var u,f;if(n.type&&n.type!=="auto")return n.type;const t=((u=n.encoding)==null?void 0:u.x)??((f=n.query.dimensions)==null?void 0:f[0])??"",i=Ms(t);return(e[t]??(i?e[i.baseDimension]:void 0))==="time"?"line":"bar"}function Vv(n,e){const t=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?$/.test(n)?`${n}Z`:n,i=new Date(t);return Number.isFinite(i.getTime())?(e==="second"?i.setUTCSeconds(i.getUTCSeconds()+1):e==="minute"?i.setUTCMinutes(i.getUTCMinutes()+1):e==="hour"?i.setUTCHours(i.getUTCHours()+1):e==="day"?i.setUTCDate(i.getUTCDate()+1):e==="week"?i.setUTCDate(i.getUTCDate()+7):e==="month"?i.setUTCMonth(i.getUTCMonth()+1):e==="quarter"?i.setUTCMonth(i.getUTCMonth()+3):e==="year"&&i.setUTCFullYear(i.getUTCFullYear()+1),/^\d{4}-\d{2}-\d{2}$/.test(n)?i.toISOString().slice(0,10):i.toISOString()):null}function Wv(n,e){const t=Ms(n);if(t){const i=Vv(e.to,t.grain);return i?`${t.baseDimension} >= ${Tn(e.from)} AND ${t.baseDimension} < ${Tn(i)}`:`${t.baseDimension} >= ${Tn(e.from)} AND ${t.baseDimension} <= ${Tn(e.to)}`}return`${n} >= ${Tn(e.from)} AND ${n} <= ${Tn(e.to)}`}function f_(n,e,t){const i=Ms(n);return i?e===er?[`${i.baseDimension} IS NULL`]:[Wv(n,{from:e,to:e})]:jv({[n]:{mode:"include",values:[e]}},{types:t})}function eu(n,e){const t=n.tabs.find(i=>i.charts.includes(e));return`${(t==null?void 0:t.id)??"dashboard"}:${e.id}`}function cf(n,e,t){var f,h,m,g,v;const i=((h=(f=n.defaults)==null?void 0:f.interactions)==null?void 0:h.scope)??"dashboard";if(i==="dashboard")return t;if(i==="chart"){const x=eu(n,e);return{filters:{...Object.fromEntries(Object.entries(t.filters).filter(([b])=>t.filterSources[b]===x)),...((m=t.chartFilters)==null?void 0:m[x])??{}},ranges:{...Object.fromEntries(Object.entries(t.ranges).filter(([b])=>t.rangeSources[b]===x)),...((g=t.chartRanges)==null?void 0:g[x])??{}}}}const a=((v=n.tabs.find(x=>x.charts.includes(e)))==null?void 0:v.charts)??[e],u=new Set(a.flatMap(x=>x.query.dimensions??[]));return{filters:Object.fromEntries(Object.entries(t.filters).filter(([x])=>u.has(x))),ranges:Object.fromEntries(Object.entries(t.ranges).filter(([x])=>u.has(x)))}}function h_(n,e,t,i,a={},u={filterSources:{},rangeSources:{}}){var b,w,j,C,O,H;const f=cf(n,e,{filters:t,ranges:a,...u}),h=((b=e.encoding)==null?void 0:b.x)??((w=e.query.dimensions)==null?void 0:w[0])??"",m=e.query.order_by??e.query.orderBy,g=h&&["line","area"].includes(zv(e,i))?[`${h} ASC`]:void 0,v={metrics:e.query.metrics,dimensions:e.query.dimensions,filters:[...e.query.filters??[],...Object.entries(f.filters).flatMap(([L,R])=>f_(L,R,i)),...Object.entries(f.ranges).map(([L,R])=>Wv(L,R))],segments:e.query.segments,orderBy:m??g,limit:e.query.limit??500},x=e.query.use_preaggregations??e.query.usePreaggregations??((C=(j=n.defaults)==null?void 0:j.query)==null?void 0:C.use_preaggregations)??((H=(O=n.defaults)==null?void 0:O.query)==null?void 0:H.usePreaggregations);return x!==void 0&&(v.usePreaggregations=x),v}function Qm(n){const e=/^(\d{4}-\d{2}-\d{2})/.exec(n);return(e==null?void 0:e[1])??null}function Km(n,e){const t=Qm(e.from);if(!t)return null;const i=Ms(n);if(!i){const f=Qm(e.to);return f?{from:t,to:f}:null}const a=Vv(e.to,i.grain);if(!a)return null;const u=new Date(a);return u.setUTCMilliseconds(u.getUTCMilliseconds()-1),{from:t,to:u.toISOString().slice(0,10)}}function p_(n,e,t,i={},a){var T,E,I;const u=(T=e.encoding)==null?void 0:T.y,f=(Array.isArray(u)?u[0]:u)??e.query.metrics[0]??"",h=e.query.dimensions??[],m=a==null?void 0:a.graphMetrics.find(U=>U.ref===f),g=f.includes(".")?f.split(".")[0]:((E=h[0])==null?void 0:E.split(".")[0])??(m==null?void 0:m.ownerModel)??(m==null?void 0:m.model)??"",v=cf(n,e,t),x=Object.entries(v.filters).flatMap(([U,G])=>{const V=Ms(U);return V?[{dimension:U,value:G,baseDimension:V.baseDimension}]:[]}),b=Object.fromEntries(Object.entries(v.filters).flatMap(([U,G])=>{const V=Ms(U);return V?G===er?[[V.baseDimension,[G]]]:[]:[[U,[G]]]})),w=new URLSearchParams({view:"explore",model:g,metric:f});Object.keys(b).length&&w.set("filters",JSON.stringify(b));const j=((I=e.encoding)==null?void 0:I.x)??h[0],C=x.find(({baseDimension:U,value:G})=>G!==er&&(!g||U.startsWith(`${g}.`))),O=Object.keys(v.ranges),H=[j,...O].find((U,G,V)=>{if(!U||V.indexOf(U)!==G||!v.ranges[U])return!1;const Q=Ms(U);return((i[U]??(Q?i[Q.baseDimension]:void 0))==="time"||!!Q)&&(!g||U.startsWith(`${g}.`))}),L=H?v.ranges[H]:void 0,R=C?Km(C.dimension,{from:C.value,to:C.value}):H&&L?Km(H,L):null;return R&&(w.set("from",R.from),w.set("to",R.to)),`/explore?${w}`}function m_(n,e,t,i){const a=new Map;for(const u of n){const f=Number(u[t]);if(!Number.isFinite(f))continue;const h=i.map(b=>Xl(u[b])),m=JSON.stringify(h),g=h.length?h.map(rs).join(" · "):"Current",v=a.get(m)??{label:g,filterValues:h,data:[]},x=Xl(u[e]);v.data.push({label:rs(x),filterValue:x,value:f}),a.set(m,v)}return[...a.values()]}function y_(n,e,t,i){const a=[],u=new Set,f=new Map;for(const h of n){if(h[e]==null)continue;const m=String(h[e]),g=Number(h[t]);if(!Number.isFinite(g))continue;u.has(m)||(u.add(m),a.push(m));const v=i.map(j=>Xl(h[j])),x=JSON.stringify(v),b=v.length?v.map(rs).join(" · "):"Current",w=f.get(x)??{label:b,values:new Map};w.values.set(m,g),f.set(x,w)}return[...f.values()].map(h=>({label:h.label,points:a.map(m=>({x:m,y:h.values.get(m)??Number.NaN}))}))}function df(n,e){if(typeof n!="object"||n===null||Array.isArray(n))return{};const t={};for(const[i,a]of Object.entries(n))e.has(i)&&typeof a=="string"&&(t[i]=a);return t}function ff(n,e){if(typeof n!="object"||n===null||Array.isArray(n))return{};const t={};for(const[i,a]of Object.entries(n)){if(!e.has(i)||typeof a!="object"||a===null||Array.isArray(a))continue;const u=a;typeof u.from=="string"&&typeof u.to=="string"&&(t[i]={from:u.from,to:u.to})}return t}function tu(n,e){return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).filter(t=>e.has(t[0])&&typeof t[1]=="string"))}function Hv(n,e){return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).flatMap(([t,i])=>{const a=e.get(t);if(!a)return[];const u=df(i,a);return Object.keys(u).length?[[t,u]]:[]}))}function Gv(n,e){return typeof n!="object"||n===null||Array.isArray(n)?{}:Object.fromEntries(Object.entries(n).flatMap(([t,i])=>{const a=e.get(t);if(!a)return[];const u=ff(i,a);return Object.keys(u).length?[[t,u]]:[]}))}function Yv(n){return new Set(n.tabs.flatMap(e=>e.charts.flatMap(t=>t.query.dimensions??[])))}function Qv(n){return new Map(n.tabs.flatMap(e=>e.charts.map(t=>[eu(n,t),new Set(t.query.dimensions??[])])))}function g_(n,e){var j;const t=new URLSearchParams(n),i=((j=e.tabs[0])==null?void 0:j.id)??"",a=t.get("tab"),u=e.tabs.some(C=>C.id===a)?a??i:i;let f,h,m,g,v,x;try{f=JSON.parse(t.get(Ev)??"{}")}catch{f={}}try{h=JSON.parse(t.get(Rv)??"{}")}catch{h={}}try{m=JSON.parse(t.get(Lv)??"{}")}catch{m={}}try{g=JSON.parse(t.get(Uv)??"{}")}catch{g={}}try{v=JSON.parse(t.get($v)??"{}")}catch{v={}}try{x=JSON.parse(t.get(Pv)??"{}")}catch{x={}}const b=Yv(e),w=Qv(e);return{tab:u,filters:df(f,b),ranges:ff(h,b),filterSources:tu(m,b),rangeSources:tu(g,b),chartFilters:Hv(v,w),chartRanges:Gv(x,w)}}function v_(n,e){var u;const t=new URLSearchParams;n.tab&&n.tab!==((u=e.tabs[0])==null?void 0:u.id)&&t.set("tab",n.tab),Object.keys(n.filters).length&&t.set(Ev,JSON.stringify(n.filters)),Object.keys(n.ranges).length&&t.set(Rv,JSON.stringify(n.ranges));const i=Object.fromEntries(Object.entries(n.filterSources).filter(([f])=>f in n.filters)),a=Object.fromEntries(Object.entries(n.rangeSources).filter(([f])=>f in n.ranges));return Object.keys(i).length&&t.set(Lv,JSON.stringify(i)),Object.keys(a).length&&t.set(Uv,JSON.stringify(a)),Object.keys(n.chartFilters??{}).length&&t.set($v,JSON.stringify(n.chartFilters)),Object.keys(n.chartRanges??{}).length&&t.set(Pv,JSON.stringify(n.chartRanges)),t.toString()}function Kv(n){return`sidemantic-dashboard-views:${`${n.schema??"sidemantic.dashboard.v1"}:${n.title}`}`}function x_(n){try{const e=JSON.parse(localStorage.getItem(Kv(n))??"[]");if(!Array.isArray(e))return[];const t=Yv(n);return e.flatMap(i=>{var m;if(typeof i!="object"||i===null||Array.isArray(i))return[];const a=i;if(typeof a.name!="string"||!a.name.trim())return[];if(typeof a.state!="object"||a.state===null||Array.isArray(a.state))return[];const u=a.state,f=n.tabs.some(g=>g.id===u.tab)?String(u.tab):((m=n.tabs[0])==null?void 0:m.id)??"",h=Qv(n);return[{name:a.name,state:{tab:f,filters:df(u.filters,t),ranges:ff(u.ranges,t),filterSources:tu(u.filterSources,t),rangeSources:tu(u.rangeSources,t),chartFilters:Hv(u.chartFilters,h),chartRanges:Gv(u.chartRanges,h)}}]})}catch{return[]}}function b_(n,e){try{return localStorage.setItem(Kv(n),JSON.stringify(e)),!0}catch{return!1}}function Jm(n){if(n==null)return"";const e=String(n);return/[",\r\n]/.test(e)?`"${e.replaceAll('"','""')}"`:e}function w_(n,e){return[n.map(Jm).join(","),...e.map(t=>n.map(i=>Jm(t[i])).join(","))].join(`\r +`)}function S_(n){var e;return((e=n.label)==null?void 0:e.trim())||n.id}function fd(n,e){return`${n} ${e}${n===1?"":"s"}`}function __(){const{catalog:n,dispatch:e}=ls(),t=i=>{const a=n.models.find(h=>h.name===i),u=kv(a,n),f=(a==null?void 0:a.defaultGrain)??"month";e({type:"setModel",model:i,metric:u,grain:f}),e({type:"setView",view:"explore"})};return c.jsxs("div",{className:"mx-auto w-full max-w-5xl p-6",children:[c.jsxs("div",{className:"mb-4",children:[c.jsx("h1",{className:"text-base font-semibold text-ink",children:"Explore"}),c.jsxs("p",{className:"text-2xs text-muted",children:[fd(n.models.length,"model")," · pick one to explore"]})]}),c.jsx("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3",children:n.models.map(i=>c.jsxs("button",{type:"button","data-testid":"explore-card","data-model":i.name,onClick:()=>t(i.name),className:"flex min-h-32 flex-col gap-2 rounded-xl border border-line bg-surface p-4 text-left shadow-[var(--shadow-sm)] transition-colors hover:border-line-strong",children:[c.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[c.jsx("span",{className:"truncate text-sm font-medium text-ink",children:i.label}),i.timeDimension?c.jsx("span",{className:"shrink-0 text-2xs text-faint",children:"time series"}):null]}),i.description?c.jsx("p",{className:"line-clamp-2 text-2xs text-muted",children:i.description}):null,c.jsx("div",{className:"mt-auto flex flex-wrap gap-1 pt-1",children:i.metrics.slice(0,3).map(a=>c.jsx("span",{className:"rounded-full bg-surface-soft px-2 py-0.5 text-2xs text-muted",children:a.label},a.ref))}),c.jsxs("div",{className:"text-2xs text-faint",children:[fd(i.metrics.length,"metric")," · ",fd(i.dimensions.length,"dimension")]})]},i.name))})]})}const N_="600px";function j_(n){for(let e=n.parentElement;e;e=e.parentElement){const t=getComputedStyle(e).overflowY;if(t==="auto"||t==="scroll")return e}return null}function k_(n,e,t=N_){if(typeof IntersectionObserver>"u")return e(),()=>{};const i=new IntersectionObserver(a=>{a.some(u=>u.isIntersecting)&&(i.disconnect(),e())},{root:j_(n),rootMargin:t});return i.observe(n),()=>i.disconnect()}const I_={positive:"text-success",negative:"text-danger",neutral:"text-faint"};function Jv({dimension:n,title:e,metricLabel:t,rows:i,selectedValues:a=[],loading:u,formatMetric:f,onToggle:h,contextColumn:m="none",contextOptions:g,onContextColumn:v,collapsedLimit:x=6,expanded:b=!1,onExpandedChange:w,containerRef:j}){const C=new Set(a),O=b?i:i.slice(0,x),H=Math.max(1,...O.map(E=>Math.abs(E.metric))),L=b||i.length>x,R=m!=="none",T=R?"grid-cols-[minmax(0,1fr)_auto_auto]":"grid-cols-[minmax(0,1fr)_auto]";return c.jsxs("section",{ref:j,"data-testid":"dimension-leaderboard","data-dimension":n,"data-expanded":b||void 0,"aria-label":`${e}, ranked by ${t}`,className:"flex min-h-40 flex-col border-b border-r border-line bg-surface data-[expanded=true]:col-span-full",children:[c.jsxs("header",{className:"flex items-center justify-between gap-3 px-3 pb-2 pt-2.5",children:[c.jsxs("div",{className:"flex min-w-0 items-baseline gap-2",children:[c.jsx("h3",{className:"truncate text-sm font-semibold text-ink",children:e}),c.jsxs("p",{className:"sr-only",children:["Ranked by ",t]})]}),g&&v?c.jsx("div",{role:"group","aria-label":"Context column","data-testid":"leaderboard-context-toggle",className:"flex shrink-0 overflow-hidden border border-line text-2xs",children:g.map(E=>c.jsx("button",{type:"button",title:E.title,"aria-pressed":m===E.key,"data-context":E.key,"data-active":m===E.key||void 0,onClick:()=>v(E.key),className:"border-l border-line px-1.5 py-0.5 font-mono text-faint first:border-l-0 hover:bg-surface-soft data-[active=true]:bg-accent-soft data-[active=true]:text-accent",children:E.label},E.key))}):null]}),c.jsx("div",{"data-testid":"leaderboard-rows",children:u&&i.length===0?c.jsx("div",{className:"space-y-2 p-3",children:[0,1,2,3].map(E=>c.jsx("div",{className:"skeleton h-5 w-full"},E))}):i.length===0?c.jsx("p",{className:"px-3 py-4 text-xs text-faint",children:"No values"}):O.map(E=>{var V,Q,z;const I=E.metric<0?"negative":"positive",U=C.has(E.value),G=`${Math.round(Math.abs(E.metric)/H*100)}%`;return c.jsxs("button",{type:"button","data-dimension":n,"data-value":E.value,"data-selected":U||void 0,"data-tone":I,onClick:()=>h==null?void 0:h(E.value),"aria-pressed":U,className:`leaderboard-row relative grid w-full ${T} items-center gap-3 overflow-hidden border-0 bg-transparent px-3 py-1 text-left text-xs text-ink data-[selected=true]:bg-chart-primary-selected`,children:[c.jsx("span",{"aria-hidden":"true",className:`absolute inset-y-0 left-0 ${I==="negative"?"bg-danger-soft":"bg-chart-primary-soft"}`,style:{width:G}}),c.jsx("span",{className:"relative min-w-0 truncate text-muted",children:rs(E.value)}),c.jsx("strong",{className:"relative tnum font-semibold text-ink",children:f(E.metric)}),R?c.jsx("span",{"data-testid":"leaderboard-context","data-tone":((V=E.context)==null?void 0:V.tone)??"neutral",className:`relative w-14 text-right font-mono tnum text-2xs ${I_[((Q=E.context)==null?void 0:Q.tone)??"neutral"]}`,children:((z=E.context)==null?void 0:z.label)??"—"}):null]},`${n}:${E.value}`)})}),L&&!u?c.jsx("button",{type:"button","data-action":b?"leaderboard-back":"leaderboard-expand","aria-expanded":b,onClick:()=>w==null?void 0:w(!b),className:"leaderboard-expand border-0 border-t border-line bg-transparent px-3 py-1 text-left text-xs font-normal text-faint hover:text-accent",children:b?"← All dimensions":`Expand table (${i.length})`}):null]})}const M_=[{key:"none",label:"—",title:"No context column"},{key:"pctTotal",label:"%",title:"Share of total"},{key:"delta",label:"Δ",title:"Absolute change vs comparison period"},{key:"deltaPct",label:"Δ%",title:"Percent change vs comparison period"}],D_=[],C_=[];function F_({dim:n,model:e,timeDimensionRef:t,rankMetric:i,contextColumn:a,metricTotal:u,comparisonRange:f,baseFilters:h=D_,baseSegments:m=C_,usePreaggregations:g,limit:v=6,expanded:x=!1,onExpandedChange:b}){var pe;const{state:w,dispatch:j,backend:C,catalog:O}=ls(),H=D.useRef(null),[L,R]=D.useState(!1);D.useEffect(()=>{if(!(L||!H.current))return k_(H.current,()=>R(!0))},[L]);const T=t??((pe=e.timeDimension)==null?void 0:pe.ref),E=D.useMemo(()=>ou(O),[O]),I=D.useMemo(()=>[...h,...Os(w.filters,{timeRef:T,range:w.dateRange,excludeDim:n.ref,types:E})],[h,w.filters,T,w.dateRange,n.ref,E]),{result:U,loading:G,error:V}=Zn(C,L?zm(i.ref,n.ref,I,v,m,g):null),Q=w.filters[n.ref],z=(Q==null?void 0:Q.mode)==="include"?Q.values:void 0,ee=[i.ref,n.ref],X=Fn(n.ref,ee),ie=a==="delta"||a==="deltaPct",ae=D.useMemo(()=>{if(!U||!U.columns.includes(X))return null;const ne=[];let fe=!1;for(const Te of U.rows){const Ue=Te[X];Ue==null?fe=!0:ne.push(String(Ue))}const Ce=[];return ne.length&&Ce.push(`CAST(${n.ref} AS VARCHAR) IN (${ne.map(Tn).join(", ")})`),fe&&Ce.push(`${n.ref} IS NULL`),Ce.length?Ce.length===1?Ce[0]:`(${Ce.join(" OR ")})`:null},[U,X,n.ref]),re=D.useMemo(()=>ie&&f&&T&&ae?[...h,...Os(w.filters,{timeRef:T,range:f,excludeDim:n.ref,types:E}),ae]:null,[ie,f,T,w.filters,n.ref,E,ae,h]),se=Zn(C,re?zm(i.ref,n.ref,re,v,m,g):null),A=Fn(i.ref,ee),Y=!!U&&U.rows.length>0&&!U.columns.includes(A),W=D.useMemo(()=>{const ne=new Map;if(!se.result||!se.result.columns.includes(A))return ne;for(const fe of se.result.rows){const Ce=fe[X],Te=Ce==null?er:String(Ce);ne.set(Te,Number(fe[A]))}return ne},[se.result,X,A]),_={format:i.format,type:i.type};function F(ne,fe){switch(a){case"pctTotal":return u===void 0?void 0:hb(fe,u);case"delta":return pb(fe,W.get(ne),_);case"deltaPct":return mb(fe,W.get(ne));default:return}}const te=U&&!Y?U.rows.map(ne=>{const fe=ne[X],Ce=fe==null?er:String(fe),Te=Number(ne[A]??0);return{value:Ce,metric:Te,context:F(Ce,Te)}}):[];return V?c.jsx(Bi,{title:n.label,message:V}):c.jsx(Jv,{dimension:n.ref,title:n.label,metricLabel:i.label,rows:te,containerRef:H,loading:!L||G||Y,selectedValues:z,formatMetric:ne=>Wt(ne,_),onToggle:ne=>j({type:"toggleFilter",dim:n.ref,value:ne}),contextColumn:a,contextOptions:M_,onContextColumn:ne=>j({type:"setContextColumn",column:ne}),collapsedLimit:v,expanded:x,onExpandedChange:b})}function Dr(){const[n,e]=D.useState(null);return{tip:n,handlers:i=>({onMouseEnter:a=>e({content:i,x:a.clientX,y:a.clientY}),onMouseMove:a=>e({content:i,x:a.clientX,y:a.clientY}),onMouseLeave:()=>e(null)})}}function rr({tip:n,position:e="fixed",offset:t=12,className:i,style:a}){return n?c.jsx("div",{role:"tooltip",style:{position:e,left:n.x+t,top:n.y+t,pointerEvents:"none",zIndex:50,...a},className:i||"rounded-lg border border-line bg-surface px-2.5 py-1.5 text-xs text-ink shadow-[var(--shadow)]",children:n.content}):null}function os({title:n,rows:e}){return c.jsxs("div",{className:"min-w-28",children:[n?c.jsx("div",{className:"mb-0.5 font-mono text-faint",children:n}):null,e.map((t,i)=>c.jsxs("div",{className:"flex items-center justify-between gap-3",children:[c.jsxs("span",{className:"flex items-center gap-1 text-muted",children:[t.swatch?c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-sm",style:{background:t.swatch}}):null,t.label]}),c.jsx("span",{className:"font-mono tnum font-medium text-ink",children:t.value})]},i))]})}function qv({values:n,labels:e,height:t=44,ariaLabel:i,formatValue:a=h=>h.toLocaleString(void 0,{maximumFractionDigits:2}),onHover:u,onBrush:f}){const h=D.useRef(null),m=D.useId(),g=D.useRef(null),v=D.useRef(null),[x,b]=D.useState(200),[w,j]=D.useState(null),[C,O]=D.useState(null),[H,L]=D.useState(null);D.useEffect(()=>{const W=h.current;if(!W||typeof ResizeObserver>"u")return;const _=new ResizeObserver(F=>{for(const te of F)b(Math.max(40,te.contentRect.width))});return _.observe(W),()=>_.disconnect()},[]);const R=n.map((W,_)=>({index:_,value:W})).filter(W=>Number.isFinite(W.value));if(R.length<2)return c.jsx("svg",{ref:g,role:"img","aria-label":i||"No trend data",className:"h-11 w-full",viewBox:`0 0 ${x} ${t}`});const T=3,E=Math.min(...R.map(W=>W.value)),U=Math.max(...R.map(W=>W.value))-E||1,G=R.map((W,_)=>({...W,x:T+_/(R.length-1)*(x-T*2),y:T+(1-(W.value-E)/U)*(t-T*2)})),V=G.map(({x:W,y:_})=>`${W.toFixed(1)},${_.toFixed(1)}`).join(" L "),Q=`M ${G[0].x.toFixed(1)},${t-T} L ${V} L ${G.at(-1).x.toFixed(1)},${t-T} Z`,z=G.at(-1),ee=i||`Trend of ${R.length} points, latest ${a(z.value)}`;function X(W){var F;const _=(F=g.current)==null?void 0:F.getBoundingClientRect();return _?Math.max(T,Math.min(x-T,(W.clientX-_.left)/_.width*x)):T}function ie(W){return Math.max(0,Math.min(G.length-1,Math.round((W-T)/(x-T*2)*(G.length-1))))}function ae(W){const _=X(W),F=ie(_),te=G[F];j(F),L({content:`${e!=null&&e[te.index]?`${e[te.index]}: `:""}${a(te.value)}`,x:W.clientX,y:W.clientY}),u==null||u({index:te.index,label:e==null?void 0:e[te.index],value:te.value}),v.current!==null&&O({a:v.current,b:_})}function re(W){if(!f||!(e!=null&&e.length))return;W.currentTarget.setPointerCapture(W.pointerId);const _=X(W);v.current=_,O({a:_,b:_})}function se(W){if(v.current===null||!f||!(e!=null&&e.length))return;W.currentTarget.hasPointerCapture(W.pointerId)&&W.currentTarget.releasePointerCapture(W.pointerId);const _=X(W);if(Math.abs(_-v.current)>6){const F=G[ie(Math.min(v.current,_))],te=G[ie(Math.max(v.current,_))];f({from:e[F.index],to:e[te.index]})}v.current=null,O(null)}function A(){j(null),L(null),u==null||u(null),v.current===null&&O(null)}const Y=w===null?null:G[w];return c.jsxs("span",{ref:h,className:"relative block w-full",children:[c.jsxs("svg",{ref:g,role:"img","aria-label":ee,className:`h-11 w-full overflow-hidden text-chart-primary ${f?"touch-none select-none":""}`,viewBox:`0 0 ${x} ${t}`,preserveAspectRatio:"none",onPointerMove:ae,onPointerDown:re,onPointerUp:se,onPointerCancel:A,onPointerLeave:A,onDoubleClick:()=>f==null?void 0:f(null),children:[c.jsx("defs",{children:c.jsxs("linearGradient",{id:m,x1:"0",y1:"0",x2:"0",y2:"1",children:[c.jsx("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:.16}),c.jsx("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:0})]})}),c.jsx("path",{d:Q,fill:`url(#${m})`}),c.jsx("path",{d:`M ${V}`,fill:"none",stroke:"currentColor",strokeWidth:1.5,vectorEffect:"non-scaling-stroke"}),C?c.jsx("rect",{x:Math.min(C.a,C.b),y:0,width:Math.abs(C.b-C.a),height:t,fill:"currentColor",opacity:.12}):null,Y?c.jsxs(c.Fragment,{children:[c.jsx("line",{x1:Y.x,x2:Y.x,y1:0,y2:t,stroke:"currentColor",strokeWidth:1,opacity:.45}),c.jsx("circle",{cx:Y.x,cy:Y.y,r:2.5,fill:"currentColor"})]}):c.jsx("circle",{cx:z.x,cy:z.y,r:2.25,fill:"currentColor"})]}),c.jsx(rr,{tip:H})]})}const O_={positive:"text-success",negative:"text-danger",neutral:"text-faint"},T_={positive:"▲",negative:"▼",neutral:"·"};function Nr({metric:n,label:e,value:t,valueText:i,format:a,delta:u,comparison:f,sparkValues:h=[],sparkLabels:m,selected:g,loading:v,onSelect:x,onSparkHover:b,onSparkBrush:w}){const[j,C]=D.useState(null),O=c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[c.jsx("span",{className:"truncate text-xs font-medium text-muted",children:e}),j!=null&&j.label?c.jsx("span",{className:"shrink-0 font-mono text-2xs text-faint",children:j.label}):null]}),c.jsx("div",{className:"font-mono tnum text-[19px] font-semibold leading-tight tracking-tight text-ink",children:v?c.jsx("span",{className:"skeleton inline-block h-6 w-24 align-middle"}):j?pt(j.value,a):i??pt(t,a)}),u||f?c.jsxs("div",{className:"flex items-baseline gap-1 text-2xs",children:[u?c.jsxs("span",{"data-tone":u.tone,className:`font-mono tnum font-medium ${O_[u.tone]}`,children:[c.jsx("span",{"aria-hidden":"true",className:"mr-0.5 text-[8px]",children:T_[u.tone]}),u.label]}):null,f?c.jsx("span",{className:"truncate text-faint",children:f}):null]}):null]}),H="group flex w-full flex-col gap-1.5 overflow-hidden rounded-xl border border-line bg-surface px-3.5 pt-3 text-left shadow-[var(--shadow-sm)] transition-colors hover:border-line-strong data-[selected=true]:border-accent",L=c.jsx("div",{className:"-mx-3.5 mt-auto",children:c.jsx(qv,{values:h,labels:m,onHover:R=>{C(R),b==null||b(R)},onBrush:w,formatValue:R=>pt(R,a)})});return x?c.jsxs("article",{"data-metric":n,"data-selected":g||void 0,className:H,children:[c.jsx("button",{type:"button","data-metric":n,"aria-pressed":!!g,onClick:()=>x(n),className:"-m-1 flex flex-col gap-1 border-0 bg-transparent p-1 text-left transition hover:opacity-75",children:O}),L]}):c.jsxs("article",{"data-metric":n,"data-selected":g||void 0,className:H,children:[O,L]})}const cl=280,qt={top:14,right:18,bottom:26,left:60},qm=["var(--accent)","var(--danger)","#0f9f8f","#d98921","#a66dd4","#3b82c4"];function hd(n){return qm[n%qm.length]}function Zm(n,e,t){return Math.min(Math.max(n,e),t)}function Go({points:n,seriesLabel:e="Current",additionalSeries:t=[],comparison:i,formatValue:a,formatAxis:u=a,formatLabel:f=v=>v,comparisonLabel:h="Previous",ariaLabel:m,onBrush:g}){var Fr;const v=D.useRef(null),x=D.useRef(null),b=D.useRef(!1),w=D.useRef(null),[j,C]=D.useState(820),[O,H]=D.useState(null),[L,R]=D.useState(null);D.useEffect(()=>{const ue=v.current;if(!ue)return;const Oe=new ResizeObserver(rt=>{for(const Nt of rt)C(Math.max(320,Nt.contentRect.width))});return Oe.observe(ue),()=>Oe.disconnect()},[]);const T=n.length,E=[{label:e,points:n},...t],I=[...E.flatMap(ue=>ue.points),...i??[]].map(ue=>ue.y).filter(Number.isFinite),U=T<2||I.length===0,G=U?0:Math.min(0,...I),V=U?1:Math.max(...I),Q=V-G||1,z=j-qt.left-qt.right,ee=cl-qt.top-qt.bottom,X=ue=>qt.left+(T<=1?0:ue/(T-1)*z),ie=ue=>qt.top+(1-(ue-G)/Q)*ee,ae=ue=>Zm(Math.round((ue-qt.left)/z*(T-1)),0,T-1),re=ue=>{const Oe=[];let rt=[];return ue.forEach((Nt,Un)=>{Number.isFinite(Nt.y)?rt.push(`${X(Un).toFixed(1)},${ie(Nt.y).toFixed(1)}`):rt.length&&(Oe.push(rt.join(" L ")),rt=[])}),rt.length&&Oe.push(rt.join(" L ")),Oe.map(Nt=>`M ${Nt}`).join(" ")},se=U||n.some(ue=>!Number.isFinite(ue.y))?"":`M ${X(0).toFixed(1)},${ie(G).toFixed(1)} L ${n.map((ue,Oe)=>`${X(Oe).toFixed(1)},${ie(ue.y).toFixed(1)}`).join(" L ")} L ${X(T-1).toFixed(1)},${ie(G).toFixed(1)} Z`;function A(ue){var rt;const Oe=(rt=x.current)==null?void 0:rt.getBoundingClientRect();return Oe?ue.clientX-Oe.left:0}function Y(ue){if(U)return;const Oe=A(ue);H(ae(Oe)),b.current&&w.current&&(w.current={a:w.current.a,b:Oe},R({...w.current}))}function W(ue){if(U||!g)return;ue.currentTarget.setPointerCapture(ue.pointerId),b.current=!0;const Oe=A(ue);w.current={a:Oe,b:Oe},R({...w.current})}function _(ue){ue.currentTarget.hasPointerCapture(ue.pointerId)&&ue.currentTarget.releasePointerCapture(ue.pointerId);const Oe=w.current;if(b.current&&Oe&&g){const rt=ae(Math.min(Oe.a,Oe.b)),Nt=ae(Math.max(Oe.a,Oe.b));Nt>rt&&g({from:n[rt].x,to:n[Nt].x})}b.current=!1,w.current=null,R(null)}function F(){H(null),b.current=!1,w.current=null,R(null)}const te=Math.max(1,Math.ceil(T/8)),pe=[V,G+Q*.66,G+Q*.33,G],ne=O!=null&&O>=0&&O{const rt=ue.points[ne];return rt&&Number.isFinite(rt.y)?[{...ue,point:rt,index:Oe}]:[]}),lt=ne!=null?(i==null?void 0:i[ne])??null:null,wt=lt&&Number.isFinite(lt.y)?lt:null,Bs=ne!=null?Zm(X(ne),80,j-80):0,xn=Ce&&wt&&wt.y!==0?(Ce.y-wt.y)/Math.abs(wt.y)*100:null,Cr=m??(U?"Time series chart: not enough data to plot.":`Time series chart, ${T} points from ${f(n[0].x)} to ${f(n[T-1].x)}.`);return c.jsxs("div",{className:"relative text-chart-primary",children:[c.jsxs("div",{className:"flex flex-wrap items-center justify-end gap-x-3 gap-y-0.5 px-3 pt-2 text-2xs text-faint",children:[E.map((ue,Oe)=>c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{className:"inline-block h-0.5 w-3",style:{backgroundColor:hd(Oe)}})," ",ue.label]},`${ue.label}-${Oe}`)),i!=null&&i.length?c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{className:"inline-block h-0 w-3 border-t border-dashed border-faint"})," ",h]}):null]}),c.jsx("div",{ref:v,className:"w-full",children:U?c.jsx("div",{className:"grid h-[280px] place-items-center text-xs text-faint",children:"Not enough data to chart."}):c.jsxs("svg",{ref:x,width:j,height:cl,role:"img","aria-label":Cr,className:"block touch-none select-none",onPointerMove:Y,onPointerDown:W,onPointerUp:_,onPointerLeave:F,onPointerCancel:F,onDoubleClick:()=>g==null?void 0:g(null),children:[c.jsx("defs",{children:c.jsxs("linearGradient",{id:"ts-fill",x1:"0",y1:"0",x2:"0",y2:"1",children:[c.jsx("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:.18}),c.jsx("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:0})]})}),pe.map((ue,Oe)=>c.jsxs("g",{children:[c.jsx("line",{x1:qt.left,x2:j-qt.right,y1:ie(ue),y2:ie(ue),className:"stroke-line"}),c.jsx("text",{x:qt.left-8,y:ie(ue)+3,textAnchor:"end",className:"fill-faint font-mono text-[10px]",children:u(ue)})]},Oe)),i&&i.length>=2?c.jsx("path",{d:re(i),fill:"none",className:"stroke-faint",strokeWidth:1.25,strokeDasharray:"4 3"}):null,se?c.jsx("path",{d:se,fill:"url(#ts-fill)"}):null,E.map((ue,Oe)=>c.jsx("path",{d:re(ue.points),fill:"none",stroke:hd(Oe),strokeWidth:1.75},`${ue.label}-${Oe}`)),L?c.jsx("rect",{x:Math.min(L.a,L.b),y:qt.top,width:Math.abs(L.b-L.a),height:ee,className:"fill-chart-primary",opacity:.12}):null,ne!=null&&Ue.length?c.jsxs("g",{children:[c.jsx("line",{x1:X(ne),x2:X(ne),y1:qt.top,y2:cl-qt.bottom,className:"stroke-faint",strokeDasharray:"3 3"}),wt?c.jsx("circle",{cx:X(ne),cy:ie(wt.y),r:3,className:"fill-faint"}):null,Ue.map(ue=>c.jsx("circle",{cx:X(ne),cy:ie(ue.point.y),r:3.5,fill:hd(ue.index)},`${ue.label}-${ue.index}`))]}):null,n.map((ue,Oe)=>Oe%te===0||Oe===T-1?c.jsx("text",{x:X(Oe),y:cl-8,textAnchor:"middle",className:"fill-faint font-mono text-[10px]",children:f(ue.x)},ue.x):null)]})}),Ue.length&&Te?c.jsxs("div",{className:"pointer-events-none absolute top-8 z-20 -translate-x-1/2 whitespace-nowrap border border-line bg-surface px-2 py-1.5 text-2xs shadow-[var(--shadow)]",style:{left:Bs},children:[c.jsx("div",{className:"mb-0.5 font-mono text-faint",children:f(Te)}),Ue.map(ue=>c.jsxs("div",{className:"flex items-center justify-between gap-3",children:[c.jsx("span",{className:"text-muted",children:ue.label}),c.jsx("span",{className:"font-mono tnum font-medium text-ink",children:a(ue.point.y)})]},`${ue.label}-${ue.index}`)),wt?c.jsxs("div",{className:"flex items-center justify-between gap-3",children:[c.jsx("span",{className:"text-muted",children:h}),c.jsx("span",{className:"font-mono tnum text-muted",children:a(wt.y)})]}):null,xn!=null?c.jsxs("div",{className:`mt-0.5 text-right font-mono ${xn>0?"text-success":xn<0?"text-danger":"text-faint"}`,children:[xn.toLocaleString(void 0,{maximumFractionDigits:1,signDisplay:"exceptZero"}),"%"]}):null]}):null]})}const A_={positive:"text-success",negative:"text-danger",neutral:"text-faint"};function B_({metric:n,points:e,comparisonPoints:t,total:i,prevTotal:a,hasTime:u,loading:f,activeRange:h,comparisonLabel:m="Prev period",formatLabel:g,onBrush:v}){const x={format:n.format,type:n.type},b=a!==void 0?yy(i,a):null,w=`${n.label} over time. Total ${pt(i,x)}${b?`, ${b.label} versus the ${m.toLowerCase()}`:""}.`;return c.jsxs("section",{className:"flex flex-col gap-2",children:[c.jsxs("header",{className:"flex flex-wrap items-baseline gap-x-3 gap-y-0.5 px-0.5",children:[c.jsx("h2",{className:"text-xs font-medium text-muted",children:n.label}),c.jsx("span",{className:"font-mono tnum text-xl font-semibold text-ink",children:pt(i,x)}),b?c.jsxs("span",{className:`text-xs ${A_[b.tone]}`,children:[b.label," vs ",m.toLowerCase()]}):null,u?null:c.jsx("span",{className:"text-2xs text-faint",children:"No time dimension"}),h?c.jsx("button",{type:"button",onClick:()=>v(null),className:"ml-auto inline-flex h-7 items-center rounded-full border border-line bg-surface px-3 text-xs text-muted hover:border-line-strong hover:text-ink",children:"Reset zoom"}):null]}),u?f&&e.length<2?c.jsx("div",{className:"skeleton h-[280px] w-full"}):c.jsx(Go,{points:e,comparison:t,formatValue:j=>pt(j,x),formatAxis:j=>Wt(j,x),formatLabel:g,comparisonLabel:m,ariaLabel:w,onBrush:v}):null]})}const E_=new Set(["and","as","asc","by","case","cast","count","date_trunc","desc","else","end","from","group","in","is","join","left","limit","not","null","on","or","order","over","partition","select","sum","then","when","where","with"]);function R_(n){const e=[];let t=0;for(;ta).map(([a,u])=>`-- ${a} +${u}`).join(` + +`),i=R_(t||"No queries yet.");return c.jsxs("details",{className:"border border-line bg-surface",children:[c.jsx("summary",{className:"cursor-pointer px-3 py-2 text-xs font-medium text-muted",children:"Generated SQL"}),Object.keys(e).length>0?c.jsx("div",{"data-testid":"query-inputs",className:"grid gap-px border-t border-line bg-line sm:grid-cols-2",children:Object.entries(e).map(([a,u])=>u?c.jsxs("section",{className:"min-w-0 bg-surface px-3 py-2 text-2xs",children:[c.jsx("h3",{className:"mb-1 font-semibold text-ink",children:a}),[["Metrics",u.metrics],["Dimensions",u.dimensions],["Filters",u.filters]].map(([f,h])=>h!=null&&h.length?c.jsxs("p",{className:"truncate text-muted",title:h.join(", "),children:[c.jsxs("strong",{className:"font-medium text-faint",children:[f,":"]})," ",h.join(", ")]},f):null)]},a):null)}):null,c.jsx("pre",{"data-testid":"query-debug",className:"max-h-72 overflow-auto whitespace-pre-wrap border-t border-line px-3 py-2 font-mono text-2xs text-muted",children:i.map((a,u)=>Xm[a.kind]?c.jsx("span",{className:Xm[a.kind],"data-token":a.kind,children:a.value},u):a.value)})]})}function L_(n){return{format:n==null?void 0:n.format,type:n==null?void 0:n.type}}function U_(n,e){return n&&e.some(t=>t.ref===n)?n:null}function ey(n,e){return[...n].sort((t,i)=>String(t[e]??"").localeCompare(String(i[e]??"")))}function $_(n,e){return{from:e==="second"||e==="minute"||e==="hour"?n.from.replace(" ","T"):nf(n.from),to:hS(n.to,e)}}function P_(){var Cr,Fr,ue,Oe,rt,Nt,Un,sr,Es,Ei;const{state:n,dispatch:e,catalog:t,backend:i,dashboard:a}=ls(),[u,f]=D.useState(null),h=t.models.find(Se=>Se.name===n.model),m=D.useMemo(()=>Cs(t,a,n.dashboardTab),[t,a,n.dashboardTab]);D.useEffect(()=>{f(null)},[n.dashboardTab,n.model]);const g=(m==null?void 0:m.metrics)??(h==null?void 0:h.metrics)??[],v=new Set(g.map(Se=>Se.ref)),x=ji(t,n.model).filter(Se=>!m||v.has(Se.ref)),b=((Cr=m==null?void 0:m.timeDimension)==null?void 0:Cr.ref)??((Fr=h==null?void 0:h.timeDimension)==null?void 0:Fr.ref),w=g.find(Se=>Se.ref===n.selectedMetric)??x.find(Se=>Se.ref===n.selectedMetric)??g[0],j=!!w&&g.some(Se=>Se.ref===w.ref),C=D.useMemo(()=>{const Se=g.map(bn=>bn.ref);return w&&!j?[...Se,w.ref]:Se},[g,w,j]),O=D.useMemo(()=>ou(t),[t]),H=D.useMemo(()=>[...(m==null?void 0:m.filters)??[],...Os(n.filters,{timeRef:b,range:n.dateRange,types:O})],[m,n.filters,b,n.dateRange,O]),L=D.useMemo(()=>n.comparison==="off"||!n.dateRange?null:n.comparison==="year"?lS(n.dateRange):n.comparison==="custom"?n.comparisonRange??null:aS(n.dateRange),[n.comparison,n.dateRange,n.comparisonRange]),R=D.useMemo(()=>L&&b?[...(m==null?void 0:m.filters)??[],...Os(n.filters,{timeRef:b,range:L,types:O})]:null,[m,n.filters,b,L,O]),T=n.timezone,E=Se=>Se?{...Se,timezone:T}:null,I=Zn(i,C.length?E($m(C,H,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations)):null),U=Zn(i,C.length&&b?E(Pm(C,b,n.grain,H,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations,!!n.dateRange)):null),G=Zn(i,C.length&&R?E($m(C,R,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations)):null),V=Zn(i,w&&b&&R?E(Pm([w.ref],b,n.grain,R,m==null?void 0:m.segments,m==null?void 0:m.usePreaggregations,!0)):null),Q=I.error??U.error??G.error??V.error;if(!h)return c.jsx("div",{className:"p-4",children:c.jsx(Xn,{message:"No model available in this semantic layer."})});const z=((m==null?void 0:m.dimensions)??h.dimensions).filter(Se=>Se.type!=="time"),ee=U_(u,z),X=n.comparison==="year"?"Prev year":n.comparison==="custom"?"Comparison":"Prev period",ie=b?`${b}__${n.grain}`:"",ae=ie?[...C,ie]:C,re=w&&ie?[w.ref,ie]:[],se=g[0]?Fn(g[0].ref,C):w?Fn(w.ref,C):null,A=Se=>!Se||!se||Se.columns.includes(se),Y=A(I.result)?(ue=I.result)==null?void 0:ue.rows[0]:void 0,W=A(G.result)?(Oe=G.result)==null?void 0:Oe.rows[0]:void 0,_=A(U.result)?((rt=U.result)==null?void 0:rt.rows)??[]:[],F=w?Fn(w.ref,C):"",te=w?Fn(w.ref,ae):"",pe=w?Fn(w.ref,re):"",ne=ie?Fn(ie,ae):"",fe=ie?Fn(ie,re):"",Ce=ne?ey(_,ne):_,Te=Y&&F?Number(Y[F]):NaN,Ue=W&&F?Number(W[F]):void 0,lt=te?Ce.map(Se=>({x:String(Se[ne]??""),y:Number(Se[te])})):[],wt=fe?ey(((Nt=V.result)==null?void 0:Nt.rows)??[],fe):[],Bs=pe&<.length>0&&wt.length>0?(()=>{const Se=String(wt[0][fe]??""),bn=lt[0].x,cs=new Map;for(const tn of wt)cs.set(Lm(Se,String(tn[fe]??""),n.grain),Number(tn[pe]));return lt.map(tn=>({x:tn.x,y:cs.get(Lm(bn,tn.x,n.grain))??NaN}))})():[];function xn(Se){e(Se?{type:"setDateRange",range:$_(Se,n.grain)}:{type:"setDateRange",range:void 0})}return c.jsxs("div",{className:"flex flex-col gap-4 p-4",children:[Q?c.jsx(Bi,{message:Q}):null,c.jsx("div",{className:"grid grid-cols-2 gap-2 sm:grid-cols-3 lg:grid-cols-4 xl:grid-cols-6","data-testid":"metric-totals",children:g.length===0?c.jsx("div",{className:"col-span-full",children:c.jsx(Xn,{message:"This model has no metrics."})}):g.map(Se=>{const bn=Fn(Se.ref,C),cs=Fn(Se.ref,ae),tn=Y?Number(Y[bn]):NaN,ds=W?Number(W[bn]):void 0,Yo=Ce.map(ir=>Number(ir[cs])).filter(Number.isFinite);return c.jsx(Nr,{metric:Se.ref,label:Se.label,valueText:pt(tn,L_(Se)),delta:ds!==void 0?yy(tn,ds):null,sparkValues:Yo,selected:n.selectedMetric===Se.ref,loading:I.loading&&!Y,onSelect:ir=>e({type:"setMetric",metric:ir})},Se.ref)})}),w?c.jsx(B_,{metric:w,points:lt,comparisonPoints:L?Bs:void 0,total:Te,prevTotal:L?Ue:void 0,hasTime:!!b,loading:U.loading,activeRange:n.dateRange,comparisonLabel:X,formatLabel:Se=>uS(Se,n.grain),onBrush:xn}):null,c.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(220px,1fr))] gap-0 border-l border-t border-line",children:w&&z.length?z.filter(Se=>ee===null||ee===Se.ref).map(Se=>c.jsx(F_,{dim:Se,model:h,timeDimensionRef:b,rankMetric:w,contextColumn:n.contextColumn,metricTotal:Number.isFinite(Te)?Te:void 0,comparisonRange:L??void 0,baseFilters:m==null?void 0:m.filters,baseSegments:m==null?void 0:m.segments,usePreaggregations:m==null?void 0:m.usePreaggregations,expanded:ee===Se.ref,onExpandedChange:bn=>f(bn?Se.ref:null)},Se.ref)):c.jsx(Xn,{message:"No categorical dimensions to break down."})}),c.jsx(au,{queries:{Totals:(Un=I.result)==null?void 0:Un.sql,Series:(sr=U.result)==null?void 0:sr.sql,Comparison:(Es=G.result)==null?void 0:Es.sql,"Prev series":(Ei=V.result)==null?void 0:Ei.sql}})]})}function z_(){var ie,ae;const{state:n,catalog:e,backend:t}=ls(),i=e.models.find(re=>re.name===n.model),a=(i==null?void 0:i.dimensions)??[],u=ji(e,n.model),f=D.useMemo(()=>[...(i==null?void 0:i.metrics)??[],...u],[i,u]),h=(ie=i==null?void 0:i.timeDimension)==null?void 0:ie.ref,m=re=>a.some(se=>se.ref===re),g=re=>f.some(se=>se.ref===re),v=n.pivotDims.filter(m),x=n.pivotMetrics.filter(g),b=g(n.selectedMetric)?n.selectedMetric:(ae=i==null?void 0:i.metrics[0])==null?void 0:ae.ref,w=x.length?x:b?[b]:[],[j,C]=D.useState(null),O=D.useMemo(()=>sf(a),[a]),H=D.useMemo(()=>Os(n.filters,{timeRef:h,range:n.dateRange,types:O}),[n.filters,h,n.dateRange,O]),L=j??(w[0]?{ref:w[0],dir:"desc"}:null),R=L?[`${L.ref} ${L.dir.toUpperCase()}`]:void 0,T=w.length||v.length?gS(w,v,H,R,500):null,E=T?{...T,timezone:n.timezone}:null,{result:I,loading:U,error:G}=Zn(t,E),V=D.useMemo(()=>new Map(f.map(re=>[re.ref,re])),[f]),Q=D.useMemo(()=>{const re=new Map;for(const se of[...v,...w])re.set(Sr(se),se);return re},[v,w]),z=[...v.map(re=>{var se;return{key:Sr(re),label:((se=a.find(A=>A.ref===re))==null?void 0:se.label)??Le(re),numeric:!1}}),...w.map(re=>{var se;return{key:Sr(re),label:((se=V.get(re))==null?void 0:se.label)??Le(re),numeric:!0,sortable:!0}})];function ee(re){const se=Q.get(re);se&&C(A=>A&&A.ref===se?{ref:se,dir:A.dir==="desc"?"asc":"desc"}:{ref:se,dir:"desc"})}function X(re,se){if(re.numeric){const A=V.get(Q.get(re.key)??"");return pt(se,{format:A==null?void 0:A.format,type:A==null?void 0:A.type})}return se==null||se===""?"—":String(se)}return i?c.jsxs("div",{className:"flex flex-col gap-4 p-4",children:[G?c.jsx(Bi,{message:G}):z.length===0?c.jsx(Xn,{title:"Nothing selected",message:"Pick at least one metric or dimension above."}):c.jsx(Ho,{columns:z,rows:(I==null?void 0:I.rows)??[],loading:U,sortKey:L?Sr(L.ref):void 0,sortDir:L==null?void 0:L.dir,onSort:ee,renderCell:X}),c.jsx(au,{queries:{Pivot:I==null?void 0:I.sql}})]}):c.jsx("div",{className:"p-4",children:c.jsx(Xn,{message:"No model available."})})}const Dn={top:12,right:14,bottom:26,left:44};function V_(n,e,t=4){if(!(e>n))return[n];const i=(e-n)/(t-1);return Array.from({length:t},(a,u)=>n+i*u)}function Zv({data:n,height:e=200,ariaLabel:t,selectedLabel:i,onSelect:a}){const u=D.useRef(null),[f,h]=D.useState(640),{tip:m,handlers:g}=Dr();D.useEffect(()=>{const I=u.current;if(!I||typeof ResizeObserver>"u")return;const U=new ResizeObserver(G=>{for(const V of G)h(Math.max(160,V.contentRect.width))});return U.observe(I),()=>U.disconnect()},[]);const v=n.map(I=>Number.isFinite(I.value)?I.value:0),x=Math.min(0,...v),b=Math.max(0,...v),w=b-x||1,j=f-Dn.left-Dn.right,C=e-Dn.top-Dn.bottom,O=I=>Dn.top+(1-(I-x)/w)*C,H=O(0),L=j/Math.max(n.length,1),R=Math.max(8,Math.min(48,L*.62)),T=V_(x,b,4),E=t||`Bar chart, ${n.length} categories, up to ${Wt(b)}`;return c.jsxs(c.Fragment,{children:[c.jsxs("svg",{ref:u,role:"img","aria-label":E,className:"h-[200px] w-full overflow-hidden",viewBox:`0 0 ${f} ${e}`,children:[T.map((I,U)=>{const G=O(I);return c.jsxs("g",{children:[c.jsx("line",{x1:Dn.left,x2:f-Dn.right,y1:G,y2:G,className:"stroke-line"}),c.jsx("text",{x:Dn.left-6,y:G+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Wt(I)})]},U)}),c.jsx("line",{x1:Dn.left,x2:f-Dn.right,y1:H,y2:H,className:"stroke-line"}),n.map((I,U)=>{const G=I.filterValue??I.label,V=v[U]??0,Q=O(V),z=Math.abs(Q-H),ee=Dn.left+L*U+(L-R)/2,X=Math.min(Q,H);return c.jsxs("g",{role:a?"button":void 0,tabIndex:a?0:void 0,"aria-label":a?`Filter to ${I.label}`:void 0,"aria-pressed":a?i===G:void 0,onClick:a?()=>a(G):void 0,onKeyDown:a?ie=>{(ie.key==="Enter"||ie.key===" ")&&a(G)}:void 0,className:a?"cursor-pointer":void 0,children:[c.jsx("rect",{x:ee,y:X,width:R,height:z,"data-label":I.label,"data-value":V,"data-tone":V<0?"negative":"positive",className:i===G?"fill-accent":V<0?"fill-danger":"fill-chart-primary",...g(`${I.label}: ${pt(V)}`)}),c.jsx("text",{x:ee+R/2,y:e-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:I.label.slice(0,8)})]},`${G}-${U}`)})]}),c.jsx(rr,{tip:m})]})}const pd=7;function yn(n){return`var(--viz-${(n%pd+pd)%pd+1})`}function Ts(n,e,t=4){if(!(e>n))return[n];const i=(e-n)/(t-1);return Array.from({length:t},(a,u)=>n+i*u)}function us(n,e,t){if(!n||typeof ResizeObserver>"u")return()=>{};const i=new ResizeObserver(a=>{for(const u of a)t(Math.max(e,u.contentRect.width))});return i.observe(n),()=>i.disconnect()}const Pt={top:12,right:14,bottom:30,left:48};function Xv({points:n,height:e=240,xLabel:t,yLabel:i,formatX:a=Wt,formatY:u=Wt,ariaLabel:f}){const h=D.useRef(null),[m,g]=D.useState(640),{tip:v,handlers:x}=Dr();D.useEffect(()=>us(h.current,200,g),[]);const b=n.filter(z=>Number.isFinite(z.x)&&Number.isFinite(z.y));if(b.length===0)return c.jsx("div",{className:"grid h-[240px] place-items-center text-xs text-faint",children:"No points to chart."});const w=[...new Set(b.map(z=>z.series??""))],j=b.map(z=>z.x),C=b.map(z=>z.y),O=Math.min(...j),H=Math.max(...j),L=Math.min(...C),R=Math.max(...C),T=H-O||1,E=R-L||1,I=m-Pt.left-Pt.right,U=e-Pt.top-Pt.bottom,G=z=>Pt.left+(z-O)/T*I,V=z=>Pt.top+(1-(z-L)/E)*U,Q=f||`Scatter plot, ${b.length} points${t&&i?` of ${i} by ${t}`:""}`;return c.jsxs(c.Fragment,{children:[w.length>1?c.jsx("div",{className:"mb-1 flex flex-wrap items-center gap-3 text-2xs text-faint",children:w.map((z,ee)=>c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-full",style:{background:yn(ee)}}),z||"(default)"]},z||"(default)"))}):null,c.jsxs("svg",{ref:h,role:"img","aria-label":Q,className:"w-full overflow-hidden",style:{height:e},viewBox:`0 0 ${m} ${e}`,children:[Ts(L,R,4).map((z,ee)=>{const X=V(z);return c.jsxs("g",{children:[c.jsx("line",{x1:Pt.left,x2:m-Pt.right,y1:X,y2:X,className:"stroke-line"}),c.jsx("text",{x:Pt.left-6,y:X+3,textAnchor:"end",className:"fill-faint text-[10px]",children:u(z)})]},`y${ee}`)}),Ts(O,H,5).map((z,ee)=>{const X=G(z);return c.jsxs("g",{children:[c.jsx("line",{x1:X,x2:X,y1:Pt.top,y2:e-Pt.bottom,className:"stroke-line"}),c.jsx("text",{x:X,y:e-14,textAnchor:"middle",className:"fill-faint text-[10px]",children:a(z)})]},`x${ee}`)}),t?c.jsx("text",{x:Pt.left+I/2,y:e-2,textAnchor:"middle",className:"fill-muted text-[10px]",children:t}):null,i?c.jsx("text",{x:10,y:Pt.top+U/2,textAnchor:"middle",transform:`rotate(-90 10 ${Pt.top+U/2})`,className:"fill-muted text-[10px]",children:i}):null,b.map((z,ee)=>c.jsx("circle",{cx:G(z.x),cy:V(z.y),r:3.5,fill:yn(w.indexOf(z.series??"")),fillOpacity:.75,"data-x":z.x,"data-y":z.y,"data-label":z.label,...x(c.jsx(os,{title:z.label??z.series,rows:[{label:t??"x",value:a(z.x)},{label:i??"y",value:u(z.y)}]}))},ee))]}),c.jsx(rr,{tip:v})]})}function W_(){const n=Cv();return c.jsx("span",{className:"text-2xs text-faint",children:n?"Querying…":"Live data"})}function md(n,e){for(const i of n.models){const a=i.metrics.find(u=>u.ref===e);if(a)return{format:a.format,type:a.type}}const t=n.graphMetrics.find(i=>i.ref===e);return{format:t==null?void 0:t.format,type:t==null?void 0:t.type}}function H_(n){return sf(n.models.flatMap(e=>e.dimensions))}function G_(n){var t;const e=(t=n.encoding)==null?void 0:t.y;return(Array.isArray(e)?e[0]:e)??n.query.metrics[0]??""}function Y_({chart:n,columns:e,rows:t}){const i=w_(e,t);return c.jsx("a",{href:`data:text/csv;charset=utf-8,${encodeURIComponent(i)}`,download:`${n.id}.csv`,className:"border border-line px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Export CSV"})}function Q_({chart:n,columns:e,rows:t,loading:i,onDrill:a}){const u=e.map(g=>({key:g,label:Le(g),numeric:n.query.metrics.some(v=>xr(v,e)===g)})),f=i_(n),h=f?xr(f,e):void 0,m=!!f;return c.jsxs("div",{className:"border-t border-line bg-surface-soft p-3","data-testid":`chart-details-${n.id}`,children:[c.jsxs("div",{className:"mb-2 flex items-center justify-between gap-2",children:[c.jsx("span",{className:"text-2xs font-semibold uppercase tracking-wide text-faint",children:"Drill details"}),m&&f&&h?c.jsxs("span",{className:"text-2xs text-faint",children:["Choose a ",Le(f)," value to filter every chart."]}):null]}),c.jsx(Ho,{columns:u,rows:t,loading:i,pageSize:20,renderCell:(g,v)=>String(v??"—")}),m&&f&&h&&t.length?c.jsx("div",{className:"mt-2 flex flex-wrap gap-1","aria-label":`Drill by ${Le(f)}`,children:t.slice(0,12).map((g,v)=>{const x=Xl(g[h]);return c.jsxs("button",{type:"button",onClick:()=>a(f,x),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-accent hover:text-ink",children:["Filter to ",rs(x)]},`${String(x)}-${v}`)})}):null]})}function K_({document:n,chart:e,catalog:t,backend:i,state:a,setFilters:u,setRange:f}){var z,ee,X,ie,ae,re,se;const[h,m]=D.useState(!1),g=D.useMemo(()=>H_(t),[t]),v=D.useMemo(()=>h_(n,e,a.filters,g,a.ranges,a),[e,n,a,g]),x=Zn(i,v),b=((z=x.result)==null?void 0:z.rows)??[],w=((ee=x.result)==null?void 0:ee.columns)??[],j=e.query.dimensions??[],C=((X=e.encoding)==null?void 0:X.x)??j[0]??"",O=l_(e),H=O[0]??G_(e),L=xr(C,w),R=cf(n,e,a),T=zv(e,g),E=o_(e,C),I=((ie=e.title)==null?void 0:ie.trim())||Le(e.id),U=[(ae=e.encoding)==null?void 0:ae.color,...j.filter(A=>A!==C)].filter((A,Y,W)=>!!A&&W.indexOf(A)===Y),G=c_(e,C,U),V=U.map(A=>xr(A,w));let Q;if(x.loading&&!x.result)Q=c.jsx(af,{title:`Loading ${I}`});else if(x.error)Q=c.jsx(Bi,{title:`Could not load ${I}`,message:x.error});else if(!b.length)Q=c.jsx(Xn,{title:I,message:"The query returned no rows."});else if(j.length)if(T==="scatter"||T==="point"){const A=(re=e.encoding)!=null&&re.color?xr(e.encoding.color,w):V[0];Q=c.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(260px,1fr))] gap-3",children:O.map(Y=>{const W=xr(Y,w),_=b.map(F=>({x:Number(F[L]),y:Number(F[W]),label:String(F[L]??""),series:A?String(F[A]??""):void 0}));return c.jsxs("div",{className:"min-w-0",children:[O.length>1?c.jsx("h3",{className:"mb-1 text-2xs font-semibold text-muted",children:Le(Y)}):null,c.jsx(Xv,{points:_,xLabel:Le(C),yLabel:Le(Y),formatY:F=>pt(F,md(t,Y)),ariaLabel:`${I}, ${Le(Y)} by ${Le(C)}, ${_.length} points`})]},Y)})})}else T==="line"||T==="area"?Q=c.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(260px,1fr))] gap-3",children:O.map(A=>{const Y=y_(b,L,xr(A,w),V),W=Y[0]??{label:"Current",points:[]},_=md(t,A);return c.jsxs("div",{className:"min-w-0",children:[O.length>1?c.jsx("h3",{className:"mb-1 text-2xs font-semibold text-muted",children:Le(A)}):null,c.jsx(Go,{points:W.points,seriesLabel:W.label,additionalSeries:Y.slice(1),formatValue:F=>pt(F,_),ariaLabel:`${I}, ${Le(A)}, ${Y.length} series and ${W.points.length} buckets`,onBrush:E?F=>f(C,F):void 0})]},A)})}):Q=c.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(260px,1fr))] gap-3",children:O.map(A=>{const Y=xr(A,w),W=m_(b,L,Y,V);return W.map((_,F)=>{const te=_.data.slice(0,30),pe=O.length>1||W.length>1,ne=[O.length>1?Le(A):"",W.length>1?_.label:""].filter(Boolean).join(" · ");return c.jsxs("div",{className:"min-w-0",children:[pe?c.jsx("h3",{className:"mb-1 text-2xs font-semibold text-muted",children:ne}):null,c.jsx(Zv,{data:te,ariaLabel:`${I}, ${ne||Le(A)}, ${te.length} categories`,selectedLabel:R.filters[C],onSelect:G?fe=>{u(u_(e,C,fe,U,_.filterValues)),m(!0)}:void 0})]},`${A}-${_.label}-${F}`)})})});else{const A=b[0];Q=c.jsx("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2",children:e.query.metrics.map(Y=>c.jsx(Nr,{metric:Y,label:Le(Y),value:A[xr(Y,w)],format:md(t,Y)},Y))})}return c.jsxs("article",{className:"min-w-0 overflow-hidden border border-line bg-surface","data-testid":"dashboard-chart","data-chart-id":e.id,children:[c.jsxs("header",{className:"flex min-h-12 flex-wrap items-center justify-between gap-2 border-b border-line px-3 py-2",children:[c.jsxs("div",{className:"min-w-0",children:[c.jsx("h2",{className:"truncate text-sm font-semibold text-ink",children:I}),c.jsxs("p",{className:"text-2xs text-faint",children:[Le(H),C?` by ${Le(C)}`:""]})]}),c.jsxs("div",{className:"flex flex-wrap gap-1",children:[c.jsx("button",{type:"button","aria-expanded":h,onClick:()=>m(A=>!A),className:"border border-line px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:h?"Hide details":"Drill details"}),c.jsx("a",{href:p_(n,e,a,g,t),className:"border border-line px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Explore from here"}),c.jsx(Y_,{chart:e,columns:w,rows:b})]})]}),c.jsx("div",{className:"min-h-64 overflow-hidden p-3",children:Q}),h?c.jsx(Q_,{chart:e,columns:w,rows:b,loading:x.loading,onDrill:(A,Y)=>u({[A]:Y})}):null,(se=x.result)!=null&&se.sql?c.jsx("div",{className:"border-t border-line px-3 py-2",children:c.jsx(au,{queries:{Query:x.result.sql}})}):null]})}function J_({document:n,state:e,onLoad:t}){const[i,a]=D.useState(""),[u,f]=D.useState(()=>x_(n)),[h,m]=D.useState(!1);function g(v){f(v),m(!b_(n,v))}return c.jsxs("details",{className:"relative",children:[c.jsx("summary",{className:"cursor-pointer list-none border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Saved views"}),c.jsxs("div",{className:"absolute right-0 z-50 mt-1 w-72 border border-line bg-surface p-3 shadow-[var(--shadow)]",children:[c.jsx("p",{className:"mb-2 text-2xs text-faint",children:"Stored only in this browser. Nothing is written to the server."}),c.jsxs("div",{className:"flex gap-1",children:[c.jsx("input",{value:i,onChange:v=>a(v.target.value),placeholder:"View name","aria-label":"Saved view name",className:"min-w-0 flex-1 border border-line bg-bg px-2 py-1 text-xs text-ink"}),c.jsx("button",{type:"button",disabled:!i.trim(),onClick:()=>{const v=[...u.filter(x=>x.name!==i.trim()),{name:i.trim(),state:e}];g(v),a("")},className:"border border-line px-2 py-1 text-2xs text-muted hover:text-ink disabled:opacity-40",children:"Save"})]}),h?c.jsx("p",{role:"alert",className:"mt-2 text-2xs text-danger",children:"Browser storage is unavailable."}):null,c.jsx("div",{className:"mt-2 flex flex-col gap-1",children:u.length?u.map(v=>c.jsxs("div",{className:"flex items-center justify-between gap-2 border-t border-line pt-1",children:[c.jsx("button",{type:"button",onClick:()=>t(v.state),className:"min-w-0 flex-1 truncate text-left text-xs text-muted hover:text-ink",children:v.name}),c.jsx("button",{type:"button","aria-label":`Delete saved view ${v.name}`,onClick:()=>g(u.filter(x=>x.name!==v.name)),className:"text-2xs text-faint hover:text-danger",children:"Delete"})]},v.name)):c.jsx("span",{className:"text-2xs text-faint",children:"No local views yet."})})]})]})}function q_(){const[n,e]=D.useState(!1);return c.jsx("button",{type:"button",title:"Copies the active tab, filters, and brushed ranges. Data is queried live; local saved views are not shared.",onClick:async()=>{await navigator.clipboard.writeText(window.location.href),e(!0),window.setTimeout(()=>e(!1),1200)},className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:n?"Share URL copied":"Copy share URL"})}function Z_({document:n,catalog:e,backend:t}){const[i,a]=D.useState(()=>g_(window.location.search,n)),u=n.tabs.find(b=>b.id===i.tab)??n.tabs[0];D.useEffect(()=>{window.document.title=n.title},[n.title]),D.useEffect(()=>{const b=v_(i,n);window.history.replaceState(null,"",`${window.location.pathname}${b?`?${b}`:""}`)},[n,i]);function f(b,w){var C,O;const j=eu(n,b);if((((O=(C=n.defaults)==null?void 0:C.interactions)==null?void 0:O.scope)??"dashboard")==="chart"){a(H=>{var L;return{...H,chartFilters:{...H.chartFilters??{},[j]:{...((L=H.chartFilters)==null?void 0:L[j])??{},...w}}}});return}a(H=>({...H,filters:{...H.filters,...w},filterSources:{...H.filterSources,...Object.fromEntries(Object.keys(w).map(L=>[L,j]))}}))}function h(b,w,j){var O,H;const C=eu(n,b);if((((H=(O=n.defaults)==null?void 0:O.interactions)==null?void 0:H.scope)??"dashboard")==="chart"){a(L=>{const R={...L.chartRanges??{}},T={...R[C]??{}};return j?T[w]=j:delete T[w],Object.keys(T).length?R[C]=T:delete R[C],{...L,chartRanges:R}});return}a(L=>{const R={...L.ranges},T={...L.rangeSources};return j?(R[w]=j,T[w]=C):(delete R[w],delete T[w]),{...L,ranges:R,rangeSources:T}})}const m=c.jsxs(c.Fragment,{children:[c.jsx(J_,{document:n,state:i,onLoad:a}),c.jsx(q_,{}),c.jsx($o,{}),c.jsx(W_,{})]}),g=Object.entries(i.chartFilters??{}).flatMap(([b,w])=>Object.entries(w).map(([j,C])=>({source:b,dimension:j,value:C}))),v=Object.entries(i.chartRanges??{}).flatMap(([b,w])=>Object.entries(w).map(([j,C])=>({source:b,dimension:j,range:C}))),x=Object.entries(i.filters).length||Object.entries(i.ranges).length||g.length||v.length?c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"shrink-0 text-2xs font-semibold uppercase tracking-wide text-faint",children:"Filters"}),Object.entries(i.filters).map(([b,w])=>c.jsxs("button",{type:"button","aria-label":`Remove filter ${Le(b)} ${w}`,onClick:()=>a(j=>{const C={...j.filters},O={...j.filterSources};return delete C[b],delete O[b],{...j,filters:C,filterSources:O}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Le(b)," = ",w," ×"]},b)),Object.entries(i.ranges).map(([b,w])=>c.jsxs("button",{type:"button","aria-label":`Remove range ${Le(b)} ${w.from} to ${w.to}`,onClick:()=>a(j=>{const C={...j.ranges},O={...j.rangeSources};return delete C[b],delete O[b],{...j,ranges:C,rangeSources:O}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Le(b),": ",w.from,"–",w.to," ×"]},`range-${b}`)),g.map(({source:b,dimension:w,value:j})=>c.jsxs("button",{type:"button","aria-label":`Remove filter ${Le(w)} ${j} from ${b}`,onClick:()=>a(C=>{const O={...C.chartFilters??{}},H={...O[b]??{}};return delete H[w],Object.keys(H).length?O[b]=H:delete O[b],{...C,chartFilters:O}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Le(w)," = ",j," · ",b," ×"]},`chart-filter-${b}-${w}`)),v.map(({source:b,dimension:w,range:j})=>c.jsxs("button",{type:"button","aria-label":`Remove range ${Le(w)} ${j.from} to ${j.to} from ${b}`,onClick:()=>a(C=>{const O={...C.chartRanges??{}},H={...O[b]??{}};return delete H[w],Object.keys(H).length?O[b]=H:delete O[b],{...C,chartRanges:O}}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-danger",children:[Le(w),": ",j.from,"–",j.to," · ",b," ×"]},`chart-range-${b}-${w}`)),c.jsx("button",{type:"button",onClick:()=>a(b=>({...b,filters:{},ranges:{},filterSources:{},rangeSources:{},chartFilters:{},chartRanges:{}})),className:"text-2xs text-muted hover:text-ink",children:"Clear all"})]}):void 0;return c.jsx(_v,{brand:c.jsxs("div",{className:"min-w-0",children:[c.jsx("h1",{className:"truncate text-sm font-semibold text-ink",children:n.title}),c.jsx("p",{className:"text-2xs text-faint",children:"Declarative dashboard"})]}),toolbar:m,filters:x,rail:null,showRail:!1,children:c.jsxs("div",{"data-testid":"dashboard-document",className:"flex min-h-full flex-col",children:[c.jsx("nav",{className:"flex shrink-0 gap-1 overflow-x-auto border-b border-line bg-surface px-3 pt-2","aria-label":"Dashboard tabs",children:n.tabs.map(b=>c.jsx("button",{type:"button",role:"tab","aria-selected":b.id===(u==null?void 0:u.id),"data-tab-id":b.id,onClick:()=>a(w=>{var j,C;return w.tab===b.id?w:(((C=(j=n.defaults)==null?void 0:j.interactions)==null?void 0:C.scope)??"dashboard")==="dashboard"?{...w,tab:b.id}:{...w,tab:b.id,filters:{},ranges:{},filterSources:{},rangeSources:{},chartFilters:{},chartRanges:{}}}),className:"border border-b-0 border-line px-3 py-2 text-xs text-muted aria-selected:border-accent aria-selected:bg-bg aria-selected:text-ink",children:S_(b)},b.id))}),u?c.jsx("section",{className:"grid min-w-0 grid-cols-1 gap-3 p-3 xl:grid-cols-2","data-testid":"dashboard-chart-grid","data-tab-id":u.id,children:u.charts.map(b=>c.jsx(K_,{document:n,chart:b,catalog:e,backend:t,state:i,setFilters:w=>f(b,w),setRange:(w,j)=>h(b,w,j)},b.id))}):c.jsx(Xn,{title:"No dashboard tabs",message:"This dashboard document has no tabs to render."})]})})}function ty(){const n=Cv();return c.jsxs("span",{role:"status","aria-live":"polite","aria-atomic":"true",className:"flex items-center gap-1.5 text-2xs text-faint",title:n?"Updating data":"Data is up to date",children:[n?c.jsx("svg",{"aria-hidden":"true",viewBox:"0 0 24 24",className:"spinner size-3.5 text-accent",fill:"none",stroke:"currentColor",strokeWidth:"3",children:c.jsx("path",{d:"M12 3a9 9 0 1 0 9 9",strokeLinecap:"round"})}):c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-full bg-accent"}),c.jsx("span",{className:"sr-only",children:n?"Updating data":"Data is up to date"})]})}function X_(){const[n,e]=D.useState(!1);return c.jsx("button",{type:"button",onClick:async()=>{await navigator.clipboard.writeText(window.location.href),e(!0),window.setTimeout(()=>e(!1),1200)},className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:n?"Copied":"Copy link"})}function dl({children:n}){return c.jsx("div",{className:"grid h-screen place-items-center bg-bg p-6",children:n})}function e2({backend:n,onAuthenticated:e}){const[t,i]=D.useState(""),[a,u]=D.useState(null),[f,h]=D.useState(!1);return c.jsxs("div",{className:"w-full max-w-sm border border-line bg-surface p-6 shadow-sm",children:[c.jsx("h1",{className:"text-base font-semibold text-ink",children:"Connect to Sidemantic"}),c.jsx("p",{className:"mt-2 text-xs leading-5 text-muted",children:"Enter the API bearer once. It is exchanged for a short-lived, HttpOnly browser session where supported, and is never placed in the URL or browser storage."}),c.jsxs("form",{className:"mt-5 space-y-3",onSubmit:async m=>{m.preventDefault(),h(!0),u(null);try{await n.createBrowserSession(t),i(""),e()}catch(g){u(g instanceof Error?g.message:String(g))}finally{h(!1)}},children:[c.jsx("label",{className:"block text-xs font-medium text-ink",htmlFor:"api-token",children:"API bearer token"}),c.jsx("input",{id:"api-token",type:"password",autoComplete:"off",required:!0,value:t,onChange:m=>i(m.target.value),className:"w-full border border-line bg-bg px-3 py-2 text-sm text-ink outline-none focus:border-accent"}),a?c.jsx("p",{className:"text-xs text-red-700",children:a}):null,c.jsx("button",{type:"submit",disabled:f||!t,className:"w-full bg-accent px-3 py-2 text-xs font-semibold text-white disabled:opacity-50",children:f?"Connecting…":"Connect"})]})]})}function t2(){const{state:n,dispatch:e,catalog:t,initial:i,dashboard:a}=ls(),u=!!a,f=n.view==="home"&&!u,h=t.models.find(R=>R.name===n.model),m=D.useMemo(()=>Cs(t,a,n.dashboardTab),[t,a,n.dashboardTab]),g=D.useMemo(()=>a?Iv(t,a,n.dashboardTab):i,[t,a,i,n.dashboardTab]),v=n.dateRange!=null||Object.keys(n.filters).length>0,x=(m==null?void 0:m.timeDimension)??(h==null?void 0:h.timeDimension),b=!!x,w=iS(x==null?void 0:x.supportedGranularities,n.grain),j=D.useMemo(()=>{const R=new Map;for(const T of t.models)for(const E of T.dimensions)R.set(E.ref,{dim:E,model:T});return R},[t]),C=Object.entries(n.filters).flatMap(([R,T])=>{const E=j.get(R);return E?[c.jsx(Od,{dim:E.dim,model:E.model,filter:T,onRemove:()=>e({type:"removeFilterDim",dim:R})},R)]:[]}),O=c.jsx(eS,{dashboardTitle:a==null?void 0:a.title,modelLabel:!f&&!u?h==null?void 0:h.label:void 0,onHome:()=>e({type:"setView",view:"home"})}),H=f?c.jsxs(c.Fragment,{children:[c.jsx($o,{}),c.jsx(ty,{})]}):c.jsxs(c.Fragment,{children:[a?c.jsx("div",{className:"flex items-center border border-line bg-surface",role:"tablist","aria-label":"Dashboard tabs",children:a.tabs.map(R=>{const T=R.id===n.dashboardTab;return c.jsx("button",{type:"button",role:"tab","aria-selected":T,className:`px-2 py-1 text-2xs ${T?"bg-accent text-white":"text-muted hover:text-ink"}`,onClick:()=>{const E=Cs(t,a,R.id);E&&e({type:"setDashboardTab",tab:E.id,model:E.model.name,metric:E.selectedMetric,grain:E.grain})},children:R.label??R.id},R.id)})}):c.jsx(Bv,{view:n.view,onChange:R=>e({type:"setView",view:R})}),c.jsx(Ov,{range:n.dateRange,disabled:!b,onChange:R=>e({type:"setDateRange",range:R}),comparison:n.comparison,comparisonRange:n.comparisonRange,onComparisonChange:(R,T)=>e({type:"setComparison",comparison:R,range:T})}),c.jsx(Td,{grain:n.grain,options:w,disabled:!b,onChange:R=>e({type:"setGrain",grain:R})}),c.jsx(qS,{timezone:n.timezone,disabled:!b,onChange:R=>e({type:"setTimezone",timezone:R})}),v?c.jsx("button",{type:"button",onClick:()=>e({type:"reset",initial:g}),className:"border border-line bg-surface px-2 py-1 text-2xs text-muted hover:border-faint hover:text-ink",children:"Reset"}):null,c.jsx(X_,{}),c.jsx($o,{}),c.jsx(ty,{})]}),L=c.jsxs(c.Fragment,{children:[c.jsx("span",{className:"shrink-0 text-xs font-medium text-muted",children:"Filters"}),C.length?C:c.jsx("span",{className:"text-2xs text-faint",children:"None"}),h?c.jsx(VS,{model:h}):null,C.length?c.jsx("button",{type:"button",onClick:()=>e({type:"clearFilters"}),className:"shrink-0 text-2xs text-muted underline-offset-2 hover:text-ink hover:underline",children:"Clear"}):null]});return c.jsx(_v,{brand:O,toolbar:H,filters:f?void 0:L,rail:c.jsx(HS,{}),showRail:!f&&!u,openRailRequest:n.view==="pivot",drawer:f?void 0:c.jsx(t_,{}),children:c.jsxs(GS,{children:[n.view==="home"?c.jsx(__,{}):null,n.view==="explore"?c.jsx(P_,{}):null,n.view==="pivot"?c.jsx(z_,{}):null]},n.view)})}function n2(){const[n,e]=D.useState(!1),t=D.useMemo(()=>new X1({transport:"json",onUnauthorized:()=>e(!0)}),[]),[i,a]=D.useState(null),[u,f]=D.useState(null),[h,m]=D.useState(0),g=s_(window.location.pathname,window.location.search);return D.useEffect(()=>{let v=!0;return Promise.all([t.getCatalog(),g?Promise.resolve(null):t.getDashboard()]).then(([x,b])=>v&&a({catalog:x,dashboard:b})).catch(x=>v&&f(x instanceof Error?x.message:String(x))),()=>{v=!1}},[t,g,h]),n?c.jsx(dl,{children:c.jsx(e2,{backend:t,onAuthenticated:()=>{e(!1),f(null),m(v=>v+1)}})}):u?c.jsx(dl,{children:c.jsx(Bi,{title:"Could not load semantic layer",message:u})}):i?i.catalog.models.length?i.dashboard?c.jsx(Z_,{document:i.dashboard,catalog:i.catalog,backend:t}):c.jsx(RS,{catalog:i.catalog,backend:t,children:c.jsx(t2,{})}):c.jsx(dl,{children:c.jsx(Xn,{title:"Empty semantic layer",message:"No models were found."})}):c.jsx(dl,{children:c.jsx(af,{title:"Loading semantic layer",message:"Reading models and metrics…"})})}const Zt={top:14,right:48,bottom:26,left:48};function r2({data:n,barLabel:e="Bars",lineLabel:t="Line",height:i=220,formatBar:a=pt,formatLine:u=pt,ariaLabel:f}){const h=D.useRef(null),[m,g]=D.useState(640),{tip:v,handlers:x}=Dr();if(D.useEffect(()=>us(h.current,240,g),[]),n.length===0)return c.jsx("div",{className:"grid h-[220px] place-items-center text-xs text-faint",children:"No data to chart."});const b=n.map(ae=>Number.isFinite(ae.bar)?ae.bar:0),w=n.map(ae=>Number.isFinite(ae.line)?ae.line:0),j=Math.min(0,...b),C=Math.max(0,...b),O=C-j||1,H=Math.min(...w),L=Math.max(...w),R=L-H||1,T=m-Zt.left-Zt.right,E=i-Zt.top-Zt.bottom,I=ae=>Zt.top+(1-(ae-j)/O)*E,U=ae=>Zt.top+(1-(ae-H)/R)*E,G=T/n.length,V=Math.max(8,Math.min(48,G*.55)),Q=ae=>Zt.left+G*ae+G/2,z=I(0),ee=n.map((ae,re)=>`${Q(re).toFixed(1)},${U(w[re]).toFixed(1)}`).join(" L "),X=yn(1),ie=f||`Combo chart, ${n.length} categories: ${e} bars with a ${t} line`;return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"mb-1 flex items-center gap-3 text-2xs text-faint",children:[c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block h-2 w-3 bg-chart-primary"})," ",e]}),c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block h-0.5 w-3",style:{background:X}})," ",t]})]}),c.jsxs("svg",{ref:h,role:"img","aria-label":ie,className:"w-full overflow-hidden",style:{height:i},viewBox:`0 0 ${m} ${i}`,children:[Ts(j,C,4).map((ae,re)=>{const se=I(ae);return c.jsxs("g",{children:[c.jsx("line",{x1:Zt.left,x2:m-Zt.right,y1:se,y2:se,className:"stroke-line"}),c.jsx("text",{x:Zt.left-6,y:se+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Wt(ae)})]},re)}),Ts(H,L,4).map((ae,re)=>c.jsx("text",{x:m-Zt.right+6,y:U(ae)+3,textAnchor:"start",className:"text-[10px]",fill:X,children:u(ae)},re)),c.jsx("line",{x1:Zt.left,x2:m-Zt.right,y1:z,y2:z,className:"stroke-line"}),n.map((ae,re)=>{const se=b[re],A=I(se);return c.jsxs("g",{children:[c.jsx("rect",{x:Q(re)-V/2,y:Math.min(A,z),width:V,height:Math.abs(A-z),"data-label":ae.label,"data-bar":se,"data-line":w[re],className:se<0?"fill-danger":"fill-chart-primary",...x(c.jsx(os,{title:ae.label,rows:[{label:e,value:a(se),swatch:"var(--chart-primary)"},{label:t,value:u(w[re]),swatch:X}]}))}),c.jsx("text",{x:Q(re),y:i-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:ae.label.slice(0,8)})]},ae.label)}),c.jsx("path",{d:`M ${ee}`,fill:"none",stroke:X,strokeWidth:1.75}),n.map((ae,re)=>c.jsx("circle",{cx:Q(re),cy:U(w[re]),r:3,fill:X,...x(c.jsx(os,{title:ae.label,rows:[{label:e,value:a(b[re]),swatch:"var(--chart-primary)"},{label:t,value:u(w[re]),swatch:X}]}))},ae.label))]}),c.jsx(rr,{tip:v})]})}const s2={primary:"border-accent bg-accent-soft font-medium text-accent hover:bg-accent hover:text-surface",secondary:"border-line bg-surface text-ink hover:bg-surface-soft",ghost:"border-transparent bg-transparent text-muted hover:bg-surface-soft hover:text-ink",danger:"border-danger bg-danger-soft font-medium text-danger hover:bg-danger hover:text-surface"};function No({variant:n="secondary",size:e="md",type:t="button",className:i,...a}){const u=e==="sm"?"h-6 px-2.5 text-2xs":"h-7 px-3 text-xs";return c.jsx("button",{type:t,"data-variant":n,className:`inline-flex items-center justify-center rounded-full border ${u} ${s2[n]} disabled:pointer-events-none disabled:opacity-50 ${i??""}`,...a})}function i2(n,e){const t=e.trim().toLowerCase();return t?n.filter(i=>i.value.toLowerCase().includes(t)||(i.label??"").toLowerCase().includes(t)):n}function ny(n){const{options:e,placeholder:t="Search…",ariaLabel:i,disabled:a,maxVisible:u=50}=n,f=D.useId(),h=D.useRef(null),[m,g]=D.useState(!1),[v,x]=D.useState(""),[b,w]=D.useState(0),j=D.useMemo(()=>i2(e,v).slice(0,u),[e,v,u]),C=n.multiple?n.values:n.value!=null?[n.value]:[],O=new Set(C),H=I=>{var U;return((U=e.find(G=>G.value===I))==null?void 0:U.label)??I};D.useEffect(()=>{if(!m)return;function I(U){h.current&&!h.current.contains(U.target)&&g(!1)}return document.addEventListener("mousedown",I,!0),()=>document.removeEventListener("mousedown",I,!0)},[m]);function L(I){if(I){if(n.multiple){const U=O.has(I.value)?n.values.filter(G=>G!==I.value):[...n.values,I.value];n.onChange(U);return}n.onChange(I.value),x(""),g(!1)}}function R(){n.multiple?n.onChange([]):n.onChange(null),x("")}function T(I){I.key==="ArrowDown"?(I.preventDefault(),g(!0),w(U=>Math.min(U+1,j.length-1))):I.key==="ArrowUp"?(I.preventDefault(),w(U=>Math.max(U-1,0))):I.key==="Enter"?(I.preventDefault(),m&&L(j[b])):I.key==="Escape"?g(!1):I.key==="Backspace"&&n.multiple&&!v&&n.values.length&&n.onChange(n.values.slice(0,-1))}const E=!n.multiple&&n.value!=null?H(n.value):t;return c.jsxs("div",{ref:h,className:"relative inline-flex min-w-40 flex-wrap items-center gap-1 text-xs",children:[n.multiple?n.values.map(I=>c.jsxs("span",{"data-chip":I,className:"inline-flex items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 leading-4 text-muted",children:[c.jsx("span",{className:"max-w-32 truncate",children:H(I)}),c.jsx("button",{type:"button","aria-label":`Remove ${H(I)}`,disabled:a,onClick:()=>n.onChange(n.values.filter(U=>U!==I)),className:"text-faint hover:text-ink",children:"×"})]},I)):null,c.jsxs("span",{className:"relative min-w-28 flex-1",children:[c.jsx("input",{type:"text",role:"combobox","aria-expanded":m,"aria-controls":f,"aria-autocomplete":"list","aria-activedescendant":m&&j[b]?`${f}-${b}`:void 0,"aria-label":i,disabled:a,placeholder:E,value:v,onChange:I=>{x(I.target.value),w(0),g(!0)},onFocus:()=>g(!0),onKeyDown:T,className:"h-7 w-full rounded-full border border-line bg-surface px-3 text-ink placeholder:text-faint disabled:opacity-50"}),C.length>0?c.jsx("button",{type:"button","aria-label":"Clear selection",disabled:a,onClick:R,className:"absolute right-1 top-1/2 -translate-y-1/2 px-1 text-faint hover:text-ink",children:"×"}):null]}),m?c.jsxs("ul",{id:f,role:"listbox","aria-multiselectable":n.multiple||void 0,className:"absolute left-0 top-full z-50 mt-1 max-h-56 w-full min-w-40 overflow-y-auto rounded-xl border border-line bg-surface p-1.5 shadow-[var(--shadow)]",children:[j.length===0?c.jsx("li",{className:"px-1.5 py-1 text-faint",children:"No matches"}):null,j.map((I,U)=>c.jsxs("li",{id:`${f}-${U}`,role:"option","aria-selected":O.has(I.value),"data-active":U===b||void 0,onMouseEnter:()=>w(U),onMouseDown:G=>{G.preventDefault(),L(I)},className:"cursor-pointer truncate rounded-md px-2 py-1 text-muted data-[active=true]:bg-surface-soft data-[active=true]:text-ink",children:[I.label??I.value,O.has(I.value)?c.jsx("span",{className:"float-right text-accent",children:"✓"}):null]},I.value))]}):null]})}function o2({title:n,eyebrow:e="Sidemantic",status:t,toolbar:i,children:a}){return c.jsxs("main",{className:"mx-auto max-w-6xl px-4 py-5 text-ink sm:px-6",children:[c.jsxs("header",{className:"flex flex-wrap items-end justify-between gap-4 border-b border-line pb-4",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-xs font-medium text-faint",children:e}),c.jsx("h1",{className:"mt-1 text-2xl font-semibold text-ink",children:n})]}),t?c.jsx("div",{className:"text-sm text-muted",children:t}):null]}),i?c.jsx("section",{className:"flex flex-wrap gap-2 py-3",children:i}):null,c.jsx("section",{className:"grid gap-4 py-4",children:a})]})}const a2=["Su","Mo","Tu","We","Th","Fr","Sa"],ry=["January","February","March","April","May","June","July","August","September","October","November","December"];function e0(n,e,t){return`${String(n).padStart(4,"0")}-${String(e+1).padStart(2,"0")}-${String(t).padStart(2,"0")}`}function l2(n,e){const t=new Date(Date.UTC(n,e,1)),i=new Date(t);i.setUTCDate(1-t.getUTCDay());const a=[],u=new Date(i);do{const f=[];for(let h=0;h<7;h+=1)f.push({iso:e0(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()),day:u.getUTCDate(),inMonth:u.getUTCMonth()===e}),u.setUTCDate(u.getUTCDate()+1);a.push(f)}while(u.getUTCMonth()===e);return a}function yd(){const n=new Date;return e0(n.getFullYear(),n.getMonth(),n.getDate())}function sy(n){var T;const{inline:e,ariaLabel:t,disabled:i}=n,a=n.mode==="range",u=a?((T=n.value)==null?void 0:T.from)??null:n.value,[f,h]=D.useState(()=>Number((u??yd()).slice(0,4))),[m,g]=D.useState(()=>Number((u??yd()).slice(5,7))-1),[v,x]=D.useState(null),b=D.useRef(null);function w(E){const I=new Date(Date.UTC(f,m+E,1));h(I.getUTCFullYear()),g(I.getUTCMonth())}function j(E){if(!a){n.onChange(E),b.current&&(b.current.open=!1);return}if(!v){x(E);return}const[I,U]=v<=E?[v,E]:[E,v];n.onChange({from:I,to:U}),x(null),b.current&&(b.current.open=!1)}function C(E){return a?v?E===v:n.value!=null&&E>=n.value.from&&E<=n.value.to:E===n.value}function O(E){return a?v?E===v:n.value!=null&&(E===n.value.from||E===n.value.to):E===n.value}const H=yd(),L=c.jsxs("div",{className:"w-56 select-none rounded-xl border border-line bg-surface p-2.5 text-2xs","aria-label":t??"Calendar",children:[c.jsxs("div",{className:"mb-1 flex items-center justify-between",children:[c.jsx("button",{type:"button","aria-label":"Previous month",onClick:()=>w(-1),className:"px-1.5 py-0.5 text-muted hover:bg-surface-soft hover:text-ink",children:"‹"}),c.jsxs("span",{className:"font-medium text-ink",children:[ry[m]," ",f]}),c.jsx("button",{type:"button","aria-label":"Next month",onClick:()=>w(1),className:"px-1.5 py-0.5 text-muted hover:bg-surface-soft hover:text-ink",children:"›"})]}),c.jsx("div",{className:"grid grid-cols-7 text-center text-faint",children:a2.map(E=>c.jsx("span",{className:"py-0.5",children:E},E))}),c.jsx("div",{role:"grid","aria-label":`${ry[m]} ${f}`,children:l2(f,m).map((E,I)=>c.jsx("div",{role:"row",className:"grid grid-cols-7",children:E.map(U=>c.jsx("button",{type:"button",role:"gridcell","aria-selected":C(U.iso),"data-date":U.iso,onClick:()=>j(U.iso),className:`py-1 text-center tnum ${O(U.iso)?"bg-accent text-surface":C(U.iso)?"bg-accent-soft text-accent":U.inMonth?"text-ink hover:bg-surface-soft":"text-faint hover:bg-surface-soft"} ${U.iso===H?"underline underline-offset-2":""}`,children:U.day},U.iso))},I))}),a&&v?c.jsxs("p",{className:"mt-1 text-faint",children:["Start ",v," — pick an end date."]}):null,n.value!=null?c.jsx("button",{type:"button",onClick:()=>n.onChange(null),className:"mt-1 w-full rounded-lg border border-line px-2 py-1 text-left text-muted hover:bg-surface-soft",children:"Clear"}):null]});if(e)return L;const R=a?n.value?`${n.value.from} → ${n.value.to}`:"Any dates":n.value??"Any date";return c.jsxs("details",{ref:b,className:"relative inline-block text-xs",children:[c.jsxs("summary",{className:`flex cursor-pointer items-center h-7 gap-1.5 rounded-full border border-line bg-surface px-3 text-ink ${i?"pointer-events-none opacity-50":""}`,children:[c.jsx("span",{className:"text-faint",children:t??"Date"}),c.jsx("span",{className:"tnum",children:R}),c.jsx("span",{"aria-hidden":"true",className:"text-faint",children:"▾"})]}),c.jsx("div",{className:"absolute left-0 z-50 mt-1 shadow-[var(--shadow)]",children:L})]})}function u2({result:n,pageSize:e=10}){const t=(n==null?void 0:n.columns)??[];return c.jsx(Ho,{columns:t.map(i=>({key:i,label:Le(i),numeric:n==null?void 0:n.sample_rows.some(a=>typeof a[i]=="number")})),rows:(n==null?void 0:n.sample_rows)??[],pageSize:e,renderCell:(i,a)=>pt(a)})}function c2({data:n,height:e=200,ariaLabel:t}){return c.jsx("div",{style:{minHeight:e},children:c.jsx(Go,{points:n.map(({label:i,value:a})=>({x:i,y:a})),formatValue:i=>pt(i),ariaLabel:t})})}const t0=Math.PI*2;function d2(n){const e=n.map((a,u)=>({...a,colorIndex:u})).filter(a=>Number.isFinite(a.value)&&a.value>0),t=e.reduce((a,u)=>a+u.value,0);if(t<=0)return[];let i=-Math.PI/2;return e.map(a=>{const u=a.value/t,f=i;return i+=u*t0,{label:a.label,value:a.value,share:u,startAngle:f,endAngle:i,colorIndex:a.colorIndex}})}function f2(n,e,t,i,a,u){const f=Math.min(u-a,t0-1e-4),h=a+f,m=f>Math.PI?1:0,g=n+i*Math.cos(a),v=e+i*Math.sin(a),x=n+i*Math.cos(h),b=e+i*Math.sin(h),w=n+t*Math.cos(h),j=e+t*Math.sin(h),C=n+t*Math.cos(a),O=e+t*Math.sin(a);return[`M ${g.toFixed(2)} ${v.toFixed(2)}`,`A ${i} ${i} 0 ${m} 1 ${x.toFixed(2)} ${b.toFixed(2)}`,`L ${w.toFixed(2)} ${j.toFixed(2)}`,`A ${t} ${t} 0 ${m} 0 ${C.toFixed(2)} ${O.toFixed(2)}`,"Z"].join(" ")}function h2({data:n,height:e=200,centerLabel:t="Total",format:i=pt,ariaLabel:a}){const u=D.useRef(null),[f,h]=D.useState(360),{tip:m,handlers:g}=Dr();D.useEffect(()=>us(u.current,220,h),[]);const v=d2(n),x=v.reduce((L,R)=>L+R.value,0),b=Math.min(e,f*.55),w=b/2,j=e/2,C=b/2-6,O=Math.max(C*.62,C-34),H=a||`Donut chart, ${v.length} segments totaling ${Wt(x)}`;return v.length===0?c.jsx("div",{className:"grid h-[200px] place-items-center text-xs text-faint",children:"No positive values to chart."}):c.jsxs("div",{ref:u,className:"flex w-full items-center gap-4",style:{height:e},children:[c.jsxs("svg",{role:"img","aria-label":H,width:b,height:e,className:"shrink-0 overflow-hidden",children:[v.map(L=>c.jsx("path",{d:f2(w,j,O,C,L.startAngle,L.endAngle),fill:yn(L.colorIndex),stroke:"var(--surface)",strokeWidth:1,"data-label":L.label,"data-value":L.value,...g(c.jsx(os,{title:L.label,rows:[{label:"Value",value:i(L.value),swatch:yn(L.colorIndex)},{label:"Share",value:`${(L.share*100).toFixed(1)}%`}]}))},L.label)),c.jsx("text",{x:w,y:j-4,textAnchor:"middle",className:"fill-ink font-mono tnum text-sm font-medium",children:Wt(x)}),c.jsx("text",{x:w,y:j+12,textAnchor:"middle",className:"fill-faint text-[10px]",children:t})]}),c.jsx("ul",{className:"min-w-0 flex-1 space-y-1 text-2xs",children:v.map(L=>c.jsxs("li",{className:"flex items-center gap-2","data-label":L.label,children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 shrink-0",style:{background:yn(L.colorIndex)}}),c.jsx("span",{className:"truncate text-muted",children:L.label}),c.jsx("span",{className:"ml-auto font-mono tnum text-ink",children:i(L.value)}),c.jsxs("span",{className:"w-10 text-right font-mono tnum text-faint",children:[(L.share*100).toFixed(1),"%"]})]},L.label))}),c.jsx(rr,{tip:m})]})}const pr={top:8,right:8,bottom:26,left:76};function iy(n,e,t){if(t!=null&&t.length)return t;const i=[];for(const a of n)i.includes(a[e])||i.push(a[e]);return i}function p2({cells:n,xLabels:e,yLabels:t,height:i=240,format:a=pt,ariaLabel:u}){const f=D.useRef(null),[h,m]=D.useState(640),{tip:g,handlers:v}=Dr();D.useEffect(()=>us(f.current,240,m),[]);const x=iy(n,"x",e),b=iy(n,"y",t);if(x.length===0||b.length===0)return c.jsx("div",{className:"grid h-[240px] place-items-center text-xs text-faint",children:"No cells to chart."});const w=new Map(n.map(I=>[`${I.x}\0${I.y}`,I.value])),j=n.map(I=>Math.abs(I.value)).filter(Number.isFinite),C=Math.max(...j,0)||1,O=h-pr.left-pr.right,H=i-pr.top-pr.bottom,L=O/x.length,R=H/b.length,T=Math.max(1,Math.ceil(x.length/Math.max(1,Math.floor(O/56)))),E=u||`Heatmap, ${x.length} by ${b.length} cells`;return c.jsxs(c.Fragment,{children:[c.jsxs("svg",{ref:f,role:"img","aria-label":E,className:"w-full overflow-hidden",style:{height:i},viewBox:`0 0 ${h} ${i}`,children:[b.map((I,U)=>c.jsx("text",{x:pr.left-6,y:pr.top+U*R+R/2+3,textAnchor:"end",className:"fill-muted text-[10px]",children:I.slice(0,12)},I)),x.map((I,U)=>U%T===0?c.jsx("text",{x:pr.left+U*L+L/2,y:i-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:I.slice(0,8)},I):null),b.map((I,U)=>x.map((G,V)=>{const Q=w.get(`${G}\0${I}`),z=Q!=null&&Number.isFinite(Q),ee=z?.06+.94*(Math.abs(Q)/C):0;return c.jsx("rect",{x:pr.left+V*L+.5,y:pr.top+U*R+.5,width:Math.max(1,L-1),height:Math.max(1,R-1),"data-x":G,"data-y":I,"data-value":z?Q:void 0,className:z&&Q<0?"fill-danger":"fill-chart-primary",fillOpacity:z?ee:.03,...v(c.jsx(os,{title:`${I} / ${G}`,rows:[{label:"Value",value:z?a(Q):"no data"}]}))},`${G}\0${I}`)}))]}),c.jsx(rr,{tip:g})]})}function m2(n,e){const t=n.filter(Number.isFinite);if(t.length===0)return[];const i=Math.min(...t),a=Math.max(...t),u=Math.max(1,Math.floor(e??Math.min(40,Math.ceil(Math.log2(t.length)+1))));if(i===a)return[{x0:i,x1:a,count:t.length}];const f=(a-i)/u,h=Array.from({length:u},(m,g)=>({x0:i+g*f,x1:i+(g+1)*f,count:0}));for(const m of t){const g=Math.min(u-1,Math.floor((m-i)/f));h[g].count+=1}return h}const Cn={top:12,right:14,bottom:26,left:44};function y2({values:n,bins:e,height:t=200,format:i=Wt,ariaLabel:a}){const u=D.useRef(null),[f,h]=D.useState(640),{tip:m,handlers:g}=Dr();D.useEffect(()=>us(u.current,160,h),[]);const v=m2(n,e);if(v.length===0)return c.jsx("div",{className:"grid h-[200px] place-items-center text-xs text-faint",children:"No numeric values to chart."});const x=Math.max(...v.map(R=>R.count),1),b=f-Cn.left-Cn.right,w=t-Cn.top-Cn.bottom,j=R=>Cn.top+(1-R/x)*w,C=b/v.length,O=Ts(0,x,4),H=Math.max(1,Math.ceil(v.length/6)),L=a||`Histogram, ${v.length} bins from ${i(v[0].x0)} to ${i(v[v.length-1].x1)}`;return c.jsxs(c.Fragment,{children:[c.jsxs("svg",{ref:u,role:"img","aria-label":L,className:"w-full overflow-hidden",style:{height:t},viewBox:`0 0 ${f} ${t}`,children:[O.map((R,T)=>{const E=j(R);return c.jsxs("g",{children:[c.jsx("line",{x1:Cn.left,x2:f-Cn.right,y1:E,y2:E,className:"stroke-line"}),c.jsx("text",{x:Cn.left-6,y:E+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Wt(R)})]},T)}),v.map((R,T)=>{const E=Cn.left+C*T,I=j(R.count);return c.jsx("rect",{x:E+.5,y:I,width:Math.max(1,C-1),height:Cn.top+w-I,"data-x0":R.x0,"data-x1":R.x1,"data-count":R.count,className:"fill-chart-primary",...g(c.jsx(os,{title:`${i(R.x0)} – ${i(R.x1)}`,rows:[{label:"Count",value:R.count.toLocaleString()}]}))},T)}),v.map((R,T)=>T%H===0?c.jsx("text",{x:Cn.left+C*T,y:t-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:i(R.x0)},T):null)]}),c.jsx(rr,{tip:m})]})}function g2(n){let e=2166136261;for(let t=0;t>>0}function v2(n){let e=n||1;return()=>{e|=0,e=e+1831565813|0;let t=Math.imul(e^e>>>15,1|e);return t=t+Math.imul(t^t>>>7,61|t)^t,((t^t>>>14)>>>0)/4294967296}}function x2(n,e,{width:t=640,height:i=320,iterations:a=150}={}){if(n.length===0)return[];const u=v2(g2(n.map(G=>G.id).join("\0"))),f=new Map(n.map((G,V)=>[G.id,V])),h=n.map(()=>u()*t),m=n.map(()=>u()*i),g=n.map(()=>0),v=n.map(()=>0),x=n.map(()=>0),b=[];for(const G of e){const V=f.get(G.source),Q=f.get(G.target);V==null||Q==null||V===Q||(b.push([V,Q]),x[V]+=1,x[Q]+=1)}const w=t*i,j=Math.sqrt(w/n.length);let C=Math.max(t,i)/8;const O=C/(a+1);for(let G=0;G({...G,x:H+(h[V]-L)/I*(t-H*2),y:H+(m[V]-T)/U*(i-H*2),degree:x[V]}))}function b2({nodes:n,links:e,height:t=320,ariaLabel:i}){const a=D.useRef(null),[u,f]=D.useState(640),{tip:h,handlers:m}=Dr();D.useEffect(()=>us(a.current,240,f),[]);const g=D.useMemo(()=>x2(n,e,{width:u,height:t}),[n,e,u,t]),v=D.useMemo(()=>new Map(g.map(j=>[j.id,j])),[g]),x=D.useMemo(()=>[...new Set(n.map(j=>j.group??""))],[n]),b=Math.max(...e.map(j=>j.weight??1),1);if(g.length===0)return c.jsx("div",{className:"grid h-[320px] place-items-center text-xs text-faint",children:"No nodes to chart."});const w=i||`Network graph, ${n.length} nodes and ${e.length} links`;return c.jsxs(c.Fragment,{children:[x.length>1?c.jsx("div",{className:"mb-1 flex flex-wrap items-center gap-3 text-2xs text-faint",children:x.map((j,C)=>c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2 rounded-full",style:{background:yn(C)}}),j||"(default)"]},j||"(default)"))}):null,c.jsxs("svg",{ref:a,role:"img","aria-label":w,className:"w-full overflow-hidden",style:{height:t},viewBox:`0 0 ${u} ${t}`,children:[e.map((j,C)=>{const O=v.get(j.source),H=v.get(j.target);return!O||!H?null:c.jsx("line",{x1:O.x,y1:O.y,x2:H.x,y2:H.y,className:"stroke-line",strokeWidth:.75+2.25*((j.weight??1)/b),"data-source":j.source,"data-target":j.target},C)}),g.map(j=>{const C=5+Math.min(9,j.degree*1.5);return c.jsxs("g",{children:[c.jsx("circle",{cx:j.x,cy:j.y,r:C,fill:yn(x.indexOf(j.group??"")),stroke:"var(--surface)",strokeWidth:1.5,"data-id":j.id,"data-degree":j.degree,...m(c.jsx(os,{title:j.label??j.id,rows:[{label:"Connections",value:String(j.degree)},...j.group?[{label:"Group",value:j.group,swatch:yn(x.indexOf(j.group))}]:[]]}))}),c.jsx("text",{x:j.x,y:j.y-C-4,textAnchor:"middle",className:"pointer-events-none fill-muted text-[10px]",children:(j.label??j.id).slice(0,14)})]},j.id)})]}),c.jsx(rr,{tip:h})]})}function wl({value:n,options:e,onChange:t,label:i,ariaLabel:a,placeholder:u,disabled:f}){return c.jsxs("label",{className:"flex items-center gap-1.5 text-xs text-faint",children:[i?c.jsx("span",{className:"hidden sm:inline",children:i}):null,c.jsxs("select",{"aria-label":a??i,value:n,disabled:f,onChange:h=>t(h.target.value),className:"h-7 rounded-full border border-line bg-surface px-2.5 text-xs text-ink disabled:opacity-50",children:[u?c.jsx("option",{value:"",disabled:!0,children:u}):null,e.map(h=>c.jsx("option",{value:h.value,children:h.label??h.value},h.value))]})]})}const un={top:12,right:14,bottom:26,left:48};function w2(n,e,t){return Math.min(Math.max(n,e),t)}function S2({labels:n,series:e,height:t=240,format:i=pt,formatLabel:a=f=>f,ariaLabel:u}){const f=D.useRef(null),[h,m]=D.useState(640),[g,v]=D.useState(null);D.useEffect(()=>us(f.current,240,m),[]);const x=n.length;if(x<2||e.length===0)return c.jsx("div",{className:"grid h-[240px] place-items-center text-xs text-faint",children:"Not enough data to chart."});const b=e.map(V=>({name:V.name,values:n.map((Q,z)=>{const ee=V.values[z];return Number.isFinite(ee)&&ee>0?ee:0})})),w=[];let j=n.map(()=>0);for(const V of b){const Q=V.values.map((z,ee)=>j[ee]+z);w.push(Q),j=Q}const C=Math.max(...j,1),O=h-un.left-un.right,H=t-un.top-un.bottom,L=V=>un.left+V/(x-1)*O,R=V=>un.top+(1-V/C)*H,T=Math.max(1,Math.ceil(x/8)),E=u||`Stacked area chart, ${e.length} series over ${x} points`;function I(V){const Q=w[V],z=V===0?n.map(()=>0):w[V-1],ee=Q.map((ie,ae)=>`${L(ae).toFixed(1)},${R(ie).toFixed(1)}`).join(" L "),X=[...z.keys()].reverse().map(ie=>`${L(ie).toFixed(1)},${R(z[ie]).toFixed(1)}`).join(" L ");return`M ${ee} L ${X} Z`}function U(V){const Q=V.currentTarget.getBoundingClientRect(),z=(V.clientX-Q.left)/Q.width*h,ee=Math.round((z-un.left)/O*(x-1));v(ee>=0&&eec.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2",style:{background:yn(Q)}}),V.name]},V.name))}),c.jsxs("svg",{role:"img","aria-label":E,className:"w-full overflow-hidden",style:{height:t},viewBox:`0 0 ${h} ${t}`,onMouseMove:U,onMouseLeave:()=>v(null),children:[Ts(0,C,4).map((V,Q)=>{const z=R(V);return c.jsxs("g",{children:[c.jsx("line",{x1:un.left,x2:h-un.right,y1:z,y2:z,className:"stroke-line"}),c.jsx("text",{x:un.left-6,y:z+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Wt(V)})]},Q)}),b.map((V,Q)=>c.jsx("path",{d:I(Q),fill:yn(Q),fillOpacity:.8,"data-series":V.name},V.name)),g!=null?c.jsx("line",{x1:L(g),x2:L(g),y1:un.top,y2:t-un.bottom,className:"stroke-faint",strokeDasharray:"3 3"}):null,n.map((V,Q)=>Q%T===0||Q===x-1?c.jsx("text",{x:L(Q),y:t-8,textAnchor:"middle",className:"fill-faint font-mono text-[10px]",children:a(V)},V):null)]}),g!=null?c.jsxs("div",{className:"pointer-events-none absolute top-8 z-20 -translate-x-1/2 whitespace-nowrap border border-line bg-surface px-2 py-1.5 text-2xs shadow-[var(--shadow)]",style:{left:G},children:[c.jsx("div",{className:"mb-0.5 font-mono text-faint",children:a(n[g])}),b.map((V,Q)=>c.jsxs("div",{className:"flex items-center justify-between gap-3",children:[c.jsxs("span",{className:"flex items-center gap-1 text-muted",children:[c.jsx("span",{"aria-hidden":"true",className:"inline-block size-2",style:{background:yn(Q)}}),V.name]}),c.jsx("span",{className:"font-mono tnum text-ink",children:i(V.values[g])})]},V.name))]}):null]})}function _2({checked:n,onChange:e,label:t,ariaLabel:i,disabled:a}){return c.jsxs("label",{className:`flex items-center gap-1.5 text-xs ${a?"opacity-50":""}`,children:[c.jsx("button",{type:"button",role:"switch","aria-checked":n,"aria-label":i??t,disabled:a,onClick:()=>e(!n),"data-checked":n||void 0,className:`relative h-4 w-7 shrink-0 rounded-full border transition-colors ${n?"border-accent bg-accent":"border-line bg-surface-soft"}`,children:c.jsx("span",{"aria-hidden":"true",className:`absolute top-1/2 size-3 -translate-y-1/2 rounded-full bg-surface shadow transition-[left] ${n?"left-[14px]":"left-[2px]"}`})}),t?c.jsx("span",{className:"text-muted",children:t}):null]})}function N2({tabs:n,active:e,onChange:t,ariaLabel:i="Tabs"}){return c.jsx("div",{role:"tablist","aria-label":i,className:"inline-flex items-center gap-0.5 rounded-full border border-line bg-surface p-px",children:n.map(a=>c.jsx("button",{role:"tab",type:"button","aria-selected":e===a.key,"data-tab":a.key,"data-selected":e===a.key||void 0,onClick:()=>t(a.key),className:"inline-flex h-6 items-center rounded-full px-2.5 text-xs font-medium text-muted hover:bg-surface-soft hover:text-ink data-[selected=true]:bg-accent-soft data-[selected=true]:text-accent",children:a.label},a.key))})}function j2({content:n,children:e,className:t}){const{tip:i,handlers:a}=Dr();return c.jsxs(c.Fragment,{children:[c.jsx("span",{className:t??"inline-flex",...a(n),children:e}),c.jsx(rr,{tip:i})]})}function k2(n){let e=0;return n.map(t=>{const i=Number.isFinite(t.value)?t.value:0;if(t.isTotal)return e=i,{...t,value:i,start:0,end:i};const a=e;return e+=i,{...t,value:i,start:a,end:e}})}const cn={top:12,right:14,bottom:26,left:48};function I2({data:n,height:e=220,format:t=pt,ariaLabel:i}){const a=D.useRef(null),[u,f]=D.useState(640),{tip:h,handlers:m}=Dr();D.useEffect(()=>us(a.current,200,f),[]);const g=k2(n);if(g.length===0)return c.jsx("div",{className:"grid h-[220px] place-items-center text-xs text-faint",children:"No steps to chart."});const v=g.flatMap(E=>[E.start,E.end]),x=Math.min(0,...v),b=Math.max(0,...v),w=b-x||1,j=u-cn.left-cn.right,C=e-cn.top-cn.bottom,O=E=>cn.top+(1-(E-x)/w)*C,H=j/g.length,L=Math.max(10,Math.min(56,H*.62)),R=Ts(x,b,4),T=i||`Waterfall chart, ${g.length} steps ending at ${t(g[g.length-1].end)}`;return c.jsxs(c.Fragment,{children:[c.jsxs("svg",{ref:a,role:"img","aria-label":T,className:"w-full overflow-hidden",style:{height:e},viewBox:`0 0 ${u} ${e}`,children:[R.map((E,I)=>{const U=O(E);return c.jsxs("g",{children:[c.jsx("line",{x1:cn.left,x2:u-cn.right,y1:U,y2:U,className:"stroke-line"}),c.jsx("text",{x:cn.left-6,y:U+3,textAnchor:"end",className:"fill-faint text-[10px]",children:Wt(E)})]},I)}),c.jsx("line",{x1:cn.left,x2:u-cn.right,y1:O(0),y2:O(0),className:"stroke-faint"}),g.map((E,I)=>{const U=cn.left+H*I+(H-L)/2,G=O(E.start),V=O(E.end),Q=E.isTotal?"total":E.value<0?"negative":"positive",z=E.isTotal?"fill-faint":E.value<0?"fill-danger":"fill-chart-primary",ee=g[I+1];return c.jsxs("g",{children:[c.jsx("rect",{x:U,y:Math.min(G,V),width:L,height:Math.max(1,Math.abs(V-G)),"data-label":E.label,"data-value":E.value,"data-tone":Q,className:z,...m(c.jsx(os,{title:E.label,rows:E.isTotal?[{label:"Total",value:t(E.end)}]:[{label:"Change",value:t(E.value)},{label:"Running",value:t(E.end)}]}))}),ee?c.jsx("line",{x1:U+L,x2:cn.left+H*(I+1)+(H-L)/2,y1:V,y2:V,className:"stroke-faint",strokeDasharray:"3 3"}):null,c.jsx("text",{x:U+L/2,y:e-8,textAnchor:"middle",className:"fill-muted text-[10px]",children:E.label.slice(0,9)})]},`${E.label}-${I}`)})]}),c.jsx(rr,{tip:h})]})}function oy(n){return n==null?"∅":String(n)}function M2(n){const e=typeof n=="number"?n:Number(n);return Number.isFinite(e)?e:Number.NaN}function D2(n,e){const t=[],i=[],a=new Map;for(const u of n){const f=oy(u[e.x]),h=oy(u[e.series]);t.includes(f)||t.push(f),i.includes(h)||i.push(h),a.set(`${h}\0${f}`,M2(u[e.y]))}return{labels:t,series:i.map(u=>({name:u,values:t.map(f=>a.get(`${u}\0${f}`)??0)}))}}const C2=[{dimension:"orders.region",title:"Customer Region",rows:[["East",83262],["South",80579],["West",71561],["North",52889]].map(([n,e])=>({value:String(n),metric:Number(e)}))},{dimension:"orders.status",title:"Order Status",rows:[["completed",170379],["cancelled",64637],["pending",53275]].map(([n,e])=>({value:String(n),metric:Number(e)}))},{dimension:"products.category",title:"Product Category",rows:[["Electronics",202015],["Furniture",83848],["Office Supplies",2428]].map(([n,e])=>({value:String(n),metric:Number(e)}))},{dimension:"customers.name",title:"Top Customers",rows:[["Bob Smith",46690],["Carol Davis",42227],["Henry Taylor",41633],["Grace Lee",41035],["Frank Brown",33890],["David Wilson",29928],["Alice Johnson",27114],["Emma Martinez",24802]].map(([n,e])=>({value:String(n),metric:Number(e)}))}],F2=[{key:"region",label:"Region",sortable:!0},{key:"revenue",label:"Revenue",numeric:!0,sortable:!0},{key:"orders",label:"Orders",numeric:!0,sortable:!0}],ay=Array.from({length:17},(n,e)=>({region:["East","South","West","North"][e%4],revenue:91e3-e*2875,orders:420-e*11})),hf=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug"],O2=hf.flatMap((n,e)=>[{month:n,plan:"Basic",revenue:120+e*26},{month:n,plan:"Pro",revenue:60+e*24},{month:n,plan:"Enterprise",revenue:e<2?0:10+e*12}]),T2=Array.from({length:48},(n,e)=>({x:e+1,y:(e+1)*1.6+Math.sin(e*78.233)*43758.5453%18,label:`Account ${e+1}`,series:e%2?"Returning":"New"})),A2=Array.from({length:400},(n,e)=>Math.abs(Math.sin(e*12.9898)*43758.5453%1)*100),B2=["East","South","West","North"].flatMap((n,e)=>hf.map((t,i)=>({x:t,y:n,value:(e+1)*(i+1)*7-(i%4===3?80:0)}))),ly=[{value:"orders.revenue",label:"Revenue"},{value:"orders.count",label:"Order count"},{value:"customers.count",label:"Customer count"},{value:"orders.margin",label:"Gross margin"}];function E2(){const[n,e]=D.useState("orders.revenue"),[t,i]=D.useState({}),[a,u]=D.useState(null),[f,h]=D.useState({"orders.region":["East","West"],"orders.status":["completed"]}),[m,g]=D.useState({from:"2025-01-01",to:"2025-06-30"}),[v,x]=D.useState("month"),[b,w]=D.useState("explore"),[j,C]=D.useState("previous"),[O,H]=D.useState("orders.revenue"),[L,R]=D.useState(["orders.revenue","orders.count"]),[T,E]=D.useState("apple"),[I,U]=D.useState(!0),[G,V]=D.useState("explore"),[Q,z]=D.useState("2025-06-15"),[ee,X]=D.useState({from:"2025-06-01",to:"2025-06-21"}),ie=D.useMemo(()=>D2(O2,{x:"month",y:"revenue",series:"plan"}),[]),[ae,re]=D.useState({key:"revenue",dir:"desc"}),se=D.useMemo(()=>[...ay].sort((A,Y)=>{const W=A[ae.key],_=Y[ae.key],F=typeof W=="number"&&typeof _=="number"?W-_:String(W).localeCompare(String(_));return ae.dir==="asc"?F:-F}),[ae]);return c.jsxs("main",{className:"min-h-screen bg-bg text-ink",children:[c.jsxs("header",{className:"sticky top-0 z-20 flex items-center justify-between border-b border-line bg-surface px-4 py-3",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-sm font-semibold",children:"Sidemantic component gallery"}),c.jsxs("p",{className:"text-2xs text-faint",children:["Canonical React primitives · ",c.jsx("a",{className:"text-accent hover:underline",href:"/typography",children:"typography workbench →"})]})]}),c.jsx($o,{})]}),c.jsxs("div",{className:"space-y-8 p-4",children:[c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Metric cards"}),c.jsxs("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-3",children:[c.jsx(Nr,{metric:"orders.revenue",label:"Revenue",value:288291,format:{format:"currency"},selected:n==="orders.revenue",sparkValues:[31,42,38,55,60,74],onSelect:e}),c.jsx(Nr,{metric:"orders.count",label:"Order Count",value:447,selected:n==="orders.count",sparkValues:[21,34,28,41,44,51],onSelect:e}),c.jsx(Nr,{metric:"orders.margin",label:"Gross Margin",value:.324,format:{format:"percent"},delta:{label:"+1.1pt",tone:"positive"},comparison:"vs previous month",sparkValues:[24,26,29,27,31,32],selected:n==="orders.margin",onSelect:e})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Leaderboard cards"}),c.jsx("div",{className:"grid grid-cols-[repeat(auto-fit,minmax(220px,1fr))] gap-0 border-l border-t border-line",children:C2.filter(A=>a===null||a===A.dimension).map(A=>c.jsx(Jv,{dimension:A.dimension,title:A.title,metricLabel:"Total Revenue",rows:A.rows,selectedValues:t[A.dimension],formatMetric:Y=>pt(Y,{format:"currency"}),onToggle:Y=>i(W=>{const _=W[A.dimension]??[];return{...W,[A.dimension]:_.includes(Y)?_.filter(F=>F!==Y):[..._,Y]}}),expanded:a===A.dimension,onExpandedChange:Y=>u(Y?A.dimension:null)},A.dimension))})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Filters and controls"}),c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{"data-testid":"gallery-filter-pills",className:"flex min-h-8 flex-wrap items-center gap-2",children:[Object.entries(f).flatMap(([A,Y])=>Y.map(W=>c.jsx(Od,{dimension:A,value:W,onRemove:()=>h(_=>({..._,[A]:_[A].filter(F=>F!==W)}))},`${A}:${W}`))),Object.values(f).every(A=>A.length===0)?c.jsx("span",{className:"text-2xs text-faint",children:"No active filters"}):null]}),c.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[c.jsx(Ov,{range:m,onChange:g,comparison:j,onComparisonChange:C}),c.jsx(Td,{grain:v,options:["day","week","month","quarter","year"],onChange:x}),c.jsx(Bv,{view:b,onChange:w}),c.jsxs("span",{className:"inline-flex items-center gap-1.5 text-2xs text-muted",children:[c.jsx(dd,{status:"ok"})," Ready"]}),c.jsxs("span",{className:"inline-flex items-center gap-1.5 text-2xs text-muted",children:[c.jsx(dd,{status:"loading"})," Updating"]}),c.jsx("button",{type:"button",onClick:()=>h({"orders.region":["East","West"],"orders.status":["completed"]}),className:"inline-flex h-7 items-center rounded-full border border-line px-3 text-xs text-muted hover:bg-surface-soft",children:"Reset filters"})]})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Charts"}),c.jsxs("div",{className:"grid gap-3 xl:grid-cols-2",children:[c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Sparkline"}),c.jsx(qv,{values:[31,42,38,55,60,74,69,83],labels:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug"],ariaLabel:"Eight month revenue trend"})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Column chart"}),c.jsx(Zv,{data:[{label:"East",value:83},{label:"South",value:81},{label:"West",value:72},{label:"Returns",value:-18}]})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Line chart compatibility export"}),c.jsx(c2,{data:[{label:"Jan",value:31},{label:"Feb",value:42},{label:"Mar",value:38},{label:"Apr",value:55},{label:"May",value:60}]})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Interactive time series"}),c.jsx(Go,{points:[31,42,38,55,60,74].map((A,Y)=>({x:`2025-0${Y+1}-01`,y:A})),comparison:[27,35,33,48,52,61].map((A,Y)=>({x:`2024-0${Y+1}-01`,y:A})),formatValue:A=>`$${A.toLocaleString()}k`})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Donut"}),c.jsx(h2,{data:[{label:"iOS",value:4200},{label:"Android",value:3100},{label:"Web",value:1900},{label:"Other",value:400}]})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Stacked area (long rows via rowsToSeries)"}),c.jsx(S2,{labels:ie.labels,series:ie.series,height:200})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Bar + line combo (dual axis)"}),c.jsx(r2,{data:hf.map((A,Y)=>({label:A,bar:200+Y*42,line:.02+Y*.004})),barLabel:"Revenue",lineLabel:"Conversion",formatLine:A=>`${(A*100).toFixed(1)}%`,height:200})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Histogram"}),c.jsx(y2,{values:A2,bins:20})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Scatter"}),c.jsx(Xv,{points:T2,xLabel:"Sessions",yLabel:"Orders",height:200})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Heatmap"}),c.jsx(p2,{cells:B2,height:200})]}),c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Waterfall"}),c.jsx(I2,{data:[{label:"Gross",value:1e3,isTotal:!0},{label:"Refunds",value:-140},{label:"Discounts",value:-90},{label:"Upsells",value:130},{label:"Net",value:900,isTotal:!0}],height:200})]}),c.jsxs("article",{className:"min-w-0 xl:col-span-2",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold",children:"Network"}),c.jsx(b2,{nodes:[{id:"orders",group:"fact"},{id:"payments",group:"fact"},{id:"customers",group:"dimension"},{id:"products",group:"dimension"},{id:"regions",group:"dimension"}],links:[{source:"orders",target:"customers",weight:3},{source:"orders",target:"products",weight:2},{source:"orders",target:"regions"},{source:"payments",target:"orders",weight:2},{source:"payments",target:"customers"}],height:260})]})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Inputs"}),c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[c.jsx(No,{variant:"primary",children:"Primary"}),c.jsx(No,{children:"Secondary"}),c.jsx(No,{variant:"ghost",children:"Ghost"}),c.jsx(No,{variant:"danger",children:"Danger"}),c.jsx(No,{size:"sm",children:"Small"}),c.jsx(wl,{label:"Fruit",value:T,onChange:E,options:[{value:"apple",label:"Apple"},{value:"banana",label:"Banana"},{value:"cherry",label:"Cherry"}]}),c.jsx(_2,{checked:I,onChange:U,label:"Compact rows"}),c.jsx(N2,{tabs:[{key:"explore",label:"Explore"},{key:"pivot",label:"Pivot"},{key:"sql",label:"SQL"}],active:G,onChange:V}),c.jsx(j2,{content:"Revenue in USD, net of refunds",children:c.jsx("span",{className:"cursor-help text-2xs text-muted underline decoration-dotted",children:"What is revenue?"})})]}),c.jsxs("div",{className:"flex flex-wrap items-start gap-3",children:[c.jsx(ny,{value:O,onChange:H,options:ly,ariaLabel:"Metric"}),c.jsx(ny,{multiple:!0,values:L,onChange:R,options:ly,ariaLabel:"Metrics"}),c.jsx(sy,{mode:"single",value:Q,onChange:z,ariaLabel:"Date"}),c.jsx(sy,{mode:"range",value:ee,onChange:X,ariaLabel:"Range"})]})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Analytical table"}),c.jsx(Ho,{columns:F2,rows:se,pageSize:6,sortKey:ae.key,sortDir:ae.dir,onSort:A=>re(Y=>({key:A,dir:Y.key===A&&Y.dir==="desc"?"asc":"desc"})),renderCell:(A,Y)=>A.numeric?Number(Y).toLocaleString():String(Y),searchable:!0,totals:{region:"count",revenue:"sum",orders:"sum"}}),c.jsxs("div",{className:"mt-3",children:[c.jsx("h3",{className:"mb-2 text-xs font-semibold text-muted",children:"Distribution-friendly data preview"}),c.jsx(u2,{result:{columns:["region","revenue","orders"],sample_rows:ay.slice(0,8)},pageSize:4})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Query inspection"}),c.jsx(au,{inputs:{Revenue:{metrics:["orders.revenue"],dimensions:["orders.region"],filters:["orders.status = 'completed'"]}},queries:{Revenue:`SELECT orders.region, SUM(orders.revenue) AS revenue +FROM orders +WHERE orders.status = 'completed' +GROUP BY orders.region +ORDER BY revenue DESC`}})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"States"}),c.jsxs("div",{className:"grid gap-2 lg:grid-cols-3",children:[c.jsx(af,{message:"Loading metric results…"}),c.jsx(Xn,{message:"No matching rows."}),c.jsx(Bi,{message:"The query could not be completed."})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-2 text-xs font-medium text-muted",children:"Dashboard shell"}),c.jsx("div",{children:c.jsx(o2,{eyebrow:"Embedded shell example",title:"Revenue overview",status:c.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[c.jsx(dd,{status:"ok"})," Connected"]}),toolbar:c.jsxs(c.Fragment,{children:[c.jsx(Od,{dimension:"orders.region",value:"East"}),c.jsx(Td,{grain:v,options:["day","month","quarter"],onChange:x})]}),children:c.jsxs("div",{className:"grid gap-2 sm:grid-cols-2",children:[c.jsx(Nr,{metric:"orders.revenue",label:"Revenue",value:288291,format:{format:"currency"},sparkValues:[31,42,38,55,60]}),c.jsx(Xn,{title:"Optional panel",message:"Shell content is composed from the same primitives."})]})})})]})]})]})}function ns(n){return`https://api.fontshare.com/v2/css?f[]=${n}&display=swap`}const uy=[{value:"system",label:"System (SF Pro)",stack:"system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif"},{value:"geist",label:"Geist",gf:"Geist:wght@400;500;600",stack:"'Geist', system-ui, sans-serif"},{value:"inter",label:"Inter",gf:"Inter:wght@400;500;600",stack:"'Inter', system-ui, sans-serif"},{value:"instrument",label:"Instrument Sans",gf:"Instrument+Sans:wght@400;500;600",stack:"'Instrument Sans', system-ui, sans-serif"},{value:"plex",label:"IBM Plex Sans",gf:"IBM+Plex+Sans:wght@400;500;600",stack:"'IBM Plex Sans', system-ui, sans-serif"},{value:"schibsted",label:"Schibsted Grotesk",gf:"Schibsted+Grotesk:wght@400;500;600",stack:"'Schibsted Grotesk', system-ui, sans-serif"},{value:"figtree",label:"Figtree",gf:"Figtree:wght@400;500;600",stack:"'Figtree', system-ui, sans-serif"},{value:"manrope",label:"Manrope",gf:"Manrope:wght@400;500;600",stack:"'Manrope', system-ui, sans-serif"},{value:"publicsans",label:"Public Sans",gf:"Public+Sans:wght@400;500;600",stack:"'Public Sans', system-ui, sans-serif"},{value:"spacegrotesk",label:"Space Grotesk",gf:"Space+Grotesk:wght@400;500;600",stack:"'Space Grotesk', system-ui, sans-serif"},{value:"satoshi",label:"Satoshi ✦",url:ns("satoshi@400,500,700"),stack:"'Satoshi', system-ui, sans-serif"},{value:"generalsans",label:"General Sans ✦",url:ns("general-sans@400,500,600"),stack:"'General Sans', system-ui, sans-serif"},{value:"switzer",label:"Switzer ✦",url:ns("switzer@400,500,600"),stack:"'Switzer', system-ui, sans-serif"},{value:"cabinet",label:"Cabinet Grotesk ✦",url:ns("cabinet-grotesk@400,500,700"),stack:"'Cabinet Grotesk', system-ui, sans-serif"},{value:"bricolage",label:"Bricolage Grotesque ✦",gf:"Bricolage+Grotesque:wght@400;500;600",stack:"'Bricolage Grotesque', system-ui, sans-serif"},{value:"familjen",label:"Familjen Grotesk ✦",gf:"Familjen+Grotesk:wght@400;500;600",stack:"'Familjen Grotesk', system-ui, sans-serif"},{value:"hanken",label:"Hanken Grotesk ✦",gf:"Hanken+Grotesk:wght@400;500;600",stack:"'Hanken Grotesk', system-ui, sans-serif"},{value:"reddit",label:"Reddit Sans ✦",gf:"Reddit+Sans:wght@400;500;600",stack:"'Reddit Sans', system-ui, sans-serif"},{value:"chivo",label:"Chivo ✦",gf:"Chivo:wght@400;500;600",stack:"'Chivo', system-ui, sans-serif"},{value:"hostgrotesk",label:"Host Grotesk ✦",gf:"Host+Grotesk:wght@400;500;600",stack:"'Host Grotesk', system-ui, sans-serif"},{value:"sora",label:"Sora ✦",gf:"Sora:wght@400;500;600",stack:"'Sora', system-ui, sans-serif"}],cy=[{value:"system",label:"System (SF Mono)",stack:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},{value:"geistmono",label:"Geist Mono",gf:"Geist+Mono:wght@400;500",stack:"'Geist Mono', ui-monospace, monospace"},{value:"jetbrains",label:"JetBrains Mono",gf:"JetBrains+Mono:wght@400;500",stack:"'JetBrains Mono', ui-monospace, monospace"},{value:"plexmono",label:"IBM Plex Mono",gf:"IBM+Plex+Mono:wght@400;500",stack:"'IBM Plex Mono', ui-monospace, monospace"},{value:"firacode",label:"Fira Code",gf:"Fira+Code:wght@400;500",stack:"'Fira Code', ui-monospace, monospace"},{value:"splinemono",label:"Spline Sans Mono",gf:"Spline+Sans+Mono:wght@400;500",stack:"'Spline Sans Mono', ui-monospace, monospace"},{value:"dmmono",label:"DM Mono",gf:"DM+Mono:wght@400;500",stack:"'DM Mono', ui-monospace, monospace"},{value:"martianmono",label:"Martian Mono ✦",gf:"Martian+Mono:wght@400;500",stack:"'Martian Mono', ui-monospace, monospace"},{value:"fragment",label:"Fragment Mono ✦",gf:"Fragment+Mono",stack:"'Fragment Mono', ui-monospace, monospace"},{value:"redhatmono",label:"Red Hat Mono ✦",gf:"Red+Hat+Mono:wght@400;500",stack:"'Red Hat Mono', ui-monospace, monospace"},{value:"chivomono",label:"Chivo Mono ✦",gf:"Chivo+Mono:wght@400;500",stack:"'Chivo Mono', ui-monospace, monospace"},{value:"azeret",label:"Azeret Mono ✦",gf:"Azeret+Mono:wght@400;500",stack:"'Azeret Mono', ui-monospace, monospace"},{value:"spacemono",label:"Space Mono ✦",gf:"Space+Mono:wght@400;700",stack:"'Space Mono', ui-monospace, monospace"}],dy=[{value:"sans",label:"Same as sans",stack:""},{value:"newsreader",label:"Newsreader (serif)",gf:"Newsreader:opsz,wght@6..72,400..700",stack:"'Newsreader', Georgia, serif"},{value:"sourceserif",label:"Source Serif 4",gf:"Source+Serif+4:opsz,wght@8..60,400..700",stack:"'Source Serif 4', Georgia, serif"},{value:"fraunces",label:"Fraunces",gf:"Fraunces:opsz,wght@9..144,400..700",stack:"'Fraunces', Georgia, serif"},{value:"instrumentserif",label:"Instrument Serif",gf:"Instrument+Serif",stack:"'Instrument Serif', Georgia, serif"},{value:"spacegrotesk",label:"Space Grotesk",gf:"Space+Grotesk:wght@400;500;600",stack:"'Space Grotesk', system-ui, sans-serif"},{value:"clash",label:"Clash Display ✦",url:ns("clash-display@400,500,600"),stack:"'Clash Display', system-ui, sans-serif"},{value:"cabinetdisplay",label:"Cabinet Grotesk ✦",url:ns("cabinet-grotesk@500,700,800"),stack:"'Cabinet Grotesk', system-ui, sans-serif"},{value:"sentient",label:"Sentient (serif) ✦",url:ns("sentient@400,500,700"),stack:"'Sentient', Georgia, serif"},{value:"gambetta",label:"Gambetta (serif) ✦",url:ns("gambetta@400,500,700"),stack:"'Gambetta', Georgia, serif"},{value:"bricolagedisplay",label:"Bricolage Grotesque ✦",gf:"Bricolage+Grotesque:opsz,wght@12..96,400..700",stack:"'Bricolage Grotesque', system-ui, sans-serif"},{value:"youngserif",label:"Young Serif ✦",gf:"Young+Serif",stack:"'Young Serif', Georgia, serif"},{value:"unbounded",label:"Unbounded ✦",gf:"Unbounded:wght@400;500;600",stack:"'Unbounded', system-ui, sans-serif"}],R2=[{label:"Geist / Geist Mono",sans:"geist",mono:"geistmono",display:"sans"},{label:"Inter / JetBrains",sans:"inter",mono:"jetbrains",display:"sans"},{label:"IBM Plex",sans:"plex",mono:"plexmono",display:"sans"},{label:"Instrument / Spline",sans:"instrument",mono:"splinemono",display:"sans"},{label:"Schibsted / Fira",sans:"schibsted",mono:"firacode",display:"sans"},{label:"Editorial: Geist + Newsreader",sans:"geist",mono:"geistmono",display:"newsreader"},{label:"Satoshi / Martian ✦",sans:"satoshi",mono:"martianmono",display:"sans"},{label:"General Sans / Fragment ✦",sans:"generalsans",mono:"fragment",display:"sans"},{label:"Switzer + Clash headings ✦",sans:"switzer",mono:"redhatmono",display:"clash"},{label:"Cabinet + Gambetta ✦",sans:"cabinet",mono:"chivomono",display:"gambetta"},{label:"Bricolage all the way ✦",sans:"bricolage",mono:"spacemono",display:"bricolagedisplay"}],fy=new Set;function gd(n){if(!n)return;const e=n.url??(n.gf?`https://fonts.googleapis.com/css2?family=${n.gf}&display=swap`:void 0);if(!e||fy.has(e))return;fy.add(e);const t=document.createElement("link");t.rel="stylesheet",t.href=e,document.head.appendChild(t)}function vd(n,e){return n.find(t=>t.value===e)??n[0]}const L2=[{px:"8",cls:"text-[8px]",usage:"MetricCard delta arrow glyph",sample:"▲"},{px:"9",cls:"text-[9px]",usage:"DataTable sort direction glyph",sample:"▲▼"},{px:"10",cls:"text-[10px]",usage:"Chart axis labels (all 9 charts)",sample:"Jan Feb Mar 12.4k 18.2k"},{px:"11",cls:"text-2xs",usage:"Captions, chips, table body, helper text (58 uses)",sample:"Canonical React primitives · updated 2h ago"},{px:"12",cls:"text-xs",usage:"Controls, labels, leaderboard rows — the workhorse (70 uses)",sample:"Revenue by region, last 28 days"},{px:"13",cls:"text-sm",usage:"Section titles, panel headers (9 uses); also the body default",sample:"Customer Region"},{px:"14",cls:"text-base",usage:"Explore index page title (1 use)",sample:"Explore"},{px:"19",cls:"text-[19px]",usage:"MetricCard value",sample:"$288,291"},{px:"20",cls:"text-xl",usage:"MetricTimeSeries headline total",sample:"$1,282,392"},{px:"24",cls:"text-2xl",usage:"DashboardShell page title",sample:"Revenue overview"}],U2=[{name:"A — Current",note:"11 / 12 / 13 base. Dense, reads small on 27″ displays.",caption:11,label:12,body:13,section:13,value:19,headline:20,title:24},{name:"B — One up",note:"12 / 13 / 14 base. Same hierarchy, comfortably legible.",caption:12,label:13,body:14,section:14,value:22,headline:24,title:28},{name:"C — Quiet UI, loud numbers",note:"Keeps the dense chrome, doubles down on data: bigger values and titles.",caption:11,label:12,body:13,section:13,value:24,headline:28,title:30}],$2=[31,42,38,55,60,74],P2=Array.from({length:12},(n,e)=>({x:`2025-${String(e+1).padStart(2,"0")}-01`,y:96e3+e*14e3+e%3*9e3})),z2=`select region, sum(revenue) as revenue +from orders +where created_at >= date '2025-01-01' +group by all +order by revenue desc`;function hy({family:n,size:e}){return c.jsxs("div",{className:"flex flex-wrap items-baseline gap-x-6 gap-y-1",style:{fontFamily:n},children:[c.jsx("span",{className:`${e} font-normal`,children:"Regular 400 — Revenue by payment method"}),c.jsx("span",{className:`${e} font-medium`,children:"Medium 500 — Revenue by payment method"}),c.jsx("span",{className:`${e} font-semibold`,children:"Semibold 600 — Revenue by payment method"})]})}function V2(){const[n,e]=D.useState("geist"),[t,i]=D.useState("geistmono"),[a,u]=D.useState("sans"),f=vd(uy,n),h=vd(cy,t),m=vd(dy,a),g=m.stack||f.stack;D.useEffect(()=>{gd(f),gd(h),gd(m)},[f,h,m]);const v={"--font-sans":f.stack,"--font-mono":h.stack,"--font-display":g,fontFamily:"var(--font-sans)"};return c.jsxs("main",{className:"min-h-screen bg-bg text-ink",children:[c.jsxs("header",{className:"sticky top-0 z-20 flex items-center justify-between gap-3 border-b border-line bg-surface px-4 py-3",children:[c.jsxs("div",{children:[c.jsx("h1",{className:"text-sm font-semibold",children:"Typography workbench"}),c.jsxs("p",{className:"text-2xs text-faint",children:["Pick faces, judge them on real components · ",c.jsx("a",{className:"text-accent hover:underline",href:"/components",children:"component gallery →"})]})]}),c.jsx($o,{})]}),c.jsxs("div",{className:"space-y-10 p-4",children:[c.jsx("section",{children:c.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[c.jsx(wl,{label:"Sans",value:n,options:uy.map(({value:x,label:b})=>({value:x,label:b})),onChange:e}),c.jsx(wl,{label:"Mono",value:t,options:cy.map(({value:x,label:b})=>({value:x,label:b})),onChange:i}),c.jsx(wl,{label:"Headings",value:a,options:dy.map(({value:x,label:b})=>({value:x,label:b})),onChange:u}),c.jsx("div",{className:"flex flex-wrap items-center gap-1.5",children:R2.map(x=>{const b=x.sans===n&&x.mono===t&&x.display===a;return c.jsx("button",{type:"button","data-selected":b||void 0,onClick:()=>{e(x.sans),i(x.mono),u(x.display)},className:`inline-flex h-7 items-center rounded-full border px-3 text-xs transition-colors ${b?"border-accent text-accent":"border-line bg-surface text-muted hover:border-line-strong"}`,children:x.label},x.label)})})]})}),c.jsxs("div",{style:v,className:"space-y-10",children:[c.jsxs("section",{children:[c.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"In context"}),c.jsxs("div",{className:"space-y-6",children:[c.jsxs("div",{children:[c.jsx("p",{className:"text-2xs text-faint",children:"Acme Analytics · production"}),c.jsx("h1",{className:"mt-1 text-2xl font-semibold text-ink",children:"Revenue overview"}),c.jsx("div",{className:"text-sm text-muted",children:"Updated 2 minutes ago · 448,214 rows scanned"})]}),c.jsxs("div",{className:"grid grid-cols-1 gap-2 sm:grid-cols-3",children:[c.jsx(Nr,{metric:"t.revenue",label:"Revenue",value:288291,format:{format:"currency"},delta:{label:"+12.4%",tone:"positive"},comparison:"vs previous month",sparkValues:$2,selected:!0,onSelect:()=>{}}),c.jsx(Nr,{metric:"t.orders",label:"Order Count",value:447,delta:{label:"-2.1%",tone:"negative"},comparison:"vs previous month",sparkValues:[21,34,28,41,44,38],onSelect:()=>{}}),c.jsx(Nr,{metric:"t.margin",label:"Gross Margin",value:.324,format:{format:"percent"},delta:{label:"+1.1pt",tone:"positive"},comparison:"vs previous month",sparkValues:[24,26,29,27,31,32],onSelect:()=>{}})]}),c.jsx(Go,{points:P2,formatValue:x=>`$${Math.round(x).toLocaleString("en-US")}`,formatAxis:x=>`$${Math.round(x/1e3)}k`,formatLabel:x=>x.slice(0,7),ariaLabel:"Twelve month revenue trend"}),c.jsxs("div",{className:"max-w-xl",children:[c.jsx("h3",{className:"text-sm font-semibold text-ink",children:"How the comparison works"}),c.jsx("p",{className:"mt-1 text-xs leading-5 text-muted",children:"The overlay shifts the previous period onto the current axis so both lines share a scale. Deltas are computed on the visible range only — zooming recomputes them. Hover any point for the exact pair of values; the quiet gray line is always the older period."})]}),c.jsx("pre",{className:"overflow-x-auto font-mono text-xs leading-5 text-muted",children:z2})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Numerals — mono, tabular"}),c.jsxs("div",{className:"flex flex-wrap gap-12",children:[c.jsx("div",{className:"font-mono tnum text-sm text-ink",children:["$1,204,918.24","$984,003.10","$88,214.00","$1,111,111.11"].map(x=>c.jsx("div",{className:"text-right",children:x},x))}),c.jsx("div",{className:"font-mono tnum text-sm text-ink",children:["2025-06-30 23:59:59","2025-07-01 00:00:00","2025-12-31 08:15:42"].map(x=>c.jsx("div",{children:x},x))}),c.jsxs("div",{className:"font-mono text-sm text-ink",children:["0O · 1lI · 5S · 8B · ","->"," ","=>"," ","!="," ",">="]})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Weights in use — 400 / 500 / 600 (no bold anywhere)"}),c.jsxs("div",{className:"space-y-2 text-ink",children:[c.jsx(hy,{family:"var(--font-sans)",size:"text-sm"}),c.jsx(hy,{family:"var(--font-sans)",size:"text-xs"}),c.jsx("div",{className:"text-xl font-semibold",style:{fontFamily:"var(--font-display)"},children:"Display 600 — Quarterly revenue, all regions"})]})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Current ramp — every size in the app and where it appears"}),c.jsx("div",{className:"space-y-1.5",children:L2.map(x=>c.jsxs("div",{className:"grid grid-cols-[3rem_7rem_1fr_1.2fr] items-baseline gap-3",children:[c.jsxs("span",{className:"font-mono tnum text-2xs text-faint",children:[x.px,"px"]}),c.jsx("span",{className:"font-mono text-2xs text-faint",children:x.cls}),c.jsx("span",{className:"truncate text-ink",style:{fontSize:`${x.px}px`,lineHeight:1.3},children:x.sample}),c.jsx("span",{className:"text-2xs text-faint",children:x.usage})]},x.px))})]}),c.jsxs("section",{children:[c.jsx("h2",{className:"mb-3 text-xs font-medium text-muted",children:"Size ramp candidates"}),c.jsx("div",{className:"grid grid-cols-1 gap-8 lg:grid-cols-3",children:U2.map(x=>c.jsxs("article",{className:"min-w-0",children:[c.jsx("h3",{className:"text-sm font-semibold text-ink",children:x.name}),c.jsx("p",{className:"mt-0.5 text-2xs text-faint",children:x.note}),c.jsxs("div",{className:"mt-3 space-y-2",children:[c.jsxs("div",{className:"text-faint",style:{fontSize:x.caption,lineHeight:1.3},children:["Caption ",x.caption,"px · vs previous month"]}),c.jsxs("div",{className:"text-muted",style:{fontSize:x.label,lineHeight:1.35},children:["Label ",x.label,"px · Revenue by region"]}),c.jsxs("div",{className:"text-ink",style:{fontSize:x.body,lineHeight:1.45},children:["Body ",x.body,"px · The overlay shifts the previous period onto the current axis so both lines share a scale."]}),c.jsxs("div",{className:"font-semibold text-ink",style:{fontSize:x.section,lineHeight:1.35},children:["Section title ",x.section,"px"]}),c.jsx("div",{className:"font-mono tnum font-semibold text-ink",style:{fontSize:x.value,lineHeight:1.15},children:"$288,291"}),c.jsx("div",{className:"font-mono tnum font-semibold text-ink",style:{fontSize:x.headline,lineHeight:1.15},children:"$1,282,392"}),c.jsx("div",{className:"font-semibold text-ink",style:{fontFamily:"var(--font-display)",fontSize:x.title,lineHeight:1.2,letterSpacing:"-0.025em"},children:"Revenue overview"})]})]},x.name))})]})]})]})]})}n_();const n0=document.getElementById("root");if(!n0)throw new Error("Missing #root element");ub.createRoot(n0).render(c.jsx(D.StrictMode,{children:window.location.pathname==="/components"?c.jsx(E2,{}):window.location.pathname==="/typography"?c.jsx(V2,{}):c.jsx(n2,{})})); diff --git a/sidemantic/ui/static/index.html b/sidemantic/ui/static/index.html index 8f191ce4c..bb5230531 100644 --- a/sidemantic/ui/static/index.html +++ b/sidemantic/ui/static/index.html @@ -4,7 +4,7 @@ Sidemantic - + diff --git a/sidemantic/widget/static/widget.js b/sidemantic/widget/static/widget.js index 4a5f6260d..d1d30f4a6 100644 --- a/sidemantic/widget/static/widget.js +++ b/sidemantic/widget/static/widget.js @@ -1,20 +1,20 @@ -var _w=Object.defineProperty;var fi=(t,e)=>{for(var n in e)_w(t,n,{get:e[n],enumerable:!0})};function Yp(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function X(t){return this instanceof X?(this.v=t,this):new X(t)}function Tt(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),i,s=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",o),i[Symbol.asyncIterator]=function(){return this},i;function o(v){return function(w){return Promise.resolve(w).then(v,d)}}function a(v,w){r[v]&&(i[v]=function(b){return new Promise(function(Y,h){s.push([v,b,Y,h])>1||l(v,b)})},w&&(i[v]=w(i[v])))}function l(v,w){try{u(r[v](w))}catch(b){y(s[0][3],b)}}function u(v){v.value instanceof X?Promise.resolve(v.value.v).then(c,d):y(s[0][2],v)}function c(v){l("next",v)}function d(v){l("throw",v)}function y(v,w){v(w),s.shift(),s.length&&l(s[0][0],s[0][1])}}function es(t){var e,n;return e={},r("next"),r("throw",function(i){throw i}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(i,s){e[i]=t[i]?function(o){return(n=!n)?{value:X(t[i](o)),done:!1}:s?s(o):o}:s}}function rn(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof Hp=="function"?Hp(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=t[s]&&function(o){return new Promise(function(a,l){o=t[s](o),i(a,l,o.done,o.value)})}}function i(s,o,a,l){Promise.resolve(l).then(function(u){s({value:u,done:a})},o)}}var yf={};fi(yf,{compareArrayLike:()=>mf,joinUint8Arrays:()=>Ft,memcpy:()=>uo,rebaseValueOffsets:()=>il,toArrayBufferView:()=>Z,toArrayBufferViewAsyncIterator:()=>on,toArrayBufferViewIterator:()=>On,toBigInt64Array:()=>rl,toBigUint64Array:()=>Tw,toFloat32Array:()=>Ow,toFloat32ArrayAsyncIterator:()=>Hw,toFloat32ArrayIterator:()=>Uw,toFloat64Array:()=>Fw,toFloat64ArrayAsyncIterator:()=>Yw,toFloat64ArrayIterator:()=>Rw,toInt16Array:()=>Bw,toInt16ArrayAsyncIterator:()=>zw,toInt16ArrayIterator:()=>Aw,toInt32Array:()=>di,toInt32ArrayAsyncIterator:()=>Vw,toInt32ArrayIterator:()=>Lw,toInt8Array:()=>Iw,toInt8ArrayAsyncIterator:()=>jw,toInt8ArrayIterator:()=>kw,toUint16Array:()=>Dw,toUint16ArrayAsyncIterator:()=>$w,toUint16ArrayIterator:()=>Mw,toUint32Array:()=>Nw,toUint32ArrayAsyncIterator:()=>Ww,toUint32ArrayIterator:()=>Cw,toUint8Array:()=>V,toUint8ArrayAsyncIterator:()=>pf,toUint8ArrayIterator:()=>hf,toUint8ClampedArray:()=>Ew,toUint8ClampedArrayAsyncIterator:()=>Kw,toUint8ClampedArrayIterator:()=>Pw});var ww=new TextDecoder("utf-8"),ao=t=>ww.decode(t),Sw=new TextEncoder,Tn=t=>Sw.encode(t);var bw=t=>typeof t=="number",Kp=t=>typeof t=="boolean",Ue=t=>typeof t=="function",ct=t=>t!=null&&Object(t)===t,Ot=t=>ct(t)&&Ue(t.then);var sn=t=>ct(t)&&Ue(t[Symbol.iterator]),$t=t=>ct(t)&&Ue(t[Symbol.asyncIterator]),Za=t=>ct(t)&&ct(t.schema);var Ja=t=>ct(t)&&"done"in t&&"value"in t;var qa=t=>ct(t)&&Ue(t.stat)&&bw(t.fd);var el=t=>ct(t)&&lo(t.body),tl=t=>"_getDOMStream"in t&&"_getNodeStream"in t,Qp=t=>ct(t)&&Ue(t.abort)&&Ue(t.getWriter)&&!tl(t),lo=t=>ct(t)&&Ue(t.cancel)&&Ue(t.getReader)&&!tl(t),Gp=t=>ct(t)&&Ue(t.end)&&Ue(t.write)&&Kp(t.writable)&&!tl(t),nl=t=>ct(t)&&Ue(t.read)&&Ue(t.pipe)&&Kp(t.readable)&&!tl(t),Xp=t=>ct(t)&&Ue(t.clear)&&Ue(t.bytes)&&Ue(t.position)&&Ue(t.setPosition)&&Ue(t.capacity)&&Ue(t.getBufferIdentifier)&&Ue(t.createLong);var df=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;function xw(t){let e=t[0]?[t[0]]:[],n,r,i,s;for(let o,a,l=0,u=0,c=t.length;++lc+d.byteLength,0),i,s,o,a=0,l=-1,u=Math.min(e||Number.POSITIVE_INFINITY,r);for(let c=n.length;++lZ(Int8Array,t),Bw=t=>Z(Int16Array,t),di=t=>Z(Int32Array,t),rl=t=>Z(BigInt64Array,t),V=t=>Z(Uint8Array,t),Dw=t=>Z(Uint16Array,t),Nw=t=>Z(Uint32Array,t),Tw=t=>Z(BigUint64Array,t),Ow=t=>Z(Float32Array,t),Fw=t=>Z(Float64Array,t),Ew=t=>Z(Uint8ClampedArray,t),ff=t=>(t.next(),t);function*On(t,e){let n=function*(i){yield i},r=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof df?n(e):sn(e)?e:n(e);return yield*ff((function*(i){let s=null;do s=i.next(yield Z(t,s));while(!s.done)})(r[Symbol.iterator]())),new t}var kw=t=>On(Int8Array,t),Aw=t=>On(Int16Array,t),Lw=t=>On(Int32Array,t),hf=t=>On(Uint8Array,t),Mw=t=>On(Uint16Array,t),Cw=t=>On(Uint32Array,t),Uw=t=>On(Float32Array,t),Rw=t=>On(Float64Array,t),Pw=t=>On(Uint8ClampedArray,t);function on(t,e){return Tt(this,arguments,function*(){if(Ot(e))return yield X(yield X(yield*es(rn(on(t,yield X(e))))));let r=function(o){return Tt(this,arguments,function*(){yield yield X(yield X(o))})},i=function(o){return Tt(this,arguments,function*(){yield X(yield*es(rn(ff((function*(a){let l=null;do l=a.next(yield l?.value);while(!l.done)})(o[Symbol.iterator]())))))})},s=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof df?r(e):sn(e)?i(e):$t(e)?e:r(e);return yield X(yield*es(rn(ff((function(o){return Tt(this,arguments,function*(){let a=null;do a=yield X(o.next(yield yield X(Z(t,a))));while(!a.done)})})(s[Symbol.asyncIterator]()))))),yield X(new t)})}var jw=t=>on(Int8Array,t),zw=t=>on(Int16Array,t),Vw=t=>on(Int32Array,t),pf=t=>on(Uint8Array,t),$w=t=>on(Uint16Array,t),Ww=t=>on(Uint32Array,t),Hw=t=>on(Float32Array,t),Yw=t=>on(Float64Array,t),Kw=t=>on(Uint8ClampedArray,t);function il(t,e,n){if(t!==0){n=n.slice(0,e);for(let r=-1,i=n.length;++r0)do if(t[n]!==e[n])return!1;while(++n(t.next(),t);function*Qw(t){let e,n=!1,r=[],i,s,o,a=0;function l(){return s==="peek"?Ft(r,o)[0]:([i,r,a]=Ft(r,o),i)}({cmd:s,size:o}=(yield null)||{cmd:"read",size:0});let u=hf(t)[Symbol.iterator]();try{do if({done:e,value:i}=Number.isNaN(o-a)?u.next():u.next(o-a),!e&&i.byteLength>0&&(r.push(i),a+=i.byteLength),e||o<=a)do({cmd:s,size:o}=yield l());while(o0&&(i.push(s),l+=s.byteLength),n||a<=l)do({cmd:o,size:a}=yield yield X(u()));while(a0&&(i.push(V(s)),l+=s.byteLength),n||a<=l)do({cmd:o,size:a}=yield yield X(u()));while(a{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(e){return O(this,void 0,void 0,function*(){let{reader:n,source:r}=this;n&&(yield n.cancel(e).catch(()=>{})),r&&r.locked&&this.releaseLock()})}read(e){return O(this,void 0,void 0,function*(){if(e===0)return{done:this.reader==null,value:new Uint8Array(0)};let n=yield this.reader.read();return!n.done&&(n.value=V(n)),n})}},gf=(t,e)=>{let n=i=>r([e,i]),r;return[e,n,new Promise(i=>(r=i)&&t.once(e,n))]};function Zw(t){return Tt(this,arguments,function*(){let n=[],r="error",i=!1,s=null,o,a,l=0,u=[],c;function d(){return o==="peek"?Ft(u,a)[0]:([c,u,l]=Ft(u,a),c)}if({cmd:o,size:a}=(yield yield X(null))||{cmd:"read",size:0},t.isTTY)return yield yield X(new Uint8Array(0)),yield X(null);try{n[0]=gf(t,"end"),n[1]=gf(t,"error");do{if(n[2]=gf(t,"readable"),[r,s]=yield X(Promise.race(n.map(v=>v[2]))),r==="error")break;if((i=r==="end")||(Number.isFinite(a-l)?(c=V(t.read(a-l)),c.byteLength0&&(u.push(c),l+=c.byteLength)),i||a<=l)do({cmd:o,size:a}=yield yield X(d()));while(a{for(let[h,f]of v)t.off(h,f);try{let h=t.destroy;h&&h.call(t,w),w=void 0}catch(h){w=h||w}finally{w!=null?Y(w):b()}})}})}var le;(function(t){t[t.V1=0]="V1",t[t.V2=1]="V2",t[t.V3=2]="V3",t[t.V4=3]="V4",t[t.V5=4]="V5"})(le||(le={}));var de;(function(t){t[t.Sparse=0]="Sparse",t[t.Dense=1]="Dense"})(de||(de={}));var ce;(function(t){t[t.HALF=0]="HALF",t[t.SINGLE=1]="SINGLE",t[t.DOUBLE=2]="DOUBLE"})(ce||(ce={}));var Fe;(function(t){t[t.DAY=0]="DAY",t[t.MILLISECOND=1]="MILLISECOND"})(Fe||(Fe={}));var k;(function(t){t[t.SECOND=0]="SECOND",t[t.MILLISECOND=1]="MILLISECOND",t[t.MICROSECOND=2]="MICROSECOND",t[t.NANOSECOND=3]="NANOSECOND"})(k||(k={}));var We;(function(t){t[t.YEAR_MONTH=0]="YEAR_MONTH",t[t.DAY_TIME=1]="DAY_TIME",t[t.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(We||(We={}));var Fn=new Int32Array(2),ol=new Float32Array(Fn.buffer),al=new Float64Array(Fn.buffer),ts=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var co;(function(t){t[t.UTF8_BYTES=1]="UTF8_BYTES",t[t.UTF16_STRING=2]="UTF16_STRING"})(co||(co={}));var Et=class t{constructor(e){this.bytes_=e,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(e){return new t(new Uint8Array(e))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(e){this.position_=e}capacity(){return this.bytes_.length}readInt8(e){return this.readUint8(e)<<24>>24}readUint8(e){return this.bytes_[e]}readInt16(e){return this.readUint16(e)<<16>>16}readUint16(e){return this.bytes_[e]|this.bytes_[e+1]<<8}readInt32(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24}readUint32(e){return this.readInt32(e)>>>0}readInt64(e){return BigInt.asIntN(64,BigInt(this.readUint32(e))+(BigInt(this.readUint32(e+4))<>8}writeUint16(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8}writeInt32(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8,this.bytes_[e+2]=n>>16,this.bytes_[e+3]=n>>24}writeUint32(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8,this.bytes_[e+2]=n>>16,this.bytes_[e+3]=n>>24}writeInt64(e,n){this.writeInt32(e,Number(BigInt.asIntN(32,n))),this.writeInt32(e+4,Number(BigInt.asIntN(32,n>>BigInt(32))))}writeUint64(e,n){this.writeUint32(e,Number(BigInt.asUintN(32,n))),this.writeUint32(e+4,Number(BigInt.asUintN(32,n>>BigInt(32))))}writeFloat32(e,n){ol[0]=n,this.writeInt32(e,Fn[0])}writeFloat64(e,n){al[0]=n,this.writeInt32(e,Fn[ts?0:1]),this.writeInt32(e+4,Fn[ts?1:0])}getBufferIdentifier(){if(this.bytes_.lengththis.minalign&&(this.minalign=e);let r=~(this.bb.capacity()-this.space+n)+1&e-1;for(;this.space=0&&this.vtable[n]==0;n--);let r=n+1;for(;n>=0;n--)this.addInt16(this.vtable[n]!=0?e-this.vtable[n]:0);let i=2;this.addInt16(e-this.object_start);let s=(r+i)*2;this.addInt16(s);let o=0,a=this.space;e:for(n=0;n=0;o--)this.writeInt8(s.charCodeAt(o))}this.prep(this.minalign,4+i),this.addOffset(e),i&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,n){this.finish(e,n,!0)}requiredField(e,n){let r=this.bb.capacity()-e,i=r-this.bb.readInt32(r);if(!(n=0;r--)e.addInt32(n[r]);return e.endVector()}static startTypeIdsVector(e,n){e.startVector(4,n,4)}static endUnion(e){return e.endObject()}static createUnion(e,n,r){return t.startUnion(e),t.addMode(e,n),t.addTypeIds(e,r),t.endUnion(e)}};var bo=class t{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsUtf8(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsUtf8(e,n){return e.setPosition(e.position()+4),(n||new t).__init(e.readInt32(e.position())+e.position(),e)}static startUtf8(e){e.startObject(0)}static endUtf8(e){return e.endObject()}static createUtf8(e){return t.startUtf8(e),t.endUtf8(e)}};var fe;(function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.FloatingPoint=3]="FloatingPoint",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct_=13]="Struct_",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Duration=18]="Duration",t[t.LargeBinary=19]="LargeBinary",t[t.LargeUtf8=20]="LargeUtf8",t[t.LargeList=21]="LargeList",t[t.RunEndEncoded=22]="RunEndEncoded"})(fe||(fe={}));var nt=class t{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsField(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsField(e,n){return e.setPosition(e.position()+4),(n||new t).__init(e.readInt32(e.position())+e.position(),e)}name(e){let n=this.bb.__offset(this.bb_pos,4);return n?this.bb.__string(this.bb_pos+n,e):null}nullable(){let e=this.bb.__offset(this.bb_pos,6);return e?!!this.bb.readInt8(this.bb_pos+e):!1}typeType(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb_pos+e):fe.NONE}type(e){let n=this.bb.__offset(this.bb_pos,10);return n?this.bb.__union(e,this.bb_pos+n):null}dictionary(e){let n=this.bb.__offset(this.bb_pos,12);return n?(e||new En).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}children(e,n){let r=this.bb.__offset(this.bb_pos,14);return r?(n||new t).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}childrenLength(){let e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){let r=this.bb.__offset(this.bb_pos,16);return r?(n||new Re).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){let e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}static startField(e){e.startObject(7)}static addName(e,n){e.addFieldOffset(0,n,0)}static addNullable(e,n){e.addFieldInt8(1,+n,0)}static addTypeType(e,n){e.addFieldInt8(2,n,fe.NONE)}static addType(e,n){e.addFieldOffset(3,n,0)}static addDictionary(e,n){e.addFieldOffset(4,n,0)}static addChildren(e,n){e.addFieldOffset(5,n,0)}static createChildrenVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startChildrenVector(e,n){e.startVector(4,n,4)}static addCustomMetadata(e,n){e.addFieldOffset(6,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endField(e){return e.endObject()}};var gt=class t{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsSchema(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsSchema(e,n){return e.setPosition(e.position()+4),(n||new t).__init(e.readInt32(e.position())+e.position(),e)}endianness(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Er.Little}fields(e,n){let r=this.bb.__offset(this.bb_pos,6);return r?(n||new nt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}fieldsLength(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){let r=this.bb.__offset(this.bb_pos,8);return r?(n||new Re).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}features(e){let n=this.bb.__offset(this.bb_pos,10);return n?this.bb.readInt64(this.bb.__vector(this.bb_pos+n)+e*8):BigInt(0)}featuresLength(){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}static startSchema(e){e.startObject(4)}static addEndianness(e,n){e.addFieldInt16(0,n,Er.Little)}static addFields(e,n){e.addFieldOffset(1,n,0)}static createFieldsVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startFieldsVector(e,n){e.startVector(4,n,4)}static addCustomMetadata(e,n){e.addFieldOffset(2,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static addFeatures(e,n){e.addFieldOffset(3,n,0)}static createFeaturesVector(e,n){e.startVector(8,n.length,8);for(let r=n.length-1;r>=0;r--)e.addInt64(n[r]);return e.endVector()}static startFeaturesVector(e,n){e.startVector(8,n,8)}static endSchema(e){return e.endObject()}static finishSchemaBuffer(e,n){e.finish(n)}static finishSizePrefixedSchemaBuffer(e,n){e.finish(n,void 0,!0)}static createSchema(e,n,r,i,s){return t.startSchema(e),t.addEndianness(e,n),t.addFields(e,r),t.addCustomMetadata(e,i),t.addFeatures(e,s),t.endSchema(e)}};var q;(function(t){t[t.NONE=0]="NONE",t[t.Schema=1]="Schema",t[t.DictionaryBatch=2]="DictionaryBatch",t[t.RecordBatch=3]="RecordBatch",t[t.Tensor=4]="Tensor",t[t.SparseTensor=5]="SparseTensor"})(q||(q={}));var p;(function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.Float=3]="Float",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct=13]="Struct",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Duration=18]="Duration",t[t.LargeBinary=19]="LargeBinary",t[t.LargeUtf8=20]="LargeUtf8",t[t.Dictionary=-1]="Dictionary",t[t.Int8=-2]="Int8",t[t.Int16=-3]="Int16",t[t.Int32=-4]="Int32",t[t.Int64=-5]="Int64",t[t.Uint8=-6]="Uint8",t[t.Uint16=-7]="Uint16",t[t.Uint32=-8]="Uint32",t[t.Uint64=-9]="Uint64",t[t.Float16=-10]="Float16",t[t.Float32=-11]="Float32",t[t.Float64=-12]="Float64",t[t.DateDay=-13]="DateDay",t[t.DateMillisecond=-14]="DateMillisecond",t[t.TimestampSecond=-15]="TimestampSecond",t[t.TimestampMillisecond=-16]="TimestampMillisecond",t[t.TimestampMicrosecond=-17]="TimestampMicrosecond",t[t.TimestampNanosecond=-18]="TimestampNanosecond",t[t.TimeSecond=-19]="TimeSecond",t[t.TimeMillisecond=-20]="TimeMillisecond",t[t.TimeMicrosecond=-21]="TimeMicrosecond",t[t.TimeNanosecond=-22]="TimeNanosecond",t[t.DenseUnion=-23]="DenseUnion",t[t.SparseUnion=-24]="SparseUnion",t[t.IntervalDayTime=-25]="IntervalDayTime",t[t.IntervalYearMonth=-26]="IntervalYearMonth",t[t.DurationSecond=-27]="DurationSecond",t[t.DurationMillisecond=-28]="DurationMillisecond",t[t.DurationMicrosecond=-29]="DurationMicrosecond",t[t.DurationNanosecond=-30]="DurationNanosecond"})(p||(p={}));var cn;(function(t){t[t.OFFSET=0]="OFFSET",t[t.DATA=1]="DATA",t[t.VALIDITY=2]="VALIDITY",t[t.TYPE=3]="TYPE"})(cn||(cn={}));var Rf={};fi(Rf,{clampRange:()=>Do,createElementComparator:()=>Vr,wrapIndex:()=>pi});var _f={};fi(_f,{valueToString:()=>fn});function fn(t){if(t===null)return"null";if(t===void 0)return"undefined";switch(typeof t){case"number":return`${t}`;case"bigint":return`${t}`;case"string":return`"${t}"`}return typeof t[Symbol.toPrimitive]=="function"?t[Symbol.toPrimitive]("string"):ArrayBuffer.isView(t)?t instanceof BigInt64Array||t instanceof BigUint64Array?`[${[...t].map(e=>fn(e))}]`:`[${t}]`:ArrayBuffer.isView(t)?`[${t}]`:JSON.stringify(t,(e,n)=>typeof n=="bigint"?`${n}`:n)}var xf={};fi(xf,{BN:()=>Io,bigNumToBigInt:()=>Jp,bigNumToNumber:()=>bf,bigNumToString:()=>os,isArrowBigNumSymbol:()=>Zp});function ne(t){if(typeof t=="bigint"&&(tNumber.MAX_SAFE_INTEGER))throw new TypeError(`${t} is not safe to convert to a number.`);return Number(t)}function wf(t,e){return ne(t/e)+ne(t%e)/ne(e)}var Zp=Symbol.for("isArrowBigNum");function dn(t,...e){return e.length===0?Object.setPrototypeOf(Z(this.TypedArray,t),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(t,...e),this.constructor.prototype)}dn.prototype[Zp]=!0;dn.prototype.toJSON=function(){return`"${os(this)}"`};dn.prototype.valueOf=function(t){return bf(this,t)};dn.prototype.toString=function(){return os(this)};dn.prototype[Symbol.toPrimitive]=function(t="default"){switch(t){case"number":return bf(this);case"string":return os(this);case"default":return Jp(this)}return os(this)};function is(...t){return dn.apply(this,t)}function ss(...t){return dn.apply(this,t)}function xo(...t){return dn.apply(this,t)}Object.setPrototypeOf(is.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(ss.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(xo.prototype,Object.create(Uint32Array.prototype));Object.assign(is.prototype,dn.prototype,{constructor:is,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array});Object.assign(ss.prototype,dn.prototype,{constructor:ss,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array});Object.assign(xo.prototype,dn.prototype,{constructor:xo,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});var Jw=BigInt(4294967296)*BigInt(4294967296),qw=Jw-BigInt(1);function bf(t,e){let{buffer:n,byteOffset:r,byteLength:i,signed:s}=t,o=new BigUint64Array(n,r,i/8),a=s&&o.at(-1)&BigInt(1)<=0)return Sf(t);e=e.slice();let r=1;for(let s=0;s(t.children=null,t.ArrayType=Array,t.OffsetArrayType=Int32Array,t[Symbol.toStringTag]="DataType"))(F.prototype);var ft=class extends F{constructor(){super(p.Null)}toString(){return"Null"}};em=Symbol.toStringTag;ft[em]=(t=>t[Symbol.toStringTag]="Null")(ft.prototype);var Pe=class extends F{constructor(e,n){super(p.Int),this.isSigned=e,this.bitWidth=n}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}};tm=Symbol.toStringTag;Pe[tm]=(t=>(t.isSigned=null,t.bitWidth=null,t[Symbol.toStringTag]="Int"))(Pe.prototype);var cl=class extends Pe{constructor(){super(!0,8)}get ArrayType(){return Int8Array}},fl=class extends Pe{constructor(){super(!0,16)}get ArrayType(){return Int16Array}},An=class extends Pe{constructor(){super(!0,32)}get ArrayType(){return Int32Array}},dl=class extends Pe{constructor(){super(!0,64)}get ArrayType(){return BigInt64Array}},hl=class extends Pe{constructor(){super(!1,8)}get ArrayType(){return Uint8Array}},pl=class extends Pe{constructor(){super(!1,16)}get ArrayType(){return Uint16Array}},ml=class extends Pe{constructor(){super(!1,32)}get ArrayType(){return Uint32Array}},yl=class extends Pe{constructor(){super(!1,64)}get ArrayType(){return BigUint64Array}};Object.defineProperty(cl.prototype,"ArrayType",{value:Int8Array});Object.defineProperty(fl.prototype,"ArrayType",{value:Int16Array});Object.defineProperty(An.prototype,"ArrayType",{value:Int32Array});Object.defineProperty(dl.prototype,"ArrayType",{value:BigInt64Array});Object.defineProperty(hl.prototype,"ArrayType",{value:Uint8Array});Object.defineProperty(pl.prototype,"ArrayType",{value:Uint16Array});Object.defineProperty(ml.prototype,"ArrayType",{value:Uint32Array});Object.defineProperty(yl.prototype,"ArrayType",{value:BigUint64Array});var Ht=class extends F{constructor(e){super(p.Float),this.precision=e}get ArrayType(){switch(this.precision){case ce.HALF:return Uint16Array;case ce.SINGLE:return Float32Array;case ce.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}};nm=Symbol.toStringTag;Ht[nm]=(t=>(t.precision=null,t[Symbol.toStringTag]="Float"))(Ht.prototype);var gl=class extends Ht{constructor(){super(ce.HALF)}},vl=class extends Ht{constructor(){super(ce.SINGLE)}},_l=class extends Ht{constructor(){super(ce.DOUBLE)}};Object.defineProperty(gl.prototype,"ArrayType",{value:Uint16Array});Object.defineProperty(vl.prototype,"ArrayType",{value:Float32Array});Object.defineProperty(_l.prototype,"ArrayType",{value:Float64Array});var Gn=class extends F{constructor(){super(p.Binary)}toString(){return"Binary"}};rm=Symbol.toStringTag;Gn[rm]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Binary"))(Gn.prototype);var Xn=class extends F{constructor(){super(p.LargeBinary)}toString(){return"LargeBinary"}};im=Symbol.toStringTag;Xn[im]=(t=>(t.ArrayType=Uint8Array,t.OffsetArrayType=BigInt64Array,t[Symbol.toStringTag]="LargeBinary"))(Xn.prototype);var Zn=class extends F{constructor(){super(p.Utf8)}toString(){return"Utf8"}};sm=Symbol.toStringTag;Zn[sm]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Utf8"))(Zn.prototype);var Jn=class extends F{constructor(){super(p.LargeUtf8)}toString(){return"LargeUtf8"}};om=Symbol.toStringTag;Jn[om]=(t=>(t.ArrayType=Uint8Array,t.OffsetArrayType=BigInt64Array,t[Symbol.toStringTag]="LargeUtf8"))(Jn.prototype);var qn=class extends F{constructor(){super(p.Bool)}toString(){return"Bool"}};am=Symbol.toStringTag;qn[am]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Bool"))(qn.prototype);var er=class extends F{constructor(e,n,r=128){super(p.Decimal),this.scale=e,this.precision=n,this.bitWidth=r}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}};lm=Symbol.toStringTag;er[lm]=(t=>(t.scale=null,t.precision=null,t.ArrayType=Uint32Array,t[Symbol.toStringTag]="Decimal"))(er.prototype);var tr=class extends F{constructor(e){super(p.Date),this.unit=e}toString(){return`Date${(this.unit+1)*32}<${Fe[this.unit]}>`}get ArrayType(){return this.unit===Fe.DAY?Int32Array:BigInt64Array}};um=Symbol.toStringTag;tr[um]=(t=>(t.unit=null,t[Symbol.toStringTag]="Date"))(tr.prototype);var nr=class extends F{constructor(e,n){super(p.Time),this.unit=e,this.bitWidth=n}toString(){return`Time${this.bitWidth}<${k[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}};cm=Symbol.toStringTag;nr[cm]=(t=>(t.unit=null,t.bitWidth=null,t[Symbol.toStringTag]="Time"))(nr.prototype);var rr=class extends F{constructor(e,n){super(p.Timestamp),this.unit=e,this.timezone=n}toString(){return`Timestamp<${k[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}};fm=Symbol.toStringTag;rr[fm]=(t=>(t.unit=null,t.timezone=null,t.ArrayType=BigInt64Array,t[Symbol.toStringTag]="Timestamp"))(rr.prototype);var ir=class extends F{constructor(e){super(p.Interval),this.unit=e}toString(){return`Interval<${We[this.unit]}>`}};dm=Symbol.toStringTag;ir[dm]=(t=>(t.unit=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Interval"))(ir.prototype);var sr=class extends F{constructor(e){super(p.Duration),this.unit=e}toString(){return`Duration<${k[this.unit]}>`}};hm=Symbol.toStringTag;sr[hm]=(t=>(t.unit=null,t.ArrayType=BigInt64Array,t[Symbol.toStringTag]="Duration"))(sr.prototype);var hn=class extends F{constructor(e){super(p.List),this.children=[e]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};pm=Symbol.toStringTag;hn[pm]=(t=>(t.children=null,t[Symbol.toStringTag]="List"))(hn.prototype);var pe=class extends F{constructor(e){super(p.Struct),this.children=e}toString(){return`Struct<{${this.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}};mm=Symbol.toStringTag;pe[mm]=(t=>(t.children=null,t[Symbol.toStringTag]="Struct"))(pe.prototype);var pn=class extends F{constructor(e,n,r){super(p.Union),this.mode=e,this.children=r,this.typeIds=n=Int32Array.from(n),this.typeIdToChildIndex=n.reduce((i,s,o)=>(i[s]=o)&&i||i,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(e=>`${e.type}`).join(" | ")}>`}};ym=Symbol.toStringTag;pn[ym]=(t=>(t.mode=null,t.typeIds=null,t.children=null,t.typeIdToChildIndex=null,t.ArrayType=Int8Array,t[Symbol.toStringTag]="Union"))(pn.prototype);var or=class extends F{constructor(e){super(p.FixedSizeBinary),this.byteWidth=e}toString(){return`FixedSizeBinary[${this.byteWidth}]`}};gm=Symbol.toStringTag;or[gm]=(t=>(t.byteWidth=null,t.ArrayType=Uint8Array,t[Symbol.toStringTag]="FixedSizeBinary"))(or.prototype);var mn=class extends F{constructor(e,n){super(p.FixedSizeList),this.listSize=e,this.children=[n]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}};vm=Symbol.toStringTag;mn[vm]=(t=>(t.children=null,t.listSize=null,t[Symbol.toStringTag]="FixedSizeList"))(mn.prototype);var yn=class extends F{constructor(e,n=!1){var r,i,s;if(super(p.Map),this.children=[e],this.keysSorted=n,e&&(e.name="entries",!((r=e?.type)===null||r===void 0)&&r.children)){let o=(i=e?.type)===null||i===void 0?void 0:i.children[0];o&&(o.name="key");let a=(s=e?.type)===null||s===void 0?void 0:s.children[1];a&&(a.name="value")}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}};_m=Symbol.toStringTag;yn[_m]=(t=>(t.children=null,t.keysSorted=null,t[Symbol.toStringTag]="Map_"))(yn.prototype);var eS=(t=>()=>++t)(-1),At=class extends F{constructor(e,n,r,i){super(p.Dictionary),this.indices=n,this.dictionary=e,this.isOrdered=i||!1,this.id=r==null?eS():ne(r)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}};wm=Symbol.toStringTag;At[wm]=(t=>(t.id=null,t.indices=null,t.isOrdered=null,t.dictionary=null,t[Symbol.toStringTag]="Dictionary"))(At.prototype);function Lt(t){let e=t;switch(t.typeId){case p.Decimal:return t.bitWidth/32;case p.Interval:return 1+e.unit;case p.FixedSizeList:return e.listSize;case p.FixedSizeBinary:return e.byteWidth;default:return 1}}var C=class{visitMany(e,...n){return e.map((r,i)=>this.visit(r,...n.map(s=>s[i])))}visit(...e){return this.getVisitFn(e[0],!1).apply(this,e)}getVisitFn(e,n=!0){return tS(this,e,n)}getVisitFnByTypeId(e,n=!0){return as(this,e,n)}visitNull(e,...n){return null}visitBool(e,...n){return null}visitInt(e,...n){return null}visitFloat(e,...n){return null}visitUtf8(e,...n){return null}visitLargeUtf8(e,...n){return null}visitBinary(e,...n){return null}visitLargeBinary(e,...n){return null}visitFixedSizeBinary(e,...n){return null}visitDate(e,...n){return null}visitTimestamp(e,...n){return null}visitTime(e,...n){return null}visitDecimal(e,...n){return null}visitList(e,...n){return null}visitStruct(e,...n){return null}visitUnion(e,...n){return null}visitDictionary(e,...n){return null}visitInterval(e,...n){return null}visitDuration(e,...n){return null}visitFixedSizeList(e,...n){return null}visitMap(e,...n){return null}};function tS(t,e,n=!0){return typeof e=="number"?as(t,e,n):typeof e=="string"&&e in p?as(t,p[e],n):e&&e instanceof F?as(t,Sm(e),n):e?.type&&e.type instanceof F?as(t,Sm(e.type),n):as(t,p.NONE,n)}function as(t,e,n=!0){let r=null;switch(e){case p.Null:r=t.visitNull;break;case p.Bool:r=t.visitBool;break;case p.Int:r=t.visitInt;break;case p.Int8:r=t.visitInt8||t.visitInt;break;case p.Int16:r=t.visitInt16||t.visitInt;break;case p.Int32:r=t.visitInt32||t.visitInt;break;case p.Int64:r=t.visitInt64||t.visitInt;break;case p.Uint8:r=t.visitUint8||t.visitInt;break;case p.Uint16:r=t.visitUint16||t.visitInt;break;case p.Uint32:r=t.visitUint32||t.visitInt;break;case p.Uint64:r=t.visitUint64||t.visitInt;break;case p.Float:r=t.visitFloat;break;case p.Float16:r=t.visitFloat16||t.visitFloat;break;case p.Float32:r=t.visitFloat32||t.visitFloat;break;case p.Float64:r=t.visitFloat64||t.visitFloat;break;case p.Utf8:r=t.visitUtf8;break;case p.LargeUtf8:r=t.visitLargeUtf8;break;case p.Binary:r=t.visitBinary;break;case p.LargeBinary:r=t.visitLargeBinary;break;case p.FixedSizeBinary:r=t.visitFixedSizeBinary;break;case p.Date:r=t.visitDate;break;case p.DateDay:r=t.visitDateDay||t.visitDate;break;case p.DateMillisecond:r=t.visitDateMillisecond||t.visitDate;break;case p.Timestamp:r=t.visitTimestamp;break;case p.TimestampSecond:r=t.visitTimestampSecond||t.visitTimestamp;break;case p.TimestampMillisecond:r=t.visitTimestampMillisecond||t.visitTimestamp;break;case p.TimestampMicrosecond:r=t.visitTimestampMicrosecond||t.visitTimestamp;break;case p.TimestampNanosecond:r=t.visitTimestampNanosecond||t.visitTimestamp;break;case p.Time:r=t.visitTime;break;case p.TimeSecond:r=t.visitTimeSecond||t.visitTime;break;case p.TimeMillisecond:r=t.visitTimeMillisecond||t.visitTime;break;case p.TimeMicrosecond:r=t.visitTimeMicrosecond||t.visitTime;break;case p.TimeNanosecond:r=t.visitTimeNanosecond||t.visitTime;break;case p.Decimal:r=t.visitDecimal;break;case p.List:r=t.visitList;break;case p.Struct:r=t.visitStruct;break;case p.Union:r=t.visitUnion;break;case p.DenseUnion:r=t.visitDenseUnion||t.visitUnion;break;case p.SparseUnion:r=t.visitSparseUnion||t.visitUnion;break;case p.Dictionary:r=t.visitDictionary;break;case p.Interval:r=t.visitInterval;break;case p.IntervalDayTime:r=t.visitIntervalDayTime||t.visitInterval;break;case p.IntervalYearMonth:r=t.visitIntervalYearMonth||t.visitInterval;break;case p.Duration:r=t.visitDuration;break;case p.DurationSecond:r=t.visitDurationSecond||t.visitDuration;break;case p.DurationMillisecond:r=t.visitDurationMillisecond||t.visitDuration;break;case p.DurationMicrosecond:r=t.visitDurationMicrosecond||t.visitDuration;break;case p.DurationNanosecond:r=t.visitDurationNanosecond||t.visitDuration;break;case p.FixedSizeList:r=t.visitFixedSizeList;break;case p.Map:r=t.visitMap;break}if(typeof r=="function")return r;if(!n)return()=>null;throw new Error(`Unrecognized type '${p[e]}'`)}function Sm(t){switch(t.typeId){case p.Null:return p.Null;case p.Int:{let{bitWidth:e,isSigned:n}=t;switch(e){case 8:return n?p.Int8:p.Uint8;case 16:return n?p.Int16:p.Uint16;case 32:return n?p.Int32:p.Uint32;case 64:return n?p.Int64:p.Uint64}return p.Int}case p.Float:switch(t.precision){case ce.HALF:return p.Float16;case ce.SINGLE:return p.Float32;case ce.DOUBLE:return p.Float64}return p.Float;case p.Binary:return p.Binary;case p.LargeBinary:return p.LargeBinary;case p.Utf8:return p.Utf8;case p.LargeUtf8:return p.LargeUtf8;case p.Bool:return p.Bool;case p.Decimal:return p.Decimal;case p.Time:switch(t.unit){case k.SECOND:return p.TimeSecond;case k.MILLISECOND:return p.TimeMillisecond;case k.MICROSECOND:return p.TimeMicrosecond;case k.NANOSECOND:return p.TimeNanosecond}return p.Time;case p.Timestamp:switch(t.unit){case k.SECOND:return p.TimestampSecond;case k.MILLISECOND:return p.TimestampMillisecond;case k.MICROSECOND:return p.TimestampMicrosecond;case k.NANOSECOND:return p.TimestampNanosecond}return p.Timestamp;case p.Date:switch(t.unit){case Fe.DAY:return p.DateDay;case Fe.MILLISECOND:return p.DateMillisecond}return p.Date;case p.Interval:switch(t.unit){case We.DAY_TIME:return p.IntervalDayTime;case We.YEAR_MONTH:return p.IntervalYearMonth}return p.Interval;case p.Duration:switch(t.unit){case k.SECOND:return p.DurationSecond;case k.MILLISECOND:return p.DurationMillisecond;case k.MICROSECOND:return p.DurationMicrosecond;case k.NANOSECOND:return p.DurationNanosecond}return p.Duration;case p.Map:return p.Map;case p.List:return p.List;case p.Struct:return p.Struct;case p.Union:switch(t.mode){case de.Dense:return p.DenseUnion;case de.Sparse:return p.SparseUnion}return p.Union;case p.FixedSizeBinary:return p.FixedSizeBinary;case p.FixedSizeList:return p.FixedSizeList;case p.Dictionary:return p.Dictionary}throw new Error(`Unrecognized type '${p[t.typeId]}'`)}C.prototype.visitInt8=null;C.prototype.visitInt16=null;C.prototype.visitInt32=null;C.prototype.visitInt64=null;C.prototype.visitUint8=null;C.prototype.visitUint16=null;C.prototype.visitUint32=null;C.prototype.visitUint64=null;C.prototype.visitFloat16=null;C.prototype.visitFloat32=null;C.prototype.visitFloat64=null;C.prototype.visitDateDay=null;C.prototype.visitDateMillisecond=null;C.prototype.visitTimestampSecond=null;C.prototype.visitTimestampMillisecond=null;C.prototype.visitTimestampMicrosecond=null;C.prototype.visitTimestampNanosecond=null;C.prototype.visitTimeSecond=null;C.prototype.visitTimeMillisecond=null;C.prototype.visitTimeMicrosecond=null;C.prototype.visitTimeNanosecond=null;C.prototype.visitDenseUnion=null;C.prototype.visitSparseUnion=null;C.prototype.visitIntervalDayTime=null;C.prototype.visitIntervalYearMonth=null;C.prototype.visitDuration=null;C.prototype.visitDurationSecond=null;C.prototype.visitDurationMillisecond=null;C.prototype.visitDurationMicrosecond=null;C.prototype.visitDurationNanosecond=null;var If={};fi(If,{float64ToUint16:()=>Bo,uint16ToFloat64:()=>wl});var bm=new Float64Array(1),ls=new Uint32Array(bm.buffer);function wl(t){let e=(t&31744)>>10,n=(t&1023)/1024,r=Math.pow(-1,(t&32768)>>15);switch(e){case 31:return r*(n?Number.NaN:1/0);case 0:return r*(n?6103515625e-14*n:0)}return r*Math.pow(2,e-15)*(1+n)}function Bo(t){if(t!==t)return 32256;bm[0]=t;let e=(ls[1]&2147483648)>>16&65535,n=ls[1]&2146435072,r=0;return n>=1089470464?ls[0]>0?n=31744:(n=(n&2080374784)>>16,r=(ls[1]&1048575)>>10):n<=1056964608?(r=1048576+(ls[1]&1048575),r=1048576+(r<<(n>>20)-998)>>21,n=0):(n=n-1056964608>>10,r=(ls[1]&1048575)+512>>10),e|n|r&65535}var z=class extends C{};function H(t){return(e,n,r)=>{if(e.setValid(n,r!=null))return t(e,n,r)}}var nS=(t,e,n)=>{t[e]=Math.floor(n/864e5)},xm=(t,e,n,r)=>{if(n+1{let i=t+n;r?e[i>>3]|=1<>3]&=~(1<{t[e]=n},Bf=({values:t},e,n)=>{t[e]=n},Im=({values:t},e,n)=>{t[e]=Bo(n)},iS=(t,e,n)=>{switch(t.type.precision){case ce.HALF:return Im(t,e,n);case ce.SINGLE:case ce.DOUBLE:return Bf(t,e,n)}},Sl=({values:t},e,n)=>{nS(t,e,n.valueOf())},bl=({values:t},e,n)=>{t[e]=BigInt(n)},Df=({stride:t,values:e},n,r)=>{e.set(r.subarray(0,t),t*n)},Bm=({values:t,valueOffsets:e},n,r)=>xm(t,e,n,r),Dm=({values:t,valueOffsets:e},n,r)=>xm(t,e,n,Tn(r)),Nf=(t,e,n)=>{t.type.unit===Fe.DAY?Sl(t,e,n):bl(t,e,n)},xl=({values:t},e,n)=>{t[e]=BigInt(n/1e3)},Il=({values:t},e,n)=>{t[e]=BigInt(n)},Bl=({values:t},e,n)=>{t[e]=BigInt(n*1e3)},Dl=({values:t},e,n)=>{t[e]=BigInt(n*1e6)},Tf=(t,e,n)=>{switch(t.type.unit){case k.SECOND:return xl(t,e,n);case k.MILLISECOND:return Il(t,e,n);case k.MICROSECOND:return Bl(t,e,n);case k.NANOSECOND:return Dl(t,e,n)}},Nl=({values:t},e,n)=>{t[e]=n},Tl=({values:t},e,n)=>{t[e]=n},Ol=({values:t},e,n)=>{t[e]=n},Fl=({values:t},e,n)=>{t[e]=n},Of=(t,e,n)=>{switch(t.type.unit){case k.SECOND:return Nl(t,e,n);case k.MILLISECOND:return Tl(t,e,n);case k.MICROSECOND:return Ol(t,e,n);case k.NANOSECOND:return Fl(t,e,n)}},Ff=({values:t,stride:e},n,r)=>{t.set(r.subarray(0,e),e*n)},sS=(t,e,n)=>{let r=t.children[0],i=t.valueOffsets,s=Xe.getVisitFn(r);if(Array.isArray(n))for(let o=-1,a=i[e],l=i[e+1];a{let r=t.children[0],{valueOffsets:i}=t,s=Xe.getVisitFn(r),{[e]:o,[e+1]:a}=i,l=n instanceof Map?n.entries():Object.entries(n);for(let u of l)if(s(r,o,u),++o>=a)break},aS=(t,e)=>(n,r,i,s)=>r&&n(r,t,e[s]),lS=(t,e)=>(n,r,i,s)=>r&&n(r,t,e.get(s)),uS=(t,e)=>(n,r,i,s)=>r&&n(r,t,e.get(i.name)),cS=(t,e)=>(n,r,i,s)=>r&&n(r,t,e[i.name]),fS=(t,e,n)=>{let r=t.type.children.map(s=>Xe.getVisitFn(s.type)),i=n instanceof Map?uS(e,n):n instanceof ee?lS(e,n):Array.isArray(n)?aS(e,n):cS(e,n);t.type.children.forEach((s,o)=>i(r[o],t.children[o],s,o))},dS=(t,e,n)=>{t.type.mode===de.Dense?Nm(t,e,n):Tm(t,e,n)},Nm=(t,e,n)=>{let r=t.type.typeIdToChildIndex[t.typeIds[e]],i=t.children[r];Xe.visit(i,t.valueOffsets[e],n)},Tm=(t,e,n)=>{let r=t.type.typeIdToChildIndex[t.typeIds[e]],i=t.children[r];Xe.visit(i,e,n)},hS=(t,e,n)=>{var r;(r=t.dictionary)===null||r===void 0||r.set(t.values[e],n)},Ef=(t,e,n)=>{t.type.unit===We.DAY_TIME?El(t,e,n):kl(t,e,n)},El=({values:t},e,n)=>{t.set(n.subarray(0,2),2*e)},kl=({values:t},e,n)=>{t[e]=n[0]*12+n[1]%12},Al=({values:t},e,n)=>{t[e]=n},Ll=({values:t},e,n)=>{t[e]=n},Ml=({values:t},e,n)=>{t[e]=n},Cl=({values:t},e,n)=>{t[e]=n},kf=(t,e,n)=>{switch(t.type.unit){case k.SECOND:return Al(t,e,n);case k.MILLISECOND:return Ll(t,e,n);case k.MICROSECOND:return Ml(t,e,n);case k.NANOSECOND:return Cl(t,e,n)}},pS=(t,e,n)=>{let{stride:r}=t,i=t.children[0],s=Xe.getVisitFn(i);if(Array.isArray(n))for(let o=-1,a=e*r;++o`${fn(e)}: ${fn(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new Af(this[gn],this[us])}},Af=class{constructor(e,n){this.childIndex=0,this.children=e.children,this.rowIndex=n,this.childFields=e.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){let e=this.childIndex;return en.name)}has(e,n){return e[gn].type.children.findIndex(r=>r.name===n)!==-1}getOwnPropertyDescriptor(e,n){if(e[gn].type.children.findIndex(r=>r.name===n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,n){if(Reflect.has(e,n))return e[n];let r=e[gn].type.children.findIndex(i=>i.name===n);if(r!==-1){let i=Le.visit(e[gn].children[r],e[us]);return Reflect.set(e,n,i),i}}set(e,n,r){let i=e[gn].type.children.findIndex(s=>s.name===n);return i!==-1?(Xe.visit(e[gn].children[i],e[us],r),Reflect.set(e,n,r)):Reflect.has(e,n)||typeof n=="symbol"?Reflect.set(e,n,r):!1}};var U=class extends C{};function $(t){return(e,n)=>e.getValid(n)?t(e,n):null}var mS=(t,e)=>864e5*t[e],yS=(t,e)=>null,Om=(t,e,n)=>{if(n+1>=e.length)return null;let r=ne(e[n]),i=ne(e[n+1]);return t.subarray(r,i)},gS=({offset:t,values:e},n)=>{let r=t+n;return(e[r>>3]&1<mS(t,e),Em=({values:t},e)=>ne(t[e]),jr=({stride:t,values:e},n)=>e[t*n],vS=({stride:t,values:e},n)=>wl(e[t*n]),km=({values:t},e)=>t[e],_S=({stride:t,values:e},n)=>e.subarray(t*n,t*(n+1)),Am=({values:t,valueOffsets:e},n)=>Om(t,e,n),Lm=({values:t,valueOffsets:e},n)=>{let r=Om(t,e,n);return r!==null?ao(r):null},wS=({values:t},e)=>t[e],SS=({type:t,values:e},n)=>t.precision!==ce.HALF?e[n]:wl(e[n]),bS=(t,e)=>t.type.unit===Fe.DAY?Fm(t,e):Em(t,e),Mm=({values:t},e)=>1e3*ne(t[e]),Cm=({values:t},e)=>ne(t[e]),Um=({values:t},e)=>wf(t[e],BigInt(1e3)),Rm=({values:t},e)=>wf(t[e],BigInt(1e6)),xS=(t,e)=>{switch(t.type.unit){case k.SECOND:return Mm(t,e);case k.MILLISECOND:return Cm(t,e);case k.MICROSECOND:return Um(t,e);case k.NANOSECOND:return Rm(t,e)}},Pm=({values:t},e)=>t[e],jm=({values:t},e)=>t[e],zm=({values:t},e)=>t[e],Vm=({values:t},e)=>t[e],IS=(t,e)=>{switch(t.type.unit){case k.SECOND:return Pm(t,e);case k.MILLISECOND:return jm(t,e);case k.MICROSECOND:return zm(t,e);case k.NANOSECOND:return Vm(t,e)}},BS=({values:t,stride:e},n)=>Io.decimal(t.subarray(e*n,e*(n+1))),DS=(t,e)=>{let{valueOffsets:n,stride:r,children:i}=t,{[e*r]:s,[e*r+1]:o}=n,l=i[0].slice(s,o-s);return new ee([l])},NS=(t,e)=>{let{valueOffsets:n,children:r}=t,{[e]:i,[e+1]:s}=n,o=r[0];return new Ln(o.slice(i,s-i))},TS=(t,e)=>new Pr(t,e),OS=(t,e)=>t.type.mode===de.Dense?$m(t,e):Wm(t,e),$m=(t,e)=>{let n=t.type.typeIdToChildIndex[t.typeIds[e]],r=t.children[n];return Le.visit(r,t.valueOffsets[e])},Wm=(t,e)=>{let n=t.type.typeIdToChildIndex[t.typeIds[e]],r=t.children[n];return Le.visit(r,e)},FS=(t,e)=>{var n;return(n=t.dictionary)===null||n===void 0?void 0:n.get(t.values[e])},ES=(t,e)=>t.type.unit===We.DAY_TIME?Hm(t,e):Ym(t,e),Hm=({values:t},e)=>t.subarray(2*e,2*(e+1)),Ym=({values:t},e)=>{let n=t[e],r=new Int32Array(2);return r[0]=Math.trunc(n/12),r[1]=Math.trunc(n%12),r},Km=({values:t},e)=>t[e],Qm=({values:t},e)=>t[e],Gm=({values:t},e)=>t[e],Xm=({values:t},e)=>t[e],kS=(t,e)=>{switch(t.type.unit){case k.SECOND:return Km(t,e);case k.MILLISECOND:return Qm(t,e);case k.MICROSECOND:return Gm(t,e);case k.NANOSECOND:return Xm(t,e)}},AS=(t,e)=>{let{stride:n,children:r}=t,s=r[0].slice(e*n,n);return new ee([s])};U.prototype.visitNull=$(yS);U.prototype.visitBool=$(gS);U.prototype.visitInt=$(wS);U.prototype.visitInt8=$(jr);U.prototype.visitInt16=$(jr);U.prototype.visitInt32=$(jr);U.prototype.visitInt64=$(km);U.prototype.visitUint8=$(jr);U.prototype.visitUint16=$(jr);U.prototype.visitUint32=$(jr);U.prototype.visitUint64=$(km);U.prototype.visitFloat=$(SS);U.prototype.visitFloat16=$(vS);U.prototype.visitFloat32=$(jr);U.prototype.visitFloat64=$(jr);U.prototype.visitUtf8=$(Lm);U.prototype.visitLargeUtf8=$(Lm);U.prototype.visitBinary=$(Am);U.prototype.visitLargeBinary=$(Am);U.prototype.visitFixedSizeBinary=$(_S);U.prototype.visitDate=$(bS);U.prototype.visitDateDay=$(Fm);U.prototype.visitDateMillisecond=$(Em);U.prototype.visitTimestamp=$(xS);U.prototype.visitTimestampSecond=$(Mm);U.prototype.visitTimestampMillisecond=$(Cm);U.prototype.visitTimestampMicrosecond=$(Um);U.prototype.visitTimestampNanosecond=$(Rm);U.prototype.visitTime=$(IS);U.prototype.visitTimeSecond=$(Pm);U.prototype.visitTimeMillisecond=$(jm);U.prototype.visitTimeMicrosecond=$(zm);U.prototype.visitTimeNanosecond=$(Vm);U.prototype.visitDecimal=$(BS);U.prototype.visitList=$(DS);U.prototype.visitStruct=$(TS);U.prototype.visitUnion=$(OS);U.prototype.visitDenseUnion=$($m);U.prototype.visitSparseUnion=$(Wm);U.prototype.visitDictionary=$(FS);U.prototype.visitInterval=$(ES);U.prototype.visitIntervalDayTime=$(Hm);U.prototype.visitIntervalYearMonth=$(Ym);U.prototype.visitDuration=$(kS);U.prototype.visitDurationSecond=$(Km);U.prototype.visitDurationMillisecond=$(Qm);U.prototype.visitDurationMicrosecond=$(Gm);U.prototype.visitDurationNanosecond=$(Xm);U.prototype.visitFixedSizeList=$(AS);U.prototype.visitMap=$(NS);var Le=new U;var zr=Symbol.for("keys"),fs=Symbol.for("vals"),cs=Symbol.for("kKeysAsStrings"),Mf=Symbol.for("_kKeysAsStrings"),Ln=class{constructor(e){return this[zr]=new ee([e.children[0]]).memoize(),this[fs]=e.children[1],new Proxy(this,new Uf)}get[cs](){return this[Mf]||(this[Mf]=Array.from(this[zr].toArray(),String))}[Symbol.iterator](){return new Cf(this[zr],this[fs])}get size(){return this[zr].length}toArray(){return Object.values(this.toJSON())}toJSON(){let e=this[zr],n=this[fs],r={};for(let i=-1,s=e.length;++i`${fn(e)}: ${fn(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}},Cf=class{constructor(e,n){this.keys=e,this.vals=n,this.keyIndex=0,this.numKeys=e.length}[Symbol.iterator](){return this}next(){let e=this.keyIndex;return e===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(e),Le.visit(this.vals,e)]})}},Uf=class{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(e){return e[cs]}has(e,n){return e[cs].includes(n)}getOwnPropertyDescriptor(e,n){if(e[cs].indexOf(n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,n){if(Reflect.has(e,n))return e[n];let r=e[cs].indexOf(n);if(r!==-1){let i=Le.visit(Reflect.get(e,fs),r);return Reflect.set(e,n,i),i}}set(e,n,r){let i=e[cs].indexOf(n);return i!==-1?(Xe.visit(Reflect.get(e,fs),i,r),Reflect.set(e,n,r)):Reflect.has(e,n)?Reflect.set(e,n,r):!1}};Object.defineProperties(Ln.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[zr]:{writable:!0,enumerable:!1,configurable:!1,value:null},[fs]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Mf]:{writable:!0,enumerable:!1,configurable:!1,value:null}});var Zm;function Do(t,e,n,r){let{length:i=0}=t,s=typeof e!="number"?0:e,o=typeof n!="number"?i:n;return s<0&&(s=(s%i+i)%i),o<0&&(o=(o%i+i)%i),oi&&(o=i),r?r(t,s,o):[s,o]}var pi=(t,e)=>t<0?e+t:t,Jm=t=>t!==t;function Vr(t){if(typeof t!=="object"||t===null)return Jm(t)?Jm:n=>n===t;if(t instanceof Date){let n=t.valueOf();return r=>r instanceof Date?r.valueOf()===n:!1}return ArrayBuffer.isView(t)?n=>n?mf(t,n):!1:t instanceof Map?MS(t):Array.isArray(t)?LS(t):t instanceof ee?CS(t):US(t,!0)}function LS(t){let e=[];for(let n=-1,r=t.length;++n!1;let r=[];for(let i=-1,s=n.length;++i{if(!n||typeof n!="object")return!1;switch(n.constructor){case Array:return RS(t,n);case Map:return qm(t,n,n.keys());case Ln:case Pr:case Object:case void 0:return qm(t,n,e||Object.keys(n))}return n instanceof ee?PS(t,n):!1}}function RS(t,e){let n=t.length;if(e.length!==n)return!1;for(let r=-1;++rmi,getBit:()=>ey,getBool:()=>Pl,packBools:()=>gi,popcnt_array:()=>ty,popcnt_bit_range:()=>No,popcnt_uint32:()=>Rl,setBool:()=>jS,truncateBitmap:()=>yi});function Pl(t,e,n,r){return(n&1<>r}function jS(t,e,n){return n?!!(t[e>>3]|=1<>3]&=~(1<0||n.byteLength>3):gi(new mi(n,t,e,null,Pl)).subarray(0,r)),i}return n}function gi(t){let e=[],n=0,r=0,i=0;for(let o of t)o&&(i|=1<0)&&(e[n++]=i);let s=new Uint8Array(e.length+7&-8);return s.set(e),s}var mi=class{constructor(e,n,r,i,s){this.bytes=e,this.length=r,this.context=i,this.get=s,this.bit=n%8,this.byteIndex=n>>3,this.byte=e[this.byteIndex++],this.index=0}next(){return this.index>3<<3,i=e+(e%8===0?0:8-e%8);return No(t,e,i)+No(t,r,n)+ty(t,i>>3,r-i>>3)}function ty(t,e,n){let r=0,i=Math.trunc(e),s=new DataView(t.buffer,t.byteOffset,t.byteLength),o=n===void 0?t.byteLength:i+n;for(;o-i>=4;)r+=Rl(s.getUint32(i)),i+=4;for(;o-i>=2;)r+=Rl(s.getUint16(i)),i+=2;for(;o-i>=1;)r+=Rl(s.getUint8(i)),i+=1;return r}function Rl(t){let e=Math.trunc(t);return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24}var zS=-1,se=class t{get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){let{type:e}=this;return F.isSparseUnion(e)?this.children.some(n=>n.nullable):F.isDenseUnion(e)?this.children.some(n=>n.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let e=0,{valueOffsets:n,values:r,nullBitmap:i,typeIds:s}=this;return n&&(e+=n.byteLength),r&&(e+=r.byteLength),i&&(e+=i.byteLength),s&&(e+=s.byteLength),this.children.reduce((o,a)=>o+a.byteLength,e)}get nullCount(){if(F.isUnion(this.type))return this.children.reduce((r,i)=>r+i.nullCount,0);let e=this._nullCount,n;return e<=zS&&(n=this.nullBitmap)&&(this._nullCount=e=n.length===0?0:this.length-No(n,this.offset,this.offset+this.length)),e}constructor(e,n,r,i,s,o=[],a){this.type=e,this.children=o,this.dictionary=a,this.offset=Math.floor(Math.max(n||0,0)),this.length=Math.floor(Math.max(r||0,0)),this._nullCount=Math.floor(Math.max(i||0,-1));let l;s instanceof t?(this.stride=s.stride,this.values=s.values,this.typeIds=s.typeIds,this.nullBitmap=s.nullBitmap,this.valueOffsets=s.valueOffsets):(this.stride=Lt(e),s&&((l=s[0])&&(this.valueOffsets=l),(l=s[1])&&(this.values=l),(l=s[2])&&(this.nullBitmap=l),(l=s[3])&&(this.typeIds=l)))}getValid(e){let{type:n}=this;if(F.isUnion(n)){let r=n,i=this.children[r.typeIdToChildIndex[this.typeIds[e]]],s=r.mode===de.Dense?this.valueOffsets[e]:e;return i.getValid(s)}if(this.nullable&&this.nullCount>0){let r=this.offset+e;return(this.nullBitmap[r>>3]&1<>3;(!s||s.byteLength<=c)&&(s=new Uint8Array((o+a+63&-64)>>3).fill(255),this.nullCount>0?(s.set(yi(o,a,this.nullBitmap),0),Object.assign(this,{nullBitmap:s})):Object.assign(this,{nullBitmap:s,_nullCount:0}));let d=s[c];r=(d&u)!==0,s[c]=n?d|u:d&~u}return r!==!!n&&(this._nullCount=this.nullCount+(n?-1:1)),n}clone(e=this.type,n=this.offset,r=this.length,i=this._nullCount,s=this,o=this.children){return new t(e,n,r,i,s,o,this.dictionary)}slice(e,n){let{stride:r,typeId:i,children:s}=this,o=+(this._nullCount===0)-1,a=i===16?r:1,l=this._sliceBuffers(e,n,r,i);return this.clone(this.type,this.offset+e,n,o,l,s.length===0||this.valueOffsets?s:this._sliceChildren(s,a*e,a*n))}_changeLengthAndBackfillNullBitmap(e){if(this.typeId===p.Null)return this.clone(this.type,0,e,0);let{length:n,nullCount:r}=this,i=new Uint8Array((e+63&-64)>>3).fill(255,0,n>>3);i[n>>3]=(1<0&&i.set(yi(this.offset,n,this.nullBitmap),0);let s=this.buffers;return s[cn.VALIDITY]=i,this.clone(this.type,0,e,r+(e-n),s)}_sliceBuffers(e,n,r,i){let s,{buffers:o}=this;return(s=o[cn.TYPE])&&(o[cn.TYPE]=s.subarray(e,e+n)),(s=o[cn.OFFSET])&&(o[cn.OFFSET]=s.subarray(e,e+n+1))||(s=o[cn.DATA])&&(o[cn.DATA]=i===6?s:s.subarray(r*e,r*(e+n))),o}_sliceChildren(e,n,r){return e.map(i=>i.slice(n,r))}};se.prototype.children=Object.freeze([]);var jf=class t extends C{visit(e){return this.getVisitFn(e.type).call(this,e)}visitNull(e){let{["type"]:n,["offset"]:r=0,["length"]:i=0}=e;return new se(n,r,i,i)}visitBool(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length>>3,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitInt(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitFloat(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitUtf8(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.data),s=V(e.nullBitmap),o=di(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[o,i,s])}visitLargeUtf8(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.data),s=V(e.nullBitmap),o=rl(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[o,i,s])}visitBinary(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.data),s=V(e.nullBitmap),o=di(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[o,i,s])}visitLargeBinary(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.data),s=V(e.nullBitmap),o=rl(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[o,i,s])}visitFixedSizeBinary(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitDate(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitTimestamp(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitTime(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitDecimal(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitList(e){let{["type"]:n,["offset"]:r=0,["child"]:i}=e,s=V(e.nullBitmap),o=di(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[o,void 0,s],[i])}visitStruct(e){let{["type"]:n,["offset"]:r=0,["children"]:i=[]}=e,s=V(e.nullBitmap),{length:o=i.reduce((l,{length:u})=>Math.max(l,u),0),nullCount:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,void 0,s],i)}visitUnion(e){let{["type"]:n,["offset"]:r=0,["children"]:i=[]}=e,s=Z(n.ArrayType,e.typeIds),{["length"]:o=s.length,["nullCount"]:a=-1}=e;if(F.isSparseUnion(n))return new se(n,r,o,a,[void 0,void 0,void 0,s],i);let l=di(e.valueOffsets);return new se(n,r,o,a,[l,void 0,void 0,s],i)}visitDictionary(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.indices.ArrayType,e.data),{["dictionary"]:o=new ee([new t().visit({type:n.dictionary})])}=e,{["length"]:a=s.length,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[void 0,s,i],[],o)}visitInterval(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitDuration(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitFixedSizeList(e){let{["type"]:n,["offset"]:r=0,["child"]:i=new t().visit({type:n.valueType})}=e,s=V(e.nullBitmap),{["length"]:o=i.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,void 0,s],[i])}visitMap(e){let{["type"]:n,["offset"]:r=0,["child"]:i=new t().visit({type:n.childType})}=e,s=V(e.nullBitmap),o=di(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[o,void 0,s],[i])}},VS=new jf;function Q(t){return VS.visit(t)}var To=class{constructor(e=0,n){this.numChunks=e,this.getChunkIterator=n,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndexe.nullable)}function jl(t){return t.reduce((e,n)=>e+n.nullCount,0)}function zl(t){return t.reduce((e,n,r)=>(e[r+1]=e[r]+n.length,e),new Uint32Array(t.length+1))}function Vl(t,e,n,r){let i=[];for(let s=-1,o=t.length;++s=r)break;if(n>=l+u)continue;if(l>=n&&l+u<=r){i.push(a);continue}let c=Math.max(0,n-l),d=Math.min(r-l,u);i.push(a.slice(c,d-c))}return i.length===0&&i.push(t[0].slice(0,0)),i}function zf(t,e,n,r){let i=0,s=0,o=e.length-1;do{if(i>=o-1)return n0?0:-1}function WS(t,e){let{nullBitmap:n}=t;if(!n||t.nullCount<=0)return-1;let r=0;for(let i of new mi(n,t.offset+(e||0),t.length,n,Pl)){if(!i)return r;++r}return-1}function G(t,e,n){if(e===void 0)return-1;if(e===null)switch(t.typeId){case p.Union:break;case p.Dictionary:break;default:return WS(t,n)}let r=Le.getVisitFn(t),i=Vr(e);for(let s=(n||0)-1,o=t.length;++s{let i=t.data[r];return i.values.subarray(0,i.length)[Symbol.iterator]()});let n=0;return new To(t.data.length,r=>{let s=t.data[r].length,o=t.slice(n,n+s);return n+=s,new Vf(o)})}var Vf=class{constructor(e){this.vector=e,this.index=0}next(){return this.indexa.data):e;if(s.length===0||s.some(a=>!(a instanceof se)))throw new TypeError("Vector constructor expects an Array of Data instances.");let o=(n=s[0])===null||n===void 0?void 0:n.type;switch(s.length){case 0:this._offsets=[0];break;case 1:{let{get:a,set:l,indexOf:u}=sy[o.typeId],c=s[0];this.isValid=d=>Oo(c,d),this.get=d=>a(c,d),this.set=(d,y)=>l(c,d,y),this.indexOf=d=>u(c,d),this._offsets=[0,c.length];break}default:Object.setPrototypeOf(this,oy[o.typeId]),this._offsets=zl(s);break}this.data=s,this.type=o,this.stride=Lt(o),this.numChildren=(i=(r=o.children)===null||r===void 0?void 0:r.length)!==null&&i!==void 0?i:0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((e,n)=>e+n.byteLength,0)}get nullable(){return ny(this.data)}get nullCount(){return jl(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${p[this.type.typeId]}Vector`}isValid(e){return!1}get(e){return null}at(e){return this.get(pi(e,this.length))}set(e,n){}indexOf(e,n){return-1}includes(e,n){return this.indexOf(e,n)>-1}[Symbol.iterator](){return hs.visit(this)}concat(...e){return new t(this.data.concat(e.flatMap(n=>n.data).flat(Number.POSITIVE_INFINITY)))}slice(e,n){return new t(Do(this,e,n,({data:r,_offsets:i},s,o)=>Vl(r,i,s,o)))}toJSON(){return[...this]}toArray(){let{type:e,data:n,length:r,stride:i,ArrayType:s}=this;switch(e.typeId){case p.Int:case p.Float:case p.Decimal:case p.Time:case p.Timestamp:switch(n.length){case 0:return new s;case 1:return n[0].values.subarray(0,r*i);default:return n.reduce((o,{values:a,length:l})=>(o.array.set(a.subarray(0,l*i),o.offset),o.offset+=l*i,o),{array:new s(r*i),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(e){var n;return this.getChildAt((n=this.type.children)===null||n===void 0?void 0:n.findIndex(r=>r.name===e))}getChildAt(e){return e>-1&&en[e])):null}get isMemoized(){return F.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(F.isDictionary(this.type)){let e=new Hl(this.data[0].dictionary),n=this.data.map(r=>{let i=r.clone();return i.dictionary=e,i});return new t(n)}return new Hl(this)}unmemoize(){if(F.isDictionary(this.type)&&this.isMemoized){let e=this.data[0].dictionary.unmemoize(),n=this.data.map(r=>{let i=r.clone();return i.dictionary=e,i});return new t(n)}return this}};iy=Symbol.toStringTag;ee[iy]=(t=>{t.type=F.prototype,t.data=[],t.length=0,t.stride=1,t.numChildren=0,t._offsets=new Uint32Array([0]),t[Symbol.isConcatSpreadable]=!0;let e=Object.keys(p).map(n=>p[n]).filter(n=>typeof n=="number"&&n!==p.NONE);for(let n of e){let r=Le.getVisitFnByTypeId(n),i=Xe.getVisitFnByTypeId(n),s=vi.getVisitFnByTypeId(n);sy[n]={get:r,set:i,indexOf:s},oy[n]=Object.create(t,{isValid:{value:ds(Oo)},get:{value:ds(Le.getVisitFnByTypeId(n))},set:{value:$l(Xe.getVisitFnByTypeId(n))},indexOf:{value:Wl(vi.getVisitFnByTypeId(n))}})}return"Vector"})(ee.prototype);var Hl=class t extends ee{constructor(e){super(e.data);let n=this.get,r=this.set,i=this.slice,s=new Array(this.length);Object.defineProperty(this,"get",{value(o){let a=s[o];if(a!==void 0)return a;let l=n.call(this,o);return s[o]=l,l}}),Object.defineProperty(this,"set",{value(o,a){r.call(this,o,a),s[o]=a}}),Object.defineProperty(this,"slice",{value:(o,a)=>new t(i.call(this,o,a))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new ee(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}};function ay(t){if(!t||t.length<=0)return function(i){return!0};let e="",n=t.filter(r=>r===r);return n.length>0&&(e=` +var _w=Object.defineProperty;var fi=(t,e)=>{for(var n in e)_w(t,n,{get:e[n],enumerable:!0})};function Yp(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function X(t){return this instanceof X?(this.v=t,this):new X(t)}function Tt(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),i,s=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",o),i[Symbol.asyncIterator]=function(){return this},i;function o(v){return function(S){return Promise.resolve(S).then(v,d)}}function a(v,S){r[v]&&(i[v]=function(I){return new Promise(function(Y,h){s.push([v,I,Y,h])>1||l(v,I)})},S&&(i[v]=S(i[v])))}function l(v,S){try{u(r[v](S))}catch(I){y(s[0][3],I)}}function u(v){v.value instanceof X?Promise.resolve(v.value.v).then(c,d):y(s[0][2],v)}function c(v){l("next",v)}function d(v){l("throw",v)}function y(v,S){v(S),s.shift(),s.length&&l(s[0][0],s[0][1])}}function es(t){var e,n;return e={},r("next"),r("throw",function(i){throw i}),r("return"),e[Symbol.iterator]=function(){return this},e;function r(i,s){e[i]=t[i]?function(o){return(n=!n)?{value:X(t[i](o)),done:!1}:s?s(o):o}:s}}function rn(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof Hp=="function"?Hp(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=t[s]&&function(o){return new Promise(function(a,l){o=t[s](o),i(a,l,o.done,o.value)})}}function i(s,o,a,l){Promise.resolve(l).then(function(u){s({value:u,done:a})},o)}}var yf={};fi(yf,{compareArrayLike:()=>mf,joinUint8Arrays:()=>Ft,memcpy:()=>uo,rebaseValueOffsets:()=>il,toArrayBufferView:()=>Z,toArrayBufferViewAsyncIterator:()=>on,toArrayBufferViewIterator:()=>On,toBigInt64Array:()=>rl,toBigUint64Array:()=>Tw,toFloat32Array:()=>Ow,toFloat32ArrayAsyncIterator:()=>Hw,toFloat32ArrayIterator:()=>Uw,toFloat64Array:()=>Fw,toFloat64ArrayAsyncIterator:()=>Yw,toFloat64ArrayIterator:()=>Rw,toInt16Array:()=>Bw,toInt16ArrayAsyncIterator:()=>zw,toInt16ArrayIterator:()=>Aw,toInt32Array:()=>di,toInt32ArrayAsyncIterator:()=>Vw,toInt32ArrayIterator:()=>Lw,toInt8Array:()=>Iw,toInt8ArrayAsyncIterator:()=>jw,toInt8ArrayIterator:()=>kw,toUint16Array:()=>Dw,toUint16ArrayAsyncIterator:()=>$w,toUint16ArrayIterator:()=>Mw,toUint32Array:()=>Nw,toUint32ArrayAsyncIterator:()=>Ww,toUint32ArrayIterator:()=>Cw,toUint8Array:()=>V,toUint8ArrayAsyncIterator:()=>pf,toUint8ArrayIterator:()=>hf,toUint8ClampedArray:()=>Ew,toUint8ClampedArrayAsyncIterator:()=>Kw,toUint8ClampedArrayIterator:()=>Pw});var ww=new TextDecoder("utf-8"),ao=t=>ww.decode(t),Sw=new TextEncoder,Tn=t=>Sw.encode(t);var bw=t=>typeof t=="number",Kp=t=>typeof t=="boolean",Ue=t=>typeof t=="function",ct=t=>t!=null&&Object(t)===t,Ot=t=>ct(t)&&Ue(t.then);var sn=t=>ct(t)&&Ue(t[Symbol.iterator]),$t=t=>ct(t)&&Ue(t[Symbol.asyncIterator]),Za=t=>ct(t)&&ct(t.schema);var Ja=t=>ct(t)&&"done"in t&&"value"in t;var qa=t=>ct(t)&&Ue(t.stat)&&bw(t.fd);var el=t=>ct(t)&&lo(t.body),tl=t=>"_getDOMStream"in t&&"_getNodeStream"in t,Qp=t=>ct(t)&&Ue(t.abort)&&Ue(t.getWriter)&&!tl(t),lo=t=>ct(t)&&Ue(t.cancel)&&Ue(t.getReader)&&!tl(t),Gp=t=>ct(t)&&Ue(t.end)&&Ue(t.write)&&Kp(t.writable)&&!tl(t),nl=t=>ct(t)&&Ue(t.read)&&Ue(t.pipe)&&Kp(t.readable)&&!tl(t),Xp=t=>ct(t)&&Ue(t.clear)&&Ue(t.bytes)&&Ue(t.position)&&Ue(t.setPosition)&&Ue(t.capacity)&&Ue(t.getBufferIdentifier)&&Ue(t.createLong);var df=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;function xw(t){let e=t[0]?[t[0]]:[],n,r,i,s;for(let o,a,l=0,u=0,c=t.length;++lc+d.byteLength,0),i,s,o,a=0,l=-1,u=Math.min(e||Number.POSITIVE_INFINITY,r);for(let c=n.length;++lZ(Int8Array,t),Bw=t=>Z(Int16Array,t),di=t=>Z(Int32Array,t),rl=t=>Z(BigInt64Array,t),V=t=>Z(Uint8Array,t),Dw=t=>Z(Uint16Array,t),Nw=t=>Z(Uint32Array,t),Tw=t=>Z(BigUint64Array,t),Ow=t=>Z(Float32Array,t),Fw=t=>Z(Float64Array,t),Ew=t=>Z(Uint8ClampedArray,t),ff=t=>(t.next(),t);function*On(t,e){let n=function*(i){yield i},r=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof df?n(e):sn(e)?e:n(e);return yield*ff((function*(i){let s=null;do s=i.next(yield Z(t,s));while(!s.done)})(r[Symbol.iterator]())),new t}var kw=t=>On(Int8Array,t),Aw=t=>On(Int16Array,t),Lw=t=>On(Int32Array,t),hf=t=>On(Uint8Array,t),Mw=t=>On(Uint16Array,t),Cw=t=>On(Uint32Array,t),Uw=t=>On(Float32Array,t),Rw=t=>On(Float64Array,t),Pw=t=>On(Uint8ClampedArray,t);function on(t,e){return Tt(this,arguments,function*(){if(Ot(e))return yield X(yield X(yield*es(rn(on(t,yield X(e))))));let r=function(o){return Tt(this,arguments,function*(){yield yield X(yield X(o))})},i=function(o){return Tt(this,arguments,function*(){yield X(yield*es(rn(ff((function*(a){let l=null;do l=a.next(yield l?.value);while(!l.done)})(o[Symbol.iterator]())))))})},s=typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof df?r(e):sn(e)?i(e):$t(e)?e:r(e);return yield X(yield*es(rn(ff((function(o){return Tt(this,arguments,function*(){let a=null;do a=yield X(o.next(yield yield X(Z(t,a))));while(!a.done)})})(s[Symbol.asyncIterator]()))))),yield X(new t)})}var jw=t=>on(Int8Array,t),zw=t=>on(Int16Array,t),Vw=t=>on(Int32Array,t),pf=t=>on(Uint8Array,t),$w=t=>on(Uint16Array,t),Ww=t=>on(Uint32Array,t),Hw=t=>on(Float32Array,t),Yw=t=>on(Float64Array,t),Kw=t=>on(Uint8ClampedArray,t);function il(t,e,n){if(t!==0){n=n.slice(0,e);for(let r=-1,i=n.length;++r0)do if(t[n]!==e[n])return!1;while(++n(t.next(),t);function*Qw(t){let e,n=!1,r=[],i,s,o,a=0;function l(){return s==="peek"?Ft(r,o)[0]:([i,r,a]=Ft(r,o),i)}({cmd:s,size:o}=(yield null)||{cmd:"read",size:0});let u=hf(t)[Symbol.iterator]();try{do if({done:e,value:i}=Number.isNaN(o-a)?u.next():u.next(o-a),!e&&i.byteLength>0&&(r.push(i),a+=i.byteLength),e||o<=a)do({cmd:s,size:o}=yield l());while(o0&&(i.push(s),l+=s.byteLength),n||a<=l)do({cmd:o,size:a}=yield yield X(u()));while(a0&&(i.push(V(s)),l+=s.byteLength),n||a<=l)do({cmd:o,size:a}=yield yield X(u()));while(a{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(e){return O(this,void 0,void 0,function*(){let{reader:n,source:r}=this;n&&(yield n.cancel(e).catch(()=>{})),r&&r.locked&&this.releaseLock()})}read(e){return O(this,void 0,void 0,function*(){if(e===0)return{done:this.reader==null,value:new Uint8Array(0)};let n=yield this.reader.read();return!n.done&&(n.value=V(n)),n})}},gf=(t,e)=>{let n=i=>r([e,i]),r;return[e,n,new Promise(i=>(r=i)&&t.once(e,n))]};function Zw(t){return Tt(this,arguments,function*(){let n=[],r="error",i=!1,s=null,o,a,l=0,u=[],c;function d(){return o==="peek"?Ft(u,a)[0]:([c,u,l]=Ft(u,a),c)}if({cmd:o,size:a}=(yield yield X(null))||{cmd:"read",size:0},t.isTTY)return yield yield X(new Uint8Array(0)),yield X(null);try{n[0]=gf(t,"end"),n[1]=gf(t,"error");do{if(n[2]=gf(t,"readable"),[r,s]=yield X(Promise.race(n.map(v=>v[2]))),r==="error")break;if((i=r==="end")||(Number.isFinite(a-l)?(c=V(t.read(a-l)),c.byteLength0&&(u.push(c),l+=c.byteLength)),i||a<=l)do({cmd:o,size:a}=yield yield X(d()));while(a{for(let[h,f]of v)t.off(h,f);try{let h=t.destroy;h&&h.call(t,S),S=void 0}catch(h){S=h||S}finally{S!=null?Y(S):I()}})}})}var le;(function(t){t[t.V1=0]="V1",t[t.V2=1]="V2",t[t.V3=2]="V3",t[t.V4=3]="V4",t[t.V5=4]="V5"})(le||(le={}));var de;(function(t){t[t.Sparse=0]="Sparse",t[t.Dense=1]="Dense"})(de||(de={}));var ce;(function(t){t[t.HALF=0]="HALF",t[t.SINGLE=1]="SINGLE",t[t.DOUBLE=2]="DOUBLE"})(ce||(ce={}));var Fe;(function(t){t[t.DAY=0]="DAY",t[t.MILLISECOND=1]="MILLISECOND"})(Fe||(Fe={}));var k;(function(t){t[t.SECOND=0]="SECOND",t[t.MILLISECOND=1]="MILLISECOND",t[t.MICROSECOND=2]="MICROSECOND",t[t.NANOSECOND=3]="NANOSECOND"})(k||(k={}));var We;(function(t){t[t.YEAR_MONTH=0]="YEAR_MONTH",t[t.DAY_TIME=1]="DAY_TIME",t[t.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(We||(We={}));var Fn=new Int32Array(2),ol=new Float32Array(Fn.buffer),al=new Float64Array(Fn.buffer),ts=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var co;(function(t){t[t.UTF8_BYTES=1]="UTF8_BYTES",t[t.UTF16_STRING=2]="UTF16_STRING"})(co||(co={}));var Et=class t{constructor(e){this.bytes_=e,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(e){return new t(new Uint8Array(e))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(e){this.position_=e}capacity(){return this.bytes_.length}readInt8(e){return this.readUint8(e)<<24>>24}readUint8(e){return this.bytes_[e]}readInt16(e){return this.readUint16(e)<<16>>16}readUint16(e){return this.bytes_[e]|this.bytes_[e+1]<<8}readInt32(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24}readUint32(e){return this.readInt32(e)>>>0}readInt64(e){return BigInt.asIntN(64,BigInt(this.readUint32(e))+(BigInt(this.readUint32(e+4))<>8}writeUint16(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8}writeInt32(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8,this.bytes_[e+2]=n>>16,this.bytes_[e+3]=n>>24}writeUint32(e,n){this.bytes_[e]=n,this.bytes_[e+1]=n>>8,this.bytes_[e+2]=n>>16,this.bytes_[e+3]=n>>24}writeInt64(e,n){this.writeInt32(e,Number(BigInt.asIntN(32,n))),this.writeInt32(e+4,Number(BigInt.asIntN(32,n>>BigInt(32))))}writeUint64(e,n){this.writeUint32(e,Number(BigInt.asUintN(32,n))),this.writeUint32(e+4,Number(BigInt.asUintN(32,n>>BigInt(32))))}writeFloat32(e,n){ol[0]=n,this.writeInt32(e,Fn[0])}writeFloat64(e,n){al[0]=n,this.writeInt32(e,Fn[ts?0:1]),this.writeInt32(e+4,Fn[ts?1:0])}getBufferIdentifier(){if(this.bytes_.lengththis.minalign&&(this.minalign=e);let r=~(this.bb.capacity()-this.space+n)+1&e-1;for(;this.space=0&&this.vtable[n]==0;n--);let r=n+1;for(;n>=0;n--)this.addInt16(this.vtable[n]!=0?e-this.vtable[n]:0);let i=2;this.addInt16(e-this.object_start);let s=(r+i)*2;this.addInt16(s);let o=0,a=this.space;e:for(n=0;n=0;o--)this.writeInt8(s.charCodeAt(o))}this.prep(this.minalign,4+i),this.addOffset(e),i&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(e,n){this.finish(e,n,!0)}requiredField(e,n){let r=this.bb.capacity()-e,i=r-this.bb.readInt32(r);if(!(n=0;r--)e.addInt32(n[r]);return e.endVector()}static startTypeIdsVector(e,n){e.startVector(4,n,4)}static endUnion(e){return e.endObject()}static createUnion(e,n,r){return t.startUnion(e),t.addMode(e,n),t.addTypeIds(e,r),t.endUnion(e)}};var bo=class t{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsUtf8(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsUtf8(e,n){return e.setPosition(e.position()+4),(n||new t).__init(e.readInt32(e.position())+e.position(),e)}static startUtf8(e){e.startObject(0)}static endUtf8(e){return e.endObject()}static createUtf8(e){return t.startUtf8(e),t.endUtf8(e)}};var fe;(function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.FloatingPoint=3]="FloatingPoint",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct_=13]="Struct_",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Duration=18]="Duration",t[t.LargeBinary=19]="LargeBinary",t[t.LargeUtf8=20]="LargeUtf8",t[t.LargeList=21]="LargeList",t[t.RunEndEncoded=22]="RunEndEncoded"})(fe||(fe={}));var nt=class t{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsField(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsField(e,n){return e.setPosition(e.position()+4),(n||new t).__init(e.readInt32(e.position())+e.position(),e)}name(e){let n=this.bb.__offset(this.bb_pos,4);return n?this.bb.__string(this.bb_pos+n,e):null}nullable(){let e=this.bb.__offset(this.bb_pos,6);return e?!!this.bb.readInt8(this.bb_pos+e):!1}typeType(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.readUint8(this.bb_pos+e):fe.NONE}type(e){let n=this.bb.__offset(this.bb_pos,10);return n?this.bb.__union(e,this.bb_pos+n):null}dictionary(e){let n=this.bb.__offset(this.bb_pos,12);return n?(e||new En).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}children(e,n){let r=this.bb.__offset(this.bb_pos,14);return r?(n||new t).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}childrenLength(){let e=this.bb.__offset(this.bb_pos,14);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){let r=this.bb.__offset(this.bb_pos,16);return r?(n||new Re).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){let e=this.bb.__offset(this.bb_pos,16);return e?this.bb.__vector_len(this.bb_pos+e):0}static startField(e){e.startObject(7)}static addName(e,n){e.addFieldOffset(0,n,0)}static addNullable(e,n){e.addFieldInt8(1,+n,0)}static addTypeType(e,n){e.addFieldInt8(2,n,fe.NONE)}static addType(e,n){e.addFieldOffset(3,n,0)}static addDictionary(e,n){e.addFieldOffset(4,n,0)}static addChildren(e,n){e.addFieldOffset(5,n,0)}static createChildrenVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startChildrenVector(e,n){e.startVector(4,n,4)}static addCustomMetadata(e,n){e.addFieldOffset(6,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endField(e){return e.endObject()}};var gt=class t{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsSchema(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsSchema(e,n){return e.setPosition(e.position()+4),(n||new t).__init(e.readInt32(e.position())+e.position(),e)}endianness(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):Er.Little}fields(e,n){let r=this.bb.__offset(this.bb_pos,6);return r?(n||new nt).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}fieldsLength(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){let r=this.bb.__offset(this.bb_pos,8);return r?(n||new Re).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}features(e){let n=this.bb.__offset(this.bb_pos,10);return n?this.bb.readInt64(this.bb.__vector(this.bb_pos+n)+e*8):BigInt(0)}featuresLength(){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}static startSchema(e){e.startObject(4)}static addEndianness(e,n){e.addFieldInt16(0,n,Er.Little)}static addFields(e,n){e.addFieldOffset(1,n,0)}static createFieldsVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startFieldsVector(e,n){e.startVector(4,n,4)}static addCustomMetadata(e,n){e.addFieldOffset(2,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static addFeatures(e,n){e.addFieldOffset(3,n,0)}static createFeaturesVector(e,n){e.startVector(8,n.length,8);for(let r=n.length-1;r>=0;r--)e.addInt64(n[r]);return e.endVector()}static startFeaturesVector(e,n){e.startVector(8,n,8)}static endSchema(e){return e.endObject()}static finishSchemaBuffer(e,n){e.finish(n)}static finishSizePrefixedSchemaBuffer(e,n){e.finish(n,void 0,!0)}static createSchema(e,n,r,i,s){return t.startSchema(e),t.addEndianness(e,n),t.addFields(e,r),t.addCustomMetadata(e,i),t.addFeatures(e,s),t.endSchema(e)}};var q;(function(t){t[t.NONE=0]="NONE",t[t.Schema=1]="Schema",t[t.DictionaryBatch=2]="DictionaryBatch",t[t.RecordBatch=3]="RecordBatch",t[t.Tensor=4]="Tensor",t[t.SparseTensor=5]="SparseTensor"})(q||(q={}));var p;(function(t){t[t.NONE=0]="NONE",t[t.Null=1]="Null",t[t.Int=2]="Int",t[t.Float=3]="Float",t[t.Binary=4]="Binary",t[t.Utf8=5]="Utf8",t[t.Bool=6]="Bool",t[t.Decimal=7]="Decimal",t[t.Date=8]="Date",t[t.Time=9]="Time",t[t.Timestamp=10]="Timestamp",t[t.Interval=11]="Interval",t[t.List=12]="List",t[t.Struct=13]="Struct",t[t.Union=14]="Union",t[t.FixedSizeBinary=15]="FixedSizeBinary",t[t.FixedSizeList=16]="FixedSizeList",t[t.Map=17]="Map",t[t.Duration=18]="Duration",t[t.LargeBinary=19]="LargeBinary",t[t.LargeUtf8=20]="LargeUtf8",t[t.Dictionary=-1]="Dictionary",t[t.Int8=-2]="Int8",t[t.Int16=-3]="Int16",t[t.Int32=-4]="Int32",t[t.Int64=-5]="Int64",t[t.Uint8=-6]="Uint8",t[t.Uint16=-7]="Uint16",t[t.Uint32=-8]="Uint32",t[t.Uint64=-9]="Uint64",t[t.Float16=-10]="Float16",t[t.Float32=-11]="Float32",t[t.Float64=-12]="Float64",t[t.DateDay=-13]="DateDay",t[t.DateMillisecond=-14]="DateMillisecond",t[t.TimestampSecond=-15]="TimestampSecond",t[t.TimestampMillisecond=-16]="TimestampMillisecond",t[t.TimestampMicrosecond=-17]="TimestampMicrosecond",t[t.TimestampNanosecond=-18]="TimestampNanosecond",t[t.TimeSecond=-19]="TimeSecond",t[t.TimeMillisecond=-20]="TimeMillisecond",t[t.TimeMicrosecond=-21]="TimeMicrosecond",t[t.TimeNanosecond=-22]="TimeNanosecond",t[t.DenseUnion=-23]="DenseUnion",t[t.SparseUnion=-24]="SparseUnion",t[t.IntervalDayTime=-25]="IntervalDayTime",t[t.IntervalYearMonth=-26]="IntervalYearMonth",t[t.DurationSecond=-27]="DurationSecond",t[t.DurationMillisecond=-28]="DurationMillisecond",t[t.DurationMicrosecond=-29]="DurationMicrosecond",t[t.DurationNanosecond=-30]="DurationNanosecond"})(p||(p={}));var cn;(function(t){t[t.OFFSET=0]="OFFSET",t[t.DATA=1]="DATA",t[t.VALIDITY=2]="VALIDITY",t[t.TYPE=3]="TYPE"})(cn||(cn={}));var Rf={};fi(Rf,{clampRange:()=>Do,createElementComparator:()=>Vr,wrapIndex:()=>pi});var _f={};fi(_f,{valueToString:()=>fn});function fn(t){if(t===null)return"null";if(t===void 0)return"undefined";switch(typeof t){case"number":return`${t}`;case"bigint":return`${t}`;case"string":return`"${t}"`}return typeof t[Symbol.toPrimitive]=="function"?t[Symbol.toPrimitive]("string"):ArrayBuffer.isView(t)?t instanceof BigInt64Array||t instanceof BigUint64Array?`[${[...t].map(e=>fn(e))}]`:`[${t}]`:ArrayBuffer.isView(t)?`[${t}]`:JSON.stringify(t,(e,n)=>typeof n=="bigint"?`${n}`:n)}var xf={};fi(xf,{BN:()=>Io,bigNumToBigInt:()=>Jp,bigNumToNumber:()=>bf,bigNumToString:()=>os,isArrowBigNumSymbol:()=>Zp});function ne(t){if(typeof t=="bigint"&&(tNumber.MAX_SAFE_INTEGER))throw new TypeError(`${t} is not safe to convert to a number.`);return Number(t)}function wf(t,e){return ne(t/e)+ne(t%e)/ne(e)}var Zp=Symbol.for("isArrowBigNum");function dn(t,...e){return e.length===0?Object.setPrototypeOf(Z(this.TypedArray,t),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(t,...e),this.constructor.prototype)}dn.prototype[Zp]=!0;dn.prototype.toJSON=function(){return`"${os(this)}"`};dn.prototype.valueOf=function(t){return bf(this,t)};dn.prototype.toString=function(){return os(this)};dn.prototype[Symbol.toPrimitive]=function(t="default"){switch(t){case"number":return bf(this);case"string":return os(this);case"default":return Jp(this)}return os(this)};function is(...t){return dn.apply(this,t)}function ss(...t){return dn.apply(this,t)}function xo(...t){return dn.apply(this,t)}Object.setPrototypeOf(is.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(ss.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(xo.prototype,Object.create(Uint32Array.prototype));Object.assign(is.prototype,dn.prototype,{constructor:is,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array});Object.assign(ss.prototype,dn.prototype,{constructor:ss,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array});Object.assign(xo.prototype,dn.prototype,{constructor:xo,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});var Jw=BigInt(4294967296)*BigInt(4294967296),qw=Jw-BigInt(1);function bf(t,e){let{buffer:n,byteOffset:r,byteLength:i,signed:s}=t,o=new BigUint64Array(n,r,i/8),a=s&&o.at(-1)&BigInt(1)<=0)return Sf(t);e=e.slice();let r=1;for(let s=0;s(t.children=null,t.ArrayType=Array,t.OffsetArrayType=Int32Array,t[Symbol.toStringTag]="DataType"))(F.prototype);var ft=class extends F{constructor(){super(p.Null)}toString(){return"Null"}};em=Symbol.toStringTag;ft[em]=(t=>t[Symbol.toStringTag]="Null")(ft.prototype);var Pe=class extends F{constructor(e,n){super(p.Int),this.isSigned=e,this.bitWidth=n}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}};tm=Symbol.toStringTag;Pe[tm]=(t=>(t.isSigned=null,t.bitWidth=null,t[Symbol.toStringTag]="Int"))(Pe.prototype);var cl=class extends Pe{constructor(){super(!0,8)}get ArrayType(){return Int8Array}},fl=class extends Pe{constructor(){super(!0,16)}get ArrayType(){return Int16Array}},An=class extends Pe{constructor(){super(!0,32)}get ArrayType(){return Int32Array}},dl=class extends Pe{constructor(){super(!0,64)}get ArrayType(){return BigInt64Array}},hl=class extends Pe{constructor(){super(!1,8)}get ArrayType(){return Uint8Array}},pl=class extends Pe{constructor(){super(!1,16)}get ArrayType(){return Uint16Array}},ml=class extends Pe{constructor(){super(!1,32)}get ArrayType(){return Uint32Array}},yl=class extends Pe{constructor(){super(!1,64)}get ArrayType(){return BigUint64Array}};Object.defineProperty(cl.prototype,"ArrayType",{value:Int8Array});Object.defineProperty(fl.prototype,"ArrayType",{value:Int16Array});Object.defineProperty(An.prototype,"ArrayType",{value:Int32Array});Object.defineProperty(dl.prototype,"ArrayType",{value:BigInt64Array});Object.defineProperty(hl.prototype,"ArrayType",{value:Uint8Array});Object.defineProperty(pl.prototype,"ArrayType",{value:Uint16Array});Object.defineProperty(ml.prototype,"ArrayType",{value:Uint32Array});Object.defineProperty(yl.prototype,"ArrayType",{value:BigUint64Array});var Ht=class extends F{constructor(e){super(p.Float),this.precision=e}get ArrayType(){switch(this.precision){case ce.HALF:return Uint16Array;case ce.SINGLE:return Float32Array;case ce.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}};nm=Symbol.toStringTag;Ht[nm]=(t=>(t.precision=null,t[Symbol.toStringTag]="Float"))(Ht.prototype);var gl=class extends Ht{constructor(){super(ce.HALF)}},vl=class extends Ht{constructor(){super(ce.SINGLE)}},_l=class extends Ht{constructor(){super(ce.DOUBLE)}};Object.defineProperty(gl.prototype,"ArrayType",{value:Uint16Array});Object.defineProperty(vl.prototype,"ArrayType",{value:Float32Array});Object.defineProperty(_l.prototype,"ArrayType",{value:Float64Array});var Gn=class extends F{constructor(){super(p.Binary)}toString(){return"Binary"}};rm=Symbol.toStringTag;Gn[rm]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Binary"))(Gn.prototype);var Xn=class extends F{constructor(){super(p.LargeBinary)}toString(){return"LargeBinary"}};im=Symbol.toStringTag;Xn[im]=(t=>(t.ArrayType=Uint8Array,t.OffsetArrayType=BigInt64Array,t[Symbol.toStringTag]="LargeBinary"))(Xn.prototype);var Zn=class extends F{constructor(){super(p.Utf8)}toString(){return"Utf8"}};sm=Symbol.toStringTag;Zn[sm]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Utf8"))(Zn.prototype);var Jn=class extends F{constructor(){super(p.LargeUtf8)}toString(){return"LargeUtf8"}};om=Symbol.toStringTag;Jn[om]=(t=>(t.ArrayType=Uint8Array,t.OffsetArrayType=BigInt64Array,t[Symbol.toStringTag]="LargeUtf8"))(Jn.prototype);var qn=class extends F{constructor(){super(p.Bool)}toString(){return"Bool"}};am=Symbol.toStringTag;qn[am]=(t=>(t.ArrayType=Uint8Array,t[Symbol.toStringTag]="Bool"))(qn.prototype);var er=class extends F{constructor(e,n,r=128){super(p.Decimal),this.scale=e,this.precision=n,this.bitWidth=r}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}};lm=Symbol.toStringTag;er[lm]=(t=>(t.scale=null,t.precision=null,t.ArrayType=Uint32Array,t[Symbol.toStringTag]="Decimal"))(er.prototype);var tr=class extends F{constructor(e){super(p.Date),this.unit=e}toString(){return`Date${(this.unit+1)*32}<${Fe[this.unit]}>`}get ArrayType(){return this.unit===Fe.DAY?Int32Array:BigInt64Array}};um=Symbol.toStringTag;tr[um]=(t=>(t.unit=null,t[Symbol.toStringTag]="Date"))(tr.prototype);var nr=class extends F{constructor(e,n){super(p.Time),this.unit=e,this.bitWidth=n}toString(){return`Time${this.bitWidth}<${k[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}};cm=Symbol.toStringTag;nr[cm]=(t=>(t.unit=null,t.bitWidth=null,t[Symbol.toStringTag]="Time"))(nr.prototype);var rr=class extends F{constructor(e,n){super(p.Timestamp),this.unit=e,this.timezone=n}toString(){return`Timestamp<${k[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}};fm=Symbol.toStringTag;rr[fm]=(t=>(t.unit=null,t.timezone=null,t.ArrayType=BigInt64Array,t[Symbol.toStringTag]="Timestamp"))(rr.prototype);var ir=class extends F{constructor(e){super(p.Interval),this.unit=e}toString(){return`Interval<${We[this.unit]}>`}};dm=Symbol.toStringTag;ir[dm]=(t=>(t.unit=null,t.ArrayType=Int32Array,t[Symbol.toStringTag]="Interval"))(ir.prototype);var sr=class extends F{constructor(e){super(p.Duration),this.unit=e}toString(){return`Duration<${k[this.unit]}>`}};hm=Symbol.toStringTag;sr[hm]=(t=>(t.unit=null,t.ArrayType=BigInt64Array,t[Symbol.toStringTag]="Duration"))(sr.prototype);var hn=class extends F{constructor(e){super(p.List),this.children=[e]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};pm=Symbol.toStringTag;hn[pm]=(t=>(t.children=null,t[Symbol.toStringTag]="List"))(hn.prototype);var pe=class extends F{constructor(e){super(p.Struct),this.children=e}toString(){return`Struct<{${this.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}};mm=Symbol.toStringTag;pe[mm]=(t=>(t.children=null,t[Symbol.toStringTag]="Struct"))(pe.prototype);var pn=class extends F{constructor(e,n,r){super(p.Union),this.mode=e,this.children=r,this.typeIds=n=Int32Array.from(n),this.typeIdToChildIndex=n.reduce((i,s,o)=>(i[s]=o)&&i||i,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(e=>`${e.type}`).join(" | ")}>`}};ym=Symbol.toStringTag;pn[ym]=(t=>(t.mode=null,t.typeIds=null,t.children=null,t.typeIdToChildIndex=null,t.ArrayType=Int8Array,t[Symbol.toStringTag]="Union"))(pn.prototype);var or=class extends F{constructor(e){super(p.FixedSizeBinary),this.byteWidth=e}toString(){return`FixedSizeBinary[${this.byteWidth}]`}};gm=Symbol.toStringTag;or[gm]=(t=>(t.byteWidth=null,t.ArrayType=Uint8Array,t[Symbol.toStringTag]="FixedSizeBinary"))(or.prototype);var mn=class extends F{constructor(e,n){super(p.FixedSizeList),this.listSize=e,this.children=[n]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}};vm=Symbol.toStringTag;mn[vm]=(t=>(t.children=null,t.listSize=null,t[Symbol.toStringTag]="FixedSizeList"))(mn.prototype);var yn=class extends F{constructor(e,n=!1){var r,i,s;if(super(p.Map),this.children=[e],this.keysSorted=n,e&&(e.name="entries",!((r=e?.type)===null||r===void 0)&&r.children)){let o=(i=e?.type)===null||i===void 0?void 0:i.children[0];o&&(o.name="key");let a=(s=e?.type)===null||s===void 0?void 0:s.children[1];a&&(a.name="value")}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(e=>`${e.name}:${e.type}`).join(", ")}}>`}};_m=Symbol.toStringTag;yn[_m]=(t=>(t.children=null,t.keysSorted=null,t[Symbol.toStringTag]="Map_"))(yn.prototype);var eS=(t=>()=>++t)(-1),At=class extends F{constructor(e,n,r,i){super(p.Dictionary),this.indices=n,this.dictionary=e,this.isOrdered=i||!1,this.id=r==null?eS():ne(r)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}};wm=Symbol.toStringTag;At[wm]=(t=>(t.id=null,t.indices=null,t.isOrdered=null,t.dictionary=null,t[Symbol.toStringTag]="Dictionary"))(At.prototype);function Lt(t){let e=t;switch(t.typeId){case p.Decimal:return t.bitWidth/32;case p.Interval:return 1+e.unit;case p.FixedSizeList:return e.listSize;case p.FixedSizeBinary:return e.byteWidth;default:return 1}}var C=class{visitMany(e,...n){return e.map((r,i)=>this.visit(r,...n.map(s=>s[i])))}visit(...e){return this.getVisitFn(e[0],!1).apply(this,e)}getVisitFn(e,n=!0){return tS(this,e,n)}getVisitFnByTypeId(e,n=!0){return as(this,e,n)}visitNull(e,...n){return null}visitBool(e,...n){return null}visitInt(e,...n){return null}visitFloat(e,...n){return null}visitUtf8(e,...n){return null}visitLargeUtf8(e,...n){return null}visitBinary(e,...n){return null}visitLargeBinary(e,...n){return null}visitFixedSizeBinary(e,...n){return null}visitDate(e,...n){return null}visitTimestamp(e,...n){return null}visitTime(e,...n){return null}visitDecimal(e,...n){return null}visitList(e,...n){return null}visitStruct(e,...n){return null}visitUnion(e,...n){return null}visitDictionary(e,...n){return null}visitInterval(e,...n){return null}visitDuration(e,...n){return null}visitFixedSizeList(e,...n){return null}visitMap(e,...n){return null}};function tS(t,e,n=!0){return typeof e=="number"?as(t,e,n):typeof e=="string"&&e in p?as(t,p[e],n):e&&e instanceof F?as(t,Sm(e),n):e?.type&&e.type instanceof F?as(t,Sm(e.type),n):as(t,p.NONE,n)}function as(t,e,n=!0){let r=null;switch(e){case p.Null:r=t.visitNull;break;case p.Bool:r=t.visitBool;break;case p.Int:r=t.visitInt;break;case p.Int8:r=t.visitInt8||t.visitInt;break;case p.Int16:r=t.visitInt16||t.visitInt;break;case p.Int32:r=t.visitInt32||t.visitInt;break;case p.Int64:r=t.visitInt64||t.visitInt;break;case p.Uint8:r=t.visitUint8||t.visitInt;break;case p.Uint16:r=t.visitUint16||t.visitInt;break;case p.Uint32:r=t.visitUint32||t.visitInt;break;case p.Uint64:r=t.visitUint64||t.visitInt;break;case p.Float:r=t.visitFloat;break;case p.Float16:r=t.visitFloat16||t.visitFloat;break;case p.Float32:r=t.visitFloat32||t.visitFloat;break;case p.Float64:r=t.visitFloat64||t.visitFloat;break;case p.Utf8:r=t.visitUtf8;break;case p.LargeUtf8:r=t.visitLargeUtf8;break;case p.Binary:r=t.visitBinary;break;case p.LargeBinary:r=t.visitLargeBinary;break;case p.FixedSizeBinary:r=t.visitFixedSizeBinary;break;case p.Date:r=t.visitDate;break;case p.DateDay:r=t.visitDateDay||t.visitDate;break;case p.DateMillisecond:r=t.visitDateMillisecond||t.visitDate;break;case p.Timestamp:r=t.visitTimestamp;break;case p.TimestampSecond:r=t.visitTimestampSecond||t.visitTimestamp;break;case p.TimestampMillisecond:r=t.visitTimestampMillisecond||t.visitTimestamp;break;case p.TimestampMicrosecond:r=t.visitTimestampMicrosecond||t.visitTimestamp;break;case p.TimestampNanosecond:r=t.visitTimestampNanosecond||t.visitTimestamp;break;case p.Time:r=t.visitTime;break;case p.TimeSecond:r=t.visitTimeSecond||t.visitTime;break;case p.TimeMillisecond:r=t.visitTimeMillisecond||t.visitTime;break;case p.TimeMicrosecond:r=t.visitTimeMicrosecond||t.visitTime;break;case p.TimeNanosecond:r=t.visitTimeNanosecond||t.visitTime;break;case p.Decimal:r=t.visitDecimal;break;case p.List:r=t.visitList;break;case p.Struct:r=t.visitStruct;break;case p.Union:r=t.visitUnion;break;case p.DenseUnion:r=t.visitDenseUnion||t.visitUnion;break;case p.SparseUnion:r=t.visitSparseUnion||t.visitUnion;break;case p.Dictionary:r=t.visitDictionary;break;case p.Interval:r=t.visitInterval;break;case p.IntervalDayTime:r=t.visitIntervalDayTime||t.visitInterval;break;case p.IntervalYearMonth:r=t.visitIntervalYearMonth||t.visitInterval;break;case p.Duration:r=t.visitDuration;break;case p.DurationSecond:r=t.visitDurationSecond||t.visitDuration;break;case p.DurationMillisecond:r=t.visitDurationMillisecond||t.visitDuration;break;case p.DurationMicrosecond:r=t.visitDurationMicrosecond||t.visitDuration;break;case p.DurationNanosecond:r=t.visitDurationNanosecond||t.visitDuration;break;case p.FixedSizeList:r=t.visitFixedSizeList;break;case p.Map:r=t.visitMap;break}if(typeof r=="function")return r;if(!n)return()=>null;throw new Error(`Unrecognized type '${p[e]}'`)}function Sm(t){switch(t.typeId){case p.Null:return p.Null;case p.Int:{let{bitWidth:e,isSigned:n}=t;switch(e){case 8:return n?p.Int8:p.Uint8;case 16:return n?p.Int16:p.Uint16;case 32:return n?p.Int32:p.Uint32;case 64:return n?p.Int64:p.Uint64}return p.Int}case p.Float:switch(t.precision){case ce.HALF:return p.Float16;case ce.SINGLE:return p.Float32;case ce.DOUBLE:return p.Float64}return p.Float;case p.Binary:return p.Binary;case p.LargeBinary:return p.LargeBinary;case p.Utf8:return p.Utf8;case p.LargeUtf8:return p.LargeUtf8;case p.Bool:return p.Bool;case p.Decimal:return p.Decimal;case p.Time:switch(t.unit){case k.SECOND:return p.TimeSecond;case k.MILLISECOND:return p.TimeMillisecond;case k.MICROSECOND:return p.TimeMicrosecond;case k.NANOSECOND:return p.TimeNanosecond}return p.Time;case p.Timestamp:switch(t.unit){case k.SECOND:return p.TimestampSecond;case k.MILLISECOND:return p.TimestampMillisecond;case k.MICROSECOND:return p.TimestampMicrosecond;case k.NANOSECOND:return p.TimestampNanosecond}return p.Timestamp;case p.Date:switch(t.unit){case Fe.DAY:return p.DateDay;case Fe.MILLISECOND:return p.DateMillisecond}return p.Date;case p.Interval:switch(t.unit){case We.DAY_TIME:return p.IntervalDayTime;case We.YEAR_MONTH:return p.IntervalYearMonth}return p.Interval;case p.Duration:switch(t.unit){case k.SECOND:return p.DurationSecond;case k.MILLISECOND:return p.DurationMillisecond;case k.MICROSECOND:return p.DurationMicrosecond;case k.NANOSECOND:return p.DurationNanosecond}return p.Duration;case p.Map:return p.Map;case p.List:return p.List;case p.Struct:return p.Struct;case p.Union:switch(t.mode){case de.Dense:return p.DenseUnion;case de.Sparse:return p.SparseUnion}return p.Union;case p.FixedSizeBinary:return p.FixedSizeBinary;case p.FixedSizeList:return p.FixedSizeList;case p.Dictionary:return p.Dictionary}throw new Error(`Unrecognized type '${p[t.typeId]}'`)}C.prototype.visitInt8=null;C.prototype.visitInt16=null;C.prototype.visitInt32=null;C.prototype.visitInt64=null;C.prototype.visitUint8=null;C.prototype.visitUint16=null;C.prototype.visitUint32=null;C.prototype.visitUint64=null;C.prototype.visitFloat16=null;C.prototype.visitFloat32=null;C.prototype.visitFloat64=null;C.prototype.visitDateDay=null;C.prototype.visitDateMillisecond=null;C.prototype.visitTimestampSecond=null;C.prototype.visitTimestampMillisecond=null;C.prototype.visitTimestampMicrosecond=null;C.prototype.visitTimestampNanosecond=null;C.prototype.visitTimeSecond=null;C.prototype.visitTimeMillisecond=null;C.prototype.visitTimeMicrosecond=null;C.prototype.visitTimeNanosecond=null;C.prototype.visitDenseUnion=null;C.prototype.visitSparseUnion=null;C.prototype.visitIntervalDayTime=null;C.prototype.visitIntervalYearMonth=null;C.prototype.visitDuration=null;C.prototype.visitDurationSecond=null;C.prototype.visitDurationMillisecond=null;C.prototype.visitDurationMicrosecond=null;C.prototype.visitDurationNanosecond=null;var If={};fi(If,{float64ToUint16:()=>Bo,uint16ToFloat64:()=>wl});var bm=new Float64Array(1),ls=new Uint32Array(bm.buffer);function wl(t){let e=(t&31744)>>10,n=(t&1023)/1024,r=Math.pow(-1,(t&32768)>>15);switch(e){case 31:return r*(n?Number.NaN:1/0);case 0:return r*(n?6103515625e-14*n:0)}return r*Math.pow(2,e-15)*(1+n)}function Bo(t){if(t!==t)return 32256;bm[0]=t;let e=(ls[1]&2147483648)>>16&65535,n=ls[1]&2146435072,r=0;return n>=1089470464?ls[0]>0?n=31744:(n=(n&2080374784)>>16,r=(ls[1]&1048575)>>10):n<=1056964608?(r=1048576+(ls[1]&1048575),r=1048576+(r<<(n>>20)-998)>>21,n=0):(n=n-1056964608>>10,r=(ls[1]&1048575)+512>>10),e|n|r&65535}var z=class extends C{};function H(t){return(e,n,r)=>{if(e.setValid(n,r!=null))return t(e,n,r)}}var nS=(t,e,n)=>{t[e]=Math.floor(n/864e5)},xm=(t,e,n,r)=>{if(n+1{let i=t+n;r?e[i>>3]|=1<>3]&=~(1<{t[e]=n},Bf=({values:t},e,n)=>{t[e]=n},Im=({values:t},e,n)=>{t[e]=Bo(n)},iS=(t,e,n)=>{switch(t.type.precision){case ce.HALF:return Im(t,e,n);case ce.SINGLE:case ce.DOUBLE:return Bf(t,e,n)}},Sl=({values:t},e,n)=>{nS(t,e,n.valueOf())},bl=({values:t},e,n)=>{t[e]=BigInt(n)},Df=({stride:t,values:e},n,r)=>{e.set(r.subarray(0,t),t*n)},Bm=({values:t,valueOffsets:e},n,r)=>xm(t,e,n,r),Dm=({values:t,valueOffsets:e},n,r)=>xm(t,e,n,Tn(r)),Nf=(t,e,n)=>{t.type.unit===Fe.DAY?Sl(t,e,n):bl(t,e,n)},xl=({values:t},e,n)=>{t[e]=BigInt(n/1e3)},Il=({values:t},e,n)=>{t[e]=BigInt(n)},Bl=({values:t},e,n)=>{t[e]=BigInt(n*1e3)},Dl=({values:t},e,n)=>{t[e]=BigInt(n*1e6)},Tf=(t,e,n)=>{switch(t.type.unit){case k.SECOND:return xl(t,e,n);case k.MILLISECOND:return Il(t,e,n);case k.MICROSECOND:return Bl(t,e,n);case k.NANOSECOND:return Dl(t,e,n)}},Nl=({values:t},e,n)=>{t[e]=n},Tl=({values:t},e,n)=>{t[e]=n},Ol=({values:t},e,n)=>{t[e]=n},Fl=({values:t},e,n)=>{t[e]=n},Of=(t,e,n)=>{switch(t.type.unit){case k.SECOND:return Nl(t,e,n);case k.MILLISECOND:return Tl(t,e,n);case k.MICROSECOND:return Ol(t,e,n);case k.NANOSECOND:return Fl(t,e,n)}},Ff=({values:t,stride:e},n,r)=>{t.set(r.subarray(0,e),e*n)},sS=(t,e,n)=>{let r=t.children[0],i=t.valueOffsets,s=Xe.getVisitFn(r);if(Array.isArray(n))for(let o=-1,a=i[e],l=i[e+1];a{let r=t.children[0],{valueOffsets:i}=t,s=Xe.getVisitFn(r),{[e]:o,[e+1]:a}=i,l=n instanceof Map?n.entries():Object.entries(n);for(let u of l)if(s(r,o,u),++o>=a)break},aS=(t,e)=>(n,r,i,s)=>r&&n(r,t,e[s]),lS=(t,e)=>(n,r,i,s)=>r&&n(r,t,e.get(s)),uS=(t,e)=>(n,r,i,s)=>r&&n(r,t,e.get(i.name)),cS=(t,e)=>(n,r,i,s)=>r&&n(r,t,e[i.name]),fS=(t,e,n)=>{let r=t.type.children.map(s=>Xe.getVisitFn(s.type)),i=n instanceof Map?uS(e,n):n instanceof ee?lS(e,n):Array.isArray(n)?aS(e,n):cS(e,n);t.type.children.forEach((s,o)=>i(r[o],t.children[o],s,o))},dS=(t,e,n)=>{t.type.mode===de.Dense?Nm(t,e,n):Tm(t,e,n)},Nm=(t,e,n)=>{let r=t.type.typeIdToChildIndex[t.typeIds[e]],i=t.children[r];Xe.visit(i,t.valueOffsets[e],n)},Tm=(t,e,n)=>{let r=t.type.typeIdToChildIndex[t.typeIds[e]],i=t.children[r];Xe.visit(i,e,n)},hS=(t,e,n)=>{var r;(r=t.dictionary)===null||r===void 0||r.set(t.values[e],n)},Ef=(t,e,n)=>{t.type.unit===We.DAY_TIME?El(t,e,n):kl(t,e,n)},El=({values:t},e,n)=>{t.set(n.subarray(0,2),2*e)},kl=({values:t},e,n)=>{t[e]=n[0]*12+n[1]%12},Al=({values:t},e,n)=>{t[e]=n},Ll=({values:t},e,n)=>{t[e]=n},Ml=({values:t},e,n)=>{t[e]=n},Cl=({values:t},e,n)=>{t[e]=n},kf=(t,e,n)=>{switch(t.type.unit){case k.SECOND:return Al(t,e,n);case k.MILLISECOND:return Ll(t,e,n);case k.MICROSECOND:return Ml(t,e,n);case k.NANOSECOND:return Cl(t,e,n)}},pS=(t,e,n)=>{let{stride:r}=t,i=t.children[0],s=Xe.getVisitFn(i);if(Array.isArray(n))for(let o=-1,a=e*r;++o`${fn(e)}: ${fn(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new Af(this[gn],this[us])}},Af=class{constructor(e,n){this.childIndex=0,this.children=e.children,this.rowIndex=n,this.childFields=e.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){let e=this.childIndex;return en.name)}has(e,n){return e[gn].type.children.findIndex(r=>r.name===n)!==-1}getOwnPropertyDescriptor(e,n){if(e[gn].type.children.findIndex(r=>r.name===n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,n){if(Reflect.has(e,n))return e[n];let r=e[gn].type.children.findIndex(i=>i.name===n);if(r!==-1){let i=Le.visit(e[gn].children[r],e[us]);return Reflect.set(e,n,i),i}}set(e,n,r){let i=e[gn].type.children.findIndex(s=>s.name===n);return i!==-1?(Xe.visit(e[gn].children[i],e[us],r),Reflect.set(e,n,r)):Reflect.has(e,n)||typeof n=="symbol"?Reflect.set(e,n,r):!1}};var U=class extends C{};function $(t){return(e,n)=>e.getValid(n)?t(e,n):null}var mS=(t,e)=>864e5*t[e],yS=(t,e)=>null,Om=(t,e,n)=>{if(n+1>=e.length)return null;let r=ne(e[n]),i=ne(e[n+1]);return t.subarray(r,i)},gS=({offset:t,values:e},n)=>{let r=t+n;return(e[r>>3]&1<mS(t,e),Em=({values:t},e)=>ne(t[e]),jr=({stride:t,values:e},n)=>e[t*n],vS=({stride:t,values:e},n)=>wl(e[t*n]),km=({values:t},e)=>t[e],_S=({stride:t,values:e},n)=>e.subarray(t*n,t*(n+1)),Am=({values:t,valueOffsets:e},n)=>Om(t,e,n),Lm=({values:t,valueOffsets:e},n)=>{let r=Om(t,e,n);return r!==null?ao(r):null},wS=({values:t},e)=>t[e],SS=({type:t,values:e},n)=>t.precision!==ce.HALF?e[n]:wl(e[n]),bS=(t,e)=>t.type.unit===Fe.DAY?Fm(t,e):Em(t,e),Mm=({values:t},e)=>1e3*ne(t[e]),Cm=({values:t},e)=>ne(t[e]),Um=({values:t},e)=>wf(t[e],BigInt(1e3)),Rm=({values:t},e)=>wf(t[e],BigInt(1e6)),xS=(t,e)=>{switch(t.type.unit){case k.SECOND:return Mm(t,e);case k.MILLISECOND:return Cm(t,e);case k.MICROSECOND:return Um(t,e);case k.NANOSECOND:return Rm(t,e)}},Pm=({values:t},e)=>t[e],jm=({values:t},e)=>t[e],zm=({values:t},e)=>t[e],Vm=({values:t},e)=>t[e],IS=(t,e)=>{switch(t.type.unit){case k.SECOND:return Pm(t,e);case k.MILLISECOND:return jm(t,e);case k.MICROSECOND:return zm(t,e);case k.NANOSECOND:return Vm(t,e)}},BS=({values:t,stride:e},n)=>Io.decimal(t.subarray(e*n,e*(n+1))),DS=(t,e)=>{let{valueOffsets:n,stride:r,children:i}=t,{[e*r]:s,[e*r+1]:o}=n,l=i[0].slice(s,o-s);return new ee([l])},NS=(t,e)=>{let{valueOffsets:n,children:r}=t,{[e]:i,[e+1]:s}=n,o=r[0];return new Ln(o.slice(i,s-i))},TS=(t,e)=>new Pr(t,e),OS=(t,e)=>t.type.mode===de.Dense?$m(t,e):Wm(t,e),$m=(t,e)=>{let n=t.type.typeIdToChildIndex[t.typeIds[e]],r=t.children[n];return Le.visit(r,t.valueOffsets[e])},Wm=(t,e)=>{let n=t.type.typeIdToChildIndex[t.typeIds[e]],r=t.children[n];return Le.visit(r,e)},FS=(t,e)=>{var n;return(n=t.dictionary)===null||n===void 0?void 0:n.get(t.values[e])},ES=(t,e)=>t.type.unit===We.DAY_TIME?Hm(t,e):Ym(t,e),Hm=({values:t},e)=>t.subarray(2*e,2*(e+1)),Ym=({values:t},e)=>{let n=t[e],r=new Int32Array(2);return r[0]=Math.trunc(n/12),r[1]=Math.trunc(n%12),r},Km=({values:t},e)=>t[e],Qm=({values:t},e)=>t[e],Gm=({values:t},e)=>t[e],Xm=({values:t},e)=>t[e],kS=(t,e)=>{switch(t.type.unit){case k.SECOND:return Km(t,e);case k.MILLISECOND:return Qm(t,e);case k.MICROSECOND:return Gm(t,e);case k.NANOSECOND:return Xm(t,e)}},AS=(t,e)=>{let{stride:n,children:r}=t,s=r[0].slice(e*n,n);return new ee([s])};U.prototype.visitNull=$(yS);U.prototype.visitBool=$(gS);U.prototype.visitInt=$(wS);U.prototype.visitInt8=$(jr);U.prototype.visitInt16=$(jr);U.prototype.visitInt32=$(jr);U.prototype.visitInt64=$(km);U.prototype.visitUint8=$(jr);U.prototype.visitUint16=$(jr);U.prototype.visitUint32=$(jr);U.prototype.visitUint64=$(km);U.prototype.visitFloat=$(SS);U.prototype.visitFloat16=$(vS);U.prototype.visitFloat32=$(jr);U.prototype.visitFloat64=$(jr);U.prototype.visitUtf8=$(Lm);U.prototype.visitLargeUtf8=$(Lm);U.prototype.visitBinary=$(Am);U.prototype.visitLargeBinary=$(Am);U.prototype.visitFixedSizeBinary=$(_S);U.prototype.visitDate=$(bS);U.prototype.visitDateDay=$(Fm);U.prototype.visitDateMillisecond=$(Em);U.prototype.visitTimestamp=$(xS);U.prototype.visitTimestampSecond=$(Mm);U.prototype.visitTimestampMillisecond=$(Cm);U.prototype.visitTimestampMicrosecond=$(Um);U.prototype.visitTimestampNanosecond=$(Rm);U.prototype.visitTime=$(IS);U.prototype.visitTimeSecond=$(Pm);U.prototype.visitTimeMillisecond=$(jm);U.prototype.visitTimeMicrosecond=$(zm);U.prototype.visitTimeNanosecond=$(Vm);U.prototype.visitDecimal=$(BS);U.prototype.visitList=$(DS);U.prototype.visitStruct=$(TS);U.prototype.visitUnion=$(OS);U.prototype.visitDenseUnion=$($m);U.prototype.visitSparseUnion=$(Wm);U.prototype.visitDictionary=$(FS);U.prototype.visitInterval=$(ES);U.prototype.visitIntervalDayTime=$(Hm);U.prototype.visitIntervalYearMonth=$(Ym);U.prototype.visitDuration=$(kS);U.prototype.visitDurationSecond=$(Km);U.prototype.visitDurationMillisecond=$(Qm);U.prototype.visitDurationMicrosecond=$(Gm);U.prototype.visitDurationNanosecond=$(Xm);U.prototype.visitFixedSizeList=$(AS);U.prototype.visitMap=$(NS);var Le=new U;var zr=Symbol.for("keys"),fs=Symbol.for("vals"),cs=Symbol.for("kKeysAsStrings"),Mf=Symbol.for("_kKeysAsStrings"),Ln=class{constructor(e){return this[zr]=new ee([e.children[0]]).memoize(),this[fs]=e.children[1],new Proxy(this,new Uf)}get[cs](){return this[Mf]||(this[Mf]=Array.from(this[zr].toArray(),String))}[Symbol.iterator](){return new Cf(this[zr],this[fs])}get size(){return this[zr].length}toArray(){return Object.values(this.toJSON())}toJSON(){let e=this[zr],n=this[fs],r={};for(let i=-1,s=e.length;++i`${fn(e)}: ${fn(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}},Cf=class{constructor(e,n){this.keys=e,this.vals=n,this.keyIndex=0,this.numKeys=e.length}[Symbol.iterator](){return this}next(){let e=this.keyIndex;return e===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(e),Le.visit(this.vals,e)]})}},Uf=class{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(e){return e[cs]}has(e,n){return e[cs].includes(n)}getOwnPropertyDescriptor(e,n){if(e[cs].indexOf(n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(e,n){if(Reflect.has(e,n))return e[n];let r=e[cs].indexOf(n);if(r!==-1){let i=Le.visit(Reflect.get(e,fs),r);return Reflect.set(e,n,i),i}}set(e,n,r){let i=e[cs].indexOf(n);return i!==-1?(Xe.visit(Reflect.get(e,fs),i,r),Reflect.set(e,n,r)):Reflect.has(e,n)?Reflect.set(e,n,r):!1}};Object.defineProperties(Ln.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[zr]:{writable:!0,enumerable:!1,configurable:!1,value:null},[fs]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Mf]:{writable:!0,enumerable:!1,configurable:!1,value:null}});var Zm;function Do(t,e,n,r){let{length:i=0}=t,s=typeof e!="number"?0:e,o=typeof n!="number"?i:n;return s<0&&(s=(s%i+i)%i),o<0&&(o=(o%i+i)%i),oi&&(o=i),r?r(t,s,o):[s,o]}var pi=(t,e)=>t<0?e+t:t,Jm=t=>t!==t;function Vr(t){if(typeof t!=="object"||t===null)return Jm(t)?Jm:n=>n===t;if(t instanceof Date){let n=t.valueOf();return r=>r instanceof Date?r.valueOf()===n:!1}return ArrayBuffer.isView(t)?n=>n?mf(t,n):!1:t instanceof Map?MS(t):Array.isArray(t)?LS(t):t instanceof ee?CS(t):US(t,!0)}function LS(t){let e=[];for(let n=-1,r=t.length;++n!1;let r=[];for(let i=-1,s=n.length;++i{if(!n||typeof n!="object")return!1;switch(n.constructor){case Array:return RS(t,n);case Map:return qm(t,n,n.keys());case Ln:case Pr:case Object:case void 0:return qm(t,n,e||Object.keys(n))}return n instanceof ee?PS(t,n):!1}}function RS(t,e){let n=t.length;if(e.length!==n)return!1;for(let r=-1;++rmi,getBit:()=>ey,getBool:()=>Pl,packBools:()=>gi,popcnt_array:()=>ty,popcnt_bit_range:()=>No,popcnt_uint32:()=>Rl,setBool:()=>jS,truncateBitmap:()=>yi});function Pl(t,e,n,r){return(n&1<>r}function jS(t,e,n){return n?!!(t[e>>3]|=1<>3]&=~(1<0||n.byteLength>3):gi(new mi(n,t,e,null,Pl)).subarray(0,r)),i}return n}function gi(t){let e=[],n=0,r=0,i=0;for(let o of t)o&&(i|=1<0)&&(e[n++]=i);let s=new Uint8Array(e.length+7&-8);return s.set(e),s}var mi=class{constructor(e,n,r,i,s){this.bytes=e,this.length=r,this.context=i,this.get=s,this.bit=n%8,this.byteIndex=n>>3,this.byte=e[this.byteIndex++],this.index=0}next(){return this.index>3<<3,i=e+(e%8===0?0:8-e%8);return No(t,e,i)+No(t,r,n)+ty(t,i>>3,r-i>>3)}function ty(t,e,n){let r=0,i=Math.trunc(e),s=new DataView(t.buffer,t.byteOffset,t.byteLength),o=n===void 0?t.byteLength:i+n;for(;o-i>=4;)r+=Rl(s.getUint32(i)),i+=4;for(;o-i>=2;)r+=Rl(s.getUint16(i)),i+=2;for(;o-i>=1;)r+=Rl(s.getUint8(i)),i+=1;return r}function Rl(t){let e=Math.trunc(t);return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24}var zS=-1,se=class t{get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){let{type:e}=this;return F.isSparseUnion(e)?this.children.some(n=>n.nullable):F.isDenseUnion(e)?this.children.some(n=>n.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let e=0,{valueOffsets:n,values:r,nullBitmap:i,typeIds:s}=this;return n&&(e+=n.byteLength),r&&(e+=r.byteLength),i&&(e+=i.byteLength),s&&(e+=s.byteLength),this.children.reduce((o,a)=>o+a.byteLength,e)}get nullCount(){if(F.isUnion(this.type))return this.children.reduce((r,i)=>r+i.nullCount,0);let e=this._nullCount,n;return e<=zS&&(n=this.nullBitmap)&&(this._nullCount=e=n.length===0?0:this.length-No(n,this.offset,this.offset+this.length)),e}constructor(e,n,r,i,s,o=[],a){this.type=e,this.children=o,this.dictionary=a,this.offset=Math.floor(Math.max(n||0,0)),this.length=Math.floor(Math.max(r||0,0)),this._nullCount=Math.floor(Math.max(i||0,-1));let l;s instanceof t?(this.stride=s.stride,this.values=s.values,this.typeIds=s.typeIds,this.nullBitmap=s.nullBitmap,this.valueOffsets=s.valueOffsets):(this.stride=Lt(e),s&&((l=s[0])&&(this.valueOffsets=l),(l=s[1])&&(this.values=l),(l=s[2])&&(this.nullBitmap=l),(l=s[3])&&(this.typeIds=l)))}getValid(e){let{type:n}=this;if(F.isUnion(n)){let r=n,i=this.children[r.typeIdToChildIndex[this.typeIds[e]]],s=r.mode===de.Dense?this.valueOffsets[e]:e;return i.getValid(s)}if(this.nullable&&this.nullCount>0){let r=this.offset+e;return(this.nullBitmap[r>>3]&1<>3;(!s||s.byteLength<=c)&&(s=new Uint8Array((o+a+63&-64)>>3).fill(255),this.nullCount>0?(s.set(yi(o,a,this.nullBitmap),0),Object.assign(this,{nullBitmap:s})):Object.assign(this,{nullBitmap:s,_nullCount:0}));let d=s[c];r=(d&u)!==0,s[c]=n?d|u:d&~u}return r!==!!n&&(this._nullCount=this.nullCount+(n?-1:1)),n}clone(e=this.type,n=this.offset,r=this.length,i=this._nullCount,s=this,o=this.children){return new t(e,n,r,i,s,o,this.dictionary)}slice(e,n){let{stride:r,typeId:i,children:s}=this,o=+(this._nullCount===0)-1,a=i===16?r:1,l=this._sliceBuffers(e,n,r,i);return this.clone(this.type,this.offset+e,n,o,l,s.length===0||this.valueOffsets?s:this._sliceChildren(s,a*e,a*n))}_changeLengthAndBackfillNullBitmap(e){if(this.typeId===p.Null)return this.clone(this.type,0,e,0);let{length:n,nullCount:r}=this,i=new Uint8Array((e+63&-64)>>3).fill(255,0,n>>3);i[n>>3]=(1<0&&i.set(yi(this.offset,n,this.nullBitmap),0);let s=this.buffers;return s[cn.VALIDITY]=i,this.clone(this.type,0,e,r+(e-n),s)}_sliceBuffers(e,n,r,i){let s,{buffers:o}=this;return(s=o[cn.TYPE])&&(o[cn.TYPE]=s.subarray(e,e+n)),(s=o[cn.OFFSET])&&(o[cn.OFFSET]=s.subarray(e,e+n+1))||(s=o[cn.DATA])&&(o[cn.DATA]=i===6?s:s.subarray(r*e,r*(e+n))),o}_sliceChildren(e,n,r){return e.map(i=>i.slice(n,r))}};se.prototype.children=Object.freeze([]);var jf=class t extends C{visit(e){return this.getVisitFn(e.type).call(this,e)}visitNull(e){let{["type"]:n,["offset"]:r=0,["length"]:i=0}=e;return new se(n,r,i,i)}visitBool(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length>>3,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitInt(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitFloat(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitUtf8(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.data),s=V(e.nullBitmap),o=di(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[o,i,s])}visitLargeUtf8(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.data),s=V(e.nullBitmap),o=rl(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[o,i,s])}visitBinary(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.data),s=V(e.nullBitmap),o=di(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[o,i,s])}visitLargeBinary(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.data),s=V(e.nullBitmap),o=rl(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[o,i,s])}visitFixedSizeBinary(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitDate(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitTimestamp(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitTime(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitDecimal(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitList(e){let{["type"]:n,["offset"]:r=0,["child"]:i}=e,s=V(e.nullBitmap),o=di(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[o,void 0,s],[i])}visitStruct(e){let{["type"]:n,["offset"]:r=0,["children"]:i=[]}=e,s=V(e.nullBitmap),{length:o=i.reduce((l,{length:u})=>Math.max(l,u),0),nullCount:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,void 0,s],i)}visitUnion(e){let{["type"]:n,["offset"]:r=0,["children"]:i=[]}=e,s=Z(n.ArrayType,e.typeIds),{["length"]:o=s.length,["nullCount"]:a=-1}=e;if(F.isSparseUnion(n))return new se(n,r,o,a,[void 0,void 0,void 0,s],i);let l=di(e.valueOffsets);return new se(n,r,o,a,[l,void 0,void 0,s],i)}visitDictionary(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.indices.ArrayType,e.data),{["dictionary"]:o=new ee([new t().visit({type:n.dictionary})])}=e,{["length"]:a=s.length,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[void 0,s,i],[],o)}visitInterval(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitDuration(e){let{["type"]:n,["offset"]:r=0}=e,i=V(e.nullBitmap),s=Z(n.ArrayType,e.data),{["length"]:o=s.length,["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,s,i])}visitFixedSizeList(e){let{["type"]:n,["offset"]:r=0,["child"]:i=new t().visit({type:n.valueType})}=e,s=V(e.nullBitmap),{["length"]:o=i.length/Lt(n),["nullCount"]:a=e.nullBitmap?-1:0}=e;return new se(n,r,o,a,[void 0,void 0,s],[i])}visitMap(e){let{["type"]:n,["offset"]:r=0,["child"]:i=new t().visit({type:n.childType})}=e,s=V(e.nullBitmap),o=di(e.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=e.nullBitmap?-1:0}=e;return new se(n,r,a,l,[o,void 0,s],[i])}},VS=new jf;function Q(t){return VS.visit(t)}var To=class{constructor(e=0,n){this.numChunks=e,this.getChunkIterator=n,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndexe.nullable)}function jl(t){return t.reduce((e,n)=>e+n.nullCount,0)}function zl(t){return t.reduce((e,n,r)=>(e[r+1]=e[r]+n.length,e),new Uint32Array(t.length+1))}function Vl(t,e,n,r){let i=[];for(let s=-1,o=t.length;++s=r)break;if(n>=l+u)continue;if(l>=n&&l+u<=r){i.push(a);continue}let c=Math.max(0,n-l),d=Math.min(r-l,u);i.push(a.slice(c,d-c))}return i.length===0&&i.push(t[0].slice(0,0)),i}function zf(t,e,n,r){let i=0,s=0,o=e.length-1;do{if(i>=o-1)return n0?0:-1}function WS(t,e){let{nullBitmap:n}=t;if(!n||t.nullCount<=0)return-1;let r=0;for(let i of new mi(n,t.offset+(e||0),t.length,n,Pl)){if(!i)return r;++r}return-1}function G(t,e,n){if(e===void 0)return-1;if(e===null)switch(t.typeId){case p.Union:break;case p.Dictionary:break;default:return WS(t,n)}let r=Le.getVisitFn(t),i=Vr(e);for(let s=(n||0)-1,o=t.length;++s{let i=t.data[r];return i.values.subarray(0,i.length)[Symbol.iterator]()});let n=0;return new To(t.data.length,r=>{let s=t.data[r].length,o=t.slice(n,n+s);return n+=s,new Vf(o)})}var Vf=class{constructor(e){this.vector=e,this.index=0}next(){return this.indexa.data):e;if(s.length===0||s.some(a=>!(a instanceof se)))throw new TypeError("Vector constructor expects an Array of Data instances.");let o=(n=s[0])===null||n===void 0?void 0:n.type;switch(s.length){case 0:this._offsets=[0];break;case 1:{let{get:a,set:l,indexOf:u}=sy[o.typeId],c=s[0];this.isValid=d=>Oo(c,d),this.get=d=>a(c,d),this.set=(d,y)=>l(c,d,y),this.indexOf=d=>u(c,d),this._offsets=[0,c.length];break}default:Object.setPrototypeOf(this,oy[o.typeId]),this._offsets=zl(s);break}this.data=s,this.type=o,this.stride=Lt(o),this.numChildren=(i=(r=o.children)===null||r===void 0?void 0:r.length)!==null&&i!==void 0?i:0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((e,n)=>e+n.byteLength,0)}get nullable(){return ny(this.data)}get nullCount(){return jl(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${p[this.type.typeId]}Vector`}isValid(e){return!1}get(e){return null}at(e){return this.get(pi(e,this.length))}set(e,n){}indexOf(e,n){return-1}includes(e,n){return this.indexOf(e,n)>-1}[Symbol.iterator](){return hs.visit(this)}concat(...e){return new t(this.data.concat(e.flatMap(n=>n.data).flat(Number.POSITIVE_INFINITY)))}slice(e,n){return new t(Do(this,e,n,({data:r,_offsets:i},s,o)=>Vl(r,i,s,o)))}toJSON(){return[...this]}toArray(){let{type:e,data:n,length:r,stride:i,ArrayType:s}=this;switch(e.typeId){case p.Int:case p.Float:case p.Decimal:case p.Time:case p.Timestamp:switch(n.length){case 0:return new s;case 1:return n[0].values.subarray(0,r*i);default:return n.reduce((o,{values:a,length:l})=>(o.array.set(a.subarray(0,l*i),o.offset),o.offset+=l*i,o),{array:new s(r*i),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(e){var n;return this.getChildAt((n=this.type.children)===null||n===void 0?void 0:n.findIndex(r=>r.name===e))}getChildAt(e){return e>-1&&en[e])):null}get isMemoized(){return F.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(F.isDictionary(this.type)){let e=new Hl(this.data[0].dictionary),n=this.data.map(r=>{let i=r.clone();return i.dictionary=e,i});return new t(n)}return new Hl(this)}unmemoize(){if(F.isDictionary(this.type)&&this.isMemoized){let e=this.data[0].dictionary.unmemoize(),n=this.data.map(r=>{let i=r.clone();return i.dictionary=e,i});return new t(n)}return this}};iy=Symbol.toStringTag;ee[iy]=(t=>{t.type=F.prototype,t.data=[],t.length=0,t.stride=1,t.numChildren=0,t._offsets=new Uint32Array([0]),t[Symbol.isConcatSpreadable]=!0;let e=Object.keys(p).map(n=>p[n]).filter(n=>typeof n=="number"&&n!==p.NONE);for(let n of e){let r=Le.getVisitFnByTypeId(n),i=Xe.getVisitFnByTypeId(n),s=vi.getVisitFnByTypeId(n);sy[n]={get:r,set:i,indexOf:s},oy[n]=Object.create(t,{isValid:{value:ds(Oo)},get:{value:ds(Le.getVisitFnByTypeId(n))},set:{value:$l(Xe.getVisitFnByTypeId(n))},indexOf:{value:Wl(vi.getVisitFnByTypeId(n))}})}return"Vector"})(ee.prototype);var Hl=class t extends ee{constructor(e){super(e.data);let n=this.get,r=this.set,i=this.slice,s=new Array(this.length);Object.defineProperty(this,"get",{value(o){let a=s[o];if(a!==void 0)return a;let l=n.call(this,o);return s[o]=l,l}}),Object.defineProperty(this,"set",{value(o,a){r.call(this,o,a),s[o]=a}}),Object.defineProperty(this,"slice",{value:(o,a)=>new t(i.call(this,o,a))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new ee(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}};function ay(t){if(!t||t.length<=0)return function(i){return!0};let e="",n=t.filter(r=>r===r);return n.length>0&&(e=` switch (x) {${n.map(r=>` case ${HS(r)}:`).join("")} return false; }`),t.length!==n.length&&(e=`if (x !== x) return false; ${e}`),new Function("x",`${e} -return true;`)}function HS(t){return typeof t!="bigint"?fn(t):`${fn(t)}n`}function $f(t,e){let n=Math.ceil(t)*e-1;return(n-n%64+64||64)/e}function ly(t,e=0){return t.length>=e?t.subarray(0,e):uo(new t.constructor(e),t,0)}var vn=class{constructor(e,n=0,r=1){this.length=Math.ceil(n/r),this.buffer=new e(this.length),this.stride=r,this.BYTES_PER_ELEMENT=e.BYTES_PER_ELEMENT,this.ArrayType=e}get byteLength(){return Math.ceil(this.length*this.stride)*this.BYTES_PER_ELEMENT}get reservedLength(){return this.buffer.length/this.stride}get reservedByteLength(){return this.buffer.byteLength}set(e,n){return this}append(e){return this.set(this.length,e)}reserve(e){if(e>0){this.length+=e;let n=this.stride,r=this.length*n,i=this.buffer.length;r>=i&&this._resize(i===0?$f(r*1,this.BYTES_PER_ELEMENT):$f(r*2,this.BYTES_PER_ELEMENT))}return this}flush(e=this.length){e=$f(e*this.stride,this.BYTES_PER_ELEMENT);let n=ly(this.buffer,e);return this.clear(),n}clear(){return this.length=0,this.buffer=new this.ArrayType,this}_resize(e){return this.buffer=ly(this.buffer,e)}},lr=class extends vn{last(){return this.get(this.length-1)}get(e){return this.buffer[e]}set(e,n){return this.reserve(e-this.length+1),this.buffer[e*this.stride]=n,this}},ps=class extends lr{constructor(){super(Uint8Array,0,1/8),this.numValid=0}get numInvalid(){return this.length-this.numValid}get(e){return this.buffer[e>>3]>>e%8&1}set(e,n){let{buffer:r}=this.reserve(e-this.length+1),i=e>>3,s=e%8,o=r[i]>>s&1;return n?o===0&&(r[i]|=1<=0&&i.fill(i[r],r,e),i[e]=i[e-1]+n,this}flush(e=this.length-1){return e>this.length&&this.set(e-1,this.BYTES_PER_ELEMENT>4?BigInt(0):0),super.flush(e+1)}};var ge=class{static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e){throw new Error('"throughDOM" not available in this environment')}constructor({type:e,nullValues:n}){this.length=0,this.finished=!1,this.type=e,this.children=[],this.nullValues=n,this.stride=Lt(e),this._nulls=new ps,n&&n.length>0&&(this._isValid=ay(n))}toVector(){return new ee([this.flush()])}get ArrayType(){return this.type.ArrayType}get nullCount(){return this._nulls.numInvalid}get numChildren(){return this.children.length}get byteLength(){let e=0,{_offsets:n,_values:r,_nulls:i,_typeIds:s,children:o}=this;return n&&(e+=n.byteLength),r&&(e+=r.byteLength),i&&(e+=i.byteLength),s&&(e+=s.byteLength),o.reduce((a,l)=>a+l.byteLength,e)}get reservedLength(){return this._nulls.reservedLength}get reservedByteLength(){let e=0;return this._offsets&&(e+=this._offsets.reservedByteLength),this._values&&(e+=this._values.reservedByteLength),this._nulls&&(e+=this._nulls.reservedByteLength),this._typeIds&&(e+=this._typeIds.reservedByteLength),this.children.reduce((n,r)=>n+r.reservedByteLength,e)}get valueOffsets(){return this._offsets?this._offsets.buffer:null}get values(){return this._values?this._values.buffer:null}get nullBitmap(){return this._nulls?this._nulls.buffer:null}get typeIds(){return this._typeIds?this._typeIds.buffer:null}append(e){return this.set(this.length,e)}isValid(e){return this._isValid(e)}set(e,n){return this.setValid(e,this.isValid(n))&&this.setValue(e,n),this}setValue(e,n){this._setValue(this,e,n)}setValid(e,n){return this.length=this._nulls.set(e,+n).length,n}addChild(e,n=`${this.numChildren}`){throw new Error(`Cannot append children to non-nested type "${this.type}"`)}getChildAt(e){return this.children[e]||null}flush(){let e,n,r,i,{type:s,length:o,nullCount:a,_typeIds:l,_offsets:u,_values:c,_nulls:d}=this;(n=l?.flush(o))?i=u?.flush(o):(i=u?.flush(o))?e=c?.flush(u.last()):e=c?.flush(o),a>0&&(r=d?.flush(o));let y=this.children.map(v=>v.flush());return this.clear(),Q({type:s,length:o,nullCount:a,children:y,child:y[0],data:e,typeIds:n,nullBitmap:r,valueOffsets:i})}finish(){this.finished=!0;for(let e of this.children)e.finish();return this}clear(){var e,n,r,i;this.length=0,(e=this._nulls)===null||e===void 0||e.clear(),(n=this._values)===null||n===void 0||n.clear(),(r=this._offsets)===null||r===void 0||r.clear(),(i=this._typeIds)===null||i===void 0||i.clear();for(let s of this.children)s.clear();return this}};ge.prototype.length=1;ge.prototype.stride=1;ge.prototype.children=null;ge.prototype.finished=!1;ge.prototype.nullValues=null;ge.prototype._isValid=()=>!0;var Me=class extends ge{constructor(e){super(e),this._values=new lr(this.ArrayType,0,this.stride)}setValue(e,n){let r=this._values;return r.reserve(e-r.length+1),super.setValue(e,n)}},vt=class extends ge{constructor(e){super(e),this._pendingLength=0,this._offsets=new ms(e.type)}setValue(e,n){let r=this._pending||(this._pending=new Map),i=r.get(e);i&&(this._pendingLength-=i.length),this._pendingLength+=n instanceof Ln?n[zr].length:n.length,r.set(e,n)}setValid(e,n){return super.setValid(e,n)?!0:((this._pending||(this._pending=new Map)).set(e,void 0),!1)}clear(){return this._pendingLength=0,this._pending=void 0,super.clear()}flush(){return this._flush(),super.flush()}finish(){return this._flush(),super.finish()}_flush(){let e=this._pending,n=this._pendingLength;return this._pendingLength=0,this._pending=void 0,e&&e.size>0&&this._flushPending(e,n),this}};var _i=class{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(e,n,r,i){return e.prep(8,24),e.writeInt64(BigInt(i??0)),e.pad(4),e.writeInt32(r),e.writeInt64(BigInt(n??0)),e.offset()}};var Mt=class t{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsFooter(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFooter(e,n){return e.setPosition(e.position()+4),(n||new t).__init(e.readInt32(e.position())+e.position(),e)}version(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):le.V1}schema(e){let n=this.bb.__offset(this.bb_pos,6);return n?(e||new gt).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}dictionaries(e,n){let r=this.bb.__offset(this.bb_pos,8);return r?(n||new _i).__init(this.bb.__vector(this.bb_pos+r)+e*24,this.bb):null}dictionariesLength(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}recordBatches(e,n){let r=this.bb.__offset(this.bb_pos,10);return r?(n||new _i).__init(this.bb.__vector(this.bb_pos+r)+e*24,this.bb):null}recordBatchesLength(){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){let r=this.bb.__offset(this.bb_pos,12);return r?(n||new Re).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){let e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startFooter(e){e.startObject(5)}static addVersion(e,n){e.addFieldInt16(0,n,le.V1)}static addSchema(e,n){e.addFieldOffset(1,n,0)}static addDictionaries(e,n){e.addFieldOffset(2,n,0)}static startDictionariesVector(e,n){e.startVector(24,n,8)}static addRecordBatches(e,n){e.addFieldOffset(3,n,0)}static startRecordBatchesVector(e,n){e.startVector(24,n,8)}static addCustomMetadata(e,n){e.addFieldOffset(4,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endFooter(e){return e.endObject()}static finishFooterBuffer(e,n){e.finish(n)}static finishSizePrefixedFooterBuffer(e,n){e.finish(n,void 0,!0)}};var ae=class t{constructor(e=[],n,r,i=le.V5){this.fields=e||[],this.metadata=n||new Map,r||(r=Wf(this.fields)),this.dictionaries=r,this.metadataVersion=i}get[Symbol.toStringTag](){return"Schema"}get names(){return this.fields.map(e=>e.name)}toString(){return`Schema<{ ${this.fields.map((e,n)=>`${n}: ${e}`).join(", ")} }>`}select(e){let n=new Set(e),r=this.fields.filter(i=>n.has(i.name));return new t(r,this.metadata)}selectAt(e){let n=e.map(r=>this.fields[r]).filter(Boolean);return new t(n,this.metadata)}assign(...e){let n=e[0]instanceof t?e[0]:Array.isArray(e[0])?new t(e[0]):new t(e),r=[...this.fields],i=Yl(Yl(new Map,this.metadata),n.metadata),s=n.fields.filter(a=>{let l=r.findIndex(u=>u.name===a.name);return~l?(r[l]=a.clone({metadata:Yl(Yl(new Map,r[l].metadata),a.metadata)}))&&!1:!0}),o=Wf(s,new Map);return new t([...r,...s],i,new Map([...this.dictionaries,...o]))}};ae.prototype.fields=null;ae.prototype.metadata=null;ae.prototype.dictionaries=null;var J=class t{static new(...e){let[n,r,i,s]=e;return e[0]&&typeof e[0]=="object"&&({name:n}=e[0],r===void 0&&(r=e[0].type),i===void 0&&(i=e[0].nullable),s===void 0&&(s=e[0].metadata)),new t(`${n}`,r,i,s)}constructor(e,n,r=!1,i){this.name=e,this.type=n,this.nullable=r,this.metadata=i||new Map}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}clone(...e){let[n,r,i,s]=e;return!e[0]||typeof e[0]!="object"?[n=this.name,r=this.type,i=this.nullable,s=this.metadata]=e:{name:n=this.name,type:r=this.type,nullable:i=this.nullable,metadata:s=this.metadata}=e[0],t.new(n,r,i,s)}};J.prototype.type=null;J.prototype.name=null;J.prototype.nullable=null;J.prototype.metadata=null;function Yl(t,e){return new Map([...t||new Map,...e||new Map])}function Wf(t,e=new Map){for(let n=-1,r=t.length;++n0&&Wf(s.children,e)}return e}var YS=hi,KS=Et,ur=class{static decode(e){e=new KS(V(e));let n=Mt.getRootAsFooter(e),r=ae.decode(n.schema(),new Map,n.version());return new Hf(r,n)}static encode(e){let n=new YS,r=ae.encode(n,e.schema);Mt.startRecordBatchesVector(n,e.numRecordBatches);for(let o of[...e.recordBatches()].slice().reverse())cr.encode(n,o);let i=n.endVector();Mt.startDictionariesVector(n,e.numDictionaries);for(let o of[...e.dictionaryBatches()].slice().reverse())cr.encode(n,o);let s=n.endVector();return Mt.startFooter(n),Mt.addSchema(n,r),Mt.addVersion(n,le.V5),Mt.addRecordBatches(n,i),Mt.addDictionaries(n,s),Mt.finishFooterBuffer(n,Mt.endFooter(n)),n.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}constructor(e,n=le.V5,r,i){this.schema=e,this.version=n,r&&(this._recordBatches=r),i&&(this._dictionaryBatches=i)}*recordBatches(){for(let e,n=-1,r=this.numRecordBatches;++n=0&&e=0&&e=0&&e=0&&ethis._closedPromiseResolve=e)}get closed(){return this._closedPromise}cancel(e){return O(this,void 0,void 0,function*(){yield this.return(e)})}write(e){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(e):this.resolvers.shift().resolve({done:!1,value:e}))}abort(e){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:e}:this.resolvers.shift().reject({done:!0,value:e}))}close(){if(this._closedPromiseResolve){let{resolvers:e}=this;for(;e.length>0;)e.shift().resolve(me);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(e){return Ge.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,e)}toNodeStream(e){return Ge.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,e)}throw(e){return O(this,void 0,void 0,function*(){return yield this.abort(e),me})}return(e){return O(this,void 0,void 0,function*(){return yield this.close(),me})}read(e){return O(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return O(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(...e){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((n,r)=>{this.resolvers.push({resolve:n,reject:r})}):Promise.resolve(me)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error("AsyncQueue is closed")}};var Mn=class extends Kl{write(e){if((e=V(e)).byteLength>0)return super.write(e)}toString(e=!1){return e?ao(this.toUint8Array(!0)):this.toUint8Array(!1).then(ao)}toUint8Array(e=!1){return e?Ft(this._values)[0]:O(this,void 0,void 0,function*(){var n,r,i,s;let o=[],a=0;try{for(var l=!0,u=rn(this),c;c=yield u.next(),n=c.done,!n;l=!0){s=c.value,l=!1;let d=s;o.push(d),a+=d.byteLength}}catch(d){r={error:d}}finally{try{!l&&!n&&(i=u.return)&&(yield i.call(u))}finally{if(r)throw r.error}}return Ft(o,a)[0]})}},Cn=class{constructor(e){e&&(this.source=new Yf(Ge.fromIterable(e)))}[Symbol.iterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}},Yt=class t{constructor(e){e instanceof t?this.source=e.source:e instanceof Mn?this.source=new fr(Ge.fromAsyncIterable(e)):nl(e)?this.source=new fr(Ge.fromNodeStream(e)):lo(e)?this.source=new fr(Ge.fromDOMStream(e)):el(e)?this.source=new fr(Ge.fromDOMStream(e.body)):sn(e)?this.source=new fr(Ge.fromIterable(e)):Ot(e)?this.source=new fr(Ge.fromAsyncIterable(e)):$t(e)&&(this.source=new fr(Ge.fromAsyncIterable(e)))}[Symbol.asyncIterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}get closed(){return this.source.closed}cancel(e){return this.source.cancel(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}},Yf=class{constructor(e){this.source=e}cancel(e){this.return(e)}peek(e){return this.next(e,"peek").value}read(e){return this.next(e,"read").value}next(e,n="read"){return this.source.next({cmd:n,size:e})}throw(e){return Object.create(this.source.throw&&this.source.throw(e)||me)}return(e){return Object.create(this.source.return&&this.source.return(e)||me)}},fr=class{constructor(e){this.source=e,this._closedPromise=new Promise(n=>this._closedPromiseResolve=n)}cancel(e){return O(this,void 0,void 0,function*(){yield this.return(e)})}get closed(){return this._closedPromise}read(e){return O(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return O(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(e){return O(this,arguments,void 0,function*(n,r="read"){return yield this.source.next({cmd:r,size:n})})}throw(e){return O(this,void 0,void 0,function*(){let n=this.source.throw&&(yield this.source.throw(e))||me;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}return(e){return O(this,void 0,void 0,function*(){let n=this.source.return&&(yield this.source.return(e))||me;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}};var Eo=class extends Cn{constructor(e,n){super(),this.position=0,this.buffer=V(e),this.size=n===void 0?this.buffer.byteLength:n}readInt32(e){let{buffer:n,byteOffset:r}=this.readAt(e,4);return new DataView(n,r).getInt32(0,!0)}seek(e){return this.position=Math.min(e,this.size),eko,Int128:()=>Ao,Int64:()=>dr,Uint64:()=>Be});function ys(t){return t<0&&(t=4294967295+t+1),`0x${t.toString(16)}`}var gs=8,Kf=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8],ko=class{constructor(e){this.buffer=e}high(){return this.buffer[1]}low(){return this.buffer[0]}_times(e){let n=new Uint32Array([this.buffer[1]>>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),r=new Uint32Array([e.buffer[1]>>>16,e.buffer[1]&65535,e.buffer[0]>>>16,e.buffer[0]&65535]),i=n[3]*r[3];this.buffer[0]=i&65535;let s=i>>>16;return i=n[2]*r[3],s+=i,i=n[3]*r[2]>>>0,s+=i,this.buffer[0]+=s<<16,this.buffer[1]=s>>>0>>16,this.buffer[1]+=n[1]*r[3]+n[2]*r[2]+n[3]*r[1],this.buffer[1]+=n[0]*r[3]+n[1]*r[2]+n[2]*r[1]+n[3]*r[0]<<16,this}_plus(e){let n=this.buffer[0]+e.buffer[0]>>>0;this.buffer[1]+=e.buffer[1],n>>0&&++this.buffer[1],this.buffer[0]=n}lessThan(e){return this.buffer[1]>>0,n[2]=this.buffer[2]+e.buffer[2]>>>0,n[1]=this.buffer[1]+e.buffer[1]>>>0,n[0]=this.buffer[0]+e.buffer[0]>>>0,n[0]>>0&&++n[1],n[1]>>0&&++n[2],n[2]>>0&&++n[3],this.buffer[3]=n[3],this.buffer[2]=n[2],this.buffer[1]=n[1],this.buffer[0]=n[0],this}hex(){return`${ys(this.buffer[3])} ${ys(this.buffer[2])} ${ys(this.buffer[1])} ${ys(this.buffer[0])}`}static multiply(e,n){return new t(new Uint32Array(e.buffer)).times(n)}static add(e,n){return new t(new Uint32Array(e.buffer)).plus(n)}static from(e,n=new Uint32Array(4)){return t.fromString(typeof e=="string"?e:e.toString(),n)}static fromNumber(e,n=new Uint32Array(4)){return t.fromString(e.toString(),n)}static fromString(e,n=new Uint32Array(4)){let r=e.startsWith("-"),i=e.length,s=new t(n);for(let o=r?1:0;o0&&this.readData(e,r)||new Uint8Array(0)}readOffsets(e,n){return this.readData(e,n)}readTypeIds(e,n){return this.readData(e,n)}readData(e,{length:n,offset:r}=this.nextBufferRange()){return this.bytes.subarray(r,r+n)}readDictionary(e){return this.dictionaries.get(e.id)}},Ql=class extends Lo{constructor(e,n,r,i,s){super(new Uint8Array(0),n,r,i,s),this.sources=e}readNullBitmap(e,n,{offset:r}=this.nextBufferRange()){return n<=0?new Uint8Array(0):gi(this.sources[r])}readOffsets(e,{offset:n}=this.nextBufferRange()){return Z(Uint8Array,Z(e.OffsetArrayType,this.sources[n]))}readTypeIds(e,{offset:n}=this.nextBufferRange()){return Z(Uint8Array,Z(e.ArrayType,this.sources[n]))}readData(e,{offset:n}=this.nextBufferRange()){let{sources:r}=this;return F.isTimestamp(e)?Z(Uint8Array,dr.convertArray(r[n])):(F.isInt(e)||F.isTime(e))&&e.bitWidth===64||F.isDuration(e)?Z(Uint8Array,dr.convertArray(r[n])):F.isDate(e)&&e.unit===Fe.MILLISECOND?Z(Uint8Array,dr.convertArray(r[n])):F.isDecimal(e)?Z(Uint8Array,Ao.convertArray(r[n])):F.isBinary(e)||F.isLargeBinary(e)||F.isFixedSizeBinary(e)?QS(r[n]):F.isBool(e)?gi(r[n]):F.isUtf8(e)||F.isLargeUtf8(e)?Tn(r[n].join("")):Z(Uint8Array,Z(e.ArrayType,r[n].map(i=>+i)))}};function QS(t){let e=t.join(""),n=new Uint8Array(e.length/2);for(let r=0;r>1]=Number.parseInt(e.slice(r,r+2),16);return n}var vs=class extends vt{constructor(e){super(e),this._values=new vn(Uint8Array)}get byteLength(){let e=this._pendingLength+this.length*4;return this._offsets&&(e+=this._offsets.byteLength),this._values&&(e+=this._values.byteLength),this._nulls&&(e+=this._nulls.byteLength),e}setValue(e,n){return super.setValue(e,V(n))}_flushPending(e,n){let r=this._offsets,i=this._values.reserve(n).buffer,s=0;for(let[o,a]of e)if(a===void 0)r.set(o,0);else{let l=a.length;i.set(a,s),r.set(o,l),s+=l}}};var _s=class extends vt{constructor(e){super(e),this._values=new vn(Uint8Array)}get byteLength(){let e=this._pendingLength+this.length*4;return this._offsets&&(e+=this._offsets.byteLength),this._values&&(e+=this._values.byteLength),this._nulls&&(e+=this._nulls.byteLength),e}setValue(e,n){return super.setValue(e,V(n))}_flushPending(e,n){let r=this._offsets,i=this._values.reserve(n).buffer,s=0;for(let[o,a]of e)if(a===void 0)r.set(o,BigInt(0));else{let l=a.length;i.set(a,s),r.set(o,BigInt(l)),s+=l}}};var Gl=class extends ge{constructor(e){super(e),this._values=new ps}setValue(e,n){this._values.set(e,+n)}};var Si=class extends Me{};Si.prototype._setValue=Nf;var Mo=class extends Si{};Mo.prototype._setValue=Sl;var Co=class extends Si{};Co.prototype._setValue=bl;var Uo=class extends Me{};Uo.prototype._setValue=Ff;var Xl=class extends ge{constructor({type:e,nullValues:n,dictionaryHashFunction:r}){super({type:new At(e.dictionary,e.indices,e.id,e.isOrdered)}),this._nulls=null,this._dictionaryOffset=0,this._keysToIndices=Object.create(null),this.indices=bi({type:this.type.indices,nullValues:n}),this.dictionary=bi({type:this.type.dictionary,nullValues:null}),typeof r=="function"&&(this.valueToKey=r)}get values(){return this.indices.values}get nullCount(){return this.indices.nullCount}get nullBitmap(){return this.indices.nullBitmap}get byteLength(){return this.indices.byteLength+this.dictionary.byteLength}get reservedLength(){return this.indices.reservedLength+this.dictionary.reservedLength}get reservedByteLength(){return this.indices.reservedByteLength+this.dictionary.reservedByteLength}isValid(e){return this.indices.isValid(e)}setValid(e,n){let r=this.indices;return n=r.setValid(e,n),this.length=r.length,n}setValue(e,n){let r=this._keysToIndices,i=this.valueToKey(n),s=r[i];return s===void 0&&(r[i]=s=this._dictionaryOffset+this.dictionary.append(n).length-1),this.indices.setValue(e,s)}flush(){let e=this.type,n=this._dictionary,r=this.dictionary.toVector(),i=this.indices.flush().clone(e);return i.dictionary=n?n.concat(r):r,this.finished||(this._dictionaryOffset+=r.length),this._dictionary=i.dictionary,this.clear(),i}finish(){return this.indices.finish(),this.dictionary.finish(),this._dictionaryOffset=0,this._keysToIndices=Object.create(null),super.finish()}clear(){return this.indices.clear(),this.dictionary.clear(),super.clear()}valueToKey(e){return typeof e=="string"?e:`${e}`}};var Ro=class extends Me{};Ro.prototype._setValue=Df;var Zl=class extends ge{setValue(e,n){let[r]=this.children,i=e*this.stride;for(let s=-1,o=n.length;++s0)throw new Error("FixedSizeListBuilder can only have one child.");let r=this.children.push(e);return this.type=new mn(this.type.listSize,new J(n,e.type,!0)),r}};var xi=class extends Me{setValue(e,n){this._values.set(e,n)}},Jl=class extends xi{setValue(e,n){super.setValue(e,Bo(n))}},ql=class extends xi{},eu=class extends xi{};var Ii=class extends Me{};Ii.prototype._setValue=Ef;var Po=class extends Ii{};Po.prototype._setValue=El;var jo=class extends Ii{};jo.prototype._setValue=kl;var hr=class extends Me{};hr.prototype._setValue=kf;var zo=class extends hr{};zo.prototype._setValue=Al;var Vo=class extends hr{};Vo.prototype._setValue=Ll;var $o=class extends hr{};$o.prototype._setValue=Ml;var Wo=class extends hr{};Wo.prototype._setValue=Cl;var Kt=class extends Me{setValue(e,n){this._values.set(e,n)}},tu=class extends Kt{},nu=class extends Kt{},ru=class extends Kt{},iu=class extends Kt{},su=class extends Kt{},ou=class extends Kt{},au=class extends Kt{},lu=class extends Kt{};var uu=class extends vt{constructor(e){super(e),this._offsets=new ms(e.type)}addChild(e,n="0"){if(this.numChildren>0)throw new Error("ListBuilder can only have one child.");return this.children[this.numChildren]=e,this.type=new hn(new J(n,e.type,!0)),this.numChildren-1}_flushPending(e){let n=this._offsets,[r]=this.children;for(let[i,s]of e)if(typeof s>"u")n.set(i,0);else{let o=s,a=o.length,l=n.set(i,a).buffer[i];for(let u=-1;++u0)throw new Error("ListBuilder can only have one child.");return this.children[this.numChildren]=e,this.type=new yn(new J(n,e.type,!0),this.type.keysSorted),this.numChildren-1}_flushPending(e){let n=this._offsets,[r]=this.children;for(let[i,s]of e)if(s===void 0)n.set(i,0);else{let{[i]:o,[i+1]:a}=n.set(i,s.size).buffer;for(let l of s.entries())if(r.set(o,l),++o>=a)break}}};var fu=class extends ge{setValue(e,n){}setValid(e,n){return this.length=Math.max(e+1,this.length),n}};var du=class extends ge{setValue(e,n){let{children:r,type:i}=this;switch(Array.isArray(n)||n.constructor){case!0:return i.children.forEach((s,o)=>r[o].set(e,n[o]));case Map:return i.children.forEach((s,o)=>r[o].set(e,n.get(s.name)));default:return i.children.forEach((s,o)=>r[o].set(e,n[s.name]))}}setValid(e,n){return super.setValid(e,n)||this.children.forEach(r=>r.setValid(e,n)),n}addChild(e,n=`${this.numChildren}`){let r=this.children.push(e);return this.type=new pe([...this.type.children,new J(n,e.type,!0)]),r}};var pr=class extends Me{};pr.prototype._setValue=Tf;var Ho=class extends pr{};Ho.prototype._setValue=xl;var Yo=class extends pr{};Yo.prototype._setValue=Il;var Ko=class extends pr{};Ko.prototype._setValue=Bl;var Qo=class extends pr{};Qo.prototype._setValue=Dl;var mr=class extends Me{};mr.prototype._setValue=Of;var Go=class extends mr{};Go.prototype._setValue=Nl;var Xo=class extends mr{};Xo.prototype._setValue=Tl;var Zo=class extends mr{};Zo.prototype._setValue=Ol;var Jo=class extends mr{};Jo.prototype._setValue=Fl;var ws=class extends ge{constructor(e){super(e),this._typeIds=new lr(Int8Array,0,1),typeof e.valueToChildTypeId=="function"&&(this._valueToChildTypeId=e.valueToChildTypeId)}get typeIdToChildIndex(){return this.type.typeIdToChildIndex}append(e,n){return this.set(this.length,e,n)}set(e,n,r){return r===void 0&&(r=this._valueToChildTypeId(this,n,e)),this.setValue(e,n,r),this}setValue(e,n,r){this._typeIds.set(e,r);let i=this.type.typeIdToChildIndex[r],s=this.children[i];s?.set(e,n)}addChild(e,n=`${this.children.length}`){let r=this.children.push(e),{type:{children:i,mode:s,typeIds:o}}=this,a=[...i,new J(n,e.type)];return this.type=new pn(s,[...o,r],a),r}_valueToChildTypeId(e,n,r){throw new Error("Cannot map UnionBuilder value to child typeId. Pass the `childTypeId` as the second argument to unionBuilder.append(), or supply a `valueToChildTypeId` function as part of the UnionBuilder constructor options.")}},hu=class extends ws{},pu=class extends ws{constructor(e){super(e),this._offsets=new lr(Int32Array)}setValue(e,n,r){let i=this._typeIds.set(e,r).buffer[e],s=this.getChildAt(this.type.typeIdToChildIndex[i]),o=this._offsets.set(e,s.length).buffer[e];s?.set(o,n)}};var qo=class extends vt{constructor(e){super(e),this._values=new vn(Uint8Array)}get byteLength(){let e=this._pendingLength+this.length*4;return this._offsets&&(e+=this._offsets.byteLength),this._values&&(e+=this._values.byteLength),this._nulls&&(e+=this._nulls.byteLength),e}setValue(e,n){return super.setValue(e,Tn(n))}_flushPending(e,n){}};qo.prototype._flushPending=vs.prototype._flushPending;var ea=class extends vt{constructor(e){super(e),this._values=new vn(Uint8Array)}get byteLength(){let e=this._pendingLength+this.length*4;return this._offsets&&(e+=this._offsets.byteLength),this._values&&(e+=this._values.byteLength),this._nulls&&(e+=this._nulls.byteLength),e}setValue(e,n){return super.setValue(e,Tn(n))}_flushPending(e,n){}};ea.prototype._flushPending=_s.prototype._flushPending;var Gf=class extends C{visitNull(){return fu}visitBool(){return Gl}visitInt(){return Kt}visitInt8(){return tu}visitInt16(){return nu}visitInt32(){return ru}visitInt64(){return iu}visitUint8(){return su}visitUint16(){return ou}visitUint32(){return au}visitUint64(){return lu}visitFloat(){return xi}visitFloat16(){return Jl}visitFloat32(){return ql}visitFloat64(){return eu}visitUtf8(){return qo}visitLargeUtf8(){return ea}visitBinary(){return vs}visitLargeBinary(){return _s}visitFixedSizeBinary(){return Ro}visitDate(){return Si}visitDateDay(){return Mo}visitDateMillisecond(){return Co}visitTimestamp(){return pr}visitTimestampSecond(){return Ho}visitTimestampMillisecond(){return Yo}visitTimestampMicrosecond(){return Ko}visitTimestampNanosecond(){return Qo}visitTime(){return mr}visitTimeSecond(){return Go}visitTimeMillisecond(){return Xo}visitTimeMicrosecond(){return Zo}visitTimeNanosecond(){return Jo}visitDecimal(){return Uo}visitList(){return uu}visitStruct(){return du}visitUnion(){return ws}visitDenseUnion(){return pu}visitSparseUnion(){return hu}visitDictionary(){return Xl}visitInterval(){return Ii}visitIntervalDayTime(){return Po}visitIntervalYearMonth(){return jo}visitDuration(){return hr}visitDurationSecond(){return zo}visitDurationMillisecond(){return Vo}visitDurationMicrosecond(){return $o}visitDurationNanosecond(){return Wo}visitFixedSizeList(){return Zl}visitMap(){return cu}},uy=new Gf;var j=class extends C{compareSchemas(e,n){return e===n||n instanceof e.constructor&&this.compareManyFields(e.fields,n.fields)}compareManyFields(e,n){return e===n||Array.isArray(e)&&Array.isArray(n)&&e.length===n.length&&e.every((r,i)=>this.compareFields(r,n[i]))}compareFields(e,n){return e===n||n instanceof e.constructor&&e.name===n.name&&e.nullable===n.nullable&&this.visit(e.type,n.type)}};function dt(t,e){return e instanceof t.constructor}function Bi(t,e){return t===e||dt(t,e)}function yr(t,e){return t===e||dt(t,e)&&t.bitWidth===e.bitWidth&&t.isSigned===e.isSigned}function mu(t,e){return t===e||dt(t,e)&&t.precision===e.precision}function GS(t,e){return t===e||dt(t,e)&&t.byteWidth===e.byteWidth}function Xf(t,e){return t===e||dt(t,e)&&t.unit===e.unit}function ta(t,e){return t===e||dt(t,e)&&t.unit===e.unit&&t.timezone===e.timezone}function na(t,e){return t===e||dt(t,e)&&t.unit===e.unit&&t.bitWidth===e.bitWidth}function XS(t,e){return t===e||dt(t,e)&&t.children.length===e.children.length&&Un.compareManyFields(t.children,e.children)}function ZS(t,e){return t===e||dt(t,e)&&t.children.length===e.children.length&&Un.compareManyFields(t.children,e.children)}function Zf(t,e){return t===e||dt(t,e)&&t.mode===e.mode&&t.typeIds.every((n,r)=>n===e.typeIds[r])&&Un.compareManyFields(t.children,e.children)}function JS(t,e){return t===e||dt(t,e)&&t.id===e.id&&t.isOrdered===e.isOrdered&&Un.visit(t.indices,e.indices)&&Un.visit(t.dictionary,e.dictionary)}function Jf(t,e){return t===e||dt(t,e)&&t.unit===e.unit}function ra(t,e){return t===e||dt(t,e)&&t.unit===e.unit}function qS(t,e){return t===e||dt(t,e)&&t.listSize===e.listSize&&t.children.length===e.children.length&&Un.compareManyFields(t.children,e.children)}function eb(t,e){return t===e||dt(t,e)&&t.keysSorted===e.keysSorted&&t.children.length===e.children.length&&Un.compareManyFields(t.children,e.children)}j.prototype.visitNull=Bi;j.prototype.visitBool=Bi;j.prototype.visitInt=yr;j.prototype.visitInt8=yr;j.prototype.visitInt16=yr;j.prototype.visitInt32=yr;j.prototype.visitInt64=yr;j.prototype.visitUint8=yr;j.prototype.visitUint16=yr;j.prototype.visitUint32=yr;j.prototype.visitUint64=yr;j.prototype.visitFloat=mu;j.prototype.visitFloat16=mu;j.prototype.visitFloat32=mu;j.prototype.visitFloat64=mu;j.prototype.visitUtf8=Bi;j.prototype.visitLargeUtf8=Bi;j.prototype.visitBinary=Bi;j.prototype.visitLargeBinary=Bi;j.prototype.visitFixedSizeBinary=GS;j.prototype.visitDate=Xf;j.prototype.visitDateDay=Xf;j.prototype.visitDateMillisecond=Xf;j.prototype.visitTimestamp=ta;j.prototype.visitTimestampSecond=ta;j.prototype.visitTimestampMillisecond=ta;j.prototype.visitTimestampMicrosecond=ta;j.prototype.visitTimestampNanosecond=ta;j.prototype.visitTime=na;j.prototype.visitTimeSecond=na;j.prototype.visitTimeMillisecond=na;j.prototype.visitTimeMicrosecond=na;j.prototype.visitTimeNanosecond=na;j.prototype.visitDecimal=Bi;j.prototype.visitList=XS;j.prototype.visitStruct=ZS;j.prototype.visitUnion=Zf;j.prototype.visitDenseUnion=Zf;j.prototype.visitSparseUnion=Zf;j.prototype.visitDictionary=JS;j.prototype.visitInterval=Jf;j.prototype.visitIntervalDayTime=Jf;j.prototype.visitIntervalYearMonth=Jf;j.prototype.visitDuration=ra;j.prototype.visitDurationSecond=ra;j.prototype.visitDurationMillisecond=ra;j.prototype.visitDurationMicrosecond=ra;j.prototype.visitDurationNanosecond=ra;j.prototype.visitFixedSizeList=qS;j.prototype.visitMap=eb;var Un=new j;function Di(t,e){return Un.compareSchemas(t,e)}function cy(t,e){return Un.compareFields(t,e)}function fy(t,e){return Un.visit(t,e)}function bi(t){let e=t.type,n=new(uy.getVisitFn(e)())(t);if(e.children&&e.children.length>0){let r=t.children||[],i={nullValues:t.nullValues},s=Array.isArray(r)?((o,a)=>r[a]||i):(({name:o})=>r[o]||i);for(let[o,a]of e.children.entries()){let{type:l}=a,u=s(a,o);n.children.push(bi(Object.assign(Object.assign({},u),{type:l})))}}return n}function yu(t,e){return tb(t,e.map(n=>n.data.concat()))}function tb(t,e){let n=[...t.fields],r=[],i={numBatches:e.reduce((d,y)=>Math.max(d,y.length),0)},s=0,o=0,a=-1,l=e.length,u,c=[];for(;i.numBatches-- >0;){for(o=Number.POSITIVE_INFINITY,a=-1;++a0&&(r[s++]=Q({type:new pe(n),length:o,nullCount:0,children:c.slice()})))}return[t=t.assign(n),r.map(d=>new Ne(t,d))]}function nb(t,e,n,r,i){var s;let o=(e+63&-64)>>3;for(let a=-1,l=r.length;++a=e)c===e?n[a]=u:(n[a]=u.slice(0,e),i.numBatches=Math.max(i.numBatches,r[a].unshift(u.slice(e,c-e))));else{let d=t[a];t[a]=d.clone({nullable:!0}),n[a]=(s=u?._changeLengthAndBackfillNullBitmap(e))!==null&&s!==void 0?s:Q({type:d.type,length:e,nullCount:e,nullBitmap:new Uint8Array(o)})}}return n}var dy,_t=class t{constructor(...e){var n,r;if(e.length===0)return this.batches=[],this.schema=new ae([]),this._offsets=[0],this;let i,s;e[0]instanceof ae&&(i=e.shift()),e.at(-1)instanceof Uint32Array&&(s=e.pop());let o=l=>{if(l){if(l instanceof Ne)return[l];if(l instanceof t)return l.batches;if(l instanceof se){if(l.type instanceof pe)return[new Ne(new ae(l.type.children),l)]}else{if(Array.isArray(l))return l.flatMap(u=>o(u));if(typeof l[Symbol.iterator]=="function")return[...l].flatMap(u=>o(u));if(typeof l=="object"){let u=Object.keys(l),c=u.map(v=>new ee([l[v]])),d=i??new ae(u.map((v,w)=>new J(String(v),c[w].type,c[w].nullable))),[,y]=yu(d,c);return y.length===0?[new Ne(l)]:y}}}return[]},a=e.flatMap(l=>o(l));if(i=(r=i??((n=a[0])===null||n===void 0?void 0:n.schema))!==null&&r!==void 0?r:new ae([]),!(i instanceof ae))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");for(let l of a){if(!(l instanceof Ne))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");if(!Di(i,l.schema))throw new TypeError("Table and inner RecordBatch schemas must be equivalent.")}this.schema=i,this.batches=a,this._offsets=s??zl(this.data)}get data(){return this.batches.map(({data:e})=>e)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((e,n)=>e+n.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=jl(this.data)),this._nullCount}isValid(e){return!1}get(e){return null}at(e){return this.get(pi(e,this.numRows))}set(e,n){}indexOf(e,n){return-1}[Symbol.iterator](){return this.batches.length>0?hs.visit(new ee(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[ +return true;`)}function HS(t){return typeof t!="bigint"?fn(t):`${fn(t)}n`}function $f(t,e){let n=Math.ceil(t)*e-1;return(n-n%64+64||64)/e}function ly(t,e=0){return t.length>=e?t.subarray(0,e):uo(new t.constructor(e),t,0)}var vn=class{constructor(e,n=0,r=1){this.length=Math.ceil(n/r),this.buffer=new e(this.length),this.stride=r,this.BYTES_PER_ELEMENT=e.BYTES_PER_ELEMENT,this.ArrayType=e}get byteLength(){return Math.ceil(this.length*this.stride)*this.BYTES_PER_ELEMENT}get reservedLength(){return this.buffer.length/this.stride}get reservedByteLength(){return this.buffer.byteLength}set(e,n){return this}append(e){return this.set(this.length,e)}reserve(e){if(e>0){this.length+=e;let n=this.stride,r=this.length*n,i=this.buffer.length;r>=i&&this._resize(i===0?$f(r*1,this.BYTES_PER_ELEMENT):$f(r*2,this.BYTES_PER_ELEMENT))}return this}flush(e=this.length){e=$f(e*this.stride,this.BYTES_PER_ELEMENT);let n=ly(this.buffer,e);return this.clear(),n}clear(){return this.length=0,this.buffer=new this.ArrayType,this}_resize(e){return this.buffer=ly(this.buffer,e)}},lr=class extends vn{last(){return this.get(this.length-1)}get(e){return this.buffer[e]}set(e,n){return this.reserve(e-this.length+1),this.buffer[e*this.stride]=n,this}},ps=class extends lr{constructor(){super(Uint8Array,0,1/8),this.numValid=0}get numInvalid(){return this.length-this.numValid}get(e){return this.buffer[e>>3]>>e%8&1}set(e,n){let{buffer:r}=this.reserve(e-this.length+1),i=e>>3,s=e%8,o=r[i]>>s&1;return n?o===0&&(r[i]|=1<=0&&i.fill(i[r],r,e),i[e]=i[e-1]+n,this}flush(e=this.length-1){return e>this.length&&this.set(e-1,this.BYTES_PER_ELEMENT>4?BigInt(0):0),super.flush(e+1)}};var ge=class{static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e){throw new Error('"throughDOM" not available in this environment')}constructor({type:e,nullValues:n}){this.length=0,this.finished=!1,this.type=e,this.children=[],this.nullValues=n,this.stride=Lt(e),this._nulls=new ps,n&&n.length>0&&(this._isValid=ay(n))}toVector(){return new ee([this.flush()])}get ArrayType(){return this.type.ArrayType}get nullCount(){return this._nulls.numInvalid}get numChildren(){return this.children.length}get byteLength(){let e=0,{_offsets:n,_values:r,_nulls:i,_typeIds:s,children:o}=this;return n&&(e+=n.byteLength),r&&(e+=r.byteLength),i&&(e+=i.byteLength),s&&(e+=s.byteLength),o.reduce((a,l)=>a+l.byteLength,e)}get reservedLength(){return this._nulls.reservedLength}get reservedByteLength(){let e=0;return this._offsets&&(e+=this._offsets.reservedByteLength),this._values&&(e+=this._values.reservedByteLength),this._nulls&&(e+=this._nulls.reservedByteLength),this._typeIds&&(e+=this._typeIds.reservedByteLength),this.children.reduce((n,r)=>n+r.reservedByteLength,e)}get valueOffsets(){return this._offsets?this._offsets.buffer:null}get values(){return this._values?this._values.buffer:null}get nullBitmap(){return this._nulls?this._nulls.buffer:null}get typeIds(){return this._typeIds?this._typeIds.buffer:null}append(e){return this.set(this.length,e)}isValid(e){return this._isValid(e)}set(e,n){return this.setValid(e,this.isValid(n))&&this.setValue(e,n),this}setValue(e,n){this._setValue(this,e,n)}setValid(e,n){return this.length=this._nulls.set(e,+n).length,n}addChild(e,n=`${this.numChildren}`){throw new Error(`Cannot append children to non-nested type "${this.type}"`)}getChildAt(e){return this.children[e]||null}flush(){let e,n,r,i,{type:s,length:o,nullCount:a,_typeIds:l,_offsets:u,_values:c,_nulls:d}=this;(n=l?.flush(o))?i=u?.flush(o):(i=u?.flush(o))?e=c?.flush(u.last()):e=c?.flush(o),a>0&&(r=d?.flush(o));let y=this.children.map(v=>v.flush());return this.clear(),Q({type:s,length:o,nullCount:a,children:y,child:y[0],data:e,typeIds:n,nullBitmap:r,valueOffsets:i})}finish(){this.finished=!0;for(let e of this.children)e.finish();return this}clear(){var e,n,r,i;this.length=0,(e=this._nulls)===null||e===void 0||e.clear(),(n=this._values)===null||n===void 0||n.clear(),(r=this._offsets)===null||r===void 0||r.clear(),(i=this._typeIds)===null||i===void 0||i.clear();for(let s of this.children)s.clear();return this}};ge.prototype.length=1;ge.prototype.stride=1;ge.prototype.children=null;ge.prototype.finished=!1;ge.prototype.nullValues=null;ge.prototype._isValid=()=>!0;var Me=class extends ge{constructor(e){super(e),this._values=new lr(this.ArrayType,0,this.stride)}setValue(e,n){let r=this._values;return r.reserve(e-r.length+1),super.setValue(e,n)}},vt=class extends ge{constructor(e){super(e),this._pendingLength=0,this._offsets=new ms(e.type)}setValue(e,n){let r=this._pending||(this._pending=new Map),i=r.get(e);i&&(this._pendingLength-=i.length),this._pendingLength+=n instanceof Ln?n[zr].length:n.length,r.set(e,n)}setValid(e,n){return super.setValid(e,n)?!0:((this._pending||(this._pending=new Map)).set(e,void 0),!1)}clear(){return this._pendingLength=0,this._pending=void 0,super.clear()}flush(){return this._flush(),super.flush()}finish(){return this._flush(),super.finish()}_flush(){let e=this._pending,n=this._pendingLength;return this._pendingLength=0,this._pending=void 0,e&&e.size>0&&this._flushPending(e,n),this}};var _i=class{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(e,n,r,i){return e.prep(8,24),e.writeInt64(BigInt(i??0)),e.pad(4),e.writeInt32(r),e.writeInt64(BigInt(n??0)),e.offset()}};var Mt=class t{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsFooter(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsFooter(e,n){return e.setPosition(e.position()+4),(n||new t).__init(e.readInt32(e.position())+e.position(),e)}version(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):le.V1}schema(e){let n=this.bb.__offset(this.bb_pos,6);return n?(e||new gt).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}dictionaries(e,n){let r=this.bb.__offset(this.bb_pos,8);return r?(n||new _i).__init(this.bb.__vector(this.bb_pos+r)+e*24,this.bb):null}dictionariesLength(){let e=this.bb.__offset(this.bb_pos,8);return e?this.bb.__vector_len(this.bb_pos+e):0}recordBatches(e,n){let r=this.bb.__offset(this.bb_pos,10);return r?(n||new _i).__init(this.bb.__vector(this.bb_pos+r)+e*24,this.bb):null}recordBatchesLength(){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.__vector_len(this.bb_pos+e):0}customMetadata(e,n){let r=this.bb.__offset(this.bb_pos,12);return r?(n||new Re).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){let e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startFooter(e){e.startObject(5)}static addVersion(e,n){e.addFieldInt16(0,n,le.V1)}static addSchema(e,n){e.addFieldOffset(1,n,0)}static addDictionaries(e,n){e.addFieldOffset(2,n,0)}static startDictionariesVector(e,n){e.startVector(24,n,8)}static addRecordBatches(e,n){e.addFieldOffset(3,n,0)}static startRecordBatchesVector(e,n){e.startVector(24,n,8)}static addCustomMetadata(e,n){e.addFieldOffset(4,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endFooter(e){return e.endObject()}static finishFooterBuffer(e,n){e.finish(n)}static finishSizePrefixedFooterBuffer(e,n){e.finish(n,void 0,!0)}};var ae=class t{constructor(e=[],n,r,i=le.V5){this.fields=e||[],this.metadata=n||new Map,r||(r=Wf(this.fields)),this.dictionaries=r,this.metadataVersion=i}get[Symbol.toStringTag](){return"Schema"}get names(){return this.fields.map(e=>e.name)}toString(){return`Schema<{ ${this.fields.map((e,n)=>`${n}: ${e}`).join(", ")} }>`}select(e){let n=new Set(e),r=this.fields.filter(i=>n.has(i.name));return new t(r,this.metadata)}selectAt(e){let n=e.map(r=>this.fields[r]).filter(Boolean);return new t(n,this.metadata)}assign(...e){let n=e[0]instanceof t?e[0]:Array.isArray(e[0])?new t(e[0]):new t(e),r=[...this.fields],i=Yl(Yl(new Map,this.metadata),n.metadata),s=n.fields.filter(a=>{let l=r.findIndex(u=>u.name===a.name);return~l?(r[l]=a.clone({metadata:Yl(Yl(new Map,r[l].metadata),a.metadata)}))&&!1:!0}),o=Wf(s,new Map);return new t([...r,...s],i,new Map([...this.dictionaries,...o]))}};ae.prototype.fields=null;ae.prototype.metadata=null;ae.prototype.dictionaries=null;var J=class t{static new(...e){let[n,r,i,s]=e;return e[0]&&typeof e[0]=="object"&&({name:n}=e[0],r===void 0&&(r=e[0].type),i===void 0&&(i=e[0].nullable),s===void 0&&(s=e[0].metadata)),new t(`${n}`,r,i,s)}constructor(e,n,r=!1,i){this.name=e,this.type=n,this.nullable=r,this.metadata=i||new Map}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}clone(...e){let[n,r,i,s]=e;return!e[0]||typeof e[0]!="object"?[n=this.name,r=this.type,i=this.nullable,s=this.metadata]=e:{name:n=this.name,type:r=this.type,nullable:i=this.nullable,metadata:s=this.metadata}=e[0],t.new(n,r,i,s)}};J.prototype.type=null;J.prototype.name=null;J.prototype.nullable=null;J.prototype.metadata=null;function Yl(t,e){return new Map([...t||new Map,...e||new Map])}function Wf(t,e=new Map){for(let n=-1,r=t.length;++n0&&Wf(s.children,e)}return e}var YS=hi,KS=Et,ur=class{static decode(e){e=new KS(V(e));let n=Mt.getRootAsFooter(e),r=ae.decode(n.schema(),new Map,n.version());return new Hf(r,n)}static encode(e){let n=new YS,r=ae.encode(n,e.schema);Mt.startRecordBatchesVector(n,e.numRecordBatches);for(let o of[...e.recordBatches()].slice().reverse())cr.encode(n,o);let i=n.endVector();Mt.startDictionariesVector(n,e.numDictionaries);for(let o of[...e.dictionaryBatches()].slice().reverse())cr.encode(n,o);let s=n.endVector();return Mt.startFooter(n),Mt.addSchema(n,r),Mt.addVersion(n,le.V5),Mt.addRecordBatches(n,i),Mt.addDictionaries(n,s),Mt.finishFooterBuffer(n,Mt.endFooter(n)),n.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}constructor(e,n=le.V5,r,i){this.schema=e,this.version=n,r&&(this._recordBatches=r),i&&(this._dictionaryBatches=i)}*recordBatches(){for(let e,n=-1,r=this.numRecordBatches;++n=0&&e=0&&e=0&&e=0&&ethis._closedPromiseResolve=e)}get closed(){return this._closedPromise}cancel(e){return O(this,void 0,void 0,function*(){yield this.return(e)})}write(e){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(e):this.resolvers.shift().resolve({done:!1,value:e}))}abort(e){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:e}:this.resolvers.shift().reject({done:!0,value:e}))}close(){if(this._closedPromiseResolve){let{resolvers:e}=this;for(;e.length>0;)e.shift().resolve(me);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(e){return Ge.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,e)}toNodeStream(e){return Ge.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,e)}throw(e){return O(this,void 0,void 0,function*(){return yield this.abort(e),me})}return(e){return O(this,void 0,void 0,function*(){return yield this.close(),me})}read(e){return O(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return O(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(...e){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((n,r)=>{this.resolvers.push({resolve:n,reject:r})}):Promise.resolve(me)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error("AsyncQueue is closed")}};var Mn=class extends Kl{write(e){if((e=V(e)).byteLength>0)return super.write(e)}toString(e=!1){return e?ao(this.toUint8Array(!0)):this.toUint8Array(!1).then(ao)}toUint8Array(e=!1){return e?Ft(this._values)[0]:O(this,void 0,void 0,function*(){var n,r,i,s;let o=[],a=0;try{for(var l=!0,u=rn(this),c;c=yield u.next(),n=c.done,!n;l=!0){s=c.value,l=!1;let d=s;o.push(d),a+=d.byteLength}}catch(d){r={error:d}}finally{try{!l&&!n&&(i=u.return)&&(yield i.call(u))}finally{if(r)throw r.error}}return Ft(o,a)[0]})}},Cn=class{constructor(e){e&&(this.source=new Yf(Ge.fromIterable(e)))}[Symbol.iterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}},Yt=class t{constructor(e){e instanceof t?this.source=e.source:e instanceof Mn?this.source=new fr(Ge.fromAsyncIterable(e)):nl(e)?this.source=new fr(Ge.fromNodeStream(e)):lo(e)?this.source=new fr(Ge.fromDOMStream(e)):el(e)?this.source=new fr(Ge.fromDOMStream(e.body)):sn(e)?this.source=new fr(Ge.fromIterable(e)):Ot(e)?this.source=new fr(Ge.fromAsyncIterable(e)):$t(e)&&(this.source=new fr(Ge.fromAsyncIterable(e)))}[Symbol.asyncIterator](){return this}next(e){return this.source.next(e)}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}get closed(){return this.source.closed}cancel(e){return this.source.cancel(e)}peek(e){return this.source.peek(e)}read(e){return this.source.read(e)}},Yf=class{constructor(e){this.source=e}cancel(e){this.return(e)}peek(e){return this.next(e,"peek").value}read(e){return this.next(e,"read").value}next(e,n="read"){return this.source.next({cmd:n,size:e})}throw(e){return Object.create(this.source.throw&&this.source.throw(e)||me)}return(e){return Object.create(this.source.return&&this.source.return(e)||me)}},fr=class{constructor(e){this.source=e,this._closedPromise=new Promise(n=>this._closedPromiseResolve=n)}cancel(e){return O(this,void 0,void 0,function*(){yield this.return(e)})}get closed(){return this._closedPromise}read(e){return O(this,void 0,void 0,function*(){return(yield this.next(e,"read")).value})}peek(e){return O(this,void 0,void 0,function*(){return(yield this.next(e,"peek")).value})}next(e){return O(this,arguments,void 0,function*(n,r="read"){return yield this.source.next({cmd:r,size:n})})}throw(e){return O(this,void 0,void 0,function*(){let n=this.source.throw&&(yield this.source.throw(e))||me;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}return(e){return O(this,void 0,void 0,function*(){let n=this.source.return&&(yield this.source.return(e))||me;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}};var Eo=class extends Cn{constructor(e,n){super(),this.position=0,this.buffer=V(e),this.size=n===void 0?this.buffer.byteLength:n}readInt32(e){let{buffer:n,byteOffset:r}=this.readAt(e,4);return new DataView(n,r).getInt32(0,!0)}seek(e){return this.position=Math.min(e,this.size),eko,Int128:()=>Ao,Int64:()=>dr,Uint64:()=>Be});function ys(t){return t<0&&(t=4294967295+t+1),`0x${t.toString(16)}`}var gs=8,Kf=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8],ko=class{constructor(e){this.buffer=e}high(){return this.buffer[1]}low(){return this.buffer[0]}_times(e){let n=new Uint32Array([this.buffer[1]>>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),r=new Uint32Array([e.buffer[1]>>>16,e.buffer[1]&65535,e.buffer[0]>>>16,e.buffer[0]&65535]),i=n[3]*r[3];this.buffer[0]=i&65535;let s=i>>>16;return i=n[2]*r[3],s+=i,i=n[3]*r[2]>>>0,s+=i,this.buffer[0]+=s<<16,this.buffer[1]=s>>>0>>16,this.buffer[1]+=n[1]*r[3]+n[2]*r[2]+n[3]*r[1],this.buffer[1]+=n[0]*r[3]+n[1]*r[2]+n[2]*r[1]+n[3]*r[0]<<16,this}_plus(e){let n=this.buffer[0]+e.buffer[0]>>>0;this.buffer[1]+=e.buffer[1],n>>0&&++this.buffer[1],this.buffer[0]=n}lessThan(e){return this.buffer[1]>>0,n[2]=this.buffer[2]+e.buffer[2]>>>0,n[1]=this.buffer[1]+e.buffer[1]>>>0,n[0]=this.buffer[0]+e.buffer[0]>>>0,n[0]>>0&&++n[1],n[1]>>0&&++n[2],n[2]>>0&&++n[3],this.buffer[3]=n[3],this.buffer[2]=n[2],this.buffer[1]=n[1],this.buffer[0]=n[0],this}hex(){return`${ys(this.buffer[3])} ${ys(this.buffer[2])} ${ys(this.buffer[1])} ${ys(this.buffer[0])}`}static multiply(e,n){return new t(new Uint32Array(e.buffer)).times(n)}static add(e,n){return new t(new Uint32Array(e.buffer)).plus(n)}static from(e,n=new Uint32Array(4)){return t.fromString(typeof e=="string"?e:e.toString(),n)}static fromNumber(e,n=new Uint32Array(4)){return t.fromString(e.toString(),n)}static fromString(e,n=new Uint32Array(4)){let r=e.startsWith("-"),i=e.length,s=new t(n);for(let o=r?1:0;o0&&this.readData(e,r)||new Uint8Array(0)}readOffsets(e,n){return this.readData(e,n)}readTypeIds(e,n){return this.readData(e,n)}readData(e,{length:n,offset:r}=this.nextBufferRange()){return this.bytes.subarray(r,r+n)}readDictionary(e){return this.dictionaries.get(e.id)}},Ql=class extends Lo{constructor(e,n,r,i,s){super(new Uint8Array(0),n,r,i,s),this.sources=e}readNullBitmap(e,n,{offset:r}=this.nextBufferRange()){return n<=0?new Uint8Array(0):gi(this.sources[r])}readOffsets(e,{offset:n}=this.nextBufferRange()){return Z(Uint8Array,Z(e.OffsetArrayType,this.sources[n]))}readTypeIds(e,{offset:n}=this.nextBufferRange()){return Z(Uint8Array,Z(e.ArrayType,this.sources[n]))}readData(e,{offset:n}=this.nextBufferRange()){let{sources:r}=this;return F.isTimestamp(e)?Z(Uint8Array,dr.convertArray(r[n])):(F.isInt(e)||F.isTime(e))&&e.bitWidth===64||F.isDuration(e)?Z(Uint8Array,dr.convertArray(r[n])):F.isDate(e)&&e.unit===Fe.MILLISECOND?Z(Uint8Array,dr.convertArray(r[n])):F.isDecimal(e)?Z(Uint8Array,Ao.convertArray(r[n])):F.isBinary(e)||F.isLargeBinary(e)||F.isFixedSizeBinary(e)?QS(r[n]):F.isBool(e)?gi(r[n]):F.isUtf8(e)||F.isLargeUtf8(e)?Tn(r[n].join("")):Z(Uint8Array,Z(e.ArrayType,r[n].map(i=>+i)))}};function QS(t){let e=t.join(""),n=new Uint8Array(e.length/2);for(let r=0;r>1]=Number.parseInt(e.slice(r,r+2),16);return n}var vs=class extends vt{constructor(e){super(e),this._values=new vn(Uint8Array)}get byteLength(){let e=this._pendingLength+this.length*4;return this._offsets&&(e+=this._offsets.byteLength),this._values&&(e+=this._values.byteLength),this._nulls&&(e+=this._nulls.byteLength),e}setValue(e,n){return super.setValue(e,V(n))}_flushPending(e,n){let r=this._offsets,i=this._values.reserve(n).buffer,s=0;for(let[o,a]of e)if(a===void 0)r.set(o,0);else{let l=a.length;i.set(a,s),r.set(o,l),s+=l}}};var _s=class extends vt{constructor(e){super(e),this._values=new vn(Uint8Array)}get byteLength(){let e=this._pendingLength+this.length*4;return this._offsets&&(e+=this._offsets.byteLength),this._values&&(e+=this._values.byteLength),this._nulls&&(e+=this._nulls.byteLength),e}setValue(e,n){return super.setValue(e,V(n))}_flushPending(e,n){let r=this._offsets,i=this._values.reserve(n).buffer,s=0;for(let[o,a]of e)if(a===void 0)r.set(o,BigInt(0));else{let l=a.length;i.set(a,s),r.set(o,BigInt(l)),s+=l}}};var Gl=class extends ge{constructor(e){super(e),this._values=new ps}setValue(e,n){this._values.set(e,+n)}};var Si=class extends Me{};Si.prototype._setValue=Nf;var Mo=class extends Si{};Mo.prototype._setValue=Sl;var Co=class extends Si{};Co.prototype._setValue=bl;var Uo=class extends Me{};Uo.prototype._setValue=Ff;var Xl=class extends ge{constructor({type:e,nullValues:n,dictionaryHashFunction:r}){super({type:new At(e.dictionary,e.indices,e.id,e.isOrdered)}),this._nulls=null,this._dictionaryOffset=0,this._keysToIndices=Object.create(null),this.indices=bi({type:this.type.indices,nullValues:n}),this.dictionary=bi({type:this.type.dictionary,nullValues:null}),typeof r=="function"&&(this.valueToKey=r)}get values(){return this.indices.values}get nullCount(){return this.indices.nullCount}get nullBitmap(){return this.indices.nullBitmap}get byteLength(){return this.indices.byteLength+this.dictionary.byteLength}get reservedLength(){return this.indices.reservedLength+this.dictionary.reservedLength}get reservedByteLength(){return this.indices.reservedByteLength+this.dictionary.reservedByteLength}isValid(e){return this.indices.isValid(e)}setValid(e,n){let r=this.indices;return n=r.setValid(e,n),this.length=r.length,n}setValue(e,n){let r=this._keysToIndices,i=this.valueToKey(n),s=r[i];return s===void 0&&(r[i]=s=this._dictionaryOffset+this.dictionary.append(n).length-1),this.indices.setValue(e,s)}flush(){let e=this.type,n=this._dictionary,r=this.dictionary.toVector(),i=this.indices.flush().clone(e);return i.dictionary=n?n.concat(r):r,this.finished||(this._dictionaryOffset+=r.length),this._dictionary=i.dictionary,this.clear(),i}finish(){return this.indices.finish(),this.dictionary.finish(),this._dictionaryOffset=0,this._keysToIndices=Object.create(null),super.finish()}clear(){return this.indices.clear(),this.dictionary.clear(),super.clear()}valueToKey(e){return typeof e=="string"?e:`${e}`}};var Ro=class extends Me{};Ro.prototype._setValue=Df;var Zl=class extends ge{setValue(e,n){let[r]=this.children,i=e*this.stride;for(let s=-1,o=n.length;++s0)throw new Error("FixedSizeListBuilder can only have one child.");let r=this.children.push(e);return this.type=new mn(this.type.listSize,new J(n,e.type,!0)),r}};var xi=class extends Me{setValue(e,n){this._values.set(e,n)}},Jl=class extends xi{setValue(e,n){super.setValue(e,Bo(n))}},ql=class extends xi{},eu=class extends xi{};var Ii=class extends Me{};Ii.prototype._setValue=Ef;var Po=class extends Ii{};Po.prototype._setValue=El;var jo=class extends Ii{};jo.prototype._setValue=kl;var hr=class extends Me{};hr.prototype._setValue=kf;var zo=class extends hr{};zo.prototype._setValue=Al;var Vo=class extends hr{};Vo.prototype._setValue=Ll;var $o=class extends hr{};$o.prototype._setValue=Ml;var Wo=class extends hr{};Wo.prototype._setValue=Cl;var Kt=class extends Me{setValue(e,n){this._values.set(e,n)}},tu=class extends Kt{},nu=class extends Kt{},ru=class extends Kt{},iu=class extends Kt{},su=class extends Kt{},ou=class extends Kt{},au=class extends Kt{},lu=class extends Kt{};var uu=class extends vt{constructor(e){super(e),this._offsets=new ms(e.type)}addChild(e,n="0"){if(this.numChildren>0)throw new Error("ListBuilder can only have one child.");return this.children[this.numChildren]=e,this.type=new hn(new J(n,e.type,!0)),this.numChildren-1}_flushPending(e){let n=this._offsets,[r]=this.children;for(let[i,s]of e)if(typeof s>"u")n.set(i,0);else{let o=s,a=o.length,l=n.set(i,a).buffer[i];for(let u=-1;++u0)throw new Error("ListBuilder can only have one child.");return this.children[this.numChildren]=e,this.type=new yn(new J(n,e.type,!0),this.type.keysSorted),this.numChildren-1}_flushPending(e){let n=this._offsets,[r]=this.children;for(let[i,s]of e)if(s===void 0)n.set(i,0);else{let{[i]:o,[i+1]:a}=n.set(i,s.size).buffer;for(let l of s.entries())if(r.set(o,l),++o>=a)break}}};var fu=class extends ge{setValue(e,n){}setValid(e,n){return this.length=Math.max(e+1,this.length),n}};var du=class extends ge{setValue(e,n){let{children:r,type:i}=this;switch(Array.isArray(n)||n.constructor){case!0:return i.children.forEach((s,o)=>r[o].set(e,n[o]));case Map:return i.children.forEach((s,o)=>r[o].set(e,n.get(s.name)));default:return i.children.forEach((s,o)=>r[o].set(e,n[s.name]))}}setValid(e,n){return super.setValid(e,n)||this.children.forEach(r=>r.setValid(e,n)),n}addChild(e,n=`${this.numChildren}`){let r=this.children.push(e);return this.type=new pe([...this.type.children,new J(n,e.type,!0)]),r}};var pr=class extends Me{};pr.prototype._setValue=Tf;var Ho=class extends pr{};Ho.prototype._setValue=xl;var Yo=class extends pr{};Yo.prototype._setValue=Il;var Ko=class extends pr{};Ko.prototype._setValue=Bl;var Qo=class extends pr{};Qo.prototype._setValue=Dl;var mr=class extends Me{};mr.prototype._setValue=Of;var Go=class extends mr{};Go.prototype._setValue=Nl;var Xo=class extends mr{};Xo.prototype._setValue=Tl;var Zo=class extends mr{};Zo.prototype._setValue=Ol;var Jo=class extends mr{};Jo.prototype._setValue=Fl;var ws=class extends ge{constructor(e){super(e),this._typeIds=new lr(Int8Array,0,1),typeof e.valueToChildTypeId=="function"&&(this._valueToChildTypeId=e.valueToChildTypeId)}get typeIdToChildIndex(){return this.type.typeIdToChildIndex}append(e,n){return this.set(this.length,e,n)}set(e,n,r){return r===void 0&&(r=this._valueToChildTypeId(this,n,e)),this.setValue(e,n,r),this}setValue(e,n,r){this._typeIds.set(e,r);let i=this.type.typeIdToChildIndex[r],s=this.children[i];s?.set(e,n)}addChild(e,n=`${this.children.length}`){let r=this.children.push(e),{type:{children:i,mode:s,typeIds:o}}=this,a=[...i,new J(n,e.type)];return this.type=new pn(s,[...o,r],a),r}_valueToChildTypeId(e,n,r){throw new Error("Cannot map UnionBuilder value to child typeId. Pass the `childTypeId` as the second argument to unionBuilder.append(), or supply a `valueToChildTypeId` function as part of the UnionBuilder constructor options.")}},hu=class extends ws{},pu=class extends ws{constructor(e){super(e),this._offsets=new lr(Int32Array)}setValue(e,n,r){let i=this._typeIds.set(e,r).buffer[e],s=this.getChildAt(this.type.typeIdToChildIndex[i]),o=this._offsets.set(e,s.length).buffer[e];s?.set(o,n)}};var qo=class extends vt{constructor(e){super(e),this._values=new vn(Uint8Array)}get byteLength(){let e=this._pendingLength+this.length*4;return this._offsets&&(e+=this._offsets.byteLength),this._values&&(e+=this._values.byteLength),this._nulls&&(e+=this._nulls.byteLength),e}setValue(e,n){return super.setValue(e,Tn(n))}_flushPending(e,n){}};qo.prototype._flushPending=vs.prototype._flushPending;var ea=class extends vt{constructor(e){super(e),this._values=new vn(Uint8Array)}get byteLength(){let e=this._pendingLength+this.length*4;return this._offsets&&(e+=this._offsets.byteLength),this._values&&(e+=this._values.byteLength),this._nulls&&(e+=this._nulls.byteLength),e}setValue(e,n){return super.setValue(e,Tn(n))}_flushPending(e,n){}};ea.prototype._flushPending=_s.prototype._flushPending;var Gf=class extends C{visitNull(){return fu}visitBool(){return Gl}visitInt(){return Kt}visitInt8(){return tu}visitInt16(){return nu}visitInt32(){return ru}visitInt64(){return iu}visitUint8(){return su}visitUint16(){return ou}visitUint32(){return au}visitUint64(){return lu}visitFloat(){return xi}visitFloat16(){return Jl}visitFloat32(){return ql}visitFloat64(){return eu}visitUtf8(){return qo}visitLargeUtf8(){return ea}visitBinary(){return vs}visitLargeBinary(){return _s}visitFixedSizeBinary(){return Ro}visitDate(){return Si}visitDateDay(){return Mo}visitDateMillisecond(){return Co}visitTimestamp(){return pr}visitTimestampSecond(){return Ho}visitTimestampMillisecond(){return Yo}visitTimestampMicrosecond(){return Ko}visitTimestampNanosecond(){return Qo}visitTime(){return mr}visitTimeSecond(){return Go}visitTimeMillisecond(){return Xo}visitTimeMicrosecond(){return Zo}visitTimeNanosecond(){return Jo}visitDecimal(){return Uo}visitList(){return uu}visitStruct(){return du}visitUnion(){return ws}visitDenseUnion(){return pu}visitSparseUnion(){return hu}visitDictionary(){return Xl}visitInterval(){return Ii}visitIntervalDayTime(){return Po}visitIntervalYearMonth(){return jo}visitDuration(){return hr}visitDurationSecond(){return zo}visitDurationMillisecond(){return Vo}visitDurationMicrosecond(){return $o}visitDurationNanosecond(){return Wo}visitFixedSizeList(){return Zl}visitMap(){return cu}},uy=new Gf;var j=class extends C{compareSchemas(e,n){return e===n||n instanceof e.constructor&&this.compareManyFields(e.fields,n.fields)}compareManyFields(e,n){return e===n||Array.isArray(e)&&Array.isArray(n)&&e.length===n.length&&e.every((r,i)=>this.compareFields(r,n[i]))}compareFields(e,n){return e===n||n instanceof e.constructor&&e.name===n.name&&e.nullable===n.nullable&&this.visit(e.type,n.type)}};function dt(t,e){return e instanceof t.constructor}function Bi(t,e){return t===e||dt(t,e)}function yr(t,e){return t===e||dt(t,e)&&t.bitWidth===e.bitWidth&&t.isSigned===e.isSigned}function mu(t,e){return t===e||dt(t,e)&&t.precision===e.precision}function GS(t,e){return t===e||dt(t,e)&&t.byteWidth===e.byteWidth}function Xf(t,e){return t===e||dt(t,e)&&t.unit===e.unit}function ta(t,e){return t===e||dt(t,e)&&t.unit===e.unit&&t.timezone===e.timezone}function na(t,e){return t===e||dt(t,e)&&t.unit===e.unit&&t.bitWidth===e.bitWidth}function XS(t,e){return t===e||dt(t,e)&&t.children.length===e.children.length&&Un.compareManyFields(t.children,e.children)}function ZS(t,e){return t===e||dt(t,e)&&t.children.length===e.children.length&&Un.compareManyFields(t.children,e.children)}function Zf(t,e){return t===e||dt(t,e)&&t.mode===e.mode&&t.typeIds.every((n,r)=>n===e.typeIds[r])&&Un.compareManyFields(t.children,e.children)}function JS(t,e){return t===e||dt(t,e)&&t.id===e.id&&t.isOrdered===e.isOrdered&&Un.visit(t.indices,e.indices)&&Un.visit(t.dictionary,e.dictionary)}function Jf(t,e){return t===e||dt(t,e)&&t.unit===e.unit}function ra(t,e){return t===e||dt(t,e)&&t.unit===e.unit}function qS(t,e){return t===e||dt(t,e)&&t.listSize===e.listSize&&t.children.length===e.children.length&&Un.compareManyFields(t.children,e.children)}function eb(t,e){return t===e||dt(t,e)&&t.keysSorted===e.keysSorted&&t.children.length===e.children.length&&Un.compareManyFields(t.children,e.children)}j.prototype.visitNull=Bi;j.prototype.visitBool=Bi;j.prototype.visitInt=yr;j.prototype.visitInt8=yr;j.prototype.visitInt16=yr;j.prototype.visitInt32=yr;j.prototype.visitInt64=yr;j.prototype.visitUint8=yr;j.prototype.visitUint16=yr;j.prototype.visitUint32=yr;j.prototype.visitUint64=yr;j.prototype.visitFloat=mu;j.prototype.visitFloat16=mu;j.prototype.visitFloat32=mu;j.prototype.visitFloat64=mu;j.prototype.visitUtf8=Bi;j.prototype.visitLargeUtf8=Bi;j.prototype.visitBinary=Bi;j.prototype.visitLargeBinary=Bi;j.prototype.visitFixedSizeBinary=GS;j.prototype.visitDate=Xf;j.prototype.visitDateDay=Xf;j.prototype.visitDateMillisecond=Xf;j.prototype.visitTimestamp=ta;j.prototype.visitTimestampSecond=ta;j.prototype.visitTimestampMillisecond=ta;j.prototype.visitTimestampMicrosecond=ta;j.prototype.visitTimestampNanosecond=ta;j.prototype.visitTime=na;j.prototype.visitTimeSecond=na;j.prototype.visitTimeMillisecond=na;j.prototype.visitTimeMicrosecond=na;j.prototype.visitTimeNanosecond=na;j.prototype.visitDecimal=Bi;j.prototype.visitList=XS;j.prototype.visitStruct=ZS;j.prototype.visitUnion=Zf;j.prototype.visitDenseUnion=Zf;j.prototype.visitSparseUnion=Zf;j.prototype.visitDictionary=JS;j.prototype.visitInterval=Jf;j.prototype.visitIntervalDayTime=Jf;j.prototype.visitIntervalYearMonth=Jf;j.prototype.visitDuration=ra;j.prototype.visitDurationSecond=ra;j.prototype.visitDurationMillisecond=ra;j.prototype.visitDurationMicrosecond=ra;j.prototype.visitDurationNanosecond=ra;j.prototype.visitFixedSizeList=qS;j.prototype.visitMap=eb;var Un=new j;function Di(t,e){return Un.compareSchemas(t,e)}function cy(t,e){return Un.compareFields(t,e)}function fy(t,e){return Un.visit(t,e)}function bi(t){let e=t.type,n=new(uy.getVisitFn(e)())(t);if(e.children&&e.children.length>0){let r=t.children||[],i={nullValues:t.nullValues},s=Array.isArray(r)?((o,a)=>r[a]||i):(({name:o})=>r[o]||i);for(let[o,a]of e.children.entries()){let{type:l}=a,u=s(a,o);n.children.push(bi(Object.assign(Object.assign({},u),{type:l})))}}return n}function yu(t,e){return tb(t,e.map(n=>n.data.concat()))}function tb(t,e){let n=[...t.fields],r=[],i={numBatches:e.reduce((d,y)=>Math.max(d,y.length),0)},s=0,o=0,a=-1,l=e.length,u,c=[];for(;i.numBatches-- >0;){for(o=Number.POSITIVE_INFINITY,a=-1;++a0&&(r[s++]=Q({type:new pe(n),length:o,nullCount:0,children:c.slice()})))}return[t=t.assign(n),r.map(d=>new Ne(t,d))]}function nb(t,e,n,r,i){var s;let o=(e+63&-64)>>3;for(let a=-1,l=r.length;++a=e)c===e?n[a]=u:(n[a]=u.slice(0,e),i.numBatches=Math.max(i.numBatches,r[a].unshift(u.slice(e,c-e))));else{let d=t[a];t[a]=d.clone({nullable:!0}),n[a]=(s=u?._changeLengthAndBackfillNullBitmap(e))!==null&&s!==void 0?s:Q({type:d.type,length:e,nullCount:e,nullBitmap:new Uint8Array(o)})}}return n}var dy,_t=class t{constructor(...e){var n,r;if(e.length===0)return this.batches=[],this.schema=new ae([]),this._offsets=[0],this;let i,s;e[0]instanceof ae&&(i=e.shift()),e.at(-1)instanceof Uint32Array&&(s=e.pop());let o=l=>{if(l){if(l instanceof Ne)return[l];if(l instanceof t)return l.batches;if(l instanceof se){if(l.type instanceof pe)return[new Ne(new ae(l.type.children),l)]}else{if(Array.isArray(l))return l.flatMap(u=>o(u));if(typeof l[Symbol.iterator]=="function")return[...l].flatMap(u=>o(u));if(typeof l=="object"){let u=Object.keys(l),c=u.map(v=>new ee([l[v]])),d=i??new ae(u.map((v,S)=>new J(String(v),c[S].type,c[S].nullable))),[,y]=yu(d,c);return y.length===0?[new Ne(l)]:y}}}return[]},a=e.flatMap(l=>o(l));if(i=(r=i??((n=a[0])===null||n===void 0?void 0:n.schema))!==null&&r!==void 0?r:new ae([]),!(i instanceof ae))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");for(let l of a){if(!(l instanceof Ne))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");if(!Di(i,l.schema))throw new TypeError("Table and inner RecordBatch schemas must be equivalent.")}this.schema=i,this.batches=a,this._offsets=s??zl(this.data)}get data(){return this.batches.map(({data:e})=>e)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((e,n)=>e+n.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=jl(this.data)),this._nullCount}isValid(e){return!1}get(e){return null}at(e){return this.get(pi(e,this.numRows))}set(e,n){}indexOf(e,n){return-1}[Symbol.iterator](){return this.batches.length>0?hs.visit(new ee(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[ ${this.toArray().join(`, `)} -]`}concat(...e){let n=this.schema,r=this.data.concat(e.flatMap(({data:i})=>i));return new t(n,r.map(i=>new Ne(n,i)))}slice(e,n){let r=this.schema;[e,n]=Do({length:this.numRows},e,n);let i=Vl(this.data,this._offsets,e,n);return new t(r,i.map(s=>new Ne(r,s)))}getChild(e){return this.getChildAt(this.schema.fields.findIndex(n=>n.name===e))}getChildAt(e){if(e>-1&&er.children[e]);if(n.length===0){let{type:r}=this.schema.fields[e],i=Q({type:r,length:0,nullCount:0});n.push(i._changeLengthAndBackfillNullBitmap(this.numRows))}return new ee(n)}return null}setChild(e,n){var r;return this.setChildAt((r=this.schema.fields)===null||r===void 0?void 0:r.findIndex(i=>i.name===e),n)}setChildAt(e,n){let r=this.schema,i=[...this.batches];if(e>-1&&ethis.getChildAt(u));[s[e],a[e]]=[o,n],[r,i]=yu(r,a)}return new t(r,i)}select(e){let n=this.schema.fields.reduce((r,i,s)=>r.set(i.name,s),new Map);return this.selectAt(e.map(r=>n.get(r)).filter(r=>r>-1))}selectAt(e){let n=this.schema.selectAt(e),r=this.batches.map(i=>i.selectAt(e));return new t(n,r)}assign(e){let n=this.schema.fields,[r,i]=e.schema.fields.reduce((a,l,u)=>{let[c,d]=a,y=n.findIndex(v=>v.name===l.name);return~y?d[y]=u:c.push(u),a},[[],[]]),s=this.schema.assign(e.schema),o=[...n.map((a,l)=>[l,i[l]]).map(([a,l])=>l===void 0?this.getChildAt(a):e.getChildAt(l)),...r.map(a=>e.getChildAt(a))].filter(Boolean);return new t(...yu(s,o))}};dy=Symbol.toStringTag;_t[dy]=(t=>(t.schema=null,t.batches=[],t._offsets=new Uint32Array([0]),t._nullCount=-1,t[Symbol.isConcatSpreadable]=!0,t.isValid=ds(Oo),t.get=ds(Le.getVisitFn(p.Struct)),t.set=$l(Xe.getVisitFn(p.Struct)),t.indexOf=Wl(vi.getVisitFn(p.Struct)),"Table"))(_t.prototype);var py,Ne=class t{constructor(...e){switch(e.length){case 2:{if([this.schema]=e,!(this.schema instanceof ae))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");if([,this.data=Q({nullCount:0,type:new pe(this.schema.fields),children:this.schema.fields.map(n=>Q({type:n.type,nullCount:0}))})]=e,!(this.data instanceof se))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");[this.schema,this.data]=hy(this.schema,this.data.children);break}case 1:{let[n]=e,{fields:r,children:i,length:s}=Object.keys(n).reduce((l,u,c)=>(l.children[c]=n[u],l.length=Math.max(l.length,n[u].length),l.fields[c]=J.new({name:u,type:n[u].type,nullable:!0}),l),{length:0,fields:new Array,children:new Array}),o=new ae(r),a=Q({type:new pe(r),length:s,children:i,nullCount:0});[this.schema,this.data]=hy(o,a.children,s);break}default:throw new TypeError("RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.")}}get dictionaries(){return this._dictionaries||(this._dictionaries=my(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(e){return this.data.getValid(e)}get(e){return Le.visit(this.data,e)}at(e){return this.get(pi(e,this.numRows))}set(e,n){return Xe.visit(this.data,e,n)}indexOf(e,n){return vi.visit(this.data,e,n)}[Symbol.iterator](){return hs.visit(new ee([this.data]))}toArray(){return[...this]}concat(...e){return new _t(this.schema,[this,...e])}slice(e,n){let[r]=new ee([this.data]).slice(e,n).data;return new t(this.schema,r)}getChild(e){var n;return this.getChildAt((n=this.schema.fields)===null||n===void 0?void 0:n.findIndex(r=>r.name===e))}getChildAt(e){return e>-1&&ei.name===e),n)}setChildAt(e,n){let r=this.schema,i=this.data;if(e>-1&&ea.name===s);~o&&(i[o]=this.data.children[o])}return new t(n,Q({type:r,length:this.numRows,children:i}))}selectAt(e){let n=this.schema.selectAt(e),r=e.map(s=>this.data.children[s]).filter(Boolean),i=Q({type:new pe(n.fields),length:this.numRows,children:r});return new t(n,i)}};py=Symbol.toStringTag;Ne[py]=(t=>(t._nullCount=-1,t[Symbol.isConcatSpreadable]=!0,"RecordBatch"))(Ne.prototype);function hy(t,e,n=e.reduce((r,i)=>Math.max(r,i.length),0)){var r;let i=[...t.fields],s=[...e],o=(n+63&-64)>>3;for(let[a,l]of t.fields.entries()){let u=e[a];(!u||u.length!==n)&&(i[a]=l.clone({nullable:!0}),s[a]=(r=u?._changeLengthAndBackfillNullBitmap(n))!==null&&r!==void 0?r:Q({type:l.type,length:n,nullCount:n,nullBitmap:new Uint8Array(o)}))}return[t.assign(i),Q({type:new pe(i),length:n,children:s})]}function my(t,e,n=new Map){var r,i;if(((r=t?.length)!==null&&r!==void 0?r:0)>0&&t?.length===e?.length)for(let s=-1,o=t.length;++sQ({type:i.type})),r=Q({type:new pe(e.fields),nullCount:0,children:n});super(e,r)}};var _n=class t{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsMessage(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsMessage(e,n){return e.setPosition(e.position()+4),(n||new t).__init(e.readInt32(e.position())+e.position(),e)}version(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):le.V1}headerType(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb_pos+e):q.NONE}header(e){let n=this.bb.__offset(this.bb_pos,8);return n?this.bb.__union(e,this.bb_pos+n):null}bodyLength(){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt64(this.bb_pos+e):BigInt("0")}customMetadata(e,n){let r=this.bb.__offset(this.bb_pos,12);return r?(n||new Re).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){let e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startMessage(e){e.startObject(5)}static addVersion(e,n){e.addFieldInt16(0,n,le.V1)}static addHeaderType(e,n){e.addFieldInt8(1,n,q.NONE)}static addHeader(e,n){e.addFieldOffset(2,n,0)}static addBodyLength(e,n){e.addFieldInt64(3,n,BigInt("0"))}static addCustomMetadata(e,n){e.addFieldOffset(4,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endMessage(e){return e.endObject()}static finishMessageBuffer(e,n){e.finish(n)}static finishSizePrefixedMessageBuffer(e,n){e.finish(n,void 0,!0)}static createMessage(e,n,r,i,s,o){return t.startMessage(e),t.addVersion(e,n),t.addHeaderType(e,r),t.addHeader(e,i),t.addBodyLength(e,s),t.addCustomMetadata(e,o),t.endMessage(e)}};var qf=class extends C{visit(e,n){return e==null||n==null?void 0:super.visit(e,n)}visitNull(e,n){return wo.startNull(n),wo.endNull(n)}visitInt(e,n){return ln.startInt(n),ln.addBitWidth(n,e.bitWidth),ln.addIsSigned(n,e.isSigned),ln.endInt(n)}visitFloat(e,n){return Cr.startFloatingPoint(n),Cr.addPrecision(n,e.precision),Cr.endFloatingPoint(n)}visitBinary(e,n){return mo.startBinary(n),mo.endBinary(n)}visitLargeBinary(e,n){return go.startLargeBinary(n),go.endLargeBinary(n)}visitBool(e,n){return yo.startBool(n),yo.endBool(n)}visitUtf8(e,n){return bo.startUtf8(n),bo.endUtf8(n)}visitLargeUtf8(e,n){return vo.startLargeUtf8(n),vo.endLargeUtf8(n)}visitDecimal(e,n){return kn.startDecimal(n),kn.addScale(n,e.scale),kn.addPrecision(n,e.precision),kn.addBitWidth(n,e.bitWidth),kn.endDecimal(n)}visitDate(e,n){return kr.startDate(n),kr.addUnit(n,e.unit),kr.endDate(n)}visitTime(e,n){return Kn.startTime(n),Kn.addUnit(n,e.unit),Kn.addBitWidth(n,e.bitWidth),Kn.endTime(n)}visitTimestamp(e,n){let r=e.timezone&&n.createString(e.timezone)||void 0;return Qn.startTimestamp(n),Qn.addUnit(n,e.unit),r!==void 0&&Qn.addTimezone(n,r),Qn.endTimestamp(n)}visitInterval(e,n){return Ur.startInterval(n),Ur.addUnit(n,e.unit),Ur.endInterval(n)}visitDuration(e,n){return Ar.startDuration(n),Ar.addUnit(n,e.unit),Ar.endDuration(n)}visitList(e,n){return _o.startList(n),_o.endList(n)}visitStruct(e,n){return So.startStruct_(n),So.endStruct_(n)}visitUnion(e,n){un.startTypeIdsVector(n,e.typeIds.length);let r=un.createTypeIdsVector(n,e.typeIds);return un.startUnion(n),un.addMode(n,e.mode),un.addTypeIds(n,r),un.endUnion(n)}visitDictionary(e,n){let r=this.visit(e.indices,n);return En.startDictionaryEncoding(n),En.addId(n,BigInt(e.id)),En.addIsOrdered(n,e.isOrdered),r!==void 0&&En.addIndexType(n,r),En.endDictionaryEncoding(n)}visitFixedSizeBinary(e,n){return Lr.startFixedSizeBinary(n),Lr.addByteWidth(n,e.byteWidth),Lr.endFixedSizeBinary(n)}visitFixedSizeList(e,n){return Mr.startFixedSizeList(n),Mr.addListSize(n,e.listSize),Mr.endFixedSizeList(n)}visitMap(e,n){return Rr.startMap(n),Rr.addKeysSorted(n,e.keysSorted),Rr.endMap(n)}},gu=new qf;function _y(t,e=new Map){return new ae(ib(t,e),vu(t.metadata),e)}function ed(t){return new Ze(t.count,Sy(t.columns),by(t.columns))}function wy(t){return new St(ed(t.data),t.id,t.isDelta)}function ib(t,e){return(t.fields||[]).filter(Boolean).map(n=>J.fromJSON(n,e))}function yy(t,e){return(t.children||[]).filter(Boolean).map(n=>J.fromJSON(n,e))}function Sy(t){return(t||[]).reduce((e,n)=>[...e,new Qt(n.count,sb(n.VALIDITY)),...Sy(n.children)],[])}function by(t,e=[]){for(let n=-1,r=(t||[]).length;++ne+ +(n===0),0)}function xy(t,e){let n,r,i,s,o,a;return!e||!(s=t.dictionary)?(o=vy(t,yy(t,e)),i=new J(t.name,o,t.nullable,vu(t.metadata))):e.has(n=s.id)?(r=(r=s.indexType)?gy(r):new An,a=new At(e.get(n),r,n,s.isOrdered),i=new J(t.name,a,t.nullable,vu(t.metadata))):(r=(r=s.indexType)?gy(r):new An,e.set(n,o=vy(t,yy(t,e))),a=new At(o,r,n,s.isOrdered),i=new J(t.name,a,t.nullable,vu(t.metadata))),i||null}function vu(t=[]){return new Map(t.map(({key:e,value:n})=>[e,n]))}function gy(t){return new Pe(t.isSigned,t.bitWidth)}function vy(t,e){let n=t.type.name;switch(n){case"NONE":return new ft;case"null":return new ft;case"binary":return new Gn;case"largebinary":return new Xn;case"utf8":return new Zn;case"largeutf8":return new Jn;case"bool":return new qn;case"list":return new hn((e||[])[0]);case"struct":return new pe(e||[]);case"struct_":return new pe(e||[])}switch(n){case"int":{let r=t.type;return new Pe(r.isSigned,r.bitWidth)}case"floatingpoint":{let r=t.type;return new Ht(ce[r.precision])}case"decimal":{let r=t.type;return new er(r.scale,r.precision,r.bitWidth)}case"date":{let r=t.type;return new tr(Fe[r.unit])}case"time":{let r=t.type;return new nr(k[r.unit],r.bitWidth)}case"timestamp":{let r=t.type;return new rr(k[r.unit],r.timezone)}case"interval":{let r=t.type;return new ir(We[r.unit])}case"duration":{let r=t.type;return new sr(k[r.unit])}case"union":{let r=t.type,[i,...s]=(r.mode+"").toLowerCase(),o=i.toUpperCase()+s.join("");return new pn(de[o],r.typeIds||[],e||[])}case"fixedsizebinary":{let r=t.type;return new or(r.byteWidth)}case"fixedsizelist":{let r=t.type;return new mn(r.listSize,(e||[])[0])}case"map":{let r=t.type;return new yn((e||[])[0],r.keysSorted)}}throw new Error(`Unrecognized type: "${n}"`)}var ob=hi,ab=Et,bt=class t{static fromJSON(e,n){let r=new t(0,le.V5,n);return r._createHeader=lb(e,n),r}static decode(e){e=new ab(V(e));let n=_n.getRootAsMessage(e),r=n.bodyLength(),i=n.version(),s=n.headerType(),o=new t(r,i,s);return o._createHeader=ub(n,s),o}static encode(e){let n=new ob,r=-1;return e.isSchema()?r=ae.encode(n,e.header()):e.isRecordBatch()?r=Ze.encode(n,e.header()):e.isDictionaryBatch()&&(r=St.encode(n,e.header())),_n.startMessage(n),_n.addVersion(n,le.V5),_n.addHeader(n,r),_n.addHeaderType(n,e.headerType),_n.addBodyLength(n,BigInt(e.bodyLength)),_n.finishMessageBuffer(n,_n.endMessage(n)),n.asUint8Array()}static from(e,n=0){if(e instanceof ae)return new t(0,le.V5,q.Schema,e);if(e instanceof Ze)return new t(n,le.V5,q.RecordBatch,e);if(e instanceof St)return new t(n,le.V5,q.DictionaryBatch,e);throw new Error(`Unrecognized Message header: ${e}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===q.Schema}isRecordBatch(){return this.headerType===q.RecordBatch}isDictionaryBatch(){return this.headerType===q.DictionaryBatch}constructor(e,n,r,i){this._version=n,this._headerType=r,this.body=new Uint8Array(0),i&&(this._createHeader=()=>i),this._bodyLength=ne(e)}},Ze=class{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}constructor(e,n,r){this._nodes=n,this._buffers=r,this._length=ne(e)}},St=class{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(e,n,r=!1){this._data=e,this._isDelta=r,this._id=ne(n)}},wt=class{constructor(e,n){this.offset=ne(e),this.length=ne(n)}},Qt=class{constructor(e,n){this.length=ne(e),this.nullCount=ne(n)}};function lb(t,e){return(()=>{switch(e){case q.Schema:return ae.fromJSON(t);case q.RecordBatch:return Ze.fromJSON(t);case q.DictionaryBatch:return St.fromJSON(t)}throw new Error(`Unrecognized Message type: { name: ${q[e]}, type: ${e} }`)})}function ub(t,e){return(()=>{switch(e){case q.Schema:return ae.decode(t.header(new gt),new Map,t.version());case q.RecordBatch:return Ze.decode(t.header(new kt),t.version());case q.DictionaryBatch:return St.decode(t.header(new Yn),t.version())}throw new Error(`Unrecognized Message type: { name: ${q[e]}, type: ${e} }`)})}J.encode=wb;J.decode=vb;J.fromJSON=xy;ae.encode=_b;ae.decode=cb;ae.fromJSON=_y;Ze.encode=Sb;Ze.decode=fb;Ze.fromJSON=ed;St.encode=bb;St.decode=db;St.fromJSON=wy;Qt.encode=xb;Qt.decode=pb;wt.encode=Ib;wt.decode=hb;function cb(t,e=new Map,n=le.V5){let r=gb(t,e);return new ae(r,_u(t),e,n)}function fb(t,e=le.V5){if(t.compression()!==null)throw new Error("Record batch compression not implemented");return new Ze(t.length(),mb(t),yb(t,e))}function db(t,e=le.V5){return new St(Ze.decode(t.data(),e),t.id(),t.isDelta())}function hb(t){return new wt(t.offset(),t.length())}function pb(t){return new Qt(t.length(),t.nullCount())}function mb(t){let e=[];for(let n,r=-1,i=-1,s=t.nodesLength();++rJ.encode(t,s));gt.startFieldsVector(t,n.length);let r=gt.createFieldsVector(t,n),i=e.metadata&&e.metadata.size>0?gt.createCustomMetadataVector(t,[...e.metadata].map(([s,o])=>{let a=t.createString(`${s}`),l=t.createString(`${o}`);return Re.startKeyValue(t),Re.addKey(t,a),Re.addValue(t,l),Re.endKeyValue(t)})):-1;return gt.startSchema(t),gt.addFields(t,r),gt.addEndianness(t,Bb?Er.Little:Er.Big),i!==-1&>.addCustomMetadata(t,i),gt.endSchema(t)}function wb(t,e){let n=-1,r=-1,i=-1,s=e.type,o=e.typeId;F.isDictionary(s)?(o=s.dictionary.typeId,i=gu.visit(s,t),r=gu.visit(s.dictionary,t)):r=gu.visit(s,t);let a=(s.children||[]).map(c=>J.encode(t,c)),l=nt.createChildrenVector(t,a),u=e.metadata&&e.metadata.size>0?nt.createCustomMetadataVector(t,[...e.metadata].map(([c,d])=>{let y=t.createString(`${c}`),v=t.createString(`${d}`);return Re.startKeyValue(t),Re.addKey(t,y),Re.addValue(t,v),Re.endKeyValue(t)})):-1;return e.name&&(n=t.createString(e.name)),nt.startField(t),nt.addType(t,r),nt.addTypeType(t,o),nt.addChildren(t,l),nt.addNullable(t,!!e.nullable),n!==-1&&nt.addName(t,n),i!==-1&&nt.addDictionary(t,i),u!==-1&&nt.addCustomMetadata(t,u),nt.endField(t)}function Sb(t,e){let n=e.nodes||[],r=e.buffers||[];kt.startNodesVector(t,n.length);for(let o of n.slice().reverse())Qt.encode(t,o);let i=t.endVector();kt.startBuffersVector(t,r.length);for(let o of r.slice().reverse())wt.encode(t,o);let s=t.endVector();return kt.startRecordBatch(t),kt.addLength(t,BigInt(e.length)),kt.addNodes(t,i),kt.addBuffers(t,s),kt.endRecordBatch(t)}function bb(t,e){let n=Ze.encode(t,e.data);return Yn.startDictionaryBatch(t),Yn.addId(t,BigInt(e.id)),Yn.addIsDelta(t,e.isDelta),Yn.addData(t,n),Yn.endDictionaryBatch(t)}function xb(t,e){return rs.createFieldNode(t,BigInt(e.length),BigInt(e.nullCount))}function Ib(t,e){return ns.createBuffer(t,BigInt(e.offset),BigInt(e.length))}var Bb=(()=>{let t=new ArrayBuffer(2);return new DataView(t).setInt16(0,256,!0),new Int16Array(t)[0]===256})();var nd=t=>`Expected ${q[t]} Message in stream, but was null or length 0.`,rd=t=>`Header pointer of flatbuffer-encoded ${q[t]} Message is null or length 0.`,Ny=(t,e)=>`Expected to read ${t} metadata bytes, but only read ${e}.`,Ty=(t,e)=>`Expected to read ${t} bytes for message body, but only read ${e}.`,Ss=class{constructor(e){this.source=e instanceof Cn?e:new Cn(e)}[Symbol.iterator](){return this}next(){let e;return(e=this.readMetadataLength()).done?me:e.value===-1&&(e=this.readMetadataLength()).done?me:(e=this.readMetadata(e.value)).done?me:e}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}readMessage(e){let n;if((n=this.next()).done)return null;if(e!=null&&n.value.headerType!==e)throw new Error(nd(e));return n.value}readMessageBody(e){if(e<=0)return new Uint8Array(0);let n=V(this.source.read(e));if(n.byteLength[...i,...s.VALIDITY&&[s.VALIDITY]||[],...s.TYPE_ID&&[s.TYPE_ID]||[],...s.OFFSET&&[s.OFFSET]||[],...s.DATA&&[s.DATA]||[],...n(s.children)],[])}}readMessage(e){let n;if((n=this.next()).done)return null;if(e!=null&&n.value.headerType!==e)throw new Error(nd(e));return n.value}readSchema(){let e=q.Schema,n=this.readMessage(e),r=n?.header();if(!n||!r)throw new Error(rd(e));return r}},wu=4,td="ARROW1",bs=new Uint8Array(td.length);for(let t=0;tthis):this}readRecordBatch(e){return this._impl.isFile()?this._impl.readRecordBatch(e):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return Ge.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return Ge.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,n){throw new Error('"throughDOM" not available in this environment')}static from(e){return e instanceof t?e:Za(e)?Nb(e):qa(e)?Fb(e):Ot(e)?O(this,void 0,void 0,function*(){return yield t.from(yield e)}):el(e)||lo(e)||nl(e)||$t(e)?Ob(new Yt(e)):Tb(new Cn(e))}static readAll(e){return e instanceof t?e.isSync()?Fy(e):Ey(e):Za(e)||ArrayBuffer.isView(e)||sn(e)||Ja(e)?Fy(e):Ey(e)}},gr=class extends Ct{constructor(e){super(e),this._impl=e}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return Tt(this,arguments,function*(){yield X(yield*es(rn(this[Symbol.iterator]())))})}},Ti=class extends Ct{constructor(e){super(e),this._impl=e}readAll(){return O(this,void 0,void 0,function*(){var e,n,r,i;let s=new Array;try{for(var o=!0,a=rn(this),l;l=yield a.next(),e=l.done,!e;o=!0){i=l.value,o=!1;let u=i;s.push(u)}}catch(u){n={error:u}}finally{try{!o&&!e&&(r=a.return)&&(yield r.call(a))}finally{if(n)throw n.error}}return s})}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}},Oi=class extends gr{constructor(e){super(e),this._impl=e}},bu=class extends Ti{constructor(e){super(e),this._impl=e}},xu=class{get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}constructor(e=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=e}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(e){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=e,this.dictionaries=new Map,this}_loadRecordBatch(e,n){let r=this._loadVectors(e,n,this.schema.fields),i=Q({type:new pe(this.schema.fields),length:e.length,children:r});return new Ne(this.schema,i)}_loadDictionaryBatch(e,n){let{id:r,isDelta:i}=e,{dictionaries:s,schema:o}=this,a=s.get(r),l=o.dictionaries.get(r),u=this._loadVectors(e.data,n,[l]);return(a&&i?a.concat(new ee(u)):new ee(u)).memoize()}_loadVectors(e,n,r){return new Lo(n,e.nodes,e.buffers,this.dictionaries,this.schema.metadataVersion).visitMany(r)}},Is=class extends xu{constructor(e,n){super(n),this._reader=Za(e)?new sa(this._handle=e):new Ss(this._handle=e)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(e){return this.closed||(this.autoDestroy=ky(this,e),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(e):me}return(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(e):me}next(){if(this.closed)return me;let e,{_reader:n}=this;for(;e=this._readNextMessageAndValidate();)if(e.isSchema())this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;let r=e.header(),i=n.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;let r=e.header(),i=n.readMessageBody(e.bodyLength),s=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,s)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Ni(this.schema)}):this.return()}_readNextMessageAndValidate(e){return this._reader.readMessage(e)}},Bs=class extends xu{constructor(e,n){super(n),this._reader=new ia(this._handle=e)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return O(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(e){return O(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=ky(this,e),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(e){return O(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(e):me})}return(e){return O(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(e):me})}next(){return O(this,void 0,void 0,function*(){if(this.closed)return me;let e,{_reader:n}=this;for(;e=yield this._readNextMessageAndValidate();)if(e.isSchema())yield this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;let r=e.header(),i=yield n.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;let r=e.header(),i=yield n.readMessageBody(e.bodyLength),s=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,s)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Ni(this.schema)}):yield this.return()})}_readNextMessageAndValidate(e){return O(this,void 0,void 0,function*(){return yield this._reader.readMessage(e)})}},Iu=class extends Is{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(e,n){super(e instanceof Eo?e:new Eo(e),n)}isSync(){return!0}isFile(){return!0}open(e){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(let n of this._footer.dictionaryBatches())n&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(e)}readRecordBatch(e){var n;if(this.closed)return null;this._footer||this.open();let r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(e);if(r&&this._handle.seek(r.offset)){let i=this._reader.readMessage(q.RecordBatch);if(i?.isRecordBatch()){let s=i.header(),o=this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(s,o)}}return null}_readDictionaryBatch(e){var n;let r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(e);if(r&&this._handle.seek(r.offset)){let i=this._reader.readMessage(q.DictionaryBatch);if(i?.isDictionaryBatch()){let s=i.header(),o=this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(s,o);this.dictionaries.set(s.id,a)}}}_readFooter(){let{_handle:e}=this,n=e.size-id,r=e.readInt32(n),i=e.readAt(n-r,r);return ur.decode(i)}_readNextMessageAndValidate(e){var n;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return O(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(let r of this._footer.dictionaryBatches())r&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield n.open.call(this,e)})}readRecordBatch(e){return O(this,void 0,void 0,function*(){var n;if(this.closed)return null;this._footer||(yield this.open());let r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(e);if(r&&(yield this._handle.seek(r.offset))){let i=yield this._reader.readMessage(q.RecordBatch);if(i?.isRecordBatch()){let s=i.header(),o=yield this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(s,o)}}return null})}_readDictionaryBatch(e){return O(this,void 0,void 0,function*(){var n;let r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(e);if(r&&(yield this._handle.seek(r.offset))){let i=yield this._reader.readMessage(q.DictionaryBatch);if(i?.isDictionaryBatch()){let s=i.header(),o=yield this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(s,o);this.dictionaries.set(s.id,a)}}})}_readFooter(){return O(this,void 0,void 0,function*(){let{_handle:e}=this;e._pending&&(yield e._pending);let n=e.size-id,r=yield e.readInt32(n),i=yield e.readAt(n-r,r);return ur.decode(i)})}_readNextMessageAndValidate(e){return O(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?Su(e)?new Oi(new Iu(t.read())):new gr(new Is(t)):new gr(new Is((function*(){})()))}function Ob(t){return O(this,void 0,void 0,function*(){let e=yield t.peek(xs+7&-8);return e&&e.byteLength>=4?Su(e)?new Oi(new Iu(yield t.read())):new Ti(new Bs(t)):new Ti(new Bs((function(){return Tt(this,arguments,function*(){})})()))})}function Fb(t){return O(this,void 0,void 0,function*(){let{size:e}=yield t.stat(),n=new $r(t,e);return e>=Oy&&Su(yield n.readAt(0,xs+7&-8))?new bu(new sd(n)):new Ti(new Bs(n))})}var Se=class t extends C{static assemble(...e){let n=i=>i.flatMap(s=>Array.isArray(s)?n(s):s instanceof Ne?s.data.children:s.data),r=new t;return r.visitMany(n(e)),r}constructor(){super(),this._byteLength=0,this._nodes=[],this._buffers=[],this._bufferRegions=[]}visit(e){if(e instanceof ee)return this.visitMany(e.data),this;let{type:n}=e;if(!F.isDictionary(n)){let{length:r}=e;if(r>2147483647)throw new RangeError("Cannot write arrays larger than 2^31 - 1 in length");if(F.isUnion(n))this.nodes.push(new Qt(r,0));else{let{nullCount:i}=e;F.isNull(n)||wn.call(this,i<=0?new Uint8Array(0):yi(e.offset,r,e.nullBitmap)),this.nodes.push(new Qt(r,i))}}return super.visit(e)}visitNull(e){return this}visitDictionary(e){return this.visit(e.clone(e.type.indices))}get nodes(){return this._nodes}get buffers(){return this._buffers}get byteLength(){return this._byteLength}get bufferRegions(){return this._bufferRegions}};function wn(t){let e=t.byteLength+7&-8;return this.buffers.push(t),this.bufferRegions.push(new wt(this._byteLength,e)),this._byteLength+=e,this}function Eb(t){var e;let{type:n,length:r,typeIds:i,valueOffsets:s}=t;if(wn.call(this,i),n.mode===de.Sparse)return ad.call(this,t);if(n.mode===de.Dense){if(t.offset<=0)return wn.call(this,s),ad.call(this,t);{let o=new Int32Array(r),a=Object.create(null),l=Object.create(null);for(let u,c,d=-1;++d{let d=n.typeIds[c],y=a[d],v=l[d];return u.slice(y,Math.min(r,v))}))}}return this}function kb(t){let e;return t.nullCount>=t.length?wn.call(this,new Uint8Array(0)):(e=t.values)instanceof Uint8Array?wn.call(this,yi(t.offset,t.length,e)):wn.call(this,gi(t.values))}function vr(t){return wn.call(this,t.values.subarray(0,t.length*t.stride))}function Bu(t){let{length:e,values:n,valueOffsets:r}=t,i=ne(r[0]),s=ne(r[e]),o=Math.min(s-i,n.byteLength-i);return wn.call(this,il(-i,e+1,r)),wn.call(this,n.subarray(i,i+o)),this}function ld(t){let{length:e,valueOffsets:n}=t;if(n){let{[0]:r,[e]:i}=n;return wn.call(this,il(-r,e+1,n)),this.visit(t.children[0].slice(r,i-r))}return this.visit(t.children[0])}function ad(t){return this.visitMany(t.type.children.map((e,n)=>t.children[n]).filter(Boolean))[0]}Se.prototype.visitBool=kb;Se.prototype.visitInt=vr;Se.prototype.visitFloat=vr;Se.prototype.visitUtf8=Bu;Se.prototype.visitLargeUtf8=Bu;Se.prototype.visitBinary=Bu;Se.prototype.visitLargeBinary=Bu;Se.prototype.visitFixedSizeBinary=vr;Se.prototype.visitDate=vr;Se.prototype.visitTimestamp=vr;Se.prototype.visitTime=vr;Se.prototype.visitDecimal=vr;Se.prototype.visitList=ld;Se.prototype.visitStruct=ad;Se.prototype.visitUnion=Eb;Se.prototype.visitInterval=vr;Se.prototype.visitDuration=vr;Se.prototype.visitFixedSizeList=ld;Se.prototype.visitMap=ld;var Fi=class extends wi{static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,n){throw new Error('"throughDOM" not available in this environment')}constructor(e){super(),this._position=0,this._started=!1,this._sink=new Mn,this._schema=null,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._seenDictionaries=new Map,this._dictionaryDeltaOffsets=new Map,ct(e)||(e={autoDestroy:!0,writeLegacyIpcFormat:!1}),this._autoDestroy=typeof e.autoDestroy=="boolean"?e.autoDestroy:!0,this._writeLegacyIpcFormat=typeof e.writeLegacyIpcFormat=="boolean"?e.writeLegacyIpcFormat:!1}toString(e=!1){return this._sink.toString(e)}toUint8Array(e=!1){return this._sink.toUint8Array(e)}writeAll(e){return Ot(e)?e.then(n=>this.writeAll(n)):$t(e)?cd(this,e):ud(this,e)}get closed(){return this._sink.closed}[Symbol.asyncIterator](){return this._sink[Symbol.asyncIterator]()}toDOMStream(e){return this._sink.toDOMStream(e)}toNodeStream(e){return this._sink.toNodeStream(e)}close(){return this.reset()._sink.close()}abort(e){return this.reset()._sink.abort(e)}finish(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}reset(e=this._sink,n=null){return e===this._sink||e instanceof Mn?this._sink=e:(this._sink=new Mn,e&&Qp(e)?this.toDOMStream({type:"bytes"}).pipeTo(e):e&&Gp(e)&&this.toNodeStream({objectMode:!1}).pipe(e)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._seenDictionaries=new Map,this._dictionaryDeltaOffsets=new Map,(!n||!Di(n,this._schema))&&(n==null?(this._position=0,this._schema=null):(this._started=!0,this._schema=n,this._writeSchema(n))),this}write(e){let n=null;if(this._sink){if(e==null)return this.finish()&&void 0;if(e instanceof _t&&!(n=e.schema))return this.finish()&&void 0;if(e instanceof Ne&&!(n=e.schema))return this.finish()&&void 0}else throw new Error("RecordBatchWriter is closed");if(n&&!Di(n,this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,n)}e instanceof Ne?e instanceof Ni||this._writeRecordBatch(e):e instanceof _t?this.writeAll(e.batches):sn(e)&&this.writeAll(e)}_writeMessage(e,n=8){let r=n-1,i=bt.encode(e),s=i.byteLength,o=this._writeLegacyIpcFormat?4:8,a=s+o+r&~r,l=a-s-o;return e.headerType===q.RecordBatch?this._recordBatchBlocks.push(new cr(a,e.bodyLength,this._position)):e.headerType===q.DictionaryBatch&&this._dictionaryBlocks.push(new cr(a,e.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(a-o)),s>0&&this._write(i),this._writePadding(l)}_write(e){if(this._started){let n=V(e);n&&n.byteLength>0&&(this._sink.write(n),this._position+=n.byteLength)}return this}_writeSchema(e){return this._writeMessage(bt.from(e))}_writeFooter(e){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}_writeMagic(){return this._write(bs)}_writePadding(e){return e>0?this._write(new Uint8Array(e)):this}_writeRecordBatch(e){let{byteLength:n,nodes:r,bufferRegions:i,buffers:s}=Se.assemble(e),o=new Ze(e.numRows,r,i),a=bt.from(o,n);return this._writeDictionaries(e)._writeMessage(a)._writeBodyBuffers(s)}_writeDictionaryBatch(e,n,r=!1){let{byteLength:i,nodes:s,bufferRegions:o,buffers:a}=Se.assemble(new ee([e])),l=new Ze(e.length,s,o),u=new St(l,n,r),c=bt.from(u,i);return this._writeMessage(c)._writeBodyBuffers(a)}_writeBodyBuffers(e){let n,r,i;for(let s=-1,o=e.length;++s0&&(this._write(n),(i=(r+7&-8)-r)>0&&this._writePadding(i));return this}_writeDictionaries(e){var n,r;for(let[i,s]of e.dictionaries){let o=(n=s?.data)!==null&&n!==void 0?n:[],a=this._seenDictionaries.get(i),l=(r=this._dictionaryDeltaOffsets.get(i))!==null&&r!==void 0?r:0;if(!a||a.data[0]!==o[0])for(let[u,c]of o.entries())this._writeDictionaryBatch(c,i,u>0);else if(lr.writeAll(i)):$t(e)?cd(r,e):ud(r,e)}},aa=class t extends Fi{static writeAll(e){let n=new t;return Ot(e)?e.then(r=>n.writeAll(r)):$t(e)?cd(n,e):ud(n,e)}constructor(){super(),this._autoDestroy=!0}_writeSchema(e){return this._writeMagic()._writePadding(2)}_writeDictionaryBatch(e,n,r=!1){if(!r&&this._seenDictionaries.has(n))throw new Error("The Arrow File format does not support replacement dictionaries. ");return super._writeDictionaryBatch(e,n,r)}_writeFooter(e){let n=ur.encode(new ur(e,le.V5,this._recordBatchBlocks,this._dictionaryBlocks));return super._writeFooter(e)._write(n)._write(Int32Array.of(n.byteLength))._writeMagic()}};function ud(t,e){let n=e;e instanceof _t&&(n=e.batches,t.reset(void 0,e.schema));for(let r of n)t.write(r);return t.finish()}function cd(t,e){return O(this,void 0,void 0,function*(){var n,r,i,s,o,a,l;try{for(n=!0,r=rn(e);i=yield r.next(),s=i.done,!s;n=!0){l=i.value,n=!1;let u=l;t.write(u)}}catch(u){o={error:u}}finally{try{!n&&!s&&(a=r.return)&&(yield a.call(r))}finally{if(o)throw o.error}}return t.finish()})}function Ay(t,e){if($t(t))return Lb(t,e);if(sn(t))return Ab(t,e);throw new Error("toDOMStream() must be called with an Iterable or AsyncIterable")}function Ab(t,e){let n=null,r=e?.type==="bytes"||!1,i=e?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},e),{start(o){s(o,n||(n=t[Symbol.iterator]()))},pull(o){n?s(o,n):o.close()},cancel(){(n?.return&&n.return()||!0)&&(n=null)}}),Object.assign({highWaterMark:r?i:void 0},e));function s(o,a){let l,u=null,c=o.desiredSize||null;for(;!(u=a.next(r?c:null)).done;)if(ArrayBuffer.isView(u.value)&&(l=V(u.value))&&(c!=null&&r&&(c=c-l.byteLength+1),u.value=l),o.enqueue(u.value),c!=null&&--c<=0)return;o.close()}}function Lb(t,e){let n=null,r=e?.type==="bytes"||!1,i=e?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},e),{start(o){return O(this,void 0,void 0,function*(){yield s(o,n||(n=t[Symbol.asyncIterator]()))})},pull(o){return O(this,void 0,void 0,function*(){n?yield s(o,n):o.close()})},cancel(){return O(this,void 0,void 0,function*(){(n?.return&&(yield n.return())||!0)&&(n=null)})}}),Object.assign({highWaterMark:r?i:void 0},e));function s(o,a){return O(this,void 0,void 0,function*(){let l,u=null,c=o.desiredSize||null;for(;!(u=yield a.next(r?c:null)).done;)if(ArrayBuffer.isView(u.value)&&(l=V(u.value))&&(c!=null&&r&&(c=c-l.byteLength+1),u.value=l),o.enqueue(u.value),c!=null&&--c<=0)return;o.close()})}}function Cy(t){return new fd(t)}var fd=class{constructor(e){this._numChunks=0,this._finished=!1,this._bufferedSize=0;let{["readableStrategy"]:n,["writableStrategy"]:r,["queueingStrategy"]:i="count"}=e,s=Yp(e,["readableStrategy","writableStrategy","queueingStrategy"]);this._controller=null,this._builder=bi(s),this._getSize=i!=="bytes"?Ly:My;let{["highWaterMark"]:o=i==="bytes"?Math.pow(2,14):1e3}=Object.assign({},n),{["highWaterMark"]:a=i==="bytes"?Math.pow(2,14):1e3}=Object.assign({},r);this.readable=new ReadableStream({cancel:()=>{this._builder.clear()},pull:l=>{this._maybeFlush(this._builder,this._controller=l)},start:l=>{this._maybeFlush(this._builder,this._controller=l)}},{highWaterMark:o,size:i!=="bytes"?Ly:My}),this.writable=new WritableStream({abort:()=>{this._builder.clear()},write:()=>{this._maybeFlush(this._builder,this._controller)},close:()=>{this._maybeFlush(this._builder.finish(),this._controller)}},{highWaterMark:a,size:l=>this._writeValueAndReturnChunkSize(l)})}_writeValueAndReturnChunkSize(e){let n=this._bufferedSize;return this._bufferedSize=this._getSize(this._builder.append(e)),this._bufferedSize-n}_maybeFlush(e,n){n!=null&&(this._bufferedSize>=n.desiredSize&&++this._numChunks&&this._enqueue(n,e.toVector()),e.finished&&((e.length>0||this._numChunks===0)&&++this._numChunks&&this._enqueue(n,e.toVector()),!this._finished&&(this._finished=!0)&&this._enqueue(n,null)))}_enqueue(e,n){this._bufferedSize=0,this._controller=null,n==null?e.close():e.enqueue(n)}},Ly=t=>{var e;return(e=t?.length)!==null&&e!==void 0?e:0},My=t=>{var e;return(e=t?.byteLength)!==null&&e!==void 0?e:0};function Du(t,e){let n=new Mn,r=null,i=new ReadableStream({cancel(){return O(this,void 0,void 0,function*(){yield n.close()})},start(a){return O(this,void 0,void 0,function*(){yield o(a,r||(r=yield s()))})},pull(a){return O(this,void 0,void 0,function*(){r?yield o(a,r):a.close()})}});return{writable:new WritableStream(n,Object.assign({highWaterMark:Math.pow(2,14)},t)),readable:i};function s(){return O(this,void 0,void 0,function*(){return yield(yield Ct.from(n)).open(e)})}function o(a,l){return O(this,void 0,void 0,function*(){let u=a.desiredSize,c=null;for(;!(c=yield l.next()).done;)if(a.enqueue(c.value),u!=null&&--u<=0)return;a.close()})}}function Nu(t,e){let n=new this(t),r=new Yt(n),i=new ReadableStream({cancel(){return O(this,void 0,void 0,function*(){yield r.cancel()})},pull(o){return O(this,void 0,void 0,function*(){yield s(o)})},start(o){return O(this,void 0,void 0,function*(){yield s(o)})}},Object.assign({highWaterMark:Math.pow(2,14)},e));return{writable:new WritableStream(n,t),readable:i};function s(o){return O(this,void 0,void 0,function*(){let a=null,l=o.desiredSize;for(;a=yield r.read(l||null);)if(o.enqueue(a),l!=null&&(l-=a.byteLength)<=0)return;o.close()})}}function la(t){let e=Ct.from(t);return Ot(e)?e.then(n=>la(n)):e.isAsync()?e.readAll().then(n=>new _t(n)):new _t(e.readAll())}var Cb=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},xf),Qf),Pf),If),yf),Rf),_f),{compareSchemas:Di,compareFields:cy,compareTypes:fy});Ge.toDOMStream=Ay;ge.throughDOM=Cy;Ct.throughDOM=Du;Oi.throughDOM=Du;gr.throughDOM=Du;Fi.throughDOM=Nu;aa.throughDOM=Nu;oa.throughDOM=Nu;var Ub=Object.create,Rb=Object.getPrototypeOf,$d=Object.defineProperty,Pb=Object.getOwnPropertyNames,jb=Object.prototype.hasOwnProperty;function zb(t){return this[t]}var Vb,$b,he=(t,e,n)=>{var r=t!=null&&typeof t=="object";if(r){var i=e?Vb??=new WeakMap:$b??=new WeakMap,s=i.get(t);if(s)return s}n=t!=null?Ub(Rb(t)):{};let o=e||!t||!t.__esModule?$d(n,"default",{value:t,enumerable:!0}):n;for(let a of Pb(t))jb.call(o,a)||$d(o,a,{get:zb.bind(t,a),enumerable:!0});return r&&i.set(t,o),o},so=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Wb=t=>t;function Hb(t,e){this[t]=Wb.bind(null,e)}var Gh=(t,e)=>{for(var n in e)$d(t,n,{get:e[n],enumerable:!0,configurable:!0,set:Hb.bind(e,n)})},Xh=(t,e)=>()=>(t&&(e=t(t=0)),e),bv={};Gh(bv,{version:()=>_x,useTransition:()=>vx,useSyncExternalStore:()=>gx,useState:()=>yx,useRef:()=>mx,useReducer:()=>px,useMemo:()=>hx,useLayoutEffect:()=>dx,useInsertionEffect:()=>fx,useImperativeHandle:()=>cx,useId:()=>ux,useEffect:()=>lx,useDeferredValue:()=>ax,useDebugValue:()=>ox,useContext:()=>sx,useCallback:()=>ix,unstable_act:()=>zv,startTransition:()=>rx,memo:()=>nx,lazy:()=>tx,isValidElement:()=>jv,forwardRef:()=>ex,createRef:()=>qb,createFactory:()=>Jb,createElement:()=>Pv,createContext:()=>Zb,cloneElement:()=>Xb,act:()=>Rv,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:()=>Uv,Suspense:()=>Cv,StrictMode:()=>Mv,PureComponent:()=>Lv,Profiler:()=>Av,Fragment:()=>kv,Component:()=>Ev,Children:()=>Fv});function Yb(t){return t===null||typeof t!="object"?null:(t=Hd&&t[Hd]||t["@@iterator"],typeof t=="function"?t:null)}function Ds(t,e,n){this.props=t,this.context=e,this.refs=Jh,this.updater=n||Zh}function Uy(){}function dd(t,e,n){this.props=t,this.context=e,this.refs=Jh,this.updater=n||Zh}function xv(t,e,n){var r,i={},s=null,o=null;if(e!=null)for(r in e.ref!==void 0&&(o=e.ref),e.key!==void 0&&(s=""+e.key),e)qh.call(e,r)&&!ep.hasOwnProperty(r)&&(i[r]=e[r]);var a=arguments.length-2;if(a===1)i.children=n;else if(1{oo=Symbol.for("react.element"),Iv=Symbol.for("react.portal"),Py=Symbol.for("react.fragment"),jy=Symbol.for("react.strict_mode"),zy=Symbol.for("react.profiler"),Bv=Symbol.for("react.provider"),Dv=Symbol.for("react.context"),Nv=Symbol.for("react.forward_ref"),Vy=Symbol.for("react.suspense"),Tv=Symbol.for("react.memo"),Ov=Symbol.for("react.lazy"),Hd=Symbol.iterator,Zh={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Yd=Object.assign,Jh={},Ds.prototype.isReactComponent={},Ds.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")},Ds.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")},Uy.prototype=Ds.prototype,Ou=dd.prototype=new Uy,Ou.constructor=dd,Yd(Ou,Ds.prototype),Ou.isPureReactComponent=!0,Kd=Array.isArray,qh=Object.prototype.hasOwnProperty,cc={current:null},ep={key:!0,ref:!0,__self:!0,__source:!0},Qd=/\/+/g,ut={current:null},Ia={transition:null},$y={ReactCurrentDispatcher:ut,ReactCurrentBatchConfig:Ia,ReactCurrentOwner:cc},Fv={map:Tu,forEach:function(t,e,n){Tu(t,function(){e.apply(this,arguments)},n)},count:function(t){var e=0;return Tu(t,function(){e++}),e},toArray:function(t){return Tu(t,function(e){return e})||[]},only:function(t){if(!Wd(t))throw Error("React.Children.only expected to receive a single React element child.");return t}},Ev=Ds,kv=Py,Av=zy,Lv=dd,Mv=jy,Cv=Vy,Uv=$y,Rv=Ry,Pv=xv,jv=Wd,zv=Ry}),nn=so((t,e)=>{wx(),e.exports=bv}),Sx=so(t=>{function e(T,M){var _=T.length;T.push(M);e:for(;0<_;){var B=_-1>>>1,te=T[B];if(0>>1;B<$e;){var ui=2*(B+1)-1,cf=T[ui],ci=ui+1,Xa=T[ci];if(0>i(cf,_))cii(Xa,cf)?(T[B]=Xa,T[ci]=_,B=ci):(T[B]=cf,T[ui]=_,B=ui);else if(cii(Xa,_))T[B]=Xa,T[ci]=_,B=ci;else break e}}return M}function i(T,M){var _=T.sortIndex-M.sortIndex;return _!==0?_:T.id-M.id}typeof performance=="object"&&typeof performance.now=="function"?(s=performance,t.unstable_now=function(){return s.now()}):(o=Date,a=o.now(),t.unstable_now=function(){return o.now()-a});var s,o,a,l=[],u=[],c=1,d=null,y=3,v=!1,w=!1,b=!1,Y=typeof setTimeout=="function"?setTimeout:null,h=typeof clearTimeout=="function"?clearTimeout:null,f=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function m(T){for(var M=n(u);M!==null;){if(M.callback===null)r(u);else if(M.startTime<=T)r(u),M.sortIndex=M.expirationTime,e(l,M);else break;M=n(u)}}function g(T){if(b=!1,m(T),!w)if(n(l)!==null)w=!0,Ve(I);else{var M=n(u);M!==null&&Fr(g,M.startTime-T)}}function I(T,M){w=!1,b&&(b=!1,h(S),S=-1),v=!0;var _=y;try{for(m(M),d=n(l);d!==null&&(!(d.expirationTime>M)||T&&!ie());){var B=d.callback;if(typeof B=="function"){d.callback=null,y=d.priorityLevel;var te=B(d.expirationTime<=M);M=t.unstable_now(),typeof te=="function"?d.callback=te:d===n(l)&&r(l),m(M)}else r(l);d=n(l)}if(d!==null)var $e=!0;else{var ui=n(u);ui!==null&&Fr(g,ui.startTime-M),$e=!1}return $e}finally{d=null,y=_,v=!1}}var D=!1,N=null,S=-1,K=5,L=-1;function ie(){return!(t.unstable_now()-LT||125B?(T.sortIndex=_,e(u,T),n(l)===null&&T===n(u)&&(b?(h(S),S=-1):b=!0,Fr(g,_-B))):(T.sortIndex=te,e(l,T),w||v||(w=!0,Ve(I))),T},t.unstable_shouldYield=ie,t.unstable_wrapCallback=function(T){var M=y;return function(){var _=y;y=M;try{return T.apply(this,arguments)}finally{y=_}}}}),bx=so((t,e)=>{var n=he(Sx());e.exports=n}),Vv={};Gh(Vv,{version:()=>A1,unstable_renderSubtreeIntoContainer:()=>k1,unstable_batchedUpdates:()=>X_,unmountComponentAtNode:()=>E1,render:()=>F1,hydrateRoot:()=>O1,hydrate:()=>T1,flushSync:()=>N1,findDOMNode:()=>D1,createRoot:()=>B1,createPortal:()=>I1,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:()=>G_});function x(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;n"u"||Ix(t,e,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function ht(t,e,n,r,i,s,o){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=t,this.type=e,this.sanitizeURL=s,this.removeEmptyString=o}function pd(t){return t[1].toUpperCase()}function tp(t,e,n,r){var i=He.hasOwnProperty(e)?He[e]:null;(i!==null?i.type!==0:r||!(2i));return new t(n,r.map(i=>new Ne(n,i)))}slice(e,n){let r=this.schema;[e,n]=Do({length:this.numRows},e,n);let i=Vl(this.data,this._offsets,e,n);return new t(r,i.map(s=>new Ne(r,s)))}getChild(e){return this.getChildAt(this.schema.fields.findIndex(n=>n.name===e))}getChildAt(e){if(e>-1&&er.children[e]);if(n.length===0){let{type:r}=this.schema.fields[e],i=Q({type:r,length:0,nullCount:0});n.push(i._changeLengthAndBackfillNullBitmap(this.numRows))}return new ee(n)}return null}setChild(e,n){var r;return this.setChildAt((r=this.schema.fields)===null||r===void 0?void 0:r.findIndex(i=>i.name===e),n)}setChildAt(e,n){let r=this.schema,i=[...this.batches];if(e>-1&&ethis.getChildAt(u));[s[e],a[e]]=[o,n],[r,i]=yu(r,a)}return new t(r,i)}select(e){let n=this.schema.fields.reduce((r,i,s)=>r.set(i.name,s),new Map);return this.selectAt(e.map(r=>n.get(r)).filter(r=>r>-1))}selectAt(e){let n=this.schema.selectAt(e),r=this.batches.map(i=>i.selectAt(e));return new t(n,r)}assign(e){let n=this.schema.fields,[r,i]=e.schema.fields.reduce((a,l,u)=>{let[c,d]=a,y=n.findIndex(v=>v.name===l.name);return~y?d[y]=u:c.push(u),a},[[],[]]),s=this.schema.assign(e.schema),o=[...n.map((a,l)=>[l,i[l]]).map(([a,l])=>l===void 0?this.getChildAt(a):e.getChildAt(l)),...r.map(a=>e.getChildAt(a))].filter(Boolean);return new t(...yu(s,o))}};dy=Symbol.toStringTag;_t[dy]=(t=>(t.schema=null,t.batches=[],t._offsets=new Uint32Array([0]),t._nullCount=-1,t[Symbol.isConcatSpreadable]=!0,t.isValid=ds(Oo),t.get=ds(Le.getVisitFn(p.Struct)),t.set=$l(Xe.getVisitFn(p.Struct)),t.indexOf=Wl(vi.getVisitFn(p.Struct)),"Table"))(_t.prototype);var py,Ne=class t{constructor(...e){switch(e.length){case 2:{if([this.schema]=e,!(this.schema instanceof ae))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");if([,this.data=Q({nullCount:0,type:new pe(this.schema.fields),children:this.schema.fields.map(n=>Q({type:n.type,nullCount:0}))})]=e,!(this.data instanceof se))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");[this.schema,this.data]=hy(this.schema,this.data.children);break}case 1:{let[n]=e,{fields:r,children:i,length:s}=Object.keys(n).reduce((l,u,c)=>(l.children[c]=n[u],l.length=Math.max(l.length,n[u].length),l.fields[c]=J.new({name:u,type:n[u].type,nullable:!0}),l),{length:0,fields:new Array,children:new Array}),o=new ae(r),a=Q({type:new pe(r),length:s,children:i,nullCount:0});[this.schema,this.data]=hy(o,a.children,s);break}default:throw new TypeError("RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.")}}get dictionaries(){return this._dictionaries||(this._dictionaries=my(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(e){return this.data.getValid(e)}get(e){return Le.visit(this.data,e)}at(e){return this.get(pi(e,this.numRows))}set(e,n){return Xe.visit(this.data,e,n)}indexOf(e,n){return vi.visit(this.data,e,n)}[Symbol.iterator](){return hs.visit(new ee([this.data]))}toArray(){return[...this]}concat(...e){return new _t(this.schema,[this,...e])}slice(e,n){let[r]=new ee([this.data]).slice(e,n).data;return new t(this.schema,r)}getChild(e){var n;return this.getChildAt((n=this.schema.fields)===null||n===void 0?void 0:n.findIndex(r=>r.name===e))}getChildAt(e){return e>-1&&ei.name===e),n)}setChildAt(e,n){let r=this.schema,i=this.data;if(e>-1&&ea.name===s);~o&&(i[o]=this.data.children[o])}return new t(n,Q({type:r,length:this.numRows,children:i}))}selectAt(e){let n=this.schema.selectAt(e),r=e.map(s=>this.data.children[s]).filter(Boolean),i=Q({type:new pe(n.fields),length:this.numRows,children:r});return new t(n,i)}};py=Symbol.toStringTag;Ne[py]=(t=>(t._nullCount=-1,t[Symbol.isConcatSpreadable]=!0,"RecordBatch"))(Ne.prototype);function hy(t,e,n=e.reduce((r,i)=>Math.max(r,i.length),0)){var r;let i=[...t.fields],s=[...e],o=(n+63&-64)>>3;for(let[a,l]of t.fields.entries()){let u=e[a];(!u||u.length!==n)&&(i[a]=l.clone({nullable:!0}),s[a]=(r=u?._changeLengthAndBackfillNullBitmap(n))!==null&&r!==void 0?r:Q({type:l.type,length:n,nullCount:n,nullBitmap:new Uint8Array(o)}))}return[t.assign(i),Q({type:new pe(i),length:n,children:s})]}function my(t,e,n=new Map){var r,i;if(((r=t?.length)!==null&&r!==void 0?r:0)>0&&t?.length===e?.length)for(let s=-1,o=t.length;++sQ({type:i.type})),r=Q({type:new pe(e.fields),nullCount:0,children:n});super(e,r)}};var _n=class t{constructor(){this.bb=null,this.bb_pos=0}__init(e,n){return this.bb_pos=e,this.bb=n,this}static getRootAsMessage(e,n){return(n||new t).__init(e.readInt32(e.position())+e.position(),e)}static getSizePrefixedRootAsMessage(e,n){return e.setPosition(e.position()+4),(n||new t).__init(e.readInt32(e.position())+e.position(),e)}version(){let e=this.bb.__offset(this.bb_pos,4);return e?this.bb.readInt16(this.bb_pos+e):le.V1}headerType(){let e=this.bb.__offset(this.bb_pos,6);return e?this.bb.readUint8(this.bb_pos+e):q.NONE}header(e){let n=this.bb.__offset(this.bb_pos,8);return n?this.bb.__union(e,this.bb_pos+n):null}bodyLength(){let e=this.bb.__offset(this.bb_pos,10);return e?this.bb.readInt64(this.bb_pos+e):BigInt("0")}customMetadata(e,n){let r=this.bb.__offset(this.bb_pos,12);return r?(n||new Re).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+e*4),this.bb):null}customMetadataLength(){let e=this.bb.__offset(this.bb_pos,12);return e?this.bb.__vector_len(this.bb_pos+e):0}static startMessage(e){e.startObject(5)}static addVersion(e,n){e.addFieldInt16(0,n,le.V1)}static addHeaderType(e,n){e.addFieldInt8(1,n,q.NONE)}static addHeader(e,n){e.addFieldOffset(2,n,0)}static addBodyLength(e,n){e.addFieldInt64(3,n,BigInt("0"))}static addCustomMetadata(e,n){e.addFieldOffset(4,n,0)}static createCustomMetadataVector(e,n){e.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)e.addOffset(n[r]);return e.endVector()}static startCustomMetadataVector(e,n){e.startVector(4,n,4)}static endMessage(e){return e.endObject()}static finishMessageBuffer(e,n){e.finish(n)}static finishSizePrefixedMessageBuffer(e,n){e.finish(n,void 0,!0)}static createMessage(e,n,r,i,s,o){return t.startMessage(e),t.addVersion(e,n),t.addHeaderType(e,r),t.addHeader(e,i),t.addBodyLength(e,s),t.addCustomMetadata(e,o),t.endMessage(e)}};var qf=class extends C{visit(e,n){return e==null||n==null?void 0:super.visit(e,n)}visitNull(e,n){return wo.startNull(n),wo.endNull(n)}visitInt(e,n){return ln.startInt(n),ln.addBitWidth(n,e.bitWidth),ln.addIsSigned(n,e.isSigned),ln.endInt(n)}visitFloat(e,n){return Cr.startFloatingPoint(n),Cr.addPrecision(n,e.precision),Cr.endFloatingPoint(n)}visitBinary(e,n){return mo.startBinary(n),mo.endBinary(n)}visitLargeBinary(e,n){return go.startLargeBinary(n),go.endLargeBinary(n)}visitBool(e,n){return yo.startBool(n),yo.endBool(n)}visitUtf8(e,n){return bo.startUtf8(n),bo.endUtf8(n)}visitLargeUtf8(e,n){return vo.startLargeUtf8(n),vo.endLargeUtf8(n)}visitDecimal(e,n){return kn.startDecimal(n),kn.addScale(n,e.scale),kn.addPrecision(n,e.precision),kn.addBitWidth(n,e.bitWidth),kn.endDecimal(n)}visitDate(e,n){return kr.startDate(n),kr.addUnit(n,e.unit),kr.endDate(n)}visitTime(e,n){return Kn.startTime(n),Kn.addUnit(n,e.unit),Kn.addBitWidth(n,e.bitWidth),Kn.endTime(n)}visitTimestamp(e,n){let r=e.timezone&&n.createString(e.timezone)||void 0;return Qn.startTimestamp(n),Qn.addUnit(n,e.unit),r!==void 0&&Qn.addTimezone(n,r),Qn.endTimestamp(n)}visitInterval(e,n){return Ur.startInterval(n),Ur.addUnit(n,e.unit),Ur.endInterval(n)}visitDuration(e,n){return Ar.startDuration(n),Ar.addUnit(n,e.unit),Ar.endDuration(n)}visitList(e,n){return _o.startList(n),_o.endList(n)}visitStruct(e,n){return So.startStruct_(n),So.endStruct_(n)}visitUnion(e,n){un.startTypeIdsVector(n,e.typeIds.length);let r=un.createTypeIdsVector(n,e.typeIds);return un.startUnion(n),un.addMode(n,e.mode),un.addTypeIds(n,r),un.endUnion(n)}visitDictionary(e,n){let r=this.visit(e.indices,n);return En.startDictionaryEncoding(n),En.addId(n,BigInt(e.id)),En.addIsOrdered(n,e.isOrdered),r!==void 0&&En.addIndexType(n,r),En.endDictionaryEncoding(n)}visitFixedSizeBinary(e,n){return Lr.startFixedSizeBinary(n),Lr.addByteWidth(n,e.byteWidth),Lr.endFixedSizeBinary(n)}visitFixedSizeList(e,n){return Mr.startFixedSizeList(n),Mr.addListSize(n,e.listSize),Mr.endFixedSizeList(n)}visitMap(e,n){return Rr.startMap(n),Rr.addKeysSorted(n,e.keysSorted),Rr.endMap(n)}},gu=new qf;function _y(t,e=new Map){return new ae(ib(t,e),vu(t.metadata),e)}function ed(t){return new Ze(t.count,Sy(t.columns),by(t.columns))}function wy(t){return new St(ed(t.data),t.id,t.isDelta)}function ib(t,e){return(t.fields||[]).filter(Boolean).map(n=>J.fromJSON(n,e))}function yy(t,e){return(t.children||[]).filter(Boolean).map(n=>J.fromJSON(n,e))}function Sy(t){return(t||[]).reduce((e,n)=>[...e,new Qt(n.count,sb(n.VALIDITY)),...Sy(n.children)],[])}function by(t,e=[]){for(let n=-1,r=(t||[]).length;++ne+ +(n===0),0)}function xy(t,e){let n,r,i,s,o,a;return!e||!(s=t.dictionary)?(o=vy(t,yy(t,e)),i=new J(t.name,o,t.nullable,vu(t.metadata))):e.has(n=s.id)?(r=(r=s.indexType)?gy(r):new An,a=new At(e.get(n),r,n,s.isOrdered),i=new J(t.name,a,t.nullable,vu(t.metadata))):(r=(r=s.indexType)?gy(r):new An,e.set(n,o=vy(t,yy(t,e))),a=new At(o,r,n,s.isOrdered),i=new J(t.name,a,t.nullable,vu(t.metadata))),i||null}function vu(t=[]){return new Map(t.map(({key:e,value:n})=>[e,n]))}function gy(t){return new Pe(t.isSigned,t.bitWidth)}function vy(t,e){let n=t.type.name;switch(n){case"NONE":return new ft;case"null":return new ft;case"binary":return new Gn;case"largebinary":return new Xn;case"utf8":return new Zn;case"largeutf8":return new Jn;case"bool":return new qn;case"list":return new hn((e||[])[0]);case"struct":return new pe(e||[]);case"struct_":return new pe(e||[])}switch(n){case"int":{let r=t.type;return new Pe(r.isSigned,r.bitWidth)}case"floatingpoint":{let r=t.type;return new Ht(ce[r.precision])}case"decimal":{let r=t.type;return new er(r.scale,r.precision,r.bitWidth)}case"date":{let r=t.type;return new tr(Fe[r.unit])}case"time":{let r=t.type;return new nr(k[r.unit],r.bitWidth)}case"timestamp":{let r=t.type;return new rr(k[r.unit],r.timezone)}case"interval":{let r=t.type;return new ir(We[r.unit])}case"duration":{let r=t.type;return new sr(k[r.unit])}case"union":{let r=t.type,[i,...s]=(r.mode+"").toLowerCase(),o=i.toUpperCase()+s.join("");return new pn(de[o],r.typeIds||[],e||[])}case"fixedsizebinary":{let r=t.type;return new or(r.byteWidth)}case"fixedsizelist":{let r=t.type;return new mn(r.listSize,(e||[])[0])}case"map":{let r=t.type;return new yn((e||[])[0],r.keysSorted)}}throw new Error(`Unrecognized type: "${n}"`)}var ob=hi,ab=Et,bt=class t{static fromJSON(e,n){let r=new t(0,le.V5,n);return r._createHeader=lb(e,n),r}static decode(e){e=new ab(V(e));let n=_n.getRootAsMessage(e),r=n.bodyLength(),i=n.version(),s=n.headerType(),o=new t(r,i,s);return o._createHeader=ub(n,s),o}static encode(e){let n=new ob,r=-1;return e.isSchema()?r=ae.encode(n,e.header()):e.isRecordBatch()?r=Ze.encode(n,e.header()):e.isDictionaryBatch()&&(r=St.encode(n,e.header())),_n.startMessage(n),_n.addVersion(n,le.V5),_n.addHeader(n,r),_n.addHeaderType(n,e.headerType),_n.addBodyLength(n,BigInt(e.bodyLength)),_n.finishMessageBuffer(n,_n.endMessage(n)),n.asUint8Array()}static from(e,n=0){if(e instanceof ae)return new t(0,le.V5,q.Schema,e);if(e instanceof Ze)return new t(n,le.V5,q.RecordBatch,e);if(e instanceof St)return new t(n,le.V5,q.DictionaryBatch,e);throw new Error(`Unrecognized Message header: ${e}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===q.Schema}isRecordBatch(){return this.headerType===q.RecordBatch}isDictionaryBatch(){return this.headerType===q.DictionaryBatch}constructor(e,n,r,i){this._version=n,this._headerType=r,this.body=new Uint8Array(0),i&&(this._createHeader=()=>i),this._bodyLength=ne(e)}},Ze=class{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}constructor(e,n,r){this._nodes=n,this._buffers=r,this._length=ne(e)}},St=class{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(e,n,r=!1){this._data=e,this._isDelta=r,this._id=ne(n)}},wt=class{constructor(e,n){this.offset=ne(e),this.length=ne(n)}},Qt=class{constructor(e,n){this.length=ne(e),this.nullCount=ne(n)}};function lb(t,e){return(()=>{switch(e){case q.Schema:return ae.fromJSON(t);case q.RecordBatch:return Ze.fromJSON(t);case q.DictionaryBatch:return St.fromJSON(t)}throw new Error(`Unrecognized Message type: { name: ${q[e]}, type: ${e} }`)})}function ub(t,e){return(()=>{switch(e){case q.Schema:return ae.decode(t.header(new gt),new Map,t.version());case q.RecordBatch:return Ze.decode(t.header(new kt),t.version());case q.DictionaryBatch:return St.decode(t.header(new Yn),t.version())}throw new Error(`Unrecognized Message type: { name: ${q[e]}, type: ${e} }`)})}J.encode=wb;J.decode=vb;J.fromJSON=xy;ae.encode=_b;ae.decode=cb;ae.fromJSON=_y;Ze.encode=Sb;Ze.decode=fb;Ze.fromJSON=ed;St.encode=bb;St.decode=db;St.fromJSON=wy;Qt.encode=xb;Qt.decode=pb;wt.encode=Ib;wt.decode=hb;function cb(t,e=new Map,n=le.V5){let r=gb(t,e);return new ae(r,_u(t),e,n)}function fb(t,e=le.V5){if(t.compression()!==null)throw new Error("Record batch compression not implemented");return new Ze(t.length(),mb(t),yb(t,e))}function db(t,e=le.V5){return new St(Ze.decode(t.data(),e),t.id(),t.isDelta())}function hb(t){return new wt(t.offset(),t.length())}function pb(t){return new Qt(t.length(),t.nullCount())}function mb(t){let e=[];for(let n,r=-1,i=-1,s=t.nodesLength();++rJ.encode(t,s));gt.startFieldsVector(t,n.length);let r=gt.createFieldsVector(t,n),i=e.metadata&&e.metadata.size>0?gt.createCustomMetadataVector(t,[...e.metadata].map(([s,o])=>{let a=t.createString(`${s}`),l=t.createString(`${o}`);return Re.startKeyValue(t),Re.addKey(t,a),Re.addValue(t,l),Re.endKeyValue(t)})):-1;return gt.startSchema(t),gt.addFields(t,r),gt.addEndianness(t,Bb?Er.Little:Er.Big),i!==-1&>.addCustomMetadata(t,i),gt.endSchema(t)}function wb(t,e){let n=-1,r=-1,i=-1,s=e.type,o=e.typeId;F.isDictionary(s)?(o=s.dictionary.typeId,i=gu.visit(s,t),r=gu.visit(s.dictionary,t)):r=gu.visit(s,t);let a=(s.children||[]).map(c=>J.encode(t,c)),l=nt.createChildrenVector(t,a),u=e.metadata&&e.metadata.size>0?nt.createCustomMetadataVector(t,[...e.metadata].map(([c,d])=>{let y=t.createString(`${c}`),v=t.createString(`${d}`);return Re.startKeyValue(t),Re.addKey(t,y),Re.addValue(t,v),Re.endKeyValue(t)})):-1;return e.name&&(n=t.createString(e.name)),nt.startField(t),nt.addType(t,r),nt.addTypeType(t,o),nt.addChildren(t,l),nt.addNullable(t,!!e.nullable),n!==-1&&nt.addName(t,n),i!==-1&&nt.addDictionary(t,i),u!==-1&&nt.addCustomMetadata(t,u),nt.endField(t)}function Sb(t,e){let n=e.nodes||[],r=e.buffers||[];kt.startNodesVector(t,n.length);for(let o of n.slice().reverse())Qt.encode(t,o);let i=t.endVector();kt.startBuffersVector(t,r.length);for(let o of r.slice().reverse())wt.encode(t,o);let s=t.endVector();return kt.startRecordBatch(t),kt.addLength(t,BigInt(e.length)),kt.addNodes(t,i),kt.addBuffers(t,s),kt.endRecordBatch(t)}function bb(t,e){let n=Ze.encode(t,e.data);return Yn.startDictionaryBatch(t),Yn.addId(t,BigInt(e.id)),Yn.addIsDelta(t,e.isDelta),Yn.addData(t,n),Yn.endDictionaryBatch(t)}function xb(t,e){return rs.createFieldNode(t,BigInt(e.length),BigInt(e.nullCount))}function Ib(t,e){return ns.createBuffer(t,BigInt(e.offset),BigInt(e.length))}var Bb=(()=>{let t=new ArrayBuffer(2);return new DataView(t).setInt16(0,256,!0),new Int16Array(t)[0]===256})();var nd=t=>`Expected ${q[t]} Message in stream, but was null or length 0.`,rd=t=>`Header pointer of flatbuffer-encoded ${q[t]} Message is null or length 0.`,Ny=(t,e)=>`Expected to read ${t} metadata bytes, but only read ${e}.`,Ty=(t,e)=>`Expected to read ${t} bytes for message body, but only read ${e}.`,Ss=class{constructor(e){this.source=e instanceof Cn?e:new Cn(e)}[Symbol.iterator](){return this}next(){let e;return(e=this.readMetadataLength()).done?me:e.value===-1&&(e=this.readMetadataLength()).done?me:(e=this.readMetadata(e.value)).done?me:e}throw(e){return this.source.throw(e)}return(e){return this.source.return(e)}readMessage(e){let n;if((n=this.next()).done)return null;if(e!=null&&n.value.headerType!==e)throw new Error(nd(e));return n.value}readMessageBody(e){if(e<=0)return new Uint8Array(0);let n=V(this.source.read(e));if(n.byteLength[...i,...s.VALIDITY&&[s.VALIDITY]||[],...s.TYPE_ID&&[s.TYPE_ID]||[],...s.OFFSET&&[s.OFFSET]||[],...s.DATA&&[s.DATA]||[],...n(s.children)],[])}}readMessage(e){let n;if((n=this.next()).done)return null;if(e!=null&&n.value.headerType!==e)throw new Error(nd(e));return n.value}readSchema(){let e=q.Schema,n=this.readMessage(e),r=n?.header();if(!n||!r)throw new Error(rd(e));return r}},wu=4,td="ARROW1",bs=new Uint8Array(td.length);for(let t=0;tthis):this}readRecordBatch(e){return this._impl.isFile()?this._impl.readRecordBatch(e):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return Ge.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return Ge.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,n){throw new Error('"throughDOM" not available in this environment')}static from(e){return e instanceof t?e:Za(e)?Nb(e):qa(e)?Fb(e):Ot(e)?O(this,void 0,void 0,function*(){return yield t.from(yield e)}):el(e)||lo(e)||nl(e)||$t(e)?Ob(new Yt(e)):Tb(new Cn(e))}static readAll(e){return e instanceof t?e.isSync()?Fy(e):Ey(e):Za(e)||ArrayBuffer.isView(e)||sn(e)||Ja(e)?Fy(e):Ey(e)}},gr=class extends Ct{constructor(e){super(e),this._impl=e}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return Tt(this,arguments,function*(){yield X(yield*es(rn(this[Symbol.iterator]())))})}},Ti=class extends Ct{constructor(e){super(e),this._impl=e}readAll(){return O(this,void 0,void 0,function*(){var e,n,r,i;let s=new Array;try{for(var o=!0,a=rn(this),l;l=yield a.next(),e=l.done,!e;o=!0){i=l.value,o=!1;let u=i;s.push(u)}}catch(u){n={error:u}}finally{try{!o&&!e&&(r=a.return)&&(yield r.call(a))}finally{if(n)throw n.error}}return s})}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}},Oi=class extends gr{constructor(e){super(e),this._impl=e}},bu=class extends Ti{constructor(e){super(e),this._impl=e}},xu=class{get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}constructor(e=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=e}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(e){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=e,this.dictionaries=new Map,this}_loadRecordBatch(e,n){let r=this._loadVectors(e,n,this.schema.fields),i=Q({type:new pe(this.schema.fields),length:e.length,children:r});return new Ne(this.schema,i)}_loadDictionaryBatch(e,n){let{id:r,isDelta:i}=e,{dictionaries:s,schema:o}=this,a=s.get(r),l=o.dictionaries.get(r),u=this._loadVectors(e.data,n,[l]);return(a&&i?a.concat(new ee(u)):new ee(u)).memoize()}_loadVectors(e,n,r){return new Lo(n,e.nodes,e.buffers,this.dictionaries,this.schema.metadataVersion).visitMany(r)}},Is=class extends xu{constructor(e,n){super(n),this._reader=Za(e)?new sa(this._handle=e):new Ss(this._handle=e)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(e){return this.closed||(this.autoDestroy=ky(this,e),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(e):me}return(e){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(e):me}next(){if(this.closed)return me;let e,{_reader:n}=this;for(;e=this._readNextMessageAndValidate();)if(e.isSchema())this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;let r=e.header(),i=n.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;let r=e.header(),i=n.readMessageBody(e.bodyLength),s=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,s)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Ni(this.schema)}):this.return()}_readNextMessageAndValidate(e){return this._reader.readMessage(e)}},Bs=class extends xu{constructor(e,n){super(n),this._reader=new ia(this._handle=e)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return O(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(e){return O(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=ky(this,e),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(e){return O(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(e):me})}return(e){return O(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(e):me})}next(){return O(this,void 0,void 0,function*(){if(this.closed)return me;let e,{_reader:n}=this;for(;e=yield this._readNextMessageAndValidate();)if(e.isSchema())yield this.reset(e.header());else if(e.isRecordBatch()){this._recordBatchIndex++;let r=e.header(),i=yield n.readMessageBody(e.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(e.isDictionaryBatch()){this._dictionaryIndex++;let r=e.header(),i=yield n.readMessageBody(e.bodyLength),s=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,s)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Ni(this.schema)}):yield this.return()})}_readNextMessageAndValidate(e){return O(this,void 0,void 0,function*(){return yield this._reader.readMessage(e)})}},Iu=class extends Is{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(e,n){super(e instanceof Eo?e:new Eo(e),n)}isSync(){return!0}isFile(){return!0}open(e){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(let n of this._footer.dictionaryBatches())n&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(e)}readRecordBatch(e){var n;if(this.closed)return null;this._footer||this.open();let r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(e);if(r&&this._handle.seek(r.offset)){let i=this._reader.readMessage(q.RecordBatch);if(i?.isRecordBatch()){let s=i.header(),o=this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(s,o)}}return null}_readDictionaryBatch(e){var n;let r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(e);if(r&&this._handle.seek(r.offset)){let i=this._reader.readMessage(q.DictionaryBatch);if(i?.isDictionaryBatch()){let s=i.header(),o=this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(s,o);this.dictionaries.set(s.id,a)}}}_readFooter(){let{_handle:e}=this,n=e.size-id,r=e.readInt32(n),i=e.readAt(n-r,r);return ur.decode(i)}_readNextMessageAndValidate(e){var n;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return O(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(let r of this._footer.dictionaryBatches())r&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield n.open.call(this,e)})}readRecordBatch(e){return O(this,void 0,void 0,function*(){var n;if(this.closed)return null;this._footer||(yield this.open());let r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(e);if(r&&(yield this._handle.seek(r.offset))){let i=yield this._reader.readMessage(q.RecordBatch);if(i?.isRecordBatch()){let s=i.header(),o=yield this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(s,o)}}return null})}_readDictionaryBatch(e){return O(this,void 0,void 0,function*(){var n;let r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(e);if(r&&(yield this._handle.seek(r.offset))){let i=yield this._reader.readMessage(q.DictionaryBatch);if(i?.isDictionaryBatch()){let s=i.header(),o=yield this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(s,o);this.dictionaries.set(s.id,a)}}})}_readFooter(){return O(this,void 0,void 0,function*(){let{_handle:e}=this;e._pending&&(yield e._pending);let n=e.size-id,r=yield e.readInt32(n),i=yield e.readAt(n-r,r);return ur.decode(i)})}_readNextMessageAndValidate(e){return O(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?Su(e)?new Oi(new Iu(t.read())):new gr(new Is(t)):new gr(new Is((function*(){})()))}function Ob(t){return O(this,void 0,void 0,function*(){let e=yield t.peek(xs+7&-8);return e&&e.byteLength>=4?Su(e)?new Oi(new Iu(yield t.read())):new Ti(new Bs(t)):new Ti(new Bs((function(){return Tt(this,arguments,function*(){})})()))})}function Fb(t){return O(this,void 0,void 0,function*(){let{size:e}=yield t.stat(),n=new $r(t,e);return e>=Oy&&Su(yield n.readAt(0,xs+7&-8))?new bu(new sd(n)):new Ti(new Bs(n))})}var Se=class t extends C{static assemble(...e){let n=i=>i.flatMap(s=>Array.isArray(s)?n(s):s instanceof Ne?s.data.children:s.data),r=new t;return r.visitMany(n(e)),r}constructor(){super(),this._byteLength=0,this._nodes=[],this._buffers=[],this._bufferRegions=[]}visit(e){if(e instanceof ee)return this.visitMany(e.data),this;let{type:n}=e;if(!F.isDictionary(n)){let{length:r}=e;if(r>2147483647)throw new RangeError("Cannot write arrays larger than 2^31 - 1 in length");if(F.isUnion(n))this.nodes.push(new Qt(r,0));else{let{nullCount:i}=e;F.isNull(n)||wn.call(this,i<=0?new Uint8Array(0):yi(e.offset,r,e.nullBitmap)),this.nodes.push(new Qt(r,i))}}return super.visit(e)}visitNull(e){return this}visitDictionary(e){return this.visit(e.clone(e.type.indices))}get nodes(){return this._nodes}get buffers(){return this._buffers}get byteLength(){return this._byteLength}get bufferRegions(){return this._bufferRegions}};function wn(t){let e=t.byteLength+7&-8;return this.buffers.push(t),this.bufferRegions.push(new wt(this._byteLength,e)),this._byteLength+=e,this}function Eb(t){var e;let{type:n,length:r,typeIds:i,valueOffsets:s}=t;if(wn.call(this,i),n.mode===de.Sparse)return ad.call(this,t);if(n.mode===de.Dense){if(t.offset<=0)return wn.call(this,s),ad.call(this,t);{let o=new Int32Array(r),a=Object.create(null),l=Object.create(null);for(let u,c,d=-1;++d{let d=n.typeIds[c],y=a[d],v=l[d];return u.slice(y,Math.min(r,v))}))}}return this}function kb(t){let e;return t.nullCount>=t.length?wn.call(this,new Uint8Array(0)):(e=t.values)instanceof Uint8Array?wn.call(this,yi(t.offset,t.length,e)):wn.call(this,gi(t.values))}function vr(t){return wn.call(this,t.values.subarray(0,t.length*t.stride))}function Bu(t){let{length:e,values:n,valueOffsets:r}=t,i=ne(r[0]),s=ne(r[e]),o=Math.min(s-i,n.byteLength-i);return wn.call(this,il(-i,e+1,r)),wn.call(this,n.subarray(i,i+o)),this}function ld(t){let{length:e,valueOffsets:n}=t;if(n){let{[0]:r,[e]:i}=n;return wn.call(this,il(-r,e+1,n)),this.visit(t.children[0].slice(r,i-r))}return this.visit(t.children[0])}function ad(t){return this.visitMany(t.type.children.map((e,n)=>t.children[n]).filter(Boolean))[0]}Se.prototype.visitBool=kb;Se.prototype.visitInt=vr;Se.prototype.visitFloat=vr;Se.prototype.visitUtf8=Bu;Se.prototype.visitLargeUtf8=Bu;Se.prototype.visitBinary=Bu;Se.prototype.visitLargeBinary=Bu;Se.prototype.visitFixedSizeBinary=vr;Se.prototype.visitDate=vr;Se.prototype.visitTimestamp=vr;Se.prototype.visitTime=vr;Se.prototype.visitDecimal=vr;Se.prototype.visitList=ld;Se.prototype.visitStruct=ad;Se.prototype.visitUnion=Eb;Se.prototype.visitInterval=vr;Se.prototype.visitDuration=vr;Se.prototype.visitFixedSizeList=ld;Se.prototype.visitMap=ld;var Fi=class extends wi{static throughNode(e){throw new Error('"throughNode" not available in this environment')}static throughDOM(e,n){throw new Error('"throughDOM" not available in this environment')}constructor(e){super(),this._position=0,this._started=!1,this._sink=new Mn,this._schema=null,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._seenDictionaries=new Map,this._dictionaryDeltaOffsets=new Map,ct(e)||(e={autoDestroy:!0,writeLegacyIpcFormat:!1}),this._autoDestroy=typeof e.autoDestroy=="boolean"?e.autoDestroy:!0,this._writeLegacyIpcFormat=typeof e.writeLegacyIpcFormat=="boolean"?e.writeLegacyIpcFormat:!1}toString(e=!1){return this._sink.toString(e)}toUint8Array(e=!1){return this._sink.toUint8Array(e)}writeAll(e){return Ot(e)?e.then(n=>this.writeAll(n)):$t(e)?cd(this,e):ud(this,e)}get closed(){return this._sink.closed}[Symbol.asyncIterator](){return this._sink[Symbol.asyncIterator]()}toDOMStream(e){return this._sink.toDOMStream(e)}toNodeStream(e){return this._sink.toNodeStream(e)}close(){return this.reset()._sink.close()}abort(e){return this.reset()._sink.abort(e)}finish(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}reset(e=this._sink,n=null){return e===this._sink||e instanceof Mn?this._sink=e:(this._sink=new Mn,e&&Qp(e)?this.toDOMStream({type:"bytes"}).pipeTo(e):e&&Gp(e)&&this.toNodeStream({objectMode:!1}).pipe(e)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._seenDictionaries=new Map,this._dictionaryDeltaOffsets=new Map,(!n||!Di(n,this._schema))&&(n==null?(this._position=0,this._schema=null):(this._started=!0,this._schema=n,this._writeSchema(n))),this}write(e){let n=null;if(this._sink){if(e==null)return this.finish()&&void 0;if(e instanceof _t&&!(n=e.schema))return this.finish()&&void 0;if(e instanceof Ne&&!(n=e.schema))return this.finish()&&void 0}else throw new Error("RecordBatchWriter is closed");if(n&&!Di(n,this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,n)}e instanceof Ne?e instanceof Ni||this._writeRecordBatch(e):e instanceof _t?this.writeAll(e.batches):sn(e)&&this.writeAll(e)}_writeMessage(e,n=8){let r=n-1,i=bt.encode(e),s=i.byteLength,o=this._writeLegacyIpcFormat?4:8,a=s+o+r&~r,l=a-s-o;return e.headerType===q.RecordBatch?this._recordBatchBlocks.push(new cr(a,e.bodyLength,this._position)):e.headerType===q.DictionaryBatch&&this._dictionaryBlocks.push(new cr(a,e.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(a-o)),s>0&&this._write(i),this._writePadding(l)}_write(e){if(this._started){let n=V(e);n&&n.byteLength>0&&(this._sink.write(n),this._position+=n.byteLength)}return this}_writeSchema(e){return this._writeMessage(bt.from(e))}_writeFooter(e){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}_writeMagic(){return this._write(bs)}_writePadding(e){return e>0?this._write(new Uint8Array(e)):this}_writeRecordBatch(e){let{byteLength:n,nodes:r,bufferRegions:i,buffers:s}=Se.assemble(e),o=new Ze(e.numRows,r,i),a=bt.from(o,n);return this._writeDictionaries(e)._writeMessage(a)._writeBodyBuffers(s)}_writeDictionaryBatch(e,n,r=!1){let{byteLength:i,nodes:s,bufferRegions:o,buffers:a}=Se.assemble(new ee([e])),l=new Ze(e.length,s,o),u=new St(l,n,r),c=bt.from(u,i);return this._writeMessage(c)._writeBodyBuffers(a)}_writeBodyBuffers(e){let n,r,i;for(let s=-1,o=e.length;++s0&&(this._write(n),(i=(r+7&-8)-r)>0&&this._writePadding(i));return this}_writeDictionaries(e){var n,r;for(let[i,s]of e.dictionaries){let o=(n=s?.data)!==null&&n!==void 0?n:[],a=this._seenDictionaries.get(i),l=(r=this._dictionaryDeltaOffsets.get(i))!==null&&r!==void 0?r:0;if(!a||a.data[0]!==o[0])for(let[u,c]of o.entries())this._writeDictionaryBatch(c,i,u>0);else if(lr.writeAll(i)):$t(e)?cd(r,e):ud(r,e)}},aa=class t extends Fi{static writeAll(e){let n=new t;return Ot(e)?e.then(r=>n.writeAll(r)):$t(e)?cd(n,e):ud(n,e)}constructor(){super(),this._autoDestroy=!0}_writeSchema(e){return this._writeMagic()._writePadding(2)}_writeDictionaryBatch(e,n,r=!1){if(!r&&this._seenDictionaries.has(n))throw new Error("The Arrow File format does not support replacement dictionaries. ");return super._writeDictionaryBatch(e,n,r)}_writeFooter(e){let n=ur.encode(new ur(e,le.V5,this._recordBatchBlocks,this._dictionaryBlocks));return super._writeFooter(e)._write(n)._write(Int32Array.of(n.byteLength))._writeMagic()}};function ud(t,e){let n=e;e instanceof _t&&(n=e.batches,t.reset(void 0,e.schema));for(let r of n)t.write(r);return t.finish()}function cd(t,e){return O(this,void 0,void 0,function*(){var n,r,i,s,o,a,l;try{for(n=!0,r=rn(e);i=yield r.next(),s=i.done,!s;n=!0){l=i.value,n=!1;let u=l;t.write(u)}}catch(u){o={error:u}}finally{try{!n&&!s&&(a=r.return)&&(yield a.call(r))}finally{if(o)throw o.error}}return t.finish()})}function Ay(t,e){if($t(t))return Lb(t,e);if(sn(t))return Ab(t,e);throw new Error("toDOMStream() must be called with an Iterable or AsyncIterable")}function Ab(t,e){let n=null,r=e?.type==="bytes"||!1,i=e?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},e),{start(o){s(o,n||(n=t[Symbol.iterator]()))},pull(o){n?s(o,n):o.close()},cancel(){(n?.return&&n.return()||!0)&&(n=null)}}),Object.assign({highWaterMark:r?i:void 0},e));function s(o,a){let l,u=null,c=o.desiredSize||null;for(;!(u=a.next(r?c:null)).done;)if(ArrayBuffer.isView(u.value)&&(l=V(u.value))&&(c!=null&&r&&(c=c-l.byteLength+1),u.value=l),o.enqueue(u.value),c!=null&&--c<=0)return;o.close()}}function Lb(t,e){let n=null,r=e?.type==="bytes"||!1,i=e?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},e),{start(o){return O(this,void 0,void 0,function*(){yield s(o,n||(n=t[Symbol.asyncIterator]()))})},pull(o){return O(this,void 0,void 0,function*(){n?yield s(o,n):o.close()})},cancel(){return O(this,void 0,void 0,function*(){(n?.return&&(yield n.return())||!0)&&(n=null)})}}),Object.assign({highWaterMark:r?i:void 0},e));function s(o,a){return O(this,void 0,void 0,function*(){let l,u=null,c=o.desiredSize||null;for(;!(u=yield a.next(r?c:null)).done;)if(ArrayBuffer.isView(u.value)&&(l=V(u.value))&&(c!=null&&r&&(c=c-l.byteLength+1),u.value=l),o.enqueue(u.value),c!=null&&--c<=0)return;o.close()})}}function Cy(t){return new fd(t)}var fd=class{constructor(e){this._numChunks=0,this._finished=!1,this._bufferedSize=0;let{["readableStrategy"]:n,["writableStrategy"]:r,["queueingStrategy"]:i="count"}=e,s=Yp(e,["readableStrategy","writableStrategy","queueingStrategy"]);this._controller=null,this._builder=bi(s),this._getSize=i!=="bytes"?Ly:My;let{["highWaterMark"]:o=i==="bytes"?Math.pow(2,14):1e3}=Object.assign({},n),{["highWaterMark"]:a=i==="bytes"?Math.pow(2,14):1e3}=Object.assign({},r);this.readable=new ReadableStream({cancel:()=>{this._builder.clear()},pull:l=>{this._maybeFlush(this._builder,this._controller=l)},start:l=>{this._maybeFlush(this._builder,this._controller=l)}},{highWaterMark:o,size:i!=="bytes"?Ly:My}),this.writable=new WritableStream({abort:()=>{this._builder.clear()},write:()=>{this._maybeFlush(this._builder,this._controller)},close:()=>{this._maybeFlush(this._builder.finish(),this._controller)}},{highWaterMark:a,size:l=>this._writeValueAndReturnChunkSize(l)})}_writeValueAndReturnChunkSize(e){let n=this._bufferedSize;return this._bufferedSize=this._getSize(this._builder.append(e)),this._bufferedSize-n}_maybeFlush(e,n){n!=null&&(this._bufferedSize>=n.desiredSize&&++this._numChunks&&this._enqueue(n,e.toVector()),e.finished&&((e.length>0||this._numChunks===0)&&++this._numChunks&&this._enqueue(n,e.toVector()),!this._finished&&(this._finished=!0)&&this._enqueue(n,null)))}_enqueue(e,n){this._bufferedSize=0,this._controller=null,n==null?e.close():e.enqueue(n)}},Ly=t=>{var e;return(e=t?.length)!==null&&e!==void 0?e:0},My=t=>{var e;return(e=t?.byteLength)!==null&&e!==void 0?e:0};function Du(t,e){let n=new Mn,r=null,i=new ReadableStream({cancel(){return O(this,void 0,void 0,function*(){yield n.close()})},start(a){return O(this,void 0,void 0,function*(){yield o(a,r||(r=yield s()))})},pull(a){return O(this,void 0,void 0,function*(){r?yield o(a,r):a.close()})}});return{writable:new WritableStream(n,Object.assign({highWaterMark:Math.pow(2,14)},t)),readable:i};function s(){return O(this,void 0,void 0,function*(){return yield(yield Ct.from(n)).open(e)})}function o(a,l){return O(this,void 0,void 0,function*(){let u=a.desiredSize,c=null;for(;!(c=yield l.next()).done;)if(a.enqueue(c.value),u!=null&&--u<=0)return;a.close()})}}function Nu(t,e){let n=new this(t),r=new Yt(n),i=new ReadableStream({cancel(){return O(this,void 0,void 0,function*(){yield r.cancel()})},pull(o){return O(this,void 0,void 0,function*(){yield s(o)})},start(o){return O(this,void 0,void 0,function*(){yield s(o)})}},Object.assign({highWaterMark:Math.pow(2,14)},e));return{writable:new WritableStream(n,t),readable:i};function s(o){return O(this,void 0,void 0,function*(){let a=null,l=o.desiredSize;for(;a=yield r.read(l||null);)if(o.enqueue(a),l!=null&&(l-=a.byteLength)<=0)return;o.close()})}}function la(t){let e=Ct.from(t);return Ot(e)?e.then(n=>la(n)):e.isAsync()?e.readAll().then(n=>new _t(n)):new _t(e.readAll())}var Cb=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},xf),Qf),Pf),If),yf),Rf),_f),{compareSchemas:Di,compareFields:cy,compareTypes:fy});Ge.toDOMStream=Ay;ge.throughDOM=Cy;Ct.throughDOM=Du;Oi.throughDOM=Du;gr.throughDOM=Du;Fi.throughDOM=Nu;aa.throughDOM=Nu;oa.throughDOM=Nu;var Ub=Object.create,Rb=Object.getPrototypeOf,$d=Object.defineProperty,Pb=Object.getOwnPropertyNames,jb=Object.prototype.hasOwnProperty;function zb(t){return this[t]}var Vb,$b,he=(t,e,n)=>{var r=t!=null&&typeof t=="object";if(r){var i=e?Vb??=new WeakMap:$b??=new WeakMap,s=i.get(t);if(s)return s}n=t!=null?Ub(Rb(t)):{};let o=e||!t||!t.__esModule?$d(n,"default",{value:t,enumerable:!0}):n;for(let a of Pb(t))jb.call(o,a)||$d(o,a,{get:zb.bind(t,a),enumerable:!0});return r&&i.set(t,o),o},so=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Wb=t=>t;function Hb(t,e){this[t]=Wb.bind(null,e)}var Gh=(t,e)=>{for(var n in e)$d(t,n,{get:e[n],enumerable:!0,configurable:!0,set:Hb.bind(e,n)})},Xh=(t,e)=>()=>(t&&(e=t(t=0)),e),bv={};Gh(bv,{version:()=>_x,useTransition:()=>vx,useSyncExternalStore:()=>gx,useState:()=>yx,useRef:()=>mx,useReducer:()=>px,useMemo:()=>hx,useLayoutEffect:()=>dx,useInsertionEffect:()=>fx,useImperativeHandle:()=>cx,useId:()=>ux,useEffect:()=>lx,useDeferredValue:()=>ax,useDebugValue:()=>ox,useContext:()=>sx,useCallback:()=>ix,unstable_act:()=>zv,startTransition:()=>rx,memo:()=>nx,lazy:()=>tx,isValidElement:()=>jv,forwardRef:()=>ex,createRef:()=>qb,createFactory:()=>Jb,createElement:()=>Pv,createContext:()=>Zb,cloneElement:()=>Xb,act:()=>Rv,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:()=>Uv,Suspense:()=>Cv,StrictMode:()=>Mv,PureComponent:()=>Lv,Profiler:()=>Av,Fragment:()=>kv,Component:()=>Ev,Children:()=>Fv});function Yb(t){return t===null||typeof t!="object"?null:(t=Hd&&t[Hd]||t["@@iterator"],typeof t=="function"?t:null)}function Ds(t,e,n){this.props=t,this.context=e,this.refs=Jh,this.updater=n||Zh}function Uy(){}function dd(t,e,n){this.props=t,this.context=e,this.refs=Jh,this.updater=n||Zh}function xv(t,e,n){var r,i={},s=null,o=null;if(e!=null)for(r in e.ref!==void 0&&(o=e.ref),e.key!==void 0&&(s=""+e.key),e)qh.call(e,r)&&!ep.hasOwnProperty(r)&&(i[r]=e[r]);var a=arguments.length-2;if(a===1)i.children=n;else if(1{oo=Symbol.for("react.element"),Iv=Symbol.for("react.portal"),Py=Symbol.for("react.fragment"),jy=Symbol.for("react.strict_mode"),zy=Symbol.for("react.profiler"),Bv=Symbol.for("react.provider"),Dv=Symbol.for("react.context"),Nv=Symbol.for("react.forward_ref"),Vy=Symbol.for("react.suspense"),Tv=Symbol.for("react.memo"),Ov=Symbol.for("react.lazy"),Hd=Symbol.iterator,Zh={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Yd=Object.assign,Jh={},Ds.prototype.isReactComponent={},Ds.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")},Ds.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")},Uy.prototype=Ds.prototype,Ou=dd.prototype=new Uy,Ou.constructor=dd,Yd(Ou,Ds.prototype),Ou.isPureReactComponent=!0,Kd=Array.isArray,qh=Object.prototype.hasOwnProperty,cc={current:null},ep={key:!0,ref:!0,__self:!0,__source:!0},Qd=/\/+/g,ut={current:null},Ia={transition:null},$y={ReactCurrentDispatcher:ut,ReactCurrentBatchConfig:Ia,ReactCurrentOwner:cc},Fv={map:Tu,forEach:function(t,e,n){Tu(t,function(){e.apply(this,arguments)},n)},count:function(t){var e=0;return Tu(t,function(){e++}),e},toArray:function(t){return Tu(t,function(e){return e})||[]},only:function(t){if(!Wd(t))throw Error("React.Children.only expected to receive a single React element child.");return t}},Ev=Ds,kv=Py,Av=zy,Lv=dd,Mv=jy,Cv=Vy,Uv=$y,Rv=Ry,Pv=xv,jv=Wd,zv=Ry}),nn=so((t,e)=>{wx(),e.exports=bv}),Sx=so(t=>{function e(T,M){var _=T.length;T.push(M);e:for(;0<_;){var B=_-1>>>1,te=T[B];if(0>>1;B<$e;){var ui=2*(B+1)-1,cf=T[ui],ci=ui+1,Xa=T[ci];if(0>i(cf,_))cii(Xa,cf)?(T[B]=Xa,T[ci]=_,B=ci):(T[B]=cf,T[ui]=_,B=ui);else if(cii(Xa,_))T[B]=Xa,T[ci]=_,B=ci;else break e}}return M}function i(T,M){var _=T.sortIndex-M.sortIndex;return _!==0?_:T.id-M.id}typeof performance=="object"&&typeof performance.now=="function"?(s=performance,t.unstable_now=function(){return s.now()}):(o=Date,a=o.now(),t.unstable_now=function(){return o.now()-a});var s,o,a,l=[],u=[],c=1,d=null,y=3,v=!1,S=!1,I=!1,Y=typeof setTimeout=="function"?setTimeout:null,h=typeof clearTimeout=="function"?clearTimeout:null,f=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function m(T){for(var M=n(u);M!==null;){if(M.callback===null)r(u);else if(M.startTime<=T)r(u),M.sortIndex=M.expirationTime,e(l,M);else break;M=n(u)}}function g(T){if(I=!1,m(T),!S)if(n(l)!==null)S=!0,Ve(w);else{var M=n(u);M!==null&&Fr(g,M.startTime-T)}}function w(T,M){S=!1,I&&(I=!1,h(b),b=-1),v=!0;var _=y;try{for(m(M),d=n(l);d!==null&&(!(d.expirationTime>M)||T&&!ie());){var B=d.callback;if(typeof B=="function"){d.callback=null,y=d.priorityLevel;var te=B(d.expirationTime<=M);M=t.unstable_now(),typeof te=="function"?d.callback=te:d===n(l)&&r(l),m(M)}else r(l);d=n(l)}if(d!==null)var $e=!0;else{var ui=n(u);ui!==null&&Fr(g,ui.startTime-M),$e=!1}return $e}finally{d=null,y=_,v=!1}}var D=!1,N=null,b=-1,K=5,L=-1;function ie(){return!(t.unstable_now()-LT||125B?(T.sortIndex=_,e(u,T),n(l)===null&&T===n(u)&&(I?(h(b),b=-1):I=!0,Fr(g,_-B))):(T.sortIndex=te,e(l,T),S||v||(S=!0,Ve(w))),T},t.unstable_shouldYield=ie,t.unstable_wrapCallback=function(T){var M=y;return function(){var _=y;y=M;try{return T.apply(this,arguments)}finally{y=_}}}}),bx=so((t,e)=>{var n=he(Sx());e.exports=n}),Vv={};Gh(Vv,{version:()=>A1,unstable_renderSubtreeIntoContainer:()=>k1,unstable_batchedUpdates:()=>X_,unmountComponentAtNode:()=>E1,render:()=>F1,hydrateRoot:()=>O1,hydrate:()=>T1,flushSync:()=>N1,findDOMNode:()=>D1,createRoot:()=>B1,createPortal:()=>I1,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:()=>G_});function x(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,n=1;n"u"||Ix(t,e,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function ht(t,e,n,r,i,s,o){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=t,this.type=e,this.sanitizeURL=s,this.removeEmptyString=o}function pd(t){return t[1].toUpperCase()}function tp(t,e,n,r){var i=He.hasOwnProperty(e)?He[e]:null;(i!==null?i.type!==0:r||!(2a||i[o]!==s[a]){var l=` -`+i[o].replace(" at new "," at ");return t.displayName&&l.includes("")&&(l=l.replace("",t.displayName)),l}while(1<=o&&0<=a);break}}}finally{Ed=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?va(t):""}function Dx(t){switch(t.tag){case 5:return va(t.type);case 16:return va("Lazy");case 13:return va("Suspense");case 19:return va("SuspenseList");case 0:case 2:case 15:return t=md(t.type,!1),t;case 11:return t=md(t.type.render,!1),t;case 1:return t=md(t.type,!0),t;default:return""}}function Gd(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case ji:return"Fragment";case Pi:return"Portal";case Ic:return"Profiler";case Jc:return"StrictMode";case Bc:return"Suspense";case Dc:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case Np:return(t.displayName||"Context")+".Consumer";case Dp:return(t._context.displayName||"Context")+".Provider";case qc:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case ef:return e=t.displayName||null,e!==null?e:Gd(t.type)||"Memo";case Sr:e=t._payload,t=t._init;try{return Gd(t(e))}catch{}}return null}function Nx(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Gd(e);case 8:return e===Jc?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function oi(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function $v(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function Tx(t){var e=$v(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),r=""+t[e];if(!t.hasOwnProperty(e)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var{get:i,set:s}=n;return Object.defineProperty(t,e,{configurable:!0,get:function(){return i.call(this)},set:function(o){r=""+o,s.call(this,o)}}),Object.defineProperty(t,e,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function Fu(t){t._valueTracker||(t._valueTracker=Tx(t))}function Wv(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),r="";return t&&(r=$v(t)?t.checked?"true":"false":t.value),t=r,t!==n?(e.setValue(t),!0):!1}function fc(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function Xd(t,e){var n=e.checked;return be({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function Wy(t,e){var n=e.defaultValue==null?"":e.defaultValue,r=e.checked!=null?e.checked:e.defaultChecked;n=oi(e.value!=null?e.value:n),t._wrapperState={initialChecked:r,initialValue:n,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function Hv(t,e){e=e.checked,e!=null&&tp(t,"checked",e,!1)}function Zd(t,e){Hv(t,e);var n=oi(e.value),r=e.type;if(n!=null)r==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(r==="submit"||r==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?Jd(t,e.type,n):e.hasOwnProperty("defaultValue")&&Jd(t,e.type,oi(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function Hy(t,e,n){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var r=e.type;if(!(r!=="submit"&&r!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,n||e===t.value||(t.value=e),t.defaultValue=e}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function Jd(t,e,n){(e!=="number"||fc(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}function $s(t,e,n,r){if(t=t.options,e){e={};for(var i=0;i>>=0,t===0?32:31-(c_(t)/f_|0)|0}function _a(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function dc(t,e){var n=t.pendingLanes;if(n===0)return 0;var r=0,i=t.suspendedLanes,s=t.pingedLanes,o=n&268435455;if(o!==0){var a=o&~i;a!==0?r=_a(a):(s&=o,s!==0&&(r=_a(s)))}else o=n&~i,o!==0?r=_a(o):s!==0&&(r=_a(s));if(r===0)return 0;if(e!==0&&e!==r&&(e&i)===0&&(i=r&-r,s=e&-e,i>=s||i===16&&(s&4194240)!==0))return e;if((r&4)!==0&&(r|=n&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=r;0n;n++)e.push(t);return e}function Qa(t,e,n){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-en(e),t[e]=n}function Ux(t,e){var n=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var r=t.eventTimes;for(t=t.expirationTimes;0=e)return{node:n,offset:e-t};t=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=tg(n)}}function h0(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?h0(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function p0(){for(var t=window,e=fc();e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=fc(t.document)}return e}function sp(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function Jx(t){var e=p0(),n=t.focusedElem,r=t.selectionRange;if(e!==n&&n&&n.ownerDocument&&h0(n.ownerDocument.documentElement,n)){if(r!==null&&sp(n)){if(e=r.start,t=r.end,t===void 0&&(t=e),"selectionStart"in n)n.selectionStart=e,n.selectionEnd=Math.min(t,n.value.length);else if(t=(e=n.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var i=n.textContent.length,s=Math.min(r.start,i);r=r.end===void 0?s:Math.min(r.end,i),!t.extend&&s>r&&(i=r,r=s,s=i),i=ng(n,s);var o=ng(n,r);i&&o&&(t.rangeCount!==1||t.anchorNode!==i.node||t.anchorOffset!==i.offset||t.focusNode!==o.node||t.focusOffset!==o.offset)&&(e=e.createRange(),e.setStart(i.node,i.offset),t.removeAllRanges(),s>r?(t.addRange(e),t.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;nPs||(t.current=Lc[Ps],Lc[Ps]=null,Ps--)}function ye(t,e){Ps++,Lc[Ps]=t.current,t.current=e}function Gs(t,e){var n=t.type.contextTypes;if(!n)return Tr;var r=t.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===e)return r.__reactInternalMemoizedMaskedChildContext;var i={},s;for(s in n)i[s]=e[s];return r&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=i),i}function Dt(t){return t=t.childContextTypes,t!=null}function yc(){_e(yt),_e(tt)}function lg(t,e,n){if(tt.current!==Tr)throw Error(x(168));ye(tt,e),ye(yt,n)}function g0(t,e,n){var r=t.stateNode;if(e=e.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in e))throw Error(x(108,Nx(t)||"Unknown",i));return be({},n,r)}function gc(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Tr,ai=tt.current,ye(tt,t),ye(yt,yt.current),!0}function ug(t,e,n){var r=t.stateNode;if(!r)throw Error(x(169));n?(t=g0(t,e,ai),r.__reactInternalMemoizedMergedChildContext=t,_e(yt),_e(tt),ye(tt,t)):_e(yt),ye(yt,n)}function v0(t){br===null?br=[t]:br.push(t)}function e1(t){sf=!0,v0(t)}function li(){if(!Pd&&br!==null){Pd=!0;var t=0,e=ue;try{var n=br;for(ue=1;t>=o,i-=o,Br=1<<32-en(e)+i|n<S?(K=N,N=null):K=N.sibling;var L=y(h,N,m[S],g);if(L===null){N===null&&(N=K);break}t&&N&&L.alternate===null&&e(h,N),f=s(L,f,S),D===null?I=L:D.sibling=L,D=L,N=K}if(S===m.length)return n(h,N),Ie&&Li(h,S),I;if(N===null){for(;SS?(K=N,N=null):K=N.sibling;var ie=y(h,N,L.value,g);if(ie===null){N===null&&(N=K);break}t&&N&&ie.alternate===null&&e(h,N),f=s(ie,f,S),D===null?I=ie:D.sibling=ie,D=ie,N=K}if(L.done)return n(h,N),Ie&&Li(h,S),I;if(N===null){for(;!L.done;S++,L=m.next())L=d(h,L.value,g),L!==null&&(f=s(L,f,S),D===null?I=L:D.sibling=L,D=L);return Ie&&Li(h,S),I}for(N=r(h,N);!L.done;S++,L=m.next())L=v(N,h,S,L.value,g),L!==null&&(t&&L.alternate!==null&&N.delete(L.key===null?S:L.key),f=s(L,f,S),D===null?I=L:D.sibling=L,D=L);return t&&N.forEach(function(Qe){return e(h,Qe)}),Ie&&Li(h,S),I}function Y(h,f,m,g){if(typeof m=="object"&&m!==null&&m.type===ji&&m.key===null&&(m=m.props.children),typeof m=="object"&&m!==null){switch(m.$$typeof){case Sa:e:{for(var I=m.key,D=f;D!==null;){if(D.key===I){if(I=m.type,I===ji){if(D.tag===7){n(h,D.sibling),f=i(D,m.props.children),f.return=h,h=f;break e}}else if(D.elementType===I||typeof I=="object"&&I!==null&&I.$$typeof===Sr&&dg(I)===D.type){n(h,D.sibling),f=i(D,m.props),f.ref=da(h,D,m),f.return=h,h=f;break e}n(h,D);break}else e(h,D);D=D.sibling}m.type===ji?(f=Yi(m.props.children,h.mode,g,m.key),f.return=h,h=f):(g=tc(m.type,m.key,m.props,null,h.mode,g),g.ref=da(h,f,m),g.return=h,h=g)}return o(h);case Pi:e:{for(D=m.key;f!==null;){if(f.key===D)if(f.tag===4&&f.stateNode.containerInfo===m.containerInfo&&f.stateNode.implementation===m.implementation){n(h,f.sibling),f=i(f,m.children||[]),f.return=h,h=f;break e}else{n(h,f);break}else e(h,f);f=f.sibling}f=Td(m,h.mode,g),f.return=h,h=f}return o(h);case Sr:return D=m._init,Y(h,f,D(m._payload),g)}if(Ls(m))return w(h,f,m,g);if(ua(m))return b(h,f,m,g);Cu(h,m)}return typeof m=="string"&&m!==""||typeof m=="number"?(m=""+m,f!==null&&f.tag===6?(n(h,f.sibling),f=i(f,m),f.return=h,h=f):(n(h,f),f=Nd(m,h.mode,g),f.return=h,h=f),o(h)):n(h,f)}return Y}function up(){Up=zs=Uc=null}function cp(t){var e=Va.current;_e(Va),t._currentValue=e}function lh(t,e,n){for(;t!==null;){var r=t.alternate;if((t.childLanes&e)!==e?(t.childLanes|=e,r!==null&&(r.childLanes|=e)):r!==null&&(r.childLanes&e)!==e&&(r.childLanes|=e),t===n)break;t=t.return}}function Ws(t,e){Uc=t,Up=zs=null,t=t.dependencies,t!==null&&t.firstContext!==null&&((t.lanes&e)!==0&&(Bt=!0),t.firstContext=null)}function Gt(t){var e=t._currentValue;if(Up!==t)if(t={context:t,memoizedValue:e,next:null},zs===null){if(Uc===null)throw Error(x(308));zs=t,Uc.dependencies={lanes:0,firstContext:t}}else zs=zs.next=t;return e}function fp(t){Vi===null?Vi=[t]:Vi.push(t)}function b0(t,e,n,r){var i=e.interleaved;return i===null?(n.next=n,fp(e)):(n.next=i.next,i.next=n),e.interleaved=n,Nr(t,r)}function Nr(t,e){t.lanes|=e;var n=t.alternate;for(n!==null&&(n.lanes|=e),n=t,t=t.return;t!==null;)t.childLanes|=e,n=t.alternate,n!==null&&(n.childLanes|=e),n=t,t=t.return;return n.tag===3?n.stateNode:null}function dp(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function x0(t,e){t=t.updateQueue,e.updateQueue===t&&(e.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,effects:t.effects})}function Ir(t,e){return{eventTime:t,lane:e,tag:0,payload:null,callback:null,next:null}}function ei(t,e,n){var r=t.updateQueue;if(r===null)return null;if(r=r.shared,(re&2)!==0){var i=r.pending;return i===null?e.next=e:(e.next=i.next,i.next=e),r.pending=e,Nr(t,n)}return i=r.interleaved,i===null?(e.next=e,fp(r)):(e.next=i.next,i.next=e),r.interleaved=e,Nr(t,n)}function Ju(t,e,n){if(e=e.updateQueue,e!==null&&(e=e.shared,(n&4194240)!==0)){var r=e.lanes;r&=t.pendingLanes,n|=r,e.lanes=n,rp(t,n)}}function pg(t,e){var{updateQueue:n,alternate:r}=t;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,s=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};s===null?i=s=o:s=s.next=o,n=n.next}while(n!==null);s===null?i=s=e:s=s.next=e}else i=s=e;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:s,shared:r.shared,effects:r.effects},t.updateQueue=n;return}t=n.lastBaseUpdate,t===null?n.firstBaseUpdate=e:t.next=e,n.lastBaseUpdate=e}function vc(t,e,n,r){var i=t.updateQueue;Kr=!1;var{firstBaseUpdate:s,lastBaseUpdate:o}=i,a=i.shared.pending;if(a!==null){i.shared.pending=null;var l=a,u=l.next;l.next=null,o===null?s=u:o.next=u,o=l;var c=t.alternate;c!==null&&(c=c.updateQueue,a=c.lastBaseUpdate,a!==o&&(a===null?c.firstBaseUpdate=u:a.next=u,c.lastBaseUpdate=l))}if(s!==null){var d=i.baseState;o=0,c=u=l=null,a=s;do{var{lane:y,eventTime:v}=a;if((r&y)===y){c!==null&&(c=c.next={eventTime:v,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});e:{var w=t,b=a;switch(y=e,v=n,b.tag){case 1:if(w=b.payload,typeof w=="function"){d=w.call(v,d,y);break e}d=w;break e;case 3:w.flags=w.flags&-65537|128;case 0:if(w=b.payload,y=typeof w=="function"?w.call(v,d,y):w,y==null)break e;d=be({},d,y);break e;case 2:Kr=!0}}a.callback!==null&&a.lane!==0&&(t.flags|=64,y=i.effects,y===null?i.effects=[a]:y.push(a))}else v={eventTime:v,lane:y,tag:a.tag,payload:a.payload,callback:a.callback,next:null},c===null?(u=c=v,l=d):c=c.next=v,o|=y;if(a=a.next,a===null){if(a=i.shared.pending,a===null)break;y=a,a=y.next,y.next=null,i.lastBaseUpdate=y,i.shared.pending=null}}while(!0);if(c===null&&(l=d),i.baseState=l,i.firstBaseUpdate=u,i.lastBaseUpdate=c,e=i.shared.interleaved,e!==null){i=e;do o|=i.lane,i=i.next;while(i!==e)}else s===null&&(i.shared.lanes=0);Zi|=o,t.lanes=o,t.memoizedState=d}}function mg(t,e,n){if(t=e.effects,e.effects=null,t!==null)for(e=0;en?n:4,t(!0);var r=ac.transition;ac.transition={};try{t(!1),e()}finally{ue=n,ac.transition=r}}function Ng(){return Jt().memoizedState}function n1(t,e,n){var r=Xr(t);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},E0(t))k0(e,n);else if(n=b0(t,e,n,r),n!==null){var i=mt();In(n,t,r,i),A0(n,e,r)}}function r1(t,e,n){var r=Xr(t),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(E0(t))k0(e,i);else{var s=t.alternate;if(t.lanes===0&&(s===null||s.lanes===0)&&(s=e.lastRenderedReducer,s!==null))try{var o=e.lastRenderedState,a=s(o,n);if(i.hasEagerState=!0,i.eagerState=a,tn(a,o)){var l=e.interleaved;l===null?(i.next=i,fp(e)):(i.next=l.next,l.next=i),e.interleaved=i;return}}catch{}n=b0(t,e,i,r),n!==null&&(i=mt(),In(n,t,r,i),A0(n,e,r))}}function E0(t){var e=t.alternate;return t===De||e!==null&&e===De}function k0(t,e){Fa=Rc=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function A0(t,e,n){if((n&4194240)!==0){var r=e.lanes;r&=t.pendingLanes,n|=r,e.lanes=n,rp(t,n)}}function bn(t,e){if(t&&t.defaultProps){e=be({},e),t=t.defaultProps;for(var n in t)e[n]===void 0&&(e[n]=t[n]);return e}return e}function ch(t,e,n,r){e=t.memoizedState,n=n(r,e),n=n==null?e:be({},e,n),t.memoizedState=n,t.lanes===0&&(t.updateQueue.baseState=n)}function Tg(t,e,n,r,i,s,o){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(r,s,o):e.prototype&&e.prototype.isPureReactComponent?!Ca(n,r)||!Ca(i,s):!0}function L0(t,e,n){var r=!1,i=Tr,s=e.contextType;return typeof s=="object"&&s!==null?s=Gt(s):(i=Dt(e)?ai:tt.current,r=e.contextTypes,s=(r=r!=null)?Gs(t,i):Tr),e=new e(n,s),t.memoizedState=e.state!==null&&e.state!==void 0?e.state:null,e.updater=Ha,t.stateNode=e,e._reactInternals=t,r&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=i,t.__reactInternalMemoizedMaskedChildContext=s),e}function Og(t,e,n,r){t=e.state,typeof e.componentWillReceiveProps=="function"&&e.componentWillReceiveProps(n,r),typeof e.UNSAFE_componentWillReceiveProps=="function"&&e.UNSAFE_componentWillReceiveProps(n,r),e.state!==t&&Ha.enqueueReplaceState(e,e.state,null)}function fh(t,e,n,r){var i=t.stateNode;i.props=n,i.state=t.memoizedState,i.refs={},dp(t);var s=e.contextType;typeof s=="object"&&s!==null?i.context=Gt(s):(s=Dt(e)?ai:tt.current,i.context=Gs(t,s)),i.state=t.memoizedState,s=e.getDerivedStateFromProps,typeof s=="function"&&(ch(t,e,s,n),i.state=t.memoizedState),typeof e.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(e=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),e!==i.state&&Ha.enqueueReplaceState(i,i.state,null),vc(t,n,i,r),i.state=t.memoizedState),typeof i.componentDidMount=="function"&&(t.flags|=4194308)}function Js(t,e){try{var n="",r=e;do n+=Dx(r),r=r.return;while(r);var i=n}catch(s){i=` +`+i[o].replace(" at new "," at ");return t.displayName&&l.includes("")&&(l=l.replace("",t.displayName)),l}while(1<=o&&0<=a);break}}}finally{Ed=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?va(t):""}function Dx(t){switch(t.tag){case 5:return va(t.type);case 16:return va("Lazy");case 13:return va("Suspense");case 19:return va("SuspenseList");case 0:case 2:case 15:return t=md(t.type,!1),t;case 11:return t=md(t.type.render,!1),t;case 1:return t=md(t.type,!0),t;default:return""}}function Gd(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case ji:return"Fragment";case Pi:return"Portal";case Ic:return"Profiler";case Jc:return"StrictMode";case Bc:return"Suspense";case Dc:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case Np:return(t.displayName||"Context")+".Consumer";case Dp:return(t._context.displayName||"Context")+".Provider";case qc:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case ef:return e=t.displayName||null,e!==null?e:Gd(t.type)||"Memo";case Sr:e=t._payload,t=t._init;try{return Gd(t(e))}catch{}}return null}function Nx(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Gd(e);case 8:return e===Jc?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function oi(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function $v(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function Tx(t){var e=$v(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),r=""+t[e];if(!t.hasOwnProperty(e)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var{get:i,set:s}=n;return Object.defineProperty(t,e,{configurable:!0,get:function(){return i.call(this)},set:function(o){r=""+o,s.call(this,o)}}),Object.defineProperty(t,e,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function Fu(t){t._valueTracker||(t._valueTracker=Tx(t))}function Wv(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var n=e.getValue(),r="";return t&&(r=$v(t)?t.checked?"true":"false":t.value),t=r,t!==n?(e.setValue(t),!0):!1}function fc(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function Xd(t,e){var n=e.checked;return be({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function Wy(t,e){var n=e.defaultValue==null?"":e.defaultValue,r=e.checked!=null?e.checked:e.defaultChecked;n=oi(e.value!=null?e.value:n),t._wrapperState={initialChecked:r,initialValue:n,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function Hv(t,e){e=e.checked,e!=null&&tp(t,"checked",e,!1)}function Zd(t,e){Hv(t,e);var n=oi(e.value),r=e.type;if(n!=null)r==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(r==="submit"||r==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?Jd(t,e.type,n):e.hasOwnProperty("defaultValue")&&Jd(t,e.type,oi(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function Hy(t,e,n){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var r=e.type;if(!(r!=="submit"&&r!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,n||e===t.value||(t.value=e),t.defaultValue=e}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function Jd(t,e,n){(e!=="number"||fc(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}function $s(t,e,n,r){if(t=t.options,e){e={};for(var i=0;i>>=0,t===0?32:31-(c_(t)/f_|0)|0}function _a(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function dc(t,e){var n=t.pendingLanes;if(n===0)return 0;var r=0,i=t.suspendedLanes,s=t.pingedLanes,o=n&268435455;if(o!==0){var a=o&~i;a!==0?r=_a(a):(s&=o,s!==0&&(r=_a(s)))}else o=n&~i,o!==0?r=_a(o):s!==0&&(r=_a(s));if(r===0)return 0;if(e!==0&&e!==r&&(e&i)===0&&(i=r&-r,s=e&-e,i>=s||i===16&&(s&4194240)!==0))return e;if((r&4)!==0&&(r|=n&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=r;0n;n++)e.push(t);return e}function Qa(t,e,n){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-en(e),t[e]=n}function Ux(t,e){var n=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var r=t.eventTimes;for(t=t.expirationTimes;0=e)return{node:n,offset:e-t};t=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=tg(n)}}function h0(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?h0(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function p0(){for(var t=window,e=fc();e instanceof t.HTMLIFrameElement;){try{var n=typeof e.contentWindow.location.href=="string"}catch{n=!1}if(n)t=e.contentWindow;else break;e=fc(t.document)}return e}function sp(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function Jx(t){var e=p0(),n=t.focusedElem,r=t.selectionRange;if(e!==n&&n&&n.ownerDocument&&h0(n.ownerDocument.documentElement,n)){if(r!==null&&sp(n)){if(e=r.start,t=r.end,t===void 0&&(t=e),"selectionStart"in n)n.selectionStart=e,n.selectionEnd=Math.min(t,n.value.length);else if(t=(e=n.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var i=n.textContent.length,s=Math.min(r.start,i);r=r.end===void 0?s:Math.min(r.end,i),!t.extend&&s>r&&(i=r,r=s,s=i),i=ng(n,s);var o=ng(n,r);i&&o&&(t.rangeCount!==1||t.anchorNode!==i.node||t.anchorOffset!==i.offset||t.focusNode!==o.node||t.focusOffset!==o.offset)&&(e=e.createRange(),e.setStart(i.node,i.offset),t.removeAllRanges(),s>r?(t.addRange(e),t.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;nPs||(t.current=Lc[Ps],Lc[Ps]=null,Ps--)}function ye(t,e){Ps++,Lc[Ps]=t.current,t.current=e}function Gs(t,e){var n=t.type.contextTypes;if(!n)return Tr;var r=t.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===e)return r.__reactInternalMemoizedMaskedChildContext;var i={},s;for(s in n)i[s]=e[s];return r&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=i),i}function Dt(t){return t=t.childContextTypes,t!=null}function yc(){_e(yt),_e(tt)}function lg(t,e,n){if(tt.current!==Tr)throw Error(x(168));ye(tt,e),ye(yt,n)}function g0(t,e,n){var r=t.stateNode;if(e=e.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in e))throw Error(x(108,Nx(t)||"Unknown",i));return be({},n,r)}function gc(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Tr,ai=tt.current,ye(tt,t),ye(yt,yt.current),!0}function ug(t,e,n){var r=t.stateNode;if(!r)throw Error(x(169));n?(t=g0(t,e,ai),r.__reactInternalMemoizedMergedChildContext=t,_e(yt),_e(tt),ye(tt,t)):_e(yt),ye(yt,n)}function v0(t){br===null?br=[t]:br.push(t)}function e1(t){sf=!0,v0(t)}function li(){if(!Pd&&br!==null){Pd=!0;var t=0,e=ue;try{var n=br;for(ue=1;t>=o,i-=o,Br=1<<32-en(e)+i|n<b?(K=N,N=null):K=N.sibling;var L=y(h,N,m[b],g);if(L===null){N===null&&(N=K);break}t&&N&&L.alternate===null&&e(h,N),f=s(L,f,b),D===null?w=L:D.sibling=L,D=L,N=K}if(b===m.length)return n(h,N),Ie&&Li(h,b),w;if(N===null){for(;bb?(K=N,N=null):K=N.sibling;var ie=y(h,N,L.value,g);if(ie===null){N===null&&(N=K);break}t&&N&&ie.alternate===null&&e(h,N),f=s(ie,f,b),D===null?w=ie:D.sibling=ie,D=ie,N=K}if(L.done)return n(h,N),Ie&&Li(h,b),w;if(N===null){for(;!L.done;b++,L=m.next())L=d(h,L.value,g),L!==null&&(f=s(L,f,b),D===null?w=L:D.sibling=L,D=L);return Ie&&Li(h,b),w}for(N=r(h,N);!L.done;b++,L=m.next())L=v(N,h,b,L.value,g),L!==null&&(t&&L.alternate!==null&&N.delete(L.key===null?b:L.key),f=s(L,f,b),D===null?w=L:D.sibling=L,D=L);return t&&N.forEach(function(Qe){return e(h,Qe)}),Ie&&Li(h,b),w}function Y(h,f,m,g){if(typeof m=="object"&&m!==null&&m.type===ji&&m.key===null&&(m=m.props.children),typeof m=="object"&&m!==null){switch(m.$$typeof){case Sa:e:{for(var w=m.key,D=f;D!==null;){if(D.key===w){if(w=m.type,w===ji){if(D.tag===7){n(h,D.sibling),f=i(D,m.props.children),f.return=h,h=f;break e}}else if(D.elementType===w||typeof w=="object"&&w!==null&&w.$$typeof===Sr&&dg(w)===D.type){n(h,D.sibling),f=i(D,m.props),f.ref=da(h,D,m),f.return=h,h=f;break e}n(h,D);break}else e(h,D);D=D.sibling}m.type===ji?(f=Yi(m.props.children,h.mode,g,m.key),f.return=h,h=f):(g=tc(m.type,m.key,m.props,null,h.mode,g),g.ref=da(h,f,m),g.return=h,h=g)}return o(h);case Pi:e:{for(D=m.key;f!==null;){if(f.key===D)if(f.tag===4&&f.stateNode.containerInfo===m.containerInfo&&f.stateNode.implementation===m.implementation){n(h,f.sibling),f=i(f,m.children||[]),f.return=h,h=f;break e}else{n(h,f);break}else e(h,f);f=f.sibling}f=Td(m,h.mode,g),f.return=h,h=f}return o(h);case Sr:return D=m._init,Y(h,f,D(m._payload),g)}if(Ls(m))return S(h,f,m,g);if(ua(m))return I(h,f,m,g);Cu(h,m)}return typeof m=="string"&&m!==""||typeof m=="number"?(m=""+m,f!==null&&f.tag===6?(n(h,f.sibling),f=i(f,m),f.return=h,h=f):(n(h,f),f=Nd(m,h.mode,g),f.return=h,h=f),o(h)):n(h,f)}return Y}function up(){Up=zs=Uc=null}function cp(t){var e=Va.current;_e(Va),t._currentValue=e}function lh(t,e,n){for(;t!==null;){var r=t.alternate;if((t.childLanes&e)!==e?(t.childLanes|=e,r!==null&&(r.childLanes|=e)):r!==null&&(r.childLanes&e)!==e&&(r.childLanes|=e),t===n)break;t=t.return}}function Ws(t,e){Uc=t,Up=zs=null,t=t.dependencies,t!==null&&t.firstContext!==null&&((t.lanes&e)!==0&&(Bt=!0),t.firstContext=null)}function Gt(t){var e=t._currentValue;if(Up!==t)if(t={context:t,memoizedValue:e,next:null},zs===null){if(Uc===null)throw Error(x(308));zs=t,Uc.dependencies={lanes:0,firstContext:t}}else zs=zs.next=t;return e}function fp(t){Vi===null?Vi=[t]:Vi.push(t)}function b0(t,e,n,r){var i=e.interleaved;return i===null?(n.next=n,fp(e)):(n.next=i.next,i.next=n),e.interleaved=n,Nr(t,r)}function Nr(t,e){t.lanes|=e;var n=t.alternate;for(n!==null&&(n.lanes|=e),n=t,t=t.return;t!==null;)t.childLanes|=e,n=t.alternate,n!==null&&(n.childLanes|=e),n=t,t=t.return;return n.tag===3?n.stateNode:null}function dp(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function x0(t,e){t=t.updateQueue,e.updateQueue===t&&(e.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,effects:t.effects})}function Ir(t,e){return{eventTime:t,lane:e,tag:0,payload:null,callback:null,next:null}}function ei(t,e,n){var r=t.updateQueue;if(r===null)return null;if(r=r.shared,(re&2)!==0){var i=r.pending;return i===null?e.next=e:(e.next=i.next,i.next=e),r.pending=e,Nr(t,n)}return i=r.interleaved,i===null?(e.next=e,fp(r)):(e.next=i.next,i.next=e),r.interleaved=e,Nr(t,n)}function Ju(t,e,n){if(e=e.updateQueue,e!==null&&(e=e.shared,(n&4194240)!==0)){var r=e.lanes;r&=t.pendingLanes,n|=r,e.lanes=n,rp(t,n)}}function pg(t,e){var{updateQueue:n,alternate:r}=t;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,s=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};s===null?i=s=o:s=s.next=o,n=n.next}while(n!==null);s===null?i=s=e:s=s.next=e}else i=s=e;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:s,shared:r.shared,effects:r.effects},t.updateQueue=n;return}t=n.lastBaseUpdate,t===null?n.firstBaseUpdate=e:t.next=e,n.lastBaseUpdate=e}function vc(t,e,n,r){var i=t.updateQueue;Kr=!1;var{firstBaseUpdate:s,lastBaseUpdate:o}=i,a=i.shared.pending;if(a!==null){i.shared.pending=null;var l=a,u=l.next;l.next=null,o===null?s=u:o.next=u,o=l;var c=t.alternate;c!==null&&(c=c.updateQueue,a=c.lastBaseUpdate,a!==o&&(a===null?c.firstBaseUpdate=u:a.next=u,c.lastBaseUpdate=l))}if(s!==null){var d=i.baseState;o=0,c=u=l=null,a=s;do{var{lane:y,eventTime:v}=a;if((r&y)===y){c!==null&&(c=c.next={eventTime:v,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});e:{var S=t,I=a;switch(y=e,v=n,I.tag){case 1:if(S=I.payload,typeof S=="function"){d=S.call(v,d,y);break e}d=S;break e;case 3:S.flags=S.flags&-65537|128;case 0:if(S=I.payload,y=typeof S=="function"?S.call(v,d,y):S,y==null)break e;d=be({},d,y);break e;case 2:Kr=!0}}a.callback!==null&&a.lane!==0&&(t.flags|=64,y=i.effects,y===null?i.effects=[a]:y.push(a))}else v={eventTime:v,lane:y,tag:a.tag,payload:a.payload,callback:a.callback,next:null},c===null?(u=c=v,l=d):c=c.next=v,o|=y;if(a=a.next,a===null){if(a=i.shared.pending,a===null)break;y=a,a=y.next,y.next=null,i.lastBaseUpdate=y,i.shared.pending=null}}while(!0);if(c===null&&(l=d),i.baseState=l,i.firstBaseUpdate=u,i.lastBaseUpdate=c,e=i.shared.interleaved,e!==null){i=e;do o|=i.lane,i=i.next;while(i!==e)}else s===null&&(i.shared.lanes=0);Zi|=o,t.lanes=o,t.memoizedState=d}}function mg(t,e,n){if(t=e.effects,e.effects=null,t!==null)for(e=0;en?n:4,t(!0);var r=ac.transition;ac.transition={};try{t(!1),e()}finally{ue=n,ac.transition=r}}function Ng(){return Jt().memoizedState}function n1(t,e,n){var r=Xr(t);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},E0(t))k0(e,n);else if(n=b0(t,e,n,r),n!==null){var i=mt();In(n,t,r,i),A0(n,e,r)}}function r1(t,e,n){var r=Xr(t),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(E0(t))k0(e,i);else{var s=t.alternate;if(t.lanes===0&&(s===null||s.lanes===0)&&(s=e.lastRenderedReducer,s!==null))try{var o=e.lastRenderedState,a=s(o,n);if(i.hasEagerState=!0,i.eagerState=a,tn(a,o)){var l=e.interleaved;l===null?(i.next=i,fp(e)):(i.next=l.next,l.next=i),e.interleaved=i;return}}catch{}n=b0(t,e,i,r),n!==null&&(i=mt(),In(n,t,r,i),A0(n,e,r))}}function E0(t){var e=t.alternate;return t===De||e!==null&&e===De}function k0(t,e){Fa=Rc=!0;var n=t.pending;n===null?e.next=e:(e.next=n.next,n.next=e),t.pending=e}function A0(t,e,n){if((n&4194240)!==0){var r=e.lanes;r&=t.pendingLanes,n|=r,e.lanes=n,rp(t,n)}}function bn(t,e){if(t&&t.defaultProps){e=be({},e),t=t.defaultProps;for(var n in t)e[n]===void 0&&(e[n]=t[n]);return e}return e}function ch(t,e,n,r){e=t.memoizedState,n=n(r,e),n=n==null?e:be({},e,n),t.memoizedState=n,t.lanes===0&&(t.updateQueue.baseState=n)}function Tg(t,e,n,r,i,s,o){return t=t.stateNode,typeof t.shouldComponentUpdate=="function"?t.shouldComponentUpdate(r,s,o):e.prototype&&e.prototype.isPureReactComponent?!Ca(n,r)||!Ca(i,s):!0}function L0(t,e,n){var r=!1,i=Tr,s=e.contextType;return typeof s=="object"&&s!==null?s=Gt(s):(i=Dt(e)?ai:tt.current,r=e.contextTypes,s=(r=r!=null)?Gs(t,i):Tr),e=new e(n,s),t.memoizedState=e.state!==null&&e.state!==void 0?e.state:null,e.updater=Ha,t.stateNode=e,e._reactInternals=t,r&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=i,t.__reactInternalMemoizedMaskedChildContext=s),e}function Og(t,e,n,r){t=e.state,typeof e.componentWillReceiveProps=="function"&&e.componentWillReceiveProps(n,r),typeof e.UNSAFE_componentWillReceiveProps=="function"&&e.UNSAFE_componentWillReceiveProps(n,r),e.state!==t&&Ha.enqueueReplaceState(e,e.state,null)}function fh(t,e,n,r){var i=t.stateNode;i.props=n,i.state=t.memoizedState,i.refs={},dp(t);var s=e.contextType;typeof s=="object"&&s!==null?i.context=Gt(s):(s=Dt(e)?ai:tt.current,i.context=Gs(t,s)),i.state=t.memoizedState,s=e.getDerivedStateFromProps,typeof s=="function"&&(ch(t,e,s,n),i.state=t.memoizedState),typeof e.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(e=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),e!==i.state&&Ha.enqueueReplaceState(i,i.state,null),vc(t,n,i,r),i.state=t.memoizedState),typeof i.componentDidMount=="function"&&(t.flags|=4194308)}function Js(t,e){try{var n="",r=e;do n+=Dx(r),r=r.return;while(r);var i=n}catch(s){i=` Error generating stack: `+s.message+` -`+s.stack}return{value:t,source:e,stack:i,digest:null}}function Id(t,e,n){return{value:t,source:null,stack:n??null,digest:e??null}}function dh(t,e){try{console.error(e.value)}catch(n){setTimeout(function(){throw n})}}function M0(t,e,n){n=Ir(-1,n),n.tag=3,n.payload={element:null};var r=e.value;return n.callback=function(){jc||(jc=!0,Kh=r),dh(t,e)},n}function C0(t,e,n){n=Ir(-1,n),n.tag=3;var r=t.type.getDerivedStateFromError;if(typeof r=="function"){var i=e.value;n.payload=function(){return r(i)},n.callback=function(){dh(t,e)}}var s=t.stateNode;return s!==null&&typeof s.componentDidCatch=="function"&&(n.callback=function(){dh(t,e),typeof r!="function"&&(si===null?si=new Set([this]):si.add(this));var o=e.stack;this.componentDidCatch(e.value,{componentStack:o!==null?o:""})}),n}function Fg(t,e,n){var r=t.pingCache;if(r===null){r=t.pingCache=new z_;var i=new Set;r.set(e,i)}else i=r.get(e),i===void 0&&(i=new Set,r.set(e,i));i.has(n)||(i.add(n),t=p1.bind(null,t,e,n),e.then(t,t))}function Eg(t){do{var e;if((e=t.tag===13)&&(e=t.memoizedState,e=e!==null?e.dehydrated!==null:!0),e)return t;t=t.return}while(t!==null);return null}function kg(t,e,n,r,i){return(t.mode&1)===0?(t===e?t.flags|=65536:(t.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(e=Ir(-1,1),e.tag=2,ei(n,e,1))),n.lanes|=1),t):(t.flags|=65536,t.lanes=i,t)}function pt(t,e,n,r){e.child=t===null?Hh(e,null,n,r):Gi(e,t.child,n,r)}function Ag(t,e,n,r,i){n=n.render;var s=e.ref;return Ws(e,i),r=gp(t,e,n,r,s,i),n=vp(),t!==null&&!Bt?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~i,Or(t,e,i)):(Ie&&n&&op(e),e.flags|=1,pt(t,e,r,i),e.child)}function Lg(t,e,n,r,i){if(t===null){var s=n.type;return typeof s=="function"&&!bp(s)&&s.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(e.tag=15,e.type=s,U0(t,e,s,r,i)):(t=tc(n.type,null,r,e,e.mode,i),t.ref=e.ref,t.return=e,e.child=t)}if(s=t.child,(t.lanes&i)===0){var o=s.memoizedProps;if(n=n.compare,n=n!==null?n:Ca,n(o,r)&&t.ref===e.ref)return Or(t,e,i)}return e.flags|=1,t=ti(s,r),t.ref=e.ref,t.return=e,e.child=t}function U0(t,e,n,r,i){if(t!==null){var s=t.memoizedProps;if(Ca(s,r)&&t.ref===e.ref)if(Bt=!1,e.pendingProps=r=s,(t.lanes&i)!==0)(t.flags&131072)!==0&&(Bt=!0);else return e.lanes=t.lanes,Or(t,e,i)}return hh(t,e,n,r,i)}function R0(t,e,n){var r=e.pendingProps,i=r.children,s=t!==null?t.memoizedState:null;if(r.mode==="hidden")if((e.mode&1)===0)e.memoizedState={baseLanes:0,cachePool:null,transitions:null},ye($i,Rt),Rt|=n;else{if((n&1073741824)===0)return t=s!==null?s.baseLanes|n:n,e.lanes=e.childLanes=1073741824,e.memoizedState={baseLanes:t,cachePool:null,transitions:null},e.updateQueue=null,ye($i,Rt),Rt|=t,null;e.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=s!==null?s.baseLanes:n,ye($i,Rt),Rt|=r}else s!==null?(r=s.baseLanes|n,e.memoizedState=null):r=n,ye($i,Rt),Rt|=r;return pt(t,e,i,n),e.child}function P0(t,e){var n=e.ref;(t===null&&n!==null||t!==null&&t.ref!==n)&&(e.flags|=512,e.flags|=2097152)}function hh(t,e,n,r,i){var s=Dt(n)?ai:tt.current;return s=Gs(e,s),Ws(e,i),n=gp(t,e,n,r,s,i),r=vp(),t!==null&&!Bt?(e.updateQueue=t.updateQueue,e.flags&=-2053,t.lanes&=~i,Or(t,e,i)):(Ie&&r&&op(e),e.flags|=1,pt(t,e,n,i),e.child)}function Mg(t,e,n,r,i){if(Dt(n)){var s=!0;gc(e)}else s=!1;if(Ws(e,i),e.stateNode===null)ec(t,e),L0(e,n,r),fh(e,n,r,i),r=!0;else if(t===null){var{stateNode:o,memoizedProps:a}=e;o.props=a;var l=o.context,u=n.contextType;typeof u=="object"&&u!==null?u=Gt(u):(u=Dt(n)?ai:tt.current,u=Gs(e,u));var c=n.getDerivedStateFromProps,d=typeof c=="function"||typeof o.getSnapshotBeforeUpdate=="function";d||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==r||l!==u)&&Og(e,o,r,u),Kr=!1;var y=e.memoizedState;o.state=y,vc(e,r,o,i),l=e.memoizedState,a!==r||y!==l||yt.current||Kr?(typeof c=="function"&&(ch(e,n,c,r),l=e.memoizedState),(a=Kr||Tg(e,n,a,r,y,l,u))?(d||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(e.flags|=4194308)):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),e.memoizedProps=r,e.memoizedState=l),o.props=r,o.state=l,o.context=u,r=a):(typeof o.componentDidMount=="function"&&(e.flags|=4194308),r=!1)}else{o=e.stateNode,x0(t,e),a=e.memoizedProps,u=e.type===e.elementType?a:bn(e.type,a),o.props=u,d=e.pendingProps,y=o.context,l=n.contextType,typeof l=="object"&&l!==null?l=Gt(l):(l=Dt(n)?ai:tt.current,l=Gs(e,l));var v=n.getDerivedStateFromProps;(c=typeof v=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==d||y!==l)&&Og(e,o,r,l),Kr=!1,y=e.memoizedState,o.state=y,vc(e,r,o,i);var w=e.memoizedState;a!==d||y!==w||yt.current||Kr?(typeof v=="function"&&(ch(e,n,v,r),w=e.memoizedState),(u=Kr||Tg(e,n,u,r,y,w,l)||!1)?(c||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(r,w,l),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(r,w,l)),typeof o.componentDidUpdate=="function"&&(e.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(e.flags|=1024)):(typeof o.componentDidUpdate!="function"||a===t.memoizedProps&&y===t.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===t.memoizedProps&&y===t.memoizedState||(e.flags|=1024),e.memoizedProps=r,e.memoizedState=w),o.props=r,o.state=w,o.context=l,r=u):(typeof o.componentDidUpdate!="function"||a===t.memoizedProps&&y===t.memoizedState||(e.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===t.memoizedProps&&y===t.memoizedState||(e.flags|=1024),r=!1)}return ph(t,e,n,r,s,i)}function ph(t,e,n,r,i,s){P0(t,e);var o=(e.flags&128)!==0;if(!r&&!o)return i&&ug(e,n,!1),Or(t,e,s);r=e.stateNode,V_.current=e;var a=o&&typeof n.getDerivedStateFromError!="function"?null:r.render();return e.flags|=1,t!==null&&o?(e.child=Gi(e,t.child,null,s),e.child=Gi(e,null,a,s)):pt(t,e,a,s),e.memoizedState=r.state,i&&ug(e,n,!0),e.child}function j0(t){var e=t.stateNode;e.pendingContext?lg(t,e.pendingContext,e.pendingContext!==e.context):e.context&&lg(t,e.context,!1),hp(t,e.containerInfo)}function Cg(t,e,n,r,i){return Xs(),lp(i),e.flags|=256,pt(t,e,n,r),e.child}function mh(t){return{baseLanes:t,cachePool:null,transitions:null}}function z0(t,e,n){var r=e.pendingProps,i=xe.current,s=!1,o=(e.flags&128)!==0,a;if((a=o)||(a=t!==null&&t.memoizedState===null?!1:(i&2)!==0),a?(s=!0,e.flags&=-129):(t===null||t.memoizedState!==null)&&(i|=1),ye(xe,i&1),t===null)return ah(e),t=e.memoizedState,t!==null&&(t=t.dehydrated,t!==null)?((e.mode&1)===0?e.lanes=1:t.data==="$!"?e.lanes=8:e.lanes=1073741824,null):(o=r.children,t=r.fallback,s?(r=e.mode,s=e.child,o={mode:"hidden",children:o},(r&1)===0&&s!==null?(s.childLanes=0,s.pendingProps=o):s=Gc(o,r,0,null),t=Yi(t,r,n,null),s.return=e,t.return=e,s.sibling=t,e.child=s,e.child.memoizedState=mh(n),e.memoizedState=Pc,t):_p(e,o));if(i=t.memoizedState,i!==null&&(a=i.dehydrated,a!==null))return i1(t,e,o,r,a,i,n);if(s){s=r.fallback,o=e.mode,i=t.child,a=i.sibling;var l={mode:"hidden",children:r.children};return(o&1)===0&&e.child!==i?(r=e.child,r.childLanes=0,r.pendingProps=l,e.deletions=null):(r=ti(i,l),r.subtreeFlags=i.subtreeFlags&14680064),a!==null?s=ti(a,s):(s=Yi(s,o,n,null),s.flags|=2),s.return=e,r.return=e,r.sibling=s,e.child=r,r=s,s=e.child,o=t.child.memoizedState,o=o===null?mh(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},s.memoizedState=o,s.childLanes=t.childLanes&~n,e.memoizedState=Pc,r}return s=t.child,t=s.sibling,r=ti(s,{mode:"visible",children:r.children}),(e.mode&1)===0&&(r.lanes=n),r.return=e,r.sibling=null,t!==null&&(n=e.deletions,n===null?(e.deletions=[t],e.flags|=16):n.push(t)),e.child=r,e.memoizedState=null,r}function _p(t,e){return e=Gc({mode:"visible",children:e},t.mode,0,null),e.return=t,t.child=e}function Uu(t,e,n,r){return r!==null&&lp(r),Gi(e,t.child,null,n),t=_p(e,e.pendingProps.children),t.flags|=2,e.memoizedState=null,t}function i1(t,e,n,r,i,s,o){if(n)return e.flags&256?(e.flags&=-257,r=Id(Error(x(422))),Uu(t,e,o,r)):e.memoizedState!==null?(e.child=t.child,e.flags|=128,null):(s=r.fallback,i=e.mode,r=Gc({mode:"visible",children:r.children},i,0,null),s=Yi(s,i,o,null),s.flags|=2,r.return=e,s.return=e,r.sibling=s,e.child=r,(e.mode&1)!==0&&Gi(e,t.child,null,o),e.child.memoizedState=mh(o),e.memoizedState=Pc,s);if((e.mode&1)===0)return Uu(t,e,o,null);if(i.data==="$!"){if(r=i.nextSibling&&i.nextSibling.dataset,r)var a=r.dgst;return r=a,s=Error(x(419)),r=Id(s,r,void 0),Uu(t,e,o,r)}if(a=(o&t.childLanes)!==0,Bt||a){if(r=Ke,r!==null){switch(o&-o){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}i=(i&(r.suspendedLanes|o))!==0?0:i,i!==0&&i!==s.retryLane&&(s.retryLane=i,Nr(t,i),In(r,t,i,-1))}return Sp(),r=Id(Error(x(421))),Uu(t,e,o,r)}return i.data==="$?"?(e.flags|=128,e.child=t.child,e=m1.bind(null,t),i._reactRetry=e,null):(t=s.treeContext,jt=qr(i.nextSibling),zt=e,Ie=!0,Bn=null,t!==null&&(Pt[Xt++]=Br,Pt[Xt++]=Dr,Pt[Xt++]=Qi,Br=t.id,Dr=t.overflow,Qi=e),e=_p(e,r.children),e.flags|=4096,e)}function Ug(t,e,n){t.lanes|=e;var r=t.alternate;r!==null&&(r.lanes|=e),lh(t.return,e,n)}function Bd(t,e,n,r,i){var s=t.memoizedState;s===null?t.memoizedState={isBackwards:e,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(s.isBackwards=e,s.rendering=null,s.renderingStartTime=0,s.last=r,s.tail=n,s.tailMode=i)}function V0(t,e,n){var r=e.pendingProps,i=r.revealOrder,s=r.tail;if(pt(t,e,r.children,n),r=xe.current,(r&2)!==0)r=r&1|2,e.flags|=128;else{if(t!==null&&(t.flags&128)!==0)e:for(t=e.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&Ug(t,n,e);else if(t.tag===19)Ug(t,n,e);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;t.sibling===null;){if(t.return===null||t.return===e)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}r&=1}if(ye(xe,r),(e.mode&1)===0)e.memoizedState=null;else switch(i){case"forwards":for(n=e.child,i=null;n!==null;)t=n.alternate,t!==null&&_c(t)===null&&(i=n),n=n.sibling;n=i,n===null?(i=e.child,e.child=null):(i=n.sibling,n.sibling=null),Bd(e,!1,i,n,s);break;case"backwards":for(n=null,i=e.child,e.child=null;i!==null;){if(t=i.alternate,t!==null&&_c(t)===null){e.child=i;break}t=i.sibling,i.sibling=n,n=i,i=t}Bd(e,!0,n,null,s);break;case"together":Bd(e,!1,null,null,void 0);break;default:e.memoizedState=null}return e.child}function ec(t,e){(e.mode&1)===0&&t!==null&&(t.alternate=null,e.alternate=null,e.flags|=2)}function Or(t,e,n){if(t!==null&&(e.dependencies=t.dependencies),Zi|=e.lanes,(n&e.childLanes)===0)return null;if(t!==null&&e.child!==t.child)throw Error(x(153));if(e.child!==null){for(t=e.child,n=ti(t,t.pendingProps),e.child=n,n.return=e;t.sibling!==null;)t=t.sibling,n=n.sibling=ti(t,t.pendingProps),n.return=e;n.sibling=null}return e.child}function s1(t,e,n){switch(e.tag){case 3:j0(e),Xs();break;case 5:I0(e);break;case 1:Dt(e.type)&&gc(e);break;case 4:hp(e,e.stateNode.containerInfo);break;case 10:var r=e.type._context,i=e.memoizedProps.value;ye(Va,r._currentValue),r._currentValue=i;break;case 13:if(r=e.memoizedState,r!==null)return r.dehydrated!==null?(ye(xe,xe.current&1),e.flags|=128,null):(n&e.child.childLanes)!==0?z0(t,e,n):(ye(xe,xe.current&1),t=Or(t,e,n),t!==null?t.sibling:null);ye(xe,xe.current&1);break;case 19:if(r=(n&e.childLanes)!==0,(t.flags&128)!==0){if(r)return V0(t,e,n);e.flags|=128}if(i=e.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),ye(xe,xe.current),r)break;return null;case 22:case 23:return e.lanes=0,R0(t,e,n)}return Or(t,e,n)}function ha(t,e){if(!Ie)switch(t.tailMode){case"hidden":e=t.tail;for(var n=null;e!==null;)e.alternate!==null&&(n=e),e=e.sibling;n===null?t.tail=null:n.sibling=null;break;case"collapsed":n=t.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?e||t.tail===null?t.tail=null:t.tail.sibling=null:r.sibling=null}}function it(t){var e=t.alternate!==null&&t.alternate.child===t.child,n=0,r=0;if(e)for(var i=t.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&14680064,r|=i.flags&14680064,i.return=t,i=i.sibling;else for(i=t.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=t,i=i.sibling;return t.subtreeFlags|=r,t.childLanes=n,e}function o1(t,e,n){var r=e.pendingProps;switch(ap(e),e.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return it(e),null;case 1:return Dt(e.type)&&yc(),it(e),null;case 3:return r=e.stateNode,Zs(),_e(yt),_e(tt),mp(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(t===null||t.child===null)&&(Mu(e)?e.flags|=4:t===null||t.memoizedState.isDehydrated&&(e.flags&256)===0||(e.flags|=1024,Bn!==null&&(Sh(Bn),Bn=null))),Yh(t,e),it(e),null;case 5:pp(e);var i=Ri(ro.current);if(n=e.type,t!==null&&e.stateNode!=null)W_(t,e,n,r,i),t.ref!==e.ref&&(e.flags|=512,e.flags|=2097152);else{if(!r){if(e.stateNode===null)throw Error(x(166));return it(e),null}if(t=Ri(Nn.current),Mu(e)){r=e.stateNode,n=e.type;var s=e.memoizedProps;switch(r[Dn]=e,r[to]=s,t=(e.mode&1)!==0,n){case"dialog":ve("cancel",r),ve("close",r);break;case"iframe":case"object":case"embed":ve("load",r);break;case"video":case"audio":for(i=0;i<\/script>",t=t.removeChild(t.firstChild)):typeof r.is=="string"?t=o.createElement(n,{is:r.is}):(t=o.createElement(n),n==="select"&&(o=t,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):t=o.createElementNS(t,n),t[Dn]=e,t[to]=r,$_(t,e,!1,!1),e.stateNode=t;e:{switch(o=nh(n,r),n){case"dialog":ve("cancel",t),ve("close",t),i=r;break;case"iframe":case"object":case"embed":ve("load",t),i=r;break;case"video":case"audio":for(i=0;iio&&(e.flags|=128,r=!0,ha(s,!1),e.lanes=4194304)}else{if(!r)if(t=_c(o),t!==null){if(e.flags|=128,r=!0,n=t.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),ha(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!Ie)return it(e),null}else 2*Oe()-s.renderingStartTime>io&&n!==1073741824&&(e.flags|=128,r=!0,ha(s,!1),e.lanes=4194304);s.isBackwards?(o.sibling=e.child,e.child=o):(n=s.last,n!==null?n.sibling=o:e.child=o,s.last=o)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=Oe(),e.sibling=null,n=xe.current,ye(xe,r?n&1|2:n&1),e):(it(e),null);case 22:case 23:return wp(),r=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==r&&(e.flags|=8192),r&&(e.mode&1)!==0?(Rt&1073741824)!==0&&(it(e),e.subtreeFlags&6&&(e.flags|=8192)):it(e),null;case 24:return null;case 25:return null}throw Error(x(156,e.tag))}function a1(t,e){switch(ap(e),e.tag){case 1:return Dt(e.type)&&yc(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return Zs(),_e(yt),_e(tt),mp(),t=e.flags,(t&65536)!==0&&(t&128)===0?(e.flags=t&-65537|128,e):null;case 5:return pp(e),null;case 13:if(_e(xe),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(x(340));Xs()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return _e(xe),null;case 4:return Zs(),null;case 10:return cp(e.type._context),null;case 22:case 23:return wp(),null;case 24:return null;default:return null}}function As(t,e){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Te(t,e,r)}else n.current=null}function yh(t,e,n){try{n()}catch(r){Te(t,e,r)}}function l1(t,e){if($h=Oc,t=p0(),sp(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var{anchorOffset:i,focusNode:s}=r;r=r.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break e}var o=0,a=-1,l=-1,u=0,c=0,d=t,y=null;t:for(;;){for(var v;d!==n||i!==0&&d.nodeType!==3||(a=o+i),d!==s||r!==0&&d.nodeType!==3||(l=o+r),d.nodeType===3&&(o+=d.nodeValue.length),(v=d.firstChild)!==null;)y=d,d=v;for(;;){if(d===t)break t;if(y===n&&++u===i&&(a=o),y===s&&++c===r&&(l=o),(v=d.nextSibling)!==null)break;d=y,y=d.parentNode}d=v}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(Wh={focusedElem:t,selectionRange:n},Oc=!1,E=e;E!==null;)if(e=E,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,E=t;else for(;E!==null;){e=E;try{var w=e.alternate;if((e.flags&1024)!==0)switch(e.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var{memoizedProps:b,memoizedState:Y}=w,h=e.stateNode,f=h.getSnapshotBeforeUpdate(e.elementType===e.type?b:bn(e.type,b),Y);h.__reactInternalSnapshotBeforeUpdate=f}break;case 3:var m=e.stateNode.containerInfo;m.nodeType===1?m.textContent="":m.nodeType===9&&m.documentElement&&m.removeChild(m.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(x(163))}}catch(g){Te(e,e.return,g)}if(t=e.sibling,t!==null){t.return=e.return,E=t;break}E=e.return}return w=fv,fv=!1,w}function Ba(t,e,n){var r=e.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&t)===t){var s=i.destroy;i.destroy=void 0,s!==void 0&&yh(e,n,s)}i=i.next}while(i!==r)}}function Qc(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var n=e=e.next;do{if((n.tag&t)===t){var r=n.create;n.destroy=r()}n=n.next}while(n!==e)}}function gh(t){var e=t.ref;if(e!==null){var n=t.stateNode;t.tag,t=n,typeof e=="function"?e(t):e.current=t}}function $0(t){var e=t.alternate;e!==null&&(t.alternate=null,$0(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[Dn],delete e[to],delete e[Ac],delete e[M_],delete e[C_])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function W0(t){return t.tag===5||t.tag===3||t.tag===4}function Rg(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||W0(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function vh(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.nodeType===8?n.parentNode.insertBefore(t,e):n.insertBefore(t,e):(n.nodeType===8?(e=n.parentNode,e.insertBefore(t,n)):(e=n,e.appendChild(t)),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=pc));else if(r!==4&&(t=t.child,t!==null))for(vh(t,e,n),t=t.sibling;t!==null;)vh(t,e,n),t=t.sibling}function _h(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(r!==4&&(t=t.child,t!==null))for(_h(t,e,n),t=t.sibling;t!==null;)_h(t,e,n),t=t.sibling}function Yr(t,e,n){for(n=n.child;n!==null;)H0(t,e,n),n=n.sibling}function H0(t,e,n){if($n&&typeof $n.onCommitFiberUnmount=="function")try{$n.onCommitFiberUnmount(nf,n)}catch{}switch(n.tag){case 5:lt||As(n,e);case 6:var r=qe,i=xn;qe=null,Yr(t,e,n),qe=r,xn=i,qe!==null&&(xn?(t=qe,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):qe.removeChild(n.stateNode));break;case 18:qe!==null&&(xn?(t=qe,n=n.stateNode,t.nodeType===8?wd(t.parentNode,n):t.nodeType===1&&wd(t,n),Ma(t)):wd(qe,n.stateNode));break;case 4:r=qe,i=xn,qe=n.stateNode.containerInfo,xn=!0,Yr(t,e,n),qe=r,xn=i;break;case 0:case 11:case 14:case 15:if(!lt&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var s=i,o=s.destroy;s=s.tag,o!==void 0&&((s&2)!==0||(s&4)!==0)&&yh(n,e,o),i=i.next}while(i!==r)}Yr(t,e,n);break;case 1:if(!lt&&(As(n,e),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){Te(n,e,a)}Yr(t,e,n);break;case 21:Yr(t,e,n);break;case 22:n.mode&1?(lt=(r=lt)||n.memoizedState!==null,Yr(t,e,n),lt=r):Yr(t,e,n);break;default:Yr(t,e,n)}}function Pg(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new Y_),e.forEach(function(r){var i=y1.bind(null,t,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Sn(t,e){var n=e.deletions;if(n!==null)for(var r=0;ri&&(i=o),r&=~s}if(r=i,r=Oe()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*K_(r/1960))-r,10t?16:t,Jr===null)var r=!1;else{if(t=Jr,Jr=null,zc=0,(re&6)!==0)throw Error(x(331));var i=re;for(re|=4,E=t.current;E!==null;){var s=E,o=s.child;if((E.flags&16)!==0){var a=s.deletions;if(a!==null){for(var l=0;lOe()-Pp?Hi(t,0):Rp|=n),Nt(t,e)}function q0(t,e){e===0&&((t.mode&1)===0?e=1:(e=zu,zu<<=1,(zu&130023424)===0&&(zu=4194304)));var n=mt();t=Nr(t,e),t!==null&&(Qa(t,e,n),Nt(t,n))}function m1(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),q0(t,n)}function y1(t,e){var n=0;switch(t.tag){case 13:var r=t.stateNode,i=t.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=t.stateNode;break;default:throw Error(x(314))}r!==null&&r.delete(e),q0(t,n)}function e_(t,e){return Fp(t,e)}function g1(t,e,n,r){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function qt(t,e,n,r){return new g1(t,e,n,r)}function bp(t){return t=t.prototype,!(!t||!t.isReactComponent)}function v1(t){if(typeof t=="function")return bp(t)?1:0;if(t!=null){if(t=t.$$typeof,t===qc)return 11;if(t===ef)return 14}return 2}function ti(t,e){var n=t.alternate;return n===null?(n=qt(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function tc(t,e,n,r,i,s){var o=2;if(r=t,typeof t=="function")bp(t)&&(o=1);else if(typeof t=="string")o=5;else e:switch(t){case ji:return Yi(n.children,i,s,e);case Jc:o=8,i|=8;break;case Ic:return t=qt(12,n,e,i|2),t.elementType=Ic,t.lanes=s,t;case Bc:return t=qt(13,n,e,i),t.elementType=Bc,t.lanes=s,t;case Dc:return t=qt(19,n,e,i),t.elementType=Dc,t.lanes=s,t;case Tp:return Gc(n,i,s,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case Dp:o=10;break e;case Np:o=9;break e;case qc:o=11;break e;case ef:o=14;break e;case Sr:o=16,r=null;break e}throw Error(x(130,t==null?t:typeof t,""))}return e=qt(o,n,e,i),e.elementType=t,e.type=r,e.lanes=s,e}function Yi(t,e,n,r){return t=qt(7,t,r,e),t.lanes=n,t}function Gc(t,e,n,r){return t=qt(22,t,r,e),t.elementType=Tp,t.lanes=n,t.stateNode={isHidden:!1},t}function Nd(t,e,n){return t=qt(6,t,null,e),t.lanes=n,t}function Td(t,e,n){return e=qt(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function _1(t,e,n,r,i){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=yd(0),this.expirationTimes=yd(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=yd(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function xp(t,e,n,r,i,s,o,a,l){return t=new _1(t,e,n,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=qt(3,null,null,e),t.current=s,s.stateNode=t,s.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},dp(s),t}function w1(t,e,n){var r=3{if(Kg=he(nn(),1),xt=he(bx(),1),Bp=new Set,Ys={},Pn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),xc=Object.prototype.hasOwnProperty,r_=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,xh={},Ih={},He={},"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){He[t]=new ht(t,0,!1,t,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];He[e]=new ht(e,1,!1,t[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(t){He[t]=new ht(t,2,!1,t.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){He[t]=new ht(t,2,!1,t,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){He[t]=new ht(t,3,!1,t.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(t){He[t]=new ht(t,3,!0,t,null,!1,!1)}),["capture","download"].forEach(function(t){He[t]=new ht(t,4,!1,t,null,!1,!1)}),["cols","rows","size","span"].forEach(function(t){He[t]=new ht(t,6,!1,t,null,!1,!1)}),["rowSpan","start"].forEach(function(t){He[t]=new ht(t,5,!1,t.toLowerCase(),null,!1,!1)}),Ru=/[\-:]([a-z])/g,"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(Ru,pd);He[e]=new ht(e,1,!1,t,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(Ru,pd);He[e]=new ht(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(Ru,pd);He[e]=new ht(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(t){He[t]=new ht(t,1,!1,t.toLowerCase(),null,!1,!1)}),He.xlinkHref=new ht("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(t){He[t]=new ht(t,1,!1,t.toLowerCase(),null,!0,!0)}),jn=Kg.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Sa=Symbol.for("react.element"),Pi=Symbol.for("react.portal"),ji=Symbol.for("react.fragment"),Jc=Symbol.for("react.strict_mode"),Ic=Symbol.for("react.profiler"),Dp=Symbol.for("react.provider"),Np=Symbol.for("react.context"),qc=Symbol.for("react.forward_ref"),Bc=Symbol.for("react.suspense"),Dc=Symbol.for("react.suspense_list"),ef=Symbol.for("react.memo"),Sr=Symbol.for("react.lazy"),Tp=Symbol.for("react.offscreen"),Bh=Symbol.iterator,be=Object.assign,Ls=Array.isArray,Op=(function(t){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(e,n,r,i){MSApp.execUnsafeLocalFunction(function(){return t(e,n,r,i)})}:t})(function(t,e){if(t.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in t)t.innerHTML=e;else{for(Pu=Pu||document.createElement("div"),Pu.innerHTML=""+e.valueOf().toString()+"",e=Pu.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}}),Ms={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Qg=["Webkit","ms","Moz","O"],Object.keys(Ms).forEach(function(t){Qg.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),Ms[e]=Ms[t]})}),i_=be({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}),Pn)try{Ts={},Object.defineProperty(Ts,"passive",{get:function(){Th=!0}}),window.addEventListener("test",Ts,Ts),window.removeEventListener("test",Ts,Ts)}catch{Th=!1}for(s_={onError:function(t){Da=!0,Nc=t}},Fp=xt.unstable_scheduleCallback,Fh=xt.unstable_cancelCallback,o_=xt.unstable_shouldYield,a_=xt.unstable_requestPaint,Oe=xt.unstable_now,l_=xt.unstable_getCurrentPriorityLevel,tf=xt.unstable_ImmediatePriority,Ep=xt.unstable_UserBlockingPriority,ja=xt.unstable_NormalPriority,u_=xt.unstable_LowPriority,kp=xt.unstable_IdlePriority,en=Math.clz32?Math.clz32:Lx,c_=Math.log,f_=Math.LN2,ba=[],qs=new Map,eo=new Map,xr=[],m_="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" "),Ki=jn.ReactCurrentBatchConfig,Ei={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},rf=Ut(Ei),Os=be({},Ei,{view:0,detail:0}),y_=Ut(Os),ma=be({},Os,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:gd,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==pa&&(pa&&t.type==="mousemove"?(Ad=t.screenX-pa.screenX,Ld=t.screenY-pa.screenY):Ld=Ad=0,pa=t),Ad)},movementY:function(t){return"movementY"in t?t.movementY:Ld}}),kh=Ut(ma),Xg=be({},ma,{dataTransfer:0}),g_=Ut(Xg),Zg=be({},Os,{relatedTarget:0}),ic=Ut(Zg),Jg=be({},Ei,{animationName:0,elapsedTime:0,pseudoElement:0}),v_=Ut(Jg),qg=be({},Ei,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),__=Ut(qg),ev=be({},Ei,{data:0}),Ah=Ut(ev),tv={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},nv={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},w_={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"},rv=be({},Os,{key:function(t){if(t.key){var e=tv[t.key]||t.key;if(e!=="Unidentified")return e}return t.type==="keypress"?(t=Zu(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?nv[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:gd,charCode:function(t){return t.type==="keypress"?Zu(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?Zu(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),S_=Ut(rv),iv=be({},ma,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Lh=Ut(iv),sv=be({},Os,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:gd}),b_=Ut(sv),ov=be({},Ei,{propertyName:0,elapsedTime:0,pseudoElement:0}),x_=Ut(ov),av=be({},ma,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),I_=Ut(av),B_=[9,13,27,32],Ec=Pn&&("CompositionEvent"in window),Pn&&("documentMode"in document)&&(ya=document.documentMode),D_=Pn&&("TextEvent"in window)&&!ya,Mp=Pn&&(!Ec||ya&&8=ya),Mh=" ",N_={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0},Pn&&(Pn?(Vu="oninput"in document,Vu||(Cd=document.createElement("div"),Cd.setAttribute("oninput","return;"),Vu=typeof Cd.oninput=="function"),Md=Vu):Md=!1,T_=Md&&(!document.documentMode||9=document.documentMode,Ci={animationend:ku("Animation","AnimationEnd"),animationiteration:ku("Animation","AnimationIteration"),animationstart:ku("Animation","AnimationStart"),transitionend:ku("Transition","TransitionEnd")},sc={},Rh={},Pn&&(Rh=document.createElement("div").style,"AnimationEvent"in window||(delete Ci.animationend.animation,delete Ci.animationiteration.animation,delete Ci.animationstart.animation),"TransitionEvent"in window||delete Ci.transitionend.transition),Ph=Au("animationend"),jh=Au("animationiteration"),zh=Au("animationstart"),Vh=Au("transitionend"),Cp=new Map,Ud="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" "),Wu=0;Wu{L1();function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(r){console.error(r)}}n(),e.exports=Vv}),M1=so(t=>{var e=he(Z_());t.createRoot=e.createRoot,t.hydrateRoot=e.hydrateRoot;var n}),J_={};Gh(J_,{jsxs:()=>sw,jsx:()=>iw,Fragment:()=>rw});function pv(t,e,n){var r,i={},s=null,o=null;n!==void 0&&(s=""+n),e.key!==void 0&&(s=""+e.key),e.ref!==void 0&&(o=e.ref);for(r in e)ew.call(e,r)&&!nw.hasOwnProperty(r)&&(i[r]=e[r]);if(t&&t.defaultProps)for(r in e=t.defaultProps,e)i[r]===void 0&&(i[r]=e[r]);return{$$typeof:q_,type:t,key:s,ref:o,props:i,_owner:tw.current}}var mv,q_,yv,ew,tw,nw,rw,iw,sw,C1=Xh(()=>{mv=he(nn(),1),q_=Symbol.for("react.element"),yv=Symbol.for("react.fragment"),ew=Object.prototype.hasOwnProperty,tw=mv.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,nw={key:!0,ref:!0,__self:!0,__source:!0},rw=yv,iw=pv,sw=pv}),Hn=so((t,e)=>{C1(),e.exports=J_}),Zt=he(nn(),1),U1=he(M1(),1),R1=he(Z_(),1),uL=he(nn(),1);function Vc(t){return String(t||"").split(".").at(-1)}function zp(t,e={}){if(t==null||t==="")return"\u2014";let n=typeof t=="number"?t:Number(t);if(!Number.isFinite(n))return String(t);let r=String(e.format||"").toLowerCase();if(e.style==="percent"||r.includes("%")||r.includes("percent")||r.includes("pct")||e.type==="ratio")return(e.style==="percent"?n:Math.abs(n)<=1?n*100:n).toLocaleString(void 0,{maximumFractionDigits:e.maximumFractionDigits??1,style:e.style==="percent"?"percent":"decimal"})+(e.style==="percent"?"":"%");let s=e.style==="currency"||e.currency||r.includes("$")||r.includes("usd")||r.includes("currency")||r.includes("dollar");return n.toLocaleString(void 0,{currency:s?e.currency||"USD":void 0,maximumFractionDigits:e.maximumFractionDigits??2,notation:e.compact?"compact":"standard",style:s?"currency":"decimal"})}function Ji(t){return String(t??"")}function ow(t,e,n){let r={...t},i=Ji(n),s=new Set((r[e]||[]).map(Ji));return s.has(i)?s.delete(i):s.add(i),s.size?r[e]=[...s]:delete r[e],r}function aw(t,e,n){let r={...t},i=Ji(n),s=(r[e]||[]).map(Ji).filter(o=>o!==i);return s.length?r[e]=s:delete r[e],r}var cL=he(Hn(),1);var P1=he(nn(),1);function j1(t){return t.split(".").at(-1)||t}var $c="\0__null__";function Wc(t){return t===$c||t===""?"\u2014":t}function jd(t,e={}){return zp(t,e)}function lf(t){return`'${t.replaceAll("'","''")}'`}function z1(t){if(t.mode==="contains")return`contains ${lf(t.pattern??"")}`;let{values:e}=t,n=t.mode==="exclude"?"is not":"is";return e.length===0?n:e.length===1?`${n} ${Wc(e[0])}`:e.length<=2?`${n} ${e.map(Wc).join(", ")}`:`${n} ${e.length} values`}var at=he(nn(),1);function V1(t,e){let n=new Set;for(let r of t.joinablePairs??[])r.from===e&&n.add(r.to),r.to===e&&n.add(r.from);return t.graphMetrics.filter(r=>r.ownerModel?r.ownerModel===e||n.has(r.ownerModel):!0)}var $1=new Set(["second","minute","hour","day","week","month","quarter","year"]);function Ku(t){return t===void 0?[]:Array.isArray(t)?t:[t]}function Qu(t,e){return t.models.flatMap(n=>n.dimensions).find(n=>e===n.ref||e.startsWith(`${n.ref}__`))}function W1(t,e){let n=t.split("__").at(-1);return n&&$1.has(n)?n:e}function H1(t){let e=t.defaults?.query;if(!e||typeof e!="object")return;let n=e,r=n.use_preaggregations??n.usePreaggregations;return typeof r=="boolean"?r:void 0}function Y1(t,e){let n=t.defaults?.query,r=n&&typeof n=="object"?n:{},i=e.query.interaction_preaggregations??e.query.interactionPreaggregations??e.interaction_preaggregations??e.interactionPreaggregations??r.interaction_preaggregations??r.interactionPreaggregations;return typeof i=="boolean"?i:void 0}function K1(t,e,n){if(!e?.tabs.length)return null;let r=e.tabs.find(g=>g.id===n)??e.tabs[0],i=r.charts[0];if(!i)return null;let s=Ku(i.query.dimensions),o=Ku(i.query.metrics),a=o.map(g=>t.graphMetrics.find(I=>I.ref===g)?.ownerModel).find(g=>!!g),l=o.find(g=>g.includes("."))?.split(".")[0]??a??s.find(g=>g.includes("."))?.split(".")[0],u=t.models.find(g=>g.name===l)??t.models[0];if(!u)return null;let c=[...t.models.flatMap(g=>g.metrics),...V1(t,u.name)],d=o.map(g=>c.find(I=>I.ref===g)).filter(g=>!!g),y=s.map(g=>Qu(t,g)).filter((g,I,D)=>!!g&&D.findIndex(N=>N?.ref===g?.ref)===I),v=i.encoding?.y,b=(Array.isArray(v)?v:v?[v]:[]).find(g=>d.some(I=>I.ref===g))??d[0]?.ref??u.metrics[0]?.ref??"",Y=i.encoding?.x,h=(Y&&Qu(t,Y)?.type==="time"?Y:void 0)??s.find(g=>Qu(t,g)?.type==="time"),f=u.defaultGrain??"month",m=h?Qu(t,h):u.timeDimension;return{id:r.id,label:r.label??r.id,title:i.title??e.title,model:u,metrics:d.length?d:u.metrics,dimensions:y.length?y:u.dimensions,timeDimension:m,selectedMetric:b,grain:h?W1(h,f):f,filters:Ku(i.query.filters),segments:Ku(i.query.segments),usePreaggregations:Y1(e,i)??i.query.use_preaggregations??i.query.usePreaggregations??H1(e)}}var Q1=["second","minute","hour","day","week","month","quarter","year"];function G1(t){return t.toISOString().slice(0,10)}function X1(t){return t.slice(0,10)}function Z1(t){return new Date(`${X1(t)}T00:00:00Z`)}function J1(t,e){let n=Z1(t);return n.setUTCDate(n.getUTCDate()+e),G1(n)}function q1(t,e){return e.from.includes("T")||e.to.includes("T")?[`${t} >= cast('${e.from}' as timestamp)`,`${t} < cast('${e.to}' as timestamp)`]:[`${t} >= cast('${e.from}' as date)`,`${t} < cast('${J1(e.to,1)}' as date)`]}function eI(t){return t.mode==="contains"?!t.pattern:t.values.length===0}function tI(t){return Object.fromEntries(t.map(e=>[e.ref,e.type]))}function nI(t){return tI(t.models.flatMap(e=>e.dimensions))}function gv(t,e){if((e==="numeric"||e==="number")&&t.trim()!==""&&Number.isFinite(Number(t)))return t;if(e==="boolean"){let n=t.toLowerCase();if(n==="true"||n==="false")return n}return lf(t)}function lw(t){return t.replaceAll("\\","\\\\").replaceAll("%","\\%").replaceAll("_","\\_")}function rI(t,e,n){let r=e.mode==="exclude",i=e.values.includes($c),s=e.values.filter(a=>a!==$c),o=null;if(s.length===1)o=`${t} ${r?"!=":"="} ${gv(s[0],n)}`;else if(s.length>1){let a=s.map(l=>gv(l,n)).join(", ");o=`${t} ${r?"NOT IN":"IN"} (${a})`}if(!r){let a=[];return o&&a.push(o),i&&a.push(`${t} IS NULL`),a.length===0?null:a.length===1?a[0]:`(${a.join(" OR ")})`}if(i){let a=[];return o&&a.push(o),a.push(`${t} IS NOT NULL`),a.length===1?a[0]:`(${a.join(" AND ")})`}return o?`(${o} OR ${t} IS NULL)`:null}function iI(t,e={}){let n=[];for(let[r,i]of Object.entries(t)){if(r===e.excludeDim||eI(i))continue;let s=e.types?.[r];if(i.mode==="contains"){let a=lf(`%${lw(i.pattern??"")}%`);n.push(`CAST(${r} AS VARCHAR) ILIKE ${a} ESCAPE '\\'`);continue}let o=rI(r,i,s);o&&n.push(o)}return n}function sI(t,e={}){let n=iI(t,{types:e.types,excludeDim:e.excludeDim});return e.timeRef&&e.range&&n.push(...q1(e.timeRef,e.range)),n}function oI(t,e,n=50,r,i){return{dimensions:[t],filters:e,...r?.length?{segments:r}:{},...i!=null?{usePreaggregations:i}:{},orderBy:[`${t} ASC`],limit:n}}var uw=he(nn(),1),fL=new Set(Q1);var dL=he(Hn(),1),aI=uw.createContext(null);function lI(){let t=uw.useContext(aI);if(!t)throw new Error("useExplorer must be used within ExplorerProvider");return t}var zd=he(nn(),1),hL=he(nn(),1),Hc={active:0,listeners:new Set};function cw(){for(let t of Hc.listeners)t()}function uI(){Hc.active+=1,cw()}function cI(){Hc.active=Math.max(0,Hc.active-1),cw()}var fI=80;function dI(t,e){let[n,r]=zd.useState({loading:!1}),i=zd.useRef(0),s=e?JSON.stringify(e):null;return zd.useEffect(()=>{if(!e){r({loading:!1});return}let o=++i.current;r(l=>({result:l.result,loading:!0}));let a=setTimeout(()=>{uI(),t.runQuery(e).then(l=>{o===i.current&&r({result:l,loading:!1})}).catch(l=>{o===i.current&&r({loading:!1,error:l instanceof Error?l.message:String(l)})}).finally(()=>cI())},fI);return()=>clearTimeout(a)},[s,t]),n}var Ee=he(Hn(),1),hI=[{mode:"include",label:"Include"},{mode:"exclude",label:"Exclude"},{mode:"contains",label:"Contains"}],pI=50,vv=200;function _v(t,e){let[n,r]=at.useState(t);return at.useEffect(()=>{let i=setTimeout(()=>r(t),e);return()=>clearTimeout(i)},[t,e]),n}function mI({dim:t,model:e,onClose:n}){let{state:r,dispatch:i,backend:s,catalog:o,dashboard:a}=lI(),l=at.useMemo(()=>K1(o,a,r.dashboardTab),[o,a,r.dashboardTab]),u=r.filters[t.ref],[c,d]=at.useState(u?.mode??"include"),y=at.useMemo(()=>new Set(u?.mode!=="contains"?u?.values??[]:[]),[u]),v=at.useRef(null),w=at.useRef(null),b=at.useId(),[Y,h]=at.useState(""),f=_v(Y,vv),m=u?.mode==="contains"?u.pattern??"":"",[g,I]=at.useState(m),D=_v(g,vv);at.useEffect(()=>{let _=document.activeElement;return w.current?.focus(),()=>_?.focus?.()},[]),at.useEffect(()=>{function _(te){te.key==="Escape"&&(te.stopPropagation(),n())}function B(te){v.current&&!v.current.contains(te.target)&&n()}return document.addEventListener("keydown",_,!0),document.addEventListener("mousedown",B,!0),()=>{document.removeEventListener("keydown",_,!0),document.removeEventListener("mousedown",B,!0)}},[n]),at.useEffect(()=>{c==="contains"&&D!==m&&i({type:"setFilterPattern",dim:t.ref,pattern:D})},[D,c,t.ref,i]);let N=l?.timeDimension?.ref??e.timeDimension?.ref,S=at.useMemo(()=>nI(o),[o]),K=at.useMemo(()=>{let _=[...l?.filters??[],...sI(r.filters,{timeRef:N,range:r.dateRange,excludeDim:t.ref,types:S})];if(f.trim()){let B=lf(`%${lw(f.trim())}%`);_.push(`CAST(${t.ref} AS VARCHAR) ILIKE ${B} ESCAPE '\\'`)}return _},[l,r.filters,N,r.dateRange,t.ref,f,S]),L=c!=="contains",{result:ie,loading:Qe,error:ke}=dI(s,L?oI(t.ref,K,pI,l?.segments,l?.usePreaggregations):null),we=j1(t.ref),Ae=at.useMemo(()=>ie?ie.rows.map(_=>{let B=_[we];return B==null?$c:String(B)}):[],[ie,we]),Ve=!!ie&&ie.rows.length>0&&!ie.columns.includes(we),Fr=L&&(Qe||Ve);function T(_){d(_),u&&i({type:"setFilterMode",dim:t.ref,mode:_}),_==="contains"&&I(m)}function M(_){if(_.key!=="Tab")return;let B=v.current?.querySelectorAll('button, input, [href], select, textarea, [tabindex]:not([tabindex="-1"])');if(!B||B.length===0)return;let te=B[0],$e=B[B.length-1];_.shiftKey&&document.activeElement===te?(_.preventDefault(),$e.focus()):!_.shiftKey&&document.activeElement===$e&&(_.preventDefault(),te.focus())}return Ee.jsxs("div",{ref:v,role:"dialog","aria-modal":"true","aria-labelledby":b,onKeyDown:M,className:"absolute left-0 z-50 mt-1 w-64 border border-line bg-surface p-2 text-2xs shadow-lg",children:[Ee.jsxs("div",{id:b,className:"mb-2 flex items-baseline justify-between gap-2",children:[Ee.jsx("span",{className:"truncate font-semibold text-ink",children:t.label}),Ee.jsx("button",{type:"button","aria-label":"Close filter editor",onClick:n,className:"grid size-4 place-items-center rounded-full bg-surface-soft text-faint hover:bg-line hover:text-ink",children:"\xD7"})]}),Ee.jsx("div",{role:"group","aria-label":"Filter mode",className:"mb-2 grid grid-cols-3 gap-px border border-line bg-line",children:hI.map(({mode:_,label:B})=>Ee.jsx("button",{type:"button","aria-pressed":c===_,onClick:()=>T(_),className:`px-1.5 py-1 text-center ${c===_?"bg-accent-soft font-medium text-accent":"bg-surface text-muted hover:bg-surface-soft"}`,children:B},_))}),c==="contains"?Ee.jsx("input",{ref:w,type:"text","aria-label":`${t.label} contains`,placeholder:"Substring\u2026",value:g,onChange:_=>I(_.target.value),className:"w-full border border-line bg-surface px-1.5 py-1 text-2xs text-ink placeholder:text-faint"}):Ee.jsxs(Ee.Fragment,{children:[Ee.jsx("input",{ref:w,type:"text","aria-label":`Search ${t.label} values`,placeholder:"Search values\u2026",value:Y,onChange:_=>h(_.target.value),className:"w-full border border-line bg-surface px-1.5 py-1 text-2xs text-ink placeholder:text-faint"}),Ee.jsx("div",{className:"mt-2 max-h-56 overflow-y-auto",role:"group","aria-label":`${t.label} values`,children:ke?Ee.jsx("p",{className:"px-1 py-2 text-danger",children:ke}):Fr?Ee.jsx("div",{className:"space-y-1.5 p-1",children:[0,1,2,3,4].map(_=>Ee.jsx("div",{className:"skeleton h-4 w-full"},_))}):Ae.length===0?Ee.jsx("p",{className:"px-1 py-2 text-faint",children:"No values"}):Ae.map(_=>{let B=y.has(_);return Ee.jsxs("label",{className:"flex cursor-pointer items-center gap-2 px-1 py-1 hover:bg-surface-soft",children:[Ee.jsx("input",{type:"checkbox",checked:B,onChange:()=>i({type:"toggleFilter",dim:t.ref,value:_,mode:c}),className:"size-3 accent-[var(--accent)]"}),Ee.jsx("span",{className:"min-w-0 truncate text-ink",children:Wc(_)})]},_)})})]}),Ee.jsxs("div",{className:"mt-2 flex items-center justify-between border-t border-line pt-2",children:[Ee.jsx("button",{type:"button",onClick:()=>i({type:"removeFilterDim",dim:t.ref}),className:"text-muted underline-offset-2 hover:text-ink hover:underline",children:"Clear"}),Ee.jsx("button",{type:"button",onClick:n,className:"border border-line px-2 py-1 text-muted hover:bg-surface-soft",children:"Done"})]})]})}var zn=he(Hn(),1);function wv(t){let[e,n]=P1.useState(!1);if(!("dim"in t))return zn.jsxs("span",{"data-dimension":t.dimension,"data-value":t.value,className:"inline-flex max-w-full items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 text-2xs leading-4 text-muted",children:[zn.jsxs("span",{className:"truncate",children:[zn.jsxs("span",{className:"text-faint",children:[t.dimensionLabel??t.dimension,":"]})," ",t.value]}),t.onRemove?zn.jsx("button",{type:"button","aria-label":`Remove filter ${t.value}`,onClick:t.onRemove,className:"-mr-0.5 px-0.5 text-faint hover:text-ink",children:"\xD7"}):null]});let{dim:r,model:i,filter:s,onRemove:o}=t;return zn.jsxs("span",{className:"relative inline-flex max-w-full items-center","data-dimension":r.ref,"data-mode":s.mode,children:[zn.jsxs("span",{className:"inline-flex max-w-full items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 text-2xs leading-4 text-muted",children:[zn.jsxs("button",{type:"button","aria-label":`Edit filter ${r.label}`,"aria-haspopup":"dialog","aria-expanded":e,onClick:()=>n(a=>!a),className:"min-w-0 truncate text-left hover:text-ink",children:[zn.jsx("span",{className:"text-faint",children:r.label})," ",z1(s)]}),zn.jsx("button",{type:"button","aria-label":`Remove filter ${r.label}`,onClick:o,className:"grid size-3.5 shrink-0 place-items-center rounded-full bg-surface-soft text-faint hover:bg-line hover:text-ink",children:"\xD7"})]}),e?zn.jsx(mI,{dim:r,model:i,onClose:()=>n(!1)}):null]})}var Je=he(Hn(),1),yI={positive:"text-success",negative:"text-danger",neutral:"text-faint"};function gI({dimension:t,title:e,metricLabel:n,rows:r,selectedValues:i=[],loading:s,formatMetric:o,onToggle:a,contextColumn:l="none",contextOptions:u,onContextColumn:c,collapsedLimit:d=6,expanded:y=!1,onExpandedChange:v}){let w=new Set(i),b=y?r:r.slice(0,d),Y=Math.max(1,...b.map(g=>Math.abs(g.metric))),h=y||r.length>d,f=l!=="none",m=f?"grid-cols-[minmax(0,1fr)_auto_auto]":"grid-cols-[minmax(0,1fr)_auto]";return Je.jsxs("section",{"data-testid":"dimension-leaderboard","data-dimension":t,"data-expanded":y||void 0,"aria-label":`${e}, ranked by ${n}`,className:"flex min-h-40 flex-col border-b border-r border-line bg-surface data-[expanded=true]:col-span-full",children:[Je.jsxs("header",{className:"flex items-center justify-between gap-3 px-3 pb-2 pt-2.5",children:[Je.jsxs("div",{className:"flex min-w-0 items-baseline gap-2",children:[Je.jsx("h3",{className:"truncate text-sm font-semibold text-ink",children:e}),Je.jsxs("p",{className:"sr-only",children:["Ranked by ",n]})]}),u&&c?Je.jsx("div",{role:"group","aria-label":"Context column","data-testid":"leaderboard-context-toggle",className:"flex shrink-0 overflow-hidden border border-line text-2xs",children:u.map(g=>Je.jsx("button",{type:"button",title:g.title,"aria-pressed":l===g.key,"data-context":g.key,"data-active":l===g.key||void 0,onClick:()=>c(g.key),className:"border-l border-line px-1.5 py-0.5 font-mono text-faint first:border-l-0 hover:bg-surface-soft data-[active=true]:bg-accent-soft data-[active=true]:text-accent",children:g.label},g.key))}):null]}),Je.jsx("div",{"data-testid":"leaderboard-rows",children:s&&r.length===0?Je.jsx("div",{className:"space-y-2 p-3",children:[0,1,2,3].map(g=>Je.jsx("div",{className:"skeleton h-5 w-full"},g))}):r.length===0?Je.jsx("p",{className:"px-3 py-4 text-xs text-faint",children:"No values"}):b.map(g=>{let I=g.metric<0?"negative":"positive",D=w.has(g.value),N=`${Math.round(Math.abs(g.metric)/Y*100)}%`;return Je.jsxs("button",{type:"button","data-dimension":t,"data-value":g.value,"data-selected":D||void 0,"data-tone":I,onClick:()=>a?.(g.value),"aria-pressed":D,className:`leaderboard-row relative grid w-full ${m} items-center gap-3 overflow-hidden border-0 bg-transparent px-3 py-1 text-left text-xs text-ink data-[selected=true]:bg-chart-primary-selected`,children:[Je.jsx("span",{"aria-hidden":"true",className:`absolute inset-y-0 left-0 ${I==="negative"?"bg-danger-soft":"bg-chart-primary-soft"}`,style:{width:N}}),Je.jsx("span",{className:"relative min-w-0 truncate text-muted",children:Wc(g.value)}),Je.jsx("strong",{className:"relative tnum font-semibold text-ink",children:o(g.metric)}),f?Je.jsx("span",{"data-testid":"leaderboard-context","data-tone":g.context?.tone??"neutral",className:`relative w-14 text-right font-mono tnum text-2xs ${yI[g.context?.tone??"neutral"]}`,children:g.context?.label??"\u2014"}):null]},`${t}:${g.value}`)})}),h&&!s?Je.jsx("button",{type:"button","data-action":y?"leaderboard-back":"leaderboard-expand","aria-expanded":y,onClick:()=>v?.(!y),className:"leaderboard-expand border-0 border-t border-line bg-transparent px-3 py-1 text-left text-xs font-normal text-faint hover:text-accent",children:y?"\u2190 All dimensions":`Expand table (${r.length})`}):null]})}var vI=he(nn(),1),_r=he(nn(),1),pL=he(nn(),1),_I=he(Hn(),1);function wI({tip:t,position:e="fixed",offset:n=12,className:r,style:i}){return t?_I.jsx("div",{role:"tooltip",style:{position:e,left:t.x+n,top:t.y+n,pointerEvents:"none",zIndex:50,...i},className:r||"rounded-lg border border-line bg-surface px-2.5 py-1.5 text-xs text-ink shadow-[var(--shadow)]",children:t.content}):null}var st=he(Hn(),1);function SI({values:t,labels:e,height:n=44,ariaLabel:r,formatValue:i=a=>a.toLocaleString(void 0,{maximumFractionDigits:2}),onHover:s,onBrush:o}){let a=_r.useRef(null),l=_r.useId(),u=_r.useRef(null),c=_r.useRef(null),[d,y]=_r.useState(200),[v,w]=_r.useState(null),[b,Y]=_r.useState(null),[h,f]=_r.useState(null);_r.useEffect(()=>{let _=a.current;if(!_||typeof ResizeObserver>"u")return;let B=new ResizeObserver(te=>{for(let $e of te)y(Math.max(40,$e.contentRect.width))});return B.observe(_),()=>B.disconnect()},[]);let m=t.map((_,B)=>({index:B,value:_})).filter(_=>Number.isFinite(_.value));if(m.length<2)return st.jsx("svg",{ref:u,role:"img","aria-label":r||"No trend data",className:"h-11 w-full",viewBox:`0 0 ${d} ${n}`});let g=3,I=Math.min(...m.map(_=>_.value)),N=Math.max(...m.map(_=>_.value))-I||1,S=m.map((_,B)=>({..._,x:g+B/(m.length-1)*(d-g*2),y:g+(1-(_.value-I)/N)*(n-g*2)})),K=S.map(({x:_,y:B})=>`${_.toFixed(1)},${B.toFixed(1)}`).join(" L "),L=`M ${S[0].x.toFixed(1)},${n-g} L ${K} L ${S.at(-1).x.toFixed(1)},${n-g} Z`,ie=S.at(-1),Qe=r||`Trend of ${m.length} points, latest ${i(ie.value)}`;function ke(_){let B=u.current?.getBoundingClientRect();return B?Math.max(g,Math.min(d-g,(_.clientX-B.left)/B.width*d)):g}function we(_){return Math.max(0,Math.min(S.length-1,Math.round((_-g)/(d-g*2)*(S.length-1))))}function Ae(_){let B=ke(_),te=we(B),$e=S[te];w(te),f({content:`${e?.[$e.index]?`${e[$e.index]}: `:""}${i($e.value)}`,x:_.clientX,y:_.clientY}),s?.({index:$e.index,label:e?.[$e.index],value:$e.value}),c.current!==null&&Y({a:c.current,b:B})}function Ve(_){if(!o||!e?.length)return;_.currentTarget.setPointerCapture(_.pointerId);let B=ke(_);c.current=B,Y({a:B,b:B})}function Fr(_){if(c.current===null||!o||!e?.length)return;_.currentTarget.hasPointerCapture(_.pointerId)&&_.currentTarget.releasePointerCapture(_.pointerId);let B=ke(_);if(Math.abs(B-c.current)>6){let te=S[we(Math.min(c.current,B))],$e=S[we(Math.max(c.current,B))];o({from:e[te.index],to:e[$e.index]})}c.current=null,Y(null)}function T(){w(null),f(null),s?.(null),c.current===null&&Y(null)}let M=v===null?null:S[v];return st.jsxs("span",{ref:a,className:"relative block w-full",children:[st.jsxs("svg",{ref:u,role:"img","aria-label":Qe,className:`h-11 w-full overflow-hidden text-chart-primary ${o?"touch-none select-none":""}`,viewBox:`0 0 ${d} ${n}`,preserveAspectRatio:"none",onPointerMove:Ae,onPointerDown:Ve,onPointerUp:Fr,onPointerCancel:T,onPointerLeave:T,onDoubleClick:()=>o?.(null),children:[st.jsx("defs",{children:st.jsxs("linearGradient",{id:l,x1:"0",y1:"0",x2:"0",y2:"1",children:[st.jsx("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:.16}),st.jsx("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:0})]})}),st.jsx("path",{d:L,fill:`url(#${l})`}),st.jsx("path",{d:`M ${K}`,fill:"none",stroke:"currentColor",strokeWidth:1.5,vectorEffect:"non-scaling-stroke"}),b?st.jsx("rect",{x:Math.min(b.a,b.b),y:0,width:Math.abs(b.b-b.a),height:n,fill:"currentColor",opacity:.12}):null,M?st.jsxs(st.Fragment,{children:[st.jsx("line",{x1:M.x,x2:M.x,y1:0,y2:n,stroke:"currentColor",strokeWidth:1,opacity:.45}),st.jsx("circle",{cx:M.x,cy:M.y,r:2.5,fill:"currentColor"})]}):st.jsx("circle",{cx:ie.x,cy:ie.y,r:2.25,fill:"currentColor"})]}),st.jsx(wI,{tip:h})]})}var ot=he(Hn(),1),bI={positive:"text-success",negative:"text-danger",neutral:"text-faint"},xI={positive:"\u25B2",negative:"\u25BC",neutral:"\xB7"};function II({metric:t,label:e,value:n,valueText:r,format:i,delta:s,comparison:o,sparkValues:a=[],sparkLabels:l,selected:u,loading:c,onSelect:d,onSparkHover:y,onSparkBrush:v}){let[w,b]=vI.useState(null),Y=ot.jsxs(ot.Fragment,{children:[ot.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[ot.jsx("span",{className:"truncate text-xs font-medium text-muted",children:e}),w?.label?ot.jsx("span",{className:"shrink-0 font-mono text-2xs text-faint",children:w.label}):null]}),ot.jsx("div",{className:"font-mono tnum text-[19px] font-semibold leading-tight tracking-tight text-ink",children:c?ot.jsx("span",{className:"skeleton inline-block h-6 w-24 align-middle"}):w?jd(w.value,i):r??jd(n,i)}),s||o?ot.jsxs("div",{className:"flex items-baseline gap-1 text-2xs",children:[s?ot.jsxs("span",{"data-tone":s.tone,className:`font-mono tnum font-medium ${bI[s.tone]}`,children:[ot.jsx("span",{"aria-hidden":"true",className:"mr-0.5 text-[8px]",children:xI[s.tone]}),s.label]}):null,o?ot.jsx("span",{className:"truncate text-faint",children:o}):null]}):null]}),h="group flex w-full flex-col gap-1.5 overflow-hidden rounded-xl border border-line bg-surface px-3.5 pt-3 text-left shadow-[var(--shadow-sm)] transition-colors hover:border-line-strong data-[selected=true]:border-accent",f=ot.jsx("div",{className:"-mx-3.5 mt-auto",children:ot.jsx(SI,{values:a,labels:l,onHover:m=>{b(m),y?.(m)},onBrush:v,formatValue:m=>jd(m,i)})});return d?ot.jsxs("article",{"data-metric":t,"data-selected":u||void 0,className:h,children:[ot.jsx("button",{type:"button","data-metric":t,"aria-pressed":!!u,onClick:()=>d(t),className:"-m-1 flex flex-col gap-1 border-0 bg-transparent p-1 text-left transition hover:opacity-75",children:Y}),f]}):ot.jsxs("article",{"data-metric":t,"data-selected":u||void 0,className:h,children:[Y,f]})}var mL=he(Hn(),1);var Gr=he(Hn(),1);function Vp({tone:t,title:e,message:n}){let r=t==="danger";return Gr.jsx("div",{className:`grid min-h-[200px] place-items-center border bg-surface p-6 text-center ${r?"border-danger/40":"border-line"}`,"data-state":t,role:r?"alert":"status","aria-live":r?"assertive":"polite",children:Gr.jsxs("div",{className:"max-w-md",children:[t==="loading"?Gr.jsx("span",{"aria-hidden":"true",className:"motion-safe:animate-pulse inline-block size-2 rounded-full bg-accent"}):null,e?Gr.jsx("h3",{className:`text-sm font-semibold ${r?"text-danger":"text-ink"}`,children:e}):null,Gr.jsx("p",{className:`mt-1 text-xs ${r?"text-danger":"text-muted"}`,children:n})]})})}function BI({title:t="Loading",message:e="Loading metrics\u2026"}){return Gr.jsx(Vp,{tone:"loading",title:t,message:e})}function DI({title:t="No results",message:e}){return Gr.jsx(Vp,{tone:"muted",title:t,message:e})}function NI({title:t="Query failed",message:e}){return Gr.jsx(Vp,{tone:"danger",title:t,message:e})}var Sv=new WeakMap;function uf(t,e){let n=Sv.get(t);n||(t.replaceChildren(),n=U1.createRoot(t),Sv.set(t,n)),R1.flushSync(()=>n.render(e))}function TI(t){return t.result?.sample_rows??t.result?.rows??[]}function Vd(t,e=""){return t.output_aliases?.[e]??Vc(e)}function fw(t,e){return typeof t=="function"?t(e):t}function OI(t={}){return{columns:t.columns??[],sample_rows:t.sample_rows??t.rows??[]}}function FI({dimensions:t=[],metrics:e=[],result:n,outputAliases:r}={}){return{dimensions:t,metrics:e,output_aliases:r,result:OI(n)}}function dw(t,e={}){let n=e.totals?.rows?.[0]??{},r=e.seriesRows??[];uf(t,Zt.createElement(Zt.Fragment,null,...(e.metrics??[]).map(i=>{let s=i.key,o=Vc(s);return Zt.createElement(II,{key:s,metric:s,label:i.label??o.replaceAll("_"," "),value:n[o],format:fw(e.valueFormat,s),selected:e.selectedMetric===s,sparkValues:r.map(a=>Number(a[o])||0),sparkLabels:r.map(a=>String(a[e.timeKey]??"")),onSparkBrush:e.onBrush?a=>e.onBrush(a?.from??null,a?.to??null):void 0,onSelect:e.onSelect?()=>e.onSelect({metric:s,key:o,value:n[o]}):void 0})})))}function $p(t,e,n={}){let r=t.__sdmExpandedDim,i=r?e.filter(s=>(s.key??s)===r):e;uf(t,Zt.createElement(Zt.Fragment,null,...i.map(s=>{let o=s.key??s,a=n.resultForDimension?.(s)??{rows:[]},l=FI({dimensions:[o],metrics:[n.metricRef],result:a}),u=TI(l),c=r===o;return Zt.createElement(gI,{key:o,dimension:o,title:s.label??Vc(o).replaceAll("_"," "),metricLabel:n.metricLabel?.(s)??n.metricName??Vc(n.metricRef),rows:u.map(d=>({value:Ji(d[Vd(l,o)]),metric:Number(d[Vd(l,n.metricRef)])||0})),selectedValues:n.selectedValuesForDimension?.(s)??[],collapsedLimit:n.limit??6,expanded:c,formatMetric:d=>zp(d,fw(n.valueFormat,{metric:n.metricRef,value:d})),onToggle:n.onSelect?d=>n.onSelect({dimension:o,value:d,row:u.find(y=>Ji(y[Vd(l,o)])===d)}):void 0,onExpandedChange:n.expandable===!1?void 0:d=>{t.__sdmExpandedDim=d?o:void 0,$p(t,e,n)}})})))}function hw(t,e,n,r={}){let i=Object.entries(e??{}).flatMap(([s,o])=>(o??[]).map(a=>{let l=Ji(a);return Zt.createElement(wv,{key:`${s}:${l}`,dimension:s,value:l,onRemove:n?()=>n({dimension:s,value:l}):void 0})}));for(let s of r.extraPills??[])i.push(Zt.createElement(wv,{key:s.key??`${s.dimension}:${s.value}`,dimension:s.dimension,dimensionLabel:s.dimensionLabel,value:s.value,onRemove:s.onRemove}));uf(t,i.length?Zt.createElement(Zt.Fragment,null,...i):r.emptyLabel?Zt.createElement("span",{className:"text-faint"},r.emptyLabel):null)}function pw(t,e){let n=e.kind==="error"?NI:e.kind==="loading"?BI:DI;uf(t,Zt.createElement(n,{message:e.message}))}function Wp(t){if(!t)return"";if(typeof t=="string")return t.slice(0,10);if(t instanceof Date)return t.toISOString().slice(0,10);if(typeof t=="number"||typeof t=="bigint"){let e=typeof t=="bigint"?Number(t):t;return e>1e12?new Date(e).toISOString().slice(0,10):e>1e9?new Date(e*1e3).toISOString().slice(0,10):new Date(e*864e5).toISOString().slice(0,10)}return String(t).slice(0,10)}function mw(t){if(!t)return null;if(t instanceof Date)return t;if(typeof t=="number"||typeof t=="bigint"){let e=typeof t=="bigint"?Number(t):t;return e>1e12?new Date(e):e>1e9?new Date(e*1e3):new Date(e*864e5)}if(typeof t=="string"){let e=t.match(/^\d{4}-\d{2}-\d{2}/);if(e)return new Date(`${e[0]}T00:00:00Z`);let n=new Date(t);if(!Number.isNaN(n.getTime()))return n}return null}function yw(t,e){return t.toLocaleDateString("en-US",{timeZone:"UTC",...e})}function gw(t,e){let n=mw(t),r=mw(e);if(!n||!r){let a=Wp(t),l=Wp(e);return!a&&!l?"":a&&l?`${a} \u2013 ${l}`:a||l}let i=n.getFullYear()===r.getFullYear(),s=yw(n,{month:"short",day:"numeric",year:i?void 0:"numeric"}),o=yw(r,{month:"short",day:"numeric",year:"numeric"});return`${s} \u2013 ${o}`}function EI(t){let e=atob(t),n=new Uint8Array(e.length);for(let r=0;r<\/script>",t=t.removeChild(t.firstChild)):typeof r.is=="string"?t=o.createElement(n,{is:r.is}):(t=o.createElement(n),n==="select"&&(o=t,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):t=o.createElementNS(t,n),t[Dn]=e,t[to]=r,$_(t,e,!1,!1),e.stateNode=t;e:{switch(o=nh(n,r),n){case"dialog":ve("cancel",t),ve("close",t),i=r;break;case"iframe":case"object":case"embed":ve("load",t),i=r;break;case"video":case"audio":for(i=0;iio&&(e.flags|=128,r=!0,ha(s,!1),e.lanes=4194304)}else{if(!r)if(t=_c(o),t!==null){if(e.flags|=128,r=!0,n=t.updateQueue,n!==null&&(e.updateQueue=n,e.flags|=4),ha(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!Ie)return it(e),null}else 2*Oe()-s.renderingStartTime>io&&n!==1073741824&&(e.flags|=128,r=!0,ha(s,!1),e.lanes=4194304);s.isBackwards?(o.sibling=e.child,e.child=o):(n=s.last,n!==null?n.sibling=o:e.child=o,s.last=o)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=Oe(),e.sibling=null,n=xe.current,ye(xe,r?n&1|2:n&1),e):(it(e),null);case 22:case 23:return wp(),r=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==r&&(e.flags|=8192),r&&(e.mode&1)!==0?(Rt&1073741824)!==0&&(it(e),e.subtreeFlags&6&&(e.flags|=8192)):it(e),null;case 24:return null;case 25:return null}throw Error(x(156,e.tag))}function a1(t,e){switch(ap(e),e.tag){case 1:return Dt(e.type)&&yc(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return Zs(),_e(yt),_e(tt),mp(),t=e.flags,(t&65536)!==0&&(t&128)===0?(e.flags=t&-65537|128,e):null;case 5:return pp(e),null;case 13:if(_e(xe),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(x(340));Xs()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return _e(xe),null;case 4:return Zs(),null;case 10:return cp(e.type._context),null;case 22:case 23:return wp(),null;case 24:return null;default:return null}}function As(t,e){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Te(t,e,r)}else n.current=null}function yh(t,e,n){try{n()}catch(r){Te(t,e,r)}}function l1(t,e){if($h=Oc,t=p0(),sp(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var{anchorOffset:i,focusNode:s}=r;r=r.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break e}var o=0,a=-1,l=-1,u=0,c=0,d=t,y=null;t:for(;;){for(var v;d!==n||i!==0&&d.nodeType!==3||(a=o+i),d!==s||r!==0&&d.nodeType!==3||(l=o+r),d.nodeType===3&&(o+=d.nodeValue.length),(v=d.firstChild)!==null;)y=d,d=v;for(;;){if(d===t)break t;if(y===n&&++u===i&&(a=o),y===s&&++c===r&&(l=o),(v=d.nextSibling)!==null)break;d=y,y=d.parentNode}d=v}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(Wh={focusedElem:t,selectionRange:n},Oc=!1,E=e;E!==null;)if(e=E,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,E=t;else for(;E!==null;){e=E;try{var S=e.alternate;if((e.flags&1024)!==0)switch(e.tag){case 0:case 11:case 15:break;case 1:if(S!==null){var{memoizedProps:I,memoizedState:Y}=S,h=e.stateNode,f=h.getSnapshotBeforeUpdate(e.elementType===e.type?I:bn(e.type,I),Y);h.__reactInternalSnapshotBeforeUpdate=f}break;case 3:var m=e.stateNode.containerInfo;m.nodeType===1?m.textContent="":m.nodeType===9&&m.documentElement&&m.removeChild(m.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(x(163))}}catch(g){Te(e,e.return,g)}if(t=e.sibling,t!==null){t.return=e.return,E=t;break}E=e.return}return S=fv,fv=!1,S}function Ba(t,e,n){var r=e.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&t)===t){var s=i.destroy;i.destroy=void 0,s!==void 0&&yh(e,n,s)}i=i.next}while(i!==r)}}function Qc(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var n=e=e.next;do{if((n.tag&t)===t){var r=n.create;n.destroy=r()}n=n.next}while(n!==e)}}function gh(t){var e=t.ref;if(e!==null){var n=t.stateNode;t.tag,t=n,typeof e=="function"?e(t):e.current=t}}function $0(t){var e=t.alternate;e!==null&&(t.alternate=null,$0(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[Dn],delete e[to],delete e[Ac],delete e[M_],delete e[C_])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function W0(t){return t.tag===5||t.tag===3||t.tag===4}function Rg(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||W0(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function vh(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.nodeType===8?n.parentNode.insertBefore(t,e):n.insertBefore(t,e):(n.nodeType===8?(e=n.parentNode,e.insertBefore(t,n)):(e=n,e.appendChild(t)),n=n._reactRootContainer,n!=null||e.onclick!==null||(e.onclick=pc));else if(r!==4&&(t=t.child,t!==null))for(vh(t,e,n),t=t.sibling;t!==null;)vh(t,e,n),t=t.sibling}function _h(t,e,n){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?n.insertBefore(t,e):n.appendChild(t);else if(r!==4&&(t=t.child,t!==null))for(_h(t,e,n),t=t.sibling;t!==null;)_h(t,e,n),t=t.sibling}function Yr(t,e,n){for(n=n.child;n!==null;)H0(t,e,n),n=n.sibling}function H0(t,e,n){if($n&&typeof $n.onCommitFiberUnmount=="function")try{$n.onCommitFiberUnmount(nf,n)}catch{}switch(n.tag){case 5:lt||As(n,e);case 6:var r=qe,i=xn;qe=null,Yr(t,e,n),qe=r,xn=i,qe!==null&&(xn?(t=qe,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):qe.removeChild(n.stateNode));break;case 18:qe!==null&&(xn?(t=qe,n=n.stateNode,t.nodeType===8?wd(t.parentNode,n):t.nodeType===1&&wd(t,n),Ma(t)):wd(qe,n.stateNode));break;case 4:r=qe,i=xn,qe=n.stateNode.containerInfo,xn=!0,Yr(t,e,n),qe=r,xn=i;break;case 0:case 11:case 14:case 15:if(!lt&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var s=i,o=s.destroy;s=s.tag,o!==void 0&&((s&2)!==0||(s&4)!==0)&&yh(n,e,o),i=i.next}while(i!==r)}Yr(t,e,n);break;case 1:if(!lt&&(As(n,e),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){Te(n,e,a)}Yr(t,e,n);break;case 21:Yr(t,e,n);break;case 22:n.mode&1?(lt=(r=lt)||n.memoizedState!==null,Yr(t,e,n),lt=r):Yr(t,e,n);break;default:Yr(t,e,n)}}function Pg(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new Y_),e.forEach(function(r){var i=y1.bind(null,t,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Sn(t,e){var n=e.deletions;if(n!==null)for(var r=0;ri&&(i=o),r&=~s}if(r=i,r=Oe()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*K_(r/1960))-r,10t?16:t,Jr===null)var r=!1;else{if(t=Jr,Jr=null,zc=0,(re&6)!==0)throw Error(x(331));var i=re;for(re|=4,E=t.current;E!==null;){var s=E,o=s.child;if((E.flags&16)!==0){var a=s.deletions;if(a!==null){for(var l=0;lOe()-Pp?Hi(t,0):Rp|=n),Nt(t,e)}function q0(t,e){e===0&&((t.mode&1)===0?e=1:(e=zu,zu<<=1,(zu&130023424)===0&&(zu=4194304)));var n=mt();t=Nr(t,e),t!==null&&(Qa(t,e,n),Nt(t,n))}function m1(t){var e=t.memoizedState,n=0;e!==null&&(n=e.retryLane),q0(t,n)}function y1(t,e){var n=0;switch(t.tag){case 13:var r=t.stateNode,i=t.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=t.stateNode;break;default:throw Error(x(314))}r!==null&&r.delete(e),q0(t,n)}function e_(t,e){return Fp(t,e)}function g1(t,e,n,r){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function qt(t,e,n,r){return new g1(t,e,n,r)}function bp(t){return t=t.prototype,!(!t||!t.isReactComponent)}function v1(t){if(typeof t=="function")return bp(t)?1:0;if(t!=null){if(t=t.$$typeof,t===qc)return 11;if(t===ef)return 14}return 2}function ti(t,e){var n=t.alternate;return n===null?(n=qt(t.tag,e,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=e,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,e=t.dependencies,n.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function tc(t,e,n,r,i,s){var o=2;if(r=t,typeof t=="function")bp(t)&&(o=1);else if(typeof t=="string")o=5;else e:switch(t){case ji:return Yi(n.children,i,s,e);case Jc:o=8,i|=8;break;case Ic:return t=qt(12,n,e,i|2),t.elementType=Ic,t.lanes=s,t;case Bc:return t=qt(13,n,e,i),t.elementType=Bc,t.lanes=s,t;case Dc:return t=qt(19,n,e,i),t.elementType=Dc,t.lanes=s,t;case Tp:return Gc(n,i,s,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case Dp:o=10;break e;case Np:o=9;break e;case qc:o=11;break e;case ef:o=14;break e;case Sr:o=16,r=null;break e}throw Error(x(130,t==null?t:typeof t,""))}return e=qt(o,n,e,i),e.elementType=t,e.type=r,e.lanes=s,e}function Yi(t,e,n,r){return t=qt(7,t,r,e),t.lanes=n,t}function Gc(t,e,n,r){return t=qt(22,t,r,e),t.elementType=Tp,t.lanes=n,t.stateNode={isHidden:!1},t}function Nd(t,e,n){return t=qt(6,t,null,e),t.lanes=n,t}function Td(t,e,n){return e=qt(4,t.children!==null?t.children:[],t.key,e),e.lanes=n,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function _1(t,e,n,r,i){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=yd(0),this.expirationTimes=yd(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=yd(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function xp(t,e,n,r,i,s,o,a,l){return t=new _1(t,e,n,a,l),e===1?(e=1,s===!0&&(e|=8)):e=0,s=qt(3,null,null,e),t.current=s,s.stateNode=t,s.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},dp(s),t}function w1(t,e,n){var r=3{if(Kg=he(nn(),1),xt=he(bx(),1),Bp=new Set,Ys={},Pn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),xc=Object.prototype.hasOwnProperty,r_=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,xh={},Ih={},He={},"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){He[t]=new ht(t,0,!1,t,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];He[e]=new ht(e,1,!1,t[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(t){He[t]=new ht(t,2,!1,t.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){He[t]=new ht(t,2,!1,t,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){He[t]=new ht(t,3,!1,t.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(t){He[t]=new ht(t,3,!0,t,null,!1,!1)}),["capture","download"].forEach(function(t){He[t]=new ht(t,4,!1,t,null,!1,!1)}),["cols","rows","size","span"].forEach(function(t){He[t]=new ht(t,6,!1,t,null,!1,!1)}),["rowSpan","start"].forEach(function(t){He[t]=new ht(t,5,!1,t.toLowerCase(),null,!1,!1)}),Ru=/[\-:]([a-z])/g,"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(Ru,pd);He[e]=new ht(e,1,!1,t,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(Ru,pd);He[e]=new ht(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(Ru,pd);He[e]=new ht(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(t){He[t]=new ht(t,1,!1,t.toLowerCase(),null,!1,!1)}),He.xlinkHref=new ht("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(t){He[t]=new ht(t,1,!1,t.toLowerCase(),null,!0,!0)}),jn=Kg.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Sa=Symbol.for("react.element"),Pi=Symbol.for("react.portal"),ji=Symbol.for("react.fragment"),Jc=Symbol.for("react.strict_mode"),Ic=Symbol.for("react.profiler"),Dp=Symbol.for("react.provider"),Np=Symbol.for("react.context"),qc=Symbol.for("react.forward_ref"),Bc=Symbol.for("react.suspense"),Dc=Symbol.for("react.suspense_list"),ef=Symbol.for("react.memo"),Sr=Symbol.for("react.lazy"),Tp=Symbol.for("react.offscreen"),Bh=Symbol.iterator,be=Object.assign,Ls=Array.isArray,Op=(function(t){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(e,n,r,i){MSApp.execUnsafeLocalFunction(function(){return t(e,n,r,i)})}:t})(function(t,e){if(t.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in t)t.innerHTML=e;else{for(Pu=Pu||document.createElement("div"),Pu.innerHTML=""+e.valueOf().toString()+"",e=Pu.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}}),Ms={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Qg=["Webkit","ms","Moz","O"],Object.keys(Ms).forEach(function(t){Qg.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),Ms[e]=Ms[t]})}),i_=be({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}),Pn)try{Ts={},Object.defineProperty(Ts,"passive",{get:function(){Th=!0}}),window.addEventListener("test",Ts,Ts),window.removeEventListener("test",Ts,Ts)}catch{Th=!1}for(s_={onError:function(t){Da=!0,Nc=t}},Fp=xt.unstable_scheduleCallback,Fh=xt.unstable_cancelCallback,o_=xt.unstable_shouldYield,a_=xt.unstable_requestPaint,Oe=xt.unstable_now,l_=xt.unstable_getCurrentPriorityLevel,tf=xt.unstable_ImmediatePriority,Ep=xt.unstable_UserBlockingPriority,ja=xt.unstable_NormalPriority,u_=xt.unstable_LowPriority,kp=xt.unstable_IdlePriority,en=Math.clz32?Math.clz32:Lx,c_=Math.log,f_=Math.LN2,ba=[],qs=new Map,eo=new Map,xr=[],m_="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" "),Ki=jn.ReactCurrentBatchConfig,Ei={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(t){return t.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},rf=Ut(Ei),Os=be({},Ei,{view:0,detail:0}),y_=Ut(Os),ma=be({},Os,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:gd,button:0,buttons:0,relatedTarget:function(t){return t.relatedTarget===void 0?t.fromElement===t.srcElement?t.toElement:t.fromElement:t.relatedTarget},movementX:function(t){return"movementX"in t?t.movementX:(t!==pa&&(pa&&t.type==="mousemove"?(Ad=t.screenX-pa.screenX,Ld=t.screenY-pa.screenY):Ld=Ad=0,pa=t),Ad)},movementY:function(t){return"movementY"in t?t.movementY:Ld}}),kh=Ut(ma),Xg=be({},ma,{dataTransfer:0}),g_=Ut(Xg),Zg=be({},Os,{relatedTarget:0}),ic=Ut(Zg),Jg=be({},Ei,{animationName:0,elapsedTime:0,pseudoElement:0}),v_=Ut(Jg),qg=be({},Ei,{clipboardData:function(t){return"clipboardData"in t?t.clipboardData:window.clipboardData}}),__=Ut(qg),ev=be({},Ei,{data:0}),Ah=Ut(ev),tv={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},nv={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},w_={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"},rv=be({},Os,{key:function(t){if(t.key){var e=tv[t.key]||t.key;if(e!=="Unidentified")return e}return t.type==="keypress"?(t=Zu(t),t===13?"Enter":String.fromCharCode(t)):t.type==="keydown"||t.type==="keyup"?nv[t.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:gd,charCode:function(t){return t.type==="keypress"?Zu(t):0},keyCode:function(t){return t.type==="keydown"||t.type==="keyup"?t.keyCode:0},which:function(t){return t.type==="keypress"?Zu(t):t.type==="keydown"||t.type==="keyup"?t.keyCode:0}}),S_=Ut(rv),iv=be({},ma,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Lh=Ut(iv),sv=be({},Os,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:gd}),b_=Ut(sv),ov=be({},Ei,{propertyName:0,elapsedTime:0,pseudoElement:0}),x_=Ut(ov),av=be({},ma,{deltaX:function(t){return"deltaX"in t?t.deltaX:"wheelDeltaX"in t?-t.wheelDeltaX:0},deltaY:function(t){return"deltaY"in t?t.deltaY:"wheelDeltaY"in t?-t.wheelDeltaY:"wheelDelta"in t?-t.wheelDelta:0},deltaZ:0,deltaMode:0}),I_=Ut(av),B_=[9,13,27,32],Ec=Pn&&("CompositionEvent"in window),Pn&&("documentMode"in document)&&(ya=document.documentMode),D_=Pn&&("TextEvent"in window)&&!ya,Mp=Pn&&(!Ec||ya&&8=ya),Mh=" ",N_={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0},Pn&&(Pn?(Vu="oninput"in document,Vu||(Cd=document.createElement("div"),Cd.setAttribute("oninput","return;"),Vu=typeof Cd.oninput=="function"),Md=Vu):Md=!1,T_=Md&&(!document.documentMode||9=document.documentMode,Ci={animationend:ku("Animation","AnimationEnd"),animationiteration:ku("Animation","AnimationIteration"),animationstart:ku("Animation","AnimationStart"),transitionend:ku("Transition","TransitionEnd")},sc={},Rh={},Pn&&(Rh=document.createElement("div").style,"AnimationEvent"in window||(delete Ci.animationend.animation,delete Ci.animationiteration.animation,delete Ci.animationstart.animation),"TransitionEvent"in window||delete Ci.transitionend.transition),Ph=Au("animationend"),jh=Au("animationiteration"),zh=Au("animationstart"),Vh=Au("transitionend"),Cp=new Map,Ud="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" "),Wu=0;Wu{L1();function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(r){console.error(r)}}n(),e.exports=Vv}),M1=so(t=>{var e=he(Z_());t.createRoot=e.createRoot,t.hydrateRoot=e.hydrateRoot;var n}),J_={};Gh(J_,{jsxs:()=>sw,jsx:()=>iw,Fragment:()=>rw});function pv(t,e,n){var r,i={},s=null,o=null;n!==void 0&&(s=""+n),e.key!==void 0&&(s=""+e.key),e.ref!==void 0&&(o=e.ref);for(r in e)ew.call(e,r)&&!nw.hasOwnProperty(r)&&(i[r]=e[r]);if(t&&t.defaultProps)for(r in e=t.defaultProps,e)i[r]===void 0&&(i[r]=e[r]);return{$$typeof:q_,type:t,key:s,ref:o,props:i,_owner:tw.current}}var mv,q_,yv,ew,tw,nw,rw,iw,sw,C1=Xh(()=>{mv=he(nn(),1),q_=Symbol.for("react.element"),yv=Symbol.for("react.fragment"),ew=Object.prototype.hasOwnProperty,tw=mv.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,nw={key:!0,ref:!0,__self:!0,__source:!0},rw=yv,iw=pv,sw=pv}),Hn=so((t,e)=>{C1(),e.exports=J_}),Zt=he(nn(),1),U1=he(M1(),1),R1=he(Z_(),1),uL=he(nn(),1);function Vc(t){return String(t||"").split(".").at(-1)}function zp(t,e={}){if(t==null||t==="")return"\u2014";let n=typeof t=="number"?t:Number(t);if(!Number.isFinite(n))return String(t);let r=String(e.format||"").toLowerCase();if(e.style==="percent"||r.includes("%")||r.includes("percent")||r.includes("pct")||e.type==="ratio")return(e.style==="percent"?n:Math.abs(n)<=1?n*100:n).toLocaleString(void 0,{maximumFractionDigits:e.maximumFractionDigits??1,style:e.style==="percent"?"percent":"decimal"})+(e.style==="percent"?"":"%");let s=e.style==="currency"||e.currency||r.includes("$")||r.includes("usd")||r.includes("currency")||r.includes("dollar");return n.toLocaleString(void 0,{currency:s?e.currency||"USD":void 0,maximumFractionDigits:e.maximumFractionDigits??2,notation:e.compact?"compact":"standard",style:s?"currency":"decimal"})}function Ji(t){return String(t??"")}function ow(t,e,n){let r={...t},i=Ji(n),s=new Set((r[e]||[]).map(Ji));return s.has(i)?s.delete(i):s.add(i),s.size?r[e]=[...s]:delete r[e],r}function aw(t,e,n){let r={...t},i=Ji(n),s=(r[e]||[]).map(Ji).filter(o=>o!==i);return s.length?r[e]=s:delete r[e],r}var cL=he(Hn(),1);var P1=he(nn(),1);function j1(t){return t.split(".").at(-1)||t}var $c="\0__null__";function Wc(t){return t===$c||t===""?"\u2014":t}function jd(t,e={}){return zp(t,e)}function lf(t){return`'${t.replaceAll("'","''")}'`}function z1(t){if(t.mode==="contains")return`contains ${lf(t.pattern??"")}`;let{values:e}=t,n=t.mode==="exclude"?"is not":"is";return e.length===0?n:e.length===1?`${n} ${Wc(e[0])}`:e.length<=2?`${n} ${e.map(Wc).join(", ")}`:`${n} ${e.length} values`}var at=he(nn(),1);function V1(t,e){let n=new Set;for(let r of t.joinablePairs??[])r.from===e&&n.add(r.to),r.to===e&&n.add(r.from);return t.graphMetrics.filter(r=>r.ownerModel?r.ownerModel===e||n.has(r.ownerModel):!0)}var $1=new Set(["second","minute","hour","day","week","month","quarter","year"]);function Ku(t){return t===void 0?[]:Array.isArray(t)?t:[t]}function Qu(t,e){return t.models.flatMap(n=>n.dimensions).find(n=>e===n.ref||e.startsWith(`${n.ref}__`))}function W1(t,e){let n=t.split("__").at(-1);return n&&$1.has(n)?n:e}function H1(t){let e=t.defaults?.query;if(!e||typeof e!="object")return;let n=e,r=n.use_preaggregations??n.usePreaggregations;return typeof r=="boolean"?r:void 0}function Y1(t,e){let n=t.defaults?.query,r=n&&typeof n=="object"?n:{},i=e.query.interaction_preaggregations??e.query.interactionPreaggregations??e.interaction_preaggregations??e.interactionPreaggregations??r.interaction_preaggregations??r.interactionPreaggregations;return typeof i=="boolean"?i:void 0}function K1(t,e,n){if(!e?.tabs.length)return null;let r=e.tabs.find(g=>g.id===n)??e.tabs[0],i=r.charts[0];if(!i)return null;let s=Ku(i.query.dimensions),o=Ku(i.query.metrics),a=o.map(g=>t.graphMetrics.find(w=>w.ref===g)?.ownerModel).find(g=>!!g),l=o.find(g=>g.includes("."))?.split(".")[0]??a??s.find(g=>g.includes("."))?.split(".")[0],u=t.models.find(g=>g.name===l)??t.models[0];if(!u)return null;let c=[...t.models.flatMap(g=>g.metrics),...V1(t,u.name)],d=o.map(g=>c.find(w=>w.ref===g)).filter(g=>!!g),y=s.map(g=>Qu(t,g)).filter((g,w,D)=>!!g&&D.findIndex(N=>N?.ref===g?.ref)===w),v=i.encoding?.y,I=(Array.isArray(v)?v:v?[v]:[]).find(g=>d.some(w=>w.ref===g))??d[0]?.ref??u.metrics[0]?.ref??"",Y=i.encoding?.x,h=(Y&&Qu(t,Y)?.type==="time"?Y:void 0)??s.find(g=>Qu(t,g)?.type==="time"),f=u.defaultGrain??"month",m=h?Qu(t,h):u.timeDimension;return{id:r.id,label:r.label??r.id,title:i.title??e.title,model:u,metrics:d.length?d:u.metrics,dimensions:y.length?y:u.dimensions,timeDimension:m,selectedMetric:I,grain:h?W1(h,f):f,filters:Ku(i.query.filters),segments:Ku(i.query.segments),usePreaggregations:Y1(e,i)??i.query.use_preaggregations??i.query.usePreaggregations??H1(e)}}var Q1=["second","minute","hour","day","week","month","quarter","year"];function G1(t){return t.toISOString().slice(0,10)}function X1(t){return t.slice(0,10)}function Z1(t){return new Date(`${X1(t)}T00:00:00Z`)}function J1(t,e){let n=Z1(t);return n.setUTCDate(n.getUTCDate()+e),G1(n)}function q1(t,e){return e.from.includes("T")||e.to.includes("T")?[`${t} >= cast('${e.from}' as timestamp)`,`${t} < cast('${e.to}' as timestamp)`]:[`${t} >= cast('${e.from}' as date)`,`${t} < cast('${J1(e.to,1)}' as date)`]}function eI(t){return t.mode==="contains"?!t.pattern:t.values.length===0}function tI(t){return Object.fromEntries(t.map(e=>[e.ref,e.type]))}function nI(t){return tI(t.models.flatMap(e=>e.dimensions))}function gv(t,e){if((e==="numeric"||e==="number")&&t.trim()!==""&&Number.isFinite(Number(t)))return t;if(e==="boolean"){let n=t.toLowerCase();if(n==="true"||n==="false")return n}return lf(t)}function lw(t){return t.replaceAll("\\","\\\\").replaceAll("%","\\%").replaceAll("_","\\_")}function rI(t,e,n){let r=e.mode==="exclude",i=e.values.includes($c),s=e.values.filter(a=>a!==$c),o=null;if(s.length===1)o=`${t} ${r?"!=":"="} ${gv(s[0],n)}`;else if(s.length>1){let a=s.map(l=>gv(l,n)).join(", ");o=`${t} ${r?"NOT IN":"IN"} (${a})`}if(!r){let a=[];return o&&a.push(o),i&&a.push(`${t} IS NULL`),a.length===0?null:a.length===1?a[0]:`(${a.join(" OR ")})`}if(i){let a=[];return o&&a.push(o),a.push(`${t} IS NOT NULL`),a.length===1?a[0]:`(${a.join(" AND ")})`}return o?`(${o} OR ${t} IS NULL)`:null}function iI(t,e={}){let n=[];for(let[r,i]of Object.entries(t)){if(r===e.excludeDim||eI(i))continue;let s=e.types?.[r];if(i.mode==="contains"){let a=lf(`%${lw(i.pattern??"")}%`);n.push(`CAST(${r} AS VARCHAR) ILIKE ${a} ESCAPE '\\'`);continue}let o=rI(r,i,s);o&&n.push(o)}return n}function sI(t,e={}){let n=iI(t,{types:e.types,excludeDim:e.excludeDim});return e.timeRef&&e.range&&n.push(...q1(e.timeRef,e.range)),n}function oI(t,e,n=50,r,i){return{dimensions:[t],filters:e,...r?.length?{segments:r}:{},...i!=null?{usePreaggregations:i}:{},orderBy:[`${t} ASC`],limit:n}}var uw=he(nn(),1),fL=new Set(Q1);var dL=he(Hn(),1),aI=uw.createContext(null);function lI(){let t=uw.useContext(aI);if(!t)throw new Error("useExplorer must be used within ExplorerProvider");return t}var zd=he(nn(),1),hL=he(nn(),1),Hc={active:0,listeners:new Set};function cw(){for(let t of Hc.listeners)t()}function uI(){Hc.active+=1,cw()}function cI(){Hc.active=Math.max(0,Hc.active-1),cw()}var fI=80;function dI(t,e){let[n,r]=zd.useState({loading:!1}),i=zd.useRef(0),s=e?JSON.stringify(e):null;return zd.useEffect(()=>{if(!e){r({loading:!1});return}let o=++i.current;r(l=>({result:l.result,loading:!0}));let a=setTimeout(()=>{uI(),t.runQuery(e).then(l=>{o===i.current&&r({result:l,loading:!1})}).catch(l=>{o===i.current&&r({loading:!1,error:l instanceof Error?l.message:String(l)})}).finally(()=>cI())},fI);return()=>clearTimeout(a)},[s,t]),n}var Ee=he(Hn(),1),hI=[{mode:"include",label:"Include"},{mode:"exclude",label:"Exclude"},{mode:"contains",label:"Contains"}],pI=50,vv=200;function _v(t,e){let[n,r]=at.useState(t);return at.useEffect(()=>{let i=setTimeout(()=>r(t),e);return()=>clearTimeout(i)},[t,e]),n}function mI({dim:t,model:e,onClose:n}){let{state:r,dispatch:i,backend:s,catalog:o,dashboard:a}=lI(),l=at.useMemo(()=>K1(o,a,r.dashboardTab),[o,a,r.dashboardTab]),u=r.filters[t.ref],[c,d]=at.useState(u?.mode??"include"),y=at.useMemo(()=>new Set(u?.mode!=="contains"?u?.values??[]:[]),[u]),v=at.useRef(null),S=at.useRef(null),I=at.useId(),[Y,h]=at.useState(""),f=_v(Y,vv),m=u?.mode==="contains"?u.pattern??"":"",[g,w]=at.useState(m),D=_v(g,vv);at.useEffect(()=>{let _=document.activeElement;return S.current?.focus(),()=>_?.focus?.()},[]),at.useEffect(()=>{function _(te){te.key==="Escape"&&(te.stopPropagation(),n())}function B(te){v.current&&!v.current.contains(te.target)&&n()}return document.addEventListener("keydown",_,!0),document.addEventListener("mousedown",B,!0),()=>{document.removeEventListener("keydown",_,!0),document.removeEventListener("mousedown",B,!0)}},[n]),at.useEffect(()=>{c==="contains"&&D!==m&&i({type:"setFilterPattern",dim:t.ref,pattern:D})},[D,c,t.ref,i]);let N=l?.timeDimension?.ref??e.timeDimension?.ref,b=at.useMemo(()=>nI(o),[o]),K=at.useMemo(()=>{let _=[...l?.filters??[],...sI(r.filters,{timeRef:N,range:r.dateRange,excludeDim:t.ref,types:b})];if(f.trim()){let B=lf(`%${lw(f.trim())}%`);_.push(`CAST(${t.ref} AS VARCHAR) ILIKE ${B} ESCAPE '\\'`)}return _},[l,r.filters,N,r.dateRange,t.ref,f,b]),L=c!=="contains",{result:ie,loading:Qe,error:ke}=dI(s,L?oI(t.ref,K,pI,l?.segments,l?.usePreaggregations):null),we=j1(t.ref),Ae=at.useMemo(()=>ie?ie.rows.map(_=>{let B=_[we];return B==null?$c:String(B)}):[],[ie,we]),Ve=!!ie&&ie.rows.length>0&&!ie.columns.includes(we),Fr=L&&(Qe||Ve);function T(_){d(_),u&&i({type:"setFilterMode",dim:t.ref,mode:_}),_==="contains"&&w(m)}function M(_){if(_.key!=="Tab")return;let B=v.current?.querySelectorAll('button, input, [href], select, textarea, [tabindex]:not([tabindex="-1"])');if(!B||B.length===0)return;let te=B[0],$e=B[B.length-1];_.shiftKey&&document.activeElement===te?(_.preventDefault(),$e.focus()):!_.shiftKey&&document.activeElement===$e&&(_.preventDefault(),te.focus())}return Ee.jsxs("div",{ref:v,role:"dialog","aria-modal":"true","aria-labelledby":I,onKeyDown:M,className:"absolute left-0 z-50 mt-1 w-64 border border-line bg-surface p-2 text-2xs shadow-lg",children:[Ee.jsxs("div",{id:I,className:"mb-2 flex items-baseline justify-between gap-2",children:[Ee.jsx("span",{className:"truncate font-semibold text-ink",children:t.label}),Ee.jsx("button",{type:"button","aria-label":"Close filter editor",onClick:n,className:"grid size-4 place-items-center rounded-full bg-surface-soft text-faint hover:bg-line hover:text-ink",children:"\xD7"})]}),Ee.jsx("div",{role:"group","aria-label":"Filter mode",className:"mb-2 grid grid-cols-3 gap-px border border-line bg-line",children:hI.map(({mode:_,label:B})=>Ee.jsx("button",{type:"button","aria-pressed":c===_,onClick:()=>T(_),className:`px-1.5 py-1 text-center ${c===_?"bg-accent-soft font-medium text-accent":"bg-surface text-muted hover:bg-surface-soft"}`,children:B},_))}),c==="contains"?Ee.jsx("input",{ref:S,type:"text","aria-label":`${t.label} contains`,placeholder:"Substring\u2026",value:g,onChange:_=>w(_.target.value),className:"w-full border border-line bg-surface px-1.5 py-1 text-2xs text-ink placeholder:text-faint"}):Ee.jsxs(Ee.Fragment,{children:[Ee.jsx("input",{ref:S,type:"text","aria-label":`Search ${t.label} values`,placeholder:"Search values\u2026",value:Y,onChange:_=>h(_.target.value),className:"w-full border border-line bg-surface px-1.5 py-1 text-2xs text-ink placeholder:text-faint"}),Ee.jsx("div",{className:"mt-2 max-h-56 overflow-y-auto",role:"group","aria-label":`${t.label} values`,children:ke?Ee.jsx("p",{className:"px-1 py-2 text-danger",children:ke}):Fr?Ee.jsx("div",{className:"space-y-1.5 p-1",children:[0,1,2,3,4].map(_=>Ee.jsx("div",{className:"skeleton h-4 w-full"},_))}):Ae.length===0?Ee.jsx("p",{className:"px-1 py-2 text-faint",children:"No values"}):Ae.map(_=>{let B=y.has(_);return Ee.jsxs("label",{className:"flex cursor-pointer items-center gap-2 px-1 py-1 hover:bg-surface-soft",children:[Ee.jsx("input",{type:"checkbox",checked:B,onChange:()=>i({type:"toggleFilter",dim:t.ref,value:_,mode:c}),className:"size-3 accent-[var(--accent)]"}),Ee.jsx("span",{className:"min-w-0 truncate text-ink",children:Wc(_)})]},_)})})]}),Ee.jsxs("div",{className:"mt-2 flex items-center justify-between border-t border-line pt-2",children:[Ee.jsx("button",{type:"button",onClick:()=>i({type:"removeFilterDim",dim:t.ref}),className:"text-muted underline-offset-2 hover:text-ink hover:underline",children:"Clear"}),Ee.jsx("button",{type:"button",onClick:n,className:"border border-line px-2 py-1 text-muted hover:bg-surface-soft",children:"Done"})]})]})}var zn=he(Hn(),1);function wv(t){let[e,n]=P1.useState(!1);if(!("dim"in t))return zn.jsxs("span",{"data-dimension":t.dimension,"data-value":t.value,className:"inline-flex max-w-full items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 text-2xs leading-4 text-muted",children:[zn.jsxs("span",{className:"truncate",children:[zn.jsxs("span",{className:"text-faint",children:[t.dimensionLabel??t.dimension,":"]})," ",t.value]}),t.onRemove?zn.jsx("button",{type:"button","aria-label":`Remove filter ${t.value}`,onClick:t.onRemove,className:"-mr-0.5 px-0.5 text-faint hover:text-ink",children:"\xD7"}):null]});let{dim:r,model:i,filter:s,onRemove:o}=t;return zn.jsxs("span",{className:"relative inline-flex max-w-full items-center","data-dimension":r.ref,"data-mode":s.mode,children:[zn.jsxs("span",{className:"inline-flex max-w-full items-center gap-1 rounded-full bg-surface-soft px-2 py-0.5 text-2xs leading-4 text-muted",children:[zn.jsxs("button",{type:"button","aria-label":`Edit filter ${r.label}`,"aria-haspopup":"dialog","aria-expanded":e,onClick:()=>n(a=>!a),className:"min-w-0 truncate text-left hover:text-ink",children:[zn.jsx("span",{className:"text-faint",children:r.label})," ",z1(s)]}),zn.jsx("button",{type:"button","aria-label":`Remove filter ${r.label}`,onClick:o,className:"grid size-3.5 shrink-0 place-items-center rounded-full bg-surface-soft text-faint hover:bg-line hover:text-ink",children:"\xD7"})]}),e?zn.jsx(mI,{dim:r,model:i,onClose:()=>n(!1)}):null]})}var Je=he(Hn(),1),yI={positive:"text-success",negative:"text-danger",neutral:"text-faint"};function gI({dimension:t,title:e,metricLabel:n,rows:r,selectedValues:i=[],loading:s,formatMetric:o,onToggle:a,contextColumn:l="none",contextOptions:u,onContextColumn:c,collapsedLimit:d=6,expanded:y=!1,onExpandedChange:v,containerRef:S}){let I=new Set(i),Y=y?r:r.slice(0,d),h=Math.max(1,...Y.map(w=>Math.abs(w.metric))),f=y||r.length>d,m=l!=="none",g=m?"grid-cols-[minmax(0,1fr)_auto_auto]":"grid-cols-[minmax(0,1fr)_auto]";return Je.jsxs("section",{ref:S,"data-testid":"dimension-leaderboard","data-dimension":t,"data-expanded":y||void 0,"aria-label":`${e}, ranked by ${n}`,className:"flex min-h-40 flex-col border-b border-r border-line bg-surface data-[expanded=true]:col-span-full",children:[Je.jsxs("header",{className:"flex items-center justify-between gap-3 px-3 pb-2 pt-2.5",children:[Je.jsxs("div",{className:"flex min-w-0 items-baseline gap-2",children:[Je.jsx("h3",{className:"truncate text-sm font-semibold text-ink",children:e}),Je.jsxs("p",{className:"sr-only",children:["Ranked by ",n]})]}),u&&c?Je.jsx("div",{role:"group","aria-label":"Context column","data-testid":"leaderboard-context-toggle",className:"flex shrink-0 overflow-hidden border border-line text-2xs",children:u.map(w=>Je.jsx("button",{type:"button",title:w.title,"aria-pressed":l===w.key,"data-context":w.key,"data-active":l===w.key||void 0,onClick:()=>c(w.key),className:"border-l border-line px-1.5 py-0.5 font-mono text-faint first:border-l-0 hover:bg-surface-soft data-[active=true]:bg-accent-soft data-[active=true]:text-accent",children:w.label},w.key))}):null]}),Je.jsx("div",{"data-testid":"leaderboard-rows",children:s&&r.length===0?Je.jsx("div",{className:"space-y-2 p-3",children:[0,1,2,3].map(w=>Je.jsx("div",{className:"skeleton h-5 w-full"},w))}):r.length===0?Je.jsx("p",{className:"px-3 py-4 text-xs text-faint",children:"No values"}):Y.map(w=>{let D=w.metric<0?"negative":"positive",N=I.has(w.value),b=`${Math.round(Math.abs(w.metric)/h*100)}%`;return Je.jsxs("button",{type:"button","data-dimension":t,"data-value":w.value,"data-selected":N||void 0,"data-tone":D,onClick:()=>a?.(w.value),"aria-pressed":N,className:`leaderboard-row relative grid w-full ${g} items-center gap-3 overflow-hidden border-0 bg-transparent px-3 py-1 text-left text-xs text-ink data-[selected=true]:bg-chart-primary-selected`,children:[Je.jsx("span",{"aria-hidden":"true",className:`absolute inset-y-0 left-0 ${D==="negative"?"bg-danger-soft":"bg-chart-primary-soft"}`,style:{width:b}}),Je.jsx("span",{className:"relative min-w-0 truncate text-muted",children:Wc(w.value)}),Je.jsx("strong",{className:"relative tnum font-semibold text-ink",children:o(w.metric)}),m?Je.jsx("span",{"data-testid":"leaderboard-context","data-tone":w.context?.tone??"neutral",className:`relative w-14 text-right font-mono tnum text-2xs ${yI[w.context?.tone??"neutral"]}`,children:w.context?.label??"\u2014"}):null]},`${t}:${w.value}`)})}),f&&!s?Je.jsx("button",{type:"button","data-action":y?"leaderboard-back":"leaderboard-expand","aria-expanded":y,onClick:()=>v?.(!y),className:"leaderboard-expand border-0 border-t border-line bg-transparent px-3 py-1 text-left text-xs font-normal text-faint hover:text-accent",children:y?"\u2190 All dimensions":`Expand table (${r.length})`}):null]})}var vI=he(nn(),1),_r=he(nn(),1),pL=he(nn(),1),_I=he(Hn(),1);function wI({tip:t,position:e="fixed",offset:n=12,className:r,style:i}){return t?_I.jsx("div",{role:"tooltip",style:{position:e,left:t.x+n,top:t.y+n,pointerEvents:"none",zIndex:50,...i},className:r||"rounded-lg border border-line bg-surface px-2.5 py-1.5 text-xs text-ink shadow-[var(--shadow)]",children:t.content}):null}var st=he(Hn(),1);function SI({values:t,labels:e,height:n=44,ariaLabel:r,formatValue:i=a=>a.toLocaleString(void 0,{maximumFractionDigits:2}),onHover:s,onBrush:o}){let a=_r.useRef(null),l=_r.useId(),u=_r.useRef(null),c=_r.useRef(null),[d,y]=_r.useState(200),[v,S]=_r.useState(null),[I,Y]=_r.useState(null),[h,f]=_r.useState(null);_r.useEffect(()=>{let _=a.current;if(!_||typeof ResizeObserver>"u")return;let B=new ResizeObserver(te=>{for(let $e of te)y(Math.max(40,$e.contentRect.width))});return B.observe(_),()=>B.disconnect()},[]);let m=t.map((_,B)=>({index:B,value:_})).filter(_=>Number.isFinite(_.value));if(m.length<2)return st.jsx("svg",{ref:u,role:"img","aria-label":r||"No trend data",className:"h-11 w-full",viewBox:`0 0 ${d} ${n}`});let g=3,w=Math.min(...m.map(_=>_.value)),N=Math.max(...m.map(_=>_.value))-w||1,b=m.map((_,B)=>({..._,x:g+B/(m.length-1)*(d-g*2),y:g+(1-(_.value-w)/N)*(n-g*2)})),K=b.map(({x:_,y:B})=>`${_.toFixed(1)},${B.toFixed(1)}`).join(" L "),L=`M ${b[0].x.toFixed(1)},${n-g} L ${K} L ${b.at(-1).x.toFixed(1)},${n-g} Z`,ie=b.at(-1),Qe=r||`Trend of ${m.length} points, latest ${i(ie.value)}`;function ke(_){let B=u.current?.getBoundingClientRect();return B?Math.max(g,Math.min(d-g,(_.clientX-B.left)/B.width*d)):g}function we(_){return Math.max(0,Math.min(b.length-1,Math.round((_-g)/(d-g*2)*(b.length-1))))}function Ae(_){let B=ke(_),te=we(B),$e=b[te];S(te),f({content:`${e?.[$e.index]?`${e[$e.index]}: `:""}${i($e.value)}`,x:_.clientX,y:_.clientY}),s?.({index:$e.index,label:e?.[$e.index],value:$e.value}),c.current!==null&&Y({a:c.current,b:B})}function Ve(_){if(!o||!e?.length)return;_.currentTarget.setPointerCapture(_.pointerId);let B=ke(_);c.current=B,Y({a:B,b:B})}function Fr(_){if(c.current===null||!o||!e?.length)return;_.currentTarget.hasPointerCapture(_.pointerId)&&_.currentTarget.releasePointerCapture(_.pointerId);let B=ke(_);if(Math.abs(B-c.current)>6){let te=b[we(Math.min(c.current,B))],$e=b[we(Math.max(c.current,B))];o({from:e[te.index],to:e[$e.index]})}c.current=null,Y(null)}function T(){S(null),f(null),s?.(null),c.current===null&&Y(null)}let M=v===null?null:b[v];return st.jsxs("span",{ref:a,className:"relative block w-full",children:[st.jsxs("svg",{ref:u,role:"img","aria-label":Qe,className:`h-11 w-full overflow-hidden text-chart-primary ${o?"touch-none select-none":""}`,viewBox:`0 0 ${d} ${n}`,preserveAspectRatio:"none",onPointerMove:Ae,onPointerDown:Ve,onPointerUp:Fr,onPointerCancel:T,onPointerLeave:T,onDoubleClick:()=>o?.(null),children:[st.jsx("defs",{children:st.jsxs("linearGradient",{id:l,x1:"0",y1:"0",x2:"0",y2:"1",children:[st.jsx("stop",{offset:"0%",stopColor:"currentColor",stopOpacity:.16}),st.jsx("stop",{offset:"100%",stopColor:"currentColor",stopOpacity:0})]})}),st.jsx("path",{d:L,fill:`url(#${l})`}),st.jsx("path",{d:`M ${K}`,fill:"none",stroke:"currentColor",strokeWidth:1.5,vectorEffect:"non-scaling-stroke"}),I?st.jsx("rect",{x:Math.min(I.a,I.b),y:0,width:Math.abs(I.b-I.a),height:n,fill:"currentColor",opacity:.12}):null,M?st.jsxs(st.Fragment,{children:[st.jsx("line",{x1:M.x,x2:M.x,y1:0,y2:n,stroke:"currentColor",strokeWidth:1,opacity:.45}),st.jsx("circle",{cx:M.x,cy:M.y,r:2.5,fill:"currentColor"})]}):st.jsx("circle",{cx:ie.x,cy:ie.y,r:2.25,fill:"currentColor"})]}),st.jsx(wI,{tip:h})]})}var ot=he(Hn(),1),bI={positive:"text-success",negative:"text-danger",neutral:"text-faint"},xI={positive:"\u25B2",negative:"\u25BC",neutral:"\xB7"};function II({metric:t,label:e,value:n,valueText:r,format:i,delta:s,comparison:o,sparkValues:a=[],sparkLabels:l,selected:u,loading:c,onSelect:d,onSparkHover:y,onSparkBrush:v}){let[S,I]=vI.useState(null),Y=ot.jsxs(ot.Fragment,{children:[ot.jsxs("div",{className:"flex items-baseline justify-between gap-2",children:[ot.jsx("span",{className:"truncate text-xs font-medium text-muted",children:e}),S?.label?ot.jsx("span",{className:"shrink-0 font-mono text-2xs text-faint",children:S.label}):null]}),ot.jsx("div",{className:"font-mono tnum text-[19px] font-semibold leading-tight tracking-tight text-ink",children:c?ot.jsx("span",{className:"skeleton inline-block h-6 w-24 align-middle"}):S?jd(S.value,i):r??jd(n,i)}),s||o?ot.jsxs("div",{className:"flex items-baseline gap-1 text-2xs",children:[s?ot.jsxs("span",{"data-tone":s.tone,className:`font-mono tnum font-medium ${bI[s.tone]}`,children:[ot.jsx("span",{"aria-hidden":"true",className:"mr-0.5 text-[8px]",children:xI[s.tone]}),s.label]}):null,o?ot.jsx("span",{className:"truncate text-faint",children:o}):null]}):null]}),h="group flex w-full flex-col gap-1.5 overflow-hidden rounded-xl border border-line bg-surface px-3.5 pt-3 text-left shadow-[var(--shadow-sm)] transition-colors hover:border-line-strong data-[selected=true]:border-accent",f=ot.jsx("div",{className:"-mx-3.5 mt-auto",children:ot.jsx(SI,{values:a,labels:l,onHover:m=>{I(m),y?.(m)},onBrush:v,formatValue:m=>jd(m,i)})});return d?ot.jsxs("article",{"data-metric":t,"data-selected":u||void 0,className:h,children:[ot.jsx("button",{type:"button","data-metric":t,"aria-pressed":!!u,onClick:()=>d(t),className:"-m-1 flex flex-col gap-1 border-0 bg-transparent p-1 text-left transition hover:opacity-75",children:Y}),f]}):ot.jsxs("article",{"data-metric":t,"data-selected":u||void 0,className:h,children:[Y,f]})}var mL=he(Hn(),1);var Gr=he(Hn(),1);function Vp({tone:t,title:e,message:n}){let r=t==="danger";return Gr.jsx("div",{className:`grid min-h-[200px] place-items-center border bg-surface p-6 text-center ${r?"border-danger/40":"border-line"}`,"data-state":t,role:r?"alert":"status","aria-live":r?"assertive":"polite",children:Gr.jsxs("div",{className:"max-w-md",children:[t==="loading"?Gr.jsx("span",{"aria-hidden":"true",className:"motion-safe:animate-pulse inline-block size-2 rounded-full bg-accent"}):null,e?Gr.jsx("h3",{className:`text-sm font-semibold ${r?"text-danger":"text-ink"}`,children:e}):null,Gr.jsx("p",{className:`mt-1 text-xs ${r?"text-danger":"text-muted"}`,children:n})]})})}function BI({title:t="Loading",message:e="Loading metrics\u2026"}){return Gr.jsx(Vp,{tone:"loading",title:t,message:e})}function DI({title:t="No results",message:e}){return Gr.jsx(Vp,{tone:"muted",title:t,message:e})}function NI({title:t="Query failed",message:e}){return Gr.jsx(Vp,{tone:"danger",title:t,message:e})}var Sv=new WeakMap;function uf(t,e){let n=Sv.get(t);n||(t.replaceChildren(),n=U1.createRoot(t),Sv.set(t,n)),R1.flushSync(()=>n.render(e))}function TI(t){return t.result?.sample_rows??t.result?.rows??[]}function Vd(t,e=""){return t.output_aliases?.[e]??Vc(e)}function fw(t,e){return typeof t=="function"?t(e):t}function OI(t={}){return{columns:t.columns??[],sample_rows:t.sample_rows??t.rows??[]}}function FI({dimensions:t=[],metrics:e=[],result:n,outputAliases:r}={}){return{dimensions:t,metrics:e,output_aliases:r,result:OI(n)}}function dw(t,e={}){let n=e.totals?.rows?.[0]??{},r=e.seriesRows??[];uf(t,Zt.createElement(Zt.Fragment,null,...(e.metrics??[]).map(i=>{let s=i.key,o=Vc(s);return Zt.createElement(II,{key:s,metric:s,label:i.label??o.replaceAll("_"," "),value:n[o],format:fw(e.valueFormat,s),selected:e.selectedMetric===s,sparkValues:r.map(a=>Number(a[o])||0),sparkLabels:r.map(a=>String(a[e.timeKey]??"")),onSparkBrush:e.onBrush?a=>e.onBrush(a?.from??null,a?.to??null):void 0,onSelect:e.onSelect?()=>e.onSelect({metric:s,key:o,value:n[o]}):void 0})})))}function $p(t,e,n={}){let r=t.__sdmExpandedDim,i=r?e.filter(s=>(s.key??s)===r):e;uf(t,Zt.createElement(Zt.Fragment,null,...i.map(s=>{let o=s.key??s,a=n.resultForDimension?.(s)??{rows:[]},l=FI({dimensions:[o],metrics:[n.metricRef],result:a}),u=TI(l),c=r===o;return Zt.createElement(gI,{key:o,dimension:o,title:s.label??Vc(o).replaceAll("_"," "),metricLabel:n.metricLabel?.(s)??n.metricName??Vc(n.metricRef),rows:u.map(d=>({value:Ji(d[Vd(l,o)]),metric:Number(d[Vd(l,n.metricRef)])||0})),selectedValues:n.selectedValuesForDimension?.(s)??[],collapsedLimit:n.limit??6,expanded:c,formatMetric:d=>zp(d,fw(n.valueFormat,{metric:n.metricRef,value:d})),onToggle:n.onSelect?d=>n.onSelect({dimension:o,value:d,row:u.find(y=>Ji(y[Vd(l,o)])===d)}):void 0,onExpandedChange:n.expandable===!1?void 0:d=>{t.__sdmExpandedDim=d?o:void 0,$p(t,e,n)}})})))}function hw(t,e,n,r={}){let i=Object.entries(e??{}).flatMap(([s,o])=>(o??[]).map(a=>{let l=Ji(a);return Zt.createElement(wv,{key:`${s}:${l}`,dimension:s,value:l,onRemove:n?()=>n({dimension:s,value:l}):void 0})}));for(let s of r.extraPills??[])i.push(Zt.createElement(wv,{key:s.key??`${s.dimension}:${s.value}`,dimension:s.dimension,dimensionLabel:s.dimensionLabel,value:s.value,onRemove:s.onRemove}));uf(t,i.length?Zt.createElement(Zt.Fragment,null,...i):r.emptyLabel?Zt.createElement("span",{className:"text-faint"},r.emptyLabel):null)}function pw(t,e){let n=e.kind==="error"?NI:e.kind==="loading"?BI:DI;uf(t,Zt.createElement(n,{message:e.message}))}function Wp(t){if(!t)return"";if(typeof t=="string")return t.slice(0,10);if(t instanceof Date)return t.toISOString().slice(0,10);if(typeof t=="number"||typeof t=="bigint"){let e=typeof t=="bigint"?Number(t):t;return e>1e12?new Date(e).toISOString().slice(0,10):e>1e9?new Date(e*1e3).toISOString().slice(0,10):new Date(e*864e5).toISOString().slice(0,10)}return String(t).slice(0,10)}function mw(t){if(!t)return null;if(t instanceof Date)return t;if(typeof t=="number"||typeof t=="bigint"){let e=typeof t=="bigint"?Number(t):t;return e>1e12?new Date(e):e>1e9?new Date(e*1e3):new Date(e*864e5)}if(typeof t=="string"){let e=t.match(/^\d{4}-\d{2}-\d{2}/);if(e)return new Date(`${e[0]}T00:00:00Z`);let n=new Date(t);if(!Number.isNaN(n.getTime()))return n}return null}function yw(t,e){return t.toLocaleDateString("en-US",{timeZone:"UTC",...e})}function gw(t,e){let n=mw(t),r=mw(e);if(!n||!r){let a=Wp(t),l=Wp(e);return!a&&!l?"":a&&l?`${a} \u2013 ${l}`:a||l}let i=n.getFullYear()===r.getFullYear(),s=yw(n,{month:"short",day:"numeric",year:i?void 0:"numeric"}),o=yw(r,{month:"short",day:"numeric",year:"numeric"});return`${s} \u2013 ${o}`}function EI(t){let e=atob(t),n=new Uint8Array(e.length);for(let r=0;r
@@ -37,4 +37,4 @@ Error generating stack: `+s.message+`
- `;let n=e.querySelector(".filter-pills"),r=e.querySelector(".metrics-col"),i=e.querySelector(".dimensions-grid"),s=e.querySelector(".metric-select"),o=e.querySelector(".grain-select"),a=e.querySelector(".widget-status"),l=null;function u(){return t.get("filters")||{}}function c(S){t.set("filters",S),t.save_changes()}function d(){l&&clearTimeout(l),l=setTimeout(()=>{t.set("active_dimension",""),t.save_changes()},400)}function y(){l&&(clearTimeout(l),l=null),t.set("active_dimension","")}function v(S,K){t.set("active_dimension",S),c(ow(u(),S,K)),d()}function w(S,K){y(),c(aw(u(),S,K))}function b(S,K){S&&K?(y(),t.set("brush_selection",[S,K])):t.set("brush_selection",[]),t.save_changes()}function Y(){y(),t.set("brush_selection",[]),t.save_changes()}function h(){let S=t.get("metrics_config")||[],K=t.get("selected_metric")||"",L=t.get("date_range")||[],ie=t.get("brush_selection")||[],Qe=ie&&ie.length===2?ie:L,ke=t.get("metric_totals")||{},Ae=(t.get("transport")||"base64")==="binary"?t.get("metric_series_data_binary"):t.get("metric_series_data");if(!Ae||Ae.byteLength!==void 0&&Ae.byteLength===0){pw(r,{kind:"loading",message:"Loading metrics\u2026"});return}try{let Ve=vw(Ae);if(!Ve){r.innerHTML='
Failed to parse data
';return}let M=(t.get("config")||{}).time_series_column||Object.keys(Ve[0]||{}).find(B=>B.includes("time")||B.includes("date")||B==="__time"),_=M?Ve.map(B=>Wp(B[M])):[];dw(r,{metrics:S,totals:{rows:[ke]},seriesRows:Ve,timeKey:M,selectedMetric:K,rangeLabel:Qe?.length===2?gw(Qe[0],Qe[1]):"",valueFormat:B=>({format:S.find(te=>te.key===B)?.format}),onSelect:({metric:B})=>{t.set("selected_metric",B),t.save_changes()},onBrush:b})}catch(Ve){r.innerHTML=`
Error: ${Ve.message}
`}}function f(){let S=t.get("dimensions_config")||[],L=(t.get("transport")||"base64")==="binary"?t.get("dimension_data_binary")||{}:t.get("dimension_data")||{},ie=t.get("selected_metric")||"",Qe=u(),ke=new Map;S.forEach(we=>{let Ae=L[we.key];if(!Ae||(typeof Ae=="string"?Ae.length===0:Ae.byteLength===0)){ke.set(we.key,[]);return}try{let Ve=vw(Ae);if(!Ve){ke.set(we.key,[]);return}ke.set(we.key,Ve)}catch{ke.set(we.key,[])}}),$p(i,S,{metricRef:ie,resultForDimension:we=>({rows:ke.get(we.key)||[]}),selectedValuesForDimension:we=>Qe[we.key]||[],interactive:!0,expandable:!0,onSelect:({dimension:we,value:Ae})=>v(we,Ae)})}function m(){let S=u(),K=t.get("brush_selection")||[];hw(n,S,({dimension:L,value:ie})=>w(L,ie),{emptyLabel:"No filters",extraPills:K.length===2?[{key:"active-date-range",dimension:"__date_range",dimensionLabel:"Date",value:gw(K[0],K[1]),onRemove:Y}]:[]})}function g(){let S=t.get("metrics_config")||[],K=t.get("selected_metric")||"";s.innerHTML=S.map(L=>``).join("")}function I(){let S=t.get("time_grain_options")||[],K=t.get("time_grain")||"";if(!S.length){o.innerHTML="",o.disabled=!0;return}o.disabled=!1,o.innerHTML=S.map(L=>{let ie=L.replace(/_/g," ").replace(/\b\w/g,Qe=>Qe.toUpperCase());return``}).join("")}function D(){let S=t.get("status")||"loading",K=t.get("error")||"";S==="error"&&K?(a.textContent=`Error: ${K}`,a.className="widget-status error"):S==="loading"?(a.textContent="Loading...",a.className="widget-status loading"):(a.textContent="",a.className="widget-status")}function N(){D(),m(),g(),I(),h(),f()}return s.addEventListener("change",S=>{y(),t.set("selected_metric",S.target.value),t.save_changes()}),o.addEventListener("change",S=>{t.set("time_grain",S.target.value),t.save_changes()}),t.on("change:metric_series_data",h),t.on("change:metric_totals",h),t.on("change:dimension_data",f),t.on("change:filters",()=>{m(),f()}),t.on("change:brush_selection",m),t.on("change:selected_metric",()=>{g(),h()}),t.on("change:time_grain",I),t.on("change:status",D),t.on("change:error",D),t.on("change:metrics_config",N),t.on("change:dimensions_config",N),t.on("change:time_grain_options",I),N(),()=>{t.off("change:metric_series_data",h),t.off("change:metric_totals",h),t.off("change:dimension_data",f),t.off("change:filters"),t.off("change:brush_selection",m),t.off("change:selected_metric"),t.off("change:time_grain",I),t.off("change:status",D),t.off("change:error",D),t.off("change:metrics_config",N),t.off("change:dimensions_config",N),t.off("change:time_grain_options",I)}}var _L={render:kI};export{_L as default}; + `;let n=e.querySelector(".filter-pills"),r=e.querySelector(".metrics-col"),i=e.querySelector(".dimensions-grid"),s=e.querySelector(".metric-select"),o=e.querySelector(".grain-select"),a=e.querySelector(".widget-status"),l=null;function u(){return t.get("filters")||{}}function c(b){t.set("filters",b),t.save_changes()}function d(){l&&clearTimeout(l),l=setTimeout(()=>{t.set("active_dimension",""),t.save_changes()},400)}function y(){l&&(clearTimeout(l),l=null),t.set("active_dimension","")}function v(b,K){t.set("active_dimension",b),c(ow(u(),b,K)),d()}function S(b,K){y(),c(aw(u(),b,K))}function I(b,K){b&&K?(y(),t.set("brush_selection",[b,K])):t.set("brush_selection",[]),t.save_changes()}function Y(){y(),t.set("brush_selection",[]),t.save_changes()}function h(){let b=t.get("metrics_config")||[],K=t.get("selected_metric")||"",L=t.get("date_range")||[],ie=t.get("brush_selection")||[],Qe=ie&&ie.length===2?ie:L,ke=t.get("metric_totals")||{},Ae=(t.get("transport")||"base64")==="binary"?t.get("metric_series_data_binary"):t.get("metric_series_data");if(!Ae||Ae.byteLength!==void 0&&Ae.byteLength===0){pw(r,{kind:"loading",message:"Loading metrics\u2026"});return}try{let Ve=vw(Ae);if(!Ve){r.innerHTML='
Failed to parse data
';return}let M=(t.get("config")||{}).time_series_column||Object.keys(Ve[0]||{}).find(B=>B.includes("time")||B.includes("date")||B==="__time"),_=M?Ve.map(B=>Wp(B[M])):[];dw(r,{metrics:b,totals:{rows:[ke]},seriesRows:Ve,timeKey:M,selectedMetric:K,rangeLabel:Qe?.length===2?gw(Qe[0],Qe[1]):"",valueFormat:B=>({format:b.find(te=>te.key===B)?.format}),onSelect:({metric:B})=>{t.set("selected_metric",B),t.save_changes()},onBrush:I})}catch(Ve){r.innerHTML=`
Error: ${Ve.message}
`}}function f(){let b=t.get("dimensions_config")||[],L=(t.get("transport")||"base64")==="binary"?t.get("dimension_data_binary")||{}:t.get("dimension_data")||{},ie=t.get("selected_metric")||"",Qe=u(),ke=new Map;b.forEach(we=>{let Ae=L[we.key];if(!Ae||(typeof Ae=="string"?Ae.length===0:Ae.byteLength===0)){ke.set(we.key,[]);return}try{let Ve=vw(Ae);if(!Ve){ke.set(we.key,[]);return}ke.set(we.key,Ve)}catch{ke.set(we.key,[])}}),$p(i,b,{metricRef:ie,resultForDimension:we=>({rows:ke.get(we.key)||[]}),selectedValuesForDimension:we=>Qe[we.key]||[],interactive:!0,expandable:!0,onSelect:({dimension:we,value:Ae})=>v(we,Ae)})}function m(){let b=u(),K=t.get("brush_selection")||[];hw(n,b,({dimension:L,value:ie})=>S(L,ie),{emptyLabel:"No filters",extraPills:K.length===2?[{key:"active-date-range",dimension:"__date_range",dimensionLabel:"Date",value:gw(K[0],K[1]),onRemove:Y}]:[]})}function g(){let b=t.get("metrics_config")||[],K=t.get("selected_metric")||"";s.innerHTML=b.map(L=>``).join("")}function w(){let b=t.get("time_grain_options")||[],K=t.get("time_grain")||"";if(!b.length){o.innerHTML="",o.disabled=!0;return}o.disabled=!1,o.innerHTML=b.map(L=>{let ie=L.replace(/_/g," ").replace(/\b\w/g,Qe=>Qe.toUpperCase());return``}).join("")}function D(){let b=t.get("status")||"loading",K=t.get("error")||"";b==="error"&&K?(a.textContent=`Error: ${K}`,a.className="widget-status error"):b==="loading"?(a.textContent="Loading...",a.className="widget-status loading"):(a.textContent="",a.className="widget-status")}function N(){D(),m(),g(),w(),h(),f()}return s.addEventListener("change",b=>{y(),t.set("selected_metric",b.target.value),t.save_changes()}),o.addEventListener("change",b=>{t.set("time_grain",b.target.value),t.save_changes()}),t.on("change:metric_series_data",h),t.on("change:metric_totals",h),t.on("change:dimension_data",f),t.on("change:filters",()=>{m(),f()}),t.on("change:brush_selection",m),t.on("change:selected_metric",()=>{g(),h()}),t.on("change:time_grain",w),t.on("change:status",D),t.on("change:error",D),t.on("change:metrics_config",N),t.on("change:dimensions_config",N),t.on("change:time_grain_options",w),N(),()=>{t.off("change:metric_series_data",h),t.off("change:metric_totals",h),t.off("change:dimension_data",f),t.off("change:filters"),t.off("change:brush_selection",m),t.off("change:selected_metric"),t.off("change:time_grain",w),t.off("change:status",D),t.off("change:error",D),t.off("change:metrics_config",N),t.off("change:dimensions_config",N),t.off("change:time_grain_options",w)}}var _L={render:kI};export{_L as default}; diff --git a/webapp/README.md b/webapp/README.md index f3e795027..fc70015c2 100644 --- a/webapp/README.md +++ b/webapp/README.md @@ -24,6 +24,8 @@ and deep-linkable URL state. brush-zoom (sets the date range), double-click to clear. - **Period-over-period** — set a date range (or brush) and KPIs + the chart show a dashed previous period and percentage deltas. +- **Lazy leaderboards** — each dimension panel issues its query when it comes near the viewport, so + the focused chart's queries go out first and panels far below the fold cost nothing until reached. - **Dark mode** — toggle in the top bar, persisted to localStorage (respects `prefers-color-scheme`). - **Live status** — a spinner shows while queries are in flight; **Reset** clears filters + range. diff --git a/webapp/src/components/Leaderboard.tsx b/webapp/src/components/Leaderboard.tsx index a4bbeca89..0c7c391fc 100644 --- a/webapp/src/components/Leaderboard.tsx +++ b/webapp/src/components/Leaderboard.tsx @@ -1,3 +1,4 @@ +import type { Ref } from "react"; import { displayDimValue, type Tone } from "../lib/format"; import type { ContextColumn } from "../state/explorerState"; @@ -25,6 +26,8 @@ type LeaderboardProps = { collapsedLimit?: number; expanded?: boolean; onExpandedChange?: (expanded: boolean) => void; + /** Attached to the root section, so an owner can measure or observe the panel (lazy mounting). */ + containerRef?: Ref; }; const CONTEXT_TONE: Record = { @@ -48,6 +51,7 @@ export function Leaderboard({ collapsedLimit = 6, expanded = false, onExpandedChange, + containerRef, }: LeaderboardProps) { const selected = new Set(selectedValues); const visibleRows = expanded ? rows : rows.slice(0, collapsedLimit); @@ -62,6 +66,7 @@ export function Leaderboard({ return (
void; }) { const { state, dispatch, backend, catalog } = useExplorer(); + // Hold the query until the panel is near the viewport; the skeleton is rendered meanwhile. + const panel = useRef(null); + const [near, setNear] = useState(false); + useEffect(() => { + if (near || !panel.current) return; + return whenNearViewport(panel.current, () => setNear(true)); + }, [near]); const timeRef = timeDimensionRef ?? model.timeDimension?.ref; const types = useMemo(() => catalogDimTypes(catalog), [catalog]); const filters = useMemo( @@ -67,7 +79,7 @@ export function LeaderboardPanel({ ); const { result, loading, error } = useQueryResult( backend, - dimensionLeaderboard(rankMetric.ref, dim.ref, filters, limit, baseSegments, usePreaggregations), + near ? dimensionLeaderboard(rankMetric.ref, dim.ref, filters, limit, baseSegments, usePreaggregations) : null, ); // Only an include-mode selection is a "checked" row; exclude/contains filters don't highlight @@ -170,7 +182,8 @@ export function LeaderboardPanel({ title={dim.label} metricLabel={rankMetric.label} rows={rows} - loading={loading || stale} + containerRef={panel} + loading={!near || loading || stale} selectedValues={selectedValues} formatMetric={(value) => formatCompact(value, hint)} onToggle={(value) => dispatch({ type: "toggleFilter", dim: dim.ref, value })} diff --git a/webapp/src/lib/viewport.test.ts b/webapp/src/lib/viewport.test.ts new file mode 100644 index 000000000..d8e0d0af4 --- /dev/null +++ b/webapp/src/lib/viewport.test.ts @@ -0,0 +1,75 @@ +import { afterEach, describe, expect, test } from "bun:test"; +import { NEAR_VIEWPORT_MARGIN, whenNearViewport } from "./viewport"; + +type ObserverCallback = (entries: { isIntersecting: boolean }[]) => void; + +// The test runner has no DOM, so stand in a minimal IntersectionObserver we can drive by hand. +class FakeObserver { + static last: FakeObserver | undefined; + observed: Element[] = []; + disconnects = 0; + + constructor( + private readonly callback: ObserverCallback, + readonly options: { root?: Element | null; rootMargin?: string }, + ) { + FakeObserver.last = this; + } + + observe(element: Element) { + this.observed.push(element); + } + + disconnect() { + this.disconnects += 1; + } + + report(isIntersecting: boolean) { + this.callback([{ isIntersecting }]); + } +} + +const globals = globalThis as { IntersectionObserver?: unknown }; +const element = {} as Element; + +function install() { + globals.IntersectionObserver = FakeObserver; + FakeObserver.last = undefined; +} + +afterEach(() => { + delete globals.IntersectionObserver; +}); + +describe("whenNearViewport", () => { + test("waits for the element to come near the viewport, then stops observing", () => { + install(); + let entered = 0; + whenNearViewport(element, () => (entered += 1)); + const observer = FakeObserver.last; + expect(observer?.observed).toEqual([element]); + expect(observer?.options.rootMargin).toBe(NEAR_VIEWPORT_MARGIN); + + observer?.report(false); + expect(entered).toBe(0); + + observer?.report(true); + expect(entered).toBe(1); + expect(observer?.disconnects).toBe(1); + }); + + test("disposing before the element arrives cancels the observation", () => { + install(); + let entered = 0; + const dispose = whenNearViewport(element, () => (entered += 1)); + dispose(); + expect(FakeObserver.last?.disconnects).toBe(1); + expect(entered).toBe(0); + }); + + test("enters immediately where IntersectionObserver is unavailable", () => { + let entered = 0; + whenNearViewport(element, () => (entered += 1)); + expect(entered).toBe(1); + }); +}); diff --git a/webapp/src/lib/viewport.ts b/webapp/src/lib/viewport.ts new file mode 100644 index 000000000..4b84577ac --- /dev/null +++ b/webapp/src/lib/viewport.ts @@ -0,0 +1,50 @@ +// Lazy-mount helper for panels that own their own query. Deferring until the panel is near the +// viewport does two things: an offscreen panel costs nothing, and an onscreen one starts its query +// from an IntersectionObserver callback — which is delivered after the first paint, so it lands +// behind the queries its parent view issued during mount effects. React flushes child effects +// before parent effects, so without this a panel's query would otherwise queue ahead of the primary +// chart's. + +/** How far outside the visible area a panel starts loading: roughly one scroll nudge, so a panel + * just below the fold is already populated by the time it arrives. */ +export const NEAR_VIEWPORT_MARGIN = "600px"; + +/** The scrolling ancestor the element actually moves inside, or null for the viewport. rootMargin + * only expands the observer's root, never an intermediate clip: the app scrolls inside a container + * rather than the document, so observing against the viewport would prefetch nothing at all. */ +function scrollParent(element: Element): Element | null { + for (let node = element.parentElement; node; node = node.parentElement) { + const overflowY = getComputedStyle(node).overflowY; + if (overflowY === "auto" || overflowY === "scroll") return node; + } + return null; +} + +/** + * Call `onEnter` once `element` comes within `rootMargin` of the visible area, then stop observing. + * Returns a disposer. + * + * Where IntersectionObserver is unavailable (older browsers, non-DOM test runners) no visibility + * callback can ever arrive, so `onEnter` fires immediately — content is never withheld from a + * client that cannot report visibility. + */ +export function whenNearViewport( + element: Element, + onEnter: () => void, + rootMargin: string = NEAR_VIEWPORT_MARGIN, +): () => void { + if (typeof IntersectionObserver === "undefined") { + onEnter(); + return () => {}; + } + const observer = new IntersectionObserver( + (entries) => { + if (!entries.some((entry) => entry.isIntersecting)) return; + observer.disconnect(); + onEnter(); + }, + { root: scrollParent(element), rootMargin }, + ); + observer.observe(element); + return () => observer.disconnect(); +}