@malloydata/render 0.0.138-dev240404154020 → 0.0.138-dev240404193102

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- (function(Do,N){typeof exports=="object"&&typeof module<"u"?N(exports):typeof define=="function"&&define.amd?define(["exports"],N):(Do=typeof globalThis<"u"?globalThis:Do||self,N(Do.index={}))})(this,function(Do){"use strict";var N=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function $E(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function CP(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var n=function r(){return this instanceof r?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};n.prototype=e.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(t).forEach(function(r){var i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return t[r]}})}),n}var wt={},BE={},Se={};Object.defineProperty(Se,"__esModule",{value:!0}),Se.overload=Se.minAnalytic=Se.minAggregate=Se.minScalar=Se.maxAnalytic=Se.maxUngroupedAggregate=Se.anyExprType=Se.maxAggregate=Se.maxScalar=Se.makeParam=Se.param=Se.params=Se.literal=Se.output=Se.constant=Se.sql=Se.sqlFragment=Se.spread=Se.arg=void 0;function bP(t){return{type:"function_parameter",name:t}}Se.arg=bP;function Bce(t){return{type:"spread",e:[t]}}Se.spread=Bce;function kce(...t){return{type:"sql_expression",e:t}}Se.sqlFragment=kce;function Pce(t,...e){return[{type:"sql_expression",e:Mce([...t],e)}]}Se.sql=Pce;function Mce(t,e){const n=[];for(let r=0;r<t.length;r++)n.push(t[r]),r<e.length&&n.push(e[r]);return n}function jce(t){return{...t,evalSpace:"constant"}}Se.constant=jce;function Uce(t){return{...t,evalSpace:"output"}}Se.output=Uce;function qce(t){return{...t,evalSpace:"literal"}}Se.literal=qce;function zce(t,...e){return{name:t,isVariadic:!0,allowedTypes:e}}Se.params=zce;function TP(t,...e){return{name:t,isVariadic:!1,allowedTypes:e}}Se.param=TP;function Hce(t,...e){return{param:TP(t,...e),arg:bP(t)}}Se.makeParam=Hce;function Qce(t){return{dataType:t,expressionType:"scalar",evalSpace:"input"}}Se.maxScalar=Qce;function Gce(t){return{dataType:t,expressionType:"aggregate",evalSpace:"input"}}Se.maxAggregate=Gce;function Wce(t){return{dataType:t,expressionType:void 0,evalSpace:"input"}}Se.anyExprType=Wce;function Vce(t){return{dataType:t,expressionType:"ungrouped_aggregate",evalSpace:"input"}}Se.maxUngroupedAggregate=Vce;function Yce(t){return{dataType:t,expressionType:"aggregate_analytic",evalSpace:"input"}}Se.maxAnalytic=Yce;function Kce(t){return{dataType:t,expressionType:"scalar",evalSpace:"input"}}Se.minScalar=Kce;function Xce(t){return{dataType:t,expressionType:"aggregate",evalSpace:"input"}}Se.minAggregate=Xce;function Jce(t){return{dataType:t,expressionType:"scalar_analytic",evalSpace:"input"}}Se.minAnalytic=Jce;function Zce(t,e,n,r){return{returnType:t,params:e,e:n,needsWindowOrderBy:r==null?void 0:r.needsWindowOrderBy,between:r==null?void 0:r.between,isSymmetric:r==null?void 0:r.isSymmetric,supportsOrderBy:r==null?void 0:r.supportsOrderBy,defaultOrderByArgIndex:r==null?void 0:r.defaultOrderByArgIndex,supportsLimit:r==null?void 0:r.supportsLimit}}Se.overload=Zce;var ef={},ne={};Object.defineProperty(ne,"__esModule",{value:!0}),ne.isIndexSegment=ne.isRawSegment=ne.isSamplingEnable=ne.isSamplingPercent=ne.isSamplingRows=ne.isQuerySegment=ne.isProjectSegment=ne.isPartialSegment=ne.isReduceSegment=ne.refIsStructDef=ne.isByExpression=ne.isByName=ne.ValueType=ne.isExtractUnit=ne.isTimestampUnit=ne.isDateUnit=ne.FieldIsIntrinsic=ne.isCastType=ne.isAtomicFieldType=ne.isTimeFieldType=ne.hasExpression=ne.maxOfExpressionTypes=ne.maxExpressionType=ne.isExpressionTypeLEQ=ne.expressionIsAnalytic=ne.expressionIsCalculation=ne.expressionInvolvesAggregate=ne.expressionIsUngroupedAggregate=ne.expressionIsAggregate=ne.expressionIsScalar=ne.mkExpr=ne.isApplyFragment=ne.isApplyValue=ne.isParameterFragment=ne.isSourceReferenceFragment=ne.isSqlStringFragment=ne.isFieldFragment=ne.isSpreadFragment=ne.isSQLExpressionFragment=ne.isFunctionCallFragment=ne.isFunctionParameterFragment=ne.isUngroupFragment=ne.isAsymmetricFragment=ne.isAggregateFragment=ne.isDialectFragment=ne.isFilterFragment=ne.isOutputFieldFragment=ne.paramHasValue=ne.isConditionParameter=ne.isValueParameter=void 0,ne.isValueDate=ne.isValueTimestamp=ne.isValueBoolean=ne.isValueNumber=ne.isValueString=ne.isMeasureLike=ne.getPhysicalFields=ne.getDimensions=ne.isPhysical=ne.isDimensional=ne.isAtomicField=ne.isTurtleDef=ne.getIdentifier=ne.isFieldStructDef=ne.isFieldTimeBased=ne.isFieldTypeDef=ne.isSQLBlockStruct=ne.mergeEvalSpaces=ne.isLiteral=ne.isSQLFragment=ne.isJoinOn=ne.isMatrixOperation=void 0;function RP(t){return t.value!==void 0}ne.isValueParameter=RP;function efe(t){return t.condition!==void 0}ne.isConditionParameter=efe;function tfe(t){return RP(t)||t.condition!==null}ne.paramHasValue=tfe;function nfe(t){return(t==null?void 0:t.type)==="outputField"}ne.isOutputFieldFragment=nfe;function rfe(t){return(t==null?void 0:t.type)==="filterExpression"}ne.isFilterFragment=rfe;function ife(t){return(t==null?void 0:t.type)==="dialect"}ne.isDialectFragment=ife;function OP(t){return(t==null?void 0:t.type)==="aggregate"}ne.isAggregateFragment=OP;function sfe(t){return OP(t)&&["sum","avg","count"].includes(t.function)}ne.isAsymmetricFragment=sfe;function ofe(t){const e=t==null?void 0:t.type;return e==="all"||e==="exclude"}ne.isUngroupFragment=ofe;function ufe(t){return(t==null?void 0:t.type)==="function_parameter"}ne.isFunctionParameterFragment=ufe;function afe(t){return(t==null?void 0:t.type)==="function_call"}ne.isFunctionCallFragment=afe;function lfe(t){return(t==null?void 0:t.type)==="sql_expression"}ne.isSQLExpressionFragment=lfe;function cfe(t){return(t==null?void 0:t.type)==="spread"}ne.isSpreadFragment=cfe;function ffe(t){return(t==null?void 0:t.type)==="field"}ne.isFieldFragment=ffe;function xfe(t){return(t==null?void 0:t.type)==="sql-string"}ne.isSqlStringFragment=xfe;function dfe(t){return(t==null?void 0:t.type)==="source-reference"}ne.isSourceReferenceFragment=dfe;function hfe(t){return(t==null?void 0:t.type)==="parameter"}ne.isParameterFragment=hfe;function pfe(t){return(t==null?void 0:t.type)==="applyVal"}ne.isApplyValue=pfe;function gfe(t){return(t==null?void 0:t.type)==="apply"}ne.isApplyFragment=gfe;function mfe(t,...e){const n=[];let r;for(r=0;r<e.length;r++){const i=e[r];t[r].length>0&&n.push(t[r]),typeof i=="string"?n.push(i):n.push(...i)}return t[r].length>0&&n.push(t[r]),n}ne.mkExpr=mfe;function yfe(t){return t===void 0||t==="scalar"}ne.expressionIsScalar=yfe;function Efe(t){return t==="aggregate"||t==="ungrouped_aggregate"}ne.expressionIsAggregate=Efe;function Afe(t){return t==="ungrouped_aggregate"}ne.expressionIsUngroupedAggregate=Afe;function vfe(t){return t==="aggregate"||t==="ungrouped_aggregate"||t==="aggregate_analytic"}ne.expressionInvolvesAggregate=vfe;function Sfe(t){return t==="aggregate"||t==="scalar_analytic"||t==="aggregate_analytic"||t==="ungrouped_aggregate"}ne.expressionIsCalculation=Sfe;function _fe(t){return t==="aggregate_analytic"||t==="scalar_analytic"}ne.expressionIsAnalytic=_fe;function NP(t){return{scalar:0,aggregate:1,ungrouped_aggregate:2,scalar_analytic:2,aggregate_analytic:3}[t]}function Cfe(t,e){return t===e||NP(t)<NP(e)}ne.isExpressionTypeLEQ=Cfe;function DP(t,e){let n="scalar";return(t==="aggregate"||e==="aggregate")&&(n="aggregate"),(t==="ungrouped_aggregate"||e==="ungrouped_aggregate")&&(n="ungrouped_aggregate"),(t==="scalar_analytic"||e==="scalar_analytic")&&(n="scalar_analytic"),(t==="aggregate_analytic"||e==="aggregate_analytic")&&(n="aggregate_analytic"),(t==="scalar_analytic"&&e==="aggregate"||t==="aggregate"&&e==="scalar_analytic")&&(n="aggregate_analytic"),n}ne.maxExpressionType=DP;function bfe(t){return t.reduce(DP,"scalar")}ne.maxOfExpressionTypes=bfe;function FP(t){return t.e!==void 0}ne.hasExpression=FP;function Tfe(t){return t==="date"||t==="timestamp"}ne.isTimeFieldType=Tfe;function OR(t){return["string","number","date","timestamp","boolean","json","unsupported","error"].includes(t)}ne.isAtomicFieldType=OR;function Rfe(t){return["string","number","date","timestamp","boolean","json"].includes(t)}ne.isCastType=Rfe;function Ofe(t){return OR(t.type)&&!FP(t)?!0:t.type==="struct"&&(t.structSource.type==="inline"||t.structSource.type==="nested")}ne.FieldIsIntrinsic=Ofe;function wP(t){return["day","week","month","quarter","year"].includes(t)}ne.isDateUnit=wP;function LP(t){return wP(t)||["hour","minute","second"].includes(t)}ne.isTimestampUnit=LP;function Nfe(t){return LP(t)||t==="day_of_week"||t==="day_of_year"}ne.isExtractUnit=Nfe;var IP;(function(t){t.Date="date",t.Timestamp="timestamp",t.Number="number",t.String="string"})(IP||(ne.ValueType=IP={}));function Dfe(t){return t===void 0?!1:t.by==="name"}ne.isByName=Dfe;function Ffe(t){return t===void 0?!1:t.by==="name"}ne.isByExpression=Ffe;function wfe(t){return typeof t!="string"&&t.type==="struct"}ne.refIsStructDef=wfe;function $P(t){return t.type==="reduce"}ne.isReduceSegment=$P;function Lfe(t){return t.type==="partial"}ne.isPartialSegment=Lfe;function BP(t){return t.type==="project"}ne.isProjectSegment=BP;function Ife(t){return BP(t)||$P(t)}ne.isQuerySegment=Ife;function $fe(t){return t.rows!==void 0}ne.isSamplingRows=$fe;function Bfe(t){return t.percent!==void 0}ne.isSamplingPercent=Bfe;function kfe(t){return t.enable!==void 0}ne.isSamplingEnable=kfe;function Pfe(t){return t.type==="raw"}ne.isRawSegment=Pfe;function Mfe(t){return t.type==="index"}ne.isIndexSegment=Mfe;function jfe(t){return["left","right","full","inner"].includes(t)}ne.isMatrixOperation=jfe;function Ufe(t){return["one","many","cross"].includes(t.type)}ne.isJoinOn=Ufe;function qfe(t){return t.sql!==void 0}ne.isSQLFragment=qfe;function zfe(t){return t==="literal"}ne.isLiteral=zfe;function Hfe(...t){return t.every(e=>e==="constant"||e==="literal")?"constant":t.every(e=>e==="output"||e==="constant"||e==="literal")?"output":"input"}ne.mergeEvalSpaces=Hfe;function Qfe(t){const e=t.structSource;return e.type==="sql"&&e.method==="subquery"}ne.isSQLBlockStruct=Qfe;function kP(t){return t.type==="string"||t.type==="date"||t.type==="number"||t.type==="timestamp"||t.type==="boolean"||t.type==="json"}ne.isFieldTypeDef=kP;function Gfe(t){return t.type==="date"||t.type==="timestamp"}ne.isFieldTimeBased=Gfe;function PP(t){return t.type==="struct"}ne.isFieldStructDef=PP;function Wfe(t){return t.as!==void 0?t.as:t.name}ne.getIdentifier=Wfe;function Vfe(t){return t.type==="turtle"}ne.isTurtleDef=Vfe;function Yfe(t){return OR(t.type)}ne.isAtomicField=Yfe;function MP(t){var e;return"resultMetadata"in t?((e=t.resultMetadata)===null||e===void 0?void 0:e.fieldKind)==="dimension":!1}ne.isDimensional=MP;function jP(t){return kP(t)&&t.e===void 0||PP(t)&&(t.structSource.type==="nested"||t.structSource.type==="inline")}ne.isPhysical=jP;function Kfe(t){return t.fields.filter(MP)}ne.getDimensions=Kfe;function Xfe(t){return t.fields.filter(jP)}ne.getPhysicalFields=Xfe;function Jfe(t){var e,n;return"resultMetadata"in t?((e=t.resultMetadata)===null||e===void 0?void 0:e.fieldKind)==="measure"||((n=t.resultMetadata)===null||n===void 0?void 0:n.fieldKind)==="struct":!1}ne.isMeasureLike=Jfe;function Zfe(t,e){return e.type==="string"}ne.isValueString=Zfe;function exe(t,e){return e.type==="number"}ne.isValueNumber=exe;function txe(t,e){return e.type==="boolean"}ne.isValueBoolean=txe;function nxe(t,e){return e.type==="timestamp"}ne.isValueTimestamp=nxe;function rxe(t,e){return e.type==="date"}ne.isValueDate=rxe,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.Dialect=t.qtz=t.inDays=t.dayIndex=t.isDialectFieldStruct=void 0;const e=ne;function n(u){return u.type==="struct"}t.isDialectFieldStruct=n;const r=["microsecond","millisecond","second","minute","hour","day","week","month","quarter","year"];t.dayIndex=r.indexOf("day");function i(u){return r.indexOf(u)>=t.dayIndex}t.inDays=i;function s(u){const a=u.queryTimezone;if(!(a===void 0||a===u.systemTimezone))return a}t.qtz=s;class o{constructor(){this.cantPartitionWindowFunctionsOnExpressions=!1,this.supportsPipelinesInViews=!0,this.supportsArraysInData=!0,this.readsNestedData=!0,this.orderByClause="ordinal"}sqlFinalStage(a,l){throw new Error("Dialect has no final Stage but called Anyway")}sqlDateToString(a){return this.castToString(`DATE(${a})`)}ignoreInProject(a){return!1}sqlLiteralNumber(a){return a}dialectExpr(a,l){switch(l.function){case"now":return this.sqlNow();case"timeDiff":return this.sqlMeasureTime(l.left,l.right,l.units);case"delta":return this.sqlAlterTime(l.op,l.base,l.delta,l.units);case"trunc":return this.sqlTrunc(a,l.expr,l.units);case"extract":return this.sqlExtract(a,l.expr,l.units);case"cast":return this.sqlCast(a,l);case"regexpMatch":return this.sqlRegexpMatch(l.expr,l.regexp);case"div":return this.divisionIsInteger?(0,e.mkExpr)`${l.numerator}*1.0/${l.denominator}`:(0,e.mkExpr)`${l.numerator}/${l.denominator}`;case"timeLiteral":return[this.sqlLiteralTime(a,l.literal,l.literalType,l.timezone)];case"stringLiteral":return[this.sqlLiteralString(l.literal)];case"numberLiteral":return[this.sqlLiteralNumber(l.literal)];case"regexpLiteral":return[this.sqlLiteralRegexp(l.literal)]}}sqlSumDistinct(a,l,c){return"sqlSumDistinct called but not implemented"}sqlAggDistinct(a,l,c){return"sqlAggDistinct called but not implemented"}sqlSampleTable(a,l){if(l!==void 0)throw new Error(`Sampling is not supported on dialect ${this.name}.`);return a}sqlOrderBy(a){return`ORDER BY ${a.join(",")}`}sqlTzStr(a){return`"${a.queryTimezone}"`}}t.Dialect=o}(ef);var NR={},U1={},Wt={},kE,ixe=new Uint8Array(16);function UP(){if(!kE&&(kE=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<"u"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!kE))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return kE(ixe)}const sxe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function PE(t){return typeof t=="string"&&sxe.test(t)}for(var br=[],DR=0;DR<256;++DR)br.push((DR+256).toString(16).substr(1));function ME(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=(br[t[e+0]]+br[t[e+1]]+br[t[e+2]]+br[t[e+3]]+"-"+br[t[e+4]]+br[t[e+5]]+"-"+br[t[e+6]]+br[t[e+7]]+"-"+br[t[e+8]]+br[t[e+9]]+"-"+br[t[e+10]]+br[t[e+11]]+br[t[e+12]]+br[t[e+13]]+br[t[e+14]]+br[t[e+15]]).toLowerCase();if(!PE(n))throw TypeError("Stringified UUID is invalid");return n}var qP,FR,wR=0,LR=0;function oxe(t,e,n){var r=e&&n||0,i=e||new Array(16);t=t||{};var s=t.node||qP,o=t.clockseq!==void 0?t.clockseq:FR;if(s==null||o==null){var u=t.random||(t.rng||UP)();s==null&&(s=qP=[u[0]|1,u[1],u[2],u[3],u[4],u[5]]),o==null&&(o=FR=(u[6]<<8|u[7])&16383)}var a=t.msecs!==void 0?t.msecs:Date.now(),l=t.nsecs!==void 0?t.nsecs:LR+1,c=a-wR+(l-LR)/1e4;if(c<0&&t.clockseq===void 0&&(o=o+1&16383),(c<0||a>wR)&&t.nsecs===void 0&&(l=0),l>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");wR=a,LR=l,FR=o,a+=122192928e5;var f=((a&268435455)*1e4+l)%4294967296;i[r++]=f>>>24&255,i[r++]=f>>>16&255,i[r++]=f>>>8&255,i[r++]=f&255;var x=a/4294967296*1e4&268435455;i[r++]=x>>>8&255,i[r++]=x&255,i[r++]=x>>>24&15|16,i[r++]=x>>>16&255,i[r++]=o>>>8|128,i[r++]=o&255;for(var h=0;h<6;++h)i[r+h]=s[h];return e||ME(i)}function zP(t){if(!PE(t))throw TypeError("Invalid UUID");var e,n=new Uint8Array(16);return n[0]=(e=parseInt(t.slice(0,8),16))>>>24,n[1]=e>>>16&255,n[2]=e>>>8&255,n[3]=e&255,n[4]=(e=parseInt(t.slice(9,13),16))>>>8,n[5]=e&255,n[6]=(e=parseInt(t.slice(14,18),16))>>>8,n[7]=e&255,n[8]=(e=parseInt(t.slice(19,23),16))>>>8,n[9]=e&255,n[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,n[11]=e/4294967296&255,n[12]=e>>>24&255,n[13]=e>>>16&255,n[14]=e>>>8&255,n[15]=e&255,n}function uxe(t){t=unescape(encodeURIComponent(t));for(var e=[],n=0;n<t.length;++n)e.push(t.charCodeAt(n));return e}var axe="6ba7b810-9dad-11d1-80b4-00c04fd430c8",lxe="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function HP(t,e,n){function r(i,s,o,u){if(typeof i=="string"&&(i=uxe(i)),typeof s=="string"&&(s=zP(s)),s.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var a=new Uint8Array(16+i.length);if(a.set(s),a.set(i,s.length),a=n(a),a[6]=a[6]&15|e,a[8]=a[8]&63|128,o){u=u||0;for(var l=0;l<16;++l)o[u+l]=a[l];return o}return ME(a)}try{r.name=t}catch{}return r.DNS=axe,r.URL=lxe,r}function cxe(t){if(typeof t=="string"){var e=unescape(encodeURIComponent(t));t=new Uint8Array(e.length);for(var n=0;n<e.length;++n)t[n]=e.charCodeAt(n)}return fxe(xxe(dxe(t),t.length*8))}function fxe(t){for(var e=[],n=t.length*32,r="0123456789abcdef",i=0;i<n;i+=8){var s=t[i>>5]>>>i%32&255,o=parseInt(r.charAt(s>>>4&15)+r.charAt(s&15),16);e.push(o)}return e}function QP(t){return(t+64>>>9<<4)+14+1}function xxe(t,e){t[e>>5]|=128<<e%32,t[QP(e)-1]=e;for(var n=1732584193,r=-271733879,i=-1732584194,s=271733878,o=0;o<t.length;o+=16){var u=n,a=r,l=i,c=s;n=kr(n,r,i,s,t[o],7,-680876936),s=kr(s,n,r,i,t[o+1],12,-389564586),i=kr(i,s,n,r,t[o+2],17,606105819),r=kr(r,i,s,n,t[o+3],22,-1044525330),n=kr(n,r,i,s,t[o+4],7,-176418897),s=kr(s,n,r,i,t[o+5],12,1200080426),i=kr(i,s,n,r,t[o+6],17,-1473231341),r=kr(r,i,s,n,t[o+7],22,-45705983),n=kr(n,r,i,s,t[o+8],7,1770035416),s=kr(s,n,r,i,t[o+9],12,-1958414417),i=kr(i,s,n,r,t[o+10],17,-42063),r=kr(r,i,s,n,t[o+11],22,-1990404162),n=kr(n,r,i,s,t[o+12],7,1804603682),s=kr(s,n,r,i,t[o+13],12,-40341101),i=kr(i,s,n,r,t[o+14],17,-1502002290),r=kr(r,i,s,n,t[o+15],22,1236535329),n=Pr(n,r,i,s,t[o+1],5,-165796510),s=Pr(s,n,r,i,t[o+6],9,-1069501632),i=Pr(i,s,n,r,t[o+11],14,643717713),r=Pr(r,i,s,n,t[o],20,-373897302),n=Pr(n,r,i,s,t[o+5],5,-701558691),s=Pr(s,n,r,i,t[o+10],9,38016083),i=Pr(i,s,n,r,t[o+15],14,-660478335),r=Pr(r,i,s,n,t[o+4],20,-405537848),n=Pr(n,r,i,s,t[o+9],5,568446438),s=Pr(s,n,r,i,t[o+14],9,-1019803690),i=Pr(i,s,n,r,t[o+3],14,-187363961),r=Pr(r,i,s,n,t[o+8],20,1163531501),n=Pr(n,r,i,s,t[o+13],5,-1444681467),s=Pr(s,n,r,i,t[o+2],9,-51403784),i=Pr(i,s,n,r,t[o+7],14,1735328473),r=Pr(r,i,s,n,t[o+12],20,-1926607734),n=Mr(n,r,i,s,t[o+5],4,-378558),s=Mr(s,n,r,i,t[o+8],11,-2022574463),i=Mr(i,s,n,r,t[o+11],16,1839030562),r=Mr(r,i,s,n,t[o+14],23,-35309556),n=Mr(n,r,i,s,t[o+1],4,-1530992060),s=Mr(s,n,r,i,t[o+4],11,1272893353),i=Mr(i,s,n,r,t[o+7],16,-155497632),r=Mr(r,i,s,n,t[o+10],23,-1094730640),n=Mr(n,r,i,s,t[o+13],4,681279174),s=Mr(s,n,r,i,t[o],11,-358537222),i=Mr(i,s,n,r,t[o+3],16,-722521979),r=Mr(r,i,s,n,t[o+6],23,76029189),n=Mr(n,r,i,s,t[o+9],4,-640364487),s=Mr(s,n,r,i,t[o+12],11,-421815835),i=Mr(i,s,n,r,t[o+15],16,530742520),r=Mr(r,i,s,n,t[o+2],23,-995338651),n=jr(n,r,i,s,t[o],6,-198630844),s=jr(s,n,r,i,t[o+7],10,1126891415),i=jr(i,s,n,r,t[o+14],15,-1416354905),r=jr(r,i,s,n,t[o+5],21,-57434055),n=jr(n,r,i,s,t[o+12],6,1700485571),s=jr(s,n,r,i,t[o+3],10,-1894986606),i=jr(i,s,n,r,t[o+10],15,-1051523),r=jr(r,i,s,n,t[o+1],21,-2054922799),n=jr(n,r,i,s,t[o+8],6,1873313359),s=jr(s,n,r,i,t[o+15],10,-30611744),i=jr(i,s,n,r,t[o+6],15,-1560198380),r=jr(r,i,s,n,t[o+13],21,1309151649),n=jr(n,r,i,s,t[o+4],6,-145523070),s=jr(s,n,r,i,t[o+11],10,-1120210379),i=jr(i,s,n,r,t[o+2],15,718787259),r=jr(r,i,s,n,t[o+9],21,-343485551),n=s0(n,u),r=s0(r,a),i=s0(i,l),s=s0(s,c)}return[n,r,i,s]}function dxe(t){if(t.length===0)return[];for(var e=t.length*8,n=new Uint32Array(QP(e)),r=0;r<e;r+=8)n[r>>5]|=(t[r/8]&255)<<r%32;return n}function s0(t,e){var n=(t&65535)+(e&65535),r=(t>>16)+(e>>16)+(n>>16);return r<<16|n&65535}function hxe(t,e){return t<<e|t>>>32-e}function jE(t,e,n,r,i,s){return s0(hxe(s0(s0(e,t),s0(r,s)),i),n)}function kr(t,e,n,r,i,s,o){return jE(e&n|~e&r,t,e,i,s,o)}function Pr(t,e,n,r,i,s,o){return jE(e&r|n&~r,t,e,i,s,o)}function Mr(t,e,n,r,i,s,o){return jE(e^n^r,t,e,i,s,o)}function jr(t,e,n,r,i,s,o){return jE(n^(e|~r),t,e,i,s,o)}var pxe=HP("v3",48,cxe);const gxe=pxe;function mxe(t,e,n){t=t||{};var r=t.random||(t.rng||UP)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,e){n=n||0;for(var i=0;i<16;++i)e[n+i]=r[i];return e}return ME(r)}function yxe(t,e,n,r){switch(t){case 0:return e&n^~e&r;case 1:return e^n^r;case 2:return e&n^e&r^n&r;case 3:return e^n^r}}function IR(t,e){return t<<e|t>>>32-e}function Exe(t){var e=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){var r=unescape(encodeURIComponent(t));t=[];for(var i=0;i<r.length;++i)t.push(r.charCodeAt(i))}else Array.isArray(t)||(t=Array.prototype.slice.call(t));t.push(128);for(var s=t.length/4+2,o=Math.ceil(s/16),u=new Array(o),a=0;a<o;++a){for(var l=new Uint32Array(16),c=0;c<16;++c)l[c]=t[a*64+c*4]<<24|t[a*64+c*4+1]<<16|t[a*64+c*4+2]<<8|t[a*64+c*4+3];u[a]=l}u[o-1][14]=(t.length-1)*8/Math.pow(2,32),u[o-1][14]=Math.floor(u[o-1][14]),u[o-1][15]=(t.length-1)*8&4294967295;for(var f=0;f<o;++f){for(var x=new Uint32Array(80),h=0;h<16;++h)x[h]=u[f][h];for(var p=16;p<80;++p)x[p]=IR(x[p-3]^x[p-8]^x[p-14]^x[p-16],1);for(var m=n[0],g=n[1],y=n[2],E=n[3],A=n[4],v=0;v<80;++v){var S=Math.floor(v/20),C=IR(m,5)+yxe(S,g,y,E)+A+e[S]+x[v]>>>0;A=E,E=y,y=IR(g,30)>>>0,g=m,m=C}n[0]=n[0]+m>>>0,n[1]=n[1]+g>>>0,n[2]=n[2]+y>>>0,n[3]=n[3]+E>>>0,n[4]=n[4]+A>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,n[0]&255,n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,n[1]&255,n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,n[2]&255,n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,n[3]&255,n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,n[4]&255]}var Axe=HP("v5",80,Exe);const vxe=Axe,Sxe="00000000-0000-0000-0000-000000000000";function _xe(t){if(!PE(t))throw TypeError("Invalid UUID");return parseInt(t.substr(14,1),16)}const GP=CP(Object.freeze(Object.defineProperty({__proto__:null,NIL:Sxe,parse:zP,stringify:ME,v1:oxe,v3:gxe,v4:mxe,v5:vxe,validate:PE,version:_xe},Symbol.toStringTag,{value:"Module"})));Object.defineProperty(Wt,"__esModule",{value:!0}),Wt.range=Wt.joinWith=Wt.exprWalk=Wt.exprMap=Wt.generateHash=Wt.AndChain=Wt.generateSQLStringLiteral=Wt.indent=void 0;const Cxe=GP;function bxe(t){const e=/(^|\n)/g,n=/\n {2}$/;return t.replace(e,"$1 ").replace(n,`
1
+ (function(Do,N){typeof exports=="object"&&typeof module<"u"?N(exports):typeof define=="function"&&define.amd?define(["exports"],N):(Do=typeof globalThis<"u"?globalThis:Do||self,N(Do.index={}))})(this,function(Do){"use strict";var N=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function $E(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function CP(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var n=function r(){return this instanceof r?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};n.prototype=e.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(t).forEach(function(r){var i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return t[r]}})}),n}var wt={},BE={},Se={};Object.defineProperty(Se,"__esModule",{value:!0}),Se.overload=Se.minAnalytic=Se.minAggregate=Se.minScalar=Se.maxAnalytic=Se.maxUngroupedAggregate=Se.anyExprType=Se.maxAggregate=Se.maxScalar=Se.makeParam=Se.param=Se.params=Se.literal=Se.output=Se.constant=Se.sql=Se.sqlFragment=Se.spread=Se.arg=void 0;function bP(t){return{type:"function_parameter",name:t}}Se.arg=bP;function Bce(t){return{type:"spread",e:[t]}}Se.spread=Bce;function kce(...t){return{type:"sql_expression",e:t}}Se.sqlFragment=kce;function Pce(t,...e){return[{type:"sql_expression",e:Mce([...t],e)}]}Se.sql=Pce;function Mce(t,e){const n=[];for(let r=0;r<t.length;r++)n.push(t[r]),r<e.length&&n.push(e[r]);return n}function jce(t){return{...t,evalSpace:"constant"}}Se.constant=jce;function Uce(t){return{...t,evalSpace:"output"}}Se.output=Uce;function qce(t){return{...t,evalSpace:"literal"}}Se.literal=qce;function zce(t,...e){return{name:t,isVariadic:!0,allowedTypes:e}}Se.params=zce;function TP(t,...e){return{name:t,isVariadic:!1,allowedTypes:e}}Se.param=TP;function Hce(t,...e){return{param:TP(t,...e),arg:bP(t)}}Se.makeParam=Hce;function Qce(t){return{dataType:t,expressionType:"scalar",evalSpace:"input"}}Se.maxScalar=Qce;function Gce(t){return{dataType:t,expressionType:"aggregate",evalSpace:"input"}}Se.maxAggregate=Gce;function Wce(t){return{dataType:t,expressionType:void 0,evalSpace:"input"}}Se.anyExprType=Wce;function Vce(t){return{dataType:t,expressionType:"ungrouped_aggregate",evalSpace:"input"}}Se.maxUngroupedAggregate=Vce;function Yce(t){return{dataType:t,expressionType:"aggregate_analytic",evalSpace:"input"}}Se.maxAnalytic=Yce;function Kce(t){return{dataType:t,expressionType:"scalar",evalSpace:"input"}}Se.minScalar=Kce;function Xce(t){return{dataType:t,expressionType:"aggregate",evalSpace:"input"}}Se.minAggregate=Xce;function Jce(t){return{dataType:t,expressionType:"scalar_analytic",evalSpace:"input"}}Se.minAnalytic=Jce;function Zce(t,e,n,r){return{returnType:t,params:e,e:n,needsWindowOrderBy:r==null?void 0:r.needsWindowOrderBy,between:r==null?void 0:r.between,isSymmetric:r==null?void 0:r.isSymmetric,supportsOrderBy:r==null?void 0:r.supportsOrderBy,defaultOrderByArgIndex:r==null?void 0:r.defaultOrderByArgIndex,supportsLimit:r==null?void 0:r.supportsLimit}}Se.overload=Zce;var ef={},ne={};Object.defineProperty(ne,"__esModule",{value:!0}),ne.isIndexSegment=ne.isRawSegment=ne.isSamplingEnable=ne.isSamplingPercent=ne.isSamplingRows=ne.isQuerySegment=ne.isProjectSegment=ne.isPartialSegment=ne.isReduceSegment=ne.refIsStructDef=ne.isByExpression=ne.isByName=ne.ValueType=ne.isExtractUnit=ne.isTimestampUnit=ne.isDateUnit=ne.FieldIsIntrinsic=ne.isCastType=ne.isAtomicFieldType=ne.isTimeFieldType=ne.hasExpression=ne.maxOfExpressionTypes=ne.maxExpressionType=ne.isExpressionTypeLEQ=ne.expressionIsAnalytic=ne.expressionIsCalculation=ne.expressionInvolvesAggregate=ne.expressionIsUngroupedAggregate=ne.expressionIsAggregate=ne.expressionIsScalar=ne.mkExpr=ne.isApplyFragment=ne.isApplyValue=ne.isParameterFragment=ne.isSourceReferenceFragment=ne.isSqlStringFragment=ne.isFieldFragment=ne.isSpreadFragment=ne.isSQLExpressionFragment=ne.isFunctionCallFragment=ne.isFunctionParameterFragment=ne.isUngroupFragment=ne.isAsymmetricFragment=ne.isAggregateFragment=ne.isDialectFragment=ne.isFilterFragment=ne.isOutputFieldFragment=ne.paramHasValue=ne.isConditionParameter=ne.isValueParameter=void 0,ne.isValueDate=ne.isValueTimestamp=ne.isValueBoolean=ne.isValueNumber=ne.isValueString=ne.isMeasureLike=ne.getPhysicalFields=ne.getDimensions=ne.isPhysical=ne.isDimensional=ne.isAtomicField=ne.isTurtleDef=ne.getIdentifier=ne.isFieldStructDef=ne.isFieldTimeBased=ne.isFieldTypeDef=ne.isSQLBlockStruct=ne.mergeEvalSpaces=ne.isLiteral=ne.isSQLFragment=ne.isJoinOn=ne.isMatrixOperation=void 0;function RP(t){return t.value!==void 0}ne.isValueParameter=RP;function efe(t){return t.condition!==void 0}ne.isConditionParameter=efe;function tfe(t){return RP(t)||t.condition!==null}ne.paramHasValue=tfe;function nfe(t){return(t==null?void 0:t.type)==="outputField"}ne.isOutputFieldFragment=nfe;function rfe(t){return(t==null?void 0:t.type)==="filterExpression"}ne.isFilterFragment=rfe;function ife(t){return(t==null?void 0:t.type)==="dialect"}ne.isDialectFragment=ife;function OP(t){return(t==null?void 0:t.type)==="aggregate"}ne.isAggregateFragment=OP;function sfe(t){return OP(t)&&["sum","avg","count"].includes(t.function)}ne.isAsymmetricFragment=sfe;function ofe(t){const e=t==null?void 0:t.type;return e==="all"||e==="exclude"}ne.isUngroupFragment=ofe;function ufe(t){return(t==null?void 0:t.type)==="function_parameter"}ne.isFunctionParameterFragment=ufe;function afe(t){return(t==null?void 0:t.type)==="function_call"}ne.isFunctionCallFragment=afe;function lfe(t){return(t==null?void 0:t.type)==="sql_expression"}ne.isSQLExpressionFragment=lfe;function cfe(t){return(t==null?void 0:t.type)==="spread"}ne.isSpreadFragment=cfe;function ffe(t){return(t==null?void 0:t.type)==="field"}ne.isFieldFragment=ffe;function xfe(t){return(t==null?void 0:t.type)==="sql-string"}ne.isSqlStringFragment=xfe;function dfe(t){return(t==null?void 0:t.type)==="source-reference"}ne.isSourceReferenceFragment=dfe;function hfe(t){return(t==null?void 0:t.type)==="parameter"}ne.isParameterFragment=hfe;function pfe(t){return(t==null?void 0:t.type)==="applyVal"}ne.isApplyValue=pfe;function gfe(t){return(t==null?void 0:t.type)==="apply"}ne.isApplyFragment=gfe;function mfe(t,...e){const n=[];let r;for(r=0;r<e.length;r++){const i=e[r];t[r].length>0&&n.push(t[r]),typeof i=="string"?n.push(i):n.push(...i)}return t[r].length>0&&n.push(t[r]),n}ne.mkExpr=mfe;function yfe(t){return t===void 0||t==="scalar"}ne.expressionIsScalar=yfe;function Efe(t){return t==="aggregate"||t==="ungrouped_aggregate"}ne.expressionIsAggregate=Efe;function Afe(t){return t==="ungrouped_aggregate"}ne.expressionIsUngroupedAggregate=Afe;function vfe(t){return t==="aggregate"||t==="ungrouped_aggregate"||t==="aggregate_analytic"}ne.expressionInvolvesAggregate=vfe;function Sfe(t){return t==="aggregate"||t==="scalar_analytic"||t==="aggregate_analytic"||t==="ungrouped_aggregate"}ne.expressionIsCalculation=Sfe;function _fe(t){return t==="aggregate_analytic"||t==="scalar_analytic"}ne.expressionIsAnalytic=_fe;function NP(t){return{scalar:0,aggregate:1,ungrouped_aggregate:2,scalar_analytic:2,aggregate_analytic:3}[t]}function Cfe(t,e){return t===e||NP(t)<NP(e)}ne.isExpressionTypeLEQ=Cfe;function DP(t,e){let n="scalar";return(t==="aggregate"||e==="aggregate")&&(n="aggregate"),(t==="ungrouped_aggregate"||e==="ungrouped_aggregate")&&(n="ungrouped_aggregate"),(t==="scalar_analytic"||e==="scalar_analytic")&&(n="scalar_analytic"),(t==="aggregate_analytic"||e==="aggregate_analytic")&&(n="aggregate_analytic"),(t==="scalar_analytic"&&e==="aggregate"||t==="aggregate"&&e==="scalar_analytic")&&(n="aggregate_analytic"),n}ne.maxExpressionType=DP;function bfe(t){return t.reduce(DP,"scalar")}ne.maxOfExpressionTypes=bfe;function FP(t){return t.e!==void 0}ne.hasExpression=FP;function Tfe(t){return t==="date"||t==="timestamp"}ne.isTimeFieldType=Tfe;function OR(t){return["string","number","date","timestamp","boolean","json","unsupported","error"].includes(t)}ne.isAtomicFieldType=OR;function Rfe(t){return["string","number","date","timestamp","boolean","json"].includes(t)}ne.isCastType=Rfe;function Ofe(t){return OR(t.type)&&!FP(t)?!0:t.type==="struct"&&(t.structSource.type==="inline"||t.structSource.type==="nested")}ne.FieldIsIntrinsic=Ofe;function wP(t){return["day","week","month","quarter","year"].includes(t)}ne.isDateUnit=wP;function LP(t){return wP(t)||["hour","minute","second"].includes(t)}ne.isTimestampUnit=LP;function Nfe(t){return LP(t)||t==="day_of_week"||t==="day_of_year"}ne.isExtractUnit=Nfe;var IP;(function(t){t.Date="date",t.Timestamp="timestamp",t.Number="number",t.String="string"})(IP||(ne.ValueType=IP={}));function Dfe(t){return t===void 0?!1:t.by==="name"}ne.isByName=Dfe;function Ffe(t){return t===void 0?!1:t.by==="name"}ne.isByExpression=Ffe;function wfe(t){return typeof t!="string"&&t.type==="struct"}ne.refIsStructDef=wfe;function $P(t){return t.type==="reduce"}ne.isReduceSegment=$P;function Lfe(t){return t.type==="partial"}ne.isPartialSegment=Lfe;function BP(t){return t.type==="project"}ne.isProjectSegment=BP;function Ife(t){return BP(t)||$P(t)}ne.isQuerySegment=Ife;function $fe(t){return t.rows!==void 0}ne.isSamplingRows=$fe;function Bfe(t){return t.percent!==void 0}ne.isSamplingPercent=Bfe;function kfe(t){return t.enable!==void 0}ne.isSamplingEnable=kfe;function Pfe(t){return t.type==="raw"}ne.isRawSegment=Pfe;function Mfe(t){return t.type==="index"}ne.isIndexSegment=Mfe;function jfe(t){return["left","right","full","inner"].includes(t)}ne.isMatrixOperation=jfe;function Ufe(t){return["one","many","cross"].includes(t.type)}ne.isJoinOn=Ufe;function qfe(t){return t.sql!==void 0}ne.isSQLFragment=qfe;function zfe(t){return t==="literal"}ne.isLiteral=zfe;function Hfe(...t){return t.every(e=>e==="constant"||e==="literal")?"constant":t.every(e=>e==="output"||e==="constant"||e==="literal")?"output":"input"}ne.mergeEvalSpaces=Hfe;function Qfe(t){const e=t.structSource;return e.type==="sql"&&e.method==="subquery"}ne.isSQLBlockStruct=Qfe;function kP(t){return t.type==="string"||t.type==="date"||t.type==="number"||t.type==="timestamp"||t.type==="boolean"||t.type==="json"}ne.isFieldTypeDef=kP;function Gfe(t){return t.type==="date"||t.type==="timestamp"}ne.isFieldTimeBased=Gfe;function PP(t){return t.type==="struct"}ne.isFieldStructDef=PP;function Wfe(t){return t.as!==void 0?t.as:t.name}ne.getIdentifier=Wfe;function Vfe(t){return t.type==="turtle"}ne.isTurtleDef=Vfe;function Yfe(t){return OR(t.type)}ne.isAtomicField=Yfe;function MP(t){var e;return"resultMetadata"in t?((e=t.resultMetadata)===null||e===void 0?void 0:e.fieldKind)==="dimension":!1}ne.isDimensional=MP;function jP(t){return kP(t)&&t.e===void 0||PP(t)&&(t.structSource.type==="nested"||t.structSource.type==="inline")}ne.isPhysical=jP;function Kfe(t){return t.fields.filter(MP)}ne.getDimensions=Kfe;function Xfe(t){return t.fields.filter(jP)}ne.getPhysicalFields=Xfe;function Jfe(t){var e,n;return"resultMetadata"in t?((e=t.resultMetadata)===null||e===void 0?void 0:e.fieldKind)==="measure"||((n=t.resultMetadata)===null||n===void 0?void 0:n.fieldKind)==="struct":!1}ne.isMeasureLike=Jfe;function Zfe(t,e){return e.type==="string"}ne.isValueString=Zfe;function exe(t,e){return e.type==="number"}ne.isValueNumber=exe;function txe(t,e){return e.type==="boolean"}ne.isValueBoolean=txe;function nxe(t,e){return e.type==="timestamp"}ne.isValueTimestamp=nxe;function rxe(t,e){return e.type==="date"}ne.isValueDate=rxe,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.Dialect=t.qtz=t.inDays=t.dayIndex=t.isDialectFieldStruct=void 0;const e=ne;function n(u){return u.type==="struct"}t.isDialectFieldStruct=n;const r=["microsecond","millisecond","second","minute","hour","day","week","month","quarter","year"];t.dayIndex=r.indexOf("day");function i(u){return r.indexOf(u)>=t.dayIndex}t.inDays=i;function s(u){const a=u.queryTimezone;if(!(a===void 0||a===u.systemTimezone))return a}t.qtz=s;class o{constructor(){this.cantPartitionWindowFunctionsOnExpressions=!1,this.supportsPipelinesInViews=!0,this.supportsArraysInData=!0,this.readsNestedData=!0,this.orderByClause="ordinal"}sqlFinalStage(a,l){throw new Error("Dialect has no final Stage but called Anyway")}sqlDateToString(a){return this.castToString(`DATE(${a})`)}ignoreInProject(a){return!1}sqlLiteralNumber(a){return a}dialectExpr(a,l){switch(l.function){case"now":return this.sqlNow();case"timeDiff":return this.sqlMeasureTime(l.left,l.right,l.units);case"delta":return this.sqlAlterTime(l.op,l.base,l.delta,l.units);case"trunc":return this.sqlTrunc(a,l.expr,l.units);case"extract":return this.sqlExtract(a,l.expr,l.units);case"cast":return this.sqlCast(a,l);case"regexpMatch":return this.sqlRegexpMatch(l.expr,l.regexp);case"div":return this.divisionIsInteger?(0,e.mkExpr)`${l.numerator}*1.0/${l.denominator}`:(0,e.mkExpr)`${l.numerator}/${l.denominator}`;case"timeLiteral":return[this.sqlLiteralTime(a,l.literal,l.literalType,l.timezone)];case"stringLiteral":return[this.sqlLiteralString(l.literal)];case"numberLiteral":return[this.sqlLiteralNumber(l.literal)];case"regexpLiteral":return[this.sqlLiteralRegexp(l.literal)]}}sqlSumDistinct(a,l,c){return"sqlSumDistinct called but not implemented"}sqlAggDistinct(a,l,c){return"sqlAggDistinct called but not implemented"}sqlSampleTable(a,l){if(l!==void 0)throw new Error(`Sampling is not supported on dialect ${this.name}.`);return a}sqlOrderBy(a){return`ORDER BY ${a.join(",")}`}sqlTzStr(a){return`"${a.queryTimezone}"`}sqlMakeUnnestKey(a,l){return this.concat(a,"'x'",l)}}t.Dialect=o}(ef);var NR={},U1={},Wt={},kE,ixe=new Uint8Array(16);function UP(){if(!kE&&(kE=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<"u"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),!kE))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return kE(ixe)}const sxe=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function PE(t){return typeof t=="string"&&sxe.test(t)}for(var br=[],DR=0;DR<256;++DR)br.push((DR+256).toString(16).substr(1));function ME(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=(br[t[e+0]]+br[t[e+1]]+br[t[e+2]]+br[t[e+3]]+"-"+br[t[e+4]]+br[t[e+5]]+"-"+br[t[e+6]]+br[t[e+7]]+"-"+br[t[e+8]]+br[t[e+9]]+"-"+br[t[e+10]]+br[t[e+11]]+br[t[e+12]]+br[t[e+13]]+br[t[e+14]]+br[t[e+15]]).toLowerCase();if(!PE(n))throw TypeError("Stringified UUID is invalid");return n}var qP,FR,wR=0,LR=0;function oxe(t,e,n){var r=e&&n||0,i=e||new Array(16);t=t||{};var s=t.node||qP,o=t.clockseq!==void 0?t.clockseq:FR;if(s==null||o==null){var u=t.random||(t.rng||UP)();s==null&&(s=qP=[u[0]|1,u[1],u[2],u[3],u[4],u[5]]),o==null&&(o=FR=(u[6]<<8|u[7])&16383)}var a=t.msecs!==void 0?t.msecs:Date.now(),l=t.nsecs!==void 0?t.nsecs:LR+1,c=a-wR+(l-LR)/1e4;if(c<0&&t.clockseq===void 0&&(o=o+1&16383),(c<0||a>wR)&&t.nsecs===void 0&&(l=0),l>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");wR=a,LR=l,FR=o,a+=122192928e5;var f=((a&268435455)*1e4+l)%4294967296;i[r++]=f>>>24&255,i[r++]=f>>>16&255,i[r++]=f>>>8&255,i[r++]=f&255;var x=a/4294967296*1e4&268435455;i[r++]=x>>>8&255,i[r++]=x&255,i[r++]=x>>>24&15|16,i[r++]=x>>>16&255,i[r++]=o>>>8|128,i[r++]=o&255;for(var h=0;h<6;++h)i[r+h]=s[h];return e||ME(i)}function zP(t){if(!PE(t))throw TypeError("Invalid UUID");var e,n=new Uint8Array(16);return n[0]=(e=parseInt(t.slice(0,8),16))>>>24,n[1]=e>>>16&255,n[2]=e>>>8&255,n[3]=e&255,n[4]=(e=parseInt(t.slice(9,13),16))>>>8,n[5]=e&255,n[6]=(e=parseInt(t.slice(14,18),16))>>>8,n[7]=e&255,n[8]=(e=parseInt(t.slice(19,23),16))>>>8,n[9]=e&255,n[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,n[11]=e/4294967296&255,n[12]=e>>>24&255,n[13]=e>>>16&255,n[14]=e>>>8&255,n[15]=e&255,n}function uxe(t){t=unescape(encodeURIComponent(t));for(var e=[],n=0;n<t.length;++n)e.push(t.charCodeAt(n));return e}var axe="6ba7b810-9dad-11d1-80b4-00c04fd430c8",lxe="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function HP(t,e,n){function r(i,s,o,u){if(typeof i=="string"&&(i=uxe(i)),typeof s=="string"&&(s=zP(s)),s.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var a=new Uint8Array(16+i.length);if(a.set(s),a.set(i,s.length),a=n(a),a[6]=a[6]&15|e,a[8]=a[8]&63|128,o){u=u||0;for(var l=0;l<16;++l)o[u+l]=a[l];return o}return ME(a)}try{r.name=t}catch{}return r.DNS=axe,r.URL=lxe,r}function cxe(t){if(typeof t=="string"){var e=unescape(encodeURIComponent(t));t=new Uint8Array(e.length);for(var n=0;n<e.length;++n)t[n]=e.charCodeAt(n)}return fxe(xxe(dxe(t),t.length*8))}function fxe(t){for(var e=[],n=t.length*32,r="0123456789abcdef",i=0;i<n;i+=8){var s=t[i>>5]>>>i%32&255,o=parseInt(r.charAt(s>>>4&15)+r.charAt(s&15),16);e.push(o)}return e}function QP(t){return(t+64>>>9<<4)+14+1}function xxe(t,e){t[e>>5]|=128<<e%32,t[QP(e)-1]=e;for(var n=1732584193,r=-271733879,i=-1732584194,s=271733878,o=0;o<t.length;o+=16){var u=n,a=r,l=i,c=s;n=kr(n,r,i,s,t[o],7,-680876936),s=kr(s,n,r,i,t[o+1],12,-389564586),i=kr(i,s,n,r,t[o+2],17,606105819),r=kr(r,i,s,n,t[o+3],22,-1044525330),n=kr(n,r,i,s,t[o+4],7,-176418897),s=kr(s,n,r,i,t[o+5],12,1200080426),i=kr(i,s,n,r,t[o+6],17,-1473231341),r=kr(r,i,s,n,t[o+7],22,-45705983),n=kr(n,r,i,s,t[o+8],7,1770035416),s=kr(s,n,r,i,t[o+9],12,-1958414417),i=kr(i,s,n,r,t[o+10],17,-42063),r=kr(r,i,s,n,t[o+11],22,-1990404162),n=kr(n,r,i,s,t[o+12],7,1804603682),s=kr(s,n,r,i,t[o+13],12,-40341101),i=kr(i,s,n,r,t[o+14],17,-1502002290),r=kr(r,i,s,n,t[o+15],22,1236535329),n=Pr(n,r,i,s,t[o+1],5,-165796510),s=Pr(s,n,r,i,t[o+6],9,-1069501632),i=Pr(i,s,n,r,t[o+11],14,643717713),r=Pr(r,i,s,n,t[o],20,-373897302),n=Pr(n,r,i,s,t[o+5],5,-701558691),s=Pr(s,n,r,i,t[o+10],9,38016083),i=Pr(i,s,n,r,t[o+15],14,-660478335),r=Pr(r,i,s,n,t[o+4],20,-405537848),n=Pr(n,r,i,s,t[o+9],5,568446438),s=Pr(s,n,r,i,t[o+14],9,-1019803690),i=Pr(i,s,n,r,t[o+3],14,-187363961),r=Pr(r,i,s,n,t[o+8],20,1163531501),n=Pr(n,r,i,s,t[o+13],5,-1444681467),s=Pr(s,n,r,i,t[o+2],9,-51403784),i=Pr(i,s,n,r,t[o+7],14,1735328473),r=Pr(r,i,s,n,t[o+12],20,-1926607734),n=Mr(n,r,i,s,t[o+5],4,-378558),s=Mr(s,n,r,i,t[o+8],11,-2022574463),i=Mr(i,s,n,r,t[o+11],16,1839030562),r=Mr(r,i,s,n,t[o+14],23,-35309556),n=Mr(n,r,i,s,t[o+1],4,-1530992060),s=Mr(s,n,r,i,t[o+4],11,1272893353),i=Mr(i,s,n,r,t[o+7],16,-155497632),r=Mr(r,i,s,n,t[o+10],23,-1094730640),n=Mr(n,r,i,s,t[o+13],4,681279174),s=Mr(s,n,r,i,t[o],11,-358537222),i=Mr(i,s,n,r,t[o+3],16,-722521979),r=Mr(r,i,s,n,t[o+6],23,76029189),n=Mr(n,r,i,s,t[o+9],4,-640364487),s=Mr(s,n,r,i,t[o+12],11,-421815835),i=Mr(i,s,n,r,t[o+15],16,530742520),r=Mr(r,i,s,n,t[o+2],23,-995338651),n=jr(n,r,i,s,t[o],6,-198630844),s=jr(s,n,r,i,t[o+7],10,1126891415),i=jr(i,s,n,r,t[o+14],15,-1416354905),r=jr(r,i,s,n,t[o+5],21,-57434055),n=jr(n,r,i,s,t[o+12],6,1700485571),s=jr(s,n,r,i,t[o+3],10,-1894986606),i=jr(i,s,n,r,t[o+10],15,-1051523),r=jr(r,i,s,n,t[o+1],21,-2054922799),n=jr(n,r,i,s,t[o+8],6,1873313359),s=jr(s,n,r,i,t[o+15],10,-30611744),i=jr(i,s,n,r,t[o+6],15,-1560198380),r=jr(r,i,s,n,t[o+13],21,1309151649),n=jr(n,r,i,s,t[o+4],6,-145523070),s=jr(s,n,r,i,t[o+11],10,-1120210379),i=jr(i,s,n,r,t[o+2],15,718787259),r=jr(r,i,s,n,t[o+9],21,-343485551),n=s0(n,u),r=s0(r,a),i=s0(i,l),s=s0(s,c)}return[n,r,i,s]}function dxe(t){if(t.length===0)return[];for(var e=t.length*8,n=new Uint32Array(QP(e)),r=0;r<e;r+=8)n[r>>5]|=(t[r/8]&255)<<r%32;return n}function s0(t,e){var n=(t&65535)+(e&65535),r=(t>>16)+(e>>16)+(n>>16);return r<<16|n&65535}function hxe(t,e){return t<<e|t>>>32-e}function jE(t,e,n,r,i,s){return s0(hxe(s0(s0(e,t),s0(r,s)),i),n)}function kr(t,e,n,r,i,s,o){return jE(e&n|~e&r,t,e,i,s,o)}function Pr(t,e,n,r,i,s,o){return jE(e&r|n&~r,t,e,i,s,o)}function Mr(t,e,n,r,i,s,o){return jE(e^n^r,t,e,i,s,o)}function jr(t,e,n,r,i,s,o){return jE(n^(e|~r),t,e,i,s,o)}var pxe=HP("v3",48,cxe);const gxe=pxe;function mxe(t,e,n){t=t||{};var r=t.random||(t.rng||UP)();if(r[6]=r[6]&15|64,r[8]=r[8]&63|128,e){n=n||0;for(var i=0;i<16;++i)e[n+i]=r[i];return e}return ME(r)}function yxe(t,e,n,r){switch(t){case 0:return e&n^~e&r;case 1:return e^n^r;case 2:return e&n^e&r^n&r;case 3:return e^n^r}}function IR(t,e){return t<<e|t>>>32-e}function Exe(t){var e=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof t=="string"){var r=unescape(encodeURIComponent(t));t=[];for(var i=0;i<r.length;++i)t.push(r.charCodeAt(i))}else Array.isArray(t)||(t=Array.prototype.slice.call(t));t.push(128);for(var s=t.length/4+2,o=Math.ceil(s/16),u=new Array(o),a=0;a<o;++a){for(var l=new Uint32Array(16),c=0;c<16;++c)l[c]=t[a*64+c*4]<<24|t[a*64+c*4+1]<<16|t[a*64+c*4+2]<<8|t[a*64+c*4+3];u[a]=l}u[o-1][14]=(t.length-1)*8/Math.pow(2,32),u[o-1][14]=Math.floor(u[o-1][14]),u[o-1][15]=(t.length-1)*8&4294967295;for(var f=0;f<o;++f){for(var x=new Uint32Array(80),h=0;h<16;++h)x[h]=u[f][h];for(var p=16;p<80;++p)x[p]=IR(x[p-3]^x[p-8]^x[p-14]^x[p-16],1);for(var m=n[0],g=n[1],y=n[2],E=n[3],A=n[4],v=0;v<80;++v){var S=Math.floor(v/20),C=IR(m,5)+yxe(S,g,y,E)+A+e[S]+x[v]>>>0;A=E,E=y,y=IR(g,30)>>>0,g=m,m=C}n[0]=n[0]+m>>>0,n[1]=n[1]+g>>>0,n[2]=n[2]+y>>>0,n[3]=n[3]+E>>>0,n[4]=n[4]+A>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,n[0]&255,n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,n[1]&255,n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,n[2]&255,n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,n[3]&255,n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,n[4]&255]}var Axe=HP("v5",80,Exe);const vxe=Axe,Sxe="00000000-0000-0000-0000-000000000000";function _xe(t){if(!PE(t))throw TypeError("Invalid UUID");return parseInt(t.substr(14,1),16)}const GP=CP(Object.freeze(Object.defineProperty({__proto__:null,NIL:Sxe,parse:zP,stringify:ME,v1:oxe,v3:gxe,v4:mxe,v5:vxe,validate:PE,version:_xe},Symbol.toStringTag,{value:"Module"})));Object.defineProperty(Wt,"__esModule",{value:!0}),Wt.range=Wt.joinWith=Wt.exprWalk=Wt.exprMap=Wt.generateHash=Wt.AndChain=Wt.generateSQLStringLiteral=Wt.indent=void 0;const Cxe=GP;function bxe(t){const e=/(^|\n)/g,n=/\n {2}$/;return t.replace(e,"$1 ").replace(n,`
2
2
  `)}Wt.indent=bxe;function Txe(t){return`'${t.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`}Wt.generateSQLStringLiteral=Txe;class $R{constructor(e){this.clauses=[],e&&this.clauses.push(e)}clone(){const e=new $R;return e.addChain(this),e}add(e){return this.clauses.push(e),this}addChain(e){return this.clauses.push(...e.clauses),this}empty(){return this.clauses.length===0}present(){return this.clauses.length>0}sqlOr(){return this.empty()?"":this.clauses.map(e=>`(${e})`).join("OR ")+`
3
3
  `}sql(e){if(this.empty())return"";let n="",r="";return e&&(n=e.toUpperCase()+" ",r=`
4
4
  `),this.clauses.length===1?n+this.clauses[0]+r:n+this.clauses.map(i=>`(${i})`).join(`
@@ -261,7 +261,7 @@ ${(0,x2e.indent)(n)}
261
261
  WITHIN`.split(/\s/)}quoteTablePath(e){return e}sqlGroupSetTable(e){return`CROSS JOIN (SELECT row_number() OVER() -1 group_set FROM UNNEST(SEQUENCE(0,${e})))`}dialectExpr(e,n){switch(n.function){case"div":return(0,wn.mkExpr)`CAST(${n.numerator} AS DOUBLE)/${n.denominator}`}return super.dialectExpr(e,n)}sqlAnyValue(e,n){return`ANY_VALUE(CASE WHEN group_set=${e} THEN ${n} END)`}buildTypeExpression(e){const n=[];for(const r of e)if((0,pM.isDialectFieldStruct)(r)){let i=`ROW(${this.buildTypeExpression(r.nestedStruct)})`;r.isArray&&(i=`array(${i})`),n.push(`${r.sqlOutputName} ${i}`)}else n.push(`${r.sqlOutputName} ${E2e[r.type]||r.type}`);return n.join(`,
262
262
  `)}sqlAggregateTurtle(e,n,r,i){const s=n.map(a=>a.sqlExpression).join(`,
263
263
  `),o=this.buildTypeExpression(n);let u=`ARRAY_AGG(CAST(ROW(${s}) AS ROW(${o})) ${r}) FILTER (WHERE group_set=${e})`;return i!==void 0&&(u=`SLICE(${u}, 1, ${i})`),u}sqlAnyValueTurtle(e,n){const r=n.map(i=>`
264
- '${i.sqlOutputName}' VALUE ${i.sqlExpression}`).join(", ");return`ANY_VALUE(CASE WHEN group_set=${e} THEN JSON_OBJECT(${r}))`}sqlAnyValueLastTurtle(e,n,r){return`ANY_VALUE(CASE WHEN group_set=${n} THEN ${e} END) as ${r}`}sqlCoaleseMeasuresInline(e,n){const r=n.map(o=>o.sqlExpression).join(", "),i=n.map(o=>"NULL").join(", "),s=this.buildTypeExpression(n);return`COALESCE(ANY_VALUE(CASE WHEN group_set=${e} THEN CAST(ROW(${r}) AS ROW(${s})) END), CAST(ROW(${i}) AS ROW(${s})))`}sqlUnnestAlias(e,n,r,i,s,o){const u=r.map(a=>this.sqlMaybeQuoteIdentifier(a.sqlOutputName));return s?i?`,UNNEST(ARRAY(( SELECT AS STRUCT row_number() over() as __row_id, value FROM UNNEST(${e}) value))) as ${n}`:`,UNNEST(ARRAY((SELECT AS STRUCT value FROM unnest(${e}) value))) as ${n}`:i?`,UNNEST(zip_with(a, SEQUENCE(1,cardinality(a)), (r,__row_id) -> (r, __row_id))) as ${n}_outer(${n},__row_id)`:`,UNNEST(${e}) as ${n}(${u.join(", ")})`}sqlSumDistinctHashedKey(e){e=`CAST(${e} AS VARCHAR)`;const n=`cast(from_base(substr(to_hex(md5(to_utf8(${e}))), 1, 15),16) as DECIMAL) * DECIMAL '4294967296' `,r=`cast(from_base(substr(to_hex(md5(to_utf8(${e}))), 16, 8),16) as DECIMAL) `;return`(${n} + ${r}) * 0.000000001`}sqlGenerateUUID(){return"UUID()"}sqlFieldReference(e,n,r,i,s){return n==="__row_id"?`${e}_outer.__row_id`:`${e}.${n}`}sqlUnnestPipelineHead(e,n){let r=n;return e&&(r=`[${r}]`),`UNNEST(${r})`}sqlCreateFunction(e,n){return`CREATE TEMPORARY FUNCTION ${e}(__param ANY TYPE) AS ((
264
+ '${i.sqlOutputName}' VALUE ${i.sqlExpression}`).join(", ");return`ANY_VALUE(CASE WHEN group_set=${e} THEN JSON_OBJECT(${r}))`}sqlAnyValueLastTurtle(e,n,r){return`ANY_VALUE(CASE WHEN group_set=${n} THEN ${e} END) as ${r}`}sqlCoaleseMeasuresInline(e,n){const r=n.map(o=>o.sqlExpression).join(", "),i=n.map(o=>"NULL").join(", "),s=this.buildTypeExpression(n);return`COALESCE(ANY_VALUE(CASE WHEN group_set=${e} THEN CAST(ROW(${r}) AS ROW(${s})) END), CAST(ROW(${i}) AS ROW(${s})))`}sqlUnnestAlias(e,n,r,i,s,o){const u=r.map(a=>this.sqlMaybeQuoteIdentifier(a.sqlOutputName));return s?i?`,UNNEST(zip(${e}, SEQUENCE(1,cardinality(${e})))) as words_0(value,__row_id_from_${n})`:`,UNNEST(transform(${e}, x -> ROW(x) )) as ${n}(value)`:i?`,UNNEST(zip_with(a, SEQUENCE(1,cardinality(a)), (r,__row_id) -> (r, __row_id))) as ${n}_outer(${n},__row_id_from_${n})`:`,UNNEST(${e}) as ${n}(${u.join(", ")})`}sqlSumDistinctHashedKey(e){e=`CAST(${e} AS VARCHAR)`;const n=`cast(from_base(substr(to_hex(md5(to_utf8(${e}))), 1, 15),16) as DECIMAL) * DECIMAL '4294967296' `,r=`cast(from_base(substr(to_hex(md5(to_utf8(${e}))), 16, 8),16) as DECIMAL) `;return`(${n} + ${r}) * 0.000000001`}sqlGenerateUUID(){return"UUID()"}sqlFieldReference(e,n,r,i,s){return n==="__row_id"?`__row_id_from_${e}`:`${e}.${n}`}sqlUnnestPipelineHead(e,n){let r=n;return e&&(r=`[${r}]`),`UNNEST(${r})`}sqlCreateFunction(e,n){return`CREATE TEMPORARY FUNCTION ${e}(__param ANY TYPE) AS ((
265
265
  ${(0,hM.indent)(n)}));
266
266
  `}sqlCreateTableAsSelect(e,n){return`
267
267
  CREATE TABLE IF NOT EXISTS \`${e}\`
@@ -272,7 +272,7 @@ AS (
272
272
  ${(0,hM.indent)(n)}
273
273
  );
274
274
  `}sqlCreateFunctionCombineLastStage(e){return`SELECT ARRAY((SELECT AS STRUCT * FROM ${e}))
275
- `}sqlSelectAliasAsStruct(e){return`(SELECT AS STRUCT ${e}.*)`}sqlMaybeQuoteIdentifier(e){return'"'+e+'"'}sqlNow(){return(0,wn.mkExpr)`CURRENT_TIMESTAMP()`}sqlTrunc(e,n,r){const i=rv(e),s=i?`, "${i}"`:"";return n.valueType==="date"?m2e(r)?(0,wn.mkExpr)`DATE_TRUNC(${n.value},${r})`:(0,wn.mkExpr)`TIMESTAMP(${n.value}${s})`:(0,wn.mkExpr)`TIMESTAMP_TRUNC(${n.value},${r}${s})`}sqlExtract(e,n,r){const i=y2e[r]||r,s=n.valueType==="timestamp"&&rv(e),o=s?` AT TIME ZONE '${s}'`:"";return(0,wn.mkExpr)`EXTRACT(${i} FROM ${n.value}${o})`}sqlAlterTime(e,n,r,i){let s=n.value,o=n.valueType;i!=="day"&&gM(i)?(o="timestamp",n.valueType!=="timestamp"&&(s=(0,wn.mkExpr)`TIMESTAMP(${s})`)):n.valueType==="timestamp"&&(s=(0,wn.mkExpr)`DATETIME(${s})`,o="datetime");const u=o.toUpperCase()+(e==="+"?"_ADD":"_SUB"),a=(0,wn.mkExpr)`${u}(${s}, INTERVAL ${r} ${i})`;return o===n.valueType?a:(0,wn.mkExpr)`${n.valueType.toUpperCase()}(${a})`}ignoreInProject(e){return e==="_PARTITIONTIME"}sqlCast(e,n){const r=`${n.srcType}::${n.dstType}`,i=rv(e);if(r==="timestamp::date"&&i)return(0,wn.mkExpr)`DATE(${n.expr},'${i}')`;if(r==="date::timestamp"&&i)return(0,wn.mkExpr)`TIMESTAMP(${n.expr}, '${i}')`;if(n.srcType!==n.dstType){const s=typeof n.dstType=="string"?this.malloyTypeToSQLType({type:n.dstType}):n.dstType.raw,o=n.safe?"TRY_CAST":"CAST";return(0,wn.mkExpr)`${o}(${n.expr} AS ${s})`}return n.expr}sqlRegexpMatch(e,n){return(0,wn.mkExpr)`REGEXP_LIKE(${e}, ${n})`}sqlLiteralTime(e,n,r,i){if(r==="date")return`DATE('${n}')`;if(r==="timestamp"){let s=`'${n}'`;const o=i||rv(e);return o&&o!=="UTC"&&(s+=`,'${o}'`),`TIMESTAMP(${s})`}else throw new Error(`Unsupported Literal time format ${r}`)}sqlMeasureTime(e,n,r){const i={microsecond:{use:"microsecond",ratio:1},millisecond:{use:"microsecond",ratio:1e3},second:{use:"millisecond",ratio:1e3},minute:{use:"second",ratio:60},hour:{use:"minute",ratio:60},day:{use:"hour",ratio:24},week:{use:"day",ratio:7}};let s=e.value,o=n.value;if(i[r]){const{use:u,ratio:a}=i[r];if(!gM(u))throw new Error(`Measure in '${u} not implemented`);if(e.valueType!==n.valueType)throw new Error("Can't measure difference between different types");e.valueType==="date"&&(s=(0,wn.mkExpr)`TIMESTAMP(${s})`,o=(0,wn.mkExpr)`TIMESTAMP(${o})`);let l=(0,wn.mkExpr)`TIMESTAMP_DIFF(${o},${s},${u})`;return a!==1&&(l=(0,wn.mkExpr)`FLOOR(${l}/${a.toString()}.0)`),l}throw new Error(`Measure '${r} not implemented`)}sqlSampleTable(e,n){if(n!==void 0){if((0,wn.isSamplingEnable)(n)&&n.enable&&(n=this.defaultSampling),(0,wn.isSamplingRows)(n))throw new Error("StandardSQL doesn't support sampling by rows only percent");if((0,wn.isSamplingPercent)(n))return`(SELECT * FROM ${e} TABLESAMPLE SYSTEM (${n.percent} PERCENT))`}return e}sqlLiteralString(e){return"'"+e.replace(/'/g,"''")+"'"}sqlLiteralRegexp(e){return"'"+e.replace(/'/g,"''")+"'"}getGlobalFunctionDef(e){return g2e.TRINO_FUNCTIONS.get(e)}malloyTypeToSQLType(e){return e.type==="number"?e.numberType==="integer"?"BIGINT":"DOUBLE":e.type==="string"?"VARCHAR":e.type}sqlTypeToMalloyType(e){}castToString(e){return`CAST(${e} as VARCHAR)`}concat(...e){return e.join(" || ")}validateTypeName(e){return e.match(/^[A-Za-z\s(),<>0-9]*$/)!==null}}nv.TrinoDialect=A2e,function(t){var e=N&&N.__createBinding||(Object.create?function(r,i,s,o){o===void 0&&(o=s);var u=Object.getOwnPropertyDescriptor(i,s);(!u||("get"in u?!i.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return i[s]}}),Object.defineProperty(r,o,u)}:function(r,i,s,o){o===void 0&&(o=s),r[o]=i[s]}),n=N&&N.__exportStar||function(r,i){for(var s in r)s!=="default"&&!Object.prototype.hasOwnProperty.call(i,s)&&e(i,r,s)};Object.defineProperty(t,"__esModule",{value:!0}),n(nv,t)}(YR);var bu={};Object.defineProperty(bu,"__esModule",{value:!0}),bu.getDialectFunction=bu.registerDialect=bu.getDialect=void 0;const v2e=QR,S2e=zR,_2e=WR,C2e=NR,b2e=YR,KR=new Map;function T2e(t){const e=KR.get(t);if(e===void 0)throw new Error(`Unknown Dialect ${t}`);return e}bu.getDialect=T2e;function ih(t){KR.set(t.name,t)}bu.registerDialect=ih,ih(new S2e.PostgresDialect),ih(new C2e.StandardSQLDialect),ih(new v2e.DuckDBDialect),ih(new _2e.SnowflakeDialect),ih(new b2e.TrinoDialect);function mM(t,e){return t.params.length===e.params.length&&t.params.every((n,r)=>{const i=e.params[r];return n.isVariadic===i.isVariadic&&n.name===i.name&&n.allowedTypes.length===i.allowedTypes.length&&n.allowedTypes.every(s=>i.allowedTypes.some(o=>s.dataType===o.dataType&&s.expressionType===o.expressionType))})}function R2e(t,e){return mM(t,e)}function O2e(t,e){return t.returnType.dataType===e.returnType.dataType&&t.returnType.expressionType===e.returnType.expressionType}function N2e(t){const e={type:"function",name:t,overloads:[]};let n=!1;for(const r of KR.values()){const i=r.getGlobalFunctionDef(t);if(i){for(const s of i){let o=!1;for(const u of e.overloads)if(R2e(s,u)){if(!mM(s,u))throw new Error("params are compatible but not equal");if(!O2e(s,u))throw new Error("params match but return types differ!");u.dialect[r.name]={e:s.e,supportsOrderBy:s.supportsOrderBy,defaultOrderByArgIndex:s.defaultOrderByArgIndex,supportsLimit:s.supportsLimit},o=!0}o||e.overloads.push({returnType:s.returnType,params:s.params,dialect:{[r.name]:{e:s.e,supportsOrderBy:s.supportsOrderBy,defaultOrderByArgIndex:s.defaultOrderByArgIndex,supportsLimit:s.supportsLimit}},needsWindowOrderBy:s.needsWindowOrderBy,between:s.between,isSymmetric:s.isSymmetric})}n=!0}}return n?e:void 0}bu.getDialectFunction=N2e,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.FUNCTIONS=t.getDialectFunction=t.registerDialect=t.getDialect=t.TrinoDialect=t.SnowflakeDialect=t.DuckDBDialect=t.PostgresDialect=t.StandardSQLDialect=t.qtz=t.Dialect=t.sql=t.literal=t.params=t.param=t.sqlFragment=t.spread=t.maxScalar=t.minAggregate=t.minScalar=t.overload=t.makeParam=t.anyExprType=t.arg=void 0;var e=Se;Object.defineProperty(t,"arg",{enumerable:!0,get:function(){return e.arg}}),Object.defineProperty(t,"anyExprType",{enumerable:!0,get:function(){return e.anyExprType}}),Object.defineProperty(t,"makeParam",{enumerable:!0,get:function(){return e.makeParam}}),Object.defineProperty(t,"overload",{enumerable:!0,get:function(){return e.overload}}),Object.defineProperty(t,"minScalar",{enumerable:!0,get:function(){return e.minScalar}}),Object.defineProperty(t,"minAggregate",{enumerable:!0,get:function(){return e.minAggregate}}),Object.defineProperty(t,"maxScalar",{enumerable:!0,get:function(){return e.maxScalar}}),Object.defineProperty(t,"spread",{enumerable:!0,get:function(){return e.spread}}),Object.defineProperty(t,"sqlFragment",{enumerable:!0,get:function(){return e.sqlFragment}}),Object.defineProperty(t,"param",{enumerable:!0,get:function(){return e.param}}),Object.defineProperty(t,"params",{enumerable:!0,get:function(){return e.params}}),Object.defineProperty(t,"literal",{enumerable:!0,get:function(){return e.literal}}),Object.defineProperty(t,"sql",{enumerable:!0,get:function(){return e.sql}});var n=ef;Object.defineProperty(t,"Dialect",{enumerable:!0,get:function(){return n.Dialect}}),Object.defineProperty(t,"qtz",{enumerable:!0,get:function(){return n.qtz}});var r=NR;Object.defineProperty(t,"StandardSQLDialect",{enumerable:!0,get:function(){return r.StandardSQLDialect}});var i=zR;Object.defineProperty(t,"PostgresDialect",{enumerable:!0,get:function(){return i.PostgresDialect}});var s=QR;Object.defineProperty(t,"DuckDBDialect",{enumerable:!0,get:function(){return s.DuckDBDialect}});var o=WR;Object.defineProperty(t,"SnowflakeDialect",{enumerable:!0,get:function(){return o.SnowflakeDialect}});var u=YR;Object.defineProperty(t,"TrinoDialect",{enumerable:!0,get:function(){return u.TrinoDialect}});var a=bu;Object.defineProperty(t,"getDialect",{enumerable:!0,get:function(){return a.getDialect}}),Object.defineProperty(t,"registerDialect",{enumerable:!0,get:function(){return a.registerDialect}}),Object.defineProperty(t,"getDialectFunction",{enumerable:!0,get:function(){return a.getDialectFunction}});var l=tf;Object.defineProperty(t,"FUNCTIONS",{enumerable:!0,get:function(){return l.FUNCTIONS}})}(BE);var Tu={},vf={};Object.defineProperty(vf,"__esModule",{value:!0}),vf.QueryModel=vf.Segment=void 0;const D2e=BE,F2e=U1,je=ne,Tr=Wt;function yM(t){return t.map(e=>encodeURIComponent(e)).join("/")}function XR(t){return`'${t}'`}function EM(t){return t.replace(/[^a-zA-Z0-9_]/g,"_o_")}class w2e extends Set{add_use(e){if(e!==void 0)return this.add(e)}hasAsymetricFunctions(){return this.has("sum")||this.has("avg")||this.has("count")||this.has("generic_asymmetric_aggregate")}}class ep{constructor(e=!0,n){this.parent=n,this.withs=[],this.udfs=[],this.pdts=[],this.stagePrefix="__stage",this.useCTE=e}getName(e){return`${this.stagePrefix}${e}`}root(){return this.parent===void 0?this:this.parent.root()}addStage(e){return this.useCTE?(this.withs.push(e),this.getName(this.withs.length-1)):(this.withs[0]=e,(0,Tr.indent)(`
275
+ `}sqlSelectAliasAsStruct(e){return`(SELECT AS STRUCT ${e}.*)`}sqlMaybeQuoteIdentifier(e){return'"'+e+'"'}sqlNow(){return(0,wn.mkExpr)`CURRENT_TIMESTAMP()`}sqlTrunc(e,n,r){const i=rv(e),s=i?`, "${i}"`:"";return n.valueType==="date"?m2e(r)?(0,wn.mkExpr)`DATE_TRUNC(${n.value},${r})`:(0,wn.mkExpr)`TIMESTAMP(${n.value}${s})`:(0,wn.mkExpr)`TIMESTAMP_TRUNC(${n.value},${r}${s})`}sqlExtract(e,n,r){const i=y2e[r]||r,s=n.valueType==="timestamp"&&rv(e),o=s?` AT TIME ZONE '${s}'`:"";return(0,wn.mkExpr)`EXTRACT(${i} FROM ${n.value}${o})`}sqlAlterTime(e,n,r,i){let s=n.value,o=n.valueType;i!=="day"&&gM(i)?(o="timestamp",n.valueType!=="timestamp"&&(s=(0,wn.mkExpr)`TIMESTAMP(${s})`)):n.valueType==="timestamp"&&(s=(0,wn.mkExpr)`DATETIME(${s})`,o="datetime");const u=o.toUpperCase()+(e==="+"?"_ADD":"_SUB"),a=(0,wn.mkExpr)`${u}(${s}, INTERVAL ${r} ${i})`;return o===n.valueType?a:(0,wn.mkExpr)`${n.valueType.toUpperCase()}(${a})`}ignoreInProject(e){return e==="_PARTITIONTIME"}sqlCast(e,n){const r=`${n.srcType}::${n.dstType}`,i=rv(e);if(r==="timestamp::date"&&i)return(0,wn.mkExpr)`DATE(${n.expr},'${i}')`;if(r==="date::timestamp"&&i)return(0,wn.mkExpr)`TIMESTAMP(${n.expr}, '${i}')`;if(n.srcType!==n.dstType){const s=typeof n.dstType=="string"?this.malloyTypeToSQLType({type:n.dstType}):n.dstType.raw,o=n.safe?"TRY_CAST":"CAST";return(0,wn.mkExpr)`${o}(${n.expr} AS ${s})`}return n.expr}sqlRegexpMatch(e,n){return(0,wn.mkExpr)`REGEXP_LIKE(${e}, ${n})`}sqlLiteralTime(e,n,r,i){if(r==="date")return`DATE('${n}')`;if(r==="timestamp"){let s=`'${n}'`;const o=i||rv(e);return o&&o!=="UTC"&&(s+=`,'${o}'`),`TIMESTAMP(${s})`}else throw new Error(`Unsupported Literal time format ${r}`)}sqlMeasureTime(e,n,r){const i={microsecond:{use:"microsecond",ratio:1},millisecond:{use:"microsecond",ratio:1e3},second:{use:"millisecond",ratio:1e3},minute:{use:"second",ratio:60},hour:{use:"minute",ratio:60},day:{use:"hour",ratio:24},week:{use:"day",ratio:7}};let s=e.value,o=n.value;if(i[r]){const{use:u,ratio:a}=i[r];if(!gM(u))throw new Error(`Measure in '${u} not implemented`);if(e.valueType!==n.valueType)throw new Error("Can't measure difference between different types");e.valueType==="date"&&(s=(0,wn.mkExpr)`TIMESTAMP(${s})`,o=(0,wn.mkExpr)`TIMESTAMP(${o})`);let l=(0,wn.mkExpr)`TIMESTAMP_DIFF(${o},${s},${u})`;return a!==1&&(l=(0,wn.mkExpr)`FLOOR(${l}/${a.toString()}.0)`),l}throw new Error(`Measure '${r} not implemented`)}sqlSampleTable(e,n){if(n!==void 0){if((0,wn.isSamplingEnable)(n)&&n.enable&&(n=this.defaultSampling),(0,wn.isSamplingRows)(n))throw new Error("StandardSQL doesn't support sampling by rows only percent");if((0,wn.isSamplingPercent)(n))return`(SELECT * FROM ${e} TABLESAMPLE SYSTEM (${n.percent} PERCENT))`}return e}sqlLiteralString(e){return"'"+e.replace(/'/g,"''")+"'"}sqlLiteralRegexp(e){return"'"+e.replace(/'/g,"''")+"'"}getGlobalFunctionDef(e){return g2e.TRINO_FUNCTIONS.get(e)}malloyTypeToSQLType(e){return e.type==="number"?e.numberType==="integer"?"BIGINT":"DOUBLE":e.type==="string"?"VARCHAR":e.type}sqlTypeToMalloyType(e){}castToString(e){return`CAST(${e} as VARCHAR)`}concat(...e){return e.join(" || ")}sqlMakeUnnestKey(e,n){return`CAST(${e} as VARCHAR) || 'x' || CAST(${n} as VARCHAR)`}validateTypeName(e){return e.match(/^[A-Za-z\s(),<>0-9]*$/)!==null}}nv.TrinoDialect=A2e,function(t){var e=N&&N.__createBinding||(Object.create?function(r,i,s,o){o===void 0&&(o=s);var u=Object.getOwnPropertyDescriptor(i,s);(!u||("get"in u?!i.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return i[s]}}),Object.defineProperty(r,o,u)}:function(r,i,s,o){o===void 0&&(o=s),r[o]=i[s]}),n=N&&N.__exportStar||function(r,i){for(var s in r)s!=="default"&&!Object.prototype.hasOwnProperty.call(i,s)&&e(i,r,s)};Object.defineProperty(t,"__esModule",{value:!0}),n(nv,t)}(YR);var bu={};Object.defineProperty(bu,"__esModule",{value:!0}),bu.getDialectFunction=bu.registerDialect=bu.getDialect=void 0;const v2e=QR,S2e=zR,_2e=WR,C2e=NR,b2e=YR,KR=new Map;function T2e(t){const e=KR.get(t);if(e===void 0)throw new Error(`Unknown Dialect ${t}`);return e}bu.getDialect=T2e;function ih(t){KR.set(t.name,t)}bu.registerDialect=ih,ih(new S2e.PostgresDialect),ih(new C2e.StandardSQLDialect),ih(new v2e.DuckDBDialect),ih(new _2e.SnowflakeDialect),ih(new b2e.TrinoDialect);function mM(t,e){return t.params.length===e.params.length&&t.params.every((n,r)=>{const i=e.params[r];return n.isVariadic===i.isVariadic&&n.name===i.name&&n.allowedTypes.length===i.allowedTypes.length&&n.allowedTypes.every(s=>i.allowedTypes.some(o=>s.dataType===o.dataType&&s.expressionType===o.expressionType))})}function R2e(t,e){return mM(t,e)}function O2e(t,e){return t.returnType.dataType===e.returnType.dataType&&t.returnType.expressionType===e.returnType.expressionType}function N2e(t){const e={type:"function",name:t,overloads:[]};let n=!1;for(const r of KR.values()){const i=r.getGlobalFunctionDef(t);if(i){for(const s of i){let o=!1;for(const u of e.overloads)if(R2e(s,u)){if(!mM(s,u))throw new Error("params are compatible but not equal");if(!O2e(s,u))throw new Error("params match but return types differ!");u.dialect[r.name]={e:s.e,supportsOrderBy:s.supportsOrderBy,defaultOrderByArgIndex:s.defaultOrderByArgIndex,supportsLimit:s.supportsLimit},o=!0}o||e.overloads.push({returnType:s.returnType,params:s.params,dialect:{[r.name]:{e:s.e,supportsOrderBy:s.supportsOrderBy,defaultOrderByArgIndex:s.defaultOrderByArgIndex,supportsLimit:s.supportsLimit}},needsWindowOrderBy:s.needsWindowOrderBy,between:s.between,isSymmetric:s.isSymmetric})}n=!0}}return n?e:void 0}bu.getDialectFunction=N2e,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.FUNCTIONS=t.getDialectFunction=t.registerDialect=t.getDialect=t.TrinoDialect=t.SnowflakeDialect=t.DuckDBDialect=t.PostgresDialect=t.StandardSQLDialect=t.qtz=t.Dialect=t.sql=t.literal=t.params=t.param=t.sqlFragment=t.spread=t.maxScalar=t.minAggregate=t.minScalar=t.overload=t.makeParam=t.anyExprType=t.arg=void 0;var e=Se;Object.defineProperty(t,"arg",{enumerable:!0,get:function(){return e.arg}}),Object.defineProperty(t,"anyExprType",{enumerable:!0,get:function(){return e.anyExprType}}),Object.defineProperty(t,"makeParam",{enumerable:!0,get:function(){return e.makeParam}}),Object.defineProperty(t,"overload",{enumerable:!0,get:function(){return e.overload}}),Object.defineProperty(t,"minScalar",{enumerable:!0,get:function(){return e.minScalar}}),Object.defineProperty(t,"minAggregate",{enumerable:!0,get:function(){return e.minAggregate}}),Object.defineProperty(t,"maxScalar",{enumerable:!0,get:function(){return e.maxScalar}}),Object.defineProperty(t,"spread",{enumerable:!0,get:function(){return e.spread}}),Object.defineProperty(t,"sqlFragment",{enumerable:!0,get:function(){return e.sqlFragment}}),Object.defineProperty(t,"param",{enumerable:!0,get:function(){return e.param}}),Object.defineProperty(t,"params",{enumerable:!0,get:function(){return e.params}}),Object.defineProperty(t,"literal",{enumerable:!0,get:function(){return e.literal}}),Object.defineProperty(t,"sql",{enumerable:!0,get:function(){return e.sql}});var n=ef;Object.defineProperty(t,"Dialect",{enumerable:!0,get:function(){return n.Dialect}}),Object.defineProperty(t,"qtz",{enumerable:!0,get:function(){return n.qtz}});var r=NR;Object.defineProperty(t,"StandardSQLDialect",{enumerable:!0,get:function(){return r.StandardSQLDialect}});var i=zR;Object.defineProperty(t,"PostgresDialect",{enumerable:!0,get:function(){return i.PostgresDialect}});var s=QR;Object.defineProperty(t,"DuckDBDialect",{enumerable:!0,get:function(){return s.DuckDBDialect}});var o=WR;Object.defineProperty(t,"SnowflakeDialect",{enumerable:!0,get:function(){return o.SnowflakeDialect}});var u=YR;Object.defineProperty(t,"TrinoDialect",{enumerable:!0,get:function(){return u.TrinoDialect}});var a=bu;Object.defineProperty(t,"getDialect",{enumerable:!0,get:function(){return a.getDialect}}),Object.defineProperty(t,"registerDialect",{enumerable:!0,get:function(){return a.registerDialect}}),Object.defineProperty(t,"getDialectFunction",{enumerable:!0,get:function(){return a.getDialectFunction}});var l=tf;Object.defineProperty(t,"FUNCTIONS",{enumerable:!0,get:function(){return l.FUNCTIONS}})}(BE);var Tu={},vf={};Object.defineProperty(vf,"__esModule",{value:!0}),vf.QueryModel=vf.Segment=void 0;const D2e=BE,F2e=U1,je=ne,Tr=Wt;function yM(t){return t.map(e=>encodeURIComponent(e)).join("/")}function XR(t){return`'${t}'`}function EM(t){return t.replace(/[^a-zA-Z0-9_]/g,"_o_")}class w2e extends Set{add_use(e){if(e!==void 0)return this.add(e)}hasAsymetricFunctions(){return this.has("sum")||this.has("avg")||this.has("count")||this.has("generic_asymmetric_aggregate")}}class ep{constructor(e=!0,n){this.parent=n,this.withs=[],this.udfs=[],this.pdts=[],this.stagePrefix="__stage",this.useCTE=e}getName(e){return`${this.stagePrefix}${e}`}root(){return this.parent===void 0?this:this.parent.root()}addStage(e){return this.useCTE?(this.withs.push(e),this.getName(this.withs.length-1)):(this.withs[0]=e,(0,Tr.indent)(`
276
276
  (${e})
277
277
  `))}addUDF(e,n,r){let{sql:i,lastStageName:s}=e.combineStages(!0);if(s===void 0)throw new Error("Internal Error: no stage to combine");i+=n.sqlCreateFunctionCombineLastStage(s,r);const o=`${n.udfPrefix}${this.root().udfs.length}`;return i=n.sqlCreateFunction(o,i),this.root().udfs.push(i),o}addPDT(e,n){const r=this.combineStages(!1).sql+this.withs[this.withs.length-1],i="scratch."+e+(0,Tr.generateHash)(r);return this.root().pdts.push(n.sqlCreateTableAsSelect(i,r)),i}combineStages(e){if(!this.useCTE)return{sql:this.withs[0],lastStageName:this.withs[0]};let n=this.getName(0),r="WITH ",i="";for(let s=0;s<this.withs.length-(e?0:1);s++){const o=this.withs[s];if(n=this.getName(s),o===void 0)throw new Error(`Expected sql WITH to be present for stage ${n}.`);i+=`${r}${n} AS (
278
278
  ${(0,Tr.indent)(o)})
@@ -284,7 +284,7 @@ ${(0,Tr.indent)(o)})
284
284
  STRING_AGG(DISTINCT ${`concat('${f}', ${s}, '${x}', ${l})`}${c}),
285
285
  '${f}.*?${x}',
286
286
  ''
287
- )`}getParamForArgIndex(e,n){const r=e.slice(0,n).find(i=>i.isVariadic);return r??e[n]}generateFunctionCallExpression(e,n,r,i){var s,o,u;const a=r.overload,l=r.args,c=(s=r.overload.isSymmetric)!==null&&s!==void 0?s:!1,f=(0,je.expressionIsAggregate)(a.returnType.expressionType)&&!c&&this.generateDistinctKeyIfNecessary(e,n,r.structPath),x=r.limit?`LIMIT ${r.limit}`:void 0;if(r.name==="string_agg"&&f&&!n.dialect.supportsAggDistinct&&n.dialect.name!=="snowflake")return this.generateAsymmetricStringAggExpression(e,n,l[0],l[1],f,r.orderBy,n.dialect.name,i);if(f){if(!n.dialect.supportsAggDistinct)throw new Error(`Function \`${r.name}\` does not support fanning out in ${n.dialect.name}`);const h=l.map(g=>this.generateDimFragment(e,n,g,i)),p=(o=r.orderBy)!==null&&o!==void 0?o:[],m=p.map(g=>{var y,E;const A=(y=a.dialect[n.dialect.name].defaultOrderByArgIndex)!==null&&y!==void 0?y:0,v=(E=g.e)!==null&&E!==void 0?E:l[A];return this.generateDimFragment(e,n,v,i)});return n.dialect.sqlAggDistinct(f,[...h,...m],g=>{const y=g.map((C,_)=>_<l.length&&this.getParamForArgIndex(a.params,_).allowedTypes.every(R=>(0,je.isLiteral)(R.evalSpace))?l[_]:[C]),E=y.slice(0,h.length),A=y.slice(h.length).map((C,_)=>({e:C,dir:p[_].dir})),v=this.getFunctionOrderBy(e,n,i,A,E,a),S=this.expandFunctionCall(n.dialect.name,a,E,v,x);return this.generateExpressionFromExpr(e,n,S,i)})}else{const h=(0,je.expressionIsAggregate)(a.returnType.expressionType)?l.map((g,y)=>this.getParamForArgIndex(a.params,y).allowedTypes.every(A=>(0,je.isLiteral)(A.evalSpace))?g:[this.generateDimFragment(e,n,g,i)]):l,p=r.orderBy?this.getFunctionOrderBy(e,n,i,r.orderBy,l,a):"",m=this.expandFunctionCall(n.dialect.name,a,h,p,x);if((0,je.expressionIsAnalytic)(a.returnType.expressionType)){const g=((u=r.partitionBy)!==null&&u!==void 0?u:[]).map(y=>`(${e.getField(y).getAnalyticalSQL(!1)})`);return this.generateAnalyticFragment(e,n,m,a,i,l,g,p)}return this.generateExpressionFromExpr(e,n,m,i)}}generateSpread(e,n,r,i){throw new Error("Unexpanded spread encountered during SQL generation")}generateParameterFragment(e,n,r,i){throw new Error(`Can't generate SQL, no value for ${r.path}`)}generateFilterFragment(e,n,r,i){const s=new Tr.AndChain(i.whereSQL);for(const o of r.filterList)s.add(this.generateExpressionFromExpr(e,n,o.expression,i.withWhere()));return this.generateExpressionFromExpr(e,n,r.e,i.withWhere(s.sql()))}generateDimFragment(e,n,r,i){let s=this.generateExpressionFromExpr(e,n,r,i);return i.whereSQL&&(s=`CASE WHEN ${i.whereSQL} THEN ${s} END`),s}generateUngroupedFragment(e,n,r,i){if(i.totalGroupSet!==-1)throw new Error("Already in ALL. Cannot nest within an all calcuation.");let s,o;if(r.fields&&r.fields.length>0){const f=r.fields.sort().join("|")+r.type;if(o=e.ungroupedSets.get(f),o===void 0)throw new Error(`Internal Error, cannot find groupset with key ${f}`);s=o.groupSet}else s=e.parent?e.parent.groupSet:0;const u=this.generateExpressionFromExpr(e,n,r.e,i.withTotal(s)),a=e.getUngroupPartitions(o);let l="";const c=a.map(f=>f.getAnalyticalSQL(!0)).join(", ");return c.length>0&&(l=`PARTITION BY ${c}`),`MAX(${u}) OVER (${l})`}generateDistinctKeyIfNecessary(e,n,r){let i=n;if(r&&(i=this.parent.root().getStructByName(r)),i.needsSymetricCalculation(e))return i.getDistinctKey().generateExpression(e)}generateSumFragment(e,n,r,i){const s=this.generateDimFragment(e,n,r.e,i),o=this.generateDistinctKeyIfNecessary(e,n,r.structPath);let u;return o?this.parent.dialect.supportsSumDistinctFunction?u=this.parent.dialect.sqlSumDistinct(o,s,"SUM"):u=_M(this.parent.dialect,s,o):u=`SUM(${s})`,`COALESCE(${u},0)`}generateSymmetricFragment(e,n,r,i){const s=this.generateDimFragment(e,n,r.e,i);return`${r.function==="count_distinct"?"count(distinct ":r.function+"("}${s})`}generateAvgFragment(e,n,r,i){const s=this.generateDimFragment(e,n,r.e,i),o=this.generateDistinctKeyIfNecessary(e,n,r.structPath);if(o){let u=o;i.whereSQL&&(u=`CASE WHEN ${i.whereSQL} THEN ${o} END`);let a,l;return this.parent.dialect.supportsSumDistinctFunction?l=this.parent.dialect.sqlSumDistinct(o,s,"AVG"):(a=_M(this.parent.dialect,s,o),l=`(${a})/NULLIF(COUNT(DISTINCT CASE WHEN ${s} IS NOT NULL THEN ${u} END),0)`),l}else return`AVG(${s})`}generateCountFragment(e,n,r,i){let s="COUNT(",o="1",u=n;r.structPath&&(u=this.parent.root().getStructByName(r.structPath));const a=u.getJoinableParent().getIdentifier(),l=e.root().joins.get(a);if(!l)throw new Error(`Join ${a} not found in result set`);return(!l.leafiest||l.makeUniqueKey)&&(s="COUNT(DISTINCT ",o=u.getDistinctKey().generateExpression(e)),i.whereSQL?`${s}CASE WHEN ${i.whereSQL} THEN ${o} END)`:`${s}${o})`}generateDialect(e,n,r,i){return this.generateExpressionFromExpr(e,n,n.dialect.dialectExpr(e.getQueryInfo(),r),i)}generateSqlString(e,n,r,i){return r.e.map(s=>typeof s=="string"?s:this.generateExpressionFromExpr(e,n,[s],i)).join("")}generateSourceReference(e,n,r){return r.path===void 0?n.getSQLIdentifier():n.getFieldByName(r.path).getIdentifier()}getAnalyticPartitions(e,n){const r=[];let i=e.parent;for(;i!==void 0;){const o=i.fields(u=>Rr(u.f)&&u.fieldUsage.type==="result").map(u=>u.getAnalyticalSQL(!0));r.push(...o),i=i.parent}return n&&r.push(...n),r}generateAnalyticFragment(e,n,r,i,s,o,u,a){const l=e.root().isComplexQuery,c=this.getAnalyticPartitions(e,u),f=[...l?["group_set"]:[],...c],x=f.length>0?`PARTITION BY ${f.join(", ")}`:"";let h=a??"";if(!a&&i.needsWindowOrderBy){const g=[];let y;const E=e.firstSegment.orderBy||e.calculateDefaultOrderBy();for(const A of E){typeof A.field=="string"?y={name:A.field,fif:e.getField(A.field)}:y=e.getFieldByNumber(A.field);const v=y.fif.f.fieldDef.expressionType;if(!(0,je.expressionIsAnalytic)(v))if(e.firstSegment.type==="reduce"){const S=y.fif.getAnalyticalSQL(!1);g.push(` ${S} ${A.dir||"ASC"}`)}else e.firstSegment.type==="project"&&g.push(` ${y.fif.f.generateExpression(e)} ${A.dir||"ASC"}`)}g.length>0&&(h=" "+this.parent.dialect.sqlOrderBy(g))}let p="";if(i.between){const[g,y]=[i.between.preceding,i.between.following].map(E=>{if(E===-1)return"UNBOUNDED";if(typeof E=="number")return E;const A=i.params.findIndex(S=>S.name===E),v=o[A];if(v.length!==1||typeof v[0]=="string"||v[0].type!=="dialect"||v[0].function!=="numberLiteral")throw new Error("Invalid number of rows for window spec");return v[0].literal});p=`ROWS BETWEEN ${g} PRECEDING AND ${y} FOLLOWING`}return`${this.generateExpressionFromExpr(e,n,r,s)} OVER(${x} ${h} ${p})`}generateExpressionFromExpr(e,n,r,i=new tp){let s="";for(const o of r)if(typeof o=="string")s+=o;else if((0,je.isFieldFragment)(o))s+=this.generateFieldFragment(e,n,o,i);else if((0,je.isParameterFragment)(o))s+=this.generateParameterFragment(e,n,o,i);else if((0,je.isFilterFragment)(o))s+=this.generateFilterFragment(e,n,o,i);else if((0,je.isUngroupFragment)(o))s+=this.generateUngroupedFragment(e,n,o,i);else if((0,je.isAggregateFragment)(o)){let u;if(o.function==="sum")u=this.generateSumFragment(e,n,o,i);else if(o.function==="avg")u=this.generateAvgFragment(e,n,o,i);else if(o.function==="count")u=this.generateCountFragment(e,n,o,i);else if(["count_distinct","min","max"].includes(o.function))u=this.generateSymmetricFragment(e,n,o,i);else throw new Error(`Internal Error: Unknown aggregate function ${o.function}`);if(e.root().isComplexQuery){let a=e.groupSet;i.totalGroupSet!==-1&&(a=i.totalGroupSet),s+=this.caseGroup([a],u)}else s+=u}else if((0,je.isApplyFragment)(o)){const u=this.generateExpressionFromExpr(e,n,o.value,i);s+=this.generateExpressionFromExpr(e,n,o.to,i.withApply(u))}else if((0,je.isApplyValue)(o))if(i.applyValue)s+=i.applyValue;else throw new Error("Internal Error: Partial application value referenced but not provided");else{if((0,je.isFunctionParameterFragment)(o))throw new Error("Internal Error: Function parameter fragment remaining during SQL generation");if((0,je.isOutputFieldFragment)(o))s+=this.generateOutputFieldFragment(e,n,o,i);else if((0,je.isSQLExpressionFragment)(o))s+=this.generateSQLExpression(e,n,o,i);else if((0,je.isFunctionCallFragment)(o))s+=this.generateFunctionCallExpression(e,n,o,i);else if((0,je.isSpreadFragment)(o))s+=this.generateSpread(e,n,o,i);else if(o.type==="dialect")s+=this.generateDialect(e,n,o,i);else if(o.type==="sql-string")s+=this.generateSqlString(e,n,o,i);else if(o.type==="source-reference")s+=this.generateSourceReference(e,n,o);else throw new Error(`Internal Error: Unknown expression fragment ${JSON.stringify(o,void 0,2)}`)}return s}getExpr(){return(0,je.hasExpression)(this.fieldDef)?this.fieldDef.e:[this.parent.dialect.sqlFieldReference(this.parent.getSQLIdentifier(),this.fieldDef.name,this.fieldDef.type,this.parent.fieldDef.structSource.type==="nested"||this.parent.fieldDef.structSource.type==="inline"||this.parent.fieldDef.structSource.type==="sql"&&this.parent.fieldDef.structSource.method==="nested",this.parent.fieldDef.structRelationship.type==="nested"&&this.parent.fieldDef.structRelationship.isArray)]}generateExpression(e){return this.generateExpressionFromExpr(e,this.parent,this.getExpr())}};function sv(t){return t instanceof Ur&&t.isCalculated()}function vM(t){return t instanceof Ur&&t.isAggregate()}function Rr(t){return t instanceof Ur&&!t.isCalculated()&&!t.isAggregate()}class Ur extends iv{includeInWildcard(){return!0}isCalculated(){return(0,je.expressionIsCalculation)(this.fieldDef.expressionType)}isAggregate(){return(0,je.expressionIsAggregate)(this.fieldDef.expressionType)}getFilterList(){return[]}hasExpression(){return(0,je.hasExpression)(this.fieldDef)}}class L2e extends Ur{}class I2e extends Ur{}class JR extends Ur{}class $2e extends Ur{}class B2e extends Ur{}class k2e extends Ur{constructor(e,n,r){super(e,n),this.primaryKey=r}getName(){return(0,je.getIdentifier)(this.fieldDef)}getAsJoinedStructDef(e){return{...this.parent.fieldDef,structRelationship:{type:"one",matrixOperation:"left",onExpression:[{type:"field",path:[this.primaryKey]},"=",{type:"field",path:[e]}]}}}}class ZR extends Ur{generateExpression(e){const n=this.fieldDef;if(n.timeframe){const r=this.parent.dialect.sqlTrunc(e.getQueryInfo(),{value:this.getExpr(),valueType:"date"},n.timeframe);return this.generateExpressionFromExpr(e,this.parent,r)}else return super.generateExpression(e)}getChildByName(e){const n={...this.fieldDef,as:`${this.getIdentifier()}_${e}`,timeframe:e};return new ZR(n,this.parent)}}class eO extends Ur{getChildByName(e){const n={...this.fieldDef,as:`${this.getIdentifier()}_${e}`,timeframe:e};return new eO(n,this.parent)}}class P2e extends Ur{generateExpression(e){var n;if(this.parent.primaryKey())return this.parent.getPrimaryKeyField(this.fieldDef).generateExpression(e);if(this.parent.fieldDef.structSource.type==="nested"){const r=(n=this.parent.parent)===null||n===void 0?void 0:n.getDistinctKey().generateExpression(e);return this.parent.dialect.concat(r||"","'x'",this.parent.dialect.sqlFieldReference(this.parent.getIdentifier(),"__row_id","string",!0,!1))}else return this.parent.dialect.sqlFieldReference(this.parent.getIdentifier(),"__distinct_key","string",this.parent.fieldDef.structRelationship.type==="nested",!1)}includeInWildcard(){return!1}}const SM=9;function _M(t,e,n){const i=t.sqlSumDistinctHashedKey(n),s=10**(9-SM);let u=`(${`
287
+ )`}getParamForArgIndex(e,n){const r=e.slice(0,n).find(i=>i.isVariadic);return r??e[n]}generateFunctionCallExpression(e,n,r,i){var s,o,u;const a=r.overload,l=r.args,c=(s=r.overload.isSymmetric)!==null&&s!==void 0?s:!1,f=(0,je.expressionIsAggregate)(a.returnType.expressionType)&&!c&&this.generateDistinctKeyIfNecessary(e,n,r.structPath),x=r.limit?`LIMIT ${r.limit}`:void 0;if(r.name==="string_agg"&&f&&!n.dialect.supportsAggDistinct&&n.dialect.name!=="snowflake")return this.generateAsymmetricStringAggExpression(e,n,l[0],l[1],f,r.orderBy,n.dialect.name,i);if(f){if(!n.dialect.supportsAggDistinct)throw new Error(`Function \`${r.name}\` does not support fanning out in ${n.dialect.name}`);const h=l.map(g=>this.generateDimFragment(e,n,g,i)),p=(o=r.orderBy)!==null&&o!==void 0?o:[],m=p.map(g=>{var y,E;const A=(y=a.dialect[n.dialect.name].defaultOrderByArgIndex)!==null&&y!==void 0?y:0,v=(E=g.e)!==null&&E!==void 0?E:l[A];return this.generateDimFragment(e,n,v,i)});return n.dialect.sqlAggDistinct(f,[...h,...m],g=>{const y=g.map((C,_)=>_<l.length&&this.getParamForArgIndex(a.params,_).allowedTypes.every(R=>(0,je.isLiteral)(R.evalSpace))?l[_]:[C]),E=y.slice(0,h.length),A=y.slice(h.length).map((C,_)=>({e:C,dir:p[_].dir})),v=this.getFunctionOrderBy(e,n,i,A,E,a),S=this.expandFunctionCall(n.dialect.name,a,E,v,x);return this.generateExpressionFromExpr(e,n,S,i)})}else{const h=(0,je.expressionIsAggregate)(a.returnType.expressionType)?l.map((g,y)=>this.getParamForArgIndex(a.params,y).allowedTypes.every(A=>(0,je.isLiteral)(A.evalSpace))?g:[this.generateDimFragment(e,n,g,i)]):l,p=r.orderBy?this.getFunctionOrderBy(e,n,i,r.orderBy,l,a):"",m=this.expandFunctionCall(n.dialect.name,a,h,p,x);if((0,je.expressionIsAnalytic)(a.returnType.expressionType)){const g=((u=r.partitionBy)!==null&&u!==void 0?u:[]).map(y=>`(${e.getField(y).getAnalyticalSQL(!1)})`);return this.generateAnalyticFragment(e,n,m,a,i,l,g,p)}return this.generateExpressionFromExpr(e,n,m,i)}}generateSpread(e,n,r,i){throw new Error("Unexpanded spread encountered during SQL generation")}generateParameterFragment(e,n,r,i){throw new Error(`Can't generate SQL, no value for ${r.path}`)}generateFilterFragment(e,n,r,i){const s=new Tr.AndChain(i.whereSQL);for(const o of r.filterList)s.add(this.generateExpressionFromExpr(e,n,o.expression,i.withWhere()));return this.generateExpressionFromExpr(e,n,r.e,i.withWhere(s.sql()))}generateDimFragment(e,n,r,i){let s=this.generateExpressionFromExpr(e,n,r,i);return i.whereSQL&&(s=`CASE WHEN ${i.whereSQL} THEN ${s} END`),s}generateUngroupedFragment(e,n,r,i){if(i.totalGroupSet!==-1)throw new Error("Already in ALL. Cannot nest within an all calcuation.");let s,o;if(r.fields&&r.fields.length>0){const f=r.fields.sort().join("|")+r.type;if(o=e.ungroupedSets.get(f),o===void 0)throw new Error(`Internal Error, cannot find groupset with key ${f}`);s=o.groupSet}else s=e.parent?e.parent.groupSet:0;const u=this.generateExpressionFromExpr(e,n,r.e,i.withTotal(s)),a=e.getUngroupPartitions(o);let l="";const c=a.map(f=>f.getAnalyticalSQL(!0)).join(", ");return c.length>0&&(l=`PARTITION BY ${c}`),`MAX(${u}) OVER (${l})`}generateDistinctKeyIfNecessary(e,n,r){let i=n;if(r&&(i=this.parent.root().getStructByName(r)),i.needsSymetricCalculation(e))return i.getDistinctKey().generateExpression(e)}generateSumFragment(e,n,r,i){const s=this.generateDimFragment(e,n,r.e,i),o=this.generateDistinctKeyIfNecessary(e,n,r.structPath);let u;return o?this.parent.dialect.supportsSumDistinctFunction?u=this.parent.dialect.sqlSumDistinct(o,s,"SUM"):u=_M(this.parent.dialect,s,o):u=`SUM(${s})`,`COALESCE(${u},0)`}generateSymmetricFragment(e,n,r,i){const s=this.generateDimFragment(e,n,r.e,i);return`${r.function==="count_distinct"?"count(distinct ":r.function+"("}${s})`}generateAvgFragment(e,n,r,i){const s=this.generateDimFragment(e,n,r.e,i),o=this.generateDistinctKeyIfNecessary(e,n,r.structPath);if(o){let u=o;i.whereSQL&&(u=`CASE WHEN ${i.whereSQL} THEN ${o} END`);let a,l;return this.parent.dialect.supportsSumDistinctFunction?l=this.parent.dialect.sqlSumDistinct(o,s,"AVG"):(a=_M(this.parent.dialect,s,o),l=`(${a})/NULLIF(COUNT(DISTINCT CASE WHEN ${s} IS NOT NULL THEN ${u} END),0)`),l}else return`AVG(${s})`}generateCountFragment(e,n,r,i){let s="COUNT(",o="1",u=n;r.structPath&&(u=this.parent.root().getStructByName(r.structPath));const a=u.getJoinableParent().getIdentifier(),l=e.root().joins.get(a);if(!l)throw new Error(`Join ${a} not found in result set`);return(!l.leafiest||l.makeUniqueKey)&&(s="COUNT(DISTINCT ",o=u.getDistinctKey().generateExpression(e)),i.whereSQL?`${s}CASE WHEN ${i.whereSQL} THEN ${o} END)`:`${s}${o})`}generateDialect(e,n,r,i){return this.generateExpressionFromExpr(e,n,n.dialect.dialectExpr(e.getQueryInfo(),r),i)}generateSqlString(e,n,r,i){return r.e.map(s=>typeof s=="string"?s:this.generateExpressionFromExpr(e,n,[s],i)).join("")}generateSourceReference(e,n,r){return r.path===void 0?n.getSQLIdentifier():n.getFieldByName(r.path).getIdentifier()}getAnalyticPartitions(e,n){const r=[];let i=e.parent;for(;i!==void 0;){const o=i.fields(u=>Rr(u.f)&&u.fieldUsage.type==="result").map(u=>u.getAnalyticalSQL(!0));r.push(...o),i=i.parent}return n&&r.push(...n),r}generateAnalyticFragment(e,n,r,i,s,o,u,a){const l=e.root().isComplexQuery,c=this.getAnalyticPartitions(e,u),f=[...l?["group_set"]:[],...c],x=f.length>0?`PARTITION BY ${f.join(", ")}`:"";let h=a??"";if(!a&&i.needsWindowOrderBy){const g=[];let y;const E=e.firstSegment.orderBy||e.calculateDefaultOrderBy();for(const A of E){typeof A.field=="string"?y={name:A.field,fif:e.getField(A.field)}:y=e.getFieldByNumber(A.field);const v=y.fif.f.fieldDef.expressionType;if(!(0,je.expressionIsAnalytic)(v))if(e.firstSegment.type==="reduce"){const S=y.fif.getAnalyticalSQL(!1);g.push(` ${S} ${A.dir||"ASC"}`)}else e.firstSegment.type==="project"&&g.push(` ${y.fif.f.generateExpression(e)} ${A.dir||"ASC"}`)}g.length>0&&(h=" "+this.parent.dialect.sqlOrderBy(g))}let p="";if(i.between){const[g,y]=[i.between.preceding,i.between.following].map(E=>{if(E===-1)return"UNBOUNDED";if(typeof E=="number")return E;const A=i.params.findIndex(S=>S.name===E),v=o[A];if(v.length!==1||typeof v[0]=="string"||v[0].type!=="dialect"||v[0].function!=="numberLiteral")throw new Error("Invalid number of rows for window spec");return v[0].literal});p=`ROWS BETWEEN ${g} PRECEDING AND ${y} FOLLOWING`}return`${this.generateExpressionFromExpr(e,n,r,s)} OVER(${x} ${h} ${p})`}generateExpressionFromExpr(e,n,r,i=new tp){let s="";for(const o of r)if(typeof o=="string")s+=o;else if((0,je.isFieldFragment)(o))s+=this.generateFieldFragment(e,n,o,i);else if((0,je.isParameterFragment)(o))s+=this.generateParameterFragment(e,n,o,i);else if((0,je.isFilterFragment)(o))s+=this.generateFilterFragment(e,n,o,i);else if((0,je.isUngroupFragment)(o))s+=this.generateUngroupedFragment(e,n,o,i);else if((0,je.isAggregateFragment)(o)){let u;if(o.function==="sum")u=this.generateSumFragment(e,n,o,i);else if(o.function==="avg")u=this.generateAvgFragment(e,n,o,i);else if(o.function==="count")u=this.generateCountFragment(e,n,o,i);else if(["count_distinct","min","max"].includes(o.function))u=this.generateSymmetricFragment(e,n,o,i);else throw new Error(`Internal Error: Unknown aggregate function ${o.function}`);if(e.root().isComplexQuery){let a=e.groupSet;i.totalGroupSet!==-1&&(a=i.totalGroupSet),s+=this.caseGroup([a],u)}else s+=u}else if((0,je.isApplyFragment)(o)){const u=this.generateExpressionFromExpr(e,n,o.value,i);s+=this.generateExpressionFromExpr(e,n,o.to,i.withApply(u))}else if((0,je.isApplyValue)(o))if(i.applyValue)s+=i.applyValue;else throw new Error("Internal Error: Partial application value referenced but not provided");else{if((0,je.isFunctionParameterFragment)(o))throw new Error("Internal Error: Function parameter fragment remaining during SQL generation");if((0,je.isOutputFieldFragment)(o))s+=this.generateOutputFieldFragment(e,n,o,i);else if((0,je.isSQLExpressionFragment)(o))s+=this.generateSQLExpression(e,n,o,i);else if((0,je.isFunctionCallFragment)(o))s+=this.generateFunctionCallExpression(e,n,o,i);else if((0,je.isSpreadFragment)(o))s+=this.generateSpread(e,n,o,i);else if(o.type==="dialect")s+=this.generateDialect(e,n,o,i);else if(o.type==="sql-string")s+=this.generateSqlString(e,n,o,i);else if(o.type==="source-reference")s+=this.generateSourceReference(e,n,o);else throw new Error(`Internal Error: Unknown expression fragment ${JSON.stringify(o,void 0,2)}`)}return s}getExpr(){return(0,je.hasExpression)(this.fieldDef)?this.fieldDef.e:[this.parent.dialect.sqlFieldReference(this.parent.getSQLIdentifier(),this.fieldDef.name,this.fieldDef.type,this.parent.fieldDef.structSource.type==="nested"||this.parent.fieldDef.structSource.type==="inline"||this.parent.fieldDef.structSource.type==="sql"&&this.parent.fieldDef.structSource.method==="nested",this.parent.fieldDef.structRelationship.type==="nested"&&this.parent.fieldDef.structRelationship.isArray)]}generateExpression(e){return this.generateExpressionFromExpr(e,this.parent,this.getExpr())}};function sv(t){return t instanceof Ur&&t.isCalculated()}function vM(t){return t instanceof Ur&&t.isAggregate()}function Rr(t){return t instanceof Ur&&!t.isCalculated()&&!t.isAggregate()}class Ur extends iv{includeInWildcard(){return!0}isCalculated(){return(0,je.expressionIsCalculation)(this.fieldDef.expressionType)}isAggregate(){return(0,je.expressionIsAggregate)(this.fieldDef.expressionType)}getFilterList(){return[]}hasExpression(){return(0,je.hasExpression)(this.fieldDef)}}class L2e extends Ur{}class I2e extends Ur{}class JR extends Ur{}class $2e extends Ur{}class B2e extends Ur{}class k2e extends Ur{constructor(e,n,r){super(e,n),this.primaryKey=r}getName(){return(0,je.getIdentifier)(this.fieldDef)}getAsJoinedStructDef(e){return{...this.parent.fieldDef,structRelationship:{type:"one",matrixOperation:"left",onExpression:[{type:"field",path:[this.primaryKey]},"=",{type:"field",path:[e]}]}}}}class ZR extends Ur{generateExpression(e){const n=this.fieldDef;if(n.timeframe){const r=this.parent.dialect.sqlTrunc(e.getQueryInfo(),{value:this.getExpr(),valueType:"date"},n.timeframe);return this.generateExpressionFromExpr(e,this.parent,r)}else return super.generateExpression(e)}getChildByName(e){const n={...this.fieldDef,as:`${this.getIdentifier()}_${e}`,timeframe:e};return new ZR(n,this.parent)}}class eO extends Ur{getChildByName(e){const n={...this.fieldDef,as:`${this.getIdentifier()}_${e}`,timeframe:e};return new eO(n,this.parent)}}class P2e extends Ur{generateExpression(e){var n;if(this.parent.primaryKey())return this.parent.getPrimaryKeyField(this.fieldDef).generateExpression(e);if(this.parent.fieldDef.structSource.type==="nested"){const r=(n=this.parent.parent)===null||n===void 0?void 0:n.getDistinctKey().generateExpression(e);return this.parent.dialect.sqlMakeUnnestKey(r||"",this.parent.dialect.sqlFieldReference(this.parent.getIdentifier(),"__row_id","string",!0,!1))}else return this.parent.dialect.sqlFieldReference(this.parent.getIdentifier(),"__distinct_key","string",this.parent.fieldDef.structRelationship.type==="nested",!1)}includeInWildcard(){return!1}}const SM=9;function _M(t,e,n){const i=t.sqlSumDistinctHashedKey(n),s=10**(9-SM);let u=`(${`
288
288
  (
289
289
  SUM(DISTINCT
290
290
  (CAST(ROUND(COALESCE(${e},0)*(${s}*1.0), ${SM}) AS ${t.defaultDecimalType}) +