@finos/legend-vscode-extension-dependencies 4.0.296 → 4.0.297
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.
|
@@ -898,7 +898,7 @@ var jpn=Object.defineProperty,Wpn=Object.getOwnPropertyDescriptor,$pn=Object.get
|
|
|
898
898
|
.${u0n.BLUR}:hover {
|
|
899
899
|
filter: none;
|
|
900
900
|
}
|
|
901
|
-
`})}),BBi=ule(e=>{const{view:t}=e,n=t.grid.scrollHintText,i=document.querySelector(".data-cube-grid .ag-side-bar"),r=document.querySelector(".data-cube-grid .ag-body-vertical-scroll");return vse.jsxs("div",{className:"absolute -top-10 flex items-center rounded-sm border border-neutral-300 bg-neutral-100 p-1 pr-2 text-neutral-500 shadow-sm",style:{right:(null!==i?i.getBoundingClientRect().width+6:10)+(null!==r?r.getBoundingClientRect().width:0)},children:[vse.jsx(rRe,{className:"text-lg"}),vse.jsx("div",{className:"ml-1 font-mono text-sm",children:n??""})]})}),VBi=ule(e=>{const{view:t}=e,n=aBi(),i=t.grid;return vse.jsxs("div",{className:"relative flex h-5 w-full select-none justify-between border-b border-neutral-200 bg-neutral-100",children:[Boolean(i.scrollHintText)&&vse.jsx(BBi,{view:t}),vse.jsx("div",{}),vse.jsxs("div",{className:"flex h-full items-center",children:[vse.jsx("div",{className:"flex h-full items-center px-2 font-mono text-sm text-neutral-500",children:i.clientDataSource.rowCount?`Rows: ${i.clientDataSource.rowCount}`:""}),void 0!==i.rowLimit&&i.configuration.showWarningForTruncatedResult&&vse.jsxs(vse.Fragment,{children:[vse.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),vse.jsxs("div",{className:"flex h-full items-center px-2 text-orange-500",children:[vse.jsx(uRe,{className:"stroke-[3px]"}),vse.jsx("div",{className:"ml-1 text-sm font-semibold",children:`Results truncated to fit within row limit (${i.rowLimit})`})]})]}),vse.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),vse.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setPaginationEnabled(!i.isPaginationEnabled)},children:[vse.jsx(Kwe,{checked:i.isPaginationEnabled,classes:{root:"p-0 w-6 h-5 flex items-center",input:"w-2",checked:"!translate-x-2 ease-in-out duration-100 transition",thumb:iAe("w-2 h-2",{"bg-sky-600":i.isPaginationEnabled,"bg-neutral-500":!i.isPaginationEnabled}),switchBase:"p-0.5 mt-1 translate-x-0 ease-in-out duration-100 transition",track:iAe("h-3 w-5 border",{"!bg-sky-100 border-sky-600":i.isPaginationEnabled,"!bg-neutral-100 border-neutral-500":!i.isPaginationEnabled})},disableRipple:!0,disableFocusRipple:!0}),vse.jsx("div",{className:iAe("text-sm",{"text-sky-600":i.isPaginationEnabled,"text-neutral-500":!i.isPaginationEnabled}),children:"Pagination"})]}),t.dataCube.options?.enableCache&&vse.jsxs(vse.Fragment,{children:[vse.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),vse.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setCachingEnabled(!i.isCachingEnabled).catch(e=>n.alertService.alertUnhandledError(e))},children:[vse.jsx(Kwe,{checked:i.isCachingEnabled,classes:{root:"p-0 w-6 h-5 flex items-center",input:"w-2",checked:"!translate-x-2 ease-in-out duration-100 transition",thumb:iAe("w-2 h-2",{"bg-sky-600":i.isCachingEnabled,"bg-neutral-500":!i.isCachingEnabled}),switchBase:"p-0.5 mt-1 translate-x-0 ease-in-out duration-100 transition",track:iAe("h-3 w-5 border",{"!bg-sky-100 border-sky-600":i.isCachingEnabled,"!bg-neutral-100 border-neutral-500":!i.isCachingEnabled})},disableRipple:!0,disableFocusRipple:!0,disabled:t.processCacheState.isInProgress,title:t.processCacheState.isInProgress?"Processing cache...":""}),vse.jsxs("div",{className:iAe("flex items-center text-sm",{"text-sky-600":i.isCachingEnabled,"text-neutral-500":!i.isCachingEnabled}),children:["Cache ",vse.jsx(lBi,{})]})]})]})]})]})}),UBi=ule(e=>{const{view:t}=e,n=t.grid;return"production"===process.env.NODE_ENV||n.isClientConfigured||(console.error=(e,...t)=>{console.debug(`%c ${e}`,"color: silver")}),vse.jsx("div",{className:"relative h-[calc(100%_-_20px)] w-full",children:vse.jsx(dbi,{theme:"legacy",className:"data-cube-grid ag-theme-quartz",rowModelType:"serverSide",serverSideDatasource:n.clientDataSource,context:{view:t},onGridReady:e=>{n.configureClient(e.api).catch(e=>t.alertService.alertUnhandledError(e)),"production"!==process.env.NODE_ENV&&(console.error=LBi)},modules:[Qvi,WPi],...C8n(t)})})}),GBi=ule(e=>{const{view:t}=e,n=t.grid.configuration;return vse.jsxs("div",{className:"h-[calc(100%_-_48px)] w-full",children:[vse.jsx(FBi,{configuration:n}),vse.jsx(UBi,{view:t}),vse.jsx(VBi,{view:t})]})}),HBi=ule(e=>{const{view:t}=e;switch(t.info.configuration.gridMode){case xyt.MULTIDIMENSIONAL:return vse.jsx(kBi,{view:t});case xyt.STANDARD:return vse.jsx(GBi,{view:t});default:return vse.jsx("div",{className:"border-t-1 border-b-1 h-[calc(100%_-_48px)] w-full border border-neutral-200 bg-neutral-50"})}}),zBi=ule(e=>{const{view:t,taskManager:n}=e,i=t?.taskService.tasks??n?.tasks;return vse.jsxs("div",{className:"flex h-5 w-full justify-between bg-neutral-100",children:[vse.jsxs("div",{className:"flex",children:[vse.jsxs("button",{className:"flex items-center px-2 text-sky-600 hover:text-sky-700 disabled:text-neutral-400",onClick:()=>{t?.editor.display.open(),t?.dataCube.telemetryService.sendTelemetry(cyt.OPEN_EDITOR_PROPERTIES,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:Ryt.STATUS_BAR})},disabled:!t,children:[vse.jsx(YAe,{className:"text-xl"}),vse.jsx("div",{className:"pl-0.5 underline",children:"Properties"})]}),vse.jsx("div",{className:"flex",children:vse.jsxs("button",{className:"flex items-center text-sky-600 hover:text-sky-700 disabled:text-neutral-400",onClick:()=>{t?.filter.display.open(),t?.dataCube.telemetryService.sendTelemetry(cyt.OPEN_EDITOR_FILTER,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:Ryt.STATUS_BAR})},disabled:!t||ibt(t.info.configuration.gridMode),children:[vse.jsx(JAe,{className:"text-lg"}),vse.jsx("div",{className:"pl-0.5 underline",children:"Filter"})]})})]}),vse.jsx("div",{className:"flex items-center px-2",children:vse.jsx("div",{className:"flex h-3.5 w-48 border-[0.5px] border-neutral-300",title:void 0!==i&&i.length>0?i.length>1?i.map((e,t)=>`Task ${t+1}/${i.length}: ${e.description}`).join("\n"):Gr(i,0).description:void 0,children:void 0!==i&&i.length>0&&vse.jsx(KCe,{classes:{root:"h-3.5 w-full bg-transparent",bar1Indeterminate:"bg-green-500",bar2Indeterminate:"bg-green-500"},variant:"indeterminate"})})})]})}),jBi=ule(e=>{const{children:t,title:i,menuItems:r,getMenuItems:s}=e,[o,a,l]=fVe(),[c,u]=n.useState([...r??[]]);return vse.jsxs("div",{className:"flex h-7 w-full bg-neutral-100",children:[vse.jsxs("div",{className:"flex w-fit max-w-80 items-center pl-1 pr-2 text-lg font-medium",children:[vse.jsx(IAe,{className:"mr-1 h-4 w-4 flex-shrink-0"}),vse.jsx("div",{className:"truncate",children:i})]}),vse.jsxs("div",{className:"flex w-full flex-auto",children:[t,vse.jsx("button",{className:"flex aspect-square h-full flex-shrink-0 items-center justify-center text-lg disabled:text-neutral-400",onClick:e=>{const t=s?.()??[];t.length&&t.unshift(IBi.SEPARATOR),u([...r??[],...t]),o(e)},disabled:!r?.length,children:vse.jsx(jAe,{})}),vse.jsx(vVe,{...l,menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"left"},classes:{paper:"rounded-none mt-[1px]",list:"w-40 p-0 rounded-none border border-neutral-400 bg-white overflow-y-auto py-0.5"}},children:c.map((e,t)=>wr(e)?vse.jsx(yVe,{className:"flex h-[22px] w-full items-center px-2.5 text-base hover:bg-neutral-100 focus:bg-neutral-100",onClick:()=>{e.action(),a()},disabled:Boolean(e.disabled),children:e.label},t):e===IBi.SEPARATOR?vse.jsx("div",{className:"my-1 h-[1px] w-full bg-neutral-200"},t):null)})]})]})}),WBi=e=>{const{message:t,prompt:n}=e;return vse.jsxs("div",{className:"flex h-full w-full overflow-auto p-5",children:[vse.jsx("div",{className:"mr-3",children:vse.jsx(mAe,{className:"flex-shrink-0 stroke-[0.5px] text-[40px] text-red-500"})}),vse.jsxs("div",{children:[vse.jsx("div",{className:"whitespace-break-spaces text-lg",children:t}),vse.jsx("div",{className:"mt-1 whitespace-break-spaces text-neutral-500",children:n})]})]})},$Bi=ule(e=>{const{children:t,taskManager:n}=e;return vse.jsxs(vse.Fragment,{children:[vse.jsx("div",{className:"h-[calc(100%_-_48px)] w-full border border-x-0 border-neutral-200 bg-neutral-50",children:t??null}),vse.jsx(zBi,{taskManager:n})]})}),qBi=ule(e=>{const{children:t,title:n,menuItems:i,headerContent:r,layoutManager:s,taskManager:o}=e;return vse.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white","data-testid":lyt.PLACEHOLDER,children:[vse.jsx(jBi,{title:n,menuItems:i,children:r??null}),vse.jsx($Bi,{taskManager:o,children:t}),s?vse.jsx(NBi,{layout:s}):null,vse.jsx(lMn,{})]})}),YBi=ule(e=>{const{view:t}=e;return n.useEffect(()=>()=>t.dispose(),[t]),t.initializeState.hasFailed?vse.jsx($Bi,{children:vse.jsx(WBi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})}):vse.jsxs(vse.Fragment,{children:[vse.jsx(HBi,{view:t}),vse.jsx(zBi,{view:t})]})}),KBi=ule(()=>{const e=aBi(),t=e.view,i=e=>{t.dataCube.telemetryService.sendTelemetry(cyt.SELECT_ITEM_TITLE_BAR,{...t.engine.getDataFromSource(t.getInitialSource()),menuName:e})};return n.useEffect(()=>{e.view.initialize(e.specification).catch(t=>e.logService.logUnhandledError(t))},[e]),vse.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white",children:[vse.jsx(jBi,{title:t.info.name,menuItems:[{label:Ayt.UNDO,action:()=>{e.view.snapshotService.undo(),i(Ayt.UNDO)},disabled:!e.view.snapshotService.canUndo},{label:Ayt.REDO,action:()=>{e.view.snapshotService.redo(),i(Ayt.REDO)},disabled:!e.view.snapshotService.canRedo},{label:Ayt.SETTINGS,action:()=>{e.settingService.display.open(),i(Ayt.SETTINGS)}}],getMenuItems:e.options?.getHeaderMenuItems,children:e.options?.innerHeaderRenderer?.({api:e.api})??null}),vse.jsx(YBi,{view:t}),vse.jsx(NBi,{layout:e.layoutService.manager}),vse.jsx(lMn,{})]})}),XBi=ule(e=>{const{specification:t,engine:i,options:r}=e,s=hle(()=>new rBi(t,i,r));return n.useEffect(()=>(s.initialize().catch(e=>s.logService.logUnhandledError(e)),()=>s.dispose()),[s]),s.initializeState.hasSucceeded?vse.jsx(oBi,{value:s,children:vse.jsx(KBi,{},s.uuid)}):vse.jsx(qBi,{title:Oyt,headerContent:s.options?.innerHeaderRenderer?.({api:s.api})??null,layoutManager:s.layoutService.manager,taskManager:s.taskService.manager,children:s.initializeState.hasFailed&&vse.jsx(WBi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})})});var ZBi,QBi,JBi,eVi,tVi,nVi;!function(e){e.ABSOLUTE_DATE="Absolute Date",e.ABSOLUTE_TIME="Absolute Time",e.TODAY="Today",e.NOW="Now",e.YESTERDAY="Yesterday",e.ONE_YEAR_AGO="One Year Ago",e.ONE_MONTH_AGO="One Month Ago",e.ONE_WEEK_AGO="One Week Ago",e.CUSTOM_DATE="Custom Date",e.PREVIOUS_DAY_OF_WEEK="Previous ... of Week",e.FIRST_DAY_OF="First day of...",e.LATEST_DATE="Latest Date"}(ZBi||(ZBi={})),function(e){e.DAYS="Day(s)",e.WEEKS="Week(s)",e.MONTHS="Month(s)",e.YEARS="Year(s)"}(QBi||(QBi={})),function(e){e.WEEK="Week",e.MONTH="Month",e.QUARTER="Quarter",e.YEAR="Year"}(JBi||(JBi={})),function(e){e.MONDAY="Monday",e.TUESDAY="Tuesday",e.WENDNESDAY="Wednesday",e.THURSDAY="Thursday",e.FRIDAY="Friday",e.SATURDAY="Saturday",e.SUNDAY="Sunday"}(eVi||(eVi={})),function(e){e.BEFORE="Before",e.AFTER="After"}(tVi||(tVi={})),function(e){e.TODAY="Today",e.NOW="Now",e.FIRST_DAY_OF_THIS_YEAR="Start of Year",e.FIRST_DAY_OF_QUARTER="Start of Quarter",e.FIRST_DAY_OF_MONTH="Start of Month",e.FIRST_DAY_OF_WEEK="Start of Week",e.PERVIOUS_DAY_OF_WEEK="Previous Day of Week"}(nVi||(nVi={}));class iVi{label;value;constructor(e,t){this.label=e,this.value=t}}class rVi extends iVi{duration;unit;direction;referenceMoment;constructor(e,t,n,i,r,s){super(e,t),this.duration=n,this.unit=i,this.direction=r,this.referenceMoment=s}generateDisplayLabel(){return[this.duration,this.unit,this.direction,this.referenceMoment].join(" ")}updateLabel(){this.label=this.generateDisplayLabel()}}class sVi extends iVi{unit;constructor(e,t){super(e,ZBi.FIRST_DAY_OF),this.unit=t}}class oVi extends iVi{day;constructor(e,t){super(e,ZBi.PREVIOUS_DAY_OF_WEEK),this.day=t}}const aVi=[new rVi("Yesterday",ZBi.YESTERDAY,1,QBi.DAYS,tVi.BEFORE,nVi.TODAY),new rVi("One Week Ago",ZBi.ONE_WEEK_AGO,1,QBi.WEEKS,tVi.BEFORE,nVi.TODAY),new rVi("One Month Ago",ZBi.ONE_MONTH_AGO,1,QBi.MONTHS,tVi.BEFORE,nVi.TODAY),new rVi("One Year Ago",ZBi.ONE_YEAR_AGO,1,QBi.YEARS,tVi.BEFORE,nVi.TODAY)],lVi=e=>Object.values(Rvt).find(t=>k_(e,t)),cVi=(e,t,n)=>{if(e instanceof oVi){const i=new VS(Rvt.PREVIOUS_DAY_OF_WEEK);Pvt(i,j_.create(new X_(V_.DATE)));const r=new NS(j_.create(new X_(t.getType(xvt.DAY_OF_WEEK))));return jvt(r,[...r.values,dC.create(dr(t.getEnumeration(xvt.DAY_OF_WEEK).values.filter(t=>t.name===e.day)[0]))],n),Uvt(i,r,n),i}if(e instanceof sVi)switch(e.unit){case JBi.YEAR:{const e=new VS(Rvt.FIRST_DAY_OF_THIS_YEAR);return Pvt(e,j_.create(new X_(V_.DATE))),e}case JBi.QUARTER:{const e=new VS(Rvt.FIRST_DAY_OF_QUARTER);return Pvt(e,j_.create(new X_(V_.STRICTDATE))),e}case JBi.MONTH:{const e=new VS(Rvt.FIRST_DAY_OF_THIS_MONTH);return Pvt(e,j_.create(new X_(V_.DATE))),e}case JBi.WEEK:{const e=new VS(Rvt.FIRST_DAY_OF_WEEK);return Pvt(e,j_.create(new X_(V_.DATE))),e}default:throw new yi(`Can't build expression for 'First Day Of ...' date picker option for unit '${e.unit}'`)}else switch(e.value){case ZBi.TODAY:return pVi(Rvt.TODAY,V_.STRICTDATE);case ZBi.NOW:return pVi(Rvt.NOW,V_.DATETIME);case nVi.FIRST_DAY_OF_THIS_YEAR:{const e=new VS(Rvt.FIRST_DAY_OF_THIS_YEAR);return Pvt(e,j_.create(new X_(V_.DATE))),e}case nVi.FIRST_DAY_OF_QUARTER:{const e=new VS(Rvt.FIRST_DAY_OF_QUARTER);return Pvt(e,j_.create(new X_(V_.STRICTDATE))),e}case nVi.FIRST_DAY_OF_MONTH:{const e=new VS(Rvt.FIRST_DAY_OF_THIS_MONTH);return Pvt(e,j_.create(new X_(V_.DATE))),e}case nVi.FIRST_DAY_OF_WEEK:{const e=new VS(Rvt.FIRST_DAY_OF_WEEK);return Pvt(e,j_.create(new X_(V_.DATE))),e}default:throw new yi(`Can't build expression for date picker option '${e.value}'`)}},uVi=(e,t)=>{const n=t.getEnumeration(xvt.DURATION_UNIT),i=n.values.filter(t=>t.name===Object.keys(QBi).filter(t=>QBi[t]===e)[0])[0];return i??dr(n.values[0])},dVi=(e,t)=>{if(e instanceof VS&&k_(e.functionName,Rvt.ADJUST)||e instanceof AT&&k_(e.function,Rvt.ADJUST))try{const t=new rVi("",ZBi.CUSTOM_DATE,(e=>{if(e instanceof VS){const t=e.parametersValues[1];return t instanceof RS?t.values[0]:t instanceof VS&&k_(t.functionName,Rvt.MINUS)&&t.parametersValues[0]instanceof RS?t.parametersValues[0].values[0]:0}{const t=e.parameters[1];return t instanceof DT?t.value:t instanceof AT&&k_(t.function,Rvt.MINUS)&&t.parameters[0]instanceof DT?t.parameters[0].value:0}})(e),(e=>dr(e instanceof VS?Object.keys(QBi).filter(t=>t===e.parametersValues[2].values[0]?.value.name).map(e=>QBi[e])[0]:Object.values(QBi).filter(t=>t===mr(e.parameters[2],cA).property)[0]))(e),(n=e)instanceof VS?n.parametersValues[1]instanceof VS&&k_(n.parametersValues[1].functionName,Rvt.MINUS)?tVi.BEFORE:tVi.AFTER:n.parameters[1]instanceof AT&&k_(n.parameters[1].function,Rvt.MINUS)?tVi.BEFORE:tVi.AFTER,(e=>{const t=e instanceof VS?e.parametersValues[0].functionName:e.parameters[0].function;switch(lVi(t)){case Rvt.TODAY:return nVi.TODAY;case Rvt.NOW:return nVi.NOW;case Rvt.FIRST_DAY_OF_THIS_YEAR:return nVi.FIRST_DAY_OF_THIS_YEAR;case Rvt.FIRST_DAY_OF_QUARTER:return nVi.FIRST_DAY_OF_QUARTER;case Rvt.FIRST_DAY_OF_THIS_MONTH:return nVi.FIRST_DAY_OF_MONTH;case Rvt.FIRST_DAY_OF_WEEK:return nVi.FIRST_DAY_OF_WEEK;case Rvt.PREVIOUS_DAY_OF_WEEK:return nVi.PERVIOUS_DAY_OF_WEEK;default:throw new yi(`Can't build custom date option reference moment '${t}'`)}})(e)),i=aVi.filter(e=>e.generateDisplayLabel()===t.generateDisplayLabel());return i.length>0?(t.label=dr(i[0]?.label),t.value=dr(i[0]?.value),t):(t.updateLabel(),t)}catch(e){bi(e),t.notificationService.notifyError(e)}var n;return new rVi("","",0,void 0,void 0,void 0)},hVi=(e,t)=>{if(!(e instanceof VS||e instanceof AT)){if(e instanceof RS)return e.genericType.value.rawType.path===Xb.LATESTDATE?new iVi(ZBi.LATEST_DATE,ZBi.LATEST_DATE):new iVi(e.values[0]??"",null===e.values[0]?"":e.genericType.value.rawType.path===Xb.DATETIME?ZBi.ABSOLUTE_TIME:ZBi.ABSOLUTE_DATE);if(e instanceof BT)return new iVi(ZBi.LATEST_DATE,ZBi.LATEST_DATE);if(e instanceof PT)return new iVi(e.value,ZBi.ABSOLUTE_DATE);if(e instanceof MT)return new iVi(e.value,ZBi.ABSOLUTE_TIME);throw new Error(`Unexpected date V1_ValueSpecification: ${e}`)}{const n=e instanceof VS?e.functionName:e.function;switch(lVi(n)){case Rvt.TODAY:return new iVi(ZBi.TODAY,ZBi.TODAY);case Rvt.NOW:return new iVi(ZBi.NOW,ZBi.NOW);case Rvt.FIRST_DAY_OF_THIS_YEAR:return new sVi(nVi.FIRST_DAY_OF_THIS_YEAR,JBi.YEAR);case Rvt.FIRST_DAY_OF_QUARTER:return new sVi(nVi.FIRST_DAY_OF_QUARTER,JBi.QUARTER);case Rvt.FIRST_DAY_OF_THIS_MONTH:return new sVi(nVi.FIRST_DAY_OF_MONTH,JBi.MONTH);case Rvt.FIRST_DAY_OF_WEEK:return new sVi(nVi.FIRST_DAY_OF_WEEK,JBi.WEEK);case Rvt.PREVIOUS_DAY_OF_WEEK:const n=e instanceof VS?e.parametersValues[0].values[0]?.value.name:mr(e.parameters[0],cA).property;return new oVi(`Previous ${n}`,n);case Rvt.ADJUST:return dVi(e,t);default:return new iVi("","")}}},pVi=(e,t)=>{const n=new VS(e);return Pvt(n,j_.create(new X_(t))),n},gVi=(e,t,n,i)=>{const r=new RS(j_.create(new X_(e.getPrimitiveType(t))));return jvt(r,[n],i),r},mVi=(e,t)=>{const n=fn(e);return n.genericType=e.genericType,n.multiplicity=e.multiplicity,n},fVi=(e,t)=>{const n=new US(e.functionName);return Gvt(n,fC.create(dr(e.func.value))),Bvt(n,e.parametersValues.map(e=>mVi(e)),t),n},vVi=(e,t,n,i)=>{const r=Jvt(t)??t.path;switch(r){case Xb.STRING:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.BINARY:case Xb.BYTE:case Xb.INTEGER:return gVi(e,r,i?tyt(r):null,n);case Xb.BOOLEAN:return gVi(e,r,tyt(r),n);case Xb.DATE:return gVi(e,Xb.STRICTDATE,i?tyt(r):null,n);default:if(t instanceof nC){const e=new NS(j_.create(new X_(t)));if(i){if(!(t.values.length>0))throw new yi(`Can't get default value for enumeration since enumeration '${r}' has no value`);jvt(e,[dC.create(t.values[0])],n)}return e}throw new yi(`Can't get default value for type '${r}'`)}},yVi=(e,t)=>w7(((e,t)=>{const n=new HS(new GS(C_.create(e.getType(exports.CORE_PURE_PATH.ANY)),A_.ONE));return n.expressionSequence[0]=vVi(e,V_.STRING,t,!0),n})(e.graph,t),e),bVi=(e,t,n,i)=>{const r=e.genericType?.value.rawType,s=e.multiplicity;if((!s.upperBound||s.upperBound>1)&&r&&r!==V_.BYTE)return new IS(s,j_.create(new X_(r)));if(r instanceof V_)return((e,t,n)=>{const i=e.name;return i===Xb.DATE||i===Xb.DATETIME?pVi(Rvt.NOW,V_.DATETIME):i===Xb.STRICTDATE?pVi(Rvt.TODAY,V_.STRICTDATE):i===Xb.DATE?gVi(t,Xb.STRICTDATE,tyt(i),n):gVi(t,i,tyt(i),n)})(r,t,n);if(r instanceof nC){const e=new NS(j_.create(new X_(r))),t=(o=r,(new My).getRandomItemInCollection(o.values)?.name??"");return""!==t&&jvt(e,[dC.create(hE(r,t))],n),e}var o},_Vi=(e,t,n)=>{if(e instanceof RS)return CE(e.genericType.value.rawType,V_.DATE)?hVi(e,t).label:e.genericType.value.rawType===V_.STRING&&n?.wrapStringInDoubleQuotes?`"${e.values[0]?.toString()}"`:e.values[0]?.toString();if(e instanceof NS){const t=e.values[0];return n?.omitEnumOwnerName?t?.value.name:`${t?.ownerReference.value.name}.${t?.value.name}`}return e instanceof TS?e.name:e instanceof jS?_Vi(e.getValue(),t,n):e instanceof VS?void 0!==e.genericType?.value.rawType&&CE(e.genericType.value.rawType,V_.DATE)?hVi(e,t).label:e.functionName:e instanceof IS?e.values.map(e=>_Vi(e,t,n)).join(","):void 0},CVi=(e,t,n)=>{let i,r=null;if(e instanceof V_)i=e;else if(e instanceof U_){const t=Jvt(e);i=t?H_(t):void 0}if(i)switch(i.path){case Xb.STRING:r=new RS(j_.create(new X_(i))),jvt(r,[t.toString()],n);break;case Xb.NUMBER:case Xb.FLOAT:case Xb.DECIMAL:case Xb.INTEGER:{if(isNaN(Number(t)))return null;const e=i.path===Xb.INTEGER?Number.parseInt(Number(t).toString(),10):Number(t);r=new RS(j_.create(new X_(i))),jvt(r,[e],n);break}case Xb.DATE:case Xb.STRICTDATE:if(isNaN(Date.parse(t)))return null;r=new RS(j_.create(new X_(i))),jvt(r,[t],n);break;case Xb.DATETIME:if(isNaN(Date.parse(t))||!new Date(t).getTime()||t.includes("%")&&(isNaN(Date.parse(t.slice(1)))||!new Date(t.slice(1)).getTime()))return null;r=new RS(j_.create(new X_(i))),jvt(r,[t],n);break;default:return null}return r},SVi=(e,t)=>{const n=t?vf:e=>e,i=[n(e.func.value.name)];let r=e;for(;r instanceof US;){for(r=r.parametersValues[0];r instanceof VS&&k_(r.functionName,Rvt.SUBTYPE);){const e=`${Wb}(${n(r.parametersValues.filter(e=>e instanceof AS)[0]?.genericType?.value.rawType.name??"")})`;i.unshift(e),r=r.parametersValues[0]}r instanceof US&&i.unshift(n(r.func.value.name))}const s=[];for(const e of i)if(s.length){const t=dr(s[s.length-1]);t.startsWith(Wb)?s[s.length-1]=`${t}${e}`:s.push(e)}else s.push(e);return s.join(t?"/":".")},wVi=e=>{const t=[e.func.value.name];let n=e;for(;n instanceof US;)n=n.parametersValues[0],n instanceof US&&t.unshift(n.func.value.name);return t.join(".")},EVi=(e,t,n,i)=>{if(e.genericType){const r=e.genericType.value.rawType;if(r instanceof V_||r instanceof nC)return r===V_.LATESTDATE?new RS(j_.create(new X_(r))):vVi(t,r,i,n||0===e.multiplicity.lowerBound)}return(e=>new IS(A_.ZERO,j_.create(new X_(e.getType(exports.CORE_PURE_PATH.ANY)))))(t)};class xVi{queryBuilderState;path;title;propertyExpression;derivedProperty;parameters=[];propertyExpressionState;constructor(e,t,n){this.path=wVi(t),this.title=SVi(t,!0),this.propertyExpression=Nie(t,e.observerContext),this.queryBuilderState=e,this.derivedProperty=mr(t.func.value,pC),this.propertyExpressionState=n,Array.isArray(this.derivedProperty.parameters)&&(this.parameters=this.derivedProperty.parameters.map(e=>mr(this.queryBuilderState.graphManagerState.graphManager.buildValueSpecification(e,this.queryBuilderState.graphManagerState.graph),TS))),(e=>{const t=e.parameterValues;e.parameters.forEach((n,i)=>{i<e.parameterValues.length?t[i]=Mvt(e,i)??dr(t[i]):t.push(Mvt(e,i)??EVi(n,e.queryBuilderState.graphManagerState.graph,e.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue,e.queryBuilderState.observerContext))}),Bvt(e.propertyExpression,[dr(e.propertyExpression.parametersValues[0]),...t],e.queryBuilderState.observerContext)})(this)}get property(){return this.propertyExpression.func.value}get parameterValues(){return this.propertyExpression.parametersValues.slice(1)}get isValid(){return this.parameterValues.every(e=>!(e instanceof AS)||Kvt(e))}}class TVi{queryBuilderState;propertyExpression;path;title;isEditingDerivedPropertyExpression=!1;derivedPropertyExpressionStates=[];requiresExistsHandling=!1;constructor(e,t){hd(this,{isEditingDerivedPropertyExpression:Rc,derivedPropertyExpressionStates:Rc,setIsEditingDerivedProperty:Pu,initDerivedPropertyExpressionStates:Pu,isValid:Oc,hashCode:Oc}),this.queryBuilderState=e,this.propertyExpression=Nie(t,e.observerContext),this.path=wVi(t),this.title=SVi(t,!0),this.initDerivedPropertyExpressionStates()}get isValid(){return this.derivedPropertyExpressionStates.every(e=>e.isValid)}setIsEditingDerivedProperty(e){this.isEditingDerivedPropertyExpression=e}initDerivedPropertyExpressionStates(){let e=!1;const t=[];let n=this.propertyExpression;for(;n instanceof US;){if((void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(e=!0),n.func.value.genericType.value.rawType instanceof Z_&&0!==n.func.value._OWNER._generatedMilestonedProperties.length){const e=n.func.value.name,t=n.func.value._OWNER._generatedMilestonedProperties.find(t=>t.name===e);t&&Gvt(n,fC.create(t))}if(n.func.value instanceof pC){const e=new xVi(this.queryBuilderState,n,this);t.push(e)}for(n=n.parametersValues[0];n instanceof VS&&k_(n.functionName,Rvt.SUBTYPE);)n=n.parametersValues[0]}this.requiresExistsHandling=e,this.derivedPropertyExpressionStates=t.slice().reverse()}get hashCode(){return fv([ayt.PROPERTY_EXPRESSION_STATE,this.propertyExpression])}}class AVi{uuid=Mr()}class RVi{uuid=Mr();lambdaPrefix;lambdaString;parserError;compilationError;typeAheadEnabled=!1;constructor(e,t,n){hd(this,{lambdaString:Rc,parserError:Rc,compilationError:Rc,typeAheadEnabled:Rc,lambdaId:Oc,fullLambdaString:Oc,setLambdaString:Pu,setTypeAhead:Pu,clearErrors:Pu,setCompilationError:Pu,setParserError:Pu,convertLambdaGrammarStringToObject:Ju,convertLambdaObjectToGrammarString:Ju}),this.lambdaString=e,this.lambdaPrefix=t,this.typeAheadEnabled=n?.typeAheadEnabled??!1}get fullLambdaString(){return`${this.lambdaPrefix}${this.lambdaString}`}setLambdaString(e){this.lambdaString=e}setTypeAhead(e){this.typeAheadEnabled=e}clearErrors(e){this.setParserError(void 0),e?.preserveCompilationError&&this.compilationError?this.compilationError.sourceInformation=void 0:this.setCompilationError(void 0)}setCompilationError(e){e?.sourceInformation&&(e.sourceInformation=this.processSourceInformation(e.sourceInformation)),this.compilationError=e}setParserError(e){e?.sourceInformation&&(e.sourceInformation=this.processSourceInformation(e.sourceInformation)),this.parserError=e}processSourceInformation(e){const{sourceId:t,startLine:n,startColumn:i,endLine:r,endColumn:s}=e,o=this.lambdaPrefix.length;return new mJ(t,n+0,i-(1===n?o:0),r+0,s-(1===r?o:0))}extractLambdaString(e){return e.substring(e.indexOf(this.lambdaPrefix)+this.lambdaPrefix.length,e.length)}async getCodeComplete(e){return Promise.resolve(new J1)}}const NVi=(e,t,n,i)=>{const r=new HS(new GS(C_.create(e.getType(exports.CORE_PURE_PATH.ANY)),A_.ONE)),s=new Oq;s.values=[n];const o=new VS(I_(Rvt.RELATION_PROJECT)),a=new PS(A_.ONE,void 0),l=new MS;a.values=[l];const c=new mZ([]).build();return i.forEach((e,t)=>{const n=new kS;n.name=t,n.function1=new xS(_I(Xq(e,c))),l.colSpecs.push(n)}),o.parametersValues=[s,a],r.expressionSequence=[o],w7(r,t)},IVi=(e,t,n)=>{let i=e.body;return n.length&&(i=Array.isArray(e.body)?[...n,...e.body]:[...n,e.body]),new SS([...Array.isArray(e.parameters)?e.parameters:[],...t],i)},DVi="PROJECTION_COLUMN";class OVi extends AVi{tdsState;columnName;wavgWeight;constructor(e,t){super(),hd(this,{uuid:!1,tdsState:!1,columnName:Rc,wavgWeight:Rc,setColumnName:Pu,setWavgWeight:Pu,hashCode:Oc}),this.tdsState=e,this.columnName=t}setColumnName(e){this.columnName=e}setWavgWeight(e){this.wavgWeight=e}}class kVi extends OVi{lambdaParameterName=bvt;propertyExpressionState;constructor(e,t,n){super(e,""),hd(this,{lambdaParameterName:Rc,propertyExpressionState:Rc,setLambdaParameterName:Pu,changeProperty:Pu}),this.propertyExpressionState=new TVi(e.queryBuilderState,t),this.columnName=SVi(this.propertyExpressionState.propertyExpression,n)}setLambdaParameterName(e){this.lambdaParameterName=e}isVariableUsed(e){return Boolean(this.propertyExpressionState.derivedPropertyExpressionStates.find(t=>t.parameterValues.find(t=>syt(e,t))))}changeProperty(e,t){this.propertyExpressionState=new TVi(this.tdsState.queryBuilderState,vzi(e,this.tdsState.queryBuilderState.explorerState)),this.columnName=SVi(this.propertyExpressionState.propertyExpression,t)}getColumnType(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get hashCode(){return fv([ayt.SIMPLE_PROJECTION_COLUMN_STATE,this.propertyExpressionState,this.columnName])}}class LVi extends OVi{lambdaParameterName=bvt;column;constructor(e,t,n=!0){super(e,t.name),hd(this,{hashCode:jl,lambdaParameterName:Rc,setLambdaParameterName:Pu}),this.column=t,this.columnName=n?vf(t.name):t.name}getColumnType(){return this.column.genericType.value.rawType}setLambdaParameterName(e){this.lambdaParameterName=e}isVariableUsed(e){return!1}get hashCode(){return fv([ayt.RELATION_COLUMN_PROJECTION_COLUMN_STATE,this.column.name,this.columnName])}}class MVi extends RVi{queryBuilderState;derivationProjectionColumnState;readOnlylambdaJson="";constructor(e,t){super("",""),this.queryBuilderState=e,this.derivationProjectionColumnState=t}get lambdaId(){return Eie([pvt.QUERY_BUILDER,pvt.PROJECTION,this.derivationProjectionColumnState.uuid])}setLambdaJson(e){this.readOnlylambdaJson=e}*convertLambdaGrammarStringToObject(){const e=yW();if(this.lambdaString)try{const e=yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToLambda(this.fullLambdaString,this.lambdaId);this.setParserError(void 0),this.derivationProjectionColumnState.setLambda(e)}catch(e){bi(e),e instanceof pJ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.PARSING_FAILURE),e)}else this.clearErrors(),this.derivationProjectionColumnState.setLambda(e)}*convertLambdaObjectToGrammarString(e){if(this.derivationProjectionColumnState.lambda.body)try{const t=new Map;t.set(this.lambdaId,new SS(this.derivationProjectionColumnState.lambda.parameters,this.derivationProjectionColumnState.lambda.body));const n=(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(t,e?.pretty)).get(this.lambdaId);this.setLambdaString(void 0!==n?this.extractLambdaString(n):""),this.clearErrors({preserveCompilationError:e?.preserveCompilationError})}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.PARSING_FAILURE),e)}else this.clearErrors(),this.setLambdaString("")}}class PVi extends OVi{derivationLambdaEditorState;lambda;returnType;fetchingLambdaReturnTypeState=Py.create();constructor(e,t){super(e,"(derivation)"),hd(this,{lambda:Rc,returnType:Rc,fetchingLambdaReturnTypeState:Rc,setLambda:Pu,setResolvedLambdaReturnType:Pu,fetchDerivationLambdaReturnType:Ju,setLambdaReturnType:Pu}),this.derivationLambdaEditorState=new MVi(e.queryBuilderState,this),this.lambda=t}setLambda(e){this.lambda=e}setReturnType(e){this.returnType=e}*fetchDerivationLambdaReturnType(e){if(e?.forceRefresh||void 0===this.returnType)try{br(!this.fetchingLambdaReturnTypeState.isInProgress,"Fetching lambda return type already in progress"),this.fetchingLambdaReturnTypeState.inProgress(),e?.isBeingDropped&&this.tdsState.postFilterState.setDerivedColumnBeingDropped(this),e?.forceConversionStringToLambda&&(yield this.derivationLambdaEditorState.convertLambdaGrammarStringToObject().catch(this.tdsState.queryBuilderState.applicationStore.alertUnhandledError)),br(Array.isArray(this.lambda.parameters));const t=this.tdsState.queryBuilderState.graphManagerState.graph,n=this.tdsState.queryBuilderState.sourceElement;if(n instanceof Z_){const e=this.getIsolatedClassRawLambda(),n=yield this.tdsState.queryBuilderState.graphManagerState.graphManager.getLambdaReturnType(e,t);this.setLambdaReturnType(n)}else if(n instanceof Rq){const e=this.getIsolatedAccessorRawLambda(n),i=(yield this.tdsState.queryBuilderState.graphManagerState.graphManager.getLambdaRelationType(e,t)).columns.find(e=>e.name===this.columnName);i&&this.setLambdaReturnType(i.type)}}catch(e){bi(e),this.tdsState.queryBuilderState.applicationStore.logService.info(Hy.create(XS.COMPILATION_FAILURE),e)}finally{this.fetchingLambdaReturnTypeState.complete(),e?.isBeingDropped&&this.tdsState.postFilterState.setDerivedColumnBeingDropped(void 0)}}getIsolatedAccessorRawLambda(e){const{graphManagerState:t}=this.tdsState.queryBuilderState,n=NVi(t.graph,t,e,new Map([[this.columnName,this.lambda]]));return IVi(n,this.tdsState.getParameters(),this.tdsState.getLetExpressions())}getIsolatedClassRawLambda(){const e=mr(this.tdsState.queryBuilderState.sourceElement,Z_,"Expected source element to be a class");br(Array.isArray(this.lambda.parameters));const t=this.lambda.parameters;br(1===t.length);const n=t[0];vr(n.name);const i=this.tdsState.queryBuilderState,r=new wS(n.name,A_.ONE,C_.create(dr(e))),s=i.graphManagerState.graphManager.serializeRawValueSpecification(r);return IVi(new SS([s],this.lambda.body),this.tdsState.getParameters(),this.tdsState.getLetExpressions())}setLambdaReturnType(e){this.setResolvedLambdaReturnType(this.tdsState.queryBuilderState.graphManagerState.graph.getType(e))}setResolvedLambdaReturnType(e){br(e instanceof V_||e instanceof nC,"Projection column must have return type of either primitve type or enumeration"),this.setReturnType(e)}getColumnType(){return this.returnType}get hashCode(){return fv([ayt.DERIVATION_PROJECTION_COLUMN_STATE,this.returnType??"",this.lambda,this.columnName])}}class FVi{uuid=Mr();constructor(){hd(this,{getOperator:Oc,allValidationIssues:Oc,hashCode:Oc})}buildAggregateExpressionFromState(e){return this.buildAggregateExpression(e.projectionColumnState instanceof kVi?e.projectionColumnState.propertyExpressionState.propertyExpression:void 0,e.lambdaParameterName,e.aggregationState.tdsState.queryBuilderState.graphManagerState.graph)}getReturnType(e){return e.projectionColumnState.getColumnType()}get getOperator(){return this}get allValidationIssues(){return[]}}class BVi extends AVi{aggregationState;projectionColumnState;lambdaParameterName=bvt;operator;calendarFunction;hideCalendarColumnState=!0;constructor(e,t,n){super(),hd(this,{projectionColumnState:Rc,lambdaParameterName:Rc,calendarFunction:Rc,hideCalendarColumnState:Rc,operator:Rc,setHideCalendarColumnState:Pu,setColumnState:Pu,setLambdaParameterName:Pu,setOperator:Pu,setCalendarFunction:Pu,handleUsedPostFilterType:Pu,hashCode:Oc}),this.aggregationState=e,this.projectionColumnState=t,this.operator=n}setColumnState(e){this.projectionColumnState=e}setLambdaParameterName(e){this.lambdaParameterName=e}setHideCalendarColumnState(e){this.hideCalendarColumnState=e}setCalendarFunction(e){this.calendarFunction=e}setOperator(e){this.operator=e}getColumnType(){return this.operator.getReturnType(this)}handleUsedPostFilterType(e){void 0===this.getColumnType()&&this.projectionColumnState instanceof PVi&&this.projectionColumnState.setReturnType(e)}get hashCode(){return fv([ayt.AGGREGATE_COLUMN_STATE,this.operator,this.calendarFunction??""])}get columnName(){return this.projectionColumnState.columnName}}class VVi{tdsState;operators=[];calendarFunctions;columns=[];constructor(e,t,n){hd(this,{columns:Rc,removeColumn:Pu,addColumn:Pu,changeColumnAggregateOperator:Pu,disableCalendar:Pu,allValidationIssues:Oc,hashCode:Oc}),this.tdsState=e,this.operators=t,this.calendarFunctions=n}removeColumn(e){$r(this.columns,e)}addColumn(e){jr(this.columns,e)}changeColumnAggregateOperator(e,t,n){const i=this.columns.find(e=>e.projectionColumnState===t),r=this.operators.filter(e=>e.isCompatibleWithColumn(t));if(e){if(!r.includes(e))return;if(i){if(!n){const n=i.projectionColumnState.columnName.split(`(${i.operator.getLabel(i.projectionColumnState)})`)[0]??"";i.projectionColumnState.setColumnName(`${n} (${e.getLabel(t)})`)}i.setOperator(e.getOperator)}else{n||t.setColumnName(`${t.columnName} (${e.getLabel(t)})`);const i=new BVi(this,t,e.getOperator);i.setOperator(e.getOperator),this.addColumn(i),this.tdsState.moveColumn(this.tdsState.projectionColumns.indexOf(t),this.tdsState.projectionColumns.length-1)}}else if(i){if(!n){const e=i.projectionColumnState.columnName.split(`(${i.operator.getLabel(i.projectionColumnState)})`)[0]??"";i.projectionColumnState.setColumnName(e)}this.tdsState.moveColumn(this.tdsState.projectionColumns.indexOf(t),0),this.removeColumn(i)}}disableCalendar(){this.tdsState.queryBuilderState.setIsCalendarEnabled(!1),this.columns.forEach(e=>{e.setCalendarFunction(void 0),e.setHideCalendarColumnState(!0)})}get allValidationIssues(){return this.columns.map(e=>e.operator.allValidationIssues).flat()}get hashCode(){return fv([ayt.AGGREGATION_STATE,fv(this.columns)])}}const UVi=(e,t,n)=>{const i=new VS(I_(e));return i.parametersValues.push(new TS(t,A_.ONE)),i},GVi=(e,t,n,i,r)=>{if(k_(n.functionName,i)){const s=new BVi(e.tdsState.aggregationState,e,r);s.setLambdaParameterName(t.name),br(1===n.parametersValues.length,`Can't process ${I_(i)}() expression: ${I_(i)}() expects no argument`);const o=mr(n.parametersValues[0],TS,`Can't process ${I_(i)}() expression: only support ${I_(i)}() immediately following a variable expression`);return br(s.lambdaParameterName===o.name,`Can't process ${I_(i)}() expression: expects variable used in lambda body '${o.name}' to match lambda parameter '${s.lambdaParameterName}'`),br(r.isCompatibleWithColumn(s.projectionColumnState),`Can't process ${I_(i)}() expression: property is not compatible with operator`),s.setOperator(r),s}};class HVi extends FVi{getLabel(e){return"average"}isCompatibleWithColumn(e){if(e instanceof kVi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return UVi(Rvt.AVERAGE,t)}buildAggregateColumnState(e,t,n){return GVi(n,t,e,Rvt.AVERAGE,this)}getReturnType(e){return V_.FLOAT}get hashCode(){return fv([ayt.AGGREGATE_OPERATOR_AVERAGE])}}class zVi extends FVi{getLabel(e){return"count"}isCompatibleWithColumn(e){if(e instanceof kVi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t.path)||t instanceof nC}return!0}buildAggregateExpression(e,t,n){return UVi(Rvt.COUNT,t)}buildAggregateColumnState(e,t,n){return GVi(n,t,e,Rvt.COUNT,this)}getReturnType(e){return V_.INTEGER}get hashCode(){return fv([ayt.AGGREGATE_OPERATOR_COUNT])}}class jVi extends FVi{getLabel(e){return"distinct count"}isCompatibleWithColumn(e){if(e instanceof kVi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t.path)||t instanceof nC}return!0}buildAggregateExpression(e,t,n){const i=new VS(I_(Rvt.DISTINCT));i.parametersValues.push(new TS(t,A_.ONE));const r=new VS(I_(Rvt.COUNT));return r.parametersValues.push(i),r}buildAggregateColumnState(e,t,n){if(k_(e.functionName,Rvt.COUNT)){const i=new BVi(n.tdsState.aggregationState,n,this);i.setLambdaParameterName(t.name),br(1===e.parametersValues.length,"Can't process count() expression: count() expects no argument");const r=mr(e.parametersValues[0],VS,`Can't process '${this.getLabel(n)}' aggregate lambda: only support count() immediately following an expression`);br(k_(r.functionName,Rvt.DISTINCT),`Can't process '${this.getLabel(n)}' aggregate lambda: only support count() immediately following distinct() expression`),br(1===r.parametersValues.length,"Can't process distinct() expression: distinct() expects no argument");const s=mr(r.parametersValues[0],TS,"Can't process distinct() expression: only support distinct() immediately following a variable expression");return br(i.lambdaParameterName===s.name,`Can't process distinct() expression: expects variable used in lambda body '${s.name}' to match lambda parameter '${i.lambdaParameterName}'`),br(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process disc expression: property is not compatible with operator"),i.setOperator(this),i}}getReturnType(e){return V_.INTEGER}get hashCode(){return fv([ayt.AGGREGATE_OPERATOR_DISTINCT_COUNT])}}class WVi extends FVi{getLabel(e){return"max"}isCompatibleWithColumn(e){if(e instanceof kVi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return UVi([Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e?.func.value.genericType.value.rawType.path??Xb.NUMBER)?Rvt.DATE_MAX:Rvt.MAX,t)}buildAggregateColumnState(e,t,n){if(n instanceof kVi){switch(n.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path){case Xb.NUMBER:case Xb.INTEGER:case Xb.DECIMAL:case Xb.FLOAT:if(!k_(e.functionName,Rvt.MAX))return;return GVi(n,t,e,Rvt.MAX,this);case Xb.DATE:case Xb.STRICTDATE:case Xb.DATETIME:if(!k_(e.functionName,Rvt.DATE_MAX))return;return GVi(n,t,e,Rvt.DATE_MAX,this);default:return}}return k_(e.functionName,Rvt.MAX)?GVi(n,t,e,Rvt.MAX,this):k_(e.functionName,Rvt.DATE_MAX)?GVi(n,t,e,Rvt.DATE_MAX,this):void 0}get hashCode(){return fv([ayt.AGGREGATE_OPERATOR_MAX])}}class $Vi extends FVi{getLabel(e){return"min"}isCompatibleWithColumn(e){if(e instanceof kVi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return UVi([Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e?.func.value.genericType.value.rawType.path??Xb.NUMBER)?Rvt.DATE_MIN:Rvt.MIN,t)}buildAggregateColumnState(e,t,n){if(n instanceof kVi){switch(n.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path){case Xb.NUMBER:case Xb.INTEGER:case Xb.DECIMAL:case Xb.FLOAT:if(!k_(e.functionName,Rvt.MIN))return;return GVi(n,t,e,Rvt.MIN,this);case Xb.DATE:case Xb.STRICTDATE:case Xb.DATETIME:if(!k_(e.functionName,Rvt.DATE_MIN))return;return GVi(n,t,e,Rvt.DATE_MIN,this);default:return}}return k_(e.functionName,Rvt.MIN)?GVi(n,t,e,Rvt.MIN,this):k_(e.functionName,Rvt.DATE_MIN)?GVi(n,t,e,Rvt.DATE_MIN,this):void 0}get hashCode(){return fv([ayt.AGGREGATE_OPERATOR_MIN])}}class qVi extends FVi{getLabel(e){return"std dev (population)"}isCompatibleWithColumn(e){if(e instanceof kVi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return UVi(Rvt.STD_DEV_POPULATION,t)}buildAggregateColumnState(e,t,n){return GVi(n,t,e,Rvt.STD_DEV_POPULATION,this)}getReturnType(e){return V_.NUMBER}get hashCode(){return fv([ayt.AGGREGATE_OPERATOR_STD_DEV_POPULATION])}}class YVi extends FVi{getLabel(e){return"std dev (sample)"}isCompatibleWithColumn(e){if(e instanceof kVi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return UVi(Rvt.STD_DEV_SAMPLE,t)}buildAggregateColumnState(e,t,n){return GVi(n,t,e,Rvt.STD_DEV_SAMPLE,this)}getReturnType(e){return V_.NUMBER}get hashCode(){return fv([ayt.AGGREGATE_OPERATOR_STD_DEV_SAMPLE])}}class KVi extends FVi{getLabel(e){return"sum"}isCompatibleWithColumn(e){if(e instanceof kVi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return UVi(Rvt.SUM,t)}buildAggregateColumnState(e,t,n){return GVi(n,t,e,Rvt.SUM,this)}get hashCode(){return fv([ayt.AGGREGATE_OPERATOR_SUM])}}class XVi{columnState;sortType=Ivt.ASC;constructor(e){hd(this,{columnState:Rc,sortType:Rc,setColumnState:Pu,setSortType:Pu,hashCode:Oc}),this.columnState=e}setColumnState(e){this.columnState=e}setSortType(e){this.sortType=e}get hashCode(){return fv([ayt.SORT_COLUMN_STATE,this.sortType.toString(),this.columnState])}}class ZVi{tdsState;showModal=!1;limit;distinct=!1;sortColumns=[];slice;constructor(e){hd(this,{showModal:Rc,limit:Rc,distinct:Rc,sortColumns:Rc,slice:Rc.ref,setShowModal:Pu,setLimit:Pu,setDistinct:Pu,setSortColumns:Pu,addSortColumn:Pu,updateSortColumns:Pu,setSlice:Pu,reset:Pu,hashCode:Oc}),this.tdsState=e}setShowModal(e){this.showModal=e}setLimit(e){this.limit=void 0===e||e<=0?void 0:e}setDistinct(e){this.distinct=e}setSortColumns(e){this.sortColumns=e}addSortColumn(e){jr(this.sortColumns,e)}updateSortColumns(){this.sortColumns=this.sortColumns.filter(e=>this.tdsState.tdsColumns.includes(e.columnState))}setSlice(e){this.slice=e}reset(){this.sortColumns=[],this.distinct=!1,this.limit=void 0}get hashCode(){return fv([ayt.RESULT_SET_MODIFIER_STATE,fv(this.sortColumns),this.limit?.toString()??"",this.distinct.toString()])}}var QVi;!function(e){e.TABULAR_DATA_STRUCTURE="TABULAR_DATA_STRUCTURE",e.GRAPH_FETCH="GRAPH_FETCH"}(QVi||(QVi={}));class JVi{queryBuilderState;fetchStructureState;constructor(e,t){hd(this,{usedExplorerTreePropertyNodeIDs:Oc,fetchStructureValidationIssues:Oc,allValidationIssues:Oc,hasInvalidFilterValues:Oc,hasInvalidDerivedPropertyParameters:Oc,hashCode:Oc}),this.queryBuilderState=e,this.fetchStructureState=t}get TEMPORARY__showPostFetchStructurePanel(){return this.queryBuilderState.filterState.showPanel}}class eUi{uuid=Mr();getTDSColumnGetter(){}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!!t&&this.isCompatibleWithType(t)}}const tUi=(e,t)=>dr(((e,t)=>e.tdsColumns.find(e=>e.columnName===t))(e,t),`Column ${t} not found in TDS`),nUi=e=>{if(e instanceof nC)return Nvt.GET_ENUM;switch(e.path){case Xb.STRING:return Nvt.GET_STRING;case Xb.NUMBER:return Nvt.GET_NUMBER;case Xb.INTEGER:return Nvt.GET_INTEGER;case Xb.FLOAT:return Nvt.GET_FLOAT;case Xb.DECIMAL:return Nvt.GET_DECIMAL;case Xb.DATE:return Nvt.GET_DATE;case Xb.DATETIME:return Nvt.GET_DATETIME;case Xb.STRICTDATE:return Nvt.GET_STRICTDATE;case Xb.BOOLEAN:return Nvt.GET_BOOLEAN;default:throw new yi(`Can't find TDS column derived property name for type: '${e.path}'`)}};var iUi;!function(e){e.AND="and",e.OR="or"}(iUi||(iUi={}));const rUi=e=>{switch(e){case iUi.AND:return Rvt.AND;case iUi.OR:return Rvt.OR;default:throw new yi(`Can't derive function name from group operation '${e}'`)}},sUi=e=>{if(k_(e,Rvt.AND))return iUi.AND;if(k_(e,Rvt.OR))return iUi.OR;throw new yi(`Can't derive group operation from function name '${e}'`)},oUi=(e,t)=>{const n=t.tdsState,i=e.func.value.name;br(Object.values(Nvt).includes(i),`Can't process TDS column expression: TDS column property '${i}' not supported. Supported types are ${Object.values(Nvt).join(",")}`);const r=i,s=e.parametersValues[1],o=Ar(mr(s,RS,"Can`t process TDS column expression: Column should be a primitive instance value").values[0],"Can`t process TDS column expression: Column should be a string primitive instance value"),a=tUi(n,o);if(r!==Nvt.IS_NULL&&r!==Nvt.IS_NOT_NULL){if(a instanceof PVi){const e=nGi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.setReturnType(e),a}if(a instanceof BVi&&a.projectionColumnState instanceof PVi){const e=nGi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.handleUsedPostFilterType(e),a}const e=dr(a.getColumnType());br(nUi(e)===r,`Can't process TDS column expression: expected column type ${nUi(e)} (got ${r})`)}return a},aUi=(e,t,n,i)=>{let r;const s=i.getTDSColumnGetter();if(s&&t instanceof US&&t.func.value.name===s){const n=oUi(t,e);return r=new uGi(e,n,i),r}if(n&&k_(t.functionName,n)){br(2===t.parametersValues.length,`Can't process ${I_(n)}() expression: ${I_(n)}() expects '1 argument'`);const s=t.parametersValues[0];let o;if(s instanceof US)o=oUi(s,e);else{if(!(s instanceof BS))throw new yi(`Can't process ${I_(n)}() expression: expects property expression in lambda body`);{const t=s.functionName;o=tUi(e.tdsState,t)}}const a=t.parametersValues[1];r=new uGi(e,o,i),((e,t)=>{if(e instanceof US){const n=_i(()=>oUi(e,t.postFilterState));if(n)return void t.setRightConditionVal(new cGi(t,n))}else if(e instanceof BS&&e.func instanceof Y_){const n=_i(()=>tUi(t.postFilterState.tdsState,e.func.name));if(n)return void t.setRightConditionVal(new cGi(t,n))}const n=e?oyt(e,t.postFilterState.tdsState.queryBuilderState.observerContext):void 0;t.setRightConditionVal(new lGi(t,n))})(a,r),br(i.isCompatibleWithPostFilterColumn(r),`Can't process ${I_(n)}() expression: property is not compatible with post-filter operator`),br(i.isCompatibleWithConditionValue(r),`Operator '${i.getLabel()}' not compatible with value specification ${a?.toString()}`)}return r},lUi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(!k_(e.functionName,[Rvt.AND,Rvt.OR])){for(const n of t.operators){const r=n.buildPostFilterConditionState(t,e);if(r)return void t.addNodeFromNode(new sGi(void 0,r),i)}throw new yi("Can't process post-filter expression: no compatible post-filter operator processer available from plugins")}{const r=new rGi(n,sUi(e.functionName));t.nodes.set(r.id,r),e.parametersValues.forEach(e=>lUi(mr(e,BS,"Can't process post-filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}},cUi=(e,t,n,i,r)=>{const s=r?.expressionSequence[0]?VK(r.expressionSequence[0]):void 0,o=new TS(e.postFilterState.lambdaParameterName,A_.ONE);if(s){const e=dr(s.columns.find(e=>t.columnName===e.name),`Can't find property ${t.columnName} in relation`),n=new BS(e.name);return n.func=e,n.parametersValues=[o],n}if(t instanceof LVi){const e=t.column,n=new BS(e.name);return n.func=e,n.parametersValues=[o],n}{const e=new US("");let r;const s=i?i.getTDSColumnGetter():void 0;if(s)r=s;else{const e=dr(t.getColumnType());r=nUi(e)}e.func=fC.create(dr(vE(n.getClass(xvt.TDS_ROW)).find(e=>e.name===r)));const a=new RS(j_.create(new X_(V_.STRING)));return a.values=[t.columnName],e.parametersValues=[o,a],e}},uUi=(e,t,n,i)=>{const r=e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,s=cUi(e,e.leftConditionValue,r,t,i);if(n){const t=new VS(I_(n));return t.parametersValues.push(s),e.rightConditionValue.appendConditionValue(t,i),t}return s};class dUi extends eUi{getLabel(){return"starts with"}isCompatibleWithType(e){return Jvt(e)===Xb.STRING}isCompatibleWithConditionValue(e){const t=e.rightConditionValue.type;return!e.rightConditionValue.isCollection&&void 0!==t&&Jvt(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();if(t?.path===Xb.STRING)return vVi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new yi(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}buildPostFilterConditionExpression(e,t){return uUi(e,this,Rvt.STARTS_WITH,t)}buildPostFilterConditionState(e,t){return aUi(e,t,Rvt.STARTS_WITH,this)}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_START_WITH])}}class hUi extends dUi{getLabel(){return"doesn't start with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Zvt(n):void 0}buildPostFilterConditionState(e,t){const n=Xvt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_NOT_START_WITH])}}const pUi=e=>e.getValue()instanceof jS?pUi(mr(e.getValue(),jS)):e.getValue(),gUi=(e,t,n,i,r)=>{const s=new US("");let o;s.func=e.func,s.parametersValues=[...e.parametersValues];let a=s;for(;a instanceof US;){if(o=a.parametersValues[0],o instanceof US){const e=new US("");e.func=o.func,e.parametersValues=[...o.parametersValues],o=e,Vvt(a,e,0,t.observerContext)}if(a instanceof US&&a.func.value instanceof pC)if(i?.useAllVersionsForMilestoning&&a.func.value.genericType.value.rawType instanceof Z_&&0!==a.func.value._OWNER._generatedMilestonedProperties.length){const e=a.func.value.name,n=a.func.value._OWNER._generatedMilestonedProperties.find(t=>t.name===`${e}${i_.ALL_VERSIONS}`);n&&(Gvt(a,fC.create(n)),Bvt(a,[dr(a.parametersValues[0])],t.observerContext))}else{const e=a;a.parametersValues.slice(1).forEach((t,n)=>{t instanceof jS&&(!r&&t.isPropagatedValue?1===n&&3===e.parametersValues.length||0===n&&3===e.parametersValues.length&&!(e.parametersValues[2]instanceof jS&&!0===e.parametersValues[2].isPropagatedValue)?e.parametersValues[n+1]=pUi(t):e.parametersValues=[dr(mr(a,US).parametersValues[0])]:e.parametersValues[n+1]=pUi(t))})}for(a=o;a instanceof VS&&k_(a.functionName,Rvt.SUBTYPE);)a=a.parametersValues[0]}return a instanceof TS&&Hvt(a,n),s};var mUi;!function(e){e.GROUP_CONDITION="QUERY_BUILDER_FILTER_DND_TYPE.GROUP_CONDITION",e.CONDITION="QUERY_BUILDER_FILTER_DND_TYPE.CONDITION",e.BLANK_CONDITION="QUERY_BUILDER_FILTER_DND_TYPE.BLANK_CONDITION"}(mUi||(mUi={}));const fUi=e=>{let t=e;for(;t instanceof US;){if(void 0===t.func.value.multiplicity.upperBound||t.func.value.multiplicity.upperBound>1)return!0;for(t=t.parametersValues[0];t instanceof VS&&k_(t.functionName,Rvt.SUBTYPE);)t=t.parametersValues[0]}return!1};class vUi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return fv([ayt.FILTER_CONDITION_RIGHT_VALUE])}}class yUi extends vUi{value;constructor(e,t){super(e),hd(this,{value:Rc,setValue:Pu}),this.value=this.setValue(t)}get type(){return this.value instanceof IS?Yvt(this.conditionState.filterState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?qvt(this.value):void 0}setValue(e){return this.value=e?Yie(e,this.conditionState.filterState.queryBuilderState.observerContext):void 0,this.value}get isCollection(){return this.value instanceof IS}get hashCode(){return fv([ayt.FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class bUi extends vUi{propertyExpressionState;constructor(e,t){super(e),hd(this,{propertyExpressionState:Rc,changePropertyExpressionState:Pu}),this.propertyExpressionState=t}get type(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get isCollection(){return fUi(this.propertyExpressionState.propertyExpression)}changePropertyExpressionState(e){this.propertyExpressionState=e}}class _Ui extends vUi{columnName;columnType;columnMultiplicity;constructor(e,t,n,i){super(e),hd(this,{columnName:Rc,columnType:Rc,columnMultiplicity:Rc,changeColumn:Pu}),this.columnName=t,this.columnType=n,this.columnMultiplicity=i}get type(){return this.columnType}get isCollection(){return void 0===this.columnMultiplicity.upperBound||this.columnMultiplicity.upperBound>1}changeColumn(e,t,n){this.columnName=e,this.columnType=t,this.columnMultiplicity=n}get hashCode(){return fv([ayt.FILTER_CONDITION_RIGHT_VALUE_RELATION_COLUMN,this.columnName,this.columnMultiplicity.lowerBound,this.columnMultiplicity.upperBound??""])}}class CUi{}class SUi extends CUi{propertyExpressionState;constructor(e){super(),this.propertyExpressionState=e}get type(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get label(){return this.propertyExpressionState.title}get title(){return this.propertyExpressionState.title}get isValid(){return this.propertyExpressionState.isValid}get requiresExistsHandling(){return this.propertyExpressionState.requiresExistsHandling}buildLeftExpression(e,t){return dr(gUi(this.propertyExpressionState.propertyExpression,e,t))}get hashCode(){return fv([ayt.FILTER_CONDITION_SOURCE_PROPERTY_EXPRESSION,this.propertyExpressionState])}}class wUi extends CUi{columnName;columnType;columnMultiplicity;constructor(e,t,n){super(),this.columnName=e,this.columnType=t,this.columnMultiplicity=n}get multiplicity(){return this.columnMultiplicity}get type(){return this.columnType}get label(){return this.columnName}get title(){return this.columnName}get isValid(){return!0}get requiresExistsHandling(){return!1}buildLeftExpression(e,t){const n=e.sourceRelationType;if(n){const e=dr(n.columns.find(e=>e.name===this.columnName),`Can't find column '${this.columnName}' in relation`),i=new BS(e.name);return i.func=e,i.parametersValues=[new TS(t,A_.ONE)],i}throw new vi(`Can't build expression for relation column '${this.columnName}': no source relation type`)}get hashCode(){return fv([ayt.FILTER_CONDITION_SOURCE_RELATION_COLUMN,this.columnName,this.columnMultiplicity.lowerBound,this.columnMultiplicity.upperBound??""])}}class EUi{filterState;sourceState;operator;rightConditionValue;existsLambdaParamNames=[];typeaheadSearchResults;typeaheadSearchState=Py.create();constructor(e,t,n){hd(this,{sourceState:Rc,operator:Rc,rightConditionValue:Rc,existsLambdaParamNames:Rc,typeaheadSearchResults:Rc,changeOperator:Pu,setOperator:Pu,setRightConditionValue:Pu,addExistsLambdaParamNames:Pu,buildRightConditionValueFromValueSpec:Pu,buildRightConditionValueFromPropertyExpressionState:Pu,buildRightConditionValueFromRelationColumn:Pu,handleTypeaheadSearch:Ju,operators:Oc,hashCode:Oc}),this.filterState=e,this.sourceState=t instanceof US?new SUi(new TVi(e.queryBuilderState,t)):t,n?this.operator=n:(br(0!==this.operators.length,`Can't find an operator for property '${this.sourceState.title}': no operators registered`),this.operator=this.operators[0]),this.buildRightConditionValueFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}get propertyExpressionState(){return mr(this.sourceState,SUi,"Filter condition source is not a property expression").propertyExpressionState}get leftConditionType(){return this.sourceState.type}get operators(){return this.filterState.operators.filter(e=>e.isCompatibleWithFilterConditionProperty(this))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=mr(this.rightConditionValue,yUi),n=e??t.value;if(eGi(n)){const e=(yield this.filterState.queryBuilderState.graphManagerState.graphManager.runQuery(QUi(this.filterState.queryBuilderState,this.propertyExpressionState.propertyExpression,n),dr(this.filterState.queryBuilderState.executionContextState.mapping),dr(this.filterState.queryBuilderState.executionContextState.runtimeValue),this.filterState.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.filterState.queryBuilderState.forceFromExpressionForExec})).executionResult;this.typeaheadSearchResults=JUi(e)}this.typeaheadSearchState.pass()}catch(e){bi(e),this.typeaheadSearchResults=[],this.typeaheadSearchState.fail()}finally{this.typeaheadSearchState.complete()}}changeOperator(e){if(this.setOperator(e),!this.operator.isCompatibleWithFilterConditionValue(this)){let e=this.operator.getDefaultFilterConditionValue(this);e instanceof IS&&this.rightConditionValue instanceof yUi&&this.rightConditionValue.value instanceof AS&&Kvt(this.rightConditionValue.value)&&""!==this.rightConditionValue.value.values[0]?jvt(e,[this.rightConditionValue.value],this.filterState.queryBuilderState.observerContext):e instanceof AS&&this.rightConditionValue instanceof yUi&&this.rightConditionValue.value instanceof IS&&this.rightConditionValue.value.values.length&&(e=this.rightConditionValue.value.values[0]),this.buildRightConditionValueFromValueSpec(e)}}setOperator(e){this.operator=e}setRightConditionValue(e){this.rightConditionValue=e}addExistsLambdaParamNames(e){this.existsLambdaParamNames.push(e)}buildRightConditionValueFromValueSpec(e){this.rightConditionValue instanceof yUi?this.rightConditionValue.setValue(e):this.setRightConditionValue(new yUi(this,e))}buildRightConditionValueFromPropertyExpressionState(e){this.rightConditionValue instanceof bUi?this.rightConditionValue.changePropertyExpressionState(e):this.setRightConditionValue(new bUi(this,e))}buildRightConditionValueFromRelationColumn(e,t,n){this.rightConditionValue instanceof _Ui?this.rightConditionValue.changeColumn(e,t,n):this.setRightConditionValue(new _Ui(this,e,t,n))}get hashCode(){return fv([ayt.FILTER_CONDITION_STATE,this.sourceState,this.rightConditionValue??"",this.operator])}}class xUi{id=Mr();label="";isOpen;parentId;constructor(e){this.parentId=e,hd(this,{isOpen:Rc,parentId:Rc,setIsOpen:Pu,setParentId:Pu,hashCode:Oc})}setIsOpen(e){this.isOpen=e}setParentId(e){this.parentId=e}}class TUi extends xUi{childrenIds=[];lambdaParameterName;constructor(e){super(e),hd(this,{childrenIds:Rc,addChildNode:Pu,removeChildNode:Pu,dragPreviewLabel:Oc}),this.isOpen=!0}addChildNode(e){jr(this.childrenIds,e.id),e.setParentId(this.id)}removeChildNode(e){$r(this.childrenIds,e.id),e.setParentId(void 0)}addChildNodeAt(e,t){this.childrenIds.find(t=>t===e.id)||(t=Math.max(0,Math.min(t,this.childrenIds.length-1)),this.childrenIds.splice(t,0,e.id),e.setParentId(this.id))}}class AUi extends TUi{groupOperation;constructor(e,t){super(e),hd(this,{groupOperation:Rc,setGroupOperation:Pu}),this.groupOperation=t,this.isOpen=!0}get dragPreviewLabel(){return`${this.groupOperation.toUpperCase()} group`}setGroupOperation(e){this.groupOperation=e}get hashCode(){return fv([ayt.FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",fv(this.childrenIds),this.groupOperation,this.lambdaParameterName??""])}}class RUi extends TUi{filterState;propertyExpressionState;constructor(e,t){super(t),hd(this,{propertyExpressionState:Rc,setPropertyExpression:Pu}),this.filterState=e,this.isOpen=!0}get dragPreviewLabel(){return"exists"}setPropertyExpression(e){this.propertyExpressionState=new TVi(this.filterState.queryBuilderState,e)}get hashCode(){return fv([ayt.FILTER_TREE_EXISTS_NODE_DATA,this.parentId??"",fv(this.childrenIds),this.propertyExpressionState.propertyExpression,this.lambdaParameterName??""])}}const NUi=e=>{let t=e.condition.filterState.getParentNode(e);for(;void 0!==t;){if(t instanceof RUi)return!0;t=e.condition.filterState.getParentNode(t)}return!1};class IUi extends xUi{condition;isNewlyAdded;constructor(e,t){super(e),hd(this,{condition:Rc,isNewlyAdded:Rc,setIsNewlyAdded:Pu,dragPreviewLabel:Oc}),this.isNewlyAdded=!1,this.condition=t}setIsNewlyAdded(e){this.isNewlyAdded=e}get dragPreviewLabel(){return this.condition.sourceState.title}get hashCode(){return fv([ayt.FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class DUi extends xUi{constructor(e){super(e),hd(this,{dragPreviewLabel:Oc})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return fv([ayt.FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class OUi{queryBuilderState;lambdaParameterName=bvt;rootIds=[];nodes=new Map;selectedNode;isRearrangingConditions=!1;operators=[];showPanel=!0;constructor(e,t){hd(this,{rootIds:Rc,nodes:Rc,selectedNode:Rc,isRearrangingConditions:Rc,lambdaParameterName:Rc,showPanel:Rc,setLambdaParameterName:Pu,setRearrangingConditions:Pu,setSelectedNode:Pu,addNodeFromNode:Pu,replaceBlankNodeWithNode:Pu,addGroupConditionNodeFromNode:Pu,newGroupConditionFromNode:Pu,newGroupWithConditionFromNode:Pu,removeNodeAndPruneBranch:Pu,pruneTree:Pu,simplifyTree:Pu,collapseTree:Pu,setShowPanel:Pu,expandTree:Pu,allValidationIssues:Oc,hasInvalidFilterValues:Oc,hasInvalidDerivedPropertyParameters:Oc,hashCode:Oc}),this.queryBuilderState=e,this.operators=t}get isEmpty(){return!this.nodes.size&&!this.rootIds.length}setLambdaParameterName(e){this.lambdaParameterName=e}setShowPanel(e){this.showPanel=e}setRearrangingConditions(e){this.isRearrangingConditions=e}setSelectedNode(e){this.selectedNode=e}getNode(e){return dr(this.nodes.get(e),`Can't find query builder filter tree node with ID '${e}'`)}getRootNode(){br(this.rootIds.length<2,"Query builder filter tree cannot have more than 1 root");const e=this.rootIds[0];return e?this.getNode(e):void 0}getParentNode(e){return e.parentId?mr(this.nodes.get(e.parentId),TUi):void 0}addRootNode(e){const t=this.getRootNode();if(this.nodes.set(e.id,e),t instanceof AUi)t.addChildNode(e);else if(t instanceof IUi||t instanceof DUi||t instanceof RUi){const n=new AUi(void 0,iUi.AND);n.addChildNode(t),n.addChildNode(e),this.rootIds=[n.id],this.nodes.set(n.id,n)}else t||(this.rootIds=[e.id])}addNodeFromNode(e,t){if(t instanceof AUi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof RUi)if(t.childrenIds.length){this.nodes.set(e.id,e);const n=new AUi(void 0,iUi.AND);n.addChildNode(dr(this.nodes.get(dr(t.childrenIds[0])))),n.addChildNode(e),n.lambdaParameterName=t.lambdaParameterName,this.nodes.set(n.id,n),t.childrenIds=[],t.addChildNode(n)}else this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof IUi||t instanceof DUi){this.nodes.set(e.id,e);const n=this.getParentNode(t);n?n.addChildNode(e):this.addRootNode(e)}else this.selectedNode||this.addRootNode(e)}replaceBlankNodeWithNode(e,t){this.nodes.set(e.id,e);const n=this.getParentNode(t);if(n){const i=n.childrenIds.findIndex(e=>e===t.id);n.addChildNodeAt(e,i),n.removeChildNode(t)}else this.addRootNode(e);this.removeNode(t)}addGroupConditionNodeFromNode(e){const t=new AUi(void 0,iUi.AND),n=new DUi(void 0),i=new DUi(void 0);this.nodes.set(n.id,n),this.nodes.set(i.id,i),t.addChildNode(n),t.addChildNode(i),this.addNodeFromNode(t,e)}newGroupConditionFromNode(e,t,n){const i=this.getParentNode(e),r=new AUi(void 0,n??iUi.AND);return this.nodes.set(r.id,r),i?.removeChildNode(e),r.addChildNode(e),t&&(this.nodes.set(t.id,t),r.addChildNode(t)),r.lambdaParameterName=i?.lambdaParameterName??this.lambdaParameterName,i?i.addChildNode(r):($r(this.rootIds,e.id),this.addRootNode(r)),r}newGroupWithConditionFromNode(e,t){const n=e??new DUi(void 0);if(t instanceof IUi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new AUi(void 0,iUi.AND);this.nodes.set(n.id,n),this.nodes.set(r.id,r),r.addChildNode(t),r.addChildNode(n),r.lambdaParameterName=e.lambdaParameterName,e.addChildNodeAt(r,i)}else this.addRootNode(n)}}removeNode(e){this.nodes.delete(e.id),e instanceof TUi&&[...e.childrenIds].forEach(t=>e.removeChildNode(this.getNode(t)));const t=this.getParentNode(e);t?t.removeChildNode(e):$r(this.rootIds,e.id)}pruneChildlessGroupNodes(){const e=()=>Array.from(this.nodes.values()).filter(pr(AUi)).filter(e=>!e.childrenIds.length);let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}pruneOrphanNodes(){const e=()=>Array.from(this.nodes.values()).filter(e=>!e.parentId&&!this.rootIds.includes(e.id));let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}squashGroupNode(e){if(e.childrenIds.length<2){const t=this.getParentNode(e);[...e.childrenIds].forEach(n=>{const i=this.getNode(n);e.removeChildNode(i),t?t.addChildNode(i):jr(this.rootIds,n)}),this.nodes.delete(e.id),t?t.removeChildNode(e):$r(this.rootIds,e.id)}}removeNodeAndPruneBranch(e){const t=this.getParentNode(e);if(this.removeNode(e),t){t.removeChildNode(e);let n=t;for(;n&&n instanceof AUi&&!(n.childrenIds.length>=2);)this.squashGroupNode(n),n=this.getParentNode(n)}else $r(this.rootIds,e.id);this.pruneOrphanNodes(),this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}pruneTree(){this.setSelectedNode(void 0),Array.from(this.nodes.values()).filter(e=>e instanceof DUi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(pr(AUi)).filter(e=>e.childrenIds.length<2).filter(e=>{if(!e.childrenIds.length)throw new vi("Query builder filter tree found unexpected childless group nodes");const t=e.childrenIds[0];if(this.getNode(t)instanceof DUi)throw new vi("Query builder filter tree found unexpected blank nodes");return this.getNode(t)instanceof IUi});let t=e();for(;t.length;)t.forEach(e=>this.squashGroupNode(e)),t=e();this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}simplifyTree(){this.setSelectedNode(void 0);const e=()=>Array.from(this.nodes.values()).filter(pr(AUi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;const t=this.nodes.get(e.parentId);return t instanceof AUi&&t.groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=mr(this.nodes.get(dr(e.parentId)),AUi);[...e.childrenIds].forEach(e=>{const n=this.getNode(e);t.addChildNode(n)}),t.removeChildNode(e),this.nodes.delete(e.id)}),t=e()}isValidMove(e,t){const n=e===t;let i=!1,r=this.getParentNode(t);for(;r;){if(r===e){i=!0;break}r=this.getParentNode(r)}return!n&&!i}moveNode(e,t){}collapseTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!1))}expandTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!0))}isVariableUsed(e){return Boolean(Array.from(this.nodes.values()).filter(pr(IUi)).map(e=>e.condition.rightConditionValue instanceof yUi?e.condition.rightConditionValue.value:void 0).filter(cr).find(t=>syt(e,t)))}isInvalidFilterPropertyExpressionState(e){return e instanceof IUi&&!e.condition.sourceState.isValid}isInvalidValueSpecFilterValue(e){return e instanceof IUi&&e.condition.rightConditionValue instanceof yUi&&e.condition.rightConditionValue.value instanceof AS&&!Kvt(e.condition.rightConditionValue.value)}isInvalidPropertyExpressionStateFilterValue(e){return e instanceof IUi&&e.condition.rightConditionValue instanceof bUi&&!e.condition.rightConditionValue.propertyExpressionState.isValid}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof IUi&&(this.isInvalidValueSpecFilterValue(t)&&e.push(`Filter value for ${t.condition.sourceState.title} is missing or invalid`),this.isInvalidFilterPropertyExpressionState(t)&&e.push(`Derived property parameter value for ${t.condition.sourceState.title} is missing or invalid`),t.condition.rightConditionValue instanceof bUi&&this.isInvalidPropertyExpressionStateFilterValue(t)&&e.push(`Derived property parameter value for ${t.condition.rightConditionValue.propertyExpressionState.title} is missing or invalid`))}),e}get hasInvalidFilterValues(){return Array.from(this.nodes.values()).some(e=>this.isInvalidValueSpecFilterValue(e))}get hasInvalidDerivedPropertyParameters(){return Array.from(this.nodes.values()).some(e=>this.isInvalidFilterPropertyExpressionState(e)||this.isInvalidPropertyExpressionStateFilterValue(e))}get hashCode(){return fv([ayt.FILTER_STATE,fv(this.rootIds),fv(Array.from(this.nodes.values()))])}}const kUi=(e,t)=>{if(t instanceof IUi){const n=t.parentId?mr(e.nodes.get(t.parentId),TUi):void 0;return t.condition.operator.buildFilterConditionExpression(t.condition,n?.lambdaParameterName)}if(t instanceof AUi){const n=new VS(I_(rUi(t.groupOperation))),i=t.childrenIds.map(t=>e.nodes.get(t)).filter(cr).map(t=>kUi(e,t)).filter(cr);if(i.length>2){const e=i[0];let r=i[i.length-1];for(let e=i.length-2;e>0;--e){const n=i[e],s=r,o=new VS(I_(rUi(t.groupOperation)));o.parametersValues=[n,s],r=o}n.parametersValues=[e,r]}else n.parametersValues=i;return n.parametersValues.length?n:void 0}if(t instanceof RUi){const n=new VS(I_(Rvt.EXISTS));let i=t.parentId?mr(e.nodes.get(dr(t.parentId)),TUi):void 0;for(;i&&!(i instanceof AUi);)i=i.parentId?mr(e.nodes.get(dr(i.parentId)),TUi):void 0;const r=t.parentId?mr(e.nodes.get(dr(t.parentId)),TUi).lambdaParameterName:void 0,s=dr(gUi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,r??e.lambdaParameterName)),o=t.childrenIds.map(t=>e.nodes.get(t)).filter(cr).map(t=>kUi(e,t)).filter(cr);let a;if(o.length>2){const e=o[0];let t=o[o.length-1];for(let e=o.length-2;e>0;--e){const n=o[e],r=t,s=new VS(dr(i).groupOperation);s.parametersValues=[n,r],t=s}a=[e,t]}else{if(1===o.length){const i=nyt([t.lambdaParameterName??bvt],o,e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,i],n}a=o}if(!a.length)return;const l=new VS(I_(rUi(dr(i).groupOperation)));l.parametersValues=a;const c=nyt([t.lambdaParameterName??bvt],[l],e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,c],n}};var LUi,MUi;!function(e){e.RUN="RUN",e.EXPORT="EXPORT",e.DATA_CUBE="DATA_CUBE"}(LUi||(LUi={})),function(e){e.LAMBDA_PARAMETER_STATE="LAMBDA_PARAMETER_STATE",e.LAMBDA_PARAMETERS_STATE="LAMBDA_PARAMETERS_STATE"}(MUi||(MUi={}));const PUi=(e,t)=>{const n=new HS(new GS(C_.create(e.getType(exports.CORE_PURE_PATH.ANY)),A_.ONE));return n.expressionSequence=t.map(e=>{if(e.value){const t=new VS(I_(exports.SUPPORTED_FUNCTIONS.LET)),n=new RS(j_.create(new X_(V_.STRING)));return n.values=[e.variableName],t.parametersValues.push(n),t.parametersValues.push(e.value),t}}).filter(cr),n},FUi=e=>e.value instanceof VS&&[A_.ONE,A_.ZERO_ONE].some(t=>xE(t,e.parameter.multiplicity)),BUi=e=>e.filter(FUi),VUi=(e,t)=>e.filter(e=>!FUi(e)).map(e=>{const n=new aK;return n.name=e.parameter.name,n.value=t.graphManager.serializeValueSpecification(dr(e.value)),n}),UUi=(e,t,n)=>{const i=((e,t)=>{const n=BUi(e);if(n.length>0){const i=PUi(t.graph,n);return i.functionType.parameters=e.filter(e=>!n.includes(e)).map(e=>e.parameter),w7(i,t)}})(t,n);return i&&Array.isArray(e.body)&&Array.isArray(i.body)?(i.body=[...i.body,...e.body],i):e};class GUi{uuid=Mr();parameter;graph;observerContext;value;constructor(e,t,n){hd(this,{value:Rc,setValue:Pu,mockParameterValue:Pu,hashCode:Oc}),this.observerContext=t,this.parameter=Tie(e),this.graph=n}get hashCode(){return fv([MUi.LAMBDA_PARAMETER_STATE,this.parameter])}mockParameterValue(){this.setValue(bVi(this.parameter,this.graph,this.observerContext))}setValue(e){if(e instanceof TS)throw new vi("Can not assign a parameter to another parameter");this.value=e?Yie(e,this.observerContext):void 0}changeVariableType(e){e!==this.variableType&&(Pvt(this.parameter,j_.create(new X_(e))),this.mockParameterValue())}changeMultiplicity(e,t){const n=this.parameter.multiplicity;xE(n,t)||(Fvt(e,t),this.mockParameterValue())}get variableName(){return this.parameter.name}get variableType(){return this.parameter.genericType?.value.rawType}}class HUi{showModal=!1;submitAction;constructor(){hd(this,{showModal:Rc,submitAction:Rc,setShowModal:Pu,open:Pu,setSubmitAction:Pu})}setShowModal(e){this.showModal=e}setSubmitAction(e){this.submitAction=e}open(e,t){this.setSubmitAction({handler:e,label:t}),this.setShowModal(!0)}close(){this.setSubmitAction(void 0),this.setShowModal(!1)}}class zUi{parameterStates=[];parameterValuesEditorState=new HUi;constructor(){hd(this,{hashCode:Oc})}get hashCode(){return fv([MUi.LAMBDA_PARAMETERS_STATE,fv(this.parameterStates)])}addParameter(e){jr(this.parameterStates,e)}removeParameter(e){$r(this.parameterStates,e)}setParameters(e){this.parameterStates=e}}class jUi{queryBuilderState;mapping;runtimeValue;constructor(e){this.queryBuilderState=e}setMapping(e){this.mapping=e}setRuntimeValue(e){this.runtimeValue=e}get specifiedInQuery(){return!1}get explicitMappingValue(){return this.mapping}get explicitRuntimeValue(){return this.runtimeValue}}class WUi extends jUi{constructor(e){super(e),hd(this,{mapping:Rc,runtimeValue:Rc,setMapping:Pu,setRuntimeValue:Pu})}get specifiedInQuery(){return!0}get explicitMappingValue(){}get explicitRuntimeValue(){}}class $Ui extends jUi{constructor(e){super(e),hd(this,{mapping:Rc,runtimeValue:Rc,setMapping:Pu,setRuntimeValue:Pu})}}const qUi=(e,t)=>{const n=new VS(I_(Avt.GET_ALL)),i=new AS(t,j_.create(new X_(e)));return i.values[0]=C_.create(e),n.parametersValues.push(i),n},YUi=(e,t)=>{const n=new VS(I_(Avt.GET_ALL_VERSIONS)),i=new AS(t,j_.create(new X_(e)));return i.values[0]=C_.create(e),n.parametersValues.push(i),n},KUi=(e,t)=>{const n=new HS(new GS(C_.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),A_.ONE)),i=dr(e.sourceElement,"Source element of type class or accessor is required to build query");if(i instanceof Z_){const i=dr(e.sourceClass,"Class is required to build query"),r=cE(i,e.graphManagerState.graph);if(r&&t?.useAllVersionsForMilestoning){const e=YUi(i,A_.ONE);n.expressionSequence[0]=e}else switch(e.getAllFunction){case Avt.GET_ALL_VERSIONS:if(!r)throw new yi("Unable to build query lamdba: getAllVersions() expects source class to be milestoned");{const e=YUi(i,A_.ONE);n.expressionSequence[0]=e}break;case Avt.GET_ALL_VERSIONS_IN_RANGE:if(!r)throw new yi("Unable to build query lamdba: getAllVersionsInRange() expects source class to be milestoned");{const t=((e,t)=>{const n=new VS(I_(Avt.GET_ALL_VERSIONS_IN_RANGE)),i=new AS(t,j_.create(new X_(e)));return i.values[0]=C_.create(e),n.parametersValues.push(i),n})(i,A_.ONE);e.milestoningState.getMilestoningImplementation(r).buildGetAllVersionsInRangeParameters(t),n.expressionSequence[0]=t}break;case Avt.GET_ALL:{const t=qUi(i,A_.ONE);r&&e.milestoningState.getMilestoningImplementation(r).buildGetAllParameters(t),n.expressionSequence[0]=t;break}default:throw new yi(`Unable to build query lambda: unknown ${e.getAllFunction} function`)}}else{const e=new Oq;e.values=[i],n.expressionSequence[0]=e}if(((e,t)=>{if(!e.value)return;const n=dr(t.expressionSequence[0]),i=new VS(I_(Rvt.WATERMARK));i.parametersValues.push(n),i.parametersValues.push(e.value),t.expressionSequence[0]=i})(e.watermarkState,n),((e,t)=>{const n=e.rootIds.map(t=>dr(e.nodes.get(t))).map(t=>kUi(e,t)).filter(cr);if(!n.length)return;const i=new VS(I_(Rvt.FILTER)),r=dr(t.expressionSequence[0]);i.parametersValues.push(r),i.parametersValues.push(nyt([e.lambdaParameterName],n,e.queryBuilderState.graphManagerState.graph)),t.expressionSequence[0]=i})(e.filterState,n),((e,t,n)=>{e.implementation.appendFetchStructure(t,n)})(e.fetchStructureState,n,t),t?.skipExecutionContext||e.buildExecutionContextExpression(n),e.constantState.constants.length){const t=e.constantState.constants.map(e=>e.buildLetExpression());n.expressionSequence=[...t,...n.expressionSequence]}return e.parametersState.parameterStates.length&&!t?.useAllVersionsForMilestoning&&(t?.isBuildingExecutionQuery?((e,t,n)=>{const i=BUi(t);if(i.length){e.functionType.parameters=t.filter(e=>!i.includes(e)).map(e=>e.parameter);const r=PUi(n.graph,i);e.expressionSequence=[...r.expressionSequence,...e.expressionSequence]}else e.functionType.parameters=t.map(e=>e.parameter)})(n,e.parametersState.parameterStates,e.graphManagerState):n.functionType.parameters=e.parametersState.parameterStates.map(e=>e.parameter)),n},XUi=(e,t,n)=>{const i=new US("");let r;i.func=e.func,i.parametersValues=[...e.parametersValues];let s=i;for(;s instanceof US;){if(r=s.parametersValues[0],r instanceof US){const e=new US("");e.func=r.func,e.parametersValues=[...r.parametersValues],r=e,s.parametersValues[0]=e}if(s instanceof US&&s.func.value.genericType.value.rawType instanceof Z_&&0!==s.func.value._OWNER._generatedMilestonedProperties.length&&s.func.value instanceof pC&&!s.func.value._OWNER.derivedProperties.includes(s.func.value)){const e=pVi(Rvt.NOW,V_.DATETIME),t=2===s.parametersValues.length?[e]:[e,e];Bvt(s,[dr(s.parametersValues[0]),...t],n)}for(s=r;s instanceof VS&&k_(s.functionName,Rvt.SUBTYPE);)s=s.parametersValues[0]}return s instanceof TS&&Hvt(s,t),i},ZUi=(e,t,n,i,r,s,o)=>{if(!(t||i&&r&&s))throw new yi("Can't build typeahead query");const a=new HS(new GS(C_.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),A_.ONE)),l=dr(e.sourceClass),c=qUi(dr(e.sourceClass),A_.ONE),u=cE(l,e.graphManagerState.graph);u&&e.milestoningState.getMilestoningImplementation(u).buildGetAllWithDefaultParameters(c),a.expressionSequence[0]=c;const d=t?SVi(t,!1):s;if(n){const r=new VS(I_(Rvt.TDS_GROUP_BY)),s=new IS(A_.ZERO),o=new IS(A_.ONE),l=new IS(A_.ONE),c=new RS(j_.create(new X_(V_.STRING)));c.values.push(d),l.values.push(c);const u=t?nyt([bvt],[t],e.graphManagerState.graph):i,h=new VS(I_(Rvt.TDS_AGG)),p=nyt([bvt],[n.buildAggregateExpression(t,bvt,e.graphManagerState.graph)],e.graphManagerState.graph);h.parametersValues=[dr(u),p],o.values.push(h),r.parametersValues=[a.expressionSequence[0],s,o,l],a.expressionSequence[0]=r}else{const n=new VS(I_(Rvt.TDS_PROJECT)),r=new IS(A_.ONE),s=new IS(A_.ONE),o=new RS(j_.create(new X_(V_.STRING)));o.values.push(d),s.values.push(o);const l=t?nyt([bvt],[t],e.graphManagerState.graph):i;r.values.push(dr(l)),n.parametersValues=[a.expressionSequence[0],r,s],a.expressionSequence[0]=n}const h=new dUi,p=new US("");let g;const m=h.getTDSColumnGetter();if(m)g=m;else{const e=t?.func.value.genericType.value.rawType??r;g=nUi(dr(e))}p.func=fC.create(dr(vE(e.graphManagerState.graph.getClass(xvt.TDS_ROW)).find(e=>e.name===g)));const f=new TS(_vt,A_.ONE),v=new RS(j_.create(new X_(V_.STRING)));v.values=[d],p.parametersValues=[f,v];const y=new VS(I_(Rvt.STARTS_WITH));y.parametersValues.push(p),o&&y.parametersValues.push(o);const b=nyt([_vt],[y],e.graphManagerState.graph),_=new VS(I_(Rvt.TDS_FILTER)),C=dr(a.expressionSequence[0]);_.parametersValues=[C,b],a.expressionSequence[0]=_;let S=a.expressionSequence[0];const w=new VS(I_(Rvt.TDS_DISTINCT));w.parametersValues[0]=S,S=w;const E=new RS(j_.create(new X_(V_.INTEGER)));E.values=[10];const x=new VS(I_(Rvt.TDS_TAKE));return x.parametersValues[0]=S,x.parametersValues[1]=E,S=x,a.expressionSequence[0]=S,w7(a,e.graphManagerState)},QUi=(e,t,n)=>{const i=XUi(t,bvt,e.observerContext);return ZUi(e,i,void 0,void 0,void 0,void 0,n)},JUi=e=>{const t=mr(e,gQ,"Typeahead search is only supported for TDS result sets"),n=[];return t.result.rows.map(e=>e.values[0]).filter(cr).forEach(e=>{_r(e)&&n.push(e)}),n},eGi=e=>{if(e instanceof RS){if(e.genericType.value.rawType.path===Xb.STRING){return e.values[0].length>=2}return!1}return!1};var tGi;!function(e){e.GROUP_CONDITION="QUERY_BUILDER_POST_FILTER_DND_TYPE.GROUP_CONDITION",e.CONDITION="QUERY_BUILDER_POST_FILTER_DND_TYPE.CONDITION",e.BLANK_CONDITION="QUERY_BUILDER_POST_FILTER_DND_TYPE.BLANK_CONDITION"}(tGi||(tGi={}));const nGi=(e,t)=>{switch(e){case Nvt.GET_STRING:return V_.STRING;case Nvt.GET_NUMBER:return V_.NUMBER;case Nvt.GET_INTEGER:return V_.INTEGER;case Nvt.GET_FLOAT:return V_.FLOAT;case Nvt.GET_DECIMAL:return V_.DECIMAL;case Nvt.GET_DATE:return V_.DATE;case Nvt.GET_DATETIME:return V_.DATETIME;case Nvt.GET_STRICTDATE:return V_.STRICTDATE;case Nvt.GET_BOOLEAN:return V_.BOOLEAN;default:return}};class iGi{id=Mr();label="";isOpen;parentId;constructor(e){this.parentId=e,hd(this,{isOpen:Rc,parentId:Rc,setIsOpen:Pu,setParentId:Pu,hashCode:Oc})}setIsOpen(e){this.isOpen=e}setParentId(e){this.parentId=e}}class rGi extends iGi{groupOperation;childrenIds=[];constructor(e,t){super(e),hd(this,{groupOperation:Rc,setGroupOperation:Pu,childrenIds:Rc,addChildNode:Pu,removeChildNode:Pu,dragPreviewLabel:Oc}),this.groupOperation=t,this.isOpen=!0}get dragPreviewLabel(){return`${this.groupOperation.toUpperCase()} group`}setGroupOperation(e){this.groupOperation=e}addChildNode(e){jr(this.childrenIds,e.id),e.setParentId(this.id)}removeChildNode(e){$r(this.childrenIds,e.id),e.setParentId(void 0)}addChildNodeAt(e,t){this.childrenIds.find(t=>t===e.id)||(t=Math.max(0,Math.min(t,this.childrenIds.length-1)),this.childrenIds.splice(t,0,e.id),e.setParentId(this.id))}get hashCode(){return fv([ayt.POST_FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",fv(this.childrenIds),this.groupOperation])}}class sGi extends iGi{condition;isNewlyAdded;constructor(e,t,n){super(e),hd(this,{condition:Rc,isNewlyAdded:Rc,setIsNewlyAdded:Pu,dragPreviewLabel:Oc}),this.condition=t,this.isNewlyAdded=n??!1}setIsNewlyAdded(e){this.isNewlyAdded=e}get dragPreviewLabel(){return this.condition.columnName}get hashCode(){return fv([ayt.POST_FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class oGi extends iGi{constructor(e){super(e),hd(this,{dragPreviewLabel:Oc})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return fv([ayt.POST_FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class aGi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return fv([ayt.POST_FILTER_CONDITION_RIGHT_VALUE])}}class lGi extends aGi{value;constructor(e,t){super(e),hd(this,{value:Rc,setValue:Pu}),this.value=this.setValue(t)}get type(){return this.value instanceof IS?Yvt(this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?qvt(this.value):void 0}setValue(e){return this.value=e?Yie(e,this.conditionState.postFilterState.tdsState.queryBuilderState.observerContext):void 0,this.value}appendConditionValue(e,t){this.value&&e.parametersValues.push(this.value)}get isCollection(){return this.value instanceof IS}get hashCode(){return fv([ayt.POST_FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class cGi extends aGi{tdsColumn;constructor(e,t){super(e),hd(this,{tdsColumn:Rc,changeCol:Pu}),this.tdsColumn=t}get type(){return this.tdsColumn.getColumnType()}get isCollection(){return!1}appendConditionValue(e,t){const n=cUi(this.conditionState,this.tdsColumn,this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,void 0,t);e.parametersValues.push(n)}changeCol(e){this.tdsColumn=e}}class uGi{postFilterState;leftConditionValue;rightConditionValue;operator;typeaheadSearchResults;typeaheadSearchState=Py.create();constructor(e,t,n){hd(this,{postFilterState:Rc,rightConditionValue:Rc,operator:Rc,leftConditionValue:Rc,typeaheadSearchResults:Rc,changeOperator:Pu,setColumnState:Pu,setRightConditionVal:Pu,buildFromValueSpec:Pu,setOperator:Pu,changeColumn:Ju,handleTypeaheadSearch:Ju,columnName:Oc,hashCode:Oc}),this.postFilterState=e,this.leftConditionValue=t,this.rightConditionValue=new lGi(this,void 0),n?this.operator=n:(br(0!==this.operators.length,`Can't find an operator for column '${this.leftConditionValue.columnName}`),this.operator=dr(this.operators[0]))}get columnName(){return this.leftConditionValue.columnName}get operators(){return this.postFilterState.operators.filter(e=>e.isCompatibleWithPostFilterColumn(this))}setRightConditionVal(e){this.rightConditionValue=e}buildFromValueSpec(e){this.rightConditionValue instanceof lGi?this.rightConditionValue.setValue(e):this.setRightConditionVal(new lGi(this,e))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=this.leftConditionValue instanceof OVi||this.leftConditionValue instanceof BVi?this.leftConditionValue:void 0,n=dr(t),i=mr(this.rightConditionValue,lGi),r=e??i.value;if(eGi(r)){const e=(yield this.postFilterState.tdsState.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t,n)=>{let i,r,s,o,a,l;return t instanceof OVi?l=t:(l=t.projectionColumnState,r=t.operator),l instanceof PVi?(s=new xS(_I(Xq(l.lambda,new mZ([]).build()))),o=l.columnName,a=l.returnType):i=XUi(mr(l,kVi).propertyExpressionState.propertyExpression,bvt,e.observerContext),ZUi(e,i,r,s,a,o,n)})(this.postFilterState.tdsState.queryBuilderState,n,r),dr(this.postFilterState.tdsState.queryBuilderState.executionContextState.mapping),dr(this.postFilterState.tdsState.queryBuilderState.executionContextState.runtimeValue),this.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.postFilterState.tdsState.queryBuilderState.forceFromExpressionForExec})).executionResult;this.typeaheadSearchResults=JUi(e)}this.typeaheadSearchState.pass()}catch(e){bi(e),this.typeaheadSearchState.fail()}finally{this.typeaheadSearchState.complete()}}changeOperator(e){this.setOperator(e),this.operator.isCompatibleWithConditionValue(this)||this.buildFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}setColumnState(e){this.leftConditionValue=e}setOperator(e){this.operator=e}*changeColumn(e){try{const t=this.postFilterState.tdsState.aggregationState.columns.find(t=>t.projectionColumnState===e),n=t??e;n instanceof PVi&&(yield n.fetchDerivationLambdaReturnType()),this.setColumnState(n),this.operator.isCompatibleWithPostFilterColumn(this)||this.setOperator(dr(this.operators[0])),this.operator.isCompatibleWithConditionValue(this)||this.buildFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}catch(t){bi(t),this.postFilterState.tdsState.queryBuilderState.applicationStore.notificationService.notifyError(`Can't drag column '${e.columnName}' due to: ${t.message}`)}}get hashCode(){return fv([ayt.POST_FILTER_CONDITION_STATE,this.leftConditionValue,this.rightConditionValue,this.operator])}}class dGi{tdsState;lambdaParameterName=_vt;selectedNode;isRearrangingConditions=!1;operators=[];rootIds=[];nodes=new Map;derivedColumnBeingDropped;constructor(e,t){hd(this,{tdsState:!1,selectedNode:Rc,isRearrangingConditions:Rc,rootIds:Rc,nodes:Rc,lambdaParameterName:Rc,derivedColumnBeingDropped:Rc,setLambdaParameterName:Pu,setSelectedNode:Pu,addNodeFromNode:Pu,addGroupConditionNodeFromNode:Pu,newGroupWithConditionFromNode:Pu,removeNodeAndPruneBranch:Pu,pruneTree:Pu,simplifyTree:Pu,collapseTree:Pu,expandTree:Pu,replaceBlankNodeWithNode:Pu,setRearrangingConditions:Pu,setDerivedColumnBeingDropped:Pu,allValidationIssues:Oc,hasInvalidFilterValues:Oc,hasInvalidDerivedPropertyParameters:Oc,hashCode:Oc}),this.tdsState=e,this.operators=t}setRearrangingConditions(e){this.isRearrangingConditions=e}setSelectedNode(e){this.selectedNode=e}getNode(e){return dr(this.nodes.get(e),`Can't find query builder post-filter tree node with ID '${e}'`)}setDerivedColumnBeingDropped(e){this.derivedColumnBeingDropped=e}get isEmpty(){return!this.nodes.size&&!this.rootIds.length}getParentNode(e){return e.parentId?mr(this.nodes.get(e.parentId),rGi):void 0}get referencedTDSColumns(){return li(Array.from(this.nodes.values()).filter(pr(sGi)).map(e=>[e.condition.leftConditionValue,...e.condition.rightConditionValue instanceof cGi?[e.condition.rightConditionValue.tdsColumn]:[]]).flat())}getRootNode(){br(this.rootIds.length<2,"Query builder post-filter tree cannot have more than 1 root");const e=this.rootIds[0];return e?this.getNode(e):void 0}addRootNode(e){const t=this.getRootNode();if(this.nodes.set(e.id,e),t instanceof rGi)t.addChildNode(e);else if(t instanceof sGi||t instanceof oGi){const n=new rGi(void 0,iUi.AND);n.addChildNode(t),n.addChildNode(e),this.rootIds=[n.id],this.nodes.set(n.id,n)}else t||(this.rootIds=[e.id])}replaceBlankNodeWithNode(e,t){this.nodes.set(e.id,e);const n=this.getParentNode(t);if(n){const i=n.childrenIds.findIndex(e=>e===t.id);n.addChildNodeAt(e,i),n.removeChildNode(t)}else this.addRootNode(e);this.removeNode(t)}setLambdaParameterName(e){this.lambdaParameterName=e}addGroupConditionNodeFromNode(e){const t=new rGi(void 0,iUi.AND),n=new oGi(void 0),i=new oGi(void 0);this.nodes.set(n.id,n),this.nodes.set(i.id,i),t.addChildNode(n),t.addChildNode(i),this.addNodeFromNode(t,e)}newGroupWithConditionFromNode(e,t){const n=e??new oGi(void 0);if(t instanceof sGi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new rGi(void 0,iUi.AND);this.nodes.set(n.id,n),this.nodes.set(r.id,r),r.addChildNode(t),r.addChildNode(n),e.addChildNodeAt(r,i)}else this.addRootNode(n)}}addNodeFromNode(e,t){if(t instanceof rGi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof sGi||t instanceof oGi){this.nodes.set(e.id,e);const n=this.getParentNode(t);n?n.addChildNode(e):this.addRootNode(e)}else this.selectedNode||this.addRootNode(e)}removeNode(e){this.nodes.delete(e.id),e instanceof rGi&&[...e.childrenIds].forEach(t=>e.removeChildNode(this.getNode(t)));const t=this.getParentNode(e);t?t.removeChildNode(e):$r(this.rootIds,e.id)}removeNodeAndPruneBranch(e){const t=this.getParentNode(e);if(this.removeNode(e),t){t.removeChildNode(e);let n=t;for(;n&&!(n.childrenIds.length>=2);)this.squashGroupNode(n),n=this.getParentNode(n)}else $r(this.rootIds,e.id);this.pruneOrphanNodes(),this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}simplifyTree(){this.setSelectedNode(void 0);const e=()=>Array.from(this.nodes.values()).filter(pr(rGi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;return mr(this.nodes.get(e.parentId),rGi).groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=mr(this.nodes.get(dr(e.parentId)),rGi);[...e.childrenIds].forEach(e=>{const n=this.getNode(e);t.addChildNode(n)}),t.removeChildNode(e),this.nodes.delete(e.id)}),t=e()}pruneOrphanNodes(){const e=()=>Array.from(this.nodes.values()).filter(e=>!e.parentId&&!this.rootIds.includes(e.id));let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}pruneChildlessGroupNodes(){const e=()=>Array.from(this.nodes.values()).filter(pr(rGi)).filter(e=>!e.childrenIds.length);let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}pruneTree(){this.setSelectedNode(void 0),Array.from(this.nodes.values()).filter(e=>e instanceof oGi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(pr(rGi)).filter(e=>e.childrenIds.length<2).filter(e=>{if(!e.childrenIds.length)throw new vi("Query builder post-filter tree found unexpected childless group nodes");const t=e.childrenIds[0];if(this.getNode(t)instanceof oGi)throw new vi("Query builder post-filter tree found unexpected blank nodes");return this.getNode(t)instanceof sGi});let t=e();for(;t.length;)t.forEach(e=>this.squashGroupNode(e)),t=e();this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}squashGroupNode(e){if(e.childrenIds.length<2){const t=this.getParentNode(e);[...e.childrenIds].forEach(n=>{const i=this.getNode(n);e.removeChildNode(i),t?t.addChildNode(i):jr(this.rootIds,n)}),this.nodes.delete(e.id),t?t.removeChildNode(e):$r(this.rootIds,e.id)}}collapseTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!1))}expandTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!0))}isVariableUsed(e){return Boolean(Array.from(this.nodes.values()).filter(pr(sGi)).map(e=>e.condition.rightConditionValue).filter(pr(lGi)).map(e=>e.value).filter(cr).find(t=>syt(e,t)))}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof sGi&&(t.condition.rightConditionValue instanceof lGi&&t.condition.rightConditionValue.value instanceof AS&&!Kvt(t.condition.rightConditionValue.value)&&e.push(`Filter value for ${t.condition.leftConditionValue.columnName} is missing or invalid`),t.condition.leftConditionValue instanceof kVi&&!t.condition.leftConditionValue.propertyExpressionState.isValid&&e.push(`Derived property parameter value for ${t.condition.leftConditionValue.propertyExpressionState.title} is missing or invalid`))}),e}get hasInvalidFilterValues(){return Array.from(this.nodes.values()).some(e=>e instanceof sGi&&e.condition.rightConditionValue instanceof lGi&&e.condition.rightConditionValue.value instanceof AS&&!Kvt(e.condition.rightConditionValue.value))}get hasInvalidDerivedPropertyParameters(){return Array.from(this.nodes.values()).some(e=>e instanceof sGi&&e.condition.leftConditionValue instanceof kVi&&!e.condition.leftConditionValue.propertyExpressionState.isValid)}get hashCode(){return fv([ayt.POST_FILTER_STATE,fv(this.rootIds),fv(Array.from(this.nodes.values()))])}}class hGi extends eUi{getLabel(){return"is in list of"}isCompatibleWithType(e){const t=Jvt(e);return void 0!==t&&[Xb.STRING,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t)||e instanceof nC}isCompatibleWithConditionValue(e){const t=dr(e.leftConditionValue.getColumnType()),n=e.rightConditionValue;if(n instanceof lGi){const i=n.value;if(i instanceof IS){if(0===i.values.length)return!0;const n=Yvt(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,i.values);if(!n)return!1;const r=Jvt(t)??t.path,s=Jvt(n)??n.path;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(r)?[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(s):n===t||r===s}if(i instanceof TS)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=dr(e.leftConditionValue.getColumnType()),n=Jvt(t),i=void 0!==n?H_(n):t;return new IS(A_.ONE,j_.create(new X_(i)))}buildPostFilterConditionExpression(e,t){return uUi(e,this,Rvt.IN,t)}buildPostFilterConditionState(e,t){return aUi(e,t,Rvt.IN,this)}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_IN])}}class pGi extends hGi{getLabel(){return"is not in list of"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Zvt(n):void 0}buildPostFilterConditionState(e,t){const n=Xvt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_NOT_IN])}}class gGi extends eUi{getLabel(){return"is empty"}getTDSColumnGetter(){return Nvt.IS_NULL}isCompatibleWithType(e){return e instanceof V_||e instanceof U_||e instanceof nC}isCompatibleWithConditionValue(e){return e.rightConditionValue instanceof lGi&&void 0===e.rightConditionValue.value}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!(!t||!this.isCompatibleWithType(t))&&(e.leftConditionValue instanceof kVi?Qvt(e.leftConditionValue.propertyExpressionState.propertyExpression):!(e.leftConditionValue instanceof LVi)||0===e.leftConditionValue.column.multiplicity.lowerBound)}getDefaultFilterConditionValue(e){}buildPostFilterConditionExpression(e,t){const n=e.leftConditionValue instanceof LVi?Rvt.IS_EMPTY:void 0;return uUi(e,this,n,t)}buildPostFilterConditionState(e,t){if(t instanceof VS&&k_(t.functionName,Rvt.IS_EMPTY)&&1===t.parametersValues.length&&t.parametersValues[0]instanceof BS){const n=t.parametersValues[0],i=tUi(e.tdsState,n.functionName);return new uGi(e,i,this)}return aUi(e,t,void 0,this)}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_IS_EMPTY])}}class mGi extends gGi{getLabel(){return"is not empty"}getTDSColumnGetter(){return Nvt.IS_NOT_NULL}buildPostFilterConditionExpression(e,t){if(e.leftConditionValue instanceof LVi){const n=super.buildPostFilterConditionExpression(e,t);return n?Zvt(n):void 0}return super.buildPostFilterConditionExpression(e,t)}buildPostFilterConditionState(e,t){if(t instanceof VS){const n=Xvt(t);if(n)return super.buildPostFilterConditionState(e,n)}return super.buildPostFilterConditionState(e,t)}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_IS_NOT_EMPTY])}}class fGi extends eUi{getLabel(){return"is"}isCompatibleWithType(e){const t=Jvt(e);return void 0!==t&&[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t)||e instanceof nC&&e.values.length>0}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&eyt(e.rightConditionValue.type,dr(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=dr(e.leftConditionValue.getColumnType());return vVi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildPostFilterConditionExpression(e,t){return uUi(e,this,e.leftConditionValue.getColumnType()===V_.DATETIME&&e.rightConditionValue.type!==V_.DATETIME?Rvt.IS_ON_DAY:Rvt.EQUAL,t)}buildPostFilterConditionState(e,t){return aUi(e,t,t.parametersValues[0]instanceof US&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Rvt.IS_ON_DAY:Rvt.EQUAL,this)}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_EQUAL])}}class vGi extends fGi{getLabel(){return"is not"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Zvt(n):void 0}buildPostFilterConditionState(e,t){const n=Xvt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_NOT_EQUAL])}}class yGi extends eUi{getLabel(){return"<"}isCompatibleWithType(e){const t=Jvt(e);return void 0!==t&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t)}isCompatibleWithConditionValue(e){return eyt(e.rightConditionValue.isCollection?void 0:e.rightConditionValue.type,dr(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();switch(t?.path){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.INTEGER:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.DATE:return vVi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new yi(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}}buildPostFilterConditionExpression(e,t){return uUi(e,this,e.leftConditionValue.getColumnType()===V_.DATETIME&&e.rightConditionValue.type!==V_.DATETIME?Rvt.IS_BEFORE_DAY:Rvt.LESS_THAN,t)}buildPostFilterConditionState(e,t){return aUi(e,t,t.parametersValues[0]instanceof US&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Rvt.IS_BEFORE_DAY:Rvt.LESS_THAN,this)}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_LESS_THAN])}}class bGi extends yGi{getLabel(){return"<="}buildPostFilterConditionExpression(e,t){return uUi(e,this,e.leftConditionValue.getColumnType()===V_.DATETIME&&e.rightConditionValue.type!==V_.DATETIME?Rvt.IS_ON_OR_BEFORE_DAY:Rvt.LESS_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return aUi(e,t,t.parametersValues[0]instanceof US&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Rvt.IS_ON_OR_BEFORE_DAY:Rvt.LESS_THAN_EQUAL,this)}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_LESS_THAN_EQUAL])}}class _Gi extends eUi{getLabel(){return">"}isCompatibleWithType(e){const t=Jvt(e);return void 0!==t&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t)}isCompatibleWithConditionValue(e){return eyt(e.rightConditionValue.isCollection?void 0:e.rightConditionValue.type,dr(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();switch(t?.path){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.INTEGER:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.DATE:return vVi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new yi(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}}buildPostFilterConditionExpression(e,t){return uUi(e,this,e.leftConditionValue.getColumnType()===V_.DATETIME&&e.rightConditionValue.type!==V_.DATETIME?Rvt.IS_AFTER_DAY:Rvt.GREATER_THAN,t)}buildPostFilterConditionState(e,t){return aUi(e,t,t.parametersValues[0]instanceof US&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Rvt.IS_AFTER_DAY:Rvt.GREATER_THAN,this)}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_GREATER_THAN])}}class CGi extends _Gi{getLabel(){return">="}buildPostFilterConditionExpression(e,t){return uUi(e,this,e.leftConditionValue.getColumnType()===V_.DATETIME&&e.rightConditionValue.type!==V_.DATETIME?Rvt.IS_ON_OR_AFTER_DAY:Rvt.GREATER_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return aUi(e,t,t.parametersValues[0]instanceof US&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Rvt.IS_ON_OR_AFTER_DAY:Rvt.GREATER_THAN_EQUAL,this)}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class SGi extends eUi{getLabel(){return"contains"}isCompatibleWithType(e){return Jvt(e)===Xb.STRING}isCompatibleWithConditionValue(e){const t=e.rightConditionValue.type;return!e.rightConditionValue.isCollection&&void 0!==t&&Jvt(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=dr(e.leftConditionValue.getColumnType());if(t.path===Xb.STRING)return vVi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new yi(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildPostFilterConditionExpression(e,t){return uUi(e,this,Rvt.CONTAINS,t)}buildPostFilterConditionState(e,t){return aUi(e,t,Rvt.CONTAINS,this)}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_CONTAIN])}}class wGi extends SGi{getLabel(){return"doesn't contain"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Zvt(n):void 0}buildPostFilterConditionState(e,t){const n=Xvt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_NOT_CONTAIN])}}class EGi extends eUi{getLabel(){return"ends with"}isCompatibleWithType(e){return Jvt(e)===Xb.STRING}isCompatibleWithConditionValue(e){const t=e.rightConditionValue.type;return!e.rightConditionValue.isCollection&&void 0!==t&&Jvt(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();if(t?.path===Xb.STRING)return vVi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new yi(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}buildPostFilterConditionExpression(e,t){return uUi(e,this,Rvt.ENDS_WITH,t)}buildPostFilterConditionState(e,t){return aUi(e,t,Rvt.ENDS_WITH,this)}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_END_WITH])}}class xGi extends EGi{getLabel(){return"doesn't end with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Zvt(n):void 0}buildPostFilterConditionState(e,t){const n=Xvt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_NOT_END_WITH])}}class TGi extends FVi{getLabel(e){return"distinct"}isCompatibleWithColumn(e){if(e instanceof kVi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t.path)||t instanceof nC}return!0}buildAggregateExpression(e,t,n){return UVi(Rvt.UNIQUE_VALUE_ONLY,t)}buildAggregateColumnState(e,t,n){return GVi(n,t,e,Rvt.UNIQUE_VALUE_ONLY,this)}get hashCode(){return fv([ayt.AGGREGATE_OPERATOR_DISTINCT])}}class AGi extends FVi{getLabel(e){return"join"}isCompatibleWithColumn(e){return!(e instanceof kVi)||V_.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}buildAggregateExpression(e,t,n){const i=new VS(I_(Rvt.JOIN_STRINGS)),r=new RS(j_.create(new X_(V_.STRING)));return r.values=[";"],i.parametersValues.push(new TS(t,A_.ONE),r),i}buildAggregateColumnState(e,t,n){if(k_(e.functionName,Rvt.JOIN_STRINGS)){const i=new BVi(n.tdsState.aggregationState,n,this);i.setLambdaParameterName(t.name),br(2===e.parametersValues.length,"Can't process joinStrings() expression: joinStrings() expects 1 argument");const r=mr(e.parametersValues[0],TS,"Can't process joinStrings() expression: only support joinStrings() immediately following a variable expression");br(i.lambdaParameterName===r.name,`Can't process joinStrings() expression: expects variable used in lambda body '${r.name}' to match lambda parameter '${i.lambdaParameterName}'`);const s=mr(e.parametersValues[1],RS,"Can't process joinStrings() expression: joinStrings() expects arugment #1 to be a primitive instance value");return br(1===s.values.length&&";"===s.values[0],"Can't process joinStrings() expression: only support ';' as delimiter"),br(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process joinStrings() expression: property is not compatible with operator"),i.setOperator(this),i}}getReturnType(e){return V_.STRING}get hashCode(){return fv([ayt.AGGREGATE_OPERATOR_JOIN_STRING])}}class RGi extends FVi{percentile;acending;continuous;constructor(){super(),hd(this,{percentile:Rc,acending:Rc,continuous:Rc,setPercentile:Pu,setAcending:Pu,setContinuous:Pu})}setPercentile(e){this.percentile=e}setAcending(e){this.acending=e}setContinuous(e){this.continuous=e}getLabel(e){return"percentile"}isCompatibleWithColumn(e){if(e instanceof kVi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){const i=this.percentile?Number((this.percentile/100).toFixed(10)):0,r=new VS(I_(Rvt.PERCENTILE)),s=new RS(j_.create(new X_(V_.FLOAT)));if(s.values=[i],void 0===this.acending||void 0===this.continuous||this.acending&&this.continuous)r.parametersValues.push(new TS(t,A_.ONE),s);else{const e=new RS(j_.create(new X_(V_.BOOLEAN)));e.values=[this.acending];const n=new RS(j_.create(new X_(V_.BOOLEAN)));n.values=[this.continuous],r.parametersValues.push(new TS(t,A_.ONE),s,e,n)}return r}buildAggregateColumnState(e,t,n){if(k_(e.functionName,Rvt.PERCENTILE)){const i=new BVi(n.tdsState.aggregationState,n,new RGi),r=mr(i.operator,RGi);i.setLambdaParameterName(t.name),br([2,4].includes(e.parametersValues.length),"Can't process percentile() expression: percentile() expects 2 or 4 argument");const s=mr(e.parametersValues[0],TS,"Can't process percentile() expression: only support percentile() immediately following a variable expression");br(i.lambdaParameterName===s.name,`Can't process percentile() expression: expects variable used in lambda body '${s.name}' to match lambda parameter '${i.lambdaParameterName}'`);const o=mr(e.parametersValues[1],RS,"Can't process percentile() expression: percentile() expects arugment #2 to be a primitive instance value");if(r.percentile=parseFloat((100*o.values[0]).toFixed(10)),4===e.parametersValues.length){const t=mr(e.parametersValues[2],RS,"Can't process percentile() expression: percentile() expects arugment #3 to be a primitive instance value");r.acending=t.values[0];const n=mr(e.parametersValues[3],RS,"Can't process percentile() expression: percentile() expects arugment #4 to be a primitive instance value");r.continuous=n.values[0]}return br(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process percentile() expression: property is not compatible with operator"),i.setOperator(r),i}}get getOperator(){return new RGi}get allValidationIssues(){const e=[];return(void 0===this.percentile||this.percentile>100)&&e.push("Invalid Aggregation Argument for Percentile"),e}get hashCode(){return fv([ayt.AGGREGATE_OPERATOR_PERCENTILE])}}class NGi extends FVi{weight;constructor(){super(),hd(this,{weight:Rc,setWeight:Pu})}setWeight(e){this.weight=e}getLabel(e){return"wavg"}getName(e){return e.columnName}isCompatibleWithColumn(e){if(e instanceof kVi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!1}buildAggregateExpression(e,t,n){return UVi(Rvt.WAVG,t)}buildAggregateColumnState(e,t,n){if(k_(e.functionName,Rvt.WAVG)){const e=new BVi(n.tdsState.aggregationState,n,new NGi),i=mr(e.operator,NGi);return e.setLambdaParameterName(t.name),e.setOperator(i),e}}get getOperator(){return new NGi}get hashCode(){return fv([ayt.AGGREGATE_OPERATOR_WAVG])}}const IGi="WINDOW_COLUMN";class DGi{columnState;sortType;constructor(e,t){hd(this,{columnState:Rc,sortType:Rc,setColumnState:Pu,setSortType:Pu}),this.columnState=e,this.sortType=t}setColumnState(e){this.columnState=e}setSortType(e){this.sortType=e}get hashCode(){return fv([ayt.TDS_WINDOW_COLUMN_SORTBY_STATE,this.sortType,this.columnState.columnName])}}class OGi{windowState;lambdaParameterNames=[bvt];operator;constructor(e,t){this.windowState=e,this.operator=t}setLambdaParameterNames(e){this.lambdaParameterNames=e}addParameterName(e){this.lambdaParameterNames.push(e)}setOperator(e){this.operator=e}get hashCode(){return fv([ayt.TDS_WINDOW_GROUPBY_OPERATION_STATE,fv(this.lambdaParameterNames),this.operator])}}class kGi extends OGi{constructor(e,t){super(e,t),hd(this,{setLambdaParameterNames:Pu})}}class LGi extends OGi{columnState;constructor(e,t,n){super(e,t),hd(this,{columnState:Rc,setColumnState:Pu,setLambdaParameterNames:Pu}),this.columnState=n}setColumnState(e){this.columnState=e}get hashCode(){return fv([ayt.TDS_WINDOW_GROUPBY_AGG_OPERATOR_STATE,fv(this.lambdaParameterNames),this.operator,this.columnState.columnName])}}class MGi extends AVi{windowState;windowColumns=[];sortByState;operatorState;columnName;constructor(e,t,n,i,r){super(),hd(this,{windowColumns:Rc,sortByState:Rc,operatorState:Rc,columnName:Rc,setOperatorState:Rc,setColumnName:Pu,setSortBy:Pu,changeWindow:Pu,deleteWindow:Pu,addWindow:Pu,setWindows:Pu,changeOperator:Pu,changeSortBy:Pu}),this.windowState=e,this.windowColumns=t,this.sortByState=n,this.operatorState=i,this.columnName=r}get columnWindowGroupIdx(){return this.windowState.windowColumns.findIndex(e=>e===this)}get possibleReferencedColumns(){const e=this.windowState.tdsState.tdsColumns.findIndex(e=>e===this);return-1===e?this.windowState.tdsState.tdsColumns:this.windowState.tdsState.tdsColumns.slice(0,e)}get referencedTDSColumns(){const e=this.operatorState instanceof LGi?[this.operatorState.columnState]:[],t=this.sortByState?[this.sortByState.columnState]:[];return[...this.windowColumns,...t,...e]}getColumnType(){return this.operatorState.operator.getOperatorReturnType(this.windowState.tdsState.queryBuilderState.graphManagerState.graph)}setColumnName(e){this.columnName=e}setOperatorState(e){this.operatorState=e}setSortBy(e){this.sortByState=e}changeWindow(e,t){this.windowColumns[t]=e}addWindow(e){jr(this.windowColumns,e)}setWindows(e){this.windowColumns=e}deleteWindow(e){$r(this.windowColumns,e)}possibleAggregatedColumns(e){return e.isColumnAggregator()?this.possibleReferencedColumns.filter(t=>e.isCompatibleWithColumn(t)):[]}getChangeOperatorStateAndColumnName(e,t,n){if(e!==n){if(!n.isColumnAggregator())return{operatorState:new kGi(this.windowState,n),columnName:`${n.getLabel()}`};{const e=t&&n.isCompatibleWithColumn(t)?t:this.possibleAggregatedColumns(n)[0];if(e)return{operatorState:new LGi(this.windowState,n,e),columnName:`${n.getLabel()} of ${e.columnName}`}}}}changeOperator(e){const t=this.getChangeOperatorStateAndColumnName(this.operatorState.operator,this.operatorState instanceof LGi?this.operatorState.columnState:void 0,e);t&&(this.setOperatorState(t.operatorState),this.setColumnName(t.columnName))}changeSortBy(e){const t=this.sortByState;if(t?.sortType!==e)if(e){const n=t??new DGi(dr(this.possibleReferencedColumns[0]),e);n.setSortType(e),this.setSortBy(n)}else this.setSortBy(void 0)}get hashCode(){return fv([ayt.TDS_WINDOW_COLUMN_STATE,fv(this.windowColumns),this.sortByState??"",this.operatorState,this.columnName])}}class PGi{tdsState;windowColumns=[];operators;editColumn;constructor(e,t){hd(this,{windowColumns:Rc,editColumn:Rc,invalidWindowColumnNames:Oc,windowValidationIssues:Oc,addWindowColumn:Pu,removeColumn:Pu,moveColumn:Pu,setEditColumn:Pu}),this.tdsState=e,this.operators=t}get isEmpty(){return!this.windowColumns.length}get invalidWindowColumnNames(){const e=[];return this.windowColumns.forEach((t,n)=>{if(t.operatorState instanceof LGi&&t.operatorState.columnState instanceof MGi){const i=t.operatorState.columnState.columnName;t.windowState.isColumnOrderValid(i,n)||e.push({invalidColumnName:t.columnName,missingColumnName:i})}}),e}get windowValidationIssues(){const e=this.invalidWindowColumnNames,t=[];e.forEach(e=>{t.push(`Column '${e.invalidColumnName}' cannot exist before column name '${e.missingColumnName}'`)});const n=this.windowColumns.some(e=>this.windowColumns.filter(t=>t.columnName===e.columnName).length>1);n&&t.push("Query has duplicated window columns");const i=this.windowColumns.some(e=>this.tdsState.projectionColumns.filter(t=>t.columnName===e.columnName).length>0);return i&&t.push("Query has duplicated projection/window columns"),t}get referencedTDSColumns(){return li(this.windowColumns.map(e=>e.referencedTDSColumns).flat())}setEditColumn(e){this.editColumn=e}findOperator(e,t){return this.operators.find(n=>{const i=t?n.relationFunc:n.pureFunc;return i?k_(e,i):void 0})}addWindowColumn(e){jr(this.windowColumns,e)}removeColumn(e){$r(this.windowColumns,e)}moveColumn(e,t){const n=this.windowColumns[e],i=this.windowColumns[t];n&&i&&(this.windowColumns[e]=i,this.windowColumns[t]=n)}isColumnOrderValid(e,t){return this.windowColumns.slice(0,t).some(t=>t.columnName===e)}get hashCode(){return fv([ayt.TDS_WINDOW_GROUPBY_STATE,fv(this.windowColumns)])}}const FGi=(e,t)=>{const n=e.windowState.tdsState.queryBuilderState.graphManagerState.graph,i=e.windowColumns.map(e=>{const t=new RS(j_.create(new X_(V_.STRING)));return t.values=[e.columnName],t}),r=new IS(n.getMultiplicity(i.length,i.length));let s;if(r.values=i,e.sortByState){const t=e.sortByState;s=new VS((e=>{switch(e){case Ivt.ASC:return I_(Rvt.TDS_ASC);case Ivt.DESC:return I_(Rvt.TDS_DESC);default:throw new yi(`Unsupported column sort type ${e}`)}})(t.sortType));const n=new RS(j_.create(new X_(V_.STRING)));n.values=[t.columnState.columnName],s.parametersValues[0]=n}const o=e.operatorState,a=o.lambdaParameterNames[0]??Dyt,l=I_(dr(o.operator.pureFunc,`Operator '${o.operator.getLabel()}' does not have a compatible OLAP function`)),c=new VS(l);c.parametersValues=[new TS(a,A_.ONE)];const u=nyt([a],[c],n);let d;if(o instanceof LGi){const e=new RS(j_.create(new X_(V_.STRING)));e.values=[o.columnState.columnName],d=new VS(I_(Rvt.TDS_FUNC)),d.parametersValues=[e,u]}const h=d??u,p=new RS(j_.create(new X_(V_.STRING)));p.values=[e.columnName];const g=new VS(I_(Rvt.OLAP_GROUPBY)),m=dr(t.expressionSequence[0]);return g.parametersValues=[m,r,...s?[s]:[],h,p],t.expressionSequence[0]=g,t},BGi=e=>{const t=new VS(I_(Rvt.RELATION_OVER)),n=new PS(A_.ONE,void 0),i=new MS;if(n.values=[i],e.windowColumns.forEach(e=>{const t=new kS;t.name=e.columnName,i.colSpecs.push(t)}),t.parametersValues.push(n),e.sortByState){const n=e.sortByState,i=new VS((e=>{switch(e){case Ivt.ASC:return I_(Rvt.RELATION_ASC);case Ivt.DESC:return I_(Rvt.RELATION_DESC);default:throw new yi(`Unsupported column sort type ${e}`)}})(n.sortType)),r=new LS(A_.ONE,void 0),s=new kS;s.name=n.columnState.columnName,r.values=[s],i.parametersValues[0]=r;const o=new IS(A_.ONE);o.values=[i],t.parametersValues.push(o)}return t},VGi=(e,t)=>(e.tdsState.queryBuilderState.isFetchStructureTyped?e.windowColumns.forEach(e=>((e,t)=>{const n=e.windowState.tdsState.queryBuilderState.graphManagerState.graph,i=BGi(e),r=new PS(A_.ONE,void 0),s=new MS;r.values=[s];const o=new kS;o.name=e.columnName;const a=e.operatorState;if(1===a.lambdaParameterNames.length&&a.setLambdaParameterNames([Cvt,Svt,wvt]),a instanceof LGi&&a.operator.relationFunc){const e=I_(a.operator.relationFunc),[l=Cvt,c=Svt,u=wvt,d=Dyt]=a.lambdaParameterNames,h=new BS(a.columnState.columnName);h.func=new Y_(a.columnState.columnName,j_.create(new X_(V_.STRING))),h.parametersValues=[new TS(u,A_.ONE)];const p=nyt([l,c,u],[h],n);o.function1=p;const g=new VS(e);g.parametersValues=[new TS(d,A_.ONE)];const m=nyt([d],[g],n);o.function2=m,s.colSpecs.push(o);const f=new VS(I_(Rvt.RELATION_EXTEND)),v=dr(t.expressionSequence[0]);return f.parametersValues=[v,i,r],t.expressionSequence[0]=f,t}if(a instanceof kGi&&a.operator.relationFunc){const e=I_(a.operator.relationFunc),l=new VS(e),[c=Cvt,u=Svt,d=wvt]=a.lambdaParameterNames;e===I_(Rvt.RELATION_ROW_NUMBER)?l.parametersValues=[new TS(c,A_.ONE),new TS(d,A_.ONE)]:l.parametersValues=[new TS(c,A_.ONE),new TS(u,A_.ONE),new TS(d,A_.ONE)];const h=nyt([c,u,d],[l],n);o.function1=h,s.colSpecs.push(o);const p=new VS(I_(Rvt.RELATION_EXTEND)),g=dr(t.expressionSequence[0]);return p.parametersValues=[g,i,r],t.expressionSequence[0]=p,t}throw new yi("Unsupported window function. Function must be supported for typed TDS and be an aggregation or rank function.")})(e,t)):e.windowColumns.forEach(e=>FGi(e,t)),t),UGi=(e,t,n)=>{if(t instanceof sGi)return t.condition.operator.buildPostFilterConditionExpression(t.condition,n);if(t instanceof rGi){const i=new VS(I_(rUi(t.groupOperation))),r=t.childrenIds.map(t=>e.nodes.get(t)).filter(cr).map(t=>UGi(e,t,n)).filter(cr);if(r.length>2){const e=r[0];let n=r[r.length-1];for(let e=r.length-2;e>0;--e){const i=r[e],s=n,o=new VS(I_(rUi(t.groupOperation)));o.parametersValues=[i,s],n=o}i.parametersValues=[e,n]}else i.parametersValues=r;return i.parametersValues.length?i:void 0}};class GGi{_currentResultModifierFunc;graphManagerState;options;distinct=!1;sortColumns;limit;slice;constructor(e){this.graphManagerState=e}get currentExpression(){return dr(this._currentResultModifierFunc,"Current expression needs to be defined to build result modifier")}get supportedResultModifiersFunctions(){return[Rvt.TDS_PROJECT,Rvt.TDS_GROUP_BY,Rvt.TDS_FILTER,Rvt.OLAP_GROUPBY]}getSortTypeFunctionName(e){return e===Ivt.ASC?this.ascFunctionname:this.descFunctionName}setCurrentResultModifierFunction(e){this._currentResultModifierFunc=e}withOptions(e){return this.options=e,this}withDistinct(e){return this.distinct=e,this}withSortColumns(e){return e?.length&&(this.sortColumns=e),this}withLimit(e){return this.limit=e,this}withSlice(e){return this.slice=e,this}buildDistinctFunction(){const e=new VS(I_(this.distinctFunctionName));e.parametersValues[0]=this.currentExpression,this.setCurrentResultModifierFunction(e)}buildSortFunction(e){const t=new VS(I_(this.sortFunctionName)),n=this.graphManagerState.graph.getMultiplicity(e.length,e.length),i=new IS(n,void 0);i.values=e.map(e=>this.buildSortExpression(e)),t.parametersValues[0]=this.currentExpression,t.parametersValues[1]=i,this.setCurrentResultModifierFunction(t)}buildSortExpression(e){const t=new VS(I_(this.getSortTypeFunctionName(e.sortType)));return t.parametersValues[0]=this.buildColumnValueSpec(e.columnState.columnName),t}buildLimitFunction(e){const t=new RS(j_.create(new X_(V_.INTEGER)));t.values=[Math.min(e?this.options?.withDataOverflowCheck?e+1:e:Number.MAX_SAFE_INTEGER,this.options?.overridingLimit?this.options.withDataOverflowCheck?this.options.overridingLimit+1:this.options.overridingLimit:Number.MAX_SAFE_INTEGER)];const n=new VS(I_(this.limitFunctionName));n.parametersValues[0]=this.currentExpression,n.parametersValues[1]=t,this.setCurrentResultModifierFunction(n)}buildSliceFunction(e){const t=e[0],n=e[1],i=new RS(j_.create(new X_(V_.INTEGER))),r=new RS(j_.create(new X_(V_.INTEGER)));i.values=[t],r.values=[n];const s=new VS(I_(this.sliceFunctionName));s.parametersValues=[this.currentExpression,i,r],this.setCurrentResultModifierFunction(s)}build(e){if(1===e.expressionSequence.length){const t=e.expressionSequence[0];if(t instanceof VS&&k_(t.functionName,this.supportedResultModifiersFunctions))return this._currentResultModifierFunc=t,this.distinct&&this.buildDistinctFunction(),this.sortColumns&&this.buildSortFunction(this.sortColumns),(this.limit||this.options?.overridingLimit)&&this.buildLimitFunction(this.limit),this.slice&&this.buildSliceFunction(this.slice),e.expressionSequence[0]=this.currentExpression,e}return e}}class HGi extends GGi{get limitFunctionName(){return Rvt.TDS_TAKE}get sliceFunctionName(){return Rvt.SLICE}get sortFunctionName(){return Rvt.TDS_SORT}get distinctFunctionName(){return Rvt.TDS_DISTINCT}get ascFunctionname(){return Rvt.TDS_ASC}get descFunctionName(){return Rvt.TDS_DESC}buildColumnValueSpec(e){return(e=>{const t=new RS(j_.create(new X_(V_.STRING)));return t.values=[e],t})(e)}}class zGi extends GGi{get limitFunctionName(){return Rvt.RELATION_LIMIT}get sliceFunctionName(){return Rvt.RELATION_SLICE}get ascFunctionname(){return Rvt.RELATION_ASC}get descFunctionName(){return Rvt.RELATION_DESC}get sortFunctionName(){return Rvt.RELATION_SORT}get distinctFunctionName(){return Rvt.RELATION_DISTINCT}buildColumnValueSpec(e){const t=new LS(A_.ONE,void 0),n=new kS;return n.name=e,t.values=[n],t}}const jGi=(e,t,n)=>{const i=e.queryBuilderState,r=new VS(I_(Rvt.TDS_PROJECT)),s=new IS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length)),o=new IS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));return e.projectionColumns.forEach(t=>{const i=new RS(j_.create(new X_(V_.STRING)));i.values.push(t.columnName),o.values.push(i),s.values.push(((e,t,n)=>{if(t instanceof kVi)return nyt([t.lambdaParameterName],[gUi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n)],e.queryBuilderState.graphManagerState.graph);if(t instanceof PVi)return new xS(_I(Xq(t.lambda,new mZ([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())));throw new yi("Can't build project() column expression: unsupported projection column state",t)})(e,t,n))}),r.parametersValues=[t,s,o],r},WGi=(e,t,n)=>{const i=e.queryBuilderState,r=new VS(I_(Rvt.TDS_PROJECT)),s=new IS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));return e.projectionColumns.forEach(t=>{s.values.push(((e,t,n)=>{const i=new VS(I_(Rvt.TDS_COL));let r;if(t instanceof kVi)r=nyt([t.lambdaParameterName],[gUi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n)],e.queryBuilderState.graphManagerState.graph);else{if(!(t instanceof PVi))throw new yi("Can't build project() column expression: unsupported projection column state",t);r=new xS(_I(Xq(t.lambda,new mZ([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}const s=new RS(j_.create(new X_(V_.STRING)));return s.values.push(t.columnName),i.parametersValues=[r,s],i})(e,t,n))}),r.parametersValues=[t,s],r},$Gi=(e,t,n)=>{const i=e.queryBuilderState,r=dr(t.expressionSequence[0],"Can't build projection expression: preceding expression is not defined");if(e.aggregationState.columns.length&&!e.queryBuilderState.useRelation){const s=new VS(I_(Rvt.TDS_GROUP_BY)),o=new IS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length-e.aggregationState.columns.length,e.projectionColumns.length-e.aggregationState.columns.length)),a=new IS(i.graphManagerState.graph.getMultiplicity(e.aggregationState.columns.length,e.aggregationState.columns.length)),l=new IS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(t=>{const r=new RS(j_.create(new X_(V_.STRING)));r.values.push(t.columnName),l.values.push(r);const s=e.aggregationState.columns.find(e=>e.projectionColumnState===t);let c;if(t instanceof kVi)c=nyt([t.lambdaParameterName],[gUi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n,!0)],i.graphManagerState.graph);else{if(!(t instanceof PVi))throw new yi("Can't build project() column expression: unsupported projection column state",t);c=new xS(_I(Xq(t.lambda,new mZ([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}if(s){s.operator instanceof NGi&&s.setLambdaParameterName("y");const e=new VS(I_(Rvt.TDS_AGG)),t=nyt([s.lambdaParameterName],[s.operator.buildAggregateExpressionFromState(s)],s.aggregationState.tdsState.queryBuilderState.graphManagerState.graph);let n;const r=s.calendarFunction?.buildCalendarFunctionExpressionFromState(s,c);if(i.isCalendarEnabled&&r instanceof VS&&(n=nyt([dr(s.calendarFunction).lambdaParameterName],[r],s.aggregationState.tdsState.queryBuilderState.graphManagerState.graph)),s.operator instanceof NGi&&s.operator.weight&&s.projectionColumnState instanceof kVi&&c instanceof zS){const e=new VS(Rvt.WAVG_ROW_MAPPER),t=s.projectionColumnState.propertyExpressionState.propertyExpression,i=s.operator.weight;e.parametersValues=[t,i],n&&n instanceof zS?Gr(n.values,0).expressionSequence[0]=e:c instanceof zS&&(Gr(c.values,0).expressionSequence[0]=e)}e.parametersValues=[n??c,t],a.values.push(e)}else o.values.push(c)}),s.parametersValues=[r,o,a,l],t.expressionSequence[0]=s}else if(e.projectionColumns.length)switch(e.resolveProjectionMode){case dHi.PROJECT:if(i.useRelation){const i=((e,t,n)=>{const i=new VS(I_(Rvt.RELATION_PROJECT)),r=t.queryBuilderState,s=new PS(A_.ONE,void 0),o=new MS;s.values=[o];const a=new K_(K_.ID);t.projectionColumns.forEach(e=>{const t=new kS;let i;if(o.colSpecs.push(t),t.name=e.columnName,e instanceof kVi)i=nyt([e.lambdaParameterName],[gUi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],r.graphManagerState.graph);else if(e instanceof LVi){const t=e.column,n=new BS(t.name),s=new TS(e.lambdaParameterName,A_.ONE,void 0);n.func=t,n.parametersValues=[s],i=nyt([e.lambdaParameterName],[n],r.graphManagerState.graph)}else{if(!(e instanceof PVi))throw new yi("Can't build relation project() column expression: unsupported projection column state",e);i=new xS(_I(Xq(e.lambda,new mZ([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}t.function1=i;const s=dr(e.getColumnType(),`Can't create value spec for projection column ${e.columnName}`);a.columns.push(new Y_(e.columnName,j_.create(new X_(s))))}),i.parametersValues=[e,s];const l=new X_(BK.INSTANCE),c=new X_(a);return l.typeArguments=[j_.create(c)],i.genericType=j_.create(l),i})(r,e,n),s=e.aggregationState.columns.length?((e,t)=>{const n=mr(e,VS);if(n.functionName!==I_(Rvt.RELATION_PROJECT))throw new yi("Can't build relation groupBy() expression: previous expression must be project() column expression");const i=new VS(I_(Rvt.RELATION_GROUP_BY)),r=t.queryBuilderState,s=new PS(A_.ONE,void 0),o=new MS;s.values=[o];const a=new PS(A_.ONE,void 0),l=new MS;a.values=[l];const c=new K_(K_.ID);t.projectionColumns.filter(e=>!t.aggregationState.columns.some(t=>t.projectionColumnState===e)).forEach(e=>{const t=new kS;t.name=e.columnName,o.colSpecs.push(t);const n=dr(e.getColumnType(),`Can't create value spec for projection column ${e.columnName}. Missing type.`);c.columns.push(new Y_(e.columnName,j_.create(new X_(n))))}),t.aggregationState.columns.forEach(e=>{const t=new kS;t.name=e.columnName,l.colSpecs.push(t);const i=dr(dr(n.parametersValues[1].values[0],"Could not find ColSpec array in project() function first parameter").colSpecs.find(t=>t.name===e.columnName),`Could not find projected column matching aggregation column '${e.columnName}'`),s=dr(e.getColumnType(),`Can't create value spec for aggregation column ${e.columnName}. Missing type.`);let o;const a=e.projectionColumnState;if(a instanceof kVi){const e=mr(mr(i.function1,zS).values[0]?.expressionSequence[0],US),t=mr(e.func.value,eC),n=new US("");n.func=fC.create(new eC(i.name,t.multiplicity,t.genericType,t._OWNER)),n.parametersValues=[new TS(Dyt,A_.ONE)],o=nyt([Dyt],[n],r.graphManagerState.graph)}else if(a instanceof LVi){const e=new Y_(i.name,j_.create(new X_(s))),t=new BS(i.name);t.func=e,t.parametersValues=[new TS(Dyt,A_.ONE)],o=nyt([Dyt],[t],r.graphManagerState.graph)}else{if(!(a instanceof PVi))throw new yi("Can't build relation groupBy() aggregation map function: unsupported projection column state",a);o=dr(i.function1,`Could not find projected derivation lambda for aggregation column '${e.columnName}'`)}t.function1=o;const u=nyt([e.lambdaParameterName],[e.operator.buildAggregateExpressionFromState(e)],e.aggregationState.tdsState.queryBuilderState.graphManagerState.graph);t.function2=u,c.columns.push(new Y_(e.columnName,j_.create(new X_(s))))}),i.parametersValues=[e,s,a];const u=new X_(BK.INSTANCE),d=new X_(c);return u.typeArguments=[j_.create(d)],i.genericType=j_.create(u),i})(i,e):null;t.expressionSequence[0]=s??i}else t.expressionSequence[0]=jGi(e,r,n);break;case dHi.PROJECT_COL:if(i.useRelation)throw new yi(`Can't build projection: '${dHi.PROJECT_COL}' mode is not supported with relation queries`);t.expressionSequence[0]=WGi(e,r,n);break;case dHi.SELECT:if(!i.useRelation)throw new yi(`Can't build projection: '${dHi.SELECT}' mode requires a relation query`);t.expressionSequence[0]=((e,t)=>{const n=new VS(I_(Rvt.RELATION_SELECT)),i=new PS(A_.ONE,void 0),r=new MS;return i.values=[r],e.projectionColumns.forEach(e=>{if(e instanceof PVi)throw new yi(`Can't build select(~[...]) expression: derivation column '${e.columnName}' is not supported in SELECT mode`);const t=new kS;t.name=e.columnName,r.colSpecs.push(t)}),n.parametersValues=[t,i],n})(e,r);break;default:throw new yi(`Can't build projection: unsupported projection mode '${e.projectionMode}'`)}VGi(e.windowState,t),((e,t)=>{const n=e.rootIds.map(t=>dr(e.nodes.get(t))).map(n=>UGi(e,n,t)).filter(cr);if(!n.length||1!==t.expressionSequence.length)return t;const i=nyt([e.lambdaParameterName],n,e.tdsState.queryBuilderState.graphManagerState.graph),r=new VS(I_(Rvt.TDS_FILTER)),s=dr(t.expressionSequence[0]);r.parametersValues=[s,i],t.expressionSequence[0]=r})(e.postFilterState,t),((e,t,n,i)=>{(n?new zGi(e.tdsState.queryBuilderState.graphManagerState):new HGi(e.tdsState.queryBuilderState.graphManagerState)).withOptions(i).withDistinct(e.distinct).withSortColumns(e.sortColumns).withLimit(e.limit).withSlice(e.slice).build(t)})(e.resultSetModifierState,t,e.queryBuilderState.isFetchStructureTyped,{overridingLimit:n?.isBuildingExecutionQuery&&!n.isExportingResult?i.resultState.previewLimit:void 0,withDataOverflowCheck:n?.isBuildingExecutionQuery&&!n.isExportingResult?n.withDataOverflowCheck:void 0})};class qGi{uuid=Mr();isColumnAggregator(){return!1}getOperatorReturnType(e){return V_.NUMBER}isCompatibleWithColumn(e){return this.isCompatibleWithType(e.getColumnType())}}class YGi extends qGi{getLabel(){return"average rank"}get pureFunc(){return Rvt.OLAP_AVERAGE_RANK}get relationFunc(){}get hashCode(){return fv([ayt.TDS_WINDOW_OPERATOR_DENSE_RANK])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class KGi extends qGi{getLabel(){return"dense rank"}get pureFunc(){return Rvt.OLAP_DENSE_RANK}get relationFunc(){return Rvt.RELATION_DENSE_RANK}get hashCode(){return fv([ayt.TDS_WINDOW_OPERATOR_DENSE_RANK])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class XGi extends qGi{getLabel(){return"rank"}get pureFunc(){return Rvt.OLAP_RANK}get relationFunc(){return Rvt.RELATION_RANK}get hashCode(){return fv([ayt.TDS_WINDOW_OPERATOR_RANK])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class ZGi extends qGi{getLabel(){return"row number"}get pureFunc(){return Rvt.OLAP_ROW_NUMBER}get relationFunc(){return Rvt.RELATION_ROW_NUMBER}get hashCode(){return fv([ayt.TDS_WINDOW_OPERATOR_ROW_NUMBER])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class QGi extends qGi{isColumnAggregator(){return!0}getLabel(){return"sum"}get pureFunc(){return Rvt.SUM}get relationFunc(){return Rvt.SUM}get hashCode(){return fv([ayt.TDS_WINDOW_OPERATOR_SUM])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class JGi extends qGi{isColumnAggregator(){return!0}getLabel(){return"count"}get pureFunc(){return Rvt.COUNT}get relationFunc(){return Rvt.COUNT}get hashCode(){return fv([ayt.TDS_WINDOW_OPERATOR_COUNT])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class eHi extends qGi{isColumnAggregator(){return!0}getLabel(){return"max"}get pureFunc(){return Rvt.MAX}get relationFunc(){return Rvt.MAX}get hashCode(){return fv([ayt.TDS_WINDOW_OPERATOR_MAX])}isCompatibleWithType(e){return!e||[Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class tHi extends qGi{isColumnAggregator(){return!0}getLabel(){return"min"}get pureFunc(){return Rvt.MIN}get relationFunc(){return Rvt.MIN}get hashCode(){return fv([ayt.TDS_WINDOW_OPERATOR_MIN])}isCompatibleWithType(e){return!e||[Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class nHi extends qGi{isColumnAggregator(){return!0}getLabel(){return"avg"}get pureFunc(){return Rvt.AVERAGE}get relationFunc(){return Rvt.AVERAGE}get hashCode(){return fv([ayt.TDS_WINDOW_OPERATOR_AVERAGE])}isCompatibleWithType(e){return!e||[Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class iHi extends qGi{getLabel(){return"percent rank"}get pureFunc(){}get relationFunc(){return Rvt.RELATION_PERCENT_RANK}get hashCode(){return fv([ayt.TDS_WINDOW_OPERATOR_PERCENT_RANK])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}var rHi;!function(e){e.SHOW_POST_FILTER_PANEL="query-builder.showPostFilterPanel"}(rHi||(rHi={}));const sHi={[rHi.SHOW_POST_FILTER_PANEL]:{defaultValue:!1}};var oHi;!function(e){e.NY="NY",e.LDN="LDN"}(oHi||(oHi={}));const aHi="en-US";class lHi{dateColumn;calendarType;endDate;lambdaParameterName=bvt;func;label;hash;constructor(e,t,n){hd(this,{dateColumn:Rc,lambdaParameterName:Rc,calendarType:Rc,endDate:Rc,setDateColumn:Pu,setCalendarType:Pu,setLambdaParameterName:Pu,setEndDate:Pu,hashCode:Oc}),this.func=e,this.label=t,this.hash=n}getLabel(){return this.label}isCompatibleWithColumn(e){if(e instanceof kVi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!0}buildCalendarFunctionExpression(e){return((e,t,n,i,r)=>{const s=new VS(I_(e));if(!t)throw new yi("Please specify date column for calendar function for column");s.parametersValues.push(t);const o=new RS(j_.create(new X_(V_.STRING)));return o.values=[n],s.parametersValues.push(o),s.parametersValues.push(i),s.parametersValues.push(r),s})(this.func,this.dateColumn,this.calendarType,this.endDate,e)}updateAggregateColumnState(e,t){((e,t,n,i)=>{if(k_(e.functionName,t)){br(4===e.parametersValues.length,`Can't process ${I_(t)}() expression: ${I_(t)}() expects four arguments`);const r=mr(e.parametersValues[0],US,`Can't process ${I_(t)}() expression: only support ${I_(t)}() with first parameter as property expression`);br(r.func.value.genericType.value.rawType.name===Xb.STRICTDATE||r.func.value.genericType.value.rawType.name===Xb.DATE,`Can't process ${I_(t)}() expression: only support ${I_(t)}() with first parameter as property expression of type StrictDate`);let s=r;for(;s instanceof US;){const e=s;for(s=dr(s.parametersValues[0]),e.func.value instanceof pC&&br((Array.isArray(e.func.value.parameters)?e.func.value.parameters.length:0)===e.parametersValues.length-1,`Can't process property expression: derived property '${e.func.value.name}' expects number of provided arguments to match number of parameters`);s instanceof VS&&k_(s.functionName,Rvt.SUBTYPE);)s=dr(s.parametersValues[0])}const o=mr(s,TS).name;n.setLambdaParameterName(o);const a=mr(e.parametersValues[1],RS,`Can't process ${I_(t)}() expression: only support ${I_(t)}() with second parameter as PrimitiveInstancevalue`);br(void 0!==Object.values(oHi).find(e=>e===a.values[0]),`Can't process ${I_(t)}() expression: only support ${I_(t)}() calendar types NY and LDN`);const l=mr(e.parametersValues[2],ES,`Can't process ${I_(t)}() expression: only support ${I_(t)}() with third parameter as ValueSpecification`);br(l.genericType?.value.rawType.name===Xb.STRICTDATE||l.genericType?.value.rawType.name===Xb.DATE||r.func.value.genericType.value.rawType.name===Xb.DATE,`Can't process ${I_(t)}() expression: only support ${I_(t)}() with third parameter of type Date`),n.calendarType=a.values[0],n.endDate=l,n.dateColumn=r,br(n.isCompatibleWithColumn(i.projectionColumnState),`Can't process ${I_(t)}() expression: property is not compatible with calendar function`),i.setHideCalendarColumnState(!1),i.setCalendarFunction(n)}})(e,this.func,this,t)}buildCalendarFunctionExpressionFromState(e,t){let n;if(e.projectionColumnState instanceof kVi&&t instanceof zS?n=mr(t.values[0]?.expressionSequence[0],US):e.projectionColumnState instanceof PVi&&(n=mr(t,xS)),!n)throw new yi("Can't build calendar aggregation column: target column should be defined");return this.buildCalendarFunctionExpression(n)}setDateColumn(e){this.dateColumn=e}setLambdaParameterName(e){this.lambdaParameterName=e}setCalendarType(e){this.calendarType=e}setEndDate(e){this.endDate=e}get hashCode(){return fv([this.hash,this.dateColumn??"",this.calendarType,this.endDate])}}function cHi(e,t,n){return new lHi(e,t,n)}var uHi,dHi;!function(e){e.CSV="CSV"}(uHi||(uHi={})),function(e){e.PROJECT="PROJECT",e.PROJECT_COL="PROJECT_COL",e.SELECT="SELECT"}(dHi||(dHi={}));class hHi extends JVi{aggregationState;postFilterState;windowState;resultSetModifierState;projectionColumns=[];isConvertDerivationProjectionObjects=!1;showPostFilterPanel;showWindowFuncPanel=!1;projectionMode=dHi.PROJECT;postFilterOperators=(()=>[new fGi,new vGi,new yGi,new bGi,new _Gi,new CGi,new dUi,new hUi,new SGi,new wGi,new EGi,new xGi,new hGi,new pGi,new gGi,new mGi])();aggregationOperators=(()=>[new zVi,new jVi,new TGi,new KVi,new HVi,new $Vi,new WVi,new RGi,new qVi,new YVi,new AGi,new NGi])();aggregationCalendarFunctions=(()=>[cHi(Tvt.CALENDAR_ANNUALIZED,"Annualized",ayt.AGGREGATE_CALENDAR_FUNCTION_ANNUALIZED),cHi(Tvt.CALENDAR_YTD,"Year to Date",ayt.AGGREGATE_CALENDAR_FUNCTION_YTD),cHi(Tvt.CALENDAR_CME,"Current Month Estimate",ayt.AGGREGATE_CALENDAR_FUNCTION_CME),cHi(Tvt.CALENDAR_CW,"Current Week",ayt.AGGREGATE_CALENDAR_FUNCTION_CW),cHi(Tvt.CALENDAR_CME,"Current Month Estimate",ayt.AGGREGATE_CALENDAR_FUNCTION_CME),cHi(Tvt.CALENDAR_CY_MINUS2,"Current year minus 2",ayt.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS2),cHi(Tvt.CALENDAR_CY_MINUS3,"Current year minus 3",ayt.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS3),cHi(Tvt.CALENDAR_MTD,"Month to date",ayt.AGGREGATE_CALENDAR_FUNCTION_MTD),cHi(Tvt.CALENDAR_P12WA,"Previous 12 Weeks Averaged",ayt.AGGREGATE_CALENDAR_FUNCTION_P12WA),cHi(Tvt.CALENDAR_P12WTD,"Previous 12 Weeks To Date",ayt.AGGREGATE_CALENDAR_FUNCTION_P12WTD),cHi(Tvt.CALENDAR_P4WA,"Previous 4 Weeks Averaged",ayt.AGGREGATE_CALENDAR_FUNCTION_P4WA),cHi(Tvt.CALENDAR_P4WTD,"Previous 4 Weeks To Date",ayt.AGGREGATE_CALENDAR_FUNCTION_P4WTD),cHi(Tvt.CALENDAR_P52WA,"Previous 52 Weeks Averaged",ayt.AGGREGATE_CALENDAR_FUNCTION_P52WA),cHi(Tvt.CALENDAR_P52WTD,"Previous 52 Weeks To Date",ayt.AGGREGATE_CALENDAR_FUNCTION_P52WTD),cHi(Tvt.CALENDAR_PMA,"Previous Months Averaged",ayt.AGGREGATE_CALENDAR_FUNCTION_PMA),cHi(Tvt.CALENDAR_PMTD,"Previous Month To Date",ayt.AGGREGATE_CALENDAR_FUNCTION_PMTD),cHi(Tvt.CALENDAR_PQTD,"Previous Quarter To Date",ayt.AGGREGATE_CALENDAR_FUNCTION_PQTD),cHi(Tvt.CALENDAR_PRIOR_DAY,"Prior Day",ayt.AGGREGATE_CALENDAR_FUNCTION_PRIOR_DAY),cHi(Tvt.CALENDAR_PRIOR_YEAR,"Prior Year",ayt.AGGREGATE_CALENDAR_FUNCTION_PRIOR_YEAR),cHi(Tvt.CALENDAR_PW,"Previous week",ayt.AGGREGATE_CALENDAR_FUNCTION_PW),cHi(Tvt.CALENDAR_PW_FM,"Previous week, Franchise Manager",ayt.AGGREGATE_CALENDAR_FUNCTION_PW_FM),cHi(Tvt.CALENDAR_PWA,"Past Weeks' Average",ayt.AGGREGATE_CALENDAR_FUNCTION_PWA),cHi(Tvt.CALENDAR_PWTD,"Previous Week To Date",ayt.AGGREGATE_CALENDAR_FUNCTION_PWTD),cHi(Tvt.CALENDAR_PYMTD,"Previous Year's Month To Date",ayt.AGGREGATE_CALENDAR_FUNCTION_PYMTD),cHi(Tvt.CALENDAR_PYQTD,"Previous Year's Quarter To Date",ayt.AGGREGATE_CALENDAR_FUNCTION_PYQTD),cHi(Tvt.CALENDAR_PYTD,"Previous Year To Date",ayt.AGGREGATE_CALENDAR_FUNCTION_PYTD),cHi(Tvt.CALENDAR_PYWA,"Previous Year's Weekly Average",ayt.AGGREGATE_CALENDAR_FUNCTION_PYWA),cHi(Tvt.CALENDAR_PYWTD,"Previous Year's Week to Date",ayt.AGGREGATE_CALENDAR_FUNCTION_PYWTD),cHi(Tvt.CALENDAR_QTD,"Quarter to Date",ayt.AGGREGATE_CALENDAR_FUNCTION_QTD),cHi(Tvt.CALENDAR_REPORT_END_DAY,"Report End Day",ayt.AGGREGATE_CALENDAR_FUNCTION_REPORT_END_DAY),cHi(Tvt.CALENDAR_WTD,"Week to Date",ayt.AGGREGATE_CALENDAR_FUNCTION_WTD)])();windowFuncOperators=(()=>[new QGi,new JGi,new eHi,new tHi,new nHi,new YGi,new KGi,new XGi,new ZGi,new iHi])();constructor(e,t){super(e,t),hd(this,{aggregationState:Rc,projectionColumns:Rc,isConvertDerivationProjectionObjects:Rc,showPostFilterPanel:Rc,showWindowFuncPanel:Rc,projectionMode:Rc,TEMPORARY__showPostFetchStructurePanel:Oc,derivations:Oc,hasParserError:Oc,isQueryOptionsSet:Oc,resolveProjectionMode:Oc,addColumn:Pu,moveColumn:Pu,removeAllColumns:Pu,removeColumn:Pu,replaceColumn:Pu,initialize:Pu,initializeWithQuery:Pu,setShowPostFilterPanel:Pu,setShowWindowFuncPanel:Pu,setProjectionMode:Pu,checkBeforeChangingImplementation:Pu,convertDerivationProjectionObjects:Ju,fetchDerivedReturnTypes:Ju}),this.resultSetModifierState=new ZVi(this),this.postFilterState=new dGi(this,this.postFilterOperators),this.aggregationState=new VVi(this,this.aggregationOperators,this.aggregationCalendarFunctions),this.windowState=new PGi(this,this.windowFuncOperators),this.showPostFilterPanel=this.queryBuilderState.applicationStore.settingService.getBooleanValue(rHi.SHOW_POST_FILTER_PANEL)??!1}get type(){return QVi.TABULAR_DATA_STRUCTURE}get derivations(){return this.projectionColumns.filter(pr(PVi))}get hasParserError(){return this.derivations.some(e=>e.derivationLambdaEditorState.parserError)}get fetchLabel(){return"Columns"}get canBeExportedToCube(){return!0}get TEMPORARY__showPostFetchStructurePanel(){return this.queryBuilderState.filterState.showPanel||this.showWindowFuncPanel||this.showPostFilterPanel}get usedExplorerTreePropertyNodeIDs(){let e=[];return this.projectionColumns.forEach(t=>{if(t instanceof kVi){let n=[],i=t.propertyExpressionState.propertyExpression;for(;i instanceof US;)for(n.push(i.func.value.name),i=dr(i.parametersValues[0]);i instanceof VS;){if(!(k_(i.functionName,Rvt.SUBTYPE)&&i.parametersValues.length>=1&&i.parametersValues[1]?.genericType?.value.rawType instanceof Z_))return;n[n.length-1]instanceof Z_||n.push(i.parametersValues[1]?.genericType?.value.rawType),i=dr(i.parametersValues[0])}n=n.reverse();const r=[],s=[];for(let e=0;e<n.length;e++){const t=dr(n[e]),i=e>0?dr(r[e-1]):"";if(t instanceof Z_)gE(t).concat(t).forEach(e=>s.push(uzi(i,e.path))),r.push(uzi(i,t.path));else{const e=czi(i,t);r.push(e),s.push(e)}}e=e.concat(s)}else t instanceof LVi&&e.push(t.column.name)}),Array.from(new Set(e).values())}get fetchStructureValidationIssues(){const e=[],t=this.projectionColumns.some(e=>0===e.columnName.length);t&&e.push("Query has projection column with no name");const n=this.aggregationState.columns.some(e=>e.calendarFunction&&void 0===e.calendarFunction.dateColumn);n&&e.push("Query has calendar function with no date column specified");const i=this.projectionColumns.some(e=>this.projectionColumns.filter(t=>t.columnName===e.columnName).length>1);i&&e.push("Query has duplicated projection columns");const r=this.projectionColumns.some(e=>this.windowState.windowColumns.filter(t=>t.columnName===e.columnName).length>0);r&&e.push("Query has duplicated projection/window columns");return 0===this.projectionColumns.length&&this.queryBuilderState.changeHistoryState.canUndo&&e.push("Query has no projection columns"),this.projectionColumns.forEach(t=>{t instanceof kVi&&t.propertyExpressionState.derivedPropertyExpressionStates.some(e=>!e.isValid)&&e.push(`Derived property parameter value for ${t.propertyExpressionState.title} is missing`)}),this.aggregationState.allValidationIssues.forEach(t=>e.push(t)),e}get allValidationIssues(){return[...this.fetchStructureValidationIssues,...this.windowState.windowValidationIssues,...this.postFilterState.allValidationIssues]}get isQueryOptionsSet(){return void 0!==this.resultSetModifierState.limit||this.queryBuilderState.milestoningState.isMilestonedQuery||void 0!==this.resultSetModifierState.slice||this.resultSetModifierState.sortColumns.length>0||this.resultSetModifierState.distinct}get tdsColumns(){const e=this.aggregationState.columns.map(e=>e.projectionColumnState),t=this.projectionColumns.filter(t=>!e.includes(t));return[...this.aggregationState.columns,...t,...this.windowState.windowColumns]}get exportDataFormatOptions(){return[uHi.CSV]}getExportDataInfo(e){if(e===uHi.CSV)return{contentType:exports.ContentType.TEXT_CSV,serializationFormat:exports.EXECUTION_SERIALIZATION_FORMAT.CSV};throw new yi(`Unsupported TDS export type ${e}`)}isDuplicateColumn(e){return this.tdsColumns.filter(t=>t.columnName===e.columnName).length>1}initialize(){this.queryBuilderState.filterState.setShowPanel(!0),this.setShowPostFilterPanel(!1),this.setShowWindowFuncPanel(!1)}initializeWithQuery(){this.fetchDerivedReturnTypes().catch(this.queryBuilderState.applicationStore.alertUnhandledError)}isColumnInUse(e){return Boolean([...this.postFilterState.referencedTDSColumns,...this.windowState.referencedTDSColumns].find(t=>t instanceof BVi?e instanceof BVi?e===t:t.projectionColumnState===e:t===e))}onClassChange(){}appendFetchStructure(e,t){$Gi(this,e,t)}setShowPostFilterPanel(e){this.showPostFilterPanel=e}setShowWindowFuncPanel(e){this.showWindowFuncPanel=e}setProjectionMode(e){this.projectionMode=e}get resolveProjectionMode(){if(this.projectionMode===dHi.SELECT){if(!this.projectionColumns.every(e=>e instanceof LVi&&e.columnName===e.column.name))return dHi.PROJECT}return this.projectionMode}*convertDerivationProjectionObjects(){const e=new Map,t=new Map;if(this.derivations.forEach(n=>{bW(n.lambda)||(e.set(n.derivationLambdaEditorState.lambdaId,n.lambda),t.set(n.derivationLambdaEditorState.lambdaId,n))}),e.size){this.isConvertDerivationProjectionObjects=!0;try{(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(e)).forEach((e,n)=>{const i=t.get(n);i?.derivationLambdaEditorState.setLambdaString(i.derivationLambdaEditorState.extractLambdaString(e))})}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.PARSING_FAILURE),e)}finally{this.isConvertDerivationProjectionObjects=!1}}}transformSimpleProjectionToDerivation(e){const t=nyt([e.lambdaParameterName],[e.propertyExpressionState.propertyExpression],this.queryBuilderState.graphManagerState.graph),n=new PVi(this,mr(this.queryBuilderState.graphManagerState.graphManager.transformValueSpecToRawValueSpec(t,this.queryBuilderState.graphManagerState.graph),SS));n.setColumnName(e.columnName),this.replaceColumn(e,n),n.derivationLambdaEditorState.convertLambdaObjectToGrammarString({pretty:!1}).catch(this.queryBuilderState.applicationStore.alertUnhandledError)}transformRelationColumnProjectionToDerivation(e){const t=e.column,n=new BS(t.name);n.func=t,n.parametersValues=[new TS(e.lambdaParameterName,A_.ONE,void 0)];const i=nyt([e.lambdaParameterName],[n],this.queryBuilderState.graphManagerState.graph),r=new PVi(this,mr(this.queryBuilderState.graphManagerState.graphManager.transformValueSpecToRawValueSpec(i,this.queryBuilderState.graphManagerState.graph),SS));r.setColumnName(e.columnName),this.replaceColumn(e,r),r.derivationLambdaEditorState.convertLambdaObjectToGrammarString({pretty:!1}).catch(this.queryBuilderState.applicationStore.alertUnhandledError)}replaceColumn(e,t){const n=this.aggregationState.columns.find(t=>t.projectionColumnState===e);n&&n.setColumnState(t);const i=this.resultSetModifierState.sortColumns.find(t=>t.columnState===e);i&&i.setColumnState(t),Wr(this.projectionColumns,e,t)}removeAllColumns(){this.projectionColumns=[],this.aggregationState.columns=[]}removeColumn(e){$r(this.projectionColumns,e);const t=this.aggregationState.columns.find(t=>t.projectionColumnState===e);t&&this.aggregationState.removeColumn(t),this.resultSetModifierState.updateSortColumns()}addColumn(e,t){jr(this.projectionColumns,e),t?.skipSorting||(this.projectionColumns=this.projectionColumns.toSorted((e,t)=>(this.aggregationState.columns.find(t=>t.projectionColumnState===e)?1:0)-(this.aggregationState.columns.find(e=>e.projectionColumnState===t)?1:0)))}moveColumn(e,t){if(e<0||e>=this.projectionColumns.length||t<0||t>=this.projectionColumns.length)return;const n=dr(this.projectionColumns[e]),i=ei(this.projectionColumns,e=>!this.aggregationState.columns.find(t=>t.projectionColumnState===e)),r=i?this.projectionColumns.lastIndexOf(i):0;t=this.aggregationState.columns.find(e=>e.projectionColumnState===n)?Math.max(t,Math.min(r+1,this.projectionColumns.length-1)):Math.min(t,r),this.projectionColumns.splice(e,1),this.projectionColumns.splice(t,0,n)}addNewBlankDerivation(){const e=new PVi(this,this.queryBuilderState.graphManagerState.graphManager.createDefaultBasicRawLambda({addDummyParameter:!0}));this.addColumn(e),e.derivationLambdaEditorState.setLambdaString(`${bvt}${Hb}''`)}revealCompilationError(e){const t=wie(e.sourceInformation);if(t&&3===t.length&&t[0]===pvt.QUERY_BUILDER&&t[1]===pvt.PROJECTION){const n=this.projectionColumns.find(e=>e.uuid===t[2]);if(n instanceof PVi)return n.derivationLambdaEditorState.setCompilationError(e),!0}return!1}clearCompilationError(){this.derivations.forEach(e=>e.derivationLambdaEditorState.setCompilationError(void 0))}fetchProperty(e){this.addColumn(new kVi(this,vzi(e,this.queryBuilderState.explorerState),this.queryBuilderState.explorerState.humanizePropertyName))}fetchProperties(e){e.forEach(e=>{this.addColumn(new kVi(this,vzi(e,this.queryBuilderState.explorerState),this.queryBuilderState.explorerState.humanizePropertyName))})}checkBeforeClearingColumns(e){this.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:"You will be clearing all projection columns. Do you still want to proceed?",type:nft.CAUTION,actions:[{label:"Proceed",type:ift.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:ift.PROCEED,default:!0}]})}checkBeforeChangingImplementation(e){this.projectionColumns.length>0?this.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:this.showPostFilterPanel&&this.postFilterState.nodes.size>0?"With graph-fetch mode, post filter is not supported. Current projection columns and post filters will be lost when switching to the graph-fetch mode. Do you still want to proceed?":"Current projection columns will be lost when switching to the graph-fetch mode. Do you still want to proceed?",type:nft.CAUTION,actions:[{label:"Proceed",type:ift.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:ift.PROCEED,default:!0}]}):e()}isVariableUsed(e){const t=this.projectionColumns;if(t.filter(pr(PVi)).length)return!1;const n=t.filter(pr(kVi)).find(t=>t.isVariableUsed(e)),i=this.postFilterState.isVariableUsed(e);return Boolean(n??i)}get hasInvalidFilterValues(){return this.postFilterState.hasInvalidFilterValues||this.postFilterState.hasInvalidDerivedPropertyParameters}get hasInvalidDerivedPropertyParameters(){return this.projectionColumns.some(e=>e instanceof kVi&&e.propertyExpressionState.derivedPropertyExpressionStates.some(e=>!e.isValid))}getParameters(){return this.queryBuilderState.parametersState.parameterStates.map(e=>this.queryBuilderState.graphManagerState.graphManager.serializeValueSpecification(e.parameter))}getLetExpressions(){return this.queryBuilderState.constantState.constants.map(e=>e.buildLetExpression()).map(e=>this.queryBuilderState.graphManagerState.graphManager.serializeValueSpecification(e))}get hashCode(){return fv([ayt.PROJECTION_STATE,fv(this.projectionColumns),this.aggregationState,this.postFilterState,this.resultSetModifierState,this.windowState])}*fetchDerivedReturnTypes(){try{const e=this.queryBuilderState.graphManagerState.graph,t=this.projectionColumns.filter(pr(PVi));if(0===t.length)return;const n=this.queryBuilderState.sourceElement;if(n instanceof Z_){const n=new Map;t.forEach(e=>n.set(e.columnName,e.getIsolatedClassRawLambda()));const i=yield this.queryBuilderState.graphManagerState.graphManager.getLambdasReturnType(n,e);Array.from(i.results.entries()).forEach(e=>{const n=t.find(t=>t.columnName===e[0]);n&&n.setLambdaReturnType(e[1])})}else if(n instanceof Rq){const i=new Map;t.forEach(e=>i.set(e.columnName,e.lambda));const r=NVi(e,this.queryBuilderState.graphManagerState,n,i),s=IVi(r,this.getParameters(),this.getLetExpressions()),o=yield this.queryBuilderState.graphManagerState.graphManager.getLambdaRelationType(s,e);t.forEach(e=>{const t=o.columns.find(t=>t.name===e.columnName);t&&e.setLambdaReturnType(t.type)})}}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.info(Hy.create("Unable to fetch derived return types"),e)}}}var pHi;!function(e){e.COUNT="Count",e.DISTINCT_COUNT="Distinct Count",e.SUM="Sum",e.MIN="Min",e.MAX="Max",e.AVERAGE="Average",e.STD_DEV_POPULATION="Std Dev (Population)",e.STD_DEV_SAMPLE="Std Dev (Sample)"}(pHi||(pHi={}));const gHi=[[pHi.COUNT,zVi],[pHi.DISTINCT_COUNT,jVi],[pHi.SUM,KVi],[pHi.MIN,$Vi],[pHi.MAX,WVi],[pHi.AVERAGE,HVi],[pHi.STD_DEV_POPULATION,qVi],[pHi.STD_DEV_SAMPLE,YVi]],mHi=(e,t,n)=>{const i=new kVi(e,t,!1);return i.setColumnName(n),i};class fHi extends Fb{includeSubTypes=!0;includeDocumentation=!1;constructor(e,t){super(()=>{e().catch(t)}),hd(this,{includeSubTypes:Rc,includeDocumentation:Rc,setIncludeSubTypes:Pu,setIncludeDocumentation:Pu})}setIncludeSubTypes(e){this.includeSubTypes=e}setIncludeDocumentation(e){this.includeDocumentation=e}}const vHi=e=>{const{taggedValues:t}=e,[i,r]=n.useState(!1),s=e=>{e.stopPropagation(),r(!i)},o=e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===t_,a=t.filter(e=>o(e)).map(e=>e.value),l=t.filter(e=>!o(e)),c=e=>vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:`${e.tag.ownerReference.value.name}.${e.tag.value.value}`}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value})]},`${e.tag.ownerReference.value.name}.${e.value}`);return vse.jsx("div",{children:l.length>0?vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Tagged Values"}),vse.jsxs("div",{className:"query-builder__tooltip__taggedValues",children:[t.slice(0,1).map(e=>vse.jsxs("div",{className:"query-builder__tooltip__combo",children:[c(e),t.length>3&&vse.jsx("button",{className:"btn btn--dark query-builder__tooltip__taggedValues__show-btn",onClick:s,title:"Toggle button to show more/less",children:i?"Show Less":"Show More"})]},`${e.tag.ownerReference.value.name}.${e.value}`)),t.slice(1,3).map(e=>c(e)),i&&t.slice(3).map(e=>c(e))]})]}):vse.jsx(vse.Fragment,{children:Boolean(a.length)&&vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Documentation"}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:a.join("\n\n")})]})})})},yHi=e=>{const{title:t,data:i,placement:r,children:s,footerElement:o}=e,[a,l]=n.useState(!1);return vse.jsx(g_e,{onClickAway:()=>l(!1),mouseEvent:"onMouseDown",children:vse.jsx("div",{children:vse.jsx(Hwe,{arrow:!0,...void 0!==r?{placement:r}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},open:a,onClose:()=>l(!1),slotProps:{transition:{timeout:0}},disableFocusListener:!0,disableHoverListener:!0,disableTouchListener:!0,title:vse.jsxs("div",{className:"query-builder__tooltip__content",children:[vse.jsx("div",{className:"query-builder__tooltip__header",children:t}),i.map(e=>vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:e.label}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value}),e.actionButton]},e.label)),o]}),children:vse.jsx("div",{onClick:e=>{l(!a),e.stopPropagation()},children:s})})})})},bHi=e=>{const{title:t,property:n,path:i,isMapped:r,children:s,placement:o,type:a,explorerState:l}=e,c=[{label:"Type",value:a?.path??n.genericType.value.rawType.path},{label:"Path",value:i,actionButton:l?vse.jsx("div",{className:"query-builder__tooltip__item__action",children:vse.jsx("button",{onClick:()=>l.highlightTreeNode(i),title:"Show in tree",children:vse.jsx(Dae,{})})}):void 0},{label:"Multiplicity",value:wE(n.multiplicity)},{label:"Derived Property",value:n instanceof pC?"Yes":"No"},{label:"Mapped",value:r?"Yes":"No"}];return vse.jsx(yHi,{title:t,data:c,placement:o,footerElement:vse.jsx(vHi,{taggedValues:n.taggedValues}),children:s})},_Hi=e=>{const{title:t,children:n,placement:i,type:r}=e,s=[{label:"Type",value:r?.path??"undefined"}];return vse.jsx(yHi,{title:t,data:s,placement:i,children:n})};var CHi;!function(e){e.LAMBDA_EDITOR__EDITOR_INPUT="lambda-editor__editor__input",e.QUERY_BUILDER="query__builder",e.QUERY_BUILDER_ACTIONS="query__builder__actions",e.QUERY_BUILDER_SETUP="query__builder__setup",e.QUERY_BUILDER_FETCH_STRUCTURE="query__builder__fetch__structure",e.QUERY_BUILDER_TDS_PROJECTION="query__builder__tds__projection",e.QUERY_BUILDER_TDS="query__builder__tds",e.QUERY_BUILDER_TDS_PROJECTION_COLUMN="QUERY_BUILDER_TDS_PROJECTION_COLUMN",e.QUERY_BUILDER_GRAPH_FETCH="query__builder__graph__fetch",e.QUERY_BUILDER_FILTER_PANEL="query__builder__filter__panel",e.QUERY_BUILDER_FILTER_TREE="query__builder__filter__tree",e.QUERY_BUILDER_FILTER_TREE_NODE_BLOCK="query__builder__filter__tree__node-block",e.QUERY_BUILDER_FILTER_TREE_NODE_CHILDREN="query__builder__filter__tree__node-children",e.QUERY_BUILDER_FILTER_TREE_NODE_CONTAINER="query__builder__filter__tree__node-container",e.QUERY_BUILDER_FILTER_TREE_NODE_CONTENT="query__builder__filter__tree__node-content",e.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_CONTENT="query__builder__filter__tree__condition__node-content",e.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_VALUE="query-builder-filter-tree__condition-node__value",e.QUERY_BUILDER_POST_FILTER_PANEL="query__builder__post__filter-panel",e.QUERY_BUILDER_POST_FILTER_TREE="query__builder__post__filter__tree",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_BLOCK="query__builder__post__filter__tree__node-block",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_CHILDREN="query__builder__post__filter__tree__node-children",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_CONTAINER="query__builder__post__filter__tree__node-container",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_CONTENT="query__builder__post__filter__tree__node-content",e.QUERY_BUILDER_WINDOW_GROUPBY="query__builder__window",e.QUERY_BUILDER_EXPLORER="query__builder__explorer",e.QUERY_BUILDER_PROPERTY_SEARCH_PANEL="query__builder__property__search__panel",e.QUERY_BUILDER_PERCENTILE_PANEL="query__builder__percentile__panel",e.QUERY_BUILDER_WAVG_DROPZONE="query__builder__wavg__dropzone",e.QUERY_BUILDER_PREVIEW_DATA_MODAL="query__builder__preview-data__modal",e.QUERY_BUILDER_PARAMETERS="query-builder__parameters",e.QUERY_BUILDER_CONSTANTS="query-builder__constants",e.QUERY_BUILDER_FUNCTIONS="query-builder__functions",e.QUERY_BUILDER_TOOLTIP_ICON="query-builder__tooltip__icon",e.QUERY_BUILDER_RESULT_VALUES="QUERY_BUILDER_RESULT_VALUES",e.QUERY_BUILDER_RESULT_VALUES_TDS="QUERY_BUILDER_RESULT_VALUES_TDS",e.QUERY_BUILDER_TDS_RESULT_MODIFIER_PROMPT="query-builder__tds__result-modifier-prompt",e.QUERY_BUILDER_RESULT_PANEL="query__builder__result__panel",e.QUERY_BUILDER_RESULT_ANALYTICS="query__builder__result__analytics",e.QUERY_BUILDER_RESULT_GRID_CUSTOM_HEADER="query__builder__result__grid__custom-header",e.QUERY_BUILDER_RESULT_MODIFIER_PANEL="query__builder__result__modifier__panel",e.QUERY_BUILDER_RESULT_MODIFIER_PANEL_SORT_REMOVE_BTN="query__builder__projection__options__sort__remove-btn",e.QUERY_BUILDER_RESULT_MODIFIER_PANEL__WATERMAKR="query__builder__result__modifier__panel__watermark",e.QUERY_BUILDER_TEMPLATE_QUERY_PANE="query__builder__template__query__panel"}(CHi||(CHi={}));const SHi=e=>({label:e.name,value:e}),wHi=e=>lE(e)?"system element":aE(e)?"generated element":oE(e)?"dependency element":void 0,EHi=e=>function(t){const{darkMode:n}=e,i=n?"packageable-element-option-label--dark":"packageable-element-option-label",r=(e=>lE(e)?"system":aE(e)?"generated":oE(e)?"dependency":"")(t.value);return vse.jsxs("div",{className:i,children:[vse.jsx("div",{title:wHi(t.value),className:`packageable-element-option-label__type ${r?`packageable-element-option-label__type--${r}`:""} `}),vse.jsx("div",{className:`${i}__name`,children:t.label}),t.value.package&&vse.jsx("div",{className:`${i}__tag`,children:t.value.path})]})},xHi=e=>e instanceof V_||e instanceof U_?vse.jsx(sAe,{}):e instanceof Z_?vse.jsx(oAe,{}):e instanceof nC?vse.jsx(aAe,{}):e instanceof cC?vse.jsx(lAe,{}):e instanceof lC?vse.jsx(cAe,{}):vse.jsx(pAe,{}),THi=e=>{const{_class:t,children:n,placement:i}=e;return vse.jsx(Hwe,{arrow:!0,...void 0!==i?{placement:i}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},slotProps:{transition:{timeout:0}},title:vse.jsxs("div",{className:"query-builder__tooltip__content",children:[vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:"Unknown"})]}),vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),vse.jsx(vHi,{taggedValues:t.taggedValues})]}),children:n})},AHi=e=>e instanceof Nq?vse.jsx(hAe,{}):e instanceof Iq?vse.jsx(gAe,{}):e instanceof Dq?vse.jsx(dAe,{}):vse.jsx(pAe,{}),RHi=e=>[e.accessorOwner,e.schema,e.accessor].filter(cr).join("."),NHi=ule(n.forwardRef(function(e,t){const{queryBuilderState:n,node:i,accessor:r}=e,s=n.fetchStructureState.implementation instanceof hHi?n.fetchStructureState.implementation:void 0;return vse.jsxs(cVe,{ref:t,children:[i instanceof fzi&&vse.jsx(uVe,{onClick:()=>{s&&i instanceof fzi&&s.addColumn(new LVi(s,i.column,!0))},children:"Add Column to Fetch Structure"}),i instanceof mzi&&vse.jsx(uVe,{onClick:()=>{s&&r.relationType.columns.forEach(e=>{s.addColumn(new LVi(s,e,!0))})},children:"Add Columns to Fetch Structure"})]})})),IHi=ule(e=>{const{node:t,level:i,stepPaddingInRem:r,onNodeSelect:s,innerProps:o}=e,{queryBuilderState:a,accessor:l}=o,c=t instanceof mzi,u=t instanceof fzi,[d,h]=n.useState(!1),[,p,g]=TGe(()=>({type:lzi.RELATION_COLUMN,item:()=>({node:t})}),[t]),m=n.useRef(null);u&&p(m),sHe(g);const f=a.explorerState,v=u&&f.humanizePropertyName?vf(t.label):t.label,y=()=>s?.(t),b=()=>h(!0),_=()=>h(!1);if(c){const e=!0===t.isOpen?vse.jsx(wae,{}):vse.jsx(xae,{});return vse.jsx(gVe,{content:vse.jsx(NHi,{queryBuilderState:a,node:t,accessor:l}),menuProps:{elevation:7},onOpen:b,onClose:_,children:vse.jsxs("div",{className:gle("tree-view__node__container query-builder-explorer-tree__node__container",{"query-builder-explorer-tree__node__container--selected-from-context-menu":d,"query-builder-explorer-tree__node__container--highlighted":f.highlightUsedProperties&&MHi(t,a)}),onClick:y,style:{paddingLeft:(i-1)*(r??1)+.5+"rem",display:"flex"},children:[vse.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[vse.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:e}),vse.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:AHi(l)})]}),vse.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:t.label}),vse.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:vse.jsx(Hwe,{arrow:!0,classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},slotProps:{transition:{timeout:0}},title:vse.jsxs("div",{className:"query-builder__tooltip__content",children:[vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:l.accessorOwnerLabel})]}),vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:RHi(l)})]})]}),children:vse.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":CHi.QUERY_BUILDER_TOOLTIP_ICON,children:vse.jsx(Xoe,{})})})})]})})}const C=u?t:void 0,S=u?HHi(t.type):void 0,w=C?(e=>{const t=e.genericType.value.rawType.name,n=e.genericType.value.typeVariableValues;if(n&&n.length>0){const e=n.map(e=>e instanceof AS?e.values[0]:void 0).filter(cr);if(e.length>0)return`${t}(${e.join(", ")})`}return t})(C.column):t.type.path,E=C?.column.multiplicity,x=void 0!==E&&(void 0===E.upperBound||E.upperBound>1);return vse.jsx(gVe,{content:vse.jsx(NHi,{queryBuilderState:a,node:t,accessor:l}),menuProps:{elevation:7},onOpen:b,onClose:_,children:vse.jsxs("div",{className:gle("tree-view__node__container query-builder-explorer-tree__node__container",{"query-builder-explorer-tree__node__container--selected-from-context-menu":d,"query-builder-explorer-tree__node__container--highlighted":f.highlightUsedProperties&&MHi(t,a)}),onClick:y,ref:m,style:{paddingLeft:(i-1)*(r??1)+.5+"rem",display:"flex"},children:[vse.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[vse.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:vse.jsx("div",{})}),vse.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:S})]}),vse.jsxs("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:[v,x&&vse.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this column can cause row explosion",children:"*"})]}),vse.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:vse.jsx(yHi,{title:v,data:[{label:"Type",value:w},{label:"Column",value:t.label},...E?[{label:"Multiplicity",value:wE(E)}]:[]],children:vse.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":CHi.QUERY_BUILDER_TOOLTIP_ICON,children:vse.jsx(Xoe,{})})})})]})})}),DHi=ule(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o,components:a}=e;return vse.jsxs("div",{className:"tree-view__node__block",children:[vse.jsx(IHi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).map(e=>vse.jsx(DHi,{node:e,level:n+1,components:a,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))]})}),OHi=ule(e=>{const{queryBuilderState:t,accessor:i}=e,r=n.useMemo(()=>(e=>{const t=[],n=new Map,i=[];e.relationType.columns.forEach(e=>{const t=e.genericType.value.rawType,r=new fzi(e.name,e.name,e.name,e,t,{mapped:!0});i.push(r.id),n.set(r.id,r)});const r=new mzi("__relation_root__",e.accessor,e.accessor,!1,e.relationType,{mapped:!0},i);return r.setIsOpen(!0),t.push(r.id),n.set(r.id,r),{rootIds:t,nodes:n}})(i),[i]);return vse.jsx(xMe,{components:{TreeNodeContainer:IHi,TreeNodeView:DHi},className:"query-builder-explorer-tree__root",treeData:r,onNodeSelect:e=>{e instanceof mzi&&e.setIsOpen(!e.isOpen)},getChildNodes:e=>e instanceof mzi?e.childrenIds.map(e=>r.nodes.get(e)).filter(cr):[],innerProps:{queryBuilderState:t,accessor:i}})}),kHi=ule(e=>{const{queryBuilderState:t,accessor:n}=e;return vse.jsxs("div",{"data-testid":CHi.QUERY_BUILDER_EXPLORER,className:"panel query-builder__explorer",children:[vse.jsx(CVe,{title:"columns"}),vse.jsxs("div",{className:"panel__content query-builder-explorer-tree__content",children:[vse.jsx(oHe,{labelGetter:e=>{const n=e.node;return t.explorerState.humanizePropertyName?vf(n.label):n.label},types:[lzi.RELATION_COLUMN]}),0===n.relationType.columns.length?vse.jsx(MVe,{children:"No columns"}):vse.jsx(OHi,{queryBuilderState:t,accessor:n})]})]})}),LHi=(e,t,n)=>{if(e.type instanceof Z_&&TE(e.type,t))return!0;if(e instanceof pzi&&TE(e.property,t))return!0;if(e instanceof gzi){const i=n.nodes.get(e.parentId);if(i?.type instanceof Z_&&TE(i.type,t))return!0}return!1},MHi=(e,t)=>{if(e instanceof hzi&&t.fetchStructureState.implementation.usedExplorerTreePropertyNodeIDs.length>0)return!0;const n=e.id.replaceAll(/(?:@[^.]+)+/g,e=>{const t=e.split(Wb);return`${Wb}${t[t.length-1]}`});return t.fetchStructureState.implementation.usedExplorerTreePropertyNodeIDs.includes(n)},PHi=e=>{const{subclass:t,path:i,isMapped:r,children:s,placement:o,multiplicity:a}=e,[l,c]=n.useState(!1);return vse.jsx(g_e,{onClickAway:()=>c(!1),mouseEvent:"onMouseDown",children:vse.jsx("div",{children:vse.jsx(Hwe,{arrow:!0,...void 0!==o?{placement:o}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},open:l,onClose:()=>c(!1),slotProps:{transition:{timeout:0}},disableFocusListener:!0,disableHoverListener:!0,disableTouchListener:!0,title:vse.jsxs("div",{className:"query-builder__tooltip__content",children:[vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:i})]}),vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:wE(a)})]}),vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Mapped"}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:r?"Yes":"No"})]}),vse.jsx(vHi,{taggedValues:t.taggedValues})]}),children:vse.jsx("div",{onClick:e=>{c(!l),e.stopPropagation()},children:s})})})})},FHi=ule(e=>{const{queryBuilderState:t}=e,n=t.applicationStore,i=t.explorerState.previewDataState,r=()=>{i.previewDataAbortController&&(i.previewDataAbortController.abort(),i.setPreviewDataAbortController(void 0)),i.setIsGeneratingPreviewData(!1),i.setPreviewData(void 0)};return vse.jsx(V_e,{open:Boolean(i.previewData)||i.isGeneratingPreviewData,onClose:r,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:vse.jsx("div",{"data-testid":CHi.QUERY_BUILDER_PREVIEW_DATA_MODAL,children:vse.jsxs(eVe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder__explorer__preview-data-modal",children:[vse.jsx(nVe,{title:vf(i.propertyName)}),vse.jsx(BVe,{isLoading:i.isGeneratingPreviewData}),vse.jsxs(rVe,{className:"query-builder__explorer__preview-data-modal__body",children:[i.isGeneratingPreviewData&&vse.jsx("div",{className:"query-builder__explorer__preview-data-modal__placeholder",children:"Loading preview data..."}),i.previewData&&vse.jsxs("table",{className:"table",children:[vse.jsx("thead",{children:vse.jsx("tr",{children:i.previewData.columns.map((e,t)=>vse.jsx("th",{className:"table__cell--left",children:e},t))})}),vse.jsx("tbody",{children:i.previewData.rows.map((e,t)=>vse.jsx("tr",{children:e.values.map((e,t)=>vse.jsx("td",{className:"table__cell--left",children:e},t))},t))})]})]}),vse.jsx(sVe,{children:vse.jsx(aVe,{text:"Close",onClick:r,type:"secondary"})})]})})})}),BHi=ule(n.forwardRef(function(e,t){const{queryBuilderState:n,openNode:i,node:r}=e;return vse.jsxs(cVe,{ref:t,children:[r instanceof pzi&&!(r.type instanceof Z_)&&vse.jsx(uVe,{onClick:()=>n.fetchStructureState.fetchProperty(r),children:"Add Property to Fetch Structure"}),r.type instanceof Z_&&vse.jsx(uVe,{onClick:()=>{if(i(),r.type instanceof Z_){r.childrenIds.map(e=>n.explorerState.nonNullableTreeData.nodes.get(e)).filter(pr(pzi)).filter(e=>!(e.type instanceof Z_)&&e.mappingData.mapped).filter(e=>{const t=vzi(e,n.explorerState);if(n.fetchStructureState.implementation instanceof hHi){return void 0===n.fetchStructureState.implementation.projectionColumns.find(n=>{if(n instanceof kVi)return n.propertyExpressionState.path===e.id&&n.columnName===SVi(t,!0)})}return!0}).forEach(e=>n.fetchStructureState.fetchProperty(e))}},children:"Add Properties to Fetch Structure"})]})})),VHi=new Set([I_(Zb.VARCHAR)]),UHi=new Set([I_(Zb.INT),I_(Zb.TINY_INT),I_(Zb.U_TINY_INT),I_(Zb.SMALL_INT),I_(Zb.U_SMALL_INT),I_(Zb.U_INT),I_(Zb.BIG_INT),I_(Zb.U_BIG_INT),I_(Zb.FLOAT),I_(Zb.DOUBLE),I_(Zb.NUMERIC),I_(Zb.DECIMAL)]),GHi=new Set([I_(Zb.TIMESTAMP),I_(Zb.STRICTDATE),I_(Zb.DATETIME),I_(Zb.STRICTTIME)]),HHi=e=>{if(e instanceof V_||e instanceof V_){const t=Jvt(e)??e.path;if(t===Xb.STRING)return vse.jsx(Fse,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__string"});if(t===Xb.BOOLEAN)return vse.jsx(mae,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__boolean"});if(t===Xb.NUMBER||t===Xb.INTEGER||t===Xb.FLOAT||t===Xb.DECIMAL)return vse.jsx(Koe,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__number"});if(t===Xb.DATE||t===Xb.DATETIME||t===Xb.STRICTDATE)return vse.jsx(Noe,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__time"})}else if(e instanceof U_){if(VHi.has(e.name))return vse.jsx(Fse,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__string"});if(UHi.has(e.name))return vse.jsx(Koe,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__number"});if(GHi.has(e.name))return vse.jsx(Noe,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__time"})}return xHi(e)},zHi=ule(e=>{const{node:t,level:i,stepPaddingInRem:r,onNodeSelect:s,innerProps:o}=e,{queryBuilderState:a}=o,[l,c]=n.useState(!1),u=Cmt(),d=a.explorerState,[,h,p]=TGe(()=>({type:t instanceof pzi?t.type instanceof nC?lzi.ENUM_PROPERTY:t.type instanceof Z_?lzi.CLASS_PROPERTY:lzi.PRIMITIVE_PROPERTY:lzi.ROOT,item:()=>t instanceof pzi?{node:t}:{}}),[t]),g=n.useRef(null);h(g),sHe(p);const m=Boolean(t.childrenIds.length),f=t instanceof pzi&&t.property instanceof pC,v=t instanceof pzi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1)||t instanceof gzi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1),y=t.mappingData.mapped&&t instanceof pzi&&t.type instanceof V_&&!t.isPartOfDerivedPropertyBranch,b=m?t.isOpen?vse.jsx(wae,{}):vse.jsx(xae,{}):vse.jsx("div",{}),_=d.humanizePropertyName?t instanceof gzi?Wb+vf(t.label):vf(t.label):t instanceof gzi?Wb+t.label:t.label;return t.mappingData.mapped||t instanceof hzi||d.showUnmappedProperties?vse.jsx(gVe,{content:vse.jsx(BHi,{queryBuilderState:a,openNode:()=>{t.isOpen||s?.(t)},node:t}),disabled:!(t instanceof pzi||t instanceof hzi)||u.layoutService.showBackdrop,menuProps:{elevation:7},onOpen:()=>c(!0),onClose:()=>c(!1),children:vse.jsxs("div",{className:gle("tree-view__node__container query-builder-explorer-tree__node__container",{"query-builder-explorer-tree__node__container--selected-from-context-menu":l,"query-builder-explorer-tree__node__container--unmapped":!t.mappingData.mapped,"query-builder-explorer-tree__node__container--selected":t.isSelected,"query-builder-explorer-tree__node__container--highlighted":d.highlightUsedProperties&&MHi(t,a)}),title:t.mappingData.mapped?void 0:t instanceof hzi?"Root class is not mapped":"Property is not mapped",onClick:()=>s?.(t),ref:t.mappingData.mapped&&!m?g:void 0,style:{paddingLeft:(i-1)*(r??1)+.5+"rem",display:"flex"},children:[t instanceof hzi&&vse.jsxs(vse.Fragment,{children:[vse.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[vse.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:b}),vse.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:vse.jsx(oAe,{})})]}),vse.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:t.label}),vse.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:a.sourceClass&&vse.jsx(THi,{_class:a.sourceClass,children:vse.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":CHi.QUERY_BUILDER_TOOLTIP_ICON,children:vse.jsx(Xoe,{})})})})]}),(t instanceof pzi||t instanceof gzi)&&vse.jsxs(vse.Fragment,{children:[vse.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",ref:t.elementRef,children:[vse.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:b}),vse.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:HHi(t.type)})]}),vse.jsxs("div",{className:gle("tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",{"query-builder-explorer-tree__node__label--with-preview":y},{"query-builder-explorer-tree__node__label--highlight":t.isHighlighting}),onAnimationEnd:()=>t.setIsHighlighting(!1),children:[vse.jsx("div",{className:gle("query-builder-explorer-tree__node__label--property__name",{"query-builder-explorer-tree__node__label--deprecated":LHi(t,d.queryBuilderState.graphManagerState.graph,d.nonNullableTreeData)}),children:_}),f&&vse.jsx("div",{className:"query-builder-explorer-tree__node__label__derived-property",title:"Property is derived and may require user to specify parameter values",children:"(...)"}),v&&vse.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),vse.jsxs("div",{className:"query-builder-explorer-tree__node__actions",children:[y&&vse.jsx("button",{className:"query-builder-explorer-tree__node__action",disabled:d.previewDataState.isGeneratingPreviewData,tabIndex:-1,title:"Preview Data",onClick:()=>{t instanceof pzi&&d.previewData(t).catch(u.alertUnhandledError)},children:vse.jsx(Goe,{})}),t instanceof pzi&&vse.jsx(bHi,{title:_,property:t.property,path:t.id,isMapped:t.mappingData.mapped,type:t.type,children:vse.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":CHi.QUERY_BUILDER_TOOLTIP_ICON,children:vse.jsx(Xoe,{})})}),t instanceof gzi&&vse.jsx(PHi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:vse.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":CHi.QUERY_BUILDER_TOOLTIP_ICON,children:vse.jsx(Xoe,{})})})]})]})]})}):null}),jHi=ule(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e,{queryBuilderState:a}=o;return t.mappingData.mapped||t instanceof hzi||a.explorerState.showUnmappedProperties?vse.jsxs("div",{className:"tree-view__node__block",children:[vse.jsx(zHi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).map(e=>vse.jsx(jHi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))]}):null}),WHi=e=>e instanceof gzi?0:e.type instanceof Z_?e.isPartOfDerivedPropertyBranch?1:2:e.type instanceof nC?e.isPartOfDerivedPropertyBranch?3:4:e.isPartOfDerivedPropertyBranch?5:6,$Hi=ule(e=>{const{queryBuilderState:t}=e,n=t.explorerState,i=n.nonNullableTreeData;return vse.jsx(xMe,{components:{TreeNodeContainer:zHi,TreeNodeView:jHi},className:"query-builder-explorer-tree__root",treeData:i,onNodeSelect:e=>{e.childrenIds.length&&(e.setIsOpen(!e.isOpen),n.generateOpenNodeChildren(e))},getChildNodes:e=>e.childrenIds.map(e=>i.nodes.get(e)).filter(e=>e instanceof gzi||e instanceof pzi).sort((e,t)=>e.label.localeCompare(t.label)).sort((e,t)=>WHi(t)-WHi(e)),innerProps:{queryBuilderState:t}})}),qHi="query-builder-explorer-search-input",YHi=ule(n.forwardRef(function(e,t){const{propertySearchState:i}=e;n.useEffect(()=>{i.initializationState.hasSucceeded||i.initializationState.isInProgress||!cr(i.queryBuilderState.explorerState.treeData)||i.initialize().catch(i.queryBuilderState.applicationStore.alertUnhandledError)},[i,i.initializationState,i.queryBuilderState.explorerState.treeData]);const r=n.useMemo(()=>jn(()=>i.search(),100),[i]),s=()=>{i.resetSearch()};return vse.jsxs("div",{className:"query-builder__explorer__property-search__input__container",children:[vse.jsx("input",{ref:t,name:qHi,className:gle("query-builder__explorer__property-search__input input--dark",{"query-builder__explorer__property-search__input--searching":i.searchText}),spellCheck:!1,onChange:e=>{(async()=>{i.setSearchText(e.target.value),e.target.value.length>=2?(i.queryBuilderState.explorerState.treeData&&!i.isSearchPanelOpen&&(i.setIsSearchPanelOpen(!0),i.initializationState.hasSucceeded||i.initializationState.isInProgress||await i.initialize()),await r()):i.setIsSearchPanelOpen(!1)})().catch(i.queryBuilderState.applicationStore.alertUnhandledError)},onKeyDown:e=>{"Escape"===e.key&&(s(),i.setIsSearchPanelOpen(!1))},value:i.searchText,placeholder:"One or more terms, ESC to clear"}),i.searchText.length>=2&&vse.jsx("div",{className:"query-builder__explorer__property-search__input__search__count",children:i.filteredSearchResults.length+(i.isOverSearchLimit&&0!==i.filteredSearchResults.length?"+":"")}),i.searchText?vse.jsx("button",{className:"query-builder__explorer__property-search__input__clear-btn",tabIndex:-1,onClick:s,title:"Clear",children:vse.jsx(gae,{})}):vse.jsx(vse.Fragment,{children:vse.jsx("div",{className:"query-builder__explorer__property-search__input__search__icon",children:vse.jsx(uae,{})})})]})})),KHi=ule(e=>{const{queryBuilderState:t}=e,i=n.useRef(null),r=t.explorerState,s=r.propertySearchState,o=Cmt();return n.useEffect(()=>{r.analyzeMappingModelCoverage().catch(o.alertUnhandledError)},[o,r,t.executionContextState.mapping]),vse.jsxs("div",{"data-testid":CHi.QUERY_BUILDER_EXPLORER,className:gle("panel query-builder__explorer",{backdrop__element:o.layoutService.showBackdrop}),children:[vse.jsxs(CVe,{title:"explorer",children:[vse.jsx(YHi,{propertySearchState:s,ref:i}),vse.jsxs(wVe,{children:[vse.jsx(EVe,{onClick:()=>{r.treeData&&Array.from(r.treeData.nodes.values()).forEach(e=>{e instanceof hzi||e.setIsOpen(!1)})},title:"Collapse Tree",children:vse.jsx(Doe,{})}),vse.jsx(mVe,{className:"panel__header__action",title:"Show Options Menu...",onOpen:()=>{yvt.logEvent_ShowPropertyExplorerOptions(o.telemetryService)},content:vse.jsxs(cVe,{children:[vse.jsxs(uVe,{onClick:()=>{yvt.logEvent_ShowUnmappedPropertyInExplorerTreeLaunched(o.telemetryService),r.setShowUnmappedProperties(!r.showUnmappedProperties)},children:[vse.jsx(hVe,{children:r.showUnmappedProperties?vse.jsx(xoe,{}):null}),vse.jsx(pVe,{children:"Show Unmapped Properties"})]}),vse.jsxs(uVe,{onClick:()=>r.setHumanizePropertyName(!r.humanizePropertyName),children:[vse.jsx(hVe,{children:r.humanizePropertyName?vse.jsx(xoe,{}):null}),vse.jsx(pVe,{children:"Humanize Property Name"})]}),vse.jsxs(uVe,{onClick:()=>r.setHighlightUsedProperties(!r.highlightUsedProperties),children:[vse.jsx(hVe,{children:r.highlightUsedProperties?vse.jsx(xoe,{}):null}),vse.jsx(pVe,{children:"Highlight already used properties"})]})]}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:7},children:vse.jsx(Bse,{className:"query-builder__icon__more-options"})})]}),s.isSearchPanelOpen&&vse.jsx(ozi,{queryBuilderState:t,triggerElement:i.current,clearSearch:()=>s.resetSearch()})]}),vse.jsxs("div",{className:"panel__content query-builder-explorer-tree__content",children:[vse.jsx(BVe,{isLoading:r.mappingModelCoverageAnalysisState.isInProgress}),vse.jsx(oHe,{labelGetter:e=>r.humanizePropertyName?vf(e.node.label):e.node.label,types:Object.values(lzi)}),r.mappingModelCoverageAnalysisState.isInProgress?vse.jsx(MVe,{children:r.mappingModelCoverageAnalysisState.message}):vse.jsxs(vse.Fragment,{children:[!r.treeData&&vse.jsx(MVe,{children:"Specify the class, mapping, and runtime to start building query"}),r.treeData&&vse.jsx($Hi,{queryBuilderState:t})]}),vse.jsx(FHi,{queryBuilderState:t})]})]})}),XHi=ule(e=>{const{queryBuilderState:t}=e,n=t.sourceAccessor;return n?vse.jsx(kHi,{queryBuilderState:t,accessor:n}):vse.jsx(KHi,{queryBuilderState:t})}),ZHi=({documentationKey:e,title:t,className:n,inline:i=!0})=>{const r=Cmt(),s=r.documentationService.getDocEntry(e);return s&&(s.url||Nmt(s))?vse.jsx("div",{onClick:t=>{t.preventDefault(),t.stopPropagation(),r.assistantService.openDocumentationEntryLink(e)},title:t??"Click to see documentation",className:gle("documentation-link",n,{"documentation-link--inline":i}),children:vse.jsx(oae,{})}):null},QHi=e=>{const{parent:t,canUndo:i,undo:r}=e;return n.useEffect(()=>{const e=e=>{const n=e.target;e.ctrlKey&&"z"===e.key&&null!==n&&null!==t.current&&(t.current.contains(n)||n.contains(t.current))&&(e.preventDefault(),r())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[t,r]),vse.jsx("div",{className:"undo-redo",children:vse.jsxs("button",{className:"undo-redo__button",onClick:r,tabIndex:-1,title:"Undo(ctrl + z)",disabled:!i,children:[vse.jsx(vae,{}),vse.jsx("div",{className:"undo-redo__button__label",children:"Undo"})]})})},JHi=e=>{const{parent:t,canRedo:i,redo:r}=e;return n.useEffect(()=>{const e=e=>{const n=e.target;e.ctrlKey&&"y"===e.key&&null!==n&&null!==t.current&&(t.current.contains(n)||n.contains(t.current))&&(e.preventDefault(),r())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[t,r]),vse.jsx("div",{className:"undo-redo",children:vse.jsxs("button",{className:"undo-redo__button",onClick:r,tabIndex:-1,title:"Redo(ctrl + y)",disabled:!i,children:[vse.jsx(lae,{}),vse.jsx("div",{className:"undo-redo__button__label",children:"Redo"})]})})},ezi=(e,t)=>e.split(Wb).map(e=>e.replace(new RegExp(String.raw`.*${Gb}`),"")).filter(e=>""!==e).map(e=>e.split(".").map(vf).join(t?" / ":"/")).join(Wb),tzi=(e,t)=>{let n=e.split(Wb);n=n.map(e=>e.replace(new RegExp(String.raw`.*${Gb}`),"")).filter(e=>""!==e);let i=n.slice(0,-1).map(e=>`(${Wb}${e.split(".").map(e=>vf(e)).join(t?" / ":"/")})`).join(t?" / ":"/");return i+=t?" / ":"/",n=dr(n[n.length-1]).split("."),n=n.map(e=>vf(e)),i=`${i}(${Wb}${n[0]})${t?" / ":"/"}`,n.slice(1).forEach(e=>{i=`${i+e}${t?" / ":"/"}`}),i=i.slice(0,t?-3:-1),i},nzi=(e,t,n,i)=>{const r=[];t.split(/\/| /).filter(e=>e.trim().length>0).forEach(t=>{const n=new RegExp(t,"gi");let i;for(;i=n.exec(e);)r.push([i.index,i.index+t.length])});const s=[];if(r.sort((e,t)=>e[0]-t[0]),r.forEach(e=>{if(s.length){const t=s[s.length-1];void 0!==t&&e[0]<=t[1]?t[1]=Math.max(t[1],e[1]):s.push(e)}else s.push(e)}),!s.length)return vse.jsx("span",{children:e});const o=[],a=Gr(s,0)[0];a>0&&o.push(vse.jsx("span",{children:e.substring(0,a)},`${i}-0-${e.substring(0,a)}`)),s.forEach((t,r)=>{if(o.push(vse.jsx("span",{className:`${n}--highlight`,children:e.substring(t[0],t[1])},`${i}-${2*r}-${e.substring(t[0],t[1])}`)),r<s.length-1&&t[1]<e.length){const n=Gr(s,r+1)[0];o.push(vse.jsx("span",{children:e.substring(t[1],n)},`${i}-${2*r+1}--${e.substring(t[1],n)}`))}});const l=Gr(s,s.length-1)[1];return l<e.length&&o.push(vse.jsx("span",{children:e.substring(l)},`${i}-${2*s.length+2}-${e.substring(l)}`)),o},izi=ule(e=>{const{node:t,queryBuilderState:i,explorerState:r,level:s,stepPaddingInRem:o}=e,a=Boolean(t.childrenIds.length),l=r.propertySearchState,[,c,u]=TGe(()=>({type:t instanceof pzi?t.type instanceof nC?lzi.ENUM_PROPERTY:t.type instanceof Z_?lzi.CLASS_PROPERTY:lzi.PRIMITIVE_PROPERTY:lzi.ROOT,item:()=>t instanceof pzi?{node:t}:{},canDrag:()=>!(t.type instanceof Z_),collect:e=>({isDragging:e.isDragging()})}),[t]),d=n.useRef(null);c(d),sHe(u);const h=()=>{r.propertySearchState.setIsSearchPanelOpen(!1),r.propertySearchState.resetSearch(),r.highlightTreeNode(t.id)},p=l.indexedExplorerTreeNodes.find(e=>t instanceof pzi&&t.parentId===e.id),g=p?.type instanceof Z_&&s>1?vf(t.label):p instanceof gzi?tzi(t.id,!0):ezi(t.id,!0),m=a?t.isOpen?vse.jsx(wae,{}):vse.jsx(xae,{}):vse.jsx("div",{}),f=t instanceof pzi?t.property.taggedValues.find(e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===t_)?.value??null:null,v=null!==f?nzi(f,l.searchText,"query-builder-property-search-panel__node__doc",`${t.id}_doc`):null,y=l.isNodeMultiple(t);return vse.jsxs(vse.Fragment,{children:[vse.jsxs("div",{className:"tree-view__node__container query-builder-property-search-panel__node__container",ref:d,style:{paddingLeft:(s-1)*o+.5+"rem",display:"flex"},onClick:()=>t.setIsOpen(!t.isOpen),onDrag:()=>l.setIsSearchPanelHidden(!0),onDragEnd:()=>l.setIsSearchPanelHidden(!1),children:[vse.jsxs("div",{className:"tree-view__node__icon query-builder-property-search-panel__node__icon",children:[vse.jsx("div",{className:"query-builder-property-search-panel__expand-icon",children:m}),vse.jsx("div",{className:"query-builder-property-search-panel__type-icon",children:HHi(t.type)})]}),vse.jsxs("div",{className:"query-builder-property-search-panel__node__content",children:[vse.jsxs("div",{className:"tree-view__node__label query-builder-property-search-panel__node__label",children:[nzi(g,l.searchText,"query-builder-property-search-panel__node__label",t.id),y&&vse.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),vse.jsx("div",{className:"tree-view__node__label query-builder-property-search-panel__node__doc",children:v})]}),vse.jsxs("div",{className:"query-builder-property-search-panel__node__actions",children:[t instanceof pzi&&vse.jsxs(vse.Fragment,{children:[vse.jsx(bHi,{title:g,property:t.property,path:t.id,isMapped:t.mappingData.mapped,children:vse.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:vse.jsx(Xoe,{})})}),vse.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:vse.jsx(Dae,{})})]}),t instanceof gzi&&vse.jsxs(vse.Fragment,{children:[vse.jsx(PHi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:vse.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:vse.jsx(Xoe,{})})}),vse.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:vse.jsx(Dae,{})})]})]})]}),t.isOpen&&(()=>{const e=[];return t.childrenIds.length&&(t instanceof pzi||t instanceof gzi)&&t.type instanceof Z_&&(t instanceof gzi?bE(t.type):fE(t.type)).forEach(n=>{const r=bzi(n,t,dr(i.explorerState.mappingModelCoverageAnalysisResult));!r||r.type instanceof Z_||!r.mappingData.mapped||e.push(r)}),e})().filter(e=>l.isNodeIncludedInFilter(e)).sort((e,t)=>e.label.localeCompare(t.label)).map(e=>vse.jsx(izi,{node:e,queryBuilderState:i,level:s+1,stepPaddingInRem:2,explorerState:i.explorerState},`${t.id}>${e.id}`))]})}),rzi=ule(e=>{const{label:t,enabled:i,onClick:r,showOnlyButton:s,onOnlyButtonClick:o}=e,[a,l]=n.useState(!1);return vse.jsxs("div",{className:"query-builder-property-search-panel__form__section__toggler__btn__container",onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:[vse.jsxs("button",{className:gle("query-builder-property-search-panel__form__section__toggler__btn",{"query-builder-property-search-panel__form__section__toggler__btn--toggled":i}),onClick:r,tabIndex:-1,children:[i?vse.jsx(Toe,{}):vse.jsx(hae,{}),vse.jsx("div",{className:"query-builder-property-search-panel__form__section__toggler__prompt",children:t})]}),s&&a&&vse.jsx("button",{className:"query-builder-property-search-panel__form__section__toggler__only-btn",onClick:o,children:"only"})]})}),szi=ule(e=>{const{header:t,headerTooltipText:n,buttons:i}=e;return vse.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[vse.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:[t,n&&vse.jsx(Hwe,{slotProps:{transition:{timeout:0}},title:vse.jsx("div",{children:n}),children:vse.jsx("div",{className:"query-builder-property-search-panel__tagged-values__tooltip",children:vse.jsx(Xoe,{})})})]}),i.map(({label:e,enabled:t,onClick:n,onOnlyButtonClick:r})=>vse.jsx(rzi,{label:e,enabled:t,onClick:n,showOnlyButton:i.length>1,onOnlyButtonClick:r},e))]})}),ozi=ule(e=>{const{queryBuilderState:t,triggerElement:n,clearSearch:i}=e,r=t.explorerState.propertySearchState,s=e=>{e.target instanceof HTMLInputElement&&e.target.name===qHi||(i(),r.setIsSearchPanelOpen(!1))};return vse.jsx(REe,{open:r.isSearchPanelOpen,slotProps:{paper:{classes:{root:"query-builder-property-search-panel__container__root"}}},className:gle("query-builder-property-search-panel__container",{"query-builder-property-search-panel__container--hidden":r.isSearchPanelHidden}),anchorEl:n,onClose:s,hideBackdrop:!0,disableAutoFocus:!0,disableEnforceFocus:!0,anchorOrigin:{vertical:40,horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"center"},children:vse.jsx(g_e,{onClickAway:s,children:vse.jsx("div",{"data-testid":CHi.QUERY_BUILDER_PROPERTY_SEARCH_PANEL,className:"query-builder-property-search-panel",children:vse.jsx("div",{className:"query-builder-property-search-panel__content",children:vse.jsxs(tze,{orientation:"vertical",children:[vse.jsx(nze,{size:175,children:vse.jsxs("div",{className:"query-builder-property-search-panel__config",children:[vse.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[vse.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:["Search Mode",vse.jsx(ZHi,{documentationKey:gft.QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX})]}),vse.jsx("div",{className:"query-builder-property-search-panel__filter__element",children:vse.jsx(bVe,{className:"query-builder-property-search-panel__search-mode__options",value:r.searchConfigurationState.currentMode,onChange:e=>{const t=e.target.value;r.searchConfigurationState.setCurrentMode(t)},row:!1,options:[Pb.STANDARD,Pb.INCLUDE,Pb.EXACT,Pb.INVERSE],size:1})})]}),vse.jsx(szi,{header:"One-Many rows",buttons:[{label:"Include",enabled:r.includeOneMany,onClick:()=>r.setIncludeOneMany(!r.includeOneMany)}]}),vse.jsx(szi,{header:"Documentation",headerTooltipText:'Include "doc" type tagged values in search results',buttons:[{label:"Include",enabled:r.searchConfigurationState.includeDocumentation,onClick:()=>{(async()=>{r.searchConfigurationState.setIncludeDocumentation(!r.searchConfigurationState.includeDocumentation),await r.initialize(),await r.search()})().catch(r.queryBuilderState.applicationStore.alertUnhandledError)}}]}),vse.jsx(szi,{header:"Sub-types",buttons:[{label:"Include",enabled:r.searchConfigurationState.includeSubTypes,onClick:()=>{(async()=>{r.searchConfigurationState.setIncludeSubTypes(!r.searchConfigurationState.includeSubTypes),await r.initialize(),await r.search()})().catch(r.queryBuilderState.applicationStore.alertUnhandledError)}}]}),vse.jsx(szi,{header:"By type",buttons:[{label:"Class",enabled:r.typeFilters.includes(Evt.CLASS),onClick:()=>{r.toggleFilterForType(Evt.CLASS)},onOnlyButtonClick:()=>{r.setFilterOnlyType(Evt.CLASS)}},{label:"Enumeration",enabled:r.typeFilters.includes(Evt.ENUMERATION),onClick:()=>{r.toggleFilterForType(Evt.ENUMERATION)},onOnlyButtonClick:()=>{r.setFilterOnlyType(Evt.ENUMERATION)}},{label:"String",enabled:r.typeFilters.includes(Evt.STRING),onClick:()=>{r.toggleFilterForType(Evt.STRING)},onOnlyButtonClick:()=>{r.setFilterOnlyType(Evt.STRING)}},{label:"Boolean",enabled:r.typeFilters.includes(Evt.BOOLEAN),onClick:()=>{r.toggleFilterForType(Evt.BOOLEAN)},onOnlyButtonClick:()=>{r.setFilterOnlyType(Evt.BOOLEAN)}},{label:"Number",enabled:r.typeFilters.includes(Evt.NUMBER),onClick:()=>{r.toggleFilterForType(Evt.NUMBER)},onOnlyButtonClick:()=>{r.setFilterOnlyType(Evt.NUMBER)}},{label:"Date",enabled:r.typeFilters.includes(Evt.DATE),onClick:()=>{r.toggleFilterForType(Evt.DATE)},onOnlyButtonClick:()=>{r.setFilterOnlyType(Evt.DATE)}}]})]})}),vse.jsx(ize,{children:vse.jsx(rze,{color:"var(--color-dark-grey-200)"})}),vse.jsxs(nze,{children:[(r.initializationState.isInProgress||r.searchState.isInProgress)&&vse.jsx(BVe,{isLoading:!0}),vse.jsxs("div",{className:"query-builder-property-search-panel__results",children:[!r.initializationState.isInProgress&&!r.searchState.isInProgress&&vse.jsxs(vse.Fragment,{children:[Boolean(r.filteredSearchResults.length)&&r.filteredSearchResults.map(e=>vse.jsx(izi,{node:e,queryBuilderState:t,level:1,stepPaddingInRem:0,explorerState:t.explorerState},e.id)),!r.filteredSearchResults.length&&r.searchText&&vse.jsxs(MVe,{children:[vse.jsx("div",{className:"query-builder-property-search-panel__result-placeholder__text",children:"No result"}),vse.jsx("div",{className:"query-builder-property-search-panel__result-placeholder__tips",children:"Tips: Navigate deeper into the explorer tree to improve the scope and accuracy of the search"})]})]}),r.initializationState.isInProgress&&vse.jsx(MVe,{children:"Initializing..."}),r.searchState.isInProgress&&vse.jsx(MVe,{children:"Searching..."})]})]})]})})})})})});class azi{queryBuilderState;indexedExplorerTreeNodeMap=new Map;searchEngine;searchConfigurationState;initializationState=Py.create();searchState=Py.create();searchText="";searchResults=[];isOverSearchLimit=!1;isSearchPanelOpen=!1;isSearchPanelHidden=!1;showSearchConfigurationMenu=!1;includeOneMany=!1;typeFilters=[Evt.CLASS,Evt.ENUMERATION,Evt.STRING,Evt.BOOLEAN,Evt.NUMBER,Evt.DATE];constructor(e){hd(this,{indexedExplorerTreeNodeMap:Rc,searchText:Rc,searchResults:Rc,isOverSearchLimit:Rc,isSearchPanelOpen:Rc,isSearchPanelHidden:Rc,showSearchConfigurationMenu:Rc,includeOneMany:Rc,typeFilters:Rc,indexedExplorerTreeNodes:Oc,filteredSearchResults:Oc,search:Pu,resetSearch:Pu,setSearchResults:Pu,setIsOverSearchLimit:Pu,setSearchText:Pu,setShowSearchConfigurationMenu:Pu,setIsSearchPanelOpen:Pu,setIsSearchPanelHidden:Pu,setIncludeOneMany:Pu,setFilterOnlyType:Pu,toggleFilterForType:Pu,initialize:Pu}),this.queryBuilderState=e,this.searchConfigurationState=new fHi(async()=>this.search(),this.queryBuilderState.applicationStore.alertUnhandledError),this.searchEngine=new Mb(this.indexedExplorerTreeNodes)}setIsSearchPanelOpen(e){this.isSearchPanelOpen=e}setIsSearchPanelHidden(e){this.isSearchPanelHidden=e}setShowSearchConfigurationMenu(e){this.showSearchConfigurationMenu=e}setSearchResults(e){this.searchResults=e}setIsOverSearchLimit(e){this.isOverSearchLimit=e}setSearchText(e){this.searchText=e}resetSearch(){this.searchText="",this.searchResults=[],this.indexedExplorerTreeNodes.forEach(e=>{e instanceof hzi||e.setIsOpen(!1)}),this.searchState.complete()}setIncludeOneMany(e){this.includeOneMany=e}setFilterOnlyType(e){this.typeFilters=[e]}toggleFilterForType(e){this.typeFilters.includes(e)?$r(this.typeFilters,e):jr(this.typeFilters,e)}isNodeMultiple(e){let t=e;for(;t;){if(t instanceof gzi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1)||t instanceof pzi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1))return!0;t=t instanceof pzi||t instanceof gzi?this.indexedExplorerTreeNodeMap.get(t.parentId):void 0}return!1}async search(){return this.searchText||this.setSearchResults([]),this.searchState.inProgress(),this.indexedExplorerTreeNodes.forEach(e=>{e instanceof hzi||e.setIsOpen(!1)}),new Promise(e=>setTimeout(()=>{const t=new Map,n=Array.from(this.searchEngine.search(this.searchConfigurationState.generateSearchText(this.searchText.toLowerCase()),{limit:101}).values()).map(e=>e.item).map(e=>(e.type instanceof Z_&&t.set(e.id,e),e)).filter(e=>!(e instanceof pzi||e instanceof gzi)||!t.has(e.parentId));n.length>100?(this.setIsOverSearchLimit(!0),this.setSearchResults(n.slice(0,100))):(this.setIsOverSearchLimit(!1),this.setSearchResults(n)),this.searchState.complete(),e()},0))}async initialize(){return this.initializationState.inProgress(),new Promise(e=>setTimeout(()=>{const t=this.queryBuilderState.explorerState.nonNullableTreeData,n=new Map(t.rootIds.map(e=>t.nodes.get(e)).filter(cr).map(e=>[e.id,e]));this.indexedExplorerTreeNodeMap=new Map;let i=[],r=[];Array.from(t.rootIds.map(e=>t.nodes.get(e)?.childrenIds.map(e=>t.nodes.get(e))).flat().filter(cr).filter(e=>!(!e.mappingData.mapped||!this.searchConfigurationState.includeSubTypes)||e instanceof pzi)).forEach(e=>{if(e.mappingData.mapped&&!e.isPartOfDerivedPropertyBranch){const t=Szi(e);i.push(t),this.indexedExplorerTreeNodeMap.set(t.id,t)}});const s=this.indexedExplorerTreeNodeMap.size+1e4,o=e=>Bu(()=>{if(this.indexedExplorerTreeNodeMap.size>s)return;const t=Szi(e);this.indexedExplorerTreeNodeMap.set(t.id,t)}),a=e=>{if(e instanceof pzi||e instanceof gzi){let t=this.indexedExplorerTreeNodeMap.get(e.parentId)??n.get(e.parentId);for(;t;){if(e.type===t.type)return!0;t=t instanceof pzi||t instanceof gzi?this.indexedExplorerTreeNodeMap.get(t.parentId)??n.get(t.parentId):void 0}}return!1};let l=1;for(;i.length&&l<=10;){const e=i.shift();e?.mappingData.mapped&&e.childrenIds.length&&(e instanceof pzi||this.searchConfigurationState.includeSubTypes&&e instanceof gzi)&&e.type instanceof Z_&&((e instanceof gzi?bE(e.type):fE(e.type).concat(vE(e.type))).forEach(t=>{const n=bzi(t,e,dr(this.queryBuilderState.explorerState.mappingModelCoverageAnalysisResult));n&&n.mappingData.mapped&&!n.isPartOfDerivedPropertyBranch&&!a(n)&&(r.push(n),o(n))}),this.searchConfigurationState.includeSubTypes&&e.type._subclasses.forEach(t=>{const n=_zi(t,e,dr(this.queryBuilderState.explorerState.mappingModelCoverageAnalysisResult));n.mappingData.mapped&&!a(n)&&(r.push(n),o(n))})),!i.length&&this.indexedExplorerTreeNodeMap.size<s&&(i=r,r=[],l++)}this.searchEngine=new Mb(this.indexedExplorerTreeNodes,{includeScore:!0,shouldSort:!0,ignoreLocation:!0,threshold:.2,keys:[{name:"label",weight:4},{name:"path",weight:2,getFn:e=>{const t=e instanceof pzi||e instanceof gzi?this.indexedExplorerTreeNodeMap.get(e.parentId):void 0;return t?t instanceof gzi?tzi(e.id):ezi(e.id):""}},...this.searchConfigurationState.includeDocumentation?[{name:"taggedValues",weight:2,getFn:e=>e instanceof pzi?e.property.taggedValues.filter(e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===t_).map(e=>e.value).join("\n"):""}]:[]],sortFn:(e,t)=>{if(Math.abs(e.score-t.score)<=.1){const n=e.item[0]&&Object.hasOwn(e.item[0],"v")?e.item[0].v.split("/").length:void 0,i=t.item[0]&&Object.hasOwn(t.item[0],"v")?t.item[0].v.split("/").length:void 0;if(void 0!==n&&void 0!==i)return n-i}return e.score-t.score},useExtendedSearch:!0}),this.initializationState.complete(),e()},0))}get indexedExplorerTreeNodes(){return Array.from(this.indexedExplorerTreeNodeMap.values())}isNodeIncludedInFilter(e){return!(!this.includeOneMany&&this.isNodeMultiple(e))&&(!!(this.typeFilters.includes(Evt.CLASS)&&e.type instanceof Z_)||(!!(this.typeFilters.includes(Evt.ENUMERATION)&&e.type instanceof nC)||(!(!this.typeFilters.includes(Evt.STRING)||e.type!==V_.STRING)||(!!(this.typeFilters.includes(Evt.NUMBER)&&e.type instanceof V_&&[Xb.NUMBER,Xb.DECIMAL,Xb.INTEGER,Xb.FLOAT].includes(e.type.name))||(!(!this.typeFilters.includes(Evt.BOOLEAN)||e.type!==V_.BOOLEAN)||!!(this.typeFilters.includes(Evt.DATE)&&e.type instanceof V_&&[Xb.DATE,Xb.DATETIME,Xb.STRICTDATE,Xb.STRICTTIME,Xb.LATESTDATE].includes(e.type.name)))))))}get filteredSearchResults(){return this.searchResults.filter(e=>this.isNodeIncludedInFilter(e))}}var lzi;!function(e){e.ROOT="ROOT",e.CLASS_PROPERTY="CLASS_PROPERTY",e.ENUM_PROPERTY="ENUM_PROPERTY",e.PRIMITIVE_PROPERTY="PRIMITIVE_PROPERTY",e.RELATION_COLUMN="RELATION_COLUMN"}(lzi||(lzi={}));const czi=(e,t)=>`${e?`${e}.`:""}${t}`,uzi=(e,t)=>`${e||""}${Wb}${t}`;class dzi{isSelected;isOpen;isHighlighting;id;label;dndText;childrenIds=[];isPartOfDerivedPropertyBranch;type;mappingData;elementRef;constructor(e,t,i,r,s,o,a){hd(this,{isHighlighting:Rc,isOpen:Rc,isSelected:Rc,setIsHighlighting:Pu,setIsOpen:Pu,setIsSelected:Pu}),this.id=e,this.label=t,this.dndText=i,this.isPartOfDerivedPropertyBranch=r,this.type=s,this.mappingData=o,a&&(this.childrenIds=a),this.elementRef=n.createRef()}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}setIsHighlighting(e){this.isHighlighting=e}}class hzi extends dzi{}class pzi extends dzi{property;parentId;constructor(e,t,n,i,r,s,o,a,l){super(e,t,n,s,a??i.genericType.value.rawType,o,l),this.property=i,this.parentId=r}}class gzi extends dzi{subclass;parentId;multiplicity;constructor(e,t,n,i,r,s,o,a,l){super(e,t,n,s,i,o,l),this.subclass=i,this.parentId=r,this.multiplicity=a}}class mzi extends dzi{}class fzi extends dzi{column;constructor(e,t,n,i,r,s){super(e,t,n,!1,r,s),this.column=i}}const vzi=(e,t,n)=>{const i=t.nonNullableTreeData,r=t.propertySearchState.indexedExplorerTreeNodes,s=new TS(n??bvt,A_.ONE),o=new US("");Gvt(o,fC.create(dr(e.property)));let a=o,l=i.nodes.get(e.parentId)??r.find(t=>t.id===e.parentId),c=e;for(;c&&(l instanceof pzi||l instanceof gzi);){if(l instanceof gzi&&c instanceof gzi){l=i.nodes.get(l.parentId);continue}let e,t=!1;if(l instanceof gzi?e=new VS(I_(Rvt.SUBTYPE)):l instanceof pzi&&l.mappingData.entityMappedProperty?.subType?(e=new VS(I_(Rvt.SUBTYPE)),a.parametersValues.push(e),a=e,e=new US(""),Gvt(e,fC.create(dr(l.property))),t=!0,c=l,l=i.nodes.get(l.parentId)):(e=new US(""),Gvt(e,fC.create(dr(l.property)))),a.parametersValues.push(e),a instanceof VS&&k_(a.functionName,Rvt.SUBTYPE)){const e=new AS(A_.ONE,j_.create(new X_(c.type)));a.parametersValues.push(e)}if(a=e,t||(c=l,l=l instanceof pzi||l instanceof gzi?i.nodes.get(l.parentId):void 0),!l&&(c instanceof pzi||c instanceof gzi))for(const e of r)if(e.id===c.parentId){l=e;break}}if(a.parametersValues.push(s),c&&a instanceof VS){const e=new AS(A_.ONE,j_.create(new X_(c.type)));a.parametersValues.push(e)}return o},yzi=e=>{const t=e.type,n=(e instanceof gzi?bE(t):fE(t).concat(vE(t))).map(t=>`${e.id}.${t.name}`),i=t._subclasses.map(t=>`${e.id}${Wb}${t.path}`);return n.concat(i)},bzi=(e,t,n)=>{const i=((e,t,n)=>{if(t.mappedEntity){const i=t.mappedEntity.__PROPERTIES_INDEX.get(e.name);return(e.genericType.value.rawType instanceof Z_||e.genericType.value.rawType instanceof iC)&&i?{mapped:!0,mappedEntity:n.__ENTITIES_INDEX.get(i instanceof _0?i.entityPath:i.enumPath),entityMappedProperty:i instanceof _0?i:void 0}:{mapped:void 0!==i}}return{mapped:!1}})(e,t.mappingData,n),r=e instanceof pC||t.isPartOfDerivedPropertyBranch||t instanceof pzi&&t.property instanceof pC;if(e instanceof eC&&t instanceof pzi&&t.property instanceof eC&&e._OWNER instanceof tC&&t.property._OWNER instanceof tC&&t.property._OWNER===e._OWNER)return;const s=e.genericType.value.rawType instanceof Z_?mE(e.genericType.value.rawType):[],o=i.entityMappedProperty?.subType?s.find(e=>e.path===i.entityMappedProperty?.subType):void 0,a=new pzi(o?uzi(czi(t instanceof hzi?"":t.id,e.name),o.path):czi(t instanceof hzi?"":t.id,e.name),e.name,`${t instanceof hzi?`${jb}x`:t.dndText}.${e.name}`,e,t.id,r,i,o);if(o){const n=czi(t instanceof hzi?"":t.id,e.name);t.childrenIds.includes(n)&&(t.childrenIds=[...t.childrenIds.filter(e=>e!==n),a.id])}return a.type instanceof Z_&&(a.childrenIds=yzi(a)),a},_zi=(e,t,n)=>{const i=new gzi(uzi(t instanceof hzi?"":t.id,e.path),e.name,""+(t instanceof hzi?`${jb}${bvt}->${I_(Rvt.SUBTYPE)}(${Wb}${e.path})`:`${t.dndText}->${I_(Rvt.SUBTYPE)}(${Wb}${e.path})`),e,t.id,!1,((e,t,n)=>{const i=mE(e).concat(e).map(e=>e.path),r=t.entityMappedProperty?.subType;if(t.mappedEntity){const e=t.mappedEntity.properties.find(e=>Boolean(e instanceof _0&&e.subType&&i.includes(e.subType)));if(e)return{mapped:!0,mappedEntity:n.__ENTITIES_INDEX.get(e.entityPath)};if(i.includes(t.mappedEntity.path)||r&&i.includes(r))return{mapped:!0,mappedEntity:t.mappedEntity}}return{mapped:!1}})(e,t.mappingData,n),t instanceof pzi?t.property.multiplicity:t instanceof gzi?t.multiplicity:A_.ONE);return i.childrenIds=yzi(i),i},Czi=(e,t)=>{const n=[],i=new Map,r=((e,t)=>{const n=t.__ENTITIES_INDEX.get(e.path);return{mapped:Boolean(n),mappedEntity:n}})(e,t),s=new hzi("@dummy_rootNode",e.name,e.path,!1,e,r);return s.isOpen=!0,i.set(s.id,s),n.push(s.id),fE(e).concat(vE(e)).sort((e,t)=>e.name.localeCompare(t.name)).sort((e,t)=>(t instanceof Z_?2:t instanceof nC?1:0)-(e instanceof Z_?2:e instanceof nC?1:0)).forEach(e=>{const n=bzi(e,s,t);n&&(jr(s.childrenIds,n.id),i.set(n.id,n))}),e._subclasses.forEach(e=>{const n=_zi(e,s,t);jr(s.childrenIds,n.id),i.set(n.id,n)}),{rootIds:n,nodes:i}},Szi=e=>{if(e instanceof hzi)return new hzi(e.id,e.label,e.dndText,e.isPartOfDerivedPropertyBranch,e.type,e.mappingData,e.childrenIds);if(e instanceof pzi)return new pzi(e.id,e.label,e.dndText,e.property,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.type,e.childrenIds);if(e instanceof gzi)return new gzi(e.id,e.label,e.dndText,e.subclass,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.multiplicity,e.childrenIds);throw new yi(`Unable to clone node of type ${e.constructor.name}`)};class wzi{isGeneratingPreviewData=!1;propertyName="(unknown)";previewData;previewDataAbortController;constructor(){hd(this,{previewData:Rc.ref,isGeneratingPreviewData:Rc,propertyName:Rc,previewDataAbortController:Rc,setPropertyName:Pu,setIsGeneratingPreviewData:Pu,setPreviewData:Pu,setPreviewDataAbortController:Pu})}setPropertyName(e){this.propertyName=e}setIsGeneratingPreviewData(e){this.isGeneratingPreviewData=e}setPreviewData(e){this.previewData=e}setPreviewDataAbortController(e){this.previewDataAbortController=e}}class Ezi{queryBuilderState;previewDataState=new wzi;propertySearchState;treeData;humanizePropertyName=!0;showUnmappedProperties=!1;highlightUsedProperties=!0;mappingModelCoverageAnalysisState=Py.create();mappingModelCoverageAnalysisResult;constructor(e){hd(this,{treeData:Rc.ref,humanizePropertyName:Rc,showUnmappedProperties:Rc,highlightUsedProperties:Rc,mappingModelCoverageAnalysisResult:Rc,setTreeData:Pu,refreshTree:Pu,refreshTreeData:Pu,setHumanizePropertyName:Pu,setShowUnmappedProperties:Pu,setHighlightUsedProperties:Pu,highlightTreeNode:Pu,analyzeMappingModelCoverage:Ju,previewData:Ju}),this.queryBuilderState=e,this.propertySearchState=new azi(this.queryBuilderState)}get nonNullableTreeData(){return dr(this.treeData,"Query builder explorer tree data has not been initialized")}setTreeData(e){this.treeData=e}refreshTree(){this.treeData&&(this.treeData={...this.treeData})}setHumanizePropertyName(e){this.humanizePropertyName=e}setShowUnmappedProperties(e){this.showUnmappedProperties=e}setHighlightUsedProperties(e){this.highlightUsedProperties=e}refreshTreeData(){const e=this.queryBuilderState.sourceClass,t=this.queryBuilderState.executionContextState.mapping;this.setTreeData(e&&t&&this.mappingModelCoverageAnalysisResult?Czi(e,this.mappingModelCoverageAnalysisResult):void 0)}generateOpenNodeChildren(e){e.isOpen&&(e instanceof pzi||e instanceof gzi)&&e.type instanceof Z_&&((e instanceof gzi?bE(e.type):fE(e.type).concat(vE(e.type))).forEach(t=>{const n=bzi(t,e,dr(this.mappingModelCoverageAnalysisResult));n&&this.nonNullableTreeData.nodes.set(n.id,n)}),e.type._subclasses.forEach(t=>{const n=_zi(t,e,dr(this.mappingModelCoverageAnalysisResult));this.nonNullableTreeData.nodes.set(n.id,n)}),this.refreshTree())}highlightTreeNode(e){if(void 0===this.nonNullableTreeData.nodes.get(e)){const t=e.split("@").map(e=>e.split("."));t.length>0&&void 0!==t[t.length-1]&&Gr(t,t.length-1).pop();let n="";t.forEach(e=>{e.forEach((e,t)=>{n+=`${t>0?".":""}${e}`;const i=this.nonNullableTreeData.nodes.get(n);i&&(i.setIsOpen(!0),this.generateOpenNodeChildren(i))}),n+="@"})}const t=this.nonNullableTreeData.nodes.get(e);if(t instanceof pzi||t instanceof gzi){let e=this.nonNullableTreeData.nodes.get(t.parentId)??null;for(;null!==e;)e.isOpen||e.setIsOpen(!0),e=e instanceof pzi||e instanceof gzi?this.nonNullableTreeData.nodes.get(e.parentId)??null:null;t.setIsHighlighting(!0),setTimeout(()=>{t.elementRef.current?.scrollIntoView()},0)}}*analyzeMappingModelCoverage(){if(this.queryBuilderState.executionContextState.mapping&&this.queryBuilderState.executionContextState.mapping.path!==this.mappingModelCoverageAnalysisResult?.mapping.path){this.mappingModelCoverageAnalysisState.inProgress(),yvt.logEvent_QueryMappingModelCoverageAnalysisLaunched(this.queryBuilderState.applicationStore.telemetryService);const e=new Fy,t=s6(this.queryBuilderState.graphManagerState.graph);this.mappingModelCoverageAnalysisState.setMessage("Analyzing Mapping...");try{this.mappingModelCoverageAnalysisResult=yield this.queryBuilderState.graphManagerState.graphManager.analyzeMappingModelCoverage(this.queryBuilderState.executionContextState.mapping,this.queryBuilderState.graphManagerState.graph),this.refreshTreeData(),t.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(e,t.timings);const n=Object.assign({},t,this.queryBuilderState.getStateInfo());yvt.logEvent_QueryMappingModelCoverageAnalysisSucceeded(this.queryBuilderState.applicationStore.telemetryService,n)}catch(e){bi(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e.message)}finally{this.mappingModelCoverageAnalysisState.complete()}}}*previewData(e){const t=this.queryBuilderState.executionContextState.runtimeValue;if(!t)return void this.queryBuilderState.applicationStore.notificationService.notifyWarning(`Can't preview data for property '${e.property.name}': runtime is not specified`);if(!e.mappingData.mapped||!this.queryBuilderState.sourceClass||!this.queryBuilderState.executionContextState.mapping)return;if(this.previewDataState.isGeneratingPreviewData)return void this.queryBuilderState.applicationStore.notificationService.notifyWarning(`Can't preview data for property '${e.property.name}': another preview request is being executed`);this.previewDataState.setPropertyName(e.property.name),this.previewDataState.setIsGeneratingPreviewData(!0);const n=vzi(e,this),i=e.property.genericType.value.rawType;this.previewDataState.setPreviewDataAbortController(new AbortController);try{switch(i.path){case Xb.NUMBER:case Xb.INTEGER:case Xb.DECIMAL:case Xb.FLOAT:{const e=(yield this.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t)=>{const n=e.INTERNAL__toBasicQueryBuilderState(),i=mr(n.fetchStructureState.implementation,hHi),r=i.aggregationState;return gHi.forEach(e=>{const n=mHi(i,t,e[0]);i.projectionColumns.push(n);const s=dr(r.operators.find(t=>t instanceof e[1]));r.changeColumnAggregateOperator(s,n,!0)}),n.resultState.buildExecutionRawLambda({useAllVersionsForMilestoning:!0})})(this.queryBuilderState,n),this.queryBuilderState.executionContextState.mapping,t,this.queryBuilderState.graphManagerState.graph,{abortController:this.previewDataState.previewDataAbortController,forceFromExpression:this.queryBuilderState.forceFromExpressionForExec})).executionResult;gr(e,gQ,"Unexpected preview data format");const i=e.result,r={columns:["Aggregation","Value"],rows:i.columns.map((e,t)=>({values:[e,dr(i.rows[0]).values[t]]}))};this.previewDataState.setPreviewData(r);break}case Xb.BOOLEAN:case Xb.STRING:case Xb.DATE:case Xb.STRICTDATE:case Xb.DATETIME:{const e=(yield this.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t)=>{const n=e.INTERNAL__toBasicQueryBuilderState(),i=mr(n.fetchStructureState.implementation,hHi),r=mHi(i,t,"Value"),s=mHi(i,t,"Count");i.projectionColumns=[r,s];const o=dr(i.aggregationState.operators.find(e=>e instanceof zVi));i.aggregationState.changeColumnAggregateOperator(o,s,!0),i.resultSetModifierState.limit=10;const a=new XVi(s);return a.sortType=Ivt.DESC,i.resultSetModifierState.sortColumns=[a,new XVi(r)],n.resultState.buildExecutionRawLambda({useAllVersionsForMilestoning:!0})})(this.queryBuilderState,n),this.queryBuilderState.executionContextState.mapping,t,this.queryBuilderState.graphManagerState.graph,{abortController:this.previewDataState.previewDataAbortController,forceFromExpression:this.queryBuilderState.forceFromExpressionForExec})).executionResult;gr(e,gQ,"Unexpected preview data format"),this.previewDataState.setPreviewData(e.result);break}default:throw new yi(`No preview support for property of type '${i.path}'`)}}catch(t){if(bi(t),"AbortError"===t.name)return;this.queryBuilderState.applicationStore.notificationService.notifyWarning(`Can't preview data for property '${e.property.name}'. Error: ${t.message}`),this.previewDataState.setPreviewData(void 0)}finally{this.previewDataState.setIsGeneratingPreviewData(!1),this.previewDataState.setPreviewDataAbortController(void 0)}}}var xzi="4.19.0",Tzi={applicationPlugin:"@finos/legend-application-plugin-query-builder",graphManagerPreset:"@finos/legend-graph-manager-preset-query-builder",pureProtocolProcessorPlugin:"@finos/legend-pure-protocol-processor-plugin-query-builder",pureGraphManagerPlugin:"@finos/legend-pure-graph-manager-plugin-query-builder"};const Azi=(e,t,n,i)=>{gr(e,ST,"Can't build projection column: only support lambda"),br(1===e.parameters.length,"Can't build projection column: only support lambda with 1 parameter");const r=mr(e.parameters[0],yT,"Can't build projection column: only support lambda with 1 parameter");br(1===e.body.length,"Can't build projection column: only support lambda body with 1 expression");let s=e.body[0];if(s instanceof AT&&2===s.parameters.length&&k_(s.function,Rvt.WAVG_ROW_MAPPER))return e.accept_ValueSpecificationVisitor(new ZK(n,i,t));for(gr(s,cA,"Can't build projection column: only support lambda body as property expression");s instanceof cA;)for(br(s.parameters.length>=1,"Can't build projection column: only support lambda body as property expression"),s=s.parameters[0];s instanceof AT&&k_(s.function,Rvt.SUBTYPE);)s=s.parameters[0];return gr(s,yT,"Can't build projection column: only support lambda body as property expression"),br(r.name===s.name,`Can't build column lambda: expects variable used in lambda body '${s.name}' to match lambda parameter '${r.name}'`),e.accept_ValueSpecificationVisitor(new ZK(n,i,t))},Rzi=(e,t,n,i)=>{gr(e,AT,"Can't build aggregation: only support function"),br(k_(e.function,Rvt.TDS_AGG),"Can't build aggregation: only support agg()"),br(2===e.parameters.length,"Can't build agg() expression: agg() expects 2 arguments");const r=mr(e.parameters[0],ST,"Can't build agg() expression: agg() expects argument #1 as a lambda");let s;s=r.body[0]instanceof AT&&k_(r.body[0].function,Object.values(Tvt))?_i(()=>((e,t,n,i)=>{gr(e,ST,"Can't build calendar aggregation column: only support lambda"),br(1===e.parameters.length,"Can't build calendar aggregation column: only support lambda with 1 parameter"),br(1===e.body.length,"Can't build calendar aggregation column: only support lambda body with 1 expression");const r=mr(e.parameters[0],yT,"Can't build calendar aggregation column: only support lambda with 1 parameter"),s=mr(e.body[0],AT,"Can't build calendar aggregation column: only support applied function");br(k_(s.function,Object.values(Tvt)),"Can't build calendar aggregation columnn: unsupported calenddar function"),br(4===s.parameters.length,"Can't build calendar aggregation column: only support calendar function with four parameters"),gr(s.parameters[0],cA,"Can't build calendar aggregation column: only support first parameter of calendar function as property expression");const o=mr(s.parameters[1],OT,"Can't build calendar aggregation column: only support second parameter of calendar function as String");br(void 0!==Object.values(oHi).find(e=>e===o.value),`Can't build calendar aggregation column: ${o.value} is not a supported calendar type`),mr(s.parameters[2],nT,"Can't build calendar aggregation column: only support third parameter of calendar function as Date");const a=s.parameters[0].accept_ValueSpecificationVisitor(new ZK(n,i,t)),l=dr(s.parameters[1]).accept_ValueSpecificationVisitor(new ZK(n,i,t)),c=dr(s.parameters[2]).accept_ValueSpecificationVisitor(new ZK(n,i,t)),u=dr(s.parameters[3]),d=_i(()=>u.accept_ValueSpecificationVisitor(new ZK(n,i,t)))??new xS(tI(u,n.extensions.plugins)),h=eX([a,l,c,d],s.function,n),p=new zS,g=new GS(C_.create(n.graph.getType(exports.CORE_PURE_PATH.ANY)),A_.ONE);g.parameters.push(new TS(r.name,A_.ONE));const m=new HS(g);return m.expressionSequence=[h],p.values.push(m),p})(r,t,n,i))??new xS(tI(r,n.extensions.plugins)):_i(()=>Azi(r,t,n,i))??new xS(tI(r,n.extensions.plugins));const o=mr(e.parameters[1],ST).accept_ValueSpecificationVisitor(new ZK(n,i,t));return eX([s,o],I_(Rvt.TDS_AGG),n)},Nzi=(e,t,n,i,r)=>{const s=mr(e,AT,"Can't build tds col func: only support applied function");br(k_(s.function,Rvt.TDS_COL),`Can't build tds col func: unsupported func name ${s.function}`),br(2===s.parameters.length,"Can't build tds col func: only support col function with 2 parameters");const o=mr(s.parameters[0],ST,"Can't build tds col func: only support first parameter of col function as Lambda");let a;try{o.parameters.forEach(e=>{if(e.name&&!e.genericType){const n=new TS(e.name,A_.ONE);n.genericType=t.genericType,r.addInferredVariables(e.name,n)}}),a=Azi(o,n,i,r)}catch{a=new xS(tI(o,i.extensions.plugins))}mr(s.parameters[1],OT,"Can't build tds col func: only support second parameter of col function as String");const l=dr(s.parameters[1]).accept_ValueSpecificationVisitor(new ZK(i,r,n));return eX([a,l],s.function,i)},Izi=(e,t,n,i,r)=>{if(2===t.length)try{return((e,t,n,i,r)=>{br(2===t.length,"Can't build tds project() expression: project() expects 2 arguments");const s=t[0].accept_ValueSpecificationVisitor(new ZK(i,r,n));ur(s.genericType,"Can't build tds project() expression: preceding expression return type is missing");const o=dr(t[1],"Can't build tds project() expression: second parameter is missing");let a;if(o instanceof RT){const e=new IS(i.graph.getMultiplicity(o.multiplicity.lowerBound,o.multiplicity.upperBound));e.values=o.values.map(e=>Nzi(e,s,n,i,r)),a=e}else gr(o,AT,"Can't build project() expression: project() expects argument #2 to be a function"),a=Nzi(o,s,n,i,r);const l=eX([s,a],e,i);return l.genericType=j_.create(new X_(i.resolveType(xvt.TDS_ROW).value)),l})(e,t,n,i,r)}catch{return((e,t,n,i,r)=>{br(2===t.length,"Can't build relation project() expression: project() expects 2 arguments");let s=[];const o=t[0].accept_ValueSpecificationVisitor(new ZK(i,r,n));ur(o.genericType,"Can't build relation project() expression: preceding expression return type is missing");const a=t[1];gr(a,ZR,"Can't build relation project() expression: project() expects argument #1 to be a ClassInstance");const l=mr(a.value,eA,"Can't build relation project() expression: project() expects argument #1 to hold spec array instances value");s=l.colSpecs.map(e=>e.function1).filter(cr).filter(pr(ST)).map(e=>e.parameters).flat();const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new TS(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const u=new PS(A_.ONE),d=new MS;u.values=[d];const h=new K_(K_.ID);d.colSpecs=l.colSpecs.map(e=>{const t=new kS;let s;const o=mr(e.function1,nT,"Can't build relation col spec() expression: expects function1 to be a lambda");try{s=Azi(o,n,i,r)}catch{s=new xS(tI(o,i.extensions.plugins))}t.function1=s,t.name=e.name;const a=UK(s);return a&&h.columns.push(new Y_(e.name,j_.create(new X_(a)))),t});const p=eX([o,u],e,i),g=new X_(BK.INSTANCE),m=new X_(h);return g.typeArguments=[j_.create(m)],p.genericType=j_.create(g),p})(e,t,n,i,r)}const s=t.length;br(3===s||2===s,"Can't build project() expression: project() expects 2 arguments");let o=[];const a=t[0].accept_ValueSpecificationVisitor(new ZK(i,r,n));ur(a.genericType,"Can't build project() expression: preceding expression return type is missing");const l=t[1];l instanceof ST?o=l.parameters:(gr(l,RT,"Can't build project() expression: project() expects argument #1 to be a collection"),o=l.values.filter(pr(ST)).map(e=>e.parameters).flat());const c=new Set;o.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new TS(e.name,a.multiplicity);t.genericType=a.genericType,r.addInferredVariables(e.name,t)}});const u=new IS(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));let d=[];d=l instanceof ST?[l]:l.values,u.values=d.map(e=>{try{return Azi(e,n,i,r)}catch{return new xS(tI(e,i.extensions.plugins))}});const h=eX([a,u,t[2].accept_ValueSpecificationVisitor(new ZK(i,r,n))],e,i);return h.genericType=j_.create(new X_(i.resolveType(xvt.TDS_ROW).value)),h},Dzi=(e,t,n,i,r)=>e===Rvt.RELATION_GROUP_BY||3===t.length?((e,t,n,i,r)=>{br(3===t.length,"Can't build relation groupBy() expression: groupBy() expects 2 arguments");const s=t[0].accept_ValueSpecificationVisitor(new ZK(i,r,n));ur(s.genericType,"Can't build relation groupBy() expression: preceding expression return type is missing");const o=mr(s,VS);if(o.functionName!==I_(Rvt.RELATION_PROJECT))throw new yi("Can't build relation groupBy() expression: preceding expression must be project() column expression");const a=t[1];gr(a,ZR,"Can't build relation groupBy() expression: groupBy() expects argument #1 to be a ClassInstance");const l=mr(a.value,eA,"Can't build relation groupBy() expression: groupBy() expects argument #1 to hold col spec array instance value"),c=t[2];gr(c,ZR,"Can't build groupBy() expression: groupBy() expects argument #2 to be a ClassInstance");const u=mr(c.value,eA,"Can't build relation groupBy() expression: groupBy() expects argument #2 to hold col spec array instance value"),d=u.colSpecs.map(e=>[e.function1,e.function2]).flat().filter(cr).filter(pr(ST)).map(e=>e.parameters).flat();d.forEach(e=>{if(!e.genericType){const t=new TS(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const h=mr(o.genericType?.value.typeArguments?.[0]?.value.rawType,K_,"Can't build relation groupBy() expression: project() function does not return a relation"),p=new PS(A_.ONE),g=new MS;p.values=[g];const m=new K_(K_.ID);g.colSpecs=l.colSpecs.map(e=>{const t=new kS;t.name=e.name;const n=h.columns.find(t=>t.name===e.name);return n&&m.columns.push(n),t});const f=new PS(A_.ONE),v=new MS;f.values=[v],v.colSpecs=u.colSpecs.map(e=>{const t=new kS;t.name=e.name;const s=mr(e.function1,ST,"Can't build relation col spec() expression: expects function1 to be a lambda"),o=Azi(s,n,i,r);t.function1=o;const a=mr(e.function2,ST,"Can't build relation col spec() expression: expects function2 to be a lambda"),l=mr(a.accept_ValueSpecificationVisitor(new ZK(i,r,n)),zS,"Can't build relation col spec() expression: expected aggregation function to be a lambda");t.function2=l;const c=h.columns.find(t=>t.name===e.name)?.genericType;if(!c)throw new yi(`Unable to find projected column with name ${e.name}`);return m.columns.push(new Y_(e.name,c)),t});const y=eX([s,p,f],e,i),b=new X_(BK.INSTANCE),_=new X_(m);return b.typeArguments=[j_.create(_)],y.genericType=j_.create(b),y})(e,t,n,i,r):((e,t,n,i,r)=>{let s=[];br(4===t.length,"Can't build groupBy() expression: groupBy() expects 3 arguments");const o=t[0].accept_ValueSpecificationVisitor(new ZK(i,r,n));ur(o.genericType,"Can't build groupBy() expression: preceding expression return type is missing");const a=t[1];gr(a,RT,"Can't build groupBy() expression: groupBy() expects argument #1 to be a collection"),s=a.values.filter(pr(ST)).map(e=>e.parameters).flat();const l=t[2];gr(l,RT,"Can't build groupBy() expression: groupBy() expects argument #2 to be a collection"),s=s.concat(l.values.filter(e=>e instanceof AT&&k_(e.function,Rvt.TDS_AGG)).map(e=>e.parameters).flat().filter(pr(ST)).map(e=>e.parameters).flat());const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new TS(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const u=new IS(i.graph.getMultiplicity(a.multiplicity.lowerBound,a.multiplicity.upperBound));u.values=a.values.map(e=>{try{return Azi(e,n,i,r)}catch{return new xS(tI(e,i.extensions.plugins))}});const d=new IS(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));d.values=l.values.map(e=>Rzi(e,n,i,r));const h=eX([o,u,d,t[3].accept_ValueSpecificationVisitor(new ZK(i,r,n))],e,i);return h.genericType=j_.create(new X_(i.resolveType(xvt.TDS_ROW).value)),h})(e,t,n,i,r);class Ozi extends fie{constructor(){super(Tzi.pureProtocolProcessorPlugin,xzi)}V1_getExtraFunctionExpressionBuilders(){return[(e,t,n,i,r)=>{if(k_(e,Avt.GET_ALL))return((e,t,n,i,r)=>{const s=tX(e,t,n,i,r),o=s.parametersValues[0];return gr(o,AS,"Can't build getAll() expression: only support getAll() immediately following a class"),s.genericType=o.genericType,s.multiplicity=o.multiplicity,s})(e,t,n,i,r);if(k_(e,Avt.GET_ALL_VERSIONS_IN_RANGE))return((e,t,n,i,r)=>{const s=tX(e,t,n,i,r),o=s.parametersValues[0];return gr(o,AS,"Can't build getAllVersionsInRange() expression: only support getAllVersionsInRange() immediately following a class"),br(3===s.parametersValues.length,"Can't build getAllVersionsInRange() expression: only support getAllVersionsRange() with start and end date"),s.genericType=o.genericType,s.multiplicity=o.multiplicity,s})(e,t,n,i,r);if(k_(e,Avt.GET_ALL_VERSIONS))return((e,t,n,i,r)=>{const s=tX(e,t,n,i,r),o=s.parametersValues[0];return gr(o,AS,"Can't build getAllVersions() expression: only support getAllVersions() immediately following a class"),br(1===s.parametersValues.length,"Can't build getAllVersions() expression: only support getAllVersions() with no paremters"),s.genericType=o.genericType,s.multiplicity=o.multiplicity,s})(e,t,n,i,r);if(k_(e,[Rvt.FILTER,Rvt.TDS_FILTER]))return((e,t,n,i,r)=>{br(2===t.length,"Can't build filter() expression: filter() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new ZK(i,r,n));if(s.genericType){const e=t[1];e instanceof ST&&e.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new TS(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}})}const o=eX([s,t[1].accept_ValueSpecificationVisitor(new ZK(i,r,n))],e,i);return o.genericType=s.genericType,o.multiplicity=s.multiplicity,o})(e,t,n,i,r);if(k_(e,Rvt.EXISTS))return((e,t,n,i,r)=>{br(2===t.length,"Can't build exists() expression: exists() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new ZK(i,r,n));s.genericType=mr(s,US).func.value.genericType;const o=t[1];return o instanceof ST&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new TS(e.name,A_.ONE);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}}),eX([s,t[1].accept_ValueSpecificationVisitor(new ZK(i,r,n))],e,i)})(e,t,n,i,r);if(k_(e,Rvt.WATERMARK))return((e,t,n,i,r)=>{br(2===t.length,"Can't build forWatermark() expression: forWatermark() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new ZK(i,r,n));ur(s.genericType,"Can't build forWatermark() expression: preceding expression return type is missing");const o=t[1];o instanceof ST&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new TS(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const a=dr(t[1].accept_ValueSpecificationVisitor(new ZK(i,r,n))),l=a.genericType?.value.rawType;br(V_.STRING===l,"Can't build forWatermark() expression: parameter is expected to be a string");const c=eX([s,a],e,i);return c.genericType=s.genericType,c.multiplicity=s.multiplicity,c})(e,t,n,i,r);if(k_(e,[Rvt.TDS_PROJECT,Rvt.RELATION_PROJECT]))return Izi(e,t,n,i,r);if(k_(e,[Rvt.TDS_GROUP_BY,Rvt.RELATION_GROUP_BY]))return Dzi(e,t,n,i,r);if(k_(e,Rvt.OLAP_GROUPBY))return((e,t,n,i,r)=>{const s=[];br(5===t.length||4===t.length,"Can't build olapGroupBy() expression: olapGroupBy() expects 4 or 5 arguments");let o=0;const a=5===t.length,l=t[o].accept_ValueSpecificationVisitor(new ZK(i,r,n));ur(l.genericType,"Can't build olapGroupBy() expression: preceding expression return type is missing"),s.push(l),o++;const c=t[o].accept_ValueSpecificationVisitor(new ZK(i,r,n));if(s.push(c),o++,a){const e=t[o].accept_ValueSpecificationVisitor(new ZK(i,r,n));s.push(e),o++}const u=t[o];let d;d=u instanceof AT?mr(u.parameters[1],ST,`Can't build olapGroupBy() expression: olap operation function expects argument ${o+1} to be a lambda`):mr(u,ST,`Can't build olapGroupBy() expression: olapGroupBy() expects argument ${o+1} to be a lambda`);const h=d.parameters,p=new Set;h.forEach(e=>{if(!p.has(e.name)&&!e.genericType){const t=new TS(e.name,l.multiplicity);t.genericType=l.genericType,r.addInferredVariables(e.name,t)}});const g=u.accept_ValueSpecificationVisitor(new ZK(i,r,n));s.push(g),o++;const m=t[o].accept_ValueSpecificationVisitor(new ZK(i,r,n));s.push(m),o++;const f=eX(s,e,i);return f.genericType=j_.create(new X_(i.resolveType(xvt.TDS_ROW).value)),f})(e,t,n,i,r);if(k_(e,[Rvt.TODAY,Rvt.FIRST_DAY_OF_QUARTER])){const s=tX(e,t,n,i,r);return s.genericType=j_.create(new X_(V_.STRICTDATE)),s}if(k_(e,Rvt.NOW)){const s=tX(e,t,n,i,r);return s.genericType=j_.create(new X_(V_.DATETIME)),s}if(k_(e,[Rvt.FIRST_DAY_OF_THIS_YEAR,Rvt.FIRST_DAY_OF_YEAR,Rvt.FIRST_DAY_OF_THIS_MONTH,Rvt.FIRST_DAY_OF_MONTH,Rvt.FIRST_DAY_OF_WEEK,Rvt.PREVIOUS_DAY_OF_WEEK,Rvt.ADJUST])){const s=tX(e,t,n,i,r);return s.genericType=j_.create(new X_(V_.DATE)),s}return k_(e,Rvt.RELATION_EXTEND)?((e,t,n,i,r)=>{if(3===t.length){const s=dr(t[0],"Can't build relation extend() expression: preceding expression is missing").accept_ValueSpecificationVisitor(new ZK(i,r,n));ur(s.genericType,"Can't build relation extend() expression: preceding expression return type is missing");const o=dr(t[1],"Can't build relation extend() expression: over() expression is missing").accept_ValueSpecificationVisitor(new ZK(i,r,n)),a=dr(t[2],"Can't build relation extend() expression: window operator is missing");gr(a,ZR,"Can't build relation extend() expression: extend() expects argument #3 to be a ClassInstance");const l=a.value,c=l.colSpecs.flatMap(e=>[e.function1,e.function2]).filter(cr).flatMap(e=>e.parameters);c.forEach(e=>{if(!e.genericType){const t=new TS(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const u=new PS(A_.ONE),d=new MS;u.values=[d];const h=s.genericType.value.typeArguments?.[0]?.value.rawType,p=new K_(K_.ID);h instanceof K_&&h.columns.forEach(e=>{p.columns.push(e)}),d.colSpecs=l.colSpecs.map(e=>{const t=new kS;if(t.name=e.name,e.function1){const s=mr(e.function1,ST,"Can't build relation extend() col spec expression: expects function1 to be a lambda"),o=mr(s.accept_ValueSpecificationVisitor(new ZK(i,r,n)),zS,"Can't build relation extend() col spec expression: expected function1 to be a lambda");t.function1=o}if(e.function2){const s=mr(e.function2,ST,"Can't build relation extend() col spec expression: expects function2 to be a lambda"),o=mr(s.accept_ValueSpecificationVisitor(new ZK(i,r,n)),zS,"Can't build relation extend() col spec expression: expected aggregation function to be a lambda");t.function2=o}let s;return t.function2?s=UK(t.function2):t.function1&&(s=UK(t.function1)),s&&p.columns.push(new Y_(e.name,j_.create(new X_(s)))),t});const g=eX([s,o,u],e,i),m=new X_(BK.INSTANCE),f=new X_(p);return m.typeArguments=[j_.create(f)],g.genericType=j_.create(m),g}throw new yi("Can't build relation extend() expression: extend() on non window functions is not yet supported")})(e,t,n,i,r):k_(e,Rvt.RELATION_OVER)?((e,t,n,i,r)=>{br(t.length>=1&&t.length<=2,`Can't build over() expression: over() expects 1-2 arguments, got ${t.length}`);const s=t[0];gr(s,ZR,"Can't build over() expression with ColSpecArray: expects argument #1 to be a ClassInstance");const o=mr(s.value,eA,"Can't build over() expression with ColSpecArray: expects ClassInstance to hold ColSpecArray"),a=new PS(A_.ONE),l=new MS;a.values=[l],l.colSpecs=o.colSpecs.map(e=>{const t=new kS;return t.name=e.name,t.type=e.type,t});const c=[a];if(t[1]){const e=t[1].accept_ValueSpecificationVisitor(new ZK(i,r,n));c.push(e)}return eX(c,e,i)})(e,t,n,i,r):k_(e,Object.values(Rvt))||k_(e,Object.values(Tvt))?tX(e,t,n,i,r):void 0}]}V1_getExtraPropertyExpressionTypeInferrers(){return[e=>{if(e instanceof VS&&k_(e.functionName,I_(Rvt.SUBTYPE)))return(e=>e.parametersValues.filter(e=>e instanceof AS)[0]?.genericType?.value.rawType)(e)}]}}class kzi{mapping;runtimes=[]}class Lzi{service;executionKeys}class Mzi extends Cx{}class Pzi extends Mzi{constructor(e){super(e),this.graphManager=mr(e,m7)}getSupportedProtocolVersion(){return HH.V1_0_0}async buildGraphForCreateQuerySetup(e,t,n){try{const i=await this.graphManager.indexLightGraph(e,t,n,e=>e.content._type===dG||e.content._type===VR),r=[...e.ownMappings,...e.dependencyManager.mappings],s=i.map(e=>e.data.elements.filter(pr(rD))).flat(),o=new lX(e,e,this.graphManager.graphBuilderExtensions,this.graphManager.logService).build();s.forEach(e=>{const t=r.find(t=>t.path===e.path);t&&(t.includes=e.includedMappings.map(e=>{if(e instanceof AF)return new B$(t,o.resolveMapping(yr(e.includedMapping,"Mapping include path is missing or empty")))}).filter(cr))});const a=[...e.ownRuntimes,...e.dependencyManager.runtimes],l=i.map(e=>e.data.elements.filter(pr(uA))).flat();l.forEach(e=>{const t=a.find(t=>t.path===e.path);if(t){const n=new JW;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>o.resolveMapping(e.path))}})}catch(e){throw bi(e),e instanceof WH?e:new WH(e)}}async surveyMappingRuntimeCompatibility(e,t){const n=[],i=await this.graphManager.createBasicGraph({initializeSystem:!1}),r=await this.graphManager.indexLightGraph(i,e,t,e=>[exports.CORE_PURE_PATH.MAPPING,exports.CORE_PURE_PATH.RUNTIME].includes(e.classifierPath),e=>(e.classifierPath===exports.CORE_PURE_PATH.MAPPING?e.content={_type:e.content._type,name:e.content.name,package:e.content.package,includes:e.content.includes}:e.classifierPath===exports.CORE_PURE_PATH.RUNTIME&&(e.content={_type:e.content._type,name:e.content.name,package:e.content.package,runtimeValue:{mappings:e.content.runtimeValue?.mappings}}),e)),s=new lX(i,i,this.graphManager.graphBuilderExtensions,this.graphManager.logService).build();return r.map(e=>e.data.elements.filter(pr(rD))).flat().forEach(e=>{const t=i.getNullableMapping(e.path);t&&(t.includes=e.includedMappings.map(e=>{if(e instanceof AF)return new B$(t,s.resolveMapping(yr(e.includedMapping,"Mapping include path is missing or empty")))}).filter(cr))}),r.map(e=>e.data.elements.filter(pr(uA))).flat().forEach(e=>{const t=i.getNullableRuntime(e.path);if(t){const n=new JW;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>s.resolveMapping(e.path))}}),i.mappings.forEach(e=>{const t=new kzi;t.mapping=e,t.runtimes=i.runtimes.filter(t=>t.runtimeValue.mappings.map(e=>[e.value,...FY(e.value)]).flat().includes(e)),n.push(t)}),n}async surveyServiceExecution(e,t){const n=[],i=await this.graphManager.createBasicGraph({initializeSystem:!1});return(await this.graphManager.indexLightGraph(i,e,t,e=>e.classifierPath===exports.CORE_PURE_PATH.SERVICE,e=>(e.classifierPath===exports.CORE_PURE_PATH.SERVICE&&(e.content={_type:e.content._type,name:e.content.name,package:e.content.package,execution:e.content.execution}),e))).map(e=>e.data.elements.filter(pr(ek))).flat().forEach(e=>{const t=i.getNullableService(e.path);if(t){const i=new Lzi;i.service=t,e.execution instanceof JO&&(i.executionKeys=e.execution.executionParameters?.map(e=>e.key)),n.push(i)}}),n}}const Fzi=e=>new Pzi(e);class Bzi extends die{constructor(){super(Tzi.pureGraphManagerPlugin,xzi)}getExtraPureGraphManagerExtensionBuilders(){return[Fzi]}getExtraExposedSystemElementPath(){return[xvt.TDS_TABULAR_DATASET,xvt.TDS_ROW,xvt.TDS_COLUMN]}}class Vzi{TEMPORARY__enableExportToCube=!1;TEMPORARY__enableGridEnterpriseMode=!1;legendMCPServiceURL="";zipkinTraceBaseURL="";enableTypedTDS=!1;NonProductionFeatureFlag=!1;static serialization=new Yv(Iv(Vzi,{TEMPORARY__enableExportToCube:Wv(Dv()),TEMPORARY__enableGridEnterpriseMode:Wv(Dv()),legendMCPServiceURL:Wv(Dv()),zipkinTraceBaseURL:Wv(Dv()),enableTypedTDS:Wv(Dv()),NonProductionFeatureFlag:Wv(Dv())}))}const Uzi=e=>{let t=e;for(;t instanceof US;)for(t=dr(t.parametersValues[0]);t instanceof VS&&k_(t.functionName,Rvt.SUBTYPE);)t=dr(t.parametersValues[0]);return mr(t,TS)},Gzi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(k_(e.functionName,[Rvt.AND,Rvt.OR])){const r=new AUi(n,sUi(e.functionName));t.nodes.set(r.id,r),i&&(r.lambdaParameterName=mr(i,TUi).lambdaParameterName),e.parametersValues.forEach(e=>Gzi(mr(e,VS,"Can't process filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}else{if(!k_(e.functionName,[Rvt.EXISTS])){const n=e.parametersValues[0];if(n instanceof US){const e=n.parametersValues[0];e instanceof US&&iyt(e,t.queryBuilderState.graphManagerState.graph,t.queryBuilderState)}for(const n of t.operators){const r=_i(()=>n.buildFilterConditionState(t,e));if(r){let n;if(r.sourceState instanceof wUi){let t=e;for(;t instanceof VS&&!(t.parametersValues[0]instanceof BS&&t.parametersValues[0].parametersValues[0]instanceof TS);)t=t.parametersValues[0];const i=t instanceof VS?t.parametersValues[0]:t;n=mr(i instanceof BS?i.parametersValues[0]:void 0,TS,"Can't process filter expression: relation column filter must reference a variable").name}else n=Uzi(r.propertyExpressionState.propertyExpression).name;const s=i instanceof TUi&&i.lambdaParameterName?i.lambdaParameterName:t.lambdaParameterName;return br(s===n,`Can't process ${I_(r.operator.getLabel())}() expression: expects variable used in lambda body '${n}' to match lambda parameter '${s}'`),void t.addNodeFromNode(new IUi(void 0,r),i)}}throw new yi("Can't process filter() expression: no compatible filter operator processer available from plugins")}{const r=mr(e.parametersValues[0],US);if(void 0===r.func.value.multiplicity.upperBound||r.func.value.multiplicity.upperBound>1){const s=new RUi(t,n),o=mr(e.parametersValues[1],zS,"Can't process filter expression: only supports exists with second paramter as LambdaFunctionInstanceValue"),a=mr(o.values[0],HS),l=mr(a.expressionSequence[0],VS);s.setPropertyExpression(r),s.lambdaParameterName=a.functionType.parameters[0]?.name,t.nodes.set(s.id,s),Gzi(l,t,s.id),t.addNodeFromNode(s,i)}else{const i=[],r=[];let s=e;for(;k_(s.functionName,Rvt.EXISTS);){const e=dr(mr(s.parametersValues[1],zS).values[0],"Can't process exists() expression: exists() lambda is missing");if(br(1===e.expressionSequence.length,"Can't process exists() expression: exists() lambda body should hold an expression"),s=mr(e.expressionSequence[0],VS,"Can't process exists() expression: exists() lambda body should hold an expression"),br(1===e.functionType.parameters.length,"Can't process exists() expression: exists() lambda should have 1 parameter"),i.push(mr(e.functionType.parameters[0],TS,"Can't process exists() expression: exists() lambda should have 1 parameter").name),!(s.parametersValues[0]instanceof US)||void 0===s.parametersValues[0].func.value.multiplicity.upperBound||s.parametersValues[0].func.value.multiplicity.upperBound>1)break;r.push(s.parametersValues[0])}const o=mr(e.parametersValues[0],US);let a=new US("");a.func=o.func,a.parametersValues=[...o.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof US||n instanceof VS&&k_(n.functionName,Rvt.SUBTYPE);){if(n instanceof VS){const e=new VS(I_(Rvt.SUBTYPE));e.parametersValues.unshift(dr(n.parametersValues[1])),t.push(e)}else if(n instanceof US){const e=new US("");e.func=n.func,e.parametersValues=n.parametersValues.length>1?n.parametersValues.slice(1):[],t.push(e)}n=dr(n.parametersValues[0])}br(t.length>0,"Can't process exists() expression: exists() usage with non-chain property expression is not supported");for(let e=0;e<t.length-1;++e)t[e].parametersValues.unshift(t[e+1]);t[t.length-1].parametersValues.unshift(a),a=mr(t[0],US,"Can't process exists() expression: can't flatten to a property expression")}s.parametersValues=s.parametersValues.map(e=>{if(e instanceof VS&&e.parametersValues[0]instanceof US)e.parametersValues[0].parametersValues[0]=a;else if(e instanceof US)e.parametersValues[0]=dr(a.parametersValues[0]);else if(e instanceof TS)return a;return e}),Gzi(s,t,n)}}}},Hzi=(e,t)=>{const n=t.filterState,i=e.parametersValues[1];gr(i,zS,"Can't process filter() expression: filter() expects argument #1 to be a lambda function");const r=dr(i.values[0],"Can't process filter() lambda: filter() lambda function is missing");br(1===r.expressionSequence.length,"Can't process filter() lambda: only support filter() lambda body with 1 expression");const s=mr(r.expressionSequence[0],VS,"Can't process filter() lambda: only support filter() lambda body with 1 expression");br(1===r.functionType.parameters.length,"Can't process filter() lambda: only support filter() lambda with 1 parameter"),n.setLambdaParameterName(mr(r.functionType.parameters[0],TS,"Can't process filter() lambda: only support filter() lambda with 1 parameter").name),Gzi(s,n,void 0),n.simplifyTree()};class zzi{id;label;tree;parentId;isSelected;isOpen;childrenIds=[];constructor(e,t,n,i){hd(this,{hashCode:Oc}),this.id=e,this.label=t,this.parentId=n,this.tree=i,this.isOpen=!0}get type(){if(this.tree instanceof qS)return this.tree.property.value.genericType.value.rawType;if(this.tree instanceof $S)return this.tree.class.value;throw new yi("Can't get type of Graph Fetch Tree",this.tree)}get hashCode(){return fv([ayt.GRAPH_FETCH_TREE_NODE_DATA,this.id,this.label,this.tree,this.parentId??"",fv(this.childrenIds)])}}const jzi=(e,t,n)=>`${t?`${t}.`:""}${e.name}${n?`${Wb}${n.path}`:""}`,Wzi=(e,t,n)=>{gr(e,qS,"Graph fetch sub-tree must be a property graph fetch tree");const i=e.property.value,r=e.subType?.value,s=t?.id,o=new zzi(jzi(i,s,r),i.name,s,e);return e.subTrees.forEach(e=>{const t=Wzi(e,o,n);jr(o.childrenIds,t.id),n.set(t.id,t)}),o},$zi=(e,t,n)=>{const i=t?.id,r=new zzi((s=e.class.valueForSerialization??"")?`${Wb}${s}`:"",e.class.value.name,i,e);var s;return e.subTrees.forEach(e=>{const t=Wzi(e,r,n);jr(r.childrenIds,t.id),n.set(t.id,t)}),r},qzi=(e,t=!1)=>{const n=[],i=new Map;if(t){const t=$zi(e,void 0,i);jr(n,t.id),i.set(t.id,t)}else e.subTrees.forEach(e=>{const t=Wzi(e,void 0,i);jr(n,t.id),i.set(t.id,t)});return{rootIds:n,nodes:i,tree:e}},Yzi=e=>0===e.tree.subTrees.length,Kzi=e=>Array.from(e.nodes.values()).filter(t=>t.tree instanceof qS&&t.type instanceof Z_&&0===t.childrenIds.length||t.tree instanceof qS&&!(t.type instanceof Z_)&&t.parentId&&!e.nodes.has(t.parentId)),Xzi=(e,t)=>{const n=t.parentId?e.nodes.get(t.parentId):void 0;n?($r(n.childrenIds,t.id),$vt(n.tree,t.tree)):($r(e.rootIds,t.id),$vt(e.tree,t.tree)),e.nodes.delete(t.id)},Zzi=(e,t)=>{Xzi(e,t),(e=>{let t=Kzi(e);for(;t.length;)t.forEach(t=>{Xzi(e,t)}),t=Kzi(e)})(e)},Qzi=(e,t,n,i)=>{const r=[new qS(fC.create(n.property),void 0)];let s,o,a,l=t.nodes.get(n.parentId);for(;l instanceof pzi||l instanceof gzi;){let e,n=!1;for(;l instanceof gzi;)n||(e=C_.create(l.subclass),n=!0),l=t.nodes.get(l.parentId);if(l instanceof pzi&&l.mappingData.entityMappedProperty?.subType&&l.type instanceof Z_&&(e=C_.create(l.type)),!(l instanceof pzi))return void i.applicationStore.notificationService.notifyError("Can't cast the root class of graph fetch structure to its subtype");{const n=new qS(fC.create(l.property),e);n.subTrees.push(r[0]),r.unshift(n),l=t.nodes.get(l.parentId)}}for(const t of r){s=jzi(t.property.value,s,t.subType?.value);const n=e.nodes.get(s);if(!n){a=t;break}o=n}if(a){const t=Wzi(a,o,e.nodes);e.nodes.set(t.id,t),o?(jr(o.childrenIds,t.id),Wvt(o.tree,t.tree,i.observerContext)):(jr(e.rootIds,t.id),Wvt(e.tree,t.tree,i.observerContext))}},Jzi=(e,t,n)=>{const i=e.queryBuilderState,r=dr(t.expressionSequence[0],"Can't build graph-fetch tree expression: preceding expression is not defined"),s=e.serializationState;if(s instanceof sji){if(e.treeData&&!Yzi(e.treeData)){const n=s.config?((e,t)=>{const n=t.getClass(xvt.SERIALIZE_CONFIG),i=new VS(I_(exports.SUPPORTED_FUNCTIONS.NEW)),r=new AS(A_.ONE,void 0);r.values[0]=C_.create(n);const s=new RS(j_.create(new X_(V_.STRING)));s.values=[""];const o=new IS(A_.ONE,void 0);return n.properties.forEach(t=>{const n=Object.getOwnPropertyNames(e).find(e=>e===t.name);if(n&&void 0!==e[n]){const i=new OS,r=new RS(j_.create(new X_(V_.STRING)));r.values=[n];const s=new RS(j_.create(new X_(t.genericType.value.rawType)));s.values=[e[n]];const a=new DS(r,s,!1);i.values=[a],o.values.push(i)}}),o.multiplicity=new A_(o.values.length,o.values.length),i.parametersValues=[r,s,o],i})(s.config,e.queryBuilderState.graphManagerState.graph):void 0,i=((e,t,n,i)=>{const r=new KS;r.values=[e];const s=new VS(I_(Rvt.SERIALIZE)),o=new VS(I_(t?Rvt.GRAPH_FETCH_CHECKED:Rvt.GRAPH_FETCH));return o.parametersValues=[n,r],s.parametersValues=[o,r],i&&s.parametersValues.push(i),s})(e.treeData.tree,e.isChecked,r,n);t.expressionSequence[0]=i}}else{if(!(s instanceof oji))throw new yi(`Unsupported serialization state ${s.getLabel()}`);{const n=new VS(I_(Rvt.EXTERNALIZE)),i=e.treeData,o=s.treeData;if(i&&o&&!Yzi(i)&&!Yzi(o)){const a=new KS;a.values=[i.tree];const l=new VS(e.isChecked?I_(Rvt.GRAPH_FETCH_CHECKED):I_(Rvt.GRAPH_FETCH));l.parametersValues=[r,a];const c=new AS(A_.ONE,void 0);c.values=[C_.create(s.targetBinding)];const u=new KS;u.values=[o.tree],n.parametersValues=[l,c,u],t.expressionSequence[0]=n}}}n?.isBuildingExecutionQuery&&((e,t)=>{if(!t)return e;if(1===e.expressionSequence.length){const n=e.expressionSequence[0];if(n instanceof VS&&k_(n.functionName,Rvt.SERIALIZE)){const i=new RS(j_.create(new X_(V_.INTEGER)));i.values=[t];const r=new VS(I_(Rvt.TAKE)),s=mr(n.parametersValues[0],VS),o=s.parametersValues[0];return r.parametersValues[0]=o,r.parametersValues[1]=i,s.parametersValues=[r,s.parametersValues[1]],e}}})(t,i.resultState.previewLimit)};var eji,tji;!function(e){e.PURE="PURE",e.EXTERNAL_FORMAT="EXTERNAL_FORMAT"}(eji||(eji={})),function(e){e.RESULT="RESULT"}(tji||(tji={}));const nji="@type";class iji{typeKeyName;dateTimeFormat;includeType;includeEnumType;removePropertiesWithNullValues;removePropertiesWithEmptySets;fullyQualifiedTypePath;includeObjectReference;constructor(){this.typeKeyName=nji,hd(this,{typeKeyName:Rc,includeType:Rc,includeEnumType:Rc,dateTimeFormat:Rc,removePropertiesWithNullValues:Rc,removePropertiesWithEmptySets:Rc,fullyQualifiedTypePath:Rc,includeObjectReference:Rc,setTypeName:Pu,setIncludeObjectReference:Pu,setDateTimeFormat:Pu,setIncludeType:Pu,setFullyQualifiedTypePath:Pu,setRemovePropertiesWithEmptySets:Pu,setInclueEnumType:Pu,setRemovePropertiesWithNullValues:Pu})}static createDefault(){const e=new iji;return e.typeKeyName=nji,e.includeType=!0,e.includeEnumType=!0,e.removePropertiesWithNullValues=!0,e.removePropertiesWithEmptySets=!1,e.fullyQualifiedTypePath=!0,e}setDateTimeFormat(e){this.dateTimeFormat=e}setTypeName(e){this.typeKeyName=e}setIncludeType(e){this.includeType=e}setInclueEnumType(e){this.includeEnumType=e}setRemovePropertiesWithNullValues(e){this.removePropertiesWithNullValues=e}setRemovePropertiesWithEmptySets(e){this.removePropertiesWithEmptySets=e}setFullyQualifiedTypePath(e){this.fullyQualifiedTypePath=e}setIncludeObjectReference(e){this.includeObjectReference=e}}class rji{queryBuilderGraphFetchTreeState;constructor(e){this.queryBuilderGraphFetchTreeState=e}}class sji extends rji{config;configModal=!1;constructor(e){super(e),hd(this,{config:Rc,configModal:Rc,setConfigModal:Pu})}setConfig(e){this.config=e}setConfigModal(e){this.configModal=e}getLabel(){return eji.PURE}get serializationContentType(){return exports.ContentType.APPLICATION_JSON}}class oji extends rji{targetBinding;treeData;constructor(e,t,n){super(e),hd(this,{targetBinding:Rc,treeData:Rc.ref,serializationContentType:Oc,setGraphFetchTree:Pu}),this.targetBinding=t,this.treeData=n}setBinding(e){this.targetBinding=e}setGraphFetchTree(e){this.treeData=e}addProperty(e,t){this.treeData?(Qzi(this.treeData,this.queryBuilderGraphFetchTreeState.queryBuilderState.explorerState.nonNullableTreeData,e,this.queryBuilderGraphFetchTreeState.queryBuilderState),t?.refreshTreeData&&this.setGraphFetchTree({...this.treeData})):this.queryBuilderGraphFetchTreeState.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't add property: graph-fetch tree has not been properly initialized")}getLabel(){return eji.EXTERNAL_FORMAT}get serializationContentType(){const e=this.targetBinding.contentType;return Object.values(exports.ContentType).includes(e)?e:"application/x.flatdata"===e?exports.ContentType.TEXT_CSV:exports.ContentType.TEXT_PLAIN}}class aji extends JVi{treeData;isChecked=!1;serializationState;constructor(e,t){super(e,t),hd(this,{treeData:Rc.ref,isChecked:Rc,serializationState:Rc,TEMPORARY__showPostFetchStructurePanel:Oc,setGraphFetchTree:Pu,setSerializationState:Pu,setChecked:Pu,initialize:Pu,checkBeforeChangingImplementation:Pu}),this.updateTreeData(this.queryBuilderState.sourceClass),this.serializationState=new sji(this)}get type(){return QVi.GRAPH_FETCH}get fetchLabel(){return"Class Properties"}get canBeExportedToCube(){return!1}get usedExplorerTreePropertyNodeIDs(){if(!this.treeData)return[];const e=new Map,t=[],n=this.treeData.rootIds.slice();for(;n.length;){const i=dr(n[0]),r=this.treeData.nodes.get(i);if(!r)continue;let s;const o=r.parentId?dr(e.get(r.parentId)):"";let a="";r.tree instanceof $S?a=`root.${r.tree.class.valueForSerialization??""}`:r.tree instanceof qS&&(a=r.tree.property.value.name);const l=czi(o,a);t.push(l),r.tree instanceof qS&&r.tree.subType?(s=uzi(l,r.tree.subType.value.path),gE(r.tree.subType.value).concat(r.tree.subType.value).forEach(e=>t.push(uzi(l,e.path)))):s=l,e.set(r.id,s),n.shift(),r.childrenIds.forEach(e=>n.push(e))}return Array.from(new Set(t).values())}get fetchStructureValidationIssues(){return[]}get allValidationIssues(){return[]}initialize(){this.queryBuilderState.filterState.setShowPanel(!0)}setSerializationState(e){this.serializationState=e}setGraphFetchTree(e){this.treeData=e}setChecked(e){this.isChecked=e}updateTreeData(e){this.setGraphFetchTree(e?qzi(new $S(C_.create(e))):void 0)}get exportDataFormatOptions(){return[tji.RESULT]}getExportDataInfo(e){if(e===tji.RESULT)return{contentType:this.serializationState.serializationContentType};throw new yi(`Unsupported Graph Fetch export type ${e}`)}initializeWithQuery(){}onClassChange(){this.updateTreeData(this.queryBuilderState.sourceClass)}appendFetchStructure(e,t){Jzi(this,e,t)}addProperty(e,t){this.treeData?(Qzi(this.treeData,this.queryBuilderState.explorerState.nonNullableTreeData,e,this.queryBuilderState),t?.refreshTreeData&&this.setGraphFetchTree({...this.treeData})):this.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't add property: graph-fetch tree has not been properly initialized")}revealCompilationError(e){return!1}clearCompilationError(){}fetchProperty(e){this.addProperty(e,{refreshTreeData:!0}),this.serializationState instanceof oji&&this.serializationState.addProperty(fn(e),{refreshTreeData:!0})}fetchProperties(e){this.treeData?(e.forEach(e=>this.addProperty(e)),this.setGraphFetchTree({...this.treeData})):this.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't add property: graph-fetch tree has not been properly initialized")}checkBeforeChangingImplementation(e){this.treeData?.rootIds.length?this.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:"Current graph-fetch will be lost when switching to projection mode. Do you still want to proceed?",type:nft.CAUTION,actions:[{label:"Proceed",type:ift.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:ift.PROCEED,default:!0}]}):e()}isVariableUsed(e){return Boolean(Array.from(this.treeData?.nodes.values()??[]).find(t=>{if(t.tree instanceof qS)return t.tree.parameters.find(t=>syt(e,t))}))}get hasInvalidFilterValues(){return!1}get hasInvalidDerivedPropertyParameters(){return!1}get hashCode(){return fv([ayt.GRAPH_FETCH_STATE,this.isChecked.toString(),this.treeData?.tree??""])}}const lji=(e,t)=>()=>{t.implementation.type!==e&&(yvt.logEvent_ToggleFetchStructure(t.queryBuilderState.applicationStore.telemetryService),t.implementation.checkBeforeChangingImplementation(()=>{t.changeImplementation(e)}))};class cji{queryBuilderState;implementation;constructor(e){hd(this,{implementation:Rc,changeImplementation:Pu,initializeWithQuery:Pu}),this.queryBuilderState=e,this.implementation=new hHi(this.queryBuilderState,this)}changeImplementation(e){switch(e){case QVi.TABULAR_DATA_STRUCTURE:this.implementation=new hHi(this.queryBuilderState,this);break;case QVi.GRAPH_FETCH:this.queryBuilderState.setIsCalendarEnabled(!1),this.implementation=new aji(this.queryBuilderState,this);break;default:throw new yi(`Can't change fetch-structure implementation to unsupported type: '${e}'`)}this.implementation.initialize()}initializeWithQuery(){this.implementation.initializeWithQuery()}fetchProperty(e){e instanceof pzi&&!(e.type instanceof Z_)&&this.implementation.fetchProperty(e)}fetchNodeChildrenProperties(e){e.type instanceof Z_&&this.implementation.fetchProperties(e.childrenIds.map(e=>this.queryBuilderState.explorerState.nonNullableTreeData.nodes.get(e)).filter(pr(pzi)).filter(e=>!(e.type instanceof Z_)&&e.mappingData.mapped))}}class uji{lambda;constructor(e){this.lambda=e,hd(this,{lambda:Rc,setLambda:Pu})}setLambda(e){this.lambda=e}}var dji;!function(e){e.TEXT="TEXT",e.JSON="JSON"}(dji||(dji={}));class hji extends RVi{queryBuilderState;rawLambdaState;isConvertingLambdaToString=!1;mode;closingQueryState=Py.create();readOnlylambdaJson="";isReadOnly;constructor(e){super("",""),hd(this,{rawLambdaState:Rc,isConvertingLambdaToString:Rc,mode:Rc,isReadOnly:Rc,setQueryRawLambdaState:Pu,setIsReadOnly:Pu,setMode:Pu,openModal:Pu,closeModal:Ju}),this.queryBuilderState=e,this.rawLambdaState=new uji(yW())}get lambdaId(){return Eie(["query-builder"])}get text(){return this.mode===dji.TEXT?this.fullLambdaString:this.mode===dji.JSON?this.readOnlylambdaJson:void 0}setQueryRawLambdaState(e){this.rawLambdaState=e}setIsReadOnly(e){this.isReadOnly=e}setMode(e){this.mode=e}setLambdaJson(e){this.readOnlylambdaJson=e}*convertLambdaGrammarStringToObject(){const e=yW();if(this.lambdaString)try{const e=yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToLambda(this.fullLambdaString,this.lambdaId,{pruneSourceInformation:!1});this.setParserError(void 0),this.rawLambdaState.setLambda(e)}catch(e){bi(e),e instanceof pJ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.PARSING_FAILURE),e)}else this.clearErrors(),this.rawLambdaState.setLambda(e)}*convertLambdaObjectToGrammarString(e){if(this.rawLambdaState.lambda.body){this.isConvertingLambdaToString=!0;try{const t=new Map;t.set(this.lambdaId,new SS(this.rawLambdaState.lambda.parameters,this.rawLambdaState.lambda.body));const n=(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(t,e.pretty)).get(this.lambdaId);this.setLambdaString(void 0!==n?this.extractLambdaString(n):""),this.clearErrors(),this.isConvertingLambdaToString=!1}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.PARSING_FAILURE),e),this.isConvertingLambdaToString=!1}}else this.clearErrors(),this.setLambdaString("")}openModal(e,t){try{const n=this.queryBuilderState.buildQuery();e===dji.TEXT&&this.setQueryRawLambdaState(new uji(n)),e===dji.JSON&&this.setLambdaJson(JSON.stringify(B_(this.queryBuilderState.graphManagerState.graphManager.serializeRawValueSpecification(n)),null,2)),this.setMode(e),this.setIsReadOnly(t)}catch(e){bi(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}}*closeModal(){if(this.closingQueryState.inProgress(),this.mode===dji.TEXT&&!this.isReadOnly)return yield this.convertLambdaGrammarStringToObject(),void(this.parserError?this.queryBuilderState.applicationStore.notificationService.notifyError(`Can't parse query. Please fix error before closing: ${this.parserError.message}`):(this.queryBuilderState.rebuildWithQuery(this.rawLambdaState.lambda,{preserveParameterValues:!0,preserveResult:!0}),this.setMode(void 0)));this.setIsReadOnly(void 0),this.closingQueryState.complete(),this.setMode(void 0)}}const pji=ule(e=>{const{resultType:t}=e;let n="";return t.type instanceof S_&&(n=t.type.input??""),""===n?vse.jsx(vse.Fragment,{}):vse.jsxs("div",{className:"query-builder__result__container",children:[vse.jsx(TVe,{className:"query-builder__result__container__item__data-type",children:vse.jsxs(vse.Fragment,{children:[vse.jsx("div",{className:"query-builder__result__container__item__data-type__type",children:"Result type:"}),vse.jsx("div",{className:"query-builder__result__container__item__data-type__value",children:n})]})}),vse.jsx(RVe,{})]})}),gji=ule(e=>{const{resultType:t}=e;return vse.jsxs("div",{className:"query-builder__result__container",children:[vse.jsx(TVe,{className:"query-builder__result__container__item__tds",children:"Result type: TDS"}),vse.jsx(RVe,{}),vse.jsxs("table",{className:"query-builder__result__container__table table",children:[vse.jsx("thead",{children:vse.jsxs("tr",{children:[vse.jsx("th",{className:"table__cell--left",children:"Label"}),vse.jsx("th",{className:"table__cell--left",children:"Result DataType"})]})}),vse.jsx("tbody",{children:t.tdsColumns.map(e=>vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:e.name}),vse.jsx("td",{className:"table__cell--left",children:e.type instanceof S_&&(e.type.input??"")})]},e.name))})]}),vse.jsx(RVe,{})]})}),mji=ule(e=>{const{resultType:t}=e;return vse.jsxs("div",{className:"query-builder__result__container",children:[vse.jsxs(TVe,{className:"query-builder__result__container__item__partial-class",children:["Result type: PartialClass[",t.type.valueForSerialization??"","]"]}),vse.jsx(RVe,{}),vse.jsxs("table",{className:"query-builder__result__container__table--partial-class table",children:[vse.jsx("thead",{children:vse.jsxs("tr",{children:[vse.jsx("th",{className:"table__cell--left",children:"Property"}),vse.jsx("th",{className:"table__cell--left",children:"Parameters"})]})}),vse.jsx("tbody",{children:t.propertiesWithParameters.map(e=>vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:e.property}),vse.jsx("td",{className:"table__cell--left",children:e.parameters.toString()})]},e.property))})]}),vse.jsx(RVe,{})]})}),fji=ule(e=>{const{resultType:t}=e;return t instanceof t4?vse.jsx(pji,{resultType:t}):t instanceof n4?vse.jsx(gji,{resultType:t}):t instanceof M4?vse.jsx(mji,{resultType:t}):null}),vji=e=>{e.dispose(),e.getModel()?.dispose()},yji=e=>{const{inputValue:t,updateInput:i,lightTheme:r,language:s,isReadOnly:o,hideMinimap:a,hideGutter:l,hidePadding:c,hideActionBar:u,lineToScroll:d,extraEditorOptions:h,error:p}=e,g=Cmt(),[m,f]=n.useState(),[v,y]=n.useState(!1),b=n.useRef(void 0),_=$Ln(t),C=n.useRef(null);if(n.useEffect(()=>{if(!m&&C.current){const e=C.current,t=Yhn.create(e,{contextmenu:!1,copyWithSyntaxHighlighting:!1,fontSize:14,fontFamily:"Roboto Mono",fontLigatures:!0,fixedOverflowWidgets:!0,detectIndentation:!1,tabSize:2,"bracketPairColorization.enabled":!1,automaticLayout:!0,theme:g.layoutService.TEMPORARY__isLightColorThemeEnabled?r??OLn.BUILT_IN__VSCODE_LIGHT:OLn.DEFAULT_DARK,glyphMargin:!c,padding:c?{top:0,bottom:0}:{top:20,bottom:20},formatOnType:!0,formatOnPaste:!0});f(t)}},[g,r,c,m]),n.useEffect(()=>{if(m){qLn(m);const e=m.getModel();e&&Yhn.setModelLanguage(e,s)}},[m,s]),n.useEffect(()=>{m&&void 0!==d&&m.revealLineInCenter(d)},[m,d]),m){b.current?.dispose(),b.current=m.onDidChangeModelContent(()=>{const e=HLn(m);e!==_&&i?.(e)});HLn(m)!==_&&m.setValue(_),m.updateOptions({readOnly:Boolean(o),minimap:{enabled:!a},...l?{glyphMargin:!c,folding:!1,lineNumbers:"off",lineDecorationsWidth:0}:{},...h??{}});const e=m.getModel();e?.updateOptions({tabSize:2}),e&&(p?.sourceInformation?jLn(e,[{message:p.message,startLineNumber:p.sourceInformation.startLine,startColumn:p.sourceInformation.startColumn,endLineNumber:p.sourceInformation.endLine,endColumn:p.sourceInformation.endColumn}]):WLn())}return n.useEffect(()=>()=>{m&&(vji(m),b.current?.dispose())},[m]),vse.jsxs("div",{className:"code-editor",children:[!u&&vse.jsx("div",{className:"code-editor__header",children:vse.jsx("button",{tabIndex:-1,className:gle("code-editor__header__action",{"code-editor__header__action--active":v}),onClick:()=>{const e=!v;y(e),m?.updateOptions({wordWrap:e?"on":"off"})},title:`[${v?"on":"off"}] Toggle word wrap`,children:vse.jsx(Qse,{})})}),vse.jsx("div",{className:gle("code-editor__content",{"code-editor__content--padding":!c,"code-editor__content--with__header":!u}),children:vse.jsx("div",{className:"code-editor__body",ref:C})})]})},bji=ule(e=>{const{from:t,to:i,language:r}=e,s=Cmt(),[o,a]=n.useState(),l=n.useRef(null),c=t??"",u=i??"";if(n.useEffect(()=>{if(!o&&l.current){const e=l.current,t=Yhn.createDiffEditor(e,{contextmenu:!1,copyWithSyntaxHighlighting:!1,fontSize:14,fontFamily:"Roboto Mono",fontLigatures:!0,fixedOverflowWidgets:!0,detectIndentation:!1,tabSize:2,"bracketPairColorization.enabled":!1,automaticLayout:!0,theme:s.layoutService.TEMPORARY__isLightColorThemeEnabled?OLn.BUILT_IN__VSCODE_LIGHT:OLn.DEFAULT_DARK,readOnly:!0});a(t)}},[s,o]),o){const e=Yhn.createModel(c,r),t=Yhn.createModel(u,r);o.setModel({original:e,modified:t})}return n.useEffect(()=>()=>{o&&(e=>{e.dispose(),e.getOriginalEditor().getModel()?.dispose(),e.getModifiedEditor().getModel()?.dispose()})(o)},[o]),vse.jsx("div",{className:"code-editor__container",children:vse.jsx("div",{className:"code-editor__body",ref:l})})}),_ji=(e,t)=>e?_r(e)?t?_f(e):((e,t=2)=>{try{return JSON.stringify(JSON.parse(e),void 0,t)}catch{return e}})(e):t?bf(e,void 0,2):JSON.stringify(e,void 0,2):"",Cji=ule(e=>{const{from:t,to:n,lossless:i}=e;return vse.jsx(bji,{language:YLn.JSON,from:_ji(t,Boolean(i)),to:_ji(n,Boolean(i))})});var Sji,wji={exports:{}},Eji=wji.exports;var xji=(Sji||(Sji=1,function(e){!function(t,n){e.exports?e.exports=n():t.nearley=n()}(Eji,function(){function e(t,n,i){return this.id=++e.highestId,this.name=t,this.symbols=n,this.postprocess=i,this}function t(e,t,n,i){this.rule=e,this.dot=t,this.reference=n,this.data=[],this.wantedBy=i,this.isComplete=this.dot===e.symbols.length}function n(e,t){this.grammar=e,this.index=t,this.states=[],this.wants={},this.scannable=[],this.completed={}}function i(e,t){this.rules=e,this.start=t||this.rules[0].name;var n=this.byName={};this.rules.forEach(function(e){n.hasOwnProperty(e.name)||(n[e.name]=[]),n[e.name].push(e)})}function r(){this.reset("")}function s(e,t,s){if(e instanceof i){var o=e;s=t}else o=i.fromCompiled(e,t);for(var a in this.grammar=o,this.options={keepHistory:!1,lexer:o.lexer||new r},s||{})this.options[a]=s[a];this.lexer=this.options.lexer,this.lexerState=void 0;var l=new n(o,0);this.table=[l],l.wants[o.start]=[],l.predict(o.start),l.process(),this.current=0}function o(e){var t=typeof e;if("string"===t)return e;if("object"===t){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return e.toString();if(e.type)return"%"+e.type;if(e.test)return"<"+String(e.test)+">";throw new Error("Unknown symbol type: "+e)}}return e.highestId=0,e.prototype.toString=function(e){var t=void 0===e?this.symbols.map(o).join(" "):this.symbols.slice(0,e).map(o).join(" ")+" ● "+this.symbols.slice(e).map(o).join(" ");return this.name+" → "+t},t.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},t.prototype.nextState=function(e){var n=new t(this.rule,this.dot+1,this.reference,this.wantedBy);return n.left=this,n.right=e,n.isComplete&&(n.data=n.build(),n.right=void 0),n},t.prototype.build=function(){var e=[],t=this;do{e.push(t.right.data),t=t.left}while(t.left);return e.reverse(),e},t.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))},n.prototype.process=function(e){for(var t=this.states,n=this.wants,i=this.completed,r=0;r<t.length;r++){var o=t[r];if(o.isComplete){if(o.finish(),o.data!==s.fail){for(var a=o.wantedBy,l=a.length;l--;){var c=a[l];this.complete(c,o)}if(o.reference===this.index){var u=o.rule.name;(this.completed[u]=this.completed[u]||[]).push(o)}}}else{if("string"!=typeof(u=o.rule.symbols[o.dot])){this.scannable.push(o);continue}if(n[u]){if(n[u].push(o),i.hasOwnProperty(u)){var d=i[u];for(l=0;l<d.length;l++){var h=d[l];this.complete(o,h)}}}else n[u]=[o],this.predict(u)}}},n.prototype.predict=function(e){for(var n=this.grammar.byName[e]||[],i=0;i<n.length;i++){var r=n[i],s=this.wants[e],o=new t(r,0,this.index,s);this.states.push(o)}},n.prototype.complete=function(e,t){var n=e.nextState(t);this.states.push(n)},i.fromCompiled=function(t,n){var r=t.Lexer;t.ParserStart&&(n=t.ParserStart,t=t.ParserRules),t=t.map(function(t){return new e(t.name,t.symbols,t.postprocess)});var s=new i(t,n);return s.lexer=r,s},r.prototype.reset=function(e,t){this.buffer=e,this.index=0,this.line=t?t.line:1,this.lastLineBreak=t?-t.col:0},r.prototype.next=function(){if(this.index<this.buffer.length){var e=this.buffer[this.index++];return"\n"===e&&(this.line+=1,this.lastLineBreak=this.index),{value:e}}},r.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},r.prototype.formatError=function(e,t){var n=this.buffer;if("string"==typeof n){var i=n.split("\n").slice(Math.max(0,this.line-5),this.line),r=n.indexOf("\n",this.index);-1===r&&(r=n.length);var s=this.index-this.lastLineBreak,o=String(this.line).length;return t+=" at line "+this.line+" col "+s+":\n\n",t+=i.map(function(e,t){return a(this.line-i.length+t+1,o)+" "+e},this).join("\n"),t+="\n"+a("",o+s)+"^\n"}return t+" at index "+(this.index-1);function a(e,t){var n=String(e);return Array(t-n.length+1).join(" ")+n}},s.fail={},s.prototype.feed=function(e){var t,i=this.lexer;for(i.reset(e,this.lexerState);;){try{if(!(t=i.next()))break}catch(e){var s=new n(this.grammar,this.current+1);throw this.table.push(s),(l=new Error(this.reportLexerError(e))).offset=this.current,l.token=e.token,l}var o=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var a=this.current+1;s=new n(this.grammar,a),this.table.push(s);for(var l,c=void 0!==t.text?t.text:t.value,u=i.constructor===r?t.value:t,d=o.scannable,h=d.length;h--;){var p=d[h],g=p.rule.symbols[p.dot];if(g.test?g.test(u):g.type?g.type===t.type:g.literal===c){var m=p.nextState({data:u,token:t,isToken:!0,reference:a-1});s.states.push(m)}}if(s.process(),0===s.states.length)throw(l=new Error(this.reportError(t))).offset=this.current,l.token=t,l;this.options.keepHistory&&(o.lexerState=i.save()),this.current++}return o&&(this.lexerState=i.save()),this.results=this.finish(),this},s.prototype.reportLexerError=function(e){var t,n,i=e.token;return i?(t="input "+JSON.stringify(i.text[0])+" (lexer error)",n=this.lexer.formatError(i,"Syntax error")):(t="input (lexer error)",n=e.message),this.reportErrorCommon(n,t)},s.prototype.reportError=function(e){var t=(e.type?e.type+" token: ":"")+JSON.stringify(void 0!==e.value?e.value:e),n=this.lexer.formatError(e,"Syntax error");return this.reportErrorCommon(n,t)},s.prototype.reportErrorCommon=function(e,t){var n=[];n.push(e);var i=this.table.length-2,r=this.table[i],s=r.states.filter(function(e){var t=e.rule.symbols[e.dot];return t&&"string"!=typeof t});if(0===s.length)n.push("Unexpected "+t+". I did not expect any more input. Here is the state of my parse table:\n"),this.displayStateStack(r.states,n);else{n.push("Unexpected "+t+". Instead, I was expecting to see one of the following:\n");var o=s.map(function(e){return this.buildFirstStateStack(e,[])||[e]},this);o.forEach(function(e){var t=e[0],i=t.rule.symbols[t.dot],r=this.getSymbolDisplay(i);n.push("A "+r+" based on:"),this.displayStateStack(e,n)},this)}return n.push(""),n.join("\n")},s.prototype.displayStateStack=function(e,t){for(var n,i=0,r=0;r<e.length;r++){var s=e[r],o=s.rule.toString(s.dot);o===n?i++:(i>0&&t.push(" ^ "+i+" more lines identical to this"),i=0,t.push(" "+o)),n=o}},s.prototype.getSymbolDisplay=function(e){return function(e){var t=typeof e;if("string"===t)return e;if("object"===t){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return"character matching "+e;if(e.type)return e.type+" token";if(e.test)return"token matching "+String(e.test);throw new Error("Unknown symbol type: "+e)}}(e)},s.prototype.buildFirstStateStack=function(e,t){if(-1!==t.indexOf(e))return null;if(0===e.wantedBy.length)return[e];var n=e.wantedBy[0],i=[e].concat(t),r=this.buildFirstStateStack(n,i);return null===r?null:[e].concat(r)},s.prototype.save=function(){var e=this.table[this.current];return e.lexerState=this.lexerState,e},s.prototype.restore=function(e){var t=e.index;this.current=t,this.table[t]=e,this.table.splice(t+1),this.lexerState=e.lexerState,this.results=this.finish()},s.prototype.rewind=function(e){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[e])},s.prototype.finish=function(){var e=[],t=this.grammar.start;return this.table[this.table.length-1].states.forEach(function(n){n.rule.name===t&&n.dot===n.rule.symbols.length&&0===n.reference&&n.data!==s.fail&&e.push(n)}),e.map(function(e){return e.data})},{Parser:s,Grammar:i,Rule:e}})}(wji)),wji.exports),Tji=Si(xji),Aji=Object.defineProperty,Rji=Object.defineProperties,Nji=Object.getOwnPropertyDescriptors,Iji=Object.getOwnPropertySymbols,Dji=Object.prototype.hasOwnProperty,Oji=Object.prototype.propertyIsEnumerable,kji=(e,t,n)=>t in e?Aji(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Lji=(e,t)=>{for(var n in t||(t={}))Dji.call(t,n)&&kji(e,n,t[n]);if(Iji)for(var n of Iji(t))Oji.call(t,n)&&kji(e,n,t[n]);return e},Mji=(e,t)=>Rji(e,Nji(t)),Pji={};((e,t)=>{for(var n in t)Aji(e,n,{get:t[n],enumerable:!0})})(Pji,{bigquery:()=>aWi,db2:()=>vWi,db2i:()=>xWi,hive:()=>kWi,mariadb:()=>HWi,mysql:()=>XWi,n1ql:()=>d$i,plsql:()=>b$i,postgresql:()=>A$i,redshift:()=>M$i,singlestoredb:()=>Nqi,snowflake:()=>Fqi,spark:()=>z$i,sql:()=>sqi,sqlite:()=>Z$i,tidb:()=>r$i,transactsql:()=>Cqi,trino:()=>pqi});var Fji=e=>e.flatMap(Bji),Bji=e=>$ji(Uji(e)).map(Vji),Vji=e=>e.replace(/ +/g," ").trim(),Uji=e=>({type:"mandatory_block",items:Gji(e,0)[0]}),Gji=(e,t,n)=>{const i=[];for(;e[t];){const[r,s]=Hji(e,t);if(i.push(r),"|"!==e[t=s]){if("}"===e[t]||"]"===e[t]){if(n!==e[t])throw new Error(`Unbalanced parenthesis in: ${e}`);return[i,++t]}if(t===e.length){if(n)throw new Error(`Unbalanced parenthesis in: ${e}`);return[i,t]}throw new Error(`Unexpected "${e[t]}"`)}t++}return[i,t]},Hji=(e,t)=>{const n=[];for(;;){const[i,r]=zji(e,t);if(!i)break;n.push(i),t=r}return 1===n.length?[n[0],t]:[{type:"concatenation",items:n},t]},zji=(e,t)=>{if("{"===e[t])return jji(e,t+1);if("["===e[t])return Wji(e,t+1);{let n="";for(;e[t]&&/[A-Za-z0-9_ ]/.test(e[t]);)n+=e[t],t++;return[n,t]}},jji=(e,t)=>{const[n,i]=Gji(e,t,"}");return[{type:"mandatory_block",items:n},i]},Wji=(e,t)=>{const[n,i]=Gji(e,t,"]");return[{type:"optional_block",items:n},i]},$ji=e=>{if("string"==typeof e)return[e];if("concatenation"===e.type)return e.items.map($ji).reduce(qji,[""]);if("mandatory_block"===e.type)return e.items.flatMap($ji);if("optional_block"===e.type)return["",...e.items.flatMap($ji)];throw new Error(`Unknown node type: ${e}`)},qji=(e,t)=>{const n=[];for(const i of e)for(const e of t)n.push(i+e);return n},Yji=(e=>(e.QUOTED_IDENTIFIER="QUOTED_IDENTIFIER",e.IDENTIFIER="IDENTIFIER",e.STRING="STRING",e.VARIABLE="VARIABLE",e.RESERVED_DATA_TYPE="RESERVED_DATA_TYPE",e.RESERVED_PARAMETERIZED_DATA_TYPE="RESERVED_PARAMETERIZED_DATA_TYPE",e.RESERVED_KEYWORD="RESERVED_KEYWORD",e.RESERVED_FUNCTION_NAME="RESERVED_FUNCTION_NAME",e.RESERVED_PHRASE="RESERVED_PHRASE",e.RESERVED_SET_OPERATION="RESERVED_SET_OPERATION",e.RESERVED_CLAUSE="RESERVED_CLAUSE",e.RESERVED_SELECT="RESERVED_SELECT",e.RESERVED_JOIN="RESERVED_JOIN",e.ARRAY_IDENTIFIER="ARRAY_IDENTIFIER",e.ARRAY_KEYWORD="ARRAY_KEYWORD",e.CASE="CASE",e.END="END",e.WHEN="WHEN",e.ELSE="ELSE",e.THEN="THEN",e.LIMIT="LIMIT",e.BETWEEN="BETWEEN",e.AND="AND",e.OR="OR",e.XOR="XOR",e.OPERATOR="OPERATOR",e.COMMA="COMMA",e.ASTERISK="ASTERISK",e.PROPERTY_ACCESS_OPERATOR="PROPERTY_ACCESS_OPERATOR",e.OPEN_PAREN="OPEN_PAREN",e.CLOSE_PAREN="CLOSE_PAREN",e.LINE_COMMENT="LINE_COMMENT",e.BLOCK_COMMENT="BLOCK_COMMENT",e.DISABLE_COMMENT="DISABLE_COMMENT",e.NUMBER="NUMBER",e.NAMED_PARAMETER="NAMED_PARAMETER",e.QUOTED_PARAMETER="QUOTED_PARAMETER",e.NUMBERED_PARAMETER="NUMBERED_PARAMETER",e.POSITIONAL_PARAMETER="POSITIONAL_PARAMETER",e.CUSTOM_PARAMETER="CUSTOM_PARAMETER",e.DELIMITER="DELIMITER",e.EOF="EOF",e))(Yji||{}),Kji=e=>({type:"EOF",raw:"«EOF»",text:"«EOF»",start:e}),Xji=Kji(1/0),Zji=e=>t=>t.type===e.type&&t.text===e.text,Qji={ARRAY:Zji({text:"ARRAY",type:"RESERVED_DATA_TYPE"}),BY:Zji({text:"BY",type:"RESERVED_KEYWORD"}),SET:Zji({text:"SET",type:"RESERVED_CLAUSE"}),STRUCT:Zji({text:"STRUCT",type:"RESERVED_DATA_TYPE"}),WINDOW:Zji({text:"WINDOW",type:"RESERVED_CLAUSE"}),VALUES:Zji({text:"VALUES",type:"RESERVED_CLAUSE"})},Jji=e=>"RESERVED_DATA_TYPE"===e||"RESERVED_KEYWORD"===e||"RESERVED_FUNCTION_NAME"===e||"RESERVED_PHRASE"===e||"RESERVED_CLAUSE"===e||"RESERVED_SELECT"===e||"RESERVED_SET_OPERATION"===e||"RESERVED_JOIN"===e||"ARRAY_KEYWORD"===e||"CASE"===e||"END"===e||"WHEN"===e||"ELSE"===e||"THEN"===e||"LIMIT"===e||"BETWEEN"===e||"AND"===e||"OR"===e||"XOR"===e,eWi=Fji(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),tWi=Fji(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","QUALIFY","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","OMIT RECORD IF","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY SOURCE | BY TARGET] [THEN]","UPDATE SET","CLUSTER BY","FOR SYSTEM_TIME AS OF","WITH CONNECTION","WITH PARTITION COLUMNS","REMOTE WITH CONNECTION"]),nWi=Fji(["CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]"]),iWi=Fji(["CREATE [OR REPLACE] [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE","DELETE [FROM]","DROP [SNAPSHOT | EXTERNAL] TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","ADD COLUMN [IF NOT EXISTS]","DROP COLUMN [IF EXISTS]","RENAME TO","ALTER COLUMN [IF EXISTS]","SET DEFAULT COLLATE","SET OPTIONS","DROP NOT NULL","SET DATA TYPE","ALTER SCHEMA [IF EXISTS]","ALTER [MATERIALIZED] VIEW [IF EXISTS]","ALTER BI_CAPACITY","TRUNCATE TABLE","CREATE SCHEMA [IF NOT EXISTS]","DEFAULT COLLATE","CREATE [OR REPLACE] [TEMP|TEMPORARY|TABLE] FUNCTION [IF NOT EXISTS]","CREATE [OR REPLACE] PROCEDURE [IF NOT EXISTS]","CREATE [OR REPLACE] ROW ACCESS POLICY [IF NOT EXISTS]","GRANT TO","FILTER USING","CREATE CAPACITY","AS JSON","CREATE RESERVATION","CREATE ASSIGNMENT","CREATE SEARCH INDEX [IF NOT EXISTS]","DROP SCHEMA [IF EXISTS]","DROP [MATERIALIZED] VIEW [IF EXISTS]","DROP [TABLE] FUNCTION [IF EXISTS]","DROP PROCEDURE [IF EXISTS]","DROP ROW ACCESS POLICY","DROP ALL ROW ACCESS POLICIES","DROP CAPACITY [IF EXISTS]","DROP RESERVATION [IF EXISTS]","DROP ASSIGNMENT [IF EXISTS]","DROP SEARCH INDEX [IF EXISTS]","DROP [IF EXISTS]","GRANT","REVOKE","DECLARE","EXECUTE IMMEDIATE","LOOP","END LOOP","REPEAT","END REPEAT","WHILE","END WHILE","BREAK","LEAVE","CONTINUE","ITERATE","FOR","END FOR","BEGIN","BEGIN TRANSACTION","COMMIT TRANSACTION","ROLLBACK TRANSACTION","RAISE","RETURN","CALL","ASSERT","EXPORT DATA"]),rWi=Fji(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),sWi=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),oWi=Fji(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),aWi={name:"bigquery",tokenizerOptions:{reservedSelect:eWi,reservedClauses:[...tWi,...iWi,...nWi],reservedSetOperations:rWi,reservedJoins:sWi,reservedPhrases:oWi,reservedKeywords:["ALL","AND","ANY","AS","ASC","ASSERT_ROWS_MODIFIED","AT","BETWEEN","BY","CASE","CAST","COLLATE","CONTAINS","CREATE","CROSS","CUBE","CURRENT","DEFAULT","DEFINE","DESC","DISTINCT","ELSE","END","ENUM","ESCAPE","EXCEPT","EXCLUDE","EXISTS","EXTRACT","FALSE","FETCH","FOLLOWING","FOR","FROM","FULL","GROUP","GROUPING","GROUPS","HASH","HAVING","IF","IGNORE","IN","INNER","INTERSECT","INTO","IS","JOIN","LATERAL","LEFT","LIMIT","LOOKUP","MERGE","NATURAL","NEW","NO","NOT","NULL","NULLS","OF","ON","OR","ORDER","OUTER","OVER","PARTITION","PRECEDING","PROTO","RANGE","RECURSIVE","RESPECT","RIGHT","ROLLUP","ROWS","SELECT","SET","SOME","TABLE","TABLESAMPLE","THEN","TO","TREAT","TRUE","UNBOUNDED","UNION","UNNEST","USING","WHEN","WHERE","WINDOW","WITH","WITHIN","SAFE","LIKE","COPY","CLONE","IN","OUT","INOUT","RETURNS","LANGUAGE","CASCADE","RESTRICT","DETERMINISTIC"],reservedDataTypes:["ARRAY","BOOL","BYTES","DATE","DATETIME","GEOGRAPHY","INTERVAL","INT64","INT","SMALLINT","INTEGER","BIGINT","TINYINT","BYTEINT","NUMERIC","DECIMAL","BIGNUMERIC","BIGDECIMAL","FLOAT64","STRING","STRUCT","TIME","TIMEZONE"],reservedFunctionNames:["KEYS.NEW_KEYSET","KEYS.ADD_KEY_FROM_RAW_BYTES","AEAD.DECRYPT_BYTES","AEAD.DECRYPT_STRING","AEAD.ENCRYPT","KEYS.KEYSET_CHAIN","KEYS.KEYSET_FROM_JSON","KEYS.KEYSET_TO_JSON","KEYS.ROTATE_KEYSET","KEYS.KEYSET_LENGTH","ANY_VALUE","ARRAY_AGG","AVG","CORR","COUNT","COUNTIF","COVAR_POP","COVAR_SAMP","MAX","MIN","ST_CLUSTERDBSCAN","STDDEV_POP","STDDEV_SAMP","STRING_AGG","SUM","VAR_POP","VAR_SAMP","ANY_VALUE","ARRAY_AGG","ARRAY_CONCAT_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","COUNT","COUNTIF","LOGICAL_AND","LOGICAL_OR","MAX","MIN","STRING_AGG","SUM","APPROX_COUNT_DISTINCT","APPROX_QUANTILES","APPROX_TOP_COUNT","APPROX_TOP_SUM","ARRAY_CONCAT","ARRAY_LENGTH","ARRAY_TO_STRING","GENERATE_ARRAY","GENERATE_DATE_ARRAY","GENERATE_TIMESTAMP_ARRAY","ARRAY_REVERSE","OFFSET","SAFE_OFFSET","ORDINAL","SAFE_ORDINAL","BIT_COUNT","PARSE_BIGNUMERIC","PARSE_NUMERIC","SAFE_CAST","CURRENT_DATE","EXTRACT","DATE","DATE_ADD","DATE_SUB","DATE_DIFF","DATE_TRUNC","DATE_FROM_UNIX_DATE","FORMAT_DATE","LAST_DAY","PARSE_DATE","UNIX_DATE","CURRENT_DATETIME","DATETIME","EXTRACT","DATETIME_ADD","DATETIME_SUB","DATETIME_DIFF","DATETIME_TRUNC","FORMAT_DATETIME","LAST_DAY","PARSE_DATETIME","ERROR","EXTERNAL_QUERY","S2_CELLIDFROMPOINT","S2_COVERINGCELLIDS","ST_ANGLE","ST_AREA","ST_ASBINARY","ST_ASGEOJSON","ST_ASTEXT","ST_AZIMUTH","ST_BOUNDARY","ST_BOUNDINGBOX","ST_BUFFER","ST_BUFFERWITHTOLERANCE","ST_CENTROID","ST_CENTROID_AGG","ST_CLOSESTPOINT","ST_CLUSTERDBSCAN","ST_CONTAINS","ST_CONVEXHULL","ST_COVEREDBY","ST_COVERS","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DUMP","ST_DWITHIN","ST_ENDPOINT","ST_EQUALS","ST_EXTENT","ST_EXTERIORRING","ST_GEOGFROM","ST_GEOGFROMGEOJSON","ST_GEOGFROMTEXT","ST_GEOGFROMWKB","ST_GEOGPOINT","ST_GEOGPOINTFROMGEOHASH","ST_GEOHASH","ST_GEOMETRYTYPE","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_INTERSECTSBOX","ST_ISCOLLECTION","ST_ISEMPTY","ST_LENGTH","ST_MAKELINE","ST_MAKEPOLYGON","ST_MAKEPOLYGONORIENTED","ST_MAXDISTANCE","ST_NPOINTS","ST_NUMGEOMETRIES","ST_NUMPOINTS","ST_PERIMETER","ST_POINTN","ST_SIMPLIFY","ST_SNAPTOGRID","ST_STARTPOINT","ST_TOUCHES","ST_UNION","ST_UNION_AGG","ST_WITHIN","ST_X","ST_Y","FARM_FINGERPRINT","MD5","SHA1","SHA256","SHA512","HLL_COUNT.INIT","HLL_COUNT.MERGE","HLL_COUNT.MERGE_PARTIAL","HLL_COUNT.EXTRACT","MAKE_INTERVAL","EXTRACT","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","JSON_EXTRACT","JSON_QUERY","JSON_EXTRACT_SCALAR","JSON_VALUE","JSON_EXTRACT_ARRAY","JSON_QUERY_ARRAY","JSON_EXTRACT_STRING_ARRAY","JSON_VALUE_ARRAY","TO_JSON_STRING","ABS","SIGN","IS_INF","IS_NAN","IEEE_DIVIDE","RAND","SQRT","POW","POWER","EXP","LN","LOG","LOG10","GREATEST","LEAST","DIV","SAFE_DIVIDE","SAFE_MULTIPLY","SAFE_NEGATE","SAFE_ADD","SAFE_SUBTRACT","MOD","ROUND","TRUNC","CEIL","CEILING","FLOOR","COS","COSH","ACOS","ACOSH","SIN","SINH","ASIN","ASINH","TAN","TANH","ATAN","ATANH","ATAN2","RANGE_BUCKET","FIRST_VALUE","LAST_VALUE","NTH_VALUE","LEAD","LAG","PERCENTILE_CONT","PERCENTILE_DISC","NET.IP_FROM_STRING","NET.SAFE_IP_FROM_STRING","NET.IP_TO_STRING","NET.IP_NET_MASK","NET.IP_TRUNC","NET.IPV4_FROM_INT64","NET.IPV4_TO_INT64","NET.HOST","NET.PUBLIC_SUFFIX","NET.REG_DOMAIN","RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","NTILE","ROW_NUMBER","SESSION_USER","CORR","COVAR_POP","COVAR_SAMP","STDDEV_POP","STDDEV_SAMP","STDDEV","VAR_POP","VAR_SAMP","VARIANCE","ASCII","BYTE_LENGTH","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CODE_POINTS_TO_BYTES","CODE_POINTS_TO_STRING","CONCAT","CONTAINS_SUBSTR","ENDS_WITH","FORMAT","FROM_BASE32","FROM_BASE64","FROM_HEX","INITCAP","INSTR","LEFT","LENGTH","LPAD","LOWER","LTRIM","NORMALIZE","NORMALIZE_AND_CASEFOLD","OCTET_LENGTH","REGEXP_CONTAINS","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPLACE","REPEAT","REVERSE","RIGHT","RPAD","RTRIM","SAFE_CONVERT_BYTES_TO_STRING","SOUNDEX","SPLIT","STARTS_WITH","STRPOS","SUBSTR","SUBSTRING","TO_BASE32","TO_BASE64","TO_CODE_POINTS","TO_HEX","TRANSLATE","TRIM","UNICODE","UPPER","CURRENT_TIME","TIME","EXTRACT","TIME_ADD","TIME_SUB","TIME_DIFF","TIME_TRUNC","FORMAT_TIME","PARSE_TIME","CURRENT_TIMESTAMP","EXTRACT","STRING","TIMESTAMP","TIMESTAMP_ADD","TIMESTAMP_SUB","TIMESTAMP_DIFF","TIMESTAMP_TRUNC","FORMAT_TIMESTAMP","PARSE_TIMESTAMP","TIMESTAMP_SECONDS","TIMESTAMP_MILLIS","TIMESTAMP_MICROS","UNIX_SECONDS","UNIX_MILLIS","UNIX_MICROS","GENERATE_UUID","COALESCE","IF","IFNULL","NULLIF","AVG","BIT_AND","BIT_OR","BIT_XOR","CORR","COUNT","COVAR_POP","COVAR_SAMP","EXACT_COUNT_DISTINCT","FIRST","GROUP_CONCAT","GROUP_CONCAT_UNQUOTED","LAST","MAX","MIN","NEST","NTH","QUANTILES","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","TOP","UNIQUE","VARIANCE","VAR_POP","VAR_SAMP","BIT_COUNT","BOOLEAN","BYTES","CAST","FLOAT","HEX_STRING","INTEGER","STRING","COALESCE","GREATEST","IFNULL","IS_INF","IS_NAN","IS_EXPLICITLY_DEFINED","LEAST","NVL","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE","DATE_ADD","DATEDIFF","DAY","DAYOFWEEK","DAYOFYEAR","FORMAT_UTC_USEC","HOUR","MINUTE","MONTH","MSEC_TO_TIMESTAMP","NOW","PARSE_UTC_USEC","QUARTER","SEC_TO_TIMESTAMP","SECOND","STRFTIME_UTC_USEC","TIME","TIMESTAMP","TIMESTAMP_TO_MSEC","TIMESTAMP_TO_SEC","TIMESTAMP_TO_USEC","USEC_TO_TIMESTAMP","UTC_USEC_TO_DAY","UTC_USEC_TO_HOUR","UTC_USEC_TO_MONTH","UTC_USEC_TO_WEEK","UTC_USEC_TO_YEAR","WEEK","YEAR","FORMAT_IP","PARSE_IP","FORMAT_PACKED_IP","PARSE_PACKED_IP","JSON_EXTRACT","JSON_EXTRACT_SCALAR","ABS","ACOS","ACOSH","ASIN","ASINH","ATAN","ATANH","ATAN2","CEIL","COS","COSH","DEGREES","EXP","FLOOR","LN","LOG","LOG2","LOG10","PI","POW","RADIANS","RAND","ROUND","SIN","SINH","SQRT","TAN","TANH","REGEXP_MATCH","REGEXP_EXTRACT","REGEXP_REPLACE","CONCAT","INSTR","LEFT","LENGTH","LOWER","LPAD","LTRIM","REPLACE","RIGHT","RPAD","RTRIM","SPLIT","SUBSTR","UPPER","TABLE_DATE_RANGE","TABLE_DATE_RANGE_STRICT","TABLE_QUERY","HOST","DOMAIN","TLD","AVG","COUNT","MAX","MIN","STDDEV","SUM","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","RATIO_TO_REPORT","ROW_NUMBER","CURRENT_USER","EVERY","FROM_BASE64","HASH","FARM_FINGERPRINT","IF","POSITION","SHA1","SOME","TO_BASE64","BQ.JOBS.CANCEL","BQ.REFRESH_MATERIALIZED_VIEW","OPTIONS","PIVOT","UNPIVOT"],extraParens:["[]"],stringTypes:[{quote:'""".."""',prefixes:["R","B","RB","BR"]},{quote:"'''..'''",prefixes:["R","B","RB","BR"]},'""-bs',"''-bs",{quote:'""-raw',prefixes:["R","B","RB","BR"],requirePrefix:!0},{quote:"''-raw",prefixes:["R","B","RB","BR"],requirePrefix:!0}],identTypes:["``"],identChars:{dashes:!0},paramTypes:{positional:!0,named:["@"],quoted:["@"]},variableTypes:[{regex:String.raw`@@\w+`}],lineCommentTypes:["--","#"],operators:["&","|","^","~",">>","<<","||","=>"],postProcess:function(e){return function(e){let t=Xji;return e.map(e=>"OFFSET"===e.text&&"["===t.text?(t=e,Mji(Lji({},e),{type:"RESERVED_FUNCTION_NAME"})):(t=e,e))}(function(e){var t;const n=[];for(let i=0;i<e.length;i++){const r=e[i];if((Qji.ARRAY(r)||Qji.STRUCT(r))&&"<"===(null==(t=e[i+1])?void 0:t.text)){const t=cWi(e,i+1),s=e.slice(i,t+1);n.push({type:"IDENTIFIER",raw:s.map(lWi("raw")).join(""),text:s.map(lWi("text")).join(""),start:r.start}),i=t}else n.push(r)}return n}(e))}},formatOptions:{onelineClauses:[...nWi,...iWi],tabularOnelineClauses:iWi}};var lWi=e=>t=>"IDENTIFIER"===t.type||"COMMA"===t.type?t[e]+" ":t[e];function cWi(e,t){let n=0;for(let i=t;i<e.length;i++){const t=e[i];if("<"===t.text?n++:">"===t.text?n--:">>"===t.text&&(n-=2),0===n)return i}return e.length-1}var uWi=Fji(["SELECT [ALL | DISTINCT]"]),dWi=Fji(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY [INPUT SEQUENCE]","LIMIT","OFFSET","FETCH NEXT","FOR UPDATE [OF]","FOR {READ | FETCH} ONLY","FOR {RR | CS | UR | RS} [USE AND KEEP {SHARE | UPDATE | EXCLUSIVE} LOCKS]","WAIT FOR OUTCOME","SKIP LOCKED DATA","INTO","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","INSERT"]),hWi=Fji(["CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]"]),pWi=Fji(["CREATE [OR REPLACE] VIEW","UPDATE","WHERE CURRENT OF","WITH {RR | RS | CS | UR}","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","DROP [COLUMN]","RENAME COLUMN","ALTER [COLUMN]","SET DATA TYPE","SET NOT NULL","DROP {DEFAULT | GENERATED | NOT NULL}","TRUNCATE [TABLE]","ALLOCATE","ALTER AUDIT POLICY","ALTER BUFFERPOOL","ALTER DATABASE PARTITION GROUP","ALTER DATABASE","ALTER EVENT MONITOR","ALTER FUNCTION","ALTER HISTOGRAM TEMPLATE","ALTER INDEX","ALTER MASK","ALTER METHOD","ALTER MODULE","ALTER NICKNAME","ALTER PACKAGE","ALTER PERMISSION","ALTER PROCEDURE","ALTER SCHEMA","ALTER SECURITY LABEL COMPONENT","ALTER SECURITY POLICY","ALTER SEQUENCE","ALTER SERVER","ALTER SERVICE CLASS","ALTER STOGROUP","ALTER TABLESPACE","ALTER THRESHOLD","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER TYPE","ALTER USAGE LIST","ALTER USER MAPPING","ALTER VIEW","ALTER WORK ACTION SET","ALTER WORK CLASS SET","ALTER WORKLOAD","ALTER WRAPPER","ALTER XSROBJECT","ALTER STOGROUP","ALTER TABLESPACE","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER VIEW","ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}","AUDIT","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT ON","COMMIT [WORK]","CONNECT","CREATE [OR REPLACE] [PUBLIC] ALIAS","CREATE AUDIT POLICY","CREATE BUFFERPOOL","CREATE DATABASE PARTITION GROUP","CREATE EVENT MONITOR","CREATE [OR REPLACE] FUNCTION","CREATE FUNCTION MAPPING","CREATE HISTOGRAM TEMPLATE","CREATE [UNIQUE] INDEX","CREATE INDEX EXTENSION","CREATE [OR REPLACE] MASK","CREATE [SPECIFIC] METHOD","CREATE [OR REPLACE] MODULE","CREATE [OR REPLACE] NICKNAME","CREATE [OR REPLACE] PERMISSION","CREATE [OR REPLACE] PROCEDURE","CREATE ROLE","CREATE SCHEMA","CREATE SECURITY LABEL [COMPONENT]","CREATE SECURITY POLICY","CREATE [OR REPLACE] SEQUENCE","CREATE SERVICE CLASS","CREATE SERVER","CREATE STOGROUP","CREATE SYNONYM","CREATE [LARGE | REGULAR | {SYSTEM | USER} TEMPORARY] TABLESPACE","CREATE THRESHOLD","CREATE {TRANSFORM | TRANSFORMS} FOR","CREATE [OR REPLACE] TRIGGER","CREATE TRUSTED CONTEXT","CREATE [OR REPLACE] TYPE","CREATE TYPE MAPPING","CREATE USAGE LIST","CREATE USER MAPPING FOR","CREATE [OR REPLACE] VARIABLE","CREATE WORK ACTION SET","CREATE WORK CLASS SET","CREATE WORKLOAD","CREATE WRAPPER","DECLARE","DECLARE GLOBAL TEMPORARY TABLE","DESCRIBE [INPUT | OUTPUT]","DISCONNECT","DROP [PUBLIC] ALIAS","DROP AUDIT POLICY","DROP BUFFERPOOL","DROP DATABASE PARTITION GROUP","DROP EVENT MONITOR","DROP [SPECIFIC] FUNCTION","DROP FUNCTION MAPPING","DROP HISTOGRAM TEMPLATE","DROP INDEX [EXTENSION]","DROP MASK","DROP [SPECIFIC] METHOD","DROP MODULE","DROP NICKNAME","DROP PACKAGE","DROP PERMISSION","DROP [SPECIFIC] PROCEDURE","DROP ROLE","DROP SCHEMA","DROP SECURITY LABEL [COMPONENT]","DROP SECURITY POLICY","DROP SEQUENCE","DROP SERVER","DROP SERVICE CLASS","DROP STOGROUP","DROP TABLE HIERARCHY","DROP {TABLESPACE | TABLESPACES}","DROP {TRANSFORM | TRANSFORMS}","DROP THRESHOLD","DROP TRIGGER","DROP TRUSTED CONTEXT","DROP TYPE [MAPPING]","DROP USAGE LIST","DROP USER MAPPING FOR","DROP VARIABLE","DROP VIEW [HIERARCHY]","DROP WORK {ACTION | CLASS} SET","DROP WORKLOAD","DROP WRAPPER","DROP XSROBJECT","END DECLARE SECTION","EXECUTE [IMMEDIATE]","EXPLAIN {PLAN [SECTION] | ALL}","FETCH [FROM]","FLUSH {BUFFERPOOL | BUFFERPOOLS} ALL","FLUSH EVENT MONITOR","FLUSH FEDERATED CACHE","FLUSH OPTIMIZATION PROFILE CACHE","FLUSH PACKAGE CACHE [DYNAMIC]","FLUSH AUTHENTICATION CACHE [FOR ALL]","FREE LOCATOR","GET DIAGNOSTICS","GOTO","GRANT","INCLUDE","ITERATE","LEAVE","LOCK TABLE","LOOP","OPEN","PIPE","PREPARE","REFRESH TABLE","RELEASE","RELEASE [TO] SAVEPOINT","RENAME [TABLE | INDEX | STOGROUP | TABLESPACE]","REPEAT","RESIGNAL","RETURN","REVOKE","ROLLBACK [WORK] [TO SAVEPOINT]","SAVEPOINT","SET COMPILATION ENVIRONMENT","SET CONNECTION","SET CURRENT","SET ENCRYPTION PASSWORD","SET EVENT MONITOR STATE","SET INTEGRITY","SET PASSTHRU","SET PATH","SET ROLE","SET SCHEMA","SET SERVER OPTION","SET {SESSION AUTHORIZATION | SESSION_USER}","SET USAGE LIST","SIGNAL","TRANSFER OWNERSHIP OF","WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}","WHILE"]),gWi=Fji(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),mWi=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),fWi=Fji(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),vWi={name:"db2",tokenizerOptions:{reservedSelect:uWi,reservedClauses:[...dWi,...hWi,...pWi],reservedSetOperations:gWi,reservedJoins:mWi,reservedPhrases:fWi,reservedKeywords:["ACTIVATE","ADD","AFTER","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","AND","ANY","AS","ASENSITIVE","ASSOCIATE","ASUTIME","AT","ATTRIBUTES","AUDIT","AUTHORIZATION","AUX","AUXILIARY","BEFORE","BEGIN","BETWEEN","BINARY","BUFFERPOOL","BY","CACHE","CALL","CALLED","CAPTURE","CARDINALITY","CASCADED","CASE","CAST","CHECK","CLONE","CLOSE","CLUSTER","COLLECTION","COLLID","COLUMN","COMMENT","COMMIT","CONCAT","CONDITION","CONNECT","CONNECTION","CONSTRAINT","CONTAINS","CONTINUE","COUNT","COUNT_BIG","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_LC_CTYPE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","CURSOR","CYCLE","DATA","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEALLOCATE","DECLARE","DEFAULT","DEFAULTS","DEFINITION","DELETE","DENSERANK","DENSE_RANK","DESCRIBE","DESCRIPTOR","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DROP","DSSIZE","DYNAMIC","EACH","EDITPROC","ELSE","ELSEIF","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ERASE","ESCAPE","EVERY","EXCEPT","EXCEPTION","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXPLAIN","EXTENDED","EXTERNAL","EXTRACT","FENCED","FETCH","FIELDPROC","FILE","FINAL","FIRST1","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANT","GRAPHIC","GROUP","HANDLER","HASH","HASHED_VALUE","HAVING","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IMMEDIATE","IMPORT","IN","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDICATOR","INDICATORS","INF","INFINITY","INHERIT","INNER","INOUT","INSENSITIVE","INSERT","INTEGRITY","INTERSECT","INTO","IS","ISNULL","ISOBID","ISOLATION","ITERATE","JAR","JAVA","JOIN","KEEP","KEY","LABEL","LANGUAGE","LAST3","LATERAL","LC_CTYPE","LEAVE","LEFT","LIKE","LIMIT","LINKTYPE","LOCAL","LOCALDATE","LOCALE","LOCALTIME","LOCALTIMESTAMP","LOCATOR","LOCATORS","LOCK","LOCKMAX","LOCKSIZE","LOOP","MAINTAINED","MATERIALIZED","MAXVALUE","MICROSECOND","MICROSECONDS","MINUTE","MINUTES","MINVALUE","MODE","MODIFIES","MONTH","MONTHS","NAN","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZED","NOT2","NOTNULL","NULL","NULLS","NUMPARTS","OBID","OF","OFF","OFFSET","OLD","OLD_TABLE","ON","OPEN","OPTIMIZATION","OPTIMIZE","OPTION","OR","ORDER","OUT","OUTER","OVER","OVERRIDING","PACKAGE","PADDED","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSWORD","PATH","PERCENT","PIECESIZE","PLAN","POSITION","PRECISION","PREPARE","PREVVAL","PRIMARY","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PSID","PUBLIC","QUERY","QUERYNO","RANGE","RANK","READ","READS","RECOVERY","REFERENCES","REFERENCING","REFRESH","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESTRICT","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNS","REVOKE","RIGHT","ROLE","ROLLBACK","ROUND_CEILING","ROUND_DOWN","ROUND_FLOOR","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_UP","ROUND_UP","ROUTINE","ROW","ROWNUMBER","ROWS","ROWSET","ROW_NUMBER","RRN","RUN","SAVEPOINT","SCHEMA","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURITY","SELECT","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SET","SIGNAL","SIMPLE","SNAN","SOME","SOURCE","SPECIFIC","SQL","SQLID","STACKED","STANDARD","START","STARTING","STATEMENT","STATIC","STATMENT","STAY","STOGROUP","STORES","STYLE","SUBSTRING","SUMMARY","SYNONYM","SYSFUN","SYSIBM","SYSPROC","SYSTEM","SYSTEM_USER","TABLE","TABLESPACE","THEN","TO","TRANSACTION","TRIGGER","TRIM","TRUNCATE","TYPE","UNDO","UNION","UNIQUE","UNTIL","UPDATE","USAGE","USER","USING","VALIDPROC","VALUE","VALUES","VARIABLE","VARIANT","VCAT","VERSION","VIEW","VOLATILE","VOLUMES","WHEN","WHENEVER","WHERE","WHILE","WITH","WITHOUT","WLM","WRITE","XMLELEMENT","XMLEXISTS","XMLNAMESPACES","YEAR","YEARS"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BLOB","BOOLEAN","CCSID","CHAR","CHARACTER","CLOB","DATE","DATETIME","DBCLOB","DEC","DECIMAL","DOUBLE","DOUBLE PRECISION","FLOAT","FLOAT4","FLOAT8","GRAPHIC","INT","INT2","INT4","INT8","INTEGER","INTERVAL","LONG VARCHAR","LONG VARGRAPHIC","NCHAR","NCHR","NCLOB","NVARCHAR","NUMERIC","SMALLINT","REAL","TIME","TIMESTAMP","VARBINARY","VARCHAR","VARGRAPHIC"],reservedFunctionNames:["ARRAY_AGG","AVG","CORRELATION","COUNT","COUNT_BIG","COVARIANCE","COVARIANCE_SAMP","CUME_DIST","GROUPING","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_ICPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV","STDDEV_SAMP","SUM","VARIANCE","VARIANCE_SAMP","XMLAGG","XMLGROUP","ABS","ABSVAL","ACOS","ADD_DAYS","ADD_HOURS","ADD_MINUTES","ADD_MONTHS","ADD_SECONDS","ADD_YEARS","AGE","ARRAY_DELETE","ARRAY_FIRST","ARRAY_LAST","ARRAY_NEXT","ARRAY_PRIOR","ASCII","ASCII_STR","ASIN","ATAN","ATAN2","ATANH","BITAND","BITANDNOT","BITOR","BITXOR","BITNOT","BPCHAR","BSON_TO_JSON","BTRIM","CARDINALITY","CEILING","CEIL","CHARACTER_LENGTH","CHR","COALESCE","COLLATION_KEY","COLLATION_KEY_BIT","COMPARE_DECFLOAT","CONCAT","COS","COSH","COT","CURSOR_ROWCOUNT","DATAPARTITIONNUM","DATE_PART","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFWEEK_ISO","DAYOFYEAR","DAYS","DAYS_BETWEEN","DAYS_TO_END_OF_MONTH","DBPARTITIONNUM","DECFLOAT","DECFLOAT_FORMAT","DECODE","DECRYPT_BIN","DECRYPT_CHAR","DEGREES","DEREF","DIFFERENCE","DIGITS","DOUBLE_PRECISION","EMPTY_BLOB","EMPTY_CLOB","EMPTY_DBCLOB","EMPTY_NCLOB","ENCRYPT","EVENT_MON_STATE","EXP","EXTRACT","FIRST_DAY","FLOOR","FROM_UTC_TIMESTAMP","GENERATE_UNIQUE","GETHINT","GREATEST","HASH","HASH4","HASH8","HASHEDVALUE","HEX","HEXTORAW","HOUR","HOURS_BETWEEN","IDENTITY_VAL_LOCAL","IFNULL","INITCAP","INSERT","INSTR","INSTR2","INSTR4","INSTRB","INTNAND","INTNOR","INTNXOR","INTNNOT","ISNULL","JSON_ARRAY","JSON_OBJECT","JSON_QUERY","JSON_TO_BSON","JSON_VALUE","JULIAN_DAY","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LENGTH2","LENGTH4","LENGTHB","LN","LOCATE","LOCATE_IN_STRING","LOG10","LONG_VARCHAR","LONG_VARGRAPHIC","LOWER","LPAD","LTRIM","MAX","MAX_CARDINALITY","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MINUTES_BETWEEN","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","MULTIPLY_ALT","NEXT_DAY","NEXT_MONTH","NEXT_QUARTER","NEXT_WEEK","NEXT_YEAR","NORMALIZE_DECFLOAT","NOW","NULLIF","NVL","NVL2","OCTET_LENGTH","OVERLAY","PARAMETER","POSITION","POSSTR","POW","POWER","QUANTIZE","QUARTER","QUOTE_IDENT","QUOTE_LITERAL","RADIANS","RAISE_ERROR","RAND","RANDOM","RAWTOHEX","REC2XML","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_MATCH_COUNT","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RID_BIT","RIGHT","ROUND","ROUND_TIMESTAMP","RPAD","RTRIM","SECLABEL","SECLABEL_BY_NAME","SECLABEL_TO_CHAR","SECOND","SECONDS_BETWEEN","SIGN","SIN","SINH","SOUNDEX","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTR2","SUBSTR4","SUBSTRB","SUBSTRING","TABLE_NAME","TABLE_SCHEMA","TAN","TANH","THIS_MONTH","THIS_QUARTER","THIS_WEEK","THIS_YEAR","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMPDIFF","TIMEZONE","TO_CHAR","TO_CLOB","TO_DATE","TO_HEX","TO_MULTI_BYTE","TO_NCHAR","TO_NCLOB","TO_NUMBER","TO_SINGLE_BYTE","TO_TIMESTAMP","TO_UTC_TIMESTAMP","TOTALORDER","TRANSLATE","TRIM","TRIM_ARRAY","TRUNC_TIMESTAMP","TRUNCATE","TRUNC","TYPE_ID","TYPE_NAME","TYPE_SCHEMA","UCASE","UNICODE_STR","UPPER","VALUE","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT","VARCHAR_FORMAT_BIT","VERIFY_GROUP_FOR_USER","VERIFY_ROLE_FOR_USER","VERIFY_TRUSTED_CONTEXT_ROLE_FOR_USER","WEEK","WEEK_ISO","WEEKS_BETWEEN","WIDTH_BUCKET","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLQUERY","XMLROW","XMLSERIALIZE","XMLTEXT","XMLVALIDATE","XMLXSROBJECTID","XSLTRANSFORM","YEAR","YEARS_BETWEEN","YMD_BETWEEN","BASE_TABLE","JSON_TABLE","UNNEST","XMLTABLE","RANK","DENSE_RANK","NTILE","LAG","LEAD","ROW_NUMBER","FIRST_VALUE","LAST_VALUE","NTH_VALUE","RATIO_TO_REPORT","CAST"],extraParens:["[]"],stringTypes:[{quote:"''-qq",prefixes:["G","N","U&"]},{quote:"''-raw",prefixes:["X","BX","GX","UX"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{first:"@#$",rest:"@#$"},paramTypes:{positional:!0,named:[":"]},paramChars:{first:"@#$",rest:"@#$"},operators:["**","%","|","&","^","~","¬=","¬>","¬<","!>","!<","^=","^>","^<","||","->","=>"]},formatOptions:{onelineClauses:[...hWi,...pWi],tabularOnelineClauses:pWi}},yWi=Fji(["SELECT [ALL | DISTINCT]"]),bWi=Fji(["WITH [RECURSIVE]","INTO","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER [SIBLINGS] BY [INPUT SEQUENCE]","LIMIT","OFFSET","FETCH {FIRST | NEXT}","FOR UPDATE [OF]","FOR READ ONLY","OPTIMIZE FOR","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","DELETE","INSERT","FOR SYSTEM NAME"]),_Wi=Fji(["CREATE [OR REPLACE] TABLE"]),CWi=Fji(["CREATE [OR REPLACE] [RECURSIVE] VIEW","UPDATE","WHERE CURRENT OF","WITH {NC | RR | RS | CS | UR}","DELETE FROM","DROP TABLE","ALTER TABLE","ADD [COLUMN]","ALTER [COLUMN]","DROP [COLUMN]","SET DATA TYPE","SET {GENERATED ALWAYS | GENERATED BY DEFAULT}","SET NOT NULL","SET {NOT HIDDEN | IMPLICITLY HIDDEN}","SET FIELDPROC","DROP {DEFAULT | NOT NULL | GENERATED | IDENTITY | ROW CHANGE TIMESTAMP | FIELDPROC}","TRUNCATE [TABLE]","SET [CURRENT] SCHEMA","SET CURRENT_SCHEMA","ALLOCATE CURSOR","ALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL] SQL","ALTER [SPECIFIC] {FUNCTION | PROCEDURE}","ALTER {MASK | PERMISSION | SEQUENCE | TRIGGER}","ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PARAMETER | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}","COMMENT ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}","COMMENT ON PARAMETER SPECIFIC {FUNCTION | PROCEDURE | ROUTINE}","COMMENT ON [TABLE FUNCTION] RETURN COLUMN","COMMENT ON [TABLE FUNCTION] RETURN COLUMN SPECIFIC [PROCEDURE | ROUTINE]","COMMIT [WORK] [HOLD]","CONNECT [TO | RESET] USER","CREATE [OR REPLACE] {ALIAS | FUNCTION | MASK | PERMISSION | PROCEDURE | SEQUENCE | TRIGGER | VARIABLE}","CREATE [ENCODED VECTOR] INDEX","CREATE UNIQUE [WHERE NOT NULL] INDEX","CREATE SCHEMA","CREATE TYPE","DEALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL]","DECLARE CURSOR","DECLARE GLOBAL TEMPORARY TABLE","DECLARE","DESCRIBE CURSOR","DESCRIBE INPUT","DESCRIBE [OUTPUT]","DESCRIBE {PROCEDURE | ROUTINE}","DESCRIBE TABLE","DISCONNECT ALL [SQL]","DISCONNECT [CURRENT]","DROP {ALIAS | INDEX | MASK | PACKAGE | PERMISSION | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT} [IF EXISTS]","DROP [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE} [IF EXISTS]","END DECLARE SECTION","EXECUTE [IMMEDIATE]","FREE LOCATOR","GET [SQL] DESCRIPTOR [LOCAL | GLOBAL]","GET [CURRENT | STACKED] DIAGNOSTICS","GRANT {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}","HOLD LOCATOR","INCLUDE","LABEL ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}","LABEL ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}","LOCK TABLE","OPEN","PREPARE","REFRESH TABLE","RELEASE","RELEASE [TO] SAVEPOINT","RENAME [TABLE | INDEX] TO","REVOKE {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}","ROLLBACK [WORK] [HOLD | TO SAVEPOINT]","SAVEPOINT","SET CONNECTION","SET CURRENT {DEBUG MODE | DECFLOAT ROUNDING MODE | DEGREE | IMPLICIT XMLPARSE OPTION | TEMPORAL SYSTEM_TIME}","SET [SQL] DESCRIPTOR [LOCAL | GLOBAL]","SET ENCRYPTION PASSWORD","SET OPTION","SET {[CURRENT [FUNCTION]] PATH | CURRENT_PATH}","SET RESULT SETS [WITH RETURN [TO CALLER | TO CLIENT]]","SET SESSION AUTHORIZATION","SET SESSION_USER","SET TRANSACTION","SIGNAL SQLSTATE [VALUE]","TAG","TRANSFER OWNERSHIP OF","WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}"]),SWi=Fji(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),wWi=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT | RIGHT] EXCEPTION JOIN","{INNER | CROSS} JOIN"]),EWi=Fji(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),xWi={name:"db2i",tokenizerOptions:{reservedSelect:yWi,reservedClauses:[...bWi,..._Wi,...CWi],reservedSetOperations:SWi,reservedJoins:wWi,reservedPhrases:EWi,reservedKeywords:["ABSENT","ACCORDING","ACCTNG","ACTION","ACTIVATE","ADD","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","AND","ANY","APPEND","APPLNAME","ARRAY","ARRAY_AGG","ARRAY_TRIM","AS","ASC","ASENSITIVE","ASSOCIATE","ATOMIC","ATTACH","ATTRIBUTES","AUTHORIZATION","AUTONOMOUS","BEFORE","BEGIN","BETWEEN","BIND","BSON","BUFFERPOOL","BY","CACHE","CALL","CALLED","CARDINALITY","CASE","CAST","CHECK","CL","CLOSE","CLUSTER","COLLECT","COLLECTION","COLUMN","COMMENT","COMMIT","COMPACT","COMPARISONS","COMPRESS","CONCAT","CONCURRENT","CONDITION","CONNECT","CONNECT_BY_ROOT","CONNECTION","CONSTANT","CONSTRAINT","CONTAINS","CONTENT","CONTINUE","COPY","COUNT","COUNT_BIG","CREATE","CREATEIN","CROSS","CUBE","CUME_DIST","CURRENT","CURRENT_DATE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","CURSOR","CYCLE","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEACTIVATE","DEALLOCATE","DECLARE","DEFAULT","DEFAULTS","DEFER","DEFINE","DEFINITION","DELETE","DELETING","DENSE_RANK","DENSERANK","DESC","DESCRIBE","DESCRIPTOR","DETACH","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DROP","DYNAMIC","EACH","ELSE","ELSEIF","EMPTY","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ENFORCED","ERROR","ESCAPE","EVERY","EXCEPT","EXCEPTION","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTEND","EXTERNAL","EXTRACT","FALSE","FENCED","FETCH","FIELDPROC","FILE","FINAL","FIRST_VALUE","FOR","FOREIGN","FORMAT","FREE","FREEPAGE","FROM","FULL","FUNCTION","GBPCACHE","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANT","GROUP","HANDLER","HASH","HASH_ROW","HASHED_VALUE","HAVING","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IGNORE","IMMEDIATE","IMPLICITLY","IN","INCLUDE","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDEXBP","INDICATOR","INF","INFINITY","INHERIT","INLINE","INNER","INOUT","INSENSITIVE","INSERT","INSERTING","INTEGRITY","INTERPRET","INTERSECT","INTO","IS","ISNULL","ISOLATION","ITERATE","JAVA","JOIN","JSON","JSON_ARRAY","JSON_ARRAYAGG","JSON_EXISTS","JSON_OBJECT","JSON_OBJECTAGG","JSON_QUERY","JSON_TABLE","JSON_VALUE","KEEP","KEY","KEYS","LABEL","LAG","LANGUAGE","LAST_VALUE","LATERAL","LEAD","LEAVE","LEFT","LEVEL2","LIKE","LIMIT","LINKTYPE","LISTAGG","LOCAL","LOCALDATE","LOCALTIME","LOCALTIMESTAMP","LOCATION","LOCATOR","LOCK","LOCKSIZE","LOG","LOGGED","LOOP","MAINTAINED","MASK","MATCHED","MATERIALIZED","MAXVALUE","MERGE","MICROSECOND","MICROSECONDS","MINPCTUSED","MINUTE","MINUTES","MINVALUE","MIRROR","MIXED","MODE","MODIFIES","MONTH","MONTHS","NAMESPACE","NAN","NATIONAL","NCHAR","NCLOB","NESTED","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZED","NOT","NOTNULL","NTH_VALUE","NTILE","NULL","NULLS","NVARCHAR","OBID","OBJECT","OF","OFF","OFFSET","OLD","OLD_TABLE","OMIT","ON","ONLY","OPEN","OPTIMIZE","OPTION","OR","ORDER","ORDINALITY","ORGANIZE","OUT","OUTER","OVER","OVERLAY","OVERRIDING","PACKAGE","PADDED","PAGE","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSING","PASSWORD","PATH","PCTFREE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PERIOD","PERMISSION","PIECESIZE","PIPE","PLAN","POSITION","PREPARE","PREVVAL","PRIMARY","PRIOR","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PROGRAMID","QUERY","RANGE","RANK","RATIO_TO_REPORT","RCDFMT","READ","READS","RECOVERY","REFERENCES","REFERENCING","REFRESH","REGEXP_LIKE","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNING","RETURNS","REVOKE","RID","RIGHT","ROLLBACK","ROLLUP","ROUTINE","ROW","ROW_NUMBER","ROWNUMBER","ROWS","RRN","RUN","SAVEPOINT","SBCS","SCALAR","SCHEMA","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURED","SELECT","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SET","SIGNAL","SIMPLE","SKIP","SNAN","SOME","SOURCE","SPECIFIC","SQL","SQLID","SQLIND_DEFAULT","SQLIND_UNASSIGNED","STACKED","START","STARTING","STATEMENT","STATIC","STOGROUP","SUBSTRING","SUMMARY","SYNONYM","SYSTEM_TIME","SYSTEM_USER","TABLE","TABLESPACE","TABLESPACES","TAG","THEN","THREADSAFE","TO","TRANSACTION","TRANSFER","TRIGGER","TRIM","TRIM_ARRAY","TRUE","TRUNCATE","TRY_CAST","TYPE","UNDO","UNION","UNIQUE","UNIT","UNKNOWN","UNNEST","UNTIL","UPDATE","UPDATING","URI","USAGE","USE","USER","USERID","USING","VALUE","VALUES","VARIABLE","VARIANT","VCAT","VERSION","VERSIONING","VIEW","VOLATILE","WAIT","WHEN","WHENEVER","WHERE","WHILE","WITH","WITHIN","WITHOUT","WRAPPED","WRAPPER","WRITE","WRKSTNNAME","XMLAGG","XMLATTRIBUTES","XMLCAST","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLGROUP","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROW","XMLSERIALIZE","XMLTABLE","XMLTEXT","XMLVALIDATE","XSLTRANSFORM","XSROBJECT","YEAR","YEARS","YES","ZONE"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BIT","BLOB","BOOLEAN","CCSID","CHAR","CHARACTER","CLOB","DATA","DATALINK","DATE","DBCLOB","DECFLOAT","DECIMAL","DEC","DOUBLE","DOUBLE PRECISION","FLOAT","GRAPHIC","INT","INTEGER","LONG","NUMERIC","REAL","ROWID","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR","VARGRAPHIC","XML"],reservedFunctionNames:["ARRAY_AGG","AVG","CORR","CORRELATION","COUNT","COUNT_BIG","COVAR_POP","COVARIANCE","COVAR","COVAR_SAMP","COVARIANCE_SAMP","EVERY","GROUPING","JSON_ARRAYAGG","JSON_OBJECTAGG","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","SOME","STDDEV_POP","STDDEV","STDDEV_SAMP","SUM","VAR_POP","VARIANCE","VAR","VAR_SAMP","VARIANCE_SAMP","XMLAGG","XMLGROUP","ABS","ABSVAL","ACOS","ADD_DAYS","ADD_HOURS","ADD_MINUTES","ADD_MONTHS","ADD_SECONDS","ADD_YEARS","ANTILOG","ARRAY_MAX_CARDINALITY","ARRAY_TRIM","ASCII","ASIN","ATAN","ATAN2","ATANH","BASE64_DECODE","BASE64_ENCODE","BIT_LENGTH","BITAND","BITANDNOT","BITNOT","BITOR","BITXOR","BSON_TO_JSON","CARDINALITY","CEIL","CEILING","CHAR_LENGTH","CHARACTER_LENGTH","CHR","COALESCE","COMPARE_DECFLOAT","CONCAT","CONTAINS","COS","COSH","COT","CURDATE","CURTIME","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK_ISO","DAYOFWEEK","DAYOFYEAR","DAYS","DBPARTITIONNAME","DBPARTITIONNUM","DECFLOAT_FORMAT","DECFLOAT_SORTKEY","DECRYPT_BINARY","DECRYPT_BIT","DECRYPT_CHAR","DECRYPT_DB","DEGREES","DIFFERENCE","DIGITS","DLCOMMENT","DLLINKTYPE","DLURLCOMPLETE","DLURLPATH","DLURLPATHONLY","DLURLSCHEME","DLURLSERVER","DLVALUE","DOUBLE_PRECISION","DOUBLE","ENCRPYT","ENCRYPT_AES","ENCRYPT_AES256","ENCRYPT_RC2","ENCRYPT_TDES","EXP","EXTRACT","FIRST_DAY","FLOOR","GENERATE_UNIQUE","GET_BLOB_FROM_FILE","GET_CLOB_FROM_FILE","GET_DBCLOB_FROM_FILE","GET_XML_FILE","GETHINT","GREATEST","HASH_MD5","HASH_ROW","HASH_SHA1","HASH_SHA256","HASH_SHA512","HASH_VALUES","HASHED_VALUE","HEX","HEXTORAW","HOUR","HTML_ENTITY_DECODE","HTML_ENTITY_ENCODE","HTTP_DELETE_BLOB","HTTP_DELETE","HTTP_GET_BLOB","HTTP_GET","HTTP_PATCH_BLOB","HTTP_PATCH","HTTP_POST_BLOB","HTTP_POST","HTTP_PUT_BLOB","HTTP_PUT","IDENTITY_VAL_LOCAL","IFNULL","INSERT","INSTR","INTERPRET","ISFALSE","ISNOTFALSE","ISNOTTRUE","ISTRUE","JSON_ARRAY","JSON_OBJECT","JSON_QUERY","JSON_TO_BSON","JSON_UPDATE","JSON_VALUE","JULIAN_DAY","LAND","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LN","LNOT","LOCATE_IN_STRING","LOCATE","LOG10","LOR","LOWER","LPAD","LTRIM","MAX_CARDINALITY","MAX","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","MQREAD","MQREADCLOB","MQRECEIVE","MQRECEIVECLOB","MQSEND","MULTIPLY_ALT","NEXT_DAY","NORMALIZE_DECFLOAT","NOW","NULLIF","NVL","OCTET_LENGTH","OVERLAY","PI","POSITION","POSSTR","POW","POWER","QUANTIZE","QUARTER","RADIANS","RAISE_ERROR","RANDOM","RAND","REGEXP_COUNT","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RIGHT","ROUND_TIMESTAMP","ROUND","RPAD","RRN","RTRIM","SCORE","SECOND","SIGN","SIN","SINH","SOUNDEX","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTRING","TABLE_NAME","TABLE_SCHEMA","TAN","TANH","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMPDIFF_BIG","TIMESTAMPDIFF","TO_CHAR","TO_CLOB","TO_DATE","TO_NUMBER","TO_TIMESTAMP","TOTALORDER","TRANSLATE","TRIM_ARRAY","TRIM","TRUNC_TIMESTAMP","TRUNC","TRUNCATE","UCASE","UPPER","URL_DECODE","URL_ENCODE","VALUE","VARBINARY_FORMAT","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT_BINARY","VARCHAR_FORMAT","VERIFY_GROUP_FOR_USER","WEEK_ISO","WEEK","WRAP","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROW","XMLSERIALIZE","XMLTEXT","XMLVALIDATE","XOR","XSLTRANSFORM","YEAR","ZONED","BASE_TABLE","HTTP_DELETE_BLOB_VERBOSE","HTTP_DELETE_VERBOSE","HTTP_GET_BLOB_VERBOSE","HTTP_GET_VERBOSE","HTTP_PATCH_BLOB_VERBOSE","HTTP_PATCH_VERBOSE","HTTP_POST_BLOB_VERBOSE","HTTP_POST_VERBOSE","HTTP_PUT_BLOB_VERBOSE","HTTP_PUT_VERBOSE","JSON_TABLE","MQREADALL","MQREADALLCLOB","MQRECEIVEALL","MQRECEIVEALLCLOB","XMLTABLE","UNPACK","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","RATIO_TO_REPORT","ROW_NUMBER","CAST"],nestedBlockComments:!0,extraParens:["[]"],stringTypes:[{quote:"''-qq",prefixes:["G","N"]},{quote:"''-raw",prefixes:["X","BX","GX","UX"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{first:"@#$",rest:"@#$"},paramTypes:{positional:!0,named:[":"]},paramChars:{first:"@#$",rest:"@#$"},operators:["**","¬=","¬>","¬<","!>","!<","||","=>"]},formatOptions:{onelineClauses:[..._Wi,...CWi],tabularOnelineClauses:CWi}},TWi=Fji(["SELECT [ALL | DISTINCT]"]),AWi=Fji(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","SORT BY","CLUSTER BY","DISTRIBUTE BY","LIMIT","INSERT INTO [TABLE]","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","INSERT [VALUES]","INSERT OVERWRITE [LOCAL] DIRECTORY","LOAD DATA [LOCAL] INPATH","[OVERWRITE] INTO TABLE"]),RWi=Fji(["CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]"]),NWi=Fji(["CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","RENAME TO","TRUNCATE [TABLE]","ALTER","CREATE","USE","DESCRIBE","DROP","FETCH","SHOW","STORED AS","STORED BY","ROW FORMAT"]),IWi=Fji(["UNION [ALL | DISTINCT]"]),DWi=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),OWi=Fji(["{ROWS | RANGE} BETWEEN"]),kWi={name:"hive",tokenizerOptions:{reservedSelect:TWi,reservedClauses:[...AWi,...RWi,...NWi],reservedSetOperations:IWi,reservedJoins:DWi,reservedPhrases:OWi,reservedKeywords:["ADD","ADMIN","AFTER","ANALYZE","ARCHIVE","ASC","BEFORE","BUCKET","BUCKETS","CASCADE","CHANGE","CLUSTER","CLUSTERED","CLUSTERSTATUS","COLLECTION","COLUMNS","COMMENT","COMPACT","COMPACTIONS","COMPUTE","CONCATENATE","CONTINUE","DATA","DATABASES","DATETIME","DAY","DBPROPERTIES","DEFERRED","DEFINED","DELIMITED","DEPENDENCY","DESC","DIRECTORIES","DIRECTORY","DISABLE","DISTRIBUTE","ELEM_TYPE","ENABLE","ESCAPED","EXCLUSIVE","EXPLAIN","EXPORT","FIELDS","FILE","FILEFORMAT","FIRST","FORMAT","FORMATTED","FUNCTIONS","HOLD_DDLTIME","HOUR","IDXPROPERTIES","IGNORE","INDEX","INDEXES","INPATH","INPUTDRIVER","INPUTFORMAT","ITEMS","JAR","KEYS","KEY_TYPE","LIMIT","LINES","LOAD","LOCATION","LOCK","LOCKS","LOGICAL","LONG","MAPJOIN","MATERIALIZED","METADATA","MINUS","MINUTE","MONTH","MSCK","NOSCAN","NO_DROP","OFFLINE","OPTION","OUTPUTDRIVER","OUTPUTFORMAT","OVERWRITE","OWNER","PARTITIONED","PARTITIONS","PLUS","PRETTY","PRINCIPALS","PROTECTION","PURGE","READ","READONLY","REBUILD","RECORDREADER","RECORDWRITER","RELOAD","RENAME","REPAIR","REPLACE","REPLICATION","RESTRICT","REWRITE","ROLE","ROLES","SCHEMA","SCHEMAS","SECOND","SEMI","SERDE","SERDEPROPERTIES","SERVER","SETS","SHARED","SHOW","SHOW_DATABASE","SKEWED","SORT","SORTED","SSL","STATISTICS","STORED","STREAMTABLE","STRING","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","TINYINT","TOUCH","TRANSACTIONS","UNARCHIVE","UNDO","UNIONTYPE","UNLOCK","UNSET","UNSIGNED","URI","USE","UTC","UTCTIMESTAMP","VALUE_TYPE","VIEW","WHILE","YEAR","AUTOCOMMIT","ISOLATION","LEVEL","OFFSET","SNAPSHOT","TRANSACTION","WORK","WRITE","ABORT","KEY","LAST","NORELY","NOVALIDATE","NULLS","RELY","VALIDATE","DETAIL","DOW","EXPRESSION","OPERATOR","QUARTER","SUMMARY","VECTORIZATION","WEEK","YEARS","MONTHS","WEEKS","DAYS","HOURS","MINUTES","SECONDS","TIMESTAMPTZ","ZONE","ALL","ALTER","AND","AS","AUTHORIZATION","BETWEEN","BOTH","BY","CASE","CAST","COLUMN","CONF","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIMESTAMP","CURSOR","DATABASE","DELETE","DESCRIBE","DISTINCT","DROP","ELSE","END","EXCHANGE","EXISTS","EXTENDED","EXTERNAL","FALSE","FETCH","FOLLOWING","FOR","FROM","FULL","FUNCTION","GRANT","GROUP","GROUPING","HAVING","IF","IMPORT","IN","INNER","INSERT","INTERSECT","INTO","IS","JOIN","LATERAL","LEFT","LESS","LIKE","LOCAL","MACRO","MORE","NONE","NOT","NULL","OF","ON","OR","ORDER","OUT","OUTER","OVER","PARTIALSCAN","PARTITION","PERCENT","PRECEDING","PRESERVE","PROCEDURE","RANGE","READS","REDUCE","REVOKE","RIGHT","ROLLUP","ROW","ROWS","SELECT","SET","TABLE","TABLESAMPLE","THEN","TO","TRANSFORM","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNION","UNIQUEJOIN","UPDATE","USER","USING","UTC_TMESTAMP","VALUES","WHEN","WHERE","WINDOW","WITH","COMMIT","ONLY","REGEXP","RLIKE","ROLLBACK","START","CACHE","CONSTRAINT","FOREIGN","PRIMARY","REFERENCES","DAYOFWEEK","EXTRACT","FLOOR","VIEWS","TIME","SYNC","TEXTFILE","SEQUENCEFILE","ORC","CSV","TSV","PARQUET","AVRO","RCFILE","JSONFILE","INPUTFORMAT","OUTPUTFORMAT"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BOOLEAN","CHAR","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MAP","NUMERIC","PRECISION","SMALLINT","STRUCT","TIMESTAMP","VARCHAR"],reservedFunctionNames:["ABS","ACOS","ASIN","ATAN","BIN","BROUND","CBRT","CEIL","CEILING","CONV","COS","DEGREES","EXP","FACTORIAL","FLOOR","GREATEST","HEX","LEAST","LN","LOG","LOG10","LOG2","NEGATIVE","PI","PMOD","POSITIVE","POW","POWER","RADIANS","RAND","ROUND","SHIFTLEFT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","SIGN","SIN","SQRT","TAN","UNHEX","WIDTH_BUCKET","ARRAY_CONTAINS","MAP_KEYS","MAP_VALUES","SIZE","SORT_ARRAY","BINARY","CAST","ADD_MONTHS","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","QUARTER","SECOND","TIMESTAMP","TO_DATE","TO_UTC_TIMESTAMP","TRUNC","UNIX_TIMESTAMP","WEEKOFYEAR","YEAR","ASSERT_TRUE","COALESCE","IF","ISNOTNULL","ISNULL","NULLIF","NVL","ASCII","BASE64","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONTEXT_NGRAMS","DECODE","ELT","ENCODE","FIELD","FIND_IN_SET","FORMAT_NUMBER","GET_JSON_OBJECT","IN_FILE","INITCAP","INSTR","LCASE","LENGTH","LEVENSHTEIN","LOCATE","LOWER","LPAD","LTRIM","NGRAMS","OCTET_LENGTH","PARSE_URL","PRINTF","QUOTE","REGEXP_EXTRACT","REGEXP_REPLACE","REPEAT","REVERSE","RPAD","RTRIM","SENTENCES","SOUNDEX","SPACE","SPLIT","STR_TO_MAP","SUBSTR","SUBSTRING","TRANSLATE","TRIM","UCASE","UNBASE64","UPPER","MASK","MASK_FIRST_N","MASK_HASH","MASK_LAST_N","MASK_SHOW_FIRST_N","MASK_SHOW_LAST_N","AES_DECRYPT","AES_ENCRYPT","CRC32","CURRENT_DATABASE","CURRENT_USER","HASH","JAVA_METHOD","LOGGED_IN_USER","MD5","REFLECT","SHA","SHA1","SHA2","SURROGATE_KEY","VERSION","AVG","COLLECT_LIST","COLLECT_SET","CORR","COUNT","COVAR_POP","COVAR_SAMP","HISTOGRAM_NUMERIC","MAX","MIN","NTILE","PERCENTILE","PERCENTILE_APPROX","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","EXPLODE","INLINE","JSON_TUPLE","PARSE_URL_TUPLE","POSEXPLODE","STACK","LEAD","LAG","FIRST_VALUE","LAST_VALUE","RANK","ROW_NUMBER","DENSE_RANK","CUME_DIST","PERCENT_RANK","NTILE"],extraParens:["[]"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||"]},formatOptions:{onelineClauses:[...RWi,...NWi],tabularOnelineClauses:NWi}};function LWi(e){return e.map((t,n)=>{const i=e[n+1]||Xji;if(Qji.SET(t)&&"("===i.text)return Mji(Lji({},t),{type:"RESERVED_FUNCTION_NAME"});const r=e[n-1]||Xji;return Qji.VALUES(t)&&"="===r.text?Mji(Lji({},t),{type:"RESERVED_FUNCTION_NAME"}):t})}var MWi=Fji(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),PWi=Fji(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET","RETURNING"]),FWi=Fji(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),BWi=Fji(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER [ONLINE] [IGNORE] TABLE [IF EXISTS]","ADD [COLUMN] [IF NOT EXISTS]","{CHANGE | MODIFY} [COLUMN] [IF EXISTS]","DROP [COLUMN] [IF EXISTS]","RENAME [TO]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","SET {VISIBLE | INVISIBLE}","TRUNCATE [TABLE]","ALTER DATABASE","ALTER DATABASE COMMENT","ALTER EVENT","ALTER FUNCTION","ALTER PROCEDURE","ALTER SCHEMA","ALTER SCHEMA COMMENT","ALTER SEQUENCE","ALTER SERVER","ALTER USER","ALTER VIEW","ANALYZE","ANALYZE TABLE","BACKUP LOCK","BACKUP STAGE","BACKUP UNLOCK","BEGIN","BINLOG","CACHE INDEX","CALL","CHANGE MASTER TO","CHECK TABLE","CHECK VIEW","CHECKSUM TABLE","COMMIT","CREATE AGGREGATE FUNCTION","CREATE DATABASE","CREATE EVENT","CREATE FUNCTION","CREATE INDEX","CREATE PROCEDURE","CREATE ROLE","CREATE SEQUENCE","CREATE SERVER","CREATE SPATIAL INDEX","CREATE TRIGGER","CREATE UNIQUE INDEX","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP EVENT","DROP FUNCTION","DROP INDEX","DROP PREPARE","DROP PROCEDURE","DROP ROLE","DROP SEQUENCE","DROP SERVER","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GET DIAGNOSTICS","GET DIAGNOSTICS CONDITION","GRANT","HANDLER","HELP","INSTALL PLUGIN","INSTALL SONAME","KILL","LOAD DATA INFILE","LOAD INDEX INTO CACHE","LOAD XML INFILE","LOCK TABLE","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","PURGE MASTER LOGS","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","REPAIR VIEW","RESET MASTER","RESET QUERY CACHE","RESET REPLICA","RESET SLAVE","RESIGNAL","REVOKE","ROLLBACK","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET GLOBAL TRANSACTION","SET NAMES","SET PASSWORD","SET ROLE","SET STATEMENT","SET TRANSACTION","SHOW","SHOW ALL REPLICAS STATUS","SHOW ALL SLAVES STATUS","SHOW AUTHORS","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW BINLOG STATUS","SHOW CHARACTER SET","SHOW CLIENT_STATISTICS","SHOW COLLATION","SHOW COLUMNS","SHOW CONTRIBUTORS","SHOW CREATE DATABASE","SHOW CREATE EVENT","SHOW CREATE FUNCTION","SHOW CREATE PACKAGE","SHOW CREATE PACKAGE BODY","SHOW CREATE PROCEDURE","SHOW CREATE SEQUENCE","SHOW CREATE TABLE","SHOW CREATE TRIGGER","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINE INNODB STATUS","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW EXPLAIN","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW INDEXES","SHOW INDEX_STATISTICS","SHOW KEYS","SHOW LOCALES","SHOW MASTER LOGS","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PACKAGE BODY CODE","SHOW PACKAGE BODY STATUS","SHOW PACKAGE STATUS","SHOW PLUGINS","SHOW PLUGINS SONAME","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW QUERY_RESPONSE_TIME","SHOW RELAYLOG EVENTS","SHOW REPLICA","SHOW REPLICA HOSTS","SHOW REPLICA STATUS","SHOW SCHEMAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW SLAVE STATUS","SHOW STATUS","SHOW STORAGE ENGINES","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW USER_STATISTICS","SHOW VARIABLES","SHOW WARNINGS","SHOW WSREP_MEMBERSHIP","SHOW WSREP_STATUS","SHUTDOWN","SIGNAL","START ALL REPLICAS","START ALL SLAVES","START REPLICA","START SLAVE","START TRANSACTION","STOP ALL REPLICAS","STOP ALL SLAVES","STOP REPLICA","STOP SLAVE","UNINSTALL PLUGIN","UNINSTALL SONAME","UNLOCK TABLE","USE","XA BEGIN","XA COMMIT","XA END","XA PREPARE","XA RECOVER","XA ROLLBACK","XA START"]),VWi=Fji(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),UWi=Fji(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),GWi=Fji(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),HWi={name:"mariadb",tokenizerOptions:{reservedSelect:MWi,reservedClauses:[...PWi,...FWi,...BWi],reservedSetOperations:VWi,reservedJoins:UWi,reservedPhrases:GWi,supportsXor:!0,reservedKeywords:["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DELETE_DOMAIN_ID","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DO_DOMAIN_IDS","DROP","DUAL","EACH","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERAL","GRANT","GROUP","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IGNORE_DOMAIN_IDS","IGNORE_SERVER_IDS","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","INTERSECT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LOOP","LOW_PRIORITY","MASTER_HEARTBEAT_PERIOD","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL","OFFSET","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PAGE_CHECKSUM","PARSE_VCOL_EXPR","PARTITION","POSITION","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","READ_WRITE","RECURSIVE","REF_SYSTEM_ID","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","RETURNING","REVOKE","RIGHT","RLIKE","ROW_NUMBER","ROWS","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SLOW","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STATS_AUTO_RECALC","STATS_PERSISTENT","STATS_SAMPLE_PAGES","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","CHAR BYTE","CHAR","CHARACTER","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONG","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],reservedFunctionNames:["ADDDATE","ADD_MONTHS","BIT_AND","BIT_OR","BIT_XOR","CAST","COUNT","CUME_DIST","CURDATE","CURTIME","DATE_ADD","DATE_SUB","DATE_FORMAT","DECODE","DENSE_RANK","EXTRACT","FIRST_VALUE","GROUP_CONCAT","JSON_ARRAYAGG","JSON_OBJECTAGG","LAG","LEAD","MAX","MEDIAN","MID","MIN","NOW","NTH_VALUE","NTILE","POSITION","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","ROW_NUMBER","SESSION_USER","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUBDATE","SUBSTR","SUBSTRING","SUM","SYSTEM_USER","TRIM","TRIM_ORACLE","VARIANCE","VAR_POP","VAR_SAMP","ABS","ACOS","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ASIN","ATAN","ATAN2","BENCHMARK","BIN","BINLOG_GTID_POS","BIT_COUNT","BIT_LENGTH","CEIL","CEILING","CHARACTER_LENGTH","CHAR_LENGTH","CHR","COERCIBILITY","COLUMN_CHECK","COLUMN_EXISTS","COLUMN_LIST","COLUMN_JSON","COMPRESS","CONCAT","CONCAT_OPERATOR_ORACLE","CONCAT_WS","CONNECTION_ID","CONV","CONVERT_TZ","COS","COT","CRC32","DATEDIFF","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DEGREES","DECODE_HISTOGRAM","DECODE_ORACLE","DES_DECRYPT","DES_ENCRYPT","ELT","ENCODE","ENCRYPT","EXP","EXPORT_SET","EXTRACTVALUE","FIELD","FIND_IN_SET","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GET_LOCK","GREATEST","HEX","IFNULL","INSTR","ISNULL","IS_FREE_LOCK","IS_USED_LOCK","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_COMPACT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_DETAILED","JSON_EXISTS","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_LOOSE","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_QUERY","JSON_QUOTE","JSON_OBJECT","JSON_REMOVE","JSON_REPLACE","JSON_SET","JSON_SEARCH","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","JSON_VALUE","LAST_DAY","LAST_INSERT_ID","LCASE","LEAST","LENGTH","LENGTHB","LN","LOAD_FILE","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LPAD_ORACLE","LTRIM","LTRIM_ORACLE","MAKEDATE","MAKETIME","MAKE_SET","MASTER_GTID_WAIT","MASTER_POS_WAIT","MD5","MONTHNAME","NAME_CONST","NVL","NVL2","OCT","OCTET_LENGTH","ORD","PERIOD_ADD","PERIOD_DIFF","PI","POW","POWER","QUOTE","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","RADIANS","RAND","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPLACE_ORACLE","REVERSE","ROUND","RPAD","RPAD_ORACLE","RTRIM","RTRIM_ORACLE","SEC_TO_TIME","SHA","SHA1","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SPACE","SQRT","STRCMP","STR_TO_DATE","SUBSTR_ORACLE","SUBSTRING_INDEX","SUBTIME","SYS_GUID","TAN","TIMEDIFF","TIME_FORMAT","TIME_TO_SEC","TO_BASE64","TO_CHAR","TO_DAYS","TO_SECONDS","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UUID","UUID_SHORT","VERSION","WEEKDAY","WEEKOFYEAR","WSREP_LAST_WRITTEN_GTID","WSREP_LAST_SEEN_GTID","WSREP_SYNC_WAIT_UPTO_GTID","YEARWEEK","COALESCE","NULLIF"],stringTypes:['""-qq-bs',"''-qq-bs",{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","&&","||","!","*.*"],postProcess:LWi},formatOptions:{onelineClauses:[...FWi,...BWi],tabularOnelineClauses:BWi}},zWi=Fji(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),jWi=Fji(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET"]),WWi=Fji(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),$Wi=Fji(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","{CHANGE | MODIFY} [COLUMN]","DROP [COLUMN]","RENAME [TO | AS]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","TRUNCATE [TABLE]","ALTER DATABASE","ALTER EVENT","ALTER FUNCTION","ALTER INSTANCE","ALTER LOGFILE GROUP","ALTER PROCEDURE","ALTER RESOURCE GROUP","ALTER SERVER","ALTER TABLESPACE","ALTER USER","ALTER VIEW","ANALYZE TABLE","BINLOG","CACHE INDEX","CALL","CHANGE MASTER TO","CHANGE REPLICATION FILTER","CHANGE REPLICATION SOURCE TO","CHECK TABLE","CHECKSUM TABLE","CLONE","COMMIT","CREATE DATABASE","CREATE EVENT","CREATE FUNCTION","CREATE FUNCTION","CREATE INDEX","CREATE LOGFILE GROUP","CREATE PROCEDURE","CREATE RESOURCE GROUP","CREATE ROLE","CREATE SERVER","CREATE SPATIAL REFERENCE SYSTEM","CREATE TABLESPACE","CREATE TRIGGER","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP EVENT","DROP FUNCTION","DROP FUNCTION","DROP INDEX","DROP LOGFILE GROUP","DROP PROCEDURE","DROP RESOURCE GROUP","DROP ROLE","DROP SERVER","DROP SPATIAL REFERENCE SYSTEM","DROP TABLESPACE","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GRANT","HANDLER","HELP","IMPORT TABLE","INSTALL COMPONENT","INSTALL PLUGIN","KILL","LOAD DATA","LOAD INDEX INTO CACHE","LOAD XML","LOCK INSTANCE FOR BACKUP","LOCK TABLES","MASTER_POS_WAIT","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","RESET","RESET MASTER","RESET PERSIST","RESET REPLICA","RESET SLAVE","RESTART","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE EVENT","SHOW CREATE FUNCTION","SHOW CREATE PROCEDURE","SHOW CREATE TABLE","SHOW CREATE TRIGGER","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW RELAYLOG EVENTS","SHOW REPLICA STATUS","SHOW REPLICAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW VARIABLES","SHOW WARNINGS","SHUTDOWN","SOURCE_POS_WAIT","START GROUP_REPLICATION","START REPLICA","START SLAVE","START TRANSACTION","STOP GROUP_REPLICATION","STOP REPLICA","STOP SLAVE","TABLE","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","USE","XA","ITERATE","LEAVE","LOOP","REPEAT","RETURN","WHILE"]),qWi=Fji(["UNION [ALL | DISTINCT]"]),YWi=Fji(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),KWi=Fji(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),XWi={name:"mysql",tokenizerOptions:{reservedSelect:zWi,reservedClauses:[...jWi,...WWi,...$Wi],reservedSetOperations:qWi,reservedJoins:YWi,reservedPhrases:KWi,supportsXor:!0,reservedKeywords:["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CUBE","CUME_DIST","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DENSE_RANK","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DROP","DUAL","EACH","ELSE","ELSEIF","EMPTY","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FIRST_VALUE","FOR","FORCE","FOREIGN","FROM","FULLTEXT","FUNCTION","GENERATED","GET","GRANT","GROUP","GROUPING","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","IN","INTERSECT","INTERVAL","INTO","IO_AFTER_GTIDS","IO_BEFORE_GTIDS","IS","ITERATE","JOIN","JSON_TABLE","KEY","KEYS","KILL","LAG","LAST_VALUE","LATERAL","LEAD","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LOOP","LOW_PRIORITY","MASTER_BIND","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NTH_VALUE","NTILE","NULL","OF","ON","OPTIMIZE","OPTIMIZER_COSTS","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PERCENT_RANK","PRIMARY","PROCEDURE","PURGE","RANGE","RANK","READ","READS","READ_WRITE","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","REVOKE","RIGHT","RLIKE","ROW","ROWS","ROW_NUMBER","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STORED","STRAIGHT_JOIN","SYSTEM","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","BOOL","BOOLEAN","CHAR","CHARACTER","DATE","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],reservedFunctionNames:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","ASCII","ASIN","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIN_TO_UUID","BINARY","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","CAN_ACCESS_COLUMN","CAN_ACCESS_DATABASE","CAN_ACCESS_TABLE","CAN_ACCESS_USER","CAN_ACCESS_VIEW","CAST","CEIL","CEILING","CHAR","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CRC32","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DEFAULT","DEGREES","DENSE_RANK","DIV","ELT","EXP","EXPORT_SET","EXTRACT","EXTRACTVALUE","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_PICO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEOMCOLLECTION","GEOMETRYCOLLECTION","GET_DD_COLUMN_PRIVILEGES","GET_DD_CREATE_OPTIONS","GET_DD_INDEX_SUB_PART_LENGTH","GET_FORMAT","GET_LOCK","GREATEST","GROUP_CONCAT","GROUPING","GTID_SUBSET","GTID_SUBTRACT","HEX","HOUR","ICU_VERSION","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INSERT","INSTR","INTERNAL_AUTO_INCREMENT","INTERNAL_AVG_ROW_LENGTH","INTERNAL_CHECK_TIME","INTERNAL_CHECKSUM","INTERNAL_DATA_FREE","INTERNAL_DATA_LENGTH","INTERNAL_DD_CHAR_LENGTH","INTERNAL_GET_COMMENT_OR_ERROR","INTERNAL_GET_ENABLED_ROLE_JSON","INTERNAL_GET_HOSTNAME","INTERNAL_GET_USERNAME","INTERNAL_GET_VIEW_WARNING_OR_ERROR","INTERNAL_INDEX_COLUMN_CARDINALITY","INTERNAL_INDEX_LENGTH","INTERNAL_IS_ENABLED_ROLE","INTERNAL_IS_MANDATORY_ROLE","INTERNAL_KEYS_DISABLED","INTERNAL_MAX_DATA_LENGTH","INTERNAL_TABLE_ROWS","INTERNAL_UPDATE_TIME","INTERVAL","IS","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS NOT","IS NOT NULL","IS NULL","IS_USED_LOCK","IS_UUID","ISNULL","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_ARRAYAGG","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SCHEMA_VALID","JSON_SCHEMA_VALIDATION_REPORT","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TABLE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","JSON_VALUE","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LCASE","LEAD","LEAST","LEFT","LENGTH","LIKE","LINESTRING","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MATCH","MAX","MBRCONTAINS","MBRCOVEREDBY","MBRCOVERS","MBRDISJOINT","MBREQUALS","MBRINTERSECTS","MBROVERLAPS","MBRTOUCHES","MBRWITHIN","MD5","MEMBER OF","MICROSECOND","MID","MIN","MINUTE","MOD","MONTH","MONTHNAME","MULTILINESTRING","MULTIPOINT","MULTIPOLYGON","NAME_CONST","NOT","NOT IN","NOT LIKE","NOT REGEXP","NOW","NTH_VALUE","NTILE","NULLIF","OCT","OCTET_LENGTH","ORD","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","POINT","POLYGON","POSITION","POW","POWER","PS_CURRENT_THREAD_ID","PS_THREAD_ID","QUARTER","QUOTE","RADIANS","RAND","RANDOM_BYTES","RANK","REGEXP","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPEAT","REPLACE","REVERSE","RIGHT","RLIKE","ROLES_GRAPHML","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SHA1","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SOUNDS LIKE","SOURCE_POS_WAIT","SPACE","SQRT","ST_AREA","ST_ASBINARY","ST_ASGEOJSON","ST_ASTEXT","ST_BUFFER","ST_BUFFER_STRATEGY","ST_CENTROID","ST_COLLECT","ST_CONTAINS","ST_CONVEXHULL","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DISTANCE_SPHERE","ST_ENDPOINT","ST_ENVELOPE","ST_EQUALS","ST_EXTERIORRING","ST_FRECHETDISTANCE","ST_GEOHASH","ST_GEOMCOLLFROMTEXT","ST_GEOMCOLLFROMWKB","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMGEOJSON","ST_GEOMFROMTEXT","ST_GEOMFROMWKB","ST_HAUSDORFFDISTANCE","ST_INTERIORRINGN","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISSIMPLE","ST_ISVALID","ST_LATFROMGEOHASH","ST_LATITUDE","ST_LENGTH","ST_LINEFROMTEXT","ST_LINEFROMWKB","ST_LINEINTERPOLATEPOINT","ST_LINEINTERPOLATEPOINTS","ST_LONGFROMGEOHASH","ST_LONGITUDE","ST_MAKEENVELOPE","ST_MLINEFROMTEXT","ST_MLINEFROMWKB","ST_MPOINTFROMTEXT","ST_MPOINTFROMWKB","ST_MPOLYFROMTEXT","ST_MPOLYFROMWKB","ST_NUMGEOMETRIES","ST_NUMINTERIORRING","ST_NUMPOINTS","ST_OVERLAPS","ST_POINTATDISTANCE","ST_POINTFROMGEOHASH","ST_POINTFROMTEXT","ST_POINTFROMWKB","ST_POINTN","ST_POLYFROMTEXT","ST_POLYFROMWKB","ST_SIMPLIFY","ST_SRID","ST_STARTPOINT","ST_SWAPXY","ST_SYMDIFFERENCE","ST_TOUCHES","ST_TRANSFORM","ST_UNION","ST_VALIDATE","ST_WITHIN","ST_X","ST_Y","STATEMENT_DIGEST","STATEMENT_DIGEST_TEXT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","TRIM","TRUNCATE","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VALUES","VAR_POP","VAR_SAMP","VARIANCE","VERSION","WAIT_FOR_EXECUTED_GTID_SET","WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","YEAR","YEARWEEK"],stringTypes:['""-qq-bs',{quote:"''-qq-bs",prefixes:["N"]},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","->","->>","&&","||","!","*.*"],postProcess:LWi},formatOptions:{onelineClauses:[...WWi,...$Wi],tabularOnelineClauses:$Wi}},ZWi=Fji(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),QWi=Fji(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET"]),JWi=Fji(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),e$i=Fji(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","{CHANGE | MODIFY} [COLUMN]","DROP [COLUMN]","RENAME [TO | AS]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","TRUNCATE [TABLE]","ALTER DATABASE","ALTER INSTANCE","ALTER RESOURCE GROUP","ALTER SEQUENCE","ALTER USER","ALTER VIEW","ANALYZE TABLE","CHECK TABLE","CHECKSUM TABLE","COMMIT","CREATE DATABASE","CREATE INDEX","CREATE RESOURCE GROUP","CREATE ROLE","CREATE SEQUENCE","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP INDEX","DROP RESOURCE GROUP","DROP ROLE","DROP TABLESPACE","DROP USER","DROP VIEW","EXPLAIN","FLUSH","GRANT","IMPORT TABLE","INSTALL COMPONENT","INSTALL PLUGIN","KILL","LOAD DATA","LOCK INSTANCE FOR BACKUP","LOCK TABLES","OPTIMIZE TABLE","PREPARE","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","RESET","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE TABLE","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW VARIABLES","SHOW WARNINGS","TABLE","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","USE"]),t$i=Fji(["UNION [ALL | DISTINCT]"]),n$i=Fji(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),i$i=Fji(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),r$i={name:"tidb",tokenizerOptions:{reservedSelect:ZWi,reservedClauses:[...QWi,...JWi,...e$i],reservedSetOperations:t$i,reservedJoins:n$i,reservedPhrases:i$i,supportsXor:!0,reservedKeywords:["ADD","ALL","ALTER","ANALYZE","AND","ARRAY","AS","ASC","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DISTINCT","DISTINCTROW","DIV","DOUBLE","DROP","DUAL","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERATED","GRANT","GROUP","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","ILIKE","IN","INDEX","INFILE","INNER","INOUT","INSERT","INTERSECT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LOW_PRIORITY","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL","OF","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PRIMARY","PROCEDURE","RANGE","READ","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESTRICT","REVOKE","RIGHT","RLIKE","ROW","ROWS","SECOND_MICROSECOND","SELECT","SET","SHOW","SPATIAL","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STATS_EXTENDED","STORED","STRAIGHT_JOIN","TABLE","TABLESAMPLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","TiDB_CURRENT_TSO","UNION","UNIQUE","UNLOCK","UNSIGNED","UNTIL","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","BOOL","BOOLEAN","CHAR","CHARACTER","DATE","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],reservedFunctionNames:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","ASCII","ASIN","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIN_TO_UUID","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","BITAND","BITNEG","BITOR","BITXOR","CASE","CAST","CEIL","CEILING","CHAR_FUNC","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CRC32","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_RESOURCE_GROUP","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT_FUNC","DEGREES","DENSE_RANK","DES_DECRYPT","DES_ENCRYPT","DIV","ELT","ENCODE","ENCRYPT","EQ","EXP","EXPORT_SET","EXTRACT","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_NANO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GE","GET_FORMAT","GET_LOCK","GETPARAM","GREATEST","GROUP_CONCAT","GROUPING","GT","HEX","HOUR","IF","IFNULL","ILIKE","INET6_ATON","INET6_NTOA","INET_ATON","INET_NTOA","INSERT_FUNC","INSTR","INTDIV","INTERVAL","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS_USED_LOCK","IS_UUID","ISFALSE","ISNULL","ISTRUE","JSON_ARRAY","JSON_ARRAYAGG","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MEMBEROF","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LASTVAL","LCASE","LE","LEAD","LEAST","LEFT","LEFTSHIFT","LENGTH","LIKE","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LT","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MAX","MD5","MICROSECOND","MID","MIN","MINUS","MINUTE","MOD","MONTH","MONTHNAME","MUL","NAME_CONST","NE","NEXTVAL","NOT","NOW","NTH_VALUE","NTILE","NULLEQ","OCT","OCTET_LENGTH","OLD_PASSWORD","ORD","PASSWORD_FUNC","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","PLUS","POSITION","POW","POWER","QUARTER","QUOTE","RADIANS","RAND","RANDOM_BYTES","RANK","REGEXP","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPEAT","REPLACE","REVERSE","RIGHT","RIGHTSHIFT","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SETVAL","SETVAR","SHA","SHA1","SHA2","SIGN","SIN","SLEEP","SM3","SPACE","SQRT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIDB_BOUNDED_STALENESS","TIDB_CURRENT_TSO","TIDB_DECODE_BINARY_PLAN","TIDB_DECODE_KEY","TIDB_DECODE_PLAN","TIDB_DECODE_SQL_DIGESTS","TIDB_ENCODE_SQL_DIGEST","TIDB_IS_DDL_OWNER","TIDB_PARSE_TSO","TIDB_PARSE_TSO_LOGICAL","TIDB_ROW_CHECKSUM","TIDB_SHARD","TIDB_VERSION","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","TRANSLATE","TRIM","TRUNCATE","UCASE","UNARYMINUS","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VAR_POP","VAR_SAMP","VARIANCE","VERSION","VITESS_HASH","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","YEAR","YEARWEEK"],stringTypes:['""-qq-bs',{quote:"''-qq-bs",prefixes:["N"]},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","->","->>","&&","||","!","*.*"],postProcess:LWi},formatOptions:{onelineClauses:[...JWi,...e$i],tabularOnelineClauses:e$i}},s$i=Fji(["SELECT [ALL | DISTINCT]"]),o$i=Fji(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED THEN","UPDATE SET","INSERT","NEST","UNNEST","RETURNING"]),a$i=Fji(["UPDATE","DELETE FROM","SET SCHEMA","ADVISE","ALTER INDEX","BEGIN TRANSACTION","BUILD INDEX","COMMIT TRANSACTION","CREATE COLLECTION","CREATE FUNCTION","CREATE INDEX","CREATE PRIMARY INDEX","CREATE SCOPE","DROP COLLECTION","DROP FUNCTION","DROP INDEX","DROP PRIMARY INDEX","DROP SCOPE","EXECUTE","EXECUTE FUNCTION","EXPLAIN","GRANT","INFER","PREPARE","REVOKE","ROLLBACK TRANSACTION","SAVEPOINT","SET TRANSACTION","UPDATE STATISTICS","UPSERT","LET","SET CURRENT SCHEMA","SHOW","USE [PRIMARY] KEYS"]),l$i=Fji(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),c$i=Fji(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),u$i=Fji(["{ROWS | RANGE | GROUPS} BETWEEN"]),d$i={name:"n1ql",tokenizerOptions:{reservedSelect:s$i,reservedClauses:[...o$i,...a$i],reservedSetOperations:l$i,reservedJoins:c$i,reservedPhrases:u$i,supportsXor:!0,reservedKeywords:["ADVISE","ALL","ALTER","ANALYZE","AND","ANY","ARRAY","AS","ASC","AT","BEGIN","BETWEEN","BINARY","BOOLEAN","BREAK","BUCKET","BUILD","BY","CALL","CASE","CAST","CLUSTER","COLLATE","COLLECTION","COMMIT","COMMITTED","CONNECT","CONTINUE","CORRELATED","COVER","CREATE","CURRENT","DATABASE","DATASET","DATASTORE","DECLARE","DECREMENT","DELETE","DERIVED","DESC","DESCRIBE","DISTINCT","DO","DROP","EACH","ELEMENT","ELSE","END","EVERY","EXCEPT","EXCLUDE","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FILTER","FIRST","FLATTEN","FLUSH","FOLLOWING","FOR","FORCE","FROM","FTS","FUNCTION","GOLANG","GRANT","GROUP","GROUPS","GSI","HASH","HAVING","IF","IGNORE","ILIKE","IN","INCLUDE","INCREMENT","INDEX","INFER","INLINE","INNER","INSERT","INTERSECT","INTO","IS","ISOLATION","JAVASCRIPT","JOIN","KEY","KEYS","KEYSPACE","KNOWN","LANGUAGE","LAST","LEFT","LET","LETTING","LEVEL","LIKE","LIMIT","LSM","MAP","MAPPING","MATCHED","MATERIALIZED","MERGE","MINUS","MISSING","NAMESPACE","NEST","NL","NO","NOT","NTH_VALUE","NULL","NULLS","NUMBER","OBJECT","OFFSET","ON","OPTION","OPTIONS","OR","ORDER","OTHERS","OUTER","OVER","PARSE","PARTITION","PASSWORD","PATH","POOL","PRECEDING","PREPARE","PRIMARY","PRIVATE","PRIVILEGE","PROBE","PROCEDURE","PUBLIC","RANGE","RAW","REALM","REDUCE","RENAME","RESPECT","RETURN","RETURNING","REVOKE","RIGHT","ROLE","ROLLBACK","ROW","ROWS","SATISFIES","SAVEPOINT","SCHEMA","SCOPE","SELECT","SELF","SEMI","SET","SHOW","SOME","START","STATISTICS","STRING","SYSTEM","THEN","TIES","TO","TRAN","TRANSACTION","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNDER","UNION","UNIQUE","UNKNOWN","UNNEST","UNSET","UPDATE","UPSERT","USE","USER","USING","VALIDATE","VALUE","VALUED","VALUES","VIA","VIEW","WHEN","WHERE","WHILE","WINDOW","WITH","WITHIN","WORK","XOR"],reservedDataTypes:[],reservedFunctionNames:["ABORT","ABS","ACOS","ADVISOR","ARRAY_AGG","ARRAY_AGG","ARRAY_APPEND","ARRAY_AVG","ARRAY_BINARY_SEARCH","ARRAY_CONCAT","ARRAY_CONTAINS","ARRAY_COUNT","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_FLATTEN","ARRAY_IFNULL","ARRAY_INSERT","ARRAY_INTERSECT","ARRAY_LENGTH","ARRAY_MAX","ARRAY_MIN","ARRAY_MOVE","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_PUT","ARRAY_RANGE","ARRAY_REMOVE","ARRAY_REPEAT","ARRAY_REPLACE","ARRAY_REVERSE","ARRAY_SORT","ARRAY_STAR","ARRAY_SUM","ARRAY_SYMDIFF","ARRAY_SYMDIFF1","ARRAY_SYMDIFFN","ARRAY_UNION","ASIN","ATAN","ATAN2","AVG","BASE64","BASE64_DECODE","BASE64_ENCODE","BITAND ","BITCLEAR ","BITNOT ","BITOR ","BITSET ","BITSHIFT ","BITTEST ","BITXOR ","CEIL","CLOCK_LOCAL","CLOCK_MILLIS","CLOCK_STR","CLOCK_TZ","CLOCK_UTC","COALESCE","CONCAT","CONCAT2","CONTAINS","CONTAINS_TOKEN","CONTAINS_TOKEN_LIKE","CONTAINS_TOKEN_REGEXP","COS","COUNT","COUNT","COUNTN","CUME_DIST","CURL","DATE_ADD_MILLIS","DATE_ADD_STR","DATE_DIFF_MILLIS","DATE_DIFF_STR","DATE_FORMAT_STR","DATE_PART_MILLIS","DATE_PART_STR","DATE_RANGE_MILLIS","DATE_RANGE_STR","DATE_TRUNC_MILLIS","DATE_TRUNC_STR","DECODE","DECODE_JSON","DEGREES","DENSE_RANK","DURATION_TO_STR","ENCODED_SIZE","ENCODE_JSON","EXP","FIRST_VALUE","FLOOR","GREATEST","HAS_TOKEN","IFINF","IFMISSING","IFMISSINGORNULL","IFNAN","IFNANORINF","IFNULL","INITCAP","ISARRAY","ISATOM","ISBITSET","ISBOOLEAN","ISNUMBER","ISOBJECT","ISSTRING","LAG","LAST_VALUE","LEAD","LEAST","LENGTH","LN","LOG","LOWER","LTRIM","MAX","MEAN","MEDIAN","META","MILLIS","MILLIS_TO_LOCAL","MILLIS_TO_STR","MILLIS_TO_TZ","MILLIS_TO_UTC","MILLIS_TO_ZONE_NAME","MIN","MISSINGIF","NANIF","NEGINFIF","NOW_LOCAL","NOW_MILLIS","NOW_STR","NOW_TZ","NOW_UTC","NTH_VALUE","NTILE","NULLIF","NVL","NVL2","OBJECT_ADD","OBJECT_CONCAT","OBJECT_INNER_PAIRS","OBJECT_INNER_VALUES","OBJECT_LENGTH","OBJECT_NAMES","OBJECT_PAIRS","OBJECT_PUT","OBJECT_REMOVE","OBJECT_RENAME","OBJECT_REPLACE","OBJECT_UNWRAP","OBJECT_VALUES","PAIRS","PERCENT_RANK","PI","POLY_LENGTH","POSINFIF","POSITION","POWER","RADIANS","RANDOM","RANK","RATIO_TO_REPORT","REGEXP_CONTAINS","REGEXP_LIKE","REGEXP_MATCHES","REGEXP_POSITION","REGEXP_REPLACE","REGEXP_SPLIT","REGEX_CONTAINS","REGEX_LIKE","REGEX_MATCHES","REGEX_POSITION","REGEX_REPLACE","REGEX_SPLIT","REPEAT","REPLACE","REVERSE","ROUND","ROW_NUMBER","RTRIM","SEARCH","SEARCH_META","SEARCH_SCORE","SIGN","SIN","SPLIT","SQRT","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DURATION","STR_TO_MILLIS","STR_TO_TZ","STR_TO_UTC","STR_TO_ZONE_NAME","SUBSTR","SUFFIXES","SUM","TAN","TITLE","TOARRAY","TOATOM","TOBOOLEAN","TOKENS","TOKENS","TONUMBER","TOOBJECT","TOSTRING","TRIM","TRUNC","UPPER","UUID","VARIANCE","VARIANCE_POP","VARIANCE_SAMP","VAR_POP","VAR_SAMP","WEEKDAY_MILLIS","WEEKDAY_STR","CAST"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],extraParens:["[]","{}"],paramTypes:{positional:!0,numbered:["$"],named:["$"]},lineCommentTypes:["#","--"],operators:["%","==",":","||"]},formatOptions:{onelineClauses:a$i}},h$i=Fji(["SELECT [ALL | DISTINCT | UNIQUE]"]),p$i=Fji(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER [SIBLINGS] BY","OFFSET","FETCH {FIRST | NEXT}","FOR UPDATE [OF]","INSERT [INTO | ALL INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [THEN]","UPDATE SET","RETURNING"]),g$i=Fji(["CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE"]),m$i=Fji(["CREATE [OR REPLACE] [NO FORCE | FORCE] [EDITIONING | EDITIONABLE | EDITIONABLE EDITIONING | NONEDITIONABLE] VIEW","CREATE MATERIALIZED VIEW","UPDATE [ONLY]","DELETE FROM [ONLY]","DROP TABLE","ALTER TABLE","ADD","DROP {COLUMN | UNUSED COLUMNS | COLUMNS CONTINUE}","MODIFY","RENAME TO","RENAME COLUMN","TRUNCATE TABLE","SET SCHEMA","BEGIN","CONNECT BY","DECLARE","EXCEPT","EXCEPTION","LOOP","START WITH"]),f$i=Fji(["UNION [ALL]","MINUS","INTERSECT"]),v$i=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),y$i=Fji(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),b$i={name:"plsql",tokenizerOptions:{reservedSelect:h$i,reservedClauses:[...p$i,...g$i,...m$i],reservedSetOperations:f$i,reservedJoins:v$i,reservedPhrases:y$i,supportsXor:!0,reservedKeywords:["ADD","AGENT","AGGREGATE","ALL","ALTER","AND","ANY","ARROW","AS","ASC","AT","ATTRIBUTE","AUTHID","AVG","BEGIN","BETWEEN","BLOCK","BODY","BOTH","BOUND","BULK","BY","BYTE","CALL","CALLING","CASCADE","CASE","CHARSET","CHARSETFORM","CHARSETID","CHECK","CLOSE","CLUSTER","CLUSTERS","COLAUTH","COLLECT","COLUMNS","COMMENT","COMMIT","COMMITTED","COMPILED","COMPRESS","CONNECT","CONSTANT","CONSTRUCTOR","CONTEXT","CONVERT","COUNT","CRASH","CREATE","CURRENT","CURSOR","CUSTOMDATUM","DANGLING","DATA","DAY","DECLARE","DEFAULT","DEFINE","DELETE","DESC","DETERMINISTIC","DISTINCT","DROP","DURATION","ELEMENT","ELSE","ELSIF","EMPTY","END","ESCAPE","EXCEPT","EXCEPTION","EXCEPTIONS","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTERNAL","FETCH","FINAL","FIXED","FOR","FORALL","FORCE","FORM","FROM","FUNCTION","GENERAL","GOTO","GRANT","GROUP","HASH","HAVING","HEAP","HIDDEN","HOUR","IDENTIFIED","IF","IMMEDIATE","IN","INCLUDING","INDEX","INDEXES","INDICATOR","INDICES","INFINITE","INSERT","INSTANTIABLE","INTERFACE","INTERSECT","INTERVAL","INTO","INVALIDATE","IS","ISOLATION","JAVA","LANGUAGE","LARGE","LEADING","LENGTH","LEVEL","LIBRARY","LIKE","LIKE2","LIKE4","LIKEC","LIMIT","LIMITED","LOCAL","LOCK","LOOP","MAP","MAX","MAXLEN","MEMBER","MERGE","MIN","MINUS","MINUTE","MOD","MODE","MODIFY","MONTH","MULTISET","NAME","NAN","NATIONAL","NATIVE","NEW","NOCOMPRESS","NOCOPY","NOT","NOWAIT","NULL","OBJECT","OCICOLL","OCIDATE","OCIDATETIME","OCIDURATION","OCIINTERVAL","OCILOBLOCATOR","OCINUMBER","OCIRAW","OCIREF","OCIREFCURSOR","OCIROWID","OCISTRING","OCITYPE","OF","ON","ONLY","OPAQUE","OPEN","OPERATOR","OPTION","OR","ORACLE","ORADATA","ORDER","OVERLAPS","ORGANIZATION","ORLANY","ORLVARY","OTHERS","OUT","OVERRIDING","PACKAGE","PARALLEL_ENABLE","PARAMETER","PARAMETERS","PARTITION","PASCAL","PIPE","PIPELINED","PRAGMA","PRIOR","PRIVATE","PROCEDURE","PUBLIC","RAISE","RANGE","READ","RECORD","REF","REFERENCE","REM","REMAINDER","RENAME","RESOURCE","RESULT","RETURN","RETURNING","REVERSE","REVOKE","ROLLBACK","ROW","SAMPLE","SAVE","SAVEPOINT","SB1","SB2","SB4","SECOND","SEGMENT","SELECT","SELF","SEPARATE","SEQUENCE","SERIALIZABLE","SET","SHARE","SHORT","SIZE","SIZE_T","SOME","SPARSE","SQL","SQLCODE","SQLDATA","SQLNAME","SQLSTATE","STANDARD","START","STATIC","STDDEV","STORED","STRING","STRUCT","STYLE","SUBMULTISET","SUBPARTITION","SUBSTITUTABLE","SUBTYPE","SUM","SYNONYM","TABAUTH","TABLE","TDO","THE","THEN","TIME","TIMEZONE_ABBR","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIMEZONE_REGION","TO","TRAILING","TRANSAC","TRANSACTIONAL","TRUSTED","TYPE","UB1","UB2","UB4","UNDER","UNION","UNIQUE","UNSIGNED","UNTRUSTED","UPDATE","USE","USING","VALIST","VALUE","VALUES","VARIABLE","VARIANCE","VARRAY","VIEW","VIEWS","VOID","WHEN","WHERE","WHILE","WITH","WORK","WRAPPED","WRITE","YEAR","ZONE"],reservedDataTypes:["ARRAY","BFILE_BASE","BINARY","BLOB_BASE","CHAR VARYING","CHAR_BASE","CHAR","CHARACTER VARYING","CHARACTER","CLOB_BASE","DATE_BASE","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTERVAL DAY","INTERVAL YEAR","LONG","NATIONAL CHAR VARYING","NATIONAL CHAR","NATIONAL CHARACTER VARYING","NATIONAL CHARACTER","NCHAR VARYING","NCHAR","NCHAR","NUMBER_BASE","NUMBER","NUMBERIC","NVARCHAR","PRECISION","RAW","TIMESTAMP","UROWID","VARCHAR","VARCHAR2"],reservedFunctionNames:["ABS","ACOS","ASIN","ATAN","ATAN2","BITAND","CEIL","COS","COSH","EXP","FLOOR","LN","LOG","MOD","NANVL","POWER","REMAINDER","ROUND","SIGN","SIN","SINH","SQRT","TAN","TANH","TRUNC","WIDTH_BUCKET","CHR","CONCAT","INITCAP","LOWER","LPAD","LTRIM","NLS_INITCAP","NLS_LOWER","NLSSORT","NLS_UPPER","REGEXP_REPLACE","REGEXP_SUBSTR","REPLACE","RPAD","RTRIM","SOUNDEX","SUBSTR","TRANSLATE","TREAT","TRIM","UPPER","NLS_CHARSET_DECL_LEN","NLS_CHARSET_ID","NLS_CHARSET_NAME","ASCII","INSTR","LENGTH","REGEXP_INSTR","ADD_MONTHS","CURRENT_DATE","CURRENT_TIMESTAMP","DBTIMEZONE","EXTRACT","FROM_TZ","LAST_DAY","LOCALTIMESTAMP","MONTHS_BETWEEN","NEW_TIME","NEXT_DAY","NUMTODSINTERVAL","NUMTOYMINTERVAL","ROUND","SESSIONTIMEZONE","SYS_EXTRACT_UTC","SYSDATE","SYSTIMESTAMP","TO_CHAR","TO_TIMESTAMP","TO_TIMESTAMP_TZ","TO_DSINTERVAL","TO_YMINTERVAL","TRUNC","TZ_OFFSET","GREATEST","LEAST","ASCIISTR","BIN_TO_NUM","CAST","CHARTOROWID","COMPOSE","CONVERT","DECOMPOSE","HEXTORAW","NUMTODSINTERVAL","NUMTOYMINTERVAL","RAWTOHEX","RAWTONHEX","ROWIDTOCHAR","ROWIDTONCHAR","SCN_TO_TIMESTAMP","TIMESTAMP_TO_SCN","TO_BINARY_DOUBLE","TO_BINARY_FLOAT","TO_CHAR","TO_CLOB","TO_DATE","TO_DSINTERVAL","TO_LOB","TO_MULTI_BYTE","TO_NCHAR","TO_NCLOB","TO_NUMBER","TO_DSINTERVAL","TO_SINGLE_BYTE","TO_TIMESTAMP","TO_TIMESTAMP_TZ","TO_YMINTERVAL","TO_YMINTERVAL","TRANSLATE","UNISTR","BFILENAME","EMPTY_BLOB,","EMPTY_CLOB","CARDINALITY","COLLECT","POWERMULTISET","POWERMULTISET_BY_CARDINALITY","SET","SYS_CONNECT_BY_PATH","CLUSTER_ID","CLUSTER_PROBABILITY","CLUSTER_SET","FEATURE_ID","FEATURE_SET","FEATURE_VALUE","PREDICTION","PREDICTION_COST","PREDICTION_DETAILS","PREDICTION_PROBABILITY","PREDICTION_SET","APPENDCHILDXML","DELETEXML","DEPTH","EXTRACT","EXISTSNODE","EXTRACTVALUE","INSERTCHILDXML","INSERTXMLBEFORE","PATH","SYS_DBURIGEN","SYS_XMLAGG","SYS_XMLGEN","UPDATEXML","XMLAGG","XMLCDATA","XMLCOLATTVAL","XMLCOMMENT","XMLCONCAT","XMLFOREST","XMLPARSE","XMLPI","XMLQUERY","XMLROOT","XMLSEQUENCE","XMLSERIALIZE","XMLTABLE","XMLTRANSFORM","DECODE","DUMP","ORA_HASH","VSIZE","COALESCE","LNNVL","NULLIF","NVL","NVL2","SYS_CONTEXT","SYS_GUID","SYS_TYPEID","UID","USER","USERENV","AVG","COLLECT","CORR","CORR_S","CORR_K","COUNT","COVAR_POP","COVAR_SAMP","CUME_DIST","DENSE_RANK","FIRST","GROUP_ID","GROUPING","GROUPING_ID","LAST","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","RANK","REGR_SLOPE","REGR_INTERCEPT","REGR_COUNT","REGR_R2","REGR_AVGX","REGR_AVGY","REGR_SXX","REGR_SYY","REGR_SXY","STATS_BINOMIAL_TEST","STATS_CROSSTAB","STATS_F_TEST","STATS_KS_TEST","STATS_MODE","STATS_MW_TEST","STATS_ONE_WAY_ANOVA","STATS_T_TEST_ONE","STATS_T_TEST_PAIRED","STATS_T_TEST_INDEP","STATS_T_TEST_INDEPU","STATS_WSR_TEST","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTILE","RATIO_TO_REPORT","ROW_NUMBER","DEREF","MAKE_REF","REF","REFTOHEX","VALUE","CV","ITERATION_NUMBER","PRESENTNNV","PRESENTV","PREVIOUS"],stringTypes:[{quote:"''-qq",prefixes:["N"]},{quote:"q''",prefixes:["N"]}],identTypes:['""-qq'],identChars:{rest:"$#"},variableTypes:[{regex:"&{1,2}[A-Za-z][A-Za-z0-9_$#]*"}],paramTypes:{numbered:[":"],named:[":"]},operators:["**",":=","%","~=","^=",">>","<<","=>","@","||"],postProcess:function(e){let t=Xji;return e.map(e=>Qji.SET(e)&&Qji.BY(t)?Mji(Lji({},e),{type:"RESERVED_KEYWORD"}):(Jji(e.type)&&(t=e),e))}},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:[...g$i,...m$i],tabularOnelineClauses:m$i}};var _$i=Fji(["SELECT [ALL | DISTINCT]"]),C$i=Fji(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","FOR {UPDATE | NO KEY UPDATE | SHARE | KEY SHARE} [OF]","INSERT INTO","VALUES","DEFAULT VALUES","SET","RETURNING"]),S$i=Fji(["CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]"]),w$i=Fji(["CREATE [OR REPLACE] [TEMP | TEMPORARY] [RECURSIVE] VIEW","CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE [ONLY]","WHERE CURRENT OF","ON CONFLICT","DELETE FROM [ONLY]","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS] [ONLY]","ALTER TABLE ALL IN TABLESPACE","RENAME [COLUMN]","RENAME TO","ADD [COLUMN] [IF NOT EXISTS]","DROP [COLUMN] [IF EXISTS]","ALTER [COLUMN]","SET DATA TYPE","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","TRUNCATE [TABLE] [ONLY]","SET SCHEMA","AFTER","ABORT","ALTER AGGREGATE","ALTER COLLATION","ALTER CONVERSION","ALTER DATABASE","ALTER DEFAULT PRIVILEGES","ALTER DOMAIN","ALTER EVENT TRIGGER","ALTER EXTENSION","ALTER FOREIGN DATA WRAPPER","ALTER FOREIGN TABLE","ALTER FUNCTION","ALTER GROUP","ALTER INDEX","ALTER LANGUAGE","ALTER LARGE OBJECT","ALTER MATERIALIZED VIEW","ALTER OPERATOR","ALTER OPERATOR CLASS","ALTER OPERATOR FAMILY","ALTER POLICY","ALTER PROCEDURE","ALTER PUBLICATION","ALTER ROLE","ALTER ROUTINE","ALTER RULE","ALTER SCHEMA","ALTER SEQUENCE","ALTER SERVER","ALTER STATISTICS","ALTER SUBSCRIPTION","ALTER SYSTEM","ALTER TABLESPACE","ALTER TEXT SEARCH CONFIGURATION","ALTER TEXT SEARCH DICTIONARY","ALTER TEXT SEARCH PARSER","ALTER TEXT SEARCH TEMPLATE","ALTER TRIGGER","ALTER TYPE","ALTER USER","ALTER USER MAPPING","ALTER VIEW","ANALYZE","BEGIN","CALL","CHECKPOINT","CLOSE","CLUSTER","COMMIT","COMMIT PREPARED","COPY","CREATE ACCESS METHOD","CREATE AGGREGATE","CREATE CAST","CREATE COLLATION","CREATE CONVERSION","CREATE DATABASE","CREATE DOMAIN","CREATE EVENT TRIGGER","CREATE EXTENSION","CREATE FOREIGN DATA WRAPPER","CREATE FOREIGN TABLE","CREATE [OR REPLACE] FUNCTION","CREATE GROUP","CREATE INDEX","CREATE LANGUAGE","CREATE OPERATOR","CREATE OPERATOR CLASS","CREATE OPERATOR FAMILY","CREATE POLICY","CREATE PROCEDURE","CREATE PUBLICATION","CREATE ROLE","CREATE RULE","CREATE SCHEMA","CREATE SEQUENCE","CREATE SERVER","CREATE STATISTICS","CREATE SUBSCRIPTION","CREATE TABLESPACE","CREATE TEXT SEARCH CONFIGURATION","CREATE TEXT SEARCH DICTIONARY","CREATE TEXT SEARCH PARSER","CREATE TEXT SEARCH TEMPLATE","CREATE TRANSFORM","CREATE TRIGGER","CREATE TYPE","CREATE USER","CREATE USER MAPPING","DEALLOCATE","DECLARE","DISCARD","DROP ACCESS METHOD","DROP AGGREGATE","DROP CAST","DROP COLLATION","DROP CONVERSION","DROP DATABASE","DROP DOMAIN","DROP EVENT TRIGGER","DROP EXTENSION","DROP FOREIGN DATA WRAPPER","DROP FOREIGN TABLE","DROP FUNCTION","DROP GROUP","DROP IDENTITY","DROP INDEX","DROP LANGUAGE","DROP MATERIALIZED VIEW [IF EXISTS]","DROP OPERATOR","DROP OPERATOR CLASS","DROP OPERATOR FAMILY","DROP OWNED","DROP POLICY","DROP PROCEDURE","DROP PUBLICATION","DROP ROLE","DROP ROUTINE","DROP RULE","DROP SCHEMA","DROP SEQUENCE","DROP SERVER","DROP STATISTICS","DROP SUBSCRIPTION","DROP TABLESPACE","DROP TEXT SEARCH CONFIGURATION","DROP TEXT SEARCH DICTIONARY","DROP TEXT SEARCH PARSER","DROP TEXT SEARCH TEMPLATE","DROP TRANSFORM","DROP TRIGGER","DROP TYPE","DROP USER","DROP USER MAPPING","DROP VIEW","EXECUTE","EXPLAIN","FETCH","GRANT","IMPORT FOREIGN SCHEMA","LISTEN","LOAD","LOCK","MOVE","NOTIFY","OVERRIDING SYSTEM VALUE","PREPARE","PREPARE TRANSACTION","REASSIGN OWNED","REFRESH MATERIALIZED VIEW","REINDEX","RELEASE SAVEPOINT","RESET [ALL|ROLE|SESSION AUTHORIZATION]","REVOKE","ROLLBACK","ROLLBACK PREPARED","ROLLBACK TO SAVEPOINT","SAVEPOINT","SECURITY LABEL","SELECT INTO","SET CONSTRAINTS","SET ROLE","SET SESSION AUTHORIZATION","SET TRANSACTION","SHOW","START TRANSACTION","UNLISTEN","VACUUM"]),E$i=Fji(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),x$i=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),T$i=Fji(["PRIMARY KEY","GENERATED {ALWAYS | BY DEFAULT} AS IDENTITY","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","DO {NOTHING | UPDATE}","AS MATERIALIZED","{ROWS | RANGE | GROUPS} BETWEEN","[TIMESTAMP | TIME] {WITH | WITHOUT} TIME ZONE","IS [NOT] DISTINCT FROM","NULLS {FIRST | LAST}","WITH ORDINALITY"]),A$i={name:"postgresql",tokenizerOptions:{reservedSelect:_$i,reservedClauses:[...C$i,...S$i,...w$i],reservedSetOperations:E$i,reservedJoins:x$i,reservedPhrases:T$i,reservedKeywords:["ALL","ANALYSE","ANALYZE","AND","ANY","AS","ASC","ASYMMETRIC","AUTHORIZATION","BETWEEN","BINARY","BOTH","CASE","CAST","CHECK","COLLATE","COLLATION","COLUMN","CONCURRENTLY","CONSTRAINT","CREATE","CROSS","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DAY","DEFAULT","DEFERRABLE","DESC","DISTINCT","DO","ELSE","END","EXCEPT","EXISTS","FALSE","FETCH","FILTER","FOR","FOREIGN","FREEZE","FROM","FULL","GRANT","GROUP","HAVING","HOUR","ILIKE","IN","INITIALLY","INNER","INOUT","INTERSECT","INTO","IS","ISNULL","JOIN","LATERAL","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","MINUTE","MONTH","NATURAL","NOT","NOTNULL","NULL","NULLIF","OFFSET","ON","ONLY","OR","ORDER","OUT","OUTER","OVER","OVERLAPS","PLACING","PRIMARY","REFERENCES","RETURNING","RIGHT","ROW","SECOND","SELECT","SESSION_USER","SIMILAR","SOME","SYMMETRIC","TABLE","TABLESAMPLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","USER","USING","VALUES","VARIADIC","VERBOSE","WHEN","WHERE","WINDOW","WITH","WITHIN","WITHOUT","YEAR"],reservedDataTypes:["ARRAY","BIGINT","BIT","BIT VARYING","BOOL","BOOLEAN","CHAR","CHARACTER","CHARACTER VARYING","DECIMAL","DEC","DOUBLE","ENUM","FLOAT","INT","INTEGER","INTERVAL","NCHAR","NUMERIC","JSON","JSONB","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TIMESTAMPTZ","VARCHAR","XML","ZONE"],reservedFunctionNames:["ABS","ACOS","ACOSD","ACOSH","ASIN","ASIND","ASINH","ATAN","ATAN2","ATAN2D","ATAND","ATANH","CBRT","CEIL","CEILING","COS","COSD","COSH","COT","COTD","DEGREES","DIV","EXP","FACTORIAL","FLOOR","GCD","LCM","LN","LOG","LOG10","MIN_SCALE","MOD","PI","POWER","RADIANS","RANDOM","ROUND","SCALE","SETSEED","SIGN","SIN","SIND","SINH","SQRT","TAN","TAND","TANH","TRIM_SCALE","TRUNC","WIDTH_BUCKET","ABS","ASCII","BIT_LENGTH","BTRIM","CHARACTER_LENGTH","CHAR_LENGTH","CHR","CONCAT","CONCAT_WS","FORMAT","INITCAP","LEFT","LENGTH","LOWER","LPAD","LTRIM","MD5","NORMALIZE","OCTET_LENGTH","OVERLAY","PARSE_IDENT","PG_CLIENT_ENCODING","POSITION","QUOTE_IDENT","QUOTE_LITERAL","QUOTE_NULLABLE","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","REPEAT","REPLACE","REVERSE","RIGHT","RPAD","RTRIM","SPLIT_PART","SPRINTF","STARTS_WITH","STRING_AGG","STRING_TO_ARRAY","STRING_TO_TABLE","STRPOS","SUBSTR","SUBSTRING","TO_ASCII","TO_HEX","TRANSLATE","TRIM","UNISTR","UPPER","BIT_COUNT","BIT_LENGTH","BTRIM","CONVERT","CONVERT_FROM","CONVERT_TO","DECODE","ENCODE","GET_BIT","GET_BYTE","LENGTH","LTRIM","MD5","OCTET_LENGTH","OVERLAY","POSITION","RTRIM","SET_BIT","SET_BYTE","SHA224","SHA256","SHA384","SHA512","STRING_AGG","SUBSTR","SUBSTRING","TRIM","BIT_COUNT","BIT_LENGTH","GET_BIT","LENGTH","OCTET_LENGTH","OVERLAY","POSITION","SET_BIT","SUBSTRING","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","TO_CHAR","TO_DATE","TO_NUMBER","TO_TIMESTAMP","CLOCK_TIMESTAMP","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_BIN","DATE_PART","DATE_TRUNC","EXTRACT","ISFINITE","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","LOCALTIME","LOCALTIMESTAMP","MAKE_DATE","MAKE_INTERVAL","MAKE_TIME","MAKE_TIMESTAMP","MAKE_TIMESTAMPTZ","NOW","PG_SLEEP","PG_SLEEP_FOR","PG_SLEEP_UNTIL","STATEMENT_TIMESTAMP","TIMEOFDAY","TO_TIMESTAMP","TRANSACTION_TIMESTAMP","ENUM_FIRST","ENUM_LAST","ENUM_RANGE","AREA","BOUND_BOX","BOX","CENTER","CIRCLE","DIAGONAL","DIAMETER","HEIGHT","ISCLOSED","ISOPEN","LENGTH","LINE","LSEG","NPOINTS","PATH","PCLOSE","POINT","POLYGON","POPEN","RADIUS","SLOPE","WIDTH","ABBREV","BROADCAST","FAMILY","HOST","HOSTMASK","INET_MERGE","INET_SAME_FAMILY","MACADDR8_SET7BIT","MASKLEN","NETMASK","NETWORK","SET_MASKLEN","TRUNC","ARRAY_TO_TSVECTOR","GET_CURRENT_TS_CONFIG","JSONB_TO_TSVECTOR","JSON_TO_TSVECTOR","LENGTH","NUMNODE","PHRASETO_TSQUERY","PLAINTO_TSQUERY","QUERYTREE","SETWEIGHT","STRIP","TO_TSQUERY","TO_TSVECTOR","TSQUERY_PHRASE","TSVECTOR_TO_ARRAY","TS_DEBUG","TS_DELETE","TS_FILTER","TS_HEADLINE","TS_LEXIZE","TS_PARSE","TS_RANK","TS_RANK_CD","TS_REWRITE","TS_STAT","TS_TOKEN_TYPE","WEBSEARCH_TO_TSQUERY","UUID","CURSOR_TO_XML","CURSOR_TO_XMLSCHEMA","DATABASE_TO_XML","DATABASE_TO_XMLSCHEMA","DATABASE_TO_XML_AND_XMLSCHEMA","NEXTVAL","QUERY_TO_XML","QUERY_TO_XMLSCHEMA","QUERY_TO_XML_AND_XMLSCHEMA","SCHEMA_TO_XML","SCHEMA_TO_XMLSCHEMA","SCHEMA_TO_XML_AND_XMLSCHEMA","STRING","TABLE_TO_XML","TABLE_TO_XMLSCHEMA","TABLE_TO_XML_AND_XMLSCHEMA","XMLAGG","XMLCOMMENT","XMLCONCAT","XMLELEMENT","XMLEXISTS","XMLFOREST","XMLPARSE","XMLPI","XMLROOT","XMLSERIALIZE","XMLTABLE","XML_IS_WELL_FORMED","XML_IS_WELL_FORMED_CONTENT","XML_IS_WELL_FORMED_DOCUMENT","XPATH","XPATH_EXISTS","ARRAY_TO_JSON","JSONB_AGG","JSONB_ARRAY_ELEMENTS","JSONB_ARRAY_ELEMENTS_TEXT","JSONB_ARRAY_LENGTH","JSONB_BUILD_ARRAY","JSONB_BUILD_OBJECT","JSONB_EACH","JSONB_EACH_TEXT","JSONB_EXTRACT_PATH","JSONB_EXTRACT_PATH_TEXT","JSONB_INSERT","JSONB_OBJECT","JSONB_OBJECT_AGG","JSONB_OBJECT_KEYS","JSONB_PATH_EXISTS","JSONB_PATH_EXISTS_TZ","JSONB_PATH_MATCH","JSONB_PATH_MATCH_TZ","JSONB_PATH_QUERY","JSONB_PATH_QUERY_ARRAY","JSONB_PATH_QUERY_ARRAY_TZ","JSONB_PATH_QUERY_FIRST","JSONB_PATH_QUERY_FIRST_TZ","JSONB_PATH_QUERY_TZ","JSONB_POPULATE_RECORD","JSONB_POPULATE_RECORDSET","JSONB_PRETTY","JSONB_SET","JSONB_SET_LAX","JSONB_STRIP_NULLS","JSONB_TO_RECORD","JSONB_TO_RECORDSET","JSONB_TYPEOF","JSON_AGG","JSON_ARRAY_ELEMENTS","JSON_ARRAY_ELEMENTS_TEXT","JSON_ARRAY_LENGTH","JSON_BUILD_ARRAY","JSON_BUILD_OBJECT","JSON_EACH","JSON_EACH_TEXT","JSON_EXTRACT_PATH","JSON_EXTRACT_PATH_TEXT","JSON_OBJECT","JSON_OBJECT_AGG","JSON_OBJECT_KEYS","JSON_POPULATE_RECORD","JSON_POPULATE_RECORDSET","JSON_STRIP_NULLS","JSON_TO_RECORD","JSON_TO_RECORDSET","JSON_TYPEOF","ROW_TO_JSON","TO_JSON","TO_JSONB","TO_TIMESTAMP","CURRVAL","LASTVAL","NEXTVAL","SETVAL","COALESCE","GREATEST","LEAST","NULLIF","ARRAY_AGG","ARRAY_APPEND","ARRAY_CAT","ARRAY_DIMS","ARRAY_FILL","ARRAY_LENGTH","ARRAY_LOWER","ARRAY_NDIMS","ARRAY_POSITION","ARRAY_POSITIONS","ARRAY_PREPEND","ARRAY_REMOVE","ARRAY_REPLACE","ARRAY_TO_STRING","ARRAY_UPPER","CARDINALITY","STRING_TO_ARRAY","TRIM_ARRAY","UNNEST","ISEMPTY","LOWER","LOWER_INC","LOWER_INF","MULTIRANGE","RANGE_MERGE","UPPER","UPPER_INC","UPPER_INF","ARRAY_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","BOOL_AND","BOOL_OR","COALESCE","CORR","COUNT","COVAR_POP","COVAR_SAMP","CUME_DIST","DENSE_RANK","EVERY","GROUPING","JSONB_AGG","JSONB_OBJECT_AGG","JSON_AGG","JSON_OBJECT_AGG","MAX","MIN","MODE","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","RANGE_AGG","RANGE_INTERSECT_AGG","RANK","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV","STDDEV_POP","STDDEV_SAMP","STRING_AGG","SUM","TO_JSON","TO_JSONB","VARIANCE","VAR_POP","VAR_SAMP","XMLAGG","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","GENERATE_SERIES","GENERATE_SUBSCRIPTS","ACLDEFAULT","ACLEXPLODE","COL_DESCRIPTION","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_QUERY","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","FORMAT_TYPE","HAS_ANY_COLUMN_PRIVILEGE","HAS_COLUMN_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE","HAS_FUNCTION_PRIVILEGE","HAS_LANGUAGE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_SEQUENCE_PRIVILEGE","HAS_SERVER_PRIVILEGE","HAS_TABLESPACE_PRIVILEGE","HAS_TABLE_PRIVILEGE","HAS_TYPE_PRIVILEGE","INET_CLIENT_ADDR","INET_CLIENT_PORT","INET_SERVER_ADDR","INET_SERVER_PORT","MAKEACLITEM","OBJ_DESCRIPTION","PG_BACKEND_PID","PG_BLOCKING_PIDS","PG_COLLATION_IS_VISIBLE","PG_CONF_LOAD_TIME","PG_CONTROL_CHECKPOINT","PG_CONTROL_INIT","PG_CONTROL_SYSTEM","PG_CONVERSION_IS_VISIBLE","PG_CURRENT_LOGFILE","PG_CURRENT_SNAPSHOT","PG_CURRENT_XACT_ID","PG_CURRENT_XACT_ID_IF_ASSIGNED","PG_DESCRIBE_OBJECT","PG_FUNCTION_IS_VISIBLE","PG_GET_CATALOG_FOREIGN_KEYS","PG_GET_CONSTRAINTDEF","PG_GET_EXPR","PG_GET_FUNCTIONDEF","PG_GET_FUNCTION_ARGUMENTS","PG_GET_FUNCTION_IDENTITY_ARGUMENTS","PG_GET_FUNCTION_RESULT","PG_GET_INDEXDEF","PG_GET_KEYWORDS","PG_GET_OBJECT_ADDRESS","PG_GET_OWNED_SEQUENCE","PG_GET_RULEDEF","PG_GET_SERIAL_SEQUENCE","PG_GET_STATISTICSOBJDEF","PG_GET_TRIGGERDEF","PG_GET_USERBYID","PG_GET_VIEWDEF","PG_HAS_ROLE","PG_IDENTIFY_OBJECT","PG_IDENTIFY_OBJECT_AS_ADDRESS","PG_INDEXAM_HAS_PROPERTY","PG_INDEX_COLUMN_HAS_PROPERTY","PG_INDEX_HAS_PROPERTY","PG_IS_OTHER_TEMP_SCHEMA","PG_JIT_AVAILABLE","PG_LAST_COMMITTED_XACT","PG_LISTENING_CHANNELS","PG_MY_TEMP_SCHEMA","PG_NOTIFICATION_QUEUE_USAGE","PG_OPCLASS_IS_VISIBLE","PG_OPERATOR_IS_VISIBLE","PG_OPFAMILY_IS_VISIBLE","PG_OPTIONS_TO_TABLE","PG_POSTMASTER_START_TIME","PG_SAFE_SNAPSHOT_BLOCKING_PIDS","PG_SNAPSHOT_XIP","PG_SNAPSHOT_XMAX","PG_SNAPSHOT_XMIN","PG_STATISTICS_OBJ_IS_VISIBLE","PG_TABLESPACE_DATABASES","PG_TABLESPACE_LOCATION","PG_TABLE_IS_VISIBLE","PG_TRIGGER_DEPTH","PG_TS_CONFIG_IS_VISIBLE","PG_TS_DICT_IS_VISIBLE","PG_TS_PARSER_IS_VISIBLE","PG_TS_TEMPLATE_IS_VISIBLE","PG_TYPEOF","PG_TYPE_IS_VISIBLE","PG_VISIBLE_IN_SNAPSHOT","PG_XACT_COMMIT_TIMESTAMP","PG_XACT_COMMIT_TIMESTAMP_ORIGIN","PG_XACT_STATUS","PQSERVERVERSION","ROW_SECURITY_ACTIVE","SESSION_USER","SHOBJ_DESCRIPTION","TO_REGCLASS","TO_REGCOLLATION","TO_REGNAMESPACE","TO_REGOPER","TO_REGOPERATOR","TO_REGPROC","TO_REGPROCEDURE","TO_REGROLE","TO_REGTYPE","TXID_CURRENT","TXID_CURRENT_IF_ASSIGNED","TXID_CURRENT_SNAPSHOT","TXID_SNAPSHOT_XIP","TXID_SNAPSHOT_XMAX","TXID_SNAPSHOT_XMIN","TXID_STATUS","TXID_VISIBLE_IN_SNAPSHOT","USER","VERSION","BRIN_DESUMMARIZE_RANGE","BRIN_SUMMARIZE_NEW_VALUES","BRIN_SUMMARIZE_RANGE","CONVERT_FROM","CURRENT_SETTING","GIN_CLEAN_PENDING_LIST","PG_ADVISORY_LOCK","PG_ADVISORY_LOCK_SHARED","PG_ADVISORY_UNLOCK","PG_ADVISORY_UNLOCK_ALL","PG_ADVISORY_UNLOCK_SHARED","PG_ADVISORY_XACT_LOCK","PG_ADVISORY_XACT_LOCK_SHARED","PG_BACKUP_START_TIME","PG_CANCEL_BACKEND","PG_COLLATION_ACTUAL_VERSION","PG_COLUMN_COMPRESSION","PG_COLUMN_SIZE","PG_COPY_LOGICAL_REPLICATION_SLOT","PG_COPY_PHYSICAL_REPLICATION_SLOT","PG_CREATE_LOGICAL_REPLICATION_SLOT","PG_CREATE_PHYSICAL_REPLICATION_SLOT","PG_CREATE_RESTORE_POINT","PG_CURRENT_WAL_FLUSH_LSN","PG_CURRENT_WAL_INSERT_LSN","PG_CURRENT_WAL_LSN","PG_DATABASE_SIZE","PG_DROP_REPLICATION_SLOT","PG_EXPORT_SNAPSHOT","PG_FILENODE_RELATION","PG_GET_WAL_REPLAY_PAUSE_STATE","PG_IMPORT_SYSTEM_COLLATIONS","PG_INDEXES_SIZE","PG_IS_IN_BACKUP","PG_IS_IN_RECOVERY","PG_IS_WAL_REPLAY_PAUSED","PG_LAST_WAL_RECEIVE_LSN","PG_LAST_WAL_REPLAY_LSN","PG_LAST_XACT_REPLAY_TIMESTAMP","PG_LOGICAL_EMIT_MESSAGE","PG_LOGICAL_SLOT_GET_BINARY_CHANGES","PG_LOGICAL_SLOT_GET_CHANGES","PG_LOGICAL_SLOT_PEEK_BINARY_CHANGES","PG_LOGICAL_SLOT_PEEK_CHANGES","PG_LOG_BACKEND_MEMORY_CONTEXTS","PG_LS_ARCHIVE_STATUSDIR","PG_LS_DIR","PG_LS_LOGDIR","PG_LS_TMPDIR","PG_LS_WALDIR","PG_PARTITION_ANCESTORS","PG_PARTITION_ROOT","PG_PARTITION_TREE","PG_PROMOTE","PG_READ_BINARY_FILE","PG_READ_FILE","PG_RELATION_FILENODE","PG_RELATION_FILEPATH","PG_RELATION_SIZE","PG_RELOAD_CONF","PG_REPLICATION_ORIGIN_ADVANCE","PG_REPLICATION_ORIGIN_CREATE","PG_REPLICATION_ORIGIN_DROP","PG_REPLICATION_ORIGIN_OID","PG_REPLICATION_ORIGIN_PROGRESS","PG_REPLICATION_ORIGIN_SESSION_IS_SETUP","PG_REPLICATION_ORIGIN_SESSION_PROGRESS","PG_REPLICATION_ORIGIN_SESSION_RESET","PG_REPLICATION_ORIGIN_SESSION_SETUP","PG_REPLICATION_ORIGIN_XACT_RESET","PG_REPLICATION_ORIGIN_XACT_SETUP","PG_REPLICATION_SLOT_ADVANCE","PG_ROTATE_LOGFILE","PG_SIZE_BYTES","PG_SIZE_PRETTY","PG_START_BACKUP","PG_STAT_FILE","PG_STOP_BACKUP","PG_SWITCH_WAL","PG_TABLESPACE_SIZE","PG_TABLE_SIZE","PG_TERMINATE_BACKEND","PG_TOTAL_RELATION_SIZE","PG_TRY_ADVISORY_LOCK","PG_TRY_ADVISORY_LOCK_SHARED","PG_TRY_ADVISORY_XACT_LOCK","PG_TRY_ADVISORY_XACT_LOCK_SHARED","PG_WALFILE_NAME","PG_WALFILE_NAME_OFFSET","PG_WAL_LSN_DIFF","PG_WAL_REPLAY_PAUSE","PG_WAL_REPLAY_RESUME","SET_CONFIG","SUPPRESS_REDUNDANT_UPDATES_TRIGGER","TSVECTOR_UPDATE_TRIGGER","TSVECTOR_UPDATE_TRIGGER_COLUMN","PG_EVENT_TRIGGER_DDL_COMMANDS","PG_EVENT_TRIGGER_DROPPED_OBJECTS","PG_EVENT_TRIGGER_TABLE_REWRITE_OID","PG_EVENT_TRIGGER_TABLE_REWRITE_REASON","PG_GET_OBJECT_ADDRESS","PG_MCV_LIST_ITEMS","CAST"],nestedBlockComments:!0,extraParens:["[]"],stringTypes:["$$",{quote:"''-qq",prefixes:["U&"]},{quote:"''-qq-bs",prefixes:["E"],requirePrefix:!0},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:[{quote:'""-qq',prefixes:["U&"]}],identChars:{rest:"$"},paramTypes:{numbered:["$"]},operators:["%","^","|/","||/","@",":=","&","|","#","~","<<",">>","~>~","~<~","~>=~","~<=~","@-@","@@","##","<->","&&","&<","&>","<<|","&<|","|>>","|&>","<^","^>","?#","?-","?|","?-|","?||","@>","<@","~=","?","@?","?&","->","->>","#>","#>>","#-","=>",">>=","<<=","~~","~~*","!~~","!~~*","~","~*","!~","!~*","-|-","||","@@@","!!","^@","<%","%>","<<%","%>>","<<->","<->>","<<<->","<->>>","::",":","<#>","<=>","<+>","<~>","<%>"],operatorKeyword:!0},formatOptions:{alwaysDenseOperators:["::",":"],onelineClauses:[...S$i,...w$i],tabularOnelineClauses:w$i}},R$i=Fji(["SELECT [ALL | DISTINCT]"]),N$i=Fji(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET"]),I$i=Fji(["CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]"]),D$i=Fji(["CREATE [OR REPLACE | MATERIALIZED] VIEW","UPDATE","DELETE [FROM]","DROP TABLE [IF EXISTS]","ALTER TABLE","ALTER TABLE APPEND","ADD [COLUMN]","DROP [COLUMN]","RENAME TO","RENAME COLUMN","ALTER COLUMN","TYPE","ENCODE","TRUNCATE [TABLE]","ABORT","ALTER DATABASE","ALTER DATASHARE","ALTER DEFAULT PRIVILEGES","ALTER GROUP","ALTER MATERIALIZED VIEW","ALTER PROCEDURE","ALTER SCHEMA","ALTER USER","ANALYSE","ANALYZE","ANALYSE COMPRESSION","ANALYZE COMPRESSION","BEGIN","CALL","CANCEL","CLOSE","COMMIT","COPY","CREATE DATABASE","CREATE DATASHARE","CREATE EXTERNAL FUNCTION","CREATE EXTERNAL SCHEMA","CREATE EXTERNAL TABLE","CREATE FUNCTION","CREATE GROUP","CREATE LIBRARY","CREATE MODEL","CREATE PROCEDURE","CREATE SCHEMA","CREATE USER","DEALLOCATE","DECLARE","DESC DATASHARE","DROP DATABASE","DROP DATASHARE","DROP FUNCTION","DROP GROUP","DROP LIBRARY","DROP MODEL","DROP MATERIALIZED VIEW","DROP PROCEDURE","DROP SCHEMA","DROP USER","DROP VIEW","DROP","EXECUTE","EXPLAIN","FETCH","GRANT","LOCK","PREPARE","REFRESH MATERIALIZED VIEW","RESET","REVOKE","ROLLBACK","SELECT INTO","SET SESSION AUTHORIZATION","SET SESSION CHARACTERISTICS","SHOW","SHOW EXTERNAL TABLE","SHOW MODEL","SHOW DATASHARES","SHOW PROCEDURE","SHOW TABLE","SHOW VIEW","START TRANSACTION","UNLOAD","VACUUM"]),O$i=Fji(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),k$i=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),L$i=Fji(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),M$i={name:"redshift",tokenizerOptions:{reservedSelect:R$i,reservedClauses:[...N$i,...I$i,...D$i],reservedSetOperations:O$i,reservedJoins:k$i,reservedPhrases:L$i,reservedKeywords:["AES128","AES256","ALL","ALLOWOVERWRITE","ANY","AS","ASC","AUTHORIZATION","BACKUP","BETWEEN","BINARY","BOTH","CHECK","COLUMN","CONSTRAINT","CREATE","CROSS","DEFAULT","DEFERRABLE","DEFLATE","DEFRAG","DESC","DISABLE","DISTINCT","DO","ENABLE","ENCODE","ENCRYPT","ENCRYPTION","EXPLICIT","FALSE","FOR","FOREIGN","FREEZE","FROM","FULL","GLOBALDICT256","GLOBALDICT64K","GROUP","IDENTITY","IGNORE","ILIKE","IN","INITIALLY","INNER","INTO","IS","ISNULL","LANGUAGE","LEADING","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","LUN","LUNS","MINUS","NATURAL","NEW","NOT","NOTNULL","NULL","NULLS","OFF","OFFLINE","OFFSET","OID","OLD","ON","ONLY","OPEN","ORDER","OUTER","OVERLAPS","PARALLEL","PARTITION","PERCENT","PERMISSIONS","PLACING","PRIMARY","RECOVER","REFERENCES","REJECTLOG","RESORT","RESPECT","RESTORE","SIMILAR","SNAPSHOT","SOME","SYSTEM","TABLE","TAG","TDES","THEN","TIMESTAMP","TO","TOP","TRAILING","TRUE","UNIQUE","USING","VERBOSE","WALLET","WITHOUT","ACCEPTANYDATE","ACCEPTINVCHARS","BLANKSASNULL","DATEFORMAT","EMPTYASNULL","ENCODING","ESCAPE","EXPLICIT_IDS","FILLRECORD","IGNOREBLANKLINES","IGNOREHEADER","REMOVEQUOTES","ROUNDEC","TIMEFORMAT","TRIMBLANKS","TRUNCATECOLUMNS","COMPROWS","COMPUPDATE","MAXERROR","NOLOAD","STATUPDATE","FORMAT","CSV","DELIMITER","FIXEDWIDTH","SHAPEFILE","AVRO","JSON","PARQUET","ORC","ACCESS_KEY_ID","CREDENTIALS","ENCRYPTED","IAM_ROLE","MASTER_SYMMETRIC_KEY","SECRET_ACCESS_KEY","SESSION_TOKEN","BZIP2","GZIP","LZOP","ZSTD","MANIFEST","READRATIO","REGION","SSH","RAW","AZ64","BYTEDICT","DELTA","DELTA32K","LZO","MOSTLY8","MOSTLY16","MOSTLY32","RUNLENGTH","TEXT255","TEXT32K","CATALOG_ROLE","SECRET_ARN","EXTERNAL","AUTO","EVEN","KEY","PREDICATE","COMPRESSION"],reservedDataTypes:["ARRAY","BIGINT","BPCHAR","CHAR","CHARACTER VARYING","CHARACTER","DECIMAL","INT","INT2","INT4","INT8","INTEGER","NCHAR","NUMERIC","NVARCHAR","SMALLINT","TEXT","VARBYTE","VARCHAR"],reservedFunctionNames:["ANY_VALUE","APPROXIMATE PERCENTILE_DISC","AVG","COUNT","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP","array","array_concat","array_flatten","get_array_length","split_to_array","subarray","BIT_AND","BIT_OR","BOOL_AND","BOOL_OR","COALESCE","DECODE","GREATEST","LEAST","NVL","NVL2","NULLIF","ADD_MONTHS","AT TIME ZONE","CONVERT_TIMEZONE","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_CMP","DATE_CMP_TIMESTAMP","DATE_CMP_TIMESTAMPTZ","DATE_PART_YEAR","DATEADD","DATEDIFF","DATE_PART","DATE_TRUNC","EXTRACT","GETDATE","INTERVAL_CMP","LAST_DAY","MONTHS_BETWEEN","NEXT_DAY","SYSDATE","TIMEOFDAY","TIMESTAMP_CMP","TIMESTAMP_CMP_DATE","TIMESTAMP_CMP_TIMESTAMPTZ","TIMESTAMPTZ_CMP","TIMESTAMPTZ_CMP_DATE","TIMESTAMPTZ_CMP_TIMESTAMP","TIMEZONE","TO_TIMESTAMP","TRUNC","AddBBox","DropBBox","GeometryType","ST_AddPoint","ST_Angle","ST_Area","ST_AsBinary","ST_AsEWKB","ST_AsEWKT","ST_AsGeoJSON","ST_AsText","ST_Azimuth","ST_Boundary","ST_Collect","ST_Contains","ST_ContainsProperly","ST_ConvexHull","ST_CoveredBy","ST_Covers","ST_Crosses","ST_Dimension","ST_Disjoint","ST_Distance","ST_DistanceSphere","ST_DWithin","ST_EndPoint","ST_Envelope","ST_Equals","ST_ExteriorRing","ST_Force2D","ST_Force3D","ST_Force3DM","ST_Force3DZ","ST_Force4D","ST_GeometryN","ST_GeometryType","ST_GeomFromEWKB","ST_GeomFromEWKT","ST_GeomFromText","ST_GeomFromWKB","ST_InteriorRingN","ST_Intersects","ST_IsPolygonCCW","ST_IsPolygonCW","ST_IsClosed","ST_IsCollection","ST_IsEmpty","ST_IsSimple","ST_IsValid","ST_Length","ST_LengthSphere","ST_Length2D","ST_LineFromMultiPoint","ST_LineInterpolatePoint","ST_M","ST_MakeEnvelope","ST_MakeLine","ST_MakePoint","ST_MakePolygon","ST_MemSize","ST_MMax","ST_MMin","ST_Multi","ST_NDims","ST_NPoints","ST_NRings","ST_NumGeometries","ST_NumInteriorRings","ST_NumPoints","ST_Perimeter","ST_Perimeter2D","ST_Point","ST_PointN","ST_Points","ST_Polygon","ST_RemovePoint","ST_Reverse","ST_SetPoint","ST_SetSRID","ST_Simplify","ST_SRID","ST_StartPoint","ST_Touches","ST_Within","ST_X","ST_XMax","ST_XMin","ST_Y","ST_YMax","ST_YMin","ST_Z","ST_ZMax","ST_ZMin","SupportsBBox","CHECKSUM","FUNC_SHA1","FNV_HASH","MD5","SHA","SHA1","SHA2","HLL","HLL_CREATE_SKETCH","HLL_CARDINALITY","HLL_COMBINE","IS_VALID_JSON","IS_VALID_JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_EXTRACT_ARRAY_ELEMENT_TEXT","JSON_EXTRACT_PATH_TEXT","JSON_PARSE","JSON_SERIALIZE","ABS","ACOS","ASIN","ATAN","ATAN2","CBRT","CEILING","CEIL","COS","COT","DEGREES","DEXP","DLOG1","DLOG10","EXP","FLOOR","LN","LOG","MOD","PI","POWER","RADIANS","RANDOM","ROUND","SIN","SIGN","SQRT","TAN","TO_HEX","TRUNC","EXPLAIN_MODEL","ASCII","BPCHARCMP","BTRIM","BTTEXT_PATTERN_CMP","CHAR_LENGTH","CHARACTER_LENGTH","CHARINDEX","CHR","COLLATE","CONCAT","CRC32","DIFFERENCE","INITCAP","LEFT","RIGHT","LEN","LENGTH","LOWER","LPAD","RPAD","LTRIM","OCTETINDEX","OCTET_LENGTH","POSITION","QUOTE_IDENT","QUOTE_LITERAL","REGEXP_COUNT","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","REPLICATE","REVERSE","RTRIM","SOUNDEX","SPLIT_PART","STRPOS","STRTOL","SUBSTRING","TEXTLEN","TRANSLATE","TRIM","UPPER","decimal_precision","decimal_scale","is_array","is_bigint","is_boolean","is_char","is_decimal","is_float","is_integer","is_object","is_scalar","is_smallint","is_varchar","json_typeof","AVG","COUNT","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAST_VALUE","LAG","LEAD","LISTAGG","MAX","MEDIAN","MIN","NTH_VALUE","NTILE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","RATIO_TO_REPORT","ROW_NUMBER","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP","CAST","CONVERT","TO_CHAR","TO_DATE","TO_NUMBER","TEXT_TO_INT_ALT","TEXT_TO_NUMERIC_ALT","CHANGE_QUERY_PRIORITY","CHANGE_SESSION_PRIORITY","CHANGE_USER_PRIORITY","CURRENT_SETTING","PG_CANCEL_BACKEND","PG_TERMINATE_BACKEND","REBOOT_CLUSTER","SET_CONFIG","CURRENT_AWS_ACCOUNT","CURRENT_DATABASE","CURRENT_NAMESPACE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","CURRENT_USER_ID","HAS_ASSUMEROLE_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_TABLE_PRIVILEGE","PG_BACKEND_PID","PG_GET_COLS","PG_GET_GRANTEE_BY_IAM_ROLE","PG_GET_IAM_ROLE_BY_USER","PG_GET_LATE_BINDING_VIEW_COLS","PG_LAST_COPY_COUNT","PG_LAST_COPY_ID","PG_LAST_UNLOAD_ID","PG_LAST_QUERY_ID","PG_LAST_UNLOAD_COUNT","SESSION_USER","SLICE_NUM","USER","VERSION"],stringTypes:["''-qq"],identTypes:['""-qq'],identChars:{first:"#"},paramTypes:{numbered:["$"]},operators:["^","%","@","|/","||/","&","|","~","<<",">>","||","::"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...I$i,...D$i],tabularOnelineClauses:D$i}},P$i=Fji(["SELECT [ALL | DISTINCT]"]),F$i=Fji(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","SORT BY","CLUSTER BY","DISTRIBUTE BY","LIMIT","INSERT [INTO | OVERWRITE] [TABLE]","VALUES","INSERT OVERWRITE [LOCAL] DIRECTORY","LOAD DATA [LOCAL] INPATH","[OVERWRITE] INTO TABLE"]),B$i=Fji(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]),V$i=Fji(["CREATE [OR REPLACE] [GLOBAL TEMPORARY | TEMPORARY] VIEW [IF NOT EXISTS]","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD COLUMNS","DROP {COLUMN | COLUMNS}","RENAME TO","RENAME COLUMN","ALTER COLUMN","TRUNCATE TABLE","LATERAL VIEW","ALTER DATABASE","ALTER VIEW","CREATE DATABASE","CREATE FUNCTION","DROP DATABASE","DROP FUNCTION","DROP VIEW","REPAIR TABLE","USE DATABASE","TABLESAMPLE","PIVOT","TRANSFORM","EXPLAIN","ADD FILE","ADD JAR","ANALYZE TABLE","CACHE TABLE","CLEAR CACHE","DESCRIBE DATABASE","DESCRIBE FUNCTION","DESCRIBE QUERY","DESCRIBE TABLE","LIST FILE","LIST JAR","REFRESH","REFRESH TABLE","REFRESH FUNCTION","RESET","SHOW COLUMNS","SHOW CREATE TABLE","SHOW DATABASES","SHOW FUNCTIONS","SHOW PARTITIONS","SHOW TABLE EXTENDED","SHOW TABLES","SHOW TBLPROPERTIES","SHOW VIEWS","UNCACHE TABLE"]),U$i=Fji(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),G$i=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT] {ANTI | SEMI} JOIN","NATURAL [LEFT] {ANTI | SEMI} JOIN"]),H$i=Fji(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),z$i={name:"spark",tokenizerOptions:{reservedSelect:P$i,reservedClauses:[...F$i,...B$i,...V$i],reservedSetOperations:U$i,reservedJoins:G$i,reservedPhrases:H$i,supportsXor:!0,reservedKeywords:["ADD","AFTER","ALL","ALTER","ANALYZE","AND","ANTI","ANY","ARCHIVE","AS","ASC","AT","AUTHORIZATION","BETWEEN","BOTH","BUCKET","BUCKETS","BY","CACHE","CASCADE","CAST","CHANGE","CHECK","CLEAR","CLUSTER","CLUSTERED","CODEGEN","COLLATE","COLLECTION","COLUMN","COLUMNS","COMMENT","COMMIT","COMPACT","COMPACTIONS","COMPUTE","CONCATENATE","CONSTRAINT","COST","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATA","DATABASE","DATABASES","DAY","DBPROPERTIES","DEFINED","DELETE","DELIMITED","DESC","DESCRIBE","DFS","DIRECTORIES","DIRECTORY","DISTINCT","DISTRIBUTE","DIV","DROP","ESCAPE","ESCAPED","EXCEPT","EXCHANGE","EXISTS","EXPORT","EXTENDED","EXTERNAL","EXTRACT","FALSE","FETCH","FIELDS","FILTER","FILEFORMAT","FIRST","FIRST_VALUE","FOLLOWING","FOR","FOREIGN","FORMAT","FORMATTED","FULL","FUNCTION","FUNCTIONS","GLOBAL","GRANT","GROUP","GROUPING","HOUR","IF","IGNORE","IMPORT","IN","INDEX","INDEXES","INNER","INPATH","INPUTFORMAT","INTERSECT","INTO","IS","ITEMS","KEYS","LAST","LAST_VALUE","LATERAL","LAZY","LEADING","LEFT","LIKE","LINES","LIST","LOCAL","LOCATION","LOCK","LOCKS","LOGICAL","MACRO","MATCHED","MERGE","MINUTE","MONTH","MSCK","NAMESPACE","NAMESPACES","NATURAL","NO","NOT","NULL","NULLS","OF","ONLY","OPTION","OPTIONS","OR","ORDER","OUT","OUTER","OUTPUTFORMAT","OVER","OVERLAPS","OVERLAY","OVERWRITE","OWNER","PARTITION","PARTITIONED","PARTITIONS","PERCENT","PLACING","POSITION","PRECEDING","PRIMARY","PRINCIPALS","PROPERTIES","PURGE","QUERY","RANGE","RECORDREADER","RECORDWRITER","RECOVER","REDUCE","REFERENCES","RENAME","REPAIR","REPLACE","RESPECT","RESTRICT","REVOKE","RIGHT","RLIKE","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","SCHEMA","SECOND","SELECT","SEMI","SEPARATED","SERDE","SERDEPROPERTIES","SESSION_USER","SETS","SHOW","SKEWED","SOME","SORT","SORTED","START","STATISTICS","STORED","STRATIFY","SUBSTR","SUBSTRING","TABLE","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","THEN","TO","TOUCH","TRAILING","TRANSACTION","TRANSACTIONS","TRIM","TRUE","TRUNCATE","UNARCHIVE","UNBOUNDED","UNCACHE","UNIQUE","UNKNOWN","UNLOCK","UNSET","USE","USER","USING","VIEW","WINDOW","YEAR","ANALYSE","ARRAY_ZIP","COALESCE","CONTAINS","CONVERT","DAYS","DAY_HOUR","DAY_MINUTE","DAY_SECOND","DECODE","DEFAULT","DISTINCTROW","ENCODE","EXPLODE","EXPLODE_OUTER","FIXED","GREATEST","GROUP_CONCAT","HOURS","HOUR_MINUTE","HOUR_SECOND","IFNULL","LEAST","LEVEL","MINUTE_SECOND","NULLIF","OFFSET","ON","OPTIMIZE","REGEXP","SEPARATOR","SIZE","TYPE","TYPES","UNSIGNED","VARIABLES","YEAR_MONTH"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BOOLEAN","BYTE","CHAR","DATE","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","LONG","MAP","NUMERIC","REAL","SHORT","SMALLINT","STRING","STRUCT","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMP","TINYINT","VARCHAR"],reservedFunctionNames:["APPROX_COUNT_DISTINCT","APPROX_PERCENTILE","AVG","BIT_AND","BIT_OR","BIT_XOR","BOOL_AND","BOOL_OR","COLLECT_LIST","COLLECT_SET","CORR","COUNT","COUNT","COUNT","COUNT_IF","COUNT_MIN_SKETCH","COVAR_POP","COVAR_SAMP","EVERY","FIRST","FIRST_VALUE","GROUPING","GROUPING_ID","KURTOSIS","LAST","LAST_VALUE","MAX","MAX_BY","MEAN","MIN","MIN_BY","PERCENTILE","PERCENTILE","PERCENTILE_APPROX","SKEWNESS","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","CUME_DIST","DENSE_RANK","LAG","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","ARRAY","ARRAY_CONTAINS","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_REPEAT","ARRAY_UNION","ARRAYS_OVERLAP","ARRAYS_ZIP","FLATTEN","SEQUENCE","SHUFFLE","SLICE","SORT_ARRAY","ELEMENT_AT","ELEMENT_AT","MAP_CONCAT","MAP_ENTRIES","MAP_FROM_ARRAYS","MAP_FROM_ENTRIES","MAP_KEYS","MAP_VALUES","STR_TO_MAP","ADD_MONTHS","CURRENT_DATE","CURRENT_DATE","CURRENT_TIMESTAMP","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","DATE_ADD","DATE_FORMAT","DATE_FROM_UNIX_DATE","DATE_PART","DATE_SUB","DATE_TRUNC","DATEDIFF","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","MAKE_DATE","MAKE_DT_INTERVAL","MAKE_INTERVAL","MAKE_TIMESTAMP","MAKE_YM_INTERVAL","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","NOW","QUARTER","SECOND","SESSION_WINDOW","TIMESTAMP_MICROS","TIMESTAMP_MILLIS","TIMESTAMP_SECONDS","TO_DATE","TO_TIMESTAMP","TO_UNIX_TIMESTAMP","TO_UTC_TIMESTAMP","TRUNC","UNIX_DATE","UNIX_MICROS","UNIX_MILLIS","UNIX_SECONDS","UNIX_TIMESTAMP","WEEKDAY","WEEKOFYEAR","WINDOW","YEAR","FROM_JSON","GET_JSON_OBJECT","JSON_ARRAY_LENGTH","JSON_OBJECT_KEYS","JSON_TUPLE","SCHEMA_OF_JSON","TO_JSON","ABS","ACOS","ACOSH","AGGREGATE","ARRAY_SORT","ASCII","ASIN","ASINH","ASSERT_TRUE","ATAN","ATAN2","ATANH","BASE64","BIN","BIT_COUNT","BIT_GET","BIT_LENGTH","BROUND","BTRIM","CARDINALITY","CBRT","CEIL","CEILING","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONV","COS","COSH","COT","CRC32","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_USER","DEGREES","ELT","EXP","EXPM1","FACTORIAL","FIND_IN_SET","FLOOR","FORALL","FORMAT_NUMBER","FORMAT_STRING","FROM_CSV","GETBIT","HASH","HEX","HYPOT","INITCAP","INLINE","INLINE_OUTER","INPUT_FILE_BLOCK_LENGTH","INPUT_FILE_BLOCK_START","INPUT_FILE_NAME","INSTR","ISNAN","ISNOTNULL","ISNULL","JAVA_METHOD","LCASE","LEFT","LENGTH","LEVENSHTEIN","LN","LOCATE","LOG","LOG10","LOG1P","LOG2","LOWER","LPAD","LTRIM","MAP_FILTER","MAP_ZIP_WITH","MD5","MOD","MONOTONICALLY_INCREASING_ID","NAMED_STRUCT","NANVL","NEGATIVE","NVL","NVL2","OCTET_LENGTH","OVERLAY","PARSE_URL","PI","PMOD","POSEXPLODE","POSEXPLODE_OUTER","POSITION","POSITIVE","POW","POWER","PRINTF","RADIANS","RAISE_ERROR","RAND","RANDN","RANDOM","REFLECT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_REPLACE","REPEAT","REPLACE","REVERSE","RIGHT","RINT","ROUND","RPAD","RTRIM","SCHEMA_OF_CSV","SENTENCES","SHA","SHA1","SHA2","SHIFTLEFT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","SIGN","SIGNUM","SIN","SINH","SOUNDEX","SPACE","SPARK_PARTITION_ID","SPLIT","SQRT","STACK","SUBSTR","SUBSTRING","SUBSTRING_INDEX","TAN","TANH","TO_CSV","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRY_ADD","TRY_DIVIDE","TYPEOF","UCASE","UNBASE64","UNHEX","UPPER","UUID","VERSION","WIDTH_BUCKET","XPATH","XPATH_BOOLEAN","XPATH_DOUBLE","XPATH_FLOAT","XPATH_INT","XPATH_LONG","XPATH_NUMBER","XPATH_SHORT","XPATH_STRING","XXHASH64","ZIP_WITH","CAST","COALESCE","NULLIF"],extraParens:["[]"],stringTypes:["''-bs",'""-bs',{quote:"''-raw",prefixes:["R","X"],requirePrefix:!0},{quote:'""-raw',prefixes:["R","X"],requirePrefix:!0}],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||","->"],postProcess:function(e){return e.map((t,n)=>{const i=e[n-1]||Xji,r=e[n+1]||Xji;return Qji.WINDOW(t)&&"OPEN_PAREN"===r.type?Mji(Lji({},t),{type:"RESERVED_FUNCTION_NAME"}):"ITEMS"!==t.text||"RESERVED_KEYWORD"!==t.type||"COLLECTION"===i.text&&"TERMINATED"===r.text?t:Mji(Lji({},t),{type:"IDENTIFIER",text:t.raw})})}},formatOptions:{onelineClauses:[...B$i,...V$i],tabularOnelineClauses:V$i}};var j$i=Fji(["SELECT [ALL | DISTINCT]"]),W$i=Fji(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK] INTO","REPLACE INTO","VALUES","SET"]),$$i=Fji(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),q$i=Fji(["CREATE [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]","UPDATE [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK]","ON CONFLICT","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","DROP [COLUMN]","RENAME [COLUMN]","RENAME TO","SET SCHEMA"]),Y$i=Fji(["UNION [ALL]","EXCEPT","INTERSECT"]),K$i=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),X$i=Fji(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","DO UPDATE"]),Z$i={name:"sqlite",tokenizerOptions:{reservedSelect:j$i,reservedClauses:[...W$i,...$$i,...q$i],reservedSetOperations:Y$i,reservedJoins:K$i,reservedPhrases:X$i,reservedKeywords:["ABORT","ACTION","ADD","AFTER","ALL","ALTER","AND","ARE","ALWAYS","ANALYZE","AS","ASC","ATTACH","AUTOINCREMENT","BEFORE","BEGIN","BETWEEN","BY","CASCADE","CASE","CAST","CHECK","COLLATE","COLUMN","COMMIT","CONFLICT","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATABASE","DEFAULT","DEFERRABLE","DEFERRED","DELETE","DESC","DETACH","DISTINCT","DO","DROP","EACH","ELSE","END","ESCAPE","EXCEPT","EXCLUDE","EXCLUSIVE","EXISTS","EXPLAIN","FAIL","FILTER","FIRST","FOLLOWING","FOR","FOREIGN","FROM","FULL","GENERATED","GLOB","GROUP","HAVING","IF","IGNORE","IMMEDIATE","IN","INDEX","INDEXED","INITIALLY","INNER","INSERT","INSTEAD","INTERSECT","INTO","IS","ISNULL","JOIN","KEY","LAST","LEFT","LIKE","LIMIT","MATCH","MATERIALIZED","NATURAL","NO","NOT","NOTHING","NOTNULL","NULL","NULLS","OF","OFFSET","ON","ONLY","OPEN","OR","ORDER","OTHERS","OUTER","OVER","PARTITION","PLAN","PRAGMA","PRECEDING","PRIMARY","QUERY","RAISE","RANGE","RECURSIVE","REFERENCES","REGEXP","REINDEX","RELEASE","RENAME","REPLACE","RESTRICT","RETURNING","RIGHT","ROLLBACK","ROW","ROWS","SAVEPOINT","SELECT","SET","TABLE","TEMP","TEMPORARY","THEN","TIES","TO","TRANSACTION","TRIGGER","UNBOUNDED","UNION","UNIQUE","UPDATE","USING","VACUUM","VALUES","VIEW","VIRTUAL","WHEN","WHERE","WINDOW","WITH","WITHOUT"],reservedDataTypes:["ANY","ARRAY","BLOB","CHARACTER","DECIMAL","INT","INTEGER","NATIVE CHARACTER","NCHAR","NUMERIC","NVARCHAR","REAL","TEXT","VARCHAR","VARYING CHARACTER"],reservedFunctionNames:["ABS","CHANGES","CHAR","COALESCE","FORMAT","GLOB","HEX","IFNULL","IIF","INSTR","LAST_INSERT_ROWID","LENGTH","LIKE","LIKELIHOOD","LIKELY","LOAD_EXTENSION","LOWER","LTRIM","NULLIF","PRINTF","QUOTE","RANDOM","RANDOMBLOB","REPLACE","ROUND","RTRIM","SIGN","SOUNDEX","SQLITE_COMPILEOPTION_GET","SQLITE_COMPILEOPTION_USED","SQLITE_OFFSET","SQLITE_SOURCE_ID","SQLITE_VERSION","SUBSTR","SUBSTRING","TOTAL_CHANGES","TRIM","TYPEOF","UNICODE","UNLIKELY","UPPER","ZEROBLOB","AVG","COUNT","GROUP_CONCAT","MAX","MIN","SUM","TOTAL","DATE","TIME","DATETIME","JULIANDAY","UNIXEPOCH","STRFTIME","row_number","rank","dense_rank","percent_rank","cume_dist","ntile","lag","lead","first_value","last_value","nth_value","ACOS","ACOSH","ASIN","ASINH","ATAN","ATAN2","ATANH","CEIL","CEILING","COS","COSH","DEGREES","EXP","FLOOR","LN","LOG","LOG","LOG10","LOG2","MOD","PI","POW","POWER","RADIANS","SIN","SINH","SQRT","TAN","TANH","TRUNC","JSON","JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_ARRAY_LENGTH","JSON_EXTRACT","JSON_INSERT","JSON_OBJECT","JSON_PATCH","JSON_REMOVE","JSON_REPLACE","JSON_SET","JSON_TYPE","JSON_TYPE","JSON_VALID","JSON_QUOTE","JSON_GROUP_ARRAY","JSON_GROUP_OBJECT","JSON_EACH","JSON_TREE","CAST"],stringTypes:["''-qq",{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``","[]"],paramTypes:{positional:!0,numbered:["?"],named:[":","@","$"]},operators:["%","~","&","|","<<",">>","==","->","->>","||"]},formatOptions:{onelineClauses:[...$$i,...q$i],tabularOnelineClauses:q$i}},Q$i=Fji(["SELECT [ALL | DISTINCT]"]),J$i=Fji(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET"]),eqi=Fji(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]),tqi=Fji(["CREATE [RECURSIVE] VIEW","UPDATE","WHERE CURRENT OF","DELETE FROM","DROP TABLE","ALTER TABLE","ADD COLUMN","DROP [COLUMN]","RENAME COLUMN","RENAME TO","ALTER [COLUMN]","{SET | DROP} DEFAULT","ADD SCOPE","DROP SCOPE {CASCADE | RESTRICT}","RESTART WITH","TRUNCATE TABLE","SET SCHEMA"]),nqi=Fji(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),iqi=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),rqi=Fji(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),sqi={name:"sql",tokenizerOptions:{reservedSelect:Q$i,reservedClauses:[...J$i,...eqi,...tqi],reservedSetOperations:nqi,reservedJoins:iqi,reservedPhrases:rqi,reservedKeywords:["ALL","ALLOCATE","ALTER","ANY","ARE","AS","ASC","ASENSITIVE","ASYMMETRIC","AT","ATOMIC","AUTHORIZATION","BEGIN","BETWEEN","BOTH","BY","CALL","CALLED","CASCADED","CAST","CHECK","CLOSE","COALESCE","COLLATE","COLUMN","COMMIT","CONDITION","CONNECT","CONSTRAINT","CORRESPONDING","CREATE","CROSS","CUBE","CURRENT","CURRENT_CATALOG","CURRENT_DEFAULT_TRANSFORM_GROUP","CURRENT_PATH","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TRANSFORM_GROUP_FOR_TYPE","CURRENT_USER","CURSOR","CYCLE","DEALLOCATE","DAY","DECLARE","DEFAULT","DELETE","DEREF","DESC","DESCRIBE","DETERMINISTIC","DISCONNECT","DISTINCT","DROP","DYNAMIC","EACH","ELEMENT","END-EXEC","ESCAPE","EVERY","EXCEPT","EXEC","EXECUTE","EXISTS","EXTERNAL","FALSE","FETCH","FILTER","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","GET","GLOBAL","GRANT","GROUP","HAVING","HOLD","HOUR","IDENTITY","IN","INDICATOR","INNER","INOUT","INSENSITIVE","INSERT","INTERSECT","INTO","IS","LANGUAGE","LARGE","LATERAL","LEADING","LEFT","LIKE","LIKE_REGEX","LOCAL","MATCH","MEMBER","MERGE","METHOD","MINUTE","MODIFIES","MODULE","MONTH","NATURAL","NEW","NO","NONE","NOT","NULL","NULLIF","OF","OLD","ON","ONLY","OPEN","ORDER","OUT","OUTER","OVER","OVERLAPS","PARAMETER","PARTITION","PRECISION","PREPARE","PRIMARY","PROCEDURE","RANGE","READS","REAL","RECURSIVE","REF","REFERENCES","REFERENCING","RELEASE","RESULT","RETURN","RETURNS","REVOKE","RIGHT","ROLLBACK","ROLLUP","ROW","ROWS","SAVEPOINT","SCOPE","SCROLL","SEARCH","SECOND","SELECT","SENSITIVE","SESSION_USER","SET","SIMILAR","SOME","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","START","STATIC","SUBMULTISET","SYMMETRIC","SYSTEM","SYSTEM_USER","TABLE","TABLESAMPLE","THEN","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRANSLATION","TREAT","TRIGGER","TRUE","UESCAPE","UNION","UNIQUE","UNKNOWN","UNNEST","UPDATE","USER","USING","VALUE","VALUES","WHENEVER","WINDOW","WITHIN","WITHOUT","YEAR"],reservedDataTypes:["ARRAY","BIGINT","BINARY LARGE OBJECT","BINARY VARYING","BINARY","BLOB","BOOLEAN","CHAR LARGE OBJECT","CHAR VARYING","CHAR","CHARACTER LARGE OBJECT","CHARACTER VARYING","CHARACTER","CLOB","DATE","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MULTISET","NATIONAL CHAR VARYING","NATIONAL CHAR","NATIONAL CHARACTER LARGE OBJECT","NATIONAL CHARACTER VARYING","NATIONAL CHARACTER","NCHAR LARGE OBJECT","NCHAR VARYING","NCHAR","NCLOB","NUMERIC","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR"],reservedFunctionNames:["GROUPING","RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","ROW_NUMBER","POSITION","OCCURRENCES_REGEX","POSITION_REGEX","EXTRACT","CHAR_LENGTH","CHARACTER_LENGTH","OCTET_LENGTH","CARDINALITY","ABS","MOD","LN","EXP","POWER","SQRT","FLOOR","CEIL","CEILING","WIDTH_BUCKET","SUBSTRING","SUBSTRING_REGEX","UPPER","LOWER","CONVERT","TRANSLATE","TRANSLATE_REGEX","TRIM","OVERLAY","NORMALIZE","SPECIFICTYPE","CURRENT_DATE","CURRENT_TIME","LOCALTIME","CURRENT_TIMESTAMP","LOCALTIMESTAMP","COUNT","AVG","MAX","MIN","SUM","STDDEV_POP","STDDEV_SAMP","VAR_SAMP","VAR_POP","COLLECT","FUSION","INTERSECTION","COVAR_POP","COVAR_SAMP","CORR","REGR_SLOPE","REGR_INTERCEPT","REGR_COUNT","REGR_R2","REGR_AVGX","REGR_AVGY","REGR_SXX","REGR_SYY","REGR_SXY","PERCENTILE_CONT","PERCENTILE_DISC","CAST","COALESCE","NULLIF","ROUND","SIN","COS","TAN","ASIN","ACOS","ATAN"],stringTypes:[{quote:"''-qq-bs",prefixes:["N","U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``"],paramTypes:{positional:!0},operators:["||"]},formatOptions:{onelineClauses:[...eqi,...tqi],tabularOnelineClauses:tqi}},oqi=Fji(["SELECT [ALL | DISTINCT]"]),aqi=Fji(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET","MATCH_RECOGNIZE","MEASURES","ONE ROW PER MATCH","ALL ROWS PER MATCH","AFTER MATCH","PATTERN","SUBSET","DEFINE"]),lqi=Fji(["CREATE TABLE [IF NOT EXISTS]"]),cqi=Fji(["CREATE [OR REPLACE] [MATERIALIZED] VIEW","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","ADD COLUMN [IF NOT EXISTS]","DROP COLUMN [IF EXISTS]","RENAME COLUMN [IF EXISTS]","RENAME TO","SET AUTHORIZATION [USER | ROLE]","SET PROPERTIES","EXECUTE","TRUNCATE TABLE","ALTER SCHEMA","ALTER MATERIALIZED VIEW","ALTER VIEW","CREATE SCHEMA","CREATE ROLE","DROP SCHEMA","DROP MATERIALIZED VIEW","DROP VIEW","DROP ROLE","EXPLAIN","ANALYZE","EXPLAIN ANALYZE","EXPLAIN ANALYZE VERBOSE","USE","DESCRIBE INPUT","DESCRIBE OUTPUT","REFRESH MATERIALIZED VIEW","RESET SESSION","SET SESSION","SET PATH","SET TIME ZONE","SHOW GRANTS","SHOW CREATE TABLE","SHOW CREATE SCHEMA","SHOW CREATE VIEW","SHOW CREATE MATERIALIZED VIEW","SHOW TABLES","SHOW SCHEMAS","SHOW CATALOGS","SHOW COLUMNS","SHOW STATS FOR","SHOW ROLES","SHOW CURRENT ROLES","SHOW ROLE GRANTS","SHOW FUNCTIONS","SHOW SESSION"]),uqi=Fji(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),dqi=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),hqi=Fji(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM"]),pqi={name:"trino",tokenizerOptions:{reservedSelect:oqi,reservedClauses:[...aqi,...lqi,...cqi],reservedSetOperations:uqi,reservedJoins:dqi,reservedPhrases:hqi,reservedKeywords:["ABSENT","ADD","ADMIN","AFTER","ALL","ALTER","ANALYZE","AND","ANY","AS","ASC","AT","AUTHORIZATION","BERNOULLI","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CATALOGS","COLUMN","COLUMNS","COMMENT","COMMIT","COMMITTED","CONDITIONAL","CONSTRAINT","COPARTITION","CREATE","CROSS","CUBE","CURRENT","CURRENT_PATH","CURRENT_ROLE","DATA","DEALLOCATE","DEFAULT","DEFINE","DEFINER","DELETE","DENY","DESC","DESCRIBE","DESCRIPTOR","DISTINCT","DISTRIBUTED","DOUBLE","DROP","ELSE","EMPTY","ENCODING","END","ERROR","ESCAPE","EXCEPT","EXCLUDING","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FINAL","FIRST","FOLLOWING","FOR","FROM","FULL","FUNCTIONS","GRANT","GRANTED","GRANTS","GRAPHVIZ","GROUP","GROUPING","GROUPS","HAVING","IGNORE","IN","INCLUDING","INITIAL","INNER","INPUT","INSERT","INTERSECT","INTERVAL","INTO","INVOKER","IO","IS","ISOLATION","JOIN","JSON","JSON_ARRAY","JSON_OBJECT","KEEP","KEY","KEYS","LAST","LATERAL","LEADING","LEFT","LEVEL","LIKE","LIMIT","LOCAL","LOGICAL","MATCH","MATCHED","MATCHES","MATCH_RECOGNIZE","MATERIALIZED","MEASURES","NATURAL","NEXT","NFC","NFD","NFKC","NFKD","NO","NONE","NOT","NULL","NULLS","OBJECT","OF","OFFSET","OMIT","ON","ONE","ONLY","OPTION","OR","ORDER","ORDINALITY","OUTER","OUTPUT","OVER","OVERFLOW","PARTITION","PARTITIONS","PASSING","PAST","PATH","PATTERN","PER","PERMUTE","PRECEDING","PRECISION","PREPARE","PRIVILEGES","PROPERTIES","PRUNE","QUOTES","RANGE","READ","RECURSIVE","REFRESH","RENAME","REPEATABLE","RESET","RESPECT","RESTRICT","RETURNING","REVOKE","RIGHT","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","RUNNING","SCALAR","SCHEMA","SCHEMAS","SECURITY","SEEK","SELECT","SERIALIZABLE","SESSION","SET","SETS","SHOW","SKIP","SOME","START","STATS","STRING","SUBSET","SYSTEM","TABLE","TABLES","TABLESAMPLE","TEXT","THEN","TIES","TIME","TIMESTAMP","TO","TRAILING","TRANSACTION","TRUE","TYPE","UESCAPE","UNBOUNDED","UNCOMMITTED","UNCONDITIONAL","UNION","UNIQUE","UNKNOWN","UNMATCHED","UNNEST","UPDATE","USE","USER","USING","UTF16","UTF32","UTF8","VALIDATE","VALUE","VALUES","VERBOSE","VIEW","WHEN","WHERE","WINDOW","WITH","WITHIN","WITHOUT","WORK","WRAPPER","WRITE","ZONE"],reservedDataTypes:["BIGINT","INT","INTEGER","SMALLINT","TINYINT","BOOLEAN","DATE","DECIMAL","REAL","DOUBLE","HYPERLOGLOG","QDIGEST","TDIGEST","P4HYPERLOGLOG","INTERVAL","TIMESTAMP","TIME","VARBINARY","VARCHAR","CHAR","ROW","ARRAY","MAP","JSON","JSON2016","IPADDRESS","GEOMETRY","UUID","SETDIGEST","JONIREGEXP","RE2JREGEXP","LIKEPATTERN","COLOR","CODEPOINTS","FUNCTION","JSONPATH"],reservedFunctionNames:["ABS","ACOS","ALL_MATCH","ANY_MATCH","APPROX_DISTINCT","APPROX_MOST_FREQUENT","APPROX_PERCENTILE","APPROX_SET","ARBITRARY","ARRAYS_OVERLAP","ARRAY_AGG","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_SORT","ARRAY_UNION","ASIN","ATAN","ATAN2","AT_TIMEZONE","AVG","BAR","BETA_CDF","BING_TILE","BING_TILES_AROUND","BING_TILE_AT","BING_TILE_COORDINATES","BING_TILE_POLYGON","BING_TILE_QUADKEY","BING_TILE_ZOOM_LEVEL","BITWISE_AND","BITWISE_AND_AGG","BITWISE_LEFT_SHIFT","BITWISE_NOT","BITWISE_OR","BITWISE_OR_AGG","BITWISE_RIGHT_SHIFT","BITWISE_RIGHT_SHIFT_ARITHMETIC","BITWISE_XOR","BIT_COUNT","BOOL_AND","BOOL_OR","CARDINALITY","CAST","CBRT","CEIL","CEILING","CHAR2HEXINT","CHECKSUM","CHR","CLASSIFY","COALESCE","CODEPOINT","COLOR","COMBINATIONS","CONCAT","CONCAT_WS","CONTAINS","CONTAINS_SEQUENCE","CONVEX_HULL_AGG","CORR","COS","COSH","COSINE_SIMILARITY","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CRC32","CUME_DIST","CURRENT_CATALOG","CURRENT_DATE","CURRENT_GROUPS","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","DATE","DATE_ADD","DATE_DIFF","DATE_FORMAT","DATE_PARSE","DATE_TRUNC","DAY","DAY_OF_MONTH","DAY_OF_WEEK","DAY_OF_YEAR","DEGREES","DENSE_RANK","DOW","DOY","E","ELEMENT_AT","EMPTY_APPROX_SET","EVALUATE_CLASSIFIER_PREDICTIONS","EVERY","EXP","EXTRACT","FEATURES","FILTER","FIRST_VALUE","FLATTEN","FLOOR","FORMAT","FORMAT_DATETIME","FORMAT_NUMBER","FROM_BASE","FROM_BASE32","FROM_BASE64","FROM_BASE64URL","FROM_BIG_ENDIAN_32","FROM_BIG_ENDIAN_64","FROM_ENCODED_POLYLINE","FROM_GEOJSON_GEOMETRY","FROM_HEX","FROM_IEEE754_32","FROM_IEEE754_64","FROM_ISO8601_DATE","FROM_ISO8601_TIMESTAMP","FROM_ISO8601_TIMESTAMP_NANOS","FROM_UNIXTIME","FROM_UNIXTIME_NANOS","FROM_UTF8","GEOMETRIC_MEAN","GEOMETRY_FROM_HADOOP_SHAPE","GEOMETRY_INVALID_REASON","GEOMETRY_NEAREST_POINTS","GEOMETRY_TO_BING_TILES","GEOMETRY_UNION","GEOMETRY_UNION_AGG","GREATEST","GREAT_CIRCLE_DISTANCE","HAMMING_DISTANCE","HASH_COUNTS","HISTOGRAM","HMAC_MD5","HMAC_SHA1","HMAC_SHA256","HMAC_SHA512","HOUR","HUMAN_READABLE_SECONDS","IF","INDEX","INFINITY","INTERSECTION_CARDINALITY","INVERSE_BETA_CDF","INVERSE_NORMAL_CDF","IS_FINITE","IS_INFINITE","IS_JSON_SCALAR","IS_NAN","JACCARD_INDEX","JSON_ARRAY_CONTAINS","JSON_ARRAY_GET","JSON_ARRAY_LENGTH","JSON_EXISTS","JSON_EXTRACT","JSON_EXTRACT_SCALAR","JSON_FORMAT","JSON_PARSE","JSON_QUERY","JSON_SIZE","JSON_VALUE","KURTOSIS","LAG","LAST_DAY_OF_MONTH","LAST_VALUE","LEAD","LEARN_CLASSIFIER","LEARN_LIBSVM_CLASSIFIER","LEARN_LIBSVM_REGRESSOR","LEARN_REGRESSOR","LEAST","LENGTH","LEVENSHTEIN_DISTANCE","LINE_INTERPOLATE_POINT","LINE_INTERPOLATE_POINTS","LINE_LOCATE_POINT","LISTAGG","LN","LOCALTIME","LOCALTIMESTAMP","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","LUHN_CHECK","MAKE_SET_DIGEST","MAP","MAP_AGG","MAP_CONCAT","MAP_ENTRIES","MAP_FILTER","MAP_FROM_ENTRIES","MAP_KEYS","MAP_UNION","MAP_VALUES","MAP_ZIP_WITH","MAX","MAX_BY","MD5","MERGE","MERGE_SET_DIGEST","MILLISECOND","MIN","MINUTE","MIN_BY","MOD","MONTH","MULTIMAP_AGG","MULTIMAP_FROM_ENTRIES","MURMUR3","NAN","NGRAMS","NONE_MATCH","NORMALIZE","NORMAL_CDF","NOW","NTH_VALUE","NTILE","NULLIF","NUMERIC_HISTOGRAM","OBJECTID","OBJECTID_TIMESTAMP","PARSE_DATA_SIZE","PARSE_DATETIME","PARSE_DURATION","PERCENT_RANK","PI","POSITION","POW","POWER","QDIGEST_AGG","QUARTER","RADIANS","RAND","RANDOM","RANK","REDUCE","REDUCE_AGG","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_POSITION","REGEXP_REPLACE","REGEXP_SPLIT","REGRESS","REGR_INTERCEPT","REGR_SLOPE","RENDER","REPEAT","REPLACE","REVERSE","RGB","ROUND","ROW_NUMBER","RPAD","RTRIM","SECOND","SEQUENCE","SHA1","SHA256","SHA512","SHUFFLE","SIGN","SIMPLIFY_GEOMETRY","SIN","SKEWNESS","SLICE","SOUNDEX","SPATIAL_PARTITIONING","SPATIAL_PARTITIONS","SPLIT","SPLIT_PART","SPLIT_TO_MAP","SPLIT_TO_MULTIMAP","SPOOKY_HASH_V2_32","SPOOKY_HASH_V2_64","SQRT","STARTS_WITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRPOS","ST_AREA","ST_ASBINARY","ST_ASTEXT","ST_BOUNDARY","ST_BUFFER","ST_CENTROID","ST_CONTAINS","ST_CONVEXHULL","ST_COORDDIM","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_ENDPOINT","ST_ENVELOPE","ST_ENVELOPEASPTS","ST_EQUALS","ST_EXTERIORRING","ST_GEOMETRIES","ST_GEOMETRYFROMTEXT","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMBINARY","ST_INTERIORRINGN","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISRING","ST_ISSIMPLE","ST_ISVALID","ST_LENGTH","ST_LINEFROMTEXT","ST_LINESTRING","ST_MULTIPOINT","ST_NUMGEOMETRIES","ST_NUMINTERIORRING","ST_NUMPOINTS","ST_OVERLAPS","ST_POINT","ST_POINTN","ST_POINTS","ST_POLYGON","ST_RELATE","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_TOUCHES","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","SUBSTR","SUBSTRING","SUM","TAN","TANH","TDIGEST_AGG","TIMESTAMP_OBJECTID","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO_BASE","TO_BASE32","TO_BASE64","TO_BASE64URL","TO_BIG_ENDIAN_32","TO_BIG_ENDIAN_64","TO_CHAR","TO_DATE","TO_ENCODED_POLYLINE","TO_GEOJSON_GEOMETRY","TO_GEOMETRY","TO_HEX","TO_IEEE754_32","TO_IEEE754_64","TO_ISO8601","TO_MILLISECONDS","TO_SPHERICAL_GEOGRAPHY","TO_TIMESTAMP","TO_UNIXTIME","TO_UTF8","TRANSFORM","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRIM_ARRAY","TRUNCATE","TRY","TRY_CAST","TYPEOF","UPPER","URL_DECODE","URL_ENCODE","URL_EXTRACT_FRAGMENT","URL_EXTRACT_HOST","URL_EXTRACT_PARAMETER","URL_EXTRACT_PATH","URL_EXTRACT_PORT","URL_EXTRACT_PROTOCOL","URL_EXTRACT_QUERY","UUID","VALUES_AT_QUANTILES","VALUE_AT_QUANTILE","VARIANCE","VAR_POP","VAR_SAMP","VERSION","WEEK","WEEK_OF_YEAR","WIDTH_BUCKET","WILSON_INTERVAL_LOWER","WILSON_INTERVAL_UPPER","WITH_TIMEZONE","WORD_STEM","XXHASH64","YEAR","YEAR_OF_WEEK","YOW","ZIP","ZIP_WITH","CLASSIFIER","FIRST","LAST","MATCH_NUMBER","NEXT","PERMUTE","PREV"],extraParens:["[]","{}"],stringTypes:[{quote:"''-qq",prefixes:["U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq'],paramTypes:{positional:!0},operators:["%","->","=>",":","||","|","^","$"]},formatOptions:{onelineClauses:[...lqi,...cqi],tabularOnelineClauses:cqi}},gqi=Fji(["SELECT [ALL | DISTINCT]"]),mqi=Fji(["WITH","INTO","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","OFFSET","FETCH {FIRST | NEXT}","FOR {BROWSE | XML | JSON}","OPTION","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY TARGET | BY SOURCE] [THEN]","UPDATE SET","CREATE [OR ALTER] {PROC | PROCEDURE}"]),fqi=Fji(["CREATE TABLE"]),vqi=Fji(["CREATE [OR ALTER] [MATERIALIZED] VIEW","UPDATE","WHERE CURRENT OF","DELETE [FROM]","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD","DROP COLUMN [IF EXISTS]","ALTER COLUMN","TRUNCATE TABLE","CREATE [UNIQUE] [CLUSTERED] INDEX","GO","ADD SENSITIVITY CLASSIFICATION","ADD SIGNATURE","AGGREGATE","ANSI_DEFAULTS","ANSI_NULLS","ANSI_NULL_DFLT_OFF","ANSI_NULL_DFLT_ON","ANSI_PADDING","ANSI_WARNINGS","APPLICATION ROLE","ARITHABORT","ARITHIGNORE","ASSEMBLY","ASYMMETRIC KEY","AUTHORIZATION","AVAILABILITY GROUP","BACKUP","BACKUP CERTIFICATE","BACKUP MASTER KEY","BACKUP SERVICE MASTER KEY","BEGIN CONVERSATION TIMER","BEGIN DIALOG CONVERSATION","BROKER PRIORITY","BULK INSERT","CERTIFICATE","CLOSE MASTER KEY","CLOSE SYMMETRIC KEY","COLLATE","COLUMN ENCRYPTION KEY","COLUMN MASTER KEY","COLUMNSTORE INDEX","CONCAT_NULL_YIELDS_NULL","CONTEXT_INFO","CONTRACT","CREDENTIAL","CRYPTOGRAPHIC PROVIDER","CURSOR_CLOSE_ON_COMMIT","DATABASE","DATABASE AUDIT SPECIFICATION","DATABASE ENCRYPTION KEY","DATABASE HADR","DATABASE SCOPED CONFIGURATION","DATABASE SCOPED CREDENTIAL","DATABASE SET","DATEFIRST","DATEFORMAT","DEADLOCK_PRIORITY","DENY","DENY XML","DISABLE TRIGGER","ENABLE TRIGGER","END CONVERSATION","ENDPOINT","EVENT NOTIFICATION","EVENT SESSION","EXECUTE AS","EXTERNAL DATA SOURCE","EXTERNAL FILE FORMAT","EXTERNAL LANGUAGE","EXTERNAL LIBRARY","EXTERNAL RESOURCE POOL","EXTERNAL TABLE","FIPS_FLAGGER","FMTONLY","FORCEPLAN","FULLTEXT CATALOG","FULLTEXT INDEX","FULLTEXT STOPLIST","FUNCTION","GET CONVERSATION GROUP","GET_TRANSMISSION_STATUS","GRANT","GRANT XML","IDENTITY_INSERT","IMPLICIT_TRANSACTIONS","INDEX","LANGUAGE","LOCK_TIMEOUT","LOGIN","MASTER KEY","MESSAGE TYPE","MOVE CONVERSATION","NOCOUNT","NOEXEC","NUMERIC_ROUNDABORT","OFFSETS","OPEN MASTER KEY","OPEN SYMMETRIC KEY","PARSEONLY","PARTITION FUNCTION","PARTITION SCHEME","PROCEDURE","QUERY_GOVERNOR_COST_LIMIT","QUEUE","QUOTED_IDENTIFIER","RECEIVE","REMOTE SERVICE BINDING","REMOTE_PROC_TRANSACTIONS","RESOURCE GOVERNOR","RESOURCE POOL","RESTORE","RESTORE FILELISTONLY","RESTORE HEADERONLY","RESTORE LABELONLY","RESTORE MASTER KEY","RESTORE REWINDONLY","RESTORE SERVICE MASTER KEY","RESTORE VERIFYONLY","REVERT","REVOKE","REVOKE XML","ROLE","ROUTE","ROWCOUNT","RULE","SCHEMA","SEARCH PROPERTY LIST","SECURITY POLICY","SELECTIVE XML INDEX","SEND","SENSITIVITY CLASSIFICATION","SEQUENCE","SERVER AUDIT","SERVER AUDIT SPECIFICATION","SERVER CONFIGURATION","SERVER ROLE","SERVICE","SERVICE MASTER KEY","SETUSER","SHOWPLAN_ALL","SHOWPLAN_TEXT","SHOWPLAN_XML","SIGNATURE","SPATIAL INDEX","STATISTICS","STATISTICS IO","STATISTICS PROFILE","STATISTICS TIME","STATISTICS XML","SYMMETRIC KEY","SYNONYM","TABLE","TABLE IDENTITY","TEXTSIZE","TRANSACTION ISOLATION LEVEL","TRIGGER","TYPE","UPDATE STATISTICS","USER","WORKLOAD GROUP","XACT_ABORT","XML INDEX","XML SCHEMA COLLECTION"]),yqi=Fji(["UNION [ALL]","EXCEPT","INTERSECT"]),bqi=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),_qi=Fji(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),Cqi={name:"transactsql",tokenizerOptions:{reservedSelect:gqi,reservedClauses:[...mqi,...fqi,...vqi],reservedSetOperations:yqi,reservedJoins:bqi,reservedPhrases:_qi,reservedKeywords:["ADD","ALL","ALTER","AND","ANY","AS","ASC","AUTHORIZATION","BACKUP","BEGIN","BETWEEN","BREAK","BROWSE","BULK","BY","CASCADE","CHECK","CHECKPOINT","CLOSE","CLUSTERED","COALESCE","COLLATE","COLUMN","COMMIT","COMPUTE","CONSTRAINT","CONTAINS","CONTAINSTABLE","CONTINUE","CONVERT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DBCC","DEALLOCATE","DECLARE","DEFAULT","DELETE","DENY","DESC","DISK","DISTINCT","DISTRIBUTED","DROP","DUMP","ERRLVL","ESCAPE","EXEC","EXECUTE","EXISTS","EXIT","EXTERNAL","FETCH","FILE","FILLFACTOR","FOR","FOREIGN","FREETEXT","FREETEXTTABLE","FROM","FULL","FUNCTION","GOTO","GRANT","GROUP","HAVING","HOLDLOCK","IDENTITY","IDENTITYCOL","IDENTITY_INSERT","IF","IN","INDEX","INNER","INSERT","INTERSECT","INTO","IS","JOIN","KEY","KILL","LEFT","LIKE","LINENO","LOAD","MERGE","NOCHECK","NONCLUSTERED","NOT","NULL","NULLIF","OF","OFF","OFFSETS","ON","OPEN","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","OPTION","OR","ORDER","OUTER","OVER","PERCENT","PIVOT","PLAN","PRIMARY","PRINT","PROC","PROCEDURE","PUBLIC","RAISERROR","READ","READTEXT","RECONFIGURE","REFERENCES","REPLICATION","RESTORE","RESTRICT","RETURN","REVERT","REVOKE","RIGHT","ROLLBACK","ROWCOUNT","ROWGUIDCOL","RULE","SAVE","SCHEMA","SECURITYAUDIT","SELECT","SEMANTICKEYPHRASETABLE","SEMANTICSIMILARITYDETAILSTABLE","SEMANTICSIMILARITYTABLE","SESSION_USER","SET","SETUSER","SHUTDOWN","SOME","STATISTICS","SYSTEM_USER","TABLE","TABLESAMPLE","TEXTSIZE","THEN","TO","TOP","TRAN","TRANSACTION","TRIGGER","TRUNCATE","TRY_CONVERT","TSEQUAL","UNION","UNIQUE","UNPIVOT","UPDATE","UPDATETEXT","USE","USER","VALUES","VIEW","WAITFOR","WHERE","WHILE","WITH","WITHIN GROUP","WRITETEXT","$ACTION"],reservedDataTypes:["BINARY","BIT","CHAR","CHAR","CHARACTER","DATE","DATETIME2","DATETIMEOFFSET","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","NATIONAL","NCHAR","NUMERIC","NVARCHAR","PRECISION","REAL","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR"],reservedFunctionNames:["APPROX_COUNT_DISTINCT","AVG","CHECKSUM_AGG","COUNT","COUNT_BIG","GROUPING","GROUPING_ID","MAX","MIN","STDEV","STDEVP","SUM","VAR","VARP","CUME_DIST","FIRST_VALUE","LAG","LAST_VALUE","LEAD","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","Collation - COLLATIONPROPERTY","Collation - TERTIARY_WEIGHTS","@@DBTS","@@LANGID","@@LANGUAGE","@@LOCK_TIMEOUT","@@MAX_CONNECTIONS","@@MAX_PRECISION","@@NESTLEVEL","@@OPTIONS","@@REMSERVER","@@SERVERNAME","@@SERVICENAME","@@SPID","@@TEXTSIZE","@@VERSION","CAST","CONVERT","PARSE","TRY_CAST","TRY_CONVERT","TRY_PARSE","ASYMKEY_ID","ASYMKEYPROPERTY","CERTPROPERTY","CERT_ID","CRYPT_GEN_RANDOM","DECRYPTBYASYMKEY","DECRYPTBYCERT","DECRYPTBYKEY","DECRYPTBYKEYAUTOASYMKEY","DECRYPTBYKEYAUTOCERT","DECRYPTBYPASSPHRASE","ENCRYPTBYASYMKEY","ENCRYPTBYCERT","ENCRYPTBYKEY","ENCRYPTBYPASSPHRASE","HASHBYTES","IS_OBJECTSIGNED","KEY_GUID","KEY_ID","KEY_NAME","SIGNBYASYMKEY","SIGNBYCERT","SYMKEYPROPERTY","VERIFYSIGNEDBYCERT","VERIFYSIGNEDBYASYMKEY","@@CURSOR_ROWS","@@FETCH_STATUS","CURSOR_STATUS","DATALENGTH","IDENT_CURRENT","IDENT_INCR","IDENT_SEED","IDENTITY","SQL_VARIANT_PROPERTY","@@DATEFIRST","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_TIMEZONE_ID","DATEADD","DATEDIFF","DATEDIFF_BIG","DATEFROMPARTS","DATENAME","DATEPART","DATETIME2FROMPARTS","DATETIMEFROMPARTS","DATETIMEOFFSETFROMPARTS","DAY","EOMONTH","GETDATE","GETUTCDATE","ISDATE","MONTH","SMALLDATETIMEFROMPARTS","SWITCHOFFSET","SYSDATETIME","SYSDATETIMEOFFSET","SYSUTCDATETIME","TIMEFROMPARTS","TODATETIMEOFFSET","YEAR","JSON","ISJSON","JSON_VALUE","JSON_QUERY","JSON_MODIFY","ABS","ACOS","ASIN","ATAN","ATN2","CEILING","COS","COT","DEGREES","EXP","FLOOR","LOG","LOG10","PI","POWER","RADIANS","RAND","ROUND","SIGN","SIN","SQRT","SQUARE","TAN","CHOOSE","GREATEST","IIF","LEAST","@@PROCID","APP_NAME","APPLOCK_MODE","APPLOCK_TEST","ASSEMBLYPROPERTY","COL_LENGTH","COL_NAME","COLUMNPROPERTY","DATABASEPROPERTYEX","DB_ID","DB_NAME","FILE_ID","FILE_IDEX","FILE_NAME","FILEGROUP_ID","FILEGROUP_NAME","FILEGROUPPROPERTY","FILEPROPERTY","FILEPROPERTYEX","FULLTEXTCATALOGPROPERTY","FULLTEXTSERVICEPROPERTY","INDEX_COL","INDEXKEY_PROPERTY","INDEXPROPERTY","NEXT VALUE FOR","OBJECT_DEFINITION","OBJECT_ID","OBJECT_NAME","OBJECT_SCHEMA_NAME","OBJECTPROPERTY","OBJECTPROPERTYEX","ORIGINAL_DB_NAME","PARSENAME","SCHEMA_ID","SCHEMA_NAME","SCOPE_IDENTITY","SERVERPROPERTY","STATS_DATE","TYPE_ID","TYPE_NAME","TYPEPROPERTY","DENSE_RANK","NTILE","RANK","ROW_NUMBER","PUBLISHINGSERVERNAME","CERTENCODED","CERTPRIVATEKEY","CURRENT_USER","DATABASE_PRINCIPAL_ID","HAS_DBACCESS","HAS_PERMS_BY_NAME","IS_MEMBER","IS_ROLEMEMBER","IS_SRVROLEMEMBER","LOGINPROPERTY","ORIGINAL_LOGIN","PERMISSIONS","PWDENCRYPT","PWDCOMPARE","SESSION_USER","SESSIONPROPERTY","SUSER_ID","SUSER_NAME","SUSER_SID","SUSER_SNAME","SYSTEM_USER","USER","USER_ID","USER_NAME","ASCII","CHARINDEX","CONCAT","CONCAT_WS","DIFFERENCE","FORMAT","LEFT","LEN","LOWER","LTRIM","PATINDEX","QUOTENAME","REPLACE","REPLICATE","REVERSE","RIGHT","RTRIM","SOUNDEX","SPACE","STR","STRING_AGG","STRING_ESCAPE","STUFF","SUBSTRING","TRANSLATE","TRIM","UNICODE","UPPER","$PARTITION","@@ERROR","@@IDENTITY","@@PACK_RECEIVED","@@ROWCOUNT","@@TRANCOUNT","BINARY_CHECKSUM","CHECKSUM","COMPRESS","CONNECTIONPROPERTY","CONTEXT_INFO","CURRENT_REQUEST_ID","CURRENT_TRANSACTION_ID","DECOMPRESS","ERROR_LINE","ERROR_MESSAGE","ERROR_NUMBER","ERROR_PROCEDURE","ERROR_SEVERITY","ERROR_STATE","FORMATMESSAGE","GET_FILESTREAM_TRANSACTION_CONTEXT","GETANSINULL","HOST_ID","HOST_NAME","ISNULL","ISNUMERIC","MIN_ACTIVE_ROWVERSION","NEWID","NEWSEQUENTIALID","ROWCOUNT_BIG","SESSION_CONTEXT","XACT_STATE","@@CONNECTIONS","@@CPU_BUSY","@@IDLE","@@IO_BUSY","@@PACK_SENT","@@PACKET_ERRORS","@@TIMETICKS","@@TOTAL_ERRORS","@@TOTAL_READ","@@TOTAL_WRITE","TEXTPTR","TEXTVALID","COLUMNS_UPDATED","EVENTDATA","TRIGGER_NESTLEVEL","UPDATE","COALESCE","NULLIF"],nestedBlockComments:!0,stringTypes:[{quote:"''-qq",prefixes:["N"]}],identTypes:['""-qq',"[]"],identChars:{first:"#@",rest:"#@$"},paramTypes:{named:["@"],quoted:["@"]},operators:["%","&","|","^","~","!<","!>","+=","-=","*=","/=","%=","|=","&=","^=","::",":"],propertyAccessOperators:[".."]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...fqi,...vqi],tabularOnelineClauses:vqi}},Sqi=Fji(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),wqi=Fji(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [IGNORE] [INTO]","VALUES","REPLACE [INTO]","ON DUPLICATE KEY UPDATE","SET","CREATE [OR REPLACE] [TEMPORARY] PROCEDURE [IF NOT EXISTS]","CREATE [OR REPLACE] [EXTERNAL] FUNCTION"]),Eqi=Fji(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]),xqi=Fji(["CREATE VIEW","UPDATE","DELETE [FROM]","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER [ONLINE] TABLE","ADD [COLUMN]","ADD [UNIQUE] {INDEX | KEY}","DROP [COLUMN]","MODIFY [COLUMN]","CHANGE","RENAME [TO | AS]","TRUNCATE [TABLE]","ADD AGGREGATOR","ADD LEAF","AGGREGATOR SET AS MASTER","ALTER DATABASE","ALTER PIPELINE","ALTER RESOURCE POOL","ALTER USER","ALTER VIEW","ANALYZE TABLE","ATTACH DATABASE","ATTACH LEAF","ATTACH LEAF ALL","BACKUP DATABASE","BINLOG","BOOTSTRAP AGGREGATOR","CACHE INDEX","CALL","CHANGE","CHANGE MASTER TO","CHANGE REPLICATION FILTER","CHANGE REPLICATION SOURCE TO","CHECK BLOB CHECKSUM","CHECK TABLE","CHECKSUM TABLE","CLEAR ORPHAN DATABASES","CLONE","COMMIT","CREATE DATABASE","CREATE GROUP","CREATE INDEX","CREATE LINK","CREATE MILESTONE","CREATE PIPELINE","CREATE RESOURCE POOL","CREATE ROLE","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DETACH DATABASE","DETACH PIPELINE","DROP DATABASE","DROP FUNCTION","DROP INDEX","DROP LINK","DROP PIPELINE","DROP PROCEDURE","DROP RESOURCE POOL","DROP ROLE","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","FORCE","GRANT","HANDLER","HELP","KILL CONNECTION","KILLALL QUERIES","LOAD DATA","LOAD INDEX INTO CACHE","LOAD XML","LOCK INSTANCE FOR BACKUP","LOCK TABLES","MASTER_POS_WAIT","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","REBALANCE PARTITIONS","RELEASE SAVEPOINT","REMOVE AGGREGATOR","REMOVE LEAF","REPAIR TABLE","REPLACE","REPLICATE DATABASE","RESET","RESET MASTER","RESET PERSIST","RESET REPLICA","RESET SLAVE","RESTART","RESTORE DATABASE","RESTORE REDUNDANCY","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE FUNCTION","SHOW CREATE PIPELINE","SHOW CREATE PROCEDURE","SHOW CREATE TABLE","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW RELAYLOG EVENTS","SHOW REPLICA STATUS","SHOW REPLICAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW VARIABLES","SHOW WARNINGS","SHUTDOWN","SNAPSHOT DATABASE","SOURCE_POS_WAIT","START GROUP_REPLICATION","START PIPELINE","START REPLICA","START SLAVE","START TRANSACTION","STOP GROUP_REPLICATION","STOP PIPELINE","STOP REPLICA","STOP REPLICATING","STOP SLAVE","TEST PIPELINE","UNLOCK INSTANCE","UNLOCK TABLES","USE","XA","ITERATE","LEAVE","LOOP","REPEAT","RETURN","WHILE"]),Tqi=Fji(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),Aqi=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),Rqi=Fji(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),Nqi={name:"singlestoredb",tokenizerOptions:{reservedSelect:Sqi,reservedClauses:[...wqi,...Eqi,...xqi],reservedSetOperations:Tqi,reservedJoins:Aqi,reservedPhrases:Rqi,reservedKeywords:["ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","_BINARY","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DROP","DUAL","EACH","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","EXTRA_JOIN","FALSE","FETCH","FOR","FORCE","FORCE_COMPILED_MODE","FORCE_INTERPRETER_MODE","FOREIGN","FROM","FULL","FULLTEXT","GRANT","GROUP","HAVING","HEARTBEAT_NO_LOGGING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","IN","_INTERNAL_DYNAMIC_TYPECAST","INTERSECT","INTERVAL","INTO","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LOOP","LOW_PRIORITY","MATCH","MAXVALUE","MINUS","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NO_QUERY_REWRITE","NOT","NO_WRITE_TO_BINLOG","NO_QUERY_REWRITE","NULL","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESTRICT","RETURN","REVOKE","RIGHT","RIGHT_ANTI_JOIN","RIGHT_SEMI_JOIN","RIGHT_STRAIGHT_JOIN","RLIKE","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SEMI_JOIN","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SPATIAL","SPECIFIC","SQL","SQL_BIG_RESULT","SQL_BUFFER_RESULT","SQL_CACHE","SQL_CALC_FOUND_ROWS","SQLEXCEPTION","SQL_NO_CACHE","SQL_NO_LOGGING","SQL_SMALL_RESULT","SQLSTATE","SQLWARNING","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNBOUNDED","UNDO","UNION","UNIQUE","UNLOCK","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","_UTF8","VALUES","WHEN","WHERE","WHILE","WINDOW","WITH","WITHIN","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","CHAR","CHARACTER","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONG","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","UNSIGNED","VARBINARY","VARCHAR","VARCHARACTER","YEAR"],reservedFunctionNames:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_COUNT_DISTINCT_ACCUMULATE","APPROX_COUNT_DISTINCT_COMBINE","APPROX_COUNT_DISTINCT_ESTIMATE","APPROX_GEOGRAPHY_INTERSECTS","APPROX_PERCENTILE","ASCII","ASIN","ATAN","ATAN2","AVG","BIN","BINARY","BIT_AND","BIT_COUNT","BIT_OR","BIT_XOR","CAST","CEIL","CEILING","CHAR","CHARACTER_LENGTH","CHAR_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COLLECT","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATEDIFF","DATE_FORMAT","DATE_SUB","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT","DEGREES","DENSE_RANK","DIV","DOT_PRODUCT","ELT","EUCLIDEAN_DISTANCE","EXP","EXTRACT","FIELD","FIRST","FIRST_VALUE","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEOGRAPHY_AREA","GEOGRAPHY_CONTAINS","GEOGRAPHY_DISTANCE","GEOGRAPHY_INTERSECTS","GEOGRAPHY_LATITUDE","GEOGRAPHY_LENGTH","GEOGRAPHY_LONGITUDE","GEOGRAPHY_POINT","GEOGRAPHY_WITHIN_DISTANCE","GEOMETRY_AREA","GEOMETRY_CONTAINS","GEOMETRY_DISTANCE","GEOMETRY_FILTER","GEOMETRY_INTERSECTS","GEOMETRY_LENGTH","GEOMETRY_POINT","GEOMETRY_WITHIN_DISTANCE","GEOMETRY_X","GEOMETRY_Y","GREATEST","GROUPING","GROUP_CONCAT","HEX","HIGHLIGHT","HOUR","ICU_VERSION","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INITCAP","INSERT","INSTR","INTERVAL","IS","IS NULL","JSON_AGG","JSON_ARRAY_CONTAINS_DOUBLE","JSON_ARRAY_CONTAINS_JSON","JSON_ARRAY_CONTAINS_STRING","JSON_ARRAY_PUSH_DOUBLE","JSON_ARRAY_PUSH_JSON","JSON_ARRAY_PUSH_STRING","JSON_DELETE_KEY","JSON_EXTRACT_DOUBLE","JSON_EXTRACT_JSON","JSON_EXTRACT_STRING","JSON_EXTRACT_BIGINT","JSON_GET_TYPE","JSON_LENGTH","JSON_SET_DOUBLE","JSON_SET_JSON","JSON_SET_STRING","JSON_SPLICE_DOUBLE","JSON_SPLICE_JSON","JSON_SPLICE_STRING","LAG","LAST_DAY","LAST_VALUE","LCASE","LEAD","LEAST","LEFT","LENGTH","LIKE","LN","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LPAD","LTRIM","MATCH","MAX","MD5","MEDIAN","MICROSECOND","MIN","MINUTE","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","NOT","NOW","NTH_VALUE","NTILE","NULLIF","OCTET_LENGTH","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PI","PIVOT","POSITION","POW","POWER","QUARTER","QUOTE","RADIANS","RAND","RANK","REGEXP","REPEAT","REPLACE","REVERSE","RIGHT","RLIKE","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCALAR","SCHEMA","SEC_TO_TIME","SHA1","SHA2","SIGMOID","SIGN","SIN","SLEEP","SPLIT","SOUNDEX","SOUNDS LIKE","SOURCE_POS_WAIT","SPACE","SQRT","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUM","SYS_GUID","TAN","TIME","TIMEDIFF","TIME_BUCKET","TIME_FORMAT","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TIME_TO_SEC","TO_BASE64","TO_CHAR","TO_DAYS","TO_JSON","TO_NUMBER","TO_SECONDS","TO_TIMESTAMP","TRIM","TRUNC","TRUNCATE","UCASE","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","VALUES","VARIANCE","VAR_POP","VAR_SAMP","VECTOR_SUB","VERSION","WEEK","WEEKDAY","WEEKOFYEAR","YEAR"],stringTypes:['""-qq-bs',"''-qq-bs",{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_$]+"},{quote:"``",prefixes:["@"],requirePrefix:!0}],lineCommentTypes:["--","#"],operators:[":=","&","|","^","~","<<",">>","<=>","&&","||","::","::$","::%",":>","!:>","*.*"],postProcess:LWi},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:[...Eqi,...xqi],tabularOnelineClauses:xqi}},Iqi=Fji(["SELECT [ALL | DISTINCT]"]),Dqi=Fji(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","QUALIFY","LIMIT","OFFSET","FETCH [FIRST | NEXT]","INSERT [OVERWRITE] [ALL INTO | INTO | ALL | FIRST]","{THEN | ELSE} INTO","VALUES","SET","CLUSTER BY","[WITH] {MASKING POLICY | TAG | ROW ACCESS POLICY}","COPY GRANTS","USING TEMPLATE","MERGE INTO","WHEN MATCHED [AND]","THEN {UPDATE SET | DELETE}","WHEN NOT MATCHED THEN INSERT"]),Oqi=Fji(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]),kqi=Fji(["CREATE [OR REPLACE] [SECURE] [RECURSIVE] VIEW [IF NOT EXISTS]","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","RENAME TO","SWAP WITH","[SUSPEND | RESUME] RECLUSTER","DROP CLUSTERING KEY","ADD [COLUMN]","RENAME COLUMN","{ALTER | MODIFY} [COLUMN]","DROP [COLUMN]","{ADD | ALTER | MODIFY | DROP} [CONSTRAINT]","RENAME CONSTRAINT","{ADD | DROP} SEARCH OPTIMIZATION","{SET | UNSET} TAG","{ADD | DROP} ROW ACCESS POLICY","DROP ALL ROW ACCESS POLICIES","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","SET DATA TYPE","UNSET COMMENT","{SET | UNSET} MASKING POLICY","TRUNCATE [TABLE] [IF EXISTS]","ALTER ACCOUNT","ALTER API INTEGRATION","ALTER CONNECTION","ALTER DATABASE","ALTER EXTERNAL TABLE","ALTER FAILOVER GROUP","ALTER FILE FORMAT","ALTER FUNCTION","ALTER INTEGRATION","ALTER MASKING POLICY","ALTER MATERIALIZED VIEW","ALTER NETWORK POLICY","ALTER NOTIFICATION INTEGRATION","ALTER PIPE","ALTER PROCEDURE","ALTER REPLICATION GROUP","ALTER RESOURCE MONITOR","ALTER ROLE","ALTER ROW ACCESS POLICY","ALTER SCHEMA","ALTER SECURITY INTEGRATION","ALTER SEQUENCE","ALTER SESSION","ALTER SESSION POLICY","ALTER SHARE","ALTER STAGE","ALTER STORAGE INTEGRATION","ALTER STREAM","ALTER TAG","ALTER TASK","ALTER USER","ALTER VIEW","ALTER WAREHOUSE","BEGIN","CALL","COMMIT","COPY INTO","CREATE ACCOUNT","CREATE API INTEGRATION","CREATE CONNECTION","CREATE DATABASE","CREATE EXTERNAL FUNCTION","CREATE EXTERNAL TABLE","CREATE FAILOVER GROUP","CREATE FILE FORMAT","CREATE FUNCTION","CREATE INTEGRATION","CREATE MANAGED ACCOUNT","CREATE MASKING POLICY","CREATE MATERIALIZED VIEW","CREATE NETWORK POLICY","CREATE NOTIFICATION INTEGRATION","CREATE PIPE","CREATE PROCEDURE","CREATE REPLICATION GROUP","CREATE RESOURCE MONITOR","CREATE ROLE","CREATE ROW ACCESS POLICY","CREATE SCHEMA","CREATE SECURITY INTEGRATION","CREATE SEQUENCE","CREATE SESSION POLICY","CREATE SHARE","CREATE STAGE","CREATE STORAGE INTEGRATION","CREATE STREAM","CREATE TAG","CREATE TASK","CREATE USER","CREATE WAREHOUSE","DELETE","DESCRIBE DATABASE","DESCRIBE EXTERNAL TABLE","DESCRIBE FILE FORMAT","DESCRIBE FUNCTION","DESCRIBE INTEGRATION","DESCRIBE MASKING POLICY","DESCRIBE MATERIALIZED VIEW","DESCRIBE NETWORK POLICY","DESCRIBE PIPE","DESCRIBE PROCEDURE","DESCRIBE RESULT","DESCRIBE ROW ACCESS POLICY","DESCRIBE SCHEMA","DESCRIBE SEQUENCE","DESCRIBE SESSION POLICY","DESCRIBE SHARE","DESCRIBE STAGE","DESCRIBE STREAM","DESCRIBE TABLE","DESCRIBE TASK","DESCRIBE TRANSACTION","DESCRIBE USER","DESCRIBE VIEW","DESCRIBE WAREHOUSE","DROP CONNECTION","DROP DATABASE","DROP EXTERNAL TABLE","DROP FAILOVER GROUP","DROP FILE FORMAT","DROP FUNCTION","DROP INTEGRATION","DROP MANAGED ACCOUNT","DROP MASKING POLICY","DROP MATERIALIZED VIEW","DROP NETWORK POLICY","DROP PIPE","DROP PROCEDURE","DROP REPLICATION GROUP","DROP RESOURCE MONITOR","DROP ROLE","DROP ROW ACCESS POLICY","DROP SCHEMA","DROP SEQUENCE","DROP SESSION POLICY","DROP SHARE","DROP STAGE","DROP STREAM","DROP TAG","DROP TASK","DROP USER","DROP VIEW","DROP WAREHOUSE","EXECUTE IMMEDIATE","EXECUTE TASK","EXPLAIN","GET","GRANT OWNERSHIP","GRANT ROLE","INSERT","LIST","MERGE","PUT","REMOVE","REVOKE ROLE","ROLLBACK","SHOW COLUMNS","SHOW CONNECTIONS","SHOW DATABASES","SHOW DATABASES IN FAILOVER GROUP","SHOW DATABASES IN REPLICATION GROUP","SHOW DELEGATED AUTHORIZATIONS","SHOW EXTERNAL FUNCTIONS","SHOW EXTERNAL TABLES","SHOW FAILOVER GROUPS","SHOW FILE FORMATS","SHOW FUNCTIONS","SHOW GLOBAL ACCOUNTS","SHOW GRANTS","SHOW INTEGRATIONS","SHOW LOCKS","SHOW MANAGED ACCOUNTS","SHOW MASKING POLICIES","SHOW MATERIALIZED VIEWS","SHOW NETWORK POLICIES","SHOW OBJECTS","SHOW ORGANIZATION ACCOUNTS","SHOW PARAMETERS","SHOW PIPES","SHOW PRIMARY KEYS","SHOW PROCEDURES","SHOW REGIONS","SHOW REPLICATION ACCOUNTS","SHOW REPLICATION DATABASES","SHOW REPLICATION GROUPS","SHOW RESOURCE MONITORS","SHOW ROLES","SHOW ROW ACCESS POLICIES","SHOW SCHEMAS","SHOW SEQUENCES","SHOW SESSION POLICIES","SHOW SHARES","SHOW SHARES IN FAILOVER GROUP","SHOW SHARES IN REPLICATION GROUP","SHOW STAGES","SHOW STREAMS","SHOW TABLES","SHOW TAGS","SHOW TASKS","SHOW TRANSACTIONS","SHOW USER FUNCTIONS","SHOW USERS","SHOW VARIABLES","SHOW VIEWS","SHOW WAREHOUSES","TRUNCATE MATERIALIZED VIEW","UNDROP DATABASE","UNDROP SCHEMA","UNDROP TABLE","UNDROP TAG","UNSET","USE DATABASE","USE ROLE","USE SCHEMA","USE SECONDARY ROLES","USE WAREHOUSE"]),Lqi=Fji(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),Mqi=Fji(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),Pqi=Fji(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),Fqi={name:"snowflake",tokenizerOptions:{reservedSelect:Iqi,reservedClauses:[...Dqi,...Oqi,...kqi],reservedSetOperations:Lqi,reservedJoins:Mqi,reservedPhrases:Pqi,reservedKeywords:["ACCOUNT","ALL","ALTER","AND","ANY","AS","BETWEEN","BY","CASE","CAST","CHECK","COLUMN","CONNECT","CONNECTION","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATABASE","DELETE","DISTINCT","DROP","ELSE","EXISTS","FALSE","FOLLOWING","FOR","FROM","FULL","GRANT","GROUP","GSCLUSTER","HAVING","ILIKE","IN","INCREMENT","INNER","INSERT","INTERSECT","INTO","IS","ISSUE","JOIN","LATERAL","LEFT","LIKE","LOCALTIME","LOCALTIMESTAMP","MINUS","NATURAL","NOT","NULL","OF","ON","OR","ORDER","ORGANIZATION","QUALIFY","REGEXP","REVOKE","RIGHT","RLIKE","ROW","ROWS","SAMPLE","SCHEMA","SELECT","SET","SOME","START","TABLE","TABLESAMPLE","THEN","TO","TRIGGER","TRUE","TRY_CAST","UNION","UNIQUE","UPDATE","USING","VALUES","VIEW","WHEN","WHENEVER","WHERE","WITH","COMMENT"],reservedDataTypes:["NUMBER","DECIMAL","NUMERIC","INT","INTEGER","BIGINT","SMALLINT","TINYINT","BYTEINT","FLOAT","FLOAT4","FLOAT8","DOUBLE","DOUBLE PRECISION","REAL","VARCHAR","CHAR","CHARACTER","STRING","TEXT","BINARY","VARBINARY","BOOLEAN","DATE","DATETIME","TIME","TIMESTAMP","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMP","TIMESTAMP_TZ","VARIANT","OBJECT","ARRAY","GEOGRAPHY","GEOMETRY"],reservedFunctionNames:["ABS","ACOS","ACOSH","ADD_MONTHS","ALL_USER_NAMES","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_PERCENTILE","APPROX_PERCENTILE_ACCUMULATE","APPROX_PERCENTILE_COMBINE","APPROX_PERCENTILE_ESTIMATE","APPROX_TOP_K","APPROX_TOP_K_ACCUMULATE","APPROX_TOP_K_COMBINE","APPROX_TOP_K_ESTIMATE","APPROXIMATE_JACCARD_INDEX","APPROXIMATE_SIMILARITY","ARRAY_AGG","ARRAY_APPEND","ARRAY_CAT","ARRAY_COMPACT","ARRAY_CONSTRUCT","ARRAY_CONSTRUCT_COMPACT","ARRAY_CONTAINS","ARRAY_INSERT","ARRAY_INTERSECTION","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_SIZE","ARRAY_SLICE","ARRAY_TO_STRING","ARRAY_UNION_AGG","ARRAY_UNIQUE_AGG","ARRAYS_OVERLAP","AS_ARRAY","AS_BINARY","AS_BOOLEAN","AS_CHAR","AS_VARCHAR","AS_DATE","AS_DECIMAL","AS_NUMBER","AS_DOUBLE","AS_REAL","AS_INTEGER","AS_OBJECT","AS_TIME","AS_TIMESTAMP_LTZ","AS_TIMESTAMP_NTZ","AS_TIMESTAMP_TZ","ASCII","ASIN","ASINH","ATAN","ATAN2","ATANH","AUTO_REFRESH_REGISTRATION_HISTORY","AUTOMATIC_CLUSTERING_HISTORY","AVG","BASE64_DECODE_BINARY","BASE64_DECODE_STRING","BASE64_ENCODE","BIT_LENGTH","BITAND","BITAND_AGG","BITMAP_BIT_POSITION","BITMAP_BUCKET_NUMBER","BITMAP_CONSTRUCT_AGG","BITMAP_COUNT","BITMAP_OR_AGG","BITNOT","BITOR","BITOR_AGG","BITSHIFTLEFT","BITSHIFTRIGHT","BITXOR","BITXOR_AGG","BOOLAND","BOOLAND_AGG","BOOLNOT","BOOLOR","BOOLOR_AGG","BOOLXOR","BOOLXOR_AGG","BUILD_SCOPED_FILE_URL","BUILD_STAGE_FILE_URL","CASE","CAST","CBRT","CEIL","CHARINDEX","CHECK_JSON","CHECK_XML","CHR","CHAR","COALESCE","COLLATE","COLLATION","COMPLETE_TASK_GRAPHS","COMPRESS","CONCAT","CONCAT_WS","CONDITIONAL_CHANGE_EVENT","CONDITIONAL_TRUE_EVENT","CONTAINS","CONVERT_TIMEZONE","COPY_HISTORY","CORR","COS","COSH","COT","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CUME_DIST","CURRENT_ACCOUNT","CURRENT_AVAILABLE_ROLES","CURRENT_CLIENT","CURRENT_DATABASE","CURRENT_DATE","CURRENT_IP_ADDRESS","CURRENT_REGION","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_SECONDARY_ROLES","CURRENT_SESSION","CURRENT_STATEMENT","CURRENT_TASK_GRAPHS","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TRANSACTION","CURRENT_USER","CURRENT_VERSION","CURRENT_WAREHOUSE","DATA_TRANSFER_HISTORY","DATABASE_REFRESH_HISTORY","DATABASE_REFRESH_PROGRESS","DATABASE_REFRESH_PROGRESS_BY_JOB","DATABASE_STORAGE_USAGE_HISTORY","DATE_FROM_PARTS","DATE_PART","DATE_TRUNC","DATEADD","DATEDIFF","DAYNAME","DECODE","DECOMPRESS_BINARY","DECOMPRESS_STRING","DECRYPT","DECRYPT_RAW","DEGREES","DENSE_RANK","DIV0","EDITDISTANCE","ENCRYPT","ENCRYPT_RAW","ENDSWITH","EQUAL_NULL","EXP","EXPLAIN_JSON","EXTERNAL_FUNCTIONS_HISTORY","EXTERNAL_TABLE_FILES","EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY","EXTRACT","EXTRACT_SEMANTIC_CATEGORIES","FACTORIAL","FILTER","FIRST_VALUE","FLATTEN","FLOOR","GENERATE_COLUMN_DESCRIPTION","GENERATOR","GET","GET_ABSOLUTE_PATH","GET_DDL","GET_IGNORE_CASE","GET_OBJECT_REFERENCES","GET_PATH","GET_PRESIGNED_URL","GET_RELATIVE_PATH","GET_STAGE_LOCATION","GETBIT","GREATEST","GREATEST_IGNORE_NULLS","GROUPING","GROUPING_ID","HASH","HASH_AGG","HAVERSINE","HEX_DECODE_BINARY","HEX_DECODE_STRING","HEX_ENCODE","HLL","HLL_ACCUMULATE","HLL_COMBINE","HLL_ESTIMATE","HLL_EXPORT","HLL_IMPORT","HOUR","MINUTE","SECOND","IFF","IFNULL","ILIKE","ILIKE ANY","INFER_SCHEMA","INITCAP","INSERT","INVOKER_ROLE","INVOKER_SHARE","IS_ARRAY","IS_BINARY","IS_BOOLEAN","IS_CHAR","IS_VARCHAR","IS_DATE","IS_DATE_VALUE","IS_DECIMAL","IS_DOUBLE","IS_REAL","IS_GRANTED_TO_INVOKER_ROLE","IS_INTEGER","IS_NULL_VALUE","IS_OBJECT","IS_ROLE_IN_SESSION","IS_TIME","IS_TIMESTAMP_LTZ","IS_TIMESTAMP_NTZ","IS_TIMESTAMP_TZ","JAROWINKLER_SIMILARITY","JSON_EXTRACT_PATH_TEXT","KURTOSIS","LAG","LAST_DAY","LAST_QUERY_ID","LAST_TRANSACTION","LAST_VALUE","LEAD","LEAST","LEFT","LENGTH","LEN","LIKE","LIKE ALL","LIKE ANY","LISTAGG","LN","LOCALTIME","LOCALTIMESTAMP","LOG","LOGIN_HISTORY","LOGIN_HISTORY_BY_USER","LOWER","LPAD","LTRIM","MATERIALIZED_VIEW_REFRESH_HISTORY","MD5","MD5_HEX","MD5_BINARY","MD5_NUMBER — Obsoleted","MD5_NUMBER_LOWER64","MD5_NUMBER_UPPER64","MEDIAN","MIN","MAX","MINHASH","MINHASH_COMBINE","MOD","MODE","MONTHNAME","MONTHS_BETWEEN","NEXT_DAY","NORMAL","NTH_VALUE","NTILE","NULLIF","NULLIFZERO","NVL","NVL2","OBJECT_AGG","OBJECT_CONSTRUCT","OBJECT_CONSTRUCT_KEEP_NULL","OBJECT_DELETE","OBJECT_INSERT","OBJECT_KEYS","OBJECT_PICK","OCTET_LENGTH","PARSE_IP","PARSE_JSON","PARSE_URL","PARSE_XML","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PI","PIPE_USAGE_HISTORY","POLICY_CONTEXT","POLICY_REFERENCES","POSITION","POW","POWER","PREVIOUS_DAY","QUERY_ACCELERATION_HISTORY","QUERY_HISTORY","QUERY_HISTORY_BY_SESSION","QUERY_HISTORY_BY_USER","QUERY_HISTORY_BY_WAREHOUSE","RADIANS","RANDOM","RANDSTR","RANK","RATIO_TO_REPORT","REGEXP","REGEXP_COUNT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","REGEXP_SUBSTR_ALL","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","REGR_VALX","REGR_VALY","REPEAT","REPLACE","REPLICATION_GROUP_REFRESH_HISTORY","REPLICATION_GROUP_REFRESH_PROGRESS","REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB","REPLICATION_GROUP_USAGE_HISTORY","REPLICATION_USAGE_HISTORY","REST_EVENT_HISTORY","RESULT_SCAN","REVERSE","RIGHT","RLIKE","ROUND","ROW_NUMBER","RPAD","RTRIM","RTRIMMED_LENGTH","SEARCH_OPTIMIZATION_HISTORY","SEQ1","SEQ2","SEQ4","SEQ8","SERVERLESS_TASK_HISTORY","SHA1","SHA1_HEX","SHA1_BINARY","SHA2","SHA2_HEX","SHA2_BINARY","SIGN","SIN","SINH","SKEW","SOUNDEX","SPACE","SPLIT","SPLIT_PART","SPLIT_TO_TABLE","SQRT","SQUARE","ST_AREA","ST_ASEWKB","ST_ASEWKT","ST_ASGEOJSON","ST_ASWKB","ST_ASBINARY","ST_ASWKT","ST_ASTEXT","ST_AZIMUTH","ST_CENTROID","ST_COLLECT","ST_CONTAINS","ST_COVEREDBY","ST_COVERS","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DWITHIN","ST_ENDPOINT","ST_ENVELOPE","ST_GEOGFROMGEOHASH","ST_GEOGPOINTFROMGEOHASH","ST_GEOGRAPHYFROMWKB","ST_GEOGRAPHYFROMWKT","ST_GEOHASH","ST_GEOMETRYFROMWKB","ST_GEOMETRYFROMWKT","ST_HAUSDORFFDISTANCE","ST_INTERSECTION","ST_INTERSECTS","ST_LENGTH","ST_MAKEGEOMPOINT","ST_GEOM_POINT","ST_MAKELINE","ST_MAKEPOINT","ST_POINT","ST_MAKEPOLYGON","ST_POLYGON","ST_NPOINTS","ST_NUMPOINTS","ST_PERIMETER","ST_POINTN","ST_SETSRID","ST_SIMPLIFY","ST_SRID","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","STAGE_DIRECTORY_FILE_REGISTRATION_HISTORY","STAGE_STORAGE_USAGE_HISTORY","STARTSWITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRIP_NULL_VALUE","STRTOK","STRTOK_SPLIT_TO_TABLE","STRTOK_TO_ARRAY","SUBSTR","SUBSTRING","SUM","SYSDATE","SYSTEM$ABORT_SESSION","SYSTEM$ABORT_TRANSACTION","SYSTEM$AUTHORIZE_PRIVATELINK","SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS","SYSTEM$BEHAVIOR_CHANGE_BUNDLE_STATUS","SYSTEM$CANCEL_ALL_QUERIES","SYSTEM$CANCEL_QUERY","SYSTEM$CLUSTERING_DEPTH","SYSTEM$CLUSTERING_INFORMATION","SYSTEM$CLUSTERING_RATIO ","SYSTEM$CURRENT_USER_TASK_NAME","SYSTEM$DATABASE_REFRESH_HISTORY ","SYSTEM$DATABASE_REFRESH_PROGRESS","SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB ","SYSTEM$DISABLE_BEHAVIOR_CHANGE_BUNDLE","SYSTEM$DISABLE_DATABASE_REPLICATION","SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE","SYSTEM$ESTIMATE_QUERY_ACCELERATION","SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS","SYSTEM$EXPLAIN_JSON_TO_TEXT","SYSTEM$EXPLAIN_PLAN_JSON","SYSTEM$EXTERNAL_TABLE_PIPE_STATUS","SYSTEM$GENERATE_SAML_CSR","SYSTEM$GENERATE_SCIM_ACCESS_TOKEN","SYSTEM$GET_AWS_SNS_IAM_POLICY","SYSTEM$GET_PREDECESSOR_RETURN_VALUE","SYSTEM$GET_PRIVATELINK","SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS","SYSTEM$GET_PRIVATELINK_CONFIG","SYSTEM$GET_SNOWFLAKE_PLATFORM_INFO","SYSTEM$GET_TAG","SYSTEM$GET_TAG_ALLOWED_VALUES","SYSTEM$GET_TAG_ON_CURRENT_COLUMN","SYSTEM$GET_TAG_ON_CURRENT_TABLE","SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER","SYSTEM$LAST_CHANGE_COMMIT_TIME","SYSTEM$LINK_ACCOUNT_OBJECTS_BY_NAME","SYSTEM$MIGRATE_SAML_IDP_REGISTRATION","SYSTEM$PIPE_FORCE_RESUME","SYSTEM$PIPE_STATUS","SYSTEM$REVOKE_PRIVATELINK","SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS","SYSTEM$SET_RETURN_VALUE","SYSTEM$SHOW_OAUTH_CLIENT_SECRETS","SYSTEM$STREAM_GET_TABLE_TIMESTAMP","SYSTEM$STREAM_HAS_DATA","SYSTEM$TASK_DEPENDENTS_ENABLE","SYSTEM$TYPEOF","SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS","SYSTEM$VERIFY_EXTERNAL_OAUTH_TOKEN","SYSTEM$WAIT","SYSTEM$WHITELIST","SYSTEM$WHITELIST_PRIVATELINK","TAG_REFERENCES","TAG_REFERENCES_ALL_COLUMNS","TAG_REFERENCES_WITH_LINEAGE","TAN","TANH","TASK_DEPENDENTS","TASK_HISTORY","TIME_FROM_PARTS","TIME_SLICE","TIMEADD","TIMEDIFF","TIMESTAMP_FROM_PARTS","TIMESTAMPADD","TIMESTAMPDIFF","TO_ARRAY","TO_BINARY","TO_BOOLEAN","TO_CHAR","TO_VARCHAR","TO_DATE","DATE","TO_DECIMAL","TO_NUMBER","TO_NUMERIC","TO_DOUBLE","TO_GEOGRAPHY","TO_GEOMETRY","TO_JSON","TO_OBJECT","TO_TIME","TIME","TO_TIMESTAMP","TO_TIMESTAMP_LTZ","TO_TIMESTAMP_NTZ","TO_TIMESTAMP_TZ","TO_VARIANT","TO_XML","TRANSLATE","TRIM","TRUNCATE","TRUNC","TRUNC","TRY_BASE64_DECODE_BINARY","TRY_BASE64_DECODE_STRING","TRY_CAST","TRY_HEX_DECODE_BINARY","TRY_HEX_DECODE_STRING","TRY_PARSE_JSON","TRY_TO_BINARY","TRY_TO_BOOLEAN","TRY_TO_DATE","TRY_TO_DECIMAL","TRY_TO_NUMBER","TRY_TO_NUMERIC","TRY_TO_DOUBLE","TRY_TO_GEOGRAPHY","TRY_TO_GEOMETRY","TRY_TO_TIME","TRY_TO_TIMESTAMP","TRY_TO_TIMESTAMP_LTZ","TRY_TO_TIMESTAMP_NTZ","TRY_TO_TIMESTAMP_TZ","TYPEOF","UNICODE","UNIFORM","UPPER","UUID_STRING","VALIDATE","VALIDATE_PIPE_LOAD","VAR_POP","VAR_SAMP","VARIANCE","VARIANCE_SAMP","VARIANCE_POP","WAREHOUSE_LOAD_HISTORY","WAREHOUSE_METERING_HISTORY","WIDTH_BUCKET","XMLGET","YEAR","YEAROFWEEK","YEAROFWEEKISO","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFWEEKISO","DAYOFYEAR","WEEK","WEEK","WEEKOFYEAR","WEEKISO","MONTH","QUARTER","ZEROIFNULL","ZIPF"],stringTypes:["$$","''-qq-bs"],identTypes:['""-qq'],variableTypes:[{regex:"[$][1-9]\\d*"},{regex:"[$][_a-zA-Z][_a-zA-Z0-9$]*"}],extraParens:["[]"],identChars:{rest:"$"},lineCommentTypes:["--","//"],operators:["%","::","||","=>",":=","->"],propertyAccessOperators:[":"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...Oqi,...kqi],tabularOnelineClauses:kqi}},Bqi=e=>e[e.length-1],Vqi=e=>e.sort((e,t)=>t.length-e.length||e.localeCompare(t)),Uqi=e=>e.replace(/\s+/gu," "),Gqi=e=>/\n/.test(e),Hqi=e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),zqi=/\s+/uy,jqi=e=>new RegExp(`(?:${e})`,"uy"),Wqi=e=>e.split("").map(e=>/ /gu.test(e)?"\\s+":`[${e.toUpperCase()}${e.toLowerCase()}]`).join(""),$qi=(e,t=[])=>{const n="open"===e?0:1,i=["()",...t].map(e=>e[n]);return jqi(i.map(Hqi).join("|"))},qqi=e=>jqi(`${Vqi(e).map(Hqi).join("|")}`),Yqi=(e,t={})=>{if(0===e.length)return/^\b$/u;const n=(({rest:e,dashes:t})=>e||t?`(?![${e||""}${t?"-":""}])`:"")(t),i=Vqi(e).map(Hqi).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${i})${n}\\b`,"iuy")},Kqi=(e,t)=>{if(!e.length)return;const n=e.map(Hqi).join("|");return jqi(`(?:${n})(?:${t})`)},Xqi={"``":"(?:`[^`]*`)+","[]":String.raw`(?:\[[^\]]*\])(?:\][^\]]*\])*`,'""-qq':String.raw`(?:"[^"]*")+`,'""-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")`,'""-qq-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")+`,'""-raw':String.raw`(?:"[^"]*")`,"''-qq":String.raw`(?:'[^']*')+`,"''-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')`,"''-qq-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')+`,"''-raw":String.raw`(?:'[^']*')`,$$:String.raw`(?<tag>\$\w*\$)[\s\S]*?\k<tag>`,"'''..'''":String.raw`'''[^\\]*?(?:\\.[^\\]*?)*?'''`,'""".."""':String.raw`"""[^\\]*?(?:\\.[^\\]*?)*?"""`,"{}":String.raw`(?:\{[^\}]*\})`,"q''":(()=>{const e={"<":">","[":"]","(":")","{":"}"},t=Object.entries(e).map(([e,t])=>"{left}(?:(?!{right}').)*?{right}".replace(/{left}/g,Hqi(e)).replace(/{right}/g,Hqi(t))),n=Hqi(Object.keys(e).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${n}])(?:(?!\k<tag>').)*?\k<tag>`}|${t.join("|")})'`})()},Zqi=e=>"string"==typeof e?Xqi[e]:"regex"in e?e.regex:(({prefixes:e,requirePrefix:t})=>`(?:${e.map(Wqi).join("|")}${t?"":"|"})`)(e)+Xqi[e.quote],Qqi=e=>e.map(Zqi).join("|"),Jqi=e=>jqi(Qqi(e)),eYi=(e={})=>jqi(tYi(e)),tYi=({first:e,rest:t,dashes:n,allowFirstCharNumber:i}={})=>{const r="\\p{Alphabetic}\\p{Mark}_",s="\\p{Decimal_Number}",o=Hqi(null!=e?e:""),a=Hqi(null!=t?t:""),l=i?`[${r}${s}${o}][${r}${s}${a}]*`:`[${r}${o}][${r}${s}${a}]*`;return n?(e=>e+"(?:-"+e+")*")(l):l};function nYi(e,t){const n=e.slice(0,t).split(/\n/);return{line:n.length,col:n[n.length-1].length+1}}var iYi=class{constructor(e,t){this.rules=e,this.dialectName=t,this.input="",this.index=0}tokenize(e){this.input=e,this.index=0;const t=[];let n;for(;this.index<this.input.length;){const e=this.getWhitespace();if(this.index<this.input.length){if(n=this.getNextToken(),!n)throw this.createParseError();t.push(Mji(Lji({},n),{precedingWhitespace:e}))}}return t}createParseError(){const e=this.input.slice(this.index,this.index+10),{line:t,col:n}=nYi(this.input,this.index);return new Error(`Parse error: Unexpected "${e}" at line ${t} column ${n}.\n${this.dialectInfo()}`)}dialectInfo(){return"sql"===this.dialectName?'This likely happens because you\'re using the default "sql" dialect.\nIf possible, please select a more specific dialect (like sqlite, postgresql, etc).':`SQL dialect used: "${this.dialectName}".`}getWhitespace(){zqi.lastIndex=this.index;const e=zqi.exec(this.input);if(e)return this.index+=e[0].length,e[0]}getNextToken(){for(const e of this.rules){const t=this.match(e);if(t)return t}}match(e){e.regex.lastIndex=this.index;const t=e.regex.exec(this.input);if(t){const n=t[0],i={type:e.type,raw:n,text:e.text?e.text(n):n,start:this.index};return e.key&&(i.key=e.key(n)),this.index+=n.length,i}}},rYi=/\/\*/uy,sYi=/[\s\S]/uy,oYi=/\*\//uy,aYi=class{constructor(){this.lastIndex=0}exec(e){let t,n="",i=0;if(!(t=this.matchSection(rYi,e)))return null;for(n+=t,i++;i>0;)if(t=this.matchSection(rYi,e))n+=t,i++;else if(t=this.matchSection(oYi,e))n+=t,i--;else{if(!(t=this.matchSection(sYi,e)))return null;n+=t}return[n]}matchSection(e,t){e.lastIndex=this.lastIndex;const n=e.exec(t);return n&&(this.lastIndex+=n[0].length),n?n[0]:null}},lYi=class{constructor(e,t){this.cfg=e,this.dialectName=t,this.rulesBeforeParams=this.buildRulesBeforeParams(e),this.rulesAfterParams=this.buildRulesAfterParams(e)}tokenize(e,t){const n=[...this.rulesBeforeParams,...this.buildParamRules(this.cfg,t),...this.rulesAfterParams],i=new iYi(n,this.dialectName).tokenize(e);return this.cfg.postProcess?this.cfg.postProcess(i):i}buildRulesBeforeParams(e){var t,n,i;return this.validRules([{type:"BLOCK_COMMENT",regex:/(\/\* *sql-formatter-disable *\*\/[\s\S]*?(?:\/\* *sql-formatter-enable *\*\/|$))/uy},{type:"BLOCK_COMMENT",regex:e.nestedBlockComments?new aYi:/(\/\*[^]*?\*\/)/uy},{type:"LINE_COMMENT",regex:(i=null!=(t=e.lineCommentTypes)?t:["--"],new RegExp(`(?:${i.map(Hqi).join("|")}).*?(?=\r\n|\r|\n|$)`,"uy"))},{type:"QUOTED_IDENTIFIER",regex:Jqi(e.identTypes)},{type:"NUMBER",regex:/(?:0x[0-9a-fA-F]+|0b[01]+|(?:-\s*)?(?:[0-9]*\.[0-9]+|[0-9]+(?:\.[0-9]*)?)(?:[eE][-+]?[0-9]+(?:\.[0-9]+)?)?)(?![\w\p{Alphabetic}])/uy},{type:"RESERVED_PHRASE",regex:Yqi(null!=(n=e.reservedPhrases)?n:[],e.identChars),text:cYi},{type:"CASE",regex:/CASE\b/iuy,text:cYi},{type:"END",regex:/END\b/iuy,text:cYi},{type:"BETWEEN",regex:/BETWEEN\b/iuy,text:cYi},{type:"LIMIT",regex:e.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:cYi},{type:"RESERVED_CLAUSE",regex:Yqi(e.reservedClauses,e.identChars),text:cYi},{type:"RESERVED_SELECT",regex:Yqi(e.reservedSelect,e.identChars),text:cYi},{type:"RESERVED_SET_OPERATION",regex:Yqi(e.reservedSetOperations,e.identChars),text:cYi},{type:"WHEN",regex:/WHEN\b/iuy,text:cYi},{type:"ELSE",regex:/ELSE\b/iuy,text:cYi},{type:"THEN",regex:/THEN\b/iuy,text:cYi},{type:"RESERVED_JOIN",regex:Yqi(e.reservedJoins,e.identChars),text:cYi},{type:"AND",regex:/AND\b/iuy,text:cYi},{type:"OR",regex:/OR\b/iuy,text:cYi},{type:"XOR",regex:e.supportsXor?/XOR\b/iuy:void 0,text:cYi},...e.operatorKeyword?[{type:"OPERATOR",regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:"RESERVED_FUNCTION_NAME",regex:Yqi(e.reservedFunctionNames,e.identChars),text:cYi},{type:"RESERVED_DATA_TYPE",regex:Yqi(e.reservedDataTypes,e.identChars),text:cYi},{type:"RESERVED_KEYWORD",regex:Yqi(e.reservedKeywords,e.identChars),text:cYi}])}buildRulesAfterParams(e){var t,n,i;return this.validRules([{type:"VARIABLE",regex:e.variableTypes?(i=e.variableTypes,jqi(i.map(e=>"regex"in e?e.regex:Zqi(e)).join("|"))):void 0},{type:"STRING",regex:Jqi(e.stringTypes)},{type:"IDENTIFIER",regex:eYi(e.identChars)},{type:"DELIMITER",regex:/[;]/uy},{type:"COMMA",regex:/[,]/y},{type:"OPEN_PAREN",regex:$qi("open",e.extraParens)},{type:"CLOSE_PAREN",regex:$qi("close",e.extraParens)},{type:"OPERATOR",regex:qqi(["+","-","/",">","<","=","<>","<=",">=","!=",...null!=(t=e.operators)?t:[]])},{type:"ASTERISK",regex:/[*]/uy},{type:"PROPERTY_ACCESS_OPERATOR",regex:qqi([".",...null!=(n=e.propertyAccessOperators)?n:[]])}])}buildParamRules(e,t){var n,i,r,s,o;const a={named:(null==t?void 0:t.named)||(null==(n=e.paramTypes)?void 0:n.named)||[],quoted:(null==t?void 0:t.quoted)||(null==(i=e.paramTypes)?void 0:i.quoted)||[],numbered:(null==t?void 0:t.numbered)||(null==(r=e.paramTypes)?void 0:r.numbered)||[],positional:"boolean"==typeof(null==t?void 0:t.positional)?t.positional:null==(s=e.paramTypes)?void 0:s.positional,custom:(null==t?void 0:t.custom)||(null==(o=e.paramTypes)?void 0:o.custom)||[]};return this.validRules([{type:"NAMED_PARAMETER",regex:Kqi(a.named,tYi(e.paramChars||e.identChars)),key:e=>e.slice(1)},{type:"QUOTED_PARAMETER",regex:Kqi(a.quoted,Qqi(e.identTypes)),key:e=>(({tokenKey:e,quoteChar:t})=>e.replace(new RegExp(Hqi("\\"+t),"gu"),t))({tokenKey:e.slice(2,-1),quoteChar:e.slice(-1)})},{type:"NUMBERED_PARAMETER",regex:Kqi(a.numbered,"[0-9]+"),key:e=>e.slice(1)},{type:"POSITIONAL_PARAMETER",regex:a.positional?/[?]/y:void 0},...a.custom.map(e=>{var t;return{type:"CUSTOM_PARAMETER",regex:jqi(e.regex),key:null!=(t=e.key)?t:e=>e}})])}validRules(e){return e.filter(e=>Boolean(e.regex))}},cYi=e=>Uqi(e.toUpperCase()),uYi=new Map,dYi=e=>({tokenizer:new lYi(e.tokenizerOptions,e.name),formatOptions:hYi(e.formatOptions)}),hYi=e=>{var t;return{alwaysDenseOperators:e.alwaysDenseOperators||[],onelineClauses:Object.fromEntries(e.onelineClauses.map(e=>[e,!0])),tabularOnelineClauses:Object.fromEntries((null!=(t=e.tabularOnelineClauses)?t:e.onelineClauses).map(e=>[e,!0]))}};function pYi(e){return"tabularLeft"===e.indentStyle||"tabularRight"===e.indentStyle}var gYi=class{constructor(e){this.params=e,this.index=0}get({key:e,text:t}){return this.params?e?this.params[e]:this.params[this.index++]:t}getPositionalParameterIndex(){return this.index}setPositionalParameterIndex(e){this.index=e}};function mYi(e){return e.map(fYi).map(vYi).map(yYi).map(bYi).map(_Yi)}var fYi=(e,t,n)=>{if(Jji(e.type)){const i=CYi(n,t);if(i&&"PROPERTY_ACCESS_OPERATOR"===i.type)return Mji(Lji({},e),{type:"IDENTIFIER",text:e.raw});const r=SYi(n,t);if(r&&"PROPERTY_ACCESS_OPERATOR"===r.type)return Mji(Lji({},e),{type:"IDENTIFIER",text:e.raw})}return e},vYi=(e,t,n)=>{if("RESERVED_FUNCTION_NAME"===e.type){const i=SYi(n,t);if(!i||!wYi(i))return Mji(Lji({},e),{type:"IDENTIFIER",text:e.raw})}return e},yYi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=SYi(n,t);if(i&&wYi(i))return Mji(Lji({},e),{type:"RESERVED_PARAMETERIZED_DATA_TYPE"})}return e},bYi=(e,t,n)=>{if("IDENTIFIER"===e.type){const i=SYi(n,t);if(i&&EYi(i))return Mji(Lji({},e),{type:"ARRAY_IDENTIFIER"})}return e},_Yi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=SYi(n,t);if(i&&EYi(i))return Mji(Lji({},e),{type:"ARRAY_KEYWORD"})}return e},CYi=(e,t)=>SYi(e,t,-1),SYi=(e,t,n=1)=>{let i=1;for(;e[t+i*n]&&xYi(e[t+i*n]);)i++;return e[t+i*n]},wYi=e=>"OPEN_PAREN"===e.type&&"("===e.text,EYi=e=>"OPEN_PAREN"===e.type&&"["===e.text,xYi=e=>"BLOCK_COMMENT"===e.type||"LINE_COMMENT"===e.type,TYi=class{constructor(e){this.tokenize=e,this.index=0,this.tokens=[],this.input=""}reset(e,t){this.input=e,this.index=0,this.tokens=this.tokenize(e)}next(){return this.tokens[this.index++]}save(){}formatError(e){const{line:t,col:n}=nYi(this.input,e.start);return`Parse error at token: ${e.text} at line ${t} column ${n}`}has(e){return e in Yji}};function AYi(e){return e[0]}var RYi=new TYi(e=>[]),NYi=([[e]])=>e,IYi=e=>({type:"keyword",tokenType:e.type,text:e.text,raw:e.raw}),DYi=e=>({type:"data_type",text:e.text,raw:e.raw}),OYi=(e,{leading:t,trailing:n})=>((null==t?void 0:t.length)&&(e=Mji(Lji({},e),{leadingComments:t})),(null==n?void 0:n.length)&&(e=Mji(Lji({},e),{trailingComments:n})),e),kYi=(e,{leading:t,trailing:n})=>{if(null==t?void 0:t.length){const[n,...i]=e;e=[OYi(n,{leading:t}),...i]}if(null==n?void 0:n.length){const t=e.slice(0,-1),i=e[e.length-1];e=[...t,OYi(i,{trailing:n})]}return e},LYi={Lexer:RYi,ParserRules:[{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","statement"],postprocess:e=>e[0].concat([e[1]])},{name:"main",symbols:["main$ebnf$1"],postprocess:([e])=>{const t=e[e.length-1];return t&&!t.hasSemicolon?t.children.length>0?e:e.slice(0,-1):e}},{name:"statement$subexpression$1",symbols:[RYi.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[RYi.has("EOF")?{type:"EOF"}:EOF]},{name:"statement",symbols:["expressions_or_clauses","statement$subexpression$1"],postprocess:([e,[t]])=>({type:"statement",children:e,hasSemicolon:"DELIMITER"===t.type})},{name:"expressions_or_clauses$ebnf$1",symbols:[]},{name:"expressions_or_clauses$ebnf$1",symbols:["expressions_or_clauses$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"expressions_or_clauses$ebnf$2",symbols:[]},{name:"expressions_or_clauses$ebnf$2",symbols:["expressions_or_clauses$ebnf$2","clause"],postprocess:e=>e[0].concat([e[1]])},{name:"expressions_or_clauses",symbols:["expressions_or_clauses$ebnf$1","expressions_or_clauses$ebnf$2"],postprocess:([e,t])=>[...e,...t]},{name:"clause$subexpression$1",symbols:["limit_clause"]},{name:"clause$subexpression$1",symbols:["select_clause"]},{name:"clause$subexpression$1",symbols:["other_clause"]},{name:"clause$subexpression$1",symbols:["set_operation"]},{name:"clause",symbols:["clause$subexpression$1"],postprocess:NYi},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["free_form_sql"]},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"limit_clause$ebnf$1$subexpression$1",symbols:[RYi.has("COMMA")?{type:"COMMA"}:COMMA,"limit_clause$ebnf$1$subexpression$1$ebnf$1"]},{name:"limit_clause$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1"],postprocess:AYi},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[RYi.has("LIMIT")?{type:"LIMIT"}:LIMIT,"_","expression_chain_","limit_clause$ebnf$1"],postprocess:([e,t,n,i])=>{if(i){const[r,s]=i;return{type:"limit_clause",limitKw:OYi(IYi(e),{trailing:t}),offset:n,count:s}}return{type:"limit_clause",limitKw:OYi(IYi(e),{trailing:t}),count:n}}},{name:"select_clause$subexpression$1$ebnf$1",symbols:[]},{name:"select_clause$subexpression$1$ebnf$1",symbols:["select_clause$subexpression$1$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"select_clause$subexpression$1",symbols:["all_columns_asterisk","select_clause$subexpression$1$ebnf$1"]},{name:"select_clause$subexpression$1$ebnf$2",symbols:[]},{name:"select_clause$subexpression$1$ebnf$2",symbols:["select_clause$subexpression$1$ebnf$2","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"select_clause$subexpression$1",symbols:["asteriskless_free_form_sql","select_clause$subexpression$1$ebnf$2"]},{name:"select_clause",symbols:[RYi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([e,[t,n]])=>({type:"clause",nameKw:IYi(e),children:[t,...n]})},{name:"select_clause",symbols:[RYi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([e])=>({type:"clause",nameKw:IYi(e),children:[]})},{name:"all_columns_asterisk",symbols:[RYi.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK],postprocess:()=>({type:"all_columns_asterisk"})},{name:"other_clause$ebnf$1",symbols:[]},{name:"other_clause$ebnf$1",symbols:["other_clause$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"other_clause",symbols:[RYi.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([e,t])=>({type:"clause",nameKw:IYi(e),children:t})},{name:"set_operation$ebnf$1",symbols:[]},{name:"set_operation$ebnf$1",symbols:["set_operation$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"set_operation",symbols:[RYi.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([e,t])=>({type:"set_operation",nameKw:IYi(e),children:t})},{name:"expression_chain_$ebnf$1",symbols:["expression_with_comments_"]},{name:"expression_chain_$ebnf$1",symbols:["expression_chain_$ebnf$1","expression_with_comments_"],postprocess:e=>e[0].concat([e[1]])},{name:"expression_chain_",symbols:["expression_chain_$ebnf$1"],postprocess:AYi},{name:"expression_chain$ebnf$1",symbols:[]},{name:"expression_chain$ebnf$1",symbols:["expression_chain$ebnf$1","_expression_with_comments"],postprocess:e=>e[0].concat([e[1]])},{name:"expression_chain",symbols:["expression","expression_chain$ebnf$1"],postprocess:([e,t])=>[e,...t]},{name:"andless_expression_chain$ebnf$1",symbols:[]},{name:"andless_expression_chain$ebnf$1",symbols:["andless_expression_chain$ebnf$1","_andless_expression_with_comments"],postprocess:e=>e[0].concat([e[1]])},{name:"andless_expression_chain",symbols:["andless_expression","andless_expression_chain$ebnf$1"],postprocess:([e,t])=>[e,...t]},{name:"expression_with_comments_",symbols:["expression","_"],postprocess:([e,t])=>OYi(e,{trailing:t})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([e,t])=>OYi(t,{leading:e})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([e,t])=>OYi(t,{leading:e})},{name:"free_form_sql$subexpression$1",symbols:["asteriskless_free_form_sql"]},{name:"free_form_sql$subexpression$1",symbols:["asterisk"]},{name:"free_form_sql",symbols:["free_form_sql$subexpression$1"],postprocess:NYi},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["logic_operator"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comma"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comment"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["other_keyword"]},{name:"asteriskless_free_form_sql",symbols:["asteriskless_free_form_sql$subexpression$1"],postprocess:NYi},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:NYi},{name:"andless_expression$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"andless_expression$subexpression$1",symbols:["asterisk"]},{name:"andless_expression",symbols:["andless_expression$subexpression$1"],postprocess:NYi},{name:"asteriskless_andless_expression$subexpression$1",symbols:["atomic_expression"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["between_predicate"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["case_expression"]},{name:"asteriskless_andless_expression",symbols:["asteriskless_andless_expression$subexpression$1"],postprocess:NYi},{name:"atomic_expression$subexpression$1",symbols:["array_subscript"]},{name:"atomic_expression$subexpression$1",symbols:["function_call"]},{name:"atomic_expression$subexpression$1",symbols:["property_access"]},{name:"atomic_expression$subexpression$1",symbols:["parenthesis"]},{name:"atomic_expression$subexpression$1",symbols:["curly_braces"]},{name:"atomic_expression$subexpression$1",symbols:["square_brackets"]},{name:"atomic_expression$subexpression$1",symbols:["operator"]},{name:"atomic_expression$subexpression$1",symbols:["identifier"]},{name:"atomic_expression$subexpression$1",symbols:["parameter"]},{name:"atomic_expression$subexpression$1",symbols:["literal"]},{name:"atomic_expression$subexpression$1",symbols:["data_type"]},{name:"atomic_expression$subexpression$1",symbols:["keyword"]},{name:"atomic_expression",symbols:["atomic_expression$subexpression$1"],postprocess:NYi},{name:"array_subscript",symbols:[RYi.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:OYi({type:"identifier",quoted:!1,text:e.text},{trailing:t}),parenthesis:n})},{name:"array_subscript",symbols:[RYi.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:OYi(IYi(e),{trailing:t}),parenthesis:n})},{name:"function_call",symbols:[RYi.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([e,t,n])=>({type:"function_call",nameKw:OYi(IYi(e),{trailing:t}),parenthesis:n})},{name:"parenthesis",symbols:[{literal:"("},"expressions_or_clauses",{literal:")"}],postprocess:([e,t,n])=>({type:"parenthesis",children:t,openParen:"(",closeParen:")"})},{name:"curly_braces$ebnf$1",symbols:[]},{name:"curly_braces$ebnf$1",symbols:["curly_braces$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"curly_braces",symbols:[{literal:"{"},"curly_braces$ebnf$1",{literal:"}"}],postprocess:([e,t,n])=>({type:"parenthesis",children:t,openParen:"{",closeParen:"}"})},{name:"square_brackets$ebnf$1",symbols:[]},{name:"square_brackets$ebnf$1",symbols:["square_brackets$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"square_brackets",symbols:[{literal:"["},"square_brackets$ebnf$1",{literal:"]"}],postprocess:([e,t,n])=>({type:"parenthesis",children:t,openParen:"[",closeParen:"]"})},{name:"property_access$subexpression$1",symbols:["identifier"]},{name:"property_access$subexpression$1",symbols:["array_subscript"]},{name:"property_access$subexpression$1",symbols:["all_columns_asterisk"]},{name:"property_access$subexpression$1",symbols:["parameter"]},{name:"property_access",symbols:["atomic_expression","_",RYi.has("PROPERTY_ACCESS_OPERATOR")?{type:"PROPERTY_ACCESS_OPERATOR"}:PROPERTY_ACCESS_OPERATOR,"_","property_access$subexpression$1"],postprocess:([e,t,n,i,[r]])=>({type:"property_access",object:OYi(e,{trailing:t}),operator:n.text,property:OYi(r,{leading:i})})},{name:"between_predicate",symbols:[RYi.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",RYi.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([e,t,n,i,r,s,o])=>({type:"between_predicate",betweenKw:IYi(e),expr1:kYi(n,{leading:t,trailing:i}),andKw:IYi(r),expr2:[OYi(o,{leading:s})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:AYi},{name:"case_expression$ebnf$1",symbols:[],postprocess:()=>null},{name:"case_expression$ebnf$2",symbols:[]},{name:"case_expression$ebnf$2",symbols:["case_expression$ebnf$2","case_clause"],postprocess:e=>e[0].concat([e[1]])},{name:"case_expression",symbols:[RYi.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",RYi.has("END")?{type:"END"}:END],postprocess:([e,t,n,i,r])=>({type:"case_expression",caseKw:OYi(IYi(e),{trailing:t}),endKw:IYi(r),expr:n||[],clauses:i})},{name:"case_clause",symbols:[RYi.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",RYi.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([e,t,n,i,r,s])=>({type:"case_when",whenKw:OYi(IYi(e),{trailing:t}),thenKw:OYi(IYi(i),{trailing:r}),condition:n,result:s})},{name:"case_clause",symbols:[RYi.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([e,t,n])=>({type:"case_else",elseKw:OYi(IYi(e),{trailing:t}),result:n})},{name:"comma$subexpression$1",symbols:[RYi.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[e]])=>({type:"comma"})},{name:"asterisk$subexpression$1",symbols:[RYi.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"operator$subexpression$1",symbols:[RYi.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"identifier$subexpression$1",symbols:[RYi.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[RYi.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[RYi.has("VARIABLE")?{type:"VARIABLE"}:VARIABLE]},{name:"identifier",symbols:["identifier$subexpression$1"],postprocess:([[e]])=>({type:"identifier",quoted:"IDENTIFIER"!==e.type,text:e.text})},{name:"parameter$subexpression$1",symbols:[RYi.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[RYi.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[RYi.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[RYi.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[RYi.has("CUSTOM_PARAMETER")?{type:"CUSTOM_PARAMETER"}:CUSTOM_PARAMETER]},{name:"parameter",symbols:["parameter$subexpression$1"],postprocess:([[e]])=>({type:"parameter",key:e.key,text:e.text})},{name:"literal$subexpression$1",symbols:[RYi.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[RYi.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[e]])=>({type:"literal",text:e.text})},{name:"keyword$subexpression$1",symbols:[RYi.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[RYi.has("RESERVED_PHRASE")?{type:"RESERVED_PHRASE"}:RESERVED_PHRASE]},{name:"keyword$subexpression$1",symbols:[RYi.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[e]])=>IYi(e)},{name:"data_type$subexpression$1",symbols:[RYi.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[e]])=>DYi(e)},{name:"data_type",symbols:[RYi.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([e,t,n])=>({type:"parameterized_data_type",dataType:OYi(DYi(e),{trailing:t}),parenthesis:n})},{name:"logic_operator$subexpression$1",symbols:[RYi.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[RYi.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[RYi.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[e]])=>IYi(e)},{name:"other_keyword$subexpression$1",symbols:[RYi.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[RYi.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[RYi.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[RYi.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[e]])=>IYi(e)},{name:"_$ebnf$1",symbols:[]},{name:"_$ebnf$1",symbols:["_$ebnf$1","comment"],postprocess:e=>e[0].concat([e[1]])},{name:"_",symbols:["_$ebnf$1"],postprocess:([e])=>e},{name:"comment",symbols:[RYi.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([e])=>({type:"line_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[RYi.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([e])=>({type:"block_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[RYi.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([e])=>({type:"disable_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})}],ParserStart:"main"},MYi=LYi,{Parser:PYi,Grammar:FYi}=Tji;var BYi=class{constructor(e){this.indentation=e,this.items=[]}add(...e){for(const t of e)switch(t){case 0:this.items.push(0);break;case 1:this.trimHorizontalWhitespace();break;case 2:this.trimWhitespace();break;case 3:this.trimHorizontalWhitespace(),this.addNewline(3);break;case 4:this.trimHorizontalWhitespace(),this.addNewline(4);break;case 5:this.addIndentation();break;case 6:this.items.push(6);break;default:this.items.push(t)}}trimHorizontalWhitespace(){for(;VYi(Bqi(this.items));)this.items.pop()}trimWhitespace(){for(;UYi(Bqi(this.items));)this.items.pop()}addNewline(e){if(this.items.length>0)switch(Bqi(this.items)){case 3:this.items.pop(),this.items.push(e);break;case 4:break;default:this.items.push(e)}}addIndentation(){for(let e=0;e<this.indentation.getLevel();e++)this.items.push(6)}toString(){return this.items.map(e=>this.itemToString(e)).join("")}getLayoutItems(){return this.items}itemToString(e){switch(e){case 0:return" ";case 3:case 4:return"\n";case 6:return this.indentation.getSingleIndent();default:return e}}},VYi=e=>0===e||6===e,UYi=e=>0===e||6===e||3===e;function GYi(e,t){if("standard"===t)return e;let n=[];return e.length>=10&&e.includes(" ")&&([e,...n]=e.split(" ")),(e="tabularLeft"===t?e.padEnd(9," "):e.padStart(9," "))+["",...n].join(" ")}function HYi(e){return(e=>"AND"===e||"OR"===e||"XOR"===e)(e)||"RESERVED_CLAUSE"===e||"RESERVED_SELECT"===e||"RESERVED_SET_OPERATION"===e||"RESERVED_JOIN"===e||"LIMIT"===e}var zYi="top-level",jYi=class{constructor(e){this.indent=e,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(zYi)}increaseBlockLevel(){this.indentTypes.push("block-level")}decreaseTopLevel(){this.indentTypes.length>0&&Bqi(this.indentTypes)===zYi&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0;){if(this.indentTypes.pop()!==zYi)break}}},WYi=class extends BYi{constructor(e){super(new jYi("")),this.expressionWidth=e,this.length=0,this.trailingSpace=!1}add(...e){if(e.forEach(e=>this.addToLength(e)),this.length>this.expressionWidth)throw new $Yi;super.add(...e)}addToLength(e){if("string"==typeof e)this.length+=e.length,this.trailingSpace=!1;else{if(4===e||3===e)throw new $Yi;5===e||6===e||0===e?this.trailingSpace||(this.length++,this.trailingSpace=!0):2!==e&&1!==e||this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}},$Yi=class extends Error{},qYi=class e{constructor({cfg:e,dialectCfg:t,params:n,layout:i,inline:r=!1}){this.inline=!1,this.nodes=[],this.index=-1,this.cfg=e,this.dialectCfg=t,this.inline=r,this.params=n,this.layout=i}format(e){for(this.nodes=e,this.index=0;this.index<this.nodes.length;this.index++)this.formatNode(this.nodes[this.index]);return this.layout}formatNode(e){this.formatComments(e.leadingComments),this.formatNodeWithoutComments(e),this.formatComments(e.trailingComments)}formatNodeWithoutComments(e){switch(e.type){case"function_call":return this.formatFunctionCall(e);case"parameterized_data_type":return this.formatParameterizedDataType(e);case"array_subscript":return this.formatArraySubscript(e);case"property_access":return this.formatPropertyAccess(e);case"parenthesis":return this.formatParenthesis(e);case"between_predicate":return this.formatBetweenPredicate(e);case"case_expression":return this.formatCaseExpression(e);case"case_when":return this.formatCaseWhen(e);case"case_else":return this.formatCaseElse(e);case"clause":return this.formatClause(e);case"set_operation":return this.formatSetOperation(e);case"limit_clause":return this.formatLimitClause(e);case"all_columns_asterisk":return this.formatAllColumnsAsterisk(e);case"literal":return this.formatLiteral(e);case"identifier":return this.formatIdentifier(e);case"parameter":return this.formatParameter(e);case"operator":return this.formatOperator(e);case"comma":return this.formatComma(e);case"line_comment":return this.formatLineComment(e);case"block_comment":case"disable_comment":return this.formatBlockComment(e);case"data_type":return this.formatDataType(e);case"keyword":return this.formatKeywordNode(e)}}formatFunctionCall(e){this.withComments(e.nameKw,()=>{this.layout.add(this.showFunctionKw(e.nameKw))}),this.formatNode(e.parenthesis)}formatParameterizedDataType(e){this.withComments(e.dataType,()=>{this.layout.add(this.showDataType(e.dataType))}),this.formatNode(e.parenthesis)}formatArraySubscript(e){let t;switch(e.array.type){case"data_type":t=this.showDataType(e.array);break;case"keyword":t=this.showKw(e.array);break;default:t=this.showIdentifier(e.array)}this.withComments(e.array,()=>{this.layout.add(t)}),this.formatNode(e.parenthesis)}formatPropertyAccess(e){this.formatNode(e.object),this.layout.add(1,e.operator),this.formatNode(e.property)}formatParenthesis(e){const t=this.formatInlineExpression(e.children);t?(this.layout.add(e.openParen),this.layout.add(...t.getLayoutItems()),this.layout.add(1,e.closeParen,0)):(this.layout.add(e.openParen,3),pYi(this.cfg)?(this.layout.add(5),this.layout=this.formatSubExpression(e.children)):(this.layout.indentation.increaseBlockLevel(),this.layout.add(5),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseBlockLevel()),this.layout.add(3,5,e.closeParen,0))}formatBetweenPredicate(e){this.layout.add(this.showKw(e.betweenKw),0),this.layout=this.formatSubExpression(e.expr1),this.layout.add(1,0,this.showNonTabularKw(e.andKw),0),this.layout=this.formatSubExpression(e.expr2),this.layout.add(0)}formatCaseExpression(e){this.formatNode(e.caseKw),this.layout.indentation.increaseBlockLevel(),this.layout=this.formatSubExpression(e.expr),this.layout=this.formatSubExpression(e.clauses),this.layout.indentation.decreaseBlockLevel(),this.layout.add(3,5),this.formatNode(e.endKw)}formatCaseWhen(e){this.layout.add(3,5),this.formatNode(e.whenKw),this.layout=this.formatSubExpression(e.condition),this.formatNode(e.thenKw),this.layout=this.formatSubExpression(e.result)}formatCaseElse(e){this.layout.add(3,5),this.formatNode(e.elseKw),this.layout=this.formatSubExpression(e.result)}formatClause(e){this.isOnelineClause(e)?this.formatClauseInOnelineStyle(e):pYi(this.cfg)?this.formatClauseInTabularStyle(e):this.formatClauseInIndentedStyle(e)}isOnelineClause(e){return pYi(this.cfg)?this.dialectCfg.tabularOnelineClauses[e.nameKw.text]:this.dialectCfg.onelineClauses[e.nameKw.text]}formatClauseInIndentedStyle(e){this.layout.add(3,5,this.showKw(e.nameKw),3),this.layout.indentation.increaseTopLevel(),this.layout.add(5),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatClauseInOnelineStyle(e){this.layout.add(3,5,this.showKw(e.nameKw),0),this.layout=this.formatSubExpression(e.children)}formatClauseInTabularStyle(e){this.layout.add(3,5,this.showKw(e.nameKw),0),this.layout.indentation.increaseTopLevel(),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatSetOperation(e){this.layout.add(3,5,this.showKw(e.nameKw),3),this.layout.add(5),this.layout=this.formatSubExpression(e.children)}formatLimitClause(e){this.withComments(e.limitKw,()=>{this.layout.add(3,5,this.showKw(e.limitKw))}),this.layout.indentation.increaseTopLevel(),pYi(this.cfg)?this.layout.add(0):this.layout.add(3,5),e.offset?(this.layout=this.formatSubExpression(e.offset),this.layout.add(1,",",0),this.layout=this.formatSubExpression(e.count)):this.layout=this.formatSubExpression(e.count),this.layout.indentation.decreaseTopLevel()}formatAllColumnsAsterisk(e){this.layout.add("*",0)}formatLiteral(e){this.layout.add(e.text,0)}formatIdentifier(e){this.layout.add(this.showIdentifier(e),0)}formatParameter(e){this.layout.add(this.params.get(e),0)}formatOperator({text:e}){this.cfg.denseOperators||this.dialectCfg.alwaysDenseOperators.includes(e)?this.layout.add(1,e):":"===e?this.layout.add(1,e,0):this.layout.add(e,0)}formatComma(e){this.inline?this.layout.add(1,",",0):this.layout.add(1,",",3,5)}withComments(e,t){this.formatComments(e.leadingComments),t(),this.formatComments(e.trailingComments)}formatComments(e){e&&e.forEach(e=>{"line_comment"===e.type?this.formatLineComment(e):this.formatBlockComment(e)})}formatLineComment(e){Gqi(e.precedingWhitespace||"")?this.layout.add(3,5,e.text,4,5):this.layout.getLayoutItems().length>0?this.layout.add(2,0,e.text,4,5):this.layout.add(e.text,4,5)}formatBlockComment(e){"block_comment"===e.type&&this.isMultilineBlockComment(e)?(this.splitBlockComment(e.text).forEach(e=>{this.layout.add(3,5,e)}),this.layout.add(3,5)):this.layout.add(e.text,0)}isMultilineBlockComment(e){return Gqi(e.text)||Gqi(e.precedingWhitespace||"")}isDocComment(e){const t=e.split(/\n/);return/^\/\*\*?$/.test(t[0])&&t.slice(1,t.length-1).every(e=>/^\s*\*/.test(e))&&/^\s*\*\/$/.test(Bqi(t))}splitBlockComment(e){return this.isDocComment(e)?e.split(/\n/).map(e=>/^\s*\*/.test(e)?" "+e.replace(/^\s*/,""):e):e.split(/\n/).map(e=>e.replace(/^\s*/,""))}formatSubExpression(t){return new e({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:this.layout,inline:this.inline}).format(t)}formatInlineExpression(t){const n=this.params.getPositionalParameterIndex();try{return new e({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:new WYi(this.cfg.expressionWidth),inline:!0}).format(t)}catch(e){if(e instanceof $Yi)return void this.params.setPositionalParameterIndex(n);throw e}}formatKeywordNode(e){switch(e.tokenType){case"RESERVED_JOIN":return this.formatJoin(e);case"AND":case"OR":case"XOR":return this.formatLogicalOperator(e);default:return this.formatKeyword(e)}}formatJoin(e){pYi(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(3,5,this.showKw(e),0),this.layout.indentation.increaseTopLevel()):this.layout.add(3,5,this.showKw(e),0)}formatKeyword(e){this.layout.add(this.showKw(e),0)}formatLogicalOperator(e){"before"===this.cfg.logicalOperatorNewline?pYi(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(3,5,this.showKw(e),0),this.layout.indentation.increaseTopLevel()):this.layout.add(3,5,this.showKw(e),0):this.layout.add(this.showKw(e),3,5)}formatDataType(e){this.layout.add(this.showDataType(e),0)}showKw(e){return HYi(e.tokenType)?GYi(this.showNonTabularKw(e),this.cfg.indentStyle):this.showNonTabularKw(e)}showNonTabularKw(e){switch(this.cfg.keywordCase){case"preserve":return Uqi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showFunctionKw(e){return HYi(e.tokenType)?GYi(this.showNonTabularFunctionKw(e),this.cfg.indentStyle):this.showNonTabularFunctionKw(e)}showNonTabularFunctionKw(e){switch(this.cfg.functionCase){case"preserve":return Uqi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showIdentifier(e){if(e.quoted)return e.text;switch(this.cfg.identifierCase){case"preserve":return e.text;case"upper":return e.text.toUpperCase();case"lower":return e.text.toLowerCase()}}showDataType(e){switch(this.cfg.dataTypeCase){case"preserve":return Uqi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}},YYi=class{constructor(e,t){this.dialect=e,this.cfg=t,this.params=new gYi(this.cfg.params)}format(e){const t=this.parse(e);return this.formatAst(t).trimEnd()}parse(e){return function(e){let t={};const n=new TYi(n=>[...mYi(e.tokenize(n,t)),Kji(n.length)]),i=new PYi(FYi.fromCompiled(MYi),{lexer:n});return{parse:(e,n)=>{t=n;const{results:r}=i.feed(e);if(1===r.length)return r[0];throw 0===r.length?new Error("Parse error: Invalid SQL"):new Error(`Parse error: Ambiguous grammar\n${JSON.stringify(r,void 0,2)}`)}}}(this.dialect.tokenizer).parse(e,this.cfg.paramTypes||{})}formatAst(e){return e.map(e=>this.formatStatement(e)).join("\n".repeat(this.cfg.linesBetweenQueries+1))}formatStatement(e){const t=new qYi({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new BYi(new jYi((n=this.cfg,"tabularLeft"===n.indentStyle||"tabularRight"===n.indentStyle?" ".repeat(10):n.useTabs?"\t":" ".repeat(n.tabWidth))))}).format(e.children);var n;return e.hasSemicolon&&(this.cfg.newlineBeforeSemicolon?t.add(3,";"):t.add(2,";")),t.toString()}},KYi=class extends Error{};function XYi(e){const t=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const n of t)if(n in e)throw new KYi(`${n} config is no more supported.`);if(e.expressionWidth<=0)throw new KYi(`expressionWidth config must be positive number. Received ${e.expressionWidth} instead.`);var n;if(e.params&&!((n=e.params)instanceof Array?n:Object.values(n)).every(e=>"string"==typeof e)&&console.warn('WARNING: All "params" option values should be strings.'),e.paramTypes&&!function(e){if(e.custom&&Array.isArray(e.custom))return e.custom.every(e=>""!==e.regex);return!0}(e.paramTypes))throw new KYi("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return e}var ZYi={bigquery:"bigquery",db2:"db2",db2i:"db2i",hive:"hive",mariadb:"mariadb",mysql:"mysql",n1ql:"n1ql",plsql:"plsql",postgresql:"postgresql",redshift:"redshift",spark:"spark",sqlite:"sqlite",sql:"sql",tidb:"tidb",trino:"trino",transactsql:"transactsql",tsql:"transactsql",singlestoredb:"singlestoredb",snowflake:"snowflake"},QYi=Object.keys(ZYi),JYi={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},eKi=(e,t={})=>{if("string"==typeof t.language&&!QYi.includes(t.language))throw new KYi(`Unsupported SQL dialect: ${t.language}`);const n=ZYi[t.language||"sql"];return tKi(e,Mji(Lji({},t),{dialect:Pji[n]}))},tKi=(e,t)=>{var n=t,{dialect:i}=n,r=((e,t)=>{var n={};for(var i in e)Dji.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&Iji)for(var i of Iji(e))t.indexOf(i)<0&&Oji.call(e,i)&&(n[i]=e[i]);return n})(n,["dialect"]);if("string"!=typeof e)throw new Error("Invalid query argument. Expected string, instead got "+typeof e);const s=XYi(Lji(Lji({},JYi),r));return new YYi((e=>{let t=uYi.get(e);return t||(t=dYi(e),uYi.set(e,t)),t})(i),s).format(e)};const nKi=console.error;function iKi(e){return AG_GRID_LICENSE&&Mbi.setLicenseKey(AG_GRID_LICENSE),"production"!==process.env.NODE_ENV&&(console.error=(e,...t)=>{console.debug(`%c ${e}`,"color: silver")}),vse.jsx(dbi,{theme:"legacy",...e,modules:[Qvi,WPi],onGridReady:t=>{e.onGridReady?.(t),"production"!==process.env.NODE_ENV&&(console.error=nKi)}})}class rKi{uuid=Mr()}const sKi=(e,t,n)=>{const i=new VS(I_(t)),r=n??e.filterState.lambdaParameterName,s=e.sourceState.buildLeftExpression(e.filterState.queryBuilderState,r);if(i.parametersValues.push(s),e.rightConditionValue&&e.rightConditionValue instanceof yUi&&void 0!==e.rightConditionValue.value)i.parametersValues.push(e.rightConditionValue.value);else if(e.rightConditionValue&&e.rightConditionValue instanceof bUi){const t=gUi(e.rightConditionValue.propertyExpressionState.propertyExpression,e.filterState.queryBuilderState,r);i.parametersValues.push(t)}else if(e.rightConditionValue&&e.rightConditionValue instanceof _Ui){const t=e.rightConditionValue,n=e.filterState.queryBuilderState.sourceRelationType;if(!n)throw new Error(`Can't build expression for relation column '${t.columnName}': no source relation type`);const s=n.columns.find(e=>e.name===t.columnName);if(!s)throw new Error(`Can't find column '${t.columnName}' in relation`);const o=new BS(s.name);o.func=s,o.parametersValues=[new TS(r,A_.ONE)],i.parametersValues.push(o)}return i},oKi=e=>{const t=e.parametersValues[0];return t instanceof US?t.func.value.genericType.value.rawType.path:t instanceof BS&&t.func instanceof Y_?t.func.genericType.value.rawType.path:void 0},aKi=(e,t,n,i,r=!1)=>{let s,o;if(k_(t.functionName,n)){br(t.parametersValues.length===(r?1:2),`Can't process ${I_(n)}() expression: ${I_(n)}() expects ${r?"no argument":"1 argument"}`);const i=t.parametersValues[0];if(i instanceof US)s=new EUi(e,i);else{if(!(i instanceof BS&&i.func instanceof Y_))throw new Error(`Can't process ${I_(n)}() expression: expects property expression or relation column in lambda body`);{const t=i.func;s=new EUi(e,new wUi(t.name,t.genericType.value.rawType,t.multiplicity))}}o=t}else if(k_(t.functionName,Rvt.EXISTS)){const i=mr(t.parametersValues[1],zS),a=mr(i.values[0],HS),l=mr(a.expressionSequence[0],VS);br(l.parametersValues.length===(r?1:2),`Can't process ${I_(n)}() expression: ${I_(n)}() expects ${r?"no argument":"1 argument"}`);const c=mr(l.parametersValues[0],US,`Can't process ${I_(n)}() expression: expects property expression in lambda body`);s=new EUi(e,c),o=l}if(s&&o){br(i.isCompatibleWithFilterConditionProperty(s),`Can't process ${I_(n)}() expression: property is not compatible with operator`),s.setOperator(i);const t=o.parametersValues[1];if(r||!t)s.setRightConditionValue(void 0);else if(t instanceof US)s.setRightConditionValue(new bUi(s,new TVi(e.queryBuilderState,t)));else if(t instanceof BS&&t.func instanceof Y_){const e=t.func;s.setRightConditionValue(new _Ui(s,e.name,e.genericType.value.rawType,e.multiplicity))}else s.setRightConditionValue(new yUi(s,oyt(t,s.filterState.queryBuilderState.observerContext)));return i.isCompatibleWithFilterConditionValue(s)||s.setRightConditionValue(new yUi(s,i.getDefaultFilterConditionValue(s))),s}};class lKi extends rKi{getLabel(){return"is"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=Jvt(t);return void 0!==n&&[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)||t instanceof nC&&t.values.length>0}isCompatibleWithFilterConditionValue(e){return eyt(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.leftConditionType)}getDefaultFilterConditionValue(e){const t=e.leftConditionType;return vVi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildFilterConditionExpression(e,t){return sKi(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Rvt.IS_ON_DAY:Rvt.EQUAL,t)}buildFilterConditionState(e,t){return aKi(e,t,oKi(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Rvt.IS_ON_DAY:Rvt.EQUAL,this)}get hashCode(){return fv([ayt.FILTER_OPERATOR_EQUAL])}}class cKi extends lKi{getLabel(){return"is not"}buildFilterConditionExpression(e,t){return Zvt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Xvt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return fv([ayt.FILTER_OPERATOR_NOT_EQUAL])}}class uKi extends rKi{getLabel(){return"is in list of"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=Jvt(t);return void 0!==n&&[Xb.STRING,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)||t instanceof nC}isCompatibleWithFilterConditionValue(e){const t=e.leftConditionType,n=e.rightConditionValue;if(n instanceof yUi){const i=n.value;if(i instanceof IS){if(0===i.values.length)return!0;const n=Yvt(e.filterState.queryBuilderState.graphManagerState.graph,i.values);if(!n)return!1;const r=Jvt(t)??t.path,s=Jvt(n)??n.path;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(r)?[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(s):n===t||r===s}if(i instanceof TS)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=e.leftConditionType,n=Jvt(t),i=void 0!==n?H_(n):t;return new IS(A_.ONE,j_.create(new X_(i)))}buildFilterConditionExpression(e,t){return sKi(e,Rvt.IN,t)}buildFilterConditionState(e,t){return aKi(e,t,Rvt.IN,this)}get hashCode(){return fv([ayt.FILTER_OPERATOR_IN])}}class dKi extends uKi{getLabel(){return"is not in list of"}buildFilterConditionExpression(e,t){return Zvt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Xvt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return fv([ayt.FILTER_OPERATOR_NOT_IN])}}class hKi extends rKi{getLabel(){return"is empty"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=e.sourceState;if(n instanceof SUi){if(!Qvt(e.propertyExpressionState.propertyExpression))return!1}else{if(!(n instanceof wUi))return!1;if(0!==n.columnMultiplicity.lowerBound)return!1}return t instanceof nC||t instanceof V_||t instanceof U_}isCompatibleWithFilterConditionValue(e){return void 0===e.rightConditionValue}getDefaultFilterConditionValue(e){}buildFilterConditionExpression(e,t){return sKi(e,Rvt.IS_EMPTY,t)}buildFilterConditionState(e,t){return aKi(e,t,Rvt.IS_EMPTY,this,!0)}get hashCode(){return fv([ayt.FILTER_OPERATOR_IS_EMPTY])}}class pKi extends hKi{getLabel(){return"is not empty"}buildFilterConditionExpression(e,t){return Zvt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Xvt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return fv([ayt.FILTER_OPERATOR_IS_NOT_EMPTY])}}const gKi=(e,t="mysql")=>{try{return eKi(e,{language:t})}catch{try{return eKi(e)}catch{return e}}},mKi=e=>{const t=e.result.rows.map((t,n)=>{const i={},r=e.result.columns;return t.values.forEach((e,t)=>{i[r[t]]=e}),i.rowNumber=n,i});return t},fKi=new lKi,vKi=new cKi,yKi=new uKi,bKi=new dKi,_Ki=new hKi,CKi=new pKi,SKi=new fGi,wKi=new hGi,EKi=new gGi,xKi=new mGi,TKi=new vGi,AKi=new pGi,RKi=(e,t,n)=>{t.value&&zvt(e,e instanceof NS?dC.create(dr((e.genericType?.ownerReference.value).values.filter(e=>e.name===t.value)[0])):t.value,0,n.observerContext)},NKi=(e,t,n,i,r,s)=>{s.filterState.setShowPanel(!0);const o=((e,t)=>e?null===t.value?_Ki:fKi:null===t.value?CKi:vKi)(t,n),a=((e,t,n)=>Array.from(n.nodes.values()).filter(pr(IUi)).filter(n=>n.condition.sourceState instanceof SUi&&n.condition.sourceState.propertyExpressionState.path===t?.path&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[_Ki,CKi]:t?[fKi,yKi]:[vKi,bKi],r,s.filterState);if(a)((e,t,n,i,r,s)=>{if(i===_Ki||i===CKi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?_Ki:CKi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof yUi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof AS&&(a.value instanceof NS?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);RKi(i,n,s),o.changeOperator(t?yKi:bKi),jvt(a.value,[e,i],s.observerContext)}}else{const e=a.value instanceof AS&&a.value.values.filter(e=>e instanceof AS).map(e=>e instanceof NS?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?fKi:vKi).getDefaultFilterConditionValue(o);RKi(e,n,s),jvt(a.value,[...a.value.values,e],s.observerContext)}}})(a,t,n,o,i,s);else try{((e,t,n,i,r)=>{let s;try{if(r){s=new EUi(i,r,t);const e=s.operator.getDefaultFilterConditionValue(s);s.buildRightConditionValueFromValueSpec(e),RKi(e,n,i.queryBuilderState),i.addNodeFromNode(new IUi(void 0,s),void 0)}}catch(t){return bi(t),void e.notificationService.notifyWarning(t.message)}})(e,o,n,s.filterState,r.propertyExpression)}catch(t){bi(t),e.alertUnhandledError(t)}},IKi=async(e,t,n,i,r,s)=>{s.setShowPostFilterPanel(!0);const o=((e,t)=>e?null===t.value?EKi:SKi:null===t.value?xKi:TKi)(t,n),a=((e,t,n,i)=>Array.from(n.nodes.values()).filter(pr(sGi)).filter(e=>e.condition.leftConditionValue instanceof OVi).filter(n=>n.condition.leftConditionValue.columnName===(t??i?.columnName)&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[EKi,xKi]:t?[SKi,wKi]:[TKi,AKi],n.columnName,s.postFilterState,r);if(a)((e,t,n,i,r,s)=>{if(i===EKi||i===xKi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?EKi:xKi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof lGi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof AS&&(a.value instanceof NS?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);RKi(i,n,s.queryBuilderState),o.changeOperator(t?wKi:AKi),jvt(a.value,[e,i],s.queryBuilderState.observerContext)}}else{const e=a.value instanceof AS&&a.value.values.filter(e=>e instanceof AS).map(e=>e instanceof NS?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?SKi:TKi).getDefaultFilterConditionValue(o);RKi(e,n,s.queryBuilderState),jvt(a.value,[...a.value.values,e],s.queryBuilderState.observerContext)}}})(a,t,n,o,i,s);else try{await(async(e,t,n,i,r)=>{let s;try{const e=n.columnName?i.projectionColumns.filter(e=>e.columnName===n.columnName).concat(i.aggregationState.columns.filter(e=>e.columnName===n.columnName).map(e=>e.projectionColumnState))[0]:r;if(e){s=new uGi(i.postFilterState,e,t),r instanceof PVi&&await r.fetchDerivationLambdaReturnType();const o=s.operator.getDefaultFilterConditionValue(s);s.buildFromValueSpec(o),RKi(o,n,i.queryBuilderState),i.postFilterState.addNodeFromNode(new sGi(void 0,s),void 0)}}catch(t){return bi(t),void e.notificationService.notifyWarning(t.message)}})(e,o,n,s,r)}catch(t){bi(t),e.alertUnhandledError(t)}},DKi=async(e,t,n,i,r)=>{const s=i?.columnName||n.columnName?tUi(r,n.columnName):void 0;s instanceof PVi||s instanceof BVi||s instanceof kVi&&fUi(s.propertyExpressionState.propertyExpression)?await IKi(e,t,n,i,s,r):s instanceof kVi?NKi(e,t,n,i,s.propertyExpressionState,r.queryBuilderState):e.notificationService.notifyError(`Can't filter column '${i?.columnName?i.columnName:n.columnName}'`)},OKi=async(e,t,n,i)=>{for(const r of i.queryBuilderState.resultState.selectedCells)await DKi(e,n,r,t,i)};ule(n.forwardRef(function(e,t){const{data:n,tdsState:i,copyCellValueFunc:r,copyCellRowValueFunc:s}=e,o=Cmt(),a=n?.columnName?tUi(i,n.columnName):void 0;return vse.jsxs(cVe,{ref:t,children:[vse.jsx(uVe,{disabled:!a,onClick:()=>{OKi(o,n,!0,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter By"}),vse.jsx(uVe,{disabled:!a,onClick:()=>{OKi(o,n,!1,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter Out"}),vse.jsx(dVe,{}),vse.jsx(uVe,{onClick:r,children:"Copy Cell Value"}),vse.jsx(uVe,{onClick:s,children:"Copy Row Value"})]})}));const kKi=ule(e=>{const{query:t,resultColumns:n,executionPlanState:i}=e,r=i.applicationStore;return vse.jsxs(vse.Fragment,{children:[vse.jsxs("div",{className:"query-builder__sql__container",children:[vse.jsx(RVe,{}),vse.jsxs("div",{children:[vse.jsx("div",{className:"query-builder__sql__container__item__label",children:vse.jsxs(TVe,{children:["SQL",vse.jsx("div",{children:vse.jsx("button",{onClick:()=>{(e=>{r.clipboardService.copyTextToClipboard(e).then(()=>r.notificationService.notifySuccess("SQL Query copied",void 0,2500)).catch(r.alertUnhandledError)})(t)},title:"Copy SQL Expression",className:"query-builder__sql__container__icon",children:vse.jsx(Ooe,{})})})]})}),vse.jsx("div",{className:"query-builder__sql__container__code-editor",children:vse.jsx(yji,{inputValue:gKi(t.replaceAll("$","changeDollar").replaceAll("?","changeQuestion").replaceAll("{","changeOpenCurlyBracket").replaceAll("}","changeCloseCurlyBracket").replaceAll("'","changeSingleQuote")).replaceAll("changeDollar","$").replaceAll("changeQuestion","?").replaceAll("changeOpenCurlyBracket","{").replaceAll("changeCloseCurlyBracket","}").replaceAll("changeSingleQuote","'"),language:YLn.SQL})}),vse.jsx(RVe,{})]},t)]}),n.length>0&&vse.jsx("div",{className:"query-builder__sql__container",children:vse.jsxs("div",{children:[vse.jsx(TVe,{className:"query-builder__sql__container__item__label",children:"Result Columns"}),vse.jsx(RVe,{}),vse.jsxs("table",{className:"query-builder__sql__container__table table",children:[vse.jsx("thead",{children:vse.jsxs("tr",{children:[vse.jsx("th",{className:"table__cell--left",children:"Label"}),vse.jsx("th",{className:"table__cell--left",children:"Data Type"})]})}),vse.jsx("tbody",{children:n.map(e=>vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:e.label.replaceAll('"',"")}),e.dataType&&vse.jsx("td",{className:"table__cell--left",children:bY(e.dataType)})]},e.label))})]})]})})]})}),LKi=ule(e=>{const{query:t,resultColumns:n,resultType:i,executionPlanState:r,viewJson:s}=e,o=r.applicationStore;return!1===s?vse.jsx(kKi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}):vse.jsxs(xVe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[vse.jsx(kKi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}),vse.jsx(fji,{resultType:i}),vse.jsx("div",{className:"query-builder__sql__container",children:vse.jsx(AEe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(fXi.JSON),text:"View JSON"})}),vse.jsx(RVe,{})]})}),MKi=e=>function(t){const n=e.darkMode?"packageable-element-option-label--dark":"packageable-element-option-label";return vse.jsxs("div",{className:n,children:[vse.jsx("div",{className:`${n}__name`,children:t.label}),t.value.package&&vse.jsx("div",{className:`${n}__tag`,children:t.value.path}),vse.jsx("div",{className:`${n}__tag`,children:t.value.contentType})]})},PKi=e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r,innerProps:s}=e,{isReadOnly:o,removeNode:a}=s;let l,c,u;t.tree instanceof qS?(l=t.tree.property.value,c=l.genericType.value.rawType,u=t.tree.subType?.value):t.tree instanceof $S&&(c=t.tree.class.value);const d=Boolean(t.childrenIds.length)?t.isOpen?vse.jsx(wae,{}):vse.jsx(xae,{}):vse.jsx("div",{}),h=c?xHi(c):vse.jsx(pAe,{}),p=()=>r?.(t);return vse.jsxs("div",{className:"tree-view__node__container query-builder-graph-fetch-tree__node__container",style:{paddingLeft:(n-1)*(i??2)+"rem",display:"flex"},children:[vse.jsxs("div",{className:"query-builder-graph-fetch-tree__node__content",children:[vse.jsxs("div",{className:"tree-view__node__icon query-builder-graph-fetch-tree__node__icon",children:[vse.jsx("div",{className:"query-builder-graph-fetch-tree__expand-icon",onClick:p,children:d}),vse.jsx("div",{className:"query-builder-graph-fetch-tree__type-icon",onClick:p,children:h})]}),vse.jsxs("div",{className:"tree-view__node__label query-builder-graph-fetch-tree__node__label",onClick:p,children:[t.label,u&&vse.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type",children:vse.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type__label",children:u.name})}),vse.jsx("div",{className:"query-builder-graph-fetch-tree__node__type",children:vse.jsx("div",{className:"query-builder-graph-fetch-tree__node__type__label",children:c?.name})})]})]}),vse.jsx("div",{className:"query-builder-graph-fetch-tree__node__actions",children:vse.jsx("button",{className:"query-builder-graph-fetch-tree__node__action",title:"Remove",tabIndex:-1,onClick:()=>a?.(t),disabled:o,children:vse.jsx(gae,{})})})]})},FKi=ule(e=>{const{pureSerializationState:t,graphFetchState:n,config:i}=e,r=n.queryBuilderState.applicationStore,s=!t.config;return vse.jsx(V_e,{open:t.configModal,onClose:()=>t.setConfigModal(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:vse.jsxs(eVe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-builder-graph-fetch-config",children:[vse.jsx(nVe,{title:""+(s?"Add Serialization Config":"Edit Serialization Config")}),vse.jsx(rVe,{className:"query-builder-graph-fetch-config__content",children:vse.jsx(_Ve,{children:vse.jsxs(AVe,{children:[vse.jsx(DVe,{name:"Type Key Name",value:i.typeKeyName,isReadOnly:!1,update:e=>i.setTypeName(e??""),errorMessage:""===i.typeKeyName?"Type key name can't be empty":void 0}),vse.jsx(DVe,{name:"Date Time Format",value:i.dateTimeFormat,isReadOnly:!1,update:e=>i.setDateTimeFormat(""===e?void 0:e)}),vse.jsx(kVe,{name:"Include Type",value:i.includeType,isReadOnly:!1,update:e=>i.setIncludeType(Boolean(e))}),vse.jsx(kVe,{name:"Include Enum Type",value:i.includeEnumType,isReadOnly:!1,update:e=>i.setInclueEnumType(Boolean(e))}),vse.jsx(kVe,{name:"Remove Properties With Null Values",value:i.removePropertiesWithNullValues,isReadOnly:!1,update:e=>i.setRemovePropertiesWithNullValues(Boolean(e))}),vse.jsx(kVe,{name:"Remove properties with empty sets",value:i.removePropertiesWithEmptySets,isReadOnly:!1,update:e=>i.setRemovePropertiesWithEmptySets(Boolean(e))}),vse.jsx(kVe,{name:"Use Fully Qualified Type Path",value:i.fullyQualifiedTypePath,isReadOnly:!1,update:e=>i.setFullyQualifiedTypePath(Boolean(e))}),vse.jsx(kVe,{name:"Include Object Reference",value:i.includeObjectReference,isReadOnly:!1,update:e=>i.setIncludeObjectReference(Boolean(e))})]})})}),vse.jsxs(sVe,{children:[!s&&vse.jsx(aVe,{className:"btn--caution",text:"Remove Config",onClick:()=>{t.setConfig(void 0),t.setConfigModal(!1),n.queryBuilderState.applicationStore.notificationService.notifySuccess("Serialization config removed")}}),vse.jsx(aVe,{className:"modal__footer__close-btn",onClick:()=>{s&&t.setConfig(i),t.setConfigModal(!1)},type:s?"primary":"secondary",children:s?"Add Config":"Close"})]})]})})}),BKi=ule(e=>{const{graphFetchState:t,serializationState:n,serializationTreeData:i,bindings:r,isReadOnly:s}=e,o=r.map(e=>SHi(e)),a={value:n.targetBinding,label:n.targetBinding.name},l=t.queryBuilderState.applicationStore;return vse.jsx("div",{className:"query-builder-graph-fetch-external-format",children:vse.jsxs("div",{className:"service-execution-editor__configuration__items",children:[vse.jsxs("div",{className:"service-execution-editor__configuration__item",children:[vse.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:vse.jsx(yoe,{})}),vse.jsx(ZBe,{className:"panel__content__form__section__dropdown service-execution-editor__configuration__item__dropdown",disabled:s,options:o,onChange:e=>{null!==e&&(n.setBinding(e.value),n.setGraphFetchTree(i))},value:a,formatOptionLabel:MKi({darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled}),darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),vse.jsxs("div",{className:"service-execution-editor__configuration__item",children:[vse.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:vse.jsx(Woe,{})}),vse.jsx(xMe,{components:{TreeNodeContainer:PKi},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,onNodeSelect:e=>{e.childrenIds.length&&(e.isOpen=!e.isOpen)},getChildNodes:e=>e.childrenIds.map(e=>i.nodes.get(e)).filter(cr),innerProps:{isReadOnly:s,removeNode:e=>{1===i.nodes.size?t.queryBuilderState.applicationStore.notificationService.notifyWarning("externalize serialization tree can not be empty"):(Zzi(i,e),n.setGraphFetchTree({...i}))}}})]})]})})}),VKi=ule(e=>{const{graphFetchState:t,serializationState:n,treeData:i,updateTreeData:r,isReadOnly:s}=e,o=t.queryBuilderState.graphManagerState.usableStores.filter(pr(LX)).filter(e=>{const n=e.modelUnit.packageableElementIncludes.map(e=>e.value);return n.filter(pr(Q_)).map(e=>{return Array.from((n=e,i=t.queryBuilderState.graphManagerState.graph,new Set(i.getPackages(n.path).map(e=>[...eE(e)]).flat())));var n,i}).flat().concat(n.filter(e=>!(e instanceof Q_))).includes(i.tree.class.value)});return vse.jsxs("div",{className:"query-builder-graph-fetch-tree",children:[vse.jsxs("div",{className:"query-builder-graph-fetch-tree__toolbar",children:[vse.jsx("div",{className:"query-builder__fetch__structure__modes",children:Object.values(eji).map(e=>{return vse.jsx("button",{onClick:(r=e,()=>{r!==n.getLabel()&&t.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:"Current graph-fetch will be lost when switching to a different serialization mode. Do you still want to proceed?",type:nft.CAUTION,actions:[{label:"Proceed",type:ift.PROCEED_WITH_CAUTION,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>{switch(r){case eji.EXTERNAL_FORMAT:if(o.length>0&&o[0]){const e=new oji(t,o[0],void 0);t.setGraphFetchTree(i),e.setGraphFetchTree(fn(i)),t.setSerializationState(e)}else t.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't switch to external format serialization: No compatible bindings found");break;case eji.PURE:default:t.setSerializationState(new sji(t))}})},{label:"Cancel",type:ift.PROCEED,default:!0}]})}),className:gle("query-builder__fetch__structure__mode",{"query-builder__fetch__structure__mode--selected":e===n.getLabel()}),children:vf(e)},e);var r})}),vse.jsxs("div",{className:"query-builder-graph-fetch-tree__actions",children:[n instanceof sji&&vse.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action",children:vse.jsxs("button",{className:"query-builder-graph-fetch-tree__actions__action-btn__label",onClick:()=>{n instanceof sji&&n.setConfigModal(!0)},title:""+(n.config?"Edit pure serialization config":"Add pure serialization config"),tabIndex:-1,children:[vse.jsx(toe,{className:"query-builder-graph-fetch-tree__actions__action-btn__label__icon"}),vse.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action-btn__label__title",children:n.config?"Edit Config":"Add Config"})]})}),vse.jsxs("div",{className:gle("panel__content__form__section__toggler"),onClick:()=>t.setChecked(!t.isChecked),children:[vse.jsx("button",{className:gle("panel__content__form__section__toggler__btn",{"panel__content__form__section__toggler__btn--toggled":t.isChecked}),children:t.isChecked?vse.jsx(Toe,{}):vse.jsx(hae,{})}),vse.jsx("div",{className:"panel__content__form__section__toggler__prompt",children:"Check graph fetch"}),vse.jsx("div",{className:"query-builder-graph-fetch-tree__toolbar__hint-icon",children:vse.jsx(Xoe,{title:"With this enabled, while executing, violations of constraints will reported as part of the result, rather than causing a failure"})})]})]})]}),vse.jsxs("div",{className:"query-builder-graph-fetch-tree__container",children:[n instanceof sji&&n.configModal&&vse.jsx(FKi,{pureSerializationState:n,graphFetchState:t,config:n.config??iji.createDefault()}),vse.jsxs(tze,{orientation:"horizontal",children:[vse.jsx(nze,{children:vse.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[vse.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:vse.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Graph Fetch Tree"})}),vse.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:vse.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__item",children:vse.jsx(xMe,{components:{TreeNodeContainer:PKi},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,onNodeSelect:e=>{e.childrenIds.length&&(e.isOpen=!e.isOpen),r({...i})},getChildNodes:e=>e.childrenIds.map(e=>i.nodes.get(e)).filter(cr),innerProps:{isReadOnly:s,removeNode:e=>{Zzi(i,e),0===i.nodes.size&&t.setSerializationState(new sji(t)),n instanceof oji&&n.treeData?.nodes.get(e.id)&&(Zzi(n.treeData,dr(n.treeData.nodes.get(e.id))),r({...n.treeData})),r({...i})}}})})})]})}),vse.jsx(ize,{}),n instanceof oji&&n.treeData&&vse.jsx(nze,{children:vse.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[vse.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:vse.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Externalize"})}),vse.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:vse.jsx("div",{className:"query-builder-graph-fetch-external-format_config-group__item",children:vse.jsx(BKi,{graphFetchState:t,serializationState:n,serializationTreeData:n.treeData,bindings:o,isReadOnly:!1})})})]})})]})]})]})}),UKi=ule(e=>{const{graphFetchTreeState:t,serializationState:i}=e,r=t.treeData,s=n.useCallback(e=>{t.addProperty(e.node,{refreshTreeData:!0}),i instanceof oji&&i.addProperty(fn(e.node),{refreshTreeData:!0})},[t,i]),[{isDragOver:o},a]=DGe(()=>({accept:[lzi.ENUM_PROPERTY,lzi.PRIMITIVE_PROPERTY],drop:(e,t)=>{t.didDrop()||s(e)},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[s]);return n.useEffect(()=>{yvt.logEvent_RenderGraphFetchPanel(t.queryBuilderState.applicationStore.telemetryService,{serializationType:i.getLabel()})},[t.queryBuilderState.applicationStore,i]),vse.jsx("div",{"data-testid":CHi.QUERY_BUILDER_GRAPH_FETCH,className:"panel__content",children:vse.jsxs(tHe,{isDragOver:o,dropTargetConnector:a,contentClassName:"query-builder-graph-fetch-panel",children:[(!r||Yzi(r))&&vse.jsx(FVe,{text:"Add a graph fetch property",tooltipText:"Drag and drop properties here"}),r&&!Yzi(r)&&vse.jsx(VKi,{graphFetchState:t,serializationState:i,treeData:r,isReadOnly:!1,updateTreeData:e=>{t.setGraphFetchTree(e)}})]})})}),GKi=ule(e=>{const{graphFetchTreeState:t}=e,n=t.serializationState;return n instanceof sji||n instanceof oji?vse.jsx(UKi,{graphFetchTreeState:t,serializationState:n}):vse.jsx("div",{"data-testid":CHi.QUERY_BUILDER_GRAPH_FETCH,children:vse.jsx(MVe,{children:vse.jsxs("div",{className:"unsupported-element-editor__main",children:[vse.jsx("div",{className:"unsupported-element-editor__summary",children:"Unsupported Graph Fetch Serialization Type"}),vse.jsx("button",{className:"btn--dark unsupported-element-editor__to-text-mode__btn",onClick:()=>t.queryBuilderState.textEditorState.openModal(dji.TEXT),children:"Edit in text mode"})]})})})}),HKi=ule(e=>{const{storeMappingNode:t,executionPlanState:n}=e;let i;try{t.graphFetchTree instanceof $S?i=qzi(mr(t.graphFetchTree,$S),!0):t.graphFetchTree instanceof qS&&(i=(e=>{const t=[],n=new Map,i=Wzi(e,void 0,n);jr(t,i.id),n.set(i.id,i);const r=new $S(C_.create(new Z_("root")));return r.subTrees.push(e),{rootIds:t,nodes:n,tree:r}})(t.graphFetchTree))}catch{}const r=n.applicationStore;return vse.jsx(xVe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:vse.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[vse.jsx(TVe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Store Mapping Global Graph Fetch Execution Node Details"}),vse.jsx(RVe,{}),vse.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[vse.jsx("thead",{children:vse.jsxs("tr",{children:[vse.jsx("th",{className:"table__cell--left",children:"Property"}),vse.jsx("th",{className:"table__cell--left",children:"Details"})]})}),vse.jsxs("tbody",{children:[void 0!==t.parentIndex&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:" ParentIndex"}),vse.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.enableConstraints&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"EnableConstraints"}),vse.jsx("td",{className:"table__cell--left",children:t.enableConstraints.toString()})]}),void 0!==t.checked&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"Checked"}),vse.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),vse.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.store&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"Store"}),vse.jsx("td",{className:"table__cell--left",children:t.store})]}),vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"LocalTreeIndices"}),vse.jsx("td",{className:"table__cell--left",children:`[${t.localTreeIndices.toString()}]`})]}),vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"DependencyIndices"}),vse.jsx("td",{className:"table__cell--left",children:`[${t.dependencyIndices.toString()}]`})]})]})]}),vse.jsx(RVe,{}),i&&vse.jsxs(vse.Fragment,{children:[vse.jsx(TVe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Graph Fetch Tree"}),vse.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__content",children:vse.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__item",children:vse.jsx(xMe,{components:{TreeNodeContainer:PKi},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,getChildNodes:e=>e.childrenIds.map(e=>i?i.nodes.get(e):null).filter(cr),innerProps:{isReadOnly:!0}})})}),vse.jsx(RVe,{})]}),t.xStorePropertyFetchDetails&&vse.jsxs(vse.Fragment,{children:[vse.jsx(TVe,{className:"query-builder__store-mapping-global-graph-fetch__container__xstore",children:"xStorePropertyFetchDetails"}),vse.jsx(RVe,{}),vse.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[vse.jsx("thead",{children:vse.jsxs("tr",{children:[vse.jsx("th",{className:"table__cell--left",children:"Property"}),vse.jsx("th",{className:"table__cell--left",children:"Details"})]})}),vse.jsxs("tbody",{children:[vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:" propertyPath "}),vse.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.propertyPath})]}),vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:" sourceMappingId "}),vse.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceMappingId})]}),vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:" sourceSetId "}),vse.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceSetId})]}),vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:" subTree "}),vse.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.subTree})]}),vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:" supportsCaching "}),vse.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.supportsCaching.toString()})]}),vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:" targetMappingId "}),vse.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetMappingId})]}),vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:" targetSetId"}),vse.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetSetId})]}),vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"targetPropertiesOrdered"}),vse.jsx("td",{className:"table__cell--left",children:`[${t.xStorePropertyFetchDetails.targetPropertiesOrdered.toString()}]`})]})]})]})]}),t.resultType instanceof M4&&vse.jsx(mji,{resultType:t.resultType}),vse.jsx(RVe,{}),vse.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__btn",children:vse.jsx(AEe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(fXi.JSON),text:"View JSON"})}),vse.jsx(RVe,{})]})})}),zKi=ule(e=>{const{functionParameters:t,resultType:i,executionPlanState:r}=e,s=r.applicationStore;return vse.jsxs(xVe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[vse.jsx("div",{className:"query-builder__function-parameters-validation__container",children:vse.jsxs("div",{children:[vse.jsx(TVe,{className:"query-builder__function-parameters-validation__container__item__label",children:"Variables Details"}),vse.jsx(RVe,{}),vse.jsxs("table",{className:"query-builder__function-parameters-validation__container__table table",children:[vse.jsx("thead",{children:vse.jsxs("tr",{children:[vse.jsx("th",{className:"table__cell--left",children:"Name"}),vse.jsx("th",{className:"table__cell--left",children:"Type"})]})}),vse.jsx("tbody",{children:t.map(e=>{return vse.jsx(n.Fragment,{children:vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:e.name}),vse.jsx("td",{className:"table__cell--left",children:`${e.genericType?.value.rawType.name} ${t=e.multiplicity,t===A_.ZERO?"[0]":t===A_.ONE?"[1]":t===A_.ZERO_ONE?"[0..1]":t===A_.ZERO_MANY||t===A_.ONE_MANY?"[*]":void 0===t.upperBound?`[${t.lowerBound.toString()}.. *]`:`[${t.lowerBound.toString()}..${t.upperBound.toString()}]`}`})]})},e.name);var t})})]})]})}),vse.jsx(RVe,{}),vse.jsx(fji,{resultType:i}),vse.jsx("div",{className:"query-builder__function-parameters-validation__container",children:vse.jsx(AEe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(fXi.JSON),text:"View JSON"})}),vse.jsx(RVe,{})]})}),jKi=ule(e=>{const{cnode:t,executionPlanState:n}=e,i=t.resultType;let r="";const s=n.applicationStore;try{r=Er(t.values)?t.values.value:""}catch{}return vse.jsxs(xVe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[""!==r&&vse.jsx("div",{className:"query-builder__constant__container",children:vse.jsxs("div",{children:[vse.jsx(TVe,{className:"query-builder__constant__container__item__label",children:"Constant Execution Node Details"}),vse.jsx(RVe,{}),vse.jsx("pre",{children:vse.jsx("div",{className:"query-builder__constant__container__item",children:vse.jsxs("div",{children:["value: ",r]})})})]})}),vse.jsx(RVe,{}),vse.jsx(fji,{resultType:i}),vse.jsx("div",{className:"query-builder__constant__container",children:vse.jsx(AEe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(fXi.JSON),text:"View JSON"})}),vse.jsx(RVe,{})]})}),WKi=ule(e=>{const{node:t,executionPlanState:n}=e,i=t.varName,r=t.resultType,s=t.realizeInMemory?.toString(),o=n.applicationStore;return vse.jsxs(xVe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[vse.jsx("div",{className:"query-builder__allocation__container",children:vse.jsxs("div",{children:[vse.jsx(TVe,{className:"query-builder__allocation__container__item__label",children:"Allocation Node Details"}),vse.jsx(RVe,{}),vse.jsx("div",{className:"query-builder__allocation__container__item",children:vse.jsx("table",{className:"query-builder__allocation__container__table",children:vse.jsxs("tbody",{children:[vse.jsxs("tr",{children:[vse.jsx("td",{children:"varName"}),vse.jsx("td",{children:`: ${i}`})]}),vse.jsxs("tr",{children:[vse.jsx("td",{children:"realizeInMemory"}),vse.jsx("td",{children:`: ${s}`})]})]})})})]})}),vse.jsx(RVe,{}),vse.jsx(fji,{resultType:r}),vse.jsx(RVe,{}),t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof B2&&vse.jsx(jKi,{cnode:t.executionNodes[0],executionPlanState:n}),vse.jsx(RVe,{})]})}),$Ki=ule(e=>{const{node:t,executionPlanState:i,viewJson:r}=e,s=t.resultType,[o,a]=n.useState(void 0),l=r?vse.jsx("div",{}):o?vse.jsx(wae,{}):vse.jsx(xae,{});return vse.jsxs(vse.Fragment,{children:[vse.jsx("div",{className:"query-builder__sequence__container",children:vse.jsxs("div",{children:[vse.jsx(TVe,{className:"query-builder__sequence__container__item__label",children:"Execution Nodes"}),vse.jsx(RVe,{}),t.executionNodes.map((e,t)=>vse.jsx("div",{className:"query-builder__sequence__container__item",children:vse.jsxs("button",{className:"query-builder__sequence__container__item__btn",onClick:()=>(e=>{const t=i.treeData?.nodes.get(e._UUID);!1===r?a(o?void 0:e):(t instanceof hXi?i.transformMetadataToProtocolJson(t.executionPlan):t instanceof pXi&&i.transformMetadataToProtocolJson(t.executionNode),t&&i.setSelectedNode(t))})(e),tabIndex:-1,title:`Go to ${rXi(e)}`,children:[!r&&l,`${t+1}: ${rXi(e)}`]})},e._UUID))]})}),vse.jsx(RVe,{}),vse.jsx(fji,{resultType:s}),!1===r&&o&&vse.jsx(lXi,{executionNode:o,executionPlanState:i,viewJson:!1})]})}),qKi=ule(e=>{const{node:t,executionPlanState:n,viewJson:i}=e,r=n.applicationStore;return!1===i?vse.jsx($Ki,{node:t,executionPlanState:n,viewJson:i}):vse.jsxs(xVe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[vse.jsx($Ki,{node:t,executionPlanState:n,viewJson:i}),vse.jsx("div",{className:"query-builder__execution__container",children:vse.jsx(AEe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(fXi.JSON),text:"View JSON"})}),vse.jsx(RVe,{})]})}),YKi=ule(e=>{const{node:t,executionPlanState:n}=e,i=t.resultType,r=n.applicationStore;return vse.jsxs(xVe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof aY&&vse.jsx(kKi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:n}),vse.jsx(RVe,{}),vse.jsx(fji,{resultType:i}),vse.jsx("div",{className:"query-builder__sql__container",children:vse.jsx(AEe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(fXi.JSON),text:"View JSON"})}),vse.jsx(RVe,{})]})}),KKi=ule(e=>{const{node:t,executionPlanState:n}=e;return vse.jsxs(vse.Fragment,{children:[vse.jsx(TVe,{className:"query-builder__implementation__container__header",children:"Implementation"}),t.implementation instanceof h4&&t.implementation.executionClassFullName&&vse.jsx("div",{className:"query-builder__implementation__container__item",children:vse.jsx("button",{onClick:()=>{n.setSelectedNode(n.treeData?.nodes.get("Execution Plan")),n.transformMetadataToProtocolJson(mr(n.plan,_3,"Execution plan is undefined")),n.globalImplementationSupportState.setSelectedTab(vXi.GLOBAL_IMPLEMENTATION_SUPPORT),t.implementation instanceof h4&&n.globalImplementationSupportState.setSelectedJavaClass(t.implementation.executionClassFullName)},title:`Go to Java class: ${t.implementation.executionClassFullName}`,className:"query-builder__implementation__container__item__java-btn",children:t.implementation.executionClassFullName})})]})});var XKi;!function(e){e.RESULT_SET="resultSet",e.TEMP_FILE="tempFile",e.SUB_QUERY="subQuery"}(XKi||(XKi={}));const ZKi=ule(e=>{const{tempTableStrategy:t,executionPlanState:n}=e;let i="";return t instanceof $4?i=XKi.RESULT_SET:t instanceof Z4&&(i=XKi.TEMP_FILE),t instanceof K4&&(i=XKi.SUB_QUERY),vse.jsxs("div",{className:"query-builder__temp-table-strategy__container",children:[i&&vse.jsxs(TVe,{className:"query-builder__temp-table-strategy__container__item",children:["Type: ",i]}),vse.jsx(TVe,{className:"query-builder__temp-table-strategy__container__header",children:`Create Temp Table (${rXi(t.createTempTableNode)})`}),vse.jsx(lXi,{executionNode:t.createTempTableNode,executionPlanState:n,viewJson:!1}),vse.jsx(RVe,{}),vse.jsx(TVe,{className:"query-builder__temp-table-strategy__container__header",children:`Load Temp Table (${rXi(t.loadTempTableNode)})`}),vse.jsx(lXi,{executionNode:t.loadTempTableNode,executionPlanState:n,viewJson:!1}),vse.jsx(RVe,{}),vse.jsx(TVe,{className:"query-builder__temp-table-strategy__container__header",children:`Drop Temp Table (${rXi(t.dropTempTableNode)})`}),vse.jsx(lXi,{executionNode:t.dropTempTableNode,executionPlanState:n,viewJson:!1}),vse.jsx(RVe,{})]})});var QKi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(QKi||(QKi={}));const JKi=ule(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(QKi.GENERAL);return vse.jsx(xVe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:vse.jsx("div",{className:"query-builder__execution-plan-form--editor",children:vse.jsxs("div",{className:"panel",children:[vse.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:vse.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(QKi).map(e=>vse.jsx("div",{onClick:()=>o(e),className:gle("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:vf(e)},e))})}),s===QKi.GENERAL&&vse.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[vse.jsx(TVe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Root Query Temp Table Graph Fetch Execution Node Details"}),vse.jsx(RVe,{}),vse.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[vse.jsx("thead",{children:vse.jsxs("tr",{children:[vse.jsx("th",{className:"table__cell--left",children:"Property"}),vse.jsx("th",{className:"table__cell--left",children:"Details"})]})}),vse.jsxs("tbody",{children:[vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),vse.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),vse.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.batchSize&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"Batch Size"}),vse.jsx("td",{className:"table__cell--left",children:t.batchSize})]}),t.checked&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"Checked"}),vse.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),vse.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),vse.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"tempTableName"}),vse.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),vse.jsx(RVe,{}),vse.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:vse.jsx(KKi,{node:t,executionPlanState:i})}),vse.jsx(RVe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof aY&&vse.jsxs(vse.Fragment,{children:[vse.jsx(TVe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),vse.jsx(RVe,{}),vse.jsx(kKi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),vse.jsx(RVe,{}),vse.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:vse.jsx(fji,{resultType:t.resultType})}),vse.jsx(RVe,{}),vse.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:vse.jsx(AEe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(fXi.JSON),text:"View JSON"})})]}),s===QKi.TEMP_TABLE&&t.tempTableStrategy&&vse.jsx(ZKi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var eXi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(eXi||(eXi={}));const tXi=ule(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(eXi.GENERAL);return vse.jsx(xVe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:vse.jsx("div",{className:"query-builder__execution-plan-form--editor",children:vse.jsxs("div",{className:"panel",children:[vse.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:vse.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(eXi).map(e=>vse.jsx("div",{onClick:()=>o(e),className:gle("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:vf(e)},e))})}),s===eXi.GENERAL&&vse.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[vse.jsx(TVe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Class Query Temp Table Graph Fetch Execution Node Details"}),vse.jsx(RVe,{}),vse.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[vse.jsx("thead",{children:vse.jsxs("tr",{children:[vse.jsx("th",{className:"table__cell--left",children:"Property"}),vse.jsx("th",{className:"table__cell--left",children:"Details"})]})}),vse.jsxs("tbody",{children:[vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),vse.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),t.parentIndex&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),vse.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),t.authDependent&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),vse.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.processedTempTableName&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),vse.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"tempTableName"}),vse.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),vse.jsx(RVe,{}),vse.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:vse.jsx(KKi,{node:t,executionPlanState:i})}),vse.jsx(RVe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof aY&&vse.jsxs(vse.Fragment,{children:[vse.jsx(TVe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),vse.jsx(RVe,{}),vse.jsx(kKi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),vse.jsx(RVe,{}),vse.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:vse.jsx(fji,{resultType:t.resultType})}),vse.jsx(RVe,{}),vse.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:vse.jsx(AEe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(fXi.JSON),text:"View JSON"})})]}),s===eXi.TEMP_TABLE&&t.tempTableStrategy&&vse.jsx(ZKi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var nXi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE_STRATEGY="TEMP_TABLE_STRATEGY",e.PARENT_TEMP_TABLE_STRATEGY="PARENT_TEMP_TABLE_STRATEGY"}(nXi||(nXi={}));const iXi=ule(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(nXi.GENERAL);return vse.jsx(xVe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:vse.jsx("div",{className:"query-builder__execution-plan-form--editor",children:vse.jsxs("div",{className:"panel",children:[vse.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:vse.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(nXi).map(e=>vse.jsx("div",{onClick:()=>o(e),className:gle("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:vf(e)},e))})}),s===nXi.GENERAL&&vse.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[vse.jsx(TVe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Cross Root Query Temp Table Graph Fetch Execution Node Details"}),vse.jsx(RVe,{}),vse.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[vse.jsx("thead",{children:vse.jsxs("tr",{children:[vse.jsx("th",{className:"table__cell--left",children:"Property"}),vse.jsx("th",{className:"table__cell--left",children:"Details"})]})}),vse.jsxs("tbody",{children:[vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),vse.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),vse.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.authDependent&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),vse.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),vse.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"tempTableName"}),vse.jsx("td",{className:"table__cell--left",children:t.tempTableName})]}),void 0!==t.processedParentTempTableName&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"processedParentTempTableName"}),vse.jsx("td",{className:"table__cell--left",children:t.processedParentTempTableName})]}),t.parentTempTableName&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"parentTempTableName"}),vse.jsx("td",{className:"table__cell--left",children:t.parentTempTableName})]})]})]}),vse.jsx(RVe,{}),vse.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:vse.jsx(KKi,{node:t,executionPlanState:i})}),vse.jsx(RVe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof aY&&vse.jsxs(vse.Fragment,{children:[vse.jsx(TVe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),vse.jsx(RVe,{}),vse.jsx(kKi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),vse.jsx(RVe,{}),vse.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:vse.jsx(fji,{resultType:t.resultType})}),vse.jsx(RVe,{}),vse.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:vse.jsx(AEe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(fXi.JSON),text:"View JSON"})})]}),s===nXi.TEMP_TABLE_STRATEGY&&t.tempTableStrategy&&vse.jsx(ZKi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i}),s===nXi.PARENT_TEMP_TABLE_STRATEGY&&t.parentTempTableStrategy&&vse.jsx(ZKi,{tempTableStrategy:t.parentTempTableStrategy,executionPlanState:i})]})})})}),rXi=e=>e instanceof aY?"SQL Execution Node":e instanceof uY?"Relational TDS Instantiation Execution Node":e instanceof L2?"Function Parameters Validation Node":e instanceof F2?`Allocation Execution Node (${e.varName})`:e instanceof B2?"Constant Execution Node":e instanceof V2?"Sequence Execution Node":e instanceof y4?"Store Mapping Global Graph Fetch Execution Node":e instanceof R4?"Relational Root Query TempTable Graph Fetch Execution Node":e instanceof J4?"Relational Cross Root Query TempTable Graph Fetch Execution Node":e instanceof w4?"Relational Class Query TempTable Graph Fetch Execution Node":e instanceof I4?"Pure Expression Platform Execution Node":"Other",sXi=ule(e=>{const{executionPlanState:t}=e,n=t.plan?.globalImplementationSupport,i=t.plan?.processingTemplateFunctions??[],r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return n&&n instanceof h4&&(n.classes.sort((e,t)=>(e.package+e.name).toLowerCase()>(t.package+t.name).toLowerCase()?1:-1),n.classes.length>0&&n.classes[0]&&void 0===t.globalImplementationSupportState.selectedJavaClass&&t.globalImplementationSupportState.setSelectedJavaClass(`${n.classes[0]?.package}.${n.classes[0]?.name}`)),vse.jsx("div",{className:"query-builder__execution-plan-form--editor",children:vse.jsxs("div",{className:"panel",children:[vse.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:vse.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(vXi).map(e=>vse.jsx("div",{onClick:()=>t.globalImplementationSupportState.setSelectedTab(e),className:gle("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===t.globalImplementationSupportState.selectedTab}),children:vf(e)},e))})}),t.globalImplementationSupportState.selectedTab===vXi.GLOBAL_IMPLEMENTATION_SUPPORT&&n&&n instanceof h4&&vse.jsxs(tze,{orientation:"vertical",children:[vse.jsx(nze,{minSize:30,size:400,children:vse.jsx(xVe,{darkMode:r,className:"query-builder__java__container__panel",children:vse.jsx("div",{className:"query-builder__java__container",children:vse.jsxs("div",{children:[n.classes.map(e=>vse.jsx("div",{className:gle("query-builder__java__container__item",{"query-builder__java__container__item--active":`${e.package}.${e.name}`===t.globalImplementationSupportState.selectedJavaClass}),children:vse.jsx("button",{className:"query-builder__java__container__item__btn",onClick:()=>t.globalImplementationSupportState.setSelectedJavaClass(`${e.package}.${e.name}`),tabIndex:-1,title:`Go to ${e.package}.${e.name}`,children:`${e.package}.${e.name}`})},e.package+e.name)),vse.jsx(RVe,{})]})})})}),vse.jsx(ize,{children:vse.jsx(rze,{color:"var(--color-dark-grey-200)"})}),vse.jsx(nze,{children:t.globalImplementationSupportState.selectedJavaClass&&vse.jsx(yji,{inputValue:n.classes.reduce((e,n)=>t.globalImplementationSupportState.selectedJavaClass===`${n.package}.${n.name}`?n.source:e,""),isReadOnly:!0,language:YLn.JAVA,hideMinimap:!0})})]}),t.globalImplementationSupportState.selectedTab===vXi.GENERAL&&i.length>0&&vse.jsxs(vse.Fragment,{children:[vse.jsx("div",{className:"query-builder__template--function--editor__header",children:`AuthDependent: ${t.plan?.authDependent.toString()}`}),vse.jsx("div",{className:"query-builder__template--function--editor__title",children:"Template Functions"}),vse.jsx("div",{className:"query-builder__template--function--editor__code",children:vse.jsx(yji,{inputValue:i.reduce((e,t)=>`${e}${t}\n`,""),isReadOnly:!0,language:YLn.XML,hideMinimap:!0,hideActionBar:!0})}),vse.jsx("div",{className:"query-builder__template--function--editor__json",children:vse.jsx(AEe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>t.setViewMode(fXi.JSON),text:"View JSON"})})]})]})})}),oXi=ule(e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r}=e,s=Boolean(t.childrenIds?.length)?t.isOpen?vse.jsx(wae,{}):vse.jsx(xae,{}):vse.jsx("div",{});let o="",a="";return t instanceof pXi&&("Store Mapping Global Graph Fetch Execution Node"===t.parentNodeId&&(t.executionNode instanceof y4?o="Cross":t.executionNode instanceof _4&&(o="Local")),a=(e=>{if(e instanceof y4||e instanceof _4){if(e.graphFetchTree instanceof $S)return e.graphFetchTree.class.value.name;if(e.graphFetchTree instanceof qS)return e.graphFetchTree.property.value.name}return""})(t.executionNode)),vse.jsxs("div",{className:gle("tree-view__node__container execution-plan-viewer__explorer-tree__node__container",{"menu__trigger--on-menu-open":!t.isSelected},{"execution-plan-viewer__explorer-tree__node__container--selected":t.isSelected}),style:{paddingLeft:(n-1)*(i??1)+"rem"},onClick:()=>r?.(t),children:[vse.jsx("div",{className:"tree-view__node__icon",children:vse.jsx("div",{className:"tree-view__node__expand-icon",children:s})}),""!==o&&vse.jsx("div",{className:"execution-plan-viewer__node__sub-type",children:vse.jsx("div",{className:"execution-plan-viewer__node__sub-type__label",children:o})}),""!==a&&vse.jsx("div",{className:"execution-plan-viewer__node__type",children:vse.jsx("div",{className:"execution-plan-viewer__node__type__label",children:a})}),vse.jsx("button",{className:"tree-view__node__label execution-plan-viewer__explorer-tree__node__label",tabIndex:-1,title:t.id,children:t.label})]})}),aXi=ule(e=>{const{executionPlanState:t}=e,n=e=>{if(e.childrenIds?.length)if(e.setIsOpen(!e.isOpen),e instanceof hXi){const n=e.executionPlan.rootExecutionNode,i=gXi(n,rXi(n),e);t.setTreeNode(i.id,i)}else if(e instanceof pXi){if(e.executionNode.executionNodes.length>0&&e.executionNode.executionNodes.forEach(n=>{const i=gXi(n,rXi(n),e);t.setTreeNode(i.id,i)}),e.executionNode instanceof y4){const n=e.executionNode.localGraphFetchExecutionNode,i=gXi(n,rXi(n),e);t.setTreeNode(i.id,i),e.executionNode.children.forEach(n=>{const i=gXi(n,rXi(n),e);t.setTreeNode(i.id,i)})}e.executionNode instanceof C4&&e.executionNode.children.forEach(n=>{const i=gXi(n,rXi(n),e);t.setTreeNode(i.id,i)})}t.refreshTreeData()};return vse.jsx(xMe,{components:{TreeNodeContainer:oXi},treeData:t.nonNullableTreeData,getChildNodes:e=>{if(!e.childrenIds||0===e.childrenIds.length)return[];const n=e.childrenIds.map(e=>t.nonNullableTreeData.nodes.get(e)).filter(cr);return n},onNodeSelect:e=>{e instanceof hXi?t.transformMetadataToProtocolJson(e.executionPlan):e instanceof pXi&&t.transformMetadataToProtocolJson(e.executionNode),!0===e.isOpen&&!1===e.isSelected||n(e),t.setSelectedNode(e)},innerProps:{onNodeExpand:n}})}),lXi=ule(e=>{const{executionNode:t,executionPlanState:n,viewJson:i}=e;return t instanceof aY?vse.jsx(LKi,{query:t.sqlQuery,resultColumns:t.resultColumns,resultType:t.resultType,executionPlanState:n,viewJson:i}):t instanceof uY?vse.jsx(YKi,{node:t,executionPlanState:n}):t instanceof L2?vse.jsx(zKi,{functionParameters:t.functionParameters,parameterValidationContext:t.parameterValidationContext,executionPlanState:n,resultType:t.resultType}):t instanceof F2?vse.jsx(WKi,{node:t,executionPlanState:n}):t instanceof B2?vse.jsx(jKi,{cnode:t,executionPlanState:n}):t instanceof V2?vse.jsx(qKi,{node:t,executionPlanState:n,viewJson:i}):t instanceof y4?vse.jsx(HKi,{storeMappingNode:t,executionPlanState:n}):t instanceof J4?vse.jsx(iXi,{node:t,executionPlanState:n}):t instanceof R4?vse.jsx(JKi,{node:t,executionPlanState:n}):t instanceof w4?vse.jsx(tXi,{node:t,executionPlanState:n}):vse.jsx(MVe,{children:vse.jsxs("div",{className:"execution-node-viewer__unsupported-view",children:[vse.jsx("div",{className:"execution-node-viewer__unsupported-view__summary",children:"Can't display execution node"}),vse.jsx("button",{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(fXi.JSON),children:"View JSON"})]})})}),cXi=ule(e=>{const{displayData:t,executionPlanState:i}=e;let r;void 0!==i.selectedNode&&(i.selectedNode instanceof hXi?r=i.selectedNode.executionPlan:i.selectedNode instanceof pXi&&(r=i.selectedNode.executionNode)),n.useEffect(()=>{if(void 0===i.selectedNode){const e=i.treeData?.nodes.get("Execution Plan");e instanceof hXi&&(i.transformMetadataToProtocolJson(e.executionPlan),i.setSelectedNode(e))}},[i]);const s=Object.values(fXi);return vse.jsx("div",{className:"execution-plan-viewer__panel",children:void 0!==i.selectedNode&&vse.jsxs(vse.Fragment,{children:[vse.jsxs("div",{className:"panel__header execution-plan-viewer__panel__header",children:[vse.jsx("div",{className:"execution-plan-viewer__panel__header__tabs",children:vse.jsx("button",{className:"execution-plan-viewer__panel__header__tab execution-plan-viewer__panel__header__tab--active",children:i.selectedNode.label})}),vse.jsx(mVe,{className:"execution-plan-viewer__panel__view-mode__type",title:"View as...",content:vse.jsx(cVe,{className:"execution-plan-viewer__panel__view-mode__options execution-plan-viewer__panel__view-mode__options--with-group",children:vse.jsxs("div",{className:"execution-plan-viewer__panel__view-mode__option__group execution-plan-viewer__panel__view-mode__option__group--native",children:[vse.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__name",children:"native"}),vse.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__options",children:s.map(e=>vse.jsx(uVe,{className:"execution-plan-viewer__panel__view-mode__option",onClick:()=>i.setViewMode(e),children:e},e))})]})}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"}},children:vse.jsx("div",{className:"execution-plan-viewer__panel__view-mode__type__label",children:i.viewMode})})]}),vse.jsxs("div",{className:"panel__content execution-plan-viewer__panel__content",children:[i.viewMode===fXi.JSON&&Boolean(t)&&vse.jsx(yji,{inputValue:t,isReadOnly:!0,language:YLn.JSON,hideMinimap:!0}),i.viewMode===fXi.FORM&&vse.jsxs(vse.Fragment,{children:[r instanceof oY&&vse.jsx(lXi,{executionNode:r,executionPlanState:i,viewJson:!0}),r instanceof _3&&vse.jsx(sXi,{executionPlanState:i})]})]})]})})}),uXi=ule(e=>{const{executionPlanState:t,rawPlan:n}=e,i=t.plan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return vse.jsx("div",{className:"execution-plan-viewer__content",children:i?vse.jsxs(tze,{orientation:"vertical",children:[vse.jsx(nze,{size:300,minSize:300,children:vse.jsxs("div",{className:"panel execution-plan-viewer__explorer",children:[vse.jsx(SVe,{darkMode:r,title:"execution plan explorer"}),vse.jsx("div",{className:"panel__content execution-plan-viewer__explorer__content__container",children:vse.jsx(aXi,{executionPlanState:t,executionPlan:i})})]})}),vse.jsx(ize,{children:vse.jsx(rze,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),vse.jsx(nze,{children:vse.jsx(cXi,{displayData:t.displayData,executionPlanState:t})})]}):vse.jsx(yji,{inputValue:JSON.stringify(n,void 0,2),isReadOnly:!0,language:YLn.JSON})})}),dXi=ule(e=>{const{executionPlanState:t}=e,n=()=>{t.setRawPlan(void 0),t.initialize(void 0),t.setExecutionPlanDisplayData(""),t.setSelectedNode(void 0),t.setDebugText(void 0),t.globalImplementationSupportState.setSelectedTab(vXi.GENERAL),t.globalImplementationSupportState.setSelectedJavaClass(void 0)},i=t.rawPlan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return i?vse.jsx(V_e,{open:Boolean(t.rawPlan),onClose:n,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:vse.jsxs(eVe,{className:"editor-modal",darkMode:r,children:[vse.jsx(nVe,{title:"Execution Plan"}),vse.jsx(rVe,{children:t.debugText?vse.jsxs(tze,{orientation:"horizontal",children:[vse.jsx(nze,{minSize:100,children:vse.jsx(uXi,{executionPlanState:t,rawPlan:i})}),vse.jsx(ize,{children:vse.jsx(rze,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),vse.jsx(nze,{size:200,minSize:28,children:vse.jsxs(_Ve,{className:"panel execution-plan-viewer__debug-panel",children:[vse.jsx(CVe,{title:"DEBUG LOG",keepTitleFormat:!0,darkMode:r}),vse.jsx(xVe,{children:vse.jsx(yji,{inputValue:t.debugText,isReadOnly:!0,language:YLn.TEXT})})]})})]}):vse.jsx(uXi,{executionPlanState:t,rawPlan:i})}),vse.jsx(sVe,{children:vse.jsx(aVe,{onClick:n,text:"Close",type:"secondary"})})]})}):null});class hXi{id;label;isSelected;isOpen;childrenIds;executionPlan;constructor(e,t,n){hd(this,{isSelected:Rc,isOpen:Rc,setIsSelected:Pu,setIsOpen:Pu}),this.id=e,this.label=t,this.executionPlan=n}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}}class pXi{id;label;isSelected;isOpen;childrenIds;executionNode;parentNodeId;constructor(e,t,n,i){hd(this,{isSelected:Rc,isOpen:Rc,setIsSelected:Pu,setIsOpen:Pu}),this.id=e,this.label=t,this.executionNode=n,this.parentNodeId=i}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}}const gXi=(e,t,n)=>{const i=new pXi(e._UUID,t,e,n instanceof pXi?rXi(n.executionNode):void 0),r=[];return e.executionNodes.slice().filter(pr(oY)).forEach(e=>{jr(r,e._UUID)}),e instanceof y4&&(jr(r,e.localGraphFetchExecutionNode._UUID),e.children.slice().filter(pr(oY)).forEach(e=>{jr(r,e._UUID)})),e instanceof C4&&e.children.slice().filter(pr(oY)).forEach(e=>{jr(r,e._UUID)}),i.childrenIds=r,i},mXi=e=>{const t=[],n=new Map,i=(e=>{const t=new hXi("Execution Plan","Execution Plan",e),n=[],i=e.rootExecutionNode._UUID;return jr(n,i),t.childrenIds=n,t})(e);return jr(t,i.id),n.set(i.id,i),{rootIds:t,nodes:n}};var fXi,vXi;!function(e){e.FORM="Form",e.JSON="JSON"}(fXi||(fXi={})),function(e){e.GENERAL="GENERAL",e.GLOBAL_IMPLEMENTATION_SUPPORT="GLOBAL_IMPLEMENTATION_SUPPORT"}(vXi||(vXi={}));class yXi{selectedTab=vXi.GENERAL;selectedJavaClass=void 0;constructor(){hd(this,{selectedTab:Rc,selectedJavaClass:Rc,setSelectedTab:Pu,setSelectedJavaClass:Pu})}setSelectedTab(e){this.selectedTab=e}setSelectedJavaClass(e){this.selectedJavaClass=e}}class bXi{applicationStore;graphManagerState;displayDataJson={};displayData="";selectedNode=void 0;viewMode=fXi.FORM;treeData;rawPlan;plan;debugText;globalImplementationSupportState=new yXi;constructor(e,t){hd(this,{displayData:Rc,displayDataJson:Rc,viewMode:Rc,rawPlan:Rc,plan:Rc,debugText:Rc,treeData:Rc,setExecutionPlanDisplayData:Pu,setExecutionPlanDisplayDataJson:Pu,transformMetadataToProtocolJson:Pu,setSelectedNode:Pu,setRawPlan:Pu,setPlan:Pu,setViewMode:Pu,setDebugText:Pu,setTreeNode:Pu,setTreeData:Pu,refreshTreeData:Pu,nonNullableTreeData:Oc,initialize:Pu,globalImplementationSupportState:Rc}),this.applicationStore=e,this.graphManagerState=t}setViewMode(e){this.viewMode=e}setTreeNode(e,t){this.treeData?.nodes.set(e,t)}setTreeData(e){this.treeData=e}refreshTreeData(){this.treeData&&this.setTreeData({...this.treeData})}get nonNullableTreeData(){return dr(this.treeData,"Execution plan viewer tree data has not been initialized")}setRawPlan=e=>{this.rawPlan=e};setPlan=e=>{this.plan=e};initialize=e=>{this.setPlan(e),void 0!==e?this.setTreeData(mXi(e)):this.setTreeData(void 0)};setDebugText(e){this.debugText=e}setSelectedNode(e){this.selectedNode&&this.selectedNode.setIsSelected(!1),e&&e.setIsSelected(!0),this.selectedNode=e}setExecutionPlanDisplayData(e){this.displayData=e}setExecutionPlanDisplayDataJson(e){this.displayDataJson=e,this.setExecutionPlanDisplayData(JSON.stringify(this.displayDataJson,void 0,2))}transformMetadataToProtocolJson(e){if(e instanceof _3){const t=this.graphManagerState.graphManager.serializeExecutionPlan(e);this.setExecutionPlanDisplayDataJson(t)}else if(e instanceof oY){const t=this.graphManagerState.graphManager.serializeExecutionNode(e);this.setExecutionPlanDisplayDataJson(t)}}}const _Xi=e=>{try{const t=e.getFirstDisplayedRowIndex(),n=e.getLastDisplayedRowIndex();if(n>=t)return Math.max(1,n-t)}catch{}return 25},CXi=e=>{const t=e.getCellRanges();return t&&t.length>0?t[t.length-1]:null},SXi=e=>{const t=e.event;if(!t)return;const n=e.api;if(t.ctrlKey&&"KeyA"===t.code)return void((e,t)=>{e.preventDefault();const n=t.getDisplayedRowCount(),i=t.getColumns();0!==n&&i&&0!==i.length&&(console.debug(`[TDS Grid] Ctrl+A → selecting all: ${n} rows × ${i.length} columns`),t.deselectAll(),t.clearCellSelection(),t.addCellRange({rowStartIndex:0,rowEndIndex:n-1,columns:i}))})(t,n);const i=e.column,r=e.rowIndex;((e,t,n)=>{e.code.startsWith("Control")||e.code.startsWith("Shift")||e.code.startsWith("Alt")||e.code.startsWith("Meta")||console.debug(`[TDS Grid] onCellKeyDown: key=${e.code} ctrl=${e.ctrlKey} shift=${e.shiftKey} col=${t.getColId()} row=${n}`)})(t,i,r),null!==r&&(!t.shiftKey||"PageDown"!==t.code&&"PageUp"!==t.code?t.ctrlKey&&"Space"===t.code?((e,t,n)=>{e.preventDefault();const i=t.getDisplayedRowCount();if(0===i)return;const r=CXi(t),s=r?r.columns:[n];console.debug(`[TDS Grid] Ctrl+Space → selecting ${s.length} column(s), ${i} rows`),t.deselectAll(),t.clearCellSelection(),t.addCellRange({rowStartIndex:0,rowEndIndex:i-1,columns:s})})(t,n,i):t.shiftKey&&"Space"===t.code&&((e,t,n,i)=>{e.preventDefault();const r=t.getColumns();if(!r||0===r.length)return;const s=CXi(t);let o=i,a=i;if(s){const e=s.startRow?.rowIndex??i,t=s.endRow?.rowIndex??i;o=Math.min(e,t),a=Math.max(e,t)}console.debug(`[TDS Grid] Shift+Space → selecting rows ${o}–${a}, ${r.length} columns`),t.deselectAll(),t.clearCellSelection(),t.addCellRange({rowStartIndex:o,rowEndIndex:a,columns:r})})(t,n,0,r):((e,t,n,i)=>{e.preventDefault();const r=t.getDisplayedRowCount();if(0===r)return;const s=CXi(t),o=s?.startRow?.rowIndex??i,a=s?.endRow?.rowIndex??i,l=s?s.columns:[n],c="PageDown"===e.code?_Xi(t):-_Xi(t),u=Math.max(0,Math.min(r-1,a+c));console.debug(`[TDS Grid] Shift+${e.code} → extending range rows ${o}–${u}`),t.deselectAll(),t.clearCellSelection(),t.addCellRange({rowStartIndex:Math.min(o,u),rowEndIndex:Math.max(o,u),columns:l})})(t,n,i,r))},wXi=e=>Intl.NumberFormat(aHi,{maximumFractionDigits:UXi}).format(e),EXi=()=>vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__spinner",title:"Computing…"}),xXi=({frequencies:e,darkMode:t})=>{const i=Math.max(...e.map(e=>e.count)),r=n.useRef(null);return n.useLayoutEffect(()=>{const e=r.current;if(!e)return;const t=e.getBoundingClientRect();t.left<0?e.style.left=4-t.left+"px":t.right>globalThis.innerWidth&&(e.style.left=globalThis.innerWidth-t.right-4+"px")}),vse.jsx("div",{ref:r,className:gle("query-builder__result__tds-grid__stats-bar__freq-tooltip",{"query-builder__result__tds-grid__stats-bar__freq-tooltip--dark":t}),children:vse.jsx("svg",{width:208,height:13*e.length+2,children:e.map((e,t)=>{const n=13*t+1,r=Math.max(1,e.count/i*80),s=e.label.length>12?`${e.label.slice(0,11)}…`:e.label;return vse.jsxs("g",{children:[vse.jsx("text",{x:86,y:n+10-2,textAnchor:"end",className:gle("query-builder__result__tds-grid__stats-bar__freq-tooltip__label",{"query-builder__result__tds-grid__stats-bar__freq-tooltip__label--other":e.isOther,"query-builder__result__tds-grid__stats-bar__freq-tooltip__label--empty":e.isEmpty}),children:s}),vse.jsx("rect",{x:90,y:n,width:r,height:10,className:gle("query-builder__result__tds-grid__stats-bar__freq-tooltip__bar",{"query-builder__result__tds-grid__stats-bar__freq-tooltip__bar--other":e.isOther,"query-builder__result__tds-grid__stats-bar__freq-tooltip__bar--empty":e.isEmpty})}),vse.jsx("text",{x:174,y:n+10-2,className:"query-builder__result__tds-grid__stats-bar__freq-tooltip__count",children:e.count})]},t)})})})},TXi=(e,t)=>{const n=e.count,i=`${n} ${1===n?"value":"values"}`;if("date"===t){const t=e.lowerDateLabel??e.lower,n=e.upperDateLabel??e.upper;return t===n?`${i} on ${t}`:`${i} within the range ${t} – ${n}`}if("string-length"===t){const t=Math.round(e.lower),n=Math.round(e.upper);return t===n?`${i} with length ${t}`:`${i} with length ${t} – ${n}`}return e.lower===e.upper?`${i} equal to ${wXi(e.lower)}`:`${i} within the range ${wXi(e.lower)} – ${wXi(e.upper)}`},AXi=({buckets:e,chartType:t,darkMode:n})=>{if(0===e.length)return null;const i=Math.max(...e.map(e=>e.count));if(0===i)return null;const r=e.length,s=Math.max(1,(120-1*(r-1))/r);return vse.jsx("div",{className:gle("query-builder__result__tds-grid__stats-bar__chart",{"query-builder__result__tds-grid__stats-bar__chart--dark":n}),children:vse.jsx("svg",{width:120,height:18,children:e.map((e,n)=>{const r=Math.max(1,e.count/i*18),o=n*(s+1);return vse.jsx("rect",{x:o,y:18-r,width:s,height:r,opacity:0===e.count?.15:1,children:vse.jsx("title",{children:TXi(e,t)})},n)})})})},RXi=ule(e=>{const{stats:t,cellCount:n,countReady:i,darkMode:r}=e,s=void 0===t,o=!s&&void 0!==t.sum,a=!s&&void 0!==t.dateMin,l=!s&&void 0!==t.strMinLength,c=!s&&void 0!==t.distributionBuckets&&t.distributionBuckets.length>=2;return vse.jsxs("div",{className:gle("query-builder__result__tds-grid__stats-bar",{"query-builder__result__tds-grid__stats-bar--dark":r}),children:[vse.jsxs("span",{className:gle("query-builder__result__tds-grid__stats-bar__item",{"query-builder__result__tds-grid__stats-bar__item--has-tooltip":!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0}),children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Count:"}),vse.jsx("span",{className:gle("query-builder__result__tds-grid__stats-bar__item__value",{"query-builder__result__tds-grid__stats-bar__item__value--with-chart":!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0}),children:i?n:vse.jsx(EXi,{})}),!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0&&vse.jsx(xXi,{frequencies:t.valueFrequencies,darkMode:r})]}),vse.jsxs("span",{className:gle("query-builder__result__tds-grid__stats-bar__item",{"query-builder__result__tds-grid__stats-bar__item--has-tooltip":!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0}),children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Unique Count:"}),vse.jsx("span",{className:gle("query-builder__result__tds-grid__stats-bar__item__value",{"query-builder__result__tds-grid__stats-bar__item__value--with-chart":!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0}),children:s?vse.jsx(EXi,{}):t.uniqueCount}),!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0&&vse.jsx(xXi,{frequencies:t.valueFrequencies,darkMode:r})]}),vse.jsxs("span",{className:gle("query-builder__result__tds-grid__stats-bar__item",{"query-builder__result__tds-grid__stats-bar__item--has-tooltip":!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0}),children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Empty Count:"}),vse.jsx("span",{className:gle("query-builder__result__tds-grid__stats-bar__item__value",{"query-builder__result__tds-grid__stats-bar__item__value--with-chart":!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0}),children:s?vse.jsx(EXi,{}):t.nullCount}),!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0&&vse.jsx(xXi,{frequencies:t.valueFrequencies,darkMode:r})]}),o&&vse.jsxs(vse.Fragment,{children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__separator"}),vse.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Min:"}),vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:wXi(t.min??0)})]}),vse.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Max:"}),vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:wXi(t.max??0)})]}),vse.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Sum:"}),vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:wXi(t.sum??0)})]}),vse.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Avg:"}),vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:wXi(t.avg??0)})]})]}),a&&vse.jsxs(vse.Fragment,{children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__separator"}),vse.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Min:"}),vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:t.dateMin})]}),vse.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Max:"}),vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:t.dateMax})]})]}),l&&vse.jsxs(vse.Fragment,{children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__separator"}),vse.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Min Length:"}),vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:t.strMinLength})]}),vse.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Max Length:"}),vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:t.strMaxLength})]})]}),c&&vse.jsxs(vse.Fragment,{children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__separator"}),vse.jsx(AXi,{buckets:t.distributionBuckets??[],chartType:t.distributionChartType??"numeric",darkMode:r})]})]})}),NXi=new Set([Xb.INTEGER,Xb.FLOAT,Xb.DECIMAL,Xb.NUMBER]),IXi=new Set([Xb.DATE,Xb.STRICTDATE,Xb.DATETIME]),DXi=new Set([Xb.STRING]),OXi=e=>{if(0===e.length)return[];const t=Math.min(...e),n=Math.max(...e),i=n-t;if(0===i)return[{lower:t,upper:n,count:e.length}];const r=e.every(e=>Number.isInteger(e)),s=n-t+1;let o;o=r&&s<=20?s:Math.min(20,Math.ceil(Math.log2(e.length)+1));const a=i/o,l=Array.from({length:o},(e,n)=>({lower:t+n*a,upper:t+(n+1)*a,count:0}));for(const n of e){const e=l[Math.min(o-1,Math.floor((n-t)/a))];e&&(e.count+=1)}return l},kXi=e=>{const t=new Date(e);return 0===t.getUTCHours()&&0===t.getUTCMinutes()&&0===t.getUTCSeconds()&&0===t.getUTCMilliseconds()?t.toISOString().slice(0,10):t.toISOString().replace("T"," ").slice(0,19)},LXi=e=>"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e?String(e):null==e?"":JSON.stringify(e),MXi=(e,t,n)=>{const i=t.map(String).filter(e=>e.length>0),r=[...i].sort((e,t)=>e.localeCompare(t)),s=(e=>{if(0===e.length)return[];const t=e.map(e=>Date.parse(e)).filter(e=>!Number.isNaN(e));return 0===t.length?[]:OXi(t).map(e=>({...e,lowerDateLabel:kXi(e.lower),upperDateLabel:kXi(e.upper)}))})(i);return{...e,dateMin:r[0],dateMax:r[r.length-1],distributionBuckets:s.length>=2?s:void 0,distributionChartType:s.length>=2?"date":void 0,valueFrequencies:n}},PXi=(e,t)=>{if(e.length<2)return;const n=e.length,i=e.filter(e=>null===e.value||void 0===e.value||""===e.value).length,r=e.map(e=>e.value).filter(e=>null!=e&&""!==e),s=new Set(r).size,o=((e,t)=>{const n=n=>[...e].every(e=>{const i=t.get(e);return void 0!==i&&n.has(i)});return n(NXi)?"numeric":n(IXi)?"date":n(DXi)?"string":"mixed"})(new Set(e.map(e=>e.columnName)),t),a=r.length>0||i>0?((e,t)=>{const n=new Map;for(const t of e){const e=LXi(t);n.set(e,(n.get(e)??0)+1)}const i=[...n.entries()].sort((e,t)=>t[1]-e[1]),r=i.slice(0,10),s=i.slice(10).reduce((e,[,t])=>e+t,0),o=r.map(([e,t])=>({label:e,count:t}));return s>0&&o.push({label:"(other)",count:s,isOther:!0}),t>0&&o.push({label:"(empty)",count:t,isEmpty:!0}),o})(r,i):void 0,l=((e,t,n,i)=>({count:e,uniqueCount:t,nullCount:n,min:void 0,max:void 0,sum:void 0,avg:void 0,dateMin:void 0,dateMax:void 0,strMinLength:void 0,strMaxLength:void 0,distributionBuckets:void 0,distributionChartType:void 0,valueFrequencies:i}))(n,s,i,a);return"numeric"===o?((e,t,n)=>{const i=t.map(e=>{if(null===e.value||void 0===e.value||""===e.value)return null;const t=Number(e.value);return Number.isNaN(t)?null:t}).filter(e=>null!==e);if(0===i.length)return{...e,valueFrequencies:n};const r=i.reduce((e,t)=>e+t,0);return{...e,min:Math.min(...i),max:Math.max(...i),sum:r,avg:r/i.length,distributionBuckets:OXi(i),distributionChartType:"numeric",valueFrequencies:n}})(l,e,a):"date"===o?MXi(l,r,a):"string"===o?((e,t,n)=>{const i=t.map(e=>LXi(e).length).filter(e=>e>0);return{...e,strMinLength:i.length>0?Math.min(...i):void 0,strMaxLength:i.length>0?Math.max(...i):void 0,distributionBuckets:i.length>0?OXi(i):void 0,distributionChartType:i.length>0?"string-length":void 0,valueFrequencies:n}})(l,r,a):l},FXi=e=>{try{const t=e.getCellRanges();if(!t||0===t.length)return 0;let n=0;for(const e of t){const t=e.startRow?.rowIndex??0,i=e.endRow?.rowIndex??0;n+=(Math.abs(i-t)+1)*e.columns.length}return n}catch{return 0}},BXi=(e,t,i,r)=>{const[s,o]=n.useState(!1),[a,l]=n.useState(0),[c,u]=n.useState(!1),[d,h]=n.useState(void 0),p=n.useRef(t);n.useEffect(()=>{p.current=t});const g=n.useRef(r);if(n.useEffect(()=>{g.current=r}),n.useEffect(()=>{const e=i.current;if((e?FXi(e):g.current?.length??0)<2)return o(!1),l(0),u(!1),void h(void 0);o(!0),l(0),u(!1),h(void 0);let t=!1;const n=globalThis.setTimeout(()=>{if(t)return;const e=i.current,n=e?FXi(e):g.current?.length??0;n>=2?(l(n),u(!0)):(o(!1),l(0),u(!1))},50);let r=0;const s=globalThis.setTimeout(()=>{t||(r=requestAnimationFrame(()=>{if(t)return;const e=i.current,n=e?(e=>{const t=e.getCellRanges();if(!t||0===t.length)return[];const n=new Map;e.forEachNode(e=>{null!==e.rowIndex&&e.data&&n.set(e.rowIndex,e.data)});const i=e.getColumns()??[],r=new Map;i.forEach((e,t)=>{r.set(e.getColId(),t)});const s=new Map;for(const e of t){const t=e.startRow?.rowIndex??0,i=e.endRow?.rowIndex??0,o=Math.min(t,i),a=Math.max(t,i);for(let t=o;t<=a;t++){const i=n.get(t);if(i)for(const n of e.columns){const e=n.getColId(),o=`${t}|${e}`;s.has(o)||s.set(o,{value:i[e],columnName:e,coordinates:{rowIndex:t,colIndex:r.get(e)??-1}})}}}return Array.from(s.values())})(e):g.current??[],r=PXi(n,p.current);l(n.length),u(!0),h(r)}))},200);return()=>{t=!0,globalThis.clearTimeout(n),globalThis.clearTimeout(s),0!==r&&cancelAnimationFrame(r)}},[e,i]),s)return{cellCount:a,countReady:c,stats:d}},VXi=(e,t,n,i)=>{const r=n.queryBuilderState.fetchStructureState.implementation;return r instanceof hHi?(((e,t)=>{const n=[],i=e.api.getCellRanges()??[];for(const t of i){const i=Math.min(t.startRow?.rowIndex??0,t.endRow?.rowIndex??0),r=Math.max(t.startRow?.rowIndex??0,t.endRow?.rowIndex??0);for(let s=i;s<=r;s++){const i=e.api.getDisplayedRowAtIndex(s);t.columns.forEach((e,t)=>{const r=e.getColId(),o=i?.data?.[r];n.push({value:o??null,columnName:r,coordinates:{rowIndex:s,colIndex:t}})})}}if(0===n.length&&e.node&&e.column){const t=e.column.getColId();n.push({value:e.value??null,columnName:t,coordinates:{rowIndex:e.node.rowIndex??0,colIndex:0}})}t.setSelectedCells(n),n.length>0&&t.setMouseOverCell(n[0]??null)})(e,n),[{name:"Filter By",action:()=>{OKi(t,n.mousedOverCell,!0,r).catch(i)}},{name:"Filter Out",action:()=>{OKi(t,n.mousedOverCell,!1,r).catch(i)}},"copy","copyWithHeaders",{name:"Copy Row Value",action:()=>{e.api.copySelectedRowsToClipboard()}}]):[]},UXi=4,GXi=e=>vse.jsxs("div",{"data-testid":CHi.QUERY_BUILDER_RESULT_GRID_CUSTOM_HEADER,className:"query-builder__result__values__table__custom-header",children:[vse.jsx("div",{className:"query-builder__result__values__table__custom-header__icon",title:"some values have been rounded using en-us format in this preview grid (defaults to max 4 decimal places)",children:vse.jsx(Zse,{})}),vse.jsx("div",{children:e.displayName})]}),HXi=(e,t)=>{const n=e.builder.columns.findIndex(e=>e.name===t);if(n>=0){const t=e.builder.columns[n]?.type,i=e.result.rows.map(e=>e.values[n]),r=e=>Boolean(e.some(e=>{if(e){const t=e.toString().split(".")[1];return t&&t.length>UXi}return!1}));switch(t){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:return r(i)?{headerComponentParams:{innerHeaderComponent:GXi}}:{};default:return{}}}return{}},zXi=ule(e=>{const t=e.resultState,n=e.tdsExecutionResult,i=e.value,r=dr(e.node.rowIndex),s=_r(i)&&Dh(i)?i:void 0,o=e.column?.getColId()??"",a=(e,t)=>({rowIndex:t,colIndex:n.result.columns.findIndex(t=>t===e)}),l=a(o,r),c=t.selectedCells.some(e=>e.coordinates.colIndex===l.colIndex&&e.coordinates.rowIndex===l.rowIndex),u=e=>{if(t.executionResult&&t.executionResult instanceof gQ)return t.executionResult.result.columns[e]},d=n=>{const i=n[0],r=n[1];if(t.executionResult&&t.executionResult instanceof gQ)return"asc"===e.api.getColumnState()[r]?.sort?t.executionResult.result.rows.sort((e,t)=>vQ(e,t,r)):"desc"===e.api.getColumnState()[r]?.sort&&t.executionResult.result.rows.sort((e,t)=>vQ(t,e,r)),t.executionResult.result.rows[i]?.values[r]},h=e=>{if(e.preventDefault(),e.shiftKey){const e=a(o,r),n=d([e.rowIndex,e.colIndex]);return void t.addSelectedCell({value:n,columnName:o,coordinates:e})}if(0===e.button){t.setIsSelectingCells(!0),t.setSelectedCells([]);const e=a(o,r),n=d([e.rowIndex,e.colIndex]);t.setSelectedCells([{value:n,columnName:o,coordinates:e}]),t.setMouseOverCell(t.selectedCells[0]??null)}if(2===e.button){const e=a(o,r);if(!(n=e,t.selectedCells.some(e=>e.coordinates.rowIndex===n.rowIndex&&e.coordinates.colIndex===n.colIndex))){const n=d([e.rowIndex,e.colIndex]);t.setSelectedCells([{value:n,columnName:o,coordinates:e}]),t.setMouseOverCell(t.selectedCells[0]??null)}}var n};return vse.jsx("div",{className:gle("query-builder__result__values__table__cell",{"query-builder__result__values__table__cell--active":c}),onMouseDown:e=>h(e),onMouseUp:e=>{t.setIsSelectingCells(!1)},onMouseOver:e=>(()=>{if(t.isSelectingCells){if(t.selectedCells.length<1)return;const e=t.selectedCells[0];if(!e)return;const n=e.coordinates,i=a(o,r);t.setSelectedCells([e]);const s=Math.min(n.rowIndex,i.rowIndex),l=Math.min(n.colIndex,i.colIndex),c=Math.max(n.rowIndex,i.rowIndex),h=Math.max(n.colIndex,i.colIndex);for(let e=s;e<=c;e++)for(let n=l;n<=h;n++){const i={value:d([e,n]),columnName:u(n),coordinates:{rowIndex:e,colIndex:n}};t.selectedCells.find(t=>t.coordinates.colIndex===n&&t.coordinates.rowIndex===e)||t.addSelectedCell(i)}}t.setMouseOverCell(t.selectedCells[0]??null)})(),children:s?vse.jsx("a",{href:s,target:"_blank",rel:"noreferrer",children:s}):vse.jsx("span",{children:Cr(i)?Intl.NumberFormat(aHi,{maximumFractionDigits:UXi}).format(Number(i)):Sr(i)?String(i):i})})}),jXi=(e,t)=>{e.length>0&&(t.setSelectedCells(e),t.setMouseOverCell(e[0]??null))},WXi=ule(e=>{const{executionResult:t,queryBuilderState:i,showSummaryStats:r=!0}=e,s=Cmt(),o=i.resultState,a=!i.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled,l=t.result.columns.map(e=>({minWidth:50,sortable:!0,resizable:!0,field:e,flex:1,headerName:e,...HXi(t,e),cellRenderer:zXi,cellRendererParams:{resultState:o,tdsExecutionResult:t}})),c=o.selectedCells,u=new Map(t.builder.columns.map(e=>[e.name,e.type])),d=n.useRef(null),h=BXi(c.length,u,d,c),p=n.useRef(null),g=n.useRef(null);n.useEffect(()=>{const e=p.current;if(!e)return;const n=e=>{const n=t.result.columns,i=t.result.rows;if(e.ctrlKey&&"KeyA"===e.code){e.preventDefault(),console.debug(`[TDS Simple Grid] Ctrl+A → selecting all: ${i.length} rows × ${n.length} columns`);const t=((e,t)=>{const n=[];return t.forEach((t,i)=>{e.forEach((e,r)=>{n.push({value:t.values[r],columnName:e,coordinates:{rowIndex:i,colIndex:r}})})}),n})(n,i);return void jXi(t,o)}if(e.ctrlKey&&"Space"===e.code){e.preventDefault();const t=g.current;if(!t)return;const r=((e,t)=>e.length>0?[...new Set(e.map(e=>e.coordinates.colIndex))]:[t])(o.selectedCells,t.colIndex);console.debug(`[TDS Simple Grid] Ctrl+Space → selecting ${r.length} column(s), ${i.length} rows`);const s=((e,t,n)=>{const i=[];return t.forEach((t,r)=>{n.forEach(n=>{i.push({value:t.values[n],columnName:e[n]??"",coordinates:{rowIndex:r,colIndex:n}})})}),i})(n,i,r);return void jXi(s,o)}if(e.shiftKey&&"Space"===e.code){e.preventDefault();const t=g.current;if(!t)return;const r=((e,t)=>e.length>0?[...new Set(e.map(e=>e.coordinates.rowIndex))]:[t])(o.selectedCells,t.rowIndex);console.debug(`[TDS Simple Grid] Shift+Space → selecting ${r.length} row(s), ${n.length} columns`);const s=((e,t,n)=>{const i=[];return n.forEach(n=>{e.forEach((e,r)=>{i.push({value:t[n]?.values[r],columnName:e,coordinates:{rowIndex:n,colIndex:r}})})}),i})(n,i,r);jXi(s,o)}};return e.addEventListener("keydown",n,{capture:!0}),()=>e.removeEventListener("keydown",n,{capture:!0})},[t.result.columns,t.result.rows,o]);const m=n.useCallback(e=>VXi(e,s,o,i.applicationStore.alertUnhandledError),[s,o,i.applicationStore.alertUnhandledError]);return vse.jsx("div",{"data-testid":CHi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:vse.jsxs("div",{ref:p,tabIndex:-1,className:gle("query-builder__result__tds-grid",{"query-builder__result__tds-grid--with-stats-bar":r,"ag-theme-balham":!a,"ag-theme-balham-dark":a}),children:[vse.jsx(iKi,{rowData:mKi(t),gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},suppressFieldDotNotation:!0,columnDefs:l,getContextMenuItems:e=>m(e),onCellClicked:e=>{const n=e.event;if(n?.ctrlKey||n?.shiftKey)return;const i=e.column.getColId(),r=t.result.columns.indexOf(i);console.debug(`[TDS Simple Grid] onCellClicked: col=${i} row=${e.rowIndex}`),g.current={colName:i,colIndex:r,rowIndex:e.rowIndex??0},p.current?.focus({preventScroll:!0})}}),r&&void 0!==h&&vse.jsx(RXi,{stats:h.stats,cellCount:h.cellCount,countReady:h.countReady,darkMode:a})]})})});var $Xi;!function(e){e.wavg="wavg",e.WAVG="WAVG"}($Xi||($Xi={}));const qXi=(e,t)=>{const n=e.builder.columns.find(e=>e.name===t)?.type;switch(n){case Xb.STRING:return{filter:"agTextColumnFilter",allowedAggFuncs:["count"]};case Xb.DATE:case Xb.DATETIME:case Xb.STRICTDATE:return{filter:"agDateColumnFilter",allowedAggFuncs:["count"]};case Xb.DECIMAL:case Xb.NUMBER:case Xb.INTEGER:case Xb.FLOAT:return{filter:"agNumberColumnFilter",allowedAggFuncs:["count","sum","max","min","avg","wavg"]};default:return{allowedAggFuncs:["count"]}}},YXi=ule(e=>{const t=e.resultState,n=e.value,i=_r(n)&&Dh(n)?n:void 0;return vse.jsx("div",{className:gle("query-builder__result__values__table__cell"),onMouseDown:e=>(e=>{0!==e.button&&2!==e.button||t.setMouseOverCell(t.selectedCells[0]??null)})(e),onMouseUp:e=>{t.setIsSelectingCells(!1)},onMouseOver:e=>{t.setMouseOverCell(t.selectedCells[0]??null)},children:i?vse.jsx("a",{href:i,target:"_blank",rel:"noreferrer",children:i}):vse.jsx("span",{children:Cr(n)?Intl.NumberFormat(aHi,{maximumFractionDigits:UXi}).format(Number(n)):Sr(n)?String(n):n})})}),KXi=(e,t)=>{const n=e.builder.columns.find(e=>e.name===t)?.type;switch(n){case Xb.DATE:case Xb.DATETIME:case Xb.STRICTDATE:return{filter:"agDateColumnFilter"};case Xb.DECIMAL:case Xb.INTEGER:case Xb.NUMBER:case Xb.FLOAT:return{filter:"agNumberColumnFilter"};default:return{filter:!0}}},XXi=ule(e=>{const{executionResult:t,queryBuilderState:i,showSummaryStats:r=!0}=e,s=Cmt(),o=!s.layoutService.TEMPORARY__isLightColorThemeEnabled,[a,l]=n.useState(void 0),[c,u]=n.useState(void 0),d=i.resultState,h=i.isLocalModeEnabled,p=h?((e,t)=>e.result.columns.map(n=>{const i={minWidth:50,sortable:!0,resizable:!0,field:n,flex:1,enablePivot:!0,enableRowGroup:!0,enableValue:!0,cellRenderer:YXi,cellRendererParams:{resultState:t,tdsExecutionResult:e},...qXi(e,n),...HXi(e,n)},r=t.gridConfig?.columns.find(e=>e.colId===n);return r&&(r.width&&(i.width=r.width),i.pinned=r.pinned??null,i.rowGroup=r.rowGroup??!1,i.rowGroupIndex=r.rowGroupIndex??null,i.aggFunc=r.aggFunc??null,i.pivot=r.pivot??!1,i.hide=r.hide??!1),i}))(t,d):((e,t)=>e.result.columns.map(n=>({minWidth:50,sortable:!0,resizable:!0,field:n,flex:1,cellRenderer:YXi,cellRendererParams:{resultState:t,tdsExecutionResult:e},...KXi(e,n),...HXi(e,n)})))(t,d),g=()=>{a&&d.setGridConfig({columns:a.getColumnState(),isPivotModeEnabled:a.isPivotMode(),isLocalModeEnabled:!0,previewLimit:d.previewLimit,...d.wavgAggregationState?.weightedColumnIdPairs&&{weightedColumnPairs:d.wavgAggregationState.weightedColumnIdPairs}})},m=n.useCallback(e=>VXi(e,s,d,i.applicationStore.alertUnhandledError),[s,d,i.applicationStore.alertUnhandledError]),f=a?.getColumns()?.filter(e=>"number"===e.getColDef().cellDataType).map(e=>({label:e.getColId(),value:e.getColId()})),v=c?.colDef.field&&d.wavgAggregationState?.weightedColumnIdPairs.get(c.colDef.field)?{label:dr(d.wavgAggregationState.weightedColumnIdPairs.get(c.colDef.field)),value:dr(d.wavgAggregationState.weightedColumnIdPairs.get(c.colDef.field))}:null;n.useEffect(()=>{c&&c.api.setColumnAggFunc(dr(c.colDef.field),$Xi.WAVG)},[d.wavgAggregationState,c]);const[y,b]=n.useState(0),_=new Map(t.builder.columns.map(e=>[e.name,e.type])),C=n.useRef(null),S=BXi(y,_,C);return vse.jsx("div",{"data-testid":CHi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:vse.jsxs("div",{className:gle("query-builder__result__tds-grid",{"query-builder__result__tds-grid--with-stats-bar":r,"ag-theme-balham":!o,"ag-theme-balham-dark":o}),children:[h?vse.jsx(iKi,{rowData:mKi(t),onGridReady:e=>{C.current=e.api,l(e.api),e.api.updateGridOptions({pivotMode:Boolean(d.gridConfig?.isPivotModeEnabled)})},gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,pivotPanelShow:"always",rowGroupPanelShow:"always",cellSelection:!0},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},suppressFieldDotNotation:!0,suppressContextMenu:!1,columnDefs:p,aggFuncs:{wavg:e=>{e.colDef.field?(d.wavgAggregationState||d.setWavgAggregationState(new JXi),d.wavgAggregationState?.addWeightedColumnIdPair(e.colDef.field,e.colDef.field),d.wavgAggregationState?.setIsApplyingWavg(!0),u(e)):s.notificationService.notifyError("The id of this column can`t be retrieved to perform weighted average")},WAVG:e=>{try{const t=e.colDef.field;if(t){const n=d.wavgAggregationState?.weightedColumnIdPairs.get(t);if(n){const i=(e.rowNode.allLeafChildren??[]).map(e=>e.data[n]).reduce((e,t)=>e+t),r=(e.rowNode.allLeafChildren??[]).map(e=>e.data[n]*e.data[t]).reduce((e,t)=>e+t);if(0!==i)return g(),r/i;s.notificationService.notifyError("The weighted column sum is 0")}else s.notificationService.notifyError("The weighted column Id is not defined")}}catch(e){bi(e),s.notificationService.notifyError(e)}return-1}},sideBar:["columns","filters"],onColumnVisible:g,onColumnPinned:g,onColumnResized:g,onColumnRowGroupChanged:g,onColumnValueChanged:g,onColumnPivotChanged:g,onColumnPivotModeChanged:g,onCellSelectionChanged:()=>{console.debug("[TDS Grid (local)] onCellSelectionChanged"),b(e=>e+1)},onCellClicked:e=>{const t=e.event;t?.ctrlKey||t?.shiftKey||(console.debug(`[TDS Grid (local)] onCellClicked: col=${e.column.getColId()} row=${e.rowIndex}`),null!==e.rowIndex&&e.api.setFocusedCell(e.rowIndex,e.column))},onCellKeyDown:e=>{SXi(e)}}):vse.jsx(iKi,{rowData:mKi(t),onGridReady:e=>{C.current=e.api},gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,cellSelection:!0},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},onCellSelectionChanged:()=>{console.debug("[TDS Grid] onCellSelectionChanged"),b(e=>e+1)},onCellClicked:e=>{const t=e.event;t?.ctrlKey||t?.shiftKey||(console.debug(`[TDS Grid] onCellClicked: col=${e.column.getColId()} row=${e.rowIndex}`),null!==e.rowIndex&&e.api.setFocusedCell(e.rowIndex,e.column))},suppressFieldDotNotation:!0,suppressClipboardPaste:!1,suppressContextMenu:!1,columnDefs:p,getContextMenuItems:e=>m(e),onCellKeyDown:e=>{SXi(e)}}),r&&void 0!==S&&vse.jsx(RXi,{stats:S.stats,cellCount:S.cellCount,countReady:S.countReady,darkMode:o}),d.wavgAggregationState?.isApplyingWavg&&vse.jsx(V_e,{open:d.wavgAggregationState.isApplyingWavg,onClose:()=>d.wavgAggregationState?.setIsApplyingWavg(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:vse.jsxs(eVe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-editor__blocking-alert",children:[vse.jsx(nVe,{title:"Applying Weighted Average"}),vse.jsxs(rVe,{children:[vse.jsx("div",{className:"query-builder__result__tds-grid__text",children:"choose a weighted column from dropdown"}),vse.jsx(ZBe,{options:f,onChange:e=>{c?.colDef.field&&e?.value&&d.wavgAggregationState?.addWeightedColumnIdPair(c.colDef.field,e.value)},value:v,placeholder:"Choose a weighted column",darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),vse.jsx(sVe,{children:vse.jsx(aVe,{onClick:()=>{d.wavgAggregationState?.setIsApplyingWavg(!1)},text:"Apply"})})]})})]})})});var ZXi;!function(e){e.CLASS_LINEAGE="CLASS_LINEAGE",e.DATABASE_LINEAGE="DATABASE_LINEAGE",e.REPORT_LINEAGE="REPORT_LINEAGE",e.PROPERTY_LINEAGE="PROPERTY_LINEAGE"}(ZXi||(ZXi={}));class QXi{applicationStore;selectedTab=ZXi.DATABASE_LINEAGE;lineageData=void 0;isLineageViewerOpen=!1;selectedPropertyOwnerNode=void 0;selectedProperty=void 0;selectedSourcePropertiesMap=void 0;constructor(e){hd(this,{selectedTab:Rc,lineageData:Rc,isLineageViewerOpen:Rc,selectedPropertyOwnerNode:Rc,selectedProperty:Rc,selectedSourcePropertiesMap:Rc,setSelectedTab:Pu,setLineageData:Pu,setIsLineageViewerOpen:Pu,setSelectedPropertyOwnerNode:Pu,setSelectedProperty:Pu,setSelectedSourcePropertiesMap:Pu,clearPropertySelections:Pu}),this.applicationStore=e}setSelectedTab(e){this.selectedTab=e}setLineageData(e){this.lineageData=e}setIsLineageViewerOpen(e){this.isLineageViewerOpen=e}setSelectedPropertyOwnerNode(e){this.selectedPropertyOwnerNode=e}setSelectedProperty(e){this.selectedProperty=e}setSelectedSourcePropertiesMap(e){this.selectedSourcePropertiesMap=e}clearPropertySelections(){this.selectedProperty=void 0,this.selectedPropertyOwnerNode=void 0,this.selectedSourcePropertiesMap=void 0}}class JXi{isApplyingWavg=!1;weightedColumnIdPairs;constructor(){hd(this,{isApplyingWavg:Rc,weightedColumnIdPairs:Rc,setIsApplyingWavg:Pu,addWeightedColumnIdPair:Pu,removeWeightedColumnIdPair:Pu}),this.weightedColumnIdPairs=new Map}setIsApplyingWavg(e){this.isApplyingWavg=e}addWeightedColumnIdPair(e,t){this.weightedColumnIdPairs.set(e,t)}removeWeightedColumnIdPair(e){this.weightedColumnIdPairs.delete(e)}}class eZi{queryBuilderState;executionPlanState;exportState=Py.create();previewLimit=1e3;pressedRunQuery=Py.create();isRunningQuery=!1;isGeneratingPlan=!1;executionResult;isExecutionResultOverflowing=!1;executionDuration;executionTraceId;latestRunHashCode;queryRunPromise=void 0;isQueryUsageViewerOpened=!1;executionError;selectedCells;mousedOverCell=null;isSelectingCells;gridConfig;wavgAggregationState;lineageState;isGeneratingLineage=!1;constructor(e){hd(this,{executionResult:Rc,executionTraceId:Rc,previewLimit:Rc,executionDuration:Rc,latestRunHashCode:Rc,queryRunPromise:Rc,isGeneratingPlan:Rc,selectedCells:Rc,mousedOverCell:Rc,isRunningQuery:Rc,isSelectingCells:Rc,isQueryUsageViewerOpened:Rc,isExecutionResultOverflowing:Rc,gridConfig:Rc,wavgAggregationState:Rc,executionError:Rc,setGridConfig:Pu,setWavgAggregationState:Pu,setIsSelectingCells:Pu,setIsRunningQuery:Pu,setExecutionResult:Pu,setExecutionTraceId:Pu,setExecutionDuration:Pu,setPreviewLimit:Pu,addSelectedCell:Pu,setSelectedCells:Pu,setMouseOverCell:Pu,setQueryRunPromise:Pu,setIsQueryUsageViewerOpened:Pu,setIsExecutionResultOverflowing:Pu,handlePreConfiguredGridConfig:Pu,updatePreviewLimitInConfig:Pu,setExecutionError:Pu,exportData:Ju,runQuery:Ju,cancelQuery:Ju,generatePlan:Ju,generateLineage:Ju}),this.isSelectingCells=!1,this.selectedCells=[],this.gridConfig=void 0,this.queryBuilderState=e,this.executionPlanState=new bXi(this.queryBuilderState.applicationStore,this.queryBuilderState.graphManagerState),this.lineageState=new QXi(this.queryBuilderState.applicationStore)}setGridConfig(e){this.gridConfig=e}setWavgAggregationState(e){this.wavgAggregationState=e}setIsSelectingCells(e){this.isSelectingCells=e}setIsRunningQuery(e){this.isRunningQuery=e}setExecutionResult(e){this.executionResult=e}setExecutionTraceId(e){this.executionTraceId=e}setExecutionDuration(e){this.executionDuration=e}setPreviewLimit(e){this.previewLimit=Math.max(1,e)}addSelectedCell(e){this.selectedCells.some(t=>t.coordinates.rowIndex===e.coordinates.rowIndex&&t.coordinates.colIndex===e.coordinates.colIndex)||this.selectedCells.push(e)}setSelectedCells(e){this.selectedCells=e}setMouseOverCell(e){this.mousedOverCell=e}setQueryRunPromise(e){this.queryRunPromise=e}setIsQueryUsageViewerOpened(e){this.isQueryUsageViewerOpened=e}setExecutionError(e){this.executionError=e}setIsExecutionResultOverflowing(e){this.isExecutionResultOverflowing=e}updatePreviewLimitInConfig(){this.gridConfig&&(this.gridConfig.previewLimit=this.previewLimit)}getExecutionResultLimit=()=>Math.min(this.queryBuilderState.fetchStructureState.implementation instanceof hHi&&this.queryBuilderState.fetchStructureState.implementation.resultSetModifierState.limit?this.queryBuilderState.fetchStructureState.implementation.resultSetModifierState.limit:Number.MAX_SAFE_INTEGER,this.previewLimit);processExecutionResult=e=>{if(this.setIsExecutionResultOverflowing(!1),e instanceof gQ&&this.queryBuilderState.isQuerySupported){const t=this.getExecutionResultLimit();e.result.rows.length>t&&(this.setIsExecutionResultOverflowing(!0),e.result.rows=e.result.rows.slice(0,t))}this.setExecutionResult(e)};processWeightedColumnPairsMap(e){if(e.weightedColumnPairs){const t=e.columns.filter(e=>e.aggFunc===$Xi.WAVG).map(e=>e.colId),n=new Map;e.weightedColumnPairs.forEach(e=>{e[0]&&e[1]&&n.set(e[0],e[1])});for(const e of n.keys())t.includes(e)||n.delete(e);return n}}handlePreConfiguredGridConfig(e){let t;const n=this.processWeightedColumnPairsMap(e);n?(this.wavgAggregationState=new JXi,this.wavgAggregationState.weightedColumnIdPairs=n,t={...e,weightedColumnPairs:n,columns:e.columns}):t={...e,columns:e.columns},e.previewLimit&&this.setPreviewLimit(e.previewLimit),this.setGridConfig(t)}getQueryGridConfig(){if(this.gridConfig)return{...this.gridConfig,columns:this.gridConfig.columns}}get checkForStaleResults(){return this.latestRunHashCode!==this.queryBuilderState.hashCode}buildExecutionRawLambda(e){let t;if(this.queryBuilderState.isQuerySupported){const n=KUi(this.queryBuilderState,{isBuildingExecutionQuery:!0,useTypedRelationFunctions:this.queryBuilderState.isFetchStructureTyped,...e});t=w7(n,this.queryBuilderState.graphManagerState)}else if(t=dr(this.queryBuilderState.unsupportedQueryState.rawLambda,"Lambda is required to execute query"),!this.queryBuilderState.isParameterSupportDisabled)return UUi(t,this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState);return t}*exportData(e){try{this.exportState.inProgress(),this.queryBuilderState.applicationStore.notificationService.notifySuccess(`Export ${e} will run in background`);const t=this.queryBuilderState.fetchStructureState.implementation.getExportDataInfo(e),n=t.contentType,i=t.serializationFormat,r=this.buildExecutionRawLambda({isExportingResult:!0});yvt.logEvent_ExportQueryDataLaunched(this.queryBuilderState.applicationStore.telemetryService);const s=yield this.queryBuilderState.graphManagerState.graphManager.exportData(r,this.queryBuilderState.executionContextState.explicitMappingValue,this.queryBuilderState.executionContextState.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{serializationFormat:i,parameterValues:VUi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState),forceFromExpression:this.queryBuilderState.forceFromExpressionForExec,floatingExecutionElements:this.queryBuilderState.floatingExecutionElements},void 0,n);if("true"===s.headers.get($J))return void(200===s.status?this.exportState.pass():this.exportState.fail());const o=s6(this.queryBuilderState.graphManagerState.graph);ovt(s,`result.${Ch(n)}`,t.contentType).then(()=>{const e=Object.assign({},o,this.queryBuilderState.getStateInfo());yvt.logEvent_ExportQueryDataSucceeded(this.queryBuilderState.applicationStore.telemetryService,e),this.exportState.pass()}).catch(e=>{bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.EXECUTION_FAILURE),e)})}catch(e){this.exportState.fail(),bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.EXECUTION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e),this.exportState.complete()}}*runQuery(){let e;try{this.setIsRunningQuery(!0);const t=this.queryBuilderState.hashCode;this.queryBuilderState.requiresMappingForExecution&&dr(this.queryBuilderState.executionContextState.mapping,"Mapping is required to execute query"),dr(this.queryBuilderState.executionContextState.runtimeValue,"Runtime is required to execute query");const n=this.buildExecutionRawLambda({withDataOverflowCheck:!0}),i=VUi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState);yvt.logEvent_QueryRunLaunched(this.queryBuilderState.applicationStore.telemetryService);const r=new Fy,s=s6(this.queryBuilderState.graphManagerState.graph),o=this.queryBuilderState.executionContextState;e=this.queryBuilderState.graphManagerState.graphManager.runQuery(n,o.explicitMappingValue,o.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{parameterValues:i,convertUnsafeNumbersToString:!0,preservedResponseHeadersList:[WJ],tracingtags:{...this.queryBuilderState.sourceInfo},forceFromExpression:this.queryBuilderState.forceFromExpressionForExec,floatingExecutionElements:this.queryBuilderState.floatingExecutionElements}),this.setQueryRunPromise(e);const a=yield e;if(this.queryRunPromise===e){this.processExecutionResult(a.executionResult),a.executionTraceId&&this.setExecutionTraceId(a.executionTraceId),this.latestRunHashCode=t,this.setExecutionDuration(r.elapsed),s.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(r,s.timings);const e=Object.assign({},s,this.queryBuilderState.getStateInfo());yvt.logEvent_QueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,e)}}catch(t){this.queryRunPromise===e&&(bi(t),this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.EXECUTION_FAILURE),t),this.setExecutionError(t),t instanceof fJ&&t.executionTraceId&&this.setExecutionTraceId(t.executionTraceId))}finally{this.setIsRunningQuery(!1),this.pressedRunQuery.complete()}}*cancelQuery(){this.pressedRunQuery.complete(),this.setIsRunningQuery(!1),this.setQueryRunPromise(void 0);try{yield this.queryBuilderState.graphManagerState.graphManager.cancelUserExecutions(!0)}catch(e){this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.EXECUTION_FAILURE),e)}}*generatePlan(e){try{this.isGeneratingPlan=!0,this.queryBuilderState.requiresMappingForExecution&&dr(this.queryBuilderState.executionContextState.mapping,"Mapping is required to execute query"),dr(this.queryBuilderState.executionContextState.runtimeValue,"Runtime is required to execute query");const t=this.queryBuilderState.buildQuery();let n;const i=new Fy,r=s6(this.queryBuilderState.graphManagerState.graph),s=this.queryBuilderState.executionContextState;if(e){yvt.logEvent_ExecutionPlanDebugLaunched(this.queryBuilderState.applicationStore.telemetryService);const e=yield this.queryBuilderState.graphManagerState.graphManager.debugExecutionPlanGeneration(t,s.explicitMappingValue,s.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.queryBuilderState.forceFromExpressionForExec,floatingExecutionElements:this.queryBuilderState.floatingExecutionElements},r);n=e.plan,this.executionPlanState.setDebugText(e.debug)}else yvt.logEvent_ExecutionPlanGenerationLaunched(this.queryBuilderState.applicationStore.telemetryService),n=yield this.queryBuilderState.graphManagerState.graphManager.generateExecutionPlan(t,s.explicitMappingValue,s.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.queryBuilderState.forceFromExpressionForExec,floatingExecutionElements:this.queryBuilderState.floatingExecutionElements},r);i.record();try{this.executionPlanState.setRawPlan(n);const e=this.queryBuilderState.graphManagerState.graphManager.buildExecutionPlan(n,this.queryBuilderState.graphManagerState.graph);this.executionPlanState.initialize(e)}catch{}i.record(uvt.BUILD_EXECUTION_PLAN__SUCCESS),r.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(i,r.timings);const o=Object.assign({},r,this.queryBuilderState.getStateInfo());e?yvt.logEvent_ExecutionPlanDebugSucceeded(this.queryBuilderState.applicationStore.telemetryService,o):yvt.logEvent_ExecutionPlanGenerationSucceeded(this.queryBuilderState.applicationStore.telemetryService,o)}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.EXECUTION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}finally{this.isGeneratingPlan=!1}}*generateLineage(){if(!this.isGeneratingLineage)try{this.isGeneratingLineage=!0;const e=this.buildExecutionRawLambda(),t=yield this.queryBuilderState.graphManagerState.graphManager.generateLineage(e,this.queryBuilderState.executionContextState.explicitMappingValue,void 0,this.queryBuilderState.graphManagerState.graph,void 0),n=this.queryBuilderState.graphManagerState.graphManager.buildLineage(t);this.lineageState.setLineageData(n)}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.LINEAGE_GENERATION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}finally{this.isGeneratingLineage=!1}}}class tZi{queryBuilderState;rawLambda;lambdaError;constructor(e){hd(this,{rawLambda:Rc,lambdaError:Rc,setRawLambda:Pu,setLambdaError:Pu,hashCode:Oc}),this.queryBuilderState=e}setRawLambda(e){this.rawLambda=e}setLambdaError(e){this.lambdaError=e}get hashCode(){return fv([ayt.UNSUPPORTED_QUERY_STATE,this.rawLambda??""])}}const nZi="QUERY_BUILDER_FUNCTION",iZi=(e,t)=>t===Kb.PROJECT_DEPENDENCY_ROOT?e.functionsExplorerState.dependencyDisplayablePackagesSet:e.functionsExplorerState.displayablePackagesSet,rZi=(e,t,n)=>({id:t.path,label:t.name,childrenIds:t.children.filter(e=>!(e instanceof lC)).filter(t=>t instanceof Q_&&iZi(e,n).has(t)).map(e=>e.path).concat(e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.path)?.map(e=>e.functionPath)??[]),package:t}),sZi=e=>({id:e.functionPath,label:e.name,childrenIds:[],functionAnalysisInfo:e}),oZi=(e,t,n,i=Kb.MAIN)=>{const r=i===Kb.MAIN?e.functionsExplorerState.functionInfoMap:e.functionsExplorerState.dependencyFunctionInfoMap,s=iZi(e,i),o=e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.id)?.map(e=>e.functionPath),a=t.package.children.filter(e=>e instanceof Q_&&s.has(e)).map(e=>e);t.childrenIds=a.map(e=>e.path).concat(o??[]);const l=a.map(t=>rZi(e,t,i)),c=o?.map(e=>r?.get(e)).filter(cr).map(e=>sZi(e));l.concat(c??[]).forEach(e=>{const t=n.nodes.get(e.id);t?(t.childrenIds=e.childrenIds,t.label=e.label):n.nodes.set(e.id,e)})},aZi=(e,t,n=Kb.MAIN)=>{const i=[],r=new Map,s=iZi(t,n);if(n===Kb.PROJECT_DEPENDENCY_ROOT){if(!t.functionsExplorerState.dependencyFunctionInfoMap||0===Array.from(t.functionsExplorerState.dependencyFunctionInfoMap).length)return{rootIds:i,nodes:r}}else if(!t.functionsExplorerState.functionInfoMap||0===Array.from(t.functionsExplorerState.functionInfoMap).length)return{rootIds:i,nodes:r};return e.forEach(e=>{e.children.slice().filter(e=>e instanceof Q_&&s.has(e)).map(e=>e).sort((e,t)=>e.name.localeCompare(t.name)).forEach(e=>{const s=rZi(t,e,n);jr(i,s.id),r.set(s.id,s)})}),{rootIds:i,nodes:r}},lZi=(e,t,n,i=Kb.MAIN)=>(oZi(e,t,n,i),t.childrenIds.map(e=>n.nodes.get(e)).filter(cr).sort(QBe).sort((e,t)=>(t.package?1:0)-(e.package?1:0))),cZi=e=>e.package?(e instanceof Q_?[e]:[]).concat([e.package].concat(cZi(e.package))):[];class uZi{uuid=Mr();queryFunctionsState;functionAnalysisInfo;constructor(e,t){hd(this,{functionAnalysisInfo:Rc}),this.queryFunctionsState=e,this.functionAnalysisInfo=t}}class dZi{initState=Py.create();queryBuilderState;treeData;dependencyTreeData;_functionGraph;functionExplorerStates=[];dependencyFunctionExplorerStates=[];displayablePackagesSet=new Set;dependencyDisplayablePackagesSet=new Set;functionInfoMap;dependencyFunctionInfoMap;packagePathToFunctionInfoMap;constructor(e){hd(this,{functionExplorerStates:Rc.ref,setFunctionExplorerStates:Pu,dependencyFunctionExplorerStates:Rc.ref,setDependencyFunctionExplorerStates:Pu,treeData:Rc.ref,dependencyTreeData:Rc.ref,_functionGraph:Rc,functionInfoMap:Rc,dependencyFunctionInfoMap:Rc,packagePathToFunctionInfoMap:Rc,setFunctionInfoMap:Pu,setDependencyFunctionInfoMap:Pu,setTreeData:Pu,setPackagePathToFunctionInfoMap:Pu,setDependencyTreeData:Pu,refreshTree:Pu,onTreeNodeSelect:Pu,initializeTreeData:Pu}),this.queryBuilderState=e,this._functionGraph=this.queryBuilderState.graphManagerState.createNewGraph()}getTreeData(e=Kb.MAIN){return e===Kb.PROJECT_DEPENDENCY_ROOT?this.dependencyTreeData:this.treeData}setFunctionExplorerStates(e){this.functionExplorerStates=e}setDependencyFunctionExplorerStates(e){this.dependencyFunctionExplorerStates=e}setFunctionInfoMap(e){this.functionInfoMap=e}setDependencyFunctionInfoMap(e){this.dependencyFunctionInfoMap=e}setPackagePathToFunctionInfoMap(e){this.packagePathToFunctionInfoMap=e}async initializeDisplayablePackagesSet(){this.functionInfoMap&&Array.from(this.functionInfoMap.values()).map(e=>rE(this._functionGraph,e.packagePath,void 0)).map(e=>cZi(e)).flat().forEach(e=>this.displayablePackagesSet.add(e))}async initializeDependencyDisplayablePackagesSet(){this.dependencyFunctionInfoMap&&Array.from(this.dependencyFunctionInfoMap.values()).map(e=>rE(this._functionGraph,e.packagePath,void 0)).map(e=>cZi(e)).flat().forEach(e=>this.dependencyDisplayablePackagesSet.add(e))}setTreeData(e){this.treeData=e}setDependencyTreeData(e){this.dependencyTreeData=e}refreshTree(){this.treeData&&(this.treeData={...this.treeData}),this.dependencyTreeData&&(this.dependencyTreeData={...this.dependencyTreeData})}get nonNullableTreeData(){return dr(this.treeData,"Query builder functions explorer tree data has not been initialized")}onTreeNodeSelect=(e,t,n,i=Kb.MAIN)=>{if(t.package)if(t.childrenIds.length&&(t.isOpen=!t.isOpen,oZi(e,t,n,i)),i===Kb.PROJECT_DEPENDENCY_ROOT)this.setDependencyTreeData({...n});else this.setTreeData({...n})};initializeFunctionInfoMap(){const e=new Map,t=new Map;if(IE(this.queryBuilderState.graphManagerState.graph.ownFunctions,this._functionGraph).forEach(t=>e.set(t.functionPath,t)),this.queryBuilderState.graphManagerState.graph.dependencyManager.hasDependencies){const e=this.queryBuilderState.graphManagerState.graph.dependencyManager.functions;IE(e,this._functionGraph).forEach(e=>t.set(e.functionPath,e))}const n=this.queryBuilderState.buildFunctionAnalysisInfo();n&&(Array.from(n.functionInfoMap.entries()).forEach(([t,n])=>e.set(t,n)),Array.from(n.dependencyFunctionInfoMap.entries()).forEach(([e,n])=>{t.set(e,n)}));const i=new Map;Array.from(e.values()).concat(Array.from(t.values())).forEach(e=>{const t=i.get(e.packagePath);t?i.set(e.packagePath,[...t,e]):i.set(e.packagePath,[e])}),this.setPackagePathToFunctionInfoMap(i),this.setFunctionInfoMap(e),this.setDependencyFunctionInfoMap(t)}initializeTreeData(){this.initState.isInInitialState&&(this.initState.inProgress(),this.initializeFunctionInfoMap(),this.initializeDisplayablePackagesSet().catch(()=>{}).finally(()=>{this.setTreeData(aZi([this._functionGraph.root],this.queryBuilderState,Kb.MAIN)),this.setFunctionExplorerStates(this.functionInfoMap?Array.from(this.functionInfoMap.values()).map(e=>new uZi(this,e)):[])}),this.dependencyFunctionInfoMap&&this.initializeDependencyDisplayablePackagesSet().catch(()=>{}).finally(()=>{this.setDependencyTreeData(aZi([this._functionGraph.root],this.queryBuilderState,Kb.PROJECT_DEPENDENCY_ROOT)),this.setDependencyFunctionExplorerStates(this.dependencyFunctionInfoMap?Array.from(this.dependencyFunctionInfoMap.values()).map(e=>new uZi(this,e)):[])}),this.initState.pass())}}class hZi extends zUi{queryBuilderState;selectedParameter;constructor(e){super(),hd(this,{parameterValuesEditorState:Rc,parameterStates:Rc,addParameter:Pu,removeParameter:Pu,setParameters:Pu,selectedParameter:Rc,setSelectedParameter:Pu,hashCode:jl}),this.queryBuilderState=e}get hashCode(){return fv([ayt.PARAMETERS_STATE,fv(this.parameterStates)])}setSelectedParameter(e){this.selectedParameter=e}}class pZi extends rKi{getLabel(){return">"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=Jvt(t);return void 0!==n&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)}isCompatibleWithFilterConditionValue(e){return eyt(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.leftConditionType)}getDefaultFilterConditionValue(e){const t=e.leftConditionType;switch(t.path){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.INTEGER:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.DATE:return vVi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return sKi(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Rvt.IS_AFTER_DAY:Rvt.GREATER_THAN,t)}buildFilterConditionState(e,t){return aKi(e,t,oKi(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Rvt.IS_AFTER_DAY:Rvt.GREATER_THAN,this)}get hashCode(){return fv([ayt.FILTER_OPERATOR_GREATER_THAN])}}class gZi extends rKi{getLabel(){return"starts with"}isCompatibleWithFilterConditionProperty(e){return Jvt(e.leftConditionType)===Xb.STRING}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return void 0!==t&&Jvt(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionType;if(t.path===Xb.STRING)return vVi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return sKi(e,Rvt.STARTS_WITH,t)}buildFilterConditionState(e,t){return aKi(e,t,Rvt.STARTS_WITH,this)}get hashCode(){return fv([ayt.FILTER_OPERATOR_START_WITH])}}class mZi extends gZi{getLabel(){return"doesn't start with"}buildFilterConditionExpression(e,t){return Zvt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Xvt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return fv([ayt.FILTER_OPERATOR_NOT_START_WITH])}}class fZi extends rKi{getLabel(){return">="}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=Jvt(t);return void 0!==n&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)}isCompatibleWithFilterConditionValue(e){return eyt(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.leftConditionType)}getDefaultFilterConditionValue(e){const t=e.leftConditionType;switch(t.path){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.INTEGER:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.DATE:return vVi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return sKi(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Rvt.IS_ON_OR_AFTER_DAY:Rvt.GREATER_THAN_EQUAL,t)}buildFilterConditionState(e,t){return aKi(e,t,oKi(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Rvt.IS_ON_OR_AFTER_DAY:Rvt.GREATER_THAN_EQUAL,this)}get hashCode(){return fv([ayt.FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class vZi extends rKi{getLabel(){return"<="}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=Jvt(t);return void 0!==n&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)}isCompatibleWithFilterConditionValue(e){return eyt(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.leftConditionType)}getDefaultFilterConditionValue(e){const t=e.leftConditionType;switch(t.path){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.INTEGER:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.DATE:return vVi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return sKi(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Rvt.IS_ON_OR_BEFORE_DAY:Rvt.LESS_THAN_EQUAL,t)}buildFilterConditionState(e,t){return aKi(e,t,oKi(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Rvt.IS_ON_OR_BEFORE_DAY:Rvt.LESS_THAN_EQUAL,this)}get hashCode(){return fv([ayt.FILTER_OPERATOR_LESS_THAN_EQUAL])}}class yZi extends rKi{getLabel(){return"<"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=Jvt(t);return void 0!==n&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)}isCompatibleWithFilterConditionValue(e){return eyt(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.leftConditionType)}getDefaultFilterConditionValue(e){const t=e.leftConditionType;switch(t.path){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.INTEGER:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.DATE:return vVi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return sKi(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Rvt.IS_BEFORE_DAY:Rvt.LESS_THAN,t)}buildFilterConditionState(e,t){return aKi(e,t,oKi(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Rvt.IS_BEFORE_DAY:Rvt.LESS_THAN,this)}get hashCode(){return fv([ayt.FILTER_OPERATOR_LESS_THAN])}}class bZi extends rKi{getLabel(){return"ends with"}isCompatibleWithFilterConditionProperty(e){return Jvt(e.leftConditionType)===Xb.STRING}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return void 0!==t&&Jvt(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionType;if(t.path===Xb.STRING)return vVi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return sKi(e,Rvt.ENDS_WITH,t)}buildFilterConditionState(e,t){return aKi(e,t,Rvt.ENDS_WITH,this)}get hashCode(){return fv([ayt.FILTER_OPERATOR_END_WITH])}}class _Zi extends bZi{getLabel(){return"doesn't end with"}buildFilterConditionExpression(e,t){return Zvt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Xvt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return fv([ayt.FILTER_OPERATOR_NOT_END_WITH])}}class CZi extends rKi{getLabel(){return"contains"}isCompatibleWithFilterConditionProperty(e){return Jvt(e.leftConditionType)===Xb.STRING}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return void 0!==t&&Jvt(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionType;if(t.path===Xb.STRING)return vVi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return sKi(e,Rvt.CONTAINS,t)}buildFilterConditionState(e,t){return aKi(e,t,Rvt.CONTAINS,this)}get hashCode(){return fv([ayt.FILTER_OPERATOR_CONTAIN])}}class SZi extends CZi{getLabel(){return"doesn't contain"}buildFilterConditionExpression(e,t){return Zvt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Xvt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return fv([ayt.FILTER_OPERATOR_NOT_CONTAIN])}}var wZi;!function(e){e.JSON="JSON",e.GRAMMAR="Grammar"}(wZi||(wZi={}));class EZi{changeDetectionState;initialQuery;currentQuery;mode=wZi.GRAMMAR;initialQueryGrammarText;currentQueryGrammarText;constructor(e,t,n){hd(this,{mode:Rc,initialQueryGrammarText:Rc,currentQueryGrammarText:Rc,setMode:Pu,generateGrammarDiff:Ju}),this.changeDetectionState=e,this.initialQuery=t,this.currentQuery=n}setMode(e){this.mode=e}*generateGrammarDiff(){try{this.initialQueryGrammarText=yield this.changeDetectionState.querybuilderState.graphManagerState.graphManager.lambdaToPureCode(this.initialQuery,!0)}catch(e){bi(e),this.initialQueryGrammarText="/* Failed to transform grammar text, see JSON diff instead */"}try{this.currentQueryGrammarText=yield this.changeDetectionState.querybuilderState.graphManagerState.graphManager.lambdaToPureCode(this.currentQuery,!0)}catch(e){bi(e),this.currentQueryGrammarText="/* Failed to transform grammar text, see JSON diff instead */"}}}class xZi{querybuilderState;initState=Py.create();querySnapshot;hashCodeSnapshot;diffViewState;constructor(e){hd(this,{diffViewState:Rc,querySnapshot:Rc,hashCodeSnapshot:Rc,hasChanged:Oc,initialize:Pu,showDiffViewPanel:Pu,hideDiffViewPanel:Pu}),this.querybuilderState=e}showDiffViewPanel(){this.diffViewState=this.buildQueryBuilderDiffViewState()}buildQueryBuilderDiffViewState(){return ur(this.querySnapshot,"Can't show changes: change detection is not properly initialized"),new EZi(this,this.querySnapshot,this.querybuilderState.buildQuery())}hideDiffViewPanel(){this.diffViewState=void 0}get hasChanged(){return!!this.initState.hasCompleted&&this.querybuilderState.hashCode!==this.hashCodeSnapshot}initialize(e){this.initState.inProgress(),this.hashCodeSnapshot=this.querybuilderState.hashCode,this.querySnapshot=e,this.initState.complete()}alertUnsavedChanges(e){this.hasChanged?this.querybuilderState.applicationStore.alertService.setActionAlertInfo({message:"Unsaved changes will be lost if you continue. Do you still want to proceed?",type:nft.CAUTION,actions:[{label:"Proceed",type:ift.PROCEED_WITH_CAUTION,handler:this.querybuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Abort",type:ift.PROCEED,default:!0}]}):e()}}const TZi=e=>e instanceof TS?`${jb}${e.name}`:e instanceof RS&&e.genericType.value.rawType===V_.STRICTDATE?e.values[0]:e instanceof RS&&e.genericType.value.rawType===V_.LATESTDATE?"%latest":"(unknown)",AZi=(e,t)=>{const n=TE(e,t.graphManagerState.graph);return vse.jsx("div",{className:gle("query-builder__setup__class-option-label",{"query-builder__setup__class-option-label--deprecated":n}),children:vse.jsx("div",{className:"query-builder__setup__class-option-label__name",children:e.name})})},RZi=ule(e=>{const{queryBuilderState:t,classes:n,onClassChange:i,noMatchMessage:r}=e,s=Cmt(),o=QFe({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value.path}),a=n.toSorted((e,t)=>e.name.localeCompare(t.name)).map(e=>({value:e,label:AZi(e,t)})),l=t.sourceClass?{value:t.sourceClass,label:AZi(t.sourceClass,t)}:null;return vse.jsx("div",{className:"query-builder__setup__config-group query-builder__setup__config-group--class",children:vse.jsxs("div",{className:"query-builder__setup__config-group__item",children:[vse.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"entity",htmlFor:"query-builder__setup__class-selector",children:"Entity"}),vse.jsx(ZBe,{inputId:"query-builder__setup__class-selector",className:"panel__content__form__section__dropdown query-builder__setup__config-group__item__selector query-builder__setup__config-group__item__selector__milestoned",placeholder:a.length?"Choose an entity...":r??"No entity found",disabled:a.length<1||1===a.length&&Boolean(l),noMatchMessage:r,options:a,onChange:e=>{e.value!==t.sourceElement&&(t.changeSourceElement(e.value),i?.(e.value))},value:l,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:o,formatOptionLabel:EHi({darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})})}),NZi=e=>({value:e,label:e instanceof n$?e.packageableRuntime.value.name:"custom"}),IZi=e=>function(t){if(t.value instanceof n$){const n=t.value;return EHi(e)(SHi(n.packageableRuntime.value))}return t.value instanceof n$?t.value.packageableRuntime.value.name:vse.jsxs("div",{className:"query-builder__setup__runtime-option--custom",children:[vse.jsx(Ioe,{}),vse.jsx("div",{className:"query-builder__setup__runtime-option--custom__label",children:"custom"})]})},DZi=ule(e=>{const{queryBuilderState:t}=e,n=Cmt(),i=t.graphManagerState.usableClasses,r=t.graphManagerState.usableMappings.map(SHi).sort(QBe),s=t.executionContextState.mapping?SHi(t.executionContextState.mapping):null,o=QFe({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value.path}),a=t.graphManagerState.usableRuntimes.map(e=>new n$(C_.create(e))).map(NZi).sort(QBe),l=t.executionContextState.runtimeValue?NZi(t.executionContextState.runtimeValue):null,c=QFe({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value instanceof n$?e.data.value.packageableRuntime.value.path:"custom"});return vse.jsxs("div",{className:"query-builder__setup__config-group",children:[vse.jsx(CVe,{title:"properties"}),vse.jsxs("div",{className:"query-builder__setup__config-group__content",children:[vse.jsxs("div",{className:"query-builder__setup__config-group__item",children:[vse.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"mapping",htmlFor:"query-builder__setup__mapping-selector",children:"Mapping"}),vse.jsx(ZBe,{inputId:"query-builder__setup__mapping-selector",className:"panel__content__form__section__dropdown query-builder__setup__config-group__item__selector",placeholder:r.length?"Choose a mapping...":"No mapping found",disabled:t.isMappingReadOnly||!t.sourceElement,options:r,onChange:e=>{t.sourceElement&&e.value!==t.executionContextState.mapping&&!t.isMappingReadOnly&&t.changeMapping(e.value)},value:s,darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:o,formatOptionLabel:EHi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),vse.jsxs("div",{className:"query-builder__setup__config-group__item",children:[vse.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"runtime",htmlFor:"query-builder__setup__runtime-selector",children:"Runtime"}),vse.jsx(ZBe,{inputId:"query-builder__setup__runtime-selector",className:"panel__content__form__section__dropdown query-builder__setup__config-group__item__selector",placeholder:a.length?"Choose a runtime...":"No runtime found",disabled:t.isRuntimeReadOnly||!t.sourceElement||!t.executionContextState.mapping,options:a,onChange:e=>{e.value===t.executionContextState.runtimeValue||t.isRuntimeReadOnly||t.changeRuntime(e.value)},value:l,darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:c,formatOptionLabel:IZi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),vse.jsx("div",{className:"query-builder__setup__config-group__item",children:vse.jsx(RZi,{queryBuilderState:t,classes:i})})]})]})}),OZi=ule(e=>{const{queryBuilderState:t,children:n}=e,i=Cmt().pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraTemplateQueryPanelContentRenderer?.()??[]);let r=vse.jsx(vse.Fragment,{});for(const e of i){const n=e(t);if(void 0!==n){r=n;break}}return vse.jsxs("div",{className:gle("query-builder__side-bar",t.sideBarClassName),children:[vse.jsx("div",{"data-testid":CHi.QUERY_BUILDER_SETUP,className:"panel query-builder__setup",children:vse.jsx("div",{className:"panel__content query-builder__setup__content",children:t.TEMPORARY__setupPanelContentRenderer?.()??vse.jsx(DZi,{queryBuilderState:t})})}),vse.jsx("div",{"data-testid":CHi.QUERY_BUILDER_TEMPLATE_QUERY_PANE,className:"query-builder__template-query",children:r}),vse.jsx("div",{className:"query-builder__side-bar__content",children:n})]})});class kZi{milestoningState;stereotype;constructor(e,t){this.milestoningState=e,this.stereotype=t}}class LZi extends kZi{getMilestoningDate(e){return 0===e?this.milestoningState.processingDate:this.milestoningState.businessDate}getMilestoningToolTipText(){return`Processing Date: ${TZi(this.getMilestoningDate(0))}, Business Date: ${TZi(this.getMilestoningDate(1))}`}initializeMilestoningParameters(e){this.milestoningState.processingDate&&!e||this.milestoningState.setProcessingDate(this.milestoningState.buildMilestoningParameter(o_)),this.milestoningState.businessDate&&!e||this.milestoningState.setBusinessDate(this.milestoningState.buildMilestoningParameter(a_))}buildParameterStatesFromMilestoningParameters(){return[this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.businessDate&&this.milestoningState.businessDate instanceof TS?this.milestoningState.businessDate.name:a_),this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.processingDate&&this.milestoningState.processingDate instanceof TS?this.milestoningState.processingDate.name:o_)].filter(cr)}processGetAllParamaters(e){br(3===e.length,"Can't process getAll() expression: when used with a bitemporal milestoned class getAll() expects two parameters"),this.milestoningState.setProcessingDate(e[1]),this.milestoningState.setBusinessDate(e[2])}buildGetAllParameters(e){e.parametersValues.push(dr(this.getMilestoningDate(0),"Milestoning class should have a parameter of type 'Date'")),e.parametersValues.push(dr(this.getMilestoningDate(1),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllWithDefaultParameters(e){const t=pVi(Rvt.NOW,V_.DATETIME);e.parametersValues.push(t),e.parametersValues.push(t)}buildGetAllVersionsInRangeParameters(e){throw new yi("Can't build getAllVersionsInRange() function: expects root class to be business temporal or processing temporal milestoned")}generateMilestoningDate(e,t,n,i,r,s){if(this.initializeMilestoningParameters(),0===r){if(i===n_.PROCESSING_TEMPORAL&&1===s?.parameterValues.length)return new jS(()=>dr(mr(n,US).parametersValues[1]));let o;return e&&n&&!t?o=new jS(()=>dr(n.parametersValues[1])):(o=new jS(()=>dr(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}{if(i===n_.BUSINESS_TEMPORAL&&1===s?.parameterValues.length)return new jS(()=>dr(mr(s.propertyExpression.parametersValues[0],US).parametersValues[1]));let o;return e&&n&&!t?o=new jS(()=>dr(n.parametersValues[2])):(o=new jS(()=>dr(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}}}class MZi extends kZi{getMilestoningDate(){return this.milestoningState.businessDate}getMilestoningToolTipText(){return`Business Date: ${TZi(this.getMilestoningDate())}`}initializeMilestoningParameters(e){this.milestoningState.businessDate&&!e||this.milestoningState.setBusinessDate(this.milestoningState.buildMilestoningParameter(a_))}buildParameterStatesFromMilestoningParameters(){const e=this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.businessDate&&this.milestoningState.businessDate instanceof TS?this.milestoningState.businessDate.name:a_);return e?[e]:[]}processGetAllParamaters(e){br(2===e.length,"Can't process getAll() expression: when used with a milestoned class getAll() expects a parameter"),this.milestoningState.setBusinessDate(e[1])}buildGetAllParameters(e){e.parametersValues.push(dr(this.getMilestoningDate(),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllVersionsInRangeParameters(e){if(!this.milestoningState.startDate||!this.milestoningState.endDate)throw new yi("Can't build getAllVersionsInRange() function: expected both startDate and endDate");e.parametersValues.push(this.milestoningState.startDate),e.parametersValues.push(this.milestoningState.endDate)}buildGetAllWithDefaultParameters(e){const t=pVi(Rvt.NOW,V_.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n,i){if(this.initializeMilestoningParameters(),e&&n&&!t)return i===n_.BUSINESS_TEMPORAL?new jS(()=>dr(n.parametersValues[1])):new jS(()=>dr(n.parametersValues[2]));{const n=new jS(()=>dr(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class PZi extends kZi{getMilestoningDate(){return this.milestoningState.processingDate}getMilestoningToolTipText(){return`Processing Date: ${TZi(this.getMilestoningDate())}`}initializeMilestoningParameters(e){this.milestoningState.processingDate&&!e||this.milestoningState.setProcessingDate(this.milestoningState.buildMilestoningParameter(o_))}buildParameterStatesFromMilestoningParameters(){const e=this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.processingDate&&this.milestoningState.processingDate instanceof TS?this.milestoningState.processingDate.name:o_);return e?[e]:[]}processGetAllParamaters(e){br(2===e.length,"Can't process getAll() expression: when used with a milestoned class getAll() expects a parameter"),this.milestoningState.setProcessingDate(e[1])}buildGetAllParameters(e){e.parametersValues.push(dr(this.getMilestoningDate(),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllVersionsInRangeParameters(e){if(!this.milestoningState.startDate||!this.milestoningState.endDate)throw new yi("Can't build getAllVersionsInRange() function: expected both startDate and endDate");e.parametersValues.push(this.milestoningState.startDate),e.parametersValues.push(this.milestoningState.endDate)}buildGetAllWithDefaultParameters(e){const t=pVi(Rvt.NOW,V_.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n){if(this.initializeMilestoningParameters(),e&&n&&!t)return new jS(()=>dr(n.parametersValues[1]));{const n=new jS(()=>dr(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class FZi{milestoningImplementations=[];queryBuilderState;showMilestoningEditor=!1;businessDate;processingDate;startDate;endDate;constructor(e){hd(this,{processingDate:Rc,businessDate:Rc,startDate:Rc,endDate:Rc,showMilestoningEditor:Rc,setProcessingDate:Pu,setBusinessDate:Pu,setStartDate:Pu,setEndDate:Pu,setShowMilestoningEditor:Pu,clearMilestoningDates:Pu,setAllVersions:Pu,setAllVersionsInRange:Pu,initializeAllVersionsInRangeParameters:Pu,clearAllVersionsInRangeParameters:Pu,clearGetAllParameters:Pu,isAllVersionsEnabled:Oc,isAllVersionsInRangeEnabled:Oc,isMilestonedQuery:Oc,hashCode:Oc}),this.queryBuilderState=e,this.milestoningImplementations.push(new MZi(this,n_.BUSINESS_TEMPORAL)),this.milestoningImplementations.push(new PZi(this,n_.PROCESSING_TEMPORAL)),this.milestoningImplementations.push(new LZi(this,n_.BITEMPORAL))}updateQueryBuilderState(){this.isAllVersionsEnabled&&(this.queryBuilderState.fetchStructureState.implementation instanceof hHi&&this.queryBuilderState.fetchStructureState.implementation.tdsColumns.forEach(e=>{e instanceof kVi?e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof jS&&(e.isPropagatedValue=!1)}):e instanceof BVi&&e.projectionColumnState instanceof kVi&&e.projectionColumnState.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof jS&&(e.isPropagatedValue=!1)})}),this.queryBuilderState.filterState.nodes.forEach(e=>{e instanceof IUi?e.condition.sourceState instanceof SUi&&e.condition.sourceState.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof jS&&(e.isPropagatedValue=!1)}):e instanceof RUi&&e.propertyExpressionState.derivedPropertyExpressionStates[0]&&this.queryBuilderState.sourceClass?._generatedMilestonedProperties.includes(e.propertyExpressionState.derivedPropertyExpressionStates[0].derivedProperty)&&e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof jS&&(e.isPropagatedValue=!1)})}))}get isMilestonedQuery(){return Boolean(this.businessDate??this.processingDate)||this.queryBuilderState.getAllFunction===Avt.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===Avt.GET_ALL_VERSIONS_IN_RANGE}get isCurrentClassMilestoned(){const e=this.queryBuilderState.sourceClass;if(void 0!==e){return void 0!==cE(e,this.queryBuilderState.graphManagerState.graph)}return!1}get isCurrentClassSupportsVersionsInRange(){const e=this.queryBuilderState.sourceClass;if(void 0!==e){const t=cE(e,this.queryBuilderState.graphManagerState.graph);return void 0!==t&&t!==n_.BITEMPORAL}return!1}get isAllVersionsEnabled(){return this.queryBuilderState.getAllFunction===Avt.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===Avt.GET_ALL_VERSIONS_IN_RANGE}get isAllVersionsInRangeEnabled(){return this.queryBuilderState.getAllFunction===Avt.GET_ALL_VERSIONS_IN_RANGE}get isInvalidAllVersionsInRange(){return!!(this.startDate&&!this.endDate||!this.startDate&&this.endDate)}setAllVersionsInRange(e){e?(this.queryBuilderState.setGetAllFunction(Avt.GET_ALL_VERSIONS_IN_RANGE),this.initializeAllVersionsInRangeParameters()):(this.queryBuilderState.setGetAllFunction(Avt.GET_ALL_VERSIONS),this.clearAllVersionsInRangeParameters())}setAllVersions(e){e?(this.queryBuilderState.setGetAllFunction(Avt.GET_ALL_VERSIONS),this.clearGetAllParameters()):(this.queryBuilderState.setGetAllFunction(Avt.GET_ALL),this.clearAllVersionsInRangeParameters(),this.updateMilestoningConfiguration()),this.updateQueryBuilderState()}setStartDate(e){this.startDate=e?Yie(e,this.queryBuilderState.observerContext):e}setEndDate(e){this.endDate=e?Yie(e,this.queryBuilderState.observerContext):e}setShowMilestoningEditor(e){this.showMilestoningEditor=e}getMilestoningImplementation(e){return dr(this.milestoningImplementations.find(t=>t.stereotype===e))}initializeQueryMilestoningParameters(e){this.getMilestoningImplementation(e).initializeMilestoningParameters(!0)}setProcessingDate(e){this.processingDate=e?Yie(e,this.queryBuilderState.observerContext):e}setBusinessDate(e){this.businessDate=e?Yie(e,this.queryBuilderState.observerContext):e}initializeAllVersionsInRangeParameters(){this.setStartDate(this.buildMilestoningParameter(r_)),this.setEndDate(this.buildMilestoningParameter(s_))}clearGetAllParameters(){if(this.businessDate instanceof TS&&!this.queryBuilderState.isVariableUsed(this.businessDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===mr(this.businessDate,TS).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setBusinessDate(void 0)}if(this.processingDate instanceof TS&&!this.queryBuilderState.isVariableUsed(this.processingDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===mr(this.processingDate,TS).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setProcessingDate(void 0)}this.businessDate instanceof RS&&this.setBusinessDate(void 0),this.processingDate instanceof RS&&this.setProcessingDate(void 0)}clearAllVersionsInRangeParameters(){if(this.startDate instanceof TS&&!this.queryBuilderState.isVariableUsed(this.startDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter===this.startDate);e&&this.queryBuilderState.parametersState.removeParameter(e)}if(this.endDate instanceof TS&&!this.queryBuilderState.isVariableUsed(this.endDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter===this.endDate);e&&this.queryBuilderState.parametersState.removeParameter(e)}this.setStartDate(void 0),this.setEndDate(void 0)}clearMilestoningDates(){this.setBusinessDate(void 0),this.setProcessingDate(void 0)}updateMilestoningConfiguration(){const e=this.queryBuilderState.sourceClass;if(void 0!==e){const t=cE(e,this.queryBuilderState.graphManagerState.graph);this.setBusinessDate(void 0),this.setProcessingDate(void 0),t&&this.initializeQueryMilestoningParameters(t)}}buildParameterStateFromMilestoningParameter(e){const t=new TS(e,A_.ONE,j_.create(new X_(V_.DATE))),n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.variableName===e);if(n)return n;if(!this.queryBuilderState.constantState.constants.find(t=>t.variable.name===e)){const e=new GUi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);return e.mockParameterValue(),e}}buildMilestoningParameter(e){const t=new TS(e,A_.ONE,j_.create(new X_(V_.DATE)));if(!this.queryBuilderState.parametersState.parameterStates.find(t=>t.variableName===e)&&!this.queryBuilderState.constantState.constants.find(t=>t.variable.name===e)){const e=new GUi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);e.mockParameterValue(),this.queryBuilderState.parametersState.addParameter(e)}return t}updateMilestoningParameterValue(e,t){if(e instanceof TS){const n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.parameter.name===e.name);n&&n.setValue(t)}}getMilestoningParameterValue(e){let t=e;if(e instanceof TS){const n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.parameter.name===e.name);t=n?.value}return t}isVariableUsed(e){const t=!!this.businessDate&&syt(e,this.businessDate),n=!!this.processingDate&&syt(e,this.processingDate),i=!!this.startDate&&syt(e,this.startDate),r=!!this.endDate&&syt(e,this.endDate);return t||n||i||r}isMilestoningParameter(e){let t=!1;return this.businessDate instanceof TS&&(t=e.name===mr(this.businessDate,TS).name),this.processingDate instanceof TS&&(t=t||e.name===mr(this.processingDate,TS).name),this.startDate instanceof TS&&(t=t||e.name===mr(this.startDate,TS).name),this.endDate instanceof TS&&(t=t||e.name===mr(this.endDate,TS).name),t}get hashCode(){return fv([ayt.MILESTONING_STATE,this.businessDate??"",this.processingDate??""])}}var BZi;!function(e){e.COMPILE="query-builder.compile"}(BZi||(BZi={}));const VZi={[BZi.COMPILE]:{title:"Query Builder: Compile query",defaultKeyboardShortcut:"F9"}};class UZi{queryBuilderState;value;constructor(e){hd(this,{value:Rc,setValue:Pu,hashCode:Oc}),this.queryBuilderState=e}getDefaultValue(){return new RS(j_.create(new X_(V_.STRING)))}setValue(e){this.value=e?Yie(e,this.queryBuilderState.observerContext):void 0}isVariableUsed(e){return!!this.value&&syt(e,this.value)}get hashCode(){return fv([ayt.WATERMARK_STATE,this.value??""])}}class GZi{queryBuilderState;uuid=Mr();variable;constructor(e,t){this.queryBuilderState=e,this.variable=t}get hashCode(){return fv([ayt.CONSTANT_EXPRESSION_STATE,this.variable.name])}buildLetExpression(){const e=new RS(j_.create(new X_(V_.STRING)));e.values=[this.variable.name];const t=new VS(I_(exports.SUPPORTED_FUNCTIONS.LET));return t.parametersValues=[e,this.buildLetAssignmentValue()],t}}class HZi extends GZi{value;constructor(e,t,n){super(e,t),hd(this,{variable:Rc,value:Rc,setValueSpec:Pu,changeValSpecType:Pu}),this.value=Yie(n,this.queryBuilderState.observerContext),Yie(t,this.queryBuilderState.observerContext)}changeValSpecType(e){const t=this.value.genericType?.value.rawType;if(t!==e)try{const t=vVi(this.queryBuilderState.graphManagerState.graph,e,this.queryBuilderState.observerContext,this.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);this.setValueSpec(t)}catch(e){bi(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e.message)}}setValueSpec(e){if(e instanceof TS)throw new vi("Can not assign a parameter to another parameter");this.value=Yie(e,this.queryBuilderState.observerContext);const t=e.genericType?.value.rawType;t&&t!==this.variable.genericType?.value.rawType&&Pvt(this.variable,j_.create(new X_(t)))}buildLetAssignmentValue(){return this.value}get hashCode(){return fv([ayt.CONSTANT_EXPRESSION_STATE,this.variable.name,this.value])}}class zZi extends RVi{queryBuilderState;calculatedState;convertingLambdaToStringState=Py.create();constructor(e){super("",""),hd(this,{calculatedState:Rc,convertingLambdaToStringState:Rc,buildEmptyValueSpec:Rc}),this.calculatedState=e,this.queryBuilderState=e.queryBuilderState}buildEmptyValueSpec(){return this.queryBuilderState.graphManagerState.graphManager.serializeRawValueSpecification(yVi(this.queryBuilderState.graphManagerState,this.queryBuilderState.observerContext))}get lambdaId(){return Eie([pvt.QUERY_BUILDER,pvt.CONSTANT,this.calculatedState.uuid])}*convertLambdaGrammarStringToObject(){if(this.lambdaString)try{this.convertingLambdaToStringState.inProgress();const e=yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToValueSpecification(this.fullLambdaString);this.setParserError(void 0),this.calculatedState.setValue(e)}catch(e){bi(e),e instanceof pJ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.PARSING_FAILURE),e)}finally{this.convertingLambdaToStringState.complete()}else this.clearErrors(),this.calculatedState.setValue(this.buildEmptyValueSpec()),this.convertingLambdaToStringState.complete()}*convertLambdaObjectToGrammarString(e){try{const t=this.calculatedState.value,n=yield this.queryBuilderState.graphManagerState.graphManager.valueSpecificationToPureCode(t,e?.pretty);this.setLambdaString(n),this.clearErrors({preserveCompilationError:e?.preserveCompilationError})}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.PARSING_FAILURE),e)}}}class jZi extends GZi{value;lambdaState;constructor(e,t,n){super(e,t),hd(this,{variable:Rc,lambdaState:Rc,value:Rc,setLambdaState:Pu,setValue:Pu}),this.value=n,this.lambdaState=new zZi(this),Yie(t,this.queryBuilderState.observerContext)}setLambdaState(e){this.lambdaState=e}setValue(e){this.value=e}buildLetAssignmentValue(){return new xS(this.value)}}class WZi{queryBuilderState;showConstantPanel=!1;constants=[];selectedConstant;constructor(e){this.queryBuilderState=e,hd(this,{constants:Rc,showConstantPanel:Rc,selectedConstant:Rc,addConstant:Pu,removeConstant:Pu,setShowConstantPanel:Pu,setSelectedConstant:Pu,convertToCalculated:Pu})}get isEmpty(){return!this.constants.length}setShowConstantPanel(e){this.showConstantPanel=e}addConstant(e){jr(this.constants,e)}removeConstant(e){$r(this.constants,e)}setSelectedConstant(e){this.selectedConstant=e}isValueSpecConstant(e){return e instanceof TS&&Boolean(this.constants.find(t=>t.variable.name===e.name))}convertToCalculated(e){try{const t=this.queryBuilderState.graphManagerState.graphManager.serializeValueSpecification(e.value),n=new jZi(this.queryBuilderState,e.variable,t);br(Wr(this.constants,e,n),"Unable to convert to calculated constant")}catch(e){bi(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}}get hashCode(){return fv([ayt.CONSTANT_STATE,fv(this.constants)])}}var $Zi;!function(e){e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED="data-access-overview.chart.access-granted",e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_APPROVED="data-access-overview.chart.access-approved",e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_REQUESTED="data-access-overview.chart.access-requested",e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_NOT_GRANTED="data-access-overview.chart.access-not-granted",e.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS="data-access-overview.chart.unsupported-access"}($Zi||($Zi={}));class qZi{uuid=Mr();specification;entitlementReport;constructor(e){hd(this,{entitlementReport:Rc,setEntitlementReport:Pu}),this.specification=e}setEntitlementReport(e){this.entitlementReport=e}}class YZi{applicationStore;graphManagerState;initialDatasets;mapping;runtime;graphData;getQuery;surveyDatasetsState=Py.create();checkEntitlementsState=Py.create();datasets=[];constructor(e,t,n){hd(this,{datasets:Rc,entitlementCheckInfo:Oc,fetchDatasetSpecifications:Ju,fetchDatasetEntitlementReports:Ju}),this.applicationStore=e,this.graphManagerState=t,this.initialDatasets=n.initialDatasets,this.datasets=(n.initialDatasets??[]).map(e=>new qZi(e)),this.mapping=n.mapping,this.runtime=n.runtime,this.graphData=n.graphData,this.getQuery=n.getQuery}get entitlementCheckInfo(){const e=this.datasets.length;if(!e)return{total:e,data:[{label:"Access Granted",count:1,percentage:100,color:this.applicationStore.layoutService.getColor($Zi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)}]};const t={total:e,data:[]},n=this.datasets.filter(e=>e.entitlementReport instanceof e1).length,i=Math.round(n/e*100);t.data.push({label:"Access Granted",count:n,percentage:i,color:this.applicationStore.layoutService.getColor($Zi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)});const r=this.datasets.filter(e=>e.entitlementReport instanceof i1).length,s=Math.round(r/e*100);t.data.push({label:"Access Approved",count:r,percentage:s,color:this.applicationStore.layoutService.getColor($Zi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_APPROVED)});const o=this.datasets.filter(e=>e.entitlementReport instanceof n1).length,a=Math.round(o/e*100);t.data.push({label:"Access Requested",count:o,percentage:a,color:this.applicationStore.layoutService.getColor($Zi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_REQUESTED)});const l=this.datasets.filter(e=>e.entitlementReport instanceof t1).length,c=Math.round(l/e*100);t.data.push({label:"Access Not Granted",count:l,percentage:c,color:this.applicationStore.layoutService.getColor($Zi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_NOT_GRANTED)});const u=this.datasets.filter(e=>e.entitlementReport instanceof r1).length,d=Math.round(u/e*100);t.data.push({label:"Unsupported",count:u,percentage:d,color:this.applicationStore.layoutService.getColor($Zi.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS)});const h=e-n-r-o-l-u,p=Math.round(h/e*100);t.data.push({label:"Unknown",count:h,percentage:p,color:this.applicationStore.layoutService.getColor($Zi.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS)});let g=0;for(let e=0;e<t.data.length;++e){const n=Gr(t.data,e);if(g+n.percentage>=100){n.percentage=100-g,t.data=t.data.slice(0,e+1);break}g+=n.percentage}return t}*fetchDatasetSpecifications(){this.surveyDatasetsState.inProgress();try{const e=yield this.graphManagerState.graphManager.surveyDatasets(this.mapping,this.runtime,yield this.getQuery(),this.graphData);this.datasets=e.map(e=>{const t=this.datasets.find(t=>t.specification.hashCode===e.hashCode);return t||new qZi(e)})}catch(e){bi(e),this.applicationStore.notificationService.notifyError(e)}finally{this.surveyDatasetsState.complete()}}*fetchDatasetEntitlementReports(){this.checkEntitlementsState.inProgress();try{const e=yield this.graphManagerState.graphManager.checkDatasetEntitlements(this.datasets.map(e=>e.specification),this.mapping,this.runtime,yield this.getQuery(),this.graphData);this.datasets.forEach(t=>{const n=e.find(e=>e.dataset.hashCode===t.specification.hashCode);n?t.setEntitlementReport(n):t.setEntitlementReport(void 0)});const t=[];e.forEach(e=>{if(!this.datasets.find(t=>t.specification.hashCode===e.dataset.hashCode)){const n=new qZi(e.dataset);n.setEntitlementReport(e),t.push(n)}}),this.datasets=this.datasets.concat(t)}catch(e){bi(e),this.applicationStore.notificationService.notifyError(e)}finally{this.checkEntitlementsState.complete()}}async intialize(){this.initialDatasets||await this.fetchDatasetSpecifications(),await this.fetchDatasetEntitlementReports()}async refresh(){await this.fetchDatasetSpecifications(),await this.fetchDatasetEntitlementReports()}}class KZi{queryBuilderState;dataAccessState;showCheckEntitlementsViewer=!1;constructor(e){hd(this,{showCheckEntitlementsViewer:Rc,dataAccessState:Rc,setShowCheckEntitlementsViewer:Pu,hashCode:Oc}),this.queryBuilderState=e}setShowCheckEntitlementsViewer(e){this.showCheckEntitlementsViewer=e,this.dataAccessState=void 0,this.queryBuilderState.executionContextState.mapping&&this.queryBuilderState.executionContextState.runtimeValue instanceof n$&&(this.dataAccessState=new YZi(this.queryBuilderState.applicationStore,this.queryBuilderState.graphManagerState,{mapping:this.queryBuilderState.executionContextState.mapping.path,runtime:this.queryBuilderState.executionContextState.runtimeValue.packageableRuntime.value.path,getQuery:async()=>this.createExecutableQuery(this.queryBuilderState.buildQuery(),this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState),graphData:this.queryBuilderState.getGraphData()}))}createExecutableQuery(e,t,n){if(t.length>0){const i=PUi(n.graph,t),r=w7(i,n);if(Array.isArray(e.body)&&Array.isArray(r.body))return r.body=[...r.body,...e.body],r}return e}get hashCode(){return fv([ayt.CHECK_ENTITLEMENTS_STATE,this.showCheckEntitlementsViewer])}}class XZi{queryBuilderState;initState=Py.create();querySnapshotBuffer=[];currentQuery;pointer=-1;bufferSize=10;constructor(e){hd(this,{currentQuery:Rc,pointer:Rc,querySnapshotBuffer:Rc,initialize:Pu,undo:Pu,redo:Pu,setCurrentQuery:Pu,cacheNewQuery:Pu,canRedo:Oc,canUndo:Oc}),this.queryBuilderState=e}get canRedo(){return this.pointer<this.querySnapshotBuffer.length-1}get canUndo(){return this.pointer>0}redo(){if(this.canRedo){this.pointer=this.pointer+1;const e=this.querySnapshotBuffer[this.pointer];this.setCurrentQuery(e),this.queryBuilderState.rebuildWithQuery(dr(e),{preserveParameterValues:!0,preserveResult:!0})}}undo(){if(this.canUndo){this.pointer=this.pointer-1;const e=this.querySnapshotBuffer[this.pointer];this.setCurrentQuery(e),this.queryBuilderState.rebuildWithQuery(dr(e),{preserveParameterValues:!0,preserveResult:!0})}}setCurrentQuery(e){this.currentQuery=e}initialize(e){this.queryBuilderState.isQuerySupported&&(this.initState.inProgress(),this.currentQuery=e,this.querySnapshotBuffer.push(e),this.pointer=this.pointer+1,this.initState.complete())}cacheNewQuery(e){try{this.queryBuilderState.isQuerySupported&&e.hashCode!==this.currentQuery?.hashCode&&(this.querySnapshotBuffer.length===this.bufferSize&&this.pointer===this.querySnapshotBuffer.length-1?this.querySnapshotBuffer=this.querySnapshotBuffer.slice(1):this.querySnapshotBuffer=this.querySnapshotBuffer.slice(0,this.pointer+1),this.querySnapshotBuffer.push(e),this.pointer=this.querySnapshotBuffer.length-1,this.setCurrentQuery(e))}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(uvt.CHANGE_HISTORY_ERROR),`Can't cache query in query builder change history buffer: ${e.message}`)}}}class ZZi{static INSTANCE=new ZZi}class QZi{actionConfig=ZZi.INSTANCE;updateActionConfig(e){this.actionConfig=e}}class JZi extends QZi{get showStatusBar(){return!0}getFetchStructureLayoutConfig(e){return{label:"fetch structure",showInFetchPanel:!0}}static INSTANCE=new JZi}class eQi extends QZi{get showStatusBar(){return!1}getFetchStructureLayoutConfig(e){return{label:e.fetchStructureState.implementation.fetchLabel,showInFetchPanel:!1}}static INSTANCE=new eQi}class tQi extends Obt{mapping;runtime}class nQi extends yCt{logService=new zy;graphState;queryBuilderState;selectInitialQuery;mappingPath;parameterValues;runtimePath;parameters;letFuncsRawLambda;constructor(e,t,n,i,r,s,o){super(),this.graphState=r,this.queryBuilderState=s,this.selectInitialQuery=e,this.mappingPath=n,this.runtimePath=i,this.parameterValues=t,this.parameters=e.parameters,this.letFuncsRawLambda=o}finalizeTimingRecord(e,t){if(this.queryBuilderState)return this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(e,t)}getDataFromSource(e){return e instanceof tQi?{query:{mapping:e.mapping,runtime:e.runtime},sourceType:"queryBuilder"}:{}}async processSource(e){const t=this.getSourceFunctionExpression(),n=new tQi;return n.columns=(await this.getRelationType(this.selectInitialQuery)).columns,n.mapping=this.mappingPath,n.runtime=this.runtimePath,n.query=t,n}async parseValueSpecification(e,t){return eI(await this.graphState.graphManager.pureCodeToValueSpecification(e,t),[])}async getValueSpecificationCode(e,t){return this.graphState.graphManager.valueSpecificationToPureCode(tI(e,[]),t)}async getQueryTypeahead(e,t,n){const i=this.buildRawLambdaFromValueSpec(t),r=await this.graphState.graphManager.lambdaToPureCode(i),s=r.length,o=r+e,a=o.substring(o.indexOf(Hb)+1,o.length);return(await this.graphState.graphManager.getCodeComplete(a,this.graphState.graph,s)).completions}async getQueryRelationReturnType(e,t){return this.getRelationType(this.buildRawLambdaFromValueSpec(e))}async getQueryCodeRelationReturnType(e,t,n){const i=await this.graphState.graphManager.valueSpecificationToPureCode(tI(t,[]))+e;return this.getRelationType(await this.graphState.graphManager.pureCodeToLambda(i))}async executeQuery(e,t){const n=new Fy,i=this.buildRawLambdaFromValueSpec(e);this.letFuncsRawLambda&&Array.isArray(i.body)&&Array.isArray(this.letFuncsRawLambda.body)&&(i.body=[...this.letFuncsRawLambda.body,...i.body]),i.parameters=this.letFuncsRawLambda?this.letFuncsRawLambda.parameters:this.parameters;const[r,s]=await Promise.all([this.graphState.graphManager.runQuery(i,void 0,void 0,this.graphState.graph,{parameterValues:this.parameterValues??[]}),this.graphState.graphManager.lambdaToPureCode(i)]),o=n.elapsed,a=mr(r.executionResult,gQ,"Query returned expected to be of tabular data set");if(this.queryBuilderState){const e=s6(this.graphState.graph);e.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(n,e.timings);const t=Object.assign({},e,this.queryBuilderState.getStateInfo());yvt.logEvent_EmbeddedDataCubeQueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,t)}return{result:a,executedQuery:s,executedSQL:a.activities?.at(-1)instanceof rQ?a.activities.at(-1).sql:void 0,executionTime:o}}buildExecutionContext(e){if(e instanceof tQi){return Boolean(e.mapping??e.runtime)?Hbt(exports.DataCubeFunction.FROM,[e.mapping?Wbt(e.mapping):void 0,e.runtime?Wbt(e.runtime):void 0].filter(cr)):void 0}}sendTelemetry(e,t){this.queryBuilderState?.applicationStore.telemetryService.logEvent(e,t)}buildRawLambdaFromValueSpec(e){const t=mr(CI(tI(e,[])),kx);return new SS(t.parameters,t.body)}getSourceFunctionExpression(){let e=eI(this.graphState.graphManager.serializeRawValueSpecification(this.selectInitialQuery),[]);return e instanceof ST&&1===e.body.length&&e.body[0]&&(e=e.body[0]),e}async generateInitialSpecification(){const e=(await this.getRelationType(this.selectInitialQuery)).columns,t=new Dbt;return t.query=`~[${e.map(e=>`'${e.name}'`)}]->select()`,t}async getRelationType(e){return await this.graphState.graphManager.getLambdaRelationType(e,this.graphState.graph)}}class iQi{specification;engine;constructor(e,t){this.specification=e,this.engine=t}}var rQi;!function(e){e.STANDARD="STANDARD",e.TYPED_FETCH_STRUCTURE="TYPED_FETCH_STRUCTURE"}(rQi||(rQi={}));class sQi{applicationStore;graphManagerState;changeDetectionState;queryCompileState=Py.create();observerContext;config;workflowState;explorerState;functionsExplorerState;parametersState;constantState;milestoningState;fetchStructureState;filterState;watermarkState;checkEntitlementsState;filterOperators=(()=>[new lKi,new cKi,new yZi,new vZi,new pZi,new fZi,new gZi,new mZi,new CZi,new SZi,new bZi,new _Zi,new uKi,new dKi,new hKi,new pKi])();resultState;textEditorState;unsupportedQueryState;changeHistoryState;showFunctionsExplorerPanel=!1;showParametersPanel=!1;isEditingWatermark=!1;isCheckingEntitlments=!1;isCalendarEnabled=!1;isLocalModeEnabled=!1;dataCubeViewerState;INTERNAL__enableInitializingDefaultSimpleExpressionValue=!1;lambdaWriteMode=rQi.STANDARD;sourceElement;getAllFunction=Avt.GET_ALL;executionContextState;internalizeState;sourceInfo;TEMPORARY__setupPanelContentRenderer;constructor(e,t,n,i,r){hd(this,{explorerState:Rc,parametersState:Rc,constantState:Rc,functionsExplorerState:Rc,fetchStructureState:Rc,filterState:Rc,watermarkState:Rc,milestoningState:Rc,checkEntitlementsState:Rc,resultState:Rc,textEditorState:Rc,unsupportedQueryState:Rc,showFunctionsExplorerPanel:Rc,showParametersPanel:Rc,isEditingWatermark:Rc,isCheckingEntitlments:Rc,isCalendarEnabled:Rc,changeDetectionState:Rc,changeHistoryState:Rc,executionContextState:Rc,sourceElement:Rc,isLocalModeEnabled:Rc,dataCubeViewerState:Rc,getAllFunction:Rc,lambdaWriteMode:Rc,INTERNAL__enableInitializingDefaultSimpleExpressionValue:Rc,sideBarClassName:Oc,sourceClass:Oc,sourceAccessor:Oc,sourceRelationType:Oc,isQuerySupported:Oc,allValidationIssues:Oc,canBuildQuery:Oc,useRelation:Oc,setShowFunctionsExplorerPanel:Pu,setShowParametersPanel:Pu,setIsEditingWatermark:Pu,setIsCalendarEnabled:Pu,setDataCubeViewerState:Pu,openDataCubeEngine:Pu,setIsCheckingEntitlments:Pu,setSourceElement:Pu,setIsLocalModeEnabled:Pu,setGetAllFunction:Pu,setLambdaWriteMode:Pu,setINTERNAL__enableInitializingDefaultSimpleExpressionValue:Pu,TEMPORARY_initializeExecContext:Pu,resetQueryResult:Pu,resetQueryContent:Pu,changeSourceElement:Pu,changeMapping:Pu,changeRuntime:Pu,setExecutionContextState:Pu,rebuildWithQuery:Pu,compileQuery:Ju,hashCode:Oc}),this.applicationStore=e,this.graphManagerState=t,this.executionContextState=this.TEMPORARY_initializeExecContext(Boolean(i?.enableTypedTDS)),this.milestoningState=new FZi(this),this.explorerState=new Ezi(this),this.parametersState=new hZi(this),this.constantState=new WZi(this),this.functionsExplorerState=new dZi(this),this.fetchStructureState=new cji(this),this.filterState=new OUi(this,this.filterOperators),this.watermarkState=new UZi(this),this.checkEntitlementsState=new KZi(this),this.resultState=new eZi(this),this.textEditorState=new hji(this),this.unsupportedQueryState=new tZi(this),this.observerContext=new f7(this.graphManagerState.pluginManager.getPureGraphManagerPlugins()),this.changeDetectionState=new xZi(this),this.changeHistoryState=new XZi(this),this.config=i,this.workflowState=n,this.sourceInfo=r}TEMPORARY_initializeExecContext(e){if(e){const e=new WUi(this);return this.setLambdaWriteMode(rQi.TYPED_FETCH_STRUCTURE),e}return new $Ui(this)}get useRelation(){return this.sourceElement instanceof Rq||this.isFetchStructureTyped}get isMappingReadOnly(){return!1}get isRuntimeReadOnly(){return!1}get sideBarClassName(){}get isParameterSupportDisabled(){return!1}get isResultPanelHidden(){return!1}get floatingExecutionElements(){}get TEMPORARY__isDnDFetchStructureToFilterSupported(){return!0}get allVariables(){return[...this.parametersState.parameterStates.map(e=>e.parameter),...this.constantState.constants.map(e=>e.variable)]}get allVariableNames(){return this.allVariables.map(e=>e.name)}get isFetchStructureTyped(){return this.lambdaWriteMode===rQi.TYPED_FETCH_STRUCTURE}get forceFromExpressionForExec(){return this.isFetchStructureTyped}get requiresMappingForExecution(){return!0}setLambdaWriteMode(e){this.lambdaWriteMode=e}getQueryExecutionContext(){const e=new BQ,t=mr(this.executionContextState.runtimeValue,n$,"Query runtime must be of type runtime pointer");return ur(this.executionContextState.mapping,"Query required mapping to update"),e.mapping=C_.create(this.executionContextState.mapping),e.runtime=t.packageableRuntime,e}async propagateExecutionContextChange(e){const t=this.applicationStore.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraQueryBuilderPropagateExecutionContextChangeHelper?.()??[]);for(const n of t){const t=n(this,e);if(t)return void await t()}}getStateInfo(){if(this.sourceInfo){const e=this.sourceClass?.path,t=this.executionContextState.mapping?.path,n=this.executionContextState.runtimeValue instanceof n$?this.executionContextState.runtimeValue.packageableRuntime.value.path:void 0;if(e&&t&&n){const i={class:e,mapping:t,runtime:n};return Object.assign({},this.sourceInfo,i)}}}setIsLocalModeEnabled(e){this.isLocalModeEnabled=e}setDataCubeViewerState(e){this.dataCubeViewerState=e}setInternalize(e){this.internalizeState=e}setShowFunctionsExplorerPanel(e){this.showFunctionsExplorerPanel=e}setShowParametersPanel(e){this.showParametersPanel=e}setIsEditingWatermark(e){this.isEditingWatermark=e}setIsCheckingEntitlments(e){this.isCheckingEntitlments=e}setIsCalendarEnabled(e){this.isCalendarEnabled=e}get sourceClass(){return this.sourceElement instanceof Rq?void 0:this.sourceElement}get sourceAccessor(){return this.sourceElement instanceof Rq?this.sourceElement:void 0}get sourceRelationType(){return this.sourceAccessor?.relationType}setSourceElement(e){this.sourceElement=e}setExecutionContextState(e){this.executionContextState=e}setGetAllFunction(e){this.getAllFunction=e}setINTERNAL__enableInitializingDefaultSimpleExpressionValue(e){this.INTERNAL__enableInitializingDefaultSimpleExpressionValue=e}get isQuerySupported(){return!this.unsupportedQueryState.rawLambda}async openDataCubeEngine(){try{yvt.logEvent_EmbeddedDataCubeLaunched(this.applicationStore.telemetryService),this.setDataCubeViewerState(await(async e=>{const t=e.executionContextState.runtimeValue instanceof n$?e.executionContextState.runtimeValue.packageableRuntime.value.path:void 0;if(!t)return;const n=e.executionContextState.mapping?.path,i=e.lambdaWriteMode;e.setLambdaWriteMode(rQi.TYPED_FETCH_STRUCTURE);const r=VUi(e.parametersState.parameterStates,e.graphManagerState),s=e.buildQuery(),o=new nQi(s,r,n,t,e.graphManagerState,e);e.setLambdaWriteMode(i);const a=await o.generateInitialSpecification();return new iQi(a,o)})(this))}catch(e){bi(e),this.applicationStore.notificationService.notifyError("Unable to open data cube in query builder")}}registerCommands(){this.applicationStore.commandService.registerCommand({key:BZi.COMPILE,action:()=>{this.compileQuery().catch(this.applicationStore.alertUnhandledError)}})}isVariableUsed(e,t){const n=this.filterState.isVariableUsed(e)||this.watermarkState.isVariableUsed(e)||this.fetchStructureState.implementation.isVariableUsed(e);return t?.exculdeMilestoningState?n:this.milestoningState.isVariableUsed(e)||n}deregisterCommands(){[BZi.COMPILE].forEach(e=>this.applicationStore.commandService.deregisterCommand(e))}resetQueryResult(e){const t=new eZi(this);t.setPreviewLimit(this.resultState.previewLimit),e?.preserveResult&&(t.setExecutionResult(this.resultState.executionResult),t.setExecutionDuration(this.resultState.executionDuration),t.latestRunHashCode=this.resultState.latestRunHashCode),e?.gridConfig&&(this.isLocalModeEnabled=!0,t.handlePreConfiguredGridConfig(e.gridConfig)),this.resultState=t}resetQueryContent(){this.textEditorState=new hji(this),this.unsupportedQueryState=new tZi(this),this.milestoningState=new FZi(this);const e=this.explorerState.mappingModelCoverageAnalysisResult;this.explorerState=new Ezi(this),e&&(this.explorerState.mappingModelCoverageAnalysisResult=e),this.explorerState.refreshTreeData(),this.constantState=new WZi(this),this.functionsExplorerState=new dZi(this),this.parametersState=new hZi(this),this.filterState=new OUi(this,this.filterOperators),this.watermarkState=new UZi(this),this.checkEntitlementsState=new KZi(this),this.isCalendarEnabled=!1;const t=this.fetchStructureState.implementation.type;this.fetchStructureState=new cji(this),t!==this.fetchStructureState.implementation.type&&this.fetchStructureState.changeImplementation(t)}changeSourceElement(e){this.resetQueryResult(),this.resetQueryContent(),this.setGetAllFunction(Avt.GET_ALL),this.setSourceElement(e),this.explorerState.refreshTreeData(),this.fetchStructureState.implementation.onClassChange(),this.milestoningState.updateMilestoningConfiguration(),this.changeHistoryState.cacheNewQuery(this.buildQuery())}changeMapping(e,t){this.resetQueryResult(),t?.keepQueryContent||(this.resetQueryContent(),this.setGetAllFunction(Avt.GET_ALL),this.milestoningState.updateMilestoningConfiguration()),this.executionContextState.setMapping(e)}changeRuntime(e){this.resetQueryResult(),this.executionContextState.setRuntimeValue(e)}getCurrentParameterValues(){if(this.parametersState.parameterStates.length){const e=new Map;return this.parametersState.parameterStates.forEach(t=>{const n=t.value;n&&e.set(t.variableName,n)}),e}}getGridConfig(){if(this.isLocalModeEnabled&&this.resultState.gridConfig)return this.resultState.getQueryGridConfig()}buildQuery(e){if(!this.isQuerySupported){const e=this.parametersState.parameterStates.map(e=>this.graphManagerState.graphManager.serializeValueSpecification(e.parameter));return this.unsupportedQueryState.setRawLambda(new SS(e,this.unsupportedQueryState.rawLambda?.body)),dr(this.unsupportedQueryState.rawLambda)}return w7(KUi(this,{keepSourceInformation:Boolean(e?.keepSourceInformation),useTypedRelationFunctions:this.isFetchStructureTyped}),this.graphManagerState)}buildQueryForPersistence(){return this.buildQuery()}buildFromQuery(){br(this.isQuerySupported,"Query must be supported to build from function");const e=dr(this.executionContextState.mapping,"Mapping required to build from() function"),t=dr(this.executionContextState.runtimeValue,"Runtime required to build from query"),n=mr(t,n$).packageableRuntime,i=((e,t,n)=>{const i=dr(e.expressionSequence[0]),r=new VS(I_(exports.SUPPORTED_FUNCTIONS.FROM)),s=new AS(A_.ONE,void 0);s.values=[C_.create(t)];const o=new AS(A_.ONE,void 0);return o.values=[C_.create(n)],r.parametersValues=[i,s,o],e.expressionSequence=[r],e})(KUi(this),e,n.value);return w7(i,this.graphManagerState)}buildExecutionContextExpression(e){return((e,t)=>{if(e instanceof WUi){const n=dr(t.expressionSequence[0],"Can't build from() expression: preceding expression is not defined"),i=new VS(I_(exports.SUPPORTED_FUNCTIONS.FROM)),r=e.mapping;let s;r&&(s=new AS(A_.ONE,void 0),s.values=[C_.create(r)]);const o=e.runtimeValue;let a;o instanceof n$&&(a=new AS(A_.ONE,void 0),a.values=[o.packageableRuntime]),i.parametersValues=[n,s,a].filter(cr),t.expressionSequence[0]=i}return t})(this.executionContextState,e)}getQueryReturnType(){return this.fetchStructureState.implementation instanceof hHi?this.useRelation?this.graphManagerState.graph.getType(xvt.RELATION):this.graphManagerState.graph.getClass(xvt.TDS_TABULAR_DATASET):V_.STRING}initializeWithQuery(e,t,n){this.rebuildWithQuery(e,{defaultParameterValues:t}),this.resetQueryResult({gridConfig:n}),this.changeDetectionState.initialize(e),this.changeHistoryState.initialize(e)}rebuildWithQuery(e,t){let n;try{const i=new Map;if(t?.preserveParameterValues?(this.parametersState.parameterStates.forEach(e=>{i.set(e.parameter.name,{variable:e.parameter,value:e.value})}),n=i):t?.defaultParameterValues?.size&&(Array.from(t.defaultParameterValues.entries()).forEach(([e,t])=>{i.set(e,{variable:e,value:t})}),n=i),this.resetQueryResult({preserveResult:t?.preserveResult}),this.resetQueryContent(),!bW(e)){const t=Yie(this.graphManagerState.graphManager.buildValueSpecification(this.graphManagerState.graphManager.serializeRawValueSpecification(e),this.graphManagerState.graph),this.observerContext),i=mr(t,zS,"Can't build query state: query builder only support lambda");_Qi(dr(i.values[0]),this,{parameterValues:n})}this.parametersState.parameterStates.filter(e=>!this.milestoningState.isMilestoningParameter(e.parameter)).length>0&&this.setShowParametersPanel(!0),this.fetchStructureState.initializeWithQuery()}catch(s){bi(s),this.applicationStore.logService.error(Hy.create(uvt.UNSUPPORTED_QUERY_LAUNCH),s),this.resetQueryResult({preserveResult:t?.preserveResult}),this.resetQueryContent(),this.unsupportedQueryState.setLambdaError(s),this.unsupportedQueryState.setRawLambda(e),this.setSourceElement(void 0);const o=(i=e,r=this.graphManagerState,(i.parameters??[]).map(e=>r.graphManager.buildValueSpecification(e,r.graph))).map(e=>Yie(e,this.observerContext)).filter(pr(TS));bQi(o,this,{parameterValues:n})}var i,r}*compileQuery(){if(this.textEditorState.mode){if(this.textEditorState.mode===dji.TEXT){this.queryCompileState.inProgress();try{this.textEditorState.setCompilationError(void 0),yield this.graphManagerState.graphManager.getLambdaReturnType(this.textEditorState.rawLambdaState.lambda,this.graphManagerState.graph,{keepSourceInformation:!0}),this.applicationStore.notificationService.notifySuccess("Compiled successfully")}catch(e){if(bi(e),e instanceof gJ){this.applicationStore.logService.error(Hy.create(XS.COMPILATION_FAILURE),e),this.applicationStore.notificationService.notifyWarning(`Compilation failed: ${e.message}`,e.trace);wie(e.sourceInformation)&&this.textEditorState.setCompilationError(e)}}finally{this.queryCompileState.complete()}}}else{this.queryCompileState.inProgress(),this.fetchStructureState.implementation.clearCompilationError();try{this.textEditorState.setCompilationError(void 0),yield this.graphManagerState.graphManager.getLambdaReturnType(this.buildQuery({keepSourceInformation:!0}),this.graphManagerState.graph,{keepSourceInformation:!0}),this.applicationStore.notificationService.notifySuccess("Compiled successfully")}catch(e){bi(e),this.applicationStore.logService.error(Hy.create(XS.COMPILATION_FAILURE),e);let t=!0;e instanceof gJ&&e.sourceInformation&&(t=!this.fetchStructureState.implementation.revealCompilationError(e)),t?(this.applicationStore.notificationService.notifyWarning("Compilation failed and error cannot be located in form mode. Redirected to text mode for debugging."),this.textEditorState.openModal(dji.TEXT)):this.applicationStore.notificationService.notifyWarning(`Compilation failed: ${e.message}`)}finally{this.queryCompileState.complete()}}}get allValidationIssues(){return this.fetchStructureState.implementation.allValidationIssues.concat(this.filterState.allValidationIssues)}get canBuildQuery(){return!(this.filterState.hasInvalidFilterValues||this.filterState.hasInvalidDerivedPropertyParameters||this.fetchStructureState.implementation.hasInvalidFilterValues||this.fetchStructureState.implementation.hasInvalidDerivedPropertyParameters)}buildFunctionAnalysisInfo(){}getGraphData(){return new u6(this.graphManagerState.graph)}INTERNAL__toBasicQueryBuilderState(){const e=new oQi(this.applicationStore,this.graphManagerState,this.workflowState,void 0);return e.sourceElement=this.sourceElement,e.executionContextState.mapping=this.executionContextState.mapping,e.executionContextState.runtimeValue=this.executionContextState.runtimeValue,e}get hashCode(){return fv([ayt.QUERY_BUILDER_STATE,this.unsupportedQueryState,this.milestoningState,this.parametersState,this.filterState,this.watermarkState,this.checkEntitlementsState,this.fetchStructureState.implementation])}}class oQi extends sQi{}class aQi{queryBuilderState;binding;inputData;constructor(e,t,n){this.queryBuilderState=n,this.binding=e,this.inputData=t}}const lQi=(e,t,n)=>{t.fetchStructureState.changeImplementation(QVi.GRAPH_FETCH),br(2===e.parametersValues.length||3===e.parametersValues.length,"Can't process serialize() expression: serialize() expects 1 or 2 argument");const i=mr(e.parametersValues[0],VS,"Can't process serialize() expression: only support serialize() immediately following an expression");if(br(k_(i.functionName,[Rvt.GRAPH_FETCH,Rvt.GRAPH_FETCH_CHECKED]),"Can't process serialize() expression: only support serialize() in graph-fetch expression"),yQi.process(i,n,t),t.fetchStructureState.implementation instanceof aji){const n=t.fetchStructureState.implementation,i=mr(e.parametersValues[1],KS,"Can't process serialize() expression: serialize() graph-fetch is missing"),r=mr(i.values[0],$S,"Can't process serialize() expression: serialize() graph-fetch tree root is missing");br(0===r.subTypeTrees.length,"Can't process serialize() expression: subTypeTree is not supported."),n.setGraphFetchTree(qzi(r));const s=e.parametersValues[2];if(s){const e=mr(s,VS,"Can't process serialize() expression: serialize() function expects a function to configure custom serialization");br(k_(e.functionName,[exports.SUPPORTED_FUNCTIONS.NEW]),"Can't process serialize() expression: config expects 'new' function instaniate new config class");const t=mr(n.serializationState,sji,"Can't process serialize() expression: serialization state expected to be of type pure with serialize()"),i=mr(mr(mr(e.parametersValues[0],AS,"Can't process serialize() expression: serialization config expects first param to be an instance value").values[0],__,"Can't process serialize() expression: serialization config expects first param to be a packageable element").value,Z_,"Can't process serialize() expression: serialization config expects first param to be a class");br(i.path===xvt.SERIALIZE_CONFIG,`Can't process serialize() expression: serialiaztion config class expected to be '${xvt.SERIALIZE_CONFIG}', got : ${i.path}`);const r=mr(e.parametersValues[2],IS,"Can't process serialize() expression: serialization config expects third param to be a collection instance of key expressions"),o=new iji;r.values.forEach((e,t)=>{const n=mr(e,OS,`Can't process serialize() expression: collection instance value expects value ${t+1} to be key expression instance `);((e,t,n,i)=>{const r=mr(e.key,RS,`Can't process serialize() expression: serialization config key expression ${i} key expected to be a primitive value`);br(r.genericType.value.rawType.path===Xb.STRING,`Can't process serialize() expression: serialization config key expression ${i} key expected to be a primitive string value`);const s=Ar(r.values[0],`Can't process serialize() expression: serialization config key expression ${i} expected to be a non-nullable primitive string value`),o=Object.getOwnPropertyNames(t);dr(o.find(e=>e===s),`Property name '${s}' not defined in serialization config, accepted properties are ${o.join(",")}`);const a=yE(n,s),l=mr(a.genericType.value.rawType,V_,`Only primitive types suppported for config. Property ${s} for class '${xvt.SERIALIZE_CONFIG}' is of type '${a.genericType.value.rawType.path}'`),c=dr(mr(e.expression,RS,"Can't process serialize() expression: config key expression's value expected to be a primitive instance value").values[0],"Can't process serialize() expression: config key expression's value expected to be a non nullable primitive value");switch(l.path){case Xb.STRING:xr(c);break;case Xb.BOOLEAN:Tr(c);break;default:return}t[s]=c})(dr(n.values[0],`Can't process serialize() expression: serialization config key expression ${t} expected to non null`),o,i,t)}),t.setConfig(o)}}},cQi=(e,t,n)=>{const i=mr(e.parametersValues[0],VS,"Can't process project() expression: only support project() immediately following an expression");br(k_(i.functionName,[Avt.GET_ALL,Avt.GET_ALL_VERSIONS,Avt.GET_ALL_VERSIONS_IN_RANGE,Rvt.FILTER,Rvt.WATERMARK]),"Can't process project() expression: only support project() immediately following either getAll(), filter(), or forWatermark()"),yQi.process(i,n,t)},uQi=(e,t,n)=>{if(2===e.parametersValues.length)((e,t,n)=>{t.fetchStructureState.changeImplementation(QVi.TABULAR_DATA_STRUCTURE),br(2===e.parametersValues.length,"Can't process project() expression: project() expects 2 arguments"),cQi(e,t,n);const i=e.parametersValues[1];i instanceof IS?i.values.map(i=>yQi.processChild(i,e,n,t)):(gr(i,VS,"Can't process project() expression: project() expects argument #1 to be a function expression"),yQi.processChild(i,e,n,t))})(e,t,n);else{t.fetchStructureState.changeImplementation(QVi.TABULAR_DATA_STRUCTURE),br(3===e.parametersValues.length,"Can't process project() expression: project() expects 3 arguments"),cQi(e,t,n);const i=e.parametersValues[1];gr(i,IS,"Can't process project() expression: project() expects argument #1 to be a collection"),i.values.map(i=>yQi.processChild(i,e,n,t));const r=e.parametersValues[2];let s=[];if(r instanceof IS?(gr(r,IS,"Can't process project() expression: project() expects argument #2 to be a collection or a string"),s=r.values.map(ryt).filter(cr)):(gr(r,RS,"Can't process project() expression: project() expects argument #2 to be a collection or string"),s=[r.values[0]]),br(i.values.length===s.length,"Can't process project() expression: number of aliases does not match the number of columns"),t.fetchStructureState.implementation instanceof hHi){t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(s[t]))}}},dQi=(e,t,n)=>{if(n.fetchStructureState.implementation instanceof hHi){const i=n.fetchStructureState.implementation;let r=e;for(;r instanceof US;){const e=r;for(iyt(r,n.graphManagerState.graph,n),r=dr(r.parametersValues[0]),e.func.value instanceof pC&&br((Array.isArray(e.func.value.parameters)?e.func.value.parameters.length:0)===e.parametersValues.length-1,`Can't process property expression: derived property '${e.func.value.name}' expects number of provided arguments to match number of parameters`);r instanceof VS&&k_(r.functionName,Rvt.SUBTYPE);)r=dr(r.parametersValues[0])}gr(r,TS,"Can't process property expression: expects expression root to be a variable");const s=new kVi(i,e,!1);i.addColumn(s,{skipSorting:!0}),t&&s.setColumnName(t),s.setLambdaParameterName(r.name)}},hQi=(e,t,n,i)=>{if(i.fetchStructureState.implementation instanceof hHi){const r=i.fetchStructureState.implementation,s=new LVi(r,n,!1);r.addColumn(s,{skipSorting:!0}),t&&s.setColumnName(t);const o=e.parametersValues[0];o instanceof TS&&s.setLambdaParameterName(o.name)}},pQi=(e,t,n,i)=>{if(i.fetchStructureState.implementation instanceof hHi){const r=i.fetchStructureState.implementation,s=_i(()=>mr(CI(e.content),kx));ur(s,`Can't process unknown value: only support ${n.functionName}() column expression as a lambda`);const o=new PVi(r,new SS(s.parameters,s.body));r.addColumn(o,{skipSorting:!0}),t&&o.setColumnName(t)}},gQi=(e,t,n)=>{br(2===e.parametersValues.length,"Can't process take() expression: take() expects 1 argument");const i=mr(e.parametersValues[0],VS,"Can't process take() expression: only support take() immediately following an expression");if(br(k_(i.functionName,[Rvt.TDS_TAKE,Rvt.TDS_DISTINCT,Rvt.TDS_SORT,Rvt.TDS_PROJECT,Rvt.TDS_GROUP_BY,Rvt.TDS_FILTER,Rvt.OLAP_GROUPBY]),"Can't process take() expression: only support take() in TDS expression"),yQi.process(i,n,t),t.fetchStructureState.implementation instanceof hHi){const n=t.fetchStructureState.implementation,i=(e=>{if(e instanceof RS&&Cr(e.values[0]))return e.values[0]})(dr(e.parametersValues[1]));n.resultSetModifierState.setLimit(i)}},mQi=(e,t,n)=>{const i=e.parametersValues.length;br(4===i||5===i,"Can't process sort() expression: olapGroupBy() expects 3 or 4 argument");const r=5===i,s=e.parametersValues[1],o=r?e.parametersValues[2]:void 0,a=r?e.parametersValues[3]:e.parametersValues[2],l=r?e.parametersValues[4]:e.parametersValues[3],c=mr(e.parametersValues[0],VS,"Can't process olapGroupBy() expression: only support olapGroupBy() immediately following an expression");br(k_(c.functionName,[Rvt.TDS_TAKE,Rvt.TDS_DISTINCT,Rvt.TDS_SORT,Rvt.TDS_PROJECT,Rvt.TDS_GROUP_BY,Rvt.TDS_FILTER,Rvt.OLAP_GROUPBY]),"Can't process olapGroupBy() expression: only support olapGroupBy() in TDS expression"),yQi.process(c,n,t);const u=mr(t.fetchStructureState.implementation,hHi);gr(s,IS,"Can't process olapGroupBy() expression: olapGroupBy() expects argument #1 to be a collection");const d=s.values.map(e=>{const t=Ar(mr(e,RS,"Can`t process OLAP window column expression: Column should be a primitive instance value").values[0],"Can`t process OLAP window column expression: Column should be a string primitive instance value");return tUi(u,t)});let h,p;if(r){const e=mr(o,VS,"Can't process olapGroupBy sortBy expression: only support function expression of 'asc' or 'desc'"),t=(e=>{if(k_(e,Rvt.TDS_ASC))return Ivt.ASC;if(k_(e,Rvt.TDS_DESC))return Ivt.DESC;throw new yi(`Unsupported TDS sort function: ${e}`)})(e.functionName),n=Ar(mr(e.parametersValues[0],RS,"Can`t process OLAP sort column : OLAP sort column should be a primitive instance value").values[0],"Can`t process OLAP sort column: OLAP sort column should be a string primitive instance value"),i=tUi(u,n);h=new DGi(i,t)}if(a instanceof VS){br(k_(a.functionName,[Rvt.TDS_FUNC]),"Can't process olapGroupBy() operation expression: olapGroupBy() aggregation should contain function 'func'");const e=a.parametersValues,t=Ar(mr(e[0],RS,"Can`t process OLAP opperation expression: Function `func` first parameter should be a primitive instance value").values[0],"Can`t process OLAP opperation expression: Function `func` first parameter should be a string primitive instance value"),n=tUi(u,t),i=mr(mr(e[1],zS).values[0],HS);br(1===i.expressionSequence.length);const r=mr(i.expressionSequence[0],VS),s=dr(u.windowState.findOperator(r.functionName),`olapGroupBy() operator '${r.functionName}' not supported`);p=new LGi(u.windowState,s,n),p.setLambdaParameterNames([mr(i.functionType.parameters[0],TS,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name])}else{const e=mr(mr(a,zS).values[0],HS);br(1===e.expressionSequence.length);const t=mr(e.expressionSequence[0],VS),n=dr(u.windowState.findOperator(t.functionName),`olapGroupBy() operator '${t.functionName}' not supported`);br(!n.isColumnAggregator(),`Operator '${n.getLabel()}' expects a TDS column to aggregate against`),p=new kGi(u.windowState,n),p.setLambdaParameterNames([mr(e.functionType.parameters[0],TS,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name])}const g=Ar(mr(l,RS,"Can`t process OLAP column: OLAP column should be a primitive instance value").values[0],"Can`t process OLAP column: OLAP column should be a string primitive instance value"),m=new MGi(u.windowState,d,h,p,g);u.windowState.addWindowColumn(m),u.setShowWindowFuncPanel(!0)},fQi=(e,t,n)=>{if(3!==e.parametersValues.length)throw new yi("Can't build relation extend() expression: extend() is not fully supported yet");{const i=mr(e.parametersValues[0],VS,"Can't process extend() expression: only support extend() immediately following an expression");yQi.process(i,n,t);const r=mr(e.parametersValues[1],VS,"Can't process extend() expression: expects a window expression as the second parameter"),s=mr(t.fetchStructureState.implementation,hHi),o=mr(r.parametersValues[0],PS,"Can't process over(): expects ColSpecArray for window columns"),a=dr(o.values[0]).colSpecs.map(e=>tUi(s,e.name));let l;if(r.parametersValues[1]instanceof IS){const e=mr(r.parametersValues[1].values[0],VS,"Can't process extend sortBy expression: only support function expression of 'ascending' or 'descending'"),t=(e=>{if(k_(e,Rvt.RELATION_ASC))return Ivt.ASC;if(k_(e,Rvt.RELATION_DESC))return Ivt.DESC;throw new yi(`Unsupported relation sort function: ${e}`)})(e.functionName),n=Ar(mr(e.parametersValues[0],LS,"Can`t process extend sort column : extend sort column should be a colspec instance value").values[0]?.name,"Can`t process extend sort column: extend sort column should be a string colspec instance value"),i=tUi(s,n);l=new DGi(i,t)}const c=mr(e.parametersValues[2],PS,"Can't process extend(): expects ColSpecArrayInstance for aggregation columns");dr(c.values[0]).colSpecs.forEach(e=>{const t=((e,t)=>{if(e.function2){const n=mr(mr(e.function1,zS).values[0],HS),i=mr(n.expressionSequence[0],BS,"Can't process typed window aggregation: expects function1 to be a Function Expression"),r=tUi(t,i.functionName),s=mr(mr(e.function2,zS).values[0],HS),o=mr(s.expressionSequence[0],VS),a=dr(t.windowState.findOperator(o.functionName,!0),`Operator '${o.functionName}' not supported yet for typed TDS`),l=new LGi(t.windowState,a,r),c=[];n.functionType.parameters.forEach(e=>{mr(e,TS),c.push(e.name)});const u=mr(s.functionType.parameters[0],TS).name;return c.push(u),l.setLambdaParameterNames(c),l}if(e.function1){const n=mr(mr(e.function1,zS).values[0],HS);br(1===n.expressionSequence.length);const i=mr(n.expressionSequence[0],VS),r=dr(t.windowState.findOperator(i.functionName,!0),`Operator '${i.functionName}' not supported yet for typed TDS`),s=new kGi(t.windowState,r),o=[];return n.functionType.parameters.forEach(e=>{mr(e,TS),o.push(e.name)}),s.setLambdaParameterNames(o),s}throw new yi("Only support aggregation and rank operators in extend() expression")})(e,s),n=new MGi(s.windowState,a,l,t,e.name);s.windowState.addWindowColumn(n),s.setShowWindowFuncPanel(!0)})}},vQi=e=>!(e instanceof VS)||!k_(e.functionName,Rvt.FIRST_DAY_OF_YEAR)&&!k_(e.functionName,Rvt.FIRST_DAY_OF_MONTH)&&!e.parametersValues.map(e=>vQi(e)).includes(!1);class yQi{queryBuilderState;parentExpression;parentLambda;constructor(e,t,n){this.queryBuilderState=e,this.parentExpression=n,this.parentLambda=t}static process(e,t,n){e.accept_ValueSpecificationVisitor(new yQi(n,t,void 0))}static processChild(e,t,n,i){e.accept_ValueSpecificationVisitor(new yQi(i,n,t))}visit_INTERNAL__UnknownValueSpecification(e){if(ur(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),!k_(this.parentExpression.functionName,[Rvt.TDS_PROJECT,Rvt.TDS_GROUP_BY,Rvt.TDS_AGG,...Object.values(Tvt)]))throw new yi(`Can't process unknown value with parent expression of function ${this.parentExpression.functionName}()`);pQi(e,void 0,this.parentExpression,this.queryBuilderState)}visit_INTERNAL__PropagatedValue(e){throw new yi}visit_FunctionExpression(e){throw new yi}visit_AccessorInstanceValue(e){const t=dr(e.values[0],"Accessor instance value must have a value");this.queryBuilderState.setSourceElement(t)}visit_SimpleFunctionExpression(e){const t=e.functionName;if(k_(t,Avt.GET_ALL))((e,t)=>{const n=e.genericType?.value.rawType;gr(n,Z_,"Can't process getAll() expression: getAll() return type is missing"),t.setSourceElement(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=cE(n,t.graphManagerState.graph);i?t.milestoningState.getMilestoningImplementation(i).processGetAllParamaters(e.parametersValues):br(1===e.parametersValues.length,"Can't process getAll() expression: getAll() expects no arguments")})(e,this.queryBuilderState);else if(k_(t,Avt.GET_ALL_VERSIONS))((e,t)=>{const n=e.genericType?.value.rawType;gr(n,Z_,"Can't process getAllVersions() expression: getAllVersions() return type is missing"),t.setSourceElement(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData(),ur(cE(n,t.graphManagerState.graph),"Can't process getAllVersions() expression: getAllVersions() expects source class to be milestoned"),br(1===e.parametersValues.length,"Can't process getAllVersions() expression: getAllVersions() expects no arguments"),t.setGetAllFunction(Avt.GET_ALL_VERSIONS)})(e,this.queryBuilderState);else if(k_(t,Avt.GET_ALL_VERSIONS_IN_RANGE))((e,t)=>{const n=e.genericType?.value.rawType;gr(n,Z_,"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() return type is missing"),t.setSourceElement(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=cE(n,t.graphManagerState.graph);br(void 0!==i&&i!==n_.BITEMPORAL,"Can't process getAllVersionsInRange() expression: getAllVersionInRange() expects source class to be processing temporal or business temporal milestoned"),br(3===e.parametersValues.length,"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects start and end date"),t.setGetAllFunction(Avt.GET_ALL_VERSIONS_IN_RANGE),t.milestoningState.setStartDate(dr(e.parametersValues[1],"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects start date to be defined")),t.milestoningState.setEndDate(dr(e.parametersValues[2],"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects end date to be defined"))})(e,this.queryBuilderState);else if(k_(t,Rvt.INTERNALIZE))((e,t)=>{t.fetchStructureState.changeImplementation(QVi.GRAPH_FETCH);const n=e.functionName;br(3===e.parametersValues.length,`Can't process ${n}() expression: ${n}() expects 2 argument`);const i=e.parametersValues[0],r=i?.genericType?.value.rawType;gr(r,Z_,"Can't process internalize() expression: internalize() return type is missing"),t.setSourceElement(r),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const s=mr(e.parametersValues[1],AS,"Can't process internalize() expression: only support internalize() with 1st parameter as instance value"),o=mr(mr(s.values[0],__,"Can't process internalize() expression: only support internalize() with 1st parameter as packagableElement value").value,LX,"Can't process internalize() expression: only support internalize() with 1st parameter as binding value"),a=mr(e.parametersValues[2],TS),l=new aQi(o,a,t);t.setInternalize(l)})(e,this.queryBuilderState,this.parentLambda);else{if(k_(t,[Rvt.FILTER,Rvt.TDS_FILTER])){br(2===e.parametersValues.length,"Can't process filter() expression: filter() expects 1 argument");const n=e.parametersValues[0];if(n instanceof Oq)return yQi.process(n,this.parentLambda,this.queryBuilderState),void Hzi(e,this.queryBuilderState);const i=mr(n,VS,"Can't process filter() expression: only support filter() immediately following an expression");if(yQi.process(i,this.parentLambda,this.queryBuilderState),k_(i.functionName,[Avt.GET_ALL,Avt.GET_ALL_VERSIONS,Avt.GET_ALL_VERSIONS_IN_RANGE]))return br(k_(t,Rvt.FILTER),`Can't process filter() expression: only supports ${Rvt.FILTER}() immediately following getAll() (got '${t}')`),void Hzi(e,this.queryBuilderState);if(k_(i.functionName,[Rvt.TDS_PROJECT,Rvt.TDS_GROUP_BY,Rvt.OLAP_GROUPBY]))return br(k_(t,Rvt.TDS_FILTER),`Can't process post-filter expression: only supports ${Rvt.TDS_FILTER}() immediately following project()/groupBy() (got '${t}')`),void((e,t)=>{if(t.fetchStructureState.implementation instanceof hHi){const n=t.fetchStructureState.implementation,i=n.postFilterState,r=n.fetchStructureState,s=e.parametersValues[1];gr(s,zS,"Can't process post-filter expression: expects argument #1 to be a lambda function"),gr(r.implementation,hHi,"Can't process post-filter lambda: post-filter lambda must use projection fetch structure"),br(Boolean(n.projectionColumns.length),"Can't process post-filter lambda: post-filter lambda must have at least one projection column ");const o=dr(s.values[0],"Can't process post-filter lambda: post-filter lambda function is missing");br(1===o.expressionSequence.length,"Can't process post-filter lambda: only support post-filter lambda body with 1 expression");const a=mr(o.expressionSequence[0],BS,"Can't process post-filter lambda: only support post-filter lambda body of type 'FunctionExpression'");br(1===o.functionType.parameters.length,"Can't process post-filter lambda: only support post-filter lambda with 1 parameter"),i.setLambdaParameterName(mr(o.functionType.parameters[0],TS,"Can't process post-filter lambda: only support filter() lambda with 1 parameter of type 'VariableExpression'").name),lUi(a,i,void 0),n.setShowPostFilterPanel(!0),i.simplifyTree()}})(e,this.queryBuilderState);if(k_(i.functionName,[Rvt.WATERMARK]))return void Hzi(e,this.queryBuilderState);throw new yi("Can't process filter() expression: only support filter() immediately following getAll() or project()/forWatermark()/groupBy()/olapGroupBy()")}if(k_(t,Rvt.WATERMARK))((e,t,n)=>{const i=mr(e.parametersValues[0],VS,"Can't process forWatermark() expression: only support forWatermark() immediately following an expression");br(k_(i.functionName,[Avt.GET_ALL,Avt.GET_ALL_VERSIONS,Avt.GET_ALL_VERSIONS_IN_RANGE]),"Can't process forWatermark() expression: only support forWatermark() immediately following getAll()"),yQi.process(i,n,t);const r=e.parametersValues[1];t.watermarkState.setValue(r)})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,[Rvt.TDS_PROJECT,Rvt.RELATION_PROJECT]))(n=e).functionName===Rvt.RELATION_PROJECT||k_(n.functionName,[Rvt.TDS_PROJECT,Rvt.RELATION_PROJECT])&&2===n.parametersValues.length&&n.parametersValues[1]instanceof PS?((e,t,n)=>{br(2===e.parametersValues.length,"Can't process typed project() expression: typed project() expects 2 arguments"),t.fetchStructureState.changeImplementation(QVi.TABULAR_DATA_STRUCTURE);const i=dr(e.parametersValues[0],"Can't process typed project() expression: missing preceding expression");if(i instanceof VS)br(k_(i.functionName,[Avt.GET_ALL,Avt.GET_ALL_VERSIONS,Avt.GET_ALL_VERSIONS_IN_RANGE,Rvt.FILTER,Rvt.WATERMARK]),"Can't process typed project() expression: only support typed project() immediately following either getAll(), filter(), or forWatermark()");else if(!(i instanceof Oq))throw new Error("Can't process typed project() expression: the first argument is expected to be either a function expression or a Accessor Instance Value");yQi.process(i,n,t);const r=e.parametersValues[1];gr(r,PS,"Can't process typed project() expression: typed project() expects argument #1 to be a ColSpec Array Instance"),t.setLambdaWriteMode(rQi.TYPED_FETCH_STRUCTURE),yQi.processChild(r,e,n,t)})(e,this.queryBuilderState,this.parentLambda):uQi(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Rvt.RELATION_SELECT))((e,t,n)=>{t.fetchStructureState.changeImplementation(QVi.TABULAR_DATA_STRUCTURE),br(2===e.parametersValues.length,"Can't process select() expression: select() expects 2 arguments");const i=dr(e.parametersValues[0],"Can't process select() expression: missing preceding expression");if(!(i instanceof VS||i instanceof Oq))throw new Error("Can't process select() expression: the first argument is expected to be either a function expression or an Accessor Instance Value");yQi.process(i,n,t);const r=mr(e.parametersValues[1],PS,"Can't process select() expression: select() expects argument #1 to be a ColSpec array").values;br(1===r.length,"Can't process select() expression: expected exactly one ColSpec array");const s=dr(r[0]).colSpecs;if(!(t.fetchStructureState.implementation instanceof hHi))return;const o=t.fetchStructureState.implementation,a=t.sourceRelationType?.columns;ur(a,"Can't process select() expression: source relation type is not available"),s.forEach(n=>{br(void 0===n.function1&&void 0===n.function2,`Can't process select() expression: ColSpec '${n.name}' is expected to be a bare column reference`);const i=dr(a.find(e=>e.name===n.name),`Can't process select() expression: column '${n.name}' is not found in source relation`);hQi(e,n.name,i,t)}),o.setProjectionMode(dHi.SELECT)})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Rvt.TDS_COL))((e,t)=>{br(2===e.parametersValues.length,"Can't process col() func expression: col() expects 2 argument");const n=mr(e.parametersValues[0],zS,"Can't process col() func expressionn: only support col() immediately following an lambda function"),i=mr(e.parametersValues[1],RS,"Can't process col() func expression: the #2 argument of col() should be a string");dQi(mr(n.values[0]?.expressionSequence[0],US,"Can't process col() func expression: lambda function of col() should contain AbstractPropertyExpression"),i.values[0],t),t.fetchStructureState.implementation instanceof hHi&&t.fetchStructureState.implementation.setProjectionMode(dHi.PROJECT_COL)})(e,this.queryBuilderState);else if(k_(t,[Rvt.TDS_TAKE,Rvt.RELATION_LIMIT]))gQi(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Rvt.TDS_DISTINCT))((e,t,n)=>{br(1===e.parametersValues.length,"Can't process disctinct() expression: distinct() expects no parameter");const i=mr(e.parametersValues[0],VS,"Can't process distinct() expression: only support distinct() immediately following an expression");br(k_(i.functionName,[Rvt.TDS_TAKE,Rvt.TDS_DISTINCT,Rvt.TDS_SORT,Rvt.TDS_PROJECT,Rvt.TDS_GROUP_BY,Rvt.TDS_FILTER,Rvt.OLAP_GROUPBY]),"Can't process distinct() expression: only support distinct() in TDS expression"),yQi.process(i,n,t),t.fetchStructureState.implementation instanceof hHi&&(t.fetchStructureState.implementation.resultSetModifierState.distinct=!0)})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Rvt.TDS_SORT))((e,t,n)=>{br(2===e.parametersValues.length,"Can't process sort() expression: sort() expects 1 argument");const i=mr(e.parametersValues[0],VS,"Can't process sort() expression: only support sort() immediately following an expression");br(k_(i.functionName,[Rvt.TDS_TAKE,Rvt.TDS_DISTINCT,Rvt.TDS_SORT,Rvt.TDS_PROJECT,Rvt.TDS_GROUP_BY,Rvt.TDS_FILTER,Rvt.OLAP_GROUPBY]),"Can't process sort() expression: only support sort() in TDS expression"),yQi.process(i,n,t);const r=e.parametersValues[1];gr(r,IS,"Can't process sort() expression: sort() argument should be a collection"),r.values.map(i=>yQi.processChild(i,e,n,t))})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Rvt.SLICE))((e,t,n)=>{br(3===e.parametersValues.length,"Can't process slice() expression: slice() expects 2 argument");const i=mr(e.parametersValues[0],VS,"Can't process slice() expression: only support slice() immediately following an expression");if(br(k_(i.functionName,[Rvt.TDS_TAKE,Rvt.TDS_DISTINCT,Rvt.TDS_SORT,Rvt.TDS_PROJECT,Rvt.TDS_GROUP_BY,Rvt.TDS_FILTER,Rvt.OLAP_GROUPBY]),"Can't process slice() expression: only support slice() in TDS expression"),yQi.process(i,n,t),t.fetchStructureState.implementation instanceof hHi){const n=t.fetchStructureState.implementation,i=Rr(mr(e.parametersValues[1],RS,"Can`t process slice() function: first param should be a primitive instance value").values[0],"Can`t process slice() function: first param should be a number primitive instance value"),r=Rr(mr(e.parametersValues[2],RS,"Can`t process slice() function: first param should be a primitive instance value").values[0],"Can`t process slice() function: first param should be a number primitive instance value");n.resultSetModifierState.setSlice([i,r])}})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,[Rvt.TDS_ASC,Rvt.TDS_DESC]))((e,t,n)=>{const i=e.functionName;if(br(Boolean(t&&k_(t.functionName,Rvt.TDS_SORT)),`Can't process ${i}() expression: only support ${i}() used within a sort() expression`),br(1===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects one argument`),n.fetchStructureState.implementation instanceof hHi){const t=n.fetchStructureState.implementation,r=ryt(dr(e.parametersValues[0])),s=t.tdsColumns.find(e=>e.columnName===r);if(s){const e=new XVi(s);e.sortType=k_(i,Rvt.TDS_ASC)?Ivt.ASC:Ivt.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(k_(t,[Rvt.RELATION_ASC,Rvt.RELATION_DESC]))((e,t,n)=>{const i=e.functionName;if(br(Boolean(t&&k_(t.functionName,Rvt.TDS_SORT)),`Can't process ${i}() expression: only support ${i}() used within a sort() expression`),br(1===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects one argument`),n.fetchStructureState.implementation instanceof hHi){const t=n.fetchStructureState.implementation,r=mr(e.parametersValues[0],LS);br(1===r.values.length,`Can't process ${i}() expression: Col Spec Instance Value expects one value`);const s=dr(r.values[0],"Col Spec value expected in Col Spec Instance Value").name,o=t.tdsColumns.find(e=>e.columnName===s);if(o){const e=new XVi(o);e.sortType=k_(i,Rvt.RELATION_ASC)?Ivt.ASC:Ivt.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(k_(t,[Rvt.TDS_GROUP_BY,Rvt.RELATION_GROUP_BY]))(e=>e.functionName===Rvt.RELATION_GROUP_BY||k_(e.functionName,[Rvt.TDS_GROUP_BY,Rvt.RELATION_GROUP_BY])&&3===e.parametersValues.length&&e.parametersValues[1]instanceof PS)(e)?((e,t,n)=>{br(3===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 2 arguments");const i=mr(e.parametersValues[0],VS,"Can't process groupBy() expression: only support groupBy() immediately following an expression");br(k_(i.functionName,[Rvt.RELATION_PROJECT]),"Can't process groupBy() expression: only support groupBy() immediately following relation project()"),yQi.process(i,n,t);const r=mr(t.fetchStructureState.implementation,hHi),s=mr(e.parametersValues[1],PS,"Can't process groupBy() expression: groupBy() expects argument #1 to be a ColSpecArrayInstance");br(1===s.values.length,"Can't process groupBy() expression: groupBy() expects argument #1 to be a ColSpecArrayInstance with 1 element"),t.setLambdaWriteMode(rQi.TYPED_FETCH_STRUCTURE),s.values[0]?.colSpecs.forEach(e=>{br(1===r.projectionColumns.filter(t=>t.columnName===e.name).length,`Can't process groupBy() expression: column '${e.name}' not found in project() expression`)});const o=e.parametersValues[2];gr(o,PS,"Can't process groupBy() expression: groupBy() expects argument #2 to be a ColSpecArrayInstance"),yQi.processChild(o,e,n,t)})(e,this.queryBuilderState,this.parentLambda):((e,t,n)=>{t.fetchStructureState.changeImplementation(QVi.TABULAR_DATA_STRUCTURE),br(4===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 3 arguments");const i=mr(e.parametersValues[0],VS,"Can't process groupBy() expression: only support groupBy() immediately following an expression");br(k_(i.functionName,[Avt.GET_ALL,Avt.GET_ALL_VERSIONS,Avt.GET_ALL_VERSIONS_IN_RANGE,Rvt.FILTER]),"Can't process groupBy() expression: only support groupBy() immediately following either getAll() or filter()"),yQi.process(i,n,t);const r=e.parametersValues[1];gr(r,IS,"Can't process groupBy() expression: groupBy() expects argument #1 to be a collection"),r.values.map(i=>yQi.processChild(i,e,n,t));const s=e.parametersValues[2];gr(s,IS,"Can't process groupBy() expression: groupBy() expects argument #2 to be a collection"),s.values.map(i=>yQi.processChild(i,e,n,t));const o=e.parametersValues[3];gr(o,IS,"Can't process groupBy() expression: groupBy() expects argument #3 to be a collection"),br(o.values.length===r.values.length+s.values.length,"Can't process groupBy() expression: number of aliases does not match the number of columns");const a=o.values.map(ryt).filter(cr);t.fetchStructureState.implementation instanceof hHi&&t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(a[t]))})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Rvt.TDS_AGG))((e,t,n,i)=>{if(br(Boolean(t&&k_(t.functionName,Rvt.TDS_GROUP_BY)),"Can't process agg() expression: only support agg() used within a groupBy() expression"),br(2===e.parametersValues.length,"Can't process agg() expression: agg() expects 2 arguments"),yQi.processChild(dr(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof hHi){const t=n.fetchStructureState.implementation,i=t.aggregationState,r=dr(t.projectionColumns[t.projectionColumns.length-1]),s=e.parametersValues[1];gr(s,zS,"Can't process agg() expression: agg() expects argument #1 to be a lambda function");const o=dr(s.values[0],"Can't process agg() lambda: agg() lambda function is missing");br(1===o.expressionSequence.length,"Can't process agg() lambda: only support agg() lambda body with 1 expression");const a=mr(o.expressionSequence[0],VS,"Can't process agg() lambda: only support agg() lambda body with 1 expression");let l;if(n.isCalendarEnabled){const t=e.parametersValues[0];gr(t,zS,"Can't process agg() expression: agg() expects argument #0 to be a lambda function");const n=dr(t.values[0],"Can't process agg() lambda: agg() lambda function is missing");br(1===n.expressionSequence.length,"Can't process agg() lambda: only support agg() lambda body with 1 expression"),l=n.expressionSequence[0]instanceof VS?n.expressionSequence[0]:void 0}br(1===o.functionType.parameters.length,"Can't process agg() lambda: only support agg() lambda with 1 parameter");const c=mr(o.functionType.parameters[0],TS,"Can't process agg() lambda: only support agg() lambda with 1 parameter");for(const e of i.operators){const t=_i(()=>e.buildAggregateColumnState(a,c,r));if(r.wavgWeight&&t&&t.operator instanceof NGi&&t.operator.setWeight(r.wavgWeight),t){if(i.addColumn(t),n.isCalendarEnabled&&void 0!==l)for(const e of i.calendarFunctions)_i(()=>e.updateAggregateColumnState(dr(l),t));return void(t.calendarFunction||t.setHideCalendarColumnState(!0))}}throw new yi("Can't process aggregate expression function: no compatible aggregate operator processer available from plugins")}})(e,this.parentExpression,this.queryBuilderState,this.parentLambda);else if(k_(t,Rvt.OLAP_GROUPBY))mQi(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Rvt.SERIALIZE))lQi(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Rvt.EXTERNALIZE))((e,t,n)=>{t.fetchStructureState.changeImplementation(QVi.GRAPH_FETCH),br(3===e.parametersValues.length,"Can't process externalize() expression: externalize() expects 2 argument");const i=mr(e.parametersValues[0],VS,"Can't process externalize() expression: only support externalize() immediately following an expression");if(br(k_(i.functionName,[Rvt.GRAPH_FETCH,Rvt.GRAPH_FETCH_CHECKED,Rvt.INTERNALIZE]),"Can't process externalize() expression: only support externalize() in graph-fetch expression"),yQi.process(i,n,t),t.fetchStructureState.implementation instanceof aji){const n=t.fetchStructureState.implementation,r=mr(i.parametersValues[1],KS,"Can't process graphfetch() expression: externalize() graph-fetch is missing"),s=mr(r.values[0],$S,"Can't process graphfetch() expression: graph-fetch tree root is missing");n.setGraphFetchTree(qzi(s));const o=mr(e.parametersValues[1],AS,"Can't process externalize() expression: only support externalize() with 1st parameter as instance value"),a=mr(mr(o.values[0],__,"Can't process externalize() expression: only support externalize() with 1st parameter as packagableElement value").value,LX,"Can't process externalize() expression: only support externalize() with 1st parameter as binding value"),l=new oji(n,a,void 0);n.setSerializationState(l);const c=mr(e.parametersValues[2],KS,"Can't process externalize() expression: externalize() graph-fetch is missing"),u=mr(c.values[0],$S,"Can't process externalize() expression: externalize() graph-fetch tree root is missing");l.setGraphFetchTree(qzi(u))}})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,[Rvt.GRAPH_FETCH_CHECKED,Rvt.GRAPH_FETCH]))((e,t,n)=>{const i=e.functionName;br(2===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects 1 argument`);const r=mr(e.parametersValues[0],VS,`Can't process ${i}() expression: only support ${i}() immediately following an expression`);br(k_(r.functionName,[Rvt.FILTER,Avt.GET_ALL,Avt.GET_ALL_VERSIONS,Avt.GET_ALL_VERSIONS_IN_RANGE]),`Can't process ${i}(): only support ${i}() immediately following either getAll() or filter()`),yQi.process(r,n,t),t.fetchStructureState.implementation instanceof aji&&t.fetchStructureState.implementation.setChecked(k_(e.functionName,Rvt.GRAPH_FETCH_CHECKED))})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,[exports.SUPPORTED_FUNCTIONS.LET]))((e,t,n)=>{const i=e.parametersValues;br(2===e.parametersValues.length,"Let function expected to have two parameters (left and right side value)");const r=Ar(mr(i[0],RS,"Can`t process let function: left side should be a primitive instance value").values[0],"Can`t process let function: left side should be a string primitive instance value"),s=dr(n.openVariables.get(r),`Unable to find variable ${r} in lambda function`),o=dr(i[1]);let a;a=o instanceof xS?new jZi(t,s,o.content):vQi(o)?new HZi(t,s,o):new jZi(t,s,t.graphManagerState.graphManager.serializeValueSpecification(o)),t.constantState.setShowConstantPanel(!0),t.constantState.addConstant(a)})(e,this.queryBuilderState,this.parentLambda);else{if(k_(t,[exports.SUPPORTED_FUNCTIONS.FROM])){const t=e.parametersValues;return br(3===t.length||2===t.length,"From function expects an optional mapping with required runtime"),((e,t)=>{const n=void 0!==e.parametersValues[2]?e.parametersValues[1]:void 0,i=n?e.parametersValues[2]:e.parametersValues[1];let r;if(n){const e=mr(n,AS,"Can't process from() expression: only support from() with 1st parameter as instance value");r=mr(mr(e.values[0],__,"Can't process from() expression: only support from() with 1st parameter as packagableElement value").value,tw,"Can't process from() expression: only support from() with 1st parameter as mapping value")}const s=mr(i,AS,"Can't process from() expression: only support from() with 2nd parameter as instance value"),o=mr(mr(s.values[0],__,"Can't process from() expression: only support from() with 2nd parameter as packagableElement value").value,rw,"Can't process from() expression: only support from() with 2nd parameter as runtime value"),a=new WUi(t);a.setMapping(r),a.setRuntimeValue(new n$(C_.create(o))),t.setExecutionContextState(a)})(e,this.queryBuilderState),void yQi.processChild(dr(t[0]),e,this.parentLambda,this.queryBuilderState)}if(k_(t,Object.values(Tvt)))return this.queryBuilderState.isCalendarEnabled=!0,br(4===e.parametersValues.length,"Calendar function expected to have four parameters"),void yQi.processChild(dr(e.parametersValues[3]),e,this.parentLambda,this.queryBuilderState);if(k_(t,Rvt.WAVG_ROW_MAPPER))((e,t,n,i)=>{if(br(Boolean(t&&k_(t.functionName,Rvt.TDS_AGG)),"Can't process wavgRowMapper() expression: only support wavgRowMapper() used within an agg() expression"),br(2===e.parametersValues.length,"Can't process wavgRowMapper() expression: wavgRowMapper() expects 2 arguments"),e.parametersValues.map(e=>gr(e,US,"Can't process wavgRowMapper() expression: wavgRowMapper() expects arguments to be Property Expressions")),yQi.processChild(dr(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof hHi){const t=n.fetchStructureState.implementation;dr(t.projectionColumns[t.projectionColumns.length-1]).setWavgWeight(e.parametersValues[1])}})(e,this.parentExpression,this.queryBuilderState,this.parentLambda);else{var n;if(!k_(t,Rvt.RELATION_EXTEND))throw new yi(`Can't process expression of function ${t}()`);fQi(e,this.queryBuilderState,this.parentLambda)}}}}visit_VariableExpression(e){throw new yi}visit_AbstractPropertyExpression(e){if(ur(this.parentExpression,"Can't process property expression: parent expression cannot be retrieved"),!k_(this.parentExpression.functionName,[Rvt.TDS_PROJECT,Rvt.RELATION_PROJECT,Rvt.TDS_GROUP_BY,Rvt.TDS_AGG,Rvt.WAVG_ROW_MAPPER,...Object.values(Tvt)]))throw new yi(`Can't process property expression with parent expression of function ${this.parentExpression.functionName}()`);dQi(e,void 0,this.queryBuilderState)}visit_InstanceValue(e){throw new yi}visit_KeyExpressionInstanceValue(e){throw new yi}visit_CollectionInstanceValue(e){throw new yi}visit_EnumValueInstanceValue(e){throw new yi}visit_PrimitiveInstanceValue(e){throw new yi}visit_LambdaFunctionInstanceValue(e){e.values.forEach(e=>e.expressionSequence.forEach(e=>e.accept_ValueSpecificationVisitor(new yQi(this.queryBuilderState,this.parentLambda,this.parentExpression))))}visit_GraphFetchTreeInstanceValue(e){throw new yi}visit_ColSpecArrayInstance(e){if(ur(this.parentExpression,"Can't process col spec aray instance: parent expression cannot be retrieved"),k_(this.parentExpression.functionName,[Rvt.RELATION_PROJECT])){const t=e.values;return br(1===t.length,"Can't process col spec array instance: value expected to be of size 1"),void dr(t[0]).colSpecs.forEach(e=>{const t=e.function1;if(t instanceof zS){br(1===t.values.length);const n=dr(t.values[0]);br(1===n.expressionSequence.length);const i=dr(n.expressionSequence[0]);if(i instanceof US)dQi(i,e.name,this.queryBuilderState);else if(i instanceof BS){const t=i.func,n=mr(t,Y_,"Can`t process col spec: function1 lambda function does not contain a relation column");hQi(i,e.name,n,this.queryBuilderState)}else i instanceof xS&&(ur(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),pQi(i,e.name,this.parentExpression,this.queryBuilderState))}else{if(!(t instanceof xS))throw new yi("Can't process col spec: only support col spec with function lambda value");ur(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),pQi(t,e.name,this.parentExpression,this.queryBuilderState)}})}if(k_(this.parentExpression.functionName,[Rvt.RELATION_GROUP_BY])){const t=e.values;return br(1===t.length,"Can't process col spec array instance: value expected to be of size 1"),void dr(t[0]).colSpecs.forEach(e=>{((e,t,n)=>{br(Boolean(t&&k_(t.functionName,Rvt.RELATION_GROUP_BY)),"Can't process typed aggregation ColSpec: only supported when used within a groupBy() expression");const i=mr(e.function1,zS,"Can't process colSpec: function1 is not a lambda function instance value");br(1===i.values.length,"Can't process typed aggregation ColSpec. function1 should only have 1 lambda value."),br(1===dr(i.values[0]).expressionSequence.length,"Can't process typed aggregation ColSpec. function1 lambda should only have 1 expression.");const r=mr(e.function2,zS,"Can't process colSpec: function2 is not a lambda function instance value");if(n.fetchStructureState.implementation instanceof hHi){const i=n.fetchStructureState.implementation,s=i.aggregationState,o=dr(i.projectionColumns.find(t=>t.columnName===e.name),`Projection column with name ${e.name} not found`),a=dr(r.values[0],"Can't process colSpec: function2 lambda function is missing");br(1===a.expressionSequence.length,"Can't process colSpec: only support colSpec function2 lambda body with 1 expression"),br(1===a.functionType.parameters.length,"Can't process colSpec function2 lambda: only support lambda with 1 parameter");const l=mr(a.expressionSequence[0],VS,"Can't process colSpec: only support colSpec function2 lambda body with 1 expression"),c=mr(a.functionType.parameters[0],TS,"Can't process colSpec function2 lambda: parameter is missing");for(const n of s.operators){const i=_i(()=>n.buildAggregateColumnState(l,c,o));if(o.wavgWeight&&i&&i.operator instanceof NGi&&i.operator.setWeight(o.wavgWeight),i){s.addColumn(i);const n=mr(t?.genericType?.value.typeArguments?.[0]?.value.rawType,K_,"Can't process colSpec: parent groupBy() expression's return type is not a relation"),r=dr(n.columns.find(t=>t.name===e.name),`Can't process colSpec: Can't find column '${e.name}' in parent groupBy() expression's relation return type`),o=i.getColumnType();return void(r.genericType=o?j_.create(new X_(o)):r.genericType)}}}throw new yi("Can't process aggregate expression function: no compatible aggregate operator processer available from plugins")})(e,this.parentExpression,this.queryBuilderState)})}throw new yi(`Can't process col spec array expression with parent expression of function ${this.parentExpression.functionName}()`)}visit_ColSpecInstance(e){throw new Error("Method not implemented.")}}const bQi=(e,t,n)=>{const i=t.parametersState;e.forEach(e=>{let r;n?.parameterValues&&Array.from(n.parameterValues.entries()).forEach(([t,n])=>{const i=n.variable;if(i instanceof TS&&kvt(i,e))r=n.value;else if(_r(i)&&i===e.name){const t=n.value?.genericType?.value.rawType,i=e.genericType?.value.rawType;t&&i&&SE(i,t)&&(r=n.value)}});const s=new GUi(e,t.observerContext,t.graphManagerState.graph);r?s.setValue(r):s.mockParameterValue(),i.addParameter(s)}),t.parametersState=i},_Qi=(e,t,n)=>{e.functionType.parameters.length&&bQi(e.functionType.parameters,t,n),e.expressionSequence.map(n=>yQi.process(n,e,t))},CQi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),vse.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:vse.jsx("input",{ref:o,className:"panel__content__form__section__input value-spec-editor__date-picker__absolute-date__input input--dark",type:"date",spellCheck:!1,value:a??"",onChange:e=>{r(t,e.target.value,{primitiveTypeEnum:Xb.STRICTDATE}),s(new iVi(e.target.value,ZBi.ABSOLUTE_DATE))}})})},SQi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),vse.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:vse.jsx("input",{ref:o,className:"panel__content__form__section__input value-spec-editor__date-picker__absolute-date__input input--dark",type:"datetime-local",step:"1",spellCheck:!1,value:a??"",onChange:e=>{const n=new Date(e.target.value).getUTCSeconds()?e.target.value:`${e.target.value}:00`;r(t,n,{primitiveTypeEnum:Xb.DATETIME}),s(new iVi(e.target.value,ZBi.ABSOLUTE_TIME))}})})},wQi=e=>{const{customDateOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Cmt(),o=n.useRef(null),[a,l]=n.useState(t.duration),[c,u]=n.useState(t.unit??QBi.DAYS),[d,h]=n.useState(t.direction??tVi.BEFORE),[p,g]=n.useState(t.referenceMoment??nVi.TODAY),m=(e,t,n,s)=>{if(0!==e&&""!==t&&""!==n&&""!==s){const o=new rVi(ZBi.CUSTOM_DATE,ZBi.CUSTOM_DATE,e,t,n,s);i(void 0,o);const a=aVi.filter(e=>e.generateDisplayLabel()===o.generateDisplayLabel());a.length>0?(o.label=dr(a[0]?.label),o.value=dr(a[0]?.value)):o.updateLabel(),r(o)}};return n.useEffect(()=>{o.current?.focus()},[]),vse.jsxs("div",{className:"value-spec-editor__date-picker__custom-date",children:[vse.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:vse.jsx("input",{ref:o,className:"value-spec-editor__date-picker__custom-date__input-text-editor input--dark",spellCheck:!1,value:a,type:"number",onChange:e=>{const t=""!==e.target.value?_i(()=>(e=>{const t=Number(e);if(isNaN(t))throw new Error(`Can't parse number '${e}'`);return t})(e.target.value))??0:0;l(t),m(t,c,d,p)}})}),vse.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:vse.jsx(ZBe,{placeholder:"Unit",className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(QBi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{u(e.value),m(a,e.value,d,p)},value:{value:c,label:c},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})}),vse.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:vse.jsx(ZBe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(tVi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{h(e.value),m(a,c,e.value,p)},value:{value:d,label:d},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})}),vse.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:vse.jsx(ZBe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(nVi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{g(e.value),m(a,c,d,e.value)},value:{value:p,label:p},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})},EQi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Cmt(),o=n.useRef(null),[a,l]=n.useState(t instanceof sVi?t.unit:null);return n.useEffect(()=>{o.current?.focus()},[]),vse.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:vse.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:vse.jsx(ZBe,{inputRef:o,placeholder:"Choose a unit...",className:"value-spec-editor__date-picker__custom-date__input-dropdown value-spec-editor__date-picker__custom-date__input-dropdown--full",options:Object.values(JBi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=Object.values(nVi).filter(t=>t.toString().includes(e)),n=t.length>0?new sVi(dr(t[0]?.toString()),e):new sVi("",void 0);i(void 0,n),r(n)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},xQi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Cmt(),o=n.useRef(null),[a,l]=n.useState(t instanceof oVi?t.day:null);return n.useEffect(()=>{o.current?.focus()},[]),vse.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:vse.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:vse.jsx(ZBe,{inputRef:o,placeholder:"Choose a day...",className:"value-spec-editor__date-picker__custom-date__input-dropdown value-spec-editor__date-picker__custom-date__input-dropdown--full",options:Object.values(eVi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=new oVi(`Previous ${e}`,e);i(void 0,t),r(t)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},TQi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,hasError:s,typeCheckOption:o,displayAsEditableValue:a,handleBlur:l,readOnly:c}=e,u=Cmt(),d=o.match?Object.values([ZBi.ABSOLUTE_TIME,ZBi.NOW]):Object.values(ZBi),[h,p]=n.useState(hVi(t,u)),[g,m]=n.useState(null),f=e=>{m(e.currentTarget)};return n.useEffect(()=>{p(hVi(t,u))},[u,t]),vse.jsxs(vse.Fragment,{children:[a?vse.jsx("span",{className:gle("value-spec-editor__date-picker__editable__display--content editable-value",{"value-spec-editor__date-picker__editable__display--content--error":s}),title:c?"":"Click to edit and pick from more date options",onClick:c?()=>{}:f,style:{cursor:c?"not-allowed":""},children:h.label?`"${h.label}"`:vse.jsx(vse.Fragment,{children:" "})}):vse.jsx("button",{className:gle("value-spec-editor__date-picker__trigger",{"value-spec-editor__date-picker__trigger--error":s}),title:c?"":"Click to edit and pick from more date options",onClick:f,disabled:c,children:h.label||"Select value"}),vse.jsxs(REe,{open:Boolean(g),slotProps:{transition:{onEnter:()=>{p(hVi(t,u))}}},anchorEl:g,onClose:()=>{p(hVi(t,u)),m(null),l?.()},anchorOrigin:{vertical:a?20:"bottom",horizontal:a?50:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[vse.jsx(bVe,{className:"value-spec-editor__date-picker__options",value:h.value,onChange:e=>{const t=new iVi(e.target.value,e.target.value);if(ZBi.LATEST_DATE===t.value)r(void 0,e.target.value,{primitiveTypeEnum:Xb.LATESTDATE});else if(![ZBi.ABSOLUTE_DATE,ZBi.ABSOLUTE_TIME,ZBi.CUSTOM_DATE,ZBi.FIRST_DAY_OF,ZBi.PREVIOUS_DAY_OF_WEEK].includes(t.value)){const e=aVi.filter(e=>e.value===t.value);e.length>0?r(void 0,dr(e[0])):r(void 0,t)}p(t)},row:!0,options:d,size:2}),(()=>{switch(h.value){case ZBi.ABSOLUTE_DATE:return vse.jsx(CQi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case ZBi.ABSOLUTE_TIME:return vse.jsx(SQi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case ZBi.CUSTOM_DATE:return vse.jsx(wQi,{customDateOptionValue:dVi(t,u),updateValueSpecification:r,setDatePickerOption:p});case ZBi.FIRST_DAY_OF:return vse.jsx(EQi,{customDateAdjustOptionValue:hVi(t,u),updateValueSpecification:r,setDatePickerOption:p});case ZBi.PREVIOUS_DAY_OF_WEEK:return vse.jsx(xQi,{customDateAdjustOptionValue:hVi(t,u),updateValueSpecification:r,setDatePickerOption:p});default:return null}})()]})]})},AQi=e=>{const{variable:t,children:n,placement:i}=e,r=t.genericType?.value.rawType;return vse.jsx(Hwe,{arrow:!0,...void 0!==i?{placement:i}:{},classes:{tooltip:"value-spec-paramater__tooltip",arrow:"value-spec-paramater__tooltip__arrow",tooltipPlacementRight:"value-spec-paramater__tooltip--right"},slotProps:{transition:{timeout:0}},title:vse.jsxs("div",{className:"value-spec-paramater__tooltip__content",children:[vse.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[vse.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Type"}),vse.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:r?.name??"(unknown)"})]}),vse.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[vse.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Var Name"}),vse.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:t.name})]}),vse.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[vse.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Multiplicity"}),vse.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:wE(t.multiplicity)})]})]}),children:n})},RQi="VARIABLE",NQi=ule(e=>{const{valueSpecification:t,resetValue:n,isConstant:i,className:r}=e,s=t.name;return vse.jsxs(vse.Fragment,{children:[vse.jsx(oHe,{labelGetter:e=>e.variable.name,types:[RQi]}),vse.jsxs("div",{className:gle("value-spec-editor__variable",r,{"value-spec-editor__variable__constant":i}),children:[vse.jsx("div",{className:"value-spec-editor__variable__icon",children:i?vse.jsx("div",{className:"icon",children:"C"}):vse.jsx(Poe,{})}),vse.jsxs("div",{className:"value-spec-editor__variable__label",children:[vse.jsx("div",{className:"value-spec-editor__variable__text",children:s}),vse.jsx(AQi,{variable:t,children:vse.jsx("div",{className:"value-spec-editor__variable__info",children:vse.jsx(Xoe,{})})}),vse.jsx("button",{className:"value-spec-editor__variable__reset-btn",name:"Reset",title:"Reset",onClick:n,children:vse.jsx(Gse,{})})]})]})]})}),IQi=ule(n.forwardRef((e,t)=>{const{valueSpecification:n,valueSelector:i,updateValueSpecification:r,errorChecker:s,resetValue:o,handleBlur:a,handleKeyDown:l,className:c,selectorSearchConfig:u,selectorConfig:d,lightMode:h,readOnly:p}=e,g=Boolean(u),m=Cmt(),f=i(n),v=f?{value:f,label:f}:null,y=u?.reloadValues,b=u?.isLoading,_=u?.values?.length?u.values.map(e=>({value:e,label:e.toString()})):void 0,C=void 0===u?.values?()=>null:void 0,S=`reset-${i(n)}`,w=`input-${i(n)}`;return vse.jsxs("div",{className:gle("value-spec-editor",c),onBlur:e=>{e.relatedTarget?.name!==S&&e.relatedTarget?.name!==w&&a?.()},children:[g?vse.jsx(ZBe,{className:"value-spec-editor__enum-selector",options:_,onChange:e=>{const t=null===e?"":e.value.toString();r(n,t)},value:v,inputValue:f??"",onInputChange:(e,t)=>{if("input-change"===t.action){r(n,e),y?.cancel();const t=y?.(e);t&&t.catch(m.alertUnhandledError)}"input-blur"===t.action&&(y?.cancel(),u?.cleanUpReloadValues?.())},darkMode:!h,isLoading:b,allowCreateWhileLoading:!0,noOptionsMessage:C,components:{DropdownIndicator:null},hasError:s?.(n),placeholder:""===f?"(empty)":void 0,inputRef:t,onKeyDown:l,inputName:w,optionCustomization:d?.optionCustomization,disabled:p}):vse.jsx(mRe,{className:"panel__content__form__section__input value-spec-editor__input",spellCheck:!1,value:f??"",placeholder:""===f?"(empty)":void 0,onChange:e=>{r(n,e.target.value)},ref:t,error:s?.(n)?"Invalid String value":void 0,onKeyDown:l,name:w,disabled:p}),vse.jsx("button",{className:"value-spec-editor__reset-btn",name:S,title:"Reset",onClick:o,disabled:p,children:vse.jsx(Gse,{})})]})})),DQi=ule(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,className:s,readOnly:o}=e,a=n(t);return vse.jsxs("div",{className:gle("value-spec-editor",s),children:[vse.jsx("button",{role:"checkbox",className:gle("value-spec-editor__toggler__btn",{"value-spec-editor__toggler__btn--toggled":a}),onClick:()=>{i(t,!a)},disabled:o,children:a?vse.jsx(Toe,{}):vse.jsx(hae,{})}),vse.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:o,children:vse.jsx(Gse,{})})]})}),OQi=ule(n.forwardRef((e,t)=>{const{valueSpecification:i,valueSelector:r,updateValueSpecification:s,errorChecker:o,resetValue:a,handleBlur:l,handleKeyDown:c,className:u,isInteger:d,readOnly:h,enableExpressionCalculation:p=!0}=e,[g,m]=n.useState(r(i)?.toString()??""),f=n.useRef(null);n.useImperativeHandle(t,()=>f.current,[]);const v=g?d?Number.parseInt(Number(g).toString(),10):Number(g):null,y=e=>{if(e){const t=d?Number.parseInt(Number(e).toString(),10):Number(e);isNaN(t)||t===r(i)||s(i,t)}else a()},b=()=>{if(null!==v&&isNaN(v))try{const e=Rr(n8n(g));y(e.toString()),m(e.toString())}catch{const e=r(i)?.toString()??"";y(e),m(e)}else null!==v?(y(v.toString()),m(v.toString())):a()};n.useEffect(()=>{if(null!==v&&!isNaN(v)&&v!==r(i)){const e=null!==r(i)?r(i).toString():"";m(e)}},[v,i,r]);const _=`reset-${r(i)}`,C=`input-${r(i)}`,S=`calculate-${r(i)}`;return vse.jsxs("div",{className:gle("value-spec-editor",u),onBlur:e=>{e.relatedTarget?.name!==_&&e.relatedTarget?.name!==C&&e.relatedTarget?.name!==S&&l?.()},children:[vse.jsxs("div",{className:"value-spec-editor__number__input-container",children:[vse.jsx("input",{ref:f,className:gle("panel__content__form__section__input","value-spec-editor__input","value-spec-editor__number__input",{"value-spec-editor__number__input--error":o?.(i)}),spellCheck:!1,type:"text",inputMode:"numeric",value:g,onChange:e=>{m(e.target.value),y(e.target.value)},onBlur:b,onKeyDown:e=>{(e=>{"Enter"===e.code?(b(),f.current?.focus()):"Escape"===e.code&&f.current?.select()})(e),c?.(e)},name:C,disabled:h}),p&&vse.jsx("div",{className:"value-spec-editor__number__actions",children:vse.jsx("button",{className:"value-spec-editor__number__action",title:"Evaluate Expression (Enter)",name:S,onClick:b,disabled:h,children:vse.jsx(Kse,{})})})]}),vse.jsx("button",{className:"value-spec-editor__reset-btn",name:_,title:"Reset",onClick:a,disabled:h,children:vse.jsx(Gse,{})})]})})),kQi=ule(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,errorChecker:r,resetValue:s,handleBlur:o,options:a,className:l,selectorConfig:c,lightMode:u,readOnly:d}=e,h=n(t),p=`reset-${n(t)}`,g=`input-${n(t)}`;return vse.jsxs("div",{className:gle("value-spec-editor",l),onBlur:e=>{e.relatedTarget?.name!==p&&e.relatedTarget?.name!==g&&o?.()},children:[vse.jsx(ZBe,{className:"value-spec-editor__enum-selector",options:a,onChange:e=>{i(t,e.value),o?.()},value:h?{value:h,label:h}:null,darkMode:!u,hasError:r?.(t),placeholder:"Select value",autoFocus:!0,inputName:g,optionCustomization:c?.optionCustomization,disabled:d}),vse.jsx("button",{className:"value-spec-editor__reset-btn",name:p,title:"Reset",onClick:s,disabled:d,children:vse.jsx(Gse,{})})]})}),LQi=e=>0===e.length?"":((e,t)=>pf.unparse(e,t))([e.map(e=>e instanceof RS?e.values[0]:e instanceof NS?dr(e.values[0]).value.name:void 0).filter(cr)]).trim(),MQi=e=>{if(e instanceof V_)switch(e.path){case Xb.DATE:case Xb.STRICTDATE:return"yyyy-mm-dd";case Xb.DATETIME:return"yyyy-mm-ddThh:mm:ss";default:return"Add"}else if(e instanceof U_)switch(G_(e.path)){case Xb.DATE:case Xb.STRICTDATE:return"yyyy-mm-dd";case Xb.DATETIME:case Xb.STRICTTIME:return"yyyy-mm-ddThh:mm:ss";default:return"Add"}else{if(!(e instanceof rT))throw new Error(`Cannot get placeholder for type ${e}`);switch(e.fullPath){case Xb.DATE:case Xb.STRICTDATE:return"yyyy-mm-dd";case Xb.DATETIME:case Xb.STRICTTIME:return"yyyy-mm-ddThh:mm:ss";default:return"Add"}}},PQi=ule(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,selectorSearchConfig:a,selectorConfig:l,expectedType:c,lightMode:u,readOnly:d}=e,h=Cmt(),p=n.useRef(null),[g,m]=n.useState(""),[f,v]=n.useState(!1),[y,b]=n.useState(t.values.filter(e=>dr(e)).map(r).filter(fr).map(e=>({label:e,value:e}))),_=c===V_.STRING&&Boolean(a),C=_?a?.reloadValues:void 0,S=_?a?.cleanUpReloadValues:void 0,w=_?a?.isLoading:void 0,E=_&&a?.values?.length?a.values.map(e=>({value:e,label:e.toString()})):void 0,x=_&&w?"Loading...":void 0,T=`copy-${t.values[0]?r(t.values[0]):""}`,A=`input-${t.values[0]?r(t.values[0]):""}`,R=e=>{const t=dr(r(e));return{label:t,value:t}},N=e=>y.map(e=>e.value).includes(e),I=()=>{const e=g.trim();if(e.length){const t=i(c,e);return null===t||void 0===r(t)||N(dr(r(t)))?null:t}return null},D=()=>{const e=I(),n=(null!==e?[...y,R(e)]:y).map(e=>e.value).map(e=>i(c,e)).filter(cr);s(t,n),o()};return vse.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==T&&e.relatedTarget?.name!==A&&D()},children:[vse.jsx(ZBe,{className:gle("value-spec-editor__primitive-collection-selector",{"value-spec-editor__primitive-collection-selector--error":f}),options:E,inputValue:g,isMulti:!0,menuIsOpen:_&&g.length>=2,autoFocus:!0,inputRef:p,onChange:(e,t)=>{b(e),"select-option"===t.action?m(""):"remove-value"===t.action&&t.removedValue.value===g&&v(!1)},onInputChange:(e,t)=>{if("input-change"===t.action){m(e),v(!1),C?.cancel();const t=C?.(e);t&&t.catch(h.alertUnhandledError)}"input-blur"===t.action&&(C?.cancel(),S?.())},onKeyDown:e=>{"Enter"!==e.key&&","!==e.key||e.shiftKey||((()=>{const e=I();null!==e?(b([...y,R(e)]),m(""),C?.cancel()):g.trim().length&&v(!0)})(),e.preventDefault())},onPaste:e=>{const t=e.clipboardData.getData("text"),n=yf(t);if(!n)return;const s=li(li(n).map(e=>{const t=i(c,e);return t?r(t):null}).filter(cr)).filter(e=>!N(e));b([...y,...s.map(e=>({label:e,value:e}))]),e.preventDefault()},value:y,darkMode:!u,isLoading:w,noMatchMessage:x,placeholder:MQi(c),components:{DropdownIndicator:null},inputName:A,optionCustomization:l?.optionCustomization,disabled:d}),vse.jsx("button",{className:"value-spec-editor__list-editor__copy-button",onClick:()=>{(async()=>{navigator.clipboard.writeText(y.map(e=>e.value).join(","))})()},name:T,title:"Copy values to clipboard",children:vse.jsx(Ooe,{})}),vse.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:D,disabled:d,children:vse.jsx(cae,{})})]})}),FQi=ule(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,expectedType:a,enumOptions:l,selectorConfig:c,lightMode:u,readOnly:d}=e;dr(l,"Must pass enum options to EnumCollectionInstanceValueEditor");const[h,p]=n.useState(""),[g,m]=n.useState(!1),[f,v]=n.useState(t.values.filter(e=>dr(e)).map(r).filter(fr).map(e=>({label:e,value:e}))),y=l?.filter(e=>!f.some(t=>t.value===e.value)),b=`copy-${t.values[0]?r(t.values[0]):""}`,_=`input-${t.values[0]?r(t.values[0]):""}`,C=e=>f.map(e=>e.value).includes(e),S=()=>{const e=(()=>{const e=h.trim();return e.length&&!C(e)&&l?.some(t=>t.value===e)?e:null})();null!==e?(v([...f,{label:e,value:e}]),p("")):h.trim().length&&m(!0)},w=()=>{const e=f.map(e=>e.value).map(e=>i(a,e)).filter(cr);s(t,e),o()};return vse.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==b&&e.relatedTarget?.name!==_&&w()},children:[vse.jsx(ZBe,{className:gle("value-spec-editor__enum-collection-selector",{"value-spec-editor__enum-collection-selector--error":g}),options:y,inputValue:h,isMulti:!0,autoFocus:!0,onChange:(e,t)=>{v(e),"select-option"===t.action?p(""):"remove-value"===t.action&&t.removedValue.value===h&&m(!1)},onInputChange:(e,t)=>{"input-change"===t.action&&(p(e),m(!1))},onKeyDown:e=>{"Enter"!==e.key&&","!==e.key||e.shiftKey||(S(),e.preventDefault())},onPaste:e=>{const t=e.clipboardData.getData("text"),n=yf(t);if(!n)return;const i=li(li(n).filter(e=>l?.some(t=>t.value===e))).filter(e=>!C(e));v([...f,...i.map(e=>({label:e,value:e}))]),e.preventDefault()},value:f,darkMode:!u,placeholder:"Add",menuIsOpen:!0,inputName:_,optionCustomization:c?.optionCustomization,disabled:d}),vse.jsx("button",{className:"value-spec-editor__list-editor__copy-button",onClick:()=>{(async()=>{navigator.clipboard.writeText(f.map(e=>e.value).join(","))})()},name:b,title:"Copy values to clipboard",children:vse.jsx(Ooe,{})}),vse.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:w,disabled:d,children:vse.jsx(cae,{})})]})}),BQi=ule(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,stringifyCollectionValueSpecification:o,errorChecker:a,className:l,selectorSearchConfig:c,selectorConfig:u,expectedType:d,enumOptions:h,lightMode:p,readOnly:g}=e,[m,f]=n.useState(!1),v=o(t),y=`List(${0===t.values.length?"empty":t.values.length})${0===t.values.length?"":`: ${v.length>50?`${v.substring(0,50)}...`:v}`}`,b=()=>{m&&f(!1)};return m?vse.jsx(vse.Fragment,{children:vse.jsx("div",{className:gle("value-spec-editor",l),children:void 0!==h?vse.jsx(FQi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:d,saveEdit:b,enumOptions:h,selectorConfig:u,lightMode:p,readOnly:g}):vse.jsx(PQi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:d,saveEdit:b,selectorSearchConfig:c,selectorConfig:u,lightMode:p,readOnly:g})})}):vse.jsxs("div",{className:gle("value-spec-editor",l),onClick:g?()=>{}:()=>f(!0),title:g?"":"Click to edit",style:{cursor:g?"not-allowed":""},children:[vse.jsx("div",{className:gle("value-spec-editor__list-editor__preview",{"value-spec-editor__list-editor__preview--error":a?.(t)}),children:y}),vse.jsx("button",{className:"value-spec-editor__list-editor__edit-icon",children:vse.jsx(Pse,{})})]})}),VQi=()=>vse.jsx("div",{className:"value-spec-editor--unsupported",children:"unsupported"}),UQi=ule(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,handleBlur:s,typeCheckOption:o,displayAsEditableValue:a,className:l,readOnly:c}=e;return vse.jsxs("div",{className:gle("value-spec-editor",l),children:[vse.jsx(TQi,{valueSpecification:t,valueSelector:n,typeCheckOption:o,updateValueSpecification:i,hasError:t instanceof RS&&!Kvt(t),handleBlur:s,displayAsEditableValue:a,readOnly:c}),!a&&vse.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:c,children:vse.jsx(Gse,{})})]})}),GQi=n.forwardRef(function(e,t){const{className:n,valueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,setValueSpecification:a,resetValue:l,selectorSearchConfig:c,selectorConfig:u,isConstant:d,handleBlur:h,handleKeyDown:p,displayDateEditorAsEditableValue:g,readOnly:m,enableExpressionCalculation:f}=e,v=Cmt(),y=e=>!Kvt(e),b=e=>e instanceof VS?"":e.values[0],_=(e,t,n)=>{t instanceof rVi?a(((e,t,n)=>{const i=new VS(Rvt.ADJUST);if(Uvt(i,cVi(new iVi(dr(e.referenceMoment),dr(e.referenceMoment)),t,n),n),e.direction===tVi.BEFORE){const r=new VS(Rvt.MINUS);Uvt(r,gVi(t,Xb.INTEGER,e.duration,n),n),Uvt(i,r,n)}else Uvt(i,gVi(t,Xb.INTEGER,e.duration,n),n);const r=new NS(j_.create(new X_(t.getType(xvt.DURATION_UNIT))));return jvt(r,[...r.values,dC.create(dr(uVi(dr(e.unit),t)))],n),Uvt(i,r,n),Pvt(i,j_.create(new X_(V_.DATE))),i})(t,r,s)):t instanceof sVi||t instanceof oVi||t instanceof iVi?a(cVi(t,r,s)):e instanceof VS?a(gVi(r,dr(n?.primitiveTypeEnum),t,s)):e instanceof AS?(zvt(e,t,0,s),e.genericType.value.rawType.path!==dr(n?.primitiveTypeEnum)&&Pvt(e,j_.create(new X_(H_(dr(n?.primitiveTypeEnum))))),a(e)):n?.primitiveTypeEnum===Xb.LATESTDATE&&a(gVi(r,Xb.LATESTDATE,t,s))};if(i instanceof RS){const e=i.genericType.value.rawType,r=e=>e.values[0],d=(e,t)=>{zvt(e,t,0,s),a(e)};switch(e.path){case Xb.STRING:return vse.jsx(IQi,{valueSpecification:i,valueSelector:r,updateValueSpecification:d,errorChecker:y,className:n,resetValue:l,selectorSearchConfig:c,selectorConfig:u,ref:t,handleBlur:h,handleKeyDown:p,lightMode:v.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m});case Xb.BOOLEAN:return vse.jsx(DQi,{valueSpecification:i,valueSelector:r,updateValueSpecification:d,className:n,resetValue:l,readOnly:m});case Xb.NUMBER:case Xb.FLOAT:case Xb.DECIMAL:case Xb.BINARY:case Xb.BYTE:case Xb.INTEGER:return vse.jsx(OQi,{valueSpecification:i,valueSelector:r,isInteger:e.path===Xb.INTEGER,updateValueSpecification:d,errorChecker:y,className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:m,enableExpressionCalculation:f});case Xb.DATE:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.LATESTDATE:return vse.jsx(UQi,{valueSpecification:i,valueSelector:b,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,errorChecker:e=>e instanceof RS&&y(e),readOnly:m});default:return vse.jsx(VQi,{})}}else{if(i instanceof NS){const e=mr(i.genericType?.value.rawType,nC),t=e.values.map(e=>({label:e.name,value:e.name}));return vse.jsx(kQi,{valueSpecification:i,valueSelector:e=>void 0===e.values[0]?null:e.values[0].value.name,options:t,className:n,resetValue:l,updateValueSpecification:(t,n)=>{const i=dr(e.values.find(e=>e.name===n),`Unable to find enum value ${n} in enumeration ${e.name}`);zvt(t,dC.create(i),0,s),a(t)},errorChecker:e=>!Kvt(e),handleBlur:h,selectorConfig:u,lightMode:v.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m})}if(i instanceof IS&&i.genericType){const e=(e,t)=>{jvt(e,t,s),a(e)},t=(e,t)=>{if(e instanceof nC){const n=((e,t)=>t.values.find(t=>t.name===e))(t,e);if(n){const t=new NS(j_.create(new X_(e)));return jvt(t,[dC.create(n)],s),Yie(t,s)}}else{const n=CVi(mr(e,R_),t,s);if(n)return Yie(n,s)}return null},r=o.expectedType instanceof nC?o.expectedType.values.map(e=>({label:e.name,value:e.name})):void 0;return vse.jsx(BQi,{valueSpecification:i,updateValueSpecification:e,expectedType:o.expectedType,className:n,selectorSearchConfig:c,selectorConfig:u,stringifyCollectionValueSpecification:e=>LQi(e.values),errorChecker:y,convertValueSpecificationToText:e=>_Vi(e,v,{omitEnumOwnerName:!0}),convertTextToValueSpecification:t,enumOptions:r,lightMode:v.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m})}if(i instanceof TS)return vse.jsx(NQi,{valueSpecification:i,className:n,resetValue:l,isConstant:Boolean(d)});if(i instanceof jS)return vse.jsx(GQi,{valueSpecification:i.getValue(),graph:r,observerContext:s,typeCheckOption:o,setValueSpecification:a,resetValue:l,handleBlur:h,handleKeyDown:p,displayDateEditorAsEditableValue:g,selectorSearchConfig:c,selectorConfig:u,readOnly:m});if(i instanceof VS){if(CE(o.expectedType,V_.DATE))return vQi(i)?vse.jsx(UQi,{valueSpecification:i,valueSelector:b,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,readOnly:m}):vse.jsx(VQi,{});if(CE(o.expectedType,V_.NUMBER)&&k_(i.functionName,Rvt.MINUS)){const e=oyt(i,s);if(e instanceof RS&&CE(e.genericType.value.rawType,V_.NUMBER))return vse.jsx(OQi,{valueSpecification:e,valueSelector:e=>e.values[0],isInteger:e.genericType.value.rawType===V_.INTEGER,updateValueSpecification:(e,t)=>{zvt(e,t,0,s),a(e)},className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:m})}}}return vse.jsx(VQi,{})}),HQi=ule(e=>{const{valueSpecification:t,setValueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,resetValue:a,selectorSearchConfig:l,selectorConfig:c,isConstant:u,initializeAsEditable:d,readOnly:h,enableExpressionCalculation:p=!0,displayAsString:g=!0}=e,m=Cmt(),[f,v]=n.useState(d??!1),y=n.useRef(null);n.useEffect(()=>{f&&y.current?.focus()},[f,y]);const b=t instanceof RS&&!CE(t.genericType.value.rawType,V_.DATE)&&t.genericType.value.rawType!==V_.BOOLEAN||t instanceof NS,_=f||!b,C=_Vi(t,m,{omitEnumOwnerName:!0});return _?vse.jsx(GQi,{valueSpecification:t,setValueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,resetValue:a,selectorSearchConfig:l,selectorConfig:c,isConstant:u,ref:y,handleBlur:()=>v(!1),handleKeyDown:e=>{"Enter"===e.key&&v(!1)},displayDateEditorAsEditableValue:!0,readOnly:h,enableExpressionCalculation:p}):vse.jsx("div",{className:"value-spec-editor__editable__display",children:vse.jsx("span",{className:gle("value-spec-editor__editable__display--content editable-value",{"value-spec-editor__editable__display--content--error":t instanceof AS&&!Kvt(t)}),onClick:h?()=>{}:()=>{v(!0)},style:{cursor:h?"not-allowed":""},children:g?`"${void 0!==C?C:""}"`:C})})}),zQi=(e,t)=>{if(e instanceof VS){const n=hVi(e,t.applicationStore).label;if(n)return n}return _Vi(e,t.applicationStore)},jQi=ule(n.forwardRef(function(e,t){const{actions:n,extraContextMenuActions:i,variableInUse:r}=e;return vse.jsxs(cVe,{ref:t,children:[i?.map(e=>vse.jsx(uVe,{onClick:e.handler,children:e.label},e.key)),n?.editVariable&&vse.jsx(uVe,{onClick:n.editVariable,children:"Edit"}),n?.deleteVariable&&vse.jsx(uVe,{disabled:r,onClick:n.deleteVariable,children:"Remove"})]})})),WQi=ule(e=>{const{variable:t,value:i,actions:r,isReadOnly:s,queryBuilderState:o,extraContextMenuActions:a,option:l}=e,c=o.isVariableUsed(t),[u,d]=n.useState(!1),h=Boolean(i),p=i?.val?zQi(i.val,o):void 0,g=t.name,m=t.genericType?.value.rawType.name??(h?"(calculated)":void 0),f=o.milestoningState.isMilestoningParameter(t),v=o.milestoningState.getMilestoningParameterValue(t),y=f&&v?zQi(v,o):void 0,b=s||c,_=c?"Used in query":"Remove",C=()=>{r?.editVariable()},[,S,w]=TGe(()=>({type:RQi,item:{variable:t}}),[t]),E=n.useRef(null);return S(E),sHe(w),vse.jsx("div",{className:"query-builder__variables__variable",ref:E,children:vse.jsxs(gVe,{content:vse.jsx(jQi,{variable:t,variableInUse:c,actions:r,extraContextMenuActions:a}),disabled:s||!r,className:gle("query-builder__variables__variable__context-menu",{"query-builder__variables__variable--selected-from-context-menu":u}),menuProps:{elevation:7},onOpen:()=>d(!0),onClose:()=>d(!1),children:[vse.jsx(oHe,{labelGetter:e=>""===e.variable.name?"(unknown)":e.variable.name,types:[RQi]}),vse.jsxs("div",{onClick:C,className:"query-builder__variables__variable__content",children:[vse.jsx("div",{className:"query-builder__variables__variable__icon",children:vse.jsx("div",{className:"query-builder__variables__variable-icon",children:h?vse.jsx("div",{className:"icon query-builder__variables__variable-icon",children:"C"}):vse.jsx(Poe,{})})}),vse.jsxs("div",{className:"query-builder__variables__variable__label",children:[g,h?vse.jsxs("div",{className:gle("query-builder__constants__value",{"query-builder__constants__value--icon":!p}),children:[p,!p&&vse.jsx(_oe,{title:"Calculated Constant"})]}):vse.jsxs("div",{className:"query-builder__variables__variable__type",children:[vse.jsx("div",{className:"query-builder__variables__variable__type__label",children:m??"unknown"}),f&&vse.jsxs(vse.Fragment,{children:[vse.jsx("div",{className:"query-builder__variables__variable__type__label query-builder__variables__variable__type__label--milestoning",children:"milestoning"}),!l?.hideMilestoningParameterValueString&&vse.jsx("div",{className:"query-builder__constants__value",children:y})]})]})]})]}),r&&vse.jsxs("div",{className:"query-builder__variables__variable__actions",children:[vse.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,disabled:s,onClick:C,title:"Edit",children:vse.jsx(Pse,{})}),vse.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,onClick:()=>{r?.deleteVariable()},disabled:b,title:_,children:vse.jsx(gae,{})}),vse.jsx(AQi,{variable:t,children:vse.jsx("div",{className:"query-builder__variables__variable__action value-spec-editor__variable__info",children:vse.jsx(Xoe,{})})})]})]})})}),$Qi=ule(e=>{const{queryBuilderState:t,filterBy:n}=e,i=t.parametersState.parameterStates.filter(e=>!n||n(e.parameter)),r=t.constantState.constants.filter(e=>!n||n(e.variable));return vse.jsxs(vse.Fragment,{children:[vse.jsxs(LVe,{title:"Available parameters",children:[0===i.length&&vse.jsx(vse.Fragment,{children:" No available parameters "}),i.map(e=>vse.jsx(WQi,{variable:e.parameter,isReadOnly:!0,queryBuilderState:t},e.uuid))]}),Boolean(r.length)&&vse.jsx(LVe,{title:"Available constants",children:r.map(e=>vse.jsx(WQi,{variable:e.variable,value:{val:e instanceof HZi?e.value:void 0},queryBuilderState:t,isReadOnly:!0},e.uuid))})]})}),qQi=ule(e=>{const{derivedPropertyExpressionState:t,variable:i,idx:r}=e,s=t.queryBuilderState.graphManagerState.graph,o=dr(t.parameters[r]?.genericType).value.rawType,a=n.useCallback(e=>{Vvt(t.propertyExpression,e.variable,r+1,t.queryBuilderState.observerContext)},[t,r]),[{isParameterValueDragOver:l},c]=DGe(()=>({accept:[RQi],drop:(e,t)=>{const n=e.variable.genericType?.value.rawType;t.didDrop()||!n||!SE(o,n)&&o.name!==n.name||a(e)},collect:e=>({isParameterValueDragOver:e.isOver({shallow:!0})})}),[a]),u=t.queryBuilderState,d=e=>{e instanceof US&&Ovt(e,u)&&e.func.value.genericType.value.rawType instanceof Z_&&u.applicationStore.alertService.setActionAlertInfo({message:"You have just changed a milestoning date in the property expression chain, this date will be propagated down the rest of the chain. Do you want to proceed? Otherwise, you can choose to propagate the default milestoning dates instead.",type:nft.CAUTION,actions:[{label:"Proceed",type:ift.PROCEED_WITH_CAUTION,default:!0},{label:"Propagate default milestoning date(s)",type:ift.PROCEED,handler:u.applicationStore.guardUnhandledError(async()=>(e=>{const t=cE(mr(e.func.value.genericType.value.rawType,Z_),u.graphManagerState.graph);e.parametersValues.slice(1).forEach((n,i)=>{if(t&&n instanceof jS&&!Lvt(t,i,n.getValue(),u.milestoningState)){const n=new jS(()=>dr(u.milestoningState.getMilestoningImplementation(t).getMilestoningDate(i)));n.isPropagatedValue=!1,Vvt(mr(e,US),dr(n),i+1,u.observerContext)}})})(e))}]})},h=dr(t.parameterValues[r]);return vse.jsxs("div",{className:"panel__content__form__section",children:[vse.jsx("div",{className:"panel__content__form__section__header__label",children:i.name}),vse.jsx("div",{className:"panel__content__form__section__header__prompt",children:""+(0===i.multiplicity.lowerBound?"optional":"")}),vse.jsx("div",{className:"query-builder__variable-editor",children:vse.jsx(tHe,{isDragOver:l,dropTargetConnector:c,children:vse.jsx(GQi,{valueSpecification:h,setValueSpecification:e=>{Vvt(t.propertyExpression,e,r+1,t.queryBuilderState.observerContext)},graph:s,observerContext:t.queryBuilderState.observerContext,typeCheckOption:{expectedType:o,match:o===V_.DATETIME},resetValue:()=>{Vvt(t.propertyExpression,Mvt(t,r)??EVi(i,t.queryBuilderState.graphManagerState.graph,t.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue,t.queryBuilderState.observerContext),r+1,t.queryBuilderState.observerContext);const e=t.propertyExpressionState.derivedPropertyExpressionStates,n=e.indexOf(t);d(n+1<e.length?e[n+1]?.propertyExpression:void 0)},isConstant:u.constantState.isValueSpecConstant(h)})})}),vse.jsx("div",{className:"panel__content__form__section__list"})]},i.name)}),YQi=ule(e=>{const{derivedPropertyExpressionState:t}=e,n=t.parameterValues,i=t.parameters;return vse.jsxs("div",{className:"query-builder-property-editor__section",children:[vse.jsx("div",{className:"panel__content__form__section__header__label",children:t.title}),!n.length&&vse.jsx("div",{className:"query-builder-property-editor__section__content--empty",children:"No parameter"}),i.map((e,n)=>vse.jsx(qQi,{derivedPropertyExpressionState:t,variable:e,idx:n},e.name))]})}),KQi=ule(e=>{const{propertyExpressionState:t}=e,n=t.queryBuilderState.applicationStore,i=()=>t.setIsEditingDerivedProperty(!1);return vse.jsx(V_e,{open:Boolean(t.isEditingDerivedPropertyExpression),onClose:i,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:vse.jsxs(eVe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder-property-editor",children:[vse.jsx(nVe,{title:"Derived Property"}),vse.jsxs(rVe,{className:"query-builder-property-editor__content",children:[t.derivedPropertyExpressionStates.map(e=>vse.jsx(YQi,{derivedPropertyExpressionState:e},e.path)),vse.jsx(rVe,{className:"query-builder__variables__modal__body",children:vse.jsx($Qi,{queryBuilderState:t.queryBuilderState,filterBy:e=>((e,t)=>Boolean(t.find(t=>{const n=e.genericType?.value.rawType;return!!n&&t.parameters.some(e=>e.genericType&&(SE(n,e.genericType.value.rawType)||e.genericType.value.rawType.name===n.name))})))(e,t.derivedPropertyExpressionStates)})})]}),vse.jsx(sVe,{children:vse.jsx(aVe,{text:"Done",onClick:i})})]})})}),XQi=ule(e=>{const{columnName:t,title:n,error:i,setIsEditingColumnName:r}=e;return vse.jsx("div",{className:"query-builder__property__name__display",title:n,children:vse.jsx("span",{className:gle("query-builder__property__name__display__content",{"query-builder__property__name__display__content--error":i,"editable-value":r}),onClick:()=>{r?.(!0)},children:t})})}),ZQi=ule(e=>{const{columnName:t,setColumnName:i,error:r,title:s,defaultColumnName:o}=e,[a,l]=n.useState(!1),[c,u]=n.useState(t),d=n.useRef(null);n.useEffect(()=>{a&&d.current?.focus()},[a,d]);const h=()=>{const e=c.trim();e.length>0?(i?.(e),u(e)):(i?.(o),u(o)),l(!1)};return a?vse.jsx("div",{className:"query-builder__property__name__editor",children:vse.jsx(mRe,{className:"query-builder__property__name__editor__input input-group__input",spellCheck:!1,value:c,onChange:e=>u(e.target.value),onKeyDown:e=>{"Enter"===e.key&&h()},onBlur:h,ref:d,draggable:!0,onDragStart:e=>{e.preventDefault(),e.stopPropagation()}})}):vse.jsx(XQi,{columnName:t,title:s,error:Boolean(r),setIsEditingColumnName:i?l:void 0})}),QQi=ule(e=>{const{columnName:t,propertyExpressionState:n,setColumnName:i,error:r}=e,s=n.propertyExpression.func.value.genericType.value.rawType,o=Boolean(n.derivedPropertyExpressionStates.length),a=n.isValid;return vse.jsx("div",{className:"query-builder-property-expression-badge",children:vse.jsxs("div",{className:gle("query-builder-property-expression-badge__content",{"query-builder-property-expression-badge__content--class":s instanceof Z_,"query-builder-property-expression-badge__content--enumeration":s instanceof nC,"query-builder-property-expression-badge__content--primitive":s instanceof V_}),children:[vse.jsx(ZQi,{columnName:t??n.title,setColumnName:i,error:r,title:`${n.title} - ${n.path}`,defaultColumnName:SVi(n.propertyExpression,n.queryBuilderState.explorerState.humanizePropertyName)}),o&&vse.jsxs("button",{className:gle("query-builder-property-expression-badge__action",{"query-builder-property-expression-badge__action--error":!a}),tabIndex:-1,onClick:()=>{o&&n.setIsEditingDerivedProperty(!0)},title:"Set Derived Property Argument(s)...",children:[!a&&vse.jsx(Xoe,{})," (...)"]}),vse.jsx(KQi,{propertyExpressionState:n})]})})}),JQi=e=>{const{issues:t}=e;if(!t)return null;const n=(i="issue",((e,t)=>e<=0?`no ${t}s`:e>1?`${e} ${t}s`:`1 ${t}`)(t.length,i));var i;return vse.jsxs("div",{className:"query-builder-panel-issue-count-badge",title:`Found ${n}:\n${t.map(e=>`• ${e}`).join("\n")}`,children:[vse.jsx(pae,{className:"query-builder-panel-issue-count-badge__icon"}),vse.jsx("div",{className:"query-builder-panel-issue-count-badge__text",children:n})]})},eJi=e=>{if(e instanceof V_||e instanceof U_){const t=Jvt(e)??e.path;if(t===Xb.STRING)return vse.jsx(Fse,{className:"query-builder-column-badge__icon"});if(t===Xb.BOOLEAN)return vse.jsx(mae,{className:"query-builder-column-badge__icon"});if(t===Xb.NUMBER||t===Xb.INTEGER||t===Xb.FLOAT||t===Xb.DECIMAL)return vse.jsx(Koe,{className:"query-builder-column-badge__icon"});if(t===Xb.DATE||t===Xb.DATETIME||t===Xb.STRICTDATE)return vse.jsx(Noe,{className:"query-builder-column-badge__icon"})}else if(e instanceof nC)return vse.jsx("div",{className:"icon query-builder-column-badge__icon",children:"E"});return null},tJi=e=>{const{columnState:t,placement:n,children:i}=e,r=t.getColumnType(),s=_i(()=>(e=>{if(e instanceof BVi||e instanceof MGi)return A_.ONE;if(e instanceof kVi)return e.propertyExpressionState.propertyExpression.func.value.multiplicity;throw new yi("Can't get multiplicity for column",e)})(t));return vse.jsx(Hwe,{arrow:!0,...void 0!==n?{placement:n}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},slotProps:{transition:{timeout:0}},title:vse.jsxs("div",{className:"query-builder__tooltip__content",children:[vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Name"}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:t.columnName})]}),vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:r?.path})]}),s&&vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:wE(s)})]})]}),children:i})},nJi=(e,t)=>{switch(t){case DVi:return e.columnState.getColumnType();case lzi.ENUM_PROPERTY:case lzi.PRIMITIVE_PROPERTY:return e.node.property.genericType.value.rawType;case lzi.RELATION_COLUMN:return e.node.column.genericType.value.rawType;case RQi:return e.variable.genericType?.value.rawType;case IGi:return e.columnState.getColumnType();default:return}},iJi=[lzi.ENUM_PROPERTY,lzi.PRIMITIVE_PROPERTY,DVi,lzi.RELATION_COLUMN],rJi=[lzi.ENUM_PROPERTY,lzi.PRIMITIVE_PROPERTY,lzi.RELATION_COLUMN],sJi=[mUi.CONDITION,lzi.ENUM_PROPERTY,lzi.PRIMITIVE_PROPERTY,DVi,lzi.RELATION_COLUMN],oJi=[mUi.CONDITION,lzi.ENUM_PROPERTY,lzi.PRIMITIVE_PROPERTY,lzi.RELATION_COLUMN],aJi=[lzi.ENUM_PROPERTY,lzi.PRIMITIVE_PROPERTY,lzi.RELATION_COLUMN,DVi,RQi],lJi=(e,t,n)=>{const i=[];let r=e;for(;r instanceof US||r instanceof VS&&k_(r.functionName,Rvt.SUBTYPE);){let e;r instanceof VS?e=new VS(I_(Rvt.SUBTYPE)):(e=new US(""),e.func=r.func),e.parametersValues=r.parametersValues.length>1?r.parametersValues.slice(1):[],i.push(e),r=dr(r.parametersValues[0])}let s,o=[],a=[mr(r,TS)],l=0;for(let e=i.length-1;e>=0;--e){const n=i[e];n.parametersValues.unshift(a[a.length-1]),a[a.length-1]=n,n instanceof US&&(void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(l>o.length-1&&(o.push(Ur(o,t.lambdaParameterName)),br(l===o.length-1)),a.push(new TS(o[l],A_.ONE)),l++)}if(n)if(n instanceof RUi){const e=a.findIndex(e=>e instanceof US&&e.func.value===n.propertyExpressionState.propertyExpression.func.value&&e.func.ownerReference.value.path===n.propertyExpressionState.propertyExpression.func.ownerReference.value.path);e>=0&&(s=n,a=a.slice(e+1),o=o.slice(e+1))}else{let e=n,i=n.parentId;for(;i&&!(e instanceof RUi);)e=t.nodes.get(i),i=e?.parentId;if(e instanceof RUi){const i=a.findIndex(t=>t instanceof US&&e instanceof RUi&&t.func.value===mr(e,RUi).propertyExpressionState.propertyExpression.func.value&&t.func.ownerReference.value.path===e.propertyExpressionState.propertyExpression.func.ownerReference.value.path);i>=0&&(s=n instanceof IUi?t.newGroupConditionFromNode(n):n instanceof AUi?n:t.getParentNode(n),a=a.slice(i+1),o=o.slice(i+1))}else i||(s=n instanceof IUi?t.newGroupConditionFromNode(n):n instanceof AUi?n:t.getParentNode(n))}for(let e=0;e<a.length-1;++e){const n=new RUi(t,s?.id);n.setPropertyExpression(a[e]),n.lambdaParameterName=o[e],t.nodes.set(n.id,n),t.addNodeFromNode(n,s),s=n}const c=new EUi(t,a[a.length-1]),u=new IUi(void 0,c);u.setIsNewlyAdded(!0),t.addNodeFromNode(u,s),n instanceof DUi&&t.removeNodeAndPruneBranch(n)},cJi=(e,t,n)=>{let i=e.getParentNode(n),r=[];for(r.push(n.condition.propertyExpressionState.propertyExpression);i&&i.id!==t.id;)i instanceof RUi&&r.push(i.propertyExpressionState.propertyExpression),i=e.getParentNode(i);i?.id===t.id&&r.push(t.propertyExpressionState.propertyExpression),r=r.reverse();const s=dr(r[0]);r=r.slice(1);let o=new US("");o.func=s.func,o.parametersValues=[...s.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof US||n instanceof VS&&k_(n.functionName,Rvt.SUBTYPE);){if(n instanceof VS){const e=new VS(I_(Rvt.SUBTYPE));e.parametersValues.unshift(dr(n.parametersValues[1])),t.push(e)}else if(n instanceof US){const e=new US("");e.func=n.func,e.parametersValues=n.parametersValues.length>1?n.parametersValues.slice(1):[],t.push(e)}n=dr(n.parametersValues[0])}br(t.length>0,"Can't process exists() expression: exists() usage with non-chain property expression is not supported");for(let e=0;e<t.length-1;++e)t[e].parametersValues.unshift(t[e+1]);t[t.length-1].parametersValues.unshift(o),o=mr(t[0],US,"Can't process exists() expression: can't flatten to a property expression")}return mr(gUi(o,e.queryBuilderState,t.lambdaParameterName??e.lambdaParameterName),US)},uJi=(e,t,n)=>{if(fUi(e)){const i=SVi(e,t.queryBuilderState.explorerState.humanizePropertyName);t.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:`The property '${i}' is a collection. As you are trying to filter on a collection, the filter created will be an exist filter. e.g. There exists at least one '${i}' where 'Type' is the value specified.\n If you are looking to create the filter where all values in this collection equal the value specified, rather than at least one value, consider creating post filter instead.`,type:nft.CAUTION,actions:[{label:"Cancel",type:ift.PROCEED_WITH_CAUTION,default:!0},{label:"Proceed",type:ift.PROCEED,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>lJi(e,t,n))}]})}else{const i=new EUi(t,e),r=new IUi(void 0,i);r.setIsNewlyAdded(!0);let s,o=n,a=n?.parentId;for(;a;)o=t.nodes.get(a),a=o?.parentId,o instanceof RUi&&(s=o);if(o instanceof RUi&&(s=o),n instanceof AUi)s?t.newGroupConditionFromNode(s,r,n.groupOperation):t.addNodeFromNode(r,n);else if(n instanceof DUi)s?t.queryBuilderState.applicationStore.notificationService.notifyError("Can't drag and drop here: property expression of target and source doesn't match"):t.replaceBlankNodeWithNode(r,n);else if(s&&n instanceof RUi)t.newGroupConditionFromNode(s,r);else if(n instanceof IUi){const e=t.getParentNode(n);if(s&&e instanceof RUi&&1===e.childrenIds.length)t.newGroupConditionFromNode(s,r,iUi.AND);else if(s&&e instanceof AUi){const i=cJi(t,s,n);t.removeNodeAndPruneBranch(n),t.newGroupConditionFromNode(s,r,e.groupOperation);const o=t.getParentNode(r);lJi(i,t,o)}else t.newGroupWithConditionFromNode(r,n)}else t.addNodeFromNode(r,void 0)}},dJi=ule(e=>{const{node:t,isDragOver:n,isDroppable:i}=e,r=t.groupOperation===iUi.AND?"AND":"OR";return vse.jsx("div",{className:"dnd__entry__container",children:vse.jsx(rHe,{isDragOver:n,isDroppable:i,label:r,className:"query-builder-filter-tree__group-node__drop-zone",children:vse.jsx("div",{className:"query-builder-filter-tree__group-node",title:"Switch Operation",onClick:e=>{e.stopPropagation(),t.setGroupOperation(t.groupOperation===iUi.AND?iUi.OR:iUi.AND)},children:vse.jsx("div",{className:"query-builder-filter-tree__group-node__label editable-value",children:t.groupOperation})})})})}),hJi=ule(e=>{const{node:t,humanizePropertyName:n,isDragOver:i,isDroppable:r}=e,s=Boolean(t.propertyExpressionState.derivedPropertyExpressionStates.length),o=t.propertyExpressionState.isValid;return vse.jsx("div",{className:"dnd__entry__container",children:vse.jsx(rHe,{isDragOver:i,isDroppable:r,label:"Add to Exists Group",className:"query-builder-filter-tree__exists-node__drop-zone",children:vse.jsxs("div",{className:"query-builder-filter-tree__exists-node",title:"This is an exists filter on the collection property",children:[vse.jsx("div",{className:"query-builder-filter-tree__exists-node__label",children:SVi(t.propertyExpressionState.propertyExpression,n)}),vse.jsx("div",{className:"query-builder-filter-tree__exists-node__exists--label",children:"exists"}),s&&vse.jsxs("button",{className:gle("query-builder-filter-tree__exists-node__exists--label__action",{"query-builder-filter-tree__exists-node__exists--label__action--error":!o}),tabIndex:-1,onClick:()=>{s&&t.propertyExpressionState.setIsEditingDerivedProperty(!0)},title:"Set Derived Property Argument(s)...",children:[!o&&vse.jsx(Xoe,{})," (...)"]}),vse.jsx(KQi,{propertyExpressionState:t.propertyExpressionState})]})})})}),pJi=ule(e=>{const{rightConditionValue:t,resetNode:n}=e,i=t.type;return vse.jsx("div",{className:"query-builder-filter-property-expression-badge",children:vse.jsxs("div",{className:"query-builder-filter-property-expression-badge__content",children:[vse.jsx("div",{className:gle("query-builder-filter-property-expression-badge__type",{"query-builder-filter-property-expression-badge__type--class":i instanceof Z_,"query-builder-filter-property-expression-badge__type--enumeration":i instanceof nC,"query-builder-filter-property-expression-badge__type--primitive":i instanceof V_}),children:eJi(i)}),vse.jsx("div",{className:"query-builder-filter-property-expression-badge__property",title:t.propertyExpressionState.propertyExpression.func.value.name,children:vse.jsx(QQi,{propertyExpressionState:t.propertyExpressionState})}),vse.jsx(bHi,{title:t.propertyExpressionState.propertyExpression.func.value.name,property:t.propertyExpressionState.propertyExpression.func.value,path:t.propertyExpressionState.path,isMapped:!0,placement:"bottom-end",children:vse.jsx("div",{className:"query-builder-filter-property-expression-badge__property__info",children:vse.jsx(Xoe,{})})}),vse.jsx("button",{className:"query-builder-filter-property-expression-badge__action",name:"Reset",title:"Reset",onClick:n,children:vse.jsx(Gse,{})})]})})}),gJi=ule(e=>{const{rightConditionValue:t,resetNode:n}=e,i=t.type;return vse.jsx("div",{className:"query-builder-filter-property-expression-badge",children:vse.jsxs("div",{className:"query-builder-filter-property-expression-badge__content",children:[vse.jsx("div",{className:gle("query-builder-filter-property-expression-badge__type",{"query-builder-filter-property-expression-badge__type--class":i instanceof Z_,"query-builder-filter-property-expression-badge__type--enumeration":i instanceof nC,"query-builder-filter-property-expression-badge__type--primitive":i instanceof V_||i instanceof U_}),children:eJi(i)}),vse.jsx("div",{className:"query-builder-filter-property-expression-badge__property",title:t.columnName,children:vse.jsx("div",{className:"query-builder__property__name__display__content",children:t.columnName})}),vse.jsx("button",{className:"query-builder-filter-property-expression-badge__action",name:"Reset",title:"Reset",onClick:n,children:vse.jsx(Gse,{})})]})})}),mJi=(e,t)=>{const n=t.operator,i=t.leftConditionType;return!(n instanceof uKi)&&!(n instanceof dKi)&&eyt(e,i)},fJi=ule(e=>{const{node:t,isDragOver:i}=e,r=t.condition.filterState.queryBuilderState.graphManagerState.graph,s=t.condition.filterState.queryBuilderState,o=t.condition.rightConditionValue,a=Cmt(),l=NUi(t),c=n.useCallback((e,n)=>{const i=nJi(e,n);if(void 0!==i&&mJi(i,t.condition))try{if((n===DVi||n===lzi.ENUM_PROPERTY||n===lzi.PRIMITIVE_PROPERTY)&&l)throw new yi("Collection filter does not support property for filter condition value.");if(n===DVi){const n=e.columnState;if(!(n instanceof kVi))throw new yi("Derivation projection columns are not supported for filter condition values.");{const e=n.propertyExpressionState.propertyExpression;if(fUi(e))throw new yi("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(new TVi(s,fVi(e,s.observerContext)))}}else if(n===lzi.ENUM_PROPERTY||n===lzi.PRIMITIVE_PROPERTY){const n=e.node,i=new TVi(s,vzi(n,t.condition.filterState.queryBuilderState.explorerState));if(fUi(i.propertyExpression))throw new yi("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(i)}else if(n===RQi){const n=e.variable;t.condition.buildRightConditionValueFromValueSpec(n)}else if(n===lzi.RELATION_COLUMN){if(!(t.condition.sourceState instanceof wUi))throw new yi("Relation columns can only be used as filter condition values when the filter source is a relation column.");const n=e.node;if(void 0===n.column.multiplicity.upperBound||n.column.multiplicity.upperBound>1)throw new yi("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromRelationColumn(n.column.name,n.column.genericType.value.rawType,n.column.multiplicity)}else a.notificationService.notifyWarning(`Dragging and Dropping ${n} to filter panel is not supported.`)}catch(e){return bi(e),void a.notificationService.notifyWarning(e.message)}else{const e=t.condition.leftConditionType;a.notificationService.notifyWarning(`Incompatible parameter type ${i?.name}. ${i?.name} is not compatible with type ${e.name}.`)}},[a,s,l,t.condition]),[{isFilterValueDragOver:u},d]=DGe(()=>({accept:aJi,canDrop:(e,n)=>mJi(nJi(e,n.getItemType()),t.condition),drop:(e,t)=>{t.didDrop()||c(e,t.getItemType())},collect:e=>({isFilterValueDragOver:e.isOver({shallow:!0})&&e.canDrop()})}),[c]),h=n.useRef(null);d(h);const{isFilterValueDroppable:p}=AGe(e=>({isFilterValueDroppable:e.isDragging()&&aJi.includes(e.getItemType()?.toString()??"")&&mJi(nJi(e.getItem(),e.getItemType()),t.condition)})),g=()=>{t.condition.buildRightConditionValueFromValueSpec(t.condition.operator.getDefaultFilterConditionValue(t.condition))},m=e=>{t.condition.buildRightConditionValueFromValueSpec(e)},f=n.useMemo(()=>jn(e=>{const n=CVi(V_.STRING,e,s.observerContext);return t.condition.handleTypeaheadSearch(n??void 0)},1e3),[t,s.observerContext]),v={values:t.condition.typeaheadSearchResults,isLoading:t.condition.typeaheadSearchState.isInProgress,reloadValues:f,cleanUpReloadValues:()=>{t.condition.typeaheadSearchState.complete()}};return n.useEffect(()=>{t.setIsNewlyAdded(!1)},[t]),vse.jsx("div",{className:"dnd__entry__container","data-testid":CHi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_CONTENT,children:vse.jsx(rHe,{isDragOver:i&&!u,alwaysShowChildren:!0,children:vse.jsxs("div",{className:"query-builder-filter-tree__condition-node",children:[vse.jsx("div",{className:"query-builder-filter-tree__condition-node__property",children:t.condition.sourceState instanceof SUi?vse.jsx(QQi,{propertyExpressionState:t.condition.sourceState.propertyExpressionState}):vse.jsx("div",{className:"query-builder-filter-tree__condition-node__property__label",children:t.condition.sourceState.label})}),vse.jsxs(mVe,{className:"query-builder-filter-tree__condition-node__operator",title:"Choose Operator...",content:vse.jsx(cVe,{children:t.condition.operators.map(e=>{return vse.jsx(uVe,{className:"query-builder-filter-tree__condition-node__operator__dropdown__option",onClick:(n=e,()=>t.condition.changeOperator(n)),children:e.getLabel()},e.uuid);var n})}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:7},children:[vse.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__label",children:t.condition.operator.getLabel()}),vse.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__dropdown__trigger",children:vse.jsx(Soe,{})})]}),o instanceof yUi&&o.value?vse.jsx("div",{ref:h,"data-testid":CHi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_VALUE,className:"query-builder-filter-tree__condition-node__value",children:vse.jsx(rHe,{isDragOver:u,isDroppable:p,label:"Change Filter Value",children:vse.jsx(HQi,{valueSpecification:o.value,setValueSpecification:m,graph:r,observerContext:s.observerContext,typeCheckOption:{expectedType:t.condition.leftConditionType},resetValue:g,selectorSearchConfig:v,isConstant:s.constantState.isValueSpecConstant(o.value),initializeAsEditable:t.isNewlyAdded})})}):o instanceof bUi?vse.jsx("div",{ref:h,className:"query-builder-filter-tree__condition-node__value",children:vse.jsx(rHe,{isDragOver:u,isDroppable:p,label:"Change Filter Value",children:vse.jsx(pJi,{rightConditionValue:o,resetNode:g})})}):o instanceof _Ui?vse.jsx("div",{ref:h,className:"query-builder-filter-tree__condition-node__value",children:vse.jsx(rHe,{isDragOver:u,isDroppable:p,label:"Change Filter Value",children:vse.jsx(gJi,{rightConditionValue:o,resetNode:g})})}):null]})})})}),vJi=ule(e=>{const{isDragOver:t,isDroppable:n}=e;return vse.jsx("div",{className:"query-builder-filter-tree__node__label__content",children:vse.jsx(rHe,{isDragOver:t,isDroppable:n,label:"Create Condition",children:vse.jsx("div",{className:"query-builder-filter-tree__blank-node",children:"blank"})})})}),yJi=ule(n.forwardRef(function(e,t){const{queryBuilderState:n,node:i}=e,r=n.filterState;return vse.jsxs(cVe,{ref:t,children:[i instanceof AUi&&vse.jsx(uVe,{onClick:()=>{r.addNodeFromNode(new DUi(void 0),i)},children:"Add New Condition"}),i instanceof AUi&&vse.jsx(uVe,{onClick:()=>{r.addGroupConditionNodeFromNode(i)},children:"Add New Logical Group"}),i instanceof IUi&&vse.jsx(uVe,{onClick:()=>{yvt.logEvent_FilterCreateGroupFromConditionLaunched(n.applicationStore.telemetryService),r.newGroupWithConditionFromNode(void 0,i)},children:"Form a New Logical Group"}),vse.jsx(uVe,{onClick:()=>r.removeNodeAndPruneBranch(i),children:"Remove"})]})})),bJi=ule(e=>{const{node:t,onNodeSelect:i,innerProps:r}=e,{queryBuilderState:s}=r,o=n.useRef(null),[a,l]=n.useState(!1),c=Cmt(),u=s.filterState,d=n.useCallback((e,n)=>{if(mUi.CONDITION===n){const n=e.node,i=new IUi(void 0,u.nodes.get(n.id).condition);t instanceof DUi?(u.replaceBlankNodeWithNode(i,t),u.removeNodeAndPruneBranch(n)):t instanceof IUi?(u.newGroupWithConditionFromNode(i,t),u.removeNodeAndPruneBranch(n)):t instanceof AUi&&(u.addNodeFromNode(i,t),u.removeNodeAndPruneBranch(n))}else{let i;try{if(n===lzi.RELATION_COLUMN){const t=e.node,n=new wUi(t.column.name,t.type,t.column.multiplicity);i=new EUi(u,n)}else if(n===DVi&&e.columnState instanceof LVi){const t=e.columnState,n=new wUi(t.column.name,t.column.genericType.value.rawType,t.column.multiplicity);i=new EUi(u,n)}else{let t;if(n===DVi){if(!(e.columnState instanceof kVi))throw new yi("Dragging and Dropping derivation projection column is not supported.");t=fVi(e.columnState.propertyExpressionState.propertyExpression,s.observerContext)}else t=vzi(e.node,u.queryBuilderState.explorerState);i=new EUi(u,t)}}catch(e){return bi(e),void c.notificationService.notifyWarning(e.message)}if(t instanceof TUi||t instanceof IUi||t instanceof DUi)if(i.sourceState instanceof wUi){const e=new IUi(void 0,i);e.setIsNewlyAdded(!0),t instanceof DUi?u.replaceBlankNodeWithNode(e,t):t instanceof IUi?u.newGroupWithConditionFromNode(e,t):u.addNodeFromNode(e,t)}else uJi(i.propertyExpressionState.propertyExpression,u,t)}},[c,u,t,s.observerContext]),[{isDragOver:h,deepIsDragOver:p},g]=DGe(()=>({accept:s.TEMPORARY__isDnDFetchStructureToFilterSupported?sJi:oJi,drop:(e,t)=>{t.didDrop()||d(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0}),deepIsDragOver:e.isOver({shallow:!1})})}),[d]),[,m,f]=TGe(()=>({type:t instanceof AUi?mUi.GROUP_CONDITION:t instanceof IUi?mUi.CONDITION:mUi.BLANK_CONDITION,item:()=>({node:t}),end:()=>u.setRearrangingConditions(!1),canDrag:()=>t instanceof IUi||t instanceof DUi}),[t,u]);m(g(o)),sHe(f);const{isDroppable:v}=AGe(e=>({isDroppable:e.isDragging()&&(s.TEMPORARY__isDnDFetchStructureToFilterSupported?sJi:oJi).includes(e.getItemType()?.toString()??"")})),y=t instanceof RUi&&0===t.childrenIds.length,b=t instanceof IUi||t instanceof DUi||y;return vse.jsx("div",{"data-testid":CHi.QUERY_BUILDER_FILTER_TREE_NODE_CONTAINER,className:gle("query-builder-filter-tree__node__container",{"query-builder-filter-tree__node__container--group":t instanceof AUi,"query-builder-filter-tree__node__container--condition":t instanceof IUi||t instanceof DUi,"query-builder-filter-tree__node__container--exists":t instanceof RUi,"query-builder-filter-tree__node__container--exists--empty":y,"query-builder-filter-tree__node__container--no-hover":u.isRearrangingConditions,"query-builder-filter-tree__node__container--selected":t===u.selectedNode,"query-builder-filter-tree__node__container--selected-from-context-menu":a}),children:vse.jsxs(gVe,{content:vse.jsx(yJi,{queryBuilderState:s,node:t}),menuProps:{elevation:7},onOpen:()=>l(!0),onClose:()=>l(!1),className:"query-builder-filter-tree__node__context-menu",children:[vse.jsxs("div",{"data-testid":CHi.QUERY_BUILDER_FILTER_TREE_NODE_CONTENT,className:"query-builder-filter-tree__node__content",ref:o,onClick:t instanceof IUi||t instanceof DUi?()=>i?.(t):void 0,children:[t instanceof AUi&&vse.jsx(dJi,{node:t,isDroppable:v,isDragOver:h}),t instanceof RUi&&vse.jsx(hJi,{node:t,humanizePropertyName:u.queryBuilderState.explorerState.humanizePropertyName,isDroppable:v,isDragOver:h}),t instanceof IUi&&vse.jsx(fJi,{node:t,isDragOver:p}),t instanceof DUi&&vse.jsx(vJi,{node:t,isDragOver:h,isDroppable:v})]}),b&&vse.jsx("div",{className:"query-builder-filter-tree__node__actions",children:vse.jsx("button",{className:"query-builder-filter-tree__node__action",tabIndex:-1,title:"Remove",onClick:()=>u.removeNodeAndPruneBranch(t),children:vse.jsx(gae,{})})})]})})}),_Ji=ule(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e;return vse.jsxs("div",{"data-testid":CHi.QUERY_BUILDER_FILTER_TREE_NODE_BLOCK,className:gle("query-builder-filter-tree__node__block",{"query-builder-filter-tree__node__block--group":t instanceof AUi,"query-builder-filter-tree__node__block--exists":t instanceof RUi}),children:[vse.jsx(bJi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).length>0&&vse.jsx("div",{"data-testid":CHi.QUERY_BUILDER_FILTER_TREE_NODE_CHILDREN,className:"query-builder-filter-tree__node__children",children:r(t).map(e=>vse.jsx(_Ji,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))})]})}),CJi=ule(e=>{const{queryBuilderState:t}=e,n=t.filterState,i=n.rootIds.map(e=>n.getNode(e)),r=e=>{n.setSelectedNode(n.selectedNode!==e?e:void 0)},s=e=>e instanceof TUi?e.childrenIds.map(e=>n.getNode(e)):[];return vse.jsx("div",{"data-testid":CHi.QUERY_BUILDER_FILTER_TREE,className:"tree-view__node__root query-builder-filter-tree__root",children:i.map(e=>vse.jsx(_Ji,{level:0,node:e,getChildNodes:s,onNodeSelect:r,innerProps:{queryBuilderState:t}},e.id))})}),SJi=ule(e=>{const{queryBuilderState:t}=e,i=Cmt(),r=t.filterState,s=r.getRootNode(),o=r.isEmpty||r.selectedNode&&(r.selectedNode!==s||s instanceof AUi),{isDroppable:a}=AGe(e=>({isDroppable:e.isDragging()&&(t.TEMPORARY__isDnDFetchStructureToFilterSupported?iJi:rJi).includes(e.getItemType()?.toString()??"")})),l=n.useCallback((e,n)=>{try{if(n===lzi.RELATION_COLUMN){const t=e.node,n=new wUi(t.column.name,t.type,t.column.multiplicity),i=new EUi(r,n),s=new IUi(void 0,i);s.setIsNewlyAdded(!0),r.setSelectedNode(void 0),r.addNodeFromNode(s,void 0)}else if(n===DVi&&e.columnState instanceof LVi){const t=e.columnState,n=new wUi(t.column.name,t.column.genericType.value.rawType,t.column.multiplicity),i=new EUi(r,n),s=new IUi(void 0,i);s.setIsNewlyAdded(!0),r.setSelectedNode(void 0),r.addNodeFromNode(s,void 0)}else{let i;if(n===DVi){if(!(e.columnState instanceof kVi))throw new yi("Dragging and Dropping derivation projection column is not supported.");i=fVi(e.columnState.propertyExpressionState.propertyExpression,t.observerContext)}else i=vzi(e.node,r.queryBuilderState.explorerState);r.setSelectedNode(void 0),uJi(i,r)}}catch(e){return bi(e),void i.notificationService.notifyWarning(e.message)}},[i,r,t.observerContext]),[{isDragOver:c},u]=DGe(()=>({accept:t.TEMPORARY__isDnDFetchStructureToFilterSupported?iJi:rJi,drop:(e,t)=>{t.didDrop()||l(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[l]),d=n.useRef(null);return u(d),vse.jsxs("div",{"data-testid":CHi.QUERY_BUILDER_FILTER_PANEL,className:"panel",children:[vse.jsxs("div",{className:"panel__header",children:[vse.jsxs("div",{className:"panel__header__title",children:[vse.jsx("div",{className:"panel__header__title__label",children:"filter"}),0!==r.allValidationIssues.length&&vse.jsx(JQi,{issues:r.allValidationIssues})]}),vse.jsx("div",{className:"panel__header__actions",children:vse.jsx(mVe,{className:"panel__header__action",title:"Show Filter Options Menu...",content:vse.jsxs(cVe,{children:[vse.jsxs(uVe,{onClick:()=>{yvt.logEvent_FilterCreateConditionLaunched(t.applicationStore.telemetryService),r.addNodeFromNode(new DUi(void 0),r.selectedNode)},children:[vse.jsx(hVe,{children:vse.jsx(sae,{})}),vse.jsx(pVe,{children:"Create Condition"})]}),vse.jsxs(uVe,{disabled:!(r.selectedNode instanceof IUi),onClick:()=>{yvt.logEvent_FilterCreateLogicalGroupLaunched(i.telemetryService),r.selectedNode instanceof IUi&&r.newGroupWithConditionFromNode(void 0,r.selectedNode)},children:[vse.jsx(hVe,{children:vse.jsx(Rae,{})}),vse.jsx(pVe,{children:"Create Group From Condition"})]}),vse.jsxs(uVe,{disabled:!o,title:o?"":"Please select a filter node first to create logical group",onClick:()=>{yvt.logEvent_FilterCreateLogicalGroupLaunched(t.applicationStore.telemetryService),o&&r.addGroupConditionNodeFromNode(r.selectedNode)},children:[vse.jsx(hVe,{children:vse.jsx(nae,{})}),vse.jsx(pVe,{children:"Create Logical Group"})]}),vse.jsxs(uVe,{onClick:()=>{yvt.logEvent_FilterCleanupTreeLaunched(t.applicationStore.telemetryService),r.pruneTree()},children:[vse.jsx(hVe,{children:vse.jsx(fae,{})}),vse.jsx(pVe,{children:"Cleanup Tree"})]}),vse.jsxs(uVe,{onClick:()=>{yvt.logEvent_FilterSimplifyTreeLaunched(t.applicationStore.telemetryService),r.simplifyTree()},children:[vse.jsx(hVe,{children:vse.jsx(Aoe,{})}),vse.jsx(pVe,{children:"Simplify Tree"})]}),vse.jsxs(uVe,{onClick:()=>{yvt.logEvent_FilterCollapseTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.collapseTree()},children:[vse.jsx(hVe,{children:vse.jsx(Doe,{})}),vse.jsx(pVe,{children:"Collapse Tree"})]}),vse.jsxs(uVe,{onClick:()=>{yvt.logEvent_FilterExpandTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.expandTree()},children:[vse.jsx(hVe,{children:vse.jsx(Uoe,{})}),vse.jsx(pVe,{children:"Expand Tree"})]})]}),children:vse.jsx(Bse,{className:"query-builder__icon__more-options"})})})]}),vse.jsx(xVe,{children:vse.jsxs(tHe,{isDragOver:c&&r.isEmpty,isDroppable:a&&r.isEmpty,dropTargetConnector:u,children:[r.isEmpty&&vse.jsx(FVe,{text:"Add a filter condition",tooltipText:"Drag and drop properties here"}),!r.isEmpty&&vse.jsxs(vse.Fragment,{children:[vse.jsx(oHe,{labelGetter:e=>e.node.dragPreviewLabel,types:Object.values(mUi)}),vse.jsx(CJi,{queryBuilderState:t})]}),a&&!r.isEmpty&&vse.jsx("div",{ref:d,className:"query-builder-filter-tree__free-drop-zone__container",children:vse.jsx(rHe,{isDragOver:c,isDroppable:a,className:"query-builder-filter-tree__free-drop-zone",label:"Add filter to main group",children:vse.jsx(vse.Fragment,{})})})]})})]})}),wJi=ule(e=>{const{resultState:t}=e,i=Cmt(),r=i.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraQueryUsageConfigurations?.()??[]),[s,o]=n.useState(r[0]?.title),a=r.find(e=>e.title===s);return vse.jsx(V_e,{open:t.isQueryUsageViewerOpened,onClose:()=>t.setIsQueryUsageViewerOpened(!1),children:vse.jsxs(eVe,{className:"query-builder__usage-viewer__modal",darkMode:!i.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[vse.jsx(nVe,{title:"Query Usage"}),vse.jsx(rVe,{className:"query-builder__usage-viewer__body",children:vse.jsxs(vse.Fragment,{children:[0===r.length?vse.jsx(MVe,{children:"Query usage is not available"}):vse.jsxs(vse.Fragment,{children:[vse.jsx("div",{className:"query-builder__usage-viewer__tab__header",children:vse.jsx("div",{className:"query-builder__usage-viewer__tabs",children:r.map(e=>vse.jsxs("button",{className:gle("query-builder__usage-viewer__tab",{"query-builder__usage-viewer__tab--active":s===e.key}),tabIndex:-1,onClick:()=>o(e.key),children:[void 0!==e.icon&&vse.jsx("div",{className:"query-builder__usage-viewer__tab__icon",children:e.icon}),vse.jsx("div",{className:"query-builder__usage-viewer__tab__label",children:e.title})]},e.key))})}),vse.jsx("div",{className:"query-builder__usage-viewer__content",children:a?.renderer()})]}),vse.jsx(RVe,{})]})}),vse.jsx(sVe,{children:vse.jsx(aVe,{onClick:()=>t.setIsQueryUsageViewerOpened(!1),text:"Close",type:"secondary"})})]})})});var EJi;function xJi(e){if("string"==typeof e||"number"==typeof e)return""+e;let t="";if(Array.isArray(e))for(let n,i=0;i<e.length;i++)""!==(n=xJi(e[i]))&&(t+=(t&&" ")+n);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}!function(e){e.QUESTION_HOW_TO_ADD_PARAMETERS_TO_QUERY="question.how-to-add-parameters-to-query",e.QUESTION_HOW_TO_ADD_CONSTANTS_TO_QUERY="question.how-to-add-constants-to-query",e.QUESTION_HOW_TO_USE_LOCAL_GRID_MODE="question.how-to-use-local-grid-mode",e.TUTORIAL_QUERY_BUILDER="tutorial.query.builder",e.FREQUENTLY_ASKED_QUESTIONS="frequently.asked.questions",e.SUPPORT_TICKETS_LINK="support.tickets.link"}(EJi||(EJi={}));var TJi,AJi={exports:{}},RJi={};var NJi,IJi,DJi={};
|
|
901
|
+
`})}),BBi=ule(e=>{const{view:t}=e,n=t.grid.scrollHintText,i=document.querySelector(".data-cube-grid .ag-side-bar"),r=document.querySelector(".data-cube-grid .ag-body-vertical-scroll");return vse.jsxs("div",{className:"absolute -top-10 flex items-center rounded-sm border border-neutral-300 bg-neutral-100 p-1 pr-2 text-neutral-500 shadow-sm",style:{right:(null!==i?i.getBoundingClientRect().width+6:10)+(null!==r?r.getBoundingClientRect().width:0)},children:[vse.jsx(rRe,{className:"text-lg"}),vse.jsx("div",{className:"ml-1 font-mono text-sm",children:n??""})]})}),VBi=ule(e=>{const{view:t}=e,n=aBi(),i=t.grid;return vse.jsxs("div",{className:"relative flex h-5 w-full select-none justify-between border-b border-neutral-200 bg-neutral-100",children:[Boolean(i.scrollHintText)&&vse.jsx(BBi,{view:t}),vse.jsx("div",{}),vse.jsxs("div",{className:"flex h-full items-center",children:[vse.jsx("div",{className:"flex h-full items-center px-2 font-mono text-sm text-neutral-500",children:i.clientDataSource.rowCount?`Rows: ${i.clientDataSource.rowCount}`:""}),void 0!==i.rowLimit&&i.configuration.showWarningForTruncatedResult&&vse.jsxs(vse.Fragment,{children:[vse.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),vse.jsxs("div",{className:"flex h-full items-center px-2 text-orange-500",children:[vse.jsx(uRe,{className:"stroke-[3px]"}),vse.jsx("div",{className:"ml-1 text-sm font-semibold",children:`Results truncated to fit within row limit (${i.rowLimit})`})]})]}),vse.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),vse.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setPaginationEnabled(!i.isPaginationEnabled)},children:[vse.jsx(Kwe,{checked:i.isPaginationEnabled,classes:{root:"p-0 w-6 h-5 flex items-center",input:"w-2",checked:"!translate-x-2 ease-in-out duration-100 transition",thumb:iAe("w-2 h-2",{"bg-sky-600":i.isPaginationEnabled,"bg-neutral-500":!i.isPaginationEnabled}),switchBase:"p-0.5 mt-1 translate-x-0 ease-in-out duration-100 transition",track:iAe("h-3 w-5 border",{"!bg-sky-100 border-sky-600":i.isPaginationEnabled,"!bg-neutral-100 border-neutral-500":!i.isPaginationEnabled})},disableRipple:!0,disableFocusRipple:!0}),vse.jsx("div",{className:iAe("text-sm",{"text-sky-600":i.isPaginationEnabled,"text-neutral-500":!i.isPaginationEnabled}),children:"Pagination"})]}),t.dataCube.options?.enableCache&&vse.jsxs(vse.Fragment,{children:[vse.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),vse.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setCachingEnabled(!i.isCachingEnabled).catch(e=>n.alertService.alertUnhandledError(e))},children:[vse.jsx(Kwe,{checked:i.isCachingEnabled,classes:{root:"p-0 w-6 h-5 flex items-center",input:"w-2",checked:"!translate-x-2 ease-in-out duration-100 transition",thumb:iAe("w-2 h-2",{"bg-sky-600":i.isCachingEnabled,"bg-neutral-500":!i.isCachingEnabled}),switchBase:"p-0.5 mt-1 translate-x-0 ease-in-out duration-100 transition",track:iAe("h-3 w-5 border",{"!bg-sky-100 border-sky-600":i.isCachingEnabled,"!bg-neutral-100 border-neutral-500":!i.isCachingEnabled})},disableRipple:!0,disableFocusRipple:!0,disabled:t.processCacheState.isInProgress,title:t.processCacheState.isInProgress?"Processing cache...":""}),vse.jsxs("div",{className:iAe("flex items-center text-sm",{"text-sky-600":i.isCachingEnabled,"text-neutral-500":!i.isCachingEnabled}),children:["Cache ",vse.jsx(lBi,{})]})]})]})]})]})}),UBi=ule(e=>{const{view:t}=e,n=t.grid;return"production"===process.env.NODE_ENV||n.isClientConfigured||(console.error=(e,...t)=>{console.debug(`%c ${e}`,"color: silver")}),vse.jsx("div",{className:"relative h-[calc(100%_-_20px)] w-full",children:vse.jsx(dbi,{theme:"legacy",className:"data-cube-grid ag-theme-quartz",rowModelType:"serverSide",serverSideDatasource:n.clientDataSource,context:{view:t},onGridReady:e=>{n.configureClient(e.api).catch(e=>t.alertService.alertUnhandledError(e)),"production"!==process.env.NODE_ENV&&(console.error=LBi)},modules:[Qvi,WPi],...C8n(t)})})}),GBi=ule(e=>{const{view:t}=e,n=t.grid.configuration;return vse.jsxs("div",{className:"h-[calc(100%_-_48px)] w-full",children:[vse.jsx(FBi,{configuration:n}),vse.jsx(UBi,{view:t}),vse.jsx(VBi,{view:t})]})}),HBi=ule(e=>{const{view:t}=e;switch(t.info.configuration.gridMode){case xyt.MULTIDIMENSIONAL:return vse.jsx(kBi,{view:t});case xyt.STANDARD:return vse.jsx(GBi,{view:t});default:return vse.jsx("div",{className:"border-t-1 border-b-1 h-[calc(100%_-_48px)] w-full border border-neutral-200 bg-neutral-50"})}}),zBi=ule(e=>{const{view:t,taskManager:n}=e,i=t?.taskService.tasks??n?.tasks;return vse.jsxs("div",{className:"flex h-5 w-full justify-between bg-neutral-100",children:[vse.jsxs("div",{className:"flex",children:[vse.jsxs("button",{className:"flex items-center px-2 text-sky-600 hover:text-sky-700 disabled:text-neutral-400",onClick:()=>{t?.editor.display.open(),t?.dataCube.telemetryService.sendTelemetry(cyt.OPEN_EDITOR_PROPERTIES,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:Ryt.STATUS_BAR})},disabled:!t,children:[vse.jsx(YAe,{className:"text-xl"}),vse.jsx("div",{className:"pl-0.5 underline",children:"Properties"})]}),vse.jsx("div",{className:"flex",children:vse.jsxs("button",{className:"flex items-center text-sky-600 hover:text-sky-700 disabled:text-neutral-400",onClick:()=>{t?.filter.display.open(),t?.dataCube.telemetryService.sendTelemetry(cyt.OPEN_EDITOR_FILTER,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:Ryt.STATUS_BAR})},disabled:!t||ibt(t.info.configuration.gridMode),children:[vse.jsx(JAe,{className:"text-lg"}),vse.jsx("div",{className:"pl-0.5 underline",children:"Filter"})]})})]}),vse.jsx("div",{className:"flex items-center px-2",children:vse.jsx("div",{className:"flex h-3.5 w-48 border-[0.5px] border-neutral-300",title:void 0!==i&&i.length>0?i.length>1?i.map((e,t)=>`Task ${t+1}/${i.length}: ${e.description}`).join("\n"):Gr(i,0).description:void 0,children:void 0!==i&&i.length>0&&vse.jsx(KCe,{classes:{root:"h-3.5 w-full bg-transparent",bar1Indeterminate:"bg-green-500",bar2Indeterminate:"bg-green-500"},variant:"indeterminate"})})})]})}),jBi=ule(e=>{const{children:t,title:i,menuItems:r,getMenuItems:s}=e,[o,a,l]=fVe(),[c,u]=n.useState([...r??[]]);return vse.jsxs("div",{className:"flex h-7 w-full bg-neutral-100",children:[vse.jsxs("div",{className:"flex w-fit max-w-80 items-center pl-1 pr-2 text-lg font-medium",children:[vse.jsx(IAe,{className:"mr-1 h-4 w-4 flex-shrink-0"}),vse.jsx("div",{className:"truncate",children:i})]}),vse.jsxs("div",{className:"flex w-full flex-auto",children:[t,vse.jsx("button",{className:"flex aspect-square h-full flex-shrink-0 items-center justify-center text-lg disabled:text-neutral-400",onClick:e=>{const t=s?.()??[];t.length&&t.unshift(IBi.SEPARATOR),u([...r??[],...t]),o(e)},disabled:!r?.length,children:vse.jsx(jAe,{})}),vse.jsx(vVe,{...l,menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"left"},classes:{paper:"rounded-none mt-[1px]",list:"w-40 p-0 rounded-none border border-neutral-400 bg-white overflow-y-auto py-0.5"}},children:c.map((e,t)=>wr(e)?vse.jsx(yVe,{className:"flex h-[22px] w-full items-center px-2.5 text-base hover:bg-neutral-100 focus:bg-neutral-100",onClick:()=>{e.action(),a()},disabled:Boolean(e.disabled),children:e.label},t):e===IBi.SEPARATOR?vse.jsx("div",{className:"my-1 h-[1px] w-full bg-neutral-200"},t):null)})]})]})}),WBi=e=>{const{message:t,prompt:n}=e;return vse.jsxs("div",{className:"flex h-full w-full overflow-auto p-5",children:[vse.jsx("div",{className:"mr-3",children:vse.jsx(mAe,{className:"flex-shrink-0 stroke-[0.5px] text-[40px] text-red-500"})}),vse.jsxs("div",{children:[vse.jsx("div",{className:"whitespace-break-spaces text-lg",children:t}),vse.jsx("div",{className:"mt-1 whitespace-break-spaces text-neutral-500",children:n})]})]})},$Bi=ule(e=>{const{children:t,taskManager:n}=e;return vse.jsxs(vse.Fragment,{children:[vse.jsx("div",{className:"h-[calc(100%_-_48px)] w-full border border-x-0 border-neutral-200 bg-neutral-50",children:t??null}),vse.jsx(zBi,{taskManager:n})]})}),qBi=ule(e=>{const{children:t,title:n,menuItems:i,headerContent:r,layoutManager:s,taskManager:o}=e;return vse.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white","data-testid":lyt.PLACEHOLDER,children:[vse.jsx(jBi,{title:n,menuItems:i,children:r??null}),vse.jsx($Bi,{taskManager:o,children:t}),s?vse.jsx(NBi,{layout:s}):null,vse.jsx(lMn,{})]})}),YBi=ule(e=>{const{view:t}=e;return n.useEffect(()=>()=>t.dispose(),[t]),t.initializeState.hasFailed?vse.jsx($Bi,{children:vse.jsx(WBi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})}):vse.jsxs(vse.Fragment,{children:[vse.jsx(HBi,{view:t}),vse.jsx(zBi,{view:t})]})}),KBi=ule(()=>{const e=aBi(),t=e.view,i=e=>{t.dataCube.telemetryService.sendTelemetry(cyt.SELECT_ITEM_TITLE_BAR,{...t.engine.getDataFromSource(t.getInitialSource()),menuName:e})};return n.useEffect(()=>{e.view.initialize(e.specification).catch(t=>e.logService.logUnhandledError(t))},[e]),vse.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white",children:[vse.jsx(jBi,{title:t.info.name,menuItems:[{label:Ayt.UNDO,action:()=>{e.view.snapshotService.undo(),i(Ayt.UNDO)},disabled:!e.view.snapshotService.canUndo},{label:Ayt.REDO,action:()=>{e.view.snapshotService.redo(),i(Ayt.REDO)},disabled:!e.view.snapshotService.canRedo},{label:Ayt.SETTINGS,action:()=>{e.settingService.display.open(),i(Ayt.SETTINGS)}}],getMenuItems:e.options?.getHeaderMenuItems,children:e.options?.innerHeaderRenderer?.({api:e.api})??null}),vse.jsx(YBi,{view:t}),vse.jsx(NBi,{layout:e.layoutService.manager}),vse.jsx(lMn,{})]})}),XBi=ule(e=>{const{specification:t,engine:i,options:r}=e,s=hle(()=>new rBi(t,i,r));return n.useEffect(()=>(s.initialize().catch(e=>s.logService.logUnhandledError(e)),()=>s.dispose()),[s]),s.initializeState.hasSucceeded?vse.jsx(oBi,{value:s,children:vse.jsx(KBi,{},s.uuid)}):vse.jsx(qBi,{title:Oyt,headerContent:s.options?.innerHeaderRenderer?.({api:s.api})??null,layoutManager:s.layoutService.manager,taskManager:s.taskService.manager,children:s.initializeState.hasFailed&&vse.jsx(WBi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})})});var ZBi,QBi,JBi,eVi,tVi,nVi;!function(e){e.ABSOLUTE_DATE="Absolute Date",e.ABSOLUTE_TIME="Absolute Time",e.TODAY="Today",e.NOW="Now",e.YESTERDAY="Yesterday",e.ONE_YEAR_AGO="One Year Ago",e.ONE_MONTH_AGO="One Month Ago",e.ONE_WEEK_AGO="One Week Ago",e.CUSTOM_DATE="Custom Date",e.PREVIOUS_DAY_OF_WEEK="Previous ... of Week",e.FIRST_DAY_OF="First day of...",e.LATEST_DATE="Latest Date"}(ZBi||(ZBi={})),function(e){e.DAYS="Day(s)",e.WEEKS="Week(s)",e.MONTHS="Month(s)",e.YEARS="Year(s)"}(QBi||(QBi={})),function(e){e.WEEK="Week",e.MONTH="Month",e.QUARTER="Quarter",e.YEAR="Year"}(JBi||(JBi={})),function(e){e.MONDAY="Monday",e.TUESDAY="Tuesday",e.WENDNESDAY="Wednesday",e.THURSDAY="Thursday",e.FRIDAY="Friday",e.SATURDAY="Saturday",e.SUNDAY="Sunday"}(eVi||(eVi={})),function(e){e.BEFORE="Before",e.AFTER="After"}(tVi||(tVi={})),function(e){e.TODAY="Today",e.NOW="Now",e.FIRST_DAY_OF_THIS_YEAR="Start of Year",e.FIRST_DAY_OF_QUARTER="Start of Quarter",e.FIRST_DAY_OF_MONTH="Start of Month",e.FIRST_DAY_OF_WEEK="Start of Week",e.PERVIOUS_DAY_OF_WEEK="Previous Day of Week"}(nVi||(nVi={}));class iVi{label;value;constructor(e,t){this.label=e,this.value=t}}class rVi extends iVi{duration;unit;direction;referenceMoment;constructor(e,t,n,i,r,s){super(e,t),this.duration=n,this.unit=i,this.direction=r,this.referenceMoment=s}generateDisplayLabel(){return[this.duration,this.unit,this.direction,this.referenceMoment].join(" ")}updateLabel(){this.label=this.generateDisplayLabel()}}class sVi extends iVi{unit;constructor(e,t){super(e,ZBi.FIRST_DAY_OF),this.unit=t}}class oVi extends iVi{day;constructor(e,t){super(e,ZBi.PREVIOUS_DAY_OF_WEEK),this.day=t}}const aVi=[new rVi("Yesterday",ZBi.YESTERDAY,1,QBi.DAYS,tVi.BEFORE,nVi.TODAY),new rVi("One Week Ago",ZBi.ONE_WEEK_AGO,1,QBi.WEEKS,tVi.BEFORE,nVi.TODAY),new rVi("One Month Ago",ZBi.ONE_MONTH_AGO,1,QBi.MONTHS,tVi.BEFORE,nVi.TODAY),new rVi("One Year Ago",ZBi.ONE_YEAR_AGO,1,QBi.YEARS,tVi.BEFORE,nVi.TODAY)],lVi=e=>Object.values(Rvt).find(t=>k_(e,t)),cVi=(e,t,n)=>{if(e instanceof oVi){const i=new VS(Rvt.PREVIOUS_DAY_OF_WEEK);Pvt(i,j_.create(new X_(V_.DATE)));const r=new NS(j_.create(new X_(t.getType(xvt.DAY_OF_WEEK))));return jvt(r,[...r.values,dC.create(dr(t.getEnumeration(xvt.DAY_OF_WEEK).values.filter(t=>t.name===e.day)[0]))],n),Uvt(i,r,n),i}if(e instanceof sVi)switch(e.unit){case JBi.YEAR:{const e=new VS(Rvt.FIRST_DAY_OF_THIS_YEAR);return Pvt(e,j_.create(new X_(V_.DATE))),e}case JBi.QUARTER:{const e=new VS(Rvt.FIRST_DAY_OF_QUARTER);return Pvt(e,j_.create(new X_(V_.STRICTDATE))),e}case JBi.MONTH:{const e=new VS(Rvt.FIRST_DAY_OF_THIS_MONTH);return Pvt(e,j_.create(new X_(V_.DATE))),e}case JBi.WEEK:{const e=new VS(Rvt.FIRST_DAY_OF_WEEK);return Pvt(e,j_.create(new X_(V_.DATE))),e}default:throw new yi(`Can't build expression for 'First Day Of ...' date picker option for unit '${e.unit}'`)}else switch(e.value){case ZBi.TODAY:return pVi(Rvt.TODAY,V_.STRICTDATE);case ZBi.NOW:return pVi(Rvt.NOW,V_.DATETIME);case nVi.FIRST_DAY_OF_THIS_YEAR:{const e=new VS(Rvt.FIRST_DAY_OF_THIS_YEAR);return Pvt(e,j_.create(new X_(V_.DATE))),e}case nVi.FIRST_DAY_OF_QUARTER:{const e=new VS(Rvt.FIRST_DAY_OF_QUARTER);return Pvt(e,j_.create(new X_(V_.STRICTDATE))),e}case nVi.FIRST_DAY_OF_MONTH:{const e=new VS(Rvt.FIRST_DAY_OF_THIS_MONTH);return Pvt(e,j_.create(new X_(V_.DATE))),e}case nVi.FIRST_DAY_OF_WEEK:{const e=new VS(Rvt.FIRST_DAY_OF_WEEK);return Pvt(e,j_.create(new X_(V_.DATE))),e}default:throw new yi(`Can't build expression for date picker option '${e.value}'`)}},uVi=(e,t)=>{const n=t.getEnumeration(xvt.DURATION_UNIT),i=n.values.filter(t=>t.name===Object.keys(QBi).filter(t=>QBi[t]===e)[0])[0];return i??dr(n.values[0])},dVi=(e,t)=>{if(e instanceof VS&&k_(e.functionName,Rvt.ADJUST)||e instanceof AT&&k_(e.function,Rvt.ADJUST))try{const t=new rVi("",ZBi.CUSTOM_DATE,(e=>{if(e instanceof VS){const t=e.parametersValues[1];return t instanceof RS?t.values[0]:t instanceof VS&&k_(t.functionName,Rvt.MINUS)&&t.parametersValues[0]instanceof RS?t.parametersValues[0].values[0]:0}{const t=e.parameters[1];return t instanceof DT?t.value:t instanceof AT&&k_(t.function,Rvt.MINUS)&&t.parameters[0]instanceof DT?t.parameters[0].value:0}})(e),(e=>dr(e instanceof VS?Object.keys(QBi).filter(t=>t===e.parametersValues[2].values[0]?.value.name).map(e=>QBi[e])[0]:Object.values(QBi).filter(t=>t===mr(e.parameters[2],cA).property)[0]))(e),(n=e)instanceof VS?n.parametersValues[1]instanceof VS&&k_(n.parametersValues[1].functionName,Rvt.MINUS)?tVi.BEFORE:tVi.AFTER:n.parameters[1]instanceof AT&&k_(n.parameters[1].function,Rvt.MINUS)?tVi.BEFORE:tVi.AFTER,(e=>{const t=e instanceof VS?e.parametersValues[0].functionName:e.parameters[0].function;switch(lVi(t)){case Rvt.TODAY:return nVi.TODAY;case Rvt.NOW:return nVi.NOW;case Rvt.FIRST_DAY_OF_THIS_YEAR:return nVi.FIRST_DAY_OF_THIS_YEAR;case Rvt.FIRST_DAY_OF_QUARTER:return nVi.FIRST_DAY_OF_QUARTER;case Rvt.FIRST_DAY_OF_THIS_MONTH:return nVi.FIRST_DAY_OF_MONTH;case Rvt.FIRST_DAY_OF_WEEK:return nVi.FIRST_DAY_OF_WEEK;case Rvt.PREVIOUS_DAY_OF_WEEK:return nVi.PERVIOUS_DAY_OF_WEEK;default:throw new yi(`Can't build custom date option reference moment '${t}'`)}})(e)),i=aVi.filter(e=>e.generateDisplayLabel()===t.generateDisplayLabel());return i.length>0?(t.label=dr(i[0]?.label),t.value=dr(i[0]?.value),t):(t.updateLabel(),t)}catch(e){bi(e),t.notificationService.notifyError(e)}var n;return new rVi("","",0,void 0,void 0,void 0)},hVi=(e,t)=>{if(!(e instanceof VS||e instanceof AT)){if(e instanceof RS)return e.genericType.value.rawType.path===Xb.LATESTDATE?new iVi(ZBi.LATEST_DATE,ZBi.LATEST_DATE):new iVi(e.values[0]??"",null===e.values[0]?"":e.genericType.value.rawType.path===Xb.DATETIME?ZBi.ABSOLUTE_TIME:ZBi.ABSOLUTE_DATE);if(e instanceof BT)return new iVi(ZBi.LATEST_DATE,ZBi.LATEST_DATE);if(e instanceof PT)return new iVi(e.value,ZBi.ABSOLUTE_DATE);if(e instanceof MT)return new iVi(e.value,ZBi.ABSOLUTE_TIME);throw new Error(`Unexpected date V1_ValueSpecification: ${e}`)}{const n=e instanceof VS?e.functionName:e.function;switch(lVi(n)){case Rvt.TODAY:return new iVi(ZBi.TODAY,ZBi.TODAY);case Rvt.NOW:return new iVi(ZBi.NOW,ZBi.NOW);case Rvt.FIRST_DAY_OF_THIS_YEAR:return new sVi(nVi.FIRST_DAY_OF_THIS_YEAR,JBi.YEAR);case Rvt.FIRST_DAY_OF_QUARTER:return new sVi(nVi.FIRST_DAY_OF_QUARTER,JBi.QUARTER);case Rvt.FIRST_DAY_OF_THIS_MONTH:return new sVi(nVi.FIRST_DAY_OF_MONTH,JBi.MONTH);case Rvt.FIRST_DAY_OF_WEEK:return new sVi(nVi.FIRST_DAY_OF_WEEK,JBi.WEEK);case Rvt.PREVIOUS_DAY_OF_WEEK:const n=e instanceof VS?e.parametersValues[0].values[0]?.value.name:mr(e.parameters[0],cA).property;return new oVi(`Previous ${n}`,n);case Rvt.ADJUST:return dVi(e,t);default:return new iVi("","")}}},pVi=(e,t)=>{const n=new VS(e);return Pvt(n,j_.create(new X_(t))),n},gVi=(e,t,n,i)=>{const r=new RS(j_.create(new X_(e.getPrimitiveType(t))));return jvt(r,[n],i),r},mVi=(e,t)=>{const n=fn(e);return n.genericType=e.genericType,n.multiplicity=e.multiplicity,n},fVi=(e,t)=>{const n=new US(e.functionName);return Gvt(n,fC.create(dr(e.func.value))),Bvt(n,e.parametersValues.map(e=>mVi(e)),t),n},vVi=(e,t,n,i)=>{const r=Jvt(t)??t.path;switch(r){case Xb.STRING:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.BINARY:case Xb.BYTE:case Xb.INTEGER:return gVi(e,r,i?tyt(r):null,n);case Xb.BOOLEAN:return gVi(e,r,tyt(r),n);case Xb.DATE:return gVi(e,Xb.STRICTDATE,i?tyt(r):null,n);default:if(t instanceof nC){const e=new NS(j_.create(new X_(t)));if(i){if(!(t.values.length>0))throw new yi(`Can't get default value for enumeration since enumeration '${r}' has no value`);jvt(e,[dC.create(t.values[0])],n)}return e}throw new yi(`Can't get default value for type '${r}'`)}},yVi=(e,t)=>w7(((e,t)=>{const n=new HS(new GS(C_.create(e.getType(exports.CORE_PURE_PATH.ANY)),A_.ONE));return n.expressionSequence[0]=vVi(e,V_.STRING,t,!0),n})(e.graph,t),e),bVi=(e,t,n,i)=>{const r=e.genericType?.value.rawType,s=e.multiplicity;if((!s.upperBound||s.upperBound>1)&&r&&r!==V_.BYTE)return new IS(s,j_.create(new X_(r)));if(r instanceof V_)return((e,t,n)=>{const i=e.name;return i===Xb.DATE||i===Xb.DATETIME?pVi(Rvt.NOW,V_.DATETIME):i===Xb.STRICTDATE?pVi(Rvt.TODAY,V_.STRICTDATE):i===Xb.DATE?gVi(t,Xb.STRICTDATE,tyt(i),n):gVi(t,i,tyt(i),n)})(r,t,n);if(r instanceof nC){const e=new NS(j_.create(new X_(r))),t=(o=r,(new My).getRandomItemInCollection(o.values)?.name??"");return""!==t&&jvt(e,[dC.create(hE(r,t))],n),e}var o},_Vi=(e,t,n)=>{if(e instanceof RS)return CE(e.genericType.value.rawType,V_.DATE)?hVi(e,t).label:e.genericType.value.rawType===V_.STRING&&n?.wrapStringInDoubleQuotes?`"${e.values[0]?.toString()}"`:e.values[0]?.toString();if(e instanceof NS){const t=e.values[0];return n?.omitEnumOwnerName?t?.value.name:`${t?.ownerReference.value.name}.${t?.value.name}`}return e instanceof TS?e.name:e instanceof jS?_Vi(e.getValue(),t,n):e instanceof VS?void 0!==e.genericType?.value.rawType&&CE(e.genericType.value.rawType,V_.DATE)?hVi(e,t).label:e.functionName:e instanceof IS?e.values.map(e=>_Vi(e,t,n)).join(","):void 0},CVi=(e,t,n)=>{let i,r=null;if(e instanceof V_)i=e;else if(e instanceof U_){const t=Jvt(e);i=t?H_(t):void 0}if(i)switch(i.path){case Xb.STRING:r=new RS(j_.create(new X_(i))),jvt(r,[t.toString()],n);break;case Xb.NUMBER:case Xb.FLOAT:case Xb.DECIMAL:case Xb.INTEGER:{if(isNaN(Number(t)))return null;const e=i.path===Xb.INTEGER?Number.parseInt(Number(t).toString(),10):Number(t);r=new RS(j_.create(new X_(i))),jvt(r,[e],n);break}case Xb.DATE:case Xb.STRICTDATE:if(isNaN(Date.parse(t)))return null;r=new RS(j_.create(new X_(i))),jvt(r,[t],n);break;case Xb.DATETIME:if(isNaN(Date.parse(t))||!new Date(t).getTime()||t.includes("%")&&(isNaN(Date.parse(t.slice(1)))||!new Date(t.slice(1)).getTime()))return null;r=new RS(j_.create(new X_(i))),jvt(r,[t],n);break;default:return null}return r},SVi=(e,t)=>{const n=t?vf:e=>e,i=[n(e.func.value.name)];let r=e;for(;r instanceof US;){for(r=r.parametersValues[0];r instanceof VS&&k_(r.functionName,Rvt.SUBTYPE);){const e=`${Wb}(${n(r.parametersValues.filter(e=>e instanceof AS)[0]?.genericType?.value.rawType.name??"")})`;i.unshift(e),r=r.parametersValues[0]}r instanceof US&&i.unshift(n(r.func.value.name))}const s=[];for(const e of i)if(s.length){const t=dr(s[s.length-1]);t.startsWith(Wb)?s[s.length-1]=`${t}${e}`:s.push(e)}else s.push(e);return s.join(t?"/":".")},wVi=e=>{const t=[e.func.value.name];let n=e;for(;n instanceof US;)n=n.parametersValues[0],n instanceof US&&t.unshift(n.func.value.name);return t.join(".")},EVi=(e,t,n,i)=>{if(e.genericType){const r=e.genericType.value.rawType;if(r instanceof V_||r instanceof nC)return r===V_.LATESTDATE?new RS(j_.create(new X_(r))):vVi(t,r,i,n||0===e.multiplicity.lowerBound)}return(e=>new IS(A_.ZERO,j_.create(new X_(e.getType(exports.CORE_PURE_PATH.ANY)))))(t)};class xVi{queryBuilderState;path;title;propertyExpression;derivedProperty;parameters=[];propertyExpressionState;constructor(e,t,n){this.path=wVi(t),this.title=SVi(t,!0),this.propertyExpression=Nie(t,e.observerContext),this.queryBuilderState=e,this.derivedProperty=mr(t.func.value,pC),this.propertyExpressionState=n,Array.isArray(this.derivedProperty.parameters)&&(this.parameters=this.derivedProperty.parameters.map(e=>mr(this.queryBuilderState.graphManagerState.graphManager.buildValueSpecification(e,this.queryBuilderState.graphManagerState.graph),TS))),(e=>{const t=e.parameterValues;e.parameters.forEach((n,i)=>{i<e.parameterValues.length?t[i]=Mvt(e,i)??dr(t[i]):t.push(Mvt(e,i)??EVi(n,e.queryBuilderState.graphManagerState.graph,e.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue,e.queryBuilderState.observerContext))}),Bvt(e.propertyExpression,[dr(e.propertyExpression.parametersValues[0]),...t],e.queryBuilderState.observerContext)})(this)}get property(){return this.propertyExpression.func.value}get parameterValues(){return this.propertyExpression.parametersValues.slice(1)}get isValid(){return this.parameterValues.every(e=>!(e instanceof AS)||Kvt(e))}}class TVi{queryBuilderState;propertyExpression;path;title;isEditingDerivedPropertyExpression=!1;derivedPropertyExpressionStates=[];requiresExistsHandling=!1;constructor(e,t){hd(this,{isEditingDerivedPropertyExpression:Rc,derivedPropertyExpressionStates:Rc,setIsEditingDerivedProperty:Pu,initDerivedPropertyExpressionStates:Pu,isValid:Oc,hashCode:Oc}),this.queryBuilderState=e,this.propertyExpression=Nie(t,e.observerContext),this.path=wVi(t),this.title=SVi(t,!0),this.initDerivedPropertyExpressionStates()}get isValid(){return this.derivedPropertyExpressionStates.every(e=>e.isValid)}setIsEditingDerivedProperty(e){this.isEditingDerivedPropertyExpression=e}initDerivedPropertyExpressionStates(){let e=!1;const t=[];let n=this.propertyExpression;for(;n instanceof US;){if((void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(e=!0),n.func.value.genericType.value.rawType instanceof Z_&&0!==n.func.value._OWNER._generatedMilestonedProperties.length){const e=n.func.value.name,t=n.func.value._OWNER._generatedMilestonedProperties.find(t=>t.name===e);t&&Gvt(n,fC.create(t))}if(n.func.value instanceof pC){const e=new xVi(this.queryBuilderState,n,this);t.push(e)}for(n=n.parametersValues[0];n instanceof VS&&k_(n.functionName,Rvt.SUBTYPE);)n=n.parametersValues[0]}this.requiresExistsHandling=e,this.derivedPropertyExpressionStates=t.slice().reverse()}get hashCode(){return fv([ayt.PROPERTY_EXPRESSION_STATE,this.propertyExpression])}}class AVi{uuid=Mr()}class RVi{uuid=Mr();lambdaPrefix;lambdaString;parserError;compilationError;typeAheadEnabled=!1;constructor(e,t,n){hd(this,{lambdaString:Rc,parserError:Rc,compilationError:Rc,typeAheadEnabled:Rc,lambdaId:Oc,fullLambdaString:Oc,setLambdaString:Pu,setTypeAhead:Pu,clearErrors:Pu,setCompilationError:Pu,setParserError:Pu,convertLambdaGrammarStringToObject:Ju,convertLambdaObjectToGrammarString:Ju}),this.lambdaString=e,this.lambdaPrefix=t,this.typeAheadEnabled=n?.typeAheadEnabled??!1}get fullLambdaString(){return`${this.lambdaPrefix}${this.lambdaString}`}setLambdaString(e){this.lambdaString=e}setTypeAhead(e){this.typeAheadEnabled=e}clearErrors(e){this.setParserError(void 0),e?.preserveCompilationError&&this.compilationError?this.compilationError.sourceInformation=void 0:this.setCompilationError(void 0)}setCompilationError(e){e?.sourceInformation&&(e.sourceInformation=this.processSourceInformation(e.sourceInformation)),this.compilationError=e}setParserError(e){e?.sourceInformation&&(e.sourceInformation=this.processSourceInformation(e.sourceInformation)),this.parserError=e}processSourceInformation(e){const{sourceId:t,startLine:n,startColumn:i,endLine:r,endColumn:s}=e,o=this.lambdaPrefix.length;return new mJ(t,n+0,i-(1===n?o:0),r+0,s-(1===r?o:0))}extractLambdaString(e){return e.substring(e.indexOf(this.lambdaPrefix)+this.lambdaPrefix.length,e.length)}async getCodeComplete(e){return Promise.resolve(new J1)}}const NVi=(e,t,n,i)=>{const r=new HS(new GS(C_.create(e.getType(exports.CORE_PURE_PATH.ANY)),A_.ONE)),s=new Oq;s.values=[n];const o=new VS(I_(Rvt.RELATION_PROJECT)),a=new PS(A_.ONE,void 0),l=new MS;a.values=[l];const c=new mZ([]).build();return i.forEach((e,t)=>{const n=new kS;n.name=t,n.function1=new xS(_I(Xq(e,c))),l.colSpecs.push(n)}),o.parametersValues=[s,a],r.expressionSequence=[o],w7(r,t)},IVi=(e,t,n)=>{let i=e.body;return n.length&&(i=Array.isArray(e.body)?[...n,...e.body]:[...n,e.body]),new SS([...Array.isArray(e.parameters)?e.parameters:[],...t],i)},DVi="PROJECTION_COLUMN";class OVi extends AVi{tdsState;columnName;wavgWeight;constructor(e,t){super(),hd(this,{uuid:!1,tdsState:!1,columnName:Rc,wavgWeight:Rc,setColumnName:Pu,setWavgWeight:Pu,hashCode:Oc}),this.tdsState=e,this.columnName=t}setColumnName(e){this.columnName=e}setWavgWeight(e){this.wavgWeight=e}}class kVi extends OVi{lambdaParameterName=bvt;propertyExpressionState;constructor(e,t,n){super(e,""),hd(this,{lambdaParameterName:Rc,propertyExpressionState:Rc,setLambdaParameterName:Pu,changeProperty:Pu}),this.propertyExpressionState=new TVi(e.queryBuilderState,t),this.columnName=SVi(this.propertyExpressionState.propertyExpression,n)}setLambdaParameterName(e){this.lambdaParameterName=e}isVariableUsed(e){return Boolean(this.propertyExpressionState.derivedPropertyExpressionStates.find(t=>t.parameterValues.find(t=>syt(e,t))))}changeProperty(e,t){this.propertyExpressionState=new TVi(this.tdsState.queryBuilderState,vzi(e,this.tdsState.queryBuilderState.explorerState)),this.columnName=SVi(this.propertyExpressionState.propertyExpression,t)}getColumnType(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get hashCode(){return fv([ayt.SIMPLE_PROJECTION_COLUMN_STATE,this.propertyExpressionState,this.columnName])}}class LVi extends OVi{lambdaParameterName=bvt;column;constructor(e,t,n=!0){super(e,t.name),hd(this,{hashCode:jl,lambdaParameterName:Rc,setLambdaParameterName:Pu}),this.column=t,this.columnName=n?vf(t.name):t.name}getColumnType(){return this.column.genericType.value.rawType}setLambdaParameterName(e){this.lambdaParameterName=e}isVariableUsed(e){return!1}get hashCode(){return fv([ayt.RELATION_COLUMN_PROJECTION_COLUMN_STATE,this.column.name,this.columnName])}}class MVi extends RVi{queryBuilderState;derivationProjectionColumnState;readOnlylambdaJson="";constructor(e,t){super("",""),this.queryBuilderState=e,this.derivationProjectionColumnState=t}get lambdaId(){return Eie([pvt.QUERY_BUILDER,pvt.PROJECTION,this.derivationProjectionColumnState.uuid])}setLambdaJson(e){this.readOnlylambdaJson=e}*convertLambdaGrammarStringToObject(){const e=yW();if(this.lambdaString)try{const e=yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToLambda(this.fullLambdaString,this.lambdaId);this.setParserError(void 0),this.derivationProjectionColumnState.setLambda(e)}catch(e){bi(e),e instanceof pJ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.PARSING_FAILURE),e)}else this.clearErrors(),this.derivationProjectionColumnState.setLambda(e)}*convertLambdaObjectToGrammarString(e){if(this.derivationProjectionColumnState.lambda.body)try{const t=new Map;t.set(this.lambdaId,new SS(this.derivationProjectionColumnState.lambda.parameters,this.derivationProjectionColumnState.lambda.body));const n=(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(t,e?.pretty)).get(this.lambdaId);this.setLambdaString(void 0!==n?this.extractLambdaString(n):""),this.clearErrors({preserveCompilationError:e?.preserveCompilationError})}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.PARSING_FAILURE),e)}else this.clearErrors(),this.setLambdaString("")}}class PVi extends OVi{derivationLambdaEditorState;lambda;returnType;fetchingLambdaReturnTypeState=Py.create();constructor(e,t){super(e,"(derivation)"),hd(this,{lambda:Rc,returnType:Rc,fetchingLambdaReturnTypeState:Rc,setLambda:Pu,setResolvedLambdaReturnType:Pu,fetchDerivationLambdaReturnType:Ju,setLambdaReturnType:Pu}),this.derivationLambdaEditorState=new MVi(e.queryBuilderState,this),this.lambda=t}setLambda(e){this.lambda=e}setReturnType(e){this.returnType=e}*fetchDerivationLambdaReturnType(e){if(e?.forceRefresh||void 0===this.returnType)try{br(!this.fetchingLambdaReturnTypeState.isInProgress,"Fetching lambda return type already in progress"),this.fetchingLambdaReturnTypeState.inProgress(),e?.isBeingDropped&&this.tdsState.postFilterState.setDerivedColumnBeingDropped(this),e?.forceConversionStringToLambda&&(yield this.derivationLambdaEditorState.convertLambdaGrammarStringToObject().catch(this.tdsState.queryBuilderState.applicationStore.alertUnhandledError)),br(Array.isArray(this.lambda.parameters));const t=this.tdsState.queryBuilderState.graphManagerState.graph,n=this.tdsState.queryBuilderState.sourceElement;if(n instanceof Z_){const e=this.getIsolatedClassRawLambda(),n=yield this.tdsState.queryBuilderState.graphManagerState.graphManager.getLambdaReturnType(e,t);this.setLambdaReturnType(n)}else if(n instanceof Rq){const e=this.getIsolatedAccessorRawLambda(n),i=(yield this.tdsState.queryBuilderState.graphManagerState.graphManager.getLambdaRelationType(e,t)).columns.find(e=>e.name===this.columnName);i&&this.setLambdaReturnType(i.type)}}catch(e){bi(e),this.tdsState.queryBuilderState.applicationStore.logService.info(Hy.create(XS.COMPILATION_FAILURE),e)}finally{this.fetchingLambdaReturnTypeState.complete(),e?.isBeingDropped&&this.tdsState.postFilterState.setDerivedColumnBeingDropped(void 0)}}getIsolatedAccessorRawLambda(e){const{graphManagerState:t}=this.tdsState.queryBuilderState,n=NVi(t.graph,t,e,new Map([[this.columnName,this.lambda]]));return IVi(n,this.tdsState.getParameters(),this.tdsState.getLetExpressions())}getIsolatedClassRawLambda(){const e=mr(this.tdsState.queryBuilderState.sourceElement,Z_,"Expected source element to be a class");br(Array.isArray(this.lambda.parameters));const t=this.lambda.parameters;br(1===t.length);const n=t[0];vr(n.name);const i=this.tdsState.queryBuilderState,r=new wS(n.name,A_.ONE,C_.create(dr(e))),s=i.graphManagerState.graphManager.serializeRawValueSpecification(r);return IVi(new SS([s],this.lambda.body),this.tdsState.getParameters(),this.tdsState.getLetExpressions())}setLambdaReturnType(e){this.setResolvedLambdaReturnType(this.tdsState.queryBuilderState.graphManagerState.graph.getType(e))}setResolvedLambdaReturnType(e){br(e instanceof V_||e instanceof nC,"Projection column must have return type of either primitve type or enumeration"),this.setReturnType(e)}getColumnType(){return this.returnType}get hashCode(){return fv([ayt.DERIVATION_PROJECTION_COLUMN_STATE,this.returnType??"",this.lambda,this.columnName])}}class FVi{uuid=Mr();constructor(){hd(this,{getOperator:Oc,allValidationIssues:Oc,hashCode:Oc})}buildAggregateExpressionFromState(e){return this.buildAggregateExpression(e.projectionColumnState instanceof kVi?e.projectionColumnState.propertyExpressionState.propertyExpression:void 0,e.lambdaParameterName,e.aggregationState.tdsState.queryBuilderState.graphManagerState.graph)}getReturnType(e){return e.projectionColumnState.getColumnType()}get getOperator(){return this}get allValidationIssues(){return[]}}class BVi extends AVi{aggregationState;projectionColumnState;lambdaParameterName=bvt;operator;calendarFunction;hideCalendarColumnState=!0;constructor(e,t,n){super(),hd(this,{projectionColumnState:Rc,lambdaParameterName:Rc,calendarFunction:Rc,hideCalendarColumnState:Rc,operator:Rc,setHideCalendarColumnState:Pu,setColumnState:Pu,setLambdaParameterName:Pu,setOperator:Pu,setCalendarFunction:Pu,handleUsedPostFilterType:Pu,hashCode:Oc}),this.aggregationState=e,this.projectionColumnState=t,this.operator=n}setColumnState(e){this.projectionColumnState=e}setLambdaParameterName(e){this.lambdaParameterName=e}setHideCalendarColumnState(e){this.hideCalendarColumnState=e}setCalendarFunction(e){this.calendarFunction=e}setOperator(e){this.operator=e}getColumnType(){return this.operator.getReturnType(this)}handleUsedPostFilterType(e){void 0===this.getColumnType()&&this.projectionColumnState instanceof PVi&&this.projectionColumnState.setReturnType(e)}get hashCode(){return fv([ayt.AGGREGATE_COLUMN_STATE,this.operator,this.calendarFunction??""])}get columnName(){return this.projectionColumnState.columnName}}class VVi{tdsState;operators=[];calendarFunctions;columns=[];constructor(e,t,n){hd(this,{columns:Rc,removeColumn:Pu,addColumn:Pu,changeColumnAggregateOperator:Pu,disableCalendar:Pu,allValidationIssues:Oc,hashCode:Oc}),this.tdsState=e,this.operators=t,this.calendarFunctions=n}removeColumn(e){$r(this.columns,e)}addColumn(e){jr(this.columns,e)}changeColumnAggregateOperator(e,t,n){const i=this.columns.find(e=>e.projectionColumnState===t),r=this.operators.filter(e=>e.isCompatibleWithColumn(t));if(e){if(!r.includes(e))return;if(i){if(!n){const n=i.projectionColumnState.columnName.split(`(${i.operator.getLabel(i.projectionColumnState)})`)[0]??"";i.projectionColumnState.setColumnName(`${n} (${e.getLabel(t)})`)}i.setOperator(e.getOperator)}else{n||t.setColumnName(`${t.columnName} (${e.getLabel(t)})`);const i=new BVi(this,t,e.getOperator);i.setOperator(e.getOperator),this.addColumn(i),this.tdsState.moveColumn(this.tdsState.projectionColumns.indexOf(t),this.tdsState.projectionColumns.length-1)}}else if(i){if(!n){const e=i.projectionColumnState.columnName.split(`(${i.operator.getLabel(i.projectionColumnState)})`)[0]??"";i.projectionColumnState.setColumnName(e)}this.tdsState.moveColumn(this.tdsState.projectionColumns.indexOf(t),0),this.removeColumn(i)}}disableCalendar(){this.tdsState.queryBuilderState.setIsCalendarEnabled(!1),this.columns.forEach(e=>{e.setCalendarFunction(void 0),e.setHideCalendarColumnState(!0)})}get allValidationIssues(){return this.columns.map(e=>e.operator.allValidationIssues).flat()}get hashCode(){return fv([ayt.AGGREGATION_STATE,fv(this.columns)])}}const UVi=(e,t,n)=>{const i=new VS(I_(e));return i.parametersValues.push(new TS(t,A_.ONE)),i},GVi=(e,t,n,i,r)=>{if(k_(n.functionName,i)){const s=new BVi(e.tdsState.aggregationState,e,r);s.setLambdaParameterName(t.name),br(1===n.parametersValues.length,`Can't process ${I_(i)}() expression: ${I_(i)}() expects no argument`);const o=mr(n.parametersValues[0],TS,`Can't process ${I_(i)}() expression: only support ${I_(i)}() immediately following a variable expression`);return br(s.lambdaParameterName===o.name,`Can't process ${I_(i)}() expression: expects variable used in lambda body '${o.name}' to match lambda parameter '${s.lambdaParameterName}'`),br(r.isCompatibleWithColumn(s.projectionColumnState),`Can't process ${I_(i)}() expression: property is not compatible with operator`),s.setOperator(r),s}};class HVi extends FVi{getLabel(e){return"average"}isCompatibleWithColumn(e){if(e instanceof kVi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return UVi(Rvt.AVERAGE,t)}buildAggregateColumnState(e,t,n){return GVi(n,t,e,Rvt.AVERAGE,this)}getReturnType(e){return V_.FLOAT}get hashCode(){return fv([ayt.AGGREGATE_OPERATOR_AVERAGE])}}class zVi extends FVi{getLabel(e){return"count"}isCompatibleWithColumn(e){if(e instanceof kVi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t.path)||t instanceof nC}return!0}buildAggregateExpression(e,t,n){return UVi(Rvt.COUNT,t)}buildAggregateColumnState(e,t,n){return GVi(n,t,e,Rvt.COUNT,this)}getReturnType(e){return V_.INTEGER}get hashCode(){return fv([ayt.AGGREGATE_OPERATOR_COUNT])}}class jVi extends FVi{getLabel(e){return"distinct count"}isCompatibleWithColumn(e){if(e instanceof kVi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t.path)||t instanceof nC}return!0}buildAggregateExpression(e,t,n){const i=new VS(I_(Rvt.DISTINCT));i.parametersValues.push(new TS(t,A_.ONE));const r=new VS(I_(Rvt.COUNT));return r.parametersValues.push(i),r}buildAggregateColumnState(e,t,n){if(k_(e.functionName,Rvt.COUNT)){const i=new BVi(n.tdsState.aggregationState,n,this);i.setLambdaParameterName(t.name),br(1===e.parametersValues.length,"Can't process count() expression: count() expects no argument");const r=mr(e.parametersValues[0],VS,`Can't process '${this.getLabel(n)}' aggregate lambda: only support count() immediately following an expression`);br(k_(r.functionName,Rvt.DISTINCT),`Can't process '${this.getLabel(n)}' aggregate lambda: only support count() immediately following distinct() expression`),br(1===r.parametersValues.length,"Can't process distinct() expression: distinct() expects no argument");const s=mr(r.parametersValues[0],TS,"Can't process distinct() expression: only support distinct() immediately following a variable expression");return br(i.lambdaParameterName===s.name,`Can't process distinct() expression: expects variable used in lambda body '${s.name}' to match lambda parameter '${i.lambdaParameterName}'`),br(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process disc expression: property is not compatible with operator"),i.setOperator(this),i}}getReturnType(e){return V_.INTEGER}get hashCode(){return fv([ayt.AGGREGATE_OPERATOR_DISTINCT_COUNT])}}class WVi extends FVi{getLabel(e){return"max"}isCompatibleWithColumn(e){if(e instanceof kVi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return UVi([Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e?.func.value.genericType.value.rawType.path??Xb.NUMBER)?Rvt.DATE_MAX:Rvt.MAX,t)}buildAggregateColumnState(e,t,n){if(n instanceof kVi){switch(n.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path){case Xb.NUMBER:case Xb.INTEGER:case Xb.DECIMAL:case Xb.FLOAT:if(!k_(e.functionName,Rvt.MAX))return;return GVi(n,t,e,Rvt.MAX,this);case Xb.DATE:case Xb.STRICTDATE:case Xb.DATETIME:if(!k_(e.functionName,Rvt.DATE_MAX))return;return GVi(n,t,e,Rvt.DATE_MAX,this);default:return}}return k_(e.functionName,Rvt.MAX)?GVi(n,t,e,Rvt.MAX,this):k_(e.functionName,Rvt.DATE_MAX)?GVi(n,t,e,Rvt.DATE_MAX,this):void 0}get hashCode(){return fv([ayt.AGGREGATE_OPERATOR_MAX])}}class $Vi extends FVi{getLabel(e){return"min"}isCompatibleWithColumn(e){if(e instanceof kVi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return UVi([Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e?.func.value.genericType.value.rawType.path??Xb.NUMBER)?Rvt.DATE_MIN:Rvt.MIN,t)}buildAggregateColumnState(e,t,n){if(n instanceof kVi){switch(n.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path){case Xb.NUMBER:case Xb.INTEGER:case Xb.DECIMAL:case Xb.FLOAT:if(!k_(e.functionName,Rvt.MIN))return;return GVi(n,t,e,Rvt.MIN,this);case Xb.DATE:case Xb.STRICTDATE:case Xb.DATETIME:if(!k_(e.functionName,Rvt.DATE_MIN))return;return GVi(n,t,e,Rvt.DATE_MIN,this);default:return}}return k_(e.functionName,Rvt.MIN)?GVi(n,t,e,Rvt.MIN,this):k_(e.functionName,Rvt.DATE_MIN)?GVi(n,t,e,Rvt.DATE_MIN,this):void 0}get hashCode(){return fv([ayt.AGGREGATE_OPERATOR_MIN])}}class qVi extends FVi{getLabel(e){return"std dev (population)"}isCompatibleWithColumn(e){if(e instanceof kVi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return UVi(Rvt.STD_DEV_POPULATION,t)}buildAggregateColumnState(e,t,n){return GVi(n,t,e,Rvt.STD_DEV_POPULATION,this)}getReturnType(e){return V_.NUMBER}get hashCode(){return fv([ayt.AGGREGATE_OPERATOR_STD_DEV_POPULATION])}}class YVi extends FVi{getLabel(e){return"std dev (sample)"}isCompatibleWithColumn(e){if(e instanceof kVi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return UVi(Rvt.STD_DEV_SAMPLE,t)}buildAggregateColumnState(e,t,n){return GVi(n,t,e,Rvt.STD_DEV_SAMPLE,this)}getReturnType(e){return V_.NUMBER}get hashCode(){return fv([ayt.AGGREGATE_OPERATOR_STD_DEV_SAMPLE])}}class KVi extends FVi{getLabel(e){return"sum"}isCompatibleWithColumn(e){if(e instanceof kVi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return UVi(Rvt.SUM,t)}buildAggregateColumnState(e,t,n){return GVi(n,t,e,Rvt.SUM,this)}get hashCode(){return fv([ayt.AGGREGATE_OPERATOR_SUM])}}class XVi{columnState;sortType=Ivt.ASC;constructor(e){hd(this,{columnState:Rc,sortType:Rc,setColumnState:Pu,setSortType:Pu,hashCode:Oc}),this.columnState=e}setColumnState(e){this.columnState=e}setSortType(e){this.sortType=e}get hashCode(){return fv([ayt.SORT_COLUMN_STATE,this.sortType.toString(),this.columnState])}}class ZVi{tdsState;showModal=!1;limit;distinct=!1;sortColumns=[];slice;constructor(e){hd(this,{showModal:Rc,limit:Rc,distinct:Rc,sortColumns:Rc,slice:Rc.ref,setShowModal:Pu,setLimit:Pu,setDistinct:Pu,setSortColumns:Pu,addSortColumn:Pu,updateSortColumns:Pu,setSlice:Pu,reset:Pu,hashCode:Oc}),this.tdsState=e}setShowModal(e){this.showModal=e}setLimit(e){this.limit=void 0===e||e<=0?void 0:e}setDistinct(e){this.distinct=e}setSortColumns(e){this.sortColumns=e}addSortColumn(e){jr(this.sortColumns,e)}updateSortColumns(){this.sortColumns=this.sortColumns.filter(e=>this.tdsState.tdsColumns.includes(e.columnState))}setSlice(e){this.slice=e}reset(){this.sortColumns=[],this.distinct=!1,this.limit=void 0}get hashCode(){return fv([ayt.RESULT_SET_MODIFIER_STATE,fv(this.sortColumns),this.limit?.toString()??"",this.distinct.toString()])}}var QVi;!function(e){e.TABULAR_DATA_STRUCTURE="TABULAR_DATA_STRUCTURE",e.GRAPH_FETCH="GRAPH_FETCH"}(QVi||(QVi={}));class JVi{queryBuilderState;fetchStructureState;constructor(e,t){hd(this,{usedExplorerTreePropertyNodeIDs:Oc,fetchStructureValidationIssues:Oc,allValidationIssues:Oc,hasInvalidFilterValues:Oc,hasInvalidDerivedPropertyParameters:Oc,hashCode:Oc}),this.queryBuilderState=e,this.fetchStructureState=t}get TEMPORARY__showPostFetchStructurePanel(){return this.queryBuilderState.filterState.showPanel}}class eUi{uuid=Mr();getTDSColumnGetter(){}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!!t&&this.isCompatibleWithType(t)}}const tUi=(e,t)=>dr(((e,t)=>e.tdsColumns.find(e=>e.columnName===t))(e,t),`Column ${t} not found in TDS`),nUi=e=>{if(e instanceof nC)return Nvt.GET_ENUM;switch(e.path){case Xb.STRING:return Nvt.GET_STRING;case Xb.NUMBER:return Nvt.GET_NUMBER;case Xb.INTEGER:return Nvt.GET_INTEGER;case Xb.FLOAT:return Nvt.GET_FLOAT;case Xb.DECIMAL:return Nvt.GET_DECIMAL;case Xb.DATE:return Nvt.GET_DATE;case Xb.DATETIME:return Nvt.GET_DATETIME;case Xb.STRICTDATE:return Nvt.GET_STRICTDATE;case Xb.BOOLEAN:return Nvt.GET_BOOLEAN;default:throw new yi(`Can't find TDS column derived property name for type: '${e.path}'`)}};var iUi;!function(e){e.AND="and",e.OR="or"}(iUi||(iUi={}));const rUi=e=>{switch(e){case iUi.AND:return Rvt.AND;case iUi.OR:return Rvt.OR;default:throw new yi(`Can't derive function name from group operation '${e}'`)}},sUi=e=>{if(k_(e,Rvt.AND))return iUi.AND;if(k_(e,Rvt.OR))return iUi.OR;throw new yi(`Can't derive group operation from function name '${e}'`)},oUi=(e,t)=>{const n=t.tdsState,i=e.func.value.name;br(Object.values(Nvt).includes(i),`Can't process TDS column expression: TDS column property '${i}' not supported. Supported types are ${Object.values(Nvt).join(",")}`);const r=i,s=e.parametersValues[1],o=Ar(mr(s,RS,"Can`t process TDS column expression: Column should be a primitive instance value").values[0],"Can`t process TDS column expression: Column should be a string primitive instance value"),a=tUi(n,o);if(r!==Nvt.IS_NULL&&r!==Nvt.IS_NOT_NULL){if(a instanceof PVi){const e=nGi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.setReturnType(e),a}if(a instanceof BVi&&a.projectionColumnState instanceof PVi){const e=nGi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.handleUsedPostFilterType(e),a}const e=dr(a.getColumnType());br(nUi(e)===r,`Can't process TDS column expression: expected column type ${nUi(e)} (got ${r})`)}return a},aUi=(e,t,n,i)=>{let r;const s=i.getTDSColumnGetter();if(s&&t instanceof US&&t.func.value.name===s){const n=oUi(t,e);return r=new uGi(e,n,i),r}if(n&&k_(t.functionName,n)){br(2===t.parametersValues.length,`Can't process ${I_(n)}() expression: ${I_(n)}() expects '1 argument'`);const s=t.parametersValues[0];let o;if(s instanceof US)o=oUi(s,e);else{if(!(s instanceof BS))throw new yi(`Can't process ${I_(n)}() expression: expects property expression in lambda body`);{const t=s.functionName;o=tUi(e.tdsState,t)}}const a=t.parametersValues[1];r=new uGi(e,o,i),((e,t)=>{if(e instanceof US){const n=_i(()=>oUi(e,t.postFilterState));if(n)return void t.setRightConditionVal(new cGi(t,n))}else if(e instanceof BS&&e.func instanceof Y_){const n=_i(()=>tUi(t.postFilterState.tdsState,e.func.name));if(n)return void t.setRightConditionVal(new cGi(t,n))}const n=e?oyt(e,t.postFilterState.tdsState.queryBuilderState.observerContext):void 0;t.setRightConditionVal(new lGi(t,n))})(a,r),br(i.isCompatibleWithPostFilterColumn(r),`Can't process ${I_(n)}() expression: property is not compatible with post-filter operator`),br(i.isCompatibleWithConditionValue(r),`Operator '${i.getLabel()}' not compatible with value specification ${a?.toString()}`)}return r},lUi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(!k_(e.functionName,[Rvt.AND,Rvt.OR])){for(const n of t.operators){const r=n.buildPostFilterConditionState(t,e);if(r)return void t.addNodeFromNode(new sGi(void 0,r),i)}throw new yi("Can't process post-filter expression: no compatible post-filter operator processer available from plugins")}{const r=new rGi(n,sUi(e.functionName));t.nodes.set(r.id,r),e.parametersValues.forEach(e=>lUi(mr(e,BS,"Can't process post-filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}},cUi=(e,t,n,i,r)=>{const s=r?.expressionSequence[0]?VK(r.expressionSequence[0]):void 0,o=new TS(e.postFilterState.lambdaParameterName,A_.ONE);if(s){const e=dr(s.columns.find(e=>t.columnName===e.name),`Can't find property ${t.columnName} in relation`),n=new BS(e.name);return n.func=e,n.parametersValues=[o],n}if(t instanceof LVi){const e=t.column,n=new BS(e.name);return n.func=e,n.parametersValues=[o],n}{const e=new US("");let r;const s=i?i.getTDSColumnGetter():void 0;if(s)r=s;else{const e=dr(t.getColumnType());r=nUi(e)}e.func=fC.create(dr(vE(n.getClass(xvt.TDS_ROW)).find(e=>e.name===r)));const a=new RS(j_.create(new X_(V_.STRING)));return a.values=[t.columnName],e.parametersValues=[o,a],e}},uUi=(e,t,n,i)=>{const r=e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,s=cUi(e,e.leftConditionValue,r,t,i);if(n){const t=new VS(I_(n));return t.parametersValues.push(s),e.rightConditionValue.appendConditionValue(t,i),t}return s};class dUi extends eUi{getLabel(){return"starts with"}isCompatibleWithType(e){return Jvt(e)===Xb.STRING}isCompatibleWithConditionValue(e){const t=e.rightConditionValue.type;return!e.rightConditionValue.isCollection&&void 0!==t&&Jvt(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();if(t?.path===Xb.STRING)return vVi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new yi(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}buildPostFilterConditionExpression(e,t){return uUi(e,this,Rvt.STARTS_WITH,t)}buildPostFilterConditionState(e,t){return aUi(e,t,Rvt.STARTS_WITH,this)}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_START_WITH])}}class hUi extends dUi{getLabel(){return"doesn't start with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Zvt(n):void 0}buildPostFilterConditionState(e,t){const n=Xvt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_NOT_START_WITH])}}const pUi=e=>e.getValue()instanceof jS?pUi(mr(e.getValue(),jS)):e.getValue(),gUi=(e,t,n,i,r)=>{const s=new US("");let o;s.func=e.func,s.parametersValues=[...e.parametersValues];let a=s;for(;a instanceof US;){if(o=a.parametersValues[0],o instanceof US){const e=new US("");e.func=o.func,e.parametersValues=[...o.parametersValues],o=e,Vvt(a,e,0,t.observerContext)}if(a instanceof US&&a.func.value instanceof pC)if(i?.useAllVersionsForMilestoning&&a.func.value.genericType.value.rawType instanceof Z_&&0!==a.func.value._OWNER._generatedMilestonedProperties.length){const e=a.func.value.name,n=a.func.value._OWNER._generatedMilestonedProperties.find(t=>t.name===`${e}${i_.ALL_VERSIONS}`);n&&(Gvt(a,fC.create(n)),Bvt(a,[dr(a.parametersValues[0])],t.observerContext))}else{const e=a;a.parametersValues.slice(1).forEach((t,n)=>{t instanceof jS&&(!r&&t.isPropagatedValue?1===n&&3===e.parametersValues.length||0===n&&3===e.parametersValues.length&&!(e.parametersValues[2]instanceof jS&&!0===e.parametersValues[2].isPropagatedValue)?e.parametersValues[n+1]=pUi(t):e.parametersValues=[dr(mr(a,US).parametersValues[0])]:e.parametersValues[n+1]=pUi(t))})}for(a=o;a instanceof VS&&k_(a.functionName,Rvt.SUBTYPE);)a=a.parametersValues[0]}return a instanceof TS&&Hvt(a,n),s};var mUi;!function(e){e.GROUP_CONDITION="QUERY_BUILDER_FILTER_DND_TYPE.GROUP_CONDITION",e.CONDITION="QUERY_BUILDER_FILTER_DND_TYPE.CONDITION",e.BLANK_CONDITION="QUERY_BUILDER_FILTER_DND_TYPE.BLANK_CONDITION"}(mUi||(mUi={}));const fUi=e=>{let t=e;for(;t instanceof US;){if(void 0===t.func.value.multiplicity.upperBound||t.func.value.multiplicity.upperBound>1)return!0;for(t=t.parametersValues[0];t instanceof VS&&k_(t.functionName,Rvt.SUBTYPE);)t=t.parametersValues[0]}return!1};class vUi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return fv([ayt.FILTER_CONDITION_RIGHT_VALUE])}}class yUi extends vUi{value;constructor(e,t){super(e),hd(this,{value:Rc,setValue:Pu}),this.value=this.setValue(t)}get type(){return this.value instanceof IS?Yvt(this.conditionState.filterState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?qvt(this.value):void 0}setValue(e){return this.value=e?Yie(e,this.conditionState.filterState.queryBuilderState.observerContext):void 0,this.value}get isCollection(){return this.value instanceof IS}get hashCode(){return fv([ayt.FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class bUi extends vUi{propertyExpressionState;constructor(e,t){super(e),hd(this,{propertyExpressionState:Rc,changePropertyExpressionState:Pu}),this.propertyExpressionState=t}get type(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get isCollection(){return fUi(this.propertyExpressionState.propertyExpression)}changePropertyExpressionState(e){this.propertyExpressionState=e}}class _Ui extends vUi{columnName;columnType;columnMultiplicity;constructor(e,t,n,i){super(e),hd(this,{columnName:Rc,columnType:Rc,columnMultiplicity:Rc,changeColumn:Pu}),this.columnName=t,this.columnType=n,this.columnMultiplicity=i}get type(){return this.columnType}get isCollection(){return void 0===this.columnMultiplicity.upperBound||this.columnMultiplicity.upperBound>1}changeColumn(e,t,n){this.columnName=e,this.columnType=t,this.columnMultiplicity=n}get hashCode(){return fv([ayt.FILTER_CONDITION_RIGHT_VALUE_RELATION_COLUMN,this.columnName,this.columnMultiplicity.lowerBound,this.columnMultiplicity.upperBound??""])}}class CUi{}class SUi extends CUi{propertyExpressionState;constructor(e){super(),this.propertyExpressionState=e}get type(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get label(){return this.propertyExpressionState.title}get title(){return this.propertyExpressionState.title}get isValid(){return this.propertyExpressionState.isValid}get requiresExistsHandling(){return this.propertyExpressionState.requiresExistsHandling}buildLeftExpression(e,t){return dr(gUi(this.propertyExpressionState.propertyExpression,e,t))}get hashCode(){return fv([ayt.FILTER_CONDITION_SOURCE_PROPERTY_EXPRESSION,this.propertyExpressionState])}}class wUi extends CUi{columnName;columnType;columnMultiplicity;constructor(e,t,n){super(),this.columnName=e,this.columnType=t,this.columnMultiplicity=n}get multiplicity(){return this.columnMultiplicity}get type(){return this.columnType}get label(){return this.columnName}get title(){return this.columnName}get isValid(){return!0}get requiresExistsHandling(){return!1}buildLeftExpression(e,t){const n=e.sourceRelationType;if(n){const e=dr(n.columns.find(e=>e.name===this.columnName),`Can't find column '${this.columnName}' in relation`),i=new BS(e.name);return i.func=e,i.parametersValues=[new TS(t,A_.ONE)],i}throw new vi(`Can't build expression for relation column '${this.columnName}': no source relation type`)}get hashCode(){return fv([ayt.FILTER_CONDITION_SOURCE_RELATION_COLUMN,this.columnName,this.columnMultiplicity.lowerBound,this.columnMultiplicity.upperBound??""])}}class EUi{filterState;sourceState;operator;rightConditionValue;existsLambdaParamNames=[];typeaheadSearchResults;typeaheadSearchState=Py.create();constructor(e,t,n){hd(this,{sourceState:Rc,operator:Rc,rightConditionValue:Rc,existsLambdaParamNames:Rc,typeaheadSearchResults:Rc,changeOperator:Pu,setOperator:Pu,setRightConditionValue:Pu,addExistsLambdaParamNames:Pu,buildRightConditionValueFromValueSpec:Pu,buildRightConditionValueFromPropertyExpressionState:Pu,buildRightConditionValueFromRelationColumn:Pu,handleTypeaheadSearch:Ju,operators:Oc,hashCode:Oc}),this.filterState=e,this.sourceState=t instanceof US?new SUi(new TVi(e.queryBuilderState,t)):t,n?this.operator=n:(br(0!==this.operators.length,`Can't find an operator for property '${this.sourceState.title}': no operators registered`),this.operator=this.operators[0]),this.buildRightConditionValueFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}get propertyExpressionState(){return mr(this.sourceState,SUi,"Filter condition source is not a property expression").propertyExpressionState}get leftConditionType(){return this.sourceState.type}get operators(){return this.filterState.operators.filter(e=>e.isCompatibleWithFilterConditionProperty(this))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=mr(this.rightConditionValue,yUi),n=e??t.value;if(eGi(n)){const e=(yield this.filterState.queryBuilderState.graphManagerState.graphManager.runQuery(QUi(this.filterState.queryBuilderState,this.propertyExpressionState.propertyExpression,n),dr(this.filterState.queryBuilderState.executionContextState.mapping),dr(this.filterState.queryBuilderState.executionContextState.runtimeValue),this.filterState.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.filterState.queryBuilderState.forceFromExpressionForExec})).executionResult;this.typeaheadSearchResults=JUi(e)}this.typeaheadSearchState.pass()}catch(e){bi(e),this.typeaheadSearchResults=[],this.typeaheadSearchState.fail()}finally{this.typeaheadSearchState.complete()}}changeOperator(e){if(this.setOperator(e),!this.operator.isCompatibleWithFilterConditionValue(this)){let e=this.operator.getDefaultFilterConditionValue(this);e instanceof IS&&this.rightConditionValue instanceof yUi&&this.rightConditionValue.value instanceof AS&&Kvt(this.rightConditionValue.value)&&""!==this.rightConditionValue.value.values[0]?jvt(e,[this.rightConditionValue.value],this.filterState.queryBuilderState.observerContext):e instanceof AS&&this.rightConditionValue instanceof yUi&&this.rightConditionValue.value instanceof IS&&this.rightConditionValue.value.values.length&&(e=this.rightConditionValue.value.values[0]),this.buildRightConditionValueFromValueSpec(e)}}setOperator(e){this.operator=e}setRightConditionValue(e){this.rightConditionValue=e}addExistsLambdaParamNames(e){this.existsLambdaParamNames.push(e)}buildRightConditionValueFromValueSpec(e){this.rightConditionValue instanceof yUi?this.rightConditionValue.setValue(e):this.setRightConditionValue(new yUi(this,e))}buildRightConditionValueFromPropertyExpressionState(e){this.rightConditionValue instanceof bUi?this.rightConditionValue.changePropertyExpressionState(e):this.setRightConditionValue(new bUi(this,e))}buildRightConditionValueFromRelationColumn(e,t,n){this.rightConditionValue instanceof _Ui?this.rightConditionValue.changeColumn(e,t,n):this.setRightConditionValue(new _Ui(this,e,t,n))}get hashCode(){return fv([ayt.FILTER_CONDITION_STATE,this.sourceState,this.rightConditionValue??"",this.operator])}}class xUi{id=Mr();label="";isOpen;parentId;constructor(e){this.parentId=e,hd(this,{isOpen:Rc,parentId:Rc,setIsOpen:Pu,setParentId:Pu,hashCode:Oc})}setIsOpen(e){this.isOpen=e}setParentId(e){this.parentId=e}}class TUi extends xUi{childrenIds=[];lambdaParameterName;constructor(e){super(e),hd(this,{childrenIds:Rc,addChildNode:Pu,removeChildNode:Pu,dragPreviewLabel:Oc}),this.isOpen=!0}addChildNode(e){jr(this.childrenIds,e.id),e.setParentId(this.id)}removeChildNode(e){$r(this.childrenIds,e.id),e.setParentId(void 0)}addChildNodeAt(e,t){this.childrenIds.find(t=>t===e.id)||(t=Math.max(0,Math.min(t,this.childrenIds.length-1)),this.childrenIds.splice(t,0,e.id),e.setParentId(this.id))}}class AUi extends TUi{groupOperation;constructor(e,t){super(e),hd(this,{groupOperation:Rc,setGroupOperation:Pu}),this.groupOperation=t,this.isOpen=!0}get dragPreviewLabel(){return`${this.groupOperation.toUpperCase()} group`}setGroupOperation(e){this.groupOperation=e}get hashCode(){return fv([ayt.FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",fv(this.childrenIds),this.groupOperation,this.lambdaParameterName??""])}}class RUi extends TUi{filterState;propertyExpressionState;constructor(e,t){super(t),hd(this,{propertyExpressionState:Rc,setPropertyExpression:Pu}),this.filterState=e,this.isOpen=!0}get dragPreviewLabel(){return"exists"}setPropertyExpression(e){this.propertyExpressionState=new TVi(this.filterState.queryBuilderState,e)}get hashCode(){return fv([ayt.FILTER_TREE_EXISTS_NODE_DATA,this.parentId??"",fv(this.childrenIds),this.propertyExpressionState.propertyExpression,this.lambdaParameterName??""])}}const NUi=e=>{let t=e.condition.filterState.getParentNode(e);for(;void 0!==t;){if(t instanceof RUi)return!0;t=e.condition.filterState.getParentNode(t)}return!1};class IUi extends xUi{condition;isNewlyAdded;constructor(e,t){super(e),hd(this,{condition:Rc,isNewlyAdded:Rc,setIsNewlyAdded:Pu,dragPreviewLabel:Oc}),this.isNewlyAdded=!1,this.condition=t}setIsNewlyAdded(e){this.isNewlyAdded=e}get dragPreviewLabel(){return this.condition.sourceState.title}get hashCode(){return fv([ayt.FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class DUi extends xUi{constructor(e){super(e),hd(this,{dragPreviewLabel:Oc})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return fv([ayt.FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class OUi{queryBuilderState;lambdaParameterName=bvt;rootIds=[];nodes=new Map;selectedNode;isRearrangingConditions=!1;operators=[];showPanel=!0;constructor(e,t){hd(this,{rootIds:Rc,nodes:Rc,selectedNode:Rc,isRearrangingConditions:Rc,lambdaParameterName:Rc,showPanel:Rc,setLambdaParameterName:Pu,setRearrangingConditions:Pu,setSelectedNode:Pu,addNodeFromNode:Pu,replaceBlankNodeWithNode:Pu,addGroupConditionNodeFromNode:Pu,newGroupConditionFromNode:Pu,newGroupWithConditionFromNode:Pu,removeNodeAndPruneBranch:Pu,pruneTree:Pu,simplifyTree:Pu,collapseTree:Pu,setShowPanel:Pu,expandTree:Pu,allValidationIssues:Oc,hasInvalidFilterValues:Oc,hasInvalidDerivedPropertyParameters:Oc,hashCode:Oc}),this.queryBuilderState=e,this.operators=t}get isEmpty(){return!this.nodes.size&&!this.rootIds.length}setLambdaParameterName(e){this.lambdaParameterName=e}setShowPanel(e){this.showPanel=e}setRearrangingConditions(e){this.isRearrangingConditions=e}setSelectedNode(e){this.selectedNode=e}getNode(e){return dr(this.nodes.get(e),`Can't find query builder filter tree node with ID '${e}'`)}getRootNode(){br(this.rootIds.length<2,"Query builder filter tree cannot have more than 1 root");const e=this.rootIds[0];return e?this.getNode(e):void 0}getParentNode(e){return e.parentId?mr(this.nodes.get(e.parentId),TUi):void 0}addRootNode(e){const t=this.getRootNode();if(this.nodes.set(e.id,e),t instanceof AUi)t.addChildNode(e);else if(t instanceof IUi||t instanceof DUi||t instanceof RUi){const n=new AUi(void 0,iUi.AND);n.addChildNode(t),n.addChildNode(e),this.rootIds=[n.id],this.nodes.set(n.id,n)}else t||(this.rootIds=[e.id])}addNodeFromNode(e,t){if(t instanceof AUi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof RUi)if(t.childrenIds.length){this.nodes.set(e.id,e);const n=new AUi(void 0,iUi.AND);n.addChildNode(dr(this.nodes.get(dr(t.childrenIds[0])))),n.addChildNode(e),n.lambdaParameterName=t.lambdaParameterName,this.nodes.set(n.id,n),t.childrenIds=[],t.addChildNode(n)}else this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof IUi||t instanceof DUi){this.nodes.set(e.id,e);const n=this.getParentNode(t);n?n.addChildNode(e):this.addRootNode(e)}else this.selectedNode||this.addRootNode(e)}replaceBlankNodeWithNode(e,t){this.nodes.set(e.id,e);const n=this.getParentNode(t);if(n){const i=n.childrenIds.findIndex(e=>e===t.id);n.addChildNodeAt(e,i),n.removeChildNode(t)}else this.addRootNode(e);this.removeNode(t)}addGroupConditionNodeFromNode(e){const t=new AUi(void 0,iUi.AND),n=new DUi(void 0),i=new DUi(void 0);this.nodes.set(n.id,n),this.nodes.set(i.id,i),t.addChildNode(n),t.addChildNode(i),this.addNodeFromNode(t,e)}newGroupConditionFromNode(e,t,n){const i=this.getParentNode(e),r=new AUi(void 0,n??iUi.AND);return this.nodes.set(r.id,r),i?.removeChildNode(e),r.addChildNode(e),t&&(this.nodes.set(t.id,t),r.addChildNode(t)),r.lambdaParameterName=i?.lambdaParameterName??this.lambdaParameterName,i?i.addChildNode(r):($r(this.rootIds,e.id),this.addRootNode(r)),r}newGroupWithConditionFromNode(e,t){const n=e??new DUi(void 0);if(t instanceof IUi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new AUi(void 0,iUi.AND);this.nodes.set(n.id,n),this.nodes.set(r.id,r),r.addChildNode(t),r.addChildNode(n),r.lambdaParameterName=e.lambdaParameterName,e.addChildNodeAt(r,i)}else this.addRootNode(n)}}removeNode(e){this.nodes.delete(e.id),e instanceof TUi&&[...e.childrenIds].forEach(t=>e.removeChildNode(this.getNode(t)));const t=this.getParentNode(e);t?t.removeChildNode(e):$r(this.rootIds,e.id)}pruneChildlessGroupNodes(){const e=()=>Array.from(this.nodes.values()).filter(pr(AUi)).filter(e=>!e.childrenIds.length);let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}pruneOrphanNodes(){const e=()=>Array.from(this.nodes.values()).filter(e=>!e.parentId&&!this.rootIds.includes(e.id));let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}squashGroupNode(e){if(e.childrenIds.length<2){const t=this.getParentNode(e);[...e.childrenIds].forEach(n=>{const i=this.getNode(n);e.removeChildNode(i),t?t.addChildNode(i):jr(this.rootIds,n)}),this.nodes.delete(e.id),t?t.removeChildNode(e):$r(this.rootIds,e.id)}}removeNodeAndPruneBranch(e){const t=this.getParentNode(e);if(this.removeNode(e),t){t.removeChildNode(e);let n=t;for(;n&&n instanceof AUi&&!(n.childrenIds.length>=2);)this.squashGroupNode(n),n=this.getParentNode(n)}else $r(this.rootIds,e.id);this.pruneOrphanNodes(),this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}pruneTree(){this.setSelectedNode(void 0),Array.from(this.nodes.values()).filter(e=>e instanceof DUi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(pr(AUi)).filter(e=>e.childrenIds.length<2).filter(e=>{if(!e.childrenIds.length)throw new vi("Query builder filter tree found unexpected childless group nodes");const t=e.childrenIds[0];if(this.getNode(t)instanceof DUi)throw new vi("Query builder filter tree found unexpected blank nodes");return this.getNode(t)instanceof IUi});let t=e();for(;t.length;)t.forEach(e=>this.squashGroupNode(e)),t=e();this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}simplifyTree(){this.setSelectedNode(void 0);const e=()=>Array.from(this.nodes.values()).filter(pr(AUi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;const t=this.nodes.get(e.parentId);return t instanceof AUi&&t.groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=mr(this.nodes.get(dr(e.parentId)),AUi);[...e.childrenIds].forEach(e=>{const n=this.getNode(e);t.addChildNode(n)}),t.removeChildNode(e),this.nodes.delete(e.id)}),t=e()}isValidMove(e,t){const n=e===t;let i=!1,r=this.getParentNode(t);for(;r;){if(r===e){i=!0;break}r=this.getParentNode(r)}return!n&&!i}moveNode(e,t){}collapseTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!1))}expandTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!0))}isVariableUsed(e){return Boolean(Array.from(this.nodes.values()).filter(pr(IUi)).map(e=>e.condition.rightConditionValue instanceof yUi?e.condition.rightConditionValue.value:void 0).filter(cr).find(t=>syt(e,t)))}isInvalidFilterPropertyExpressionState(e){return e instanceof IUi&&!e.condition.sourceState.isValid}isInvalidValueSpecFilterValue(e){return e instanceof IUi&&e.condition.rightConditionValue instanceof yUi&&e.condition.rightConditionValue.value instanceof AS&&!Kvt(e.condition.rightConditionValue.value)}isInvalidPropertyExpressionStateFilterValue(e){return e instanceof IUi&&e.condition.rightConditionValue instanceof bUi&&!e.condition.rightConditionValue.propertyExpressionState.isValid}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof IUi&&(this.isInvalidValueSpecFilterValue(t)&&e.push(`Filter value for ${t.condition.sourceState.title} is missing or invalid`),this.isInvalidFilterPropertyExpressionState(t)&&e.push(`Derived property parameter value for ${t.condition.sourceState.title} is missing or invalid`),t.condition.rightConditionValue instanceof bUi&&this.isInvalidPropertyExpressionStateFilterValue(t)&&e.push(`Derived property parameter value for ${t.condition.rightConditionValue.propertyExpressionState.title} is missing or invalid`))}),e}get hasInvalidFilterValues(){return Array.from(this.nodes.values()).some(e=>this.isInvalidValueSpecFilterValue(e))}get hasInvalidDerivedPropertyParameters(){return Array.from(this.nodes.values()).some(e=>this.isInvalidFilterPropertyExpressionState(e)||this.isInvalidPropertyExpressionStateFilterValue(e))}get hashCode(){return fv([ayt.FILTER_STATE,fv(this.rootIds),fv(Array.from(this.nodes.values()))])}}const kUi=(e,t)=>{if(t instanceof IUi){const n=t.parentId?mr(e.nodes.get(t.parentId),TUi):void 0;return t.condition.operator.buildFilterConditionExpression(t.condition,n?.lambdaParameterName)}if(t instanceof AUi){const n=new VS(I_(rUi(t.groupOperation))),i=t.childrenIds.map(t=>e.nodes.get(t)).filter(cr).map(t=>kUi(e,t)).filter(cr);if(i.length>2){const e=i[0];let r=i[i.length-1];for(let e=i.length-2;e>0;--e){const n=i[e],s=r,o=new VS(I_(rUi(t.groupOperation)));o.parametersValues=[n,s],r=o}n.parametersValues=[e,r]}else n.parametersValues=i;return n.parametersValues.length?n:void 0}if(t instanceof RUi){const n=new VS(I_(Rvt.EXISTS));let i=t.parentId?mr(e.nodes.get(dr(t.parentId)),TUi):void 0;for(;i&&!(i instanceof AUi);)i=i.parentId?mr(e.nodes.get(dr(i.parentId)),TUi):void 0;const r=t.parentId?mr(e.nodes.get(dr(t.parentId)),TUi).lambdaParameterName:void 0,s=dr(gUi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,r??e.lambdaParameterName)),o=t.childrenIds.map(t=>e.nodes.get(t)).filter(cr).map(t=>kUi(e,t)).filter(cr);let a;if(o.length>2){const e=o[0];let t=o[o.length-1];for(let e=o.length-2;e>0;--e){const n=o[e],r=t,s=new VS(dr(i).groupOperation);s.parametersValues=[n,r],t=s}a=[e,t]}else{if(1===o.length){const i=nyt([t.lambdaParameterName??bvt],o,e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,i],n}a=o}if(!a.length)return;const l=new VS(I_(rUi(dr(i).groupOperation)));l.parametersValues=a;const c=nyt([t.lambdaParameterName??bvt],[l],e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,c],n}};var LUi,MUi;!function(e){e.RUN="RUN",e.EXPORT="EXPORT",e.DATA_CUBE="DATA_CUBE"}(LUi||(LUi={})),function(e){e.LAMBDA_PARAMETER_STATE="LAMBDA_PARAMETER_STATE",e.LAMBDA_PARAMETERS_STATE="LAMBDA_PARAMETERS_STATE"}(MUi||(MUi={}));const PUi=(e,t)=>{const n=new HS(new GS(C_.create(e.getType(exports.CORE_PURE_PATH.ANY)),A_.ONE));return n.expressionSequence=t.map(e=>{if(e.value){const t=new VS(I_(exports.SUPPORTED_FUNCTIONS.LET)),n=new RS(j_.create(new X_(V_.STRING)));return n.values=[e.variableName],t.parametersValues.push(n),t.parametersValues.push(e.value),t}}).filter(cr),n},FUi=e=>e.value instanceof VS&&[A_.ONE,A_.ZERO_ONE].some(t=>xE(t,e.parameter.multiplicity)),BUi=e=>e.filter(FUi),VUi=(e,t)=>e.filter(e=>!FUi(e)).map(e=>{const n=new aK;return n.name=e.parameter.name,n.value=t.graphManager.serializeValueSpecification(dr(e.value)),n}),UUi=(e,t,n)=>{const i=((e,t)=>{const n=BUi(e);if(n.length>0){const i=PUi(t.graph,n);return i.functionType.parameters=e.filter(e=>!n.includes(e)).map(e=>e.parameter),w7(i,t)}})(t,n);return i&&Array.isArray(e.body)&&Array.isArray(i.body)?(i.body=[...i.body,...e.body],i):e};class GUi{uuid=Mr();parameter;graph;observerContext;value;constructor(e,t,n){hd(this,{value:Rc,setValue:Pu,mockParameterValue:Pu,hashCode:Oc}),this.observerContext=t,this.parameter=Tie(e),this.graph=n}get hashCode(){return fv([MUi.LAMBDA_PARAMETER_STATE,this.parameter])}mockParameterValue(){this.setValue(bVi(this.parameter,this.graph,this.observerContext))}setValue(e){if(e instanceof TS)throw new vi("Can not assign a parameter to another parameter");this.value=e?Yie(e,this.observerContext):void 0}changeVariableType(e){e!==this.variableType&&(Pvt(this.parameter,j_.create(new X_(e))),this.mockParameterValue())}changeMultiplicity(e,t){const n=this.parameter.multiplicity;xE(n,t)||(Fvt(e,t),this.mockParameterValue())}get variableName(){return this.parameter.name}get variableType(){return this.parameter.genericType?.value.rawType}}class HUi{showModal=!1;submitAction;constructor(){hd(this,{showModal:Rc,submitAction:Rc,setShowModal:Pu,open:Pu,setSubmitAction:Pu})}setShowModal(e){this.showModal=e}setSubmitAction(e){this.submitAction=e}open(e,t){this.setSubmitAction({handler:e,label:t}),this.setShowModal(!0)}close(){this.setSubmitAction(void 0),this.setShowModal(!1)}}class zUi{parameterStates=[];parameterValuesEditorState=new HUi;constructor(){hd(this,{hashCode:Oc})}get hashCode(){return fv([MUi.LAMBDA_PARAMETERS_STATE,fv(this.parameterStates)])}addParameter(e){jr(this.parameterStates,e)}removeParameter(e){$r(this.parameterStates,e)}setParameters(e){this.parameterStates=e}}class jUi{queryBuilderState;mapping;runtimeValue;constructor(e){this.queryBuilderState=e}setMapping(e){this.mapping=e}setRuntimeValue(e){this.runtimeValue=e}get specifiedInQuery(){return!1}get explicitMappingValue(){return this.mapping}get explicitRuntimeValue(){return this.runtimeValue}}class WUi extends jUi{constructor(e){super(e),hd(this,{mapping:Rc,runtimeValue:Rc,setMapping:Pu,setRuntimeValue:Pu})}get specifiedInQuery(){return!0}get explicitMappingValue(){}get explicitRuntimeValue(){}}class $Ui extends jUi{constructor(e){super(e),hd(this,{mapping:Rc,runtimeValue:Rc,setMapping:Pu,setRuntimeValue:Pu})}}const qUi=(e,t)=>{const n=new VS(I_(Avt.GET_ALL)),i=new AS(t,j_.create(new X_(e)));return i.values[0]=C_.create(e),n.parametersValues.push(i),n},YUi=(e,t)=>{const n=new VS(I_(Avt.GET_ALL_VERSIONS)),i=new AS(t,j_.create(new X_(e)));return i.values[0]=C_.create(e),n.parametersValues.push(i),n},KUi=(e,t)=>{const n=new HS(new GS(C_.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),A_.ONE)),i=dr(e.sourceElement,"Source element of type class or accessor is required to build query");if(i instanceof Z_){const i=dr(e.sourceClass,"Class is required to build query"),r=cE(i,e.graphManagerState.graph);if(r&&t?.useAllVersionsForMilestoning){const e=YUi(i,A_.ONE);n.expressionSequence[0]=e}else switch(e.getAllFunction){case Avt.GET_ALL_VERSIONS:if(!r)throw new yi("Unable to build query lamdba: getAllVersions() expects source class to be milestoned");{const e=YUi(i,A_.ONE);n.expressionSequence[0]=e}break;case Avt.GET_ALL_VERSIONS_IN_RANGE:if(!r)throw new yi("Unable to build query lamdba: getAllVersionsInRange() expects source class to be milestoned");{const t=((e,t)=>{const n=new VS(I_(Avt.GET_ALL_VERSIONS_IN_RANGE)),i=new AS(t,j_.create(new X_(e)));return i.values[0]=C_.create(e),n.parametersValues.push(i),n})(i,A_.ONE);e.milestoningState.getMilestoningImplementation(r).buildGetAllVersionsInRangeParameters(t),n.expressionSequence[0]=t}break;case Avt.GET_ALL:{const t=qUi(i,A_.ONE);r&&e.milestoningState.getMilestoningImplementation(r).buildGetAllParameters(t),n.expressionSequence[0]=t;break}default:throw new yi(`Unable to build query lambda: unknown ${e.getAllFunction} function`)}}else{const e=new Oq;e.values=[i],n.expressionSequence[0]=e}if(((e,t)=>{if(!e.value)return;const n=dr(t.expressionSequence[0]),i=new VS(I_(Rvt.WATERMARK));i.parametersValues.push(n),i.parametersValues.push(e.value),t.expressionSequence[0]=i})(e.watermarkState,n),((e,t)=>{const n=e.rootIds.map(t=>dr(e.nodes.get(t))).map(t=>kUi(e,t)).filter(cr);if(!n.length)return;const i=new VS(I_(Rvt.FILTER)),r=dr(t.expressionSequence[0]);i.parametersValues.push(r),i.parametersValues.push(nyt([e.lambdaParameterName],n,e.queryBuilderState.graphManagerState.graph)),t.expressionSequence[0]=i})(e.filterState,n),((e,t,n)=>{e.implementation.appendFetchStructure(t,n)})(e.fetchStructureState,n,t),t?.skipExecutionContext||e.buildExecutionContextExpression(n),e.constantState.constants.length){const t=e.constantState.constants.map(e=>e.buildLetExpression());n.expressionSequence=[...t,...n.expressionSequence]}return e.parametersState.parameterStates.length&&!t?.useAllVersionsForMilestoning&&(t?.isBuildingExecutionQuery?((e,t,n)=>{const i=BUi(t);if(i.length){e.functionType.parameters=t.filter(e=>!i.includes(e)).map(e=>e.parameter);const r=PUi(n.graph,i);e.expressionSequence=[...r.expressionSequence,...e.expressionSequence]}else e.functionType.parameters=t.map(e=>e.parameter)})(n,e.parametersState.parameterStates,e.graphManagerState):n.functionType.parameters=e.parametersState.parameterStates.map(e=>e.parameter)),n},XUi=(e,t,n)=>{const i=new US("");let r;i.func=e.func,i.parametersValues=[...e.parametersValues];let s=i;for(;s instanceof US;){if(r=s.parametersValues[0],r instanceof US){const e=new US("");e.func=r.func,e.parametersValues=[...r.parametersValues],r=e,s.parametersValues[0]=e}if(s instanceof US&&s.func.value.genericType.value.rawType instanceof Z_&&0!==s.func.value._OWNER._generatedMilestonedProperties.length&&s.func.value instanceof pC&&!s.func.value._OWNER.derivedProperties.includes(s.func.value)){const e=pVi(Rvt.NOW,V_.DATETIME),t=2===s.parametersValues.length?[e]:[e,e];Bvt(s,[dr(s.parametersValues[0]),...t],n)}for(s=r;s instanceof VS&&k_(s.functionName,Rvt.SUBTYPE);)s=s.parametersValues[0]}return s instanceof TS&&Hvt(s,t),i},ZUi=(e,t,n,i,r,s,o)=>{if(!(t||i&&r&&s))throw new yi("Can't build typeahead query");const a=new HS(new GS(C_.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),A_.ONE)),l=dr(e.sourceClass),c=qUi(dr(e.sourceClass),A_.ONE),u=cE(l,e.graphManagerState.graph);u&&e.milestoningState.getMilestoningImplementation(u).buildGetAllWithDefaultParameters(c),a.expressionSequence[0]=c;const d=t?SVi(t,!1):s;if(n){const r=new VS(I_(Rvt.TDS_GROUP_BY)),s=new IS(A_.ZERO),o=new IS(A_.ONE),l=new IS(A_.ONE),c=new RS(j_.create(new X_(V_.STRING)));c.values.push(d),l.values.push(c);const u=t?nyt([bvt],[t],e.graphManagerState.graph):i,h=new VS(I_(Rvt.TDS_AGG)),p=nyt([bvt],[n.buildAggregateExpression(t,bvt,e.graphManagerState.graph)],e.graphManagerState.graph);h.parametersValues=[dr(u),p],o.values.push(h),r.parametersValues=[a.expressionSequence[0],s,o,l],a.expressionSequence[0]=r}else{const n=new VS(I_(Rvt.TDS_PROJECT)),r=new IS(A_.ONE),s=new IS(A_.ONE),o=new RS(j_.create(new X_(V_.STRING)));o.values.push(d),s.values.push(o);const l=t?nyt([bvt],[t],e.graphManagerState.graph):i;r.values.push(dr(l)),n.parametersValues=[a.expressionSequence[0],r,s],a.expressionSequence[0]=n}const h=new dUi,p=new US("");let g;const m=h.getTDSColumnGetter();if(m)g=m;else{const e=t?.func.value.genericType.value.rawType??r;g=nUi(dr(e))}p.func=fC.create(dr(vE(e.graphManagerState.graph.getClass(xvt.TDS_ROW)).find(e=>e.name===g)));const f=new TS(_vt,A_.ONE),v=new RS(j_.create(new X_(V_.STRING)));v.values=[d],p.parametersValues=[f,v];const y=new VS(I_(Rvt.STARTS_WITH));y.parametersValues.push(p),o&&y.parametersValues.push(o);const b=nyt([_vt],[y],e.graphManagerState.graph),_=new VS(I_(Rvt.TDS_FILTER)),C=dr(a.expressionSequence[0]);_.parametersValues=[C,b],a.expressionSequence[0]=_;let S=a.expressionSequence[0];const w=new VS(I_(Rvt.TDS_DISTINCT));w.parametersValues[0]=S,S=w;const E=new RS(j_.create(new X_(V_.INTEGER)));E.values=[10];const x=new VS(I_(Rvt.TDS_TAKE));return x.parametersValues[0]=S,x.parametersValues[1]=E,S=x,a.expressionSequence[0]=S,w7(a,e.graphManagerState)},QUi=(e,t,n)=>{const i=XUi(t,bvt,e.observerContext);return ZUi(e,i,void 0,void 0,void 0,void 0,n)},JUi=e=>{const t=mr(e,gQ,"Typeahead search is only supported for TDS result sets"),n=[];return t.result.rows.map(e=>e.values[0]).filter(cr).forEach(e=>{_r(e)&&n.push(e)}),n},eGi=e=>{if(e instanceof RS){if(e.genericType.value.rawType.path===Xb.STRING){return e.values[0].length>=2}return!1}return!1};var tGi;!function(e){e.GROUP_CONDITION="QUERY_BUILDER_POST_FILTER_DND_TYPE.GROUP_CONDITION",e.CONDITION="QUERY_BUILDER_POST_FILTER_DND_TYPE.CONDITION",e.BLANK_CONDITION="QUERY_BUILDER_POST_FILTER_DND_TYPE.BLANK_CONDITION"}(tGi||(tGi={}));const nGi=(e,t)=>{switch(e){case Nvt.GET_STRING:return V_.STRING;case Nvt.GET_NUMBER:return V_.NUMBER;case Nvt.GET_INTEGER:return V_.INTEGER;case Nvt.GET_FLOAT:return V_.FLOAT;case Nvt.GET_DECIMAL:return V_.DECIMAL;case Nvt.GET_DATE:return V_.DATE;case Nvt.GET_DATETIME:return V_.DATETIME;case Nvt.GET_STRICTDATE:return V_.STRICTDATE;case Nvt.GET_BOOLEAN:return V_.BOOLEAN;default:return}};class iGi{id=Mr();label="";isOpen;parentId;constructor(e){this.parentId=e,hd(this,{isOpen:Rc,parentId:Rc,setIsOpen:Pu,setParentId:Pu,hashCode:Oc})}setIsOpen(e){this.isOpen=e}setParentId(e){this.parentId=e}}class rGi extends iGi{groupOperation;childrenIds=[];constructor(e,t){super(e),hd(this,{groupOperation:Rc,setGroupOperation:Pu,childrenIds:Rc,addChildNode:Pu,removeChildNode:Pu,dragPreviewLabel:Oc}),this.groupOperation=t,this.isOpen=!0}get dragPreviewLabel(){return`${this.groupOperation.toUpperCase()} group`}setGroupOperation(e){this.groupOperation=e}addChildNode(e){jr(this.childrenIds,e.id),e.setParentId(this.id)}removeChildNode(e){$r(this.childrenIds,e.id),e.setParentId(void 0)}addChildNodeAt(e,t){this.childrenIds.find(t=>t===e.id)||(t=Math.max(0,Math.min(t,this.childrenIds.length-1)),this.childrenIds.splice(t,0,e.id),e.setParentId(this.id))}get hashCode(){return fv([ayt.POST_FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",fv(this.childrenIds),this.groupOperation])}}class sGi extends iGi{condition;isNewlyAdded;constructor(e,t,n){super(e),hd(this,{condition:Rc,isNewlyAdded:Rc,setIsNewlyAdded:Pu,dragPreviewLabel:Oc}),this.condition=t,this.isNewlyAdded=n??!1}setIsNewlyAdded(e){this.isNewlyAdded=e}get dragPreviewLabel(){return this.condition.columnName}get hashCode(){return fv([ayt.POST_FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class oGi extends iGi{constructor(e){super(e),hd(this,{dragPreviewLabel:Oc})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return fv([ayt.POST_FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class aGi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return fv([ayt.POST_FILTER_CONDITION_RIGHT_VALUE])}}class lGi extends aGi{value;constructor(e,t){super(e),hd(this,{value:Rc,setValue:Pu}),this.value=this.setValue(t)}get type(){return this.value instanceof IS?Yvt(this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?qvt(this.value):void 0}setValue(e){return this.value=e?Yie(e,this.conditionState.postFilterState.tdsState.queryBuilderState.observerContext):void 0,this.value}appendConditionValue(e,t){this.value&&e.parametersValues.push(this.value)}get isCollection(){return this.value instanceof IS}get hashCode(){return fv([ayt.POST_FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class cGi extends aGi{tdsColumn;constructor(e,t){super(e),hd(this,{tdsColumn:Rc,changeCol:Pu}),this.tdsColumn=t}get type(){return this.tdsColumn.getColumnType()}get isCollection(){return!1}appendConditionValue(e,t){const n=cUi(this.conditionState,this.tdsColumn,this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,void 0,t);e.parametersValues.push(n)}changeCol(e){this.tdsColumn=e}}class uGi{postFilterState;leftConditionValue;rightConditionValue;operator;typeaheadSearchResults;typeaheadSearchState=Py.create();constructor(e,t,n){hd(this,{postFilterState:Rc,rightConditionValue:Rc,operator:Rc,leftConditionValue:Rc,typeaheadSearchResults:Rc,changeOperator:Pu,setColumnState:Pu,setRightConditionVal:Pu,buildFromValueSpec:Pu,setOperator:Pu,changeColumn:Ju,handleTypeaheadSearch:Ju,columnName:Oc,hashCode:Oc}),this.postFilterState=e,this.leftConditionValue=t,this.rightConditionValue=new lGi(this,void 0),n?this.operator=n:(br(0!==this.operators.length,`Can't find an operator for column '${this.leftConditionValue.columnName}`),this.operator=dr(this.operators[0]))}get columnName(){return this.leftConditionValue.columnName}get operators(){return this.postFilterState.operators.filter(e=>e.isCompatibleWithPostFilterColumn(this))}setRightConditionVal(e){this.rightConditionValue=e}buildFromValueSpec(e){this.rightConditionValue instanceof lGi?this.rightConditionValue.setValue(e):this.setRightConditionVal(new lGi(this,e))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=this.leftConditionValue instanceof OVi||this.leftConditionValue instanceof BVi?this.leftConditionValue:void 0,n=dr(t),i=mr(this.rightConditionValue,lGi),r=e??i.value;if(eGi(r)){const e=(yield this.postFilterState.tdsState.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t,n)=>{let i,r,s,o,a,l;return t instanceof OVi?l=t:(l=t.projectionColumnState,r=t.operator),l instanceof PVi?(s=new xS(_I(Xq(l.lambda,new mZ([]).build()))),o=l.columnName,a=l.returnType):i=XUi(mr(l,kVi).propertyExpressionState.propertyExpression,bvt,e.observerContext),ZUi(e,i,r,s,a,o,n)})(this.postFilterState.tdsState.queryBuilderState,n,r),dr(this.postFilterState.tdsState.queryBuilderState.executionContextState.mapping),dr(this.postFilterState.tdsState.queryBuilderState.executionContextState.runtimeValue),this.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.postFilterState.tdsState.queryBuilderState.forceFromExpressionForExec})).executionResult;this.typeaheadSearchResults=JUi(e)}this.typeaheadSearchState.pass()}catch(e){bi(e),this.typeaheadSearchState.fail()}finally{this.typeaheadSearchState.complete()}}changeOperator(e){this.setOperator(e),this.operator.isCompatibleWithConditionValue(this)||this.buildFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}setColumnState(e){this.leftConditionValue=e}setOperator(e){this.operator=e}*changeColumn(e){try{const t=this.postFilterState.tdsState.aggregationState.columns.find(t=>t.projectionColumnState===e),n=t??e;n instanceof PVi&&(yield n.fetchDerivationLambdaReturnType()),this.setColumnState(n),this.operator.isCompatibleWithPostFilterColumn(this)||this.setOperator(dr(this.operators[0])),this.operator.isCompatibleWithConditionValue(this)||this.buildFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}catch(t){bi(t),this.postFilterState.tdsState.queryBuilderState.applicationStore.notificationService.notifyError(`Can't drag column '${e.columnName}' due to: ${t.message}`)}}get hashCode(){return fv([ayt.POST_FILTER_CONDITION_STATE,this.leftConditionValue,this.rightConditionValue,this.operator])}}class dGi{tdsState;lambdaParameterName=_vt;selectedNode;isRearrangingConditions=!1;operators=[];rootIds=[];nodes=new Map;derivedColumnBeingDropped;constructor(e,t){hd(this,{tdsState:!1,selectedNode:Rc,isRearrangingConditions:Rc,rootIds:Rc,nodes:Rc,lambdaParameterName:Rc,derivedColumnBeingDropped:Rc,setLambdaParameterName:Pu,setSelectedNode:Pu,addNodeFromNode:Pu,addGroupConditionNodeFromNode:Pu,newGroupWithConditionFromNode:Pu,removeNodeAndPruneBranch:Pu,pruneTree:Pu,simplifyTree:Pu,collapseTree:Pu,expandTree:Pu,replaceBlankNodeWithNode:Pu,setRearrangingConditions:Pu,setDerivedColumnBeingDropped:Pu,allValidationIssues:Oc,hasInvalidFilterValues:Oc,hasInvalidDerivedPropertyParameters:Oc,hashCode:Oc}),this.tdsState=e,this.operators=t}setRearrangingConditions(e){this.isRearrangingConditions=e}setSelectedNode(e){this.selectedNode=e}getNode(e){return dr(this.nodes.get(e),`Can't find query builder post-filter tree node with ID '${e}'`)}setDerivedColumnBeingDropped(e){this.derivedColumnBeingDropped=e}get isEmpty(){return!this.nodes.size&&!this.rootIds.length}getParentNode(e){return e.parentId?mr(this.nodes.get(e.parentId),rGi):void 0}get referencedTDSColumns(){return li(Array.from(this.nodes.values()).filter(pr(sGi)).map(e=>[e.condition.leftConditionValue,...e.condition.rightConditionValue instanceof cGi?[e.condition.rightConditionValue.tdsColumn]:[]]).flat())}getRootNode(){br(this.rootIds.length<2,"Query builder post-filter tree cannot have more than 1 root");const e=this.rootIds[0];return e?this.getNode(e):void 0}addRootNode(e){const t=this.getRootNode();if(this.nodes.set(e.id,e),t instanceof rGi)t.addChildNode(e);else if(t instanceof sGi||t instanceof oGi){const n=new rGi(void 0,iUi.AND);n.addChildNode(t),n.addChildNode(e),this.rootIds=[n.id],this.nodes.set(n.id,n)}else t||(this.rootIds=[e.id])}replaceBlankNodeWithNode(e,t){this.nodes.set(e.id,e);const n=this.getParentNode(t);if(n){const i=n.childrenIds.findIndex(e=>e===t.id);n.addChildNodeAt(e,i),n.removeChildNode(t)}else this.addRootNode(e);this.removeNode(t)}setLambdaParameterName(e){this.lambdaParameterName=e}addGroupConditionNodeFromNode(e){const t=new rGi(void 0,iUi.AND),n=new oGi(void 0),i=new oGi(void 0);this.nodes.set(n.id,n),this.nodes.set(i.id,i),t.addChildNode(n),t.addChildNode(i),this.addNodeFromNode(t,e)}newGroupWithConditionFromNode(e,t){const n=e??new oGi(void 0);if(t instanceof sGi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new rGi(void 0,iUi.AND);this.nodes.set(n.id,n),this.nodes.set(r.id,r),r.addChildNode(t),r.addChildNode(n),e.addChildNodeAt(r,i)}else this.addRootNode(n)}}addNodeFromNode(e,t){if(t instanceof rGi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof sGi||t instanceof oGi){this.nodes.set(e.id,e);const n=this.getParentNode(t);n?n.addChildNode(e):this.addRootNode(e)}else this.selectedNode||this.addRootNode(e)}removeNode(e){this.nodes.delete(e.id),e instanceof rGi&&[...e.childrenIds].forEach(t=>e.removeChildNode(this.getNode(t)));const t=this.getParentNode(e);t?t.removeChildNode(e):$r(this.rootIds,e.id)}removeNodeAndPruneBranch(e){const t=this.getParentNode(e);if(this.removeNode(e),t){t.removeChildNode(e);let n=t;for(;n&&!(n.childrenIds.length>=2);)this.squashGroupNode(n),n=this.getParentNode(n)}else $r(this.rootIds,e.id);this.pruneOrphanNodes(),this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}simplifyTree(){this.setSelectedNode(void 0);const e=()=>Array.from(this.nodes.values()).filter(pr(rGi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;return mr(this.nodes.get(e.parentId),rGi).groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=mr(this.nodes.get(dr(e.parentId)),rGi);[...e.childrenIds].forEach(e=>{const n=this.getNode(e);t.addChildNode(n)}),t.removeChildNode(e),this.nodes.delete(e.id)}),t=e()}pruneOrphanNodes(){const e=()=>Array.from(this.nodes.values()).filter(e=>!e.parentId&&!this.rootIds.includes(e.id));let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}pruneChildlessGroupNodes(){const e=()=>Array.from(this.nodes.values()).filter(pr(rGi)).filter(e=>!e.childrenIds.length);let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}pruneTree(){this.setSelectedNode(void 0),Array.from(this.nodes.values()).filter(e=>e instanceof oGi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(pr(rGi)).filter(e=>e.childrenIds.length<2).filter(e=>{if(!e.childrenIds.length)throw new vi("Query builder post-filter tree found unexpected childless group nodes");const t=e.childrenIds[0];if(this.getNode(t)instanceof oGi)throw new vi("Query builder post-filter tree found unexpected blank nodes");return this.getNode(t)instanceof sGi});let t=e();for(;t.length;)t.forEach(e=>this.squashGroupNode(e)),t=e();this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}squashGroupNode(e){if(e.childrenIds.length<2){const t=this.getParentNode(e);[...e.childrenIds].forEach(n=>{const i=this.getNode(n);e.removeChildNode(i),t?t.addChildNode(i):jr(this.rootIds,n)}),this.nodes.delete(e.id),t?t.removeChildNode(e):$r(this.rootIds,e.id)}}collapseTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!1))}expandTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!0))}isVariableUsed(e){return Boolean(Array.from(this.nodes.values()).filter(pr(sGi)).map(e=>e.condition.rightConditionValue).filter(pr(lGi)).map(e=>e.value).filter(cr).find(t=>syt(e,t)))}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof sGi&&(t.condition.rightConditionValue instanceof lGi&&t.condition.rightConditionValue.value instanceof AS&&!Kvt(t.condition.rightConditionValue.value)&&e.push(`Filter value for ${t.condition.leftConditionValue.columnName} is missing or invalid`),t.condition.leftConditionValue instanceof kVi&&!t.condition.leftConditionValue.propertyExpressionState.isValid&&e.push(`Derived property parameter value for ${t.condition.leftConditionValue.propertyExpressionState.title} is missing or invalid`))}),e}get hasInvalidFilterValues(){return Array.from(this.nodes.values()).some(e=>e instanceof sGi&&e.condition.rightConditionValue instanceof lGi&&e.condition.rightConditionValue.value instanceof AS&&!Kvt(e.condition.rightConditionValue.value))}get hasInvalidDerivedPropertyParameters(){return Array.from(this.nodes.values()).some(e=>e instanceof sGi&&e.condition.leftConditionValue instanceof kVi&&!e.condition.leftConditionValue.propertyExpressionState.isValid)}get hashCode(){return fv([ayt.POST_FILTER_STATE,fv(this.rootIds),fv(Array.from(this.nodes.values()))])}}class hGi extends eUi{getLabel(){return"is in list of"}isCompatibleWithType(e){const t=Jvt(e);return void 0!==t&&[Xb.STRING,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t)||e instanceof nC}isCompatibleWithConditionValue(e){const t=dr(e.leftConditionValue.getColumnType()),n=e.rightConditionValue;if(n instanceof lGi){const i=n.value;if(i instanceof IS){if(0===i.values.length)return!0;const n=Yvt(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,i.values);if(!n)return!1;const r=Jvt(t)??t.path,s=Jvt(n)??n.path;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(r)?[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(s):n===t||r===s}if(i instanceof TS)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=dr(e.leftConditionValue.getColumnType()),n=Jvt(t),i=void 0!==n?H_(n):t;return new IS(A_.ONE,j_.create(new X_(i)))}buildPostFilterConditionExpression(e,t){return uUi(e,this,Rvt.IN,t)}buildPostFilterConditionState(e,t){return aUi(e,t,Rvt.IN,this)}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_IN])}}class pGi extends hGi{getLabel(){return"is not in list of"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Zvt(n):void 0}buildPostFilterConditionState(e,t){const n=Xvt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_NOT_IN])}}class gGi extends eUi{getLabel(){return"is empty"}getTDSColumnGetter(){return Nvt.IS_NULL}isCompatibleWithType(e){return e instanceof V_||e instanceof U_||e instanceof nC}isCompatibleWithConditionValue(e){return e.rightConditionValue instanceof lGi&&void 0===e.rightConditionValue.value}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!(!t||!this.isCompatibleWithType(t))&&(e.leftConditionValue instanceof kVi?Qvt(e.leftConditionValue.propertyExpressionState.propertyExpression):!(e.leftConditionValue instanceof LVi)||0===e.leftConditionValue.column.multiplicity.lowerBound)}getDefaultFilterConditionValue(e){}buildPostFilterConditionExpression(e,t){const n=e.leftConditionValue instanceof LVi?Rvt.IS_EMPTY:void 0;return uUi(e,this,n,t)}buildPostFilterConditionState(e,t){if(t instanceof VS&&k_(t.functionName,Rvt.IS_EMPTY)&&1===t.parametersValues.length&&t.parametersValues[0]instanceof BS){const n=t.parametersValues[0],i=tUi(e.tdsState,n.functionName);return new uGi(e,i,this)}return aUi(e,t,void 0,this)}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_IS_EMPTY])}}class mGi extends gGi{getLabel(){return"is not empty"}getTDSColumnGetter(){return Nvt.IS_NOT_NULL}buildPostFilterConditionExpression(e,t){if(e.leftConditionValue instanceof LVi){const n=super.buildPostFilterConditionExpression(e,t);return n?Zvt(n):void 0}return super.buildPostFilterConditionExpression(e,t)}buildPostFilterConditionState(e,t){if(t instanceof VS){const n=Xvt(t);if(n)return super.buildPostFilterConditionState(e,n)}return super.buildPostFilterConditionState(e,t)}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_IS_NOT_EMPTY])}}class fGi extends eUi{getLabel(){return"is"}isCompatibleWithType(e){const t=Jvt(e);return void 0!==t&&[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t)||e instanceof nC&&e.values.length>0}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&eyt(e.rightConditionValue.type,dr(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=dr(e.leftConditionValue.getColumnType());return vVi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildPostFilterConditionExpression(e,t){return uUi(e,this,e.leftConditionValue.getColumnType()===V_.DATETIME&&e.rightConditionValue.type!==V_.DATETIME?Rvt.IS_ON_DAY:Rvt.EQUAL,t)}buildPostFilterConditionState(e,t){return aUi(e,t,t.parametersValues[0]instanceof US&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Rvt.IS_ON_DAY:Rvt.EQUAL,this)}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_EQUAL])}}class vGi extends fGi{getLabel(){return"is not"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Zvt(n):void 0}buildPostFilterConditionState(e,t){const n=Xvt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_NOT_EQUAL])}}class yGi extends eUi{getLabel(){return"<"}isCompatibleWithType(e){const t=Jvt(e);return void 0!==t&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t)}isCompatibleWithConditionValue(e){return eyt(e.rightConditionValue.isCollection?void 0:e.rightConditionValue.type,dr(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();switch(t?.path){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.INTEGER:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.DATE:return vVi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new yi(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}}buildPostFilterConditionExpression(e,t){return uUi(e,this,e.leftConditionValue.getColumnType()===V_.DATETIME&&e.rightConditionValue.type!==V_.DATETIME?Rvt.IS_BEFORE_DAY:Rvt.LESS_THAN,t)}buildPostFilterConditionState(e,t){return aUi(e,t,t.parametersValues[0]instanceof US&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Rvt.IS_BEFORE_DAY:Rvt.LESS_THAN,this)}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_LESS_THAN])}}class bGi extends yGi{getLabel(){return"<="}buildPostFilterConditionExpression(e,t){return uUi(e,this,e.leftConditionValue.getColumnType()===V_.DATETIME&&e.rightConditionValue.type!==V_.DATETIME?Rvt.IS_ON_OR_BEFORE_DAY:Rvt.LESS_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return aUi(e,t,t.parametersValues[0]instanceof US&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Rvt.IS_ON_OR_BEFORE_DAY:Rvt.LESS_THAN_EQUAL,this)}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_LESS_THAN_EQUAL])}}class _Gi extends eUi{getLabel(){return">"}isCompatibleWithType(e){const t=Jvt(e);return void 0!==t&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t)}isCompatibleWithConditionValue(e){return eyt(e.rightConditionValue.isCollection?void 0:e.rightConditionValue.type,dr(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();switch(t?.path){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.INTEGER:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.DATE:return vVi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new yi(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}}buildPostFilterConditionExpression(e,t){return uUi(e,this,e.leftConditionValue.getColumnType()===V_.DATETIME&&e.rightConditionValue.type!==V_.DATETIME?Rvt.IS_AFTER_DAY:Rvt.GREATER_THAN,t)}buildPostFilterConditionState(e,t){return aUi(e,t,t.parametersValues[0]instanceof US&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Rvt.IS_AFTER_DAY:Rvt.GREATER_THAN,this)}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_GREATER_THAN])}}class CGi extends _Gi{getLabel(){return">="}buildPostFilterConditionExpression(e,t){return uUi(e,this,e.leftConditionValue.getColumnType()===V_.DATETIME&&e.rightConditionValue.type!==V_.DATETIME?Rvt.IS_ON_OR_AFTER_DAY:Rvt.GREATER_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return aUi(e,t,t.parametersValues[0]instanceof US&&t.parametersValues[0].func.value.genericType.value.rawType.path===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Rvt.IS_ON_OR_AFTER_DAY:Rvt.GREATER_THAN_EQUAL,this)}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class SGi extends eUi{getLabel(){return"contains"}isCompatibleWithType(e){return Jvt(e)===Xb.STRING}isCompatibleWithConditionValue(e){const t=e.rightConditionValue.type;return!e.rightConditionValue.isCollection&&void 0!==t&&Jvt(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=dr(e.leftConditionValue.getColumnType());if(t.path===Xb.STRING)return vVi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new yi(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildPostFilterConditionExpression(e,t){return uUi(e,this,Rvt.CONTAINS,t)}buildPostFilterConditionState(e,t){return aUi(e,t,Rvt.CONTAINS,this)}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_CONTAIN])}}class wGi extends SGi{getLabel(){return"doesn't contain"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Zvt(n):void 0}buildPostFilterConditionState(e,t){const n=Xvt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_NOT_CONTAIN])}}class EGi extends eUi{getLabel(){return"ends with"}isCompatibleWithType(e){return Jvt(e)===Xb.STRING}isCompatibleWithConditionValue(e){const t=e.rightConditionValue.type;return!e.rightConditionValue.isCollection&&void 0!==t&&Jvt(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();if(t?.path===Xb.STRING)return vVi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new yi(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}buildPostFilterConditionExpression(e,t){return uUi(e,this,Rvt.ENDS_WITH,t)}buildPostFilterConditionState(e,t){return aUi(e,t,Rvt.ENDS_WITH,this)}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_END_WITH])}}class xGi extends EGi{getLabel(){return"doesn't end with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Zvt(n):void 0}buildPostFilterConditionState(e,t){const n=Xvt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return fv([ayt.POST_FILTER_OPERATOR_NOT_END_WITH])}}class TGi extends FVi{getLabel(e){return"distinct"}isCompatibleWithColumn(e){if(e instanceof kVi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(t.path)||t instanceof nC}return!0}buildAggregateExpression(e,t,n){return UVi(Rvt.UNIQUE_VALUE_ONLY,t)}buildAggregateColumnState(e,t,n){return GVi(n,t,e,Rvt.UNIQUE_VALUE_ONLY,this)}get hashCode(){return fv([ayt.AGGREGATE_OPERATOR_DISTINCT])}}class AGi extends FVi{getLabel(e){return"join"}isCompatibleWithColumn(e){return!(e instanceof kVi)||V_.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}buildAggregateExpression(e,t,n){const i=new VS(I_(Rvt.JOIN_STRINGS)),r=new RS(j_.create(new X_(V_.STRING)));return r.values=[";"],i.parametersValues.push(new TS(t,A_.ONE),r),i}buildAggregateColumnState(e,t,n){if(k_(e.functionName,Rvt.JOIN_STRINGS)){const i=new BVi(n.tdsState.aggregationState,n,this);i.setLambdaParameterName(t.name),br(2===e.parametersValues.length,"Can't process joinStrings() expression: joinStrings() expects 1 argument");const r=mr(e.parametersValues[0],TS,"Can't process joinStrings() expression: only support joinStrings() immediately following a variable expression");br(i.lambdaParameterName===r.name,`Can't process joinStrings() expression: expects variable used in lambda body '${r.name}' to match lambda parameter '${i.lambdaParameterName}'`);const s=mr(e.parametersValues[1],RS,"Can't process joinStrings() expression: joinStrings() expects arugment #1 to be a primitive instance value");return br(1===s.values.length&&";"===s.values[0],"Can't process joinStrings() expression: only support ';' as delimiter"),br(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process joinStrings() expression: property is not compatible with operator"),i.setOperator(this),i}}getReturnType(e){return V_.STRING}get hashCode(){return fv([ayt.AGGREGATE_OPERATOR_JOIN_STRING])}}class RGi extends FVi{percentile;acending;continuous;constructor(){super(),hd(this,{percentile:Rc,acending:Rc,continuous:Rc,setPercentile:Pu,setAcending:Pu,setContinuous:Pu})}setPercentile(e){this.percentile=e}setAcending(e){this.acending=e}setContinuous(e){this.continuous=e}getLabel(e){return"percentile"}isCompatibleWithColumn(e){if(e instanceof kVi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){const i=this.percentile?Number((this.percentile/100).toFixed(10)):0,r=new VS(I_(Rvt.PERCENTILE)),s=new RS(j_.create(new X_(V_.FLOAT)));if(s.values=[i],void 0===this.acending||void 0===this.continuous||this.acending&&this.continuous)r.parametersValues.push(new TS(t,A_.ONE),s);else{const e=new RS(j_.create(new X_(V_.BOOLEAN)));e.values=[this.acending];const n=new RS(j_.create(new X_(V_.BOOLEAN)));n.values=[this.continuous],r.parametersValues.push(new TS(t,A_.ONE),s,e,n)}return r}buildAggregateColumnState(e,t,n){if(k_(e.functionName,Rvt.PERCENTILE)){const i=new BVi(n.tdsState.aggregationState,n,new RGi),r=mr(i.operator,RGi);i.setLambdaParameterName(t.name),br([2,4].includes(e.parametersValues.length),"Can't process percentile() expression: percentile() expects 2 or 4 argument");const s=mr(e.parametersValues[0],TS,"Can't process percentile() expression: only support percentile() immediately following a variable expression");br(i.lambdaParameterName===s.name,`Can't process percentile() expression: expects variable used in lambda body '${s.name}' to match lambda parameter '${i.lambdaParameterName}'`);const o=mr(e.parametersValues[1],RS,"Can't process percentile() expression: percentile() expects arugment #2 to be a primitive instance value");if(r.percentile=parseFloat((100*o.values[0]).toFixed(10)),4===e.parametersValues.length){const t=mr(e.parametersValues[2],RS,"Can't process percentile() expression: percentile() expects arugment #3 to be a primitive instance value");r.acending=t.values[0];const n=mr(e.parametersValues[3],RS,"Can't process percentile() expression: percentile() expects arugment #4 to be a primitive instance value");r.continuous=n.values[0]}return br(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process percentile() expression: property is not compatible with operator"),i.setOperator(r),i}}get getOperator(){return new RGi}get allValidationIssues(){const e=[];return(void 0===this.percentile||this.percentile>100)&&e.push("Invalid Aggregation Argument for Percentile"),e}get hashCode(){return fv([ayt.AGGREGATE_OPERATOR_PERCENTILE])}}class NGi extends FVi{weight;constructor(){super(),hd(this,{weight:Rc,setWeight:Pu})}setWeight(e){this.weight=e}getLabel(e){return"wavg"}getName(e){return e.columnName}isCompatibleWithColumn(e){if(e instanceof kVi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!1}buildAggregateExpression(e,t,n){return UVi(Rvt.WAVG,t)}buildAggregateColumnState(e,t,n){if(k_(e.functionName,Rvt.WAVG)){const e=new BVi(n.tdsState.aggregationState,n,new NGi),i=mr(e.operator,NGi);return e.setLambdaParameterName(t.name),e.setOperator(i),e}}get getOperator(){return new NGi}get hashCode(){return fv([ayt.AGGREGATE_OPERATOR_WAVG])}}const IGi="WINDOW_COLUMN";class DGi{columnState;sortType;constructor(e,t){hd(this,{columnState:Rc,sortType:Rc,setColumnState:Pu,setSortType:Pu}),this.columnState=e,this.sortType=t}setColumnState(e){this.columnState=e}setSortType(e){this.sortType=e}get hashCode(){return fv([ayt.TDS_WINDOW_COLUMN_SORTBY_STATE,this.sortType,this.columnState.columnName])}}class OGi{windowState;lambdaParameterNames=[bvt];operator;constructor(e,t){this.windowState=e,this.operator=t}setLambdaParameterNames(e){this.lambdaParameterNames=e}addParameterName(e){this.lambdaParameterNames.push(e)}setOperator(e){this.operator=e}get hashCode(){return fv([ayt.TDS_WINDOW_GROUPBY_OPERATION_STATE,fv(this.lambdaParameterNames),this.operator])}}class kGi extends OGi{constructor(e,t){super(e,t),hd(this,{setLambdaParameterNames:Pu})}}class LGi extends OGi{columnState;constructor(e,t,n){super(e,t),hd(this,{columnState:Rc,setColumnState:Pu,setLambdaParameterNames:Pu}),this.columnState=n}setColumnState(e){this.columnState=e}get hashCode(){return fv([ayt.TDS_WINDOW_GROUPBY_AGG_OPERATOR_STATE,fv(this.lambdaParameterNames),this.operator,this.columnState.columnName])}}class MGi extends AVi{windowState;windowColumns=[];sortByState;operatorState;columnName;constructor(e,t,n,i,r){super(),hd(this,{windowColumns:Rc,sortByState:Rc,operatorState:Rc,columnName:Rc,setOperatorState:Rc,setColumnName:Pu,setSortBy:Pu,changeWindow:Pu,deleteWindow:Pu,addWindow:Pu,setWindows:Pu,changeOperator:Pu,changeSortBy:Pu}),this.windowState=e,this.windowColumns=t,this.sortByState=n,this.operatorState=i,this.columnName=r}get columnWindowGroupIdx(){return this.windowState.windowColumns.findIndex(e=>e===this)}get possibleReferencedColumns(){const e=this.windowState.tdsState.tdsColumns.findIndex(e=>e===this);return-1===e?this.windowState.tdsState.tdsColumns:this.windowState.tdsState.tdsColumns.slice(0,e)}get referencedTDSColumns(){const e=this.operatorState instanceof LGi?[this.operatorState.columnState]:[],t=this.sortByState?[this.sortByState.columnState]:[];return[...this.windowColumns,...t,...e]}getColumnType(){return this.operatorState.operator.getOperatorReturnType(this.windowState.tdsState.queryBuilderState.graphManagerState.graph)}setColumnName(e){this.columnName=e}setOperatorState(e){this.operatorState=e}setSortBy(e){this.sortByState=e}changeWindow(e,t){this.windowColumns[t]=e}addWindow(e){jr(this.windowColumns,e)}setWindows(e){this.windowColumns=e}deleteWindow(e){$r(this.windowColumns,e)}possibleAggregatedColumns(e){return e.isColumnAggregator()?this.possibleReferencedColumns.filter(t=>e.isCompatibleWithColumn(t)):[]}getChangeOperatorStateAndColumnName(e,t,n){if(e!==n){if(!n.isColumnAggregator())return{operatorState:new kGi(this.windowState,n),columnName:`${n.getLabel()}`};{const e=t&&n.isCompatibleWithColumn(t)?t:this.possibleAggregatedColumns(n)[0];if(e)return{operatorState:new LGi(this.windowState,n,e),columnName:`${n.getLabel()} of ${e.columnName}`}}}}changeOperator(e){const t=this.getChangeOperatorStateAndColumnName(this.operatorState.operator,this.operatorState instanceof LGi?this.operatorState.columnState:void 0,e);t&&(this.setOperatorState(t.operatorState),this.setColumnName(t.columnName))}changeSortBy(e){const t=this.sortByState;if(t?.sortType!==e)if(e){const n=t??new DGi(dr(this.possibleReferencedColumns[0]),e);n.setSortType(e),this.setSortBy(n)}else this.setSortBy(void 0)}get hashCode(){return fv([ayt.TDS_WINDOW_COLUMN_STATE,fv(this.windowColumns),this.sortByState??"",this.operatorState,this.columnName])}}class PGi{tdsState;windowColumns=[];operators;editColumn;constructor(e,t){hd(this,{windowColumns:Rc,editColumn:Rc,invalidWindowColumnNames:Oc,windowValidationIssues:Oc,addWindowColumn:Pu,removeColumn:Pu,moveColumn:Pu,setEditColumn:Pu}),this.tdsState=e,this.operators=t}get isEmpty(){return!this.windowColumns.length}get invalidWindowColumnNames(){const e=[];return this.windowColumns.forEach((t,n)=>{if(t.operatorState instanceof LGi&&t.operatorState.columnState instanceof MGi){const i=t.operatorState.columnState.columnName;t.windowState.isColumnOrderValid(i,n)||e.push({invalidColumnName:t.columnName,missingColumnName:i})}}),e}get windowValidationIssues(){const e=this.invalidWindowColumnNames,t=[];e.forEach(e=>{t.push(`Column '${e.invalidColumnName}' cannot exist before column name '${e.missingColumnName}'`)});const n=this.windowColumns.some(e=>this.windowColumns.filter(t=>t.columnName===e.columnName).length>1);n&&t.push("Query has duplicated window columns");const i=this.windowColumns.some(e=>this.tdsState.projectionColumns.filter(t=>t.columnName===e.columnName).length>0);return i&&t.push("Query has duplicated projection/window columns"),t}get referencedTDSColumns(){return li(this.windowColumns.map(e=>e.referencedTDSColumns).flat())}setEditColumn(e){this.editColumn=e}findOperator(e,t){return this.operators.find(n=>{const i=t?n.relationFunc:n.pureFunc;return i?k_(e,i):void 0})}addWindowColumn(e){jr(this.windowColumns,e)}removeColumn(e){$r(this.windowColumns,e)}moveColumn(e,t){const n=this.windowColumns[e],i=this.windowColumns[t];n&&i&&(this.windowColumns[e]=i,this.windowColumns[t]=n)}isColumnOrderValid(e,t){return this.windowColumns.slice(0,t).some(t=>t.columnName===e)}get hashCode(){return fv([ayt.TDS_WINDOW_GROUPBY_STATE,fv(this.windowColumns)])}}const FGi=(e,t)=>{const n=e.windowState.tdsState.queryBuilderState.graphManagerState.graph,i=e.windowColumns.map(e=>{const t=new RS(j_.create(new X_(V_.STRING)));return t.values=[e.columnName],t}),r=new IS(n.getMultiplicity(i.length,i.length));let s;if(r.values=i,e.sortByState){const t=e.sortByState;s=new VS((e=>{switch(e){case Ivt.ASC:return I_(Rvt.TDS_ASC);case Ivt.DESC:return I_(Rvt.TDS_DESC);default:throw new yi(`Unsupported column sort type ${e}`)}})(t.sortType));const n=new RS(j_.create(new X_(V_.STRING)));n.values=[t.columnState.columnName],s.parametersValues[0]=n}const o=e.operatorState,a=o.lambdaParameterNames[0]??Dyt,l=I_(dr(o.operator.pureFunc,`Operator '${o.operator.getLabel()}' does not have a compatible OLAP function`)),c=new VS(l);c.parametersValues=[new TS(a,A_.ONE)];const u=nyt([a],[c],n);let d;if(o instanceof LGi){const e=new RS(j_.create(new X_(V_.STRING)));e.values=[o.columnState.columnName],d=new VS(I_(Rvt.TDS_FUNC)),d.parametersValues=[e,u]}const h=d??u,p=new RS(j_.create(new X_(V_.STRING)));p.values=[e.columnName];const g=new VS(I_(Rvt.OLAP_GROUPBY)),m=dr(t.expressionSequence[0]);return g.parametersValues=[m,r,...s?[s]:[],h,p],t.expressionSequence[0]=g,t},BGi=e=>{const t=new VS(I_(Rvt.RELATION_OVER)),n=new PS(A_.ONE,void 0),i=new MS;if(n.values=[i],e.windowColumns.forEach(e=>{const t=new kS;t.name=e.columnName,i.colSpecs.push(t)}),t.parametersValues.push(n),e.sortByState){const n=e.sortByState,i=new VS((e=>{switch(e){case Ivt.ASC:return I_(Rvt.RELATION_ASC);case Ivt.DESC:return I_(Rvt.RELATION_DESC);default:throw new yi(`Unsupported column sort type ${e}`)}})(n.sortType)),r=new LS(A_.ONE,void 0),s=new kS;s.name=n.columnState.columnName,r.values=[s],i.parametersValues[0]=r;const o=new IS(A_.ONE);o.values=[i],t.parametersValues.push(o)}return t},VGi=(e,t)=>(e.tdsState.queryBuilderState.isFetchStructureTyped?e.windowColumns.forEach(e=>((e,t)=>{const n=e.windowState.tdsState.queryBuilderState.graphManagerState.graph,i=BGi(e),r=new PS(A_.ONE,void 0),s=new MS;r.values=[s];const o=new kS;o.name=e.columnName;const a=e.operatorState;if(1===a.lambdaParameterNames.length&&a.setLambdaParameterNames([Cvt,Svt,wvt]),a instanceof LGi&&a.operator.relationFunc){const e=I_(a.operator.relationFunc),[l=Cvt,c=Svt,u=wvt,d=Dyt]=a.lambdaParameterNames,h=new BS(a.columnState.columnName);h.func=new Y_(a.columnState.columnName,j_.create(new X_(V_.STRING))),h.parametersValues=[new TS(u,A_.ONE)];const p=nyt([l,c,u],[h],n);o.function1=p;const g=new VS(e);g.parametersValues=[new TS(d,A_.ONE)];const m=nyt([d],[g],n);o.function2=m,s.colSpecs.push(o);const f=new VS(I_(Rvt.RELATION_EXTEND)),v=dr(t.expressionSequence[0]);return f.parametersValues=[v,i,r],t.expressionSequence[0]=f,t}if(a instanceof kGi&&a.operator.relationFunc){const e=I_(a.operator.relationFunc),l=new VS(e),[c=Cvt,u=Svt,d=wvt]=a.lambdaParameterNames;e===I_(Rvt.RELATION_ROW_NUMBER)?l.parametersValues=[new TS(c,A_.ONE),new TS(d,A_.ONE)]:l.parametersValues=[new TS(c,A_.ONE),new TS(u,A_.ONE),new TS(d,A_.ONE)];const h=nyt([c,u,d],[l],n);o.function1=h,s.colSpecs.push(o);const p=new VS(I_(Rvt.RELATION_EXTEND)),g=dr(t.expressionSequence[0]);return p.parametersValues=[g,i,r],t.expressionSequence[0]=p,t}throw new yi("Unsupported window function. Function must be supported for typed TDS and be an aggregation or rank function.")})(e,t)):e.windowColumns.forEach(e=>FGi(e,t)),t),UGi=(e,t,n)=>{if(t instanceof sGi)return t.condition.operator.buildPostFilterConditionExpression(t.condition,n);if(t instanceof rGi){const i=new VS(I_(rUi(t.groupOperation))),r=t.childrenIds.map(t=>e.nodes.get(t)).filter(cr).map(t=>UGi(e,t,n)).filter(cr);if(r.length>2){const e=r[0];let n=r[r.length-1];for(let e=r.length-2;e>0;--e){const i=r[e],s=n,o=new VS(I_(rUi(t.groupOperation)));o.parametersValues=[i,s],n=o}i.parametersValues=[e,n]}else i.parametersValues=r;return i.parametersValues.length?i:void 0}};class GGi{_currentResultModifierFunc;graphManagerState;options;distinct=!1;sortColumns;limit;slice;constructor(e){this.graphManagerState=e}get currentExpression(){return dr(this._currentResultModifierFunc,"Current expression needs to be defined to build result modifier")}get supportedResultModifiersFunctions(){return[Rvt.TDS_PROJECT,Rvt.TDS_GROUP_BY,Rvt.TDS_FILTER,Rvt.OLAP_GROUPBY]}getSortTypeFunctionName(e){return e===Ivt.ASC?this.ascFunctionname:this.descFunctionName}setCurrentResultModifierFunction(e){this._currentResultModifierFunc=e}withOptions(e){return this.options=e,this}withDistinct(e){return this.distinct=e,this}withSortColumns(e){return e?.length&&(this.sortColumns=e),this}withLimit(e){return this.limit=e,this}withSlice(e){return this.slice=e,this}buildDistinctFunction(){const e=new VS(I_(this.distinctFunctionName));e.parametersValues[0]=this.currentExpression,this.setCurrentResultModifierFunction(e)}buildSortFunction(e){const t=new VS(I_(this.sortFunctionName)),n=this.graphManagerState.graph.getMultiplicity(e.length,e.length),i=new IS(n,void 0);i.values=e.map(e=>this.buildSortExpression(e)),t.parametersValues[0]=this.currentExpression,t.parametersValues[1]=i,this.setCurrentResultModifierFunction(t)}buildSortExpression(e){const t=new VS(I_(this.getSortTypeFunctionName(e.sortType)));return t.parametersValues[0]=this.buildColumnValueSpec(e.columnState.columnName),t}buildLimitFunction(e){const t=new RS(j_.create(new X_(V_.INTEGER)));t.values=[Math.min(e?this.options?.withDataOverflowCheck?e+1:e:Number.MAX_SAFE_INTEGER,this.options?.overridingLimit?this.options.withDataOverflowCheck?this.options.overridingLimit+1:this.options.overridingLimit:Number.MAX_SAFE_INTEGER)];const n=new VS(I_(this.limitFunctionName));n.parametersValues[0]=this.currentExpression,n.parametersValues[1]=t,this.setCurrentResultModifierFunction(n)}buildSliceFunction(e){const t=e[0],n=e[1],i=new RS(j_.create(new X_(V_.INTEGER))),r=new RS(j_.create(new X_(V_.INTEGER)));i.values=[t],r.values=[n];const s=new VS(I_(this.sliceFunctionName));s.parametersValues=[this.currentExpression,i,r],this.setCurrentResultModifierFunction(s)}build(e){if(1===e.expressionSequence.length){const t=e.expressionSequence[0];if(t instanceof VS&&k_(t.functionName,this.supportedResultModifiersFunctions))return this._currentResultModifierFunc=t,this.distinct&&this.buildDistinctFunction(),this.sortColumns&&this.buildSortFunction(this.sortColumns),(this.limit||this.options?.overridingLimit)&&this.buildLimitFunction(this.limit),this.slice&&this.buildSliceFunction(this.slice),e.expressionSequence[0]=this.currentExpression,e}return e}}class HGi extends GGi{get limitFunctionName(){return Rvt.TDS_TAKE}get sliceFunctionName(){return Rvt.SLICE}get sortFunctionName(){return Rvt.TDS_SORT}get distinctFunctionName(){return Rvt.TDS_DISTINCT}get ascFunctionname(){return Rvt.TDS_ASC}get descFunctionName(){return Rvt.TDS_DESC}buildColumnValueSpec(e){return(e=>{const t=new RS(j_.create(new X_(V_.STRING)));return t.values=[e],t})(e)}}class zGi extends GGi{get limitFunctionName(){return Rvt.RELATION_LIMIT}get sliceFunctionName(){return Rvt.RELATION_SLICE}get ascFunctionname(){return Rvt.RELATION_ASC}get descFunctionName(){return Rvt.RELATION_DESC}get sortFunctionName(){return Rvt.RELATION_SORT}get distinctFunctionName(){return Rvt.RELATION_DISTINCT}buildColumnValueSpec(e){const t=new LS(A_.ONE,void 0),n=new kS;return n.name=e,t.values=[n],t}}const jGi=(e,t,n)=>{const i=e.queryBuilderState,r=new VS(I_(Rvt.TDS_PROJECT)),s=new IS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length)),o=new IS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));return e.projectionColumns.forEach(t=>{const i=new RS(j_.create(new X_(V_.STRING)));i.values.push(t.columnName),o.values.push(i),s.values.push(((e,t,n)=>{if(t instanceof kVi)return nyt([t.lambdaParameterName],[gUi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n)],e.queryBuilderState.graphManagerState.graph);if(t instanceof PVi)return new xS(_I(Xq(t.lambda,new mZ([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())));throw new yi("Can't build project() column expression: unsupported projection column state",t)})(e,t,n))}),r.parametersValues=[t,s,o],r},WGi=(e,t,n)=>{const i=e.queryBuilderState,r=new VS(I_(Rvt.TDS_PROJECT)),s=new IS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));return e.projectionColumns.forEach(t=>{s.values.push(((e,t,n)=>{const i=new VS(I_(Rvt.TDS_COL));let r;if(t instanceof kVi)r=nyt([t.lambdaParameterName],[gUi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n)],e.queryBuilderState.graphManagerState.graph);else{if(!(t instanceof PVi))throw new yi("Can't build project() column expression: unsupported projection column state",t);r=new xS(_I(Xq(t.lambda,new mZ([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}const s=new RS(j_.create(new X_(V_.STRING)));return s.values.push(t.columnName),i.parametersValues=[r,s],i})(e,t,n))}),r.parametersValues=[t,s],r},$Gi=(e,t,n)=>{const i=e.queryBuilderState,r=dr(t.expressionSequence[0],"Can't build projection expression: preceding expression is not defined");if(e.aggregationState.columns.length&&!e.queryBuilderState.useRelation){const s=new VS(I_(Rvt.TDS_GROUP_BY)),o=new IS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length-e.aggregationState.columns.length,e.projectionColumns.length-e.aggregationState.columns.length)),a=new IS(i.graphManagerState.graph.getMultiplicity(e.aggregationState.columns.length,e.aggregationState.columns.length)),l=new IS(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(t=>{const r=new RS(j_.create(new X_(V_.STRING)));r.values.push(t.columnName),l.values.push(r);const s=e.aggregationState.columns.find(e=>e.projectionColumnState===t);let c;if(t instanceof kVi)c=nyt([t.lambdaParameterName],[gUi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n,!0)],i.graphManagerState.graph);else{if(!(t instanceof PVi))throw new yi("Can't build project() column expression: unsupported projection column state",t);c=new xS(_I(Xq(t.lambda,new mZ([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}if(s){s.operator instanceof NGi&&s.setLambdaParameterName("y");const e=new VS(I_(Rvt.TDS_AGG)),t=nyt([s.lambdaParameterName],[s.operator.buildAggregateExpressionFromState(s)],s.aggregationState.tdsState.queryBuilderState.graphManagerState.graph);let n;const r=s.calendarFunction?.buildCalendarFunctionExpressionFromState(s,c);if(i.isCalendarEnabled&&r instanceof VS&&(n=nyt([dr(s.calendarFunction).lambdaParameterName],[r],s.aggregationState.tdsState.queryBuilderState.graphManagerState.graph)),s.operator instanceof NGi&&s.operator.weight&&s.projectionColumnState instanceof kVi&&c instanceof zS){const e=new VS(Rvt.WAVG_ROW_MAPPER),t=s.projectionColumnState.propertyExpressionState.propertyExpression,i=s.operator.weight;e.parametersValues=[t,i],n&&n instanceof zS?Gr(n.values,0).expressionSequence[0]=e:c instanceof zS&&(Gr(c.values,0).expressionSequence[0]=e)}e.parametersValues=[n??c,t],a.values.push(e)}else o.values.push(c)}),s.parametersValues=[r,o,a,l],t.expressionSequence[0]=s}else if(e.projectionColumns.length)switch(e.resolveProjectionMode){case dHi.PROJECT:if(i.useRelation){const i=((e,t,n)=>{const i=new VS(I_(Rvt.RELATION_PROJECT)),r=t.queryBuilderState,s=new PS(A_.ONE,void 0),o=new MS;s.values=[o];const a=new K_(K_.ID);t.projectionColumns.forEach(e=>{const t=new kS;let i;if(o.colSpecs.push(t),t.name=e.columnName,e instanceof kVi)i=nyt([e.lambdaParameterName],[gUi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],r.graphManagerState.graph);else if(e instanceof LVi){const t=e.column,n=new BS(t.name),s=new TS(e.lambdaParameterName,A_.ONE,void 0);n.func=t,n.parametersValues=[s],i=nyt([e.lambdaParameterName],[n],r.graphManagerState.graph)}else{if(!(e instanceof PVi))throw new yi("Can't build relation project() column expression: unsupported projection column state",e);i=new xS(_I(Xq(e.lambda,new mZ([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}t.function1=i;const s=dr(e.getColumnType(),`Can't create value spec for projection column ${e.columnName}`);a.columns.push(new Y_(e.columnName,j_.create(new X_(s))))}),i.parametersValues=[e,s];const l=new X_(BK.INSTANCE),c=new X_(a);return l.typeArguments=[j_.create(c)],i.genericType=j_.create(l),i})(r,e,n),s=e.aggregationState.columns.length?((e,t)=>{const n=mr(e,VS);if(n.functionName!==I_(Rvt.RELATION_PROJECT))throw new yi("Can't build relation groupBy() expression: previous expression must be project() column expression");const i=new VS(I_(Rvt.RELATION_GROUP_BY)),r=t.queryBuilderState,s=new PS(A_.ONE,void 0),o=new MS;s.values=[o];const a=new PS(A_.ONE,void 0),l=new MS;a.values=[l];const c=new K_(K_.ID);t.projectionColumns.filter(e=>!t.aggregationState.columns.some(t=>t.projectionColumnState===e)).forEach(e=>{const t=new kS;t.name=e.columnName,o.colSpecs.push(t);const n=dr(e.getColumnType(),`Can't create value spec for projection column ${e.columnName}. Missing type.`);c.columns.push(new Y_(e.columnName,j_.create(new X_(n))))}),t.aggregationState.columns.forEach(e=>{const t=new kS;t.name=e.columnName,l.colSpecs.push(t);const i=dr(dr(n.parametersValues[1].values[0],"Could not find ColSpec array in project() function first parameter").colSpecs.find(t=>t.name===e.columnName),`Could not find projected column matching aggregation column '${e.columnName}'`),s=dr(e.getColumnType(),`Can't create value spec for aggregation column ${e.columnName}. Missing type.`);let o;const a=e.projectionColumnState;if(a instanceof kVi){const e=mr(mr(i.function1,zS).values[0]?.expressionSequence[0],US),t=mr(e.func.value,eC),n=new US("");n.func=fC.create(new eC(i.name,t.multiplicity,t.genericType,t._OWNER)),n.parametersValues=[new TS(Dyt,A_.ONE)],o=nyt([Dyt],[n],r.graphManagerState.graph)}else if(a instanceof LVi){const e=new Y_(i.name,j_.create(new X_(s))),t=new BS(i.name);t.func=e,t.parametersValues=[new TS(Dyt,A_.ONE)],o=nyt([Dyt],[t],r.graphManagerState.graph)}else{if(!(a instanceof PVi))throw new yi("Can't build relation groupBy() aggregation map function: unsupported projection column state",a);o=dr(i.function1,`Could not find projected derivation lambda for aggregation column '${e.columnName}'`)}t.function1=o;const u=nyt([e.lambdaParameterName],[e.operator.buildAggregateExpressionFromState(e)],e.aggregationState.tdsState.queryBuilderState.graphManagerState.graph);t.function2=u,c.columns.push(new Y_(e.columnName,j_.create(new X_(s))))}),i.parametersValues=[e,s,a];const u=new X_(BK.INSTANCE),d=new X_(c);return u.typeArguments=[j_.create(d)],i.genericType=j_.create(u),i})(i,e):null;t.expressionSequence[0]=s??i}else t.expressionSequence[0]=jGi(e,r,n);break;case dHi.PROJECT_COL:if(i.useRelation)throw new yi(`Can't build projection: '${dHi.PROJECT_COL}' mode is not supported with relation queries`);t.expressionSequence[0]=WGi(e,r,n);break;case dHi.SELECT:if(!i.useRelation)throw new yi(`Can't build projection: '${dHi.SELECT}' mode requires a relation query`);t.expressionSequence[0]=((e,t)=>{const n=new VS(I_(Rvt.RELATION_SELECT)),i=new PS(A_.ONE,void 0),r=new MS;return i.values=[r],e.projectionColumns.forEach(e=>{if(e instanceof PVi)throw new yi(`Can't build select(~[...]) expression: derivation column '${e.columnName}' is not supported in SELECT mode`);const t=new kS;t.name=e.columnName,r.colSpecs.push(t)}),n.parametersValues=[t,i],n})(e,r);break;default:throw new yi(`Can't build projection: unsupported projection mode '${e.projectionMode}'`)}VGi(e.windowState,t),((e,t)=>{const n=e.rootIds.map(t=>dr(e.nodes.get(t))).map(n=>UGi(e,n,t)).filter(cr);if(!n.length||1!==t.expressionSequence.length)return t;const i=nyt([e.lambdaParameterName],n,e.tdsState.queryBuilderState.graphManagerState.graph),r=new VS(I_(Rvt.TDS_FILTER)),s=dr(t.expressionSequence[0]);r.parametersValues=[s,i],t.expressionSequence[0]=r})(e.postFilterState,t),((e,t,n,i)=>{(n?new zGi(e.tdsState.queryBuilderState.graphManagerState):new HGi(e.tdsState.queryBuilderState.graphManagerState)).withOptions(i).withDistinct(e.distinct).withSortColumns(e.sortColumns).withLimit(e.limit).withSlice(e.slice).build(t)})(e.resultSetModifierState,t,e.queryBuilderState.isFetchStructureTyped,{overridingLimit:n?.isBuildingExecutionQuery&&!n.isExportingResult?i.resultState.previewLimit:void 0,withDataOverflowCheck:n?.isBuildingExecutionQuery&&!n.isExportingResult?n.withDataOverflowCheck:void 0})};class qGi{uuid=Mr();isColumnAggregator(){return!1}getOperatorReturnType(e){return V_.NUMBER}isCompatibleWithColumn(e){return this.isCompatibleWithType(e.getColumnType())}}class YGi extends qGi{getLabel(){return"average rank"}get pureFunc(){return Rvt.OLAP_AVERAGE_RANK}get relationFunc(){}get hashCode(){return fv([ayt.TDS_WINDOW_OPERATOR_DENSE_RANK])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class KGi extends qGi{getLabel(){return"dense rank"}get pureFunc(){return Rvt.OLAP_DENSE_RANK}get relationFunc(){return Rvt.RELATION_DENSE_RANK}get hashCode(){return fv([ayt.TDS_WINDOW_OPERATOR_DENSE_RANK])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class XGi extends qGi{getLabel(){return"rank"}get pureFunc(){return Rvt.OLAP_RANK}get relationFunc(){return Rvt.RELATION_RANK}get hashCode(){return fv([ayt.TDS_WINDOW_OPERATOR_RANK])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class ZGi extends qGi{getLabel(){return"row number"}get pureFunc(){return Rvt.OLAP_ROW_NUMBER}get relationFunc(){return Rvt.RELATION_ROW_NUMBER}get hashCode(){return fv([ayt.TDS_WINDOW_OPERATOR_ROW_NUMBER])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class QGi extends qGi{isColumnAggregator(){return!0}getLabel(){return"sum"}get pureFunc(){return Rvt.SUM}get relationFunc(){return Rvt.SUM}get hashCode(){return fv([ayt.TDS_WINDOW_OPERATOR_SUM])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class JGi extends qGi{isColumnAggregator(){return!0}getLabel(){return"count"}get pureFunc(){return Rvt.COUNT}get relationFunc(){return Rvt.COUNT}get hashCode(){return fv([ayt.TDS_WINDOW_OPERATOR_COUNT])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class eHi extends qGi{isColumnAggregator(){return!0}getLabel(){return"max"}get pureFunc(){return Rvt.MAX}get relationFunc(){return Rvt.MAX}get hashCode(){return fv([ayt.TDS_WINDOW_OPERATOR_MAX])}isCompatibleWithType(e){return!e||[Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class tHi extends qGi{isColumnAggregator(){return!0}getLabel(){return"min"}get pureFunc(){return Rvt.MIN}get relationFunc(){return Rvt.MIN}get hashCode(){return fv([ayt.TDS_WINDOW_OPERATOR_MIN])}isCompatibleWithType(e){return!e||[Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class nHi extends qGi{isColumnAggregator(){return!0}getLabel(){return"avg"}get pureFunc(){return Rvt.AVERAGE}get relationFunc(){return Rvt.AVERAGE}get hashCode(){return fv([ayt.TDS_WINDOW_OPERATOR_AVERAGE])}isCompatibleWithType(e){return!e||[Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}class iHi extends qGi{getLabel(){return"percent rank"}get pureFunc(){}get relationFunc(){return Rvt.RELATION_PERCENT_RANK}get hashCode(){return fv([ayt.TDS_WINDOW_OPERATOR_PERCENT_RANK])}isCompatibleWithType(e){return!e||[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(e.path)}}var rHi;!function(e){e.SHOW_POST_FILTER_PANEL="query-builder.showPostFilterPanel"}(rHi||(rHi={}));const sHi={[rHi.SHOW_POST_FILTER_PANEL]:{defaultValue:!1}};var oHi;!function(e){e.NY="NY",e.LDN="LDN"}(oHi||(oHi={}));const aHi="en-US";class lHi{dateColumn;calendarType;endDate;lambdaParameterName=bvt;func;label;hash;constructor(e,t,n){hd(this,{dateColumn:Rc,lambdaParameterName:Rc,calendarType:Rc,endDate:Rc,setDateColumn:Pu,setCalendarType:Pu,setLambdaParameterName:Pu,setEndDate:Pu,hashCode:Oc}),this.func=e,this.label=t,this.hash=n}getLabel(){return this.label}isCompatibleWithColumn(e){if(e instanceof kVi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT].includes(t.path)}return!0}buildCalendarFunctionExpression(e){return((e,t,n,i,r)=>{const s=new VS(I_(e));if(!t)throw new yi("Please specify date column for calendar function for column");s.parametersValues.push(t);const o=new RS(j_.create(new X_(V_.STRING)));return o.values=[n],s.parametersValues.push(o),s.parametersValues.push(i),s.parametersValues.push(r),s})(this.func,this.dateColumn,this.calendarType,this.endDate,e)}updateAggregateColumnState(e,t){((e,t,n,i)=>{if(k_(e.functionName,t)){br(4===e.parametersValues.length,`Can't process ${I_(t)}() expression: ${I_(t)}() expects four arguments`);const r=mr(e.parametersValues[0],US,`Can't process ${I_(t)}() expression: only support ${I_(t)}() with first parameter as property expression`);br(r.func.value.genericType.value.rawType.name===Xb.STRICTDATE||r.func.value.genericType.value.rawType.name===Xb.DATE,`Can't process ${I_(t)}() expression: only support ${I_(t)}() with first parameter as property expression of type StrictDate`);let s=r;for(;s instanceof US;){const e=s;for(s=dr(s.parametersValues[0]),e.func.value instanceof pC&&br((Array.isArray(e.func.value.parameters)?e.func.value.parameters.length:0)===e.parametersValues.length-1,`Can't process property expression: derived property '${e.func.value.name}' expects number of provided arguments to match number of parameters`);s instanceof VS&&k_(s.functionName,Rvt.SUBTYPE);)s=dr(s.parametersValues[0])}const o=mr(s,TS).name;n.setLambdaParameterName(o);const a=mr(e.parametersValues[1],RS,`Can't process ${I_(t)}() expression: only support ${I_(t)}() with second parameter as PrimitiveInstancevalue`);br(void 0!==Object.values(oHi).find(e=>e===a.values[0]),`Can't process ${I_(t)}() expression: only support ${I_(t)}() calendar types NY and LDN`);const l=mr(e.parametersValues[2],ES,`Can't process ${I_(t)}() expression: only support ${I_(t)}() with third parameter as ValueSpecification`);br(l.genericType?.value.rawType.name===Xb.STRICTDATE||l.genericType?.value.rawType.name===Xb.DATE||r.func.value.genericType.value.rawType.name===Xb.DATE,`Can't process ${I_(t)}() expression: only support ${I_(t)}() with third parameter of type Date`),n.calendarType=a.values[0],n.endDate=l,n.dateColumn=r,br(n.isCompatibleWithColumn(i.projectionColumnState),`Can't process ${I_(t)}() expression: property is not compatible with calendar function`),i.setHideCalendarColumnState(!1),i.setCalendarFunction(n)}})(e,this.func,this,t)}buildCalendarFunctionExpressionFromState(e,t){let n;if(e.projectionColumnState instanceof kVi&&t instanceof zS?n=mr(t.values[0]?.expressionSequence[0],US):e.projectionColumnState instanceof PVi&&(n=mr(t,xS)),!n)throw new yi("Can't build calendar aggregation column: target column should be defined");return this.buildCalendarFunctionExpression(n)}setDateColumn(e){this.dateColumn=e}setLambdaParameterName(e){this.lambdaParameterName=e}setCalendarType(e){this.calendarType=e}setEndDate(e){this.endDate=e}get hashCode(){return fv([this.hash,this.dateColumn??"",this.calendarType,this.endDate])}}function cHi(e,t,n){return new lHi(e,t,n)}var uHi,dHi;!function(e){e.CSV="CSV"}(uHi||(uHi={})),function(e){e.PROJECT="PROJECT",e.PROJECT_COL="PROJECT_COL",e.SELECT="SELECT"}(dHi||(dHi={}));class hHi extends JVi{aggregationState;postFilterState;windowState;resultSetModifierState;projectionColumns=[];isConvertDerivationProjectionObjects=!1;showPostFilterPanel;showWindowFuncPanel=!1;projectionMode=dHi.PROJECT;postFilterOperators=(()=>[new fGi,new vGi,new yGi,new bGi,new _Gi,new CGi,new dUi,new hUi,new SGi,new wGi,new EGi,new xGi,new hGi,new pGi,new gGi,new mGi])();aggregationOperators=(()=>[new zVi,new jVi,new TGi,new KVi,new HVi,new $Vi,new WVi,new RGi,new qVi,new YVi,new AGi,new NGi])();aggregationCalendarFunctions=(()=>[cHi(Tvt.CALENDAR_ANNUALIZED,"Annualized",ayt.AGGREGATE_CALENDAR_FUNCTION_ANNUALIZED),cHi(Tvt.CALENDAR_YTD,"Year to Date",ayt.AGGREGATE_CALENDAR_FUNCTION_YTD),cHi(Tvt.CALENDAR_CME,"Current Month Estimate",ayt.AGGREGATE_CALENDAR_FUNCTION_CME),cHi(Tvt.CALENDAR_CW,"Current Week",ayt.AGGREGATE_CALENDAR_FUNCTION_CW),cHi(Tvt.CALENDAR_CME,"Current Month Estimate",ayt.AGGREGATE_CALENDAR_FUNCTION_CME),cHi(Tvt.CALENDAR_CY_MINUS2,"Current year minus 2",ayt.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS2),cHi(Tvt.CALENDAR_CY_MINUS3,"Current year minus 3",ayt.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS3),cHi(Tvt.CALENDAR_MTD,"Month to date",ayt.AGGREGATE_CALENDAR_FUNCTION_MTD),cHi(Tvt.CALENDAR_P12WA,"Previous 12 Weeks Averaged",ayt.AGGREGATE_CALENDAR_FUNCTION_P12WA),cHi(Tvt.CALENDAR_P12WTD,"Previous 12 Weeks To Date",ayt.AGGREGATE_CALENDAR_FUNCTION_P12WTD),cHi(Tvt.CALENDAR_P4WA,"Previous 4 Weeks Averaged",ayt.AGGREGATE_CALENDAR_FUNCTION_P4WA),cHi(Tvt.CALENDAR_P4WTD,"Previous 4 Weeks To Date",ayt.AGGREGATE_CALENDAR_FUNCTION_P4WTD),cHi(Tvt.CALENDAR_P52WA,"Previous 52 Weeks Averaged",ayt.AGGREGATE_CALENDAR_FUNCTION_P52WA),cHi(Tvt.CALENDAR_P52WTD,"Previous 52 Weeks To Date",ayt.AGGREGATE_CALENDAR_FUNCTION_P52WTD),cHi(Tvt.CALENDAR_PMA,"Previous Months Averaged",ayt.AGGREGATE_CALENDAR_FUNCTION_PMA),cHi(Tvt.CALENDAR_PMTD,"Previous Month To Date",ayt.AGGREGATE_CALENDAR_FUNCTION_PMTD),cHi(Tvt.CALENDAR_PQTD,"Previous Quarter To Date",ayt.AGGREGATE_CALENDAR_FUNCTION_PQTD),cHi(Tvt.CALENDAR_PRIOR_DAY,"Prior Day",ayt.AGGREGATE_CALENDAR_FUNCTION_PRIOR_DAY),cHi(Tvt.CALENDAR_PRIOR_YEAR,"Prior Year",ayt.AGGREGATE_CALENDAR_FUNCTION_PRIOR_YEAR),cHi(Tvt.CALENDAR_PW,"Previous week",ayt.AGGREGATE_CALENDAR_FUNCTION_PW),cHi(Tvt.CALENDAR_PW_FM,"Previous week, Franchise Manager",ayt.AGGREGATE_CALENDAR_FUNCTION_PW_FM),cHi(Tvt.CALENDAR_PWA,"Past Weeks' Average",ayt.AGGREGATE_CALENDAR_FUNCTION_PWA),cHi(Tvt.CALENDAR_PWTD,"Previous Week To Date",ayt.AGGREGATE_CALENDAR_FUNCTION_PWTD),cHi(Tvt.CALENDAR_PYMTD,"Previous Year's Month To Date",ayt.AGGREGATE_CALENDAR_FUNCTION_PYMTD),cHi(Tvt.CALENDAR_PYQTD,"Previous Year's Quarter To Date",ayt.AGGREGATE_CALENDAR_FUNCTION_PYQTD),cHi(Tvt.CALENDAR_PYTD,"Previous Year To Date",ayt.AGGREGATE_CALENDAR_FUNCTION_PYTD),cHi(Tvt.CALENDAR_PYWA,"Previous Year's Weekly Average",ayt.AGGREGATE_CALENDAR_FUNCTION_PYWA),cHi(Tvt.CALENDAR_PYWTD,"Previous Year's Week to Date",ayt.AGGREGATE_CALENDAR_FUNCTION_PYWTD),cHi(Tvt.CALENDAR_QTD,"Quarter to Date",ayt.AGGREGATE_CALENDAR_FUNCTION_QTD),cHi(Tvt.CALENDAR_REPORT_END_DAY,"Report End Day",ayt.AGGREGATE_CALENDAR_FUNCTION_REPORT_END_DAY),cHi(Tvt.CALENDAR_WTD,"Week to Date",ayt.AGGREGATE_CALENDAR_FUNCTION_WTD)])();windowFuncOperators=(()=>[new QGi,new JGi,new eHi,new tHi,new nHi,new YGi,new KGi,new XGi,new ZGi,new iHi])();constructor(e,t){super(e,t),hd(this,{aggregationState:Rc,projectionColumns:Rc,isConvertDerivationProjectionObjects:Rc,showPostFilterPanel:Rc,showWindowFuncPanel:Rc,projectionMode:Rc,TEMPORARY__showPostFetchStructurePanel:Oc,derivations:Oc,hasParserError:Oc,isQueryOptionsSet:Oc,resolveProjectionMode:Oc,addColumn:Pu,moveColumn:Pu,removeAllColumns:Pu,removeColumn:Pu,replaceColumn:Pu,initialize:Pu,initializeWithQuery:Pu,setShowPostFilterPanel:Pu,setShowWindowFuncPanel:Pu,setProjectionMode:Pu,checkBeforeChangingImplementation:Pu,convertDerivationProjectionObjects:Ju,fetchDerivedReturnTypes:Ju}),this.resultSetModifierState=new ZVi(this),this.postFilterState=new dGi(this,this.postFilterOperators),this.aggregationState=new VVi(this,this.aggregationOperators,this.aggregationCalendarFunctions),this.windowState=new PGi(this,this.windowFuncOperators),this.showPostFilterPanel=this.queryBuilderState.applicationStore.settingService.getBooleanValue(rHi.SHOW_POST_FILTER_PANEL)??!1}get type(){return QVi.TABULAR_DATA_STRUCTURE}get derivations(){return this.projectionColumns.filter(pr(PVi))}get hasParserError(){return this.derivations.some(e=>e.derivationLambdaEditorState.parserError)}get fetchLabel(){return"Columns"}get canBeExportedToCube(){return!0}get TEMPORARY__showPostFetchStructurePanel(){return this.queryBuilderState.filterState.showPanel||this.showWindowFuncPanel||this.showPostFilterPanel}get usedExplorerTreePropertyNodeIDs(){let e=[];return this.projectionColumns.forEach(t=>{if(t instanceof kVi){let n=[],i=t.propertyExpressionState.propertyExpression;for(;i instanceof US;)for(n.push(i.func.value.name),i=dr(i.parametersValues[0]);i instanceof VS;){if(!(k_(i.functionName,Rvt.SUBTYPE)&&i.parametersValues.length>=1&&i.parametersValues[1]?.genericType?.value.rawType instanceof Z_))return;n[n.length-1]instanceof Z_||n.push(i.parametersValues[1]?.genericType?.value.rawType),i=dr(i.parametersValues[0])}n=n.reverse();const r=[],s=[];for(let e=0;e<n.length;e++){const t=dr(n[e]),i=e>0?dr(r[e-1]):"";if(t instanceof Z_)gE(t).concat(t).forEach(e=>s.push(uzi(i,e.path))),r.push(uzi(i,t.path));else{const e=czi(i,t);r.push(e),s.push(e)}}e=e.concat(s)}else t instanceof LVi&&e.push(t.column.name)}),Array.from(new Set(e).values())}get fetchStructureValidationIssues(){const e=[],t=this.projectionColumns.some(e=>0===e.columnName.length);t&&e.push("Query has projection column with no name");const n=this.aggregationState.columns.some(e=>e.calendarFunction&&void 0===e.calendarFunction.dateColumn);n&&e.push("Query has calendar function with no date column specified");const i=this.projectionColumns.some(e=>this.projectionColumns.filter(t=>t.columnName===e.columnName).length>1);i&&e.push("Query has duplicated projection columns");const r=this.projectionColumns.some(e=>this.windowState.windowColumns.filter(t=>t.columnName===e.columnName).length>0);r&&e.push("Query has duplicated projection/window columns");return 0===this.projectionColumns.length&&this.queryBuilderState.changeHistoryState.canUndo&&e.push("Query has no projection columns"),this.projectionColumns.forEach(t=>{t instanceof kVi&&t.propertyExpressionState.derivedPropertyExpressionStates.some(e=>!e.isValid)&&e.push(`Derived property parameter value for ${t.propertyExpressionState.title} is missing`)}),this.aggregationState.allValidationIssues.forEach(t=>e.push(t)),e}get allValidationIssues(){return[...this.fetchStructureValidationIssues,...this.windowState.windowValidationIssues,...this.postFilterState.allValidationIssues]}get isQueryOptionsSet(){return void 0!==this.resultSetModifierState.limit||this.queryBuilderState.milestoningState.isMilestonedQuery||void 0!==this.resultSetModifierState.slice||this.resultSetModifierState.sortColumns.length>0||this.resultSetModifierState.distinct}get tdsColumns(){const e=this.aggregationState.columns.map(e=>e.projectionColumnState),t=this.projectionColumns.filter(t=>!e.includes(t));return[...this.aggregationState.columns,...t,...this.windowState.windowColumns]}get exportDataFormatOptions(){return[uHi.CSV]}getExportDataInfo(e){if(e===uHi.CSV)return{contentType:exports.ContentType.TEXT_CSV,serializationFormat:exports.EXECUTION_SERIALIZATION_FORMAT.CSV};throw new yi(`Unsupported TDS export type ${e}`)}isDuplicateColumn(e){return this.tdsColumns.filter(t=>t.columnName===e.columnName).length>1}initialize(){this.queryBuilderState.filterState.setShowPanel(!0),this.setShowPostFilterPanel(!1),this.setShowWindowFuncPanel(!1)}initializeWithQuery(){this.fetchDerivedReturnTypes().catch(this.queryBuilderState.applicationStore.alertUnhandledError)}isColumnInUse(e){return Boolean([...this.postFilterState.referencedTDSColumns,...this.windowState.referencedTDSColumns].find(t=>t instanceof BVi?e instanceof BVi?e===t:t.projectionColumnState===e:t===e))}onClassChange(){}appendFetchStructure(e,t){$Gi(this,e,t)}setShowPostFilterPanel(e){this.showPostFilterPanel=e}setShowWindowFuncPanel(e){this.showWindowFuncPanel=e}setProjectionMode(e){this.projectionMode=e}get resolveProjectionMode(){if(this.projectionMode===dHi.SELECT){if(!this.projectionColumns.every(e=>e instanceof LVi&&e.columnName===e.column.name))return dHi.PROJECT}return this.projectionMode}*convertDerivationProjectionObjects(){const e=new Map,t=new Map;if(this.derivations.forEach(n=>{bW(n.lambda)||(e.set(n.derivationLambdaEditorState.lambdaId,n.lambda),t.set(n.derivationLambdaEditorState.lambdaId,n))}),e.size){this.isConvertDerivationProjectionObjects=!0;try{(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(e)).forEach((e,n)=>{const i=t.get(n);i?.derivationLambdaEditorState.setLambdaString(i.derivationLambdaEditorState.extractLambdaString(e))})}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.PARSING_FAILURE),e)}finally{this.isConvertDerivationProjectionObjects=!1}}}transformSimpleProjectionToDerivation(e){const t=nyt([e.lambdaParameterName],[e.propertyExpressionState.propertyExpression],this.queryBuilderState.graphManagerState.graph),n=new PVi(this,mr(this.queryBuilderState.graphManagerState.graphManager.transformValueSpecToRawValueSpec(t,this.queryBuilderState.graphManagerState.graph),SS));n.setColumnName(e.columnName),this.replaceColumn(e,n),n.derivationLambdaEditorState.convertLambdaObjectToGrammarString({pretty:!1}).catch(this.queryBuilderState.applicationStore.alertUnhandledError)}transformRelationColumnProjectionToDerivation(e){const t=e.column,n=new BS(t.name);n.func=t,n.parametersValues=[new TS(e.lambdaParameterName,A_.ONE,void 0)];const i=nyt([e.lambdaParameterName],[n],this.queryBuilderState.graphManagerState.graph),r=new PVi(this,mr(this.queryBuilderState.graphManagerState.graphManager.transformValueSpecToRawValueSpec(i,this.queryBuilderState.graphManagerState.graph),SS));r.setColumnName(e.columnName),this.replaceColumn(e,r),r.derivationLambdaEditorState.convertLambdaObjectToGrammarString({pretty:!1}).catch(this.queryBuilderState.applicationStore.alertUnhandledError)}replaceColumn(e,t){const n=this.aggregationState.columns.find(t=>t.projectionColumnState===e);n&&n.setColumnState(t);const i=this.resultSetModifierState.sortColumns.find(t=>t.columnState===e);i&&i.setColumnState(t),Wr(this.projectionColumns,e,t)}removeAllColumns(){this.projectionColumns=[],this.aggregationState.columns=[]}removeColumn(e){$r(this.projectionColumns,e);const t=this.aggregationState.columns.find(t=>t.projectionColumnState===e);t&&this.aggregationState.removeColumn(t),this.resultSetModifierState.updateSortColumns()}addColumn(e,t){jr(this.projectionColumns,e),t?.skipSorting||(this.projectionColumns=this.projectionColumns.toSorted((e,t)=>(this.aggregationState.columns.find(t=>t.projectionColumnState===e)?1:0)-(this.aggregationState.columns.find(e=>e.projectionColumnState===t)?1:0)))}moveColumn(e,t){if(e<0||e>=this.projectionColumns.length||t<0||t>=this.projectionColumns.length)return;const n=dr(this.projectionColumns[e]),i=ei(this.projectionColumns,e=>!this.aggregationState.columns.find(t=>t.projectionColumnState===e)),r=i?this.projectionColumns.lastIndexOf(i):0;t=this.aggregationState.columns.find(e=>e.projectionColumnState===n)?Math.max(t,Math.min(r+1,this.projectionColumns.length-1)):Math.min(t,r),this.projectionColumns.splice(e,1),this.projectionColumns.splice(t,0,n)}addNewBlankDerivation(){const e=new PVi(this,this.queryBuilderState.graphManagerState.graphManager.createDefaultBasicRawLambda({addDummyParameter:!0}));this.addColumn(e),e.derivationLambdaEditorState.setLambdaString(`${bvt}${Hb}''`)}revealCompilationError(e){const t=wie(e.sourceInformation);if(t&&3===t.length&&t[0]===pvt.QUERY_BUILDER&&t[1]===pvt.PROJECTION){const n=this.projectionColumns.find(e=>e.uuid===t[2]);if(n instanceof PVi)return n.derivationLambdaEditorState.setCompilationError(e),!0}return!1}clearCompilationError(){this.derivations.forEach(e=>e.derivationLambdaEditorState.setCompilationError(void 0))}fetchProperty(e){this.addColumn(new kVi(this,vzi(e,this.queryBuilderState.explorerState),this.queryBuilderState.explorerState.humanizePropertyName))}fetchProperties(e){e.forEach(e=>{this.addColumn(new kVi(this,vzi(e,this.queryBuilderState.explorerState),this.queryBuilderState.explorerState.humanizePropertyName))})}checkBeforeClearingColumns(e){this.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:"You will be clearing all projection columns. Do you still want to proceed?",type:nft.CAUTION,actions:[{label:"Proceed",type:ift.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:ift.PROCEED,default:!0}]})}checkBeforeChangingImplementation(e){this.projectionColumns.length>0?this.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:this.showPostFilterPanel&&this.postFilterState.nodes.size>0?"With graph-fetch mode, post filter is not supported. Current projection columns and post filters will be lost when switching to the graph-fetch mode. Do you still want to proceed?":"Current projection columns will be lost when switching to the graph-fetch mode. Do you still want to proceed?",type:nft.CAUTION,actions:[{label:"Proceed",type:ift.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:ift.PROCEED,default:!0}]}):e()}isVariableUsed(e){const t=this.projectionColumns;if(t.filter(pr(PVi)).length)return!1;const n=t.filter(pr(kVi)).find(t=>t.isVariableUsed(e)),i=this.postFilterState.isVariableUsed(e);return Boolean(n??i)}get hasInvalidFilterValues(){return this.postFilterState.hasInvalidFilterValues||this.postFilterState.hasInvalidDerivedPropertyParameters}get hasInvalidDerivedPropertyParameters(){return this.projectionColumns.some(e=>e instanceof kVi&&e.propertyExpressionState.derivedPropertyExpressionStates.some(e=>!e.isValid))}getParameters(){return this.queryBuilderState.parametersState.parameterStates.map(e=>this.queryBuilderState.graphManagerState.graphManager.serializeValueSpecification(e.parameter))}getLetExpressions(){return this.queryBuilderState.constantState.constants.map(e=>e.buildLetExpression()).map(e=>this.queryBuilderState.graphManagerState.graphManager.serializeValueSpecification(e))}get hashCode(){return fv([ayt.PROJECTION_STATE,fv(this.projectionColumns),this.aggregationState,this.postFilterState,this.resultSetModifierState,this.windowState])}*fetchDerivedReturnTypes(){try{const e=this.queryBuilderState.graphManagerState.graph,t=this.projectionColumns.filter(pr(PVi));if(0===t.length)return;const n=this.queryBuilderState.sourceElement;if(n instanceof Z_){const n=new Map;t.forEach(e=>n.set(e.columnName,e.getIsolatedClassRawLambda()));const i=yield this.queryBuilderState.graphManagerState.graphManager.getLambdasReturnType(n,e);Array.from(i.results.entries()).forEach(e=>{const n=t.find(t=>t.columnName===e[0]);n&&n.setLambdaReturnType(e[1])})}else if(n instanceof Rq){const i=new Map;t.forEach(e=>i.set(e.columnName,e.lambda));const r=NVi(e,this.queryBuilderState.graphManagerState,n,i),s=IVi(r,this.getParameters(),this.getLetExpressions()),o=yield this.queryBuilderState.graphManagerState.graphManager.getLambdaRelationType(s,e);t.forEach(e=>{const t=o.columns.find(t=>t.name===e.columnName);t&&e.setLambdaReturnType(t.type)})}}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.info(Hy.create("Unable to fetch derived return types"),e)}}}var pHi;!function(e){e.COUNT="Count",e.DISTINCT_COUNT="Distinct Count",e.SUM="Sum",e.MIN="Min",e.MAX="Max",e.AVERAGE="Average",e.STD_DEV_POPULATION="Std Dev (Population)",e.STD_DEV_SAMPLE="Std Dev (Sample)"}(pHi||(pHi={}));const gHi=[[pHi.COUNT,zVi],[pHi.DISTINCT_COUNT,jVi],[pHi.SUM,KVi],[pHi.MIN,$Vi],[pHi.MAX,WVi],[pHi.AVERAGE,HVi],[pHi.STD_DEV_POPULATION,qVi],[pHi.STD_DEV_SAMPLE,YVi]],mHi=(e,t,n)=>{const i=new kVi(e,t,!1);return i.setColumnName(n),i};class fHi extends Fb{includeSubTypes=!0;includeDocumentation=!1;constructor(e,t){super(()=>{e().catch(t)}),hd(this,{includeSubTypes:Rc,includeDocumentation:Rc,setIncludeSubTypes:Pu,setIncludeDocumentation:Pu})}setIncludeSubTypes(e){this.includeSubTypes=e}setIncludeDocumentation(e){this.includeDocumentation=e}}const vHi=e=>{const{taggedValues:t}=e,[i,r]=n.useState(!1),s=e=>{e.stopPropagation(),r(!i)},o=e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===t_,a=t.filter(e=>o(e)).map(e=>e.value),l=t.filter(e=>!o(e)),c=e=>vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:`${e.tag.ownerReference.value.name}.${e.tag.value.value}`}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value})]},`${e.tag.ownerReference.value.name}.${e.value}`);return vse.jsx("div",{children:l.length>0?vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Tagged Values"}),vse.jsxs("div",{className:"query-builder__tooltip__taggedValues",children:[t.slice(0,1).map(e=>vse.jsxs("div",{className:"query-builder__tooltip__combo",children:[c(e),t.length>3&&vse.jsx("button",{className:"btn btn--dark query-builder__tooltip__taggedValues__show-btn",onClick:s,title:"Toggle button to show more/less",children:i?"Show Less":"Show More"})]},`${e.tag.ownerReference.value.name}.${e.value}`)),t.slice(1,3).map(e=>c(e)),i&&t.slice(3).map(e=>c(e))]})]}):vse.jsx(vse.Fragment,{children:Boolean(a.length)&&vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Documentation"}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:a.join("\n\n")})]})})})},yHi=e=>{const{title:t,data:i,placement:r,children:s,footerElement:o}=e,[a,l]=n.useState(!1);return vse.jsx(g_e,{onClickAway:()=>l(!1),mouseEvent:"onMouseDown",children:vse.jsx("div",{children:vse.jsx(Hwe,{arrow:!0,...void 0!==r?{placement:r}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},open:a,onClose:()=>l(!1),slotProps:{transition:{timeout:0}},disableFocusListener:!0,disableHoverListener:!0,disableTouchListener:!0,title:vse.jsxs("div",{className:"query-builder__tooltip__content",children:[vse.jsx("div",{className:"query-builder__tooltip__header",children:t}),i.map(e=>vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:e.label}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value}),e.actionButton]},e.label)),o]}),children:vse.jsx("div",{onClick:e=>{l(!a),e.stopPropagation()},children:s})})})})},bHi=e=>{const{title:t,property:n,path:i,isMapped:r,children:s,placement:o,type:a,explorerState:l}=e,c=[{label:"Type",value:a?.path??n.genericType.value.rawType.path},{label:"Path",value:i,actionButton:l?vse.jsx("div",{className:"query-builder__tooltip__item__action",children:vse.jsx("button",{onClick:()=>l.highlightTreeNode(i),title:"Show in tree",children:vse.jsx(Dae,{})})}):void 0},{label:"Multiplicity",value:wE(n.multiplicity)},{label:"Derived Property",value:n instanceof pC?"Yes":"No"},{label:"Mapped",value:r?"Yes":"No"}];return vse.jsx(yHi,{title:t,data:c,placement:o,footerElement:vse.jsx(vHi,{taggedValues:n.taggedValues}),children:s})},_Hi=e=>{const{title:t,children:n,placement:i,type:r}=e,s=[{label:"Type",value:r?.path??"undefined"}];return vse.jsx(yHi,{title:t,data:s,placement:i,children:n})};var CHi;!function(e){e.LAMBDA_EDITOR__EDITOR_INPUT="lambda-editor__editor__input",e.QUERY_BUILDER="query__builder",e.QUERY_BUILDER_ACTIONS="query__builder__actions",e.QUERY_BUILDER_SETUP="query__builder__setup",e.QUERY_BUILDER_FETCH_STRUCTURE="query__builder__fetch__structure",e.QUERY_BUILDER_TDS_PROJECTION="query__builder__tds__projection",e.QUERY_BUILDER_TDS="query__builder__tds",e.QUERY_BUILDER_TDS_PROJECTION_COLUMN="QUERY_BUILDER_TDS_PROJECTION_COLUMN",e.QUERY_BUILDER_GRAPH_FETCH="query__builder__graph__fetch",e.QUERY_BUILDER_FILTER_PANEL="query__builder__filter__panel",e.QUERY_BUILDER_FILTER_TREE="query__builder__filter__tree",e.QUERY_BUILDER_FILTER_TREE_NODE_BLOCK="query__builder__filter__tree__node-block",e.QUERY_BUILDER_FILTER_TREE_NODE_CHILDREN="query__builder__filter__tree__node-children",e.QUERY_BUILDER_FILTER_TREE_NODE_CONTAINER="query__builder__filter__tree__node-container",e.QUERY_BUILDER_FILTER_TREE_NODE_CONTENT="query__builder__filter__tree__node-content",e.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_CONTENT="query__builder__filter__tree__condition__node-content",e.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_VALUE="query-builder-filter-tree__condition-node__value",e.QUERY_BUILDER_POST_FILTER_PANEL="query__builder__post__filter-panel",e.QUERY_BUILDER_POST_FILTER_TREE="query__builder__post__filter__tree",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_BLOCK="query__builder__post__filter__tree__node-block",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_CHILDREN="query__builder__post__filter__tree__node-children",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_CONTAINER="query__builder__post__filter__tree__node-container",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_CONTENT="query__builder__post__filter__tree__node-content",e.QUERY_BUILDER_WINDOW_GROUPBY="query__builder__window",e.QUERY_BUILDER_EXPLORER="query__builder__explorer",e.QUERY_BUILDER_PROPERTY_SEARCH_PANEL="query__builder__property__search__panel",e.QUERY_BUILDER_PERCENTILE_PANEL="query__builder__percentile__panel",e.QUERY_BUILDER_WAVG_DROPZONE="query__builder__wavg__dropzone",e.QUERY_BUILDER_PREVIEW_DATA_MODAL="query__builder__preview-data__modal",e.QUERY_BUILDER_PARAMETERS="query-builder__parameters",e.QUERY_BUILDER_CONSTANTS="query-builder__constants",e.QUERY_BUILDER_FUNCTIONS="query-builder__functions",e.QUERY_BUILDER_TOOLTIP_ICON="query-builder__tooltip__icon",e.QUERY_BUILDER_RESULT_VALUES="QUERY_BUILDER_RESULT_VALUES",e.QUERY_BUILDER_RESULT_VALUES_TDS="QUERY_BUILDER_RESULT_VALUES_TDS",e.QUERY_BUILDER_TDS_RESULT_MODIFIER_PROMPT="query-builder__tds__result-modifier-prompt",e.QUERY_BUILDER_RESULT_PANEL="query__builder__result__panel",e.QUERY_BUILDER_RESULT_ANALYTICS="query__builder__result__analytics",e.QUERY_BUILDER_RESULT_GRID_CUSTOM_HEADER="query__builder__result__grid__custom-header",e.QUERY_BUILDER_RESULT_MODIFIER_PANEL="query__builder__result__modifier__panel",e.QUERY_BUILDER_RESULT_MODIFIER_PANEL_SORT_REMOVE_BTN="query__builder__projection__options__sort__remove-btn",e.QUERY_BUILDER_RESULT_MODIFIER_PANEL__WATERMAKR="query__builder__result__modifier__panel__watermark",e.QUERY_BUILDER_TEMPLATE_QUERY_PANE="query__builder__template__query__panel"}(CHi||(CHi={}));const SHi=e=>({label:e.name,value:e}),wHi=e=>lE(e)?"system element":aE(e)?"generated element":oE(e)?"dependency element":void 0,EHi=e=>function(t){const{darkMode:n}=e,i=n?"packageable-element-option-label--dark":"packageable-element-option-label",r=(e=>lE(e)?"system":aE(e)?"generated":oE(e)?"dependency":"")(t.value);return vse.jsxs("div",{className:i,children:[vse.jsx("div",{title:wHi(t.value),className:`packageable-element-option-label__type ${r?`packageable-element-option-label__type--${r}`:""} `}),vse.jsx("div",{className:`${i}__name`,children:t.label}),t.value.package&&vse.jsx("div",{className:`${i}__tag`,children:t.value.path})]})},xHi=e=>e instanceof V_||e instanceof U_?vse.jsx(sAe,{}):e instanceof Z_?vse.jsx(oAe,{}):e instanceof nC?vse.jsx(aAe,{}):e instanceof cC?vse.jsx(lAe,{}):e instanceof lC?vse.jsx(cAe,{}):vse.jsx(pAe,{}),THi=e=>{const{_class:t,children:n,placement:i}=e;return vse.jsx(Hwe,{arrow:!0,...void 0!==i?{placement:i}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},slotProps:{transition:{timeout:0}},title:vse.jsxs("div",{className:"query-builder__tooltip__content",children:[vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:"Unknown"})]}),vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),vse.jsx(vHi,{taggedValues:t.taggedValues})]}),children:n})},AHi=e=>e instanceof Nq?vse.jsx(hAe,{}):e instanceof Iq?vse.jsx(gAe,{}):e instanceof Dq?vse.jsx(dAe,{}):vse.jsx(pAe,{}),RHi=e=>[e.accessorOwner,e.schema,e.accessor].filter(cr).join("."),NHi=ule(n.forwardRef(function(e,t){const{queryBuilderState:n,node:i,accessor:r}=e,s=n.fetchStructureState.implementation instanceof hHi?n.fetchStructureState.implementation:void 0;return vse.jsxs(cVe,{ref:t,children:[i instanceof fzi&&vse.jsx(uVe,{onClick:()=>{s&&i instanceof fzi&&s.addColumn(new LVi(s,i.column,!0))},children:"Add Column to Fetch Structure"}),i instanceof mzi&&vse.jsx(uVe,{onClick:()=>{s&&r.relationType.columns.forEach(e=>{s.addColumn(new LVi(s,e,!0))})},children:"Add Columns to Fetch Structure"})]})})),IHi=ule(e=>{const{node:t,level:i,stepPaddingInRem:r,onNodeSelect:s,innerProps:o}=e,{queryBuilderState:a,accessor:l}=o,c=t instanceof mzi,u=t instanceof fzi,[d,h]=n.useState(!1),[,p,g]=TGe(()=>({type:lzi.RELATION_COLUMN,item:()=>({node:t})}),[t]),m=n.useRef(null);u&&p(m),sHe(g);const f=a.explorerState,v=u&&f.humanizePropertyName?vf(t.label):t.label,y=()=>s?.(t),b=()=>h(!0),_=()=>h(!1);if(c){const e=!0===t.isOpen?vse.jsx(wae,{}):vse.jsx(xae,{});return vse.jsx(gVe,{content:vse.jsx(NHi,{queryBuilderState:a,node:t,accessor:l}),menuProps:{elevation:7},onOpen:b,onClose:_,children:vse.jsxs("div",{className:gle("tree-view__node__container query-builder-explorer-tree__node__container",{"query-builder-explorer-tree__node__container--selected-from-context-menu":d,"query-builder-explorer-tree__node__container--highlighted":f.highlightUsedProperties&&MHi(t,a)}),onClick:y,style:{paddingLeft:(i-1)*(r??1)+.5+"rem",display:"flex"},children:[vse.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[vse.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:e}),vse.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:AHi(l)})]}),vse.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:t.label}),vse.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:vse.jsx(Hwe,{arrow:!0,classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},slotProps:{transition:{timeout:0}},title:vse.jsxs("div",{className:"query-builder__tooltip__content",children:[vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:l.accessorOwnerLabel})]}),vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:RHi(l)})]})]}),children:vse.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":CHi.QUERY_BUILDER_TOOLTIP_ICON,children:vse.jsx(Xoe,{})})})})]})})}const C=u?t:void 0,S=u?HHi(t.type):void 0,w=C?(e=>{const t=e.genericType.value.rawType.name,n=e.genericType.value.typeVariableValues;if(n&&n.length>0){const e=n.map(e=>e instanceof AS?e.values[0]:void 0).filter(cr);if(e.length>0)return`${t}(${e.join(", ")})`}return t})(C.column):t.type.path,E=C?.column.multiplicity,x=void 0!==E&&(void 0===E.upperBound||E.upperBound>1);return vse.jsx(gVe,{content:vse.jsx(NHi,{queryBuilderState:a,node:t,accessor:l}),menuProps:{elevation:7},onOpen:b,onClose:_,children:vse.jsxs("div",{className:gle("tree-view__node__container query-builder-explorer-tree__node__container",{"query-builder-explorer-tree__node__container--selected-from-context-menu":d,"query-builder-explorer-tree__node__container--highlighted":f.highlightUsedProperties&&MHi(t,a)}),onClick:y,ref:m,style:{paddingLeft:(i-1)*(r??1)+.5+"rem",display:"flex"},children:[vse.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[vse.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:vse.jsx("div",{})}),vse.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:S})]}),vse.jsxs("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:[v,x&&vse.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this column can cause row explosion",children:"*"})]}),vse.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:vse.jsx(yHi,{title:v,data:[{label:"Type",value:w},{label:"Column",value:t.label},...E?[{label:"Multiplicity",value:wE(E)}]:[]],children:vse.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":CHi.QUERY_BUILDER_TOOLTIP_ICON,children:vse.jsx(Xoe,{})})})})]})})}),DHi=ule(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o,components:a}=e;return vse.jsxs("div",{className:"tree-view__node__block",children:[vse.jsx(IHi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).map(e=>vse.jsx(DHi,{node:e,level:n+1,components:a,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))]})}),OHi=ule(e=>{const{queryBuilderState:t,accessor:i}=e,r=n.useMemo(()=>(e=>{const t=[],n=new Map,i=[];e.relationType.columns.forEach(e=>{const t=e.genericType.value.rawType,r=new fzi(e.name,e.name,e.name,e,t,{mapped:!0});i.push(r.id),n.set(r.id,r)});const r=new mzi("__relation_root__",e.accessor,e.accessor,!1,e.relationType,{mapped:!0},i);return r.setIsOpen(!0),t.push(r.id),n.set(r.id,r),{rootIds:t,nodes:n}})(i),[i]);return vse.jsx(xMe,{components:{TreeNodeContainer:IHi,TreeNodeView:DHi},className:"query-builder-explorer-tree__root",treeData:r,onNodeSelect:e=>{e instanceof mzi&&e.setIsOpen(!e.isOpen)},getChildNodes:e=>e instanceof mzi?e.childrenIds.map(e=>r.nodes.get(e)).filter(cr):[],innerProps:{queryBuilderState:t,accessor:i}})}),kHi=ule(e=>{const{queryBuilderState:t,accessor:n}=e;return vse.jsxs("div",{"data-testid":CHi.QUERY_BUILDER_EXPLORER,className:"panel query-builder__explorer",children:[vse.jsx(CVe,{title:"columns"}),vse.jsxs("div",{className:"panel__content query-builder-explorer-tree__content",children:[vse.jsx(oHe,{labelGetter:e=>{const n=e.node;return t.explorerState.humanizePropertyName?vf(n.label):n.label},types:[lzi.RELATION_COLUMN]}),0===n.relationType.columns.length?vse.jsx(MVe,{children:"No columns"}):vse.jsx(OHi,{queryBuilderState:t,accessor:n})]})]})}),LHi=(e,t,n)=>{if(e.type instanceof Z_&&TE(e.type,t))return!0;if(e instanceof pzi&&TE(e.property,t))return!0;if(e instanceof gzi){const i=n.nodes.get(e.parentId);if(i?.type instanceof Z_&&TE(i.type,t))return!0}return!1},MHi=(e,t)=>{if(e instanceof hzi&&t.fetchStructureState.implementation.usedExplorerTreePropertyNodeIDs.length>0)return!0;const n=e.id.replaceAll(/(?:@[^.]+)+/g,e=>{const t=e.split(Wb);return`${Wb}${t[t.length-1]}`});return t.fetchStructureState.implementation.usedExplorerTreePropertyNodeIDs.includes(n)},PHi=e=>{const{subclass:t,path:i,isMapped:r,children:s,placement:o,multiplicity:a}=e,[l,c]=n.useState(!1);return vse.jsx(g_e,{onClickAway:()=>c(!1),mouseEvent:"onMouseDown",children:vse.jsx("div",{children:vse.jsx(Hwe,{arrow:!0,...void 0!==o?{placement:o}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},open:l,onClose:()=>c(!1),slotProps:{transition:{timeout:0}},disableFocusListener:!0,disableHoverListener:!0,disableTouchListener:!0,title:vse.jsxs("div",{className:"query-builder__tooltip__content",children:[vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:i})]}),vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:wE(a)})]}),vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Mapped"}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:r?"Yes":"No"})]}),vse.jsx(vHi,{taggedValues:t.taggedValues})]}),children:vse.jsx("div",{onClick:e=>{c(!l),e.stopPropagation()},children:s})})})})},FHi=ule(e=>{const{queryBuilderState:t}=e,n=t.applicationStore,i=t.explorerState.previewDataState,r=()=>{i.previewDataAbortController&&(i.previewDataAbortController.abort(),i.setPreviewDataAbortController(void 0)),i.setIsGeneratingPreviewData(!1),i.setPreviewData(void 0)};return vse.jsx(V_e,{open:Boolean(i.previewData)||i.isGeneratingPreviewData,onClose:r,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:vse.jsx("div",{"data-testid":CHi.QUERY_BUILDER_PREVIEW_DATA_MODAL,children:vse.jsxs(eVe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder__explorer__preview-data-modal",children:[vse.jsx(nVe,{title:vf(i.propertyName)}),vse.jsx(BVe,{isLoading:i.isGeneratingPreviewData}),vse.jsxs(rVe,{className:"query-builder__explorer__preview-data-modal__body",children:[i.isGeneratingPreviewData&&vse.jsx("div",{className:"query-builder__explorer__preview-data-modal__placeholder",children:"Loading preview data..."}),i.previewData&&vse.jsxs("table",{className:"table",children:[vse.jsx("thead",{children:vse.jsx("tr",{children:i.previewData.columns.map((e,t)=>vse.jsx("th",{className:"table__cell--left",children:e},t))})}),vse.jsx("tbody",{children:i.previewData.rows.map((e,t)=>vse.jsx("tr",{children:e.values.map((e,t)=>vse.jsx("td",{className:"table__cell--left",children:e},t))},t))})]})]}),vse.jsx(sVe,{children:vse.jsx(aVe,{text:"Close",onClick:r,type:"secondary"})})]})})})}),BHi=ule(n.forwardRef(function(e,t){const{queryBuilderState:n,openNode:i,node:r}=e;return vse.jsxs(cVe,{ref:t,children:[r instanceof pzi&&!(r.type instanceof Z_)&&vse.jsx(uVe,{onClick:()=>n.fetchStructureState.fetchProperty(r),children:"Add Property to Fetch Structure"}),r.type instanceof Z_&&vse.jsx(uVe,{onClick:()=>{if(i(),r.type instanceof Z_){r.childrenIds.map(e=>n.explorerState.nonNullableTreeData.nodes.get(e)).filter(pr(pzi)).filter(e=>!(e.type instanceof Z_)&&e.mappingData.mapped).filter(e=>{const t=vzi(e,n.explorerState);if(n.fetchStructureState.implementation instanceof hHi){return void 0===n.fetchStructureState.implementation.projectionColumns.find(n=>{if(n instanceof kVi)return n.propertyExpressionState.path===e.id&&n.columnName===SVi(t,!0)})}return!0}).forEach(e=>n.fetchStructureState.fetchProperty(e))}},children:"Add Properties to Fetch Structure"})]})})),VHi=new Set([I_(Zb.VARCHAR)]),UHi=new Set([I_(Zb.INT),I_(Zb.TINY_INT),I_(Zb.U_TINY_INT),I_(Zb.SMALL_INT),I_(Zb.U_SMALL_INT),I_(Zb.U_INT),I_(Zb.BIG_INT),I_(Zb.U_BIG_INT),I_(Zb.FLOAT),I_(Zb.DOUBLE),I_(Zb.NUMERIC),I_(Zb.DECIMAL)]),GHi=new Set([I_(Zb.TIMESTAMP),I_(Zb.STRICTDATE),I_(Zb.DATETIME),I_(Zb.STRICTTIME)]),HHi=e=>{if(e instanceof V_||e instanceof V_){const t=Jvt(e)??e.path;if(t===Xb.STRING)return vse.jsx(Fse,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__string"});if(t===Xb.BOOLEAN)return vse.jsx(mae,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__boolean"});if(t===Xb.NUMBER||t===Xb.INTEGER||t===Xb.FLOAT||t===Xb.DECIMAL)return vse.jsx(Koe,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__number"});if(t===Xb.DATE||t===Xb.DATETIME||t===Xb.STRICTDATE)return vse.jsx(Noe,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__time"})}else if(e instanceof U_){if(VHi.has(e.name))return vse.jsx(Fse,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__string"});if(UHi.has(e.name))return vse.jsx(Koe,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__number"});if(GHi.has(e.name))return vse.jsx(Noe,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__time"})}return xHi(e)},zHi=ule(e=>{const{node:t,level:i,stepPaddingInRem:r,onNodeSelect:s,innerProps:o}=e,{queryBuilderState:a}=o,[l,c]=n.useState(!1),u=Cmt(),d=a.explorerState,[,h,p]=TGe(()=>({type:t instanceof pzi?t.type instanceof nC?lzi.ENUM_PROPERTY:t.type instanceof Z_?lzi.CLASS_PROPERTY:lzi.PRIMITIVE_PROPERTY:lzi.ROOT,item:()=>t instanceof pzi?{node:t}:{}}),[t]),g=n.useRef(null);h(g),sHe(p);const m=Boolean(t.childrenIds.length),f=t instanceof pzi&&t.property instanceof pC,v=t instanceof pzi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1)||t instanceof gzi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1),y=t.mappingData.mapped&&t instanceof pzi&&t.type instanceof V_&&!t.isPartOfDerivedPropertyBranch,b=m?t.isOpen?vse.jsx(wae,{}):vse.jsx(xae,{}):vse.jsx("div",{}),_=d.humanizePropertyName?t instanceof gzi?Wb+vf(t.label):vf(t.label):t instanceof gzi?Wb+t.label:t.label;return t.mappingData.mapped||t instanceof hzi||d.showUnmappedProperties?vse.jsx(gVe,{content:vse.jsx(BHi,{queryBuilderState:a,openNode:()=>{t.isOpen||s?.(t)},node:t}),disabled:!(t instanceof pzi||t instanceof hzi)||u.layoutService.showBackdrop,menuProps:{elevation:7},onOpen:()=>c(!0),onClose:()=>c(!1),children:vse.jsxs("div",{className:gle("tree-view__node__container query-builder-explorer-tree__node__container",{"query-builder-explorer-tree__node__container--selected-from-context-menu":l,"query-builder-explorer-tree__node__container--unmapped":!t.mappingData.mapped,"query-builder-explorer-tree__node__container--selected":t.isSelected,"query-builder-explorer-tree__node__container--highlighted":d.highlightUsedProperties&&MHi(t,a)}),title:t.mappingData.mapped?void 0:t instanceof hzi?"Root class is not mapped":"Property is not mapped",onClick:()=>s?.(t),ref:t.mappingData.mapped&&!m?g:void 0,style:{paddingLeft:(i-1)*(r??1)+.5+"rem",display:"flex"},children:[t instanceof hzi&&vse.jsxs(vse.Fragment,{children:[vse.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[vse.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:b}),vse.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:vse.jsx(oAe,{})})]}),vse.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:t.label}),vse.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:a.sourceClass&&vse.jsx(THi,{_class:a.sourceClass,children:vse.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":CHi.QUERY_BUILDER_TOOLTIP_ICON,children:vse.jsx(Xoe,{})})})})]}),(t instanceof pzi||t instanceof gzi)&&vse.jsxs(vse.Fragment,{children:[vse.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",ref:t.elementRef,children:[vse.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:b}),vse.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:HHi(t.type)})]}),vse.jsxs("div",{className:gle("tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",{"query-builder-explorer-tree__node__label--with-preview":y},{"query-builder-explorer-tree__node__label--highlight":t.isHighlighting}),onAnimationEnd:()=>t.setIsHighlighting(!1),children:[vse.jsx("div",{className:gle("query-builder-explorer-tree__node__label--property__name",{"query-builder-explorer-tree__node__label--deprecated":LHi(t,d.queryBuilderState.graphManagerState.graph,d.nonNullableTreeData)}),children:_}),f&&vse.jsx("div",{className:"query-builder-explorer-tree__node__label__derived-property",title:"Property is derived and may require user to specify parameter values",children:"(...)"}),v&&vse.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),vse.jsxs("div",{className:"query-builder-explorer-tree__node__actions",children:[y&&vse.jsx("button",{className:"query-builder-explorer-tree__node__action",disabled:d.previewDataState.isGeneratingPreviewData,tabIndex:-1,title:"Preview Data",onClick:()=>{t instanceof pzi&&d.previewData(t).catch(u.alertUnhandledError)},children:vse.jsx(Goe,{})}),t instanceof pzi&&vse.jsx(bHi,{title:_,property:t.property,path:t.id,isMapped:t.mappingData.mapped,type:t.type,children:vse.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":CHi.QUERY_BUILDER_TOOLTIP_ICON,children:vse.jsx(Xoe,{})})}),t instanceof gzi&&vse.jsx(PHi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:vse.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":CHi.QUERY_BUILDER_TOOLTIP_ICON,children:vse.jsx(Xoe,{})})})]})]})]})}):null}),jHi=ule(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e,{queryBuilderState:a}=o;return t.mappingData.mapped||t instanceof hzi||a.explorerState.showUnmappedProperties?vse.jsxs("div",{className:"tree-view__node__block",children:[vse.jsx(zHi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).map(e=>vse.jsx(jHi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))]}):null}),WHi=e=>e instanceof gzi?0:e.type instanceof Z_?e.isPartOfDerivedPropertyBranch?1:2:e.type instanceof nC?e.isPartOfDerivedPropertyBranch?3:4:e.isPartOfDerivedPropertyBranch?5:6,$Hi=ule(e=>{const{queryBuilderState:t}=e,n=t.explorerState,i=n.nonNullableTreeData;return vse.jsx(xMe,{components:{TreeNodeContainer:zHi,TreeNodeView:jHi},className:"query-builder-explorer-tree__root",treeData:i,onNodeSelect:e=>{e.childrenIds.length&&(e.setIsOpen(!e.isOpen),n.generateOpenNodeChildren(e))},getChildNodes:e=>e.childrenIds.map(e=>i.nodes.get(e)).filter(e=>e instanceof gzi||e instanceof pzi).sort((e,t)=>e.label.localeCompare(t.label)).sort((e,t)=>WHi(t)-WHi(e)),innerProps:{queryBuilderState:t}})}),qHi="query-builder-explorer-search-input",YHi=ule(n.forwardRef(function(e,t){const{propertySearchState:i}=e;n.useEffect(()=>{i.initializationState.hasSucceeded||i.initializationState.isInProgress||!cr(i.queryBuilderState.explorerState.treeData)||i.initialize().catch(i.queryBuilderState.applicationStore.alertUnhandledError)},[i,i.initializationState,i.queryBuilderState.explorerState.treeData]);const r=n.useMemo(()=>jn(()=>i.search(),100),[i]),s=()=>{i.resetSearch()};return vse.jsxs("div",{className:"query-builder__explorer__property-search__input__container",children:[vse.jsx("input",{ref:t,name:qHi,className:gle("query-builder__explorer__property-search__input input--dark",{"query-builder__explorer__property-search__input--searching":i.searchText}),spellCheck:!1,onChange:e=>{(async()=>{i.setSearchText(e.target.value),e.target.value.length>=2?(i.queryBuilderState.explorerState.treeData&&!i.isSearchPanelOpen&&(i.setIsSearchPanelOpen(!0),i.initializationState.hasSucceeded||i.initializationState.isInProgress||await i.initialize()),await r()):i.setIsSearchPanelOpen(!1)})().catch(i.queryBuilderState.applicationStore.alertUnhandledError)},onKeyDown:e=>{"Escape"===e.key&&(s(),i.setIsSearchPanelOpen(!1))},value:i.searchText,placeholder:"One or more terms, ESC to clear"}),i.searchText.length>=2&&vse.jsx("div",{className:"query-builder__explorer__property-search__input__search__count",children:i.filteredSearchResults.length+(i.isOverSearchLimit&&0!==i.filteredSearchResults.length?"+":"")}),i.searchText?vse.jsx("button",{className:"query-builder__explorer__property-search__input__clear-btn",tabIndex:-1,onClick:s,title:"Clear",children:vse.jsx(gae,{})}):vse.jsx(vse.Fragment,{children:vse.jsx("div",{className:"query-builder__explorer__property-search__input__search__icon",children:vse.jsx(uae,{})})})]})})),KHi=ule(e=>{const{queryBuilderState:t}=e,i=n.useRef(null),r=t.explorerState,s=r.propertySearchState,o=Cmt();return n.useEffect(()=>{r.analyzeMappingModelCoverage().catch(o.alertUnhandledError)},[o,r,t.executionContextState.mapping]),vse.jsxs("div",{"data-testid":CHi.QUERY_BUILDER_EXPLORER,className:gle("panel query-builder__explorer",{backdrop__element:o.layoutService.showBackdrop}),children:[vse.jsxs(CVe,{title:"explorer",children:[vse.jsx(YHi,{propertySearchState:s,ref:i}),vse.jsxs(wVe,{children:[vse.jsx(EVe,{onClick:()=>{r.treeData&&Array.from(r.treeData.nodes.values()).forEach(e=>{e instanceof hzi||e.setIsOpen(!1)})},title:"Collapse Tree",children:vse.jsx(Doe,{})}),vse.jsx(mVe,{className:"panel__header__action",title:"Show Options Menu...",onOpen:()=>{yvt.logEvent_ShowPropertyExplorerOptions(o.telemetryService)},content:vse.jsxs(cVe,{children:[vse.jsxs(uVe,{onClick:()=>{yvt.logEvent_ShowUnmappedPropertyInExplorerTreeLaunched(o.telemetryService),r.setShowUnmappedProperties(!r.showUnmappedProperties)},children:[vse.jsx(hVe,{children:r.showUnmappedProperties?vse.jsx(xoe,{}):null}),vse.jsx(pVe,{children:"Show Unmapped Properties"})]}),vse.jsxs(uVe,{onClick:()=>r.setHumanizePropertyName(!r.humanizePropertyName),children:[vse.jsx(hVe,{children:r.humanizePropertyName?vse.jsx(xoe,{}):null}),vse.jsx(pVe,{children:"Humanize Property Name"})]}),vse.jsxs(uVe,{onClick:()=>r.setHighlightUsedProperties(!r.highlightUsedProperties),children:[vse.jsx(hVe,{children:r.highlightUsedProperties?vse.jsx(xoe,{}):null}),vse.jsx(pVe,{children:"Highlight already used properties"})]})]}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:7},children:vse.jsx(Bse,{className:"query-builder__icon__more-options"})})]}),s.isSearchPanelOpen&&vse.jsx(ozi,{queryBuilderState:t,triggerElement:i.current,clearSearch:()=>s.resetSearch()})]}),vse.jsxs("div",{className:"panel__content query-builder-explorer-tree__content",children:[vse.jsx(BVe,{isLoading:r.mappingModelCoverageAnalysisState.isInProgress}),vse.jsx(oHe,{labelGetter:e=>r.humanizePropertyName?vf(e.node.label):e.node.label,types:Object.values(lzi)}),r.mappingModelCoverageAnalysisState.isInProgress?vse.jsx(MVe,{children:r.mappingModelCoverageAnalysisState.message}):vse.jsxs(vse.Fragment,{children:[!r.treeData&&vse.jsx(MVe,{children:"Specify the class, mapping, and runtime to start building query"}),r.treeData&&vse.jsx($Hi,{queryBuilderState:t})]}),vse.jsx(FHi,{queryBuilderState:t})]})]})}),XHi=ule(e=>{const{queryBuilderState:t}=e,n=t.sourceAccessor;return n?vse.jsx(kHi,{queryBuilderState:t,accessor:n}):vse.jsx(KHi,{queryBuilderState:t})}),ZHi=({documentationKey:e,title:t,className:n,inline:i=!0})=>{const r=Cmt(),s=r.documentationService.getDocEntry(e);return s&&(s.url||Nmt(s))?vse.jsx("div",{onClick:t=>{t.preventDefault(),t.stopPropagation(),r.assistantService.openDocumentationEntryLink(e)},title:t??"Click to see documentation",className:gle("documentation-link",n,{"documentation-link--inline":i}),children:vse.jsx(oae,{})}):null},QHi=e=>{const{parent:t,canUndo:i,undo:r}=e;return n.useEffect(()=>{const e=e=>{const n=e.target;e.ctrlKey&&"z"===e.key&&null!==n&&null!==t.current&&(t.current.contains(n)||n.contains(t.current))&&(e.preventDefault(),r())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[t,r]),vse.jsx("div",{className:"undo-redo",children:vse.jsxs("button",{className:"undo-redo__button",onClick:r,tabIndex:-1,title:"Undo(ctrl + z)",disabled:!i,children:[vse.jsx(vae,{}),vse.jsx("div",{className:"undo-redo__button__label",children:"Undo"})]})})},JHi=e=>{const{parent:t,canRedo:i,redo:r}=e;return n.useEffect(()=>{const e=e=>{const n=e.target;e.ctrlKey&&"y"===e.key&&null!==n&&null!==t.current&&(t.current.contains(n)||n.contains(t.current))&&(e.preventDefault(),r())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[t,r]),vse.jsx("div",{className:"undo-redo",children:vse.jsxs("button",{className:"undo-redo__button",onClick:r,tabIndex:-1,title:"Redo(ctrl + y)",disabled:!i,children:[vse.jsx(lae,{}),vse.jsx("div",{className:"undo-redo__button__label",children:"Redo"})]})})},ezi=(e,t)=>e.split(Wb).map(e=>e.replace(new RegExp(String.raw`.*${Gb}`),"")).filter(e=>""!==e).map(e=>e.split(".").map(vf).join(t?" / ":"/")).join(Wb),tzi=(e,t)=>{let n=e.split(Wb);n=n.map(e=>e.replace(new RegExp(String.raw`.*${Gb}`),"")).filter(e=>""!==e);let i=n.slice(0,-1).map(e=>`(${Wb}${e.split(".").map(e=>vf(e)).join(t?" / ":"/")})`).join(t?" / ":"/");return i+=t?" / ":"/",n=dr(n[n.length-1]).split("."),n=n.map(e=>vf(e)),i=`${i}(${Wb}${n[0]})${t?" / ":"/"}`,n.slice(1).forEach(e=>{i=`${i+e}${t?" / ":"/"}`}),i=i.slice(0,t?-3:-1),i},nzi=(e,t,n,i)=>{const r=[];t.split(/\/| /).filter(e=>e.trim().length>0).forEach(t=>{const n=new RegExp(t,"gi");let i;for(;i=n.exec(e);)r.push([i.index,i.index+t.length])});const s=[];if(r.sort((e,t)=>e[0]-t[0]),r.forEach(e=>{if(s.length){const t=s[s.length-1];void 0!==t&&e[0]<=t[1]?t[1]=Math.max(t[1],e[1]):s.push(e)}else s.push(e)}),!s.length)return vse.jsx("span",{children:e});const o=[],a=Gr(s,0)[0];a>0&&o.push(vse.jsx("span",{children:e.substring(0,a)},`${i}-0-${e.substring(0,a)}`)),s.forEach((t,r)=>{if(o.push(vse.jsx("span",{className:`${n}--highlight`,children:e.substring(t[0],t[1])},`${i}-${2*r}-${e.substring(t[0],t[1])}`)),r<s.length-1&&t[1]<e.length){const n=Gr(s,r+1)[0];o.push(vse.jsx("span",{children:e.substring(t[1],n)},`${i}-${2*r+1}--${e.substring(t[1],n)}`))}});const l=Gr(s,s.length-1)[1];return l<e.length&&o.push(vse.jsx("span",{children:e.substring(l)},`${i}-${2*s.length+2}-${e.substring(l)}`)),o},izi=ule(e=>{const{node:t,queryBuilderState:i,explorerState:r,level:s,stepPaddingInRem:o}=e,a=Boolean(t.childrenIds.length),l=r.propertySearchState,[,c,u]=TGe(()=>({type:t instanceof pzi?t.type instanceof nC?lzi.ENUM_PROPERTY:t.type instanceof Z_?lzi.CLASS_PROPERTY:lzi.PRIMITIVE_PROPERTY:lzi.ROOT,item:()=>t instanceof pzi?{node:t}:{},canDrag:()=>!(t.type instanceof Z_),collect:e=>({isDragging:e.isDragging()})}),[t]),d=n.useRef(null);c(d),sHe(u);const h=()=>{r.propertySearchState.setIsSearchPanelOpen(!1),r.propertySearchState.resetSearch(),r.highlightTreeNode(t.id)},p=l.indexedExplorerTreeNodes.find(e=>t instanceof pzi&&t.parentId===e.id),g=p?.type instanceof Z_&&s>1?vf(t.label):p instanceof gzi?tzi(t.id,!0):ezi(t.id,!0),m=a?t.isOpen?vse.jsx(wae,{}):vse.jsx(xae,{}):vse.jsx("div",{}),f=t instanceof pzi?t.property.taggedValues.find(e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===t_)?.value??null:null,v=null!==f?nzi(f,l.searchText,"query-builder-property-search-panel__node__doc",`${t.id}_doc`):null,y=l.isNodeMultiple(t);return vse.jsxs(vse.Fragment,{children:[vse.jsxs("div",{className:"tree-view__node__container query-builder-property-search-panel__node__container",ref:d,style:{paddingLeft:(s-1)*o+.5+"rem",display:"flex"},onClick:()=>t.setIsOpen(!t.isOpen),onDrag:()=>l.setIsSearchPanelHidden(!0),onDragEnd:()=>l.setIsSearchPanelHidden(!1),children:[vse.jsxs("div",{className:"tree-view__node__icon query-builder-property-search-panel__node__icon",children:[vse.jsx("div",{className:"query-builder-property-search-panel__expand-icon",children:m}),vse.jsx("div",{className:"query-builder-property-search-panel__type-icon",children:HHi(t.type)})]}),vse.jsxs("div",{className:"query-builder-property-search-panel__node__content",children:[vse.jsxs("div",{className:"tree-view__node__label query-builder-property-search-panel__node__label",children:[nzi(g,l.searchText,"query-builder-property-search-panel__node__label",t.id),y&&vse.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),vse.jsx("div",{className:"tree-view__node__label query-builder-property-search-panel__node__doc",children:v})]}),vse.jsxs("div",{className:"query-builder-property-search-panel__node__actions",children:[t instanceof pzi&&vse.jsxs(vse.Fragment,{children:[vse.jsx(bHi,{title:g,property:t.property,path:t.id,isMapped:t.mappingData.mapped,children:vse.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:vse.jsx(Xoe,{})})}),vse.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:vse.jsx(Dae,{})})]}),t instanceof gzi&&vse.jsxs(vse.Fragment,{children:[vse.jsx(PHi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:vse.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:vse.jsx(Xoe,{})})}),vse.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:vse.jsx(Dae,{})})]})]})]}),t.isOpen&&(()=>{const e=[];return t.childrenIds.length&&(t instanceof pzi||t instanceof gzi)&&t.type instanceof Z_&&(t instanceof gzi?bE(t.type):fE(t.type)).forEach(n=>{const r=bzi(n,t,dr(i.explorerState.mappingModelCoverageAnalysisResult));!r||r.type instanceof Z_||!r.mappingData.mapped||e.push(r)}),e})().filter(e=>l.isNodeIncludedInFilter(e)).sort((e,t)=>e.label.localeCompare(t.label)).map(e=>vse.jsx(izi,{node:e,queryBuilderState:i,level:s+1,stepPaddingInRem:2,explorerState:i.explorerState},`${t.id}>${e.id}`))]})}),rzi=ule(e=>{const{label:t,enabled:i,onClick:r,showOnlyButton:s,onOnlyButtonClick:o}=e,[a,l]=n.useState(!1);return vse.jsxs("div",{className:"query-builder-property-search-panel__form__section__toggler__btn__container",onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:[vse.jsxs("button",{className:gle("query-builder-property-search-panel__form__section__toggler__btn",{"query-builder-property-search-panel__form__section__toggler__btn--toggled":i}),onClick:r,tabIndex:-1,children:[i?vse.jsx(Toe,{}):vse.jsx(hae,{}),vse.jsx("div",{className:"query-builder-property-search-panel__form__section__toggler__prompt",children:t})]}),s&&a&&vse.jsx("button",{className:"query-builder-property-search-panel__form__section__toggler__only-btn",onClick:o,children:"only"})]})}),szi=ule(e=>{const{header:t,headerTooltipText:n,buttons:i}=e;return vse.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[vse.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:[t,n&&vse.jsx(Hwe,{slotProps:{transition:{timeout:0}},title:vse.jsx("div",{children:n}),children:vse.jsx("div",{className:"query-builder-property-search-panel__tagged-values__tooltip",children:vse.jsx(Xoe,{})})})]}),i.map(({label:e,enabled:t,onClick:n,onOnlyButtonClick:r})=>vse.jsx(rzi,{label:e,enabled:t,onClick:n,showOnlyButton:i.length>1,onOnlyButtonClick:r},e))]})}),ozi=ule(e=>{const{queryBuilderState:t,triggerElement:n,clearSearch:i}=e,r=t.explorerState.propertySearchState,s=e=>{e.target instanceof HTMLInputElement&&e.target.name===qHi||(i(),r.setIsSearchPanelOpen(!1))};return vse.jsx(REe,{open:r.isSearchPanelOpen,slotProps:{paper:{classes:{root:"query-builder-property-search-panel__container__root"}}},className:gle("query-builder-property-search-panel__container",{"query-builder-property-search-panel__container--hidden":r.isSearchPanelHidden}),anchorEl:n,onClose:s,hideBackdrop:!0,disableAutoFocus:!0,disableEnforceFocus:!0,anchorOrigin:{vertical:40,horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"center"},children:vse.jsx(g_e,{onClickAway:s,children:vse.jsx("div",{"data-testid":CHi.QUERY_BUILDER_PROPERTY_SEARCH_PANEL,className:"query-builder-property-search-panel",children:vse.jsx("div",{className:"query-builder-property-search-panel__content",children:vse.jsxs(tze,{orientation:"vertical",children:[vse.jsx(nze,{size:175,children:vse.jsxs("div",{className:"query-builder-property-search-panel__config",children:[vse.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[vse.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:["Search Mode",vse.jsx(ZHi,{documentationKey:gft.QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX})]}),vse.jsx("div",{className:"query-builder-property-search-panel__filter__element",children:vse.jsx(bVe,{className:"query-builder-property-search-panel__search-mode__options",value:r.searchConfigurationState.currentMode,onChange:e=>{const t=e.target.value;r.searchConfigurationState.setCurrentMode(t)},row:!1,options:[Pb.STANDARD,Pb.INCLUDE,Pb.EXACT,Pb.INVERSE],size:1})})]}),vse.jsx(szi,{header:"One-Many rows",buttons:[{label:"Include",enabled:r.includeOneMany,onClick:()=>r.setIncludeOneMany(!r.includeOneMany)}]}),vse.jsx(szi,{header:"Documentation",headerTooltipText:'Include "doc" type tagged values in search results',buttons:[{label:"Include",enabled:r.searchConfigurationState.includeDocumentation,onClick:()=>{(async()=>{r.searchConfigurationState.setIncludeDocumentation(!r.searchConfigurationState.includeDocumentation),await r.initialize(),await r.search()})().catch(r.queryBuilderState.applicationStore.alertUnhandledError)}}]}),vse.jsx(szi,{header:"Sub-types",buttons:[{label:"Include",enabled:r.searchConfigurationState.includeSubTypes,onClick:()=>{(async()=>{r.searchConfigurationState.setIncludeSubTypes(!r.searchConfigurationState.includeSubTypes),await r.initialize(),await r.search()})().catch(r.queryBuilderState.applicationStore.alertUnhandledError)}}]}),vse.jsx(szi,{header:"By type",buttons:[{label:"Class",enabled:r.typeFilters.includes(Evt.CLASS),onClick:()=>{r.toggleFilterForType(Evt.CLASS)},onOnlyButtonClick:()=>{r.setFilterOnlyType(Evt.CLASS)}},{label:"Enumeration",enabled:r.typeFilters.includes(Evt.ENUMERATION),onClick:()=>{r.toggleFilterForType(Evt.ENUMERATION)},onOnlyButtonClick:()=>{r.setFilterOnlyType(Evt.ENUMERATION)}},{label:"String",enabled:r.typeFilters.includes(Evt.STRING),onClick:()=>{r.toggleFilterForType(Evt.STRING)},onOnlyButtonClick:()=>{r.setFilterOnlyType(Evt.STRING)}},{label:"Boolean",enabled:r.typeFilters.includes(Evt.BOOLEAN),onClick:()=>{r.toggleFilterForType(Evt.BOOLEAN)},onOnlyButtonClick:()=>{r.setFilterOnlyType(Evt.BOOLEAN)}},{label:"Number",enabled:r.typeFilters.includes(Evt.NUMBER),onClick:()=>{r.toggleFilterForType(Evt.NUMBER)},onOnlyButtonClick:()=>{r.setFilterOnlyType(Evt.NUMBER)}},{label:"Date",enabled:r.typeFilters.includes(Evt.DATE),onClick:()=>{r.toggleFilterForType(Evt.DATE)},onOnlyButtonClick:()=>{r.setFilterOnlyType(Evt.DATE)}}]})]})}),vse.jsx(ize,{children:vse.jsx(rze,{color:"var(--color-dark-grey-200)"})}),vse.jsxs(nze,{children:[(r.initializationState.isInProgress||r.searchState.isInProgress)&&vse.jsx(BVe,{isLoading:!0}),vse.jsxs("div",{className:"query-builder-property-search-panel__results",children:[!r.initializationState.isInProgress&&!r.searchState.isInProgress&&vse.jsxs(vse.Fragment,{children:[Boolean(r.filteredSearchResults.length)&&r.filteredSearchResults.map(e=>vse.jsx(izi,{node:e,queryBuilderState:t,level:1,stepPaddingInRem:0,explorerState:t.explorerState},e.id)),!r.filteredSearchResults.length&&r.searchText&&vse.jsxs(MVe,{children:[vse.jsx("div",{className:"query-builder-property-search-panel__result-placeholder__text",children:"No result"}),vse.jsx("div",{className:"query-builder-property-search-panel__result-placeholder__tips",children:"Tips: Navigate deeper into the explorer tree to improve the scope and accuracy of the search"})]})]}),r.initializationState.isInProgress&&vse.jsx(MVe,{children:"Initializing..."}),r.searchState.isInProgress&&vse.jsx(MVe,{children:"Searching..."})]})]})]})})})})})});class azi{queryBuilderState;indexedExplorerTreeNodeMap=new Map;searchEngine;searchConfigurationState;initializationState=Py.create();searchState=Py.create();searchText="";searchResults=[];isOverSearchLimit=!1;isSearchPanelOpen=!1;isSearchPanelHidden=!1;showSearchConfigurationMenu=!1;includeOneMany=!1;typeFilters=[Evt.CLASS,Evt.ENUMERATION,Evt.STRING,Evt.BOOLEAN,Evt.NUMBER,Evt.DATE];constructor(e){hd(this,{indexedExplorerTreeNodeMap:Rc,searchText:Rc,searchResults:Rc,isOverSearchLimit:Rc,isSearchPanelOpen:Rc,isSearchPanelHidden:Rc,showSearchConfigurationMenu:Rc,includeOneMany:Rc,typeFilters:Rc,indexedExplorerTreeNodes:Oc,filteredSearchResults:Oc,search:Pu,resetSearch:Pu,setSearchResults:Pu,setIsOverSearchLimit:Pu,setSearchText:Pu,setShowSearchConfigurationMenu:Pu,setIsSearchPanelOpen:Pu,setIsSearchPanelHidden:Pu,setIncludeOneMany:Pu,setFilterOnlyType:Pu,toggleFilterForType:Pu,initialize:Pu}),this.queryBuilderState=e,this.searchConfigurationState=new fHi(async()=>this.search(),this.queryBuilderState.applicationStore.alertUnhandledError),this.searchEngine=new Mb(this.indexedExplorerTreeNodes)}setIsSearchPanelOpen(e){this.isSearchPanelOpen=e}setIsSearchPanelHidden(e){this.isSearchPanelHidden=e}setShowSearchConfigurationMenu(e){this.showSearchConfigurationMenu=e}setSearchResults(e){this.searchResults=e}setIsOverSearchLimit(e){this.isOverSearchLimit=e}setSearchText(e){this.searchText=e}resetSearch(){this.searchText="",this.searchResults=[],this.indexedExplorerTreeNodes.forEach(e=>{e instanceof hzi||e.setIsOpen(!1)}),this.searchState.complete()}setIncludeOneMany(e){this.includeOneMany=e}setFilterOnlyType(e){this.typeFilters=[e]}toggleFilterForType(e){this.typeFilters.includes(e)?$r(this.typeFilters,e):jr(this.typeFilters,e)}isNodeMultiple(e){let t=e;for(;t;){if(t instanceof gzi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1)||t instanceof pzi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1))return!0;t=t instanceof pzi||t instanceof gzi?this.indexedExplorerTreeNodeMap.get(t.parentId):void 0}return!1}async search(){return this.searchText||this.setSearchResults([]),this.searchState.inProgress(),this.indexedExplorerTreeNodes.forEach(e=>{e instanceof hzi||e.setIsOpen(!1)}),new Promise(e=>setTimeout(()=>{const t=new Map,n=Array.from(this.searchEngine.search(this.searchConfigurationState.generateSearchText(this.searchText.toLowerCase()),{limit:101}).values()).map(e=>e.item).map(e=>(e.type instanceof Z_&&t.set(e.id,e),e)).filter(e=>!(e instanceof pzi||e instanceof gzi)||!t.has(e.parentId));n.length>100?(this.setIsOverSearchLimit(!0),this.setSearchResults(n.slice(0,100))):(this.setIsOverSearchLimit(!1),this.setSearchResults(n)),this.searchState.complete(),e()},0))}async initialize(){return this.initializationState.inProgress(),new Promise(e=>setTimeout(()=>{const t=this.queryBuilderState.explorerState.nonNullableTreeData,n=new Map(t.rootIds.map(e=>t.nodes.get(e)).filter(cr).map(e=>[e.id,e]));this.indexedExplorerTreeNodeMap=new Map;let i=[],r=[];Array.from(t.rootIds.map(e=>t.nodes.get(e)?.childrenIds.map(e=>t.nodes.get(e))).flat().filter(cr).filter(e=>!(!e.mappingData.mapped||!this.searchConfigurationState.includeSubTypes)||e instanceof pzi)).forEach(e=>{if(e.mappingData.mapped&&!e.isPartOfDerivedPropertyBranch){const t=Szi(e);i.push(t),this.indexedExplorerTreeNodeMap.set(t.id,t)}});const s=this.indexedExplorerTreeNodeMap.size+1e4,o=e=>Bu(()=>{if(this.indexedExplorerTreeNodeMap.size>s)return;const t=Szi(e);this.indexedExplorerTreeNodeMap.set(t.id,t)}),a=e=>{if(e instanceof pzi||e instanceof gzi){let t=this.indexedExplorerTreeNodeMap.get(e.parentId)??n.get(e.parentId);for(;t;){if(e.type===t.type)return!0;t=t instanceof pzi||t instanceof gzi?this.indexedExplorerTreeNodeMap.get(t.parentId)??n.get(t.parentId):void 0}}return!1};let l=1;for(;i.length&&l<=10;){const e=i.shift();e?.mappingData.mapped&&e.childrenIds.length&&(e instanceof pzi||this.searchConfigurationState.includeSubTypes&&e instanceof gzi)&&e.type instanceof Z_&&((e instanceof gzi?bE(e.type):fE(e.type).concat(vE(e.type))).forEach(t=>{const n=bzi(t,e,dr(this.queryBuilderState.explorerState.mappingModelCoverageAnalysisResult));n&&n.mappingData.mapped&&!n.isPartOfDerivedPropertyBranch&&!a(n)&&(r.push(n),o(n))}),this.searchConfigurationState.includeSubTypes&&e.type._subclasses.forEach(t=>{const n=_zi(t,e,dr(this.queryBuilderState.explorerState.mappingModelCoverageAnalysisResult));n.mappingData.mapped&&!a(n)&&(r.push(n),o(n))})),!i.length&&this.indexedExplorerTreeNodeMap.size<s&&(i=r,r=[],l++)}this.searchEngine=new Mb(this.indexedExplorerTreeNodes,{includeScore:!0,shouldSort:!0,ignoreLocation:!0,threshold:.2,keys:[{name:"label",weight:4},{name:"path",weight:2,getFn:e=>{const t=e instanceof pzi||e instanceof gzi?this.indexedExplorerTreeNodeMap.get(e.parentId):void 0;return t?t instanceof gzi?tzi(e.id):ezi(e.id):""}},...this.searchConfigurationState.includeDocumentation?[{name:"taggedValues",weight:2,getFn:e=>e instanceof pzi?e.property.taggedValues.filter(e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===t_).map(e=>e.value).join("\n"):""}]:[]],sortFn:(e,t)=>{if(Math.abs(e.score-t.score)<=.1){const n=e.item[0]&&Object.hasOwn(e.item[0],"v")?e.item[0].v.split("/").length:void 0,i=t.item[0]&&Object.hasOwn(t.item[0],"v")?t.item[0].v.split("/").length:void 0;if(void 0!==n&&void 0!==i)return n-i}return e.score-t.score},useExtendedSearch:!0}),this.initializationState.complete(),e()},0))}get indexedExplorerTreeNodes(){return Array.from(this.indexedExplorerTreeNodeMap.values())}isNodeIncludedInFilter(e){return!(!this.includeOneMany&&this.isNodeMultiple(e))&&(!!(this.typeFilters.includes(Evt.CLASS)&&e.type instanceof Z_)||(!!(this.typeFilters.includes(Evt.ENUMERATION)&&e.type instanceof nC)||(!(!this.typeFilters.includes(Evt.STRING)||e.type!==V_.STRING)||(!!(this.typeFilters.includes(Evt.NUMBER)&&e.type instanceof V_&&[Xb.NUMBER,Xb.DECIMAL,Xb.INTEGER,Xb.FLOAT].includes(e.type.name))||(!(!this.typeFilters.includes(Evt.BOOLEAN)||e.type!==V_.BOOLEAN)||!!(this.typeFilters.includes(Evt.DATE)&&e.type instanceof V_&&[Xb.DATE,Xb.DATETIME,Xb.STRICTDATE,Xb.STRICTTIME,Xb.LATESTDATE].includes(e.type.name)))))))}get filteredSearchResults(){return this.searchResults.filter(e=>this.isNodeIncludedInFilter(e))}}var lzi;!function(e){e.ROOT="ROOT",e.CLASS_PROPERTY="CLASS_PROPERTY",e.ENUM_PROPERTY="ENUM_PROPERTY",e.PRIMITIVE_PROPERTY="PRIMITIVE_PROPERTY",e.RELATION_COLUMN="RELATION_COLUMN"}(lzi||(lzi={}));const czi=(e,t)=>`${e?`${e}.`:""}${t}`,uzi=(e,t)=>`${e||""}${Wb}${t}`;class dzi{isSelected;isOpen;isHighlighting;id;label;dndText;childrenIds=[];isPartOfDerivedPropertyBranch;type;mappingData;elementRef;constructor(e,t,i,r,s,o,a){hd(this,{isHighlighting:Rc,isOpen:Rc,isSelected:Rc,setIsHighlighting:Pu,setIsOpen:Pu,setIsSelected:Pu}),this.id=e,this.label=t,this.dndText=i,this.isPartOfDerivedPropertyBranch=r,this.type=s,this.mappingData=o,a&&(this.childrenIds=a),this.elementRef=n.createRef()}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}setIsHighlighting(e){this.isHighlighting=e}}class hzi extends dzi{}class pzi extends dzi{property;parentId;constructor(e,t,n,i,r,s,o,a,l){super(e,t,n,s,a??i.genericType.value.rawType,o,l),this.property=i,this.parentId=r}}class gzi extends dzi{subclass;parentId;multiplicity;constructor(e,t,n,i,r,s,o,a,l){super(e,t,n,s,i,o,l),this.subclass=i,this.parentId=r,this.multiplicity=a}}class mzi extends dzi{}class fzi extends dzi{column;constructor(e,t,n,i,r,s){super(e,t,n,!1,r,s),this.column=i}}const vzi=(e,t,n)=>{const i=t.nonNullableTreeData,r=t.propertySearchState.indexedExplorerTreeNodes,s=new TS(n??bvt,A_.ONE),o=new US("");Gvt(o,fC.create(dr(e.property)));let a=o,l=i.nodes.get(e.parentId)??r.find(t=>t.id===e.parentId),c=e;for(;c&&(l instanceof pzi||l instanceof gzi);){if(l instanceof gzi&&c instanceof gzi){l=i.nodes.get(l.parentId);continue}let e,t=!1;if(l instanceof gzi?e=new VS(I_(Rvt.SUBTYPE)):l instanceof pzi&&l.mappingData.entityMappedProperty?.subType?(e=new VS(I_(Rvt.SUBTYPE)),a.parametersValues.push(e),a=e,e=new US(""),Gvt(e,fC.create(dr(l.property))),t=!0,c=l,l=i.nodes.get(l.parentId)):(e=new US(""),Gvt(e,fC.create(dr(l.property)))),a.parametersValues.push(e),a instanceof VS&&k_(a.functionName,Rvt.SUBTYPE)){const e=new AS(A_.ONE,j_.create(new X_(c.type)));a.parametersValues.push(e)}if(a=e,t||(c=l,l=l instanceof pzi||l instanceof gzi?i.nodes.get(l.parentId):void 0),!l&&(c instanceof pzi||c instanceof gzi))for(const e of r)if(e.id===c.parentId){l=e;break}}if(a.parametersValues.push(s),c&&a instanceof VS){const e=new AS(A_.ONE,j_.create(new X_(c.type)));a.parametersValues.push(e)}return o},yzi=e=>{const t=e.type,n=(e instanceof gzi?bE(t):fE(t).concat(vE(t))).map(t=>`${e.id}.${t.name}`),i=t._subclasses.map(t=>`${e.id}${Wb}${t.path}`);return n.concat(i)},bzi=(e,t,n)=>{const i=((e,t,n)=>{if(t.mappedEntity){const i=t.mappedEntity.__PROPERTIES_INDEX.get(e.name);return(e.genericType.value.rawType instanceof Z_||e.genericType.value.rawType instanceof iC)&&i?{mapped:!0,mappedEntity:n.__ENTITIES_INDEX.get(i instanceof _0?i.entityPath:i.enumPath),entityMappedProperty:i instanceof _0?i:void 0}:{mapped:void 0!==i}}return{mapped:!1}})(e,t.mappingData,n),r=e instanceof pC||t.isPartOfDerivedPropertyBranch||t instanceof pzi&&t.property instanceof pC;if(e instanceof eC&&t instanceof pzi&&t.property instanceof eC&&e._OWNER instanceof tC&&t.property._OWNER instanceof tC&&t.property._OWNER===e._OWNER)return;const s=e.genericType.value.rawType instanceof Z_?mE(e.genericType.value.rawType):[],o=i.entityMappedProperty?.subType?s.find(e=>e.path===i.entityMappedProperty?.subType):void 0,a=new pzi(o?uzi(czi(t instanceof hzi?"":t.id,e.name),o.path):czi(t instanceof hzi?"":t.id,e.name),e.name,`${t instanceof hzi?`${jb}x`:t.dndText}.${e.name}`,e,t.id,r,i,o);if(o){const n=czi(t instanceof hzi?"":t.id,e.name);t.childrenIds.includes(n)&&(t.childrenIds=[...t.childrenIds.filter(e=>e!==n),a.id])}return a.type instanceof Z_&&(a.childrenIds=yzi(a)),a},_zi=(e,t,n)=>{const i=new gzi(uzi(t instanceof hzi?"":t.id,e.path),e.name,""+(t instanceof hzi?`${jb}${bvt}->${I_(Rvt.SUBTYPE)}(${Wb}${e.path})`:`${t.dndText}->${I_(Rvt.SUBTYPE)}(${Wb}${e.path})`),e,t.id,!1,((e,t,n)=>{const i=mE(e).concat(e).map(e=>e.path),r=t.entityMappedProperty?.subType;if(t.mappedEntity){const e=t.mappedEntity.properties.find(e=>Boolean(e instanceof _0&&e.subType&&i.includes(e.subType)));if(e)return{mapped:!0,mappedEntity:n.__ENTITIES_INDEX.get(e.entityPath)};if(i.includes(t.mappedEntity.path)||r&&i.includes(r))return{mapped:!0,mappedEntity:t.mappedEntity}}return{mapped:!1}})(e,t.mappingData,n),t instanceof pzi?t.property.multiplicity:t instanceof gzi?t.multiplicity:A_.ONE);return i.childrenIds=yzi(i),i},Czi=(e,t)=>{const n=[],i=new Map,r=((e,t)=>{const n=t.__ENTITIES_INDEX.get(e.path);return{mapped:Boolean(n),mappedEntity:n}})(e,t),s=new hzi("@dummy_rootNode",e.name,e.path,!1,e,r);return s.isOpen=!0,i.set(s.id,s),n.push(s.id),fE(e).concat(vE(e)).sort((e,t)=>e.name.localeCompare(t.name)).sort((e,t)=>(t instanceof Z_?2:t instanceof nC?1:0)-(e instanceof Z_?2:e instanceof nC?1:0)).forEach(e=>{const n=bzi(e,s,t);n&&(jr(s.childrenIds,n.id),i.set(n.id,n))}),e._subclasses.forEach(e=>{const n=_zi(e,s,t);jr(s.childrenIds,n.id),i.set(n.id,n)}),{rootIds:n,nodes:i}},Szi=e=>{if(e instanceof hzi)return new hzi(e.id,e.label,e.dndText,e.isPartOfDerivedPropertyBranch,e.type,e.mappingData,e.childrenIds);if(e instanceof pzi)return new pzi(e.id,e.label,e.dndText,e.property,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.type,e.childrenIds);if(e instanceof gzi)return new gzi(e.id,e.label,e.dndText,e.subclass,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.multiplicity,e.childrenIds);throw new yi(`Unable to clone node of type ${e.constructor.name}`)};class wzi{isGeneratingPreviewData=!1;propertyName="(unknown)";previewData;previewDataAbortController;constructor(){hd(this,{previewData:Rc.ref,isGeneratingPreviewData:Rc,propertyName:Rc,previewDataAbortController:Rc,setPropertyName:Pu,setIsGeneratingPreviewData:Pu,setPreviewData:Pu,setPreviewDataAbortController:Pu})}setPropertyName(e){this.propertyName=e}setIsGeneratingPreviewData(e){this.isGeneratingPreviewData=e}setPreviewData(e){this.previewData=e}setPreviewDataAbortController(e){this.previewDataAbortController=e}}class Ezi{queryBuilderState;previewDataState=new wzi;propertySearchState;treeData;humanizePropertyName=!0;showUnmappedProperties=!1;highlightUsedProperties=!0;mappingModelCoverageAnalysisState=Py.create();mappingModelCoverageAnalysisResult;constructor(e){hd(this,{treeData:Rc.ref,humanizePropertyName:Rc,showUnmappedProperties:Rc,highlightUsedProperties:Rc,mappingModelCoverageAnalysisResult:Rc,setTreeData:Pu,refreshTree:Pu,refreshTreeData:Pu,setHumanizePropertyName:Pu,setShowUnmappedProperties:Pu,setHighlightUsedProperties:Pu,highlightTreeNode:Pu,analyzeMappingModelCoverage:Ju,previewData:Ju}),this.queryBuilderState=e,this.propertySearchState=new azi(this.queryBuilderState)}get nonNullableTreeData(){return dr(this.treeData,"Query builder explorer tree data has not been initialized")}setTreeData(e){this.treeData=e}refreshTree(){this.treeData&&(this.treeData={...this.treeData})}setHumanizePropertyName(e){this.humanizePropertyName=e}setShowUnmappedProperties(e){this.showUnmappedProperties=e}setHighlightUsedProperties(e){this.highlightUsedProperties=e}refreshTreeData(){const e=this.queryBuilderState.sourceClass,t=this.queryBuilderState.executionContextState.mapping;this.setTreeData(e&&t&&this.mappingModelCoverageAnalysisResult?Czi(e,this.mappingModelCoverageAnalysisResult):void 0)}generateOpenNodeChildren(e){e.isOpen&&(e instanceof pzi||e instanceof gzi)&&e.type instanceof Z_&&((e instanceof gzi?bE(e.type):fE(e.type).concat(vE(e.type))).forEach(t=>{const n=bzi(t,e,dr(this.mappingModelCoverageAnalysisResult));n&&this.nonNullableTreeData.nodes.set(n.id,n)}),e.type._subclasses.forEach(t=>{const n=_zi(t,e,dr(this.mappingModelCoverageAnalysisResult));this.nonNullableTreeData.nodes.set(n.id,n)}),this.refreshTree())}highlightTreeNode(e){if(void 0===this.nonNullableTreeData.nodes.get(e)){const t=e.split("@").map(e=>e.split("."));t.length>0&&void 0!==t[t.length-1]&&Gr(t,t.length-1).pop();let n="";t.forEach(e=>{e.forEach((e,t)=>{n+=`${t>0?".":""}${e}`;const i=this.nonNullableTreeData.nodes.get(n);i&&(i.setIsOpen(!0),this.generateOpenNodeChildren(i))}),n+="@"})}const t=this.nonNullableTreeData.nodes.get(e);if(t instanceof pzi||t instanceof gzi){let e=this.nonNullableTreeData.nodes.get(t.parentId)??null;for(;null!==e;)e.isOpen||e.setIsOpen(!0),e=e instanceof pzi||e instanceof gzi?this.nonNullableTreeData.nodes.get(e.parentId)??null:null;t.setIsHighlighting(!0),setTimeout(()=>{t.elementRef.current?.scrollIntoView()},0)}}*analyzeMappingModelCoverage(){if(this.queryBuilderState.executionContextState.mapping&&this.queryBuilderState.executionContextState.mapping.path!==this.mappingModelCoverageAnalysisResult?.mapping.path){this.mappingModelCoverageAnalysisState.inProgress(),yvt.logEvent_QueryMappingModelCoverageAnalysisLaunched(this.queryBuilderState.applicationStore.telemetryService);const e=new Fy,t=s6(this.queryBuilderState.graphManagerState.graph);this.mappingModelCoverageAnalysisState.setMessage("Analyzing Mapping...");try{this.mappingModelCoverageAnalysisResult=yield this.queryBuilderState.graphManagerState.graphManager.analyzeMappingModelCoverage(this.queryBuilderState.executionContextState.mapping,this.queryBuilderState.graphManagerState.graph),this.refreshTreeData(),t.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(e,t.timings);const n=Object.assign({},t,this.queryBuilderState.getStateInfo());yvt.logEvent_QueryMappingModelCoverageAnalysisSucceeded(this.queryBuilderState.applicationStore.telemetryService,n)}catch(e){bi(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e.message)}finally{this.mappingModelCoverageAnalysisState.complete()}}}*previewData(e){const t=this.queryBuilderState.executionContextState.runtimeValue;if(!t)return void this.queryBuilderState.applicationStore.notificationService.notifyWarning(`Can't preview data for property '${e.property.name}': runtime is not specified`);if(!e.mappingData.mapped||!this.queryBuilderState.sourceClass||!this.queryBuilderState.executionContextState.mapping)return;if(this.previewDataState.isGeneratingPreviewData)return void this.queryBuilderState.applicationStore.notificationService.notifyWarning(`Can't preview data for property '${e.property.name}': another preview request is being executed`);this.previewDataState.setPropertyName(e.property.name),this.previewDataState.setIsGeneratingPreviewData(!0);const n=vzi(e,this),i=e.property.genericType.value.rawType;this.previewDataState.setPreviewDataAbortController(new AbortController);try{switch(i.path){case Xb.NUMBER:case Xb.INTEGER:case Xb.DECIMAL:case Xb.FLOAT:{const e=(yield this.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t)=>{const n=e.INTERNAL__toBasicQueryBuilderState(),i=mr(n.fetchStructureState.implementation,hHi),r=i.aggregationState;return gHi.forEach(e=>{const n=mHi(i,t,e[0]);i.projectionColumns.push(n);const s=dr(r.operators.find(t=>t instanceof e[1]));r.changeColumnAggregateOperator(s,n,!0)}),n.resultState.buildExecutionRawLambda({useAllVersionsForMilestoning:!0})})(this.queryBuilderState,n),this.queryBuilderState.executionContextState.mapping,t,this.queryBuilderState.graphManagerState.graph,{abortController:this.previewDataState.previewDataAbortController,forceFromExpression:this.queryBuilderState.forceFromExpressionForExec})).executionResult;gr(e,gQ,"Unexpected preview data format");const i=e.result,r={columns:["Aggregation","Value"],rows:i.columns.map((e,t)=>({values:[e,dr(i.rows[0]).values[t]]}))};this.previewDataState.setPreviewData(r);break}case Xb.BOOLEAN:case Xb.STRING:case Xb.DATE:case Xb.STRICTDATE:case Xb.DATETIME:{const e=(yield this.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t)=>{const n=e.INTERNAL__toBasicQueryBuilderState(),i=mr(n.fetchStructureState.implementation,hHi),r=mHi(i,t,"Value"),s=mHi(i,t,"Count");i.projectionColumns=[r,s];const o=dr(i.aggregationState.operators.find(e=>e instanceof zVi));i.aggregationState.changeColumnAggregateOperator(o,s,!0),i.resultSetModifierState.limit=10;const a=new XVi(s);return a.sortType=Ivt.DESC,i.resultSetModifierState.sortColumns=[a,new XVi(r)],n.resultState.buildExecutionRawLambda({useAllVersionsForMilestoning:!0})})(this.queryBuilderState,n),this.queryBuilderState.executionContextState.mapping,t,this.queryBuilderState.graphManagerState.graph,{abortController:this.previewDataState.previewDataAbortController,forceFromExpression:this.queryBuilderState.forceFromExpressionForExec})).executionResult;gr(e,gQ,"Unexpected preview data format"),this.previewDataState.setPreviewData(e.result);break}default:throw new yi(`No preview support for property of type '${i.path}'`)}}catch(t){if(bi(t),"AbortError"===t.name)return;this.queryBuilderState.applicationStore.notificationService.notifyWarning(`Can't preview data for property '${e.property.name}'. Error: ${t.message}`),this.previewDataState.setPreviewData(void 0)}finally{this.previewDataState.setIsGeneratingPreviewData(!1),this.previewDataState.setPreviewDataAbortController(void 0)}}}var xzi="4.19.1",Tzi={applicationPlugin:"@finos/legend-application-plugin-query-builder",graphManagerPreset:"@finos/legend-graph-manager-preset-query-builder",pureProtocolProcessorPlugin:"@finos/legend-pure-protocol-processor-plugin-query-builder",pureGraphManagerPlugin:"@finos/legend-pure-graph-manager-plugin-query-builder"};const Azi=(e,t,n,i)=>{gr(e,ST,"Can't build projection column: only support lambda"),br(1===e.parameters.length,"Can't build projection column: only support lambda with 1 parameter");const r=mr(e.parameters[0],yT,"Can't build projection column: only support lambda with 1 parameter");br(1===e.body.length,"Can't build projection column: only support lambda body with 1 expression");let s=e.body[0];if(s instanceof AT&&2===s.parameters.length&&k_(s.function,Rvt.WAVG_ROW_MAPPER))return e.accept_ValueSpecificationVisitor(new ZK(n,i,t));for(gr(s,cA,"Can't build projection column: only support lambda body as property expression");s instanceof cA;)for(br(s.parameters.length>=1,"Can't build projection column: only support lambda body as property expression"),s=s.parameters[0];s instanceof AT&&k_(s.function,Rvt.SUBTYPE);)s=s.parameters[0];return gr(s,yT,"Can't build projection column: only support lambda body as property expression"),br(r.name===s.name,`Can't build column lambda: expects variable used in lambda body '${s.name}' to match lambda parameter '${r.name}'`),e.accept_ValueSpecificationVisitor(new ZK(n,i,t))},Rzi=(e,t,n,i)=>{gr(e,AT,"Can't build aggregation: only support function"),br(k_(e.function,Rvt.TDS_AGG),"Can't build aggregation: only support agg()"),br(2===e.parameters.length,"Can't build agg() expression: agg() expects 2 arguments");const r=mr(e.parameters[0],ST,"Can't build agg() expression: agg() expects argument #1 as a lambda");let s;s=r.body[0]instanceof AT&&k_(r.body[0].function,Object.values(Tvt))?_i(()=>((e,t,n,i)=>{gr(e,ST,"Can't build calendar aggregation column: only support lambda"),br(1===e.parameters.length,"Can't build calendar aggregation column: only support lambda with 1 parameter"),br(1===e.body.length,"Can't build calendar aggregation column: only support lambda body with 1 expression");const r=mr(e.parameters[0],yT,"Can't build calendar aggregation column: only support lambda with 1 parameter"),s=mr(e.body[0],AT,"Can't build calendar aggregation column: only support applied function");br(k_(s.function,Object.values(Tvt)),"Can't build calendar aggregation columnn: unsupported calenddar function"),br(4===s.parameters.length,"Can't build calendar aggregation column: only support calendar function with four parameters"),gr(s.parameters[0],cA,"Can't build calendar aggregation column: only support first parameter of calendar function as property expression");const o=mr(s.parameters[1],OT,"Can't build calendar aggregation column: only support second parameter of calendar function as String");br(void 0!==Object.values(oHi).find(e=>e===o.value),`Can't build calendar aggregation column: ${o.value} is not a supported calendar type`),mr(s.parameters[2],nT,"Can't build calendar aggregation column: only support third parameter of calendar function as Date");const a=s.parameters[0].accept_ValueSpecificationVisitor(new ZK(n,i,t)),l=dr(s.parameters[1]).accept_ValueSpecificationVisitor(new ZK(n,i,t)),c=dr(s.parameters[2]).accept_ValueSpecificationVisitor(new ZK(n,i,t)),u=dr(s.parameters[3]),d=_i(()=>u.accept_ValueSpecificationVisitor(new ZK(n,i,t)))??new xS(tI(u,n.extensions.plugins)),h=eX([a,l,c,d],s.function,n),p=new zS,g=new GS(C_.create(n.graph.getType(exports.CORE_PURE_PATH.ANY)),A_.ONE);g.parameters.push(new TS(r.name,A_.ONE));const m=new HS(g);return m.expressionSequence=[h],p.values.push(m),p})(r,t,n,i))??new xS(tI(r,n.extensions.plugins)):_i(()=>Azi(r,t,n,i))??new xS(tI(r,n.extensions.plugins));const o=mr(e.parameters[1],ST).accept_ValueSpecificationVisitor(new ZK(n,i,t));return eX([s,o],I_(Rvt.TDS_AGG),n)},Nzi=(e,t,n,i,r)=>{const s=mr(e,AT,"Can't build tds col func: only support applied function");br(k_(s.function,Rvt.TDS_COL),`Can't build tds col func: unsupported func name ${s.function}`),br(2===s.parameters.length,"Can't build tds col func: only support col function with 2 parameters");const o=mr(s.parameters[0],ST,"Can't build tds col func: only support first parameter of col function as Lambda");let a;try{o.parameters.forEach(e=>{if(e.name&&!e.genericType){const n=new TS(e.name,A_.ONE);n.genericType=t.genericType,r.addInferredVariables(e.name,n)}}),a=Azi(o,n,i,r)}catch{a=new xS(tI(o,i.extensions.plugins))}mr(s.parameters[1],OT,"Can't build tds col func: only support second parameter of col function as String");const l=dr(s.parameters[1]).accept_ValueSpecificationVisitor(new ZK(i,r,n));return eX([a,l],s.function,i)},Izi=(e,t,n,i,r)=>{if(2===t.length)try{return((e,t,n,i,r)=>{br(2===t.length,"Can't build tds project() expression: project() expects 2 arguments");const s=t[0].accept_ValueSpecificationVisitor(new ZK(i,r,n));ur(s.genericType,"Can't build tds project() expression: preceding expression return type is missing");const o=dr(t[1],"Can't build tds project() expression: second parameter is missing");let a;if(o instanceof RT){const e=new IS(i.graph.getMultiplicity(o.multiplicity.lowerBound,o.multiplicity.upperBound));e.values=o.values.map(e=>Nzi(e,s,n,i,r)),a=e}else gr(o,AT,"Can't build project() expression: project() expects argument #2 to be a function"),a=Nzi(o,s,n,i,r);const l=eX([s,a],e,i);return l.genericType=j_.create(new X_(i.resolveType(xvt.TDS_ROW).value)),l})(e,t,n,i,r)}catch{return((e,t,n,i,r)=>{br(2===t.length,"Can't build relation project() expression: project() expects 2 arguments");let s=[];const o=t[0].accept_ValueSpecificationVisitor(new ZK(i,r,n));ur(o.genericType,"Can't build relation project() expression: preceding expression return type is missing");const a=t[1];gr(a,ZR,"Can't build relation project() expression: project() expects argument #1 to be a ClassInstance");const l=mr(a.value,eA,"Can't build relation project() expression: project() expects argument #1 to hold spec array instances value");s=l.colSpecs.map(e=>e.function1).filter(cr).filter(pr(ST)).map(e=>e.parameters).flat();const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new TS(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const u=new PS(A_.ONE),d=new MS;u.values=[d];const h=new K_(K_.ID);d.colSpecs=l.colSpecs.map(e=>{const t=new kS;let s;const o=mr(e.function1,nT,"Can't build relation col spec() expression: expects function1 to be a lambda");try{s=Azi(o,n,i,r)}catch{s=new xS(tI(o,i.extensions.plugins))}t.function1=s,t.name=e.name;const a=UK(s);return a&&h.columns.push(new Y_(e.name,j_.create(new X_(a)))),t});const p=eX([o,u],e,i),g=new X_(BK.INSTANCE),m=new X_(h);return g.typeArguments=[j_.create(m)],p.genericType=j_.create(g),p})(e,t,n,i,r)}const s=t.length;br(3===s||2===s,"Can't build project() expression: project() expects 2 arguments");let o=[];const a=t[0].accept_ValueSpecificationVisitor(new ZK(i,r,n));ur(a.genericType,"Can't build project() expression: preceding expression return type is missing");const l=t[1];l instanceof ST?o=l.parameters:(gr(l,RT,"Can't build project() expression: project() expects argument #1 to be a collection"),o=l.values.filter(pr(ST)).map(e=>e.parameters).flat());const c=new Set;o.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new TS(e.name,a.multiplicity);t.genericType=a.genericType,r.addInferredVariables(e.name,t)}});const u=new IS(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));let d=[];d=l instanceof ST?[l]:l.values,u.values=d.map(e=>{try{return Azi(e,n,i,r)}catch{return new xS(tI(e,i.extensions.plugins))}});const h=eX([a,u,t[2].accept_ValueSpecificationVisitor(new ZK(i,r,n))],e,i);return h.genericType=j_.create(new X_(i.resolveType(xvt.TDS_ROW).value)),h},Dzi=(e,t,n,i,r)=>e===Rvt.RELATION_GROUP_BY||3===t.length?((e,t,n,i,r)=>{br(3===t.length,"Can't build relation groupBy() expression: groupBy() expects 2 arguments");const s=t[0].accept_ValueSpecificationVisitor(new ZK(i,r,n));ur(s.genericType,"Can't build relation groupBy() expression: preceding expression return type is missing");const o=mr(s,VS);if(o.functionName!==I_(Rvt.RELATION_PROJECT))throw new yi("Can't build relation groupBy() expression: preceding expression must be project() column expression");const a=t[1];gr(a,ZR,"Can't build relation groupBy() expression: groupBy() expects argument #1 to be a ClassInstance");const l=mr(a.value,eA,"Can't build relation groupBy() expression: groupBy() expects argument #1 to hold col spec array instance value"),c=t[2];gr(c,ZR,"Can't build groupBy() expression: groupBy() expects argument #2 to be a ClassInstance");const u=mr(c.value,eA,"Can't build relation groupBy() expression: groupBy() expects argument #2 to hold col spec array instance value"),d=u.colSpecs.map(e=>[e.function1,e.function2]).flat().filter(cr).filter(pr(ST)).map(e=>e.parameters).flat();d.forEach(e=>{if(!e.genericType){const t=new TS(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const h=mr(o.genericType?.value.typeArguments?.[0]?.value.rawType,K_,"Can't build relation groupBy() expression: project() function does not return a relation"),p=new PS(A_.ONE),g=new MS;p.values=[g];const m=new K_(K_.ID);g.colSpecs=l.colSpecs.map(e=>{const t=new kS;t.name=e.name;const n=h.columns.find(t=>t.name===e.name);return n&&m.columns.push(n),t});const f=new PS(A_.ONE),v=new MS;f.values=[v],v.colSpecs=u.colSpecs.map(e=>{const t=new kS;t.name=e.name;const s=mr(e.function1,ST,"Can't build relation col spec() expression: expects function1 to be a lambda"),o=Azi(s,n,i,r);t.function1=o;const a=mr(e.function2,ST,"Can't build relation col spec() expression: expects function2 to be a lambda"),l=mr(a.accept_ValueSpecificationVisitor(new ZK(i,r,n)),zS,"Can't build relation col spec() expression: expected aggregation function to be a lambda");t.function2=l;const c=h.columns.find(t=>t.name===e.name)?.genericType;if(!c)throw new yi(`Unable to find projected column with name ${e.name}`);return m.columns.push(new Y_(e.name,c)),t});const y=eX([s,p,f],e,i),b=new X_(BK.INSTANCE),_=new X_(m);return b.typeArguments=[j_.create(_)],y.genericType=j_.create(b),y})(e,t,n,i,r):((e,t,n,i,r)=>{let s=[];br(4===t.length,"Can't build groupBy() expression: groupBy() expects 3 arguments");const o=t[0].accept_ValueSpecificationVisitor(new ZK(i,r,n));ur(o.genericType,"Can't build groupBy() expression: preceding expression return type is missing");const a=t[1];gr(a,RT,"Can't build groupBy() expression: groupBy() expects argument #1 to be a collection"),s=a.values.filter(pr(ST)).map(e=>e.parameters).flat();const l=t[2];gr(l,RT,"Can't build groupBy() expression: groupBy() expects argument #2 to be a collection"),s=s.concat(l.values.filter(e=>e instanceof AT&&k_(e.function,Rvt.TDS_AGG)).map(e=>e.parameters).flat().filter(pr(ST)).map(e=>e.parameters).flat());const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new TS(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const u=new IS(i.graph.getMultiplicity(a.multiplicity.lowerBound,a.multiplicity.upperBound));u.values=a.values.map(e=>{try{return Azi(e,n,i,r)}catch{return new xS(tI(e,i.extensions.plugins))}});const d=new IS(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));d.values=l.values.map(e=>Rzi(e,n,i,r));const h=eX([o,u,d,t[3].accept_ValueSpecificationVisitor(new ZK(i,r,n))],e,i);return h.genericType=j_.create(new X_(i.resolveType(xvt.TDS_ROW).value)),h})(e,t,n,i,r);class Ozi extends fie{constructor(){super(Tzi.pureProtocolProcessorPlugin,xzi)}V1_getExtraFunctionExpressionBuilders(){return[(e,t,n,i,r)=>{if(k_(e,Avt.GET_ALL))return((e,t,n,i,r)=>{const s=tX(e,t,n,i,r),o=s.parametersValues[0];return gr(o,AS,"Can't build getAll() expression: only support getAll() immediately following a class"),s.genericType=o.genericType,s.multiplicity=o.multiplicity,s})(e,t,n,i,r);if(k_(e,Avt.GET_ALL_VERSIONS_IN_RANGE))return((e,t,n,i,r)=>{const s=tX(e,t,n,i,r),o=s.parametersValues[0];return gr(o,AS,"Can't build getAllVersionsInRange() expression: only support getAllVersionsInRange() immediately following a class"),br(3===s.parametersValues.length,"Can't build getAllVersionsInRange() expression: only support getAllVersionsRange() with start and end date"),s.genericType=o.genericType,s.multiplicity=o.multiplicity,s})(e,t,n,i,r);if(k_(e,Avt.GET_ALL_VERSIONS))return((e,t,n,i,r)=>{const s=tX(e,t,n,i,r),o=s.parametersValues[0];return gr(o,AS,"Can't build getAllVersions() expression: only support getAllVersions() immediately following a class"),br(1===s.parametersValues.length,"Can't build getAllVersions() expression: only support getAllVersions() with no paremters"),s.genericType=o.genericType,s.multiplicity=o.multiplicity,s})(e,t,n,i,r);if(k_(e,[Rvt.FILTER,Rvt.TDS_FILTER]))return((e,t,n,i,r)=>{br(2===t.length,"Can't build filter() expression: filter() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new ZK(i,r,n));if(s.genericType){const e=t[1];e instanceof ST&&e.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new TS(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}})}const o=eX([s,t[1].accept_ValueSpecificationVisitor(new ZK(i,r,n))],e,i);return o.genericType=s.genericType,o.multiplicity=s.multiplicity,o})(e,t,n,i,r);if(k_(e,Rvt.EXISTS))return((e,t,n,i,r)=>{br(2===t.length,"Can't build exists() expression: exists() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new ZK(i,r,n));s.genericType=mr(s,US).func.value.genericType;const o=t[1];return o instanceof ST&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new TS(e.name,A_.ONE);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}}),eX([s,t[1].accept_ValueSpecificationVisitor(new ZK(i,r,n))],e,i)})(e,t,n,i,r);if(k_(e,Rvt.WATERMARK))return((e,t,n,i,r)=>{br(2===t.length,"Can't build forWatermark() expression: forWatermark() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new ZK(i,r,n));ur(s.genericType,"Can't build forWatermark() expression: preceding expression return type is missing");const o=t[1];o instanceof ST&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new TS(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const a=dr(t[1].accept_ValueSpecificationVisitor(new ZK(i,r,n))),l=a.genericType?.value.rawType;br(V_.STRING===l,"Can't build forWatermark() expression: parameter is expected to be a string");const c=eX([s,a],e,i);return c.genericType=s.genericType,c.multiplicity=s.multiplicity,c})(e,t,n,i,r);if(k_(e,[Rvt.TDS_PROJECT,Rvt.RELATION_PROJECT]))return Izi(e,t,n,i,r);if(k_(e,[Rvt.TDS_GROUP_BY,Rvt.RELATION_GROUP_BY]))return Dzi(e,t,n,i,r);if(k_(e,Rvt.OLAP_GROUPBY))return((e,t,n,i,r)=>{const s=[];br(5===t.length||4===t.length,"Can't build olapGroupBy() expression: olapGroupBy() expects 4 or 5 arguments");let o=0;const a=5===t.length,l=t[o].accept_ValueSpecificationVisitor(new ZK(i,r,n));ur(l.genericType,"Can't build olapGroupBy() expression: preceding expression return type is missing"),s.push(l),o++;const c=t[o].accept_ValueSpecificationVisitor(new ZK(i,r,n));if(s.push(c),o++,a){const e=t[o].accept_ValueSpecificationVisitor(new ZK(i,r,n));s.push(e),o++}const u=t[o];let d;d=u instanceof AT?mr(u.parameters[1],ST,`Can't build olapGroupBy() expression: olap operation function expects argument ${o+1} to be a lambda`):mr(u,ST,`Can't build olapGroupBy() expression: olapGroupBy() expects argument ${o+1} to be a lambda`);const h=d.parameters,p=new Set;h.forEach(e=>{if(!p.has(e.name)&&!e.genericType){const t=new TS(e.name,l.multiplicity);t.genericType=l.genericType,r.addInferredVariables(e.name,t)}});const g=u.accept_ValueSpecificationVisitor(new ZK(i,r,n));s.push(g),o++;const m=t[o].accept_ValueSpecificationVisitor(new ZK(i,r,n));s.push(m),o++;const f=eX(s,e,i);return f.genericType=j_.create(new X_(i.resolveType(xvt.TDS_ROW).value)),f})(e,t,n,i,r);if(k_(e,[Rvt.TODAY,Rvt.FIRST_DAY_OF_QUARTER])){const s=tX(e,t,n,i,r);return s.genericType=j_.create(new X_(V_.STRICTDATE)),s}if(k_(e,Rvt.NOW)){const s=tX(e,t,n,i,r);return s.genericType=j_.create(new X_(V_.DATETIME)),s}if(k_(e,[Rvt.FIRST_DAY_OF_THIS_YEAR,Rvt.FIRST_DAY_OF_YEAR,Rvt.FIRST_DAY_OF_THIS_MONTH,Rvt.FIRST_DAY_OF_MONTH,Rvt.FIRST_DAY_OF_WEEK,Rvt.PREVIOUS_DAY_OF_WEEK,Rvt.ADJUST])){const s=tX(e,t,n,i,r);return s.genericType=j_.create(new X_(V_.DATE)),s}return k_(e,Rvt.RELATION_EXTEND)?((e,t,n,i,r)=>{if(3===t.length){const s=dr(t[0],"Can't build relation extend() expression: preceding expression is missing").accept_ValueSpecificationVisitor(new ZK(i,r,n));ur(s.genericType,"Can't build relation extend() expression: preceding expression return type is missing");const o=dr(t[1],"Can't build relation extend() expression: over() expression is missing").accept_ValueSpecificationVisitor(new ZK(i,r,n)),a=dr(t[2],"Can't build relation extend() expression: window operator is missing");gr(a,ZR,"Can't build relation extend() expression: extend() expects argument #3 to be a ClassInstance");const l=a.value,c=l.colSpecs.flatMap(e=>[e.function1,e.function2]).filter(cr).flatMap(e=>e.parameters);c.forEach(e=>{if(!e.genericType){const t=new TS(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const u=new PS(A_.ONE),d=new MS;u.values=[d];const h=s.genericType.value.typeArguments?.[0]?.value.rawType,p=new K_(K_.ID);h instanceof K_&&h.columns.forEach(e=>{p.columns.push(e)}),d.colSpecs=l.colSpecs.map(e=>{const t=new kS;if(t.name=e.name,e.function1){const s=mr(e.function1,ST,"Can't build relation extend() col spec expression: expects function1 to be a lambda"),o=mr(s.accept_ValueSpecificationVisitor(new ZK(i,r,n)),zS,"Can't build relation extend() col spec expression: expected function1 to be a lambda");t.function1=o}if(e.function2){const s=mr(e.function2,ST,"Can't build relation extend() col spec expression: expects function2 to be a lambda"),o=mr(s.accept_ValueSpecificationVisitor(new ZK(i,r,n)),zS,"Can't build relation extend() col spec expression: expected aggregation function to be a lambda");t.function2=o}let s;return t.function2?s=UK(t.function2):t.function1&&(s=UK(t.function1)),s&&p.columns.push(new Y_(e.name,j_.create(new X_(s)))),t});const g=eX([s,o,u],e,i),m=new X_(BK.INSTANCE),f=new X_(p);return m.typeArguments=[j_.create(f)],g.genericType=j_.create(m),g}throw new yi("Can't build relation extend() expression: extend() on non window functions is not yet supported")})(e,t,n,i,r):k_(e,Rvt.RELATION_OVER)?((e,t,n,i,r)=>{br(t.length>=1&&t.length<=2,`Can't build over() expression: over() expects 1-2 arguments, got ${t.length}`);const s=t[0];gr(s,ZR,"Can't build over() expression with ColSpecArray: expects argument #1 to be a ClassInstance");const o=mr(s.value,eA,"Can't build over() expression with ColSpecArray: expects ClassInstance to hold ColSpecArray"),a=new PS(A_.ONE),l=new MS;a.values=[l],l.colSpecs=o.colSpecs.map(e=>{const t=new kS;return t.name=e.name,t.type=e.type,t});const c=[a];if(t[1]){const e=t[1].accept_ValueSpecificationVisitor(new ZK(i,r,n));c.push(e)}return eX(c,e,i)})(e,t,n,i,r):k_(e,Object.values(Rvt))||k_(e,Object.values(Tvt))?tX(e,t,n,i,r):void 0}]}V1_getExtraPropertyExpressionTypeInferrers(){return[e=>{if(e instanceof VS&&k_(e.functionName,I_(Rvt.SUBTYPE)))return(e=>e.parametersValues.filter(e=>e instanceof AS)[0]?.genericType?.value.rawType)(e)}]}}class kzi{mapping;runtimes=[]}class Lzi{service;executionKeys}class Mzi extends Cx{}class Pzi extends Mzi{constructor(e){super(e),this.graphManager=mr(e,m7)}getSupportedProtocolVersion(){return HH.V1_0_0}async buildGraphForCreateQuerySetup(e,t,n){try{const i=await this.graphManager.indexLightGraph(e,t,n,e=>e.content._type===dG||e.content._type===VR),r=[...e.ownMappings,...e.dependencyManager.mappings],s=i.map(e=>e.data.elements.filter(pr(rD))).flat(),o=new lX(e,e,this.graphManager.graphBuilderExtensions,this.graphManager.logService).build();s.forEach(e=>{const t=r.find(t=>t.path===e.path);t&&(t.includes=e.includedMappings.map(e=>{if(e instanceof AF)return new B$(t,o.resolveMapping(yr(e.includedMapping,"Mapping include path is missing or empty")))}).filter(cr))});const a=[...e.ownRuntimes,...e.dependencyManager.runtimes],l=i.map(e=>e.data.elements.filter(pr(uA))).flat();l.forEach(e=>{const t=a.find(t=>t.path===e.path);if(t){const n=new JW;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>o.resolveMapping(e.path))}})}catch(e){throw bi(e),e instanceof WH?e:new WH(e)}}async surveyMappingRuntimeCompatibility(e,t){const n=[],i=await this.graphManager.createBasicGraph({initializeSystem:!1}),r=await this.graphManager.indexLightGraph(i,e,t,e=>[exports.CORE_PURE_PATH.MAPPING,exports.CORE_PURE_PATH.RUNTIME].includes(e.classifierPath),e=>(e.classifierPath===exports.CORE_PURE_PATH.MAPPING?e.content={_type:e.content._type,name:e.content.name,package:e.content.package,includes:e.content.includes}:e.classifierPath===exports.CORE_PURE_PATH.RUNTIME&&(e.content={_type:e.content._type,name:e.content.name,package:e.content.package,runtimeValue:{mappings:e.content.runtimeValue?.mappings}}),e)),s=new lX(i,i,this.graphManager.graphBuilderExtensions,this.graphManager.logService).build();return r.map(e=>e.data.elements.filter(pr(rD))).flat().forEach(e=>{const t=i.getNullableMapping(e.path);t&&(t.includes=e.includedMappings.map(e=>{if(e instanceof AF)return new B$(t,s.resolveMapping(yr(e.includedMapping,"Mapping include path is missing or empty")))}).filter(cr))}),r.map(e=>e.data.elements.filter(pr(uA))).flat().forEach(e=>{const t=i.getNullableRuntime(e.path);if(t){const n=new JW;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>s.resolveMapping(e.path))}}),i.mappings.forEach(e=>{const t=new kzi;t.mapping=e,t.runtimes=i.runtimes.filter(t=>t.runtimeValue.mappings.map(e=>[e.value,...FY(e.value)]).flat().includes(e)),n.push(t)}),n}async surveyServiceExecution(e,t){const n=[],i=await this.graphManager.createBasicGraph({initializeSystem:!1});return(await this.graphManager.indexLightGraph(i,e,t,e=>e.classifierPath===exports.CORE_PURE_PATH.SERVICE,e=>(e.classifierPath===exports.CORE_PURE_PATH.SERVICE&&(e.content={_type:e.content._type,name:e.content.name,package:e.content.package,execution:e.content.execution}),e))).map(e=>e.data.elements.filter(pr(ek))).flat().forEach(e=>{const t=i.getNullableService(e.path);if(t){const i=new Lzi;i.service=t,e.execution instanceof JO&&(i.executionKeys=e.execution.executionParameters?.map(e=>e.key)),n.push(i)}}),n}}const Fzi=e=>new Pzi(e);class Bzi extends die{constructor(){super(Tzi.pureGraphManagerPlugin,xzi)}getExtraPureGraphManagerExtensionBuilders(){return[Fzi]}getExtraExposedSystemElementPath(){return[xvt.TDS_TABULAR_DATASET,xvt.TDS_ROW,xvt.TDS_COLUMN]}}class Vzi{TEMPORARY__enableExportToCube=!1;TEMPORARY__enableGridEnterpriseMode=!1;legendMCPServiceURL="";zipkinTraceBaseURL="";enableTypedTDS=!1;NonProductionFeatureFlag=!1;static serialization=new Yv(Iv(Vzi,{TEMPORARY__enableExportToCube:Wv(Dv()),TEMPORARY__enableGridEnterpriseMode:Wv(Dv()),legendMCPServiceURL:Wv(Dv()),zipkinTraceBaseURL:Wv(Dv()),enableTypedTDS:Wv(Dv()),NonProductionFeatureFlag:Wv(Dv())}))}const Uzi=e=>{let t=e;for(;t instanceof US;)for(t=dr(t.parametersValues[0]);t instanceof VS&&k_(t.functionName,Rvt.SUBTYPE);)t=dr(t.parametersValues[0]);return mr(t,TS)},Gzi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(k_(e.functionName,[Rvt.AND,Rvt.OR])){const r=new AUi(n,sUi(e.functionName));t.nodes.set(r.id,r),i&&(r.lambdaParameterName=mr(i,TUi).lambdaParameterName),e.parametersValues.forEach(e=>Gzi(mr(e,VS,"Can't process filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}else{if(!k_(e.functionName,[Rvt.EXISTS])){const n=e.parametersValues[0];if(n instanceof US){const e=n.parametersValues[0];e instanceof US&&iyt(e,t.queryBuilderState.graphManagerState.graph,t.queryBuilderState)}for(const n of t.operators){const r=_i(()=>n.buildFilterConditionState(t,e));if(r){let n;if(r.sourceState instanceof wUi){let t=e;for(;t instanceof VS&&!(t.parametersValues[0]instanceof BS&&t.parametersValues[0].parametersValues[0]instanceof TS);)t=t.parametersValues[0];const i=t instanceof VS?t.parametersValues[0]:t;n=mr(i instanceof BS?i.parametersValues[0]:void 0,TS,"Can't process filter expression: relation column filter must reference a variable").name}else n=Uzi(r.propertyExpressionState.propertyExpression).name;const s=i instanceof TUi&&i.lambdaParameterName?i.lambdaParameterName:t.lambdaParameterName;return br(s===n,`Can't process ${I_(r.operator.getLabel())}() expression: expects variable used in lambda body '${n}' to match lambda parameter '${s}'`),void t.addNodeFromNode(new IUi(void 0,r),i)}}throw new yi("Can't process filter() expression: no compatible filter operator processer available from plugins")}{const r=mr(e.parametersValues[0],US);if(void 0===r.func.value.multiplicity.upperBound||r.func.value.multiplicity.upperBound>1){const s=new RUi(t,n),o=mr(e.parametersValues[1],zS,"Can't process filter expression: only supports exists with second paramter as LambdaFunctionInstanceValue"),a=mr(o.values[0],HS),l=mr(a.expressionSequence[0],VS);s.setPropertyExpression(r),s.lambdaParameterName=a.functionType.parameters[0]?.name,t.nodes.set(s.id,s),Gzi(l,t,s.id),t.addNodeFromNode(s,i)}else{const i=[],r=[];let s=e;for(;k_(s.functionName,Rvt.EXISTS);){const e=dr(mr(s.parametersValues[1],zS).values[0],"Can't process exists() expression: exists() lambda is missing");if(br(1===e.expressionSequence.length,"Can't process exists() expression: exists() lambda body should hold an expression"),s=mr(e.expressionSequence[0],VS,"Can't process exists() expression: exists() lambda body should hold an expression"),br(1===e.functionType.parameters.length,"Can't process exists() expression: exists() lambda should have 1 parameter"),i.push(mr(e.functionType.parameters[0],TS,"Can't process exists() expression: exists() lambda should have 1 parameter").name),!(s.parametersValues[0]instanceof US)||void 0===s.parametersValues[0].func.value.multiplicity.upperBound||s.parametersValues[0].func.value.multiplicity.upperBound>1)break;r.push(s.parametersValues[0])}const o=mr(e.parametersValues[0],US);let a=new US("");a.func=o.func,a.parametersValues=[...o.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof US||n instanceof VS&&k_(n.functionName,Rvt.SUBTYPE);){if(n instanceof VS){const e=new VS(I_(Rvt.SUBTYPE));e.parametersValues.unshift(dr(n.parametersValues[1])),t.push(e)}else if(n instanceof US){const e=new US("");e.func=n.func,e.parametersValues=n.parametersValues.length>1?n.parametersValues.slice(1):[],t.push(e)}n=dr(n.parametersValues[0])}br(t.length>0,"Can't process exists() expression: exists() usage with non-chain property expression is not supported");for(let e=0;e<t.length-1;++e)t[e].parametersValues.unshift(t[e+1]);t[t.length-1].parametersValues.unshift(a),a=mr(t[0],US,"Can't process exists() expression: can't flatten to a property expression")}s.parametersValues=s.parametersValues.map(e=>{if(e instanceof VS&&e.parametersValues[0]instanceof US)e.parametersValues[0].parametersValues[0]=a;else if(e instanceof US)e.parametersValues[0]=dr(a.parametersValues[0]);else if(e instanceof TS)return a;return e}),Gzi(s,t,n)}}}},Hzi=(e,t)=>{const n=t.filterState,i=e.parametersValues[1];gr(i,zS,"Can't process filter() expression: filter() expects argument #1 to be a lambda function");const r=dr(i.values[0],"Can't process filter() lambda: filter() lambda function is missing");br(1===r.expressionSequence.length,"Can't process filter() lambda: only support filter() lambda body with 1 expression");const s=mr(r.expressionSequence[0],VS,"Can't process filter() lambda: only support filter() lambda body with 1 expression");br(1===r.functionType.parameters.length,"Can't process filter() lambda: only support filter() lambda with 1 parameter"),n.setLambdaParameterName(mr(r.functionType.parameters[0],TS,"Can't process filter() lambda: only support filter() lambda with 1 parameter").name),Gzi(s,n,void 0),n.simplifyTree()};class zzi{id;label;tree;parentId;isSelected;isOpen;childrenIds=[];constructor(e,t,n,i){hd(this,{hashCode:Oc}),this.id=e,this.label=t,this.parentId=n,this.tree=i,this.isOpen=!0}get type(){if(this.tree instanceof qS)return this.tree.property.value.genericType.value.rawType;if(this.tree instanceof $S)return this.tree.class.value;throw new yi("Can't get type of Graph Fetch Tree",this.tree)}get hashCode(){return fv([ayt.GRAPH_FETCH_TREE_NODE_DATA,this.id,this.label,this.tree,this.parentId??"",fv(this.childrenIds)])}}const jzi=(e,t,n)=>`${t?`${t}.`:""}${e.name}${n?`${Wb}${n.path}`:""}`,Wzi=(e,t,n)=>{gr(e,qS,"Graph fetch sub-tree must be a property graph fetch tree");const i=e.property.value,r=e.subType?.value,s=t?.id,o=new zzi(jzi(i,s,r),i.name,s,e);return e.subTrees.forEach(e=>{const t=Wzi(e,o,n);jr(o.childrenIds,t.id),n.set(t.id,t)}),o},$zi=(e,t,n)=>{const i=t?.id,r=new zzi((s=e.class.valueForSerialization??"")?`${Wb}${s}`:"",e.class.value.name,i,e);var s;return e.subTrees.forEach(e=>{const t=Wzi(e,r,n);jr(r.childrenIds,t.id),n.set(t.id,t)}),r},qzi=(e,t=!1)=>{const n=[],i=new Map;if(t){const t=$zi(e,void 0,i);jr(n,t.id),i.set(t.id,t)}else e.subTrees.forEach(e=>{const t=Wzi(e,void 0,i);jr(n,t.id),i.set(t.id,t)});return{rootIds:n,nodes:i,tree:e}},Yzi=e=>0===e.tree.subTrees.length,Kzi=e=>Array.from(e.nodes.values()).filter(t=>t.tree instanceof qS&&t.type instanceof Z_&&0===t.childrenIds.length||t.tree instanceof qS&&!(t.type instanceof Z_)&&t.parentId&&!e.nodes.has(t.parentId)),Xzi=(e,t)=>{const n=t.parentId?e.nodes.get(t.parentId):void 0;n?($r(n.childrenIds,t.id),$vt(n.tree,t.tree)):($r(e.rootIds,t.id),$vt(e.tree,t.tree)),e.nodes.delete(t.id)},Zzi=(e,t)=>{Xzi(e,t),(e=>{let t=Kzi(e);for(;t.length;)t.forEach(t=>{Xzi(e,t)}),t=Kzi(e)})(e)},Qzi=(e,t,n,i)=>{const r=[new qS(fC.create(n.property),void 0)];let s,o,a,l=t.nodes.get(n.parentId);for(;l instanceof pzi||l instanceof gzi;){let e,n=!1;for(;l instanceof gzi;)n||(e=C_.create(l.subclass),n=!0),l=t.nodes.get(l.parentId);if(l instanceof pzi&&l.mappingData.entityMappedProperty?.subType&&l.type instanceof Z_&&(e=C_.create(l.type)),!(l instanceof pzi))return void i.applicationStore.notificationService.notifyError("Can't cast the root class of graph fetch structure to its subtype");{const n=new qS(fC.create(l.property),e);n.subTrees.push(r[0]),r.unshift(n),l=t.nodes.get(l.parentId)}}for(const t of r){s=jzi(t.property.value,s,t.subType?.value);const n=e.nodes.get(s);if(!n){a=t;break}o=n}if(a){const t=Wzi(a,o,e.nodes);e.nodes.set(t.id,t),o?(jr(o.childrenIds,t.id),Wvt(o.tree,t.tree,i.observerContext)):(jr(e.rootIds,t.id),Wvt(e.tree,t.tree,i.observerContext))}},Jzi=(e,t,n)=>{const i=e.queryBuilderState,r=dr(t.expressionSequence[0],"Can't build graph-fetch tree expression: preceding expression is not defined"),s=e.serializationState;if(s instanceof sji){if(e.treeData&&!Yzi(e.treeData)){const n=s.config?((e,t)=>{const n=t.getClass(xvt.SERIALIZE_CONFIG),i=new VS(I_(exports.SUPPORTED_FUNCTIONS.NEW)),r=new AS(A_.ONE,void 0);r.values[0]=C_.create(n);const s=new RS(j_.create(new X_(V_.STRING)));s.values=[""];const o=new IS(A_.ONE,void 0);return n.properties.forEach(t=>{const n=Object.getOwnPropertyNames(e).find(e=>e===t.name);if(n&&void 0!==e[n]){const i=new OS,r=new RS(j_.create(new X_(V_.STRING)));r.values=[n];const s=new RS(j_.create(new X_(t.genericType.value.rawType)));s.values=[e[n]];const a=new DS(r,s,!1);i.values=[a],o.values.push(i)}}),o.multiplicity=new A_(o.values.length,o.values.length),i.parametersValues=[r,s,o],i})(s.config,e.queryBuilderState.graphManagerState.graph):void 0,i=((e,t,n,i)=>{const r=new KS;r.values=[e];const s=new VS(I_(Rvt.SERIALIZE)),o=new VS(I_(t?Rvt.GRAPH_FETCH_CHECKED:Rvt.GRAPH_FETCH));return o.parametersValues=[n,r],s.parametersValues=[o,r],i&&s.parametersValues.push(i),s})(e.treeData.tree,e.isChecked,r,n);t.expressionSequence[0]=i}}else{if(!(s instanceof oji))throw new yi(`Unsupported serialization state ${s.getLabel()}`);{const n=new VS(I_(Rvt.EXTERNALIZE)),i=e.treeData,o=s.treeData;if(i&&o&&!Yzi(i)&&!Yzi(o)){const a=new KS;a.values=[i.tree];const l=new VS(e.isChecked?I_(Rvt.GRAPH_FETCH_CHECKED):I_(Rvt.GRAPH_FETCH));l.parametersValues=[r,a];const c=new AS(A_.ONE,void 0);c.values=[C_.create(s.targetBinding)];const u=new KS;u.values=[o.tree],n.parametersValues=[l,c,u],t.expressionSequence[0]=n}}}n?.isBuildingExecutionQuery&&((e,t)=>{if(!t)return e;if(1===e.expressionSequence.length){const n=e.expressionSequence[0];if(n instanceof VS&&k_(n.functionName,Rvt.SERIALIZE)){const i=new RS(j_.create(new X_(V_.INTEGER)));i.values=[t];const r=new VS(I_(Rvt.TAKE)),s=mr(n.parametersValues[0],VS),o=s.parametersValues[0];return r.parametersValues[0]=o,r.parametersValues[1]=i,s.parametersValues=[r,s.parametersValues[1]],e}}})(t,i.resultState.previewLimit)};var eji,tji;!function(e){e.PURE="PURE",e.EXTERNAL_FORMAT="EXTERNAL_FORMAT"}(eji||(eji={})),function(e){e.RESULT="RESULT"}(tji||(tji={}));const nji="@type";class iji{typeKeyName;dateTimeFormat;includeType;includeEnumType;removePropertiesWithNullValues;removePropertiesWithEmptySets;fullyQualifiedTypePath;includeObjectReference;constructor(){this.typeKeyName=nji,hd(this,{typeKeyName:Rc,includeType:Rc,includeEnumType:Rc,dateTimeFormat:Rc,removePropertiesWithNullValues:Rc,removePropertiesWithEmptySets:Rc,fullyQualifiedTypePath:Rc,includeObjectReference:Rc,setTypeName:Pu,setIncludeObjectReference:Pu,setDateTimeFormat:Pu,setIncludeType:Pu,setFullyQualifiedTypePath:Pu,setRemovePropertiesWithEmptySets:Pu,setInclueEnumType:Pu,setRemovePropertiesWithNullValues:Pu})}static createDefault(){const e=new iji;return e.typeKeyName=nji,e.includeType=!0,e.includeEnumType=!0,e.removePropertiesWithNullValues=!0,e.removePropertiesWithEmptySets=!1,e.fullyQualifiedTypePath=!0,e}setDateTimeFormat(e){this.dateTimeFormat=e}setTypeName(e){this.typeKeyName=e}setIncludeType(e){this.includeType=e}setInclueEnumType(e){this.includeEnumType=e}setRemovePropertiesWithNullValues(e){this.removePropertiesWithNullValues=e}setRemovePropertiesWithEmptySets(e){this.removePropertiesWithEmptySets=e}setFullyQualifiedTypePath(e){this.fullyQualifiedTypePath=e}setIncludeObjectReference(e){this.includeObjectReference=e}}class rji{queryBuilderGraphFetchTreeState;constructor(e){this.queryBuilderGraphFetchTreeState=e}}class sji extends rji{config;configModal=!1;constructor(e){super(e),hd(this,{config:Rc,configModal:Rc,setConfigModal:Pu})}setConfig(e){this.config=e}setConfigModal(e){this.configModal=e}getLabel(){return eji.PURE}get serializationContentType(){return exports.ContentType.APPLICATION_JSON}}class oji extends rji{targetBinding;treeData;constructor(e,t,n){super(e),hd(this,{targetBinding:Rc,treeData:Rc.ref,serializationContentType:Oc,setGraphFetchTree:Pu}),this.targetBinding=t,this.treeData=n}setBinding(e){this.targetBinding=e}setGraphFetchTree(e){this.treeData=e}addProperty(e,t){this.treeData?(Qzi(this.treeData,this.queryBuilderGraphFetchTreeState.queryBuilderState.explorerState.nonNullableTreeData,e,this.queryBuilderGraphFetchTreeState.queryBuilderState),t?.refreshTreeData&&this.setGraphFetchTree({...this.treeData})):this.queryBuilderGraphFetchTreeState.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't add property: graph-fetch tree has not been properly initialized")}getLabel(){return eji.EXTERNAL_FORMAT}get serializationContentType(){const e=this.targetBinding.contentType;return Object.values(exports.ContentType).includes(e)?e:"application/x.flatdata"===e?exports.ContentType.TEXT_CSV:exports.ContentType.TEXT_PLAIN}}class aji extends JVi{treeData;isChecked=!1;serializationState;constructor(e,t){super(e,t),hd(this,{treeData:Rc.ref,isChecked:Rc,serializationState:Rc,TEMPORARY__showPostFetchStructurePanel:Oc,setGraphFetchTree:Pu,setSerializationState:Pu,setChecked:Pu,initialize:Pu,checkBeforeChangingImplementation:Pu}),this.updateTreeData(this.queryBuilderState.sourceClass),this.serializationState=new sji(this)}get type(){return QVi.GRAPH_FETCH}get fetchLabel(){return"Class Properties"}get canBeExportedToCube(){return!1}get usedExplorerTreePropertyNodeIDs(){if(!this.treeData)return[];const e=new Map,t=[],n=this.treeData.rootIds.slice();for(;n.length;){const i=dr(n[0]),r=this.treeData.nodes.get(i);if(!r)continue;let s;const o=r.parentId?dr(e.get(r.parentId)):"";let a="";r.tree instanceof $S?a=`root.${r.tree.class.valueForSerialization??""}`:r.tree instanceof qS&&(a=r.tree.property.value.name);const l=czi(o,a);t.push(l),r.tree instanceof qS&&r.tree.subType?(s=uzi(l,r.tree.subType.value.path),gE(r.tree.subType.value).concat(r.tree.subType.value).forEach(e=>t.push(uzi(l,e.path)))):s=l,e.set(r.id,s),n.shift(),r.childrenIds.forEach(e=>n.push(e))}return Array.from(new Set(t).values())}get fetchStructureValidationIssues(){return[]}get allValidationIssues(){return[]}initialize(){this.queryBuilderState.filterState.setShowPanel(!0)}setSerializationState(e){this.serializationState=e}setGraphFetchTree(e){this.treeData=e}setChecked(e){this.isChecked=e}updateTreeData(e){this.setGraphFetchTree(e?qzi(new $S(C_.create(e))):void 0)}get exportDataFormatOptions(){return[tji.RESULT]}getExportDataInfo(e){if(e===tji.RESULT)return{contentType:this.serializationState.serializationContentType};throw new yi(`Unsupported Graph Fetch export type ${e}`)}initializeWithQuery(){}onClassChange(){this.updateTreeData(this.queryBuilderState.sourceClass)}appendFetchStructure(e,t){Jzi(this,e,t)}addProperty(e,t){this.treeData?(Qzi(this.treeData,this.queryBuilderState.explorerState.nonNullableTreeData,e,this.queryBuilderState),t?.refreshTreeData&&this.setGraphFetchTree({...this.treeData})):this.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't add property: graph-fetch tree has not been properly initialized")}revealCompilationError(e){return!1}clearCompilationError(){}fetchProperty(e){this.addProperty(e,{refreshTreeData:!0}),this.serializationState instanceof oji&&this.serializationState.addProperty(fn(e),{refreshTreeData:!0})}fetchProperties(e){this.treeData?(e.forEach(e=>this.addProperty(e)),this.setGraphFetchTree({...this.treeData})):this.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't add property: graph-fetch tree has not been properly initialized")}checkBeforeChangingImplementation(e){this.treeData?.rootIds.length?this.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:"Current graph-fetch will be lost when switching to projection mode. Do you still want to proceed?",type:nft.CAUTION,actions:[{label:"Proceed",type:ift.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:ift.PROCEED,default:!0}]}):e()}isVariableUsed(e){return Boolean(Array.from(this.treeData?.nodes.values()??[]).find(t=>{if(t.tree instanceof qS)return t.tree.parameters.find(t=>syt(e,t))}))}get hasInvalidFilterValues(){return!1}get hasInvalidDerivedPropertyParameters(){return!1}get hashCode(){return fv([ayt.GRAPH_FETCH_STATE,this.isChecked.toString(),this.treeData?.tree??""])}}const lji=(e,t)=>()=>{t.implementation.type!==e&&(yvt.logEvent_ToggleFetchStructure(t.queryBuilderState.applicationStore.telemetryService),t.implementation.checkBeforeChangingImplementation(()=>{t.changeImplementation(e)}))};class cji{queryBuilderState;implementation;constructor(e){hd(this,{implementation:Rc,changeImplementation:Pu,initializeWithQuery:Pu}),this.queryBuilderState=e,this.implementation=new hHi(this.queryBuilderState,this)}changeImplementation(e){switch(e){case QVi.TABULAR_DATA_STRUCTURE:this.implementation=new hHi(this.queryBuilderState,this);break;case QVi.GRAPH_FETCH:this.queryBuilderState.setIsCalendarEnabled(!1),this.implementation=new aji(this.queryBuilderState,this);break;default:throw new yi(`Can't change fetch-structure implementation to unsupported type: '${e}'`)}this.implementation.initialize()}initializeWithQuery(){this.implementation.initializeWithQuery()}fetchProperty(e){e instanceof pzi&&!(e.type instanceof Z_)&&this.implementation.fetchProperty(e)}fetchNodeChildrenProperties(e){e.type instanceof Z_&&this.implementation.fetchProperties(e.childrenIds.map(e=>this.queryBuilderState.explorerState.nonNullableTreeData.nodes.get(e)).filter(pr(pzi)).filter(e=>!(e.type instanceof Z_)&&e.mappingData.mapped))}}class uji{lambda;constructor(e){this.lambda=e,hd(this,{lambda:Rc,setLambda:Pu})}setLambda(e){this.lambda=e}}var dji;!function(e){e.TEXT="TEXT",e.JSON="JSON"}(dji||(dji={}));class hji extends RVi{queryBuilderState;rawLambdaState;isConvertingLambdaToString=!1;mode;closingQueryState=Py.create();readOnlylambdaJson="";isReadOnly;constructor(e){super("",""),hd(this,{rawLambdaState:Rc,isConvertingLambdaToString:Rc,mode:Rc,isReadOnly:Rc,setQueryRawLambdaState:Pu,setIsReadOnly:Pu,setMode:Pu,openModal:Pu,closeModal:Ju}),this.queryBuilderState=e,this.rawLambdaState=new uji(yW())}get lambdaId(){return Eie(["query-builder"])}get text(){return this.mode===dji.TEXT?this.fullLambdaString:this.mode===dji.JSON?this.readOnlylambdaJson:void 0}setQueryRawLambdaState(e){this.rawLambdaState=e}setIsReadOnly(e){this.isReadOnly=e}setMode(e){this.mode=e}setLambdaJson(e){this.readOnlylambdaJson=e}*convertLambdaGrammarStringToObject(){const e=yW();if(this.lambdaString)try{const e=yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToLambda(this.fullLambdaString,this.lambdaId,{pruneSourceInformation:!1});this.setParserError(void 0),this.rawLambdaState.setLambda(e)}catch(e){bi(e),e instanceof pJ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.PARSING_FAILURE),e)}else this.clearErrors(),this.rawLambdaState.setLambda(e)}*convertLambdaObjectToGrammarString(e){if(this.rawLambdaState.lambda.body){this.isConvertingLambdaToString=!0;try{const t=new Map;t.set(this.lambdaId,new SS(this.rawLambdaState.lambda.parameters,this.rawLambdaState.lambda.body));const n=(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(t,e.pretty)).get(this.lambdaId);this.setLambdaString(void 0!==n?this.extractLambdaString(n):""),this.clearErrors(),this.isConvertingLambdaToString=!1}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.PARSING_FAILURE),e),this.isConvertingLambdaToString=!1}}else this.clearErrors(),this.setLambdaString("")}openModal(e,t){try{const n=this.queryBuilderState.buildQuery();e===dji.TEXT&&this.setQueryRawLambdaState(new uji(n)),e===dji.JSON&&this.setLambdaJson(JSON.stringify(B_(this.queryBuilderState.graphManagerState.graphManager.serializeRawValueSpecification(n)),null,2)),this.setMode(e),this.setIsReadOnly(t)}catch(e){bi(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}}*closeModal(){if(this.closingQueryState.inProgress(),this.mode===dji.TEXT&&!this.isReadOnly)return yield this.convertLambdaGrammarStringToObject(),void(this.parserError?this.queryBuilderState.applicationStore.notificationService.notifyError(`Can't parse query. Please fix error before closing: ${this.parserError.message}`):(this.queryBuilderState.rebuildWithQuery(this.rawLambdaState.lambda,{preserveParameterValues:!0,preserveResult:!0}),this.setMode(void 0)));this.setIsReadOnly(void 0),this.closingQueryState.complete(),this.setMode(void 0)}}const pji=ule(e=>{const{resultType:t}=e;let n="";return t.type instanceof S_&&(n=t.type.input??""),""===n?vse.jsx(vse.Fragment,{}):vse.jsxs("div",{className:"query-builder__result__container",children:[vse.jsx(TVe,{className:"query-builder__result__container__item__data-type",children:vse.jsxs(vse.Fragment,{children:[vse.jsx("div",{className:"query-builder__result__container__item__data-type__type",children:"Result type:"}),vse.jsx("div",{className:"query-builder__result__container__item__data-type__value",children:n})]})}),vse.jsx(RVe,{})]})}),gji=ule(e=>{const{resultType:t}=e;return vse.jsxs("div",{className:"query-builder__result__container",children:[vse.jsx(TVe,{className:"query-builder__result__container__item__tds",children:"Result type: TDS"}),vse.jsx(RVe,{}),vse.jsxs("table",{className:"query-builder__result__container__table table",children:[vse.jsx("thead",{children:vse.jsxs("tr",{children:[vse.jsx("th",{className:"table__cell--left",children:"Label"}),vse.jsx("th",{className:"table__cell--left",children:"Result DataType"})]})}),vse.jsx("tbody",{children:t.tdsColumns.map(e=>vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:e.name}),vse.jsx("td",{className:"table__cell--left",children:e.type instanceof S_&&(e.type.input??"")})]},e.name))})]}),vse.jsx(RVe,{})]})}),mji=ule(e=>{const{resultType:t}=e;return vse.jsxs("div",{className:"query-builder__result__container",children:[vse.jsxs(TVe,{className:"query-builder__result__container__item__partial-class",children:["Result type: PartialClass[",t.type.valueForSerialization??"","]"]}),vse.jsx(RVe,{}),vse.jsxs("table",{className:"query-builder__result__container__table--partial-class table",children:[vse.jsx("thead",{children:vse.jsxs("tr",{children:[vse.jsx("th",{className:"table__cell--left",children:"Property"}),vse.jsx("th",{className:"table__cell--left",children:"Parameters"})]})}),vse.jsx("tbody",{children:t.propertiesWithParameters.map(e=>vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:e.property}),vse.jsx("td",{className:"table__cell--left",children:e.parameters.toString()})]},e.property))})]}),vse.jsx(RVe,{})]})}),fji=ule(e=>{const{resultType:t}=e;return t instanceof t4?vse.jsx(pji,{resultType:t}):t instanceof n4?vse.jsx(gji,{resultType:t}):t instanceof M4?vse.jsx(mji,{resultType:t}):null}),vji=e=>{e.dispose(),e.getModel()?.dispose()},yji=e=>{const{inputValue:t,updateInput:i,lightTheme:r,language:s,isReadOnly:o,hideMinimap:a,hideGutter:l,hidePadding:c,hideActionBar:u,lineToScroll:d,extraEditorOptions:h,error:p}=e,g=Cmt(),[m,f]=n.useState(),[v,y]=n.useState(!1),b=n.useRef(void 0),_=$Ln(t),C=n.useRef(null);if(n.useEffect(()=>{if(!m&&C.current){const e=C.current,t=Yhn.create(e,{contextmenu:!1,copyWithSyntaxHighlighting:!1,fontSize:14,fontFamily:"Roboto Mono",fontLigatures:!0,fixedOverflowWidgets:!0,detectIndentation:!1,tabSize:2,"bracketPairColorization.enabled":!1,automaticLayout:!0,theme:g.layoutService.TEMPORARY__isLightColorThemeEnabled?r??OLn.BUILT_IN__VSCODE_LIGHT:OLn.DEFAULT_DARK,glyphMargin:!c,padding:c?{top:0,bottom:0}:{top:20,bottom:20},formatOnType:!0,formatOnPaste:!0});f(t)}},[g,r,c,m]),n.useEffect(()=>{if(m){qLn(m);const e=m.getModel();e&&Yhn.setModelLanguage(e,s)}},[m,s]),n.useEffect(()=>{m&&void 0!==d&&m.revealLineInCenter(d)},[m,d]),m){b.current?.dispose(),b.current=m.onDidChangeModelContent(()=>{const e=HLn(m);e!==_&&i?.(e)});HLn(m)!==_&&m.setValue(_),m.updateOptions({readOnly:Boolean(o),minimap:{enabled:!a},...l?{glyphMargin:!c,folding:!1,lineNumbers:"off",lineDecorationsWidth:0}:{},...h??{}});const e=m.getModel();e?.updateOptions({tabSize:2}),e&&(p?.sourceInformation?jLn(e,[{message:p.message,startLineNumber:p.sourceInformation.startLine,startColumn:p.sourceInformation.startColumn,endLineNumber:p.sourceInformation.endLine,endColumn:p.sourceInformation.endColumn}]):WLn())}return n.useEffect(()=>()=>{m&&(vji(m),b.current?.dispose())},[m]),vse.jsxs("div",{className:"code-editor",children:[!u&&vse.jsx("div",{className:"code-editor__header",children:vse.jsx("button",{tabIndex:-1,className:gle("code-editor__header__action",{"code-editor__header__action--active":v}),onClick:()=>{const e=!v;y(e),m?.updateOptions({wordWrap:e?"on":"off"})},title:`[${v?"on":"off"}] Toggle word wrap`,children:vse.jsx(Qse,{})})}),vse.jsx("div",{className:gle("code-editor__content",{"code-editor__content--padding":!c,"code-editor__content--with__header":!u}),children:vse.jsx("div",{className:"code-editor__body",ref:C})})]})},bji=ule(e=>{const{from:t,to:i,language:r}=e,s=Cmt(),[o,a]=n.useState(),l=n.useRef(null),c=t??"",u=i??"";if(n.useEffect(()=>{if(!o&&l.current){const e=l.current,t=Yhn.createDiffEditor(e,{contextmenu:!1,copyWithSyntaxHighlighting:!1,fontSize:14,fontFamily:"Roboto Mono",fontLigatures:!0,fixedOverflowWidgets:!0,detectIndentation:!1,tabSize:2,"bracketPairColorization.enabled":!1,automaticLayout:!0,theme:s.layoutService.TEMPORARY__isLightColorThemeEnabled?OLn.BUILT_IN__VSCODE_LIGHT:OLn.DEFAULT_DARK,readOnly:!0});a(t)}},[s,o]),o){const e=Yhn.createModel(c,r),t=Yhn.createModel(u,r);o.setModel({original:e,modified:t})}return n.useEffect(()=>()=>{o&&(e=>{e.dispose(),e.getOriginalEditor().getModel()?.dispose(),e.getModifiedEditor().getModel()?.dispose()})(o)},[o]),vse.jsx("div",{className:"code-editor__container",children:vse.jsx("div",{className:"code-editor__body",ref:l})})}),_ji=(e,t)=>e?_r(e)?t?_f(e):((e,t=2)=>{try{return JSON.stringify(JSON.parse(e),void 0,t)}catch{return e}})(e):t?bf(e,void 0,2):JSON.stringify(e,void 0,2):"",Cji=ule(e=>{const{from:t,to:n,lossless:i}=e;return vse.jsx(bji,{language:YLn.JSON,from:_ji(t,Boolean(i)),to:_ji(n,Boolean(i))})});var Sji,wji={exports:{}},Eji=wji.exports;var xji=(Sji||(Sji=1,function(e){!function(t,n){e.exports?e.exports=n():t.nearley=n()}(Eji,function(){function e(t,n,i){return this.id=++e.highestId,this.name=t,this.symbols=n,this.postprocess=i,this}function t(e,t,n,i){this.rule=e,this.dot=t,this.reference=n,this.data=[],this.wantedBy=i,this.isComplete=this.dot===e.symbols.length}function n(e,t){this.grammar=e,this.index=t,this.states=[],this.wants={},this.scannable=[],this.completed={}}function i(e,t){this.rules=e,this.start=t||this.rules[0].name;var n=this.byName={};this.rules.forEach(function(e){n.hasOwnProperty(e.name)||(n[e.name]=[]),n[e.name].push(e)})}function r(){this.reset("")}function s(e,t,s){if(e instanceof i){var o=e;s=t}else o=i.fromCompiled(e,t);for(var a in this.grammar=o,this.options={keepHistory:!1,lexer:o.lexer||new r},s||{})this.options[a]=s[a];this.lexer=this.options.lexer,this.lexerState=void 0;var l=new n(o,0);this.table=[l],l.wants[o.start]=[],l.predict(o.start),l.process(),this.current=0}function o(e){var t=typeof e;if("string"===t)return e;if("object"===t){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return e.toString();if(e.type)return"%"+e.type;if(e.test)return"<"+String(e.test)+">";throw new Error("Unknown symbol type: "+e)}}return e.highestId=0,e.prototype.toString=function(e){var t=void 0===e?this.symbols.map(o).join(" "):this.symbols.slice(0,e).map(o).join(" ")+" ● "+this.symbols.slice(e).map(o).join(" ");return this.name+" → "+t},t.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},t.prototype.nextState=function(e){var n=new t(this.rule,this.dot+1,this.reference,this.wantedBy);return n.left=this,n.right=e,n.isComplete&&(n.data=n.build(),n.right=void 0),n},t.prototype.build=function(){var e=[],t=this;do{e.push(t.right.data),t=t.left}while(t.left);return e.reverse(),e},t.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))},n.prototype.process=function(e){for(var t=this.states,n=this.wants,i=this.completed,r=0;r<t.length;r++){var o=t[r];if(o.isComplete){if(o.finish(),o.data!==s.fail){for(var a=o.wantedBy,l=a.length;l--;){var c=a[l];this.complete(c,o)}if(o.reference===this.index){var u=o.rule.name;(this.completed[u]=this.completed[u]||[]).push(o)}}}else{if("string"!=typeof(u=o.rule.symbols[o.dot])){this.scannable.push(o);continue}if(n[u]){if(n[u].push(o),i.hasOwnProperty(u)){var d=i[u];for(l=0;l<d.length;l++){var h=d[l];this.complete(o,h)}}}else n[u]=[o],this.predict(u)}}},n.prototype.predict=function(e){for(var n=this.grammar.byName[e]||[],i=0;i<n.length;i++){var r=n[i],s=this.wants[e],o=new t(r,0,this.index,s);this.states.push(o)}},n.prototype.complete=function(e,t){var n=e.nextState(t);this.states.push(n)},i.fromCompiled=function(t,n){var r=t.Lexer;t.ParserStart&&(n=t.ParserStart,t=t.ParserRules),t=t.map(function(t){return new e(t.name,t.symbols,t.postprocess)});var s=new i(t,n);return s.lexer=r,s},r.prototype.reset=function(e,t){this.buffer=e,this.index=0,this.line=t?t.line:1,this.lastLineBreak=t?-t.col:0},r.prototype.next=function(){if(this.index<this.buffer.length){var e=this.buffer[this.index++];return"\n"===e&&(this.line+=1,this.lastLineBreak=this.index),{value:e}}},r.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},r.prototype.formatError=function(e,t){var n=this.buffer;if("string"==typeof n){var i=n.split("\n").slice(Math.max(0,this.line-5),this.line),r=n.indexOf("\n",this.index);-1===r&&(r=n.length);var s=this.index-this.lastLineBreak,o=String(this.line).length;return t+=" at line "+this.line+" col "+s+":\n\n",t+=i.map(function(e,t){return a(this.line-i.length+t+1,o)+" "+e},this).join("\n"),t+="\n"+a("",o+s)+"^\n"}return t+" at index "+(this.index-1);function a(e,t){var n=String(e);return Array(t-n.length+1).join(" ")+n}},s.fail={},s.prototype.feed=function(e){var t,i=this.lexer;for(i.reset(e,this.lexerState);;){try{if(!(t=i.next()))break}catch(e){var s=new n(this.grammar,this.current+1);throw this.table.push(s),(l=new Error(this.reportLexerError(e))).offset=this.current,l.token=e.token,l}var o=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var a=this.current+1;s=new n(this.grammar,a),this.table.push(s);for(var l,c=void 0!==t.text?t.text:t.value,u=i.constructor===r?t.value:t,d=o.scannable,h=d.length;h--;){var p=d[h],g=p.rule.symbols[p.dot];if(g.test?g.test(u):g.type?g.type===t.type:g.literal===c){var m=p.nextState({data:u,token:t,isToken:!0,reference:a-1});s.states.push(m)}}if(s.process(),0===s.states.length)throw(l=new Error(this.reportError(t))).offset=this.current,l.token=t,l;this.options.keepHistory&&(o.lexerState=i.save()),this.current++}return o&&(this.lexerState=i.save()),this.results=this.finish(),this},s.prototype.reportLexerError=function(e){var t,n,i=e.token;return i?(t="input "+JSON.stringify(i.text[0])+" (lexer error)",n=this.lexer.formatError(i,"Syntax error")):(t="input (lexer error)",n=e.message),this.reportErrorCommon(n,t)},s.prototype.reportError=function(e){var t=(e.type?e.type+" token: ":"")+JSON.stringify(void 0!==e.value?e.value:e),n=this.lexer.formatError(e,"Syntax error");return this.reportErrorCommon(n,t)},s.prototype.reportErrorCommon=function(e,t){var n=[];n.push(e);var i=this.table.length-2,r=this.table[i],s=r.states.filter(function(e){var t=e.rule.symbols[e.dot];return t&&"string"!=typeof t});if(0===s.length)n.push("Unexpected "+t+". I did not expect any more input. Here is the state of my parse table:\n"),this.displayStateStack(r.states,n);else{n.push("Unexpected "+t+". Instead, I was expecting to see one of the following:\n");var o=s.map(function(e){return this.buildFirstStateStack(e,[])||[e]},this);o.forEach(function(e){var t=e[0],i=t.rule.symbols[t.dot],r=this.getSymbolDisplay(i);n.push("A "+r+" based on:"),this.displayStateStack(e,n)},this)}return n.push(""),n.join("\n")},s.prototype.displayStateStack=function(e,t){for(var n,i=0,r=0;r<e.length;r++){var s=e[r],o=s.rule.toString(s.dot);o===n?i++:(i>0&&t.push(" ^ "+i+" more lines identical to this"),i=0,t.push(" "+o)),n=o}},s.prototype.getSymbolDisplay=function(e){return function(e){var t=typeof e;if("string"===t)return e;if("object"===t){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return"character matching "+e;if(e.type)return e.type+" token";if(e.test)return"token matching "+String(e.test);throw new Error("Unknown symbol type: "+e)}}(e)},s.prototype.buildFirstStateStack=function(e,t){if(-1!==t.indexOf(e))return null;if(0===e.wantedBy.length)return[e];var n=e.wantedBy[0],i=[e].concat(t),r=this.buildFirstStateStack(n,i);return null===r?null:[e].concat(r)},s.prototype.save=function(){var e=this.table[this.current];return e.lexerState=this.lexerState,e},s.prototype.restore=function(e){var t=e.index;this.current=t,this.table[t]=e,this.table.splice(t+1),this.lexerState=e.lexerState,this.results=this.finish()},s.prototype.rewind=function(e){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[e])},s.prototype.finish=function(){var e=[],t=this.grammar.start;return this.table[this.table.length-1].states.forEach(function(n){n.rule.name===t&&n.dot===n.rule.symbols.length&&0===n.reference&&n.data!==s.fail&&e.push(n)}),e.map(function(e){return e.data})},{Parser:s,Grammar:i,Rule:e}})}(wji)),wji.exports),Tji=Si(xji),Aji=Object.defineProperty,Rji=Object.defineProperties,Nji=Object.getOwnPropertyDescriptors,Iji=Object.getOwnPropertySymbols,Dji=Object.prototype.hasOwnProperty,Oji=Object.prototype.propertyIsEnumerable,kji=(e,t,n)=>t in e?Aji(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Lji=(e,t)=>{for(var n in t||(t={}))Dji.call(t,n)&&kji(e,n,t[n]);if(Iji)for(var n of Iji(t))Oji.call(t,n)&&kji(e,n,t[n]);return e},Mji=(e,t)=>Rji(e,Nji(t)),Pji={};((e,t)=>{for(var n in t)Aji(e,n,{get:t[n],enumerable:!0})})(Pji,{bigquery:()=>aWi,db2:()=>vWi,db2i:()=>xWi,hive:()=>kWi,mariadb:()=>HWi,mysql:()=>XWi,n1ql:()=>d$i,plsql:()=>b$i,postgresql:()=>A$i,redshift:()=>M$i,singlestoredb:()=>Nqi,snowflake:()=>Fqi,spark:()=>z$i,sql:()=>sqi,sqlite:()=>Z$i,tidb:()=>r$i,transactsql:()=>Cqi,trino:()=>pqi});var Fji=e=>e.flatMap(Bji),Bji=e=>$ji(Uji(e)).map(Vji),Vji=e=>e.replace(/ +/g," ").trim(),Uji=e=>({type:"mandatory_block",items:Gji(e,0)[0]}),Gji=(e,t,n)=>{const i=[];for(;e[t];){const[r,s]=Hji(e,t);if(i.push(r),"|"!==e[t=s]){if("}"===e[t]||"]"===e[t]){if(n!==e[t])throw new Error(`Unbalanced parenthesis in: ${e}`);return[i,++t]}if(t===e.length){if(n)throw new Error(`Unbalanced parenthesis in: ${e}`);return[i,t]}throw new Error(`Unexpected "${e[t]}"`)}t++}return[i,t]},Hji=(e,t)=>{const n=[];for(;;){const[i,r]=zji(e,t);if(!i)break;n.push(i),t=r}return 1===n.length?[n[0],t]:[{type:"concatenation",items:n},t]},zji=(e,t)=>{if("{"===e[t])return jji(e,t+1);if("["===e[t])return Wji(e,t+1);{let n="";for(;e[t]&&/[A-Za-z0-9_ ]/.test(e[t]);)n+=e[t],t++;return[n,t]}},jji=(e,t)=>{const[n,i]=Gji(e,t,"}");return[{type:"mandatory_block",items:n},i]},Wji=(e,t)=>{const[n,i]=Gji(e,t,"]");return[{type:"optional_block",items:n},i]},$ji=e=>{if("string"==typeof e)return[e];if("concatenation"===e.type)return e.items.map($ji).reduce(qji,[""]);if("mandatory_block"===e.type)return e.items.flatMap($ji);if("optional_block"===e.type)return["",...e.items.flatMap($ji)];throw new Error(`Unknown node type: ${e}`)},qji=(e,t)=>{const n=[];for(const i of e)for(const e of t)n.push(i+e);return n},Yji=(e=>(e.QUOTED_IDENTIFIER="QUOTED_IDENTIFIER",e.IDENTIFIER="IDENTIFIER",e.STRING="STRING",e.VARIABLE="VARIABLE",e.RESERVED_DATA_TYPE="RESERVED_DATA_TYPE",e.RESERVED_PARAMETERIZED_DATA_TYPE="RESERVED_PARAMETERIZED_DATA_TYPE",e.RESERVED_KEYWORD="RESERVED_KEYWORD",e.RESERVED_FUNCTION_NAME="RESERVED_FUNCTION_NAME",e.RESERVED_PHRASE="RESERVED_PHRASE",e.RESERVED_SET_OPERATION="RESERVED_SET_OPERATION",e.RESERVED_CLAUSE="RESERVED_CLAUSE",e.RESERVED_SELECT="RESERVED_SELECT",e.RESERVED_JOIN="RESERVED_JOIN",e.ARRAY_IDENTIFIER="ARRAY_IDENTIFIER",e.ARRAY_KEYWORD="ARRAY_KEYWORD",e.CASE="CASE",e.END="END",e.WHEN="WHEN",e.ELSE="ELSE",e.THEN="THEN",e.LIMIT="LIMIT",e.BETWEEN="BETWEEN",e.AND="AND",e.OR="OR",e.XOR="XOR",e.OPERATOR="OPERATOR",e.COMMA="COMMA",e.ASTERISK="ASTERISK",e.PROPERTY_ACCESS_OPERATOR="PROPERTY_ACCESS_OPERATOR",e.OPEN_PAREN="OPEN_PAREN",e.CLOSE_PAREN="CLOSE_PAREN",e.LINE_COMMENT="LINE_COMMENT",e.BLOCK_COMMENT="BLOCK_COMMENT",e.DISABLE_COMMENT="DISABLE_COMMENT",e.NUMBER="NUMBER",e.NAMED_PARAMETER="NAMED_PARAMETER",e.QUOTED_PARAMETER="QUOTED_PARAMETER",e.NUMBERED_PARAMETER="NUMBERED_PARAMETER",e.POSITIONAL_PARAMETER="POSITIONAL_PARAMETER",e.CUSTOM_PARAMETER="CUSTOM_PARAMETER",e.DELIMITER="DELIMITER",e.EOF="EOF",e))(Yji||{}),Kji=e=>({type:"EOF",raw:"«EOF»",text:"«EOF»",start:e}),Xji=Kji(1/0),Zji=e=>t=>t.type===e.type&&t.text===e.text,Qji={ARRAY:Zji({text:"ARRAY",type:"RESERVED_DATA_TYPE"}),BY:Zji({text:"BY",type:"RESERVED_KEYWORD"}),SET:Zji({text:"SET",type:"RESERVED_CLAUSE"}),STRUCT:Zji({text:"STRUCT",type:"RESERVED_DATA_TYPE"}),WINDOW:Zji({text:"WINDOW",type:"RESERVED_CLAUSE"}),VALUES:Zji({text:"VALUES",type:"RESERVED_CLAUSE"})},Jji=e=>"RESERVED_DATA_TYPE"===e||"RESERVED_KEYWORD"===e||"RESERVED_FUNCTION_NAME"===e||"RESERVED_PHRASE"===e||"RESERVED_CLAUSE"===e||"RESERVED_SELECT"===e||"RESERVED_SET_OPERATION"===e||"RESERVED_JOIN"===e||"ARRAY_KEYWORD"===e||"CASE"===e||"END"===e||"WHEN"===e||"ELSE"===e||"THEN"===e||"LIMIT"===e||"BETWEEN"===e||"AND"===e||"OR"===e||"XOR"===e,eWi=Fji(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),tWi=Fji(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","QUALIFY","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","OMIT RECORD IF","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY SOURCE | BY TARGET] [THEN]","UPDATE SET","CLUSTER BY","FOR SYSTEM_TIME AS OF","WITH CONNECTION","WITH PARTITION COLUMNS","REMOTE WITH CONNECTION"]),nWi=Fji(["CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]"]),iWi=Fji(["CREATE [OR REPLACE] [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE","DELETE [FROM]","DROP [SNAPSHOT | EXTERNAL] TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","ADD COLUMN [IF NOT EXISTS]","DROP COLUMN [IF EXISTS]","RENAME TO","ALTER COLUMN [IF EXISTS]","SET DEFAULT COLLATE","SET OPTIONS","DROP NOT NULL","SET DATA TYPE","ALTER SCHEMA [IF EXISTS]","ALTER [MATERIALIZED] VIEW [IF EXISTS]","ALTER BI_CAPACITY","TRUNCATE TABLE","CREATE SCHEMA [IF NOT EXISTS]","DEFAULT COLLATE","CREATE [OR REPLACE] [TEMP|TEMPORARY|TABLE] FUNCTION [IF NOT EXISTS]","CREATE [OR REPLACE] PROCEDURE [IF NOT EXISTS]","CREATE [OR REPLACE] ROW ACCESS POLICY [IF NOT EXISTS]","GRANT TO","FILTER USING","CREATE CAPACITY","AS JSON","CREATE RESERVATION","CREATE ASSIGNMENT","CREATE SEARCH INDEX [IF NOT EXISTS]","DROP SCHEMA [IF EXISTS]","DROP [MATERIALIZED] VIEW [IF EXISTS]","DROP [TABLE] FUNCTION [IF EXISTS]","DROP PROCEDURE [IF EXISTS]","DROP ROW ACCESS POLICY","DROP ALL ROW ACCESS POLICIES","DROP CAPACITY [IF EXISTS]","DROP RESERVATION [IF EXISTS]","DROP ASSIGNMENT [IF EXISTS]","DROP SEARCH INDEX [IF EXISTS]","DROP [IF EXISTS]","GRANT","REVOKE","DECLARE","EXECUTE IMMEDIATE","LOOP","END LOOP","REPEAT","END REPEAT","WHILE","END WHILE","BREAK","LEAVE","CONTINUE","ITERATE","FOR","END FOR","BEGIN","BEGIN TRANSACTION","COMMIT TRANSACTION","ROLLBACK TRANSACTION","RAISE","RETURN","CALL","ASSERT","EXPORT DATA"]),rWi=Fji(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),sWi=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),oWi=Fji(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),aWi={name:"bigquery",tokenizerOptions:{reservedSelect:eWi,reservedClauses:[...tWi,...iWi,...nWi],reservedSetOperations:rWi,reservedJoins:sWi,reservedPhrases:oWi,reservedKeywords:["ALL","AND","ANY","AS","ASC","ASSERT_ROWS_MODIFIED","AT","BETWEEN","BY","CASE","CAST","COLLATE","CONTAINS","CREATE","CROSS","CUBE","CURRENT","DEFAULT","DEFINE","DESC","DISTINCT","ELSE","END","ENUM","ESCAPE","EXCEPT","EXCLUDE","EXISTS","EXTRACT","FALSE","FETCH","FOLLOWING","FOR","FROM","FULL","GROUP","GROUPING","GROUPS","HASH","HAVING","IF","IGNORE","IN","INNER","INTERSECT","INTO","IS","JOIN","LATERAL","LEFT","LIMIT","LOOKUP","MERGE","NATURAL","NEW","NO","NOT","NULL","NULLS","OF","ON","OR","ORDER","OUTER","OVER","PARTITION","PRECEDING","PROTO","RANGE","RECURSIVE","RESPECT","RIGHT","ROLLUP","ROWS","SELECT","SET","SOME","TABLE","TABLESAMPLE","THEN","TO","TREAT","TRUE","UNBOUNDED","UNION","UNNEST","USING","WHEN","WHERE","WINDOW","WITH","WITHIN","SAFE","LIKE","COPY","CLONE","IN","OUT","INOUT","RETURNS","LANGUAGE","CASCADE","RESTRICT","DETERMINISTIC"],reservedDataTypes:["ARRAY","BOOL","BYTES","DATE","DATETIME","GEOGRAPHY","INTERVAL","INT64","INT","SMALLINT","INTEGER","BIGINT","TINYINT","BYTEINT","NUMERIC","DECIMAL","BIGNUMERIC","BIGDECIMAL","FLOAT64","STRING","STRUCT","TIME","TIMEZONE"],reservedFunctionNames:["KEYS.NEW_KEYSET","KEYS.ADD_KEY_FROM_RAW_BYTES","AEAD.DECRYPT_BYTES","AEAD.DECRYPT_STRING","AEAD.ENCRYPT","KEYS.KEYSET_CHAIN","KEYS.KEYSET_FROM_JSON","KEYS.KEYSET_TO_JSON","KEYS.ROTATE_KEYSET","KEYS.KEYSET_LENGTH","ANY_VALUE","ARRAY_AGG","AVG","CORR","COUNT","COUNTIF","COVAR_POP","COVAR_SAMP","MAX","MIN","ST_CLUSTERDBSCAN","STDDEV_POP","STDDEV_SAMP","STRING_AGG","SUM","VAR_POP","VAR_SAMP","ANY_VALUE","ARRAY_AGG","ARRAY_CONCAT_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","COUNT","COUNTIF","LOGICAL_AND","LOGICAL_OR","MAX","MIN","STRING_AGG","SUM","APPROX_COUNT_DISTINCT","APPROX_QUANTILES","APPROX_TOP_COUNT","APPROX_TOP_SUM","ARRAY_CONCAT","ARRAY_LENGTH","ARRAY_TO_STRING","GENERATE_ARRAY","GENERATE_DATE_ARRAY","GENERATE_TIMESTAMP_ARRAY","ARRAY_REVERSE","OFFSET","SAFE_OFFSET","ORDINAL","SAFE_ORDINAL","BIT_COUNT","PARSE_BIGNUMERIC","PARSE_NUMERIC","SAFE_CAST","CURRENT_DATE","EXTRACT","DATE","DATE_ADD","DATE_SUB","DATE_DIFF","DATE_TRUNC","DATE_FROM_UNIX_DATE","FORMAT_DATE","LAST_DAY","PARSE_DATE","UNIX_DATE","CURRENT_DATETIME","DATETIME","EXTRACT","DATETIME_ADD","DATETIME_SUB","DATETIME_DIFF","DATETIME_TRUNC","FORMAT_DATETIME","LAST_DAY","PARSE_DATETIME","ERROR","EXTERNAL_QUERY","S2_CELLIDFROMPOINT","S2_COVERINGCELLIDS","ST_ANGLE","ST_AREA","ST_ASBINARY","ST_ASGEOJSON","ST_ASTEXT","ST_AZIMUTH","ST_BOUNDARY","ST_BOUNDINGBOX","ST_BUFFER","ST_BUFFERWITHTOLERANCE","ST_CENTROID","ST_CENTROID_AGG","ST_CLOSESTPOINT","ST_CLUSTERDBSCAN","ST_CONTAINS","ST_CONVEXHULL","ST_COVEREDBY","ST_COVERS","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DUMP","ST_DWITHIN","ST_ENDPOINT","ST_EQUALS","ST_EXTENT","ST_EXTERIORRING","ST_GEOGFROM","ST_GEOGFROMGEOJSON","ST_GEOGFROMTEXT","ST_GEOGFROMWKB","ST_GEOGPOINT","ST_GEOGPOINTFROMGEOHASH","ST_GEOHASH","ST_GEOMETRYTYPE","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_INTERSECTSBOX","ST_ISCOLLECTION","ST_ISEMPTY","ST_LENGTH","ST_MAKELINE","ST_MAKEPOLYGON","ST_MAKEPOLYGONORIENTED","ST_MAXDISTANCE","ST_NPOINTS","ST_NUMGEOMETRIES","ST_NUMPOINTS","ST_PERIMETER","ST_POINTN","ST_SIMPLIFY","ST_SNAPTOGRID","ST_STARTPOINT","ST_TOUCHES","ST_UNION","ST_UNION_AGG","ST_WITHIN","ST_X","ST_Y","FARM_FINGERPRINT","MD5","SHA1","SHA256","SHA512","HLL_COUNT.INIT","HLL_COUNT.MERGE","HLL_COUNT.MERGE_PARTIAL","HLL_COUNT.EXTRACT","MAKE_INTERVAL","EXTRACT","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","JSON_EXTRACT","JSON_QUERY","JSON_EXTRACT_SCALAR","JSON_VALUE","JSON_EXTRACT_ARRAY","JSON_QUERY_ARRAY","JSON_EXTRACT_STRING_ARRAY","JSON_VALUE_ARRAY","TO_JSON_STRING","ABS","SIGN","IS_INF","IS_NAN","IEEE_DIVIDE","RAND","SQRT","POW","POWER","EXP","LN","LOG","LOG10","GREATEST","LEAST","DIV","SAFE_DIVIDE","SAFE_MULTIPLY","SAFE_NEGATE","SAFE_ADD","SAFE_SUBTRACT","MOD","ROUND","TRUNC","CEIL","CEILING","FLOOR","COS","COSH","ACOS","ACOSH","SIN","SINH","ASIN","ASINH","TAN","TANH","ATAN","ATANH","ATAN2","RANGE_BUCKET","FIRST_VALUE","LAST_VALUE","NTH_VALUE","LEAD","LAG","PERCENTILE_CONT","PERCENTILE_DISC","NET.IP_FROM_STRING","NET.SAFE_IP_FROM_STRING","NET.IP_TO_STRING","NET.IP_NET_MASK","NET.IP_TRUNC","NET.IPV4_FROM_INT64","NET.IPV4_TO_INT64","NET.HOST","NET.PUBLIC_SUFFIX","NET.REG_DOMAIN","RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","NTILE","ROW_NUMBER","SESSION_USER","CORR","COVAR_POP","COVAR_SAMP","STDDEV_POP","STDDEV_SAMP","STDDEV","VAR_POP","VAR_SAMP","VARIANCE","ASCII","BYTE_LENGTH","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CODE_POINTS_TO_BYTES","CODE_POINTS_TO_STRING","CONCAT","CONTAINS_SUBSTR","ENDS_WITH","FORMAT","FROM_BASE32","FROM_BASE64","FROM_HEX","INITCAP","INSTR","LEFT","LENGTH","LPAD","LOWER","LTRIM","NORMALIZE","NORMALIZE_AND_CASEFOLD","OCTET_LENGTH","REGEXP_CONTAINS","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPLACE","REPEAT","REVERSE","RIGHT","RPAD","RTRIM","SAFE_CONVERT_BYTES_TO_STRING","SOUNDEX","SPLIT","STARTS_WITH","STRPOS","SUBSTR","SUBSTRING","TO_BASE32","TO_BASE64","TO_CODE_POINTS","TO_HEX","TRANSLATE","TRIM","UNICODE","UPPER","CURRENT_TIME","TIME","EXTRACT","TIME_ADD","TIME_SUB","TIME_DIFF","TIME_TRUNC","FORMAT_TIME","PARSE_TIME","CURRENT_TIMESTAMP","EXTRACT","STRING","TIMESTAMP","TIMESTAMP_ADD","TIMESTAMP_SUB","TIMESTAMP_DIFF","TIMESTAMP_TRUNC","FORMAT_TIMESTAMP","PARSE_TIMESTAMP","TIMESTAMP_SECONDS","TIMESTAMP_MILLIS","TIMESTAMP_MICROS","UNIX_SECONDS","UNIX_MILLIS","UNIX_MICROS","GENERATE_UUID","COALESCE","IF","IFNULL","NULLIF","AVG","BIT_AND","BIT_OR","BIT_XOR","CORR","COUNT","COVAR_POP","COVAR_SAMP","EXACT_COUNT_DISTINCT","FIRST","GROUP_CONCAT","GROUP_CONCAT_UNQUOTED","LAST","MAX","MIN","NEST","NTH","QUANTILES","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","TOP","UNIQUE","VARIANCE","VAR_POP","VAR_SAMP","BIT_COUNT","BOOLEAN","BYTES","CAST","FLOAT","HEX_STRING","INTEGER","STRING","COALESCE","GREATEST","IFNULL","IS_INF","IS_NAN","IS_EXPLICITLY_DEFINED","LEAST","NVL","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE","DATE_ADD","DATEDIFF","DAY","DAYOFWEEK","DAYOFYEAR","FORMAT_UTC_USEC","HOUR","MINUTE","MONTH","MSEC_TO_TIMESTAMP","NOW","PARSE_UTC_USEC","QUARTER","SEC_TO_TIMESTAMP","SECOND","STRFTIME_UTC_USEC","TIME","TIMESTAMP","TIMESTAMP_TO_MSEC","TIMESTAMP_TO_SEC","TIMESTAMP_TO_USEC","USEC_TO_TIMESTAMP","UTC_USEC_TO_DAY","UTC_USEC_TO_HOUR","UTC_USEC_TO_MONTH","UTC_USEC_TO_WEEK","UTC_USEC_TO_YEAR","WEEK","YEAR","FORMAT_IP","PARSE_IP","FORMAT_PACKED_IP","PARSE_PACKED_IP","JSON_EXTRACT","JSON_EXTRACT_SCALAR","ABS","ACOS","ACOSH","ASIN","ASINH","ATAN","ATANH","ATAN2","CEIL","COS","COSH","DEGREES","EXP","FLOOR","LN","LOG","LOG2","LOG10","PI","POW","RADIANS","RAND","ROUND","SIN","SINH","SQRT","TAN","TANH","REGEXP_MATCH","REGEXP_EXTRACT","REGEXP_REPLACE","CONCAT","INSTR","LEFT","LENGTH","LOWER","LPAD","LTRIM","REPLACE","RIGHT","RPAD","RTRIM","SPLIT","SUBSTR","UPPER","TABLE_DATE_RANGE","TABLE_DATE_RANGE_STRICT","TABLE_QUERY","HOST","DOMAIN","TLD","AVG","COUNT","MAX","MIN","STDDEV","SUM","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","RATIO_TO_REPORT","ROW_NUMBER","CURRENT_USER","EVERY","FROM_BASE64","HASH","FARM_FINGERPRINT","IF","POSITION","SHA1","SOME","TO_BASE64","BQ.JOBS.CANCEL","BQ.REFRESH_MATERIALIZED_VIEW","OPTIONS","PIVOT","UNPIVOT"],extraParens:["[]"],stringTypes:[{quote:'""".."""',prefixes:["R","B","RB","BR"]},{quote:"'''..'''",prefixes:["R","B","RB","BR"]},'""-bs',"''-bs",{quote:'""-raw',prefixes:["R","B","RB","BR"],requirePrefix:!0},{quote:"''-raw",prefixes:["R","B","RB","BR"],requirePrefix:!0}],identTypes:["``"],identChars:{dashes:!0},paramTypes:{positional:!0,named:["@"],quoted:["@"]},variableTypes:[{regex:String.raw`@@\w+`}],lineCommentTypes:["--","#"],operators:["&","|","^","~",">>","<<","||","=>"],postProcess:function(e){return function(e){let t=Xji;return e.map(e=>"OFFSET"===e.text&&"["===t.text?(t=e,Mji(Lji({},e),{type:"RESERVED_FUNCTION_NAME"})):(t=e,e))}(function(e){var t;const n=[];for(let i=0;i<e.length;i++){const r=e[i];if((Qji.ARRAY(r)||Qji.STRUCT(r))&&"<"===(null==(t=e[i+1])?void 0:t.text)){const t=cWi(e,i+1),s=e.slice(i,t+1);n.push({type:"IDENTIFIER",raw:s.map(lWi("raw")).join(""),text:s.map(lWi("text")).join(""),start:r.start}),i=t}else n.push(r)}return n}(e))}},formatOptions:{onelineClauses:[...nWi,...iWi],tabularOnelineClauses:iWi}};var lWi=e=>t=>"IDENTIFIER"===t.type||"COMMA"===t.type?t[e]+" ":t[e];function cWi(e,t){let n=0;for(let i=t;i<e.length;i++){const t=e[i];if("<"===t.text?n++:">"===t.text?n--:">>"===t.text&&(n-=2),0===n)return i}return e.length-1}var uWi=Fji(["SELECT [ALL | DISTINCT]"]),dWi=Fji(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY [INPUT SEQUENCE]","LIMIT","OFFSET","FETCH NEXT","FOR UPDATE [OF]","FOR {READ | FETCH} ONLY","FOR {RR | CS | UR | RS} [USE AND KEEP {SHARE | UPDATE | EXCLUSIVE} LOCKS]","WAIT FOR OUTCOME","SKIP LOCKED DATA","INTO","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","INSERT"]),hWi=Fji(["CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]"]),pWi=Fji(["CREATE [OR REPLACE] VIEW","UPDATE","WHERE CURRENT OF","WITH {RR | RS | CS | UR}","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","DROP [COLUMN]","RENAME COLUMN","ALTER [COLUMN]","SET DATA TYPE","SET NOT NULL","DROP {DEFAULT | GENERATED | NOT NULL}","TRUNCATE [TABLE]","ALLOCATE","ALTER AUDIT POLICY","ALTER BUFFERPOOL","ALTER DATABASE PARTITION GROUP","ALTER DATABASE","ALTER EVENT MONITOR","ALTER FUNCTION","ALTER HISTOGRAM TEMPLATE","ALTER INDEX","ALTER MASK","ALTER METHOD","ALTER MODULE","ALTER NICKNAME","ALTER PACKAGE","ALTER PERMISSION","ALTER PROCEDURE","ALTER SCHEMA","ALTER SECURITY LABEL COMPONENT","ALTER SECURITY POLICY","ALTER SEQUENCE","ALTER SERVER","ALTER SERVICE CLASS","ALTER STOGROUP","ALTER TABLESPACE","ALTER THRESHOLD","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER TYPE","ALTER USAGE LIST","ALTER USER MAPPING","ALTER VIEW","ALTER WORK ACTION SET","ALTER WORK CLASS SET","ALTER WORKLOAD","ALTER WRAPPER","ALTER XSROBJECT","ALTER STOGROUP","ALTER TABLESPACE","ALTER TRIGGER","ALTER TRUSTED CONTEXT","ALTER VIEW","ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}","AUDIT","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT ON","COMMIT [WORK]","CONNECT","CREATE [OR REPLACE] [PUBLIC] ALIAS","CREATE AUDIT POLICY","CREATE BUFFERPOOL","CREATE DATABASE PARTITION GROUP","CREATE EVENT MONITOR","CREATE [OR REPLACE] FUNCTION","CREATE FUNCTION MAPPING","CREATE HISTOGRAM TEMPLATE","CREATE [UNIQUE] INDEX","CREATE INDEX EXTENSION","CREATE [OR REPLACE] MASK","CREATE [SPECIFIC] METHOD","CREATE [OR REPLACE] MODULE","CREATE [OR REPLACE] NICKNAME","CREATE [OR REPLACE] PERMISSION","CREATE [OR REPLACE] PROCEDURE","CREATE ROLE","CREATE SCHEMA","CREATE SECURITY LABEL [COMPONENT]","CREATE SECURITY POLICY","CREATE [OR REPLACE] SEQUENCE","CREATE SERVICE CLASS","CREATE SERVER","CREATE STOGROUP","CREATE SYNONYM","CREATE [LARGE | REGULAR | {SYSTEM | USER} TEMPORARY] TABLESPACE","CREATE THRESHOLD","CREATE {TRANSFORM | TRANSFORMS} FOR","CREATE [OR REPLACE] TRIGGER","CREATE TRUSTED CONTEXT","CREATE [OR REPLACE] TYPE","CREATE TYPE MAPPING","CREATE USAGE LIST","CREATE USER MAPPING FOR","CREATE [OR REPLACE] VARIABLE","CREATE WORK ACTION SET","CREATE WORK CLASS SET","CREATE WORKLOAD","CREATE WRAPPER","DECLARE","DECLARE GLOBAL TEMPORARY TABLE","DESCRIBE [INPUT | OUTPUT]","DISCONNECT","DROP [PUBLIC] ALIAS","DROP AUDIT POLICY","DROP BUFFERPOOL","DROP DATABASE PARTITION GROUP","DROP EVENT MONITOR","DROP [SPECIFIC] FUNCTION","DROP FUNCTION MAPPING","DROP HISTOGRAM TEMPLATE","DROP INDEX [EXTENSION]","DROP MASK","DROP [SPECIFIC] METHOD","DROP MODULE","DROP NICKNAME","DROP PACKAGE","DROP PERMISSION","DROP [SPECIFIC] PROCEDURE","DROP ROLE","DROP SCHEMA","DROP SECURITY LABEL [COMPONENT]","DROP SECURITY POLICY","DROP SEQUENCE","DROP SERVER","DROP SERVICE CLASS","DROP STOGROUP","DROP TABLE HIERARCHY","DROP {TABLESPACE | TABLESPACES}","DROP {TRANSFORM | TRANSFORMS}","DROP THRESHOLD","DROP TRIGGER","DROP TRUSTED CONTEXT","DROP TYPE [MAPPING]","DROP USAGE LIST","DROP USER MAPPING FOR","DROP VARIABLE","DROP VIEW [HIERARCHY]","DROP WORK {ACTION | CLASS} SET","DROP WORKLOAD","DROP WRAPPER","DROP XSROBJECT","END DECLARE SECTION","EXECUTE [IMMEDIATE]","EXPLAIN {PLAN [SECTION] | ALL}","FETCH [FROM]","FLUSH {BUFFERPOOL | BUFFERPOOLS} ALL","FLUSH EVENT MONITOR","FLUSH FEDERATED CACHE","FLUSH OPTIMIZATION PROFILE CACHE","FLUSH PACKAGE CACHE [DYNAMIC]","FLUSH AUTHENTICATION CACHE [FOR ALL]","FREE LOCATOR","GET DIAGNOSTICS","GOTO","GRANT","INCLUDE","ITERATE","LEAVE","LOCK TABLE","LOOP","OPEN","PIPE","PREPARE","REFRESH TABLE","RELEASE","RELEASE [TO] SAVEPOINT","RENAME [TABLE | INDEX | STOGROUP | TABLESPACE]","REPEAT","RESIGNAL","RETURN","REVOKE","ROLLBACK [WORK] [TO SAVEPOINT]","SAVEPOINT","SET COMPILATION ENVIRONMENT","SET CONNECTION","SET CURRENT","SET ENCRYPTION PASSWORD","SET EVENT MONITOR STATE","SET INTEGRITY","SET PASSTHRU","SET PATH","SET ROLE","SET SCHEMA","SET SERVER OPTION","SET {SESSION AUTHORIZATION | SESSION_USER}","SET USAGE LIST","SIGNAL","TRANSFER OWNERSHIP OF","WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}","WHILE"]),gWi=Fji(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),mWi=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),fWi=Fji(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),vWi={name:"db2",tokenizerOptions:{reservedSelect:uWi,reservedClauses:[...dWi,...hWi,...pWi],reservedSetOperations:gWi,reservedJoins:mWi,reservedPhrases:fWi,reservedKeywords:["ACTIVATE","ADD","AFTER","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","AND","ANY","AS","ASENSITIVE","ASSOCIATE","ASUTIME","AT","ATTRIBUTES","AUDIT","AUTHORIZATION","AUX","AUXILIARY","BEFORE","BEGIN","BETWEEN","BINARY","BUFFERPOOL","BY","CACHE","CALL","CALLED","CAPTURE","CARDINALITY","CASCADED","CASE","CAST","CHECK","CLONE","CLOSE","CLUSTER","COLLECTION","COLLID","COLUMN","COMMENT","COMMIT","CONCAT","CONDITION","CONNECT","CONNECTION","CONSTRAINT","CONTAINS","CONTINUE","COUNT","COUNT_BIG","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_LC_CTYPE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","CURSOR","CYCLE","DATA","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEALLOCATE","DECLARE","DEFAULT","DEFAULTS","DEFINITION","DELETE","DENSERANK","DENSE_RANK","DESCRIBE","DESCRIPTOR","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DROP","DSSIZE","DYNAMIC","EACH","EDITPROC","ELSE","ELSEIF","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ERASE","ESCAPE","EVERY","EXCEPT","EXCEPTION","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXPLAIN","EXTENDED","EXTERNAL","EXTRACT","FENCED","FETCH","FIELDPROC","FILE","FINAL","FIRST1","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANT","GRAPHIC","GROUP","HANDLER","HASH","HASHED_VALUE","HAVING","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IMMEDIATE","IMPORT","IN","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDICATOR","INDICATORS","INF","INFINITY","INHERIT","INNER","INOUT","INSENSITIVE","INSERT","INTEGRITY","INTERSECT","INTO","IS","ISNULL","ISOBID","ISOLATION","ITERATE","JAR","JAVA","JOIN","KEEP","KEY","LABEL","LANGUAGE","LAST3","LATERAL","LC_CTYPE","LEAVE","LEFT","LIKE","LIMIT","LINKTYPE","LOCAL","LOCALDATE","LOCALE","LOCALTIME","LOCALTIMESTAMP","LOCATOR","LOCATORS","LOCK","LOCKMAX","LOCKSIZE","LOOP","MAINTAINED","MATERIALIZED","MAXVALUE","MICROSECOND","MICROSECONDS","MINUTE","MINUTES","MINVALUE","MODE","MODIFIES","MONTH","MONTHS","NAN","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZED","NOT2","NOTNULL","NULL","NULLS","NUMPARTS","OBID","OF","OFF","OFFSET","OLD","OLD_TABLE","ON","OPEN","OPTIMIZATION","OPTIMIZE","OPTION","OR","ORDER","OUT","OUTER","OVER","OVERRIDING","PACKAGE","PADDED","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSWORD","PATH","PERCENT","PIECESIZE","PLAN","POSITION","PRECISION","PREPARE","PREVVAL","PRIMARY","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PSID","PUBLIC","QUERY","QUERYNO","RANGE","RANK","READ","READS","RECOVERY","REFERENCES","REFERENCING","REFRESH","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESTRICT","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNS","REVOKE","RIGHT","ROLE","ROLLBACK","ROUND_CEILING","ROUND_DOWN","ROUND_FLOOR","ROUND_HALF_DOWN","ROUND_HALF_EVEN","ROUND_HALF_UP","ROUND_UP","ROUTINE","ROW","ROWNUMBER","ROWS","ROWSET","ROW_NUMBER","RRN","RUN","SAVEPOINT","SCHEMA","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURITY","SELECT","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SET","SIGNAL","SIMPLE","SNAN","SOME","SOURCE","SPECIFIC","SQL","SQLID","STACKED","STANDARD","START","STARTING","STATEMENT","STATIC","STATMENT","STAY","STOGROUP","STORES","STYLE","SUBSTRING","SUMMARY","SYNONYM","SYSFUN","SYSIBM","SYSPROC","SYSTEM","SYSTEM_USER","TABLE","TABLESPACE","THEN","TO","TRANSACTION","TRIGGER","TRIM","TRUNCATE","TYPE","UNDO","UNION","UNIQUE","UNTIL","UPDATE","USAGE","USER","USING","VALIDPROC","VALUE","VALUES","VARIABLE","VARIANT","VCAT","VERSION","VIEW","VOLATILE","VOLUMES","WHEN","WHENEVER","WHERE","WHILE","WITH","WITHOUT","WLM","WRITE","XMLELEMENT","XMLEXISTS","XMLNAMESPACES","YEAR","YEARS"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BLOB","BOOLEAN","CCSID","CHAR","CHARACTER","CLOB","DATE","DATETIME","DBCLOB","DEC","DECIMAL","DOUBLE","DOUBLE PRECISION","FLOAT","FLOAT4","FLOAT8","GRAPHIC","INT","INT2","INT4","INT8","INTEGER","INTERVAL","LONG VARCHAR","LONG VARGRAPHIC","NCHAR","NCHR","NCLOB","NVARCHAR","NUMERIC","SMALLINT","REAL","TIME","TIMESTAMP","VARBINARY","VARCHAR","VARGRAPHIC"],reservedFunctionNames:["ARRAY_AGG","AVG","CORRELATION","COUNT","COUNT_BIG","COVARIANCE","COVARIANCE_SAMP","CUME_DIST","GROUPING","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_ICPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV","STDDEV_SAMP","SUM","VARIANCE","VARIANCE_SAMP","XMLAGG","XMLGROUP","ABS","ABSVAL","ACOS","ADD_DAYS","ADD_HOURS","ADD_MINUTES","ADD_MONTHS","ADD_SECONDS","ADD_YEARS","AGE","ARRAY_DELETE","ARRAY_FIRST","ARRAY_LAST","ARRAY_NEXT","ARRAY_PRIOR","ASCII","ASCII_STR","ASIN","ATAN","ATAN2","ATANH","BITAND","BITANDNOT","BITOR","BITXOR","BITNOT","BPCHAR","BSON_TO_JSON","BTRIM","CARDINALITY","CEILING","CEIL","CHARACTER_LENGTH","CHR","COALESCE","COLLATION_KEY","COLLATION_KEY_BIT","COMPARE_DECFLOAT","CONCAT","COS","COSH","COT","CURSOR_ROWCOUNT","DATAPARTITIONNUM","DATE_PART","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFWEEK_ISO","DAYOFYEAR","DAYS","DAYS_BETWEEN","DAYS_TO_END_OF_MONTH","DBPARTITIONNUM","DECFLOAT","DECFLOAT_FORMAT","DECODE","DECRYPT_BIN","DECRYPT_CHAR","DEGREES","DEREF","DIFFERENCE","DIGITS","DOUBLE_PRECISION","EMPTY_BLOB","EMPTY_CLOB","EMPTY_DBCLOB","EMPTY_NCLOB","ENCRYPT","EVENT_MON_STATE","EXP","EXTRACT","FIRST_DAY","FLOOR","FROM_UTC_TIMESTAMP","GENERATE_UNIQUE","GETHINT","GREATEST","HASH","HASH4","HASH8","HASHEDVALUE","HEX","HEXTORAW","HOUR","HOURS_BETWEEN","IDENTITY_VAL_LOCAL","IFNULL","INITCAP","INSERT","INSTR","INSTR2","INSTR4","INSTRB","INTNAND","INTNOR","INTNXOR","INTNNOT","ISNULL","JSON_ARRAY","JSON_OBJECT","JSON_QUERY","JSON_TO_BSON","JSON_VALUE","JULIAN_DAY","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LENGTH2","LENGTH4","LENGTHB","LN","LOCATE","LOCATE_IN_STRING","LOG10","LONG_VARCHAR","LONG_VARGRAPHIC","LOWER","LPAD","LTRIM","MAX","MAX_CARDINALITY","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MINUTES_BETWEEN","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","MULTIPLY_ALT","NEXT_DAY","NEXT_MONTH","NEXT_QUARTER","NEXT_WEEK","NEXT_YEAR","NORMALIZE_DECFLOAT","NOW","NULLIF","NVL","NVL2","OCTET_LENGTH","OVERLAY","PARAMETER","POSITION","POSSTR","POW","POWER","QUANTIZE","QUARTER","QUOTE_IDENT","QUOTE_LITERAL","RADIANS","RAISE_ERROR","RAND","RANDOM","RAWTOHEX","REC2XML","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_MATCH_COUNT","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RID_BIT","RIGHT","ROUND","ROUND_TIMESTAMP","RPAD","RTRIM","SECLABEL","SECLABEL_BY_NAME","SECLABEL_TO_CHAR","SECOND","SECONDS_BETWEEN","SIGN","SIN","SINH","SOUNDEX","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTR2","SUBSTR4","SUBSTRB","SUBSTRING","TABLE_NAME","TABLE_SCHEMA","TAN","TANH","THIS_MONTH","THIS_QUARTER","THIS_WEEK","THIS_YEAR","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMPDIFF","TIMEZONE","TO_CHAR","TO_CLOB","TO_DATE","TO_HEX","TO_MULTI_BYTE","TO_NCHAR","TO_NCLOB","TO_NUMBER","TO_SINGLE_BYTE","TO_TIMESTAMP","TO_UTC_TIMESTAMP","TOTALORDER","TRANSLATE","TRIM","TRIM_ARRAY","TRUNC_TIMESTAMP","TRUNCATE","TRUNC","TYPE_ID","TYPE_NAME","TYPE_SCHEMA","UCASE","UNICODE_STR","UPPER","VALUE","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT","VARCHAR_FORMAT_BIT","VERIFY_GROUP_FOR_USER","VERIFY_ROLE_FOR_USER","VERIFY_TRUSTED_CONTEXT_ROLE_FOR_USER","WEEK","WEEK_ISO","WEEKS_BETWEEN","WIDTH_BUCKET","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLQUERY","XMLROW","XMLSERIALIZE","XMLTEXT","XMLVALIDATE","XMLXSROBJECTID","XSLTRANSFORM","YEAR","YEARS_BETWEEN","YMD_BETWEEN","BASE_TABLE","JSON_TABLE","UNNEST","XMLTABLE","RANK","DENSE_RANK","NTILE","LAG","LEAD","ROW_NUMBER","FIRST_VALUE","LAST_VALUE","NTH_VALUE","RATIO_TO_REPORT","CAST"],extraParens:["[]"],stringTypes:[{quote:"''-qq",prefixes:["G","N","U&"]},{quote:"''-raw",prefixes:["X","BX","GX","UX"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{first:"@#$",rest:"@#$"},paramTypes:{positional:!0,named:[":"]},paramChars:{first:"@#$",rest:"@#$"},operators:["**","%","|","&","^","~","¬=","¬>","¬<","!>","!<","^=","^>","^<","||","->","=>"]},formatOptions:{onelineClauses:[...hWi,...pWi],tabularOnelineClauses:pWi}},yWi=Fji(["SELECT [ALL | DISTINCT]"]),bWi=Fji(["WITH [RECURSIVE]","INTO","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER [SIBLINGS] BY [INPUT SEQUENCE]","LIMIT","OFFSET","FETCH {FIRST | NEXT}","FOR UPDATE [OF]","FOR READ ONLY","OPTIMIZE FOR","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","DELETE","INSERT","FOR SYSTEM NAME"]),_Wi=Fji(["CREATE [OR REPLACE] TABLE"]),CWi=Fji(["CREATE [OR REPLACE] [RECURSIVE] VIEW","UPDATE","WHERE CURRENT OF","WITH {NC | RR | RS | CS | UR}","DELETE FROM","DROP TABLE","ALTER TABLE","ADD [COLUMN]","ALTER [COLUMN]","DROP [COLUMN]","SET DATA TYPE","SET {GENERATED ALWAYS | GENERATED BY DEFAULT}","SET NOT NULL","SET {NOT HIDDEN | IMPLICITLY HIDDEN}","SET FIELDPROC","DROP {DEFAULT | NOT NULL | GENERATED | IDENTITY | ROW CHANGE TIMESTAMP | FIELDPROC}","TRUNCATE [TABLE]","SET [CURRENT] SCHEMA","SET CURRENT_SCHEMA","ALLOCATE CURSOR","ALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL] SQL","ALTER [SPECIFIC] {FUNCTION | PROCEDURE}","ALTER {MASK | PERMISSION | SEQUENCE | TRIGGER}","ASSOCIATE [RESULT SET] {LOCATOR | LOCATORS}","BEGIN DECLARE SECTION","CALL","CLOSE","COMMENT ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PARAMETER | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}","COMMENT ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}","COMMENT ON PARAMETER SPECIFIC {FUNCTION | PROCEDURE | ROUTINE}","COMMENT ON [TABLE FUNCTION] RETURN COLUMN","COMMENT ON [TABLE FUNCTION] RETURN COLUMN SPECIFIC [PROCEDURE | ROUTINE]","COMMIT [WORK] [HOLD]","CONNECT [TO | RESET] USER","CREATE [OR REPLACE] {ALIAS | FUNCTION | MASK | PERMISSION | PROCEDURE | SEQUENCE | TRIGGER | VARIABLE}","CREATE [ENCODED VECTOR] INDEX","CREATE UNIQUE [WHERE NOT NULL] INDEX","CREATE SCHEMA","CREATE TYPE","DEALLOCATE [SQL] DESCRIPTOR [LOCAL | GLOBAL]","DECLARE CURSOR","DECLARE GLOBAL TEMPORARY TABLE","DECLARE","DESCRIBE CURSOR","DESCRIBE INPUT","DESCRIBE [OUTPUT]","DESCRIBE {PROCEDURE | ROUTINE}","DESCRIBE TABLE","DISCONNECT ALL [SQL]","DISCONNECT [CURRENT]","DROP {ALIAS | INDEX | MASK | PACKAGE | PERMISSION | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT} [IF EXISTS]","DROP [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE} [IF EXISTS]","END DECLARE SECTION","EXECUTE [IMMEDIATE]","FREE LOCATOR","GET [SQL] DESCRIPTOR [LOCAL | GLOBAL]","GET [CURRENT | STACKED] DIAGNOSTICS","GRANT {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}","HOLD LOCATOR","INCLUDE","LABEL ON {ALIAS | COLUMN | CONSTRAINT | INDEX | MASK | PACKAGE | PERMISSION | SEQUENCE | TABLE | TRIGGER | VARIABLE | XSROBJECT}","LABEL ON [SPECIFIC] {FUNCTION | PROCEDURE | ROUTINE}","LOCK TABLE","OPEN","PREPARE","REFRESH TABLE","RELEASE","RELEASE [TO] SAVEPOINT","RENAME [TABLE | INDEX] TO","REVOKE {ALL [PRIVILEGES] | ALTER | EXECUTE} ON {FUNCTION | PROCEDURE | ROUTINE | PACKAGE | SCHEMA | SEQUENCE | TABLE | TYPE | VARIABLE | XSROBJECT}","ROLLBACK [WORK] [HOLD | TO SAVEPOINT]","SAVEPOINT","SET CONNECTION","SET CURRENT {DEBUG MODE | DECFLOAT ROUNDING MODE | DEGREE | IMPLICIT XMLPARSE OPTION | TEMPORAL SYSTEM_TIME}","SET [SQL] DESCRIPTOR [LOCAL | GLOBAL]","SET ENCRYPTION PASSWORD","SET OPTION","SET {[CURRENT [FUNCTION]] PATH | CURRENT_PATH}","SET RESULT SETS [WITH RETURN [TO CALLER | TO CLIENT]]","SET SESSION AUTHORIZATION","SET SESSION_USER","SET TRANSACTION","SIGNAL SQLSTATE [VALUE]","TAG","TRANSFER OWNERSHIP OF","WHENEVER {NOT FOUND | SQLERROR | SQLWARNING}"]),SWi=Fji(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),wWi=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT | RIGHT] EXCEPTION JOIN","{INNER | CROSS} JOIN"]),EWi=Fji(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),xWi={name:"db2i",tokenizerOptions:{reservedSelect:yWi,reservedClauses:[...bWi,..._Wi,...CWi],reservedSetOperations:SWi,reservedJoins:wWi,reservedPhrases:EWi,reservedKeywords:["ABSENT","ACCORDING","ACCTNG","ACTION","ACTIVATE","ADD","ALIAS","ALL","ALLOCATE","ALLOW","ALTER","AND","ANY","APPEND","APPLNAME","ARRAY","ARRAY_AGG","ARRAY_TRIM","AS","ASC","ASENSITIVE","ASSOCIATE","ATOMIC","ATTACH","ATTRIBUTES","AUTHORIZATION","AUTONOMOUS","BEFORE","BEGIN","BETWEEN","BIND","BSON","BUFFERPOOL","BY","CACHE","CALL","CALLED","CARDINALITY","CASE","CAST","CHECK","CL","CLOSE","CLUSTER","COLLECT","COLLECTION","COLUMN","COMMENT","COMMIT","COMPACT","COMPARISONS","COMPRESS","CONCAT","CONCURRENT","CONDITION","CONNECT","CONNECT_BY_ROOT","CONNECTION","CONSTANT","CONSTRAINT","CONTAINS","CONTENT","CONTINUE","COPY","COUNT","COUNT_BIG","CREATE","CREATEIN","CROSS","CUBE","CUME_DIST","CURRENT","CURRENT_DATE","CURRENT_PATH","CURRENT_SCHEMA","CURRENT_SERVER","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","CURSOR","CYCLE","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYS","DB2GENERAL","DB2GENRL","DB2SQL","DBINFO","DBPARTITIONNAME","DBPARTITIONNUM","DEACTIVATE","DEALLOCATE","DECLARE","DEFAULT","DEFAULTS","DEFER","DEFINE","DEFINITION","DELETE","DELETING","DENSE_RANK","DENSERANK","DESC","DESCRIBE","DESCRIPTOR","DETACH","DETERMINISTIC","DIAGNOSTICS","DISABLE","DISALLOW","DISCONNECT","DISTINCT","DO","DOCUMENT","DROP","DYNAMIC","EACH","ELSE","ELSEIF","EMPTY","ENABLE","ENCODING","ENCRYPTION","END","END-EXEC","ENDING","ENFORCED","ERROR","ESCAPE","EVERY","EXCEPT","EXCEPTION","EXCLUDING","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTEND","EXTERNAL","EXTRACT","FALSE","FENCED","FETCH","FIELDPROC","FILE","FINAL","FIRST_VALUE","FOR","FOREIGN","FORMAT","FREE","FREEPAGE","FROM","FULL","FUNCTION","GBPCACHE","GENERAL","GENERATED","GET","GLOBAL","GO","GOTO","GRANT","GROUP","HANDLER","HASH","HASH_ROW","HASHED_VALUE","HAVING","HINT","HOLD","HOUR","HOURS","IDENTITY","IF","IGNORE","IMMEDIATE","IMPLICITLY","IN","INCLUDE","INCLUDING","INCLUSIVE","INCREMENT","INDEX","INDEXBP","INDICATOR","INF","INFINITY","INHERIT","INLINE","INNER","INOUT","INSENSITIVE","INSERT","INSERTING","INTEGRITY","INTERPRET","INTERSECT","INTO","IS","ISNULL","ISOLATION","ITERATE","JAVA","JOIN","JSON","JSON_ARRAY","JSON_ARRAYAGG","JSON_EXISTS","JSON_OBJECT","JSON_OBJECTAGG","JSON_QUERY","JSON_TABLE","JSON_VALUE","KEEP","KEY","KEYS","LABEL","LAG","LANGUAGE","LAST_VALUE","LATERAL","LEAD","LEAVE","LEFT","LEVEL2","LIKE","LIMIT","LINKTYPE","LISTAGG","LOCAL","LOCALDATE","LOCALTIME","LOCALTIMESTAMP","LOCATION","LOCATOR","LOCK","LOCKSIZE","LOG","LOGGED","LOOP","MAINTAINED","MASK","MATCHED","MATERIALIZED","MAXVALUE","MERGE","MICROSECOND","MICROSECONDS","MINPCTUSED","MINUTE","MINUTES","MINVALUE","MIRROR","MIXED","MODE","MODIFIES","MONTH","MONTHS","NAMESPACE","NAN","NATIONAL","NCHAR","NCLOB","NESTED","NEW","NEW_TABLE","NEXTVAL","NO","NOCACHE","NOCYCLE","NODENAME","NODENUMBER","NOMAXVALUE","NOMINVALUE","NONE","NOORDER","NORMALIZED","NOT","NOTNULL","NTH_VALUE","NTILE","NULL","NULLS","NVARCHAR","OBID","OBJECT","OF","OFF","OFFSET","OLD","OLD_TABLE","OMIT","ON","ONLY","OPEN","OPTIMIZE","OPTION","OR","ORDER","ORDINALITY","ORGANIZE","OUT","OUTER","OVER","OVERLAY","OVERRIDING","PACKAGE","PADDED","PAGE","PAGESIZE","PARAMETER","PART","PARTITION","PARTITIONED","PARTITIONING","PARTITIONS","PASSING","PASSWORD","PATH","PCTFREE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PERIOD","PERMISSION","PIECESIZE","PIPE","PLAN","POSITION","PREPARE","PREVVAL","PRIMARY","PRIOR","PRIQTY","PRIVILEGES","PROCEDURE","PROGRAM","PROGRAMID","QUERY","RANGE","RANK","RATIO_TO_REPORT","RCDFMT","READ","READS","RECOVERY","REFERENCES","REFERENCING","REFRESH","REGEXP_LIKE","RELEASE","RENAME","REPEAT","RESET","RESIGNAL","RESTART","RESULT","RESULT_SET_LOCATOR","RETURN","RETURNING","RETURNS","REVOKE","RID","RIGHT","ROLLBACK","ROLLUP","ROUTINE","ROW","ROW_NUMBER","ROWNUMBER","ROWS","RRN","RUN","SAVEPOINT","SBCS","SCALAR","SCHEMA","SCRATCHPAD","SCROLL","SEARCH","SECOND","SECONDS","SECQTY","SECURED","SELECT","SENSITIVE","SEQUENCE","SESSION","SESSION_USER","SET","SIGNAL","SIMPLE","SKIP","SNAN","SOME","SOURCE","SPECIFIC","SQL","SQLID","SQLIND_DEFAULT","SQLIND_UNASSIGNED","STACKED","START","STARTING","STATEMENT","STATIC","STOGROUP","SUBSTRING","SUMMARY","SYNONYM","SYSTEM_TIME","SYSTEM_USER","TABLE","TABLESPACE","TABLESPACES","TAG","THEN","THREADSAFE","TO","TRANSACTION","TRANSFER","TRIGGER","TRIM","TRIM_ARRAY","TRUE","TRUNCATE","TRY_CAST","TYPE","UNDO","UNION","UNIQUE","UNIT","UNKNOWN","UNNEST","UNTIL","UPDATE","UPDATING","URI","USAGE","USE","USER","USERID","USING","VALUE","VALUES","VARIABLE","VARIANT","VCAT","VERSION","VERSIONING","VIEW","VOLATILE","WAIT","WHEN","WHENEVER","WHERE","WHILE","WITH","WITHIN","WITHOUT","WRAPPED","WRAPPER","WRITE","WRKSTNNAME","XMLAGG","XMLATTRIBUTES","XMLCAST","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLGROUP","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROW","XMLSERIALIZE","XMLTABLE","XMLTEXT","XMLVALIDATE","XSLTRANSFORM","XSROBJECT","YEAR","YEARS","YES","ZONE"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BIT","BLOB","BOOLEAN","CCSID","CHAR","CHARACTER","CLOB","DATA","DATALINK","DATE","DBCLOB","DECFLOAT","DECIMAL","DEC","DOUBLE","DOUBLE PRECISION","FLOAT","GRAPHIC","INT","INTEGER","LONG","NUMERIC","REAL","ROWID","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR","VARGRAPHIC","XML"],reservedFunctionNames:["ARRAY_AGG","AVG","CORR","CORRELATION","COUNT","COUNT_BIG","COVAR_POP","COVARIANCE","COVAR","COVAR_SAMP","COVARIANCE_SAMP","EVERY","GROUPING","JSON_ARRAYAGG","JSON_OBJECTAGG","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","SOME","STDDEV_POP","STDDEV","STDDEV_SAMP","SUM","VAR_POP","VARIANCE","VAR","VAR_SAMP","VARIANCE_SAMP","XMLAGG","XMLGROUP","ABS","ABSVAL","ACOS","ADD_DAYS","ADD_HOURS","ADD_MINUTES","ADD_MONTHS","ADD_SECONDS","ADD_YEARS","ANTILOG","ARRAY_MAX_CARDINALITY","ARRAY_TRIM","ASCII","ASIN","ATAN","ATAN2","ATANH","BASE64_DECODE","BASE64_ENCODE","BIT_LENGTH","BITAND","BITANDNOT","BITNOT","BITOR","BITXOR","BSON_TO_JSON","CARDINALITY","CEIL","CEILING","CHAR_LENGTH","CHARACTER_LENGTH","CHR","COALESCE","COMPARE_DECFLOAT","CONCAT","CONTAINS","COS","COSH","COT","CURDATE","CURTIME","DATABASE","DATAPARTITIONNAME","DATAPARTITIONNUM","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK_ISO","DAYOFWEEK","DAYOFYEAR","DAYS","DBPARTITIONNAME","DBPARTITIONNUM","DECFLOAT_FORMAT","DECFLOAT_SORTKEY","DECRYPT_BINARY","DECRYPT_BIT","DECRYPT_CHAR","DECRYPT_DB","DEGREES","DIFFERENCE","DIGITS","DLCOMMENT","DLLINKTYPE","DLURLCOMPLETE","DLURLPATH","DLURLPATHONLY","DLURLSCHEME","DLURLSERVER","DLVALUE","DOUBLE_PRECISION","DOUBLE","ENCRPYT","ENCRYPT_AES","ENCRYPT_AES256","ENCRYPT_RC2","ENCRYPT_TDES","EXP","EXTRACT","FIRST_DAY","FLOOR","GENERATE_UNIQUE","GET_BLOB_FROM_FILE","GET_CLOB_FROM_FILE","GET_DBCLOB_FROM_FILE","GET_XML_FILE","GETHINT","GREATEST","HASH_MD5","HASH_ROW","HASH_SHA1","HASH_SHA256","HASH_SHA512","HASH_VALUES","HASHED_VALUE","HEX","HEXTORAW","HOUR","HTML_ENTITY_DECODE","HTML_ENTITY_ENCODE","HTTP_DELETE_BLOB","HTTP_DELETE","HTTP_GET_BLOB","HTTP_GET","HTTP_PATCH_BLOB","HTTP_PATCH","HTTP_POST_BLOB","HTTP_POST","HTTP_PUT_BLOB","HTTP_PUT","IDENTITY_VAL_LOCAL","IFNULL","INSERT","INSTR","INTERPRET","ISFALSE","ISNOTFALSE","ISNOTTRUE","ISTRUE","JSON_ARRAY","JSON_OBJECT","JSON_QUERY","JSON_TO_BSON","JSON_UPDATE","JSON_VALUE","JULIAN_DAY","LAND","LAST_DAY","LCASE","LEAST","LEFT","LENGTH","LN","LNOT","LOCATE_IN_STRING","LOCATE","LOG10","LOR","LOWER","LPAD","LTRIM","MAX_CARDINALITY","MAX","MICROSECOND","MIDNIGHT_SECONDS","MIN","MINUTE","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","MQREAD","MQREADCLOB","MQRECEIVE","MQRECEIVECLOB","MQSEND","MULTIPLY_ALT","NEXT_DAY","NORMALIZE_DECFLOAT","NOW","NULLIF","NVL","OCTET_LENGTH","OVERLAY","PI","POSITION","POSSTR","POW","POWER","QUANTIZE","QUARTER","RADIANS","RAISE_ERROR","RANDOM","RAND","REGEXP_COUNT","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","RID","RIGHT","ROUND_TIMESTAMP","ROUND","RPAD","RRN","RTRIM","SCORE","SECOND","SIGN","SIN","SINH","SOUNDEX","SPACE","SQRT","STRIP","STRLEFT","STRPOS","STRRIGHT","SUBSTR","SUBSTRING","TABLE_NAME","TABLE_SCHEMA","TAN","TANH","TIMESTAMP_FORMAT","TIMESTAMP_ISO","TIMESTAMPDIFF_BIG","TIMESTAMPDIFF","TO_CHAR","TO_CLOB","TO_DATE","TO_NUMBER","TO_TIMESTAMP","TOTALORDER","TRANSLATE","TRIM_ARRAY","TRIM","TRUNC_TIMESTAMP","TRUNC","TRUNCATE","UCASE","UPPER","URL_DECODE","URL_ENCODE","VALUE","VARBINARY_FORMAT","VARCHAR_BIT_FORMAT","VARCHAR_FORMAT_BINARY","VARCHAR_FORMAT","VERIFY_GROUP_FOR_USER","WEEK_ISO","WEEK","WRAP","XMLATTRIBUTES","XMLCOMMENT","XMLCONCAT","XMLDOCUMENT","XMLELEMENT","XMLFOREST","XMLNAMESPACES","XMLPARSE","XMLPI","XMLROW","XMLSERIALIZE","XMLTEXT","XMLVALIDATE","XOR","XSLTRANSFORM","YEAR","ZONED","BASE_TABLE","HTTP_DELETE_BLOB_VERBOSE","HTTP_DELETE_VERBOSE","HTTP_GET_BLOB_VERBOSE","HTTP_GET_VERBOSE","HTTP_PATCH_BLOB_VERBOSE","HTTP_PATCH_VERBOSE","HTTP_POST_BLOB_VERBOSE","HTTP_POST_VERBOSE","HTTP_PUT_BLOB_VERBOSE","HTTP_PUT_VERBOSE","JSON_TABLE","MQREADALL","MQREADALLCLOB","MQRECEIVEALL","MQRECEIVEALLCLOB","XMLTABLE","UNPACK","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","RATIO_TO_REPORT","ROW_NUMBER","CAST"],nestedBlockComments:!0,extraParens:["[]"],stringTypes:[{quote:"''-qq",prefixes:["G","N"]},{quote:"''-raw",prefixes:["X","BX","GX","UX"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{first:"@#$",rest:"@#$"},paramTypes:{positional:!0,named:[":"]},paramChars:{first:"@#$",rest:"@#$"},operators:["**","¬=","¬>","¬<","!>","!<","||","=>"]},formatOptions:{onelineClauses:[..._Wi,...CWi],tabularOnelineClauses:CWi}},TWi=Fji(["SELECT [ALL | DISTINCT]"]),AWi=Fji(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","SORT BY","CLUSTER BY","DISTRIBUTE BY","LIMIT","INSERT INTO [TABLE]","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED [THEN]","UPDATE SET","INSERT [VALUES]","INSERT OVERWRITE [LOCAL] DIRECTORY","LOAD DATA [LOCAL] INPATH","[OVERWRITE] INTO TABLE"]),RWi=Fji(["CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]"]),NWi=Fji(["CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","RENAME TO","TRUNCATE [TABLE]","ALTER","CREATE","USE","DESCRIBE","DROP","FETCH","SHOW","STORED AS","STORED BY","ROW FORMAT"]),IWi=Fji(["UNION [ALL | DISTINCT]"]),DWi=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),OWi=Fji(["{ROWS | RANGE} BETWEEN"]),kWi={name:"hive",tokenizerOptions:{reservedSelect:TWi,reservedClauses:[...AWi,...RWi,...NWi],reservedSetOperations:IWi,reservedJoins:DWi,reservedPhrases:OWi,reservedKeywords:["ADD","ADMIN","AFTER","ANALYZE","ARCHIVE","ASC","BEFORE","BUCKET","BUCKETS","CASCADE","CHANGE","CLUSTER","CLUSTERED","CLUSTERSTATUS","COLLECTION","COLUMNS","COMMENT","COMPACT","COMPACTIONS","COMPUTE","CONCATENATE","CONTINUE","DATA","DATABASES","DATETIME","DAY","DBPROPERTIES","DEFERRED","DEFINED","DELIMITED","DEPENDENCY","DESC","DIRECTORIES","DIRECTORY","DISABLE","DISTRIBUTE","ELEM_TYPE","ENABLE","ESCAPED","EXCLUSIVE","EXPLAIN","EXPORT","FIELDS","FILE","FILEFORMAT","FIRST","FORMAT","FORMATTED","FUNCTIONS","HOLD_DDLTIME","HOUR","IDXPROPERTIES","IGNORE","INDEX","INDEXES","INPATH","INPUTDRIVER","INPUTFORMAT","ITEMS","JAR","KEYS","KEY_TYPE","LIMIT","LINES","LOAD","LOCATION","LOCK","LOCKS","LOGICAL","LONG","MAPJOIN","MATERIALIZED","METADATA","MINUS","MINUTE","MONTH","MSCK","NOSCAN","NO_DROP","OFFLINE","OPTION","OUTPUTDRIVER","OUTPUTFORMAT","OVERWRITE","OWNER","PARTITIONED","PARTITIONS","PLUS","PRETTY","PRINCIPALS","PROTECTION","PURGE","READ","READONLY","REBUILD","RECORDREADER","RECORDWRITER","RELOAD","RENAME","REPAIR","REPLACE","REPLICATION","RESTRICT","REWRITE","ROLE","ROLES","SCHEMA","SCHEMAS","SECOND","SEMI","SERDE","SERDEPROPERTIES","SERVER","SETS","SHARED","SHOW","SHOW_DATABASE","SKEWED","SORT","SORTED","SSL","STATISTICS","STORED","STREAMTABLE","STRING","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","TINYINT","TOUCH","TRANSACTIONS","UNARCHIVE","UNDO","UNIONTYPE","UNLOCK","UNSET","UNSIGNED","URI","USE","UTC","UTCTIMESTAMP","VALUE_TYPE","VIEW","WHILE","YEAR","AUTOCOMMIT","ISOLATION","LEVEL","OFFSET","SNAPSHOT","TRANSACTION","WORK","WRITE","ABORT","KEY","LAST","NORELY","NOVALIDATE","NULLS","RELY","VALIDATE","DETAIL","DOW","EXPRESSION","OPERATOR","QUARTER","SUMMARY","VECTORIZATION","WEEK","YEARS","MONTHS","WEEKS","DAYS","HOURS","MINUTES","SECONDS","TIMESTAMPTZ","ZONE","ALL","ALTER","AND","AS","AUTHORIZATION","BETWEEN","BOTH","BY","CASE","CAST","COLUMN","CONF","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIMESTAMP","CURSOR","DATABASE","DELETE","DESCRIBE","DISTINCT","DROP","ELSE","END","EXCHANGE","EXISTS","EXTENDED","EXTERNAL","FALSE","FETCH","FOLLOWING","FOR","FROM","FULL","FUNCTION","GRANT","GROUP","GROUPING","HAVING","IF","IMPORT","IN","INNER","INSERT","INTERSECT","INTO","IS","JOIN","LATERAL","LEFT","LESS","LIKE","LOCAL","MACRO","MORE","NONE","NOT","NULL","OF","ON","OR","ORDER","OUT","OUTER","OVER","PARTIALSCAN","PARTITION","PERCENT","PRECEDING","PRESERVE","PROCEDURE","RANGE","READS","REDUCE","REVOKE","RIGHT","ROLLUP","ROW","ROWS","SELECT","SET","TABLE","TABLESAMPLE","THEN","TO","TRANSFORM","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNION","UNIQUEJOIN","UPDATE","USER","USING","UTC_TMESTAMP","VALUES","WHEN","WHERE","WINDOW","WITH","COMMIT","ONLY","REGEXP","RLIKE","ROLLBACK","START","CACHE","CONSTRAINT","FOREIGN","PRIMARY","REFERENCES","DAYOFWEEK","EXTRACT","FLOOR","VIEWS","TIME","SYNC","TEXTFILE","SEQUENCEFILE","ORC","CSV","TSV","PARQUET","AVRO","RCFILE","JSONFILE","INPUTFORMAT","OUTPUTFORMAT"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BOOLEAN","CHAR","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MAP","NUMERIC","PRECISION","SMALLINT","STRUCT","TIMESTAMP","VARCHAR"],reservedFunctionNames:["ABS","ACOS","ASIN","ATAN","BIN","BROUND","CBRT","CEIL","CEILING","CONV","COS","DEGREES","EXP","FACTORIAL","FLOOR","GREATEST","HEX","LEAST","LN","LOG","LOG10","LOG2","NEGATIVE","PI","PMOD","POSITIVE","POW","POWER","RADIANS","RAND","ROUND","SHIFTLEFT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","SIGN","SIN","SQRT","TAN","UNHEX","WIDTH_BUCKET","ARRAY_CONTAINS","MAP_KEYS","MAP_VALUES","SIZE","SORT_ARRAY","BINARY","CAST","ADD_MONTHS","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","QUARTER","SECOND","TIMESTAMP","TO_DATE","TO_UTC_TIMESTAMP","TRUNC","UNIX_TIMESTAMP","WEEKOFYEAR","YEAR","ASSERT_TRUE","COALESCE","IF","ISNOTNULL","ISNULL","NULLIF","NVL","ASCII","BASE64","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONTEXT_NGRAMS","DECODE","ELT","ENCODE","FIELD","FIND_IN_SET","FORMAT_NUMBER","GET_JSON_OBJECT","IN_FILE","INITCAP","INSTR","LCASE","LENGTH","LEVENSHTEIN","LOCATE","LOWER","LPAD","LTRIM","NGRAMS","OCTET_LENGTH","PARSE_URL","PRINTF","QUOTE","REGEXP_EXTRACT","REGEXP_REPLACE","REPEAT","REVERSE","RPAD","RTRIM","SENTENCES","SOUNDEX","SPACE","SPLIT","STR_TO_MAP","SUBSTR","SUBSTRING","TRANSLATE","TRIM","UCASE","UNBASE64","UPPER","MASK","MASK_FIRST_N","MASK_HASH","MASK_LAST_N","MASK_SHOW_FIRST_N","MASK_SHOW_LAST_N","AES_DECRYPT","AES_ENCRYPT","CRC32","CURRENT_DATABASE","CURRENT_USER","HASH","JAVA_METHOD","LOGGED_IN_USER","MD5","REFLECT","SHA","SHA1","SHA2","SURROGATE_KEY","VERSION","AVG","COLLECT_LIST","COLLECT_SET","CORR","COUNT","COVAR_POP","COVAR_SAMP","HISTOGRAM_NUMERIC","MAX","MIN","NTILE","PERCENTILE","PERCENTILE_APPROX","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","EXPLODE","INLINE","JSON_TUPLE","PARSE_URL_TUPLE","POSEXPLODE","STACK","LEAD","LAG","FIRST_VALUE","LAST_VALUE","RANK","ROW_NUMBER","DENSE_RANK","CUME_DIST","PERCENT_RANK","NTILE"],extraParens:["[]"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||"]},formatOptions:{onelineClauses:[...RWi,...NWi],tabularOnelineClauses:NWi}};function LWi(e){return e.map((t,n)=>{const i=e[n+1]||Xji;if(Qji.SET(t)&&"("===i.text)return Mji(Lji({},t),{type:"RESERVED_FUNCTION_NAME"});const r=e[n-1]||Xji;return Qji.VALUES(t)&&"="===r.text?Mji(Lji({},t),{type:"RESERVED_FUNCTION_NAME"}):t})}var MWi=Fji(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),PWi=Fji(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET","RETURNING"]),FWi=Fji(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),BWi=Fji(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER [ONLINE] [IGNORE] TABLE [IF EXISTS]","ADD [COLUMN] [IF NOT EXISTS]","{CHANGE | MODIFY} [COLUMN] [IF EXISTS]","DROP [COLUMN] [IF EXISTS]","RENAME [TO]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","SET {VISIBLE | INVISIBLE}","TRUNCATE [TABLE]","ALTER DATABASE","ALTER DATABASE COMMENT","ALTER EVENT","ALTER FUNCTION","ALTER PROCEDURE","ALTER SCHEMA","ALTER SCHEMA COMMENT","ALTER SEQUENCE","ALTER SERVER","ALTER USER","ALTER VIEW","ANALYZE","ANALYZE TABLE","BACKUP LOCK","BACKUP STAGE","BACKUP UNLOCK","BEGIN","BINLOG","CACHE INDEX","CALL","CHANGE MASTER TO","CHECK TABLE","CHECK VIEW","CHECKSUM TABLE","COMMIT","CREATE AGGREGATE FUNCTION","CREATE DATABASE","CREATE EVENT","CREATE FUNCTION","CREATE INDEX","CREATE PROCEDURE","CREATE ROLE","CREATE SEQUENCE","CREATE SERVER","CREATE SPATIAL INDEX","CREATE TRIGGER","CREATE UNIQUE INDEX","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP EVENT","DROP FUNCTION","DROP INDEX","DROP PREPARE","DROP PROCEDURE","DROP ROLE","DROP SEQUENCE","DROP SERVER","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GET DIAGNOSTICS","GET DIAGNOSTICS CONDITION","GRANT","HANDLER","HELP","INSTALL PLUGIN","INSTALL SONAME","KILL","LOAD DATA INFILE","LOAD INDEX INTO CACHE","LOAD XML INFILE","LOCK TABLE","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","PURGE MASTER LOGS","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","REPAIR VIEW","RESET MASTER","RESET QUERY CACHE","RESET REPLICA","RESET SLAVE","RESIGNAL","REVOKE","ROLLBACK","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET GLOBAL TRANSACTION","SET NAMES","SET PASSWORD","SET ROLE","SET STATEMENT","SET TRANSACTION","SHOW","SHOW ALL REPLICAS STATUS","SHOW ALL SLAVES STATUS","SHOW AUTHORS","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW BINLOG STATUS","SHOW CHARACTER SET","SHOW CLIENT_STATISTICS","SHOW COLLATION","SHOW COLUMNS","SHOW CONTRIBUTORS","SHOW CREATE DATABASE","SHOW CREATE EVENT","SHOW CREATE FUNCTION","SHOW CREATE PACKAGE","SHOW CREATE PACKAGE BODY","SHOW CREATE PROCEDURE","SHOW CREATE SEQUENCE","SHOW CREATE TABLE","SHOW CREATE TRIGGER","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINE INNODB STATUS","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW EXPLAIN","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW INDEXES","SHOW INDEX_STATISTICS","SHOW KEYS","SHOW LOCALES","SHOW MASTER LOGS","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PACKAGE BODY CODE","SHOW PACKAGE BODY STATUS","SHOW PACKAGE STATUS","SHOW PLUGINS","SHOW PLUGINS SONAME","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW QUERY_RESPONSE_TIME","SHOW RELAYLOG EVENTS","SHOW REPLICA","SHOW REPLICA HOSTS","SHOW REPLICA STATUS","SHOW SCHEMAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW SLAVE STATUS","SHOW STATUS","SHOW STORAGE ENGINES","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW USER_STATISTICS","SHOW VARIABLES","SHOW WARNINGS","SHOW WSREP_MEMBERSHIP","SHOW WSREP_STATUS","SHUTDOWN","SIGNAL","START ALL REPLICAS","START ALL SLAVES","START REPLICA","START SLAVE","START TRANSACTION","STOP ALL REPLICAS","STOP ALL SLAVES","STOP REPLICA","STOP SLAVE","UNINSTALL PLUGIN","UNINSTALL SONAME","UNLOCK TABLE","USE","XA BEGIN","XA COMMIT","XA END","XA PREPARE","XA RECOVER","XA ROLLBACK","XA START"]),VWi=Fji(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),UWi=Fji(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),GWi=Fji(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),HWi={name:"mariadb",tokenizerOptions:{reservedSelect:MWi,reservedClauses:[...PWi,...FWi,...BWi],reservedSetOperations:VWi,reservedJoins:UWi,reservedPhrases:GWi,supportsXor:!0,reservedKeywords:["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DELETE_DOMAIN_ID","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DO_DOMAIN_IDS","DROP","DUAL","EACH","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERAL","GRANT","GROUP","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IGNORE_DOMAIN_IDS","IGNORE_SERVER_IDS","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","INTERSECT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LOOP","LOW_PRIORITY","MASTER_HEARTBEAT_PERIOD","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL","OFFSET","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PAGE_CHECKSUM","PARSE_VCOL_EXPR","PARTITION","POSITION","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","READ_WRITE","RECURSIVE","REF_SYSTEM_ID","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","RETURNING","REVOKE","RIGHT","RLIKE","ROW_NUMBER","ROWS","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SLOW","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STATS_AUTO_RECALC","STATS_PERSISTENT","STATS_SAMPLE_PAGES","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","CHAR BYTE","CHAR","CHARACTER","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONG","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],reservedFunctionNames:["ADDDATE","ADD_MONTHS","BIT_AND","BIT_OR","BIT_XOR","CAST","COUNT","CUME_DIST","CURDATE","CURTIME","DATE_ADD","DATE_SUB","DATE_FORMAT","DECODE","DENSE_RANK","EXTRACT","FIRST_VALUE","GROUP_CONCAT","JSON_ARRAYAGG","JSON_OBJECTAGG","LAG","LEAD","MAX","MEDIAN","MID","MIN","NOW","NTH_VALUE","NTILE","POSITION","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","ROW_NUMBER","SESSION_USER","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUBDATE","SUBSTR","SUBSTRING","SUM","SYSTEM_USER","TRIM","TRIM_ORACLE","VARIANCE","VAR_POP","VAR_SAMP","ABS","ACOS","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ASIN","ATAN","ATAN2","BENCHMARK","BIN","BINLOG_GTID_POS","BIT_COUNT","BIT_LENGTH","CEIL","CEILING","CHARACTER_LENGTH","CHAR_LENGTH","CHR","COERCIBILITY","COLUMN_CHECK","COLUMN_EXISTS","COLUMN_LIST","COLUMN_JSON","COMPRESS","CONCAT","CONCAT_OPERATOR_ORACLE","CONCAT_WS","CONNECTION_ID","CONV","CONVERT_TZ","COS","COT","CRC32","DATEDIFF","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DEGREES","DECODE_HISTOGRAM","DECODE_ORACLE","DES_DECRYPT","DES_ENCRYPT","ELT","ENCODE","ENCRYPT","EXP","EXPORT_SET","EXTRACTVALUE","FIELD","FIND_IN_SET","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GET_LOCK","GREATEST","HEX","IFNULL","INSTR","ISNULL","IS_FREE_LOCK","IS_USED_LOCK","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_COMPACT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_DETAILED","JSON_EXISTS","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_LOOSE","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_QUERY","JSON_QUOTE","JSON_OBJECT","JSON_REMOVE","JSON_REPLACE","JSON_SET","JSON_SEARCH","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","JSON_VALUE","LAST_DAY","LAST_INSERT_ID","LCASE","LEAST","LENGTH","LENGTHB","LN","LOAD_FILE","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LPAD_ORACLE","LTRIM","LTRIM_ORACLE","MAKEDATE","MAKETIME","MAKE_SET","MASTER_GTID_WAIT","MASTER_POS_WAIT","MD5","MONTHNAME","NAME_CONST","NVL","NVL2","OCT","OCTET_LENGTH","ORD","PERIOD_ADD","PERIOD_DIFF","PI","POW","POWER","QUOTE","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","RADIANS","RAND","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPLACE_ORACLE","REVERSE","ROUND","RPAD","RPAD_ORACLE","RTRIM","RTRIM_ORACLE","SEC_TO_TIME","SHA","SHA1","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SPACE","SQRT","STRCMP","STR_TO_DATE","SUBSTR_ORACLE","SUBSTRING_INDEX","SUBTIME","SYS_GUID","TAN","TIMEDIFF","TIME_FORMAT","TIME_TO_SEC","TO_BASE64","TO_CHAR","TO_DAYS","TO_SECONDS","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UUID","UUID_SHORT","VERSION","WEEKDAY","WEEKOFYEAR","WSREP_LAST_WRITTEN_GTID","WSREP_LAST_SEEN_GTID","WSREP_SYNC_WAIT_UPTO_GTID","YEARWEEK","COALESCE","NULLIF"],stringTypes:['""-qq-bs',"''-qq-bs",{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","&&","||","!","*.*"],postProcess:LWi},formatOptions:{onelineClauses:[...FWi,...BWi],tabularOnelineClauses:BWi}},zWi=Fji(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),jWi=Fji(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET"]),WWi=Fji(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),$Wi=Fji(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","{CHANGE | MODIFY} [COLUMN]","DROP [COLUMN]","RENAME [TO | AS]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","TRUNCATE [TABLE]","ALTER DATABASE","ALTER EVENT","ALTER FUNCTION","ALTER INSTANCE","ALTER LOGFILE GROUP","ALTER PROCEDURE","ALTER RESOURCE GROUP","ALTER SERVER","ALTER TABLESPACE","ALTER USER","ALTER VIEW","ANALYZE TABLE","BINLOG","CACHE INDEX","CALL","CHANGE MASTER TO","CHANGE REPLICATION FILTER","CHANGE REPLICATION SOURCE TO","CHECK TABLE","CHECKSUM TABLE","CLONE","COMMIT","CREATE DATABASE","CREATE EVENT","CREATE FUNCTION","CREATE FUNCTION","CREATE INDEX","CREATE LOGFILE GROUP","CREATE PROCEDURE","CREATE RESOURCE GROUP","CREATE ROLE","CREATE SERVER","CREATE SPATIAL REFERENCE SYSTEM","CREATE TABLESPACE","CREATE TRIGGER","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP EVENT","DROP FUNCTION","DROP FUNCTION","DROP INDEX","DROP LOGFILE GROUP","DROP PROCEDURE","DROP RESOURCE GROUP","DROP ROLE","DROP SERVER","DROP SPATIAL REFERENCE SYSTEM","DROP TABLESPACE","DROP TRIGGER","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","GRANT","HANDLER","HELP","IMPORT TABLE","INSTALL COMPONENT","INSTALL PLUGIN","KILL","LOAD DATA","LOAD INDEX INTO CACHE","LOAD XML","LOCK INSTANCE FOR BACKUP","LOCK TABLES","MASTER_POS_WAIT","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","RESET","RESET MASTER","RESET PERSIST","RESET REPLICA","RESET SLAVE","RESTART","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE EVENT","SHOW CREATE FUNCTION","SHOW CREATE PROCEDURE","SHOW CREATE TABLE","SHOW CREATE TRIGGER","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW RELAYLOG EVENTS","SHOW REPLICA STATUS","SHOW REPLICAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW VARIABLES","SHOW WARNINGS","SHUTDOWN","SOURCE_POS_WAIT","START GROUP_REPLICATION","START REPLICA","START SLAVE","START TRANSACTION","STOP GROUP_REPLICATION","STOP REPLICA","STOP SLAVE","TABLE","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","USE","XA","ITERATE","LEAVE","LOOP","REPEAT","RETURN","WHILE"]),qWi=Fji(["UNION [ALL | DISTINCT]"]),YWi=Fji(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),KWi=Fji(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),XWi={name:"mysql",tokenizerOptions:{reservedSelect:zWi,reservedClauses:[...jWi,...WWi,...$Wi],reservedSetOperations:qWi,reservedJoins:YWi,reservedPhrases:KWi,supportsXor:!0,reservedKeywords:["ACCESSIBLE","ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CUBE","CUME_DIST","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DENSE_RANK","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DROP","DUAL","EACH","ELSE","ELSEIF","EMPTY","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FIRST_VALUE","FOR","FORCE","FOREIGN","FROM","FULLTEXT","FUNCTION","GENERATED","GET","GRANT","GROUP","GROUPING","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","IN","INTERSECT","INTERVAL","INTO","IO_AFTER_GTIDS","IO_BEFORE_GTIDS","IS","ITERATE","JOIN","JSON_TABLE","KEY","KEYS","KILL","LAG","LAST_VALUE","LATERAL","LEAD","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LOOP","LOW_PRIORITY","MASTER_BIND","MASTER_SSL_VERIFY_SERVER_CERT","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NOT","NO_WRITE_TO_BINLOG","NTH_VALUE","NTILE","NULL","OF","ON","OPTIMIZE","OPTIMIZER_COSTS","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PERCENT_RANK","PRIMARY","PROCEDURE","PURGE","RANGE","RANK","READ","READS","READ_WRITE","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESIGNAL","RESTRICT","RETURN","REVOKE","RIGHT","RLIKE","ROW","ROWS","ROW_NUMBER","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SPATIAL","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STORED","STRAIGHT_JOIN","SYSTEM","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNDO","UNION","UNIQUE","UNLOCK","UNSIGNED","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","BOOL","BOOLEAN","CHAR","CHARACTER","DATE","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],reservedFunctionNames:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","ASCII","ASIN","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIN_TO_UUID","BINARY","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","CAN_ACCESS_COLUMN","CAN_ACCESS_DATABASE","CAN_ACCESS_TABLE","CAN_ACCESS_USER","CAN_ACCESS_VIEW","CAST","CEIL","CEILING","CHAR","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CRC32","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DEFAULT","DEGREES","DENSE_RANK","DIV","ELT","EXP","EXPORT_SET","EXTRACT","EXTRACTVALUE","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_PICO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEOMCOLLECTION","GEOMETRYCOLLECTION","GET_DD_COLUMN_PRIVILEGES","GET_DD_CREATE_OPTIONS","GET_DD_INDEX_SUB_PART_LENGTH","GET_FORMAT","GET_LOCK","GREATEST","GROUP_CONCAT","GROUPING","GTID_SUBSET","GTID_SUBTRACT","HEX","HOUR","ICU_VERSION","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INSERT","INSTR","INTERNAL_AUTO_INCREMENT","INTERNAL_AVG_ROW_LENGTH","INTERNAL_CHECK_TIME","INTERNAL_CHECKSUM","INTERNAL_DATA_FREE","INTERNAL_DATA_LENGTH","INTERNAL_DD_CHAR_LENGTH","INTERNAL_GET_COMMENT_OR_ERROR","INTERNAL_GET_ENABLED_ROLE_JSON","INTERNAL_GET_HOSTNAME","INTERNAL_GET_USERNAME","INTERNAL_GET_VIEW_WARNING_OR_ERROR","INTERNAL_INDEX_COLUMN_CARDINALITY","INTERNAL_INDEX_LENGTH","INTERNAL_IS_ENABLED_ROLE","INTERNAL_IS_MANDATORY_ROLE","INTERNAL_KEYS_DISABLED","INTERNAL_MAX_DATA_LENGTH","INTERNAL_TABLE_ROWS","INTERNAL_UPDATE_TIME","INTERVAL","IS","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS NOT","IS NOT NULL","IS NULL","IS_USED_LOCK","IS_UUID","ISNULL","JSON_ARRAY","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_ARRAYAGG","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SCHEMA_VALID","JSON_SCHEMA_VALIDATION_REPORT","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TABLE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","JSON_VALUE","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LCASE","LEAD","LEAST","LEFT","LENGTH","LIKE","LINESTRING","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MATCH","MAX","MBRCONTAINS","MBRCOVEREDBY","MBRCOVERS","MBRDISJOINT","MBREQUALS","MBRINTERSECTS","MBROVERLAPS","MBRTOUCHES","MBRWITHIN","MD5","MEMBER OF","MICROSECOND","MID","MIN","MINUTE","MOD","MONTH","MONTHNAME","MULTILINESTRING","MULTIPOINT","MULTIPOLYGON","NAME_CONST","NOT","NOT IN","NOT LIKE","NOT REGEXP","NOW","NTH_VALUE","NTILE","NULLIF","OCT","OCTET_LENGTH","ORD","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","POINT","POLYGON","POSITION","POW","POWER","PS_CURRENT_THREAD_ID","PS_THREAD_ID","QUARTER","QUOTE","RADIANS","RAND","RANDOM_BYTES","RANK","REGEXP","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPEAT","REPLACE","REVERSE","RIGHT","RLIKE","ROLES_GRAPHML","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SHA1","SHA2","SIGN","SIN","SLEEP","SOUNDEX","SOUNDS LIKE","SOURCE_POS_WAIT","SPACE","SQRT","ST_AREA","ST_ASBINARY","ST_ASGEOJSON","ST_ASTEXT","ST_BUFFER","ST_BUFFER_STRATEGY","ST_CENTROID","ST_COLLECT","ST_CONTAINS","ST_CONVEXHULL","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DISTANCE_SPHERE","ST_ENDPOINT","ST_ENVELOPE","ST_EQUALS","ST_EXTERIORRING","ST_FRECHETDISTANCE","ST_GEOHASH","ST_GEOMCOLLFROMTEXT","ST_GEOMCOLLFROMWKB","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMGEOJSON","ST_GEOMFROMTEXT","ST_GEOMFROMWKB","ST_HAUSDORFFDISTANCE","ST_INTERIORRINGN","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISSIMPLE","ST_ISVALID","ST_LATFROMGEOHASH","ST_LATITUDE","ST_LENGTH","ST_LINEFROMTEXT","ST_LINEFROMWKB","ST_LINEINTERPOLATEPOINT","ST_LINEINTERPOLATEPOINTS","ST_LONGFROMGEOHASH","ST_LONGITUDE","ST_MAKEENVELOPE","ST_MLINEFROMTEXT","ST_MLINEFROMWKB","ST_MPOINTFROMTEXT","ST_MPOINTFROMWKB","ST_MPOLYFROMTEXT","ST_MPOLYFROMWKB","ST_NUMGEOMETRIES","ST_NUMINTERIORRING","ST_NUMPOINTS","ST_OVERLAPS","ST_POINTATDISTANCE","ST_POINTFROMGEOHASH","ST_POINTFROMTEXT","ST_POINTFROMWKB","ST_POINTN","ST_POLYFROMTEXT","ST_POLYFROMWKB","ST_SIMPLIFY","ST_SRID","ST_STARTPOINT","ST_SWAPXY","ST_SYMDIFFERENCE","ST_TOUCHES","ST_TRANSFORM","ST_UNION","ST_VALIDATE","ST_WITHIN","ST_X","ST_Y","STATEMENT_DIGEST","STATEMENT_DIGEST_TEXT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","TRIM","TRUNCATE","UCASE","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VALUES","VAR_POP","VAR_SAMP","VARIANCE","VERSION","WAIT_FOR_EXECUTED_GTID_SET","WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","YEAR","YEARWEEK"],stringTypes:['""-qq-bs',{quote:"''-qq-bs",prefixes:["N"]},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","->","->>","&&","||","!","*.*"],postProcess:LWi},formatOptions:{onelineClauses:[...WWi,...$Wi],tabularOnelineClauses:$Wi}},ZWi=Fji(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),QWi=Fji(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]","REPLACE [LOW_PRIORITY | DELAYED] [INTO]","VALUES","ON DUPLICATE KEY UPDATE","SET"]),JWi=Fji(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),e$i=Fji(["CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]","UPDATE [LOW_PRIORITY] [IGNORE]","DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","{CHANGE | MODIFY} [COLUMN]","DROP [COLUMN]","RENAME [TO | AS]","RENAME COLUMN","ALTER [COLUMN]","{SET | DROP} DEFAULT","TRUNCATE [TABLE]","ALTER DATABASE","ALTER INSTANCE","ALTER RESOURCE GROUP","ALTER SEQUENCE","ALTER USER","ALTER VIEW","ANALYZE TABLE","CHECK TABLE","CHECKSUM TABLE","COMMIT","CREATE DATABASE","CREATE INDEX","CREATE RESOURCE GROUP","CREATE ROLE","CREATE SEQUENCE","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP INDEX","DROP RESOURCE GROUP","DROP ROLE","DROP TABLESPACE","DROP USER","DROP VIEW","EXPLAIN","FLUSH","GRANT","IMPORT TABLE","INSTALL COMPONENT","INSTALL PLUGIN","KILL","LOAD DATA","LOCK INSTANCE FOR BACKUP","LOCK TABLES","OPTIMIZE TABLE","PREPARE","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","RESET","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW BINARY LOGS","SHOW BINLOG EVENTS","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE TABLE","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW VARIABLES","SHOW WARNINGS","TABLE","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","USE"]),t$i=Fji(["UNION [ALL | DISTINCT]"]),n$i=Fji(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),i$i=Fji(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),r$i={name:"tidb",tokenizerOptions:{reservedSelect:ZWi,reservedClauses:[...QWi,...JWi,...e$i],reservedSetOperations:t$i,reservedJoins:n$i,reservedPhrases:i$i,supportsXor:!0,reservedKeywords:["ADD","ALL","ALTER","ANALYZE","AND","ARRAY","AS","ASC","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DISTINCT","DISTINCTROW","DIV","DOUBLE","DROP","DUAL","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERATED","GRANT","GROUP","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","ILIKE","IN","INDEX","INFILE","INNER","INOUT","INSERT","INTERSECT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LOW_PRIORITY","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL","OF","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PRIMARY","PROCEDURE","RANGE","READ","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESTRICT","REVOKE","RIGHT","RLIKE","ROW","ROWS","SECOND_MICROSECOND","SELECT","SET","SHOW","SPATIAL","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STATS_EXTENDED","STORED","STRAIGHT_JOIN","TABLE","TABLESAMPLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","TiDB_CURRENT_TSO","UNION","UNIQUE","UNLOCK","UNSIGNED","UNTIL","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","BOOL","BOOLEAN","CHAR","CHARACTER","DATE","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],reservedFunctionNames:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","ASCII","ASIN","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIN_TO_UUID","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","BITAND","BITNEG","BITOR","BITXOR","CASE","CAST","CEIL","CEILING","CHAR_FUNC","CHAR_LENGTH","CHARACTER_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COMPRESS","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CRC32","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_RESOURCE_GROUP","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT_FUNC","DEGREES","DENSE_RANK","DES_DECRYPT","DES_ENCRYPT","DIV","ELT","ENCODE","ENCRYPT","EQ","EXP","EXPORT_SET","EXTRACT","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_NANO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GE","GET_FORMAT","GET_LOCK","GETPARAM","GREATEST","GROUP_CONCAT","GROUPING","GT","HEX","HOUR","IF","IFNULL","ILIKE","INET6_ATON","INET6_NTOA","INET_ATON","INET_NTOA","INSERT_FUNC","INSTR","INTDIV","INTERVAL","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS_USED_LOCK","IS_UUID","ISFALSE","ISNULL","ISTRUE","JSON_ARRAY","JSON_ARRAYAGG","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MEMBEROF","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LASTVAL","LCASE","LE","LEAD","LEAST","LEFT","LEFTSHIFT","LENGTH","LIKE","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LT","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MAX","MD5","MICROSECOND","MID","MIN","MINUS","MINUTE","MOD","MONTH","MONTHNAME","MUL","NAME_CONST","NE","NEXTVAL","NOT","NOW","NTH_VALUE","NTILE","NULLEQ","OCT","OCTET_LENGTH","OLD_PASSWORD","ORD","PASSWORD_FUNC","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","PLUS","POSITION","POW","POWER","QUARTER","QUOTE","RADIANS","RAND","RANDOM_BYTES","RANK","REGEXP","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","RELEASE_ALL_LOCKS","RELEASE_LOCK","REPEAT","REPLACE","REVERSE","RIGHT","RIGHTSHIFT","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SETVAL","SETVAR","SHA","SHA1","SHA2","SIGN","SIN","SLEEP","SM3","SPACE","SQRT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIDB_BOUNDED_STALENESS","TIDB_CURRENT_TSO","TIDB_DECODE_BINARY_PLAN","TIDB_DECODE_KEY","TIDB_DECODE_PLAN","TIDB_DECODE_SQL_DIGESTS","TIDB_ENCODE_SQL_DIGEST","TIDB_IS_DDL_OWNER","TIDB_PARSE_TSO","TIDB_PARSE_TSO_LOGICAL","TIDB_ROW_CHECKSUM","TIDB_SHARD","TIDB_VERSION","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","TRANSLATE","TRIM","TRUNCATE","UCASE","UNARYMINUS","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VAR_POP","VAR_SAMP","VARIANCE","VERSION","VITESS_HASH","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","YEAR","YEARWEEK"],stringTypes:['""-qq-bs',{quote:"''-qq-bs",prefixes:["N"]},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_.$]+"},{quote:'""-qq-bs',prefixes:["@"],requirePrefix:!0},{quote:"''-qq-bs",prefixes:["@"],requirePrefix:!0},{quote:"``",prefixes:["@"],requirePrefix:!0}],paramTypes:{positional:!0},lineCommentTypes:["--","#"],operators:["%",":=","&","|","^","~","<<",">>","<=>","->","->>","&&","||","!","*.*"],postProcess:LWi},formatOptions:{onelineClauses:[...JWi,...e$i],tabularOnelineClauses:e$i}},s$i=Fji(["SELECT [ALL | DISTINCT]"]),o$i=Fji(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET","MERGE INTO","WHEN [NOT] MATCHED THEN","UPDATE SET","INSERT","NEST","UNNEST","RETURNING"]),a$i=Fji(["UPDATE","DELETE FROM","SET SCHEMA","ADVISE","ALTER INDEX","BEGIN TRANSACTION","BUILD INDEX","COMMIT TRANSACTION","CREATE COLLECTION","CREATE FUNCTION","CREATE INDEX","CREATE PRIMARY INDEX","CREATE SCOPE","DROP COLLECTION","DROP FUNCTION","DROP INDEX","DROP PRIMARY INDEX","DROP SCOPE","EXECUTE","EXECUTE FUNCTION","EXPLAIN","GRANT","INFER","PREPARE","REVOKE","ROLLBACK TRANSACTION","SAVEPOINT","SET TRANSACTION","UPDATE STATISTICS","UPSERT","LET","SET CURRENT SCHEMA","SHOW","USE [PRIMARY] KEYS"]),l$i=Fji(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),c$i=Fji(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),u$i=Fji(["{ROWS | RANGE | GROUPS} BETWEEN"]),d$i={name:"n1ql",tokenizerOptions:{reservedSelect:s$i,reservedClauses:[...o$i,...a$i],reservedSetOperations:l$i,reservedJoins:c$i,reservedPhrases:u$i,supportsXor:!0,reservedKeywords:["ADVISE","ALL","ALTER","ANALYZE","AND","ANY","ARRAY","AS","ASC","AT","BEGIN","BETWEEN","BINARY","BOOLEAN","BREAK","BUCKET","BUILD","BY","CALL","CASE","CAST","CLUSTER","COLLATE","COLLECTION","COMMIT","COMMITTED","CONNECT","CONTINUE","CORRELATED","COVER","CREATE","CURRENT","DATABASE","DATASET","DATASTORE","DECLARE","DECREMENT","DELETE","DERIVED","DESC","DESCRIBE","DISTINCT","DO","DROP","EACH","ELEMENT","ELSE","END","EVERY","EXCEPT","EXCLUDE","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FILTER","FIRST","FLATTEN","FLUSH","FOLLOWING","FOR","FORCE","FROM","FTS","FUNCTION","GOLANG","GRANT","GROUP","GROUPS","GSI","HASH","HAVING","IF","IGNORE","ILIKE","IN","INCLUDE","INCREMENT","INDEX","INFER","INLINE","INNER","INSERT","INTERSECT","INTO","IS","ISOLATION","JAVASCRIPT","JOIN","KEY","KEYS","KEYSPACE","KNOWN","LANGUAGE","LAST","LEFT","LET","LETTING","LEVEL","LIKE","LIMIT","LSM","MAP","MAPPING","MATCHED","MATERIALIZED","MERGE","MINUS","MISSING","NAMESPACE","NEST","NL","NO","NOT","NTH_VALUE","NULL","NULLS","NUMBER","OBJECT","OFFSET","ON","OPTION","OPTIONS","OR","ORDER","OTHERS","OUTER","OVER","PARSE","PARTITION","PASSWORD","PATH","POOL","PRECEDING","PREPARE","PRIMARY","PRIVATE","PRIVILEGE","PROBE","PROCEDURE","PUBLIC","RANGE","RAW","REALM","REDUCE","RENAME","RESPECT","RETURN","RETURNING","REVOKE","RIGHT","ROLE","ROLLBACK","ROW","ROWS","SATISFIES","SAVEPOINT","SCHEMA","SCOPE","SELECT","SELF","SEMI","SET","SHOW","SOME","START","STATISTICS","STRING","SYSTEM","THEN","TIES","TO","TRAN","TRANSACTION","TRIGGER","TRUE","TRUNCATE","UNBOUNDED","UNDER","UNION","UNIQUE","UNKNOWN","UNNEST","UNSET","UPDATE","UPSERT","USE","USER","USING","VALIDATE","VALUE","VALUED","VALUES","VIA","VIEW","WHEN","WHERE","WHILE","WINDOW","WITH","WITHIN","WORK","XOR"],reservedDataTypes:[],reservedFunctionNames:["ABORT","ABS","ACOS","ADVISOR","ARRAY_AGG","ARRAY_AGG","ARRAY_APPEND","ARRAY_AVG","ARRAY_BINARY_SEARCH","ARRAY_CONCAT","ARRAY_CONTAINS","ARRAY_COUNT","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_FLATTEN","ARRAY_IFNULL","ARRAY_INSERT","ARRAY_INTERSECT","ARRAY_LENGTH","ARRAY_MAX","ARRAY_MIN","ARRAY_MOVE","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_PUT","ARRAY_RANGE","ARRAY_REMOVE","ARRAY_REPEAT","ARRAY_REPLACE","ARRAY_REVERSE","ARRAY_SORT","ARRAY_STAR","ARRAY_SUM","ARRAY_SYMDIFF","ARRAY_SYMDIFF1","ARRAY_SYMDIFFN","ARRAY_UNION","ASIN","ATAN","ATAN2","AVG","BASE64","BASE64_DECODE","BASE64_ENCODE","BITAND ","BITCLEAR ","BITNOT ","BITOR ","BITSET ","BITSHIFT ","BITTEST ","BITXOR ","CEIL","CLOCK_LOCAL","CLOCK_MILLIS","CLOCK_STR","CLOCK_TZ","CLOCK_UTC","COALESCE","CONCAT","CONCAT2","CONTAINS","CONTAINS_TOKEN","CONTAINS_TOKEN_LIKE","CONTAINS_TOKEN_REGEXP","COS","COUNT","COUNT","COUNTN","CUME_DIST","CURL","DATE_ADD_MILLIS","DATE_ADD_STR","DATE_DIFF_MILLIS","DATE_DIFF_STR","DATE_FORMAT_STR","DATE_PART_MILLIS","DATE_PART_STR","DATE_RANGE_MILLIS","DATE_RANGE_STR","DATE_TRUNC_MILLIS","DATE_TRUNC_STR","DECODE","DECODE_JSON","DEGREES","DENSE_RANK","DURATION_TO_STR","ENCODED_SIZE","ENCODE_JSON","EXP","FIRST_VALUE","FLOOR","GREATEST","HAS_TOKEN","IFINF","IFMISSING","IFMISSINGORNULL","IFNAN","IFNANORINF","IFNULL","INITCAP","ISARRAY","ISATOM","ISBITSET","ISBOOLEAN","ISNUMBER","ISOBJECT","ISSTRING","LAG","LAST_VALUE","LEAD","LEAST","LENGTH","LN","LOG","LOWER","LTRIM","MAX","MEAN","MEDIAN","META","MILLIS","MILLIS_TO_LOCAL","MILLIS_TO_STR","MILLIS_TO_TZ","MILLIS_TO_UTC","MILLIS_TO_ZONE_NAME","MIN","MISSINGIF","NANIF","NEGINFIF","NOW_LOCAL","NOW_MILLIS","NOW_STR","NOW_TZ","NOW_UTC","NTH_VALUE","NTILE","NULLIF","NVL","NVL2","OBJECT_ADD","OBJECT_CONCAT","OBJECT_INNER_PAIRS","OBJECT_INNER_VALUES","OBJECT_LENGTH","OBJECT_NAMES","OBJECT_PAIRS","OBJECT_PUT","OBJECT_REMOVE","OBJECT_RENAME","OBJECT_REPLACE","OBJECT_UNWRAP","OBJECT_VALUES","PAIRS","PERCENT_RANK","PI","POLY_LENGTH","POSINFIF","POSITION","POWER","RADIANS","RANDOM","RANK","RATIO_TO_REPORT","REGEXP_CONTAINS","REGEXP_LIKE","REGEXP_MATCHES","REGEXP_POSITION","REGEXP_REPLACE","REGEXP_SPLIT","REGEX_CONTAINS","REGEX_LIKE","REGEX_MATCHES","REGEX_POSITION","REGEX_REPLACE","REGEX_SPLIT","REPEAT","REPLACE","REVERSE","ROUND","ROW_NUMBER","RTRIM","SEARCH","SEARCH_META","SEARCH_SCORE","SIGN","SIN","SPLIT","SQRT","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DURATION","STR_TO_MILLIS","STR_TO_TZ","STR_TO_UTC","STR_TO_ZONE_NAME","SUBSTR","SUFFIXES","SUM","TAN","TITLE","TOARRAY","TOATOM","TOBOOLEAN","TOKENS","TOKENS","TONUMBER","TOOBJECT","TOSTRING","TRIM","TRUNC","UPPER","UUID","VARIANCE","VARIANCE_POP","VARIANCE_SAMP","VAR_POP","VAR_SAMP","WEEKDAY_MILLIS","WEEKDAY_STR","CAST"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],extraParens:["[]","{}"],paramTypes:{positional:!0,numbered:["$"],named:["$"]},lineCommentTypes:["#","--"],operators:["%","==",":","||"]},formatOptions:{onelineClauses:a$i}},h$i=Fji(["SELECT [ALL | DISTINCT | UNIQUE]"]),p$i=Fji(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER [SIBLINGS] BY","OFFSET","FETCH {FIRST | NEXT}","FOR UPDATE [OF]","INSERT [INTO | ALL INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [THEN]","UPDATE SET","RETURNING"]),g$i=Fji(["CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE"]),m$i=Fji(["CREATE [OR REPLACE] [NO FORCE | FORCE] [EDITIONING | EDITIONABLE | EDITIONABLE EDITIONING | NONEDITIONABLE] VIEW","CREATE MATERIALIZED VIEW","UPDATE [ONLY]","DELETE FROM [ONLY]","DROP TABLE","ALTER TABLE","ADD","DROP {COLUMN | UNUSED COLUMNS | COLUMNS CONTINUE}","MODIFY","RENAME TO","RENAME COLUMN","TRUNCATE TABLE","SET SCHEMA","BEGIN","CONNECT BY","DECLARE","EXCEPT","EXCEPTION","LOOP","START WITH"]),f$i=Fji(["UNION [ALL]","MINUS","INTERSECT"]),v$i=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),y$i=Fji(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),b$i={name:"plsql",tokenizerOptions:{reservedSelect:h$i,reservedClauses:[...p$i,...g$i,...m$i],reservedSetOperations:f$i,reservedJoins:v$i,reservedPhrases:y$i,supportsXor:!0,reservedKeywords:["ADD","AGENT","AGGREGATE","ALL","ALTER","AND","ANY","ARROW","AS","ASC","AT","ATTRIBUTE","AUTHID","AVG","BEGIN","BETWEEN","BLOCK","BODY","BOTH","BOUND","BULK","BY","BYTE","CALL","CALLING","CASCADE","CASE","CHARSET","CHARSETFORM","CHARSETID","CHECK","CLOSE","CLUSTER","CLUSTERS","COLAUTH","COLLECT","COLUMNS","COMMENT","COMMIT","COMMITTED","COMPILED","COMPRESS","CONNECT","CONSTANT","CONSTRUCTOR","CONTEXT","CONVERT","COUNT","CRASH","CREATE","CURRENT","CURSOR","CUSTOMDATUM","DANGLING","DATA","DAY","DECLARE","DEFAULT","DEFINE","DELETE","DESC","DETERMINISTIC","DISTINCT","DROP","DURATION","ELEMENT","ELSE","ELSIF","EMPTY","END","ESCAPE","EXCEPT","EXCEPTION","EXCEPTIONS","EXCLUSIVE","EXECUTE","EXISTS","EXIT","EXTERNAL","FETCH","FINAL","FIXED","FOR","FORALL","FORCE","FORM","FROM","FUNCTION","GENERAL","GOTO","GRANT","GROUP","HASH","HAVING","HEAP","HIDDEN","HOUR","IDENTIFIED","IF","IMMEDIATE","IN","INCLUDING","INDEX","INDEXES","INDICATOR","INDICES","INFINITE","INSERT","INSTANTIABLE","INTERFACE","INTERSECT","INTERVAL","INTO","INVALIDATE","IS","ISOLATION","JAVA","LANGUAGE","LARGE","LEADING","LENGTH","LEVEL","LIBRARY","LIKE","LIKE2","LIKE4","LIKEC","LIMIT","LIMITED","LOCAL","LOCK","LOOP","MAP","MAX","MAXLEN","MEMBER","MERGE","MIN","MINUS","MINUTE","MOD","MODE","MODIFY","MONTH","MULTISET","NAME","NAN","NATIONAL","NATIVE","NEW","NOCOMPRESS","NOCOPY","NOT","NOWAIT","NULL","OBJECT","OCICOLL","OCIDATE","OCIDATETIME","OCIDURATION","OCIINTERVAL","OCILOBLOCATOR","OCINUMBER","OCIRAW","OCIREF","OCIREFCURSOR","OCIROWID","OCISTRING","OCITYPE","OF","ON","ONLY","OPAQUE","OPEN","OPERATOR","OPTION","OR","ORACLE","ORADATA","ORDER","OVERLAPS","ORGANIZATION","ORLANY","ORLVARY","OTHERS","OUT","OVERRIDING","PACKAGE","PARALLEL_ENABLE","PARAMETER","PARAMETERS","PARTITION","PASCAL","PIPE","PIPELINED","PRAGMA","PRIOR","PRIVATE","PROCEDURE","PUBLIC","RAISE","RANGE","READ","RECORD","REF","REFERENCE","REM","REMAINDER","RENAME","RESOURCE","RESULT","RETURN","RETURNING","REVERSE","REVOKE","ROLLBACK","ROW","SAMPLE","SAVE","SAVEPOINT","SB1","SB2","SB4","SECOND","SEGMENT","SELECT","SELF","SEPARATE","SEQUENCE","SERIALIZABLE","SET","SHARE","SHORT","SIZE","SIZE_T","SOME","SPARSE","SQL","SQLCODE","SQLDATA","SQLNAME","SQLSTATE","STANDARD","START","STATIC","STDDEV","STORED","STRING","STRUCT","STYLE","SUBMULTISET","SUBPARTITION","SUBSTITUTABLE","SUBTYPE","SUM","SYNONYM","TABAUTH","TABLE","TDO","THE","THEN","TIME","TIMEZONE_ABBR","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIMEZONE_REGION","TO","TRAILING","TRANSAC","TRANSACTIONAL","TRUSTED","TYPE","UB1","UB2","UB4","UNDER","UNION","UNIQUE","UNSIGNED","UNTRUSTED","UPDATE","USE","USING","VALIST","VALUE","VALUES","VARIABLE","VARIANCE","VARRAY","VIEW","VIEWS","VOID","WHEN","WHERE","WHILE","WITH","WORK","WRAPPED","WRITE","YEAR","ZONE"],reservedDataTypes:["ARRAY","BFILE_BASE","BINARY","BLOB_BASE","CHAR VARYING","CHAR_BASE","CHAR","CHARACTER VARYING","CHARACTER","CLOB_BASE","DATE_BASE","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTERVAL DAY","INTERVAL YEAR","LONG","NATIONAL CHAR VARYING","NATIONAL CHAR","NATIONAL CHARACTER VARYING","NATIONAL CHARACTER","NCHAR VARYING","NCHAR","NCHAR","NUMBER_BASE","NUMBER","NUMBERIC","NVARCHAR","PRECISION","RAW","TIMESTAMP","UROWID","VARCHAR","VARCHAR2"],reservedFunctionNames:["ABS","ACOS","ASIN","ATAN","ATAN2","BITAND","CEIL","COS","COSH","EXP","FLOOR","LN","LOG","MOD","NANVL","POWER","REMAINDER","ROUND","SIGN","SIN","SINH","SQRT","TAN","TANH","TRUNC","WIDTH_BUCKET","CHR","CONCAT","INITCAP","LOWER","LPAD","LTRIM","NLS_INITCAP","NLS_LOWER","NLSSORT","NLS_UPPER","REGEXP_REPLACE","REGEXP_SUBSTR","REPLACE","RPAD","RTRIM","SOUNDEX","SUBSTR","TRANSLATE","TREAT","TRIM","UPPER","NLS_CHARSET_DECL_LEN","NLS_CHARSET_ID","NLS_CHARSET_NAME","ASCII","INSTR","LENGTH","REGEXP_INSTR","ADD_MONTHS","CURRENT_DATE","CURRENT_TIMESTAMP","DBTIMEZONE","EXTRACT","FROM_TZ","LAST_DAY","LOCALTIMESTAMP","MONTHS_BETWEEN","NEW_TIME","NEXT_DAY","NUMTODSINTERVAL","NUMTOYMINTERVAL","ROUND","SESSIONTIMEZONE","SYS_EXTRACT_UTC","SYSDATE","SYSTIMESTAMP","TO_CHAR","TO_TIMESTAMP","TO_TIMESTAMP_TZ","TO_DSINTERVAL","TO_YMINTERVAL","TRUNC","TZ_OFFSET","GREATEST","LEAST","ASCIISTR","BIN_TO_NUM","CAST","CHARTOROWID","COMPOSE","CONVERT","DECOMPOSE","HEXTORAW","NUMTODSINTERVAL","NUMTOYMINTERVAL","RAWTOHEX","RAWTONHEX","ROWIDTOCHAR","ROWIDTONCHAR","SCN_TO_TIMESTAMP","TIMESTAMP_TO_SCN","TO_BINARY_DOUBLE","TO_BINARY_FLOAT","TO_CHAR","TO_CLOB","TO_DATE","TO_DSINTERVAL","TO_LOB","TO_MULTI_BYTE","TO_NCHAR","TO_NCLOB","TO_NUMBER","TO_DSINTERVAL","TO_SINGLE_BYTE","TO_TIMESTAMP","TO_TIMESTAMP_TZ","TO_YMINTERVAL","TO_YMINTERVAL","TRANSLATE","UNISTR","BFILENAME","EMPTY_BLOB,","EMPTY_CLOB","CARDINALITY","COLLECT","POWERMULTISET","POWERMULTISET_BY_CARDINALITY","SET","SYS_CONNECT_BY_PATH","CLUSTER_ID","CLUSTER_PROBABILITY","CLUSTER_SET","FEATURE_ID","FEATURE_SET","FEATURE_VALUE","PREDICTION","PREDICTION_COST","PREDICTION_DETAILS","PREDICTION_PROBABILITY","PREDICTION_SET","APPENDCHILDXML","DELETEXML","DEPTH","EXTRACT","EXISTSNODE","EXTRACTVALUE","INSERTCHILDXML","INSERTXMLBEFORE","PATH","SYS_DBURIGEN","SYS_XMLAGG","SYS_XMLGEN","UPDATEXML","XMLAGG","XMLCDATA","XMLCOLATTVAL","XMLCOMMENT","XMLCONCAT","XMLFOREST","XMLPARSE","XMLPI","XMLQUERY","XMLROOT","XMLSEQUENCE","XMLSERIALIZE","XMLTABLE","XMLTRANSFORM","DECODE","DUMP","ORA_HASH","VSIZE","COALESCE","LNNVL","NULLIF","NVL","NVL2","SYS_CONTEXT","SYS_GUID","SYS_TYPEID","UID","USER","USERENV","AVG","COLLECT","CORR","CORR_S","CORR_K","COUNT","COVAR_POP","COVAR_SAMP","CUME_DIST","DENSE_RANK","FIRST","GROUP_ID","GROUPING","GROUPING_ID","LAST","MAX","MEDIAN","MIN","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","RANK","REGR_SLOPE","REGR_INTERCEPT","REGR_COUNT","REGR_R2","REGR_AVGX","REGR_AVGY","REGR_SXX","REGR_SYY","REGR_SXY","STATS_BINOMIAL_TEST","STATS_CROSSTAB","STATS_F_TEST","STATS_KS_TEST","STATS_MODE","STATS_MW_TEST","STATS_ONE_WAY_ANOVA","STATS_T_TEST_ONE","STATS_T_TEST_PAIRED","STATS_T_TEST_INDEP","STATS_T_TEST_INDEPU","STATS_WSR_TEST","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTILE","RATIO_TO_REPORT","ROW_NUMBER","DEREF","MAKE_REF","REF","REFTOHEX","VALUE","CV","ITERATION_NUMBER","PRESENTNNV","PRESENTV","PREVIOUS"],stringTypes:[{quote:"''-qq",prefixes:["N"]},{quote:"q''",prefixes:["N"]}],identTypes:['""-qq'],identChars:{rest:"$#"},variableTypes:[{regex:"&{1,2}[A-Za-z][A-Za-z0-9_$#]*"}],paramTypes:{numbered:[":"],named:[":"]},operators:["**",":=","%","~=","^=",">>","<<","=>","@","||"],postProcess:function(e){let t=Xji;return e.map(e=>Qji.SET(e)&&Qji.BY(t)?Mji(Lji({},e),{type:"RESERVED_KEYWORD"}):(Jji(e.type)&&(t=e),e))}},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:[...g$i,...m$i],tabularOnelineClauses:m$i}};var _$i=Fji(["SELECT [ALL | DISTINCT]"]),C$i=Fji(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","FOR {UPDATE | NO KEY UPDATE | SHARE | KEY SHARE} [OF]","INSERT INTO","VALUES","DEFAULT VALUES","SET","RETURNING"]),S$i=Fji(["CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]"]),w$i=Fji(["CREATE [OR REPLACE] [TEMP | TEMPORARY] [RECURSIVE] VIEW","CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]","UPDATE [ONLY]","WHERE CURRENT OF","ON CONFLICT","DELETE FROM [ONLY]","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS] [ONLY]","ALTER TABLE ALL IN TABLESPACE","RENAME [COLUMN]","RENAME TO","ADD [COLUMN] [IF NOT EXISTS]","DROP [COLUMN] [IF EXISTS]","ALTER [COLUMN]","SET DATA TYPE","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","TRUNCATE [TABLE] [ONLY]","SET SCHEMA","AFTER","ABORT","ALTER AGGREGATE","ALTER COLLATION","ALTER CONVERSION","ALTER DATABASE","ALTER DEFAULT PRIVILEGES","ALTER DOMAIN","ALTER EVENT TRIGGER","ALTER EXTENSION","ALTER FOREIGN DATA WRAPPER","ALTER FOREIGN TABLE","ALTER FUNCTION","ALTER GROUP","ALTER INDEX","ALTER LANGUAGE","ALTER LARGE OBJECT","ALTER MATERIALIZED VIEW","ALTER OPERATOR","ALTER OPERATOR CLASS","ALTER OPERATOR FAMILY","ALTER POLICY","ALTER PROCEDURE","ALTER PUBLICATION","ALTER ROLE","ALTER ROUTINE","ALTER RULE","ALTER SCHEMA","ALTER SEQUENCE","ALTER SERVER","ALTER STATISTICS","ALTER SUBSCRIPTION","ALTER SYSTEM","ALTER TABLESPACE","ALTER TEXT SEARCH CONFIGURATION","ALTER TEXT SEARCH DICTIONARY","ALTER TEXT SEARCH PARSER","ALTER TEXT SEARCH TEMPLATE","ALTER TRIGGER","ALTER TYPE","ALTER USER","ALTER USER MAPPING","ALTER VIEW","ANALYZE","BEGIN","CALL","CHECKPOINT","CLOSE","CLUSTER","COMMIT","COMMIT PREPARED","COPY","CREATE ACCESS METHOD","CREATE AGGREGATE","CREATE CAST","CREATE COLLATION","CREATE CONVERSION","CREATE DATABASE","CREATE DOMAIN","CREATE EVENT TRIGGER","CREATE EXTENSION","CREATE FOREIGN DATA WRAPPER","CREATE FOREIGN TABLE","CREATE [OR REPLACE] FUNCTION","CREATE GROUP","CREATE INDEX","CREATE LANGUAGE","CREATE OPERATOR","CREATE OPERATOR CLASS","CREATE OPERATOR FAMILY","CREATE POLICY","CREATE PROCEDURE","CREATE PUBLICATION","CREATE ROLE","CREATE RULE","CREATE SCHEMA","CREATE SEQUENCE","CREATE SERVER","CREATE STATISTICS","CREATE SUBSCRIPTION","CREATE TABLESPACE","CREATE TEXT SEARCH CONFIGURATION","CREATE TEXT SEARCH DICTIONARY","CREATE TEXT SEARCH PARSER","CREATE TEXT SEARCH TEMPLATE","CREATE TRANSFORM","CREATE TRIGGER","CREATE TYPE","CREATE USER","CREATE USER MAPPING","DEALLOCATE","DECLARE","DISCARD","DROP ACCESS METHOD","DROP AGGREGATE","DROP CAST","DROP COLLATION","DROP CONVERSION","DROP DATABASE","DROP DOMAIN","DROP EVENT TRIGGER","DROP EXTENSION","DROP FOREIGN DATA WRAPPER","DROP FOREIGN TABLE","DROP FUNCTION","DROP GROUP","DROP IDENTITY","DROP INDEX","DROP LANGUAGE","DROP MATERIALIZED VIEW [IF EXISTS]","DROP OPERATOR","DROP OPERATOR CLASS","DROP OPERATOR FAMILY","DROP OWNED","DROP POLICY","DROP PROCEDURE","DROP PUBLICATION","DROP ROLE","DROP ROUTINE","DROP RULE","DROP SCHEMA","DROP SEQUENCE","DROP SERVER","DROP STATISTICS","DROP SUBSCRIPTION","DROP TABLESPACE","DROP TEXT SEARCH CONFIGURATION","DROP TEXT SEARCH DICTIONARY","DROP TEXT SEARCH PARSER","DROP TEXT SEARCH TEMPLATE","DROP TRANSFORM","DROP TRIGGER","DROP TYPE","DROP USER","DROP USER MAPPING","DROP VIEW","EXECUTE","EXPLAIN","FETCH","GRANT","IMPORT FOREIGN SCHEMA","LISTEN","LOAD","LOCK","MOVE","NOTIFY","OVERRIDING SYSTEM VALUE","PREPARE","PREPARE TRANSACTION","REASSIGN OWNED","REFRESH MATERIALIZED VIEW","REINDEX","RELEASE SAVEPOINT","RESET [ALL|ROLE|SESSION AUTHORIZATION]","REVOKE","ROLLBACK","ROLLBACK PREPARED","ROLLBACK TO SAVEPOINT","SAVEPOINT","SECURITY LABEL","SELECT INTO","SET CONSTRAINTS","SET ROLE","SET SESSION AUTHORIZATION","SET TRANSACTION","SHOW","START TRANSACTION","UNLISTEN","VACUUM"]),E$i=Fji(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),x$i=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),T$i=Fji(["PRIMARY KEY","GENERATED {ALWAYS | BY DEFAULT} AS IDENTITY","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","DO {NOTHING | UPDATE}","AS MATERIALIZED","{ROWS | RANGE | GROUPS} BETWEEN","[TIMESTAMP | TIME] {WITH | WITHOUT} TIME ZONE","IS [NOT] DISTINCT FROM","NULLS {FIRST | LAST}","WITH ORDINALITY"]),A$i={name:"postgresql",tokenizerOptions:{reservedSelect:_$i,reservedClauses:[...C$i,...S$i,...w$i],reservedSetOperations:E$i,reservedJoins:x$i,reservedPhrases:T$i,reservedKeywords:["ALL","ANALYSE","ANALYZE","AND","ANY","AS","ASC","ASYMMETRIC","AUTHORIZATION","BETWEEN","BINARY","BOTH","CASE","CAST","CHECK","COLLATE","COLLATION","COLUMN","CONCURRENTLY","CONSTRAINT","CREATE","CROSS","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DAY","DEFAULT","DEFERRABLE","DESC","DISTINCT","DO","ELSE","END","EXCEPT","EXISTS","FALSE","FETCH","FILTER","FOR","FOREIGN","FREEZE","FROM","FULL","GRANT","GROUP","HAVING","HOUR","ILIKE","IN","INITIALLY","INNER","INOUT","INTERSECT","INTO","IS","ISNULL","JOIN","LATERAL","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","MINUTE","MONTH","NATURAL","NOT","NOTNULL","NULL","NULLIF","OFFSET","ON","ONLY","OR","ORDER","OUT","OUTER","OVER","OVERLAPS","PLACING","PRIMARY","REFERENCES","RETURNING","RIGHT","ROW","SECOND","SELECT","SESSION_USER","SIMILAR","SOME","SYMMETRIC","TABLE","TABLESAMPLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","USER","USING","VALUES","VARIADIC","VERBOSE","WHEN","WHERE","WINDOW","WITH","WITHIN","WITHOUT","YEAR"],reservedDataTypes:["ARRAY","BIGINT","BIT","BIT VARYING","BOOL","BOOLEAN","CHAR","CHARACTER","CHARACTER VARYING","DECIMAL","DEC","DOUBLE","ENUM","FLOAT","INT","INTEGER","INTERVAL","NCHAR","NUMERIC","JSON","JSONB","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TIMESTAMPTZ","VARCHAR","XML","ZONE"],reservedFunctionNames:["ABS","ACOS","ACOSD","ACOSH","ASIN","ASIND","ASINH","ATAN","ATAN2","ATAN2D","ATAND","ATANH","CBRT","CEIL","CEILING","COS","COSD","COSH","COT","COTD","DEGREES","DIV","EXP","FACTORIAL","FLOOR","GCD","LCM","LN","LOG","LOG10","MIN_SCALE","MOD","PI","POWER","RADIANS","RANDOM","ROUND","SCALE","SETSEED","SIGN","SIN","SIND","SINH","SQRT","TAN","TAND","TANH","TRIM_SCALE","TRUNC","WIDTH_BUCKET","ABS","ASCII","BIT_LENGTH","BTRIM","CHARACTER_LENGTH","CHAR_LENGTH","CHR","CONCAT","CONCAT_WS","FORMAT","INITCAP","LEFT","LENGTH","LOWER","LPAD","LTRIM","MD5","NORMALIZE","OCTET_LENGTH","OVERLAY","PARSE_IDENT","PG_CLIENT_ENCODING","POSITION","QUOTE_IDENT","QUOTE_LITERAL","QUOTE_NULLABLE","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","REPEAT","REPLACE","REVERSE","RIGHT","RPAD","RTRIM","SPLIT_PART","SPRINTF","STARTS_WITH","STRING_AGG","STRING_TO_ARRAY","STRING_TO_TABLE","STRPOS","SUBSTR","SUBSTRING","TO_ASCII","TO_HEX","TRANSLATE","TRIM","UNISTR","UPPER","BIT_COUNT","BIT_LENGTH","BTRIM","CONVERT","CONVERT_FROM","CONVERT_TO","DECODE","ENCODE","GET_BIT","GET_BYTE","LENGTH","LTRIM","MD5","OCTET_LENGTH","OVERLAY","POSITION","RTRIM","SET_BIT","SET_BYTE","SHA224","SHA256","SHA384","SHA512","STRING_AGG","SUBSTR","SUBSTRING","TRIM","BIT_COUNT","BIT_LENGTH","GET_BIT","LENGTH","OCTET_LENGTH","OVERLAY","POSITION","SET_BIT","SUBSTRING","REGEXP_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","TO_CHAR","TO_DATE","TO_NUMBER","TO_TIMESTAMP","CLOCK_TIMESTAMP","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_BIN","DATE_PART","DATE_TRUNC","EXTRACT","ISFINITE","JUSTIFY_DAYS","JUSTIFY_HOURS","JUSTIFY_INTERVAL","LOCALTIME","LOCALTIMESTAMP","MAKE_DATE","MAKE_INTERVAL","MAKE_TIME","MAKE_TIMESTAMP","MAKE_TIMESTAMPTZ","NOW","PG_SLEEP","PG_SLEEP_FOR","PG_SLEEP_UNTIL","STATEMENT_TIMESTAMP","TIMEOFDAY","TO_TIMESTAMP","TRANSACTION_TIMESTAMP","ENUM_FIRST","ENUM_LAST","ENUM_RANGE","AREA","BOUND_BOX","BOX","CENTER","CIRCLE","DIAGONAL","DIAMETER","HEIGHT","ISCLOSED","ISOPEN","LENGTH","LINE","LSEG","NPOINTS","PATH","PCLOSE","POINT","POLYGON","POPEN","RADIUS","SLOPE","WIDTH","ABBREV","BROADCAST","FAMILY","HOST","HOSTMASK","INET_MERGE","INET_SAME_FAMILY","MACADDR8_SET7BIT","MASKLEN","NETMASK","NETWORK","SET_MASKLEN","TRUNC","ARRAY_TO_TSVECTOR","GET_CURRENT_TS_CONFIG","JSONB_TO_TSVECTOR","JSON_TO_TSVECTOR","LENGTH","NUMNODE","PHRASETO_TSQUERY","PLAINTO_TSQUERY","QUERYTREE","SETWEIGHT","STRIP","TO_TSQUERY","TO_TSVECTOR","TSQUERY_PHRASE","TSVECTOR_TO_ARRAY","TS_DEBUG","TS_DELETE","TS_FILTER","TS_HEADLINE","TS_LEXIZE","TS_PARSE","TS_RANK","TS_RANK_CD","TS_REWRITE","TS_STAT","TS_TOKEN_TYPE","WEBSEARCH_TO_TSQUERY","UUID","CURSOR_TO_XML","CURSOR_TO_XMLSCHEMA","DATABASE_TO_XML","DATABASE_TO_XMLSCHEMA","DATABASE_TO_XML_AND_XMLSCHEMA","NEXTVAL","QUERY_TO_XML","QUERY_TO_XMLSCHEMA","QUERY_TO_XML_AND_XMLSCHEMA","SCHEMA_TO_XML","SCHEMA_TO_XMLSCHEMA","SCHEMA_TO_XML_AND_XMLSCHEMA","STRING","TABLE_TO_XML","TABLE_TO_XMLSCHEMA","TABLE_TO_XML_AND_XMLSCHEMA","XMLAGG","XMLCOMMENT","XMLCONCAT","XMLELEMENT","XMLEXISTS","XMLFOREST","XMLPARSE","XMLPI","XMLROOT","XMLSERIALIZE","XMLTABLE","XML_IS_WELL_FORMED","XML_IS_WELL_FORMED_CONTENT","XML_IS_WELL_FORMED_DOCUMENT","XPATH","XPATH_EXISTS","ARRAY_TO_JSON","JSONB_AGG","JSONB_ARRAY_ELEMENTS","JSONB_ARRAY_ELEMENTS_TEXT","JSONB_ARRAY_LENGTH","JSONB_BUILD_ARRAY","JSONB_BUILD_OBJECT","JSONB_EACH","JSONB_EACH_TEXT","JSONB_EXTRACT_PATH","JSONB_EXTRACT_PATH_TEXT","JSONB_INSERT","JSONB_OBJECT","JSONB_OBJECT_AGG","JSONB_OBJECT_KEYS","JSONB_PATH_EXISTS","JSONB_PATH_EXISTS_TZ","JSONB_PATH_MATCH","JSONB_PATH_MATCH_TZ","JSONB_PATH_QUERY","JSONB_PATH_QUERY_ARRAY","JSONB_PATH_QUERY_ARRAY_TZ","JSONB_PATH_QUERY_FIRST","JSONB_PATH_QUERY_FIRST_TZ","JSONB_PATH_QUERY_TZ","JSONB_POPULATE_RECORD","JSONB_POPULATE_RECORDSET","JSONB_PRETTY","JSONB_SET","JSONB_SET_LAX","JSONB_STRIP_NULLS","JSONB_TO_RECORD","JSONB_TO_RECORDSET","JSONB_TYPEOF","JSON_AGG","JSON_ARRAY_ELEMENTS","JSON_ARRAY_ELEMENTS_TEXT","JSON_ARRAY_LENGTH","JSON_BUILD_ARRAY","JSON_BUILD_OBJECT","JSON_EACH","JSON_EACH_TEXT","JSON_EXTRACT_PATH","JSON_EXTRACT_PATH_TEXT","JSON_OBJECT","JSON_OBJECT_AGG","JSON_OBJECT_KEYS","JSON_POPULATE_RECORD","JSON_POPULATE_RECORDSET","JSON_STRIP_NULLS","JSON_TO_RECORD","JSON_TO_RECORDSET","JSON_TYPEOF","ROW_TO_JSON","TO_JSON","TO_JSONB","TO_TIMESTAMP","CURRVAL","LASTVAL","NEXTVAL","SETVAL","COALESCE","GREATEST","LEAST","NULLIF","ARRAY_AGG","ARRAY_APPEND","ARRAY_CAT","ARRAY_DIMS","ARRAY_FILL","ARRAY_LENGTH","ARRAY_LOWER","ARRAY_NDIMS","ARRAY_POSITION","ARRAY_POSITIONS","ARRAY_PREPEND","ARRAY_REMOVE","ARRAY_REPLACE","ARRAY_TO_STRING","ARRAY_UPPER","CARDINALITY","STRING_TO_ARRAY","TRIM_ARRAY","UNNEST","ISEMPTY","LOWER","LOWER_INC","LOWER_INF","MULTIRANGE","RANGE_MERGE","UPPER","UPPER_INC","UPPER_INF","ARRAY_AGG","AVG","BIT_AND","BIT_OR","BIT_XOR","BOOL_AND","BOOL_OR","COALESCE","CORR","COUNT","COVAR_POP","COVAR_SAMP","CUME_DIST","DENSE_RANK","EVERY","GROUPING","JSONB_AGG","JSONB_OBJECT_AGG","JSON_AGG","JSON_OBJECT_AGG","MAX","MIN","MODE","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","RANGE_AGG","RANGE_INTERSECT_AGG","RANK","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","STDDEV","STDDEV_POP","STDDEV_SAMP","STRING_AGG","SUM","TO_JSON","TO_JSONB","VARIANCE","VAR_POP","VAR_SAMP","XMLAGG","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","GENERATE_SERIES","GENERATE_SUBSCRIPTS","ACLDEFAULT","ACLEXPLODE","COL_DESCRIPTION","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_QUERY","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","FORMAT_TYPE","HAS_ANY_COLUMN_PRIVILEGE","HAS_COLUMN_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE","HAS_FUNCTION_PRIVILEGE","HAS_LANGUAGE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_SEQUENCE_PRIVILEGE","HAS_SERVER_PRIVILEGE","HAS_TABLESPACE_PRIVILEGE","HAS_TABLE_PRIVILEGE","HAS_TYPE_PRIVILEGE","INET_CLIENT_ADDR","INET_CLIENT_PORT","INET_SERVER_ADDR","INET_SERVER_PORT","MAKEACLITEM","OBJ_DESCRIPTION","PG_BACKEND_PID","PG_BLOCKING_PIDS","PG_COLLATION_IS_VISIBLE","PG_CONF_LOAD_TIME","PG_CONTROL_CHECKPOINT","PG_CONTROL_INIT","PG_CONTROL_SYSTEM","PG_CONVERSION_IS_VISIBLE","PG_CURRENT_LOGFILE","PG_CURRENT_SNAPSHOT","PG_CURRENT_XACT_ID","PG_CURRENT_XACT_ID_IF_ASSIGNED","PG_DESCRIBE_OBJECT","PG_FUNCTION_IS_VISIBLE","PG_GET_CATALOG_FOREIGN_KEYS","PG_GET_CONSTRAINTDEF","PG_GET_EXPR","PG_GET_FUNCTIONDEF","PG_GET_FUNCTION_ARGUMENTS","PG_GET_FUNCTION_IDENTITY_ARGUMENTS","PG_GET_FUNCTION_RESULT","PG_GET_INDEXDEF","PG_GET_KEYWORDS","PG_GET_OBJECT_ADDRESS","PG_GET_OWNED_SEQUENCE","PG_GET_RULEDEF","PG_GET_SERIAL_SEQUENCE","PG_GET_STATISTICSOBJDEF","PG_GET_TRIGGERDEF","PG_GET_USERBYID","PG_GET_VIEWDEF","PG_HAS_ROLE","PG_IDENTIFY_OBJECT","PG_IDENTIFY_OBJECT_AS_ADDRESS","PG_INDEXAM_HAS_PROPERTY","PG_INDEX_COLUMN_HAS_PROPERTY","PG_INDEX_HAS_PROPERTY","PG_IS_OTHER_TEMP_SCHEMA","PG_JIT_AVAILABLE","PG_LAST_COMMITTED_XACT","PG_LISTENING_CHANNELS","PG_MY_TEMP_SCHEMA","PG_NOTIFICATION_QUEUE_USAGE","PG_OPCLASS_IS_VISIBLE","PG_OPERATOR_IS_VISIBLE","PG_OPFAMILY_IS_VISIBLE","PG_OPTIONS_TO_TABLE","PG_POSTMASTER_START_TIME","PG_SAFE_SNAPSHOT_BLOCKING_PIDS","PG_SNAPSHOT_XIP","PG_SNAPSHOT_XMAX","PG_SNAPSHOT_XMIN","PG_STATISTICS_OBJ_IS_VISIBLE","PG_TABLESPACE_DATABASES","PG_TABLESPACE_LOCATION","PG_TABLE_IS_VISIBLE","PG_TRIGGER_DEPTH","PG_TS_CONFIG_IS_VISIBLE","PG_TS_DICT_IS_VISIBLE","PG_TS_PARSER_IS_VISIBLE","PG_TS_TEMPLATE_IS_VISIBLE","PG_TYPEOF","PG_TYPE_IS_VISIBLE","PG_VISIBLE_IN_SNAPSHOT","PG_XACT_COMMIT_TIMESTAMP","PG_XACT_COMMIT_TIMESTAMP_ORIGIN","PG_XACT_STATUS","PQSERVERVERSION","ROW_SECURITY_ACTIVE","SESSION_USER","SHOBJ_DESCRIPTION","TO_REGCLASS","TO_REGCOLLATION","TO_REGNAMESPACE","TO_REGOPER","TO_REGOPERATOR","TO_REGPROC","TO_REGPROCEDURE","TO_REGROLE","TO_REGTYPE","TXID_CURRENT","TXID_CURRENT_IF_ASSIGNED","TXID_CURRENT_SNAPSHOT","TXID_SNAPSHOT_XIP","TXID_SNAPSHOT_XMAX","TXID_SNAPSHOT_XMIN","TXID_STATUS","TXID_VISIBLE_IN_SNAPSHOT","USER","VERSION","BRIN_DESUMMARIZE_RANGE","BRIN_SUMMARIZE_NEW_VALUES","BRIN_SUMMARIZE_RANGE","CONVERT_FROM","CURRENT_SETTING","GIN_CLEAN_PENDING_LIST","PG_ADVISORY_LOCK","PG_ADVISORY_LOCK_SHARED","PG_ADVISORY_UNLOCK","PG_ADVISORY_UNLOCK_ALL","PG_ADVISORY_UNLOCK_SHARED","PG_ADVISORY_XACT_LOCK","PG_ADVISORY_XACT_LOCK_SHARED","PG_BACKUP_START_TIME","PG_CANCEL_BACKEND","PG_COLLATION_ACTUAL_VERSION","PG_COLUMN_COMPRESSION","PG_COLUMN_SIZE","PG_COPY_LOGICAL_REPLICATION_SLOT","PG_COPY_PHYSICAL_REPLICATION_SLOT","PG_CREATE_LOGICAL_REPLICATION_SLOT","PG_CREATE_PHYSICAL_REPLICATION_SLOT","PG_CREATE_RESTORE_POINT","PG_CURRENT_WAL_FLUSH_LSN","PG_CURRENT_WAL_INSERT_LSN","PG_CURRENT_WAL_LSN","PG_DATABASE_SIZE","PG_DROP_REPLICATION_SLOT","PG_EXPORT_SNAPSHOT","PG_FILENODE_RELATION","PG_GET_WAL_REPLAY_PAUSE_STATE","PG_IMPORT_SYSTEM_COLLATIONS","PG_INDEXES_SIZE","PG_IS_IN_BACKUP","PG_IS_IN_RECOVERY","PG_IS_WAL_REPLAY_PAUSED","PG_LAST_WAL_RECEIVE_LSN","PG_LAST_WAL_REPLAY_LSN","PG_LAST_XACT_REPLAY_TIMESTAMP","PG_LOGICAL_EMIT_MESSAGE","PG_LOGICAL_SLOT_GET_BINARY_CHANGES","PG_LOGICAL_SLOT_GET_CHANGES","PG_LOGICAL_SLOT_PEEK_BINARY_CHANGES","PG_LOGICAL_SLOT_PEEK_CHANGES","PG_LOG_BACKEND_MEMORY_CONTEXTS","PG_LS_ARCHIVE_STATUSDIR","PG_LS_DIR","PG_LS_LOGDIR","PG_LS_TMPDIR","PG_LS_WALDIR","PG_PARTITION_ANCESTORS","PG_PARTITION_ROOT","PG_PARTITION_TREE","PG_PROMOTE","PG_READ_BINARY_FILE","PG_READ_FILE","PG_RELATION_FILENODE","PG_RELATION_FILEPATH","PG_RELATION_SIZE","PG_RELOAD_CONF","PG_REPLICATION_ORIGIN_ADVANCE","PG_REPLICATION_ORIGIN_CREATE","PG_REPLICATION_ORIGIN_DROP","PG_REPLICATION_ORIGIN_OID","PG_REPLICATION_ORIGIN_PROGRESS","PG_REPLICATION_ORIGIN_SESSION_IS_SETUP","PG_REPLICATION_ORIGIN_SESSION_PROGRESS","PG_REPLICATION_ORIGIN_SESSION_RESET","PG_REPLICATION_ORIGIN_SESSION_SETUP","PG_REPLICATION_ORIGIN_XACT_RESET","PG_REPLICATION_ORIGIN_XACT_SETUP","PG_REPLICATION_SLOT_ADVANCE","PG_ROTATE_LOGFILE","PG_SIZE_BYTES","PG_SIZE_PRETTY","PG_START_BACKUP","PG_STAT_FILE","PG_STOP_BACKUP","PG_SWITCH_WAL","PG_TABLESPACE_SIZE","PG_TABLE_SIZE","PG_TERMINATE_BACKEND","PG_TOTAL_RELATION_SIZE","PG_TRY_ADVISORY_LOCK","PG_TRY_ADVISORY_LOCK_SHARED","PG_TRY_ADVISORY_XACT_LOCK","PG_TRY_ADVISORY_XACT_LOCK_SHARED","PG_WALFILE_NAME","PG_WALFILE_NAME_OFFSET","PG_WAL_LSN_DIFF","PG_WAL_REPLAY_PAUSE","PG_WAL_REPLAY_RESUME","SET_CONFIG","SUPPRESS_REDUNDANT_UPDATES_TRIGGER","TSVECTOR_UPDATE_TRIGGER","TSVECTOR_UPDATE_TRIGGER_COLUMN","PG_EVENT_TRIGGER_DDL_COMMANDS","PG_EVENT_TRIGGER_DROPPED_OBJECTS","PG_EVENT_TRIGGER_TABLE_REWRITE_OID","PG_EVENT_TRIGGER_TABLE_REWRITE_REASON","PG_GET_OBJECT_ADDRESS","PG_MCV_LIST_ITEMS","CAST"],nestedBlockComments:!0,extraParens:["[]"],stringTypes:["$$",{quote:"''-qq",prefixes:["U&"]},{quote:"''-qq-bs",prefixes:["E"],requirePrefix:!0},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:[{quote:'""-qq',prefixes:["U&"]}],identChars:{rest:"$"},paramTypes:{numbered:["$"]},operators:["%","^","|/","||/","@",":=","&","|","#","~","<<",">>","~>~","~<~","~>=~","~<=~","@-@","@@","##","<->","&&","&<","&>","<<|","&<|","|>>","|&>","<^","^>","?#","?-","?|","?-|","?||","@>","<@","~=","?","@?","?&","->","->>","#>","#>>","#-","=>",">>=","<<=","~~","~~*","!~~","!~~*","~","~*","!~","!~*","-|-","||","@@@","!!","^@","<%","%>","<<%","%>>","<<->","<->>","<<<->","<->>>","::",":","<#>","<=>","<+>","<~>","<%>"],operatorKeyword:!0},formatOptions:{alwaysDenseOperators:["::",":"],onelineClauses:[...S$i,...w$i],tabularOnelineClauses:w$i}},R$i=Fji(["SELECT [ALL | DISTINCT]"]),N$i=Fji(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET"]),I$i=Fji(["CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]"]),D$i=Fji(["CREATE [OR REPLACE | MATERIALIZED] VIEW","UPDATE","DELETE [FROM]","DROP TABLE [IF EXISTS]","ALTER TABLE","ALTER TABLE APPEND","ADD [COLUMN]","DROP [COLUMN]","RENAME TO","RENAME COLUMN","ALTER COLUMN","TYPE","ENCODE","TRUNCATE [TABLE]","ABORT","ALTER DATABASE","ALTER DATASHARE","ALTER DEFAULT PRIVILEGES","ALTER GROUP","ALTER MATERIALIZED VIEW","ALTER PROCEDURE","ALTER SCHEMA","ALTER USER","ANALYSE","ANALYZE","ANALYSE COMPRESSION","ANALYZE COMPRESSION","BEGIN","CALL","CANCEL","CLOSE","COMMIT","COPY","CREATE DATABASE","CREATE DATASHARE","CREATE EXTERNAL FUNCTION","CREATE EXTERNAL SCHEMA","CREATE EXTERNAL TABLE","CREATE FUNCTION","CREATE GROUP","CREATE LIBRARY","CREATE MODEL","CREATE PROCEDURE","CREATE SCHEMA","CREATE USER","DEALLOCATE","DECLARE","DESC DATASHARE","DROP DATABASE","DROP DATASHARE","DROP FUNCTION","DROP GROUP","DROP LIBRARY","DROP MODEL","DROP MATERIALIZED VIEW","DROP PROCEDURE","DROP SCHEMA","DROP USER","DROP VIEW","DROP","EXECUTE","EXPLAIN","FETCH","GRANT","LOCK","PREPARE","REFRESH MATERIALIZED VIEW","RESET","REVOKE","ROLLBACK","SELECT INTO","SET SESSION AUTHORIZATION","SET SESSION CHARACTERISTICS","SHOW","SHOW EXTERNAL TABLE","SHOW MODEL","SHOW DATASHARES","SHOW PROCEDURE","SHOW TABLE","SHOW VIEW","START TRANSACTION","UNLOAD","VACUUM"]),O$i=Fji(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),k$i=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),L$i=Fji(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),M$i={name:"redshift",tokenizerOptions:{reservedSelect:R$i,reservedClauses:[...N$i,...I$i,...D$i],reservedSetOperations:O$i,reservedJoins:k$i,reservedPhrases:L$i,reservedKeywords:["AES128","AES256","ALL","ALLOWOVERWRITE","ANY","AS","ASC","AUTHORIZATION","BACKUP","BETWEEN","BINARY","BOTH","CHECK","COLUMN","CONSTRAINT","CREATE","CROSS","DEFAULT","DEFERRABLE","DEFLATE","DEFRAG","DESC","DISABLE","DISTINCT","DO","ENABLE","ENCODE","ENCRYPT","ENCRYPTION","EXPLICIT","FALSE","FOR","FOREIGN","FREEZE","FROM","FULL","GLOBALDICT256","GLOBALDICT64K","GROUP","IDENTITY","IGNORE","ILIKE","IN","INITIALLY","INNER","INTO","IS","ISNULL","LANGUAGE","LEADING","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","LUN","LUNS","MINUS","NATURAL","NEW","NOT","NOTNULL","NULL","NULLS","OFF","OFFLINE","OFFSET","OID","OLD","ON","ONLY","OPEN","ORDER","OUTER","OVERLAPS","PARALLEL","PARTITION","PERCENT","PERMISSIONS","PLACING","PRIMARY","RECOVER","REFERENCES","REJECTLOG","RESORT","RESPECT","RESTORE","SIMILAR","SNAPSHOT","SOME","SYSTEM","TABLE","TAG","TDES","THEN","TIMESTAMP","TO","TOP","TRAILING","TRUE","UNIQUE","USING","VERBOSE","WALLET","WITHOUT","ACCEPTANYDATE","ACCEPTINVCHARS","BLANKSASNULL","DATEFORMAT","EMPTYASNULL","ENCODING","ESCAPE","EXPLICIT_IDS","FILLRECORD","IGNOREBLANKLINES","IGNOREHEADER","REMOVEQUOTES","ROUNDEC","TIMEFORMAT","TRIMBLANKS","TRUNCATECOLUMNS","COMPROWS","COMPUPDATE","MAXERROR","NOLOAD","STATUPDATE","FORMAT","CSV","DELIMITER","FIXEDWIDTH","SHAPEFILE","AVRO","JSON","PARQUET","ORC","ACCESS_KEY_ID","CREDENTIALS","ENCRYPTED","IAM_ROLE","MASTER_SYMMETRIC_KEY","SECRET_ACCESS_KEY","SESSION_TOKEN","BZIP2","GZIP","LZOP","ZSTD","MANIFEST","READRATIO","REGION","SSH","RAW","AZ64","BYTEDICT","DELTA","DELTA32K","LZO","MOSTLY8","MOSTLY16","MOSTLY32","RUNLENGTH","TEXT255","TEXT32K","CATALOG_ROLE","SECRET_ARN","EXTERNAL","AUTO","EVEN","KEY","PREDICATE","COMPRESSION"],reservedDataTypes:["ARRAY","BIGINT","BPCHAR","CHAR","CHARACTER VARYING","CHARACTER","DECIMAL","INT","INT2","INT4","INT8","INTEGER","NCHAR","NUMERIC","NVARCHAR","SMALLINT","TEXT","VARBYTE","VARCHAR"],reservedFunctionNames:["ANY_VALUE","APPROXIMATE PERCENTILE_DISC","AVG","COUNT","LISTAGG","MAX","MEDIAN","MIN","PERCENTILE_CONT","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP","array","array_concat","array_flatten","get_array_length","split_to_array","subarray","BIT_AND","BIT_OR","BOOL_AND","BOOL_OR","COALESCE","DECODE","GREATEST","LEAST","NVL","NVL2","NULLIF","ADD_MONTHS","AT TIME ZONE","CONVERT_TIMEZONE","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE_CMP","DATE_CMP_TIMESTAMP","DATE_CMP_TIMESTAMPTZ","DATE_PART_YEAR","DATEADD","DATEDIFF","DATE_PART","DATE_TRUNC","EXTRACT","GETDATE","INTERVAL_CMP","LAST_DAY","MONTHS_BETWEEN","NEXT_DAY","SYSDATE","TIMEOFDAY","TIMESTAMP_CMP","TIMESTAMP_CMP_DATE","TIMESTAMP_CMP_TIMESTAMPTZ","TIMESTAMPTZ_CMP","TIMESTAMPTZ_CMP_DATE","TIMESTAMPTZ_CMP_TIMESTAMP","TIMEZONE","TO_TIMESTAMP","TRUNC","AddBBox","DropBBox","GeometryType","ST_AddPoint","ST_Angle","ST_Area","ST_AsBinary","ST_AsEWKB","ST_AsEWKT","ST_AsGeoJSON","ST_AsText","ST_Azimuth","ST_Boundary","ST_Collect","ST_Contains","ST_ContainsProperly","ST_ConvexHull","ST_CoveredBy","ST_Covers","ST_Crosses","ST_Dimension","ST_Disjoint","ST_Distance","ST_DistanceSphere","ST_DWithin","ST_EndPoint","ST_Envelope","ST_Equals","ST_ExteriorRing","ST_Force2D","ST_Force3D","ST_Force3DM","ST_Force3DZ","ST_Force4D","ST_GeometryN","ST_GeometryType","ST_GeomFromEWKB","ST_GeomFromEWKT","ST_GeomFromText","ST_GeomFromWKB","ST_InteriorRingN","ST_Intersects","ST_IsPolygonCCW","ST_IsPolygonCW","ST_IsClosed","ST_IsCollection","ST_IsEmpty","ST_IsSimple","ST_IsValid","ST_Length","ST_LengthSphere","ST_Length2D","ST_LineFromMultiPoint","ST_LineInterpolatePoint","ST_M","ST_MakeEnvelope","ST_MakeLine","ST_MakePoint","ST_MakePolygon","ST_MemSize","ST_MMax","ST_MMin","ST_Multi","ST_NDims","ST_NPoints","ST_NRings","ST_NumGeometries","ST_NumInteriorRings","ST_NumPoints","ST_Perimeter","ST_Perimeter2D","ST_Point","ST_PointN","ST_Points","ST_Polygon","ST_RemovePoint","ST_Reverse","ST_SetPoint","ST_SetSRID","ST_Simplify","ST_SRID","ST_StartPoint","ST_Touches","ST_Within","ST_X","ST_XMax","ST_XMin","ST_Y","ST_YMax","ST_YMin","ST_Z","ST_ZMax","ST_ZMin","SupportsBBox","CHECKSUM","FUNC_SHA1","FNV_HASH","MD5","SHA","SHA1","SHA2","HLL","HLL_CREATE_SKETCH","HLL_CARDINALITY","HLL_COMBINE","IS_VALID_JSON","IS_VALID_JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_EXTRACT_ARRAY_ELEMENT_TEXT","JSON_EXTRACT_PATH_TEXT","JSON_PARSE","JSON_SERIALIZE","ABS","ACOS","ASIN","ATAN","ATAN2","CBRT","CEILING","CEIL","COS","COT","DEGREES","DEXP","DLOG1","DLOG10","EXP","FLOOR","LN","LOG","MOD","PI","POWER","RADIANS","RANDOM","ROUND","SIN","SIGN","SQRT","TAN","TO_HEX","TRUNC","EXPLAIN_MODEL","ASCII","BPCHARCMP","BTRIM","BTTEXT_PATTERN_CMP","CHAR_LENGTH","CHARACTER_LENGTH","CHARINDEX","CHR","COLLATE","CONCAT","CRC32","DIFFERENCE","INITCAP","LEFT","RIGHT","LEN","LENGTH","LOWER","LPAD","RPAD","LTRIM","OCTETINDEX","OCTET_LENGTH","POSITION","QUOTE_IDENT","QUOTE_LITERAL","REGEXP_COUNT","REGEXP_INSTR","REGEXP_REPLACE","REGEXP_SUBSTR","REPEAT","REPLACE","REPLICATE","REVERSE","RTRIM","SOUNDEX","SPLIT_PART","STRPOS","STRTOL","SUBSTRING","TEXTLEN","TRANSLATE","TRIM","UPPER","decimal_precision","decimal_scale","is_array","is_bigint","is_boolean","is_char","is_decimal","is_float","is_integer","is_object","is_scalar","is_smallint","is_varchar","json_typeof","AVG","COUNT","CUME_DIST","DENSE_RANK","FIRST_VALUE","LAST_VALUE","LAG","LEAD","LISTAGG","MAX","MEDIAN","MIN","NTH_VALUE","NTILE","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","RANK","RATIO_TO_REPORT","ROW_NUMBER","STDDEV_SAMP","STDDEV_POP","SUM","VAR_SAMP","VAR_POP","CAST","CONVERT","TO_CHAR","TO_DATE","TO_NUMBER","TEXT_TO_INT_ALT","TEXT_TO_NUMERIC_ALT","CHANGE_QUERY_PRIORITY","CHANGE_SESSION_PRIORITY","CHANGE_USER_PRIORITY","CURRENT_SETTING","PG_CANCEL_BACKEND","PG_TERMINATE_BACKEND","REBOOT_CLUSTER","SET_CONFIG","CURRENT_AWS_ACCOUNT","CURRENT_DATABASE","CURRENT_NAMESPACE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_USER","CURRENT_USER_ID","HAS_ASSUMEROLE_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_TABLE_PRIVILEGE","PG_BACKEND_PID","PG_GET_COLS","PG_GET_GRANTEE_BY_IAM_ROLE","PG_GET_IAM_ROLE_BY_USER","PG_GET_LATE_BINDING_VIEW_COLS","PG_LAST_COPY_COUNT","PG_LAST_COPY_ID","PG_LAST_UNLOAD_ID","PG_LAST_QUERY_ID","PG_LAST_UNLOAD_COUNT","SESSION_USER","SLICE_NUM","USER","VERSION"],stringTypes:["''-qq"],identTypes:['""-qq'],identChars:{first:"#"},paramTypes:{numbered:["$"]},operators:["^","%","@","|/","||/","&","|","~","<<",">>","||","::"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...I$i,...D$i],tabularOnelineClauses:D$i}},P$i=Fji(["SELECT [ALL | DISTINCT]"]),F$i=Fji(["WITH","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","SORT BY","CLUSTER BY","DISTRIBUTE BY","LIMIT","INSERT [INTO | OVERWRITE] [TABLE]","VALUES","INSERT OVERWRITE [LOCAL] DIRECTORY","LOAD DATA [LOCAL] INPATH","[OVERWRITE] INTO TABLE"]),B$i=Fji(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]),V$i=Fji(["CREATE [OR REPLACE] [GLOBAL TEMPORARY | TEMPORARY] VIEW [IF NOT EXISTS]","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD COLUMNS","DROP {COLUMN | COLUMNS}","RENAME TO","RENAME COLUMN","ALTER COLUMN","TRUNCATE TABLE","LATERAL VIEW","ALTER DATABASE","ALTER VIEW","CREATE DATABASE","CREATE FUNCTION","DROP DATABASE","DROP FUNCTION","DROP VIEW","REPAIR TABLE","USE DATABASE","TABLESAMPLE","PIVOT","TRANSFORM","EXPLAIN","ADD FILE","ADD JAR","ANALYZE TABLE","CACHE TABLE","CLEAR CACHE","DESCRIBE DATABASE","DESCRIBE FUNCTION","DESCRIBE QUERY","DESCRIBE TABLE","LIST FILE","LIST JAR","REFRESH","REFRESH TABLE","REFRESH FUNCTION","RESET","SHOW COLUMNS","SHOW CREATE TABLE","SHOW DATABASES","SHOW FUNCTIONS","SHOW PARTITIONS","SHOW TABLE EXTENDED","SHOW TABLES","SHOW TBLPROPERTIES","SHOW VIEWS","UNCACHE TABLE"]),U$i=Fji(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),G$i=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT] {ANTI | SEMI} JOIN","NATURAL [LEFT] {ANTI | SEMI} JOIN"]),H$i=Fji(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),z$i={name:"spark",tokenizerOptions:{reservedSelect:P$i,reservedClauses:[...F$i,...B$i,...V$i],reservedSetOperations:U$i,reservedJoins:G$i,reservedPhrases:H$i,supportsXor:!0,reservedKeywords:["ADD","AFTER","ALL","ALTER","ANALYZE","AND","ANTI","ANY","ARCHIVE","AS","ASC","AT","AUTHORIZATION","BETWEEN","BOTH","BUCKET","BUCKETS","BY","CACHE","CASCADE","CAST","CHANGE","CHECK","CLEAR","CLUSTER","CLUSTERED","CODEGEN","COLLATE","COLLECTION","COLUMN","COLUMNS","COMMENT","COMMIT","COMPACT","COMPACTIONS","COMPUTE","CONCATENATE","CONSTRAINT","COST","CREATE","CROSS","CUBE","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATA","DATABASE","DATABASES","DAY","DBPROPERTIES","DEFINED","DELETE","DELIMITED","DESC","DESCRIBE","DFS","DIRECTORIES","DIRECTORY","DISTINCT","DISTRIBUTE","DIV","DROP","ESCAPE","ESCAPED","EXCEPT","EXCHANGE","EXISTS","EXPORT","EXTENDED","EXTERNAL","EXTRACT","FALSE","FETCH","FIELDS","FILTER","FILEFORMAT","FIRST","FIRST_VALUE","FOLLOWING","FOR","FOREIGN","FORMAT","FORMATTED","FULL","FUNCTION","FUNCTIONS","GLOBAL","GRANT","GROUP","GROUPING","HOUR","IF","IGNORE","IMPORT","IN","INDEX","INDEXES","INNER","INPATH","INPUTFORMAT","INTERSECT","INTO","IS","ITEMS","KEYS","LAST","LAST_VALUE","LATERAL","LAZY","LEADING","LEFT","LIKE","LINES","LIST","LOCAL","LOCATION","LOCK","LOCKS","LOGICAL","MACRO","MATCHED","MERGE","MINUTE","MONTH","MSCK","NAMESPACE","NAMESPACES","NATURAL","NO","NOT","NULL","NULLS","OF","ONLY","OPTION","OPTIONS","OR","ORDER","OUT","OUTER","OUTPUTFORMAT","OVER","OVERLAPS","OVERLAY","OVERWRITE","OWNER","PARTITION","PARTITIONED","PARTITIONS","PERCENT","PLACING","POSITION","PRECEDING","PRIMARY","PRINCIPALS","PROPERTIES","PURGE","QUERY","RANGE","RECORDREADER","RECORDWRITER","RECOVER","REDUCE","REFERENCES","RENAME","REPAIR","REPLACE","RESPECT","RESTRICT","REVOKE","RIGHT","RLIKE","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","SCHEMA","SECOND","SELECT","SEMI","SEPARATED","SERDE","SERDEPROPERTIES","SESSION_USER","SETS","SHOW","SKEWED","SOME","SORT","SORTED","START","STATISTICS","STORED","STRATIFY","SUBSTR","SUBSTRING","TABLE","TABLES","TBLPROPERTIES","TEMPORARY","TERMINATED","THEN","TO","TOUCH","TRAILING","TRANSACTION","TRANSACTIONS","TRIM","TRUE","TRUNCATE","UNARCHIVE","UNBOUNDED","UNCACHE","UNIQUE","UNKNOWN","UNLOCK","UNSET","USE","USER","USING","VIEW","WINDOW","YEAR","ANALYSE","ARRAY_ZIP","COALESCE","CONTAINS","CONVERT","DAYS","DAY_HOUR","DAY_MINUTE","DAY_SECOND","DECODE","DEFAULT","DISTINCTROW","ENCODE","EXPLODE","EXPLODE_OUTER","FIXED","GREATEST","GROUP_CONCAT","HOURS","HOUR_MINUTE","HOUR_SECOND","IFNULL","LEAST","LEVEL","MINUTE_SECOND","NULLIF","OFFSET","ON","OPTIMIZE","REGEXP","SEPARATOR","SIZE","TYPE","TYPES","UNSIGNED","VARIABLES","YEAR_MONTH"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BOOLEAN","BYTE","CHAR","DATE","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","LONG","MAP","NUMERIC","REAL","SHORT","SMALLINT","STRING","STRUCT","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMP","TINYINT","VARCHAR"],reservedFunctionNames:["APPROX_COUNT_DISTINCT","APPROX_PERCENTILE","AVG","BIT_AND","BIT_OR","BIT_XOR","BOOL_AND","BOOL_OR","COLLECT_LIST","COLLECT_SET","CORR","COUNT","COUNT","COUNT","COUNT_IF","COUNT_MIN_SKETCH","COVAR_POP","COVAR_SAMP","EVERY","FIRST","FIRST_VALUE","GROUPING","GROUPING_ID","KURTOSIS","LAST","LAST_VALUE","MAX","MAX_BY","MEAN","MIN","MIN_BY","PERCENTILE","PERCENTILE","PERCENTILE_APPROX","SKEWNESS","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","SUM","VAR_POP","VAR_SAMP","VARIANCE","CUME_DIST","DENSE_RANK","LAG","LEAD","NTH_VALUE","NTILE","PERCENT_RANK","RANK","ROW_NUMBER","ARRAY","ARRAY_CONTAINS","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_REPEAT","ARRAY_UNION","ARRAYS_OVERLAP","ARRAYS_ZIP","FLATTEN","SEQUENCE","SHUFFLE","SLICE","SORT_ARRAY","ELEMENT_AT","ELEMENT_AT","MAP_CONCAT","MAP_ENTRIES","MAP_FROM_ARRAYS","MAP_FROM_ENTRIES","MAP_KEYS","MAP_VALUES","STR_TO_MAP","ADD_MONTHS","CURRENT_DATE","CURRENT_DATE","CURRENT_TIMESTAMP","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","DATE_ADD","DATE_FORMAT","DATE_FROM_UNIX_DATE","DATE_PART","DATE_SUB","DATE_TRUNC","DATEDIFF","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","EXTRACT","FROM_UNIXTIME","FROM_UTC_TIMESTAMP","HOUR","LAST_DAY","MAKE_DATE","MAKE_DT_INTERVAL","MAKE_INTERVAL","MAKE_TIMESTAMP","MAKE_YM_INTERVAL","MINUTE","MONTH","MONTHS_BETWEEN","NEXT_DAY","NOW","QUARTER","SECOND","SESSION_WINDOW","TIMESTAMP_MICROS","TIMESTAMP_MILLIS","TIMESTAMP_SECONDS","TO_DATE","TO_TIMESTAMP","TO_UNIX_TIMESTAMP","TO_UTC_TIMESTAMP","TRUNC","UNIX_DATE","UNIX_MICROS","UNIX_MILLIS","UNIX_SECONDS","UNIX_TIMESTAMP","WEEKDAY","WEEKOFYEAR","WINDOW","YEAR","FROM_JSON","GET_JSON_OBJECT","JSON_ARRAY_LENGTH","JSON_OBJECT_KEYS","JSON_TUPLE","SCHEMA_OF_JSON","TO_JSON","ABS","ACOS","ACOSH","AGGREGATE","ARRAY_SORT","ASCII","ASIN","ASINH","ASSERT_TRUE","ATAN","ATAN2","ATANH","BASE64","BIN","BIT_COUNT","BIT_GET","BIT_LENGTH","BROUND","BTRIM","CARDINALITY","CBRT","CEIL","CEILING","CHAR_LENGTH","CHARACTER_LENGTH","CHR","CONCAT","CONCAT_WS","CONV","COS","COSH","COT","CRC32","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_USER","DEGREES","ELT","EXP","EXPM1","FACTORIAL","FIND_IN_SET","FLOOR","FORALL","FORMAT_NUMBER","FORMAT_STRING","FROM_CSV","GETBIT","HASH","HEX","HYPOT","INITCAP","INLINE","INLINE_OUTER","INPUT_FILE_BLOCK_LENGTH","INPUT_FILE_BLOCK_START","INPUT_FILE_NAME","INSTR","ISNAN","ISNOTNULL","ISNULL","JAVA_METHOD","LCASE","LEFT","LENGTH","LEVENSHTEIN","LN","LOCATE","LOG","LOG10","LOG1P","LOG2","LOWER","LPAD","LTRIM","MAP_FILTER","MAP_ZIP_WITH","MD5","MOD","MONOTONICALLY_INCREASING_ID","NAMED_STRUCT","NANVL","NEGATIVE","NVL","NVL2","OCTET_LENGTH","OVERLAY","PARSE_URL","PI","PMOD","POSEXPLODE","POSEXPLODE_OUTER","POSITION","POSITIVE","POW","POWER","PRINTF","RADIANS","RAISE_ERROR","RAND","RANDN","RANDOM","REFLECT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_REPLACE","REPEAT","REPLACE","REVERSE","RIGHT","RINT","ROUND","RPAD","RTRIM","SCHEMA_OF_CSV","SENTENCES","SHA","SHA1","SHA2","SHIFTLEFT","SHIFTRIGHT","SHIFTRIGHTUNSIGNED","SIGN","SIGNUM","SIN","SINH","SOUNDEX","SPACE","SPARK_PARTITION_ID","SPLIT","SQRT","STACK","SUBSTR","SUBSTRING","SUBSTRING_INDEX","TAN","TANH","TO_CSV","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRY_ADD","TRY_DIVIDE","TYPEOF","UCASE","UNBASE64","UNHEX","UPPER","UUID","VERSION","WIDTH_BUCKET","XPATH","XPATH_BOOLEAN","XPATH_DOUBLE","XPATH_FLOAT","XPATH_INT","XPATH_LONG","XPATH_NUMBER","XPATH_SHORT","XPATH_STRING","XXHASH64","ZIP_WITH","CAST","COALESCE","NULLIF"],extraParens:["[]"],stringTypes:["''-bs",'""-bs',{quote:"''-raw",prefixes:["R","X"],requirePrefix:!0},{quote:'""-raw',prefixes:["R","X"],requirePrefix:!0}],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||","->"],postProcess:function(e){return e.map((t,n)=>{const i=e[n-1]||Xji,r=e[n+1]||Xji;return Qji.WINDOW(t)&&"OPEN_PAREN"===r.type?Mji(Lji({},t),{type:"RESERVED_FUNCTION_NAME"}):"ITEMS"!==t.text||"RESERVED_KEYWORD"!==t.type||"COLLECTION"===i.text&&"TERMINATED"===r.text?t:Mji(Lji({},t),{type:"IDENTIFIER",text:t.raw})})}},formatOptions:{onelineClauses:[...B$i,...V$i],tabularOnelineClauses:V$i}};var j$i=Fji(["SELECT [ALL | DISTINCT]"]),W$i=Fji(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK] INTO","REPLACE INTO","VALUES","SET"]),$$i=Fji(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),q$i=Fji(["CREATE [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]","UPDATE [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK]","ON CONFLICT","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD [COLUMN]","DROP [COLUMN]","RENAME [COLUMN]","RENAME TO","SET SCHEMA"]),Y$i=Fji(["UNION [ALL]","EXCEPT","INTERSECT"]),K$i=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),X$i=Fji(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","DO UPDATE"]),Z$i={name:"sqlite",tokenizerOptions:{reservedSelect:j$i,reservedClauses:[...W$i,...$$i,...q$i],reservedSetOperations:Y$i,reservedJoins:K$i,reservedPhrases:X$i,reservedKeywords:["ABORT","ACTION","ADD","AFTER","ALL","ALTER","AND","ARE","ALWAYS","ANALYZE","AS","ASC","ATTACH","AUTOINCREMENT","BEFORE","BEGIN","BETWEEN","BY","CASCADE","CASE","CAST","CHECK","COLLATE","COLUMN","COMMIT","CONFLICT","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATABASE","DEFAULT","DEFERRABLE","DEFERRED","DELETE","DESC","DETACH","DISTINCT","DO","DROP","EACH","ELSE","END","ESCAPE","EXCEPT","EXCLUDE","EXCLUSIVE","EXISTS","EXPLAIN","FAIL","FILTER","FIRST","FOLLOWING","FOR","FOREIGN","FROM","FULL","GENERATED","GLOB","GROUP","HAVING","IF","IGNORE","IMMEDIATE","IN","INDEX","INDEXED","INITIALLY","INNER","INSERT","INSTEAD","INTERSECT","INTO","IS","ISNULL","JOIN","KEY","LAST","LEFT","LIKE","LIMIT","MATCH","MATERIALIZED","NATURAL","NO","NOT","NOTHING","NOTNULL","NULL","NULLS","OF","OFFSET","ON","ONLY","OPEN","OR","ORDER","OTHERS","OUTER","OVER","PARTITION","PLAN","PRAGMA","PRECEDING","PRIMARY","QUERY","RAISE","RANGE","RECURSIVE","REFERENCES","REGEXP","REINDEX","RELEASE","RENAME","REPLACE","RESTRICT","RETURNING","RIGHT","ROLLBACK","ROW","ROWS","SAVEPOINT","SELECT","SET","TABLE","TEMP","TEMPORARY","THEN","TIES","TO","TRANSACTION","TRIGGER","UNBOUNDED","UNION","UNIQUE","UPDATE","USING","VACUUM","VALUES","VIEW","VIRTUAL","WHEN","WHERE","WINDOW","WITH","WITHOUT"],reservedDataTypes:["ANY","ARRAY","BLOB","CHARACTER","DECIMAL","INT","INTEGER","NATIVE CHARACTER","NCHAR","NUMERIC","NVARCHAR","REAL","TEXT","VARCHAR","VARYING CHARACTER"],reservedFunctionNames:["ABS","CHANGES","CHAR","COALESCE","FORMAT","GLOB","HEX","IFNULL","IIF","INSTR","LAST_INSERT_ROWID","LENGTH","LIKE","LIKELIHOOD","LIKELY","LOAD_EXTENSION","LOWER","LTRIM","NULLIF","PRINTF","QUOTE","RANDOM","RANDOMBLOB","REPLACE","ROUND","RTRIM","SIGN","SOUNDEX","SQLITE_COMPILEOPTION_GET","SQLITE_COMPILEOPTION_USED","SQLITE_OFFSET","SQLITE_SOURCE_ID","SQLITE_VERSION","SUBSTR","SUBSTRING","TOTAL_CHANGES","TRIM","TYPEOF","UNICODE","UNLIKELY","UPPER","ZEROBLOB","AVG","COUNT","GROUP_CONCAT","MAX","MIN","SUM","TOTAL","DATE","TIME","DATETIME","JULIANDAY","UNIXEPOCH","STRFTIME","row_number","rank","dense_rank","percent_rank","cume_dist","ntile","lag","lead","first_value","last_value","nth_value","ACOS","ACOSH","ASIN","ASINH","ATAN","ATAN2","ATANH","CEIL","CEILING","COS","COSH","DEGREES","EXP","FLOOR","LN","LOG","LOG","LOG10","LOG2","MOD","PI","POW","POWER","RADIANS","SIN","SINH","SQRT","TAN","TANH","TRUNC","JSON","JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_ARRAY_LENGTH","JSON_EXTRACT","JSON_INSERT","JSON_OBJECT","JSON_PATCH","JSON_REMOVE","JSON_REPLACE","JSON_SET","JSON_TYPE","JSON_TYPE","JSON_VALID","JSON_QUOTE","JSON_GROUP_ARRAY","JSON_GROUP_OBJECT","JSON_EACH","JSON_TREE","CAST"],stringTypes:["''-qq",{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``","[]"],paramTypes:{positional:!0,numbered:["?"],named:[":","@","$"]},operators:["%","~","&","|","<<",">>","==","->","->>","||"]},formatOptions:{onelineClauses:[...$$i,...q$i],tabularOnelineClauses:q$i}},Q$i=Fji(["SELECT [ALL | DISTINCT]"]),J$i=Fji(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET"]),eqi=Fji(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]),tqi=Fji(["CREATE [RECURSIVE] VIEW","UPDATE","WHERE CURRENT OF","DELETE FROM","DROP TABLE","ALTER TABLE","ADD COLUMN","DROP [COLUMN]","RENAME COLUMN","RENAME TO","ALTER [COLUMN]","{SET | DROP} DEFAULT","ADD SCOPE","DROP SCOPE {CASCADE | RESTRICT}","RESTART WITH","TRUNCATE TABLE","SET SCHEMA"]),nqi=Fji(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),iqi=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),rqi=Fji(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),sqi={name:"sql",tokenizerOptions:{reservedSelect:Q$i,reservedClauses:[...J$i,...eqi,...tqi],reservedSetOperations:nqi,reservedJoins:iqi,reservedPhrases:rqi,reservedKeywords:["ALL","ALLOCATE","ALTER","ANY","ARE","AS","ASC","ASENSITIVE","ASYMMETRIC","AT","ATOMIC","AUTHORIZATION","BEGIN","BETWEEN","BOTH","BY","CALL","CALLED","CASCADED","CAST","CHECK","CLOSE","COALESCE","COLLATE","COLUMN","COMMIT","CONDITION","CONNECT","CONSTRAINT","CORRESPONDING","CREATE","CROSS","CUBE","CURRENT","CURRENT_CATALOG","CURRENT_DEFAULT_TRANSFORM_GROUP","CURRENT_PATH","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TRANSFORM_GROUP_FOR_TYPE","CURRENT_USER","CURSOR","CYCLE","DEALLOCATE","DAY","DECLARE","DEFAULT","DELETE","DEREF","DESC","DESCRIBE","DETERMINISTIC","DISCONNECT","DISTINCT","DROP","DYNAMIC","EACH","ELEMENT","END-EXEC","ESCAPE","EVERY","EXCEPT","EXEC","EXECUTE","EXISTS","EXTERNAL","FALSE","FETCH","FILTER","FOR","FOREIGN","FREE","FROM","FULL","FUNCTION","GET","GLOBAL","GRANT","GROUP","HAVING","HOLD","HOUR","IDENTITY","IN","INDICATOR","INNER","INOUT","INSENSITIVE","INSERT","INTERSECT","INTO","IS","LANGUAGE","LARGE","LATERAL","LEADING","LEFT","LIKE","LIKE_REGEX","LOCAL","MATCH","MEMBER","MERGE","METHOD","MINUTE","MODIFIES","MODULE","MONTH","NATURAL","NEW","NO","NONE","NOT","NULL","NULLIF","OF","OLD","ON","ONLY","OPEN","ORDER","OUT","OUTER","OVER","OVERLAPS","PARAMETER","PARTITION","PRECISION","PREPARE","PRIMARY","PROCEDURE","RANGE","READS","REAL","RECURSIVE","REF","REFERENCES","REFERENCING","RELEASE","RESULT","RETURN","RETURNS","REVOKE","RIGHT","ROLLBACK","ROLLUP","ROW","ROWS","SAVEPOINT","SCOPE","SCROLL","SEARCH","SECOND","SELECT","SENSITIVE","SESSION_USER","SET","SIMILAR","SOME","SPECIFIC","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","START","STATIC","SUBMULTISET","SYMMETRIC","SYSTEM","SYSTEM_USER","TABLE","TABLESAMPLE","THEN","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRANSLATION","TREAT","TRIGGER","TRUE","UESCAPE","UNION","UNIQUE","UNKNOWN","UNNEST","UPDATE","USER","USING","VALUE","VALUES","WHENEVER","WINDOW","WITHIN","WITHOUT","YEAR"],reservedDataTypes:["ARRAY","BIGINT","BINARY LARGE OBJECT","BINARY VARYING","BINARY","BLOB","BOOLEAN","CHAR LARGE OBJECT","CHAR VARYING","CHAR","CHARACTER LARGE OBJECT","CHARACTER VARYING","CHARACTER","CLOB","DATE","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MULTISET","NATIONAL CHAR VARYING","NATIONAL CHAR","NATIONAL CHARACTER LARGE OBJECT","NATIONAL CHARACTER VARYING","NATIONAL CHARACTER","NCHAR LARGE OBJECT","NCHAR VARYING","NCHAR","NCLOB","NUMERIC","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR"],reservedFunctionNames:["GROUPING","RANK","DENSE_RANK","PERCENT_RANK","CUME_DIST","ROW_NUMBER","POSITION","OCCURRENCES_REGEX","POSITION_REGEX","EXTRACT","CHAR_LENGTH","CHARACTER_LENGTH","OCTET_LENGTH","CARDINALITY","ABS","MOD","LN","EXP","POWER","SQRT","FLOOR","CEIL","CEILING","WIDTH_BUCKET","SUBSTRING","SUBSTRING_REGEX","UPPER","LOWER","CONVERT","TRANSLATE","TRANSLATE_REGEX","TRIM","OVERLAY","NORMALIZE","SPECIFICTYPE","CURRENT_DATE","CURRENT_TIME","LOCALTIME","CURRENT_TIMESTAMP","LOCALTIMESTAMP","COUNT","AVG","MAX","MIN","SUM","STDDEV_POP","STDDEV_SAMP","VAR_SAMP","VAR_POP","COLLECT","FUSION","INTERSECTION","COVAR_POP","COVAR_SAMP","CORR","REGR_SLOPE","REGR_INTERCEPT","REGR_COUNT","REGR_R2","REGR_AVGX","REGR_AVGY","REGR_SXX","REGR_SYY","REGR_SXY","PERCENTILE_CONT","PERCENTILE_DISC","CAST","COALESCE","NULLIF","ROUND","SIN","COS","TAN","ASIN","ACOS","ATAN"],stringTypes:[{quote:"''-qq-bs",prefixes:["N","U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``"],paramTypes:{positional:!0},operators:["||"]},formatOptions:{onelineClauses:[...eqi,...tqi],tabularOnelineClauses:tqi}},oqi=Fji(["SELECT [ALL | DISTINCT]"]),aqi=Fji(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET","MATCH_RECOGNIZE","MEASURES","ONE ROW PER MATCH","ALL ROWS PER MATCH","AFTER MATCH","PATTERN","SUBSET","DEFINE"]),lqi=Fji(["CREATE TABLE [IF NOT EXISTS]"]),cqi=Fji(["CREATE [OR REPLACE] [MATERIALIZED] VIEW","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","ADD COLUMN [IF NOT EXISTS]","DROP COLUMN [IF EXISTS]","RENAME COLUMN [IF EXISTS]","RENAME TO","SET AUTHORIZATION [USER | ROLE]","SET PROPERTIES","EXECUTE","TRUNCATE TABLE","ALTER SCHEMA","ALTER MATERIALIZED VIEW","ALTER VIEW","CREATE SCHEMA","CREATE ROLE","DROP SCHEMA","DROP MATERIALIZED VIEW","DROP VIEW","DROP ROLE","EXPLAIN","ANALYZE","EXPLAIN ANALYZE","EXPLAIN ANALYZE VERBOSE","USE","DESCRIBE INPUT","DESCRIBE OUTPUT","REFRESH MATERIALIZED VIEW","RESET SESSION","SET SESSION","SET PATH","SET TIME ZONE","SHOW GRANTS","SHOW CREATE TABLE","SHOW CREATE SCHEMA","SHOW CREATE VIEW","SHOW CREATE MATERIALIZED VIEW","SHOW TABLES","SHOW SCHEMAS","SHOW CATALOGS","SHOW COLUMNS","SHOW STATS FOR","SHOW ROLES","SHOW CURRENT ROLES","SHOW ROLE GRANTS","SHOW FUNCTIONS","SHOW SESSION"]),uqi=Fji(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),dqi=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),hqi=Fji(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM"]),pqi={name:"trino",tokenizerOptions:{reservedSelect:oqi,reservedClauses:[...aqi,...lqi,...cqi],reservedSetOperations:uqi,reservedJoins:dqi,reservedPhrases:hqi,reservedKeywords:["ABSENT","ADD","ADMIN","AFTER","ALL","ALTER","ANALYZE","AND","ANY","AS","ASC","AT","AUTHORIZATION","BERNOULLI","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CATALOGS","COLUMN","COLUMNS","COMMENT","COMMIT","COMMITTED","CONDITIONAL","CONSTRAINT","COPARTITION","CREATE","CROSS","CUBE","CURRENT","CURRENT_PATH","CURRENT_ROLE","DATA","DEALLOCATE","DEFAULT","DEFINE","DEFINER","DELETE","DENY","DESC","DESCRIBE","DESCRIPTOR","DISTINCT","DISTRIBUTED","DOUBLE","DROP","ELSE","EMPTY","ENCODING","END","ERROR","ESCAPE","EXCEPT","EXCLUDING","EXECUTE","EXISTS","EXPLAIN","FALSE","FETCH","FINAL","FIRST","FOLLOWING","FOR","FROM","FULL","FUNCTIONS","GRANT","GRANTED","GRANTS","GRAPHVIZ","GROUP","GROUPING","GROUPS","HAVING","IGNORE","IN","INCLUDING","INITIAL","INNER","INPUT","INSERT","INTERSECT","INTERVAL","INTO","INVOKER","IO","IS","ISOLATION","JOIN","JSON","JSON_ARRAY","JSON_OBJECT","KEEP","KEY","KEYS","LAST","LATERAL","LEADING","LEFT","LEVEL","LIKE","LIMIT","LOCAL","LOGICAL","MATCH","MATCHED","MATCHES","MATCH_RECOGNIZE","MATERIALIZED","MEASURES","NATURAL","NEXT","NFC","NFD","NFKC","NFKD","NO","NONE","NOT","NULL","NULLS","OBJECT","OF","OFFSET","OMIT","ON","ONE","ONLY","OPTION","OR","ORDER","ORDINALITY","OUTER","OUTPUT","OVER","OVERFLOW","PARTITION","PARTITIONS","PASSING","PAST","PATH","PATTERN","PER","PERMUTE","PRECEDING","PRECISION","PREPARE","PRIVILEGES","PROPERTIES","PRUNE","QUOTES","RANGE","READ","RECURSIVE","REFRESH","RENAME","REPEATABLE","RESET","RESPECT","RESTRICT","RETURNING","REVOKE","RIGHT","ROLE","ROLES","ROLLBACK","ROLLUP","ROW","ROWS","RUNNING","SCALAR","SCHEMA","SCHEMAS","SECURITY","SEEK","SELECT","SERIALIZABLE","SESSION","SET","SETS","SHOW","SKIP","SOME","START","STATS","STRING","SUBSET","SYSTEM","TABLE","TABLES","TABLESAMPLE","TEXT","THEN","TIES","TIME","TIMESTAMP","TO","TRAILING","TRANSACTION","TRUE","TYPE","UESCAPE","UNBOUNDED","UNCOMMITTED","UNCONDITIONAL","UNION","UNIQUE","UNKNOWN","UNMATCHED","UNNEST","UPDATE","USE","USER","USING","UTF16","UTF32","UTF8","VALIDATE","VALUE","VALUES","VERBOSE","VIEW","WHEN","WHERE","WINDOW","WITH","WITHIN","WITHOUT","WORK","WRAPPER","WRITE","ZONE"],reservedDataTypes:["BIGINT","INT","INTEGER","SMALLINT","TINYINT","BOOLEAN","DATE","DECIMAL","REAL","DOUBLE","HYPERLOGLOG","QDIGEST","TDIGEST","P4HYPERLOGLOG","INTERVAL","TIMESTAMP","TIME","VARBINARY","VARCHAR","CHAR","ROW","ARRAY","MAP","JSON","JSON2016","IPADDRESS","GEOMETRY","UUID","SETDIGEST","JONIREGEXP","RE2JREGEXP","LIKEPATTERN","COLOR","CODEPOINTS","FUNCTION","JSONPATH"],reservedFunctionNames:["ABS","ACOS","ALL_MATCH","ANY_MATCH","APPROX_DISTINCT","APPROX_MOST_FREQUENT","APPROX_PERCENTILE","APPROX_SET","ARBITRARY","ARRAYS_OVERLAP","ARRAY_AGG","ARRAY_DISTINCT","ARRAY_EXCEPT","ARRAY_INTERSECT","ARRAY_JOIN","ARRAY_MAX","ARRAY_MIN","ARRAY_POSITION","ARRAY_REMOVE","ARRAY_SORT","ARRAY_UNION","ASIN","ATAN","ATAN2","AT_TIMEZONE","AVG","BAR","BETA_CDF","BING_TILE","BING_TILES_AROUND","BING_TILE_AT","BING_TILE_COORDINATES","BING_TILE_POLYGON","BING_TILE_QUADKEY","BING_TILE_ZOOM_LEVEL","BITWISE_AND","BITWISE_AND_AGG","BITWISE_LEFT_SHIFT","BITWISE_NOT","BITWISE_OR","BITWISE_OR_AGG","BITWISE_RIGHT_SHIFT","BITWISE_RIGHT_SHIFT_ARITHMETIC","BITWISE_XOR","BIT_COUNT","BOOL_AND","BOOL_OR","CARDINALITY","CAST","CBRT","CEIL","CEILING","CHAR2HEXINT","CHECKSUM","CHR","CLASSIFY","COALESCE","CODEPOINT","COLOR","COMBINATIONS","CONCAT","CONCAT_WS","CONTAINS","CONTAINS_SEQUENCE","CONVEX_HULL_AGG","CORR","COS","COSH","COSINE_SIMILARITY","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CRC32","CUME_DIST","CURRENT_CATALOG","CURRENT_DATE","CURRENT_GROUPS","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_USER","DATE","DATE_ADD","DATE_DIFF","DATE_FORMAT","DATE_PARSE","DATE_TRUNC","DAY","DAY_OF_MONTH","DAY_OF_WEEK","DAY_OF_YEAR","DEGREES","DENSE_RANK","DOW","DOY","E","ELEMENT_AT","EMPTY_APPROX_SET","EVALUATE_CLASSIFIER_PREDICTIONS","EVERY","EXP","EXTRACT","FEATURES","FILTER","FIRST_VALUE","FLATTEN","FLOOR","FORMAT","FORMAT_DATETIME","FORMAT_NUMBER","FROM_BASE","FROM_BASE32","FROM_BASE64","FROM_BASE64URL","FROM_BIG_ENDIAN_32","FROM_BIG_ENDIAN_64","FROM_ENCODED_POLYLINE","FROM_GEOJSON_GEOMETRY","FROM_HEX","FROM_IEEE754_32","FROM_IEEE754_64","FROM_ISO8601_DATE","FROM_ISO8601_TIMESTAMP","FROM_ISO8601_TIMESTAMP_NANOS","FROM_UNIXTIME","FROM_UNIXTIME_NANOS","FROM_UTF8","GEOMETRIC_MEAN","GEOMETRY_FROM_HADOOP_SHAPE","GEOMETRY_INVALID_REASON","GEOMETRY_NEAREST_POINTS","GEOMETRY_TO_BING_TILES","GEOMETRY_UNION","GEOMETRY_UNION_AGG","GREATEST","GREAT_CIRCLE_DISTANCE","HAMMING_DISTANCE","HASH_COUNTS","HISTOGRAM","HMAC_MD5","HMAC_SHA1","HMAC_SHA256","HMAC_SHA512","HOUR","HUMAN_READABLE_SECONDS","IF","INDEX","INFINITY","INTERSECTION_CARDINALITY","INVERSE_BETA_CDF","INVERSE_NORMAL_CDF","IS_FINITE","IS_INFINITE","IS_JSON_SCALAR","IS_NAN","JACCARD_INDEX","JSON_ARRAY_CONTAINS","JSON_ARRAY_GET","JSON_ARRAY_LENGTH","JSON_EXISTS","JSON_EXTRACT","JSON_EXTRACT_SCALAR","JSON_FORMAT","JSON_PARSE","JSON_QUERY","JSON_SIZE","JSON_VALUE","KURTOSIS","LAG","LAST_DAY_OF_MONTH","LAST_VALUE","LEAD","LEARN_CLASSIFIER","LEARN_LIBSVM_CLASSIFIER","LEARN_LIBSVM_REGRESSOR","LEARN_REGRESSOR","LEAST","LENGTH","LEVENSHTEIN_DISTANCE","LINE_INTERPOLATE_POINT","LINE_INTERPOLATE_POINTS","LINE_LOCATE_POINT","LISTAGG","LN","LOCALTIME","LOCALTIMESTAMP","LOG","LOG10","LOG2","LOWER","LPAD","LTRIM","LUHN_CHECK","MAKE_SET_DIGEST","MAP","MAP_AGG","MAP_CONCAT","MAP_ENTRIES","MAP_FILTER","MAP_FROM_ENTRIES","MAP_KEYS","MAP_UNION","MAP_VALUES","MAP_ZIP_WITH","MAX","MAX_BY","MD5","MERGE","MERGE_SET_DIGEST","MILLISECOND","MIN","MINUTE","MIN_BY","MOD","MONTH","MULTIMAP_AGG","MULTIMAP_FROM_ENTRIES","MURMUR3","NAN","NGRAMS","NONE_MATCH","NORMALIZE","NORMAL_CDF","NOW","NTH_VALUE","NTILE","NULLIF","NUMERIC_HISTOGRAM","OBJECTID","OBJECTID_TIMESTAMP","PARSE_DATA_SIZE","PARSE_DATETIME","PARSE_DURATION","PERCENT_RANK","PI","POSITION","POW","POWER","QDIGEST_AGG","QUARTER","RADIANS","RAND","RANDOM","RANK","REDUCE","REDUCE_AGG","REGEXP_COUNT","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_LIKE","REGEXP_POSITION","REGEXP_REPLACE","REGEXP_SPLIT","REGRESS","REGR_INTERCEPT","REGR_SLOPE","RENDER","REPEAT","REPLACE","REVERSE","RGB","ROUND","ROW_NUMBER","RPAD","RTRIM","SECOND","SEQUENCE","SHA1","SHA256","SHA512","SHUFFLE","SIGN","SIMPLIFY_GEOMETRY","SIN","SKEWNESS","SLICE","SOUNDEX","SPATIAL_PARTITIONING","SPATIAL_PARTITIONS","SPLIT","SPLIT_PART","SPLIT_TO_MAP","SPLIT_TO_MULTIMAP","SPOOKY_HASH_V2_32","SPOOKY_HASH_V2_64","SQRT","STARTS_WITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRPOS","ST_AREA","ST_ASBINARY","ST_ASTEXT","ST_BOUNDARY","ST_BUFFER","ST_CENTROID","ST_CONTAINS","ST_CONVEXHULL","ST_COORDDIM","ST_CROSSES","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_ENDPOINT","ST_ENVELOPE","ST_ENVELOPEASPTS","ST_EQUALS","ST_EXTERIORRING","ST_GEOMETRIES","ST_GEOMETRYFROMTEXT","ST_GEOMETRYN","ST_GEOMETRYTYPE","ST_GEOMFROMBINARY","ST_INTERIORRINGN","ST_INTERIORRINGS","ST_INTERSECTION","ST_INTERSECTS","ST_ISCLOSED","ST_ISEMPTY","ST_ISRING","ST_ISSIMPLE","ST_ISVALID","ST_LENGTH","ST_LINEFROMTEXT","ST_LINESTRING","ST_MULTIPOINT","ST_NUMGEOMETRIES","ST_NUMINTERIORRING","ST_NUMPOINTS","ST_OVERLAPS","ST_POINT","ST_POINTN","ST_POINTS","ST_POLYGON","ST_RELATE","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_TOUCHES","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","SUBSTR","SUBSTRING","SUM","TAN","TANH","TDIGEST_AGG","TIMESTAMP_OBJECTID","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO_BASE","TO_BASE32","TO_BASE64","TO_BASE64URL","TO_BIG_ENDIAN_32","TO_BIG_ENDIAN_64","TO_CHAR","TO_DATE","TO_ENCODED_POLYLINE","TO_GEOJSON_GEOMETRY","TO_GEOMETRY","TO_HEX","TO_IEEE754_32","TO_IEEE754_64","TO_ISO8601","TO_MILLISECONDS","TO_SPHERICAL_GEOGRAPHY","TO_TIMESTAMP","TO_UNIXTIME","TO_UTF8","TRANSFORM","TRANSFORM_KEYS","TRANSFORM_VALUES","TRANSLATE","TRIM","TRIM_ARRAY","TRUNCATE","TRY","TRY_CAST","TYPEOF","UPPER","URL_DECODE","URL_ENCODE","URL_EXTRACT_FRAGMENT","URL_EXTRACT_HOST","URL_EXTRACT_PARAMETER","URL_EXTRACT_PATH","URL_EXTRACT_PORT","URL_EXTRACT_PROTOCOL","URL_EXTRACT_QUERY","UUID","VALUES_AT_QUANTILES","VALUE_AT_QUANTILE","VARIANCE","VAR_POP","VAR_SAMP","VERSION","WEEK","WEEK_OF_YEAR","WIDTH_BUCKET","WILSON_INTERVAL_LOWER","WILSON_INTERVAL_UPPER","WITH_TIMEZONE","WORD_STEM","XXHASH64","YEAR","YEAR_OF_WEEK","YOW","ZIP","ZIP_WITH","CLASSIFIER","FIRST","LAST","MATCH_NUMBER","NEXT","PERMUTE","PREV"],extraParens:["[]","{}"],stringTypes:[{quote:"''-qq",prefixes:["U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq'],paramTypes:{positional:!0},operators:["%","->","=>",":","||","|","^","$"]},formatOptions:{onelineClauses:[...lqi,...cqi],tabularOnelineClauses:cqi}},gqi=Fji(["SELECT [ALL | DISTINCT]"]),mqi=Fji(["WITH","INTO","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","OFFSET","FETCH {FIRST | NEXT}","FOR {BROWSE | XML | JSON}","OPTION","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY TARGET | BY SOURCE] [THEN]","UPDATE SET","CREATE [OR ALTER] {PROC | PROCEDURE}"]),fqi=Fji(["CREATE TABLE"]),vqi=Fji(["CREATE [OR ALTER] [MATERIALIZED] VIEW","UPDATE","WHERE CURRENT OF","DELETE [FROM]","DROP TABLE [IF EXISTS]","ALTER TABLE","ADD","DROP COLUMN [IF EXISTS]","ALTER COLUMN","TRUNCATE TABLE","CREATE [UNIQUE] [CLUSTERED] INDEX","GO","ADD SENSITIVITY CLASSIFICATION","ADD SIGNATURE","AGGREGATE","ANSI_DEFAULTS","ANSI_NULLS","ANSI_NULL_DFLT_OFF","ANSI_NULL_DFLT_ON","ANSI_PADDING","ANSI_WARNINGS","APPLICATION ROLE","ARITHABORT","ARITHIGNORE","ASSEMBLY","ASYMMETRIC KEY","AUTHORIZATION","AVAILABILITY GROUP","BACKUP","BACKUP CERTIFICATE","BACKUP MASTER KEY","BACKUP SERVICE MASTER KEY","BEGIN CONVERSATION TIMER","BEGIN DIALOG CONVERSATION","BROKER PRIORITY","BULK INSERT","CERTIFICATE","CLOSE MASTER KEY","CLOSE SYMMETRIC KEY","COLLATE","COLUMN ENCRYPTION KEY","COLUMN MASTER KEY","COLUMNSTORE INDEX","CONCAT_NULL_YIELDS_NULL","CONTEXT_INFO","CONTRACT","CREDENTIAL","CRYPTOGRAPHIC PROVIDER","CURSOR_CLOSE_ON_COMMIT","DATABASE","DATABASE AUDIT SPECIFICATION","DATABASE ENCRYPTION KEY","DATABASE HADR","DATABASE SCOPED CONFIGURATION","DATABASE SCOPED CREDENTIAL","DATABASE SET","DATEFIRST","DATEFORMAT","DEADLOCK_PRIORITY","DENY","DENY XML","DISABLE TRIGGER","ENABLE TRIGGER","END CONVERSATION","ENDPOINT","EVENT NOTIFICATION","EVENT SESSION","EXECUTE AS","EXTERNAL DATA SOURCE","EXTERNAL FILE FORMAT","EXTERNAL LANGUAGE","EXTERNAL LIBRARY","EXTERNAL RESOURCE POOL","EXTERNAL TABLE","FIPS_FLAGGER","FMTONLY","FORCEPLAN","FULLTEXT CATALOG","FULLTEXT INDEX","FULLTEXT STOPLIST","FUNCTION","GET CONVERSATION GROUP","GET_TRANSMISSION_STATUS","GRANT","GRANT XML","IDENTITY_INSERT","IMPLICIT_TRANSACTIONS","INDEX","LANGUAGE","LOCK_TIMEOUT","LOGIN","MASTER KEY","MESSAGE TYPE","MOVE CONVERSATION","NOCOUNT","NOEXEC","NUMERIC_ROUNDABORT","OFFSETS","OPEN MASTER KEY","OPEN SYMMETRIC KEY","PARSEONLY","PARTITION FUNCTION","PARTITION SCHEME","PROCEDURE","QUERY_GOVERNOR_COST_LIMIT","QUEUE","QUOTED_IDENTIFIER","RECEIVE","REMOTE SERVICE BINDING","REMOTE_PROC_TRANSACTIONS","RESOURCE GOVERNOR","RESOURCE POOL","RESTORE","RESTORE FILELISTONLY","RESTORE HEADERONLY","RESTORE LABELONLY","RESTORE MASTER KEY","RESTORE REWINDONLY","RESTORE SERVICE MASTER KEY","RESTORE VERIFYONLY","REVERT","REVOKE","REVOKE XML","ROLE","ROUTE","ROWCOUNT","RULE","SCHEMA","SEARCH PROPERTY LIST","SECURITY POLICY","SELECTIVE XML INDEX","SEND","SENSITIVITY CLASSIFICATION","SEQUENCE","SERVER AUDIT","SERVER AUDIT SPECIFICATION","SERVER CONFIGURATION","SERVER ROLE","SERVICE","SERVICE MASTER KEY","SETUSER","SHOWPLAN_ALL","SHOWPLAN_TEXT","SHOWPLAN_XML","SIGNATURE","SPATIAL INDEX","STATISTICS","STATISTICS IO","STATISTICS PROFILE","STATISTICS TIME","STATISTICS XML","SYMMETRIC KEY","SYNONYM","TABLE","TABLE IDENTITY","TEXTSIZE","TRANSACTION ISOLATION LEVEL","TRIGGER","TYPE","UPDATE STATISTICS","USER","WORKLOAD GROUP","XACT_ABORT","XML INDEX","XML SCHEMA COLLECTION"]),yqi=Fji(["UNION [ALL]","EXCEPT","INTERSECT"]),bqi=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),_qi=Fji(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),Cqi={name:"transactsql",tokenizerOptions:{reservedSelect:gqi,reservedClauses:[...mqi,...fqi,...vqi],reservedSetOperations:yqi,reservedJoins:bqi,reservedPhrases:_qi,reservedKeywords:["ADD","ALL","ALTER","AND","ANY","AS","ASC","AUTHORIZATION","BACKUP","BEGIN","BETWEEN","BREAK","BROWSE","BULK","BY","CASCADE","CHECK","CHECKPOINT","CLOSE","CLUSTERED","COALESCE","COLLATE","COLUMN","COMMIT","COMPUTE","CONSTRAINT","CONTAINS","CONTAINSTABLE","CONTINUE","CONVERT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DBCC","DEALLOCATE","DECLARE","DEFAULT","DELETE","DENY","DESC","DISK","DISTINCT","DISTRIBUTED","DROP","DUMP","ERRLVL","ESCAPE","EXEC","EXECUTE","EXISTS","EXIT","EXTERNAL","FETCH","FILE","FILLFACTOR","FOR","FOREIGN","FREETEXT","FREETEXTTABLE","FROM","FULL","FUNCTION","GOTO","GRANT","GROUP","HAVING","HOLDLOCK","IDENTITY","IDENTITYCOL","IDENTITY_INSERT","IF","IN","INDEX","INNER","INSERT","INTERSECT","INTO","IS","JOIN","KEY","KILL","LEFT","LIKE","LINENO","LOAD","MERGE","NOCHECK","NONCLUSTERED","NOT","NULL","NULLIF","OF","OFF","OFFSETS","ON","OPEN","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","OPTION","OR","ORDER","OUTER","OVER","PERCENT","PIVOT","PLAN","PRIMARY","PRINT","PROC","PROCEDURE","PUBLIC","RAISERROR","READ","READTEXT","RECONFIGURE","REFERENCES","REPLICATION","RESTORE","RESTRICT","RETURN","REVERT","REVOKE","RIGHT","ROLLBACK","ROWCOUNT","ROWGUIDCOL","RULE","SAVE","SCHEMA","SECURITYAUDIT","SELECT","SEMANTICKEYPHRASETABLE","SEMANTICSIMILARITYDETAILSTABLE","SEMANTICSIMILARITYTABLE","SESSION_USER","SET","SETUSER","SHUTDOWN","SOME","STATISTICS","SYSTEM_USER","TABLE","TABLESAMPLE","TEXTSIZE","THEN","TO","TOP","TRAN","TRANSACTION","TRIGGER","TRUNCATE","TRY_CONVERT","TSEQUAL","UNION","UNIQUE","UNPIVOT","UPDATE","UPDATETEXT","USE","USER","VALUES","VIEW","WAITFOR","WHERE","WHILE","WITH","WITHIN GROUP","WRITETEXT","$ACTION"],reservedDataTypes:["BINARY","BIT","CHAR","CHAR","CHARACTER","DATE","DATETIME2","DATETIMEOFFSET","DEC","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","NATIONAL","NCHAR","NUMERIC","NVARCHAR","PRECISION","REAL","SMALLINT","TIME","TIMESTAMP","VARBINARY","VARCHAR"],reservedFunctionNames:["APPROX_COUNT_DISTINCT","AVG","CHECKSUM_AGG","COUNT","COUNT_BIG","GROUPING","GROUPING_ID","MAX","MIN","STDEV","STDEVP","SUM","VAR","VARP","CUME_DIST","FIRST_VALUE","LAG","LAST_VALUE","LEAD","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","Collation - COLLATIONPROPERTY","Collation - TERTIARY_WEIGHTS","@@DBTS","@@LANGID","@@LANGUAGE","@@LOCK_TIMEOUT","@@MAX_CONNECTIONS","@@MAX_PRECISION","@@NESTLEVEL","@@OPTIONS","@@REMSERVER","@@SERVERNAME","@@SERVICENAME","@@SPID","@@TEXTSIZE","@@VERSION","CAST","CONVERT","PARSE","TRY_CAST","TRY_CONVERT","TRY_PARSE","ASYMKEY_ID","ASYMKEYPROPERTY","CERTPROPERTY","CERT_ID","CRYPT_GEN_RANDOM","DECRYPTBYASYMKEY","DECRYPTBYCERT","DECRYPTBYKEY","DECRYPTBYKEYAUTOASYMKEY","DECRYPTBYKEYAUTOCERT","DECRYPTBYPASSPHRASE","ENCRYPTBYASYMKEY","ENCRYPTBYCERT","ENCRYPTBYKEY","ENCRYPTBYPASSPHRASE","HASHBYTES","IS_OBJECTSIGNED","KEY_GUID","KEY_ID","KEY_NAME","SIGNBYASYMKEY","SIGNBYCERT","SYMKEYPROPERTY","VERIFYSIGNEDBYCERT","VERIFYSIGNEDBYASYMKEY","@@CURSOR_ROWS","@@FETCH_STATUS","CURSOR_STATUS","DATALENGTH","IDENT_CURRENT","IDENT_INCR","IDENT_SEED","IDENTITY","SQL_VARIANT_PROPERTY","@@DATEFIRST","CURRENT_TIMESTAMP","CURRENT_TIMEZONE","CURRENT_TIMEZONE_ID","DATEADD","DATEDIFF","DATEDIFF_BIG","DATEFROMPARTS","DATENAME","DATEPART","DATETIME2FROMPARTS","DATETIMEFROMPARTS","DATETIMEOFFSETFROMPARTS","DAY","EOMONTH","GETDATE","GETUTCDATE","ISDATE","MONTH","SMALLDATETIMEFROMPARTS","SWITCHOFFSET","SYSDATETIME","SYSDATETIMEOFFSET","SYSUTCDATETIME","TIMEFROMPARTS","TODATETIMEOFFSET","YEAR","JSON","ISJSON","JSON_VALUE","JSON_QUERY","JSON_MODIFY","ABS","ACOS","ASIN","ATAN","ATN2","CEILING","COS","COT","DEGREES","EXP","FLOOR","LOG","LOG10","PI","POWER","RADIANS","RAND","ROUND","SIGN","SIN","SQRT","SQUARE","TAN","CHOOSE","GREATEST","IIF","LEAST","@@PROCID","APP_NAME","APPLOCK_MODE","APPLOCK_TEST","ASSEMBLYPROPERTY","COL_LENGTH","COL_NAME","COLUMNPROPERTY","DATABASEPROPERTYEX","DB_ID","DB_NAME","FILE_ID","FILE_IDEX","FILE_NAME","FILEGROUP_ID","FILEGROUP_NAME","FILEGROUPPROPERTY","FILEPROPERTY","FILEPROPERTYEX","FULLTEXTCATALOGPROPERTY","FULLTEXTSERVICEPROPERTY","INDEX_COL","INDEXKEY_PROPERTY","INDEXPROPERTY","NEXT VALUE FOR","OBJECT_DEFINITION","OBJECT_ID","OBJECT_NAME","OBJECT_SCHEMA_NAME","OBJECTPROPERTY","OBJECTPROPERTYEX","ORIGINAL_DB_NAME","PARSENAME","SCHEMA_ID","SCHEMA_NAME","SCOPE_IDENTITY","SERVERPROPERTY","STATS_DATE","TYPE_ID","TYPE_NAME","TYPEPROPERTY","DENSE_RANK","NTILE","RANK","ROW_NUMBER","PUBLISHINGSERVERNAME","CERTENCODED","CERTPRIVATEKEY","CURRENT_USER","DATABASE_PRINCIPAL_ID","HAS_DBACCESS","HAS_PERMS_BY_NAME","IS_MEMBER","IS_ROLEMEMBER","IS_SRVROLEMEMBER","LOGINPROPERTY","ORIGINAL_LOGIN","PERMISSIONS","PWDENCRYPT","PWDCOMPARE","SESSION_USER","SESSIONPROPERTY","SUSER_ID","SUSER_NAME","SUSER_SID","SUSER_SNAME","SYSTEM_USER","USER","USER_ID","USER_NAME","ASCII","CHARINDEX","CONCAT","CONCAT_WS","DIFFERENCE","FORMAT","LEFT","LEN","LOWER","LTRIM","PATINDEX","QUOTENAME","REPLACE","REPLICATE","REVERSE","RIGHT","RTRIM","SOUNDEX","SPACE","STR","STRING_AGG","STRING_ESCAPE","STUFF","SUBSTRING","TRANSLATE","TRIM","UNICODE","UPPER","$PARTITION","@@ERROR","@@IDENTITY","@@PACK_RECEIVED","@@ROWCOUNT","@@TRANCOUNT","BINARY_CHECKSUM","CHECKSUM","COMPRESS","CONNECTIONPROPERTY","CONTEXT_INFO","CURRENT_REQUEST_ID","CURRENT_TRANSACTION_ID","DECOMPRESS","ERROR_LINE","ERROR_MESSAGE","ERROR_NUMBER","ERROR_PROCEDURE","ERROR_SEVERITY","ERROR_STATE","FORMATMESSAGE","GET_FILESTREAM_TRANSACTION_CONTEXT","GETANSINULL","HOST_ID","HOST_NAME","ISNULL","ISNUMERIC","MIN_ACTIVE_ROWVERSION","NEWID","NEWSEQUENTIALID","ROWCOUNT_BIG","SESSION_CONTEXT","XACT_STATE","@@CONNECTIONS","@@CPU_BUSY","@@IDLE","@@IO_BUSY","@@PACK_SENT","@@PACKET_ERRORS","@@TIMETICKS","@@TOTAL_ERRORS","@@TOTAL_READ","@@TOTAL_WRITE","TEXTPTR","TEXTVALID","COLUMNS_UPDATED","EVENTDATA","TRIGGER_NESTLEVEL","UPDATE","COALESCE","NULLIF"],nestedBlockComments:!0,stringTypes:[{quote:"''-qq",prefixes:["N"]}],identTypes:['""-qq',"[]"],identChars:{first:"#@",rest:"#@$"},paramTypes:{named:["@"],quoted:["@"]},operators:["%","&","|","^","~","!<","!>","+=","-=","*=","/=","%=","|=","&=","^=","::",":"],propertyAccessOperators:[".."]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...fqi,...vqi],tabularOnelineClauses:vqi}},Sqi=Fji(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),wqi=Fji(["WITH","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT [IGNORE] [INTO]","VALUES","REPLACE [INTO]","ON DUPLICATE KEY UPDATE","SET","CREATE [OR REPLACE] [TEMPORARY] PROCEDURE [IF NOT EXISTS]","CREATE [OR REPLACE] [EXTERNAL] FUNCTION"]),Eqi=Fji(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]),xqi=Fji(["CREATE VIEW","UPDATE","DELETE [FROM]","DROP [TEMPORARY] TABLE [IF EXISTS]","ALTER [ONLINE] TABLE","ADD [COLUMN]","ADD [UNIQUE] {INDEX | KEY}","DROP [COLUMN]","MODIFY [COLUMN]","CHANGE","RENAME [TO | AS]","TRUNCATE [TABLE]","ADD AGGREGATOR","ADD LEAF","AGGREGATOR SET AS MASTER","ALTER DATABASE","ALTER PIPELINE","ALTER RESOURCE POOL","ALTER USER","ALTER VIEW","ANALYZE TABLE","ATTACH DATABASE","ATTACH LEAF","ATTACH LEAF ALL","BACKUP DATABASE","BINLOG","BOOTSTRAP AGGREGATOR","CACHE INDEX","CALL","CHANGE","CHANGE MASTER TO","CHANGE REPLICATION FILTER","CHANGE REPLICATION SOURCE TO","CHECK BLOB CHECKSUM","CHECK TABLE","CHECKSUM TABLE","CLEAR ORPHAN DATABASES","CLONE","COMMIT","CREATE DATABASE","CREATE GROUP","CREATE INDEX","CREATE LINK","CREATE MILESTONE","CREATE PIPELINE","CREATE RESOURCE POOL","CREATE ROLE","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DETACH DATABASE","DETACH PIPELINE","DROP DATABASE","DROP FUNCTION","DROP INDEX","DROP LINK","DROP PIPELINE","DROP PROCEDURE","DROP RESOURCE POOL","DROP ROLE","DROP USER","DROP VIEW","EXECUTE","EXPLAIN","FLUSH","FORCE","GRANT","HANDLER","HELP","KILL CONNECTION","KILLALL QUERIES","LOAD DATA","LOAD INDEX INTO CACHE","LOAD XML","LOCK INSTANCE FOR BACKUP","LOCK TABLES","MASTER_POS_WAIT","OPTIMIZE TABLE","PREPARE","PURGE BINARY LOGS","REBALANCE PARTITIONS","RELEASE SAVEPOINT","REMOVE AGGREGATOR","REMOVE LEAF","REPAIR TABLE","REPLACE","REPLICATE DATABASE","RESET","RESET MASTER","RESET PERSIST","RESET REPLICA","RESET SLAVE","RESTART","RESTORE DATABASE","RESTORE REDUNDANCY","REVOKE","ROLLBACK","ROLLBACK TO SAVEPOINT","SAVEPOINT","SET CHARACTER SET","SET DEFAULT ROLE","SET NAMES","SET PASSWORD","SET RESOURCE GROUP","SET ROLE","SET TRANSACTION","SHOW","SHOW CHARACTER SET","SHOW COLLATION","SHOW COLUMNS","SHOW CREATE DATABASE","SHOW CREATE FUNCTION","SHOW CREATE PIPELINE","SHOW CREATE PROCEDURE","SHOW CREATE TABLE","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW FUNCTION CODE","SHOW FUNCTION STATUS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCEDURE CODE","SHOW PROCEDURE STATUS","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW RELAYLOG EVENTS","SHOW REPLICA STATUS","SHOW REPLICAS","SHOW SLAVE","SHOW SLAVE HOSTS","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW VARIABLES","SHOW WARNINGS","SHUTDOWN","SNAPSHOT DATABASE","SOURCE_POS_WAIT","START GROUP_REPLICATION","START PIPELINE","START REPLICA","START SLAVE","START TRANSACTION","STOP GROUP_REPLICATION","STOP PIPELINE","STOP REPLICA","STOP REPLICATING","STOP SLAVE","TEST PIPELINE","UNLOCK INSTANCE","UNLOCK TABLES","USE","XA","ITERATE","LEAVE","LOOP","REPEAT","RETURN","WHILE"]),Tqi=Fji(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),Aqi=Fji(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),Rqi=Fji(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),Nqi={name:"singlestoredb",tokenizerOptions:{reservedSelect:Sqi,reservedClauses:[...wqi,...Eqi,...xqi],reservedSetOperations:Tqi,reservedJoins:Aqi,reservedPhrases:Rqi,reservedKeywords:["ADD","ALL","ALTER","ANALYZE","AND","AS","ASC","ASENSITIVE","BEFORE","BETWEEN","_BINARY","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","CONDITION","CONSTRAINT","CONTINUE","CONVERT","CREATE","CROSS","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATABASES","DAY_HOUR","DAY_MICROSECOND","DAY_MINUTE","DAY_SECOND","DECLARE","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DETERMINISTIC","DISTINCT","DISTINCTROW","DIV","DROP","DUAL","EACH","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","EXTRA_JOIN","FALSE","FETCH","FOR","FORCE","FORCE_COMPILED_MODE","FORCE_INTERPRETER_MODE","FOREIGN","FROM","FULL","FULLTEXT","GRANT","GROUP","HAVING","HEARTBEAT_NO_LOGGING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","IN","INDEX","INFILE","INNER","INOUT","INSENSITIVE","INSERT","IN","_INTERNAL_DYNAMIC_TYPECAST","INTERSECT","INTERVAL","INTO","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LOOP","LOW_PRIORITY","MATCH","MAXVALUE","MINUS","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","MODIFIES","NATURAL","NO_QUERY_REWRITE","NOT","NO_WRITE_TO_BINLOG","NO_QUERY_REWRITE","NULL","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PRIMARY","PROCEDURE","PURGE","RANGE","READ","READS","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESTRICT","RETURN","REVOKE","RIGHT","RIGHT_ANTI_JOIN","RIGHT_SEMI_JOIN","RIGHT_STRAIGHT_JOIN","RLIKE","SCHEMA","SCHEMAS","SECOND_MICROSECOND","SELECT","SEMI_JOIN","SENSITIVE","SEPARATOR","SET","SHOW","SIGNAL","SPATIAL","SPECIFIC","SQL","SQL_BIG_RESULT","SQL_BUFFER_RESULT","SQL_CACHE","SQL_CALC_FOUND_ROWS","SQLEXCEPTION","SQL_NO_CACHE","SQL_NO_LOGGING","SQL_SMALL_RESULT","SQLSTATE","SQLWARNING","STRAIGHT_JOIN","TABLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","UNBOUNDED","UNDO","UNION","UNIQUE","UNLOCK","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","_UTF8","VALUES","WHEN","WHERE","WHILE","WINDOW","WITH","WITHIN","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","CHAR","CHARACTER","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","FLOAT","FLOAT4","FLOAT8","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONG","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMTEXT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","UNSIGNED","VARBINARY","VARCHAR","VARCHARACTER","YEAR"],reservedFunctionNames:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_COUNT_DISTINCT_ACCUMULATE","APPROX_COUNT_DISTINCT_COMBINE","APPROX_COUNT_DISTINCT_ESTIMATE","APPROX_GEOGRAPHY_INTERSECTS","APPROX_PERCENTILE","ASCII","ASIN","ATAN","ATAN2","AVG","BIN","BINARY","BIT_AND","BIT_COUNT","BIT_OR","BIT_XOR","CAST","CEIL","CEILING","CHAR","CHARACTER_LENGTH","CHAR_LENGTH","CHARSET","COALESCE","COERCIBILITY","COLLATION","COLLECT","CONCAT","CONCAT_WS","CONNECTION_ID","CONV","CONVERT","CONVERT_TZ","COS","COT","COUNT","CUME_DIST","CURDATE","CURRENT_DATE","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATEDIFF","DATE_FORMAT","DATE_SUB","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT","DEGREES","DENSE_RANK","DIV","DOT_PRODUCT","ELT","EUCLIDEAN_DISTANCE","EXP","EXTRACT","FIELD","FIRST","FIRST_VALUE","FLOOR","FORMAT","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GEOGRAPHY_AREA","GEOGRAPHY_CONTAINS","GEOGRAPHY_DISTANCE","GEOGRAPHY_INTERSECTS","GEOGRAPHY_LATITUDE","GEOGRAPHY_LENGTH","GEOGRAPHY_LONGITUDE","GEOGRAPHY_POINT","GEOGRAPHY_WITHIN_DISTANCE","GEOMETRY_AREA","GEOMETRY_CONTAINS","GEOMETRY_DISTANCE","GEOMETRY_FILTER","GEOMETRY_INTERSECTS","GEOMETRY_LENGTH","GEOMETRY_POINT","GEOMETRY_WITHIN_DISTANCE","GEOMETRY_X","GEOMETRY_Y","GREATEST","GROUPING","GROUP_CONCAT","HEX","HIGHLIGHT","HOUR","ICU_VERSION","IF","IFNULL","INET_ATON","INET_NTOA","INET6_ATON","INET6_NTOA","INITCAP","INSERT","INSTR","INTERVAL","IS","IS NULL","JSON_AGG","JSON_ARRAY_CONTAINS_DOUBLE","JSON_ARRAY_CONTAINS_JSON","JSON_ARRAY_CONTAINS_STRING","JSON_ARRAY_PUSH_DOUBLE","JSON_ARRAY_PUSH_JSON","JSON_ARRAY_PUSH_STRING","JSON_DELETE_KEY","JSON_EXTRACT_DOUBLE","JSON_EXTRACT_JSON","JSON_EXTRACT_STRING","JSON_EXTRACT_BIGINT","JSON_GET_TYPE","JSON_LENGTH","JSON_SET_DOUBLE","JSON_SET_JSON","JSON_SET_STRING","JSON_SPLICE_DOUBLE","JSON_SPLICE_JSON","JSON_SPLICE_STRING","LAG","LAST_DAY","LAST_VALUE","LCASE","LEAD","LEAST","LEFT","LENGTH","LIKE","LN","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LPAD","LTRIM","MATCH","MAX","MD5","MEDIAN","MICROSECOND","MIN","MINUTE","MOD","MONTH","MONTHNAME","MONTHS_BETWEEN","NOT","NOW","NTH_VALUE","NTILE","NULLIF","OCTET_LENGTH","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PI","PIVOT","POSITION","POW","POWER","QUARTER","QUOTE","RADIANS","RAND","RANK","REGEXP","REPEAT","REPLACE","REVERSE","RIGHT","RLIKE","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCALAR","SCHEMA","SEC_TO_TIME","SHA1","SHA2","SIGMOID","SIGN","SIN","SLEEP","SPLIT","SOUNDEX","SOUNDS LIKE","SOURCE_POS_WAIT","SPACE","SQRT","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUM","SYS_GUID","TAN","TIME","TIMEDIFF","TIME_BUCKET","TIME_FORMAT","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TIME_TO_SEC","TO_BASE64","TO_CHAR","TO_DAYS","TO_JSON","TO_NUMBER","TO_SECONDS","TO_TIMESTAMP","TRIM","TRUNC","TRUNCATE","UCASE","UNHEX","UNIX_TIMESTAMP","UPDATEXML","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","VALUES","VARIANCE","VAR_POP","VAR_SAMP","VECTOR_SUB","VERSION","WEEK","WEEKDAY","WEEKOFYEAR","YEAR"],stringTypes:['""-qq-bs',"''-qq-bs",{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:["``"],identChars:{first:"$",rest:"$",allowFirstCharNumber:!0},variableTypes:[{regex:"@@?[A-Za-z0-9_$]+"},{quote:"``",prefixes:["@"],requirePrefix:!0}],lineCommentTypes:["--","#"],operators:[":=","&","|","^","~","<<",">>","<=>","&&","||","::","::$","::%",":>","!:>","*.*"],postProcess:LWi},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:[...Eqi,...xqi],tabularOnelineClauses:xqi}},Iqi=Fji(["SELECT [ALL | DISTINCT]"]),Dqi=Fji(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","QUALIFY","LIMIT","OFFSET","FETCH [FIRST | NEXT]","INSERT [OVERWRITE] [ALL INTO | INTO | ALL | FIRST]","{THEN | ELSE} INTO","VALUES","SET","CLUSTER BY","[WITH] {MASKING POLICY | TAG | ROW ACCESS POLICY}","COPY GRANTS","USING TEMPLATE","MERGE INTO","WHEN MATCHED [AND]","THEN {UPDATE SET | DELETE}","WHEN NOT MATCHED THEN INSERT"]),Oqi=Fji(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]),kqi=Fji(["CREATE [OR REPLACE] [SECURE] [RECURSIVE] VIEW [IF NOT EXISTS]","UPDATE","DELETE FROM","DROP TABLE [IF EXISTS]","ALTER TABLE [IF EXISTS]","RENAME TO","SWAP WITH","[SUSPEND | RESUME] RECLUSTER","DROP CLUSTERING KEY","ADD [COLUMN]","RENAME COLUMN","{ALTER | MODIFY} [COLUMN]","DROP [COLUMN]","{ADD | ALTER | MODIFY | DROP} [CONSTRAINT]","RENAME CONSTRAINT","{ADD | DROP} SEARCH OPTIMIZATION","{SET | UNSET} TAG","{ADD | DROP} ROW ACCESS POLICY","DROP ALL ROW ACCESS POLICIES","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","SET DATA TYPE","UNSET COMMENT","{SET | UNSET} MASKING POLICY","TRUNCATE [TABLE] [IF EXISTS]","ALTER ACCOUNT","ALTER API INTEGRATION","ALTER CONNECTION","ALTER DATABASE","ALTER EXTERNAL TABLE","ALTER FAILOVER GROUP","ALTER FILE FORMAT","ALTER FUNCTION","ALTER INTEGRATION","ALTER MASKING POLICY","ALTER MATERIALIZED VIEW","ALTER NETWORK POLICY","ALTER NOTIFICATION INTEGRATION","ALTER PIPE","ALTER PROCEDURE","ALTER REPLICATION GROUP","ALTER RESOURCE MONITOR","ALTER ROLE","ALTER ROW ACCESS POLICY","ALTER SCHEMA","ALTER SECURITY INTEGRATION","ALTER SEQUENCE","ALTER SESSION","ALTER SESSION POLICY","ALTER SHARE","ALTER STAGE","ALTER STORAGE INTEGRATION","ALTER STREAM","ALTER TAG","ALTER TASK","ALTER USER","ALTER VIEW","ALTER WAREHOUSE","BEGIN","CALL","COMMIT","COPY INTO","CREATE ACCOUNT","CREATE API INTEGRATION","CREATE CONNECTION","CREATE DATABASE","CREATE EXTERNAL FUNCTION","CREATE EXTERNAL TABLE","CREATE FAILOVER GROUP","CREATE FILE FORMAT","CREATE FUNCTION","CREATE INTEGRATION","CREATE MANAGED ACCOUNT","CREATE MASKING POLICY","CREATE MATERIALIZED VIEW","CREATE NETWORK POLICY","CREATE NOTIFICATION INTEGRATION","CREATE PIPE","CREATE PROCEDURE","CREATE REPLICATION GROUP","CREATE RESOURCE MONITOR","CREATE ROLE","CREATE ROW ACCESS POLICY","CREATE SCHEMA","CREATE SECURITY INTEGRATION","CREATE SEQUENCE","CREATE SESSION POLICY","CREATE SHARE","CREATE STAGE","CREATE STORAGE INTEGRATION","CREATE STREAM","CREATE TAG","CREATE TASK","CREATE USER","CREATE WAREHOUSE","DELETE","DESCRIBE DATABASE","DESCRIBE EXTERNAL TABLE","DESCRIBE FILE FORMAT","DESCRIBE FUNCTION","DESCRIBE INTEGRATION","DESCRIBE MASKING POLICY","DESCRIBE MATERIALIZED VIEW","DESCRIBE NETWORK POLICY","DESCRIBE PIPE","DESCRIBE PROCEDURE","DESCRIBE RESULT","DESCRIBE ROW ACCESS POLICY","DESCRIBE SCHEMA","DESCRIBE SEQUENCE","DESCRIBE SESSION POLICY","DESCRIBE SHARE","DESCRIBE STAGE","DESCRIBE STREAM","DESCRIBE TABLE","DESCRIBE TASK","DESCRIBE TRANSACTION","DESCRIBE USER","DESCRIBE VIEW","DESCRIBE WAREHOUSE","DROP CONNECTION","DROP DATABASE","DROP EXTERNAL TABLE","DROP FAILOVER GROUP","DROP FILE FORMAT","DROP FUNCTION","DROP INTEGRATION","DROP MANAGED ACCOUNT","DROP MASKING POLICY","DROP MATERIALIZED VIEW","DROP NETWORK POLICY","DROP PIPE","DROP PROCEDURE","DROP REPLICATION GROUP","DROP RESOURCE MONITOR","DROP ROLE","DROP ROW ACCESS POLICY","DROP SCHEMA","DROP SEQUENCE","DROP SESSION POLICY","DROP SHARE","DROP STAGE","DROP STREAM","DROP TAG","DROP TASK","DROP USER","DROP VIEW","DROP WAREHOUSE","EXECUTE IMMEDIATE","EXECUTE TASK","EXPLAIN","GET","GRANT OWNERSHIP","GRANT ROLE","INSERT","LIST","MERGE","PUT","REMOVE","REVOKE ROLE","ROLLBACK","SHOW COLUMNS","SHOW CONNECTIONS","SHOW DATABASES","SHOW DATABASES IN FAILOVER GROUP","SHOW DATABASES IN REPLICATION GROUP","SHOW DELEGATED AUTHORIZATIONS","SHOW EXTERNAL FUNCTIONS","SHOW EXTERNAL TABLES","SHOW FAILOVER GROUPS","SHOW FILE FORMATS","SHOW FUNCTIONS","SHOW GLOBAL ACCOUNTS","SHOW GRANTS","SHOW INTEGRATIONS","SHOW LOCKS","SHOW MANAGED ACCOUNTS","SHOW MASKING POLICIES","SHOW MATERIALIZED VIEWS","SHOW NETWORK POLICIES","SHOW OBJECTS","SHOW ORGANIZATION ACCOUNTS","SHOW PARAMETERS","SHOW PIPES","SHOW PRIMARY KEYS","SHOW PROCEDURES","SHOW REGIONS","SHOW REPLICATION ACCOUNTS","SHOW REPLICATION DATABASES","SHOW REPLICATION GROUPS","SHOW RESOURCE MONITORS","SHOW ROLES","SHOW ROW ACCESS POLICIES","SHOW SCHEMAS","SHOW SEQUENCES","SHOW SESSION POLICIES","SHOW SHARES","SHOW SHARES IN FAILOVER GROUP","SHOW SHARES IN REPLICATION GROUP","SHOW STAGES","SHOW STREAMS","SHOW TABLES","SHOW TAGS","SHOW TASKS","SHOW TRANSACTIONS","SHOW USER FUNCTIONS","SHOW USERS","SHOW VARIABLES","SHOW VIEWS","SHOW WAREHOUSES","TRUNCATE MATERIALIZED VIEW","UNDROP DATABASE","UNDROP SCHEMA","UNDROP TABLE","UNDROP TAG","UNSET","USE DATABASE","USE ROLE","USE SCHEMA","USE SECONDARY ROLES","USE WAREHOUSE"]),Lqi=Fji(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),Mqi=Fji(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),Pqi=Fji(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),Fqi={name:"snowflake",tokenizerOptions:{reservedSelect:Iqi,reservedClauses:[...Dqi,...Oqi,...kqi],reservedSetOperations:Lqi,reservedJoins:Mqi,reservedPhrases:Pqi,reservedKeywords:["ACCOUNT","ALL","ALTER","AND","ANY","AS","BETWEEN","BY","CASE","CAST","CHECK","COLUMN","CONNECT","CONNECTION","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DATABASE","DELETE","DISTINCT","DROP","ELSE","EXISTS","FALSE","FOLLOWING","FOR","FROM","FULL","GRANT","GROUP","GSCLUSTER","HAVING","ILIKE","IN","INCREMENT","INNER","INSERT","INTERSECT","INTO","IS","ISSUE","JOIN","LATERAL","LEFT","LIKE","LOCALTIME","LOCALTIMESTAMP","MINUS","NATURAL","NOT","NULL","OF","ON","OR","ORDER","ORGANIZATION","QUALIFY","REGEXP","REVOKE","RIGHT","RLIKE","ROW","ROWS","SAMPLE","SCHEMA","SELECT","SET","SOME","START","TABLE","TABLESAMPLE","THEN","TO","TRIGGER","TRUE","TRY_CAST","UNION","UNIQUE","UPDATE","USING","VALUES","VIEW","WHEN","WHENEVER","WHERE","WITH","COMMENT"],reservedDataTypes:["NUMBER","DECIMAL","NUMERIC","INT","INTEGER","BIGINT","SMALLINT","TINYINT","BYTEINT","FLOAT","FLOAT4","FLOAT8","DOUBLE","DOUBLE PRECISION","REAL","VARCHAR","CHAR","CHARACTER","STRING","TEXT","BINARY","VARBINARY","BOOLEAN","DATE","DATETIME","TIME","TIMESTAMP","TIMESTAMP_LTZ","TIMESTAMP_NTZ","TIMESTAMP","TIMESTAMP_TZ","VARIANT","OBJECT","ARRAY","GEOGRAPHY","GEOMETRY"],reservedFunctionNames:["ABS","ACOS","ACOSH","ADD_MONTHS","ALL_USER_NAMES","ANY_VALUE","APPROX_COUNT_DISTINCT","APPROX_PERCENTILE","APPROX_PERCENTILE_ACCUMULATE","APPROX_PERCENTILE_COMBINE","APPROX_PERCENTILE_ESTIMATE","APPROX_TOP_K","APPROX_TOP_K_ACCUMULATE","APPROX_TOP_K_COMBINE","APPROX_TOP_K_ESTIMATE","APPROXIMATE_JACCARD_INDEX","APPROXIMATE_SIMILARITY","ARRAY_AGG","ARRAY_APPEND","ARRAY_CAT","ARRAY_COMPACT","ARRAY_CONSTRUCT","ARRAY_CONSTRUCT_COMPACT","ARRAY_CONTAINS","ARRAY_INSERT","ARRAY_INTERSECTION","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_SIZE","ARRAY_SLICE","ARRAY_TO_STRING","ARRAY_UNION_AGG","ARRAY_UNIQUE_AGG","ARRAYS_OVERLAP","AS_ARRAY","AS_BINARY","AS_BOOLEAN","AS_CHAR","AS_VARCHAR","AS_DATE","AS_DECIMAL","AS_NUMBER","AS_DOUBLE","AS_REAL","AS_INTEGER","AS_OBJECT","AS_TIME","AS_TIMESTAMP_LTZ","AS_TIMESTAMP_NTZ","AS_TIMESTAMP_TZ","ASCII","ASIN","ASINH","ATAN","ATAN2","ATANH","AUTO_REFRESH_REGISTRATION_HISTORY","AUTOMATIC_CLUSTERING_HISTORY","AVG","BASE64_DECODE_BINARY","BASE64_DECODE_STRING","BASE64_ENCODE","BIT_LENGTH","BITAND","BITAND_AGG","BITMAP_BIT_POSITION","BITMAP_BUCKET_NUMBER","BITMAP_CONSTRUCT_AGG","BITMAP_COUNT","BITMAP_OR_AGG","BITNOT","BITOR","BITOR_AGG","BITSHIFTLEFT","BITSHIFTRIGHT","BITXOR","BITXOR_AGG","BOOLAND","BOOLAND_AGG","BOOLNOT","BOOLOR","BOOLOR_AGG","BOOLXOR","BOOLXOR_AGG","BUILD_SCOPED_FILE_URL","BUILD_STAGE_FILE_URL","CASE","CAST","CBRT","CEIL","CHARINDEX","CHECK_JSON","CHECK_XML","CHR","CHAR","COALESCE","COLLATE","COLLATION","COMPLETE_TASK_GRAPHS","COMPRESS","CONCAT","CONCAT_WS","CONDITIONAL_CHANGE_EVENT","CONDITIONAL_TRUE_EVENT","CONTAINS","CONVERT_TIMEZONE","COPY_HISTORY","CORR","COS","COSH","COT","COUNT","COUNT_IF","COVAR_POP","COVAR_SAMP","CUME_DIST","CURRENT_ACCOUNT","CURRENT_AVAILABLE_ROLES","CURRENT_CLIENT","CURRENT_DATABASE","CURRENT_DATE","CURRENT_IP_ADDRESS","CURRENT_REGION","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_SECONDARY_ROLES","CURRENT_SESSION","CURRENT_STATEMENT","CURRENT_TASK_GRAPHS","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_TRANSACTION","CURRENT_USER","CURRENT_VERSION","CURRENT_WAREHOUSE","DATA_TRANSFER_HISTORY","DATABASE_REFRESH_HISTORY","DATABASE_REFRESH_PROGRESS","DATABASE_REFRESH_PROGRESS_BY_JOB","DATABASE_STORAGE_USAGE_HISTORY","DATE_FROM_PARTS","DATE_PART","DATE_TRUNC","DATEADD","DATEDIFF","DAYNAME","DECODE","DECOMPRESS_BINARY","DECOMPRESS_STRING","DECRYPT","DECRYPT_RAW","DEGREES","DENSE_RANK","DIV0","EDITDISTANCE","ENCRYPT","ENCRYPT_RAW","ENDSWITH","EQUAL_NULL","EXP","EXPLAIN_JSON","EXTERNAL_FUNCTIONS_HISTORY","EXTERNAL_TABLE_FILES","EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY","EXTRACT","EXTRACT_SEMANTIC_CATEGORIES","FACTORIAL","FILTER","FIRST_VALUE","FLATTEN","FLOOR","GENERATE_COLUMN_DESCRIPTION","GENERATOR","GET","GET_ABSOLUTE_PATH","GET_DDL","GET_IGNORE_CASE","GET_OBJECT_REFERENCES","GET_PATH","GET_PRESIGNED_URL","GET_RELATIVE_PATH","GET_STAGE_LOCATION","GETBIT","GREATEST","GREATEST_IGNORE_NULLS","GROUPING","GROUPING_ID","HASH","HASH_AGG","HAVERSINE","HEX_DECODE_BINARY","HEX_DECODE_STRING","HEX_ENCODE","HLL","HLL_ACCUMULATE","HLL_COMBINE","HLL_ESTIMATE","HLL_EXPORT","HLL_IMPORT","HOUR","MINUTE","SECOND","IFF","IFNULL","ILIKE","ILIKE ANY","INFER_SCHEMA","INITCAP","INSERT","INVOKER_ROLE","INVOKER_SHARE","IS_ARRAY","IS_BINARY","IS_BOOLEAN","IS_CHAR","IS_VARCHAR","IS_DATE","IS_DATE_VALUE","IS_DECIMAL","IS_DOUBLE","IS_REAL","IS_GRANTED_TO_INVOKER_ROLE","IS_INTEGER","IS_NULL_VALUE","IS_OBJECT","IS_ROLE_IN_SESSION","IS_TIME","IS_TIMESTAMP_LTZ","IS_TIMESTAMP_NTZ","IS_TIMESTAMP_TZ","JAROWINKLER_SIMILARITY","JSON_EXTRACT_PATH_TEXT","KURTOSIS","LAG","LAST_DAY","LAST_QUERY_ID","LAST_TRANSACTION","LAST_VALUE","LEAD","LEAST","LEFT","LENGTH","LEN","LIKE","LIKE ALL","LIKE ANY","LISTAGG","LN","LOCALTIME","LOCALTIMESTAMP","LOG","LOGIN_HISTORY","LOGIN_HISTORY_BY_USER","LOWER","LPAD","LTRIM","MATERIALIZED_VIEW_REFRESH_HISTORY","MD5","MD5_HEX","MD5_BINARY","MD5_NUMBER — Obsoleted","MD5_NUMBER_LOWER64","MD5_NUMBER_UPPER64","MEDIAN","MIN","MAX","MINHASH","MINHASH_COMBINE","MOD","MODE","MONTHNAME","MONTHS_BETWEEN","NEXT_DAY","NORMAL","NTH_VALUE","NTILE","NULLIF","NULLIFZERO","NVL","NVL2","OBJECT_AGG","OBJECT_CONSTRUCT","OBJECT_CONSTRUCT_KEEP_NULL","OBJECT_DELETE","OBJECT_INSERT","OBJECT_KEYS","OBJECT_PICK","OCTET_LENGTH","PARSE_IP","PARSE_JSON","PARSE_URL","PARSE_XML","PERCENT_RANK","PERCENTILE_CONT","PERCENTILE_DISC","PI","PIPE_USAGE_HISTORY","POLICY_CONTEXT","POLICY_REFERENCES","POSITION","POW","POWER","PREVIOUS_DAY","QUERY_ACCELERATION_HISTORY","QUERY_HISTORY","QUERY_HISTORY_BY_SESSION","QUERY_HISTORY_BY_USER","QUERY_HISTORY_BY_WAREHOUSE","RADIANS","RANDOM","RANDSTR","RANK","RATIO_TO_REPORT","REGEXP","REGEXP_COUNT","REGEXP_INSTR","REGEXP_LIKE","REGEXP_REPLACE","REGEXP_SUBSTR","REGEXP_SUBSTR_ALL","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","REGR_VALX","REGR_VALY","REPEAT","REPLACE","REPLICATION_GROUP_REFRESH_HISTORY","REPLICATION_GROUP_REFRESH_PROGRESS","REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB","REPLICATION_GROUP_USAGE_HISTORY","REPLICATION_USAGE_HISTORY","REST_EVENT_HISTORY","RESULT_SCAN","REVERSE","RIGHT","RLIKE","ROUND","ROW_NUMBER","RPAD","RTRIM","RTRIMMED_LENGTH","SEARCH_OPTIMIZATION_HISTORY","SEQ1","SEQ2","SEQ4","SEQ8","SERVERLESS_TASK_HISTORY","SHA1","SHA1_HEX","SHA1_BINARY","SHA2","SHA2_HEX","SHA2_BINARY","SIGN","SIN","SINH","SKEW","SOUNDEX","SPACE","SPLIT","SPLIT_PART","SPLIT_TO_TABLE","SQRT","SQUARE","ST_AREA","ST_ASEWKB","ST_ASEWKT","ST_ASGEOJSON","ST_ASWKB","ST_ASBINARY","ST_ASWKT","ST_ASTEXT","ST_AZIMUTH","ST_CENTROID","ST_COLLECT","ST_CONTAINS","ST_COVEREDBY","ST_COVERS","ST_DIFFERENCE","ST_DIMENSION","ST_DISJOINT","ST_DISTANCE","ST_DWITHIN","ST_ENDPOINT","ST_ENVELOPE","ST_GEOGFROMGEOHASH","ST_GEOGPOINTFROMGEOHASH","ST_GEOGRAPHYFROMWKB","ST_GEOGRAPHYFROMWKT","ST_GEOHASH","ST_GEOMETRYFROMWKB","ST_GEOMETRYFROMWKT","ST_HAUSDORFFDISTANCE","ST_INTERSECTION","ST_INTERSECTS","ST_LENGTH","ST_MAKEGEOMPOINT","ST_GEOM_POINT","ST_MAKELINE","ST_MAKEPOINT","ST_POINT","ST_MAKEPOLYGON","ST_POLYGON","ST_NPOINTS","ST_NUMPOINTS","ST_PERIMETER","ST_POINTN","ST_SETSRID","ST_SIMPLIFY","ST_SRID","ST_STARTPOINT","ST_SYMDIFFERENCE","ST_UNION","ST_WITHIN","ST_X","ST_XMAX","ST_XMIN","ST_Y","ST_YMAX","ST_YMIN","STAGE_DIRECTORY_FILE_REGISTRATION_HISTORY","STAGE_STORAGE_USAGE_HISTORY","STARTSWITH","STDDEV","STDDEV_POP","STDDEV_SAMP","STRIP_NULL_VALUE","STRTOK","STRTOK_SPLIT_TO_TABLE","STRTOK_TO_ARRAY","SUBSTR","SUBSTRING","SUM","SYSDATE","SYSTEM$ABORT_SESSION","SYSTEM$ABORT_TRANSACTION","SYSTEM$AUTHORIZE_PRIVATELINK","SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS","SYSTEM$BEHAVIOR_CHANGE_BUNDLE_STATUS","SYSTEM$CANCEL_ALL_QUERIES","SYSTEM$CANCEL_QUERY","SYSTEM$CLUSTERING_DEPTH","SYSTEM$CLUSTERING_INFORMATION","SYSTEM$CLUSTERING_RATIO ","SYSTEM$CURRENT_USER_TASK_NAME","SYSTEM$DATABASE_REFRESH_HISTORY ","SYSTEM$DATABASE_REFRESH_PROGRESS","SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB ","SYSTEM$DISABLE_BEHAVIOR_CHANGE_BUNDLE","SYSTEM$DISABLE_DATABASE_REPLICATION","SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE","SYSTEM$ESTIMATE_QUERY_ACCELERATION","SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS","SYSTEM$EXPLAIN_JSON_TO_TEXT","SYSTEM$EXPLAIN_PLAN_JSON","SYSTEM$EXTERNAL_TABLE_PIPE_STATUS","SYSTEM$GENERATE_SAML_CSR","SYSTEM$GENERATE_SCIM_ACCESS_TOKEN","SYSTEM$GET_AWS_SNS_IAM_POLICY","SYSTEM$GET_PREDECESSOR_RETURN_VALUE","SYSTEM$GET_PRIVATELINK","SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS","SYSTEM$GET_PRIVATELINK_CONFIG","SYSTEM$GET_SNOWFLAKE_PLATFORM_INFO","SYSTEM$GET_TAG","SYSTEM$GET_TAG_ALLOWED_VALUES","SYSTEM$GET_TAG_ON_CURRENT_COLUMN","SYSTEM$GET_TAG_ON_CURRENT_TABLE","SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER","SYSTEM$LAST_CHANGE_COMMIT_TIME","SYSTEM$LINK_ACCOUNT_OBJECTS_BY_NAME","SYSTEM$MIGRATE_SAML_IDP_REGISTRATION","SYSTEM$PIPE_FORCE_RESUME","SYSTEM$PIPE_STATUS","SYSTEM$REVOKE_PRIVATELINK","SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS","SYSTEM$SET_RETURN_VALUE","SYSTEM$SHOW_OAUTH_CLIENT_SECRETS","SYSTEM$STREAM_GET_TABLE_TIMESTAMP","SYSTEM$STREAM_HAS_DATA","SYSTEM$TASK_DEPENDENTS_ENABLE","SYSTEM$TYPEOF","SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS","SYSTEM$VERIFY_EXTERNAL_OAUTH_TOKEN","SYSTEM$WAIT","SYSTEM$WHITELIST","SYSTEM$WHITELIST_PRIVATELINK","TAG_REFERENCES","TAG_REFERENCES_ALL_COLUMNS","TAG_REFERENCES_WITH_LINEAGE","TAN","TANH","TASK_DEPENDENTS","TASK_HISTORY","TIME_FROM_PARTS","TIME_SLICE","TIMEADD","TIMEDIFF","TIMESTAMP_FROM_PARTS","TIMESTAMPADD","TIMESTAMPDIFF","TO_ARRAY","TO_BINARY","TO_BOOLEAN","TO_CHAR","TO_VARCHAR","TO_DATE","DATE","TO_DECIMAL","TO_NUMBER","TO_NUMERIC","TO_DOUBLE","TO_GEOGRAPHY","TO_GEOMETRY","TO_JSON","TO_OBJECT","TO_TIME","TIME","TO_TIMESTAMP","TO_TIMESTAMP_LTZ","TO_TIMESTAMP_NTZ","TO_TIMESTAMP_TZ","TO_VARIANT","TO_XML","TRANSLATE","TRIM","TRUNCATE","TRUNC","TRUNC","TRY_BASE64_DECODE_BINARY","TRY_BASE64_DECODE_STRING","TRY_CAST","TRY_HEX_DECODE_BINARY","TRY_HEX_DECODE_STRING","TRY_PARSE_JSON","TRY_TO_BINARY","TRY_TO_BOOLEAN","TRY_TO_DATE","TRY_TO_DECIMAL","TRY_TO_NUMBER","TRY_TO_NUMERIC","TRY_TO_DOUBLE","TRY_TO_GEOGRAPHY","TRY_TO_GEOMETRY","TRY_TO_TIME","TRY_TO_TIMESTAMP","TRY_TO_TIMESTAMP_LTZ","TRY_TO_TIMESTAMP_NTZ","TRY_TO_TIMESTAMP_TZ","TYPEOF","UNICODE","UNIFORM","UPPER","UUID_STRING","VALIDATE","VALIDATE_PIPE_LOAD","VAR_POP","VAR_SAMP","VARIANCE","VARIANCE_SAMP","VARIANCE_POP","WAREHOUSE_LOAD_HISTORY","WAREHOUSE_METERING_HISTORY","WIDTH_BUCKET","XMLGET","YEAR","YEAROFWEEK","YEAROFWEEKISO","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFWEEKISO","DAYOFYEAR","WEEK","WEEK","WEEKOFYEAR","WEEKISO","MONTH","QUARTER","ZEROIFNULL","ZIPF"],stringTypes:["$$","''-qq-bs"],identTypes:['""-qq'],variableTypes:[{regex:"[$][1-9]\\d*"},{regex:"[$][_a-zA-Z][_a-zA-Z0-9$]*"}],extraParens:["[]"],identChars:{rest:"$"},lineCommentTypes:["--","//"],operators:["%","::","||","=>",":=","->"],propertyAccessOperators:[":"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...Oqi,...kqi],tabularOnelineClauses:kqi}},Bqi=e=>e[e.length-1],Vqi=e=>e.sort((e,t)=>t.length-e.length||e.localeCompare(t)),Uqi=e=>e.replace(/\s+/gu," "),Gqi=e=>/\n/.test(e),Hqi=e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),zqi=/\s+/uy,jqi=e=>new RegExp(`(?:${e})`,"uy"),Wqi=e=>e.split("").map(e=>/ /gu.test(e)?"\\s+":`[${e.toUpperCase()}${e.toLowerCase()}]`).join(""),$qi=(e,t=[])=>{const n="open"===e?0:1,i=["()",...t].map(e=>e[n]);return jqi(i.map(Hqi).join("|"))},qqi=e=>jqi(`${Vqi(e).map(Hqi).join("|")}`),Yqi=(e,t={})=>{if(0===e.length)return/^\b$/u;const n=(({rest:e,dashes:t})=>e||t?`(?![${e||""}${t?"-":""}])`:"")(t),i=Vqi(e).map(Hqi).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${i})${n}\\b`,"iuy")},Kqi=(e,t)=>{if(!e.length)return;const n=e.map(Hqi).join("|");return jqi(`(?:${n})(?:${t})`)},Xqi={"``":"(?:`[^`]*`)+","[]":String.raw`(?:\[[^\]]*\])(?:\][^\]]*\])*`,'""-qq':String.raw`(?:"[^"]*")+`,'""-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")`,'""-qq-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")+`,'""-raw':String.raw`(?:"[^"]*")`,"''-qq":String.raw`(?:'[^']*')+`,"''-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')`,"''-qq-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')+`,"''-raw":String.raw`(?:'[^']*')`,$$:String.raw`(?<tag>\$\w*\$)[\s\S]*?\k<tag>`,"'''..'''":String.raw`'''[^\\]*?(?:\\.[^\\]*?)*?'''`,'""".."""':String.raw`"""[^\\]*?(?:\\.[^\\]*?)*?"""`,"{}":String.raw`(?:\{[^\}]*\})`,"q''":(()=>{const e={"<":">","[":"]","(":")","{":"}"},t=Object.entries(e).map(([e,t])=>"{left}(?:(?!{right}').)*?{right}".replace(/{left}/g,Hqi(e)).replace(/{right}/g,Hqi(t))),n=Hqi(Object.keys(e).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${n}])(?:(?!\k<tag>').)*?\k<tag>`}|${t.join("|")})'`})()},Zqi=e=>"string"==typeof e?Xqi[e]:"regex"in e?e.regex:(({prefixes:e,requirePrefix:t})=>`(?:${e.map(Wqi).join("|")}${t?"":"|"})`)(e)+Xqi[e.quote],Qqi=e=>e.map(Zqi).join("|"),Jqi=e=>jqi(Qqi(e)),eYi=(e={})=>jqi(tYi(e)),tYi=({first:e,rest:t,dashes:n,allowFirstCharNumber:i}={})=>{const r="\\p{Alphabetic}\\p{Mark}_",s="\\p{Decimal_Number}",o=Hqi(null!=e?e:""),a=Hqi(null!=t?t:""),l=i?`[${r}${s}${o}][${r}${s}${a}]*`:`[${r}${o}][${r}${s}${a}]*`;return n?(e=>e+"(?:-"+e+")*")(l):l};function nYi(e,t){const n=e.slice(0,t).split(/\n/);return{line:n.length,col:n[n.length-1].length+1}}var iYi=class{constructor(e,t){this.rules=e,this.dialectName=t,this.input="",this.index=0}tokenize(e){this.input=e,this.index=0;const t=[];let n;for(;this.index<this.input.length;){const e=this.getWhitespace();if(this.index<this.input.length){if(n=this.getNextToken(),!n)throw this.createParseError();t.push(Mji(Lji({},n),{precedingWhitespace:e}))}}return t}createParseError(){const e=this.input.slice(this.index,this.index+10),{line:t,col:n}=nYi(this.input,this.index);return new Error(`Parse error: Unexpected "${e}" at line ${t} column ${n}.\n${this.dialectInfo()}`)}dialectInfo(){return"sql"===this.dialectName?'This likely happens because you\'re using the default "sql" dialect.\nIf possible, please select a more specific dialect (like sqlite, postgresql, etc).':`SQL dialect used: "${this.dialectName}".`}getWhitespace(){zqi.lastIndex=this.index;const e=zqi.exec(this.input);if(e)return this.index+=e[0].length,e[0]}getNextToken(){for(const e of this.rules){const t=this.match(e);if(t)return t}}match(e){e.regex.lastIndex=this.index;const t=e.regex.exec(this.input);if(t){const n=t[0],i={type:e.type,raw:n,text:e.text?e.text(n):n,start:this.index};return e.key&&(i.key=e.key(n)),this.index+=n.length,i}}},rYi=/\/\*/uy,sYi=/[\s\S]/uy,oYi=/\*\//uy,aYi=class{constructor(){this.lastIndex=0}exec(e){let t,n="",i=0;if(!(t=this.matchSection(rYi,e)))return null;for(n+=t,i++;i>0;)if(t=this.matchSection(rYi,e))n+=t,i++;else if(t=this.matchSection(oYi,e))n+=t,i--;else{if(!(t=this.matchSection(sYi,e)))return null;n+=t}return[n]}matchSection(e,t){e.lastIndex=this.lastIndex;const n=e.exec(t);return n&&(this.lastIndex+=n[0].length),n?n[0]:null}},lYi=class{constructor(e,t){this.cfg=e,this.dialectName=t,this.rulesBeforeParams=this.buildRulesBeforeParams(e),this.rulesAfterParams=this.buildRulesAfterParams(e)}tokenize(e,t){const n=[...this.rulesBeforeParams,...this.buildParamRules(this.cfg,t),...this.rulesAfterParams],i=new iYi(n,this.dialectName).tokenize(e);return this.cfg.postProcess?this.cfg.postProcess(i):i}buildRulesBeforeParams(e){var t,n,i;return this.validRules([{type:"BLOCK_COMMENT",regex:/(\/\* *sql-formatter-disable *\*\/[\s\S]*?(?:\/\* *sql-formatter-enable *\*\/|$))/uy},{type:"BLOCK_COMMENT",regex:e.nestedBlockComments?new aYi:/(\/\*[^]*?\*\/)/uy},{type:"LINE_COMMENT",regex:(i=null!=(t=e.lineCommentTypes)?t:["--"],new RegExp(`(?:${i.map(Hqi).join("|")}).*?(?=\r\n|\r|\n|$)`,"uy"))},{type:"QUOTED_IDENTIFIER",regex:Jqi(e.identTypes)},{type:"NUMBER",regex:/(?:0x[0-9a-fA-F]+|0b[01]+|(?:-\s*)?(?:[0-9]*\.[0-9]+|[0-9]+(?:\.[0-9]*)?)(?:[eE][-+]?[0-9]+(?:\.[0-9]+)?)?)(?![\w\p{Alphabetic}])/uy},{type:"RESERVED_PHRASE",regex:Yqi(null!=(n=e.reservedPhrases)?n:[],e.identChars),text:cYi},{type:"CASE",regex:/CASE\b/iuy,text:cYi},{type:"END",regex:/END\b/iuy,text:cYi},{type:"BETWEEN",regex:/BETWEEN\b/iuy,text:cYi},{type:"LIMIT",regex:e.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:cYi},{type:"RESERVED_CLAUSE",regex:Yqi(e.reservedClauses,e.identChars),text:cYi},{type:"RESERVED_SELECT",regex:Yqi(e.reservedSelect,e.identChars),text:cYi},{type:"RESERVED_SET_OPERATION",regex:Yqi(e.reservedSetOperations,e.identChars),text:cYi},{type:"WHEN",regex:/WHEN\b/iuy,text:cYi},{type:"ELSE",regex:/ELSE\b/iuy,text:cYi},{type:"THEN",regex:/THEN\b/iuy,text:cYi},{type:"RESERVED_JOIN",regex:Yqi(e.reservedJoins,e.identChars),text:cYi},{type:"AND",regex:/AND\b/iuy,text:cYi},{type:"OR",regex:/OR\b/iuy,text:cYi},{type:"XOR",regex:e.supportsXor?/XOR\b/iuy:void 0,text:cYi},...e.operatorKeyword?[{type:"OPERATOR",regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:"RESERVED_FUNCTION_NAME",regex:Yqi(e.reservedFunctionNames,e.identChars),text:cYi},{type:"RESERVED_DATA_TYPE",regex:Yqi(e.reservedDataTypes,e.identChars),text:cYi},{type:"RESERVED_KEYWORD",regex:Yqi(e.reservedKeywords,e.identChars),text:cYi}])}buildRulesAfterParams(e){var t,n,i;return this.validRules([{type:"VARIABLE",regex:e.variableTypes?(i=e.variableTypes,jqi(i.map(e=>"regex"in e?e.regex:Zqi(e)).join("|"))):void 0},{type:"STRING",regex:Jqi(e.stringTypes)},{type:"IDENTIFIER",regex:eYi(e.identChars)},{type:"DELIMITER",regex:/[;]/uy},{type:"COMMA",regex:/[,]/y},{type:"OPEN_PAREN",regex:$qi("open",e.extraParens)},{type:"CLOSE_PAREN",regex:$qi("close",e.extraParens)},{type:"OPERATOR",regex:qqi(["+","-","/",">","<","=","<>","<=",">=","!=",...null!=(t=e.operators)?t:[]])},{type:"ASTERISK",regex:/[*]/uy},{type:"PROPERTY_ACCESS_OPERATOR",regex:qqi([".",...null!=(n=e.propertyAccessOperators)?n:[]])}])}buildParamRules(e,t){var n,i,r,s,o;const a={named:(null==t?void 0:t.named)||(null==(n=e.paramTypes)?void 0:n.named)||[],quoted:(null==t?void 0:t.quoted)||(null==(i=e.paramTypes)?void 0:i.quoted)||[],numbered:(null==t?void 0:t.numbered)||(null==(r=e.paramTypes)?void 0:r.numbered)||[],positional:"boolean"==typeof(null==t?void 0:t.positional)?t.positional:null==(s=e.paramTypes)?void 0:s.positional,custom:(null==t?void 0:t.custom)||(null==(o=e.paramTypes)?void 0:o.custom)||[]};return this.validRules([{type:"NAMED_PARAMETER",regex:Kqi(a.named,tYi(e.paramChars||e.identChars)),key:e=>e.slice(1)},{type:"QUOTED_PARAMETER",regex:Kqi(a.quoted,Qqi(e.identTypes)),key:e=>(({tokenKey:e,quoteChar:t})=>e.replace(new RegExp(Hqi("\\"+t),"gu"),t))({tokenKey:e.slice(2,-1),quoteChar:e.slice(-1)})},{type:"NUMBERED_PARAMETER",regex:Kqi(a.numbered,"[0-9]+"),key:e=>e.slice(1)},{type:"POSITIONAL_PARAMETER",regex:a.positional?/[?]/y:void 0},...a.custom.map(e=>{var t;return{type:"CUSTOM_PARAMETER",regex:jqi(e.regex),key:null!=(t=e.key)?t:e=>e}})])}validRules(e){return e.filter(e=>Boolean(e.regex))}},cYi=e=>Uqi(e.toUpperCase()),uYi=new Map,dYi=e=>({tokenizer:new lYi(e.tokenizerOptions,e.name),formatOptions:hYi(e.formatOptions)}),hYi=e=>{var t;return{alwaysDenseOperators:e.alwaysDenseOperators||[],onelineClauses:Object.fromEntries(e.onelineClauses.map(e=>[e,!0])),tabularOnelineClauses:Object.fromEntries((null!=(t=e.tabularOnelineClauses)?t:e.onelineClauses).map(e=>[e,!0]))}};function pYi(e){return"tabularLeft"===e.indentStyle||"tabularRight"===e.indentStyle}var gYi=class{constructor(e){this.params=e,this.index=0}get({key:e,text:t}){return this.params?e?this.params[e]:this.params[this.index++]:t}getPositionalParameterIndex(){return this.index}setPositionalParameterIndex(e){this.index=e}};function mYi(e){return e.map(fYi).map(vYi).map(yYi).map(bYi).map(_Yi)}var fYi=(e,t,n)=>{if(Jji(e.type)){const i=CYi(n,t);if(i&&"PROPERTY_ACCESS_OPERATOR"===i.type)return Mji(Lji({},e),{type:"IDENTIFIER",text:e.raw});const r=SYi(n,t);if(r&&"PROPERTY_ACCESS_OPERATOR"===r.type)return Mji(Lji({},e),{type:"IDENTIFIER",text:e.raw})}return e},vYi=(e,t,n)=>{if("RESERVED_FUNCTION_NAME"===e.type){const i=SYi(n,t);if(!i||!wYi(i))return Mji(Lji({},e),{type:"IDENTIFIER",text:e.raw})}return e},yYi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=SYi(n,t);if(i&&wYi(i))return Mji(Lji({},e),{type:"RESERVED_PARAMETERIZED_DATA_TYPE"})}return e},bYi=(e,t,n)=>{if("IDENTIFIER"===e.type){const i=SYi(n,t);if(i&&EYi(i))return Mji(Lji({},e),{type:"ARRAY_IDENTIFIER"})}return e},_Yi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=SYi(n,t);if(i&&EYi(i))return Mji(Lji({},e),{type:"ARRAY_KEYWORD"})}return e},CYi=(e,t)=>SYi(e,t,-1),SYi=(e,t,n=1)=>{let i=1;for(;e[t+i*n]&&xYi(e[t+i*n]);)i++;return e[t+i*n]},wYi=e=>"OPEN_PAREN"===e.type&&"("===e.text,EYi=e=>"OPEN_PAREN"===e.type&&"["===e.text,xYi=e=>"BLOCK_COMMENT"===e.type||"LINE_COMMENT"===e.type,TYi=class{constructor(e){this.tokenize=e,this.index=0,this.tokens=[],this.input=""}reset(e,t){this.input=e,this.index=0,this.tokens=this.tokenize(e)}next(){return this.tokens[this.index++]}save(){}formatError(e){const{line:t,col:n}=nYi(this.input,e.start);return`Parse error at token: ${e.text} at line ${t} column ${n}`}has(e){return e in Yji}};function AYi(e){return e[0]}var RYi=new TYi(e=>[]),NYi=([[e]])=>e,IYi=e=>({type:"keyword",tokenType:e.type,text:e.text,raw:e.raw}),DYi=e=>({type:"data_type",text:e.text,raw:e.raw}),OYi=(e,{leading:t,trailing:n})=>((null==t?void 0:t.length)&&(e=Mji(Lji({},e),{leadingComments:t})),(null==n?void 0:n.length)&&(e=Mji(Lji({},e),{trailingComments:n})),e),kYi=(e,{leading:t,trailing:n})=>{if(null==t?void 0:t.length){const[n,...i]=e;e=[OYi(n,{leading:t}),...i]}if(null==n?void 0:n.length){const t=e.slice(0,-1),i=e[e.length-1];e=[...t,OYi(i,{trailing:n})]}return e},LYi={Lexer:RYi,ParserRules:[{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","statement"],postprocess:e=>e[0].concat([e[1]])},{name:"main",symbols:["main$ebnf$1"],postprocess:([e])=>{const t=e[e.length-1];return t&&!t.hasSemicolon?t.children.length>0?e:e.slice(0,-1):e}},{name:"statement$subexpression$1",symbols:[RYi.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[RYi.has("EOF")?{type:"EOF"}:EOF]},{name:"statement",symbols:["expressions_or_clauses","statement$subexpression$1"],postprocess:([e,[t]])=>({type:"statement",children:e,hasSemicolon:"DELIMITER"===t.type})},{name:"expressions_or_clauses$ebnf$1",symbols:[]},{name:"expressions_or_clauses$ebnf$1",symbols:["expressions_or_clauses$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"expressions_or_clauses$ebnf$2",symbols:[]},{name:"expressions_or_clauses$ebnf$2",symbols:["expressions_or_clauses$ebnf$2","clause"],postprocess:e=>e[0].concat([e[1]])},{name:"expressions_or_clauses",symbols:["expressions_or_clauses$ebnf$1","expressions_or_clauses$ebnf$2"],postprocess:([e,t])=>[...e,...t]},{name:"clause$subexpression$1",symbols:["limit_clause"]},{name:"clause$subexpression$1",symbols:["select_clause"]},{name:"clause$subexpression$1",symbols:["other_clause"]},{name:"clause$subexpression$1",symbols:["set_operation"]},{name:"clause",symbols:["clause$subexpression$1"],postprocess:NYi},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["free_form_sql"]},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"limit_clause$ebnf$1$subexpression$1",symbols:[RYi.has("COMMA")?{type:"COMMA"}:COMMA,"limit_clause$ebnf$1$subexpression$1$ebnf$1"]},{name:"limit_clause$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1"],postprocess:AYi},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[RYi.has("LIMIT")?{type:"LIMIT"}:LIMIT,"_","expression_chain_","limit_clause$ebnf$1"],postprocess:([e,t,n,i])=>{if(i){const[r,s]=i;return{type:"limit_clause",limitKw:OYi(IYi(e),{trailing:t}),offset:n,count:s}}return{type:"limit_clause",limitKw:OYi(IYi(e),{trailing:t}),count:n}}},{name:"select_clause$subexpression$1$ebnf$1",symbols:[]},{name:"select_clause$subexpression$1$ebnf$1",symbols:["select_clause$subexpression$1$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"select_clause$subexpression$1",symbols:["all_columns_asterisk","select_clause$subexpression$1$ebnf$1"]},{name:"select_clause$subexpression$1$ebnf$2",symbols:[]},{name:"select_clause$subexpression$1$ebnf$2",symbols:["select_clause$subexpression$1$ebnf$2","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"select_clause$subexpression$1",symbols:["asteriskless_free_form_sql","select_clause$subexpression$1$ebnf$2"]},{name:"select_clause",symbols:[RYi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([e,[t,n]])=>({type:"clause",nameKw:IYi(e),children:[t,...n]})},{name:"select_clause",symbols:[RYi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([e])=>({type:"clause",nameKw:IYi(e),children:[]})},{name:"all_columns_asterisk",symbols:[RYi.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK],postprocess:()=>({type:"all_columns_asterisk"})},{name:"other_clause$ebnf$1",symbols:[]},{name:"other_clause$ebnf$1",symbols:["other_clause$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"other_clause",symbols:[RYi.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([e,t])=>({type:"clause",nameKw:IYi(e),children:t})},{name:"set_operation$ebnf$1",symbols:[]},{name:"set_operation$ebnf$1",symbols:["set_operation$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"set_operation",symbols:[RYi.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([e,t])=>({type:"set_operation",nameKw:IYi(e),children:t})},{name:"expression_chain_$ebnf$1",symbols:["expression_with_comments_"]},{name:"expression_chain_$ebnf$1",symbols:["expression_chain_$ebnf$1","expression_with_comments_"],postprocess:e=>e[0].concat([e[1]])},{name:"expression_chain_",symbols:["expression_chain_$ebnf$1"],postprocess:AYi},{name:"expression_chain$ebnf$1",symbols:[]},{name:"expression_chain$ebnf$1",symbols:["expression_chain$ebnf$1","_expression_with_comments"],postprocess:e=>e[0].concat([e[1]])},{name:"expression_chain",symbols:["expression","expression_chain$ebnf$1"],postprocess:([e,t])=>[e,...t]},{name:"andless_expression_chain$ebnf$1",symbols:[]},{name:"andless_expression_chain$ebnf$1",symbols:["andless_expression_chain$ebnf$1","_andless_expression_with_comments"],postprocess:e=>e[0].concat([e[1]])},{name:"andless_expression_chain",symbols:["andless_expression","andless_expression_chain$ebnf$1"],postprocess:([e,t])=>[e,...t]},{name:"expression_with_comments_",symbols:["expression","_"],postprocess:([e,t])=>OYi(e,{trailing:t})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([e,t])=>OYi(t,{leading:e})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([e,t])=>OYi(t,{leading:e})},{name:"free_form_sql$subexpression$1",symbols:["asteriskless_free_form_sql"]},{name:"free_form_sql$subexpression$1",symbols:["asterisk"]},{name:"free_form_sql",symbols:["free_form_sql$subexpression$1"],postprocess:NYi},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["logic_operator"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comma"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comment"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["other_keyword"]},{name:"asteriskless_free_form_sql",symbols:["asteriskless_free_form_sql$subexpression$1"],postprocess:NYi},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:NYi},{name:"andless_expression$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"andless_expression$subexpression$1",symbols:["asterisk"]},{name:"andless_expression",symbols:["andless_expression$subexpression$1"],postprocess:NYi},{name:"asteriskless_andless_expression$subexpression$1",symbols:["atomic_expression"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["between_predicate"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["case_expression"]},{name:"asteriskless_andless_expression",symbols:["asteriskless_andless_expression$subexpression$1"],postprocess:NYi},{name:"atomic_expression$subexpression$1",symbols:["array_subscript"]},{name:"atomic_expression$subexpression$1",symbols:["function_call"]},{name:"atomic_expression$subexpression$1",symbols:["property_access"]},{name:"atomic_expression$subexpression$1",symbols:["parenthesis"]},{name:"atomic_expression$subexpression$1",symbols:["curly_braces"]},{name:"atomic_expression$subexpression$1",symbols:["square_brackets"]},{name:"atomic_expression$subexpression$1",symbols:["operator"]},{name:"atomic_expression$subexpression$1",symbols:["identifier"]},{name:"atomic_expression$subexpression$1",symbols:["parameter"]},{name:"atomic_expression$subexpression$1",symbols:["literal"]},{name:"atomic_expression$subexpression$1",symbols:["data_type"]},{name:"atomic_expression$subexpression$1",symbols:["keyword"]},{name:"atomic_expression",symbols:["atomic_expression$subexpression$1"],postprocess:NYi},{name:"array_subscript",symbols:[RYi.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:OYi({type:"identifier",quoted:!1,text:e.text},{trailing:t}),parenthesis:n})},{name:"array_subscript",symbols:[RYi.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:OYi(IYi(e),{trailing:t}),parenthesis:n})},{name:"function_call",symbols:[RYi.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([e,t,n])=>({type:"function_call",nameKw:OYi(IYi(e),{trailing:t}),parenthesis:n})},{name:"parenthesis",symbols:[{literal:"("},"expressions_or_clauses",{literal:")"}],postprocess:([e,t,n])=>({type:"parenthesis",children:t,openParen:"(",closeParen:")"})},{name:"curly_braces$ebnf$1",symbols:[]},{name:"curly_braces$ebnf$1",symbols:["curly_braces$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"curly_braces",symbols:[{literal:"{"},"curly_braces$ebnf$1",{literal:"}"}],postprocess:([e,t,n])=>({type:"parenthesis",children:t,openParen:"{",closeParen:"}"})},{name:"square_brackets$ebnf$1",symbols:[]},{name:"square_brackets$ebnf$1",symbols:["square_brackets$ebnf$1","free_form_sql"],postprocess:e=>e[0].concat([e[1]])},{name:"square_brackets",symbols:[{literal:"["},"square_brackets$ebnf$1",{literal:"]"}],postprocess:([e,t,n])=>({type:"parenthesis",children:t,openParen:"[",closeParen:"]"})},{name:"property_access$subexpression$1",symbols:["identifier"]},{name:"property_access$subexpression$1",symbols:["array_subscript"]},{name:"property_access$subexpression$1",symbols:["all_columns_asterisk"]},{name:"property_access$subexpression$1",symbols:["parameter"]},{name:"property_access",symbols:["atomic_expression","_",RYi.has("PROPERTY_ACCESS_OPERATOR")?{type:"PROPERTY_ACCESS_OPERATOR"}:PROPERTY_ACCESS_OPERATOR,"_","property_access$subexpression$1"],postprocess:([e,t,n,i,[r]])=>({type:"property_access",object:OYi(e,{trailing:t}),operator:n.text,property:OYi(r,{leading:i})})},{name:"between_predicate",symbols:[RYi.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",RYi.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([e,t,n,i,r,s,o])=>({type:"between_predicate",betweenKw:IYi(e),expr1:kYi(n,{leading:t,trailing:i}),andKw:IYi(r),expr2:[OYi(o,{leading:s})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:AYi},{name:"case_expression$ebnf$1",symbols:[],postprocess:()=>null},{name:"case_expression$ebnf$2",symbols:[]},{name:"case_expression$ebnf$2",symbols:["case_expression$ebnf$2","case_clause"],postprocess:e=>e[0].concat([e[1]])},{name:"case_expression",symbols:[RYi.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",RYi.has("END")?{type:"END"}:END],postprocess:([e,t,n,i,r])=>({type:"case_expression",caseKw:OYi(IYi(e),{trailing:t}),endKw:IYi(r),expr:n||[],clauses:i})},{name:"case_clause",symbols:[RYi.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",RYi.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([e,t,n,i,r,s])=>({type:"case_when",whenKw:OYi(IYi(e),{trailing:t}),thenKw:OYi(IYi(i),{trailing:r}),condition:n,result:s})},{name:"case_clause",symbols:[RYi.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([e,t,n])=>({type:"case_else",elseKw:OYi(IYi(e),{trailing:t}),result:n})},{name:"comma$subexpression$1",symbols:[RYi.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[e]])=>({type:"comma"})},{name:"asterisk$subexpression$1",symbols:[RYi.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"operator$subexpression$1",symbols:[RYi.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"identifier$subexpression$1",symbols:[RYi.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[RYi.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[RYi.has("VARIABLE")?{type:"VARIABLE"}:VARIABLE]},{name:"identifier",symbols:["identifier$subexpression$1"],postprocess:([[e]])=>({type:"identifier",quoted:"IDENTIFIER"!==e.type,text:e.text})},{name:"parameter$subexpression$1",symbols:[RYi.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[RYi.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[RYi.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[RYi.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[RYi.has("CUSTOM_PARAMETER")?{type:"CUSTOM_PARAMETER"}:CUSTOM_PARAMETER]},{name:"parameter",symbols:["parameter$subexpression$1"],postprocess:([[e]])=>({type:"parameter",key:e.key,text:e.text})},{name:"literal$subexpression$1",symbols:[RYi.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[RYi.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[e]])=>({type:"literal",text:e.text})},{name:"keyword$subexpression$1",symbols:[RYi.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[RYi.has("RESERVED_PHRASE")?{type:"RESERVED_PHRASE"}:RESERVED_PHRASE]},{name:"keyword$subexpression$1",symbols:[RYi.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[e]])=>IYi(e)},{name:"data_type$subexpression$1",symbols:[RYi.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[e]])=>DYi(e)},{name:"data_type",symbols:[RYi.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([e,t,n])=>({type:"parameterized_data_type",dataType:OYi(DYi(e),{trailing:t}),parenthesis:n})},{name:"logic_operator$subexpression$1",symbols:[RYi.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[RYi.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[RYi.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[e]])=>IYi(e)},{name:"other_keyword$subexpression$1",symbols:[RYi.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[RYi.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[RYi.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[RYi.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[e]])=>IYi(e)},{name:"_$ebnf$1",symbols:[]},{name:"_$ebnf$1",symbols:["_$ebnf$1","comment"],postprocess:e=>e[0].concat([e[1]])},{name:"_",symbols:["_$ebnf$1"],postprocess:([e])=>e},{name:"comment",symbols:[RYi.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([e])=>({type:"line_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[RYi.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([e])=>({type:"block_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[RYi.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([e])=>({type:"disable_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})}],ParserStart:"main"},MYi=LYi,{Parser:PYi,Grammar:FYi}=Tji;var BYi=class{constructor(e){this.indentation=e,this.items=[]}add(...e){for(const t of e)switch(t){case 0:this.items.push(0);break;case 1:this.trimHorizontalWhitespace();break;case 2:this.trimWhitespace();break;case 3:this.trimHorizontalWhitespace(),this.addNewline(3);break;case 4:this.trimHorizontalWhitespace(),this.addNewline(4);break;case 5:this.addIndentation();break;case 6:this.items.push(6);break;default:this.items.push(t)}}trimHorizontalWhitespace(){for(;VYi(Bqi(this.items));)this.items.pop()}trimWhitespace(){for(;UYi(Bqi(this.items));)this.items.pop()}addNewline(e){if(this.items.length>0)switch(Bqi(this.items)){case 3:this.items.pop(),this.items.push(e);break;case 4:break;default:this.items.push(e)}}addIndentation(){for(let e=0;e<this.indentation.getLevel();e++)this.items.push(6)}toString(){return this.items.map(e=>this.itemToString(e)).join("")}getLayoutItems(){return this.items}itemToString(e){switch(e){case 0:return" ";case 3:case 4:return"\n";case 6:return this.indentation.getSingleIndent();default:return e}}},VYi=e=>0===e||6===e,UYi=e=>0===e||6===e||3===e;function GYi(e,t){if("standard"===t)return e;let n=[];return e.length>=10&&e.includes(" ")&&([e,...n]=e.split(" ")),(e="tabularLeft"===t?e.padEnd(9," "):e.padStart(9," "))+["",...n].join(" ")}function HYi(e){return(e=>"AND"===e||"OR"===e||"XOR"===e)(e)||"RESERVED_CLAUSE"===e||"RESERVED_SELECT"===e||"RESERVED_SET_OPERATION"===e||"RESERVED_JOIN"===e||"LIMIT"===e}var zYi="top-level",jYi=class{constructor(e){this.indent=e,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(zYi)}increaseBlockLevel(){this.indentTypes.push("block-level")}decreaseTopLevel(){this.indentTypes.length>0&&Bqi(this.indentTypes)===zYi&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0;){if(this.indentTypes.pop()!==zYi)break}}},WYi=class extends BYi{constructor(e){super(new jYi("")),this.expressionWidth=e,this.length=0,this.trailingSpace=!1}add(...e){if(e.forEach(e=>this.addToLength(e)),this.length>this.expressionWidth)throw new $Yi;super.add(...e)}addToLength(e){if("string"==typeof e)this.length+=e.length,this.trailingSpace=!1;else{if(4===e||3===e)throw new $Yi;5===e||6===e||0===e?this.trailingSpace||(this.length++,this.trailingSpace=!0):2!==e&&1!==e||this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}},$Yi=class extends Error{},qYi=class e{constructor({cfg:e,dialectCfg:t,params:n,layout:i,inline:r=!1}){this.inline=!1,this.nodes=[],this.index=-1,this.cfg=e,this.dialectCfg=t,this.inline=r,this.params=n,this.layout=i}format(e){for(this.nodes=e,this.index=0;this.index<this.nodes.length;this.index++)this.formatNode(this.nodes[this.index]);return this.layout}formatNode(e){this.formatComments(e.leadingComments),this.formatNodeWithoutComments(e),this.formatComments(e.trailingComments)}formatNodeWithoutComments(e){switch(e.type){case"function_call":return this.formatFunctionCall(e);case"parameterized_data_type":return this.formatParameterizedDataType(e);case"array_subscript":return this.formatArraySubscript(e);case"property_access":return this.formatPropertyAccess(e);case"parenthesis":return this.formatParenthesis(e);case"between_predicate":return this.formatBetweenPredicate(e);case"case_expression":return this.formatCaseExpression(e);case"case_when":return this.formatCaseWhen(e);case"case_else":return this.formatCaseElse(e);case"clause":return this.formatClause(e);case"set_operation":return this.formatSetOperation(e);case"limit_clause":return this.formatLimitClause(e);case"all_columns_asterisk":return this.formatAllColumnsAsterisk(e);case"literal":return this.formatLiteral(e);case"identifier":return this.formatIdentifier(e);case"parameter":return this.formatParameter(e);case"operator":return this.formatOperator(e);case"comma":return this.formatComma(e);case"line_comment":return this.formatLineComment(e);case"block_comment":case"disable_comment":return this.formatBlockComment(e);case"data_type":return this.formatDataType(e);case"keyword":return this.formatKeywordNode(e)}}formatFunctionCall(e){this.withComments(e.nameKw,()=>{this.layout.add(this.showFunctionKw(e.nameKw))}),this.formatNode(e.parenthesis)}formatParameterizedDataType(e){this.withComments(e.dataType,()=>{this.layout.add(this.showDataType(e.dataType))}),this.formatNode(e.parenthesis)}formatArraySubscript(e){let t;switch(e.array.type){case"data_type":t=this.showDataType(e.array);break;case"keyword":t=this.showKw(e.array);break;default:t=this.showIdentifier(e.array)}this.withComments(e.array,()=>{this.layout.add(t)}),this.formatNode(e.parenthesis)}formatPropertyAccess(e){this.formatNode(e.object),this.layout.add(1,e.operator),this.formatNode(e.property)}formatParenthesis(e){const t=this.formatInlineExpression(e.children);t?(this.layout.add(e.openParen),this.layout.add(...t.getLayoutItems()),this.layout.add(1,e.closeParen,0)):(this.layout.add(e.openParen,3),pYi(this.cfg)?(this.layout.add(5),this.layout=this.formatSubExpression(e.children)):(this.layout.indentation.increaseBlockLevel(),this.layout.add(5),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseBlockLevel()),this.layout.add(3,5,e.closeParen,0))}formatBetweenPredicate(e){this.layout.add(this.showKw(e.betweenKw),0),this.layout=this.formatSubExpression(e.expr1),this.layout.add(1,0,this.showNonTabularKw(e.andKw),0),this.layout=this.formatSubExpression(e.expr2),this.layout.add(0)}formatCaseExpression(e){this.formatNode(e.caseKw),this.layout.indentation.increaseBlockLevel(),this.layout=this.formatSubExpression(e.expr),this.layout=this.formatSubExpression(e.clauses),this.layout.indentation.decreaseBlockLevel(),this.layout.add(3,5),this.formatNode(e.endKw)}formatCaseWhen(e){this.layout.add(3,5),this.formatNode(e.whenKw),this.layout=this.formatSubExpression(e.condition),this.formatNode(e.thenKw),this.layout=this.formatSubExpression(e.result)}formatCaseElse(e){this.layout.add(3,5),this.formatNode(e.elseKw),this.layout=this.formatSubExpression(e.result)}formatClause(e){this.isOnelineClause(e)?this.formatClauseInOnelineStyle(e):pYi(this.cfg)?this.formatClauseInTabularStyle(e):this.formatClauseInIndentedStyle(e)}isOnelineClause(e){return pYi(this.cfg)?this.dialectCfg.tabularOnelineClauses[e.nameKw.text]:this.dialectCfg.onelineClauses[e.nameKw.text]}formatClauseInIndentedStyle(e){this.layout.add(3,5,this.showKw(e.nameKw),3),this.layout.indentation.increaseTopLevel(),this.layout.add(5),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatClauseInOnelineStyle(e){this.layout.add(3,5,this.showKw(e.nameKw),0),this.layout=this.formatSubExpression(e.children)}formatClauseInTabularStyle(e){this.layout.add(3,5,this.showKw(e.nameKw),0),this.layout.indentation.increaseTopLevel(),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatSetOperation(e){this.layout.add(3,5,this.showKw(e.nameKw),3),this.layout.add(5),this.layout=this.formatSubExpression(e.children)}formatLimitClause(e){this.withComments(e.limitKw,()=>{this.layout.add(3,5,this.showKw(e.limitKw))}),this.layout.indentation.increaseTopLevel(),pYi(this.cfg)?this.layout.add(0):this.layout.add(3,5),e.offset?(this.layout=this.formatSubExpression(e.offset),this.layout.add(1,",",0),this.layout=this.formatSubExpression(e.count)):this.layout=this.formatSubExpression(e.count),this.layout.indentation.decreaseTopLevel()}formatAllColumnsAsterisk(e){this.layout.add("*",0)}formatLiteral(e){this.layout.add(e.text,0)}formatIdentifier(e){this.layout.add(this.showIdentifier(e),0)}formatParameter(e){this.layout.add(this.params.get(e),0)}formatOperator({text:e}){this.cfg.denseOperators||this.dialectCfg.alwaysDenseOperators.includes(e)?this.layout.add(1,e):":"===e?this.layout.add(1,e,0):this.layout.add(e,0)}formatComma(e){this.inline?this.layout.add(1,",",0):this.layout.add(1,",",3,5)}withComments(e,t){this.formatComments(e.leadingComments),t(),this.formatComments(e.trailingComments)}formatComments(e){e&&e.forEach(e=>{"line_comment"===e.type?this.formatLineComment(e):this.formatBlockComment(e)})}formatLineComment(e){Gqi(e.precedingWhitespace||"")?this.layout.add(3,5,e.text,4,5):this.layout.getLayoutItems().length>0?this.layout.add(2,0,e.text,4,5):this.layout.add(e.text,4,5)}formatBlockComment(e){"block_comment"===e.type&&this.isMultilineBlockComment(e)?(this.splitBlockComment(e.text).forEach(e=>{this.layout.add(3,5,e)}),this.layout.add(3,5)):this.layout.add(e.text,0)}isMultilineBlockComment(e){return Gqi(e.text)||Gqi(e.precedingWhitespace||"")}isDocComment(e){const t=e.split(/\n/);return/^\/\*\*?$/.test(t[0])&&t.slice(1,t.length-1).every(e=>/^\s*\*/.test(e))&&/^\s*\*\/$/.test(Bqi(t))}splitBlockComment(e){return this.isDocComment(e)?e.split(/\n/).map(e=>/^\s*\*/.test(e)?" "+e.replace(/^\s*/,""):e):e.split(/\n/).map(e=>e.replace(/^\s*/,""))}formatSubExpression(t){return new e({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:this.layout,inline:this.inline}).format(t)}formatInlineExpression(t){const n=this.params.getPositionalParameterIndex();try{return new e({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:new WYi(this.cfg.expressionWidth),inline:!0}).format(t)}catch(e){if(e instanceof $Yi)return void this.params.setPositionalParameterIndex(n);throw e}}formatKeywordNode(e){switch(e.tokenType){case"RESERVED_JOIN":return this.formatJoin(e);case"AND":case"OR":case"XOR":return this.formatLogicalOperator(e);default:return this.formatKeyword(e)}}formatJoin(e){pYi(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(3,5,this.showKw(e),0),this.layout.indentation.increaseTopLevel()):this.layout.add(3,5,this.showKw(e),0)}formatKeyword(e){this.layout.add(this.showKw(e),0)}formatLogicalOperator(e){"before"===this.cfg.logicalOperatorNewline?pYi(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(3,5,this.showKw(e),0),this.layout.indentation.increaseTopLevel()):this.layout.add(3,5,this.showKw(e),0):this.layout.add(this.showKw(e),3,5)}formatDataType(e){this.layout.add(this.showDataType(e),0)}showKw(e){return HYi(e.tokenType)?GYi(this.showNonTabularKw(e),this.cfg.indentStyle):this.showNonTabularKw(e)}showNonTabularKw(e){switch(this.cfg.keywordCase){case"preserve":return Uqi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showFunctionKw(e){return HYi(e.tokenType)?GYi(this.showNonTabularFunctionKw(e),this.cfg.indentStyle):this.showNonTabularFunctionKw(e)}showNonTabularFunctionKw(e){switch(this.cfg.functionCase){case"preserve":return Uqi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showIdentifier(e){if(e.quoted)return e.text;switch(this.cfg.identifierCase){case"preserve":return e.text;case"upper":return e.text.toUpperCase();case"lower":return e.text.toLowerCase()}}showDataType(e){switch(this.cfg.dataTypeCase){case"preserve":return Uqi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}},YYi=class{constructor(e,t){this.dialect=e,this.cfg=t,this.params=new gYi(this.cfg.params)}format(e){const t=this.parse(e);return this.formatAst(t).trimEnd()}parse(e){return function(e){let t={};const n=new TYi(n=>[...mYi(e.tokenize(n,t)),Kji(n.length)]),i=new PYi(FYi.fromCompiled(MYi),{lexer:n});return{parse:(e,n)=>{t=n;const{results:r}=i.feed(e);if(1===r.length)return r[0];throw 0===r.length?new Error("Parse error: Invalid SQL"):new Error(`Parse error: Ambiguous grammar\n${JSON.stringify(r,void 0,2)}`)}}}(this.dialect.tokenizer).parse(e,this.cfg.paramTypes||{})}formatAst(e){return e.map(e=>this.formatStatement(e)).join("\n".repeat(this.cfg.linesBetweenQueries+1))}formatStatement(e){const t=new qYi({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new BYi(new jYi((n=this.cfg,"tabularLeft"===n.indentStyle||"tabularRight"===n.indentStyle?" ".repeat(10):n.useTabs?"\t":" ".repeat(n.tabWidth))))}).format(e.children);var n;return e.hasSemicolon&&(this.cfg.newlineBeforeSemicolon?t.add(3,";"):t.add(2,";")),t.toString()}},KYi=class extends Error{};function XYi(e){const t=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const n of t)if(n in e)throw new KYi(`${n} config is no more supported.`);if(e.expressionWidth<=0)throw new KYi(`expressionWidth config must be positive number. Received ${e.expressionWidth} instead.`);var n;if(e.params&&!((n=e.params)instanceof Array?n:Object.values(n)).every(e=>"string"==typeof e)&&console.warn('WARNING: All "params" option values should be strings.'),e.paramTypes&&!function(e){if(e.custom&&Array.isArray(e.custom))return e.custom.every(e=>""!==e.regex);return!0}(e.paramTypes))throw new KYi("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return e}var ZYi={bigquery:"bigquery",db2:"db2",db2i:"db2i",hive:"hive",mariadb:"mariadb",mysql:"mysql",n1ql:"n1ql",plsql:"plsql",postgresql:"postgresql",redshift:"redshift",spark:"spark",sqlite:"sqlite",sql:"sql",tidb:"tidb",trino:"trino",transactsql:"transactsql",tsql:"transactsql",singlestoredb:"singlestoredb",snowflake:"snowflake"},QYi=Object.keys(ZYi),JYi={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},eKi=(e,t={})=>{if("string"==typeof t.language&&!QYi.includes(t.language))throw new KYi(`Unsupported SQL dialect: ${t.language}`);const n=ZYi[t.language||"sql"];return tKi(e,Mji(Lji({},t),{dialect:Pji[n]}))},tKi=(e,t)=>{var n=t,{dialect:i}=n,r=((e,t)=>{var n={};for(var i in e)Dji.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&Iji)for(var i of Iji(e))t.indexOf(i)<0&&Oji.call(e,i)&&(n[i]=e[i]);return n})(n,["dialect"]);if("string"!=typeof e)throw new Error("Invalid query argument. Expected string, instead got "+typeof e);const s=XYi(Lji(Lji({},JYi),r));return new YYi((e=>{let t=uYi.get(e);return t||(t=dYi(e),uYi.set(e,t)),t})(i),s).format(e)};const nKi=console.error;function iKi(e){return AG_GRID_LICENSE&&Mbi.setLicenseKey(AG_GRID_LICENSE),"production"!==process.env.NODE_ENV&&(console.error=(e,...t)=>{console.debug(`%c ${e}`,"color: silver")}),vse.jsx(dbi,{theme:"legacy",...e,modules:[Qvi,WPi],onGridReady:t=>{e.onGridReady?.(t),"production"!==process.env.NODE_ENV&&(console.error=nKi)}})}class rKi{uuid=Mr()}const sKi=(e,t,n)=>{const i=new VS(I_(t)),r=n??e.filterState.lambdaParameterName,s=e.sourceState.buildLeftExpression(e.filterState.queryBuilderState,r);if(i.parametersValues.push(s),e.rightConditionValue&&e.rightConditionValue instanceof yUi&&void 0!==e.rightConditionValue.value)i.parametersValues.push(e.rightConditionValue.value);else if(e.rightConditionValue&&e.rightConditionValue instanceof bUi){const t=gUi(e.rightConditionValue.propertyExpressionState.propertyExpression,e.filterState.queryBuilderState,r);i.parametersValues.push(t)}else if(e.rightConditionValue&&e.rightConditionValue instanceof _Ui){const t=e.rightConditionValue,n=e.filterState.queryBuilderState.sourceRelationType;if(!n)throw new Error(`Can't build expression for relation column '${t.columnName}': no source relation type`);const s=n.columns.find(e=>e.name===t.columnName);if(!s)throw new Error(`Can't find column '${t.columnName}' in relation`);const o=new BS(s.name);o.func=s,o.parametersValues=[new TS(r,A_.ONE)],i.parametersValues.push(o)}return i},oKi=e=>{const t=e.parametersValues[0];return t instanceof US?t.func.value.genericType.value.rawType.path:t instanceof BS&&t.func instanceof Y_?t.func.genericType.value.rawType.path:void 0},aKi=(e,t,n,i,r=!1)=>{let s,o;if(k_(t.functionName,n)){br(t.parametersValues.length===(r?1:2),`Can't process ${I_(n)}() expression: ${I_(n)}() expects ${r?"no argument":"1 argument"}`);const i=t.parametersValues[0];if(i instanceof US)s=new EUi(e,i);else{if(!(i instanceof BS&&i.func instanceof Y_))throw new Error(`Can't process ${I_(n)}() expression: expects property expression or relation column in lambda body`);{const t=i.func;s=new EUi(e,new wUi(t.name,t.genericType.value.rawType,t.multiplicity))}}o=t}else if(k_(t.functionName,Rvt.EXISTS)){const i=mr(t.parametersValues[1],zS),a=mr(i.values[0],HS),l=mr(a.expressionSequence[0],VS);br(l.parametersValues.length===(r?1:2),`Can't process ${I_(n)}() expression: ${I_(n)}() expects ${r?"no argument":"1 argument"}`);const c=mr(l.parametersValues[0],US,`Can't process ${I_(n)}() expression: expects property expression in lambda body`);s=new EUi(e,c),o=l}if(s&&o){br(i.isCompatibleWithFilterConditionProperty(s),`Can't process ${I_(n)}() expression: property is not compatible with operator`),s.setOperator(i);const t=o.parametersValues[1];if(r||!t)s.setRightConditionValue(void 0);else if(t instanceof US)s.setRightConditionValue(new bUi(s,new TVi(e.queryBuilderState,t)));else if(t instanceof BS&&t.func instanceof Y_){const e=t.func;s.setRightConditionValue(new _Ui(s,e.name,e.genericType.value.rawType,e.multiplicity))}else s.setRightConditionValue(new yUi(s,oyt(t,s.filterState.queryBuilderState.observerContext)));return i.isCompatibleWithFilterConditionValue(s)||s.setRightConditionValue(new yUi(s,i.getDefaultFilterConditionValue(s))),s}};class lKi extends rKi{getLabel(){return"is"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=Jvt(t);return void 0!==n&&[Xb.STRING,Xb.BOOLEAN,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)||t instanceof nC&&t.values.length>0}isCompatibleWithFilterConditionValue(e){return eyt(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.leftConditionType)}getDefaultFilterConditionValue(e){const t=e.leftConditionType;return vVi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildFilterConditionExpression(e,t){return sKi(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Rvt.IS_ON_DAY:Rvt.EQUAL,t)}buildFilterConditionState(e,t){return aKi(e,t,oKi(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Rvt.IS_ON_DAY:Rvt.EQUAL,this)}get hashCode(){return fv([ayt.FILTER_OPERATOR_EQUAL])}}class cKi extends lKi{getLabel(){return"is not"}buildFilterConditionExpression(e,t){return Zvt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Xvt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return fv([ayt.FILTER_OPERATOR_NOT_EQUAL])}}class uKi extends rKi{getLabel(){return"is in list of"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=Jvt(t);return void 0!==n&&[Xb.STRING,Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)||t instanceof nC}isCompatibleWithFilterConditionValue(e){const t=e.leftConditionType,n=e.rightConditionValue;if(n instanceof yUi){const i=n.value;if(i instanceof IS){if(0===i.values.length)return!0;const n=Yvt(e.filterState.queryBuilderState.graphManagerState.graph,i.values);if(!n)return!1;const r=Jvt(t)??t.path,s=Jvt(n)??n.path;return[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(r)?[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(s):n===t||r===s}if(i instanceof TS)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=e.leftConditionType,n=Jvt(t),i=void 0!==n?H_(n):t;return new IS(A_.ONE,j_.create(new X_(i)))}buildFilterConditionExpression(e,t){return sKi(e,Rvt.IN,t)}buildFilterConditionState(e,t){return aKi(e,t,Rvt.IN,this)}get hashCode(){return fv([ayt.FILTER_OPERATOR_IN])}}class dKi extends uKi{getLabel(){return"is not in list of"}buildFilterConditionExpression(e,t){return Zvt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Xvt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return fv([ayt.FILTER_OPERATOR_NOT_IN])}}class hKi extends rKi{getLabel(){return"is empty"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=e.sourceState;if(n instanceof SUi){if(!Qvt(e.propertyExpressionState.propertyExpression))return!1}else{if(!(n instanceof wUi))return!1;if(0!==n.columnMultiplicity.lowerBound)return!1}return t instanceof nC||t instanceof V_||t instanceof U_}isCompatibleWithFilterConditionValue(e){return void 0===e.rightConditionValue}getDefaultFilterConditionValue(e){}buildFilterConditionExpression(e,t){return sKi(e,Rvt.IS_EMPTY,t)}buildFilterConditionState(e,t){return aKi(e,t,Rvt.IS_EMPTY,this,!0)}get hashCode(){return fv([ayt.FILTER_OPERATOR_IS_EMPTY])}}class pKi extends hKi{getLabel(){return"is not empty"}buildFilterConditionExpression(e,t){return Zvt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Xvt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return fv([ayt.FILTER_OPERATOR_IS_NOT_EMPTY])}}const gKi=(e,t="mysql")=>{try{return eKi(e,{language:t})}catch{try{return eKi(e)}catch{return e}}},mKi=e=>{const t=e.result.rows.map((t,n)=>{const i={},r=e.result.columns;return t.values.forEach((e,t)=>{i[r[t]]=e}),i.rowNumber=n,i});return t},fKi=new lKi,vKi=new cKi,yKi=new uKi,bKi=new dKi,_Ki=new hKi,CKi=new pKi,SKi=new fGi,wKi=new hGi,EKi=new gGi,xKi=new mGi,TKi=new vGi,AKi=new pGi,RKi=(e,t,n)=>{t.value&&zvt(e,e instanceof NS?dC.create(dr((e.genericType?.ownerReference.value).values.filter(e=>e.name===t.value)[0])):t.value,0,n.observerContext)},NKi=(e,t,n,i,r,s)=>{s.filterState.setShowPanel(!0);const o=((e,t)=>e?null===t.value?_Ki:fKi:null===t.value?CKi:vKi)(t,n),a=((e,t,n)=>Array.from(n.nodes.values()).filter(pr(IUi)).filter(n=>n.condition.sourceState instanceof SUi&&n.condition.sourceState.propertyExpressionState.path===t?.path&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[_Ki,CKi]:t?[fKi,yKi]:[vKi,bKi],r,s.filterState);if(a)((e,t,n,i,r,s)=>{if(i===_Ki||i===CKi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?_Ki:CKi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof yUi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof AS&&(a.value instanceof NS?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);RKi(i,n,s),o.changeOperator(t?yKi:bKi),jvt(a.value,[e,i],s.observerContext)}}else{const e=a.value instanceof AS&&a.value.values.filter(e=>e instanceof AS).map(e=>e instanceof NS?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?fKi:vKi).getDefaultFilterConditionValue(o);RKi(e,n,s),jvt(a.value,[...a.value.values,e],s.observerContext)}}})(a,t,n,o,i,s);else try{((e,t,n,i,r)=>{let s;try{if(r){s=new EUi(i,r,t);const e=s.operator.getDefaultFilterConditionValue(s);s.buildRightConditionValueFromValueSpec(e),RKi(e,n,i.queryBuilderState),i.addNodeFromNode(new IUi(void 0,s),void 0)}}catch(t){return bi(t),void e.notificationService.notifyWarning(t.message)}})(e,o,n,s.filterState,r.propertyExpression)}catch(t){bi(t),e.alertUnhandledError(t)}},IKi=async(e,t,n,i,r,s)=>{s.setShowPostFilterPanel(!0);const o=((e,t)=>e?null===t.value?EKi:SKi:null===t.value?xKi:TKi)(t,n),a=((e,t,n,i)=>Array.from(n.nodes.values()).filter(pr(sGi)).filter(e=>e.condition.leftConditionValue instanceof OVi||e.condition.leftConditionValue instanceof MGi).filter(n=>n.condition.leftConditionValue.columnName===(t??i?.columnName)&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[EKi,xKi]:t?[SKi,wKi]:[TKi,AKi],n.columnName,s.postFilterState,r);if(a)((e,t,n,i,r,s)=>{if(i===EKi||i===xKi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?EKi:xKi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof lGi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof AS&&(a.value instanceof NS?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);RKi(i,n,s.queryBuilderState),o.changeOperator(t?wKi:AKi),jvt(a.value,[e,i],s.queryBuilderState.observerContext)}}else{const e=a.value instanceof AS&&a.value.values.filter(e=>e instanceof AS).map(e=>e instanceof NS?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?SKi:TKi).getDefaultFilterConditionValue(o);RKi(e,n,s.queryBuilderState),jvt(a.value,[...a.value.values,e],s.queryBuilderState.observerContext)}}})(a,t,n,o,i,s);else try{await(async(e,t,n,i,r)=>{let s;try{const e=n.columnName?i.projectionColumns.filter(e=>e.columnName===n.columnName).concat(i.aggregationState.columns.filter(e=>e.columnName===n.columnName).map(e=>e.projectionColumnState))[0]??r:r;if(e){s=new uGi(i.postFilterState,e,t),r instanceof PVi&&await r.fetchDerivationLambdaReturnType();const o=s.operator.getDefaultFilterConditionValue(s);s.buildFromValueSpec(o),RKi(o,n,i.queryBuilderState),i.postFilterState.addNodeFromNode(new sGi(void 0,s),void 0)}}catch(t){return bi(t),void e.notificationService.notifyWarning(t.message)}})(e,o,n,s,r)}catch(t){bi(t),e.alertUnhandledError(t)}},DKi=async(e,t,n,i,r)=>{const s=i?.columnName||n.columnName?tUi(r,n.columnName):void 0;s instanceof PVi||s instanceof BVi||s instanceof MGi||s instanceof LVi||s instanceof kVi&&fUi(s.propertyExpressionState.propertyExpression)?await IKi(e,t,n,i,s,r):s instanceof kVi?NKi(e,t,n,i,s.propertyExpressionState,r.queryBuilderState):e.notificationService.notifyError(`Can't filter column '${i?.columnName?i.columnName:n.columnName}'`)},OKi=async(e,t,n,i)=>{for(const r of i.queryBuilderState.resultState.selectedCells)await DKi(e,n,r,t,i)};ule(n.forwardRef(function(e,t){const{data:n,tdsState:i,copyCellValueFunc:r,copyCellRowValueFunc:s}=e,o=Cmt(),a=n?.columnName?tUi(i,n.columnName):void 0;return vse.jsxs(cVe,{ref:t,children:[vse.jsx(uVe,{disabled:!a,onClick:()=>{OKi(o,n,!0,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter By"}),vse.jsx(uVe,{disabled:!a,onClick:()=>{OKi(o,n,!1,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter Out"}),vse.jsx(dVe,{}),vse.jsx(uVe,{onClick:r,children:"Copy Cell Value"}),vse.jsx(uVe,{onClick:s,children:"Copy Row Value"})]})}));const kKi=ule(e=>{const{query:t,resultColumns:n,executionPlanState:i}=e,r=i.applicationStore;return vse.jsxs(vse.Fragment,{children:[vse.jsxs("div",{className:"query-builder__sql__container",children:[vse.jsx(RVe,{}),vse.jsxs("div",{children:[vse.jsx("div",{className:"query-builder__sql__container__item__label",children:vse.jsxs(TVe,{children:["SQL",vse.jsx("div",{children:vse.jsx("button",{onClick:()=>{(e=>{r.clipboardService.copyTextToClipboard(e).then(()=>r.notificationService.notifySuccess("SQL Query copied",void 0,2500)).catch(r.alertUnhandledError)})(t)},title:"Copy SQL Expression",className:"query-builder__sql__container__icon",children:vse.jsx(Ooe,{})})})]})}),vse.jsx("div",{className:"query-builder__sql__container__code-editor",children:vse.jsx(yji,{inputValue:gKi(t.replaceAll("$","changeDollar").replaceAll("?","changeQuestion").replaceAll("{","changeOpenCurlyBracket").replaceAll("}","changeCloseCurlyBracket").replaceAll("'","changeSingleQuote")).replaceAll("changeDollar","$").replaceAll("changeQuestion","?").replaceAll("changeOpenCurlyBracket","{").replaceAll("changeCloseCurlyBracket","}").replaceAll("changeSingleQuote","'"),language:YLn.SQL})}),vse.jsx(RVe,{})]},t)]}),n.length>0&&vse.jsx("div",{className:"query-builder__sql__container",children:vse.jsxs("div",{children:[vse.jsx(TVe,{className:"query-builder__sql__container__item__label",children:"Result Columns"}),vse.jsx(RVe,{}),vse.jsxs("table",{className:"query-builder__sql__container__table table",children:[vse.jsx("thead",{children:vse.jsxs("tr",{children:[vse.jsx("th",{className:"table__cell--left",children:"Label"}),vse.jsx("th",{className:"table__cell--left",children:"Data Type"})]})}),vse.jsx("tbody",{children:n.map(e=>vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:e.label.replaceAll('"',"")}),e.dataType&&vse.jsx("td",{className:"table__cell--left",children:bY(e.dataType)})]},e.label))})]})]})})]})}),LKi=ule(e=>{const{query:t,resultColumns:n,resultType:i,executionPlanState:r,viewJson:s}=e,o=r.applicationStore;return!1===s?vse.jsx(kKi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}):vse.jsxs(xVe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[vse.jsx(kKi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}),vse.jsx(fji,{resultType:i}),vse.jsx("div",{className:"query-builder__sql__container",children:vse.jsx(AEe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(fXi.JSON),text:"View JSON"})}),vse.jsx(RVe,{})]})}),MKi=e=>function(t){const n=e.darkMode?"packageable-element-option-label--dark":"packageable-element-option-label";return vse.jsxs("div",{className:n,children:[vse.jsx("div",{className:`${n}__name`,children:t.label}),t.value.package&&vse.jsx("div",{className:`${n}__tag`,children:t.value.path}),vse.jsx("div",{className:`${n}__tag`,children:t.value.contentType})]})},PKi=e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r,innerProps:s}=e,{isReadOnly:o,removeNode:a}=s;let l,c,u;t.tree instanceof qS?(l=t.tree.property.value,c=l.genericType.value.rawType,u=t.tree.subType?.value):t.tree instanceof $S&&(c=t.tree.class.value);const d=Boolean(t.childrenIds.length)?t.isOpen?vse.jsx(wae,{}):vse.jsx(xae,{}):vse.jsx("div",{}),h=c?xHi(c):vse.jsx(pAe,{}),p=()=>r?.(t);return vse.jsxs("div",{className:"tree-view__node__container query-builder-graph-fetch-tree__node__container",style:{paddingLeft:(n-1)*(i??2)+"rem",display:"flex"},children:[vse.jsxs("div",{className:"query-builder-graph-fetch-tree__node__content",children:[vse.jsxs("div",{className:"tree-view__node__icon query-builder-graph-fetch-tree__node__icon",children:[vse.jsx("div",{className:"query-builder-graph-fetch-tree__expand-icon",onClick:p,children:d}),vse.jsx("div",{className:"query-builder-graph-fetch-tree__type-icon",onClick:p,children:h})]}),vse.jsxs("div",{className:"tree-view__node__label query-builder-graph-fetch-tree__node__label",onClick:p,children:[t.label,u&&vse.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type",children:vse.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type__label",children:u.name})}),vse.jsx("div",{className:"query-builder-graph-fetch-tree__node__type",children:vse.jsx("div",{className:"query-builder-graph-fetch-tree__node__type__label",children:c?.name})})]})]}),vse.jsx("div",{className:"query-builder-graph-fetch-tree__node__actions",children:vse.jsx("button",{className:"query-builder-graph-fetch-tree__node__action",title:"Remove",tabIndex:-1,onClick:()=>a?.(t),disabled:o,children:vse.jsx(gae,{})})})]})},FKi=ule(e=>{const{pureSerializationState:t,graphFetchState:n,config:i}=e,r=n.queryBuilderState.applicationStore,s=!t.config;return vse.jsx(V_e,{open:t.configModal,onClose:()=>t.setConfigModal(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:vse.jsxs(eVe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-builder-graph-fetch-config",children:[vse.jsx(nVe,{title:""+(s?"Add Serialization Config":"Edit Serialization Config")}),vse.jsx(rVe,{className:"query-builder-graph-fetch-config__content",children:vse.jsx(_Ve,{children:vse.jsxs(AVe,{children:[vse.jsx(DVe,{name:"Type Key Name",value:i.typeKeyName,isReadOnly:!1,update:e=>i.setTypeName(e??""),errorMessage:""===i.typeKeyName?"Type key name can't be empty":void 0}),vse.jsx(DVe,{name:"Date Time Format",value:i.dateTimeFormat,isReadOnly:!1,update:e=>i.setDateTimeFormat(""===e?void 0:e)}),vse.jsx(kVe,{name:"Include Type",value:i.includeType,isReadOnly:!1,update:e=>i.setIncludeType(Boolean(e))}),vse.jsx(kVe,{name:"Include Enum Type",value:i.includeEnumType,isReadOnly:!1,update:e=>i.setInclueEnumType(Boolean(e))}),vse.jsx(kVe,{name:"Remove Properties With Null Values",value:i.removePropertiesWithNullValues,isReadOnly:!1,update:e=>i.setRemovePropertiesWithNullValues(Boolean(e))}),vse.jsx(kVe,{name:"Remove properties with empty sets",value:i.removePropertiesWithEmptySets,isReadOnly:!1,update:e=>i.setRemovePropertiesWithEmptySets(Boolean(e))}),vse.jsx(kVe,{name:"Use Fully Qualified Type Path",value:i.fullyQualifiedTypePath,isReadOnly:!1,update:e=>i.setFullyQualifiedTypePath(Boolean(e))}),vse.jsx(kVe,{name:"Include Object Reference",value:i.includeObjectReference,isReadOnly:!1,update:e=>i.setIncludeObjectReference(Boolean(e))})]})})}),vse.jsxs(sVe,{children:[!s&&vse.jsx(aVe,{className:"btn--caution",text:"Remove Config",onClick:()=>{t.setConfig(void 0),t.setConfigModal(!1),n.queryBuilderState.applicationStore.notificationService.notifySuccess("Serialization config removed")}}),vse.jsx(aVe,{className:"modal__footer__close-btn",onClick:()=>{s&&t.setConfig(i),t.setConfigModal(!1)},type:s?"primary":"secondary",children:s?"Add Config":"Close"})]})]})})}),BKi=ule(e=>{const{graphFetchState:t,serializationState:n,serializationTreeData:i,bindings:r,isReadOnly:s}=e,o=r.map(e=>SHi(e)),a={value:n.targetBinding,label:n.targetBinding.name},l=t.queryBuilderState.applicationStore;return vse.jsx("div",{className:"query-builder-graph-fetch-external-format",children:vse.jsxs("div",{className:"service-execution-editor__configuration__items",children:[vse.jsxs("div",{className:"service-execution-editor__configuration__item",children:[vse.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:vse.jsx(yoe,{})}),vse.jsx(ZBe,{className:"panel__content__form__section__dropdown service-execution-editor__configuration__item__dropdown",disabled:s,options:o,onChange:e=>{null!==e&&(n.setBinding(e.value),n.setGraphFetchTree(i))},value:a,formatOptionLabel:MKi({darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled}),darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),vse.jsxs("div",{className:"service-execution-editor__configuration__item",children:[vse.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:vse.jsx(Woe,{})}),vse.jsx(xMe,{components:{TreeNodeContainer:PKi},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,onNodeSelect:e=>{e.childrenIds.length&&(e.isOpen=!e.isOpen)},getChildNodes:e=>e.childrenIds.map(e=>i.nodes.get(e)).filter(cr),innerProps:{isReadOnly:s,removeNode:e=>{1===i.nodes.size?t.queryBuilderState.applicationStore.notificationService.notifyWarning("externalize serialization tree can not be empty"):(Zzi(i,e),n.setGraphFetchTree({...i}))}}})]})]})})}),VKi=ule(e=>{const{graphFetchState:t,serializationState:n,treeData:i,updateTreeData:r,isReadOnly:s}=e,o=t.queryBuilderState.graphManagerState.usableStores.filter(pr(LX)).filter(e=>{const n=e.modelUnit.packageableElementIncludes.map(e=>e.value);return n.filter(pr(Q_)).map(e=>{return Array.from((n=e,i=t.queryBuilderState.graphManagerState.graph,new Set(i.getPackages(n.path).map(e=>[...eE(e)]).flat())));var n,i}).flat().concat(n.filter(e=>!(e instanceof Q_))).includes(i.tree.class.value)});return vse.jsxs("div",{className:"query-builder-graph-fetch-tree",children:[vse.jsxs("div",{className:"query-builder-graph-fetch-tree__toolbar",children:[vse.jsx("div",{className:"query-builder__fetch__structure__modes",children:Object.values(eji).map(e=>{return vse.jsx("button",{onClick:(r=e,()=>{r!==n.getLabel()&&t.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:"Current graph-fetch will be lost when switching to a different serialization mode. Do you still want to proceed?",type:nft.CAUTION,actions:[{label:"Proceed",type:ift.PROCEED_WITH_CAUTION,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>{switch(r){case eji.EXTERNAL_FORMAT:if(o.length>0&&o[0]){const e=new oji(t,o[0],void 0);t.setGraphFetchTree(i),e.setGraphFetchTree(fn(i)),t.setSerializationState(e)}else t.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't switch to external format serialization: No compatible bindings found");break;case eji.PURE:default:t.setSerializationState(new sji(t))}})},{label:"Cancel",type:ift.PROCEED,default:!0}]})}),className:gle("query-builder__fetch__structure__mode",{"query-builder__fetch__structure__mode--selected":e===n.getLabel()}),children:vf(e)},e);var r})}),vse.jsxs("div",{className:"query-builder-graph-fetch-tree__actions",children:[n instanceof sji&&vse.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action",children:vse.jsxs("button",{className:"query-builder-graph-fetch-tree__actions__action-btn__label",onClick:()=>{n instanceof sji&&n.setConfigModal(!0)},title:""+(n.config?"Edit pure serialization config":"Add pure serialization config"),tabIndex:-1,children:[vse.jsx(toe,{className:"query-builder-graph-fetch-tree__actions__action-btn__label__icon"}),vse.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action-btn__label__title",children:n.config?"Edit Config":"Add Config"})]})}),vse.jsxs("div",{className:gle("panel__content__form__section__toggler"),onClick:()=>t.setChecked(!t.isChecked),children:[vse.jsx("button",{className:gle("panel__content__form__section__toggler__btn",{"panel__content__form__section__toggler__btn--toggled":t.isChecked}),children:t.isChecked?vse.jsx(Toe,{}):vse.jsx(hae,{})}),vse.jsx("div",{className:"panel__content__form__section__toggler__prompt",children:"Check graph fetch"}),vse.jsx("div",{className:"query-builder-graph-fetch-tree__toolbar__hint-icon",children:vse.jsx(Xoe,{title:"With this enabled, while executing, violations of constraints will reported as part of the result, rather than causing a failure"})})]})]})]}),vse.jsxs("div",{className:"query-builder-graph-fetch-tree__container",children:[n instanceof sji&&n.configModal&&vse.jsx(FKi,{pureSerializationState:n,graphFetchState:t,config:n.config??iji.createDefault()}),vse.jsxs(tze,{orientation:"horizontal",children:[vse.jsx(nze,{children:vse.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[vse.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:vse.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Graph Fetch Tree"})}),vse.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:vse.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__item",children:vse.jsx(xMe,{components:{TreeNodeContainer:PKi},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,onNodeSelect:e=>{e.childrenIds.length&&(e.isOpen=!e.isOpen),r({...i})},getChildNodes:e=>e.childrenIds.map(e=>i.nodes.get(e)).filter(cr),innerProps:{isReadOnly:s,removeNode:e=>{Zzi(i,e),0===i.nodes.size&&t.setSerializationState(new sji(t)),n instanceof oji&&n.treeData?.nodes.get(e.id)&&(Zzi(n.treeData,dr(n.treeData.nodes.get(e.id))),r({...n.treeData})),r({...i})}}})})})]})}),vse.jsx(ize,{}),n instanceof oji&&n.treeData&&vse.jsx(nze,{children:vse.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[vse.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:vse.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Externalize"})}),vse.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:vse.jsx("div",{className:"query-builder-graph-fetch-external-format_config-group__item",children:vse.jsx(BKi,{graphFetchState:t,serializationState:n,serializationTreeData:n.treeData,bindings:o,isReadOnly:!1})})})]})})]})]})]})}),UKi=ule(e=>{const{graphFetchTreeState:t,serializationState:i}=e,r=t.treeData,s=n.useCallback(e=>{t.addProperty(e.node,{refreshTreeData:!0}),i instanceof oji&&i.addProperty(fn(e.node),{refreshTreeData:!0})},[t,i]),[{isDragOver:o},a]=DGe(()=>({accept:[lzi.ENUM_PROPERTY,lzi.PRIMITIVE_PROPERTY],drop:(e,t)=>{t.didDrop()||s(e)},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[s]);return n.useEffect(()=>{yvt.logEvent_RenderGraphFetchPanel(t.queryBuilderState.applicationStore.telemetryService,{serializationType:i.getLabel()})},[t.queryBuilderState.applicationStore,i]),vse.jsx("div",{"data-testid":CHi.QUERY_BUILDER_GRAPH_FETCH,className:"panel__content",children:vse.jsxs(tHe,{isDragOver:o,dropTargetConnector:a,contentClassName:"query-builder-graph-fetch-panel",children:[(!r||Yzi(r))&&vse.jsx(FVe,{text:"Add a graph fetch property",tooltipText:"Drag and drop properties here"}),r&&!Yzi(r)&&vse.jsx(VKi,{graphFetchState:t,serializationState:i,treeData:r,isReadOnly:!1,updateTreeData:e=>{t.setGraphFetchTree(e)}})]})})}),GKi=ule(e=>{const{graphFetchTreeState:t}=e,n=t.serializationState;return n instanceof sji||n instanceof oji?vse.jsx(UKi,{graphFetchTreeState:t,serializationState:n}):vse.jsx("div",{"data-testid":CHi.QUERY_BUILDER_GRAPH_FETCH,children:vse.jsx(MVe,{children:vse.jsxs("div",{className:"unsupported-element-editor__main",children:[vse.jsx("div",{className:"unsupported-element-editor__summary",children:"Unsupported Graph Fetch Serialization Type"}),vse.jsx("button",{className:"btn--dark unsupported-element-editor__to-text-mode__btn",onClick:()=>t.queryBuilderState.textEditorState.openModal(dji.TEXT),children:"Edit in text mode"})]})})})}),HKi=ule(e=>{const{storeMappingNode:t,executionPlanState:n}=e;let i;try{t.graphFetchTree instanceof $S?i=qzi(mr(t.graphFetchTree,$S),!0):t.graphFetchTree instanceof qS&&(i=(e=>{const t=[],n=new Map,i=Wzi(e,void 0,n);jr(t,i.id),n.set(i.id,i);const r=new $S(C_.create(new Z_("root")));return r.subTrees.push(e),{rootIds:t,nodes:n,tree:r}})(t.graphFetchTree))}catch{}const r=n.applicationStore;return vse.jsx(xVe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:vse.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[vse.jsx(TVe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Store Mapping Global Graph Fetch Execution Node Details"}),vse.jsx(RVe,{}),vse.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[vse.jsx("thead",{children:vse.jsxs("tr",{children:[vse.jsx("th",{className:"table__cell--left",children:"Property"}),vse.jsx("th",{className:"table__cell--left",children:"Details"})]})}),vse.jsxs("tbody",{children:[void 0!==t.parentIndex&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:" ParentIndex"}),vse.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.enableConstraints&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"EnableConstraints"}),vse.jsx("td",{className:"table__cell--left",children:t.enableConstraints.toString()})]}),void 0!==t.checked&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"Checked"}),vse.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),vse.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.store&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"Store"}),vse.jsx("td",{className:"table__cell--left",children:t.store})]}),vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"LocalTreeIndices"}),vse.jsx("td",{className:"table__cell--left",children:`[${t.localTreeIndices.toString()}]`})]}),vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"DependencyIndices"}),vse.jsx("td",{className:"table__cell--left",children:`[${t.dependencyIndices.toString()}]`})]})]})]}),vse.jsx(RVe,{}),i&&vse.jsxs(vse.Fragment,{children:[vse.jsx(TVe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Graph Fetch Tree"}),vse.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__content",children:vse.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__item",children:vse.jsx(xMe,{components:{TreeNodeContainer:PKi},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,getChildNodes:e=>e.childrenIds.map(e=>i?i.nodes.get(e):null).filter(cr),innerProps:{isReadOnly:!0}})})}),vse.jsx(RVe,{})]}),t.xStorePropertyFetchDetails&&vse.jsxs(vse.Fragment,{children:[vse.jsx(TVe,{className:"query-builder__store-mapping-global-graph-fetch__container__xstore",children:"xStorePropertyFetchDetails"}),vse.jsx(RVe,{}),vse.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[vse.jsx("thead",{children:vse.jsxs("tr",{children:[vse.jsx("th",{className:"table__cell--left",children:"Property"}),vse.jsx("th",{className:"table__cell--left",children:"Details"})]})}),vse.jsxs("tbody",{children:[vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:" propertyPath "}),vse.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.propertyPath})]}),vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:" sourceMappingId "}),vse.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceMappingId})]}),vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:" sourceSetId "}),vse.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceSetId})]}),vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:" subTree "}),vse.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.subTree})]}),vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:" supportsCaching "}),vse.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.supportsCaching.toString()})]}),vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:" targetMappingId "}),vse.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetMappingId})]}),vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:" targetSetId"}),vse.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetSetId})]}),vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"targetPropertiesOrdered"}),vse.jsx("td",{className:"table__cell--left",children:`[${t.xStorePropertyFetchDetails.targetPropertiesOrdered.toString()}]`})]})]})]})]}),t.resultType instanceof M4&&vse.jsx(mji,{resultType:t.resultType}),vse.jsx(RVe,{}),vse.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__btn",children:vse.jsx(AEe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(fXi.JSON),text:"View JSON"})}),vse.jsx(RVe,{})]})})}),zKi=ule(e=>{const{functionParameters:t,resultType:i,executionPlanState:r}=e,s=r.applicationStore;return vse.jsxs(xVe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[vse.jsx("div",{className:"query-builder__function-parameters-validation__container",children:vse.jsxs("div",{children:[vse.jsx(TVe,{className:"query-builder__function-parameters-validation__container__item__label",children:"Variables Details"}),vse.jsx(RVe,{}),vse.jsxs("table",{className:"query-builder__function-parameters-validation__container__table table",children:[vse.jsx("thead",{children:vse.jsxs("tr",{children:[vse.jsx("th",{className:"table__cell--left",children:"Name"}),vse.jsx("th",{className:"table__cell--left",children:"Type"})]})}),vse.jsx("tbody",{children:t.map(e=>{return vse.jsx(n.Fragment,{children:vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:e.name}),vse.jsx("td",{className:"table__cell--left",children:`${e.genericType?.value.rawType.name} ${t=e.multiplicity,t===A_.ZERO?"[0]":t===A_.ONE?"[1]":t===A_.ZERO_ONE?"[0..1]":t===A_.ZERO_MANY||t===A_.ONE_MANY?"[*]":void 0===t.upperBound?`[${t.lowerBound.toString()}.. *]`:`[${t.lowerBound.toString()}..${t.upperBound.toString()}]`}`})]})},e.name);var t})})]})]})}),vse.jsx(RVe,{}),vse.jsx(fji,{resultType:i}),vse.jsx("div",{className:"query-builder__function-parameters-validation__container",children:vse.jsx(AEe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(fXi.JSON),text:"View JSON"})}),vse.jsx(RVe,{})]})}),jKi=ule(e=>{const{cnode:t,executionPlanState:n}=e,i=t.resultType;let r="";const s=n.applicationStore;try{r=Er(t.values)?t.values.value:""}catch{}return vse.jsxs(xVe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[""!==r&&vse.jsx("div",{className:"query-builder__constant__container",children:vse.jsxs("div",{children:[vse.jsx(TVe,{className:"query-builder__constant__container__item__label",children:"Constant Execution Node Details"}),vse.jsx(RVe,{}),vse.jsx("pre",{children:vse.jsx("div",{className:"query-builder__constant__container__item",children:vse.jsxs("div",{children:["value: ",r]})})})]})}),vse.jsx(RVe,{}),vse.jsx(fji,{resultType:i}),vse.jsx("div",{className:"query-builder__constant__container",children:vse.jsx(AEe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(fXi.JSON),text:"View JSON"})}),vse.jsx(RVe,{})]})}),WKi=ule(e=>{const{node:t,executionPlanState:n}=e,i=t.varName,r=t.resultType,s=t.realizeInMemory?.toString(),o=n.applicationStore;return vse.jsxs(xVe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[vse.jsx("div",{className:"query-builder__allocation__container",children:vse.jsxs("div",{children:[vse.jsx(TVe,{className:"query-builder__allocation__container__item__label",children:"Allocation Node Details"}),vse.jsx(RVe,{}),vse.jsx("div",{className:"query-builder__allocation__container__item",children:vse.jsx("table",{className:"query-builder__allocation__container__table",children:vse.jsxs("tbody",{children:[vse.jsxs("tr",{children:[vse.jsx("td",{children:"varName"}),vse.jsx("td",{children:`: ${i}`})]}),vse.jsxs("tr",{children:[vse.jsx("td",{children:"realizeInMemory"}),vse.jsx("td",{children:`: ${s}`})]})]})})})]})}),vse.jsx(RVe,{}),vse.jsx(fji,{resultType:r}),vse.jsx(RVe,{}),t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof B2&&vse.jsx(jKi,{cnode:t.executionNodes[0],executionPlanState:n}),vse.jsx(RVe,{})]})}),$Ki=ule(e=>{const{node:t,executionPlanState:i,viewJson:r}=e,s=t.resultType,[o,a]=n.useState(void 0),l=r?vse.jsx("div",{}):o?vse.jsx(wae,{}):vse.jsx(xae,{});return vse.jsxs(vse.Fragment,{children:[vse.jsx("div",{className:"query-builder__sequence__container",children:vse.jsxs("div",{children:[vse.jsx(TVe,{className:"query-builder__sequence__container__item__label",children:"Execution Nodes"}),vse.jsx(RVe,{}),t.executionNodes.map((e,t)=>vse.jsx("div",{className:"query-builder__sequence__container__item",children:vse.jsxs("button",{className:"query-builder__sequence__container__item__btn",onClick:()=>(e=>{const t=i.treeData?.nodes.get(e._UUID);!1===r?a(o?void 0:e):(t instanceof hXi?i.transformMetadataToProtocolJson(t.executionPlan):t instanceof pXi&&i.transformMetadataToProtocolJson(t.executionNode),t&&i.setSelectedNode(t))})(e),tabIndex:-1,title:`Go to ${rXi(e)}`,children:[!r&&l,`${t+1}: ${rXi(e)}`]})},e._UUID))]})}),vse.jsx(RVe,{}),vse.jsx(fji,{resultType:s}),!1===r&&o&&vse.jsx(lXi,{executionNode:o,executionPlanState:i,viewJson:!1})]})}),qKi=ule(e=>{const{node:t,executionPlanState:n,viewJson:i}=e,r=n.applicationStore;return!1===i?vse.jsx($Ki,{node:t,executionPlanState:n,viewJson:i}):vse.jsxs(xVe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[vse.jsx($Ki,{node:t,executionPlanState:n,viewJson:i}),vse.jsx("div",{className:"query-builder__execution__container",children:vse.jsx(AEe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(fXi.JSON),text:"View JSON"})}),vse.jsx(RVe,{})]})}),YKi=ule(e=>{const{node:t,executionPlanState:n}=e,i=t.resultType,r=n.applicationStore;return vse.jsxs(xVe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof aY&&vse.jsx(kKi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:n}),vse.jsx(RVe,{}),vse.jsx(fji,{resultType:i}),vse.jsx("div",{className:"query-builder__sql__container",children:vse.jsx(AEe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(fXi.JSON),text:"View JSON"})}),vse.jsx(RVe,{})]})}),KKi=ule(e=>{const{node:t,executionPlanState:n}=e;return vse.jsxs(vse.Fragment,{children:[vse.jsx(TVe,{className:"query-builder__implementation__container__header",children:"Implementation"}),t.implementation instanceof h4&&t.implementation.executionClassFullName&&vse.jsx("div",{className:"query-builder__implementation__container__item",children:vse.jsx("button",{onClick:()=>{n.setSelectedNode(n.treeData?.nodes.get("Execution Plan")),n.transformMetadataToProtocolJson(mr(n.plan,_3,"Execution plan is undefined")),n.globalImplementationSupportState.setSelectedTab(vXi.GLOBAL_IMPLEMENTATION_SUPPORT),t.implementation instanceof h4&&n.globalImplementationSupportState.setSelectedJavaClass(t.implementation.executionClassFullName)},title:`Go to Java class: ${t.implementation.executionClassFullName}`,className:"query-builder__implementation__container__item__java-btn",children:t.implementation.executionClassFullName})})]})});var XKi;!function(e){e.RESULT_SET="resultSet",e.TEMP_FILE="tempFile",e.SUB_QUERY="subQuery"}(XKi||(XKi={}));const ZKi=ule(e=>{const{tempTableStrategy:t,executionPlanState:n}=e;let i="";return t instanceof $4?i=XKi.RESULT_SET:t instanceof Z4&&(i=XKi.TEMP_FILE),t instanceof K4&&(i=XKi.SUB_QUERY),vse.jsxs("div",{className:"query-builder__temp-table-strategy__container",children:[i&&vse.jsxs(TVe,{className:"query-builder__temp-table-strategy__container__item",children:["Type: ",i]}),vse.jsx(TVe,{className:"query-builder__temp-table-strategy__container__header",children:`Create Temp Table (${rXi(t.createTempTableNode)})`}),vse.jsx(lXi,{executionNode:t.createTempTableNode,executionPlanState:n,viewJson:!1}),vse.jsx(RVe,{}),vse.jsx(TVe,{className:"query-builder__temp-table-strategy__container__header",children:`Load Temp Table (${rXi(t.loadTempTableNode)})`}),vse.jsx(lXi,{executionNode:t.loadTempTableNode,executionPlanState:n,viewJson:!1}),vse.jsx(RVe,{}),vse.jsx(TVe,{className:"query-builder__temp-table-strategy__container__header",children:`Drop Temp Table (${rXi(t.dropTempTableNode)})`}),vse.jsx(lXi,{executionNode:t.dropTempTableNode,executionPlanState:n,viewJson:!1}),vse.jsx(RVe,{})]})});var QKi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(QKi||(QKi={}));const JKi=ule(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(QKi.GENERAL);return vse.jsx(xVe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:vse.jsx("div",{className:"query-builder__execution-plan-form--editor",children:vse.jsxs("div",{className:"panel",children:[vse.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:vse.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(QKi).map(e=>vse.jsx("div",{onClick:()=>o(e),className:gle("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:vf(e)},e))})}),s===QKi.GENERAL&&vse.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[vse.jsx(TVe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Root Query Temp Table Graph Fetch Execution Node Details"}),vse.jsx(RVe,{}),vse.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[vse.jsx("thead",{children:vse.jsxs("tr",{children:[vse.jsx("th",{className:"table__cell--left",children:"Property"}),vse.jsx("th",{className:"table__cell--left",children:"Details"})]})}),vse.jsxs("tbody",{children:[vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),vse.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),vse.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.batchSize&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"Batch Size"}),vse.jsx("td",{className:"table__cell--left",children:t.batchSize})]}),t.checked&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"Checked"}),vse.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),vse.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),vse.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"tempTableName"}),vse.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),vse.jsx(RVe,{}),vse.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:vse.jsx(KKi,{node:t,executionPlanState:i})}),vse.jsx(RVe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof aY&&vse.jsxs(vse.Fragment,{children:[vse.jsx(TVe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),vse.jsx(RVe,{}),vse.jsx(kKi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),vse.jsx(RVe,{}),vse.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:vse.jsx(fji,{resultType:t.resultType})}),vse.jsx(RVe,{}),vse.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:vse.jsx(AEe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(fXi.JSON),text:"View JSON"})})]}),s===QKi.TEMP_TABLE&&t.tempTableStrategy&&vse.jsx(ZKi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var eXi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(eXi||(eXi={}));const tXi=ule(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(eXi.GENERAL);return vse.jsx(xVe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:vse.jsx("div",{className:"query-builder__execution-plan-form--editor",children:vse.jsxs("div",{className:"panel",children:[vse.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:vse.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(eXi).map(e=>vse.jsx("div",{onClick:()=>o(e),className:gle("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:vf(e)},e))})}),s===eXi.GENERAL&&vse.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[vse.jsx(TVe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Class Query Temp Table Graph Fetch Execution Node Details"}),vse.jsx(RVe,{}),vse.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[vse.jsx("thead",{children:vse.jsxs("tr",{children:[vse.jsx("th",{className:"table__cell--left",children:"Property"}),vse.jsx("th",{className:"table__cell--left",children:"Details"})]})}),vse.jsxs("tbody",{children:[vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),vse.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),t.parentIndex&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),vse.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),t.authDependent&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),vse.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.processedTempTableName&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),vse.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"tempTableName"}),vse.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),vse.jsx(RVe,{}),vse.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:vse.jsx(KKi,{node:t,executionPlanState:i})}),vse.jsx(RVe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof aY&&vse.jsxs(vse.Fragment,{children:[vse.jsx(TVe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),vse.jsx(RVe,{}),vse.jsx(kKi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),vse.jsx(RVe,{}),vse.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:vse.jsx(fji,{resultType:t.resultType})}),vse.jsx(RVe,{}),vse.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:vse.jsx(AEe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(fXi.JSON),text:"View JSON"})})]}),s===eXi.TEMP_TABLE&&t.tempTableStrategy&&vse.jsx(ZKi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var nXi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE_STRATEGY="TEMP_TABLE_STRATEGY",e.PARENT_TEMP_TABLE_STRATEGY="PARENT_TEMP_TABLE_STRATEGY"}(nXi||(nXi={}));const iXi=ule(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(nXi.GENERAL);return vse.jsx(xVe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:vse.jsx("div",{className:"query-builder__execution-plan-form--editor",children:vse.jsxs("div",{className:"panel",children:[vse.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:vse.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(nXi).map(e=>vse.jsx("div",{onClick:()=>o(e),className:gle("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:vf(e)},e))})}),s===nXi.GENERAL&&vse.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[vse.jsx(TVe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Cross Root Query Temp Table Graph Fetch Execution Node Details"}),vse.jsx(RVe,{}),vse.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[vse.jsx("thead",{children:vse.jsxs("tr",{children:[vse.jsx("th",{className:"table__cell--left",children:"Property"}),vse.jsx("th",{className:"table__cell--left",children:"Details"})]})}),vse.jsxs("tbody",{children:[vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),vse.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),vse.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.authDependent&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),vse.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),vse.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"tempTableName"}),vse.jsx("td",{className:"table__cell--left",children:t.tempTableName})]}),void 0!==t.processedParentTempTableName&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"processedParentTempTableName"}),vse.jsx("td",{className:"table__cell--left",children:t.processedParentTempTableName})]}),t.parentTempTableName&&vse.jsxs("tr",{children:[vse.jsx("td",{className:"table__cell--left",children:"parentTempTableName"}),vse.jsx("td",{className:"table__cell--left",children:t.parentTempTableName})]})]})]}),vse.jsx(RVe,{}),vse.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:vse.jsx(KKi,{node:t,executionPlanState:i})}),vse.jsx(RVe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof aY&&vse.jsxs(vse.Fragment,{children:[vse.jsx(TVe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),vse.jsx(RVe,{}),vse.jsx(kKi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),vse.jsx(RVe,{}),vse.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:vse.jsx(fji,{resultType:t.resultType})}),vse.jsx(RVe,{}),vse.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:vse.jsx(AEe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(fXi.JSON),text:"View JSON"})})]}),s===nXi.TEMP_TABLE_STRATEGY&&t.tempTableStrategy&&vse.jsx(ZKi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i}),s===nXi.PARENT_TEMP_TABLE_STRATEGY&&t.parentTempTableStrategy&&vse.jsx(ZKi,{tempTableStrategy:t.parentTempTableStrategy,executionPlanState:i})]})})})}),rXi=e=>e instanceof aY?"SQL Execution Node":e instanceof uY?"Relational TDS Instantiation Execution Node":e instanceof L2?"Function Parameters Validation Node":e instanceof F2?`Allocation Execution Node (${e.varName})`:e instanceof B2?"Constant Execution Node":e instanceof V2?"Sequence Execution Node":e instanceof y4?"Store Mapping Global Graph Fetch Execution Node":e instanceof R4?"Relational Root Query TempTable Graph Fetch Execution Node":e instanceof J4?"Relational Cross Root Query TempTable Graph Fetch Execution Node":e instanceof w4?"Relational Class Query TempTable Graph Fetch Execution Node":e instanceof I4?"Pure Expression Platform Execution Node":"Other",sXi=ule(e=>{const{executionPlanState:t}=e,n=t.plan?.globalImplementationSupport,i=t.plan?.processingTemplateFunctions??[],r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return n&&n instanceof h4&&(n.classes.sort((e,t)=>(e.package+e.name).toLowerCase()>(t.package+t.name).toLowerCase()?1:-1),n.classes.length>0&&n.classes[0]&&void 0===t.globalImplementationSupportState.selectedJavaClass&&t.globalImplementationSupportState.setSelectedJavaClass(`${n.classes[0]?.package}.${n.classes[0]?.name}`)),vse.jsx("div",{className:"query-builder__execution-plan-form--editor",children:vse.jsxs("div",{className:"panel",children:[vse.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:vse.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(vXi).map(e=>vse.jsx("div",{onClick:()=>t.globalImplementationSupportState.setSelectedTab(e),className:gle("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===t.globalImplementationSupportState.selectedTab}),children:vf(e)},e))})}),t.globalImplementationSupportState.selectedTab===vXi.GLOBAL_IMPLEMENTATION_SUPPORT&&n&&n instanceof h4&&vse.jsxs(tze,{orientation:"vertical",children:[vse.jsx(nze,{minSize:30,size:400,children:vse.jsx(xVe,{darkMode:r,className:"query-builder__java__container__panel",children:vse.jsx("div",{className:"query-builder__java__container",children:vse.jsxs("div",{children:[n.classes.map(e=>vse.jsx("div",{className:gle("query-builder__java__container__item",{"query-builder__java__container__item--active":`${e.package}.${e.name}`===t.globalImplementationSupportState.selectedJavaClass}),children:vse.jsx("button",{className:"query-builder__java__container__item__btn",onClick:()=>t.globalImplementationSupportState.setSelectedJavaClass(`${e.package}.${e.name}`),tabIndex:-1,title:`Go to ${e.package}.${e.name}`,children:`${e.package}.${e.name}`})},e.package+e.name)),vse.jsx(RVe,{})]})})})}),vse.jsx(ize,{children:vse.jsx(rze,{color:"var(--color-dark-grey-200)"})}),vse.jsx(nze,{children:t.globalImplementationSupportState.selectedJavaClass&&vse.jsx(yji,{inputValue:n.classes.reduce((e,n)=>t.globalImplementationSupportState.selectedJavaClass===`${n.package}.${n.name}`?n.source:e,""),isReadOnly:!0,language:YLn.JAVA,hideMinimap:!0})})]}),t.globalImplementationSupportState.selectedTab===vXi.GENERAL&&i.length>0&&vse.jsxs(vse.Fragment,{children:[vse.jsx("div",{className:"query-builder__template--function--editor__header",children:`AuthDependent: ${t.plan?.authDependent.toString()}`}),vse.jsx("div",{className:"query-builder__template--function--editor__title",children:"Template Functions"}),vse.jsx("div",{className:"query-builder__template--function--editor__code",children:vse.jsx(yji,{inputValue:i.reduce((e,t)=>`${e}${t}\n`,""),isReadOnly:!0,language:YLn.XML,hideMinimap:!0,hideActionBar:!0})}),vse.jsx("div",{className:"query-builder__template--function--editor__json",children:vse.jsx(AEe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>t.setViewMode(fXi.JSON),text:"View JSON"})})]})]})})}),oXi=ule(e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r}=e,s=Boolean(t.childrenIds?.length)?t.isOpen?vse.jsx(wae,{}):vse.jsx(xae,{}):vse.jsx("div",{});let o="",a="";return t instanceof pXi&&("Store Mapping Global Graph Fetch Execution Node"===t.parentNodeId&&(t.executionNode instanceof y4?o="Cross":t.executionNode instanceof _4&&(o="Local")),a=(e=>{if(e instanceof y4||e instanceof _4){if(e.graphFetchTree instanceof $S)return e.graphFetchTree.class.value.name;if(e.graphFetchTree instanceof qS)return e.graphFetchTree.property.value.name}return""})(t.executionNode)),vse.jsxs("div",{className:gle("tree-view__node__container execution-plan-viewer__explorer-tree__node__container",{"menu__trigger--on-menu-open":!t.isSelected},{"execution-plan-viewer__explorer-tree__node__container--selected":t.isSelected}),style:{paddingLeft:(n-1)*(i??1)+"rem"},onClick:()=>r?.(t),children:[vse.jsx("div",{className:"tree-view__node__icon",children:vse.jsx("div",{className:"tree-view__node__expand-icon",children:s})}),""!==o&&vse.jsx("div",{className:"execution-plan-viewer__node__sub-type",children:vse.jsx("div",{className:"execution-plan-viewer__node__sub-type__label",children:o})}),""!==a&&vse.jsx("div",{className:"execution-plan-viewer__node__type",children:vse.jsx("div",{className:"execution-plan-viewer__node__type__label",children:a})}),vse.jsx("button",{className:"tree-view__node__label execution-plan-viewer__explorer-tree__node__label",tabIndex:-1,title:t.id,children:t.label})]})}),aXi=ule(e=>{const{executionPlanState:t}=e,n=e=>{if(e.childrenIds?.length)if(e.setIsOpen(!e.isOpen),e instanceof hXi){const n=e.executionPlan.rootExecutionNode,i=gXi(n,rXi(n),e);t.setTreeNode(i.id,i)}else if(e instanceof pXi){if(e.executionNode.executionNodes.length>0&&e.executionNode.executionNodes.forEach(n=>{const i=gXi(n,rXi(n),e);t.setTreeNode(i.id,i)}),e.executionNode instanceof y4){const n=e.executionNode.localGraphFetchExecutionNode,i=gXi(n,rXi(n),e);t.setTreeNode(i.id,i),e.executionNode.children.forEach(n=>{const i=gXi(n,rXi(n),e);t.setTreeNode(i.id,i)})}e.executionNode instanceof C4&&e.executionNode.children.forEach(n=>{const i=gXi(n,rXi(n),e);t.setTreeNode(i.id,i)})}t.refreshTreeData()};return vse.jsx(xMe,{components:{TreeNodeContainer:oXi},treeData:t.nonNullableTreeData,getChildNodes:e=>{if(!e.childrenIds||0===e.childrenIds.length)return[];const n=e.childrenIds.map(e=>t.nonNullableTreeData.nodes.get(e)).filter(cr);return n},onNodeSelect:e=>{e instanceof hXi?t.transformMetadataToProtocolJson(e.executionPlan):e instanceof pXi&&t.transformMetadataToProtocolJson(e.executionNode),!0===e.isOpen&&!1===e.isSelected||n(e),t.setSelectedNode(e)},innerProps:{onNodeExpand:n}})}),lXi=ule(e=>{const{executionNode:t,executionPlanState:n,viewJson:i}=e;return t instanceof aY?vse.jsx(LKi,{query:t.sqlQuery,resultColumns:t.resultColumns,resultType:t.resultType,executionPlanState:n,viewJson:i}):t instanceof uY?vse.jsx(YKi,{node:t,executionPlanState:n}):t instanceof L2?vse.jsx(zKi,{functionParameters:t.functionParameters,parameterValidationContext:t.parameterValidationContext,executionPlanState:n,resultType:t.resultType}):t instanceof F2?vse.jsx(WKi,{node:t,executionPlanState:n}):t instanceof B2?vse.jsx(jKi,{cnode:t,executionPlanState:n}):t instanceof V2?vse.jsx(qKi,{node:t,executionPlanState:n,viewJson:i}):t instanceof y4?vse.jsx(HKi,{storeMappingNode:t,executionPlanState:n}):t instanceof J4?vse.jsx(iXi,{node:t,executionPlanState:n}):t instanceof R4?vse.jsx(JKi,{node:t,executionPlanState:n}):t instanceof w4?vse.jsx(tXi,{node:t,executionPlanState:n}):vse.jsx(MVe,{children:vse.jsxs("div",{className:"execution-node-viewer__unsupported-view",children:[vse.jsx("div",{className:"execution-node-viewer__unsupported-view__summary",children:"Can't display execution node"}),vse.jsx("button",{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(fXi.JSON),children:"View JSON"})]})})}),cXi=ule(e=>{const{displayData:t,executionPlanState:i}=e;let r;void 0!==i.selectedNode&&(i.selectedNode instanceof hXi?r=i.selectedNode.executionPlan:i.selectedNode instanceof pXi&&(r=i.selectedNode.executionNode)),n.useEffect(()=>{if(void 0===i.selectedNode){const e=i.treeData?.nodes.get("Execution Plan");e instanceof hXi&&(i.transformMetadataToProtocolJson(e.executionPlan),i.setSelectedNode(e))}},[i]);const s=Object.values(fXi);return vse.jsx("div",{className:"execution-plan-viewer__panel",children:void 0!==i.selectedNode&&vse.jsxs(vse.Fragment,{children:[vse.jsxs("div",{className:"panel__header execution-plan-viewer__panel__header",children:[vse.jsx("div",{className:"execution-plan-viewer__panel__header__tabs",children:vse.jsx("button",{className:"execution-plan-viewer__panel__header__tab execution-plan-viewer__panel__header__tab--active",children:i.selectedNode.label})}),vse.jsx(mVe,{className:"execution-plan-viewer__panel__view-mode__type",title:"View as...",content:vse.jsx(cVe,{className:"execution-plan-viewer__panel__view-mode__options execution-plan-viewer__panel__view-mode__options--with-group",children:vse.jsxs("div",{className:"execution-plan-viewer__panel__view-mode__option__group execution-plan-viewer__panel__view-mode__option__group--native",children:[vse.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__name",children:"native"}),vse.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__options",children:s.map(e=>vse.jsx(uVe,{className:"execution-plan-viewer__panel__view-mode__option",onClick:()=>i.setViewMode(e),children:e},e))})]})}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"}},children:vse.jsx("div",{className:"execution-plan-viewer__panel__view-mode__type__label",children:i.viewMode})})]}),vse.jsxs("div",{className:"panel__content execution-plan-viewer__panel__content",children:[i.viewMode===fXi.JSON&&Boolean(t)&&vse.jsx(yji,{inputValue:t,isReadOnly:!0,language:YLn.JSON,hideMinimap:!0}),i.viewMode===fXi.FORM&&vse.jsxs(vse.Fragment,{children:[r instanceof oY&&vse.jsx(lXi,{executionNode:r,executionPlanState:i,viewJson:!0}),r instanceof _3&&vse.jsx(sXi,{executionPlanState:i})]})]})]})})}),uXi=ule(e=>{const{executionPlanState:t,rawPlan:n}=e,i=t.plan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return vse.jsx("div",{className:"execution-plan-viewer__content",children:i?vse.jsxs(tze,{orientation:"vertical",children:[vse.jsx(nze,{size:300,minSize:300,children:vse.jsxs("div",{className:"panel execution-plan-viewer__explorer",children:[vse.jsx(SVe,{darkMode:r,title:"execution plan explorer"}),vse.jsx("div",{className:"panel__content execution-plan-viewer__explorer__content__container",children:vse.jsx(aXi,{executionPlanState:t,executionPlan:i})})]})}),vse.jsx(ize,{children:vse.jsx(rze,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),vse.jsx(nze,{children:vse.jsx(cXi,{displayData:t.displayData,executionPlanState:t})})]}):vse.jsx(yji,{inputValue:JSON.stringify(n,void 0,2),isReadOnly:!0,language:YLn.JSON})})}),dXi=ule(e=>{const{executionPlanState:t}=e,n=()=>{t.setRawPlan(void 0),t.initialize(void 0),t.setExecutionPlanDisplayData(""),t.setSelectedNode(void 0),t.setDebugText(void 0),t.globalImplementationSupportState.setSelectedTab(vXi.GENERAL),t.globalImplementationSupportState.setSelectedJavaClass(void 0)},i=t.rawPlan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return i?vse.jsx(V_e,{open:Boolean(t.rawPlan),onClose:n,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:vse.jsxs(eVe,{className:"editor-modal",darkMode:r,children:[vse.jsx(nVe,{title:"Execution Plan"}),vse.jsx(rVe,{children:t.debugText?vse.jsxs(tze,{orientation:"horizontal",children:[vse.jsx(nze,{minSize:100,children:vse.jsx(uXi,{executionPlanState:t,rawPlan:i})}),vse.jsx(ize,{children:vse.jsx(rze,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),vse.jsx(nze,{size:200,minSize:28,children:vse.jsxs(_Ve,{className:"panel execution-plan-viewer__debug-panel",children:[vse.jsx(CVe,{title:"DEBUG LOG",keepTitleFormat:!0,darkMode:r}),vse.jsx(xVe,{children:vse.jsx(yji,{inputValue:t.debugText,isReadOnly:!0,language:YLn.TEXT})})]})})]}):vse.jsx(uXi,{executionPlanState:t,rawPlan:i})}),vse.jsx(sVe,{children:vse.jsx(aVe,{onClick:n,text:"Close",type:"secondary"})})]})}):null});class hXi{id;label;isSelected;isOpen;childrenIds;executionPlan;constructor(e,t,n){hd(this,{isSelected:Rc,isOpen:Rc,setIsSelected:Pu,setIsOpen:Pu}),this.id=e,this.label=t,this.executionPlan=n}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}}class pXi{id;label;isSelected;isOpen;childrenIds;executionNode;parentNodeId;constructor(e,t,n,i){hd(this,{isSelected:Rc,isOpen:Rc,setIsSelected:Pu,setIsOpen:Pu}),this.id=e,this.label=t,this.executionNode=n,this.parentNodeId=i}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}}const gXi=(e,t,n)=>{const i=new pXi(e._UUID,t,e,n instanceof pXi?rXi(n.executionNode):void 0),r=[];return e.executionNodes.slice().filter(pr(oY)).forEach(e=>{jr(r,e._UUID)}),e instanceof y4&&(jr(r,e.localGraphFetchExecutionNode._UUID),e.children.slice().filter(pr(oY)).forEach(e=>{jr(r,e._UUID)})),e instanceof C4&&e.children.slice().filter(pr(oY)).forEach(e=>{jr(r,e._UUID)}),i.childrenIds=r,i},mXi=e=>{const t=[],n=new Map,i=(e=>{const t=new hXi("Execution Plan","Execution Plan",e),n=[],i=e.rootExecutionNode._UUID;return jr(n,i),t.childrenIds=n,t})(e);return jr(t,i.id),n.set(i.id,i),{rootIds:t,nodes:n}};var fXi,vXi;!function(e){e.FORM="Form",e.JSON="JSON"}(fXi||(fXi={})),function(e){e.GENERAL="GENERAL",e.GLOBAL_IMPLEMENTATION_SUPPORT="GLOBAL_IMPLEMENTATION_SUPPORT"}(vXi||(vXi={}));class yXi{selectedTab=vXi.GENERAL;selectedJavaClass=void 0;constructor(){hd(this,{selectedTab:Rc,selectedJavaClass:Rc,setSelectedTab:Pu,setSelectedJavaClass:Pu})}setSelectedTab(e){this.selectedTab=e}setSelectedJavaClass(e){this.selectedJavaClass=e}}class bXi{applicationStore;graphManagerState;displayDataJson={};displayData="";selectedNode=void 0;viewMode=fXi.FORM;treeData;rawPlan;plan;debugText;globalImplementationSupportState=new yXi;constructor(e,t){hd(this,{displayData:Rc,displayDataJson:Rc,viewMode:Rc,rawPlan:Rc,plan:Rc,debugText:Rc,treeData:Rc,setExecutionPlanDisplayData:Pu,setExecutionPlanDisplayDataJson:Pu,transformMetadataToProtocolJson:Pu,setSelectedNode:Pu,setRawPlan:Pu,setPlan:Pu,setViewMode:Pu,setDebugText:Pu,setTreeNode:Pu,setTreeData:Pu,refreshTreeData:Pu,nonNullableTreeData:Oc,initialize:Pu,globalImplementationSupportState:Rc}),this.applicationStore=e,this.graphManagerState=t}setViewMode(e){this.viewMode=e}setTreeNode(e,t){this.treeData?.nodes.set(e,t)}setTreeData(e){this.treeData=e}refreshTreeData(){this.treeData&&this.setTreeData({...this.treeData})}get nonNullableTreeData(){return dr(this.treeData,"Execution plan viewer tree data has not been initialized")}setRawPlan=e=>{this.rawPlan=e};setPlan=e=>{this.plan=e};initialize=e=>{this.setPlan(e),void 0!==e?this.setTreeData(mXi(e)):this.setTreeData(void 0)};setDebugText(e){this.debugText=e}setSelectedNode(e){this.selectedNode&&this.selectedNode.setIsSelected(!1),e&&e.setIsSelected(!0),this.selectedNode=e}setExecutionPlanDisplayData(e){this.displayData=e}setExecutionPlanDisplayDataJson(e){this.displayDataJson=e,this.setExecutionPlanDisplayData(JSON.stringify(this.displayDataJson,void 0,2))}transformMetadataToProtocolJson(e){if(e instanceof _3){const t=this.graphManagerState.graphManager.serializeExecutionPlan(e);this.setExecutionPlanDisplayDataJson(t)}else if(e instanceof oY){const t=this.graphManagerState.graphManager.serializeExecutionNode(e);this.setExecutionPlanDisplayDataJson(t)}}}const _Xi=e=>{try{const t=e.getFirstDisplayedRowIndex(),n=e.getLastDisplayedRowIndex();if(n>=t)return Math.max(1,n-t)}catch{}return 25},CXi=e=>{const t=e.getCellRanges();return t&&t.length>0?t[t.length-1]:null},SXi=e=>{const t=e.event;if(!t)return;const n=e.api;if(t.ctrlKey&&"KeyA"===t.code)return void((e,t)=>{e.preventDefault();const n=t.getDisplayedRowCount(),i=t.getColumns();0!==n&&i&&0!==i.length&&(console.debug(`[TDS Grid] Ctrl+A → selecting all: ${n} rows × ${i.length} columns`),t.deselectAll(),t.clearCellSelection(),t.addCellRange({rowStartIndex:0,rowEndIndex:n-1,columns:i}))})(t,n);const i=e.column,r=e.rowIndex;((e,t,n)=>{e.code.startsWith("Control")||e.code.startsWith("Shift")||e.code.startsWith("Alt")||e.code.startsWith("Meta")||console.debug(`[TDS Grid] onCellKeyDown: key=${e.code} ctrl=${e.ctrlKey} shift=${e.shiftKey} col=${t.getColId()} row=${n}`)})(t,i,r),null!==r&&(!t.shiftKey||"PageDown"!==t.code&&"PageUp"!==t.code?t.ctrlKey&&"Space"===t.code?((e,t,n)=>{e.preventDefault();const i=t.getDisplayedRowCount();if(0===i)return;const r=CXi(t),s=r?r.columns:[n];console.debug(`[TDS Grid] Ctrl+Space → selecting ${s.length} column(s), ${i} rows`),t.deselectAll(),t.clearCellSelection(),t.addCellRange({rowStartIndex:0,rowEndIndex:i-1,columns:s})})(t,n,i):t.shiftKey&&"Space"===t.code&&((e,t,n,i)=>{e.preventDefault();const r=t.getColumns();if(!r||0===r.length)return;const s=CXi(t);let o=i,a=i;if(s){const e=s.startRow?.rowIndex??i,t=s.endRow?.rowIndex??i;o=Math.min(e,t),a=Math.max(e,t)}console.debug(`[TDS Grid] Shift+Space → selecting rows ${o}–${a}, ${r.length} columns`),t.deselectAll(),t.clearCellSelection(),t.addCellRange({rowStartIndex:o,rowEndIndex:a,columns:r})})(t,n,0,r):((e,t,n,i)=>{e.preventDefault();const r=t.getDisplayedRowCount();if(0===r)return;const s=CXi(t),o=s?.startRow?.rowIndex??i,a=s?.endRow?.rowIndex??i,l=s?s.columns:[n],c="PageDown"===e.code?_Xi(t):-_Xi(t),u=Math.max(0,Math.min(r-1,a+c));console.debug(`[TDS Grid] Shift+${e.code} → extending range rows ${o}–${u}`),t.deselectAll(),t.clearCellSelection(),t.addCellRange({rowStartIndex:Math.min(o,u),rowEndIndex:Math.max(o,u),columns:l})})(t,n,i,r))},wXi=e=>Intl.NumberFormat(aHi,{maximumFractionDigits:UXi}).format(e),EXi=()=>vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__spinner",title:"Computing…"}),xXi=({frequencies:e,darkMode:t})=>{const i=Math.max(...e.map(e=>e.count)),r=n.useRef(null);return n.useLayoutEffect(()=>{const e=r.current;if(!e)return;const t=e.getBoundingClientRect();t.left<0?e.style.left=4-t.left+"px":t.right>globalThis.innerWidth&&(e.style.left=globalThis.innerWidth-t.right-4+"px")}),vse.jsx("div",{ref:r,className:gle("query-builder__result__tds-grid__stats-bar__freq-tooltip",{"query-builder__result__tds-grid__stats-bar__freq-tooltip--dark":t}),children:vse.jsx("svg",{width:208,height:13*e.length+2,children:e.map((e,t)=>{const n=13*t+1,r=Math.max(1,e.count/i*80),s=e.label.length>12?`${e.label.slice(0,11)}…`:e.label;return vse.jsxs("g",{children:[vse.jsx("text",{x:86,y:n+10-2,textAnchor:"end",className:gle("query-builder__result__tds-grid__stats-bar__freq-tooltip__label",{"query-builder__result__tds-grid__stats-bar__freq-tooltip__label--other":e.isOther,"query-builder__result__tds-grid__stats-bar__freq-tooltip__label--empty":e.isEmpty}),children:s}),vse.jsx("rect",{x:90,y:n,width:r,height:10,className:gle("query-builder__result__tds-grid__stats-bar__freq-tooltip__bar",{"query-builder__result__tds-grid__stats-bar__freq-tooltip__bar--other":e.isOther,"query-builder__result__tds-grid__stats-bar__freq-tooltip__bar--empty":e.isEmpty})}),vse.jsx("text",{x:174,y:n+10-2,className:"query-builder__result__tds-grid__stats-bar__freq-tooltip__count",children:e.count})]},t)})})})},TXi=(e,t)=>{const n=e.count,i=`${n} ${1===n?"value":"values"}`;if("date"===t){const t=e.lowerDateLabel??e.lower,n=e.upperDateLabel??e.upper;return t===n?`${i} on ${t}`:`${i} within the range ${t} – ${n}`}if("string-length"===t){const t=Math.round(e.lower),n=Math.round(e.upper);return t===n?`${i} with length ${t}`:`${i} with length ${t} – ${n}`}return e.lower===e.upper?`${i} equal to ${wXi(e.lower)}`:`${i} within the range ${wXi(e.lower)} – ${wXi(e.upper)}`},AXi=({buckets:e,chartType:t,darkMode:n})=>{if(0===e.length)return null;const i=Math.max(...e.map(e=>e.count));if(0===i)return null;const r=e.length,s=Math.max(1,(120-1*(r-1))/r);return vse.jsx("div",{className:gle("query-builder__result__tds-grid__stats-bar__chart",{"query-builder__result__tds-grid__stats-bar__chart--dark":n}),children:vse.jsx("svg",{width:120,height:18,children:e.map((e,n)=>{const r=Math.max(1,e.count/i*18),o=n*(s+1);return vse.jsx("rect",{x:o,y:18-r,width:s,height:r,opacity:0===e.count?.15:1,children:vse.jsx("title",{children:TXi(e,t)})},n)})})})},RXi=ule(e=>{const{stats:t,cellCount:n,countReady:i,darkMode:r}=e,s=void 0===t,o=!s&&void 0!==t.sum,a=!s&&void 0!==t.dateMin,l=!s&&void 0!==t.strMinLength,c=!s&&void 0!==t.distributionBuckets&&t.distributionBuckets.length>=2;return vse.jsxs("div",{className:gle("query-builder__result__tds-grid__stats-bar",{"query-builder__result__tds-grid__stats-bar--dark":r}),children:[vse.jsxs("span",{className:gle("query-builder__result__tds-grid__stats-bar__item",{"query-builder__result__tds-grid__stats-bar__item--has-tooltip":!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0}),children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Count:"}),vse.jsx("span",{className:gle("query-builder__result__tds-grid__stats-bar__item__value",{"query-builder__result__tds-grid__stats-bar__item__value--with-chart":!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0}),children:i?n:vse.jsx(EXi,{})}),!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0&&vse.jsx(xXi,{frequencies:t.valueFrequencies,darkMode:r})]}),vse.jsxs("span",{className:gle("query-builder__result__tds-grid__stats-bar__item",{"query-builder__result__tds-grid__stats-bar__item--has-tooltip":!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0}),children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Unique Count:"}),vse.jsx("span",{className:gle("query-builder__result__tds-grid__stats-bar__item__value",{"query-builder__result__tds-grid__stats-bar__item__value--with-chart":!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0}),children:s?vse.jsx(EXi,{}):t.uniqueCount}),!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0&&vse.jsx(xXi,{frequencies:t.valueFrequencies,darkMode:r})]}),vse.jsxs("span",{className:gle("query-builder__result__tds-grid__stats-bar__item",{"query-builder__result__tds-grid__stats-bar__item--has-tooltip":!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0}),children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Empty Count:"}),vse.jsx("span",{className:gle("query-builder__result__tds-grid__stats-bar__item__value",{"query-builder__result__tds-grid__stats-bar__item__value--with-chart":!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0}),children:s?vse.jsx(EXi,{}):t.nullCount}),!s&&void 0!==t.valueFrequencies&&t.valueFrequencies.length>0&&vse.jsx(xXi,{frequencies:t.valueFrequencies,darkMode:r})]}),o&&vse.jsxs(vse.Fragment,{children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__separator"}),vse.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Min:"}),vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:wXi(t.min??0)})]}),vse.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Max:"}),vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:wXi(t.max??0)})]}),vse.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Sum:"}),vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:wXi(t.sum??0)})]}),vse.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Avg:"}),vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:wXi(t.avg??0)})]})]}),a&&vse.jsxs(vse.Fragment,{children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__separator"}),vse.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Min:"}),vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:t.dateMin})]}),vse.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Max:"}),vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:t.dateMax})]})]}),l&&vse.jsxs(vse.Fragment,{children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__separator"}),vse.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Min Length:"}),vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:t.strMinLength})]}),vse.jsxs("span",{className:"query-builder__result__tds-grid__stats-bar__item",children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__label",children:"Max Length:"}),vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__item__value",children:t.strMaxLength})]})]}),c&&vse.jsxs(vse.Fragment,{children:[vse.jsx("span",{className:"query-builder__result__tds-grid__stats-bar__separator"}),vse.jsx(AXi,{buckets:t.distributionBuckets??[],chartType:t.distributionChartType??"numeric",darkMode:r})]})]})}),NXi=new Set([Xb.INTEGER,Xb.FLOAT,Xb.DECIMAL,Xb.NUMBER]),IXi=new Set([Xb.DATE,Xb.STRICTDATE,Xb.DATETIME]),DXi=new Set([Xb.STRING]),OXi=e=>{if(0===e.length)return[];const t=Math.min(...e),n=Math.max(...e),i=n-t;if(0===i)return[{lower:t,upper:n,count:e.length}];const r=e.every(e=>Number.isInteger(e)),s=n-t+1;let o;o=r&&s<=20?s:Math.min(20,Math.ceil(Math.log2(e.length)+1));const a=i/o,l=Array.from({length:o},(e,n)=>({lower:t+n*a,upper:t+(n+1)*a,count:0}));for(const n of e){const e=l[Math.min(o-1,Math.floor((n-t)/a))];e&&(e.count+=1)}return l},kXi=e=>{const t=new Date(e);return 0===t.getUTCHours()&&0===t.getUTCMinutes()&&0===t.getUTCSeconds()&&0===t.getUTCMilliseconds()?t.toISOString().slice(0,10):t.toISOString().replace("T"," ").slice(0,19)},LXi=e=>"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e?String(e):null==e?"":JSON.stringify(e),MXi=(e,t,n)=>{const i=t.map(String).filter(e=>e.length>0),r=[...i].sort((e,t)=>e.localeCompare(t)),s=(e=>{if(0===e.length)return[];const t=e.map(e=>Date.parse(e)).filter(e=>!Number.isNaN(e));return 0===t.length?[]:OXi(t).map(e=>({...e,lowerDateLabel:kXi(e.lower),upperDateLabel:kXi(e.upper)}))})(i);return{...e,dateMin:r[0],dateMax:r[r.length-1],distributionBuckets:s.length>=2?s:void 0,distributionChartType:s.length>=2?"date":void 0,valueFrequencies:n}},PXi=(e,t)=>{if(e.length<2)return;const n=e.length,i=e.filter(e=>null===e.value||void 0===e.value||""===e.value).length,r=e.map(e=>e.value).filter(e=>null!=e&&""!==e),s=new Set(r).size,o=((e,t)=>{const n=n=>[...e].every(e=>{const i=t.get(e);return void 0!==i&&n.has(i)});return n(NXi)?"numeric":n(IXi)?"date":n(DXi)?"string":"mixed"})(new Set(e.map(e=>e.columnName)),t),a=r.length>0||i>0?((e,t)=>{const n=new Map;for(const t of e){const e=LXi(t);n.set(e,(n.get(e)??0)+1)}const i=[...n.entries()].sort((e,t)=>t[1]-e[1]),r=i.slice(0,10),s=i.slice(10).reduce((e,[,t])=>e+t,0),o=r.map(([e,t])=>({label:e,count:t}));return s>0&&o.push({label:"(other)",count:s,isOther:!0}),t>0&&o.push({label:"(empty)",count:t,isEmpty:!0}),o})(r,i):void 0,l=((e,t,n,i)=>({count:e,uniqueCount:t,nullCount:n,min:void 0,max:void 0,sum:void 0,avg:void 0,dateMin:void 0,dateMax:void 0,strMinLength:void 0,strMaxLength:void 0,distributionBuckets:void 0,distributionChartType:void 0,valueFrequencies:i}))(n,s,i,a);return"numeric"===o?((e,t,n)=>{const i=t.map(e=>{if(null===e.value||void 0===e.value||""===e.value)return null;const t=Number(e.value);return Number.isNaN(t)?null:t}).filter(e=>null!==e);if(0===i.length)return{...e,valueFrequencies:n};const r=i.reduce((e,t)=>e+t,0);return{...e,min:Math.min(...i),max:Math.max(...i),sum:r,avg:r/i.length,distributionBuckets:OXi(i),distributionChartType:"numeric",valueFrequencies:n}})(l,e,a):"date"===o?MXi(l,r,a):"string"===o?((e,t,n)=>{const i=t.map(e=>LXi(e).length).filter(e=>e>0);return{...e,strMinLength:i.length>0?Math.min(...i):void 0,strMaxLength:i.length>0?Math.max(...i):void 0,distributionBuckets:i.length>0?OXi(i):void 0,distributionChartType:i.length>0?"string-length":void 0,valueFrequencies:n}})(l,r,a):l},FXi=e=>{try{const t=e.getCellRanges();if(!t||0===t.length)return 0;let n=0;for(const e of t){const t=e.startRow?.rowIndex??0,i=e.endRow?.rowIndex??0;n+=(Math.abs(i-t)+1)*e.columns.length}return n}catch{return 0}},BXi=(e,t,i,r)=>{const[s,o]=n.useState(!1),[a,l]=n.useState(0),[c,u]=n.useState(!1),[d,h]=n.useState(void 0),p=n.useRef(t);n.useEffect(()=>{p.current=t});const g=n.useRef(r);if(n.useEffect(()=>{g.current=r}),n.useEffect(()=>{const e=i.current;if((e?FXi(e):g.current?.length??0)<2)return o(!1),l(0),u(!1),void h(void 0);o(!0),l(0),u(!1),h(void 0);let t=!1;const n=globalThis.setTimeout(()=>{if(t)return;const e=i.current,n=e?FXi(e):g.current?.length??0;n>=2?(l(n),u(!0)):(o(!1),l(0),u(!1))},50);let r=0;const s=globalThis.setTimeout(()=>{t||(r=requestAnimationFrame(()=>{if(t)return;const e=i.current,n=e?(e=>{const t=e.getCellRanges();if(!t||0===t.length)return[];const n=new Map;e.forEachNode(e=>{null!==e.rowIndex&&e.data&&n.set(e.rowIndex,e.data)});const i=e.getColumns()??[],r=new Map;i.forEach((e,t)=>{r.set(e.getColId(),t)});const s=new Map;for(const e of t){const t=e.startRow?.rowIndex??0,i=e.endRow?.rowIndex??0,o=Math.min(t,i),a=Math.max(t,i);for(let t=o;t<=a;t++){const i=n.get(t);if(i)for(const n of e.columns){const e=n.getColId(),o=`${t}|${e}`;s.has(o)||s.set(o,{value:i[e],columnName:e,coordinates:{rowIndex:t,colIndex:r.get(e)??-1}})}}}return Array.from(s.values())})(e):g.current??[],r=PXi(n,p.current);l(n.length),u(!0),h(r)}))},200);return()=>{t=!0,globalThis.clearTimeout(n),globalThis.clearTimeout(s),0!==r&&cancelAnimationFrame(r)}},[e,i]),s)return{cellCount:a,countReady:c,stats:d}},VXi=(e,t,n,i)=>{const r=n.queryBuilderState.fetchStructureState.implementation;return r instanceof hHi?(((e,t)=>{const n=[],i=e.api.getCellRanges()??[];for(const t of i){const i=Math.min(t.startRow?.rowIndex??0,t.endRow?.rowIndex??0),r=Math.max(t.startRow?.rowIndex??0,t.endRow?.rowIndex??0);for(let s=i;s<=r;s++){const i=e.api.getDisplayedRowAtIndex(s);t.columns.forEach((e,t)=>{const r=e.getColId(),o=i?.data?.[r];n.push({value:o??null,columnName:r,coordinates:{rowIndex:s,colIndex:t}})})}}if(0===n.length&&e.node&&e.column){const t=e.column.getColId();n.push({value:e.value??null,columnName:t,coordinates:{rowIndex:e.node.rowIndex??0,colIndex:0}})}t.setSelectedCells(n),n.length>0&&t.setMouseOverCell(n[0]??null)})(e,n),[{name:"Filter By",action:()=>{OKi(t,n.mousedOverCell,!0,r).catch(i)}},{name:"Filter Out",action:()=>{OKi(t,n.mousedOverCell,!1,r).catch(i)}},"copy","copyWithHeaders",{name:"Copy Row Value",action:()=>{e.api.copySelectedRowsToClipboard()}}]):[]},UXi=4,GXi=e=>vse.jsxs("div",{"data-testid":CHi.QUERY_BUILDER_RESULT_GRID_CUSTOM_HEADER,className:"query-builder__result__values__table__custom-header",children:[vse.jsx("div",{className:"query-builder__result__values__table__custom-header__icon",title:"some values have been rounded using en-us format in this preview grid (defaults to max 4 decimal places)",children:vse.jsx(Zse,{})}),vse.jsx("div",{children:e.displayName})]}),HXi=(e,t)=>{const n=e.builder.columns.findIndex(e=>e.name===t);if(n>=0){const t=e.builder.columns[n]?.type,i=e.result.rows.map(e=>e.values[n]),r=e=>Boolean(e.some(e=>{if(e){const t=e.toString().split(".")[1];return t&&t.length>UXi}return!1}));switch(t){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:return r(i)?{headerComponentParams:{innerHeaderComponent:GXi}}:{};default:return{}}}return{}},zXi=ule(e=>{const t=e.resultState,n=e.tdsExecutionResult,i=e.value,r=dr(e.node.rowIndex),s=_r(i)&&Dh(i)?i:void 0,o=e.column?.getColId()??"",a=(e,t)=>({rowIndex:t,colIndex:n.result.columns.findIndex(t=>t===e)}),l=a(o,r),c=t.selectedCells.some(e=>e.coordinates.colIndex===l.colIndex&&e.coordinates.rowIndex===l.rowIndex),u=e=>{if(t.executionResult&&t.executionResult instanceof gQ)return t.executionResult.result.columns[e]},d=n=>{const i=n[0],r=n[1];if(t.executionResult&&t.executionResult instanceof gQ)return"asc"===e.api.getColumnState()[r]?.sort?t.executionResult.result.rows.sort((e,t)=>vQ(e,t,r)):"desc"===e.api.getColumnState()[r]?.sort&&t.executionResult.result.rows.sort((e,t)=>vQ(t,e,r)),t.executionResult.result.rows[i]?.values[r]},h=e=>{if(e.preventDefault(),e.shiftKey){const e=a(o,r),n=d([e.rowIndex,e.colIndex]);return void t.addSelectedCell({value:n,columnName:o,coordinates:e})}if(0===e.button){t.setIsSelectingCells(!0),t.setSelectedCells([]);const e=a(o,r),n=d([e.rowIndex,e.colIndex]);t.setSelectedCells([{value:n,columnName:o,coordinates:e}]),t.setMouseOverCell(t.selectedCells[0]??null)}if(2===e.button){const e=a(o,r);if(!(n=e,t.selectedCells.some(e=>e.coordinates.rowIndex===n.rowIndex&&e.coordinates.colIndex===n.colIndex))){const n=d([e.rowIndex,e.colIndex]);t.setSelectedCells([{value:n,columnName:o,coordinates:e}]),t.setMouseOverCell(t.selectedCells[0]??null)}}var n};return vse.jsx("div",{className:gle("query-builder__result__values__table__cell",{"query-builder__result__values__table__cell--active":c}),onMouseDown:e=>h(e),onMouseUp:e=>{t.setIsSelectingCells(!1)},onMouseOver:e=>(()=>{if(t.isSelectingCells){if(t.selectedCells.length<1)return;const e=t.selectedCells[0];if(!e)return;const n=e.coordinates,i=a(o,r);t.setSelectedCells([e]);const s=Math.min(n.rowIndex,i.rowIndex),l=Math.min(n.colIndex,i.colIndex),c=Math.max(n.rowIndex,i.rowIndex),h=Math.max(n.colIndex,i.colIndex);for(let e=s;e<=c;e++)for(let n=l;n<=h;n++){const i={value:d([e,n]),columnName:u(n),coordinates:{rowIndex:e,colIndex:n}};t.selectedCells.find(t=>t.coordinates.colIndex===n&&t.coordinates.rowIndex===e)||t.addSelectedCell(i)}}t.setMouseOverCell(t.selectedCells[0]??null)})(),children:s?vse.jsx("a",{href:s,target:"_blank",rel:"noreferrer",children:s}):vse.jsx("span",{children:Cr(i)?Intl.NumberFormat(aHi,{maximumFractionDigits:UXi}).format(Number(i)):Sr(i)?String(i):i})})}),jXi=(e,t)=>{e.length>0&&(t.setSelectedCells(e),t.setMouseOverCell(e[0]??null))},WXi=ule(e=>{const{executionResult:t,queryBuilderState:i,showSummaryStats:r=!0}=e,s=Cmt(),o=i.resultState,a=!i.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled,l=t.result.columns.map(e=>({minWidth:50,sortable:!0,resizable:!0,field:e,flex:1,headerName:e,...HXi(t,e),cellRenderer:zXi,cellRendererParams:{resultState:o,tdsExecutionResult:t}})),c=o.selectedCells,u=new Map(t.builder.columns.map(e=>[e.name,e.type])),d=n.useRef(null),h=BXi(c.length,u,d,c),p=n.useRef(null),g=n.useRef(null);n.useEffect(()=>{const e=p.current;if(!e)return;const n=e=>{const n=t.result.columns,i=t.result.rows;if(e.ctrlKey&&"KeyA"===e.code){e.preventDefault(),console.debug(`[TDS Simple Grid] Ctrl+A → selecting all: ${i.length} rows × ${n.length} columns`);const t=((e,t)=>{const n=[];return t.forEach((t,i)=>{e.forEach((e,r)=>{n.push({value:t.values[r],columnName:e,coordinates:{rowIndex:i,colIndex:r}})})}),n})(n,i);return void jXi(t,o)}if(e.ctrlKey&&"Space"===e.code){e.preventDefault();const t=g.current;if(!t)return;const r=((e,t)=>e.length>0?[...new Set(e.map(e=>e.coordinates.colIndex))]:[t])(o.selectedCells,t.colIndex);console.debug(`[TDS Simple Grid] Ctrl+Space → selecting ${r.length} column(s), ${i.length} rows`);const s=((e,t,n)=>{const i=[];return t.forEach((t,r)=>{n.forEach(n=>{i.push({value:t.values[n],columnName:e[n]??"",coordinates:{rowIndex:r,colIndex:n}})})}),i})(n,i,r);return void jXi(s,o)}if(e.shiftKey&&"Space"===e.code){e.preventDefault();const t=g.current;if(!t)return;const r=((e,t)=>e.length>0?[...new Set(e.map(e=>e.coordinates.rowIndex))]:[t])(o.selectedCells,t.rowIndex);console.debug(`[TDS Simple Grid] Shift+Space → selecting ${r.length} row(s), ${n.length} columns`);const s=((e,t,n)=>{const i=[];return n.forEach(n=>{e.forEach((e,r)=>{i.push({value:t[n]?.values[r],columnName:e,coordinates:{rowIndex:n,colIndex:r}})})}),i})(n,i,r);jXi(s,o)}};return e.addEventListener("keydown",n,{capture:!0}),()=>e.removeEventListener("keydown",n,{capture:!0})},[t.result.columns,t.result.rows,o]);const m=n.useCallback(e=>VXi(e,s,o,i.applicationStore.alertUnhandledError),[s,o,i.applicationStore.alertUnhandledError]);return vse.jsx("div",{"data-testid":CHi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:vse.jsxs("div",{ref:p,tabIndex:-1,className:gle("query-builder__result__tds-grid",{"query-builder__result__tds-grid--with-stats-bar":r,"ag-theme-balham":!a,"ag-theme-balham-dark":a}),children:[vse.jsx(iKi,{rowData:mKi(t),gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},suppressFieldDotNotation:!0,columnDefs:l,getContextMenuItems:e=>m(e),onCellClicked:e=>{const n=e.event;if(n?.ctrlKey||n?.shiftKey)return;const i=e.column.getColId(),r=t.result.columns.indexOf(i);console.debug(`[TDS Simple Grid] onCellClicked: col=${i} row=${e.rowIndex}`),g.current={colName:i,colIndex:r,rowIndex:e.rowIndex??0},p.current?.focus({preventScroll:!0})}}),r&&void 0!==h&&vse.jsx(RXi,{stats:h.stats,cellCount:h.cellCount,countReady:h.countReady,darkMode:a})]})})});var $Xi;!function(e){e.wavg="wavg",e.WAVG="WAVG"}($Xi||($Xi={}));const qXi=(e,t)=>{const n=e.builder.columns.find(e=>e.name===t)?.type;switch(n){case Xb.STRING:return{filter:"agTextColumnFilter",allowedAggFuncs:["count"]};case Xb.DATE:case Xb.DATETIME:case Xb.STRICTDATE:return{filter:"agDateColumnFilter",allowedAggFuncs:["count"]};case Xb.DECIMAL:case Xb.NUMBER:case Xb.INTEGER:case Xb.FLOAT:return{filter:"agNumberColumnFilter",allowedAggFuncs:["count","sum","max","min","avg","wavg"]};default:return{allowedAggFuncs:["count"]}}},YXi=ule(e=>{const t=e.resultState,n=e.value,i=_r(n)&&Dh(n)?n:void 0;return vse.jsx("div",{className:gle("query-builder__result__values__table__cell"),onMouseDown:e=>(e=>{0!==e.button&&2!==e.button||t.setMouseOverCell(t.selectedCells[0]??null)})(e),onMouseUp:e=>{t.setIsSelectingCells(!1)},onMouseOver:e=>{t.setMouseOverCell(t.selectedCells[0]??null)},children:i?vse.jsx("a",{href:i,target:"_blank",rel:"noreferrer",children:i}):vse.jsx("span",{children:Cr(n)?Intl.NumberFormat(aHi,{maximumFractionDigits:UXi}).format(Number(n)):Sr(n)?String(n):n})})}),KXi=(e,t)=>{const n=e.builder.columns.find(e=>e.name===t)?.type;switch(n){case Xb.DATE:case Xb.DATETIME:case Xb.STRICTDATE:return{filter:"agDateColumnFilter"};case Xb.DECIMAL:case Xb.INTEGER:case Xb.NUMBER:case Xb.FLOAT:return{filter:"agNumberColumnFilter"};default:return{filter:!0}}},XXi=ule(e=>{const{executionResult:t,queryBuilderState:i,showSummaryStats:r=!0}=e,s=Cmt(),o=!s.layoutService.TEMPORARY__isLightColorThemeEnabled,[a,l]=n.useState(void 0),[c,u]=n.useState(void 0),d=i.resultState,h=i.isLocalModeEnabled,p=h?((e,t)=>e.result.columns.map(n=>{const i={minWidth:50,sortable:!0,resizable:!0,field:n,flex:1,enablePivot:!0,enableRowGroup:!0,enableValue:!0,cellRenderer:YXi,cellRendererParams:{resultState:t,tdsExecutionResult:e},...qXi(e,n),...HXi(e,n)},r=t.gridConfig?.columns.find(e=>e.colId===n);return r&&(r.width&&(i.width=r.width),i.pinned=r.pinned??null,i.rowGroup=r.rowGroup??!1,i.rowGroupIndex=r.rowGroupIndex??null,i.aggFunc=r.aggFunc??null,i.pivot=r.pivot??!1,i.hide=r.hide??!1),i}))(t,d):((e,t)=>e.result.columns.map(n=>({minWidth:50,sortable:!0,resizable:!0,field:n,flex:1,cellRenderer:YXi,cellRendererParams:{resultState:t,tdsExecutionResult:e},...KXi(e,n),...HXi(e,n)})))(t,d),g=()=>{a&&d.setGridConfig({columns:a.getColumnState(),isPivotModeEnabled:a.isPivotMode(),isLocalModeEnabled:!0,previewLimit:d.previewLimit,...d.wavgAggregationState?.weightedColumnIdPairs&&{weightedColumnPairs:d.wavgAggregationState.weightedColumnIdPairs}})},m=n.useCallback(e=>VXi(e,s,d,i.applicationStore.alertUnhandledError),[s,d,i.applicationStore.alertUnhandledError]),f=a?.getColumns()?.filter(e=>"number"===e.getColDef().cellDataType).map(e=>({label:e.getColId(),value:e.getColId()})),v=c?.colDef.field&&d.wavgAggregationState?.weightedColumnIdPairs.get(c.colDef.field)?{label:dr(d.wavgAggregationState.weightedColumnIdPairs.get(c.colDef.field)),value:dr(d.wavgAggregationState.weightedColumnIdPairs.get(c.colDef.field))}:null;n.useEffect(()=>{c&&c.api.setColumnAggFunc(dr(c.colDef.field),$Xi.WAVG)},[d.wavgAggregationState,c]);const[y,b]=n.useState(0),_=new Map(t.builder.columns.map(e=>[e.name,e.type])),C=n.useRef(null),S=BXi(y,_,C);return vse.jsx("div",{"data-testid":CHi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:vse.jsxs("div",{className:gle("query-builder__result__tds-grid",{"query-builder__result__tds-grid--with-stats-bar":r,"ag-theme-balham":!o,"ag-theme-balham-dark":o}),children:[h?vse.jsx(iKi,{rowData:mKi(t),onGridReady:e=>{C.current=e.api,l(e.api),e.api.updateGridOptions({pivotMode:Boolean(d.gridConfig?.isPivotModeEnabled)})},gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,pivotPanelShow:"always",rowGroupPanelShow:"always",cellSelection:!0},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},suppressFieldDotNotation:!0,suppressContextMenu:!1,columnDefs:p,aggFuncs:{wavg:e=>{e.colDef.field?(d.wavgAggregationState||d.setWavgAggregationState(new JXi),d.wavgAggregationState?.addWeightedColumnIdPair(e.colDef.field,e.colDef.field),d.wavgAggregationState?.setIsApplyingWavg(!0),u(e)):s.notificationService.notifyError("The id of this column can`t be retrieved to perform weighted average")},WAVG:e=>{try{const t=e.colDef.field;if(t){const n=d.wavgAggregationState?.weightedColumnIdPairs.get(t);if(n){const i=(e.rowNode.allLeafChildren??[]).map(e=>e.data[n]).reduce((e,t)=>e+t),r=(e.rowNode.allLeafChildren??[]).map(e=>e.data[n]*e.data[t]).reduce((e,t)=>e+t);if(0!==i)return g(),r/i;s.notificationService.notifyError("The weighted column sum is 0")}else s.notificationService.notifyError("The weighted column Id is not defined")}}catch(e){bi(e),s.notificationService.notifyError(e)}return-1}},sideBar:["columns","filters"],onColumnVisible:g,onColumnPinned:g,onColumnResized:g,onColumnRowGroupChanged:g,onColumnValueChanged:g,onColumnPivotChanged:g,onColumnPivotModeChanged:g,onCellSelectionChanged:()=>{console.debug("[TDS Grid (local)] onCellSelectionChanged"),b(e=>e+1)},onCellClicked:e=>{const t=e.event;t?.ctrlKey||t?.shiftKey||(console.debug(`[TDS Grid (local)] onCellClicked: col=${e.column.getColId()} row=${e.rowIndex}`),null!==e.rowIndex&&e.api.setFocusedCell(e.rowIndex,e.column))},onCellKeyDown:e=>{SXi(e)}}):vse.jsx(iKi,{rowData:mKi(t),onGridReady:e=>{C.current=e.api},gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,cellSelection:!0},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},onCellSelectionChanged:()=>{console.debug("[TDS Grid] onCellSelectionChanged"),b(e=>e+1)},onCellClicked:e=>{const t=e.event;t?.ctrlKey||t?.shiftKey||(console.debug(`[TDS Grid] onCellClicked: col=${e.column.getColId()} row=${e.rowIndex}`),null!==e.rowIndex&&e.api.setFocusedCell(e.rowIndex,e.column))},suppressFieldDotNotation:!0,suppressClipboardPaste:!1,suppressContextMenu:!1,columnDefs:p,getContextMenuItems:e=>m(e),onCellKeyDown:e=>{SXi(e)}}),r&&void 0!==S&&vse.jsx(RXi,{stats:S.stats,cellCount:S.cellCount,countReady:S.countReady,darkMode:o}),d.wavgAggregationState?.isApplyingWavg&&vse.jsx(V_e,{open:d.wavgAggregationState.isApplyingWavg,onClose:()=>d.wavgAggregationState?.setIsApplyingWavg(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:vse.jsxs(eVe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-editor__blocking-alert",children:[vse.jsx(nVe,{title:"Applying Weighted Average"}),vse.jsxs(rVe,{children:[vse.jsx("div",{className:"query-builder__result__tds-grid__text",children:"choose a weighted column from dropdown"}),vse.jsx(ZBe,{options:f,onChange:e=>{c?.colDef.field&&e?.value&&d.wavgAggregationState?.addWeightedColumnIdPair(c.colDef.field,e.value)},value:v,placeholder:"Choose a weighted column",darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),vse.jsx(sVe,{children:vse.jsx(aVe,{onClick:()=>{d.wavgAggregationState?.setIsApplyingWavg(!1)},text:"Apply"})})]})})]})})});var ZXi;!function(e){e.CLASS_LINEAGE="CLASS_LINEAGE",e.DATABASE_LINEAGE="DATABASE_LINEAGE",e.REPORT_LINEAGE="REPORT_LINEAGE",e.PROPERTY_LINEAGE="PROPERTY_LINEAGE"}(ZXi||(ZXi={}));class QXi{applicationStore;selectedTab=ZXi.DATABASE_LINEAGE;lineageData=void 0;isLineageViewerOpen=!1;selectedPropertyOwnerNode=void 0;selectedProperty=void 0;selectedSourcePropertiesMap=void 0;constructor(e){hd(this,{selectedTab:Rc,lineageData:Rc,isLineageViewerOpen:Rc,selectedPropertyOwnerNode:Rc,selectedProperty:Rc,selectedSourcePropertiesMap:Rc,setSelectedTab:Pu,setLineageData:Pu,setIsLineageViewerOpen:Pu,setSelectedPropertyOwnerNode:Pu,setSelectedProperty:Pu,setSelectedSourcePropertiesMap:Pu,clearPropertySelections:Pu}),this.applicationStore=e}setSelectedTab(e){this.selectedTab=e}setLineageData(e){this.lineageData=e}setIsLineageViewerOpen(e){this.isLineageViewerOpen=e}setSelectedPropertyOwnerNode(e){this.selectedPropertyOwnerNode=e}setSelectedProperty(e){this.selectedProperty=e}setSelectedSourcePropertiesMap(e){this.selectedSourcePropertiesMap=e}clearPropertySelections(){this.selectedProperty=void 0,this.selectedPropertyOwnerNode=void 0,this.selectedSourcePropertiesMap=void 0}}class JXi{isApplyingWavg=!1;weightedColumnIdPairs;constructor(){hd(this,{isApplyingWavg:Rc,weightedColumnIdPairs:Rc,setIsApplyingWavg:Pu,addWeightedColumnIdPair:Pu,removeWeightedColumnIdPair:Pu}),this.weightedColumnIdPairs=new Map}setIsApplyingWavg(e){this.isApplyingWavg=e}addWeightedColumnIdPair(e,t){this.weightedColumnIdPairs.set(e,t)}removeWeightedColumnIdPair(e){this.weightedColumnIdPairs.delete(e)}}class eZi{queryBuilderState;executionPlanState;exportState=Py.create();previewLimit=1e3;pressedRunQuery=Py.create();isRunningQuery=!1;isGeneratingPlan=!1;executionResult;isExecutionResultOverflowing=!1;executionDuration;executionTraceId;latestRunHashCode;queryRunPromise=void 0;isQueryUsageViewerOpened=!1;executionError;selectedCells;mousedOverCell=null;isSelectingCells;gridConfig;wavgAggregationState;lineageState;isGeneratingLineage=!1;constructor(e){hd(this,{executionResult:Rc,executionTraceId:Rc,previewLimit:Rc,executionDuration:Rc,latestRunHashCode:Rc,queryRunPromise:Rc,isGeneratingPlan:Rc,selectedCells:Rc,mousedOverCell:Rc,isRunningQuery:Rc,isSelectingCells:Rc,isQueryUsageViewerOpened:Rc,isExecutionResultOverflowing:Rc,gridConfig:Rc,wavgAggregationState:Rc,executionError:Rc,setGridConfig:Pu,setWavgAggregationState:Pu,setIsSelectingCells:Pu,setIsRunningQuery:Pu,setExecutionResult:Pu,setExecutionTraceId:Pu,setExecutionDuration:Pu,setPreviewLimit:Pu,addSelectedCell:Pu,setSelectedCells:Pu,setMouseOverCell:Pu,setQueryRunPromise:Pu,setIsQueryUsageViewerOpened:Pu,setIsExecutionResultOverflowing:Pu,handlePreConfiguredGridConfig:Pu,updatePreviewLimitInConfig:Pu,setExecutionError:Pu,exportData:Ju,runQuery:Ju,cancelQuery:Ju,generatePlan:Ju,generateLineage:Ju}),this.isSelectingCells=!1,this.selectedCells=[],this.gridConfig=void 0,this.queryBuilderState=e,this.executionPlanState=new bXi(this.queryBuilderState.applicationStore,this.queryBuilderState.graphManagerState),this.lineageState=new QXi(this.queryBuilderState.applicationStore)}setGridConfig(e){this.gridConfig=e}setWavgAggregationState(e){this.wavgAggregationState=e}setIsSelectingCells(e){this.isSelectingCells=e}setIsRunningQuery(e){this.isRunningQuery=e}setExecutionResult(e){this.executionResult=e}setExecutionTraceId(e){this.executionTraceId=e}setExecutionDuration(e){this.executionDuration=e}setPreviewLimit(e){this.previewLimit=Math.max(1,e)}addSelectedCell(e){this.selectedCells.some(t=>t.coordinates.rowIndex===e.coordinates.rowIndex&&t.coordinates.colIndex===e.coordinates.colIndex)||this.selectedCells.push(e)}setSelectedCells(e){this.selectedCells=e}setMouseOverCell(e){this.mousedOverCell=e}setQueryRunPromise(e){this.queryRunPromise=e}setIsQueryUsageViewerOpened(e){this.isQueryUsageViewerOpened=e}setExecutionError(e){this.executionError=e}setIsExecutionResultOverflowing(e){this.isExecutionResultOverflowing=e}updatePreviewLimitInConfig(){this.gridConfig&&(this.gridConfig.previewLimit=this.previewLimit)}getExecutionResultLimit=()=>Math.min(this.queryBuilderState.fetchStructureState.implementation instanceof hHi&&this.queryBuilderState.fetchStructureState.implementation.resultSetModifierState.limit?this.queryBuilderState.fetchStructureState.implementation.resultSetModifierState.limit:Number.MAX_SAFE_INTEGER,this.previewLimit);processExecutionResult=e=>{if(this.setIsExecutionResultOverflowing(!1),e instanceof gQ&&this.queryBuilderState.isQuerySupported){const t=this.getExecutionResultLimit();e.result.rows.length>t&&(this.setIsExecutionResultOverflowing(!0),e.result.rows=e.result.rows.slice(0,t))}this.setExecutionResult(e)};processWeightedColumnPairsMap(e){if(e.weightedColumnPairs){const t=e.columns.filter(e=>e.aggFunc===$Xi.WAVG).map(e=>e.colId),n=new Map;e.weightedColumnPairs.forEach(e=>{e[0]&&e[1]&&n.set(e[0],e[1])});for(const e of n.keys())t.includes(e)||n.delete(e);return n}}handlePreConfiguredGridConfig(e){let t;const n=this.processWeightedColumnPairsMap(e);n?(this.wavgAggregationState=new JXi,this.wavgAggregationState.weightedColumnIdPairs=n,t={...e,weightedColumnPairs:n,columns:e.columns}):t={...e,columns:e.columns},e.previewLimit&&this.setPreviewLimit(e.previewLimit),this.setGridConfig(t)}getQueryGridConfig(){if(this.gridConfig)return{...this.gridConfig,columns:this.gridConfig.columns}}get checkForStaleResults(){return this.latestRunHashCode!==this.queryBuilderState.hashCode}buildExecutionRawLambda(e){let t;if(this.queryBuilderState.isQuerySupported){const n=KUi(this.queryBuilderState,{isBuildingExecutionQuery:!0,useTypedRelationFunctions:this.queryBuilderState.isFetchStructureTyped,...e});t=w7(n,this.queryBuilderState.graphManagerState)}else if(t=dr(this.queryBuilderState.unsupportedQueryState.rawLambda,"Lambda is required to execute query"),!this.queryBuilderState.isParameterSupportDisabled)return UUi(t,this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState);return t}*exportData(e){try{this.exportState.inProgress(),this.queryBuilderState.applicationStore.notificationService.notifySuccess(`Export ${e} will run in background`);const t=this.queryBuilderState.fetchStructureState.implementation.getExportDataInfo(e),n=t.contentType,i=t.serializationFormat,r=this.buildExecutionRawLambda({isExportingResult:!0});yvt.logEvent_ExportQueryDataLaunched(this.queryBuilderState.applicationStore.telemetryService);const s=yield this.queryBuilderState.graphManagerState.graphManager.exportData(r,this.queryBuilderState.executionContextState.explicitMappingValue,this.queryBuilderState.executionContextState.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{serializationFormat:i,parameterValues:VUi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState),forceFromExpression:this.queryBuilderState.forceFromExpressionForExec,floatingExecutionElements:this.queryBuilderState.floatingExecutionElements},void 0,n);if("true"===s.headers.get($J))return void(200===s.status?this.exportState.pass():this.exportState.fail());const o=s6(this.queryBuilderState.graphManagerState.graph);ovt(s,`result.${Ch(n)}`,t.contentType).then(()=>{const e=Object.assign({},o,this.queryBuilderState.getStateInfo());yvt.logEvent_ExportQueryDataSucceeded(this.queryBuilderState.applicationStore.telemetryService,e),this.exportState.pass()}).catch(e=>{bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.EXECUTION_FAILURE),e)})}catch(e){this.exportState.fail(),bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.EXECUTION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e),this.exportState.complete()}}*runQuery(){let e;try{this.setIsRunningQuery(!0);const t=this.queryBuilderState.hashCode;this.queryBuilderState.requiresMappingForExecution&&dr(this.queryBuilderState.executionContextState.mapping,"Mapping is required to execute query"),dr(this.queryBuilderState.executionContextState.runtimeValue,"Runtime is required to execute query");const n=this.buildExecutionRawLambda({withDataOverflowCheck:!0}),i=VUi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState);yvt.logEvent_QueryRunLaunched(this.queryBuilderState.applicationStore.telemetryService);const r=new Fy,s=s6(this.queryBuilderState.graphManagerState.graph),o=this.queryBuilderState.executionContextState;e=this.queryBuilderState.graphManagerState.graphManager.runQuery(n,o.explicitMappingValue,o.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{parameterValues:i,convertUnsafeNumbersToString:!0,preservedResponseHeadersList:[WJ],tracingtags:{...this.queryBuilderState.sourceInfo},forceFromExpression:this.queryBuilderState.forceFromExpressionForExec,floatingExecutionElements:this.queryBuilderState.floatingExecutionElements}),this.setQueryRunPromise(e);const a=yield e;if(this.queryRunPromise===e){this.processExecutionResult(a.executionResult),a.executionTraceId&&this.setExecutionTraceId(a.executionTraceId),this.latestRunHashCode=t,this.setExecutionDuration(r.elapsed),s.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(r,s.timings);const e=Object.assign({},s,this.queryBuilderState.getStateInfo());yvt.logEvent_QueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,e)}}catch(t){this.queryRunPromise===e&&(bi(t),this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.EXECUTION_FAILURE),t),this.setExecutionError(t),t instanceof fJ&&t.executionTraceId&&this.setExecutionTraceId(t.executionTraceId))}finally{this.setIsRunningQuery(!1),this.pressedRunQuery.complete()}}*cancelQuery(){this.pressedRunQuery.complete(),this.setIsRunningQuery(!1),this.setQueryRunPromise(void 0);try{yield this.queryBuilderState.graphManagerState.graphManager.cancelUserExecutions(!0)}catch(e){this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.EXECUTION_FAILURE),e)}}*generatePlan(e){try{this.isGeneratingPlan=!0,this.queryBuilderState.requiresMappingForExecution&&dr(this.queryBuilderState.executionContextState.mapping,"Mapping is required to execute query"),dr(this.queryBuilderState.executionContextState.runtimeValue,"Runtime is required to execute query");const t=this.queryBuilderState.buildQuery();let n;const i=new Fy,r=s6(this.queryBuilderState.graphManagerState.graph),s=this.queryBuilderState.executionContextState;if(e){yvt.logEvent_ExecutionPlanDebugLaunched(this.queryBuilderState.applicationStore.telemetryService);const e=yield this.queryBuilderState.graphManagerState.graphManager.debugExecutionPlanGeneration(t,s.explicitMappingValue,s.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.queryBuilderState.forceFromExpressionForExec,floatingExecutionElements:this.queryBuilderState.floatingExecutionElements},r);n=e.plan,this.executionPlanState.setDebugText(e.debug)}else yvt.logEvent_ExecutionPlanGenerationLaunched(this.queryBuilderState.applicationStore.telemetryService),n=yield this.queryBuilderState.graphManagerState.graphManager.generateExecutionPlan(t,s.explicitMappingValue,s.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.queryBuilderState.forceFromExpressionForExec,floatingExecutionElements:this.queryBuilderState.floatingExecutionElements},r);i.record();try{this.executionPlanState.setRawPlan(n);const e=this.queryBuilderState.graphManagerState.graphManager.buildExecutionPlan(n,this.queryBuilderState.graphManagerState.graph);this.executionPlanState.initialize(e)}catch{}i.record(uvt.BUILD_EXECUTION_PLAN__SUCCESS),r.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(i,r.timings);const o=Object.assign({},r,this.queryBuilderState.getStateInfo());e?yvt.logEvent_ExecutionPlanDebugSucceeded(this.queryBuilderState.applicationStore.telemetryService,o):yvt.logEvent_ExecutionPlanGenerationSucceeded(this.queryBuilderState.applicationStore.telemetryService,o)}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.EXECUTION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}finally{this.isGeneratingPlan=!1}}*generateLineage(){if(!this.isGeneratingLineage)try{this.isGeneratingLineage=!0;const e=this.buildExecutionRawLambda(),t=yield this.queryBuilderState.graphManagerState.graphManager.generateLineage(e,this.queryBuilderState.executionContextState.explicitMappingValue,void 0,this.queryBuilderState.graphManagerState.graph,void 0),n=this.queryBuilderState.graphManagerState.graphManager.buildLineage(t);this.lineageState.setLineageData(n)}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.LINEAGE_GENERATION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}finally{this.isGeneratingLineage=!1}}}class tZi{queryBuilderState;rawLambda;lambdaError;constructor(e){hd(this,{rawLambda:Rc,lambdaError:Rc,setRawLambda:Pu,setLambdaError:Pu,hashCode:Oc}),this.queryBuilderState=e}setRawLambda(e){this.rawLambda=e}setLambdaError(e){this.lambdaError=e}get hashCode(){return fv([ayt.UNSUPPORTED_QUERY_STATE,this.rawLambda??""])}}const nZi="QUERY_BUILDER_FUNCTION",iZi=(e,t)=>t===Kb.PROJECT_DEPENDENCY_ROOT?e.functionsExplorerState.dependencyDisplayablePackagesSet:e.functionsExplorerState.displayablePackagesSet,rZi=(e,t,n)=>({id:t.path,label:t.name,childrenIds:t.children.filter(e=>!(e instanceof lC)).filter(t=>t instanceof Q_&&iZi(e,n).has(t)).map(e=>e.path).concat(e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.path)?.map(e=>e.functionPath)??[]),package:t}),sZi=e=>({id:e.functionPath,label:e.name,childrenIds:[],functionAnalysisInfo:e}),oZi=(e,t,n,i=Kb.MAIN)=>{const r=i===Kb.MAIN?e.functionsExplorerState.functionInfoMap:e.functionsExplorerState.dependencyFunctionInfoMap,s=iZi(e,i),o=e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.id)?.map(e=>e.functionPath),a=t.package.children.filter(e=>e instanceof Q_&&s.has(e)).map(e=>e);t.childrenIds=a.map(e=>e.path).concat(o??[]);const l=a.map(t=>rZi(e,t,i)),c=o?.map(e=>r?.get(e)).filter(cr).map(e=>sZi(e));l.concat(c??[]).forEach(e=>{const t=n.nodes.get(e.id);t?(t.childrenIds=e.childrenIds,t.label=e.label):n.nodes.set(e.id,e)})},aZi=(e,t,n=Kb.MAIN)=>{const i=[],r=new Map,s=iZi(t,n);if(n===Kb.PROJECT_DEPENDENCY_ROOT){if(!t.functionsExplorerState.dependencyFunctionInfoMap||0===Array.from(t.functionsExplorerState.dependencyFunctionInfoMap).length)return{rootIds:i,nodes:r}}else if(!t.functionsExplorerState.functionInfoMap||0===Array.from(t.functionsExplorerState.functionInfoMap).length)return{rootIds:i,nodes:r};return e.forEach(e=>{e.children.slice().filter(e=>e instanceof Q_&&s.has(e)).map(e=>e).sort((e,t)=>e.name.localeCompare(t.name)).forEach(e=>{const s=rZi(t,e,n);jr(i,s.id),r.set(s.id,s)})}),{rootIds:i,nodes:r}},lZi=(e,t,n,i=Kb.MAIN)=>(oZi(e,t,n,i),t.childrenIds.map(e=>n.nodes.get(e)).filter(cr).sort(QBe).sort((e,t)=>(t.package?1:0)-(e.package?1:0))),cZi=e=>e.package?(e instanceof Q_?[e]:[]).concat([e.package].concat(cZi(e.package))):[];class uZi{uuid=Mr();queryFunctionsState;functionAnalysisInfo;constructor(e,t){hd(this,{functionAnalysisInfo:Rc}),this.queryFunctionsState=e,this.functionAnalysisInfo=t}}class dZi{initState=Py.create();queryBuilderState;treeData;dependencyTreeData;_functionGraph;functionExplorerStates=[];dependencyFunctionExplorerStates=[];displayablePackagesSet=new Set;dependencyDisplayablePackagesSet=new Set;functionInfoMap;dependencyFunctionInfoMap;packagePathToFunctionInfoMap;constructor(e){hd(this,{functionExplorerStates:Rc.ref,setFunctionExplorerStates:Pu,dependencyFunctionExplorerStates:Rc.ref,setDependencyFunctionExplorerStates:Pu,treeData:Rc.ref,dependencyTreeData:Rc.ref,_functionGraph:Rc,functionInfoMap:Rc,dependencyFunctionInfoMap:Rc,packagePathToFunctionInfoMap:Rc,setFunctionInfoMap:Pu,setDependencyFunctionInfoMap:Pu,setTreeData:Pu,setPackagePathToFunctionInfoMap:Pu,setDependencyTreeData:Pu,refreshTree:Pu,onTreeNodeSelect:Pu,initializeTreeData:Pu}),this.queryBuilderState=e,this._functionGraph=this.queryBuilderState.graphManagerState.createNewGraph()}getTreeData(e=Kb.MAIN){return e===Kb.PROJECT_DEPENDENCY_ROOT?this.dependencyTreeData:this.treeData}setFunctionExplorerStates(e){this.functionExplorerStates=e}setDependencyFunctionExplorerStates(e){this.dependencyFunctionExplorerStates=e}setFunctionInfoMap(e){this.functionInfoMap=e}setDependencyFunctionInfoMap(e){this.dependencyFunctionInfoMap=e}setPackagePathToFunctionInfoMap(e){this.packagePathToFunctionInfoMap=e}async initializeDisplayablePackagesSet(){this.functionInfoMap&&Array.from(this.functionInfoMap.values()).map(e=>rE(this._functionGraph,e.packagePath,void 0)).map(e=>cZi(e)).flat().forEach(e=>this.displayablePackagesSet.add(e))}async initializeDependencyDisplayablePackagesSet(){this.dependencyFunctionInfoMap&&Array.from(this.dependencyFunctionInfoMap.values()).map(e=>rE(this._functionGraph,e.packagePath,void 0)).map(e=>cZi(e)).flat().forEach(e=>this.dependencyDisplayablePackagesSet.add(e))}setTreeData(e){this.treeData=e}setDependencyTreeData(e){this.dependencyTreeData=e}refreshTree(){this.treeData&&(this.treeData={...this.treeData}),this.dependencyTreeData&&(this.dependencyTreeData={...this.dependencyTreeData})}get nonNullableTreeData(){return dr(this.treeData,"Query builder functions explorer tree data has not been initialized")}onTreeNodeSelect=(e,t,n,i=Kb.MAIN)=>{if(t.package)if(t.childrenIds.length&&(t.isOpen=!t.isOpen,oZi(e,t,n,i)),i===Kb.PROJECT_DEPENDENCY_ROOT)this.setDependencyTreeData({...n});else this.setTreeData({...n})};initializeFunctionInfoMap(){const e=new Map,t=new Map;if(IE(this.queryBuilderState.graphManagerState.graph.ownFunctions,this._functionGraph).forEach(t=>e.set(t.functionPath,t)),this.queryBuilderState.graphManagerState.graph.dependencyManager.hasDependencies){const e=this.queryBuilderState.graphManagerState.graph.dependencyManager.functions;IE(e,this._functionGraph).forEach(e=>t.set(e.functionPath,e))}const n=this.queryBuilderState.buildFunctionAnalysisInfo();n&&(Array.from(n.functionInfoMap.entries()).forEach(([t,n])=>e.set(t,n)),Array.from(n.dependencyFunctionInfoMap.entries()).forEach(([e,n])=>{t.set(e,n)}));const i=new Map;Array.from(e.values()).concat(Array.from(t.values())).forEach(e=>{const t=i.get(e.packagePath);t?i.set(e.packagePath,[...t,e]):i.set(e.packagePath,[e])}),this.setPackagePathToFunctionInfoMap(i),this.setFunctionInfoMap(e),this.setDependencyFunctionInfoMap(t)}initializeTreeData(){this.initState.isInInitialState&&(this.initState.inProgress(),this.initializeFunctionInfoMap(),this.initializeDisplayablePackagesSet().catch(()=>{}).finally(()=>{this.setTreeData(aZi([this._functionGraph.root],this.queryBuilderState,Kb.MAIN)),this.setFunctionExplorerStates(this.functionInfoMap?Array.from(this.functionInfoMap.values()).map(e=>new uZi(this,e)):[])}),this.dependencyFunctionInfoMap&&this.initializeDependencyDisplayablePackagesSet().catch(()=>{}).finally(()=>{this.setDependencyTreeData(aZi([this._functionGraph.root],this.queryBuilderState,Kb.PROJECT_DEPENDENCY_ROOT)),this.setDependencyFunctionExplorerStates(this.dependencyFunctionInfoMap?Array.from(this.dependencyFunctionInfoMap.values()).map(e=>new uZi(this,e)):[])}),this.initState.pass())}}class hZi extends zUi{queryBuilderState;selectedParameter;constructor(e){super(),hd(this,{parameterValuesEditorState:Rc,parameterStates:Rc,addParameter:Pu,removeParameter:Pu,setParameters:Pu,selectedParameter:Rc,setSelectedParameter:Pu,hashCode:jl}),this.queryBuilderState=e}get hashCode(){return fv([ayt.PARAMETERS_STATE,fv(this.parameterStates)])}setSelectedParameter(e){this.selectedParameter=e}}class pZi extends rKi{getLabel(){return">"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=Jvt(t);return void 0!==n&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)}isCompatibleWithFilterConditionValue(e){return eyt(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.leftConditionType)}getDefaultFilterConditionValue(e){const t=e.leftConditionType;switch(t.path){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.INTEGER:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.DATE:return vVi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return sKi(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Rvt.IS_AFTER_DAY:Rvt.GREATER_THAN,t)}buildFilterConditionState(e,t){return aKi(e,t,oKi(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Rvt.IS_AFTER_DAY:Rvt.GREATER_THAN,this)}get hashCode(){return fv([ayt.FILTER_OPERATOR_GREATER_THAN])}}class gZi extends rKi{getLabel(){return"starts with"}isCompatibleWithFilterConditionProperty(e){return Jvt(e.leftConditionType)===Xb.STRING}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return void 0!==t&&Jvt(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionType;if(t.path===Xb.STRING)return vVi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return sKi(e,Rvt.STARTS_WITH,t)}buildFilterConditionState(e,t){return aKi(e,t,Rvt.STARTS_WITH,this)}get hashCode(){return fv([ayt.FILTER_OPERATOR_START_WITH])}}class mZi extends gZi{getLabel(){return"doesn't start with"}buildFilterConditionExpression(e,t){return Zvt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Xvt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return fv([ayt.FILTER_OPERATOR_NOT_START_WITH])}}class fZi extends rKi{getLabel(){return">="}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=Jvt(t);return void 0!==n&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)}isCompatibleWithFilterConditionValue(e){return eyt(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.leftConditionType)}getDefaultFilterConditionValue(e){const t=e.leftConditionType;switch(t.path){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.INTEGER:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.DATE:return vVi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return sKi(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Rvt.IS_ON_OR_AFTER_DAY:Rvt.GREATER_THAN_EQUAL,t)}buildFilterConditionState(e,t){return aKi(e,t,oKi(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Rvt.IS_ON_OR_AFTER_DAY:Rvt.GREATER_THAN_EQUAL,this)}get hashCode(){return fv([ayt.FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class vZi extends rKi{getLabel(){return"<="}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=Jvt(t);return void 0!==n&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)}isCompatibleWithFilterConditionValue(e){return eyt(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.leftConditionType)}getDefaultFilterConditionValue(e){const t=e.leftConditionType;switch(t.path){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.INTEGER:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.DATE:return vVi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return sKi(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Rvt.IS_ON_OR_BEFORE_DAY:Rvt.LESS_THAN_EQUAL,t)}buildFilterConditionState(e,t){return aKi(e,t,oKi(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Rvt.IS_ON_OR_BEFORE_DAY:Rvt.LESS_THAN_EQUAL,this)}get hashCode(){return fv([ayt.FILTER_OPERATOR_LESS_THAN_EQUAL])}}class yZi extends rKi{getLabel(){return"<"}isCompatibleWithFilterConditionProperty(e){const t=e.leftConditionType,n=Jvt(t);return void 0!==n&&[Xb.NUMBER,Xb.INTEGER,Xb.DECIMAL,Xb.FLOAT,Xb.DATE,Xb.STRICTDATE,Xb.DATETIME].includes(n)}isCompatibleWithFilterConditionValue(e){return eyt(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.leftConditionType)}getDefaultFilterConditionValue(e){const t=e.leftConditionType;switch(t.path){case Xb.NUMBER:case Xb.DECIMAL:case Xb.FLOAT:case Xb.INTEGER:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.DATE:return vVi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return sKi(e,e.leftConditionType.path===Xb.DATETIME&&e.rightConditionValue?.type?.path!==Xb.DATETIME?Rvt.IS_BEFORE_DAY:Rvt.LESS_THAN,t)}buildFilterConditionState(e,t){return aKi(e,t,oKi(t)===Xb.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==Xb.DATETIME?Rvt.IS_BEFORE_DAY:Rvt.LESS_THAN,this)}get hashCode(){return fv([ayt.FILTER_OPERATOR_LESS_THAN])}}class bZi extends rKi{getLabel(){return"ends with"}isCompatibleWithFilterConditionProperty(e){return Jvt(e.leftConditionType)===Xb.STRING}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return void 0!==t&&Jvt(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionType;if(t.path===Xb.STRING)return vVi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return sKi(e,Rvt.ENDS_WITH,t)}buildFilterConditionState(e,t){return aKi(e,t,Rvt.ENDS_WITH,this)}get hashCode(){return fv([ayt.FILTER_OPERATOR_END_WITH])}}class _Zi extends bZi{getLabel(){return"doesn't end with"}buildFilterConditionExpression(e,t){return Zvt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Xvt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return fv([ayt.FILTER_OPERATOR_NOT_END_WITH])}}class CZi extends rKi{getLabel(){return"contains"}isCompatibleWithFilterConditionProperty(e){return Jvt(e.leftConditionType)===Xb.STRING}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return void 0!==t&&Jvt(t)===Xb.STRING}getDefaultFilterConditionValue(e){const t=e.leftConditionType;if(t.path===Xb.STRING)return vVi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new yi(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return sKi(e,Rvt.CONTAINS,t)}buildFilterConditionState(e,t){return aKi(e,t,Rvt.CONTAINS,this)}get hashCode(){return fv([ayt.FILTER_OPERATOR_CONTAIN])}}class SZi extends CZi{getLabel(){return"doesn't contain"}buildFilterConditionExpression(e,t){return Zvt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Xvt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return fv([ayt.FILTER_OPERATOR_NOT_CONTAIN])}}var wZi;!function(e){e.JSON="JSON",e.GRAMMAR="Grammar"}(wZi||(wZi={}));class EZi{changeDetectionState;initialQuery;currentQuery;mode=wZi.GRAMMAR;initialQueryGrammarText;currentQueryGrammarText;constructor(e,t,n){hd(this,{mode:Rc,initialQueryGrammarText:Rc,currentQueryGrammarText:Rc,setMode:Pu,generateGrammarDiff:Ju}),this.changeDetectionState=e,this.initialQuery=t,this.currentQuery=n}setMode(e){this.mode=e}*generateGrammarDiff(){try{this.initialQueryGrammarText=yield this.changeDetectionState.querybuilderState.graphManagerState.graphManager.lambdaToPureCode(this.initialQuery,!0)}catch(e){bi(e),this.initialQueryGrammarText="/* Failed to transform grammar text, see JSON diff instead */"}try{this.currentQueryGrammarText=yield this.changeDetectionState.querybuilderState.graphManagerState.graphManager.lambdaToPureCode(this.currentQuery,!0)}catch(e){bi(e),this.currentQueryGrammarText="/* Failed to transform grammar text, see JSON diff instead */"}}}class xZi{querybuilderState;initState=Py.create();querySnapshot;hashCodeSnapshot;diffViewState;constructor(e){hd(this,{diffViewState:Rc,querySnapshot:Rc,hashCodeSnapshot:Rc,hasChanged:Oc,initialize:Pu,showDiffViewPanel:Pu,hideDiffViewPanel:Pu}),this.querybuilderState=e}showDiffViewPanel(){this.diffViewState=this.buildQueryBuilderDiffViewState()}buildQueryBuilderDiffViewState(){return ur(this.querySnapshot,"Can't show changes: change detection is not properly initialized"),new EZi(this,this.querySnapshot,this.querybuilderState.buildQuery())}hideDiffViewPanel(){this.diffViewState=void 0}get hasChanged(){return!!this.initState.hasCompleted&&this.querybuilderState.hashCode!==this.hashCodeSnapshot}initialize(e){this.initState.inProgress(),this.hashCodeSnapshot=this.querybuilderState.hashCode,this.querySnapshot=e,this.initState.complete()}alertUnsavedChanges(e){this.hasChanged?this.querybuilderState.applicationStore.alertService.setActionAlertInfo({message:"Unsaved changes will be lost if you continue. Do you still want to proceed?",type:nft.CAUTION,actions:[{label:"Proceed",type:ift.PROCEED_WITH_CAUTION,handler:this.querybuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Abort",type:ift.PROCEED,default:!0}]}):e()}}const TZi=e=>e instanceof TS?`${jb}${e.name}`:e instanceof RS&&e.genericType.value.rawType===V_.STRICTDATE?e.values[0]:e instanceof RS&&e.genericType.value.rawType===V_.LATESTDATE?"%latest":"(unknown)",AZi=(e,t)=>{const n=TE(e,t.graphManagerState.graph);return vse.jsx("div",{className:gle("query-builder__setup__class-option-label",{"query-builder__setup__class-option-label--deprecated":n}),children:vse.jsx("div",{className:"query-builder__setup__class-option-label__name",children:e.name})})},RZi=ule(e=>{const{queryBuilderState:t,classes:n,onClassChange:i,noMatchMessage:r}=e,s=Cmt(),o=QFe({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value.path}),a=n.toSorted((e,t)=>e.name.localeCompare(t.name)).map(e=>({value:e,label:AZi(e,t)})),l=t.sourceClass?{value:t.sourceClass,label:AZi(t.sourceClass,t)}:null;return vse.jsx("div",{className:"query-builder__setup__config-group query-builder__setup__config-group--class",children:vse.jsxs("div",{className:"query-builder__setup__config-group__item",children:[vse.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"entity",htmlFor:"query-builder__setup__class-selector",children:"Entity"}),vse.jsx(ZBe,{inputId:"query-builder__setup__class-selector",className:"panel__content__form__section__dropdown query-builder__setup__config-group__item__selector query-builder__setup__config-group__item__selector__milestoned",placeholder:a.length?"Choose an entity...":r??"No entity found",disabled:a.length<1||1===a.length&&Boolean(l),noMatchMessage:r,options:a,onChange:e=>{e.value!==t.sourceElement&&(t.changeSourceElement(e.value),i?.(e.value))},value:l,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:o,formatOptionLabel:EHi({darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})})}),NZi=e=>({value:e,label:e instanceof n$?e.packageableRuntime.value.name:"custom"}),IZi=e=>function(t){if(t.value instanceof n$){const n=t.value;return EHi(e)(SHi(n.packageableRuntime.value))}return t.value instanceof n$?t.value.packageableRuntime.value.name:vse.jsxs("div",{className:"query-builder__setup__runtime-option--custom",children:[vse.jsx(Ioe,{}),vse.jsx("div",{className:"query-builder__setup__runtime-option--custom__label",children:"custom"})]})},DZi=ule(e=>{const{queryBuilderState:t}=e,n=Cmt(),i=t.graphManagerState.usableClasses,r=t.graphManagerState.usableMappings.map(SHi).sort(QBe),s=t.executionContextState.mapping?SHi(t.executionContextState.mapping):null,o=QFe({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value.path}),a=t.graphManagerState.usableRuntimes.map(e=>new n$(C_.create(e))).map(NZi).sort(QBe),l=t.executionContextState.runtimeValue?NZi(t.executionContextState.runtimeValue):null,c=QFe({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value instanceof n$?e.data.value.packageableRuntime.value.path:"custom"});return vse.jsxs("div",{className:"query-builder__setup__config-group",children:[vse.jsx(CVe,{title:"properties"}),vse.jsxs("div",{className:"query-builder__setup__config-group__content",children:[vse.jsxs("div",{className:"query-builder__setup__config-group__item",children:[vse.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"mapping",htmlFor:"query-builder__setup__mapping-selector",children:"Mapping"}),vse.jsx(ZBe,{inputId:"query-builder__setup__mapping-selector",className:"panel__content__form__section__dropdown query-builder__setup__config-group__item__selector",placeholder:r.length?"Choose a mapping...":"No mapping found",disabled:t.isMappingReadOnly||!t.sourceElement,options:r,onChange:e=>{t.sourceElement&&e.value!==t.executionContextState.mapping&&!t.isMappingReadOnly&&t.changeMapping(e.value)},value:s,darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:o,formatOptionLabel:EHi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),vse.jsxs("div",{className:"query-builder__setup__config-group__item",children:[vse.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"runtime",htmlFor:"query-builder__setup__runtime-selector",children:"Runtime"}),vse.jsx(ZBe,{inputId:"query-builder__setup__runtime-selector",className:"panel__content__form__section__dropdown query-builder__setup__config-group__item__selector",placeholder:a.length?"Choose a runtime...":"No runtime found",disabled:t.isRuntimeReadOnly||!t.sourceElement||!t.executionContextState.mapping,options:a,onChange:e=>{e.value===t.executionContextState.runtimeValue||t.isRuntimeReadOnly||t.changeRuntime(e.value)},value:l,darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:c,formatOptionLabel:IZi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),vse.jsx("div",{className:"query-builder__setup__config-group__item",children:vse.jsx(RZi,{queryBuilderState:t,classes:i})})]})]})}),OZi=ule(e=>{const{queryBuilderState:t,children:n}=e,i=Cmt().pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraTemplateQueryPanelContentRenderer?.()??[]);let r=vse.jsx(vse.Fragment,{});for(const e of i){const n=e(t);if(void 0!==n){r=n;break}}return vse.jsxs("div",{className:gle("query-builder__side-bar",t.sideBarClassName),children:[vse.jsx("div",{"data-testid":CHi.QUERY_BUILDER_SETUP,className:"panel query-builder__setup",children:vse.jsx("div",{className:"panel__content query-builder__setup__content",children:t.TEMPORARY__setupPanelContentRenderer?.()??vse.jsx(DZi,{queryBuilderState:t})})}),vse.jsx("div",{"data-testid":CHi.QUERY_BUILDER_TEMPLATE_QUERY_PANE,className:"query-builder__template-query",children:r}),vse.jsx("div",{className:"query-builder__side-bar__content",children:n})]})});class kZi{milestoningState;stereotype;constructor(e,t){this.milestoningState=e,this.stereotype=t}}class LZi extends kZi{getMilestoningDate(e){return 0===e?this.milestoningState.processingDate:this.milestoningState.businessDate}getMilestoningToolTipText(){return`Processing Date: ${TZi(this.getMilestoningDate(0))}, Business Date: ${TZi(this.getMilestoningDate(1))}`}initializeMilestoningParameters(e){this.milestoningState.processingDate&&!e||this.milestoningState.setProcessingDate(this.milestoningState.buildMilestoningParameter(o_)),this.milestoningState.businessDate&&!e||this.milestoningState.setBusinessDate(this.milestoningState.buildMilestoningParameter(a_))}buildParameterStatesFromMilestoningParameters(){return[this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.businessDate&&this.milestoningState.businessDate instanceof TS?this.milestoningState.businessDate.name:a_),this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.processingDate&&this.milestoningState.processingDate instanceof TS?this.milestoningState.processingDate.name:o_)].filter(cr)}processGetAllParamaters(e){br(3===e.length,"Can't process getAll() expression: when used with a bitemporal milestoned class getAll() expects two parameters"),this.milestoningState.setProcessingDate(e[1]),this.milestoningState.setBusinessDate(e[2])}buildGetAllParameters(e){e.parametersValues.push(dr(this.getMilestoningDate(0),"Milestoning class should have a parameter of type 'Date'")),e.parametersValues.push(dr(this.getMilestoningDate(1),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllWithDefaultParameters(e){const t=pVi(Rvt.NOW,V_.DATETIME);e.parametersValues.push(t),e.parametersValues.push(t)}buildGetAllVersionsInRangeParameters(e){throw new yi("Can't build getAllVersionsInRange() function: expects root class to be business temporal or processing temporal milestoned")}generateMilestoningDate(e,t,n,i,r,s){if(this.initializeMilestoningParameters(),0===r){if(i===n_.PROCESSING_TEMPORAL&&1===s?.parameterValues.length)return new jS(()=>dr(mr(n,US).parametersValues[1]));let o;return e&&n&&!t?o=new jS(()=>dr(n.parametersValues[1])):(o=new jS(()=>dr(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}{if(i===n_.BUSINESS_TEMPORAL&&1===s?.parameterValues.length)return new jS(()=>dr(mr(s.propertyExpression.parametersValues[0],US).parametersValues[1]));let o;return e&&n&&!t?o=new jS(()=>dr(n.parametersValues[2])):(o=new jS(()=>dr(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}}}class MZi extends kZi{getMilestoningDate(){return this.milestoningState.businessDate}getMilestoningToolTipText(){return`Business Date: ${TZi(this.getMilestoningDate())}`}initializeMilestoningParameters(e){this.milestoningState.businessDate&&!e||this.milestoningState.setBusinessDate(this.milestoningState.buildMilestoningParameter(a_))}buildParameterStatesFromMilestoningParameters(){const e=this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.businessDate&&this.milestoningState.businessDate instanceof TS?this.milestoningState.businessDate.name:a_);return e?[e]:[]}processGetAllParamaters(e){br(2===e.length,"Can't process getAll() expression: when used with a milestoned class getAll() expects a parameter"),this.milestoningState.setBusinessDate(e[1])}buildGetAllParameters(e){e.parametersValues.push(dr(this.getMilestoningDate(),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllVersionsInRangeParameters(e){if(!this.milestoningState.startDate||!this.milestoningState.endDate)throw new yi("Can't build getAllVersionsInRange() function: expected both startDate and endDate");e.parametersValues.push(this.milestoningState.startDate),e.parametersValues.push(this.milestoningState.endDate)}buildGetAllWithDefaultParameters(e){const t=pVi(Rvt.NOW,V_.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n,i){if(this.initializeMilestoningParameters(),e&&n&&!t)return i===n_.BUSINESS_TEMPORAL?new jS(()=>dr(n.parametersValues[1])):new jS(()=>dr(n.parametersValues[2]));{const n=new jS(()=>dr(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class PZi extends kZi{getMilestoningDate(){return this.milestoningState.processingDate}getMilestoningToolTipText(){return`Processing Date: ${TZi(this.getMilestoningDate())}`}initializeMilestoningParameters(e){this.milestoningState.processingDate&&!e||this.milestoningState.setProcessingDate(this.milestoningState.buildMilestoningParameter(o_))}buildParameterStatesFromMilestoningParameters(){const e=this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.processingDate&&this.milestoningState.processingDate instanceof TS?this.milestoningState.processingDate.name:o_);return e?[e]:[]}processGetAllParamaters(e){br(2===e.length,"Can't process getAll() expression: when used with a milestoned class getAll() expects a parameter"),this.milestoningState.setProcessingDate(e[1])}buildGetAllParameters(e){e.parametersValues.push(dr(this.getMilestoningDate(),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllVersionsInRangeParameters(e){if(!this.milestoningState.startDate||!this.milestoningState.endDate)throw new yi("Can't build getAllVersionsInRange() function: expected both startDate and endDate");e.parametersValues.push(this.milestoningState.startDate),e.parametersValues.push(this.milestoningState.endDate)}buildGetAllWithDefaultParameters(e){const t=pVi(Rvt.NOW,V_.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n){if(this.initializeMilestoningParameters(),e&&n&&!t)return new jS(()=>dr(n.parametersValues[1]));{const n=new jS(()=>dr(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class FZi{milestoningImplementations=[];queryBuilderState;showMilestoningEditor=!1;businessDate;processingDate;startDate;endDate;constructor(e){hd(this,{processingDate:Rc,businessDate:Rc,startDate:Rc,endDate:Rc,showMilestoningEditor:Rc,setProcessingDate:Pu,setBusinessDate:Pu,setStartDate:Pu,setEndDate:Pu,setShowMilestoningEditor:Pu,clearMilestoningDates:Pu,setAllVersions:Pu,setAllVersionsInRange:Pu,initializeAllVersionsInRangeParameters:Pu,clearAllVersionsInRangeParameters:Pu,clearGetAllParameters:Pu,isAllVersionsEnabled:Oc,isAllVersionsInRangeEnabled:Oc,isMilestonedQuery:Oc,hashCode:Oc}),this.queryBuilderState=e,this.milestoningImplementations.push(new MZi(this,n_.BUSINESS_TEMPORAL)),this.milestoningImplementations.push(new PZi(this,n_.PROCESSING_TEMPORAL)),this.milestoningImplementations.push(new LZi(this,n_.BITEMPORAL))}updateQueryBuilderState(){this.isAllVersionsEnabled&&(this.queryBuilderState.fetchStructureState.implementation instanceof hHi&&this.queryBuilderState.fetchStructureState.implementation.tdsColumns.forEach(e=>{e instanceof kVi?e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof jS&&(e.isPropagatedValue=!1)}):e instanceof BVi&&e.projectionColumnState instanceof kVi&&e.projectionColumnState.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof jS&&(e.isPropagatedValue=!1)})}),this.queryBuilderState.filterState.nodes.forEach(e=>{e instanceof IUi?e.condition.sourceState instanceof SUi&&e.condition.sourceState.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof jS&&(e.isPropagatedValue=!1)}):e instanceof RUi&&e.propertyExpressionState.derivedPropertyExpressionStates[0]&&this.queryBuilderState.sourceClass?._generatedMilestonedProperties.includes(e.propertyExpressionState.derivedPropertyExpressionStates[0].derivedProperty)&&e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof jS&&(e.isPropagatedValue=!1)})}))}get isMilestonedQuery(){return Boolean(this.businessDate??this.processingDate)||this.queryBuilderState.getAllFunction===Avt.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===Avt.GET_ALL_VERSIONS_IN_RANGE}get isCurrentClassMilestoned(){const e=this.queryBuilderState.sourceClass;if(void 0!==e){return void 0!==cE(e,this.queryBuilderState.graphManagerState.graph)}return!1}get isCurrentClassSupportsVersionsInRange(){const e=this.queryBuilderState.sourceClass;if(void 0!==e){const t=cE(e,this.queryBuilderState.graphManagerState.graph);return void 0!==t&&t!==n_.BITEMPORAL}return!1}get isAllVersionsEnabled(){return this.queryBuilderState.getAllFunction===Avt.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===Avt.GET_ALL_VERSIONS_IN_RANGE}get isAllVersionsInRangeEnabled(){return this.queryBuilderState.getAllFunction===Avt.GET_ALL_VERSIONS_IN_RANGE}get isInvalidAllVersionsInRange(){return!!(this.startDate&&!this.endDate||!this.startDate&&this.endDate)}setAllVersionsInRange(e){e?(this.queryBuilderState.setGetAllFunction(Avt.GET_ALL_VERSIONS_IN_RANGE),this.initializeAllVersionsInRangeParameters()):(this.queryBuilderState.setGetAllFunction(Avt.GET_ALL_VERSIONS),this.clearAllVersionsInRangeParameters())}setAllVersions(e){e?(this.queryBuilderState.setGetAllFunction(Avt.GET_ALL_VERSIONS),this.clearGetAllParameters()):(this.queryBuilderState.setGetAllFunction(Avt.GET_ALL),this.clearAllVersionsInRangeParameters(),this.updateMilestoningConfiguration()),this.updateQueryBuilderState()}setStartDate(e){this.startDate=e?Yie(e,this.queryBuilderState.observerContext):e}setEndDate(e){this.endDate=e?Yie(e,this.queryBuilderState.observerContext):e}setShowMilestoningEditor(e){this.showMilestoningEditor=e}getMilestoningImplementation(e){return dr(this.milestoningImplementations.find(t=>t.stereotype===e))}initializeQueryMilestoningParameters(e){this.getMilestoningImplementation(e).initializeMilestoningParameters(!0)}setProcessingDate(e){this.processingDate=e?Yie(e,this.queryBuilderState.observerContext):e}setBusinessDate(e){this.businessDate=e?Yie(e,this.queryBuilderState.observerContext):e}initializeAllVersionsInRangeParameters(){this.setStartDate(this.buildMilestoningParameter(r_)),this.setEndDate(this.buildMilestoningParameter(s_))}clearGetAllParameters(){if(this.businessDate instanceof TS&&!this.queryBuilderState.isVariableUsed(this.businessDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===mr(this.businessDate,TS).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setBusinessDate(void 0)}if(this.processingDate instanceof TS&&!this.queryBuilderState.isVariableUsed(this.processingDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===mr(this.processingDate,TS).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setProcessingDate(void 0)}this.businessDate instanceof RS&&this.setBusinessDate(void 0),this.processingDate instanceof RS&&this.setProcessingDate(void 0)}clearAllVersionsInRangeParameters(){if(this.startDate instanceof TS&&!this.queryBuilderState.isVariableUsed(this.startDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter===this.startDate);e&&this.queryBuilderState.parametersState.removeParameter(e)}if(this.endDate instanceof TS&&!this.queryBuilderState.isVariableUsed(this.endDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter===this.endDate);e&&this.queryBuilderState.parametersState.removeParameter(e)}this.setStartDate(void 0),this.setEndDate(void 0)}clearMilestoningDates(){this.setBusinessDate(void 0),this.setProcessingDate(void 0)}updateMilestoningConfiguration(){const e=this.queryBuilderState.sourceClass;if(void 0!==e){const t=cE(e,this.queryBuilderState.graphManagerState.graph);this.setBusinessDate(void 0),this.setProcessingDate(void 0),t&&this.initializeQueryMilestoningParameters(t)}}buildParameterStateFromMilestoningParameter(e){const t=new TS(e,A_.ONE,j_.create(new X_(V_.DATE))),n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.variableName===e);if(n)return n;if(!this.queryBuilderState.constantState.constants.find(t=>t.variable.name===e)){const e=new GUi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);return e.mockParameterValue(),e}}buildMilestoningParameter(e){const t=new TS(e,A_.ONE,j_.create(new X_(V_.DATE)));if(!this.queryBuilderState.parametersState.parameterStates.find(t=>t.variableName===e)&&!this.queryBuilderState.constantState.constants.find(t=>t.variable.name===e)){const e=new GUi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);e.mockParameterValue(),this.queryBuilderState.parametersState.addParameter(e)}return t}updateMilestoningParameterValue(e,t){if(e instanceof TS){const n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.parameter.name===e.name);n&&n.setValue(t)}}getMilestoningParameterValue(e){let t=e;if(e instanceof TS){const n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.parameter.name===e.name);t=n?.value}return t}isVariableUsed(e){const t=!!this.businessDate&&syt(e,this.businessDate),n=!!this.processingDate&&syt(e,this.processingDate),i=!!this.startDate&&syt(e,this.startDate),r=!!this.endDate&&syt(e,this.endDate);return t||n||i||r}isMilestoningParameter(e){let t=!1;return this.businessDate instanceof TS&&(t=e.name===mr(this.businessDate,TS).name),this.processingDate instanceof TS&&(t=t||e.name===mr(this.processingDate,TS).name),this.startDate instanceof TS&&(t=t||e.name===mr(this.startDate,TS).name),this.endDate instanceof TS&&(t=t||e.name===mr(this.endDate,TS).name),t}get hashCode(){return fv([ayt.MILESTONING_STATE,this.businessDate??"",this.processingDate??""])}}var BZi;!function(e){e.COMPILE="query-builder.compile"}(BZi||(BZi={}));const VZi={[BZi.COMPILE]:{title:"Query Builder: Compile query",defaultKeyboardShortcut:"F9"}};class UZi{queryBuilderState;value;constructor(e){hd(this,{value:Rc,setValue:Pu,hashCode:Oc}),this.queryBuilderState=e}getDefaultValue(){return new RS(j_.create(new X_(V_.STRING)))}setValue(e){this.value=e?Yie(e,this.queryBuilderState.observerContext):void 0}isVariableUsed(e){return!!this.value&&syt(e,this.value)}get hashCode(){return fv([ayt.WATERMARK_STATE,this.value??""])}}class GZi{queryBuilderState;uuid=Mr();variable;constructor(e,t){this.queryBuilderState=e,this.variable=t}get hashCode(){return fv([ayt.CONSTANT_EXPRESSION_STATE,this.variable.name])}buildLetExpression(){const e=new RS(j_.create(new X_(V_.STRING)));e.values=[this.variable.name];const t=new VS(I_(exports.SUPPORTED_FUNCTIONS.LET));return t.parametersValues=[e,this.buildLetAssignmentValue()],t}}class HZi extends GZi{value;constructor(e,t,n){super(e,t),hd(this,{variable:Rc,value:Rc,setValueSpec:Pu,changeValSpecType:Pu}),this.value=Yie(n,this.queryBuilderState.observerContext),Yie(t,this.queryBuilderState.observerContext)}changeValSpecType(e){const t=this.value.genericType?.value.rawType;if(t!==e)try{const t=vVi(this.queryBuilderState.graphManagerState.graph,e,this.queryBuilderState.observerContext,this.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);this.setValueSpec(t)}catch(e){bi(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e.message)}}setValueSpec(e){if(e instanceof TS)throw new vi("Can not assign a parameter to another parameter");this.value=Yie(e,this.queryBuilderState.observerContext);const t=e.genericType?.value.rawType;t&&t!==this.variable.genericType?.value.rawType&&Pvt(this.variable,j_.create(new X_(t)))}buildLetAssignmentValue(){return this.value}get hashCode(){return fv([ayt.CONSTANT_EXPRESSION_STATE,this.variable.name,this.value])}}class zZi extends RVi{queryBuilderState;calculatedState;convertingLambdaToStringState=Py.create();constructor(e){super("",""),hd(this,{calculatedState:Rc,convertingLambdaToStringState:Rc,buildEmptyValueSpec:Rc}),this.calculatedState=e,this.queryBuilderState=e.queryBuilderState}buildEmptyValueSpec(){return this.queryBuilderState.graphManagerState.graphManager.serializeRawValueSpecification(yVi(this.queryBuilderState.graphManagerState,this.queryBuilderState.observerContext))}get lambdaId(){return Eie([pvt.QUERY_BUILDER,pvt.CONSTANT,this.calculatedState.uuid])}*convertLambdaGrammarStringToObject(){if(this.lambdaString)try{this.convertingLambdaToStringState.inProgress();const e=yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToValueSpecification(this.fullLambdaString);this.setParserError(void 0),this.calculatedState.setValue(e)}catch(e){bi(e),e instanceof pJ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.PARSING_FAILURE),e)}finally{this.convertingLambdaToStringState.complete()}else this.clearErrors(),this.calculatedState.setValue(this.buildEmptyValueSpec()),this.convertingLambdaToStringState.complete()}*convertLambdaObjectToGrammarString(e){try{const t=this.calculatedState.value,n=yield this.queryBuilderState.graphManagerState.graphManager.valueSpecificationToPureCode(t,e?.pretty);this.setLambdaString(n),this.clearErrors({preserveCompilationError:e?.preserveCompilationError})}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(XS.PARSING_FAILURE),e)}}}class jZi extends GZi{value;lambdaState;constructor(e,t,n){super(e,t),hd(this,{variable:Rc,lambdaState:Rc,value:Rc,setLambdaState:Pu,setValue:Pu}),this.value=n,this.lambdaState=new zZi(this),Yie(t,this.queryBuilderState.observerContext)}setLambdaState(e){this.lambdaState=e}setValue(e){this.value=e}buildLetAssignmentValue(){return new xS(this.value)}}class WZi{queryBuilderState;showConstantPanel=!1;constants=[];selectedConstant;constructor(e){this.queryBuilderState=e,hd(this,{constants:Rc,showConstantPanel:Rc,selectedConstant:Rc,addConstant:Pu,removeConstant:Pu,setShowConstantPanel:Pu,setSelectedConstant:Pu,convertToCalculated:Pu})}get isEmpty(){return!this.constants.length}setShowConstantPanel(e){this.showConstantPanel=e}addConstant(e){jr(this.constants,e)}removeConstant(e){$r(this.constants,e)}setSelectedConstant(e){this.selectedConstant=e}isValueSpecConstant(e){return e instanceof TS&&Boolean(this.constants.find(t=>t.variable.name===e.name))}convertToCalculated(e){try{const t=this.queryBuilderState.graphManagerState.graphManager.serializeValueSpecification(e.value),n=new jZi(this.queryBuilderState,e.variable,t);br(Wr(this.constants,e,n),"Unable to convert to calculated constant")}catch(e){bi(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}}get hashCode(){return fv([ayt.CONSTANT_STATE,fv(this.constants)])}}var $Zi;!function(e){e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED="data-access-overview.chart.access-granted",e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_APPROVED="data-access-overview.chart.access-approved",e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_REQUESTED="data-access-overview.chart.access-requested",e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_NOT_GRANTED="data-access-overview.chart.access-not-granted",e.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS="data-access-overview.chart.unsupported-access"}($Zi||($Zi={}));class qZi{uuid=Mr();specification;entitlementReport;constructor(e){hd(this,{entitlementReport:Rc,setEntitlementReport:Pu}),this.specification=e}setEntitlementReport(e){this.entitlementReport=e}}class YZi{applicationStore;graphManagerState;initialDatasets;mapping;runtime;graphData;getQuery;surveyDatasetsState=Py.create();checkEntitlementsState=Py.create();datasets=[];constructor(e,t,n){hd(this,{datasets:Rc,entitlementCheckInfo:Oc,fetchDatasetSpecifications:Ju,fetchDatasetEntitlementReports:Ju}),this.applicationStore=e,this.graphManagerState=t,this.initialDatasets=n.initialDatasets,this.datasets=(n.initialDatasets??[]).map(e=>new qZi(e)),this.mapping=n.mapping,this.runtime=n.runtime,this.graphData=n.graphData,this.getQuery=n.getQuery}get entitlementCheckInfo(){const e=this.datasets.length;if(!e)return{total:e,data:[{label:"Access Granted",count:1,percentage:100,color:this.applicationStore.layoutService.getColor($Zi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)}]};const t={total:e,data:[]},n=this.datasets.filter(e=>e.entitlementReport instanceof e1).length,i=Math.round(n/e*100);t.data.push({label:"Access Granted",count:n,percentage:i,color:this.applicationStore.layoutService.getColor($Zi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)});const r=this.datasets.filter(e=>e.entitlementReport instanceof i1).length,s=Math.round(r/e*100);t.data.push({label:"Access Approved",count:r,percentage:s,color:this.applicationStore.layoutService.getColor($Zi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_APPROVED)});const o=this.datasets.filter(e=>e.entitlementReport instanceof n1).length,a=Math.round(o/e*100);t.data.push({label:"Access Requested",count:o,percentage:a,color:this.applicationStore.layoutService.getColor($Zi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_REQUESTED)});const l=this.datasets.filter(e=>e.entitlementReport instanceof t1).length,c=Math.round(l/e*100);t.data.push({label:"Access Not Granted",count:l,percentage:c,color:this.applicationStore.layoutService.getColor($Zi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_NOT_GRANTED)});const u=this.datasets.filter(e=>e.entitlementReport instanceof r1).length,d=Math.round(u/e*100);t.data.push({label:"Unsupported",count:u,percentage:d,color:this.applicationStore.layoutService.getColor($Zi.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS)});const h=e-n-r-o-l-u,p=Math.round(h/e*100);t.data.push({label:"Unknown",count:h,percentage:p,color:this.applicationStore.layoutService.getColor($Zi.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS)});let g=0;for(let e=0;e<t.data.length;++e){const n=Gr(t.data,e);if(g+n.percentage>=100){n.percentage=100-g,t.data=t.data.slice(0,e+1);break}g+=n.percentage}return t}*fetchDatasetSpecifications(){this.surveyDatasetsState.inProgress();try{const e=yield this.graphManagerState.graphManager.surveyDatasets(this.mapping,this.runtime,yield this.getQuery(),this.graphData);this.datasets=e.map(e=>{const t=this.datasets.find(t=>t.specification.hashCode===e.hashCode);return t||new qZi(e)})}catch(e){bi(e),this.applicationStore.notificationService.notifyError(e)}finally{this.surveyDatasetsState.complete()}}*fetchDatasetEntitlementReports(){this.checkEntitlementsState.inProgress();try{const e=yield this.graphManagerState.graphManager.checkDatasetEntitlements(this.datasets.map(e=>e.specification),this.mapping,this.runtime,yield this.getQuery(),this.graphData);this.datasets.forEach(t=>{const n=e.find(e=>e.dataset.hashCode===t.specification.hashCode);n?t.setEntitlementReport(n):t.setEntitlementReport(void 0)});const t=[];e.forEach(e=>{if(!this.datasets.find(t=>t.specification.hashCode===e.dataset.hashCode)){const n=new qZi(e.dataset);n.setEntitlementReport(e),t.push(n)}}),this.datasets=this.datasets.concat(t)}catch(e){bi(e),this.applicationStore.notificationService.notifyError(e)}finally{this.checkEntitlementsState.complete()}}async intialize(){this.initialDatasets||await this.fetchDatasetSpecifications(),await this.fetchDatasetEntitlementReports()}async refresh(){await this.fetchDatasetSpecifications(),await this.fetchDatasetEntitlementReports()}}class KZi{queryBuilderState;dataAccessState;showCheckEntitlementsViewer=!1;constructor(e){hd(this,{showCheckEntitlementsViewer:Rc,dataAccessState:Rc,setShowCheckEntitlementsViewer:Pu,hashCode:Oc}),this.queryBuilderState=e}setShowCheckEntitlementsViewer(e){this.showCheckEntitlementsViewer=e,this.dataAccessState=void 0,this.queryBuilderState.executionContextState.mapping&&this.queryBuilderState.executionContextState.runtimeValue instanceof n$&&(this.dataAccessState=new YZi(this.queryBuilderState.applicationStore,this.queryBuilderState.graphManagerState,{mapping:this.queryBuilderState.executionContextState.mapping.path,runtime:this.queryBuilderState.executionContextState.runtimeValue.packageableRuntime.value.path,getQuery:async()=>this.createExecutableQuery(this.queryBuilderState.buildQuery(),this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState),graphData:this.queryBuilderState.getGraphData()}))}createExecutableQuery(e,t,n){if(t.length>0){const i=PUi(n.graph,t),r=w7(i,n);if(Array.isArray(e.body)&&Array.isArray(r.body))return r.body=[...r.body,...e.body],r}return e}get hashCode(){return fv([ayt.CHECK_ENTITLEMENTS_STATE,this.showCheckEntitlementsViewer])}}class XZi{queryBuilderState;initState=Py.create();querySnapshotBuffer=[];currentQuery;pointer=-1;bufferSize=10;constructor(e){hd(this,{currentQuery:Rc,pointer:Rc,querySnapshotBuffer:Rc,initialize:Pu,undo:Pu,redo:Pu,setCurrentQuery:Pu,cacheNewQuery:Pu,canRedo:Oc,canUndo:Oc}),this.queryBuilderState=e}get canRedo(){return this.pointer<this.querySnapshotBuffer.length-1}get canUndo(){return this.pointer>0}redo(){if(this.canRedo){this.pointer=this.pointer+1;const e=this.querySnapshotBuffer[this.pointer];this.setCurrentQuery(e),this.queryBuilderState.rebuildWithQuery(dr(e),{preserveParameterValues:!0,preserveResult:!0})}}undo(){if(this.canUndo){this.pointer=this.pointer-1;const e=this.querySnapshotBuffer[this.pointer];this.setCurrentQuery(e),this.queryBuilderState.rebuildWithQuery(dr(e),{preserveParameterValues:!0,preserveResult:!0})}}setCurrentQuery(e){this.currentQuery=e}initialize(e){this.queryBuilderState.isQuerySupported&&(this.initState.inProgress(),this.currentQuery=e,this.querySnapshotBuffer.push(e),this.pointer=this.pointer+1,this.initState.complete())}cacheNewQuery(e){try{this.queryBuilderState.isQuerySupported&&e.hashCode!==this.currentQuery?.hashCode&&(this.querySnapshotBuffer.length===this.bufferSize&&this.pointer===this.querySnapshotBuffer.length-1?this.querySnapshotBuffer=this.querySnapshotBuffer.slice(1):this.querySnapshotBuffer=this.querySnapshotBuffer.slice(0,this.pointer+1),this.querySnapshotBuffer.push(e),this.pointer=this.querySnapshotBuffer.length-1,this.setCurrentQuery(e))}catch(e){bi(e),this.queryBuilderState.applicationStore.logService.error(Hy.create(uvt.CHANGE_HISTORY_ERROR),`Can't cache query in query builder change history buffer: ${e.message}`)}}}class ZZi{static INSTANCE=new ZZi}class QZi{actionConfig=ZZi.INSTANCE;updateActionConfig(e){this.actionConfig=e}}class JZi extends QZi{get showStatusBar(){return!0}getFetchStructureLayoutConfig(e){return{label:"fetch structure",showInFetchPanel:!0}}static INSTANCE=new JZi}class eQi extends QZi{get showStatusBar(){return!1}getFetchStructureLayoutConfig(e){return{label:e.fetchStructureState.implementation.fetchLabel,showInFetchPanel:!1}}static INSTANCE=new eQi}class tQi extends Obt{mapping;runtime}class nQi extends yCt{logService=new zy;graphState;queryBuilderState;selectInitialQuery;mappingPath;parameterValues;runtimePath;parameters;letFuncsRawLambda;constructor(e,t,n,i,r,s,o){super(),this.graphState=r,this.queryBuilderState=s,this.selectInitialQuery=e,this.mappingPath=n,this.runtimePath=i,this.parameterValues=t,this.parameters=e.parameters,this.letFuncsRawLambda=o}finalizeTimingRecord(e,t){if(this.queryBuilderState)return this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(e,t)}getDataFromSource(e){return e instanceof tQi?{query:{mapping:e.mapping,runtime:e.runtime},sourceType:"queryBuilder"}:{}}async processSource(e){const t=this.getSourceFunctionExpression(),n=new tQi;return n.columns=(await this.getRelationType(this.selectInitialQuery)).columns,n.mapping=this.mappingPath,n.runtime=this.runtimePath,n.query=t,n}async parseValueSpecification(e,t){return eI(await this.graphState.graphManager.pureCodeToValueSpecification(e,t),[])}async getValueSpecificationCode(e,t){return this.graphState.graphManager.valueSpecificationToPureCode(tI(e,[]),t)}async getQueryTypeahead(e,t,n){const i=this.buildRawLambdaFromValueSpec(t),r=await this.graphState.graphManager.lambdaToPureCode(i),s=r.length,o=r+e,a=o.substring(o.indexOf(Hb)+1,o.length);return(await this.graphState.graphManager.getCodeComplete(a,this.graphState.graph,s)).completions}async getQueryRelationReturnType(e,t){return this.getRelationType(this.buildRawLambdaFromValueSpec(e))}async getQueryCodeRelationReturnType(e,t,n){const i=await this.graphState.graphManager.valueSpecificationToPureCode(tI(t,[]))+e;return this.getRelationType(await this.graphState.graphManager.pureCodeToLambda(i))}async executeQuery(e,t){const n=new Fy,i=this.buildRawLambdaFromValueSpec(e);this.letFuncsRawLambda&&Array.isArray(i.body)&&Array.isArray(this.letFuncsRawLambda.body)&&(i.body=[...this.letFuncsRawLambda.body,...i.body]),i.parameters=this.letFuncsRawLambda?this.letFuncsRawLambda.parameters:this.parameters;const[r,s]=await Promise.all([this.graphState.graphManager.runQuery(i,void 0,void 0,this.graphState.graph,{parameterValues:this.parameterValues??[]}),this.graphState.graphManager.lambdaToPureCode(i)]),o=n.elapsed,a=mr(r.executionResult,gQ,"Query returned expected to be of tabular data set");if(this.queryBuilderState){const e=s6(this.graphState.graph);e.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(n,e.timings);const t=Object.assign({},e,this.queryBuilderState.getStateInfo());yvt.logEvent_EmbeddedDataCubeQueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,t)}return{result:a,executedQuery:s,executedSQL:a.activities?.at(-1)instanceof rQ?a.activities.at(-1).sql:void 0,executionTime:o}}buildExecutionContext(e){if(e instanceof tQi){return Boolean(e.mapping??e.runtime)?Hbt(exports.DataCubeFunction.FROM,[e.mapping?Wbt(e.mapping):void 0,e.runtime?Wbt(e.runtime):void 0].filter(cr)):void 0}}sendTelemetry(e,t){this.queryBuilderState?.applicationStore.telemetryService.logEvent(e,t)}buildRawLambdaFromValueSpec(e){const t=mr(CI(tI(e,[])),kx);return new SS(t.parameters,t.body)}getSourceFunctionExpression(){let e=eI(this.graphState.graphManager.serializeRawValueSpecification(this.selectInitialQuery),[]);return e instanceof ST&&1===e.body.length&&e.body[0]&&(e=e.body[0]),e}async generateInitialSpecification(){const e=(await this.getRelationType(this.selectInitialQuery)).columns,t=new Dbt;return t.query=`~[${e.map(e=>`'${e.name}'`)}]->select()`,t}async getRelationType(e){return await this.graphState.graphManager.getLambdaRelationType(e,this.graphState.graph)}}class iQi{specification;engine;constructor(e,t){this.specification=e,this.engine=t}}var rQi;!function(e){e.STANDARD="STANDARD",e.TYPED_FETCH_STRUCTURE="TYPED_FETCH_STRUCTURE"}(rQi||(rQi={}));class sQi{applicationStore;graphManagerState;changeDetectionState;queryCompileState=Py.create();observerContext;config;workflowState;explorerState;functionsExplorerState;parametersState;constantState;milestoningState;fetchStructureState;filterState;watermarkState;checkEntitlementsState;filterOperators=(()=>[new lKi,new cKi,new yZi,new vZi,new pZi,new fZi,new gZi,new mZi,new CZi,new SZi,new bZi,new _Zi,new uKi,new dKi,new hKi,new pKi])();resultState;textEditorState;unsupportedQueryState;changeHistoryState;showFunctionsExplorerPanel=!1;showParametersPanel=!1;isEditingWatermark=!1;isCheckingEntitlments=!1;isCalendarEnabled=!1;isLocalModeEnabled=!1;dataCubeViewerState;INTERNAL__enableInitializingDefaultSimpleExpressionValue=!1;lambdaWriteMode=rQi.STANDARD;sourceElement;getAllFunction=Avt.GET_ALL;executionContextState;internalizeState;sourceInfo;TEMPORARY__setupPanelContentRenderer;constructor(e,t,n,i,r){hd(this,{explorerState:Rc,parametersState:Rc,constantState:Rc,functionsExplorerState:Rc,fetchStructureState:Rc,filterState:Rc,watermarkState:Rc,milestoningState:Rc,checkEntitlementsState:Rc,resultState:Rc,textEditorState:Rc,unsupportedQueryState:Rc,showFunctionsExplorerPanel:Rc,showParametersPanel:Rc,isEditingWatermark:Rc,isCheckingEntitlments:Rc,isCalendarEnabled:Rc,changeDetectionState:Rc,changeHistoryState:Rc,executionContextState:Rc,sourceElement:Rc,isLocalModeEnabled:Rc,dataCubeViewerState:Rc,getAllFunction:Rc,lambdaWriteMode:Rc,INTERNAL__enableInitializingDefaultSimpleExpressionValue:Rc,sideBarClassName:Oc,sourceClass:Oc,sourceAccessor:Oc,sourceRelationType:Oc,isQuerySupported:Oc,allValidationIssues:Oc,canBuildQuery:Oc,useRelation:Oc,setShowFunctionsExplorerPanel:Pu,setShowParametersPanel:Pu,setIsEditingWatermark:Pu,setIsCalendarEnabled:Pu,setDataCubeViewerState:Pu,openDataCubeEngine:Pu,setIsCheckingEntitlments:Pu,setSourceElement:Pu,setIsLocalModeEnabled:Pu,setGetAllFunction:Pu,setLambdaWriteMode:Pu,setINTERNAL__enableInitializingDefaultSimpleExpressionValue:Pu,TEMPORARY_initializeExecContext:Pu,resetQueryResult:Pu,resetQueryContent:Pu,changeSourceElement:Pu,changeMapping:Pu,changeRuntime:Pu,setExecutionContextState:Pu,rebuildWithQuery:Pu,compileQuery:Ju,hashCode:Oc}),this.applicationStore=e,this.graphManagerState=t,this.executionContextState=this.TEMPORARY_initializeExecContext(Boolean(i?.enableTypedTDS)),this.milestoningState=new FZi(this),this.explorerState=new Ezi(this),this.parametersState=new hZi(this),this.constantState=new WZi(this),this.functionsExplorerState=new dZi(this),this.fetchStructureState=new cji(this),this.filterState=new OUi(this,this.filterOperators),this.watermarkState=new UZi(this),this.checkEntitlementsState=new KZi(this),this.resultState=new eZi(this),this.textEditorState=new hji(this),this.unsupportedQueryState=new tZi(this),this.observerContext=new f7(this.graphManagerState.pluginManager.getPureGraphManagerPlugins()),this.changeDetectionState=new xZi(this),this.changeHistoryState=new XZi(this),this.config=i,this.workflowState=n,this.sourceInfo=r}TEMPORARY_initializeExecContext(e){if(e){const e=new WUi(this);return this.setLambdaWriteMode(rQi.TYPED_FETCH_STRUCTURE),e}return new $Ui(this)}get useRelation(){return this.sourceElement instanceof Rq||this.isFetchStructureTyped}get isMappingReadOnly(){return!1}get isRuntimeReadOnly(){return!1}get sideBarClassName(){}get isParameterSupportDisabled(){return!1}get isResultPanelHidden(){return!1}get floatingExecutionElements(){}get TEMPORARY__isDnDFetchStructureToFilterSupported(){return!0}get allVariables(){return[...this.parametersState.parameterStates.map(e=>e.parameter),...this.constantState.constants.map(e=>e.variable)]}get allVariableNames(){return this.allVariables.map(e=>e.name)}get isFetchStructureTyped(){return this.lambdaWriteMode===rQi.TYPED_FETCH_STRUCTURE}get forceFromExpressionForExec(){return this.isFetchStructureTyped}get requiresMappingForExecution(){return!0}setLambdaWriteMode(e){this.lambdaWriteMode=e}getQueryExecutionContext(){const e=new BQ,t=mr(this.executionContextState.runtimeValue,n$,"Query runtime must be of type runtime pointer");return ur(this.executionContextState.mapping,"Query required mapping to update"),e.mapping=C_.create(this.executionContextState.mapping),e.runtime=t.packageableRuntime,e}async propagateExecutionContextChange(e){const t=this.applicationStore.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraQueryBuilderPropagateExecutionContextChangeHelper?.()??[]);for(const n of t){const t=n(this,e);if(t)return void await t()}}getStateInfo(){if(this.sourceInfo){const e=this.sourceClass?.path,t=this.executionContextState.mapping?.path,n=this.executionContextState.runtimeValue instanceof n$?this.executionContextState.runtimeValue.packageableRuntime.value.path:void 0;if(e&&t&&n){const i={class:e,mapping:t,runtime:n};return Object.assign({},this.sourceInfo,i)}}}setIsLocalModeEnabled(e){this.isLocalModeEnabled=e}setDataCubeViewerState(e){this.dataCubeViewerState=e}setInternalize(e){this.internalizeState=e}setShowFunctionsExplorerPanel(e){this.showFunctionsExplorerPanel=e}setShowParametersPanel(e){this.showParametersPanel=e}setIsEditingWatermark(e){this.isEditingWatermark=e}setIsCheckingEntitlments(e){this.isCheckingEntitlments=e}setIsCalendarEnabled(e){this.isCalendarEnabled=e}get sourceClass(){return this.sourceElement instanceof Rq?void 0:this.sourceElement}get sourceAccessor(){return this.sourceElement instanceof Rq?this.sourceElement:void 0}get sourceRelationType(){return this.sourceAccessor?.relationType}setSourceElement(e){this.sourceElement=e}setExecutionContextState(e){this.executionContextState=e}setGetAllFunction(e){this.getAllFunction=e}setINTERNAL__enableInitializingDefaultSimpleExpressionValue(e){this.INTERNAL__enableInitializingDefaultSimpleExpressionValue=e}get isQuerySupported(){return!this.unsupportedQueryState.rawLambda}async openDataCubeEngine(){try{yvt.logEvent_EmbeddedDataCubeLaunched(this.applicationStore.telemetryService),this.setDataCubeViewerState(await(async e=>{const t=e.executionContextState.runtimeValue instanceof n$?e.executionContextState.runtimeValue.packageableRuntime.value.path:void 0;if(!t)return;const n=e.executionContextState.mapping?.path,i=e.lambdaWriteMode;e.setLambdaWriteMode(rQi.TYPED_FETCH_STRUCTURE);const r=VUi(e.parametersState.parameterStates,e.graphManagerState),s=e.buildQuery(),o=new nQi(s,r,n,t,e.graphManagerState,e);e.setLambdaWriteMode(i);const a=await o.generateInitialSpecification();return new iQi(a,o)})(this))}catch(e){bi(e),this.applicationStore.notificationService.notifyError("Unable to open data cube in query builder")}}registerCommands(){this.applicationStore.commandService.registerCommand({key:BZi.COMPILE,action:()=>{this.compileQuery().catch(this.applicationStore.alertUnhandledError)}})}isVariableUsed(e,t){const n=this.filterState.isVariableUsed(e)||this.watermarkState.isVariableUsed(e)||this.fetchStructureState.implementation.isVariableUsed(e);return t?.exculdeMilestoningState?n:this.milestoningState.isVariableUsed(e)||n}deregisterCommands(){[BZi.COMPILE].forEach(e=>this.applicationStore.commandService.deregisterCommand(e))}resetQueryResult(e){const t=new eZi(this);t.setPreviewLimit(this.resultState.previewLimit),e?.preserveResult&&(t.setExecutionResult(this.resultState.executionResult),t.setExecutionDuration(this.resultState.executionDuration),t.latestRunHashCode=this.resultState.latestRunHashCode),e?.gridConfig&&(this.isLocalModeEnabled=!0,t.handlePreConfiguredGridConfig(e.gridConfig)),this.resultState=t}resetQueryContent(){this.textEditorState=new hji(this),this.unsupportedQueryState=new tZi(this),this.milestoningState=new FZi(this);const e=this.explorerState.mappingModelCoverageAnalysisResult;this.explorerState=new Ezi(this),e&&(this.explorerState.mappingModelCoverageAnalysisResult=e),this.explorerState.refreshTreeData(),this.constantState=new WZi(this),this.functionsExplorerState=new dZi(this),this.parametersState=new hZi(this),this.filterState=new OUi(this,this.filterOperators),this.watermarkState=new UZi(this),this.checkEntitlementsState=new KZi(this),this.isCalendarEnabled=!1;const t=this.fetchStructureState.implementation.type;this.fetchStructureState=new cji(this),t!==this.fetchStructureState.implementation.type&&this.fetchStructureState.changeImplementation(t)}changeSourceElement(e){this.resetQueryResult(),this.resetQueryContent(),this.setGetAllFunction(Avt.GET_ALL),this.setSourceElement(e),this.explorerState.refreshTreeData(),this.fetchStructureState.implementation.onClassChange(),this.milestoningState.updateMilestoningConfiguration(),this.changeHistoryState.cacheNewQuery(this.buildQuery())}changeMapping(e,t){this.resetQueryResult(),t?.keepQueryContent||(this.resetQueryContent(),this.setGetAllFunction(Avt.GET_ALL),this.milestoningState.updateMilestoningConfiguration()),this.executionContextState.setMapping(e)}changeRuntime(e){this.resetQueryResult(),this.executionContextState.setRuntimeValue(e)}getCurrentParameterValues(){if(this.parametersState.parameterStates.length){const e=new Map;return this.parametersState.parameterStates.forEach(t=>{const n=t.value;n&&e.set(t.variableName,n)}),e}}getGridConfig(){if(this.isLocalModeEnabled&&this.resultState.gridConfig)return this.resultState.getQueryGridConfig()}buildQuery(e){if(!this.isQuerySupported){const e=this.parametersState.parameterStates.map(e=>this.graphManagerState.graphManager.serializeValueSpecification(e.parameter));return this.unsupportedQueryState.setRawLambda(new SS(e,this.unsupportedQueryState.rawLambda?.body)),dr(this.unsupportedQueryState.rawLambda)}return w7(KUi(this,{keepSourceInformation:Boolean(e?.keepSourceInformation),useTypedRelationFunctions:this.isFetchStructureTyped}),this.graphManagerState)}buildQueryForPersistence(){return this.buildQuery()}buildFromQuery(){br(this.isQuerySupported,"Query must be supported to build from function");const e=dr(this.executionContextState.mapping,"Mapping required to build from() function"),t=dr(this.executionContextState.runtimeValue,"Runtime required to build from query"),n=mr(t,n$).packageableRuntime,i=((e,t,n)=>{const i=dr(e.expressionSequence[0]),r=new VS(I_(exports.SUPPORTED_FUNCTIONS.FROM)),s=new AS(A_.ONE,void 0);s.values=[C_.create(t)];const o=new AS(A_.ONE,void 0);return o.values=[C_.create(n)],r.parametersValues=[i,s,o],e.expressionSequence=[r],e})(KUi(this),e,n.value);return w7(i,this.graphManagerState)}buildExecutionContextExpression(e){return((e,t)=>{if(e instanceof WUi){const n=dr(t.expressionSequence[0],"Can't build from() expression: preceding expression is not defined"),i=new VS(I_(exports.SUPPORTED_FUNCTIONS.FROM)),r=e.mapping;let s;r&&(s=new AS(A_.ONE,void 0),s.values=[C_.create(r)]);const o=e.runtimeValue;let a;o instanceof n$&&(a=new AS(A_.ONE,void 0),a.values=[o.packageableRuntime]),i.parametersValues=[n,s,a].filter(cr),t.expressionSequence[0]=i}return t})(this.executionContextState,e)}getQueryReturnType(){return this.fetchStructureState.implementation instanceof hHi?this.useRelation?this.graphManagerState.graph.getType(xvt.RELATION):this.graphManagerState.graph.getClass(xvt.TDS_TABULAR_DATASET):V_.STRING}initializeWithQuery(e,t,n){this.rebuildWithQuery(e,{defaultParameterValues:t}),this.resetQueryResult({gridConfig:n}),this.changeDetectionState.initialize(e),this.changeHistoryState.initialize(e)}rebuildWithQuery(e,t){let n;try{const i=new Map;if(t?.preserveParameterValues?(this.parametersState.parameterStates.forEach(e=>{i.set(e.parameter.name,{variable:e.parameter,value:e.value})}),n=i):t?.defaultParameterValues?.size&&(Array.from(t.defaultParameterValues.entries()).forEach(([e,t])=>{i.set(e,{variable:e,value:t})}),n=i),this.resetQueryResult({preserveResult:t?.preserveResult}),this.resetQueryContent(),!bW(e)){const t=Yie(this.graphManagerState.graphManager.buildValueSpecification(this.graphManagerState.graphManager.serializeRawValueSpecification(e),this.graphManagerState.graph),this.observerContext),i=mr(t,zS,"Can't build query state: query builder only support lambda");_Qi(dr(i.values[0]),this,{parameterValues:n})}this.parametersState.parameterStates.filter(e=>!this.milestoningState.isMilestoningParameter(e.parameter)).length>0&&this.setShowParametersPanel(!0),this.fetchStructureState.initializeWithQuery()}catch(s){bi(s),this.applicationStore.logService.error(Hy.create(uvt.UNSUPPORTED_QUERY_LAUNCH),s),this.resetQueryResult({preserveResult:t?.preserveResult}),this.resetQueryContent(),this.unsupportedQueryState.setLambdaError(s),this.unsupportedQueryState.setRawLambda(e),this.setSourceElement(void 0);const o=(i=e,r=this.graphManagerState,(i.parameters??[]).map(e=>r.graphManager.buildValueSpecification(e,r.graph))).map(e=>Yie(e,this.observerContext)).filter(pr(TS));bQi(o,this,{parameterValues:n})}var i,r}*compileQuery(){if(this.textEditorState.mode){if(this.textEditorState.mode===dji.TEXT){this.queryCompileState.inProgress();try{this.textEditorState.setCompilationError(void 0),yield this.graphManagerState.graphManager.getLambdaReturnType(this.textEditorState.rawLambdaState.lambda,this.graphManagerState.graph,{keepSourceInformation:!0}),this.applicationStore.notificationService.notifySuccess("Compiled successfully")}catch(e){if(bi(e),e instanceof gJ){this.applicationStore.logService.error(Hy.create(XS.COMPILATION_FAILURE),e),this.applicationStore.notificationService.notifyWarning(`Compilation failed: ${e.message}`,e.trace);wie(e.sourceInformation)&&this.textEditorState.setCompilationError(e)}}finally{this.queryCompileState.complete()}}}else{this.queryCompileState.inProgress(),this.fetchStructureState.implementation.clearCompilationError();try{this.textEditorState.setCompilationError(void 0),yield this.graphManagerState.graphManager.getLambdaReturnType(this.buildQuery({keepSourceInformation:!0}),this.graphManagerState.graph,{keepSourceInformation:!0}),this.applicationStore.notificationService.notifySuccess("Compiled successfully")}catch(e){bi(e),this.applicationStore.logService.error(Hy.create(XS.COMPILATION_FAILURE),e);let t=!0;e instanceof gJ&&e.sourceInformation&&(t=!this.fetchStructureState.implementation.revealCompilationError(e)),t?(this.applicationStore.notificationService.notifyWarning("Compilation failed and error cannot be located in form mode. Redirected to text mode for debugging."),this.textEditorState.openModal(dji.TEXT)):this.applicationStore.notificationService.notifyWarning(`Compilation failed: ${e.message}`)}finally{this.queryCompileState.complete()}}}get allValidationIssues(){return this.fetchStructureState.implementation.allValidationIssues.concat(this.filterState.allValidationIssues)}get canBuildQuery(){return!(this.filterState.hasInvalidFilterValues||this.filterState.hasInvalidDerivedPropertyParameters||this.fetchStructureState.implementation.hasInvalidFilterValues||this.fetchStructureState.implementation.hasInvalidDerivedPropertyParameters)}buildFunctionAnalysisInfo(){}getGraphData(){return new u6(this.graphManagerState.graph)}INTERNAL__toBasicQueryBuilderState(){const e=new oQi(this.applicationStore,this.graphManagerState,this.workflowState,void 0);return e.sourceElement=this.sourceElement,e.executionContextState.mapping=this.executionContextState.mapping,e.executionContextState.runtimeValue=this.executionContextState.runtimeValue,e}get hashCode(){return fv([ayt.QUERY_BUILDER_STATE,this.unsupportedQueryState,this.milestoningState,this.parametersState,this.filterState,this.watermarkState,this.checkEntitlementsState,this.fetchStructureState.implementation])}}class oQi extends sQi{}class aQi{queryBuilderState;binding;inputData;constructor(e,t,n){this.queryBuilderState=n,this.binding=e,this.inputData=t}}const lQi=(e,t,n)=>{t.fetchStructureState.changeImplementation(QVi.GRAPH_FETCH),br(2===e.parametersValues.length||3===e.parametersValues.length,"Can't process serialize() expression: serialize() expects 1 or 2 argument");const i=mr(e.parametersValues[0],VS,"Can't process serialize() expression: only support serialize() immediately following an expression");if(br(k_(i.functionName,[Rvt.GRAPH_FETCH,Rvt.GRAPH_FETCH_CHECKED]),"Can't process serialize() expression: only support serialize() in graph-fetch expression"),yQi.process(i,n,t),t.fetchStructureState.implementation instanceof aji){const n=t.fetchStructureState.implementation,i=mr(e.parametersValues[1],KS,"Can't process serialize() expression: serialize() graph-fetch is missing"),r=mr(i.values[0],$S,"Can't process serialize() expression: serialize() graph-fetch tree root is missing");br(0===r.subTypeTrees.length,"Can't process serialize() expression: subTypeTree is not supported."),n.setGraphFetchTree(qzi(r));const s=e.parametersValues[2];if(s){const e=mr(s,VS,"Can't process serialize() expression: serialize() function expects a function to configure custom serialization");br(k_(e.functionName,[exports.SUPPORTED_FUNCTIONS.NEW]),"Can't process serialize() expression: config expects 'new' function instaniate new config class");const t=mr(n.serializationState,sji,"Can't process serialize() expression: serialization state expected to be of type pure with serialize()"),i=mr(mr(mr(e.parametersValues[0],AS,"Can't process serialize() expression: serialization config expects first param to be an instance value").values[0],__,"Can't process serialize() expression: serialization config expects first param to be a packageable element").value,Z_,"Can't process serialize() expression: serialization config expects first param to be a class");br(i.path===xvt.SERIALIZE_CONFIG,`Can't process serialize() expression: serialiaztion config class expected to be '${xvt.SERIALIZE_CONFIG}', got : ${i.path}`);const r=mr(e.parametersValues[2],IS,"Can't process serialize() expression: serialization config expects third param to be a collection instance of key expressions"),o=new iji;r.values.forEach((e,t)=>{const n=mr(e,OS,`Can't process serialize() expression: collection instance value expects value ${t+1} to be key expression instance `);((e,t,n,i)=>{const r=mr(e.key,RS,`Can't process serialize() expression: serialization config key expression ${i} key expected to be a primitive value`);br(r.genericType.value.rawType.path===Xb.STRING,`Can't process serialize() expression: serialization config key expression ${i} key expected to be a primitive string value`);const s=Ar(r.values[0],`Can't process serialize() expression: serialization config key expression ${i} expected to be a non-nullable primitive string value`),o=Object.getOwnPropertyNames(t);dr(o.find(e=>e===s),`Property name '${s}' not defined in serialization config, accepted properties are ${o.join(",")}`);const a=yE(n,s),l=mr(a.genericType.value.rawType,V_,`Only primitive types suppported for config. Property ${s} for class '${xvt.SERIALIZE_CONFIG}' is of type '${a.genericType.value.rawType.path}'`),c=dr(mr(e.expression,RS,"Can't process serialize() expression: config key expression's value expected to be a primitive instance value").values[0],"Can't process serialize() expression: config key expression's value expected to be a non nullable primitive value");switch(l.path){case Xb.STRING:xr(c);break;case Xb.BOOLEAN:Tr(c);break;default:return}t[s]=c})(dr(n.values[0],`Can't process serialize() expression: serialization config key expression ${t} expected to non null`),o,i,t)}),t.setConfig(o)}}},cQi=(e,t,n)=>{const i=mr(e.parametersValues[0],VS,"Can't process project() expression: only support project() immediately following an expression");br(k_(i.functionName,[Avt.GET_ALL,Avt.GET_ALL_VERSIONS,Avt.GET_ALL_VERSIONS_IN_RANGE,Rvt.FILTER,Rvt.WATERMARK]),"Can't process project() expression: only support project() immediately following either getAll(), filter(), or forWatermark()"),yQi.process(i,n,t)},uQi=(e,t,n)=>{if(2===e.parametersValues.length)((e,t,n)=>{t.fetchStructureState.changeImplementation(QVi.TABULAR_DATA_STRUCTURE),br(2===e.parametersValues.length,"Can't process project() expression: project() expects 2 arguments"),cQi(e,t,n);const i=e.parametersValues[1];i instanceof IS?i.values.map(i=>yQi.processChild(i,e,n,t)):(gr(i,VS,"Can't process project() expression: project() expects argument #1 to be a function expression"),yQi.processChild(i,e,n,t))})(e,t,n);else{t.fetchStructureState.changeImplementation(QVi.TABULAR_DATA_STRUCTURE),br(3===e.parametersValues.length,"Can't process project() expression: project() expects 3 arguments"),cQi(e,t,n);const i=e.parametersValues[1];gr(i,IS,"Can't process project() expression: project() expects argument #1 to be a collection"),i.values.map(i=>yQi.processChild(i,e,n,t));const r=e.parametersValues[2];let s=[];if(r instanceof IS?(gr(r,IS,"Can't process project() expression: project() expects argument #2 to be a collection or a string"),s=r.values.map(ryt).filter(cr)):(gr(r,RS,"Can't process project() expression: project() expects argument #2 to be a collection or string"),s=[r.values[0]]),br(i.values.length===s.length,"Can't process project() expression: number of aliases does not match the number of columns"),t.fetchStructureState.implementation instanceof hHi){t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(s[t]))}}},dQi=(e,t,n)=>{if(n.fetchStructureState.implementation instanceof hHi){const i=n.fetchStructureState.implementation;let r=e;for(;r instanceof US;){const e=r;for(iyt(r,n.graphManagerState.graph,n),r=dr(r.parametersValues[0]),e.func.value instanceof pC&&br((Array.isArray(e.func.value.parameters)?e.func.value.parameters.length:0)===e.parametersValues.length-1,`Can't process property expression: derived property '${e.func.value.name}' expects number of provided arguments to match number of parameters`);r instanceof VS&&k_(r.functionName,Rvt.SUBTYPE);)r=dr(r.parametersValues[0])}gr(r,TS,"Can't process property expression: expects expression root to be a variable");const s=new kVi(i,e,!1);i.addColumn(s,{skipSorting:!0}),t&&s.setColumnName(t),s.setLambdaParameterName(r.name)}},hQi=(e,t,n,i)=>{if(i.fetchStructureState.implementation instanceof hHi){const r=i.fetchStructureState.implementation,s=new LVi(r,n,!1);r.addColumn(s,{skipSorting:!0}),t&&s.setColumnName(t);const o=e.parametersValues[0];o instanceof TS&&s.setLambdaParameterName(o.name)}},pQi=(e,t,n,i)=>{if(i.fetchStructureState.implementation instanceof hHi){const r=i.fetchStructureState.implementation,s=_i(()=>mr(CI(e.content),kx));ur(s,`Can't process unknown value: only support ${n.functionName}() column expression as a lambda`);const o=new PVi(r,new SS(s.parameters,s.body));r.addColumn(o,{skipSorting:!0}),t&&o.setColumnName(t)}},gQi=(e,t,n)=>{br(2===e.parametersValues.length,"Can't process take() expression: take() expects 1 argument");const i=mr(e.parametersValues[0],VS,"Can't process take() expression: only support take() immediately following an expression");if(br(k_(i.functionName,[Rvt.TDS_TAKE,Rvt.TDS_DISTINCT,Rvt.TDS_SORT,Rvt.TDS_PROJECT,Rvt.TDS_GROUP_BY,Rvt.TDS_FILTER,Rvt.OLAP_GROUPBY]),"Can't process take() expression: only support take() in TDS expression"),yQi.process(i,n,t),t.fetchStructureState.implementation instanceof hHi){const n=t.fetchStructureState.implementation,i=(e=>{if(e instanceof RS&&Cr(e.values[0]))return e.values[0]})(dr(e.parametersValues[1]));n.resultSetModifierState.setLimit(i)}},mQi=(e,t,n)=>{const i=e.parametersValues.length;br(4===i||5===i,"Can't process sort() expression: olapGroupBy() expects 3 or 4 argument");const r=5===i,s=e.parametersValues[1],o=r?e.parametersValues[2]:void 0,a=r?e.parametersValues[3]:e.parametersValues[2],l=r?e.parametersValues[4]:e.parametersValues[3],c=mr(e.parametersValues[0],VS,"Can't process olapGroupBy() expression: only support olapGroupBy() immediately following an expression");br(k_(c.functionName,[Rvt.TDS_TAKE,Rvt.TDS_DISTINCT,Rvt.TDS_SORT,Rvt.TDS_PROJECT,Rvt.TDS_GROUP_BY,Rvt.TDS_FILTER,Rvt.OLAP_GROUPBY]),"Can't process olapGroupBy() expression: only support olapGroupBy() in TDS expression"),yQi.process(c,n,t);const u=mr(t.fetchStructureState.implementation,hHi);gr(s,IS,"Can't process olapGroupBy() expression: olapGroupBy() expects argument #1 to be a collection");const d=s.values.map(e=>{const t=Ar(mr(e,RS,"Can`t process OLAP window column expression: Column should be a primitive instance value").values[0],"Can`t process OLAP window column expression: Column should be a string primitive instance value");return tUi(u,t)});let h,p;if(r){const e=mr(o,VS,"Can't process olapGroupBy sortBy expression: only support function expression of 'asc' or 'desc'"),t=(e=>{if(k_(e,Rvt.TDS_ASC))return Ivt.ASC;if(k_(e,Rvt.TDS_DESC))return Ivt.DESC;throw new yi(`Unsupported TDS sort function: ${e}`)})(e.functionName),n=Ar(mr(e.parametersValues[0],RS,"Can`t process OLAP sort column : OLAP sort column should be a primitive instance value").values[0],"Can`t process OLAP sort column: OLAP sort column should be a string primitive instance value"),i=tUi(u,n);h=new DGi(i,t)}if(a instanceof VS){br(k_(a.functionName,[Rvt.TDS_FUNC]),"Can't process olapGroupBy() operation expression: olapGroupBy() aggregation should contain function 'func'");const e=a.parametersValues,t=Ar(mr(e[0],RS,"Can`t process OLAP opperation expression: Function `func` first parameter should be a primitive instance value").values[0],"Can`t process OLAP opperation expression: Function `func` first parameter should be a string primitive instance value"),n=tUi(u,t),i=mr(mr(e[1],zS).values[0],HS);br(1===i.expressionSequence.length);const r=mr(i.expressionSequence[0],VS),s=dr(u.windowState.findOperator(r.functionName),`olapGroupBy() operator '${r.functionName}' not supported`);p=new LGi(u.windowState,s,n),p.setLambdaParameterNames([mr(i.functionType.parameters[0],TS,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name])}else{const e=mr(mr(a,zS).values[0],HS);br(1===e.expressionSequence.length);const t=mr(e.expressionSequence[0],VS),n=dr(u.windowState.findOperator(t.functionName),`olapGroupBy() operator '${t.functionName}' not supported`);br(!n.isColumnAggregator(),`Operator '${n.getLabel()}' expects a TDS column to aggregate against`),p=new kGi(u.windowState,n),p.setLambdaParameterNames([mr(e.functionType.parameters[0],TS,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name])}const g=Ar(mr(l,RS,"Can`t process OLAP column: OLAP column should be a primitive instance value").values[0],"Can`t process OLAP column: OLAP column should be a string primitive instance value"),m=new MGi(u.windowState,d,h,p,g);u.windowState.addWindowColumn(m),u.setShowWindowFuncPanel(!0)},fQi=(e,t,n)=>{if(3!==e.parametersValues.length)throw new yi("Can't build relation extend() expression: extend() is not fully supported yet");{const i=mr(e.parametersValues[0],VS,"Can't process extend() expression: only support extend() immediately following an expression");yQi.process(i,n,t);const r=mr(e.parametersValues[1],VS,"Can't process extend() expression: expects a window expression as the second parameter"),s=mr(t.fetchStructureState.implementation,hHi),o=mr(r.parametersValues[0],PS,"Can't process over(): expects ColSpecArray for window columns"),a=dr(o.values[0]).colSpecs.map(e=>tUi(s,e.name));let l;if(r.parametersValues[1]instanceof IS){const e=mr(r.parametersValues[1].values[0],VS,"Can't process extend sortBy expression: only support function expression of 'ascending' or 'descending'"),t=(e=>{if(k_(e,Rvt.RELATION_ASC))return Ivt.ASC;if(k_(e,Rvt.RELATION_DESC))return Ivt.DESC;throw new yi(`Unsupported relation sort function: ${e}`)})(e.functionName),n=Ar(mr(e.parametersValues[0],LS,"Can`t process extend sort column : extend sort column should be a colspec instance value").values[0]?.name,"Can`t process extend sort column: extend sort column should be a string colspec instance value"),i=tUi(s,n);l=new DGi(i,t)}const c=mr(e.parametersValues[2],PS,"Can't process extend(): expects ColSpecArrayInstance for aggregation columns");dr(c.values[0]).colSpecs.forEach(e=>{const t=((e,t)=>{if(e.function2){const n=mr(mr(e.function1,zS).values[0],HS),i=mr(n.expressionSequence[0],BS,"Can't process typed window aggregation: expects function1 to be a Function Expression"),r=tUi(t,i.functionName),s=mr(mr(e.function2,zS).values[0],HS),o=mr(s.expressionSequence[0],VS),a=dr(t.windowState.findOperator(o.functionName,!0),`Operator '${o.functionName}' not supported yet for typed TDS`),l=new LGi(t.windowState,a,r),c=[];n.functionType.parameters.forEach(e=>{mr(e,TS),c.push(e.name)});const u=mr(s.functionType.parameters[0],TS).name;return c.push(u),l.setLambdaParameterNames(c),l}if(e.function1){const n=mr(mr(e.function1,zS).values[0],HS);br(1===n.expressionSequence.length);const i=mr(n.expressionSequence[0],VS),r=dr(t.windowState.findOperator(i.functionName,!0),`Operator '${i.functionName}' not supported yet for typed TDS`),s=new kGi(t.windowState,r),o=[];return n.functionType.parameters.forEach(e=>{mr(e,TS),o.push(e.name)}),s.setLambdaParameterNames(o),s}throw new yi("Only support aggregation and rank operators in extend() expression")})(e,s),n=new MGi(s.windowState,a,l,t,e.name);s.windowState.addWindowColumn(n),s.setShowWindowFuncPanel(!0)})}},vQi=e=>!(e instanceof VS)||!k_(e.functionName,Rvt.FIRST_DAY_OF_YEAR)&&!k_(e.functionName,Rvt.FIRST_DAY_OF_MONTH)&&!e.parametersValues.map(e=>vQi(e)).includes(!1);class yQi{queryBuilderState;parentExpression;parentLambda;constructor(e,t,n){this.queryBuilderState=e,this.parentExpression=n,this.parentLambda=t}static process(e,t,n){e.accept_ValueSpecificationVisitor(new yQi(n,t,void 0))}static processChild(e,t,n,i){e.accept_ValueSpecificationVisitor(new yQi(i,n,t))}visit_INTERNAL__UnknownValueSpecification(e){if(ur(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),!k_(this.parentExpression.functionName,[Rvt.TDS_PROJECT,Rvt.TDS_GROUP_BY,Rvt.TDS_AGG,...Object.values(Tvt)]))throw new yi(`Can't process unknown value with parent expression of function ${this.parentExpression.functionName}()`);pQi(e,void 0,this.parentExpression,this.queryBuilderState)}visit_INTERNAL__PropagatedValue(e){throw new yi}visit_FunctionExpression(e){throw new yi}visit_AccessorInstanceValue(e){const t=dr(e.values[0],"Accessor instance value must have a value");this.queryBuilderState.setSourceElement(t)}visit_SimpleFunctionExpression(e){const t=e.functionName;if(k_(t,Avt.GET_ALL))((e,t)=>{const n=e.genericType?.value.rawType;gr(n,Z_,"Can't process getAll() expression: getAll() return type is missing"),t.setSourceElement(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=cE(n,t.graphManagerState.graph);i?t.milestoningState.getMilestoningImplementation(i).processGetAllParamaters(e.parametersValues):br(1===e.parametersValues.length,"Can't process getAll() expression: getAll() expects no arguments")})(e,this.queryBuilderState);else if(k_(t,Avt.GET_ALL_VERSIONS))((e,t)=>{const n=e.genericType?.value.rawType;gr(n,Z_,"Can't process getAllVersions() expression: getAllVersions() return type is missing"),t.setSourceElement(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData(),ur(cE(n,t.graphManagerState.graph),"Can't process getAllVersions() expression: getAllVersions() expects source class to be milestoned"),br(1===e.parametersValues.length,"Can't process getAllVersions() expression: getAllVersions() expects no arguments"),t.setGetAllFunction(Avt.GET_ALL_VERSIONS)})(e,this.queryBuilderState);else if(k_(t,Avt.GET_ALL_VERSIONS_IN_RANGE))((e,t)=>{const n=e.genericType?.value.rawType;gr(n,Z_,"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() return type is missing"),t.setSourceElement(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=cE(n,t.graphManagerState.graph);br(void 0!==i&&i!==n_.BITEMPORAL,"Can't process getAllVersionsInRange() expression: getAllVersionInRange() expects source class to be processing temporal or business temporal milestoned"),br(3===e.parametersValues.length,"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects start and end date"),t.setGetAllFunction(Avt.GET_ALL_VERSIONS_IN_RANGE),t.milestoningState.setStartDate(dr(e.parametersValues[1],"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects start date to be defined")),t.milestoningState.setEndDate(dr(e.parametersValues[2],"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects end date to be defined"))})(e,this.queryBuilderState);else if(k_(t,Rvt.INTERNALIZE))((e,t)=>{t.fetchStructureState.changeImplementation(QVi.GRAPH_FETCH);const n=e.functionName;br(3===e.parametersValues.length,`Can't process ${n}() expression: ${n}() expects 2 argument`);const i=e.parametersValues[0],r=i?.genericType?.value.rawType;gr(r,Z_,"Can't process internalize() expression: internalize() return type is missing"),t.setSourceElement(r),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const s=mr(e.parametersValues[1],AS,"Can't process internalize() expression: only support internalize() with 1st parameter as instance value"),o=mr(mr(s.values[0],__,"Can't process internalize() expression: only support internalize() with 1st parameter as packagableElement value").value,LX,"Can't process internalize() expression: only support internalize() with 1st parameter as binding value"),a=mr(e.parametersValues[2],TS),l=new aQi(o,a,t);t.setInternalize(l)})(e,this.queryBuilderState,this.parentLambda);else{if(k_(t,[Rvt.FILTER,Rvt.TDS_FILTER])){br(2===e.parametersValues.length,"Can't process filter() expression: filter() expects 1 argument");const n=e.parametersValues[0];if(n instanceof Oq)return yQi.process(n,this.parentLambda,this.queryBuilderState),void Hzi(e,this.queryBuilderState);const i=mr(n,VS,"Can't process filter() expression: only support filter() immediately following an expression");if(yQi.process(i,this.parentLambda,this.queryBuilderState),k_(i.functionName,[Avt.GET_ALL,Avt.GET_ALL_VERSIONS,Avt.GET_ALL_VERSIONS_IN_RANGE]))return br(k_(t,Rvt.FILTER),`Can't process filter() expression: only supports ${Rvt.FILTER}() immediately following getAll() (got '${t}')`),void Hzi(e,this.queryBuilderState);if(k_(i.functionName,[Rvt.TDS_PROJECT,Rvt.TDS_GROUP_BY,Rvt.OLAP_GROUPBY]))return br(k_(t,Rvt.TDS_FILTER),`Can't process post-filter expression: only supports ${Rvt.TDS_FILTER}() immediately following project()/groupBy() (got '${t}')`),void((e,t)=>{if(t.fetchStructureState.implementation instanceof hHi){const n=t.fetchStructureState.implementation,i=n.postFilterState,r=n.fetchStructureState,s=e.parametersValues[1];gr(s,zS,"Can't process post-filter expression: expects argument #1 to be a lambda function"),gr(r.implementation,hHi,"Can't process post-filter lambda: post-filter lambda must use projection fetch structure"),br(Boolean(n.projectionColumns.length),"Can't process post-filter lambda: post-filter lambda must have at least one projection column ");const o=dr(s.values[0],"Can't process post-filter lambda: post-filter lambda function is missing");br(1===o.expressionSequence.length,"Can't process post-filter lambda: only support post-filter lambda body with 1 expression");const a=mr(o.expressionSequence[0],BS,"Can't process post-filter lambda: only support post-filter lambda body of type 'FunctionExpression'");br(1===o.functionType.parameters.length,"Can't process post-filter lambda: only support post-filter lambda with 1 parameter"),i.setLambdaParameterName(mr(o.functionType.parameters[0],TS,"Can't process post-filter lambda: only support filter() lambda with 1 parameter of type 'VariableExpression'").name),lUi(a,i,void 0),n.setShowPostFilterPanel(!0),i.simplifyTree()}})(e,this.queryBuilderState);if(k_(i.functionName,[Rvt.WATERMARK]))return void Hzi(e,this.queryBuilderState);throw new yi("Can't process filter() expression: only support filter() immediately following getAll() or project()/forWatermark()/groupBy()/olapGroupBy()")}if(k_(t,Rvt.WATERMARK))((e,t,n)=>{const i=mr(e.parametersValues[0],VS,"Can't process forWatermark() expression: only support forWatermark() immediately following an expression");br(k_(i.functionName,[Avt.GET_ALL,Avt.GET_ALL_VERSIONS,Avt.GET_ALL_VERSIONS_IN_RANGE]),"Can't process forWatermark() expression: only support forWatermark() immediately following getAll()"),yQi.process(i,n,t);const r=e.parametersValues[1];t.watermarkState.setValue(r)})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,[Rvt.TDS_PROJECT,Rvt.RELATION_PROJECT]))(n=e).functionName===Rvt.RELATION_PROJECT||k_(n.functionName,[Rvt.TDS_PROJECT,Rvt.RELATION_PROJECT])&&2===n.parametersValues.length&&n.parametersValues[1]instanceof PS?((e,t,n)=>{br(2===e.parametersValues.length,"Can't process typed project() expression: typed project() expects 2 arguments"),t.fetchStructureState.changeImplementation(QVi.TABULAR_DATA_STRUCTURE);const i=dr(e.parametersValues[0],"Can't process typed project() expression: missing preceding expression");if(i instanceof VS)br(k_(i.functionName,[Avt.GET_ALL,Avt.GET_ALL_VERSIONS,Avt.GET_ALL_VERSIONS_IN_RANGE,Rvt.FILTER,Rvt.WATERMARK]),"Can't process typed project() expression: only support typed project() immediately following either getAll(), filter(), or forWatermark()");else if(!(i instanceof Oq))throw new Error("Can't process typed project() expression: the first argument is expected to be either a function expression or a Accessor Instance Value");yQi.process(i,n,t);const r=e.parametersValues[1];gr(r,PS,"Can't process typed project() expression: typed project() expects argument #1 to be a ColSpec Array Instance"),t.setLambdaWriteMode(rQi.TYPED_FETCH_STRUCTURE),yQi.processChild(r,e,n,t)})(e,this.queryBuilderState,this.parentLambda):uQi(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Rvt.RELATION_SELECT))((e,t,n)=>{t.fetchStructureState.changeImplementation(QVi.TABULAR_DATA_STRUCTURE),br(2===e.parametersValues.length,"Can't process select() expression: select() expects 2 arguments");const i=dr(e.parametersValues[0],"Can't process select() expression: missing preceding expression");if(!(i instanceof VS||i instanceof Oq))throw new Error("Can't process select() expression: the first argument is expected to be either a function expression or an Accessor Instance Value");yQi.process(i,n,t);const r=mr(e.parametersValues[1],PS,"Can't process select() expression: select() expects argument #1 to be a ColSpec array").values;br(1===r.length,"Can't process select() expression: expected exactly one ColSpec array");const s=dr(r[0]).colSpecs;if(!(t.fetchStructureState.implementation instanceof hHi))return;const o=t.fetchStructureState.implementation,a=t.sourceRelationType?.columns;ur(a,"Can't process select() expression: source relation type is not available"),s.forEach(n=>{br(void 0===n.function1&&void 0===n.function2,`Can't process select() expression: ColSpec '${n.name}' is expected to be a bare column reference`);const i=dr(a.find(e=>e.name===n.name),`Can't process select() expression: column '${n.name}' is not found in source relation`);hQi(e,n.name,i,t)}),o.setProjectionMode(dHi.SELECT)})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Rvt.TDS_COL))((e,t)=>{br(2===e.parametersValues.length,"Can't process col() func expression: col() expects 2 argument");const n=mr(e.parametersValues[0],zS,"Can't process col() func expressionn: only support col() immediately following an lambda function"),i=mr(e.parametersValues[1],RS,"Can't process col() func expression: the #2 argument of col() should be a string");dQi(mr(n.values[0]?.expressionSequence[0],US,"Can't process col() func expression: lambda function of col() should contain AbstractPropertyExpression"),i.values[0],t),t.fetchStructureState.implementation instanceof hHi&&t.fetchStructureState.implementation.setProjectionMode(dHi.PROJECT_COL)})(e,this.queryBuilderState);else if(k_(t,[Rvt.TDS_TAKE,Rvt.RELATION_LIMIT]))gQi(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Rvt.TDS_DISTINCT))((e,t,n)=>{br(1===e.parametersValues.length,"Can't process disctinct() expression: distinct() expects no parameter");const i=mr(e.parametersValues[0],VS,"Can't process distinct() expression: only support distinct() immediately following an expression");br(k_(i.functionName,[Rvt.TDS_TAKE,Rvt.TDS_DISTINCT,Rvt.TDS_SORT,Rvt.TDS_PROJECT,Rvt.TDS_GROUP_BY,Rvt.TDS_FILTER,Rvt.OLAP_GROUPBY]),"Can't process distinct() expression: only support distinct() in TDS expression"),yQi.process(i,n,t),t.fetchStructureState.implementation instanceof hHi&&(t.fetchStructureState.implementation.resultSetModifierState.distinct=!0)})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Rvt.TDS_SORT))((e,t,n)=>{br(2===e.parametersValues.length,"Can't process sort() expression: sort() expects 1 argument");const i=mr(e.parametersValues[0],VS,"Can't process sort() expression: only support sort() immediately following an expression");br(k_(i.functionName,[Rvt.TDS_TAKE,Rvt.TDS_DISTINCT,Rvt.TDS_SORT,Rvt.TDS_PROJECT,Rvt.TDS_GROUP_BY,Rvt.TDS_FILTER,Rvt.OLAP_GROUPBY]),"Can't process sort() expression: only support sort() in TDS expression"),yQi.process(i,n,t);const r=e.parametersValues[1];gr(r,IS,"Can't process sort() expression: sort() argument should be a collection"),r.values.map(i=>yQi.processChild(i,e,n,t))})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Rvt.SLICE))((e,t,n)=>{br(3===e.parametersValues.length,"Can't process slice() expression: slice() expects 2 argument");const i=mr(e.parametersValues[0],VS,"Can't process slice() expression: only support slice() immediately following an expression");if(br(k_(i.functionName,[Rvt.TDS_TAKE,Rvt.TDS_DISTINCT,Rvt.TDS_SORT,Rvt.TDS_PROJECT,Rvt.TDS_GROUP_BY,Rvt.TDS_FILTER,Rvt.OLAP_GROUPBY]),"Can't process slice() expression: only support slice() in TDS expression"),yQi.process(i,n,t),t.fetchStructureState.implementation instanceof hHi){const n=t.fetchStructureState.implementation,i=Rr(mr(e.parametersValues[1],RS,"Can`t process slice() function: first param should be a primitive instance value").values[0],"Can`t process slice() function: first param should be a number primitive instance value"),r=Rr(mr(e.parametersValues[2],RS,"Can`t process slice() function: first param should be a primitive instance value").values[0],"Can`t process slice() function: first param should be a number primitive instance value");n.resultSetModifierState.setSlice([i,r])}})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,[Rvt.TDS_ASC,Rvt.TDS_DESC]))((e,t,n)=>{const i=e.functionName;if(br(Boolean(t&&k_(t.functionName,Rvt.TDS_SORT)),`Can't process ${i}() expression: only support ${i}() used within a sort() expression`),br(1===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects one argument`),n.fetchStructureState.implementation instanceof hHi){const t=n.fetchStructureState.implementation,r=ryt(dr(e.parametersValues[0])),s=t.tdsColumns.find(e=>e.columnName===r);if(s){const e=new XVi(s);e.sortType=k_(i,Rvt.TDS_ASC)?Ivt.ASC:Ivt.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(k_(t,[Rvt.RELATION_ASC,Rvt.RELATION_DESC]))((e,t,n)=>{const i=e.functionName;if(br(Boolean(t&&k_(t.functionName,Rvt.TDS_SORT)),`Can't process ${i}() expression: only support ${i}() used within a sort() expression`),br(1===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects one argument`),n.fetchStructureState.implementation instanceof hHi){const t=n.fetchStructureState.implementation,r=mr(e.parametersValues[0],LS);br(1===r.values.length,`Can't process ${i}() expression: Col Spec Instance Value expects one value`);const s=dr(r.values[0],"Col Spec value expected in Col Spec Instance Value").name,o=t.tdsColumns.find(e=>e.columnName===s);if(o){const e=new XVi(o);e.sortType=k_(i,Rvt.RELATION_ASC)?Ivt.ASC:Ivt.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(k_(t,[Rvt.TDS_GROUP_BY,Rvt.RELATION_GROUP_BY]))(e=>e.functionName===Rvt.RELATION_GROUP_BY||k_(e.functionName,[Rvt.TDS_GROUP_BY,Rvt.RELATION_GROUP_BY])&&3===e.parametersValues.length&&e.parametersValues[1]instanceof PS)(e)?((e,t,n)=>{br(3===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 2 arguments");const i=mr(e.parametersValues[0],VS,"Can't process groupBy() expression: only support groupBy() immediately following an expression");br(k_(i.functionName,[Rvt.RELATION_PROJECT]),"Can't process groupBy() expression: only support groupBy() immediately following relation project()"),yQi.process(i,n,t);const r=mr(t.fetchStructureState.implementation,hHi),s=mr(e.parametersValues[1],PS,"Can't process groupBy() expression: groupBy() expects argument #1 to be a ColSpecArrayInstance");br(1===s.values.length,"Can't process groupBy() expression: groupBy() expects argument #1 to be a ColSpecArrayInstance with 1 element"),t.setLambdaWriteMode(rQi.TYPED_FETCH_STRUCTURE),s.values[0]?.colSpecs.forEach(e=>{br(1===r.projectionColumns.filter(t=>t.columnName===e.name).length,`Can't process groupBy() expression: column '${e.name}' not found in project() expression`)});const o=e.parametersValues[2];gr(o,PS,"Can't process groupBy() expression: groupBy() expects argument #2 to be a ColSpecArrayInstance"),yQi.processChild(o,e,n,t)})(e,this.queryBuilderState,this.parentLambda):((e,t,n)=>{t.fetchStructureState.changeImplementation(QVi.TABULAR_DATA_STRUCTURE),br(4===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 3 arguments");const i=mr(e.parametersValues[0],VS,"Can't process groupBy() expression: only support groupBy() immediately following an expression");br(k_(i.functionName,[Avt.GET_ALL,Avt.GET_ALL_VERSIONS,Avt.GET_ALL_VERSIONS_IN_RANGE,Rvt.FILTER]),"Can't process groupBy() expression: only support groupBy() immediately following either getAll() or filter()"),yQi.process(i,n,t);const r=e.parametersValues[1];gr(r,IS,"Can't process groupBy() expression: groupBy() expects argument #1 to be a collection"),r.values.map(i=>yQi.processChild(i,e,n,t));const s=e.parametersValues[2];gr(s,IS,"Can't process groupBy() expression: groupBy() expects argument #2 to be a collection"),s.values.map(i=>yQi.processChild(i,e,n,t));const o=e.parametersValues[3];gr(o,IS,"Can't process groupBy() expression: groupBy() expects argument #3 to be a collection"),br(o.values.length===r.values.length+s.values.length,"Can't process groupBy() expression: number of aliases does not match the number of columns");const a=o.values.map(ryt).filter(cr);t.fetchStructureState.implementation instanceof hHi&&t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(a[t]))})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Rvt.TDS_AGG))((e,t,n,i)=>{if(br(Boolean(t&&k_(t.functionName,Rvt.TDS_GROUP_BY)),"Can't process agg() expression: only support agg() used within a groupBy() expression"),br(2===e.parametersValues.length,"Can't process agg() expression: agg() expects 2 arguments"),yQi.processChild(dr(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof hHi){const t=n.fetchStructureState.implementation,i=t.aggregationState,r=dr(t.projectionColumns[t.projectionColumns.length-1]),s=e.parametersValues[1];gr(s,zS,"Can't process agg() expression: agg() expects argument #1 to be a lambda function");const o=dr(s.values[0],"Can't process agg() lambda: agg() lambda function is missing");br(1===o.expressionSequence.length,"Can't process agg() lambda: only support agg() lambda body with 1 expression");const a=mr(o.expressionSequence[0],VS,"Can't process agg() lambda: only support agg() lambda body with 1 expression");let l;if(n.isCalendarEnabled){const t=e.parametersValues[0];gr(t,zS,"Can't process agg() expression: agg() expects argument #0 to be a lambda function");const n=dr(t.values[0],"Can't process agg() lambda: agg() lambda function is missing");br(1===n.expressionSequence.length,"Can't process agg() lambda: only support agg() lambda body with 1 expression"),l=n.expressionSequence[0]instanceof VS?n.expressionSequence[0]:void 0}br(1===o.functionType.parameters.length,"Can't process agg() lambda: only support agg() lambda with 1 parameter");const c=mr(o.functionType.parameters[0],TS,"Can't process agg() lambda: only support agg() lambda with 1 parameter");for(const e of i.operators){const t=_i(()=>e.buildAggregateColumnState(a,c,r));if(r.wavgWeight&&t&&t.operator instanceof NGi&&t.operator.setWeight(r.wavgWeight),t){if(i.addColumn(t),n.isCalendarEnabled&&void 0!==l)for(const e of i.calendarFunctions)_i(()=>e.updateAggregateColumnState(dr(l),t));return void(t.calendarFunction||t.setHideCalendarColumnState(!0))}}throw new yi("Can't process aggregate expression function: no compatible aggregate operator processer available from plugins")}})(e,this.parentExpression,this.queryBuilderState,this.parentLambda);else if(k_(t,Rvt.OLAP_GROUPBY))mQi(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Rvt.SERIALIZE))lQi(e,this.queryBuilderState,this.parentLambda);else if(k_(t,Rvt.EXTERNALIZE))((e,t,n)=>{t.fetchStructureState.changeImplementation(QVi.GRAPH_FETCH),br(3===e.parametersValues.length,"Can't process externalize() expression: externalize() expects 2 argument");const i=mr(e.parametersValues[0],VS,"Can't process externalize() expression: only support externalize() immediately following an expression");if(br(k_(i.functionName,[Rvt.GRAPH_FETCH,Rvt.GRAPH_FETCH_CHECKED,Rvt.INTERNALIZE]),"Can't process externalize() expression: only support externalize() in graph-fetch expression"),yQi.process(i,n,t),t.fetchStructureState.implementation instanceof aji){const n=t.fetchStructureState.implementation,r=mr(i.parametersValues[1],KS,"Can't process graphfetch() expression: externalize() graph-fetch is missing"),s=mr(r.values[0],$S,"Can't process graphfetch() expression: graph-fetch tree root is missing");n.setGraphFetchTree(qzi(s));const o=mr(e.parametersValues[1],AS,"Can't process externalize() expression: only support externalize() with 1st parameter as instance value"),a=mr(mr(o.values[0],__,"Can't process externalize() expression: only support externalize() with 1st parameter as packagableElement value").value,LX,"Can't process externalize() expression: only support externalize() with 1st parameter as binding value"),l=new oji(n,a,void 0);n.setSerializationState(l);const c=mr(e.parametersValues[2],KS,"Can't process externalize() expression: externalize() graph-fetch is missing"),u=mr(c.values[0],$S,"Can't process externalize() expression: externalize() graph-fetch tree root is missing");l.setGraphFetchTree(qzi(u))}})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,[Rvt.GRAPH_FETCH_CHECKED,Rvt.GRAPH_FETCH]))((e,t,n)=>{const i=e.functionName;br(2===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects 1 argument`);const r=mr(e.parametersValues[0],VS,`Can't process ${i}() expression: only support ${i}() immediately following an expression`);br(k_(r.functionName,[Rvt.FILTER,Avt.GET_ALL,Avt.GET_ALL_VERSIONS,Avt.GET_ALL_VERSIONS_IN_RANGE]),`Can't process ${i}(): only support ${i}() immediately following either getAll() or filter()`),yQi.process(r,n,t),t.fetchStructureState.implementation instanceof aji&&t.fetchStructureState.implementation.setChecked(k_(e.functionName,Rvt.GRAPH_FETCH_CHECKED))})(e,this.queryBuilderState,this.parentLambda);else if(k_(t,[exports.SUPPORTED_FUNCTIONS.LET]))((e,t,n)=>{const i=e.parametersValues;br(2===e.parametersValues.length,"Let function expected to have two parameters (left and right side value)");const r=Ar(mr(i[0],RS,"Can`t process let function: left side should be a primitive instance value").values[0],"Can`t process let function: left side should be a string primitive instance value"),s=dr(n.openVariables.get(r),`Unable to find variable ${r} in lambda function`),o=dr(i[1]);let a;a=o instanceof xS?new jZi(t,s,o.content):vQi(o)?new HZi(t,s,o):new jZi(t,s,t.graphManagerState.graphManager.serializeValueSpecification(o)),t.constantState.setShowConstantPanel(!0),t.constantState.addConstant(a)})(e,this.queryBuilderState,this.parentLambda);else{if(k_(t,[exports.SUPPORTED_FUNCTIONS.FROM])){const t=e.parametersValues;return br(3===t.length||2===t.length,"From function expects an optional mapping with required runtime"),((e,t)=>{const n=void 0!==e.parametersValues[2]?e.parametersValues[1]:void 0,i=n?e.parametersValues[2]:e.parametersValues[1];let r;if(n){const e=mr(n,AS,"Can't process from() expression: only support from() with 1st parameter as instance value");r=mr(mr(e.values[0],__,"Can't process from() expression: only support from() with 1st parameter as packagableElement value").value,tw,"Can't process from() expression: only support from() with 1st parameter as mapping value")}const s=mr(i,AS,"Can't process from() expression: only support from() with 2nd parameter as instance value"),o=mr(mr(s.values[0],__,"Can't process from() expression: only support from() with 2nd parameter as packagableElement value").value,rw,"Can't process from() expression: only support from() with 2nd parameter as runtime value"),a=new WUi(t);a.setMapping(r),a.setRuntimeValue(new n$(C_.create(o))),t.setExecutionContextState(a)})(e,this.queryBuilderState),void yQi.processChild(dr(t[0]),e,this.parentLambda,this.queryBuilderState)}if(k_(t,Object.values(Tvt)))return this.queryBuilderState.isCalendarEnabled=!0,br(4===e.parametersValues.length,"Calendar function expected to have four parameters"),void yQi.processChild(dr(e.parametersValues[3]),e,this.parentLambda,this.queryBuilderState);if(k_(t,Rvt.WAVG_ROW_MAPPER))((e,t,n,i)=>{if(br(Boolean(t&&k_(t.functionName,Rvt.TDS_AGG)),"Can't process wavgRowMapper() expression: only support wavgRowMapper() used within an agg() expression"),br(2===e.parametersValues.length,"Can't process wavgRowMapper() expression: wavgRowMapper() expects 2 arguments"),e.parametersValues.map(e=>gr(e,US,"Can't process wavgRowMapper() expression: wavgRowMapper() expects arguments to be Property Expressions")),yQi.processChild(dr(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof hHi){const t=n.fetchStructureState.implementation;dr(t.projectionColumns[t.projectionColumns.length-1]).setWavgWeight(e.parametersValues[1])}})(e,this.parentExpression,this.queryBuilderState,this.parentLambda);else{var n;if(!k_(t,Rvt.RELATION_EXTEND))throw new yi(`Can't process expression of function ${t}()`);fQi(e,this.queryBuilderState,this.parentLambda)}}}}visit_VariableExpression(e){throw new yi}visit_AbstractPropertyExpression(e){if(ur(this.parentExpression,"Can't process property expression: parent expression cannot be retrieved"),!k_(this.parentExpression.functionName,[Rvt.TDS_PROJECT,Rvt.RELATION_PROJECT,Rvt.TDS_GROUP_BY,Rvt.TDS_AGG,Rvt.WAVG_ROW_MAPPER,...Object.values(Tvt)]))throw new yi(`Can't process property expression with parent expression of function ${this.parentExpression.functionName}()`);dQi(e,void 0,this.queryBuilderState)}visit_InstanceValue(e){throw new yi}visit_KeyExpressionInstanceValue(e){throw new yi}visit_CollectionInstanceValue(e){throw new yi}visit_EnumValueInstanceValue(e){throw new yi}visit_PrimitiveInstanceValue(e){throw new yi}visit_LambdaFunctionInstanceValue(e){e.values.forEach(e=>e.expressionSequence.forEach(e=>e.accept_ValueSpecificationVisitor(new yQi(this.queryBuilderState,this.parentLambda,this.parentExpression))))}visit_GraphFetchTreeInstanceValue(e){throw new yi}visit_ColSpecArrayInstance(e){if(ur(this.parentExpression,"Can't process col spec aray instance: parent expression cannot be retrieved"),k_(this.parentExpression.functionName,[Rvt.RELATION_PROJECT])){const t=e.values;return br(1===t.length,"Can't process col spec array instance: value expected to be of size 1"),void dr(t[0]).colSpecs.forEach(e=>{const t=e.function1;if(t instanceof zS){br(1===t.values.length);const n=dr(t.values[0]);br(1===n.expressionSequence.length);const i=dr(n.expressionSequence[0]);if(i instanceof US)dQi(i,e.name,this.queryBuilderState);else if(i instanceof BS){const t=i.func,n=mr(t,Y_,"Can`t process col spec: function1 lambda function does not contain a relation column");hQi(i,e.name,n,this.queryBuilderState)}else i instanceof xS&&(ur(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),pQi(i,e.name,this.parentExpression,this.queryBuilderState))}else{if(!(t instanceof xS))throw new yi("Can't process col spec: only support col spec with function lambda value");ur(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),pQi(t,e.name,this.parentExpression,this.queryBuilderState)}})}if(k_(this.parentExpression.functionName,[Rvt.RELATION_GROUP_BY])){const t=e.values;return br(1===t.length,"Can't process col spec array instance: value expected to be of size 1"),void dr(t[0]).colSpecs.forEach(e=>{((e,t,n)=>{br(Boolean(t&&k_(t.functionName,Rvt.RELATION_GROUP_BY)),"Can't process typed aggregation ColSpec: only supported when used within a groupBy() expression");const i=mr(e.function1,zS,"Can't process colSpec: function1 is not a lambda function instance value");br(1===i.values.length,"Can't process typed aggregation ColSpec. function1 should only have 1 lambda value."),br(1===dr(i.values[0]).expressionSequence.length,"Can't process typed aggregation ColSpec. function1 lambda should only have 1 expression.");const r=mr(e.function2,zS,"Can't process colSpec: function2 is not a lambda function instance value");if(n.fetchStructureState.implementation instanceof hHi){const i=n.fetchStructureState.implementation,s=i.aggregationState,o=dr(i.projectionColumns.find(t=>t.columnName===e.name),`Projection column with name ${e.name} not found`),a=dr(r.values[0],"Can't process colSpec: function2 lambda function is missing");br(1===a.expressionSequence.length,"Can't process colSpec: only support colSpec function2 lambda body with 1 expression"),br(1===a.functionType.parameters.length,"Can't process colSpec function2 lambda: only support lambda with 1 parameter");const l=mr(a.expressionSequence[0],VS,"Can't process colSpec: only support colSpec function2 lambda body with 1 expression"),c=mr(a.functionType.parameters[0],TS,"Can't process colSpec function2 lambda: parameter is missing");for(const n of s.operators){const i=_i(()=>n.buildAggregateColumnState(l,c,o));if(o.wavgWeight&&i&&i.operator instanceof NGi&&i.operator.setWeight(o.wavgWeight),i){s.addColumn(i);const n=mr(t?.genericType?.value.typeArguments?.[0]?.value.rawType,K_,"Can't process colSpec: parent groupBy() expression's return type is not a relation"),r=dr(n.columns.find(t=>t.name===e.name),`Can't process colSpec: Can't find column '${e.name}' in parent groupBy() expression's relation return type`),o=i.getColumnType();return void(r.genericType=o?j_.create(new X_(o)):r.genericType)}}}throw new yi("Can't process aggregate expression function: no compatible aggregate operator processer available from plugins")})(e,this.parentExpression,this.queryBuilderState)})}throw new yi(`Can't process col spec array expression with parent expression of function ${this.parentExpression.functionName}()`)}visit_ColSpecInstance(e){throw new Error("Method not implemented.")}}const bQi=(e,t,n)=>{const i=t.parametersState;e.forEach(e=>{let r;n?.parameterValues&&Array.from(n.parameterValues.entries()).forEach(([t,n])=>{const i=n.variable;if(i instanceof TS&&kvt(i,e))r=n.value;else if(_r(i)&&i===e.name){const t=n.value?.genericType?.value.rawType,i=e.genericType?.value.rawType;t&&i&&SE(i,t)&&(r=n.value)}});const s=new GUi(e,t.observerContext,t.graphManagerState.graph);r?s.setValue(r):s.mockParameterValue(),i.addParameter(s)}),t.parametersState=i},_Qi=(e,t,n)=>{e.functionType.parameters.length&&bQi(e.functionType.parameters,t,n),e.expressionSequence.map(n=>yQi.process(n,e,t))},CQi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),vse.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:vse.jsx("input",{ref:o,className:"panel__content__form__section__input value-spec-editor__date-picker__absolute-date__input input--dark",type:"date",spellCheck:!1,value:a??"",onChange:e=>{r(t,e.target.value,{primitiveTypeEnum:Xb.STRICTDATE}),s(new iVi(e.target.value,ZBi.ABSOLUTE_DATE))}})})},SQi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),vse.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:vse.jsx("input",{ref:o,className:"panel__content__form__section__input value-spec-editor__date-picker__absolute-date__input input--dark",type:"datetime-local",step:"1",spellCheck:!1,value:a??"",onChange:e=>{const n=new Date(e.target.value).getUTCSeconds()?e.target.value:`${e.target.value}:00`;r(t,n,{primitiveTypeEnum:Xb.DATETIME}),s(new iVi(e.target.value,ZBi.ABSOLUTE_TIME))}})})},wQi=e=>{const{customDateOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Cmt(),o=n.useRef(null),[a,l]=n.useState(t.duration),[c,u]=n.useState(t.unit??QBi.DAYS),[d,h]=n.useState(t.direction??tVi.BEFORE),[p,g]=n.useState(t.referenceMoment??nVi.TODAY),m=(e,t,n,s)=>{if(0!==e&&""!==t&&""!==n&&""!==s){const o=new rVi(ZBi.CUSTOM_DATE,ZBi.CUSTOM_DATE,e,t,n,s);i(void 0,o);const a=aVi.filter(e=>e.generateDisplayLabel()===o.generateDisplayLabel());a.length>0?(o.label=dr(a[0]?.label),o.value=dr(a[0]?.value)):o.updateLabel(),r(o)}};return n.useEffect(()=>{o.current?.focus()},[]),vse.jsxs("div",{className:"value-spec-editor__date-picker__custom-date",children:[vse.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:vse.jsx("input",{ref:o,className:"value-spec-editor__date-picker__custom-date__input-text-editor input--dark",spellCheck:!1,value:a,type:"number",onChange:e=>{const t=""!==e.target.value?_i(()=>(e=>{const t=Number(e);if(isNaN(t))throw new Error(`Can't parse number '${e}'`);return t})(e.target.value))??0:0;l(t),m(t,c,d,p)}})}),vse.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:vse.jsx(ZBe,{placeholder:"Unit",className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(QBi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{u(e.value),m(a,e.value,d,p)},value:{value:c,label:c},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})}),vse.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:vse.jsx(ZBe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(tVi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{h(e.value),m(a,c,e.value,p)},value:{value:d,label:d},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})}),vse.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:vse.jsx(ZBe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(nVi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{g(e.value),m(a,c,d,e.value)},value:{value:p,label:p},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})},EQi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Cmt(),o=n.useRef(null),[a,l]=n.useState(t instanceof sVi?t.unit:null);return n.useEffect(()=>{o.current?.focus()},[]),vse.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:vse.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:vse.jsx(ZBe,{inputRef:o,placeholder:"Choose a unit...",className:"value-spec-editor__date-picker__custom-date__input-dropdown value-spec-editor__date-picker__custom-date__input-dropdown--full",options:Object.values(JBi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=Object.values(nVi).filter(t=>t.toString().includes(e)),n=t.length>0?new sVi(dr(t[0]?.toString()),e):new sVi("",void 0);i(void 0,n),r(n)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},xQi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Cmt(),o=n.useRef(null),[a,l]=n.useState(t instanceof oVi?t.day:null);return n.useEffect(()=>{o.current?.focus()},[]),vse.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:vse.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:vse.jsx(ZBe,{inputRef:o,placeholder:"Choose a day...",className:"value-spec-editor__date-picker__custom-date__input-dropdown value-spec-editor__date-picker__custom-date__input-dropdown--full",options:Object.values(eVi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=new oVi(`Previous ${e}`,e);i(void 0,t),r(t)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},TQi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,hasError:s,typeCheckOption:o,displayAsEditableValue:a,handleBlur:l,readOnly:c}=e,u=Cmt(),d=o.match?Object.values([ZBi.ABSOLUTE_TIME,ZBi.NOW]):Object.values(ZBi),[h,p]=n.useState(hVi(t,u)),[g,m]=n.useState(null),f=e=>{m(e.currentTarget)};return n.useEffect(()=>{p(hVi(t,u))},[u,t]),vse.jsxs(vse.Fragment,{children:[a?vse.jsx("span",{className:gle("value-spec-editor__date-picker__editable__display--content editable-value",{"value-spec-editor__date-picker__editable__display--content--error":s}),title:c?"":"Click to edit and pick from more date options",onClick:c?()=>{}:f,style:{cursor:c?"not-allowed":""},children:h.label?`"${h.label}"`:vse.jsx(vse.Fragment,{children:" "})}):vse.jsx("button",{className:gle("value-spec-editor__date-picker__trigger",{"value-spec-editor__date-picker__trigger--error":s}),title:c?"":"Click to edit and pick from more date options",onClick:f,disabled:c,children:h.label||"Select value"}),vse.jsxs(REe,{open:Boolean(g),slotProps:{transition:{onEnter:()=>{p(hVi(t,u))}}},anchorEl:g,onClose:()=>{p(hVi(t,u)),m(null),l?.()},anchorOrigin:{vertical:a?20:"bottom",horizontal:a?50:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[vse.jsx(bVe,{className:"value-spec-editor__date-picker__options",value:h.value,onChange:e=>{const t=new iVi(e.target.value,e.target.value);if(ZBi.LATEST_DATE===t.value)r(void 0,e.target.value,{primitiveTypeEnum:Xb.LATESTDATE});else if(![ZBi.ABSOLUTE_DATE,ZBi.ABSOLUTE_TIME,ZBi.CUSTOM_DATE,ZBi.FIRST_DAY_OF,ZBi.PREVIOUS_DAY_OF_WEEK].includes(t.value)){const e=aVi.filter(e=>e.value===t.value);e.length>0?r(void 0,dr(e[0])):r(void 0,t)}p(t)},row:!0,options:d,size:2}),(()=>{switch(h.value){case ZBi.ABSOLUTE_DATE:return vse.jsx(CQi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case ZBi.ABSOLUTE_TIME:return vse.jsx(SQi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case ZBi.CUSTOM_DATE:return vse.jsx(wQi,{customDateOptionValue:dVi(t,u),updateValueSpecification:r,setDatePickerOption:p});case ZBi.FIRST_DAY_OF:return vse.jsx(EQi,{customDateAdjustOptionValue:hVi(t,u),updateValueSpecification:r,setDatePickerOption:p});case ZBi.PREVIOUS_DAY_OF_WEEK:return vse.jsx(xQi,{customDateAdjustOptionValue:hVi(t,u),updateValueSpecification:r,setDatePickerOption:p});default:return null}})()]})]})},AQi=e=>{const{variable:t,children:n,placement:i}=e,r=t.genericType?.value.rawType;return vse.jsx(Hwe,{arrow:!0,...void 0!==i?{placement:i}:{},classes:{tooltip:"value-spec-paramater__tooltip",arrow:"value-spec-paramater__tooltip__arrow",tooltipPlacementRight:"value-spec-paramater__tooltip--right"},slotProps:{transition:{timeout:0}},title:vse.jsxs("div",{className:"value-spec-paramater__tooltip__content",children:[vse.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[vse.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Type"}),vse.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:r?.name??"(unknown)"})]}),vse.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[vse.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Var Name"}),vse.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:t.name})]}),vse.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[vse.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Multiplicity"}),vse.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:wE(t.multiplicity)})]})]}),children:n})},RQi="VARIABLE",NQi=ule(e=>{const{valueSpecification:t,resetValue:n,isConstant:i,className:r}=e,s=t.name;return vse.jsxs(vse.Fragment,{children:[vse.jsx(oHe,{labelGetter:e=>e.variable.name,types:[RQi]}),vse.jsxs("div",{className:gle("value-spec-editor__variable",r,{"value-spec-editor__variable__constant":i}),children:[vse.jsx("div",{className:"value-spec-editor__variable__icon",children:i?vse.jsx("div",{className:"icon",children:"C"}):vse.jsx(Poe,{})}),vse.jsxs("div",{className:"value-spec-editor__variable__label",children:[vse.jsx("div",{className:"value-spec-editor__variable__text",children:s}),vse.jsx(AQi,{variable:t,children:vse.jsx("div",{className:"value-spec-editor__variable__info",children:vse.jsx(Xoe,{})})}),vse.jsx("button",{className:"value-spec-editor__variable__reset-btn",name:"Reset",title:"Reset",onClick:n,children:vse.jsx(Gse,{})})]})]})]})}),IQi=ule(n.forwardRef((e,t)=>{const{valueSpecification:n,valueSelector:i,updateValueSpecification:r,errorChecker:s,resetValue:o,handleBlur:a,handleKeyDown:l,className:c,selectorSearchConfig:u,selectorConfig:d,lightMode:h,readOnly:p}=e,g=Boolean(u),m=Cmt(),f=i(n),v=f?{value:f,label:f}:null,y=u?.reloadValues,b=u?.isLoading,_=u?.values?.length?u.values.map(e=>({value:e,label:e.toString()})):void 0,C=void 0===u?.values?()=>null:void 0,S=`reset-${i(n)}`,w=`input-${i(n)}`;return vse.jsxs("div",{className:gle("value-spec-editor",c),onBlur:e=>{e.relatedTarget?.name!==S&&e.relatedTarget?.name!==w&&a?.()},children:[g?vse.jsx(ZBe,{className:"value-spec-editor__enum-selector",options:_,onChange:e=>{const t=null===e?"":e.value.toString();r(n,t)},value:v,inputValue:f??"",onInputChange:(e,t)=>{if("input-change"===t.action){r(n,e),y?.cancel();const t=y?.(e);t&&t.catch(m.alertUnhandledError)}"input-blur"===t.action&&(y?.cancel(),u?.cleanUpReloadValues?.())},darkMode:!h,isLoading:b,allowCreateWhileLoading:!0,noOptionsMessage:C,components:{DropdownIndicator:null},hasError:s?.(n),placeholder:""===f?"(empty)":void 0,inputRef:t,onKeyDown:l,inputName:w,optionCustomization:d?.optionCustomization,disabled:p}):vse.jsx(mRe,{className:"panel__content__form__section__input value-spec-editor__input",spellCheck:!1,value:f??"",placeholder:""===f?"(empty)":void 0,onChange:e=>{r(n,e.target.value)},ref:t,error:s?.(n)?"Invalid String value":void 0,onKeyDown:l,name:w,disabled:p}),vse.jsx("button",{className:"value-spec-editor__reset-btn",name:S,title:"Reset",onClick:o,disabled:p,children:vse.jsx(Gse,{})})]})})),DQi=ule(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,className:s,readOnly:o}=e,a=n(t);return vse.jsxs("div",{className:gle("value-spec-editor",s),children:[vse.jsx("button",{role:"checkbox",className:gle("value-spec-editor__toggler__btn",{"value-spec-editor__toggler__btn--toggled":a}),onClick:()=>{i(t,!a)},disabled:o,children:a?vse.jsx(Toe,{}):vse.jsx(hae,{})}),vse.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:o,children:vse.jsx(Gse,{})})]})}),OQi=ule(n.forwardRef((e,t)=>{const{valueSpecification:i,valueSelector:r,updateValueSpecification:s,errorChecker:o,resetValue:a,handleBlur:l,handleKeyDown:c,className:u,isInteger:d,readOnly:h,enableExpressionCalculation:p=!0}=e,[g,m]=n.useState(r(i)?.toString()??""),f=n.useRef(null);n.useImperativeHandle(t,()=>f.current,[]);const v=g?d?Number.parseInt(Number(g).toString(),10):Number(g):null,y=e=>{if(e){const t=d?Number.parseInt(Number(e).toString(),10):Number(e);isNaN(t)||t===r(i)||s(i,t)}else a()},b=()=>{if(null!==v&&isNaN(v))try{const e=Rr(n8n(g));y(e.toString()),m(e.toString())}catch{const e=r(i)?.toString()??"";y(e),m(e)}else null!==v?(y(v.toString()),m(v.toString())):a()};n.useEffect(()=>{if(null!==v&&!isNaN(v)&&v!==r(i)){const e=null!==r(i)?r(i).toString():"";m(e)}},[v,i,r]);const _=`reset-${r(i)}`,C=`input-${r(i)}`,S=`calculate-${r(i)}`;return vse.jsxs("div",{className:gle("value-spec-editor",u),onBlur:e=>{e.relatedTarget?.name!==_&&e.relatedTarget?.name!==C&&e.relatedTarget?.name!==S&&l?.()},children:[vse.jsxs("div",{className:"value-spec-editor__number__input-container",children:[vse.jsx("input",{ref:f,className:gle("panel__content__form__section__input","value-spec-editor__input","value-spec-editor__number__input",{"value-spec-editor__number__input--error":o?.(i)}),spellCheck:!1,type:"text",inputMode:"numeric",value:g,onChange:e=>{m(e.target.value),y(e.target.value)},onBlur:b,onKeyDown:e=>{(e=>{"Enter"===e.code?(b(),f.current?.focus()):"Escape"===e.code&&f.current?.select()})(e),c?.(e)},name:C,disabled:h}),p&&vse.jsx("div",{className:"value-spec-editor__number__actions",children:vse.jsx("button",{className:"value-spec-editor__number__action",title:"Evaluate Expression (Enter)",name:S,onClick:b,disabled:h,children:vse.jsx(Kse,{})})})]}),vse.jsx("button",{className:"value-spec-editor__reset-btn",name:_,title:"Reset",onClick:a,disabled:h,children:vse.jsx(Gse,{})})]})})),kQi=ule(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,errorChecker:r,resetValue:s,handleBlur:o,options:a,className:l,selectorConfig:c,lightMode:u,readOnly:d}=e,h=n(t),p=`reset-${n(t)}`,g=`input-${n(t)}`;return vse.jsxs("div",{className:gle("value-spec-editor",l),onBlur:e=>{e.relatedTarget?.name!==p&&e.relatedTarget?.name!==g&&o?.()},children:[vse.jsx(ZBe,{className:"value-spec-editor__enum-selector",options:a,onChange:e=>{i(t,e.value),o?.()},value:h?{value:h,label:h}:null,darkMode:!u,hasError:r?.(t),placeholder:"Select value",autoFocus:!0,inputName:g,optionCustomization:c?.optionCustomization,disabled:d}),vse.jsx("button",{className:"value-spec-editor__reset-btn",name:p,title:"Reset",onClick:s,disabled:d,children:vse.jsx(Gse,{})})]})}),LQi=e=>0===e.length?"":((e,t)=>pf.unparse(e,t))([e.map(e=>e instanceof RS?e.values[0]:e instanceof NS?dr(e.values[0]).value.name:void 0).filter(cr)]).trim(),MQi=e=>{if(e instanceof V_)switch(e.path){case Xb.DATE:case Xb.STRICTDATE:return"yyyy-mm-dd";case Xb.DATETIME:return"yyyy-mm-ddThh:mm:ss";default:return"Add"}else if(e instanceof U_)switch(G_(e.path)){case Xb.DATE:case Xb.STRICTDATE:return"yyyy-mm-dd";case Xb.DATETIME:case Xb.STRICTTIME:return"yyyy-mm-ddThh:mm:ss";default:return"Add"}else{if(!(e instanceof rT))throw new Error(`Cannot get placeholder for type ${e}`);switch(e.fullPath){case Xb.DATE:case Xb.STRICTDATE:return"yyyy-mm-dd";case Xb.DATETIME:case Xb.STRICTTIME:return"yyyy-mm-ddThh:mm:ss";default:return"Add"}}},PQi=ule(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,selectorSearchConfig:a,selectorConfig:l,expectedType:c,lightMode:u,readOnly:d}=e,h=Cmt(),p=n.useRef(null),[g,m]=n.useState(""),[f,v]=n.useState(!1),[y,b]=n.useState(t.values.filter(e=>dr(e)).map(r).filter(fr).map(e=>({label:e,value:e}))),_=c===V_.STRING&&Boolean(a),C=_?a?.reloadValues:void 0,S=_?a?.cleanUpReloadValues:void 0,w=_?a?.isLoading:void 0,E=_&&a?.values?.length?a.values.map(e=>({value:e,label:e.toString()})):void 0,x=_&&w?"Loading...":void 0,T=`copy-${t.values[0]?r(t.values[0]):""}`,A=`input-${t.values[0]?r(t.values[0]):""}`,R=e=>{const t=dr(r(e));return{label:t,value:t}},N=e=>y.map(e=>e.value).includes(e),I=()=>{const e=g.trim();if(e.length){const t=i(c,e);return null===t||void 0===r(t)||N(dr(r(t)))?null:t}return null},D=()=>{const e=I(),n=(null!==e?[...y,R(e)]:y).map(e=>e.value).map(e=>i(c,e)).filter(cr);s(t,n),o()};return vse.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==T&&e.relatedTarget?.name!==A&&D()},children:[vse.jsx(ZBe,{className:gle("value-spec-editor__primitive-collection-selector",{"value-spec-editor__primitive-collection-selector--error":f}),options:E,inputValue:g,isMulti:!0,menuIsOpen:_&&g.length>=2,autoFocus:!0,inputRef:p,onChange:(e,t)=>{b(e),"select-option"===t.action?m(""):"remove-value"===t.action&&t.removedValue.value===g&&v(!1)},onInputChange:(e,t)=>{if("input-change"===t.action){m(e),v(!1),C?.cancel();const t=C?.(e);t&&t.catch(h.alertUnhandledError)}"input-blur"===t.action&&(C?.cancel(),S?.())},onKeyDown:e=>{"Enter"!==e.key&&","!==e.key||e.shiftKey||((()=>{const e=I();null!==e?(b([...y,R(e)]),m(""),C?.cancel()):g.trim().length&&v(!0)})(),e.preventDefault())},onPaste:e=>{const t=e.clipboardData.getData("text"),n=yf(t);if(!n)return;const s=li(li(n).map(e=>{const t=i(c,e);return t?r(t):null}).filter(cr)).filter(e=>!N(e));b([...y,...s.map(e=>({label:e,value:e}))]),e.preventDefault()},value:y,darkMode:!u,isLoading:w,noMatchMessage:x,placeholder:MQi(c),components:{DropdownIndicator:null},inputName:A,optionCustomization:l?.optionCustomization,disabled:d}),vse.jsx("button",{className:"value-spec-editor__list-editor__copy-button",onClick:()=>{(async()=>{navigator.clipboard.writeText(y.map(e=>e.value).join(","))})()},name:T,title:"Copy values to clipboard",children:vse.jsx(Ooe,{})}),vse.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:D,disabled:d,children:vse.jsx(cae,{})})]})}),FQi=ule(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,expectedType:a,enumOptions:l,selectorConfig:c,lightMode:u,readOnly:d}=e;dr(l,"Must pass enum options to EnumCollectionInstanceValueEditor");const[h,p]=n.useState(""),[g,m]=n.useState(!1),[f,v]=n.useState(t.values.filter(e=>dr(e)).map(r).filter(fr).map(e=>({label:e,value:e}))),y=l?.filter(e=>!f.some(t=>t.value===e.value)),b=`copy-${t.values[0]?r(t.values[0]):""}`,_=`input-${t.values[0]?r(t.values[0]):""}`,C=e=>f.map(e=>e.value).includes(e),S=()=>{const e=(()=>{const e=h.trim();return e.length&&!C(e)&&l?.some(t=>t.value===e)?e:null})();null!==e?(v([...f,{label:e,value:e}]),p("")):h.trim().length&&m(!0)},w=()=>{const e=f.map(e=>e.value).map(e=>i(a,e)).filter(cr);s(t,e),o()};return vse.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==b&&e.relatedTarget?.name!==_&&w()},children:[vse.jsx(ZBe,{className:gle("value-spec-editor__enum-collection-selector",{"value-spec-editor__enum-collection-selector--error":g}),options:y,inputValue:h,isMulti:!0,autoFocus:!0,onChange:(e,t)=>{v(e),"select-option"===t.action?p(""):"remove-value"===t.action&&t.removedValue.value===h&&m(!1)},onInputChange:(e,t)=>{"input-change"===t.action&&(p(e),m(!1))},onKeyDown:e=>{"Enter"!==e.key&&","!==e.key||e.shiftKey||(S(),e.preventDefault())},onPaste:e=>{const t=e.clipboardData.getData("text"),n=yf(t);if(!n)return;const i=li(li(n).filter(e=>l?.some(t=>t.value===e))).filter(e=>!C(e));v([...f,...i.map(e=>({label:e,value:e}))]),e.preventDefault()},value:f,darkMode:!u,placeholder:"Add",menuIsOpen:!0,inputName:_,optionCustomization:c?.optionCustomization,disabled:d}),vse.jsx("button",{className:"value-spec-editor__list-editor__copy-button",onClick:()=>{(async()=>{navigator.clipboard.writeText(f.map(e=>e.value).join(","))})()},name:b,title:"Copy values to clipboard",children:vse.jsx(Ooe,{})}),vse.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:w,disabled:d,children:vse.jsx(cae,{})})]})}),BQi=ule(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,stringifyCollectionValueSpecification:o,errorChecker:a,className:l,selectorSearchConfig:c,selectorConfig:u,expectedType:d,enumOptions:h,lightMode:p,readOnly:g}=e,[m,f]=n.useState(!1),v=o(t),y=`List(${0===t.values.length?"empty":t.values.length})${0===t.values.length?"":`: ${v.length>50?`${v.substring(0,50)}...`:v}`}`,b=()=>{m&&f(!1)};return m?vse.jsx(vse.Fragment,{children:vse.jsx("div",{className:gle("value-spec-editor",l),children:void 0!==h?vse.jsx(FQi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:d,saveEdit:b,enumOptions:h,selectorConfig:u,lightMode:p,readOnly:g}):vse.jsx(PQi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:d,saveEdit:b,selectorSearchConfig:c,selectorConfig:u,lightMode:p,readOnly:g})})}):vse.jsxs("div",{className:gle("value-spec-editor",l),onClick:g?()=>{}:()=>f(!0),title:g?"":"Click to edit",style:{cursor:g?"not-allowed":""},children:[vse.jsx("div",{className:gle("value-spec-editor__list-editor__preview",{"value-spec-editor__list-editor__preview--error":a?.(t)}),children:y}),vse.jsx("button",{className:"value-spec-editor__list-editor__edit-icon",children:vse.jsx(Pse,{})})]})}),VQi=()=>vse.jsx("div",{className:"value-spec-editor--unsupported",children:"unsupported"}),UQi=ule(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,handleBlur:s,typeCheckOption:o,displayAsEditableValue:a,className:l,readOnly:c}=e;return vse.jsxs("div",{className:gle("value-spec-editor",l),children:[vse.jsx(TQi,{valueSpecification:t,valueSelector:n,typeCheckOption:o,updateValueSpecification:i,hasError:t instanceof RS&&!Kvt(t),handleBlur:s,displayAsEditableValue:a,readOnly:c}),!a&&vse.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:c,children:vse.jsx(Gse,{})})]})}),GQi=n.forwardRef(function(e,t){const{className:n,valueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,setValueSpecification:a,resetValue:l,selectorSearchConfig:c,selectorConfig:u,isConstant:d,handleBlur:h,handleKeyDown:p,displayDateEditorAsEditableValue:g,readOnly:m,enableExpressionCalculation:f}=e,v=Cmt(),y=e=>!Kvt(e),b=e=>e instanceof VS?"":e.values[0],_=(e,t,n)=>{t instanceof rVi?a(((e,t,n)=>{const i=new VS(Rvt.ADJUST);if(Uvt(i,cVi(new iVi(dr(e.referenceMoment),dr(e.referenceMoment)),t,n),n),e.direction===tVi.BEFORE){const r=new VS(Rvt.MINUS);Uvt(r,gVi(t,Xb.INTEGER,e.duration,n),n),Uvt(i,r,n)}else Uvt(i,gVi(t,Xb.INTEGER,e.duration,n),n);const r=new NS(j_.create(new X_(t.getType(xvt.DURATION_UNIT))));return jvt(r,[...r.values,dC.create(dr(uVi(dr(e.unit),t)))],n),Uvt(i,r,n),Pvt(i,j_.create(new X_(V_.DATE))),i})(t,r,s)):t instanceof sVi||t instanceof oVi||t instanceof iVi?a(cVi(t,r,s)):e instanceof VS?a(gVi(r,dr(n?.primitiveTypeEnum),t,s)):e instanceof AS?(zvt(e,t,0,s),e.genericType.value.rawType.path!==dr(n?.primitiveTypeEnum)&&Pvt(e,j_.create(new X_(H_(dr(n?.primitiveTypeEnum))))),a(e)):n?.primitiveTypeEnum===Xb.LATESTDATE&&a(gVi(r,Xb.LATESTDATE,t,s))};if(i instanceof RS){const e=i.genericType.value.rawType,r=e=>e.values[0],d=(e,t)=>{zvt(e,t,0,s),a(e)};switch(e.path){case Xb.STRING:return vse.jsx(IQi,{valueSpecification:i,valueSelector:r,updateValueSpecification:d,errorChecker:y,className:n,resetValue:l,selectorSearchConfig:c,selectorConfig:u,ref:t,handleBlur:h,handleKeyDown:p,lightMode:v.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m});case Xb.BOOLEAN:return vse.jsx(DQi,{valueSpecification:i,valueSelector:r,updateValueSpecification:d,className:n,resetValue:l,readOnly:m});case Xb.NUMBER:case Xb.FLOAT:case Xb.DECIMAL:case Xb.BINARY:case Xb.BYTE:case Xb.INTEGER:return vse.jsx(OQi,{valueSpecification:i,valueSelector:r,isInteger:e.path===Xb.INTEGER,updateValueSpecification:d,errorChecker:y,className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:m,enableExpressionCalculation:f});case Xb.DATE:case Xb.STRICTDATE:case Xb.DATETIME:case Xb.LATESTDATE:return vse.jsx(UQi,{valueSpecification:i,valueSelector:b,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,errorChecker:e=>e instanceof RS&&y(e),readOnly:m});default:return vse.jsx(VQi,{})}}else{if(i instanceof NS){const e=mr(i.genericType?.value.rawType,nC),t=e.values.map(e=>({label:e.name,value:e.name}));return vse.jsx(kQi,{valueSpecification:i,valueSelector:e=>void 0===e.values[0]?null:e.values[0].value.name,options:t,className:n,resetValue:l,updateValueSpecification:(t,n)=>{const i=dr(e.values.find(e=>e.name===n),`Unable to find enum value ${n} in enumeration ${e.name}`);zvt(t,dC.create(i),0,s),a(t)},errorChecker:e=>!Kvt(e),handleBlur:h,selectorConfig:u,lightMode:v.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m})}if(i instanceof IS&&i.genericType){const e=(e,t)=>{jvt(e,t,s),a(e)},t=(e,t)=>{if(e instanceof nC){const n=((e,t)=>t.values.find(t=>t.name===e))(t,e);if(n){const t=new NS(j_.create(new X_(e)));return jvt(t,[dC.create(n)],s),Yie(t,s)}}else{const n=CVi(mr(e,R_),t,s);if(n)return Yie(n,s)}return null},r=o.expectedType instanceof nC?o.expectedType.values.map(e=>({label:e.name,value:e.name})):void 0;return vse.jsx(BQi,{valueSpecification:i,updateValueSpecification:e,expectedType:o.expectedType,className:n,selectorSearchConfig:c,selectorConfig:u,stringifyCollectionValueSpecification:e=>LQi(e.values),errorChecker:y,convertValueSpecificationToText:e=>_Vi(e,v,{omitEnumOwnerName:!0}),convertTextToValueSpecification:t,enumOptions:r,lightMode:v.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m})}if(i instanceof TS)return vse.jsx(NQi,{valueSpecification:i,className:n,resetValue:l,isConstant:Boolean(d)});if(i instanceof jS)return vse.jsx(GQi,{valueSpecification:i.getValue(),graph:r,observerContext:s,typeCheckOption:o,setValueSpecification:a,resetValue:l,handleBlur:h,handleKeyDown:p,displayDateEditorAsEditableValue:g,selectorSearchConfig:c,selectorConfig:u,readOnly:m});if(i instanceof VS){if(CE(o.expectedType,V_.DATE))return vQi(i)?vse.jsx(UQi,{valueSpecification:i,valueSelector:b,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,readOnly:m}):vse.jsx(VQi,{});if(CE(o.expectedType,V_.NUMBER)&&k_(i.functionName,Rvt.MINUS)){const e=oyt(i,s);if(e instanceof RS&&CE(e.genericType.value.rawType,V_.NUMBER))return vse.jsx(OQi,{valueSpecification:e,valueSelector:e=>e.values[0],isInteger:e.genericType.value.rawType===V_.INTEGER,updateValueSpecification:(e,t)=>{zvt(e,t,0,s),a(e)},className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:m})}}}return vse.jsx(VQi,{})}),HQi=ule(e=>{const{valueSpecification:t,setValueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,resetValue:a,selectorSearchConfig:l,selectorConfig:c,isConstant:u,initializeAsEditable:d,readOnly:h,enableExpressionCalculation:p=!0,displayAsString:g=!0}=e,m=Cmt(),[f,v]=n.useState(d??!1),y=n.useRef(null);n.useEffect(()=>{f&&y.current?.focus()},[f,y]);const b=t instanceof RS&&!CE(t.genericType.value.rawType,V_.DATE)&&t.genericType.value.rawType!==V_.BOOLEAN||t instanceof NS,_=f||!b,C=_Vi(t,m,{omitEnumOwnerName:!0});return _?vse.jsx(GQi,{valueSpecification:t,setValueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,resetValue:a,selectorSearchConfig:l,selectorConfig:c,isConstant:u,ref:y,handleBlur:()=>v(!1),handleKeyDown:e=>{"Enter"===e.key&&v(!1)},displayDateEditorAsEditableValue:!0,readOnly:h,enableExpressionCalculation:p}):vse.jsx("div",{className:"value-spec-editor__editable__display",children:vse.jsx("span",{className:gle("value-spec-editor__editable__display--content editable-value",{"value-spec-editor__editable__display--content--error":t instanceof AS&&!Kvt(t)}),onClick:h?()=>{}:()=>{v(!0)},style:{cursor:h?"not-allowed":""},children:g?`"${void 0!==C?C:""}"`:C})})}),zQi=(e,t)=>{if(e instanceof VS){const n=hVi(e,t.applicationStore).label;if(n)return n}return _Vi(e,t.applicationStore)},jQi=ule(n.forwardRef(function(e,t){const{actions:n,extraContextMenuActions:i,variableInUse:r}=e;return vse.jsxs(cVe,{ref:t,children:[i?.map(e=>vse.jsx(uVe,{onClick:e.handler,children:e.label},e.key)),n?.editVariable&&vse.jsx(uVe,{onClick:n.editVariable,children:"Edit"}),n?.deleteVariable&&vse.jsx(uVe,{disabled:r,onClick:n.deleteVariable,children:"Remove"})]})})),WQi=ule(e=>{const{variable:t,value:i,actions:r,isReadOnly:s,queryBuilderState:o,extraContextMenuActions:a,option:l}=e,c=o.isVariableUsed(t),[u,d]=n.useState(!1),h=Boolean(i),p=i?.val?zQi(i.val,o):void 0,g=t.name,m=t.genericType?.value.rawType.name??(h?"(calculated)":void 0),f=o.milestoningState.isMilestoningParameter(t),v=o.milestoningState.getMilestoningParameterValue(t),y=f&&v?zQi(v,o):void 0,b=s||c,_=c?"Used in query":"Remove",C=()=>{r?.editVariable()},[,S,w]=TGe(()=>({type:RQi,item:{variable:t}}),[t]),E=n.useRef(null);return S(E),sHe(w),vse.jsx("div",{className:"query-builder__variables__variable",ref:E,children:vse.jsxs(gVe,{content:vse.jsx(jQi,{variable:t,variableInUse:c,actions:r,extraContextMenuActions:a}),disabled:s||!r,className:gle("query-builder__variables__variable__context-menu",{"query-builder__variables__variable--selected-from-context-menu":u}),menuProps:{elevation:7},onOpen:()=>d(!0),onClose:()=>d(!1),children:[vse.jsx(oHe,{labelGetter:e=>""===e.variable.name?"(unknown)":e.variable.name,types:[RQi]}),vse.jsxs("div",{onClick:C,className:"query-builder__variables__variable__content",children:[vse.jsx("div",{className:"query-builder__variables__variable__icon",children:vse.jsx("div",{className:"query-builder__variables__variable-icon",children:h?vse.jsx("div",{className:"icon query-builder__variables__variable-icon",children:"C"}):vse.jsx(Poe,{})})}),vse.jsxs("div",{className:"query-builder__variables__variable__label",children:[g,h?vse.jsxs("div",{className:gle("query-builder__constants__value",{"query-builder__constants__value--icon":!p}),children:[p,!p&&vse.jsx(_oe,{title:"Calculated Constant"})]}):vse.jsxs("div",{className:"query-builder__variables__variable__type",children:[vse.jsx("div",{className:"query-builder__variables__variable__type__label",children:m??"unknown"}),f&&vse.jsxs(vse.Fragment,{children:[vse.jsx("div",{className:"query-builder__variables__variable__type__label query-builder__variables__variable__type__label--milestoning",children:"milestoning"}),!l?.hideMilestoningParameterValueString&&vse.jsx("div",{className:"query-builder__constants__value",children:y})]})]})]})]}),r&&vse.jsxs("div",{className:"query-builder__variables__variable__actions",children:[vse.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,disabled:s,onClick:C,title:"Edit",children:vse.jsx(Pse,{})}),vse.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,onClick:()=>{r?.deleteVariable()},disabled:b,title:_,children:vse.jsx(gae,{})}),vse.jsx(AQi,{variable:t,children:vse.jsx("div",{className:"query-builder__variables__variable__action value-spec-editor__variable__info",children:vse.jsx(Xoe,{})})})]})]})})}),$Qi=ule(e=>{const{queryBuilderState:t,filterBy:n}=e,i=t.parametersState.parameterStates.filter(e=>!n||n(e.parameter)),r=t.constantState.constants.filter(e=>!n||n(e.variable));return vse.jsxs(vse.Fragment,{children:[vse.jsxs(LVe,{title:"Available parameters",children:[0===i.length&&vse.jsx(vse.Fragment,{children:" No available parameters "}),i.map(e=>vse.jsx(WQi,{variable:e.parameter,isReadOnly:!0,queryBuilderState:t},e.uuid))]}),Boolean(r.length)&&vse.jsx(LVe,{title:"Available constants",children:r.map(e=>vse.jsx(WQi,{variable:e.variable,value:{val:e instanceof HZi?e.value:void 0},queryBuilderState:t,isReadOnly:!0},e.uuid))})]})}),qQi=ule(e=>{const{derivedPropertyExpressionState:t,variable:i,idx:r}=e,s=t.queryBuilderState.graphManagerState.graph,o=dr(t.parameters[r]?.genericType).value.rawType,a=n.useCallback(e=>{Vvt(t.propertyExpression,e.variable,r+1,t.queryBuilderState.observerContext)},[t,r]),[{isParameterValueDragOver:l},c]=DGe(()=>({accept:[RQi],drop:(e,t)=>{const n=e.variable.genericType?.value.rawType;t.didDrop()||!n||!SE(o,n)&&o.name!==n.name||a(e)},collect:e=>({isParameterValueDragOver:e.isOver({shallow:!0})})}),[a]),u=t.queryBuilderState,d=e=>{e instanceof US&&Ovt(e,u)&&e.func.value.genericType.value.rawType instanceof Z_&&u.applicationStore.alertService.setActionAlertInfo({message:"You have just changed a milestoning date in the property expression chain, this date will be propagated down the rest of the chain. Do you want to proceed? Otherwise, you can choose to propagate the default milestoning dates instead.",type:nft.CAUTION,actions:[{label:"Proceed",type:ift.PROCEED_WITH_CAUTION,default:!0},{label:"Propagate default milestoning date(s)",type:ift.PROCEED,handler:u.applicationStore.guardUnhandledError(async()=>(e=>{const t=cE(mr(e.func.value.genericType.value.rawType,Z_),u.graphManagerState.graph);e.parametersValues.slice(1).forEach((n,i)=>{if(t&&n instanceof jS&&!Lvt(t,i,n.getValue(),u.milestoningState)){const n=new jS(()=>dr(u.milestoningState.getMilestoningImplementation(t).getMilestoningDate(i)));n.isPropagatedValue=!1,Vvt(mr(e,US),dr(n),i+1,u.observerContext)}})})(e))}]})},h=dr(t.parameterValues[r]);return vse.jsxs("div",{className:"panel__content__form__section",children:[vse.jsx("div",{className:"panel__content__form__section__header__label",children:i.name}),vse.jsx("div",{className:"panel__content__form__section__header__prompt",children:""+(0===i.multiplicity.lowerBound?"optional":"")}),vse.jsx("div",{className:"query-builder__variable-editor",children:vse.jsx(tHe,{isDragOver:l,dropTargetConnector:c,children:vse.jsx(GQi,{valueSpecification:h,setValueSpecification:e=>{Vvt(t.propertyExpression,e,r+1,t.queryBuilderState.observerContext)},graph:s,observerContext:t.queryBuilderState.observerContext,typeCheckOption:{expectedType:o,match:o===V_.DATETIME},resetValue:()=>{Vvt(t.propertyExpression,Mvt(t,r)??EVi(i,t.queryBuilderState.graphManagerState.graph,t.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue,t.queryBuilderState.observerContext),r+1,t.queryBuilderState.observerContext);const e=t.propertyExpressionState.derivedPropertyExpressionStates,n=e.indexOf(t);d(n+1<e.length?e[n+1]?.propertyExpression:void 0)},isConstant:u.constantState.isValueSpecConstant(h)})})}),vse.jsx("div",{className:"panel__content__form__section__list"})]},i.name)}),YQi=ule(e=>{const{derivedPropertyExpressionState:t}=e,n=t.parameterValues,i=t.parameters;return vse.jsxs("div",{className:"query-builder-property-editor__section",children:[vse.jsx("div",{className:"panel__content__form__section__header__label",children:t.title}),!n.length&&vse.jsx("div",{className:"query-builder-property-editor__section__content--empty",children:"No parameter"}),i.map((e,n)=>vse.jsx(qQi,{derivedPropertyExpressionState:t,variable:e,idx:n},e.name))]})}),KQi=ule(e=>{const{propertyExpressionState:t}=e,n=t.queryBuilderState.applicationStore,i=()=>t.setIsEditingDerivedProperty(!1);return vse.jsx(V_e,{open:Boolean(t.isEditingDerivedPropertyExpression),onClose:i,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:vse.jsxs(eVe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder-property-editor",children:[vse.jsx(nVe,{title:"Derived Property"}),vse.jsxs(rVe,{className:"query-builder-property-editor__content",children:[t.derivedPropertyExpressionStates.map(e=>vse.jsx(YQi,{derivedPropertyExpressionState:e},e.path)),vse.jsx(rVe,{className:"query-builder__variables__modal__body",children:vse.jsx($Qi,{queryBuilderState:t.queryBuilderState,filterBy:e=>((e,t)=>Boolean(t.find(t=>{const n=e.genericType?.value.rawType;return!!n&&t.parameters.some(e=>e.genericType&&(SE(n,e.genericType.value.rawType)||e.genericType.value.rawType.name===n.name))})))(e,t.derivedPropertyExpressionStates)})})]}),vse.jsx(sVe,{children:vse.jsx(aVe,{text:"Done",onClick:i})})]})})}),XQi=ule(e=>{const{columnName:t,title:n,error:i,setIsEditingColumnName:r}=e;return vse.jsx("div",{className:"query-builder__property__name__display",title:n,children:vse.jsx("span",{className:gle("query-builder__property__name__display__content",{"query-builder__property__name__display__content--error":i,"editable-value":r}),onClick:()=>{r?.(!0)},children:t})})}),ZQi=ule(e=>{const{columnName:t,setColumnName:i,error:r,title:s,defaultColumnName:o}=e,[a,l]=n.useState(!1),[c,u]=n.useState(t),d=n.useRef(null);n.useEffect(()=>{a&&d.current?.focus()},[a,d]);const h=()=>{const e=c.trim();e.length>0?(i?.(e),u(e)):(i?.(o),u(o)),l(!1)};return a?vse.jsx("div",{className:"query-builder__property__name__editor",children:vse.jsx(mRe,{className:"query-builder__property__name__editor__input input-group__input",spellCheck:!1,value:c,onChange:e=>u(e.target.value),onKeyDown:e=>{"Enter"===e.key&&h()},onBlur:h,ref:d,draggable:!0,onDragStart:e=>{e.preventDefault(),e.stopPropagation()}})}):vse.jsx(XQi,{columnName:t,title:s,error:Boolean(r),setIsEditingColumnName:i?l:void 0})}),QQi=ule(e=>{const{columnName:t,propertyExpressionState:n,setColumnName:i,error:r}=e,s=n.propertyExpression.func.value.genericType.value.rawType,o=Boolean(n.derivedPropertyExpressionStates.length),a=n.isValid;return vse.jsx("div",{className:"query-builder-property-expression-badge",children:vse.jsxs("div",{className:gle("query-builder-property-expression-badge__content",{"query-builder-property-expression-badge__content--class":s instanceof Z_,"query-builder-property-expression-badge__content--enumeration":s instanceof nC,"query-builder-property-expression-badge__content--primitive":s instanceof V_}),children:[vse.jsx(ZQi,{columnName:t??n.title,setColumnName:i,error:r,title:`${n.title} - ${n.path}`,defaultColumnName:SVi(n.propertyExpression,n.queryBuilderState.explorerState.humanizePropertyName)}),o&&vse.jsxs("button",{className:gle("query-builder-property-expression-badge__action",{"query-builder-property-expression-badge__action--error":!a}),tabIndex:-1,onClick:()=>{o&&n.setIsEditingDerivedProperty(!0)},title:"Set Derived Property Argument(s)...",children:[!a&&vse.jsx(Xoe,{})," (...)"]}),vse.jsx(KQi,{propertyExpressionState:n})]})})}),JQi=e=>{const{issues:t}=e;if(!t)return null;const n=(i="issue",((e,t)=>e<=0?`no ${t}s`:e>1?`${e} ${t}s`:`1 ${t}`)(t.length,i));var i;return vse.jsxs("div",{className:"query-builder-panel-issue-count-badge",title:`Found ${n}:\n${t.map(e=>`• ${e}`).join("\n")}`,children:[vse.jsx(pae,{className:"query-builder-panel-issue-count-badge__icon"}),vse.jsx("div",{className:"query-builder-panel-issue-count-badge__text",children:n})]})},eJi=e=>{if(e instanceof V_||e instanceof U_){const t=Jvt(e)??e.path;if(t===Xb.STRING)return vse.jsx(Fse,{className:"query-builder-column-badge__icon"});if(t===Xb.BOOLEAN)return vse.jsx(mae,{className:"query-builder-column-badge__icon"});if(t===Xb.NUMBER||t===Xb.INTEGER||t===Xb.FLOAT||t===Xb.DECIMAL)return vse.jsx(Koe,{className:"query-builder-column-badge__icon"});if(t===Xb.DATE||t===Xb.DATETIME||t===Xb.STRICTDATE)return vse.jsx(Noe,{className:"query-builder-column-badge__icon"})}else if(e instanceof nC)return vse.jsx("div",{className:"icon query-builder-column-badge__icon",children:"E"});return null},tJi=e=>{const{columnState:t,placement:n,children:i}=e,r=t.getColumnType(),s=_i(()=>(e=>{if(e instanceof BVi||e instanceof MGi)return A_.ONE;if(e instanceof kVi)return e.propertyExpressionState.propertyExpression.func.value.multiplicity;throw new yi("Can't get multiplicity for column",e)})(t));return vse.jsx(Hwe,{arrow:!0,...void 0!==n?{placement:n}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},slotProps:{transition:{timeout:0}},title:vse.jsxs("div",{className:"query-builder__tooltip__content",children:[vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Name"}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:t.columnName})]}),vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:r?.path})]}),s&&vse.jsxs("div",{className:"query-builder__tooltip__item",children:[vse.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),vse.jsx("div",{className:"query-builder__tooltip__item__value",children:wE(s)})]})]}),children:i})},nJi=(e,t)=>{switch(t){case DVi:return e.columnState.getColumnType();case lzi.ENUM_PROPERTY:case lzi.PRIMITIVE_PROPERTY:return e.node.property.genericType.value.rawType;case lzi.RELATION_COLUMN:return e.node.column.genericType.value.rawType;case RQi:return e.variable.genericType?.value.rawType;case IGi:return e.columnState.getColumnType();default:return}},iJi=[lzi.ENUM_PROPERTY,lzi.PRIMITIVE_PROPERTY,DVi,lzi.RELATION_COLUMN],rJi=[lzi.ENUM_PROPERTY,lzi.PRIMITIVE_PROPERTY,lzi.RELATION_COLUMN],sJi=[mUi.CONDITION,lzi.ENUM_PROPERTY,lzi.PRIMITIVE_PROPERTY,DVi,lzi.RELATION_COLUMN],oJi=[mUi.CONDITION,lzi.ENUM_PROPERTY,lzi.PRIMITIVE_PROPERTY,lzi.RELATION_COLUMN],aJi=[lzi.ENUM_PROPERTY,lzi.PRIMITIVE_PROPERTY,lzi.RELATION_COLUMN,DVi,RQi],lJi=(e,t,n)=>{const i=[];let r=e;for(;r instanceof US||r instanceof VS&&k_(r.functionName,Rvt.SUBTYPE);){let e;r instanceof VS?e=new VS(I_(Rvt.SUBTYPE)):(e=new US(""),e.func=r.func),e.parametersValues=r.parametersValues.length>1?r.parametersValues.slice(1):[],i.push(e),r=dr(r.parametersValues[0])}let s,o=[],a=[mr(r,TS)],l=0;for(let e=i.length-1;e>=0;--e){const n=i[e];n.parametersValues.unshift(a[a.length-1]),a[a.length-1]=n,n instanceof US&&(void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(l>o.length-1&&(o.push(Ur(o,t.lambdaParameterName)),br(l===o.length-1)),a.push(new TS(o[l],A_.ONE)),l++)}if(n)if(n instanceof RUi){const e=a.findIndex(e=>e instanceof US&&e.func.value===n.propertyExpressionState.propertyExpression.func.value&&e.func.ownerReference.value.path===n.propertyExpressionState.propertyExpression.func.ownerReference.value.path);e>=0&&(s=n,a=a.slice(e+1),o=o.slice(e+1))}else{let e=n,i=n.parentId;for(;i&&!(e instanceof RUi);)e=t.nodes.get(i),i=e?.parentId;if(e instanceof RUi){const i=a.findIndex(t=>t instanceof US&&e instanceof RUi&&t.func.value===mr(e,RUi).propertyExpressionState.propertyExpression.func.value&&t.func.ownerReference.value.path===e.propertyExpressionState.propertyExpression.func.ownerReference.value.path);i>=0&&(s=n instanceof IUi?t.newGroupConditionFromNode(n):n instanceof AUi?n:t.getParentNode(n),a=a.slice(i+1),o=o.slice(i+1))}else i||(s=n instanceof IUi?t.newGroupConditionFromNode(n):n instanceof AUi?n:t.getParentNode(n))}for(let e=0;e<a.length-1;++e){const n=new RUi(t,s?.id);n.setPropertyExpression(a[e]),n.lambdaParameterName=o[e],t.nodes.set(n.id,n),t.addNodeFromNode(n,s),s=n}const c=new EUi(t,a[a.length-1]),u=new IUi(void 0,c);u.setIsNewlyAdded(!0),t.addNodeFromNode(u,s),n instanceof DUi&&t.removeNodeAndPruneBranch(n)},cJi=(e,t,n)=>{let i=e.getParentNode(n),r=[];for(r.push(n.condition.propertyExpressionState.propertyExpression);i&&i.id!==t.id;)i instanceof RUi&&r.push(i.propertyExpressionState.propertyExpression),i=e.getParentNode(i);i?.id===t.id&&r.push(t.propertyExpressionState.propertyExpression),r=r.reverse();const s=dr(r[0]);r=r.slice(1);let o=new US("");o.func=s.func,o.parametersValues=[...s.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof US||n instanceof VS&&k_(n.functionName,Rvt.SUBTYPE);){if(n instanceof VS){const e=new VS(I_(Rvt.SUBTYPE));e.parametersValues.unshift(dr(n.parametersValues[1])),t.push(e)}else if(n instanceof US){const e=new US("");e.func=n.func,e.parametersValues=n.parametersValues.length>1?n.parametersValues.slice(1):[],t.push(e)}n=dr(n.parametersValues[0])}br(t.length>0,"Can't process exists() expression: exists() usage with non-chain property expression is not supported");for(let e=0;e<t.length-1;++e)t[e].parametersValues.unshift(t[e+1]);t[t.length-1].parametersValues.unshift(o),o=mr(t[0],US,"Can't process exists() expression: can't flatten to a property expression")}return mr(gUi(o,e.queryBuilderState,t.lambdaParameterName??e.lambdaParameterName),US)},uJi=(e,t,n)=>{if(fUi(e)){const i=SVi(e,t.queryBuilderState.explorerState.humanizePropertyName);t.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:`The property '${i}' is a collection. As you are trying to filter on a collection, the filter created will be an exist filter. e.g. There exists at least one '${i}' where 'Type' is the value specified.\n If you are looking to create the filter where all values in this collection equal the value specified, rather than at least one value, consider creating post filter instead.`,type:nft.CAUTION,actions:[{label:"Cancel",type:ift.PROCEED_WITH_CAUTION,default:!0},{label:"Proceed",type:ift.PROCEED,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>lJi(e,t,n))}]})}else{const i=new EUi(t,e),r=new IUi(void 0,i);r.setIsNewlyAdded(!0);let s,o=n,a=n?.parentId;for(;a;)o=t.nodes.get(a),a=o?.parentId,o instanceof RUi&&(s=o);if(o instanceof RUi&&(s=o),n instanceof AUi)s?t.newGroupConditionFromNode(s,r,n.groupOperation):t.addNodeFromNode(r,n);else if(n instanceof DUi)s?t.queryBuilderState.applicationStore.notificationService.notifyError("Can't drag and drop here: property expression of target and source doesn't match"):t.replaceBlankNodeWithNode(r,n);else if(s&&n instanceof RUi)t.newGroupConditionFromNode(s,r);else if(n instanceof IUi){const e=t.getParentNode(n);if(s&&e instanceof RUi&&1===e.childrenIds.length)t.newGroupConditionFromNode(s,r,iUi.AND);else if(s&&e instanceof AUi){const i=cJi(t,s,n);t.removeNodeAndPruneBranch(n),t.newGroupConditionFromNode(s,r,e.groupOperation);const o=t.getParentNode(r);lJi(i,t,o)}else t.newGroupWithConditionFromNode(r,n)}else t.addNodeFromNode(r,void 0)}},dJi=ule(e=>{const{node:t,isDragOver:n,isDroppable:i}=e,r=t.groupOperation===iUi.AND?"AND":"OR";return vse.jsx("div",{className:"dnd__entry__container",children:vse.jsx(rHe,{isDragOver:n,isDroppable:i,label:r,className:"query-builder-filter-tree__group-node__drop-zone",children:vse.jsx("div",{className:"query-builder-filter-tree__group-node",title:"Switch Operation",onClick:e=>{e.stopPropagation(),t.setGroupOperation(t.groupOperation===iUi.AND?iUi.OR:iUi.AND)},children:vse.jsx("div",{className:"query-builder-filter-tree__group-node__label editable-value",children:t.groupOperation})})})})}),hJi=ule(e=>{const{node:t,humanizePropertyName:n,isDragOver:i,isDroppable:r}=e,s=Boolean(t.propertyExpressionState.derivedPropertyExpressionStates.length),o=t.propertyExpressionState.isValid;return vse.jsx("div",{className:"dnd__entry__container",children:vse.jsx(rHe,{isDragOver:i,isDroppable:r,label:"Add to Exists Group",className:"query-builder-filter-tree__exists-node__drop-zone",children:vse.jsxs("div",{className:"query-builder-filter-tree__exists-node",title:"This is an exists filter on the collection property",children:[vse.jsx("div",{className:"query-builder-filter-tree__exists-node__label",children:SVi(t.propertyExpressionState.propertyExpression,n)}),vse.jsx("div",{className:"query-builder-filter-tree__exists-node__exists--label",children:"exists"}),s&&vse.jsxs("button",{className:gle("query-builder-filter-tree__exists-node__exists--label__action",{"query-builder-filter-tree__exists-node__exists--label__action--error":!o}),tabIndex:-1,onClick:()=>{s&&t.propertyExpressionState.setIsEditingDerivedProperty(!0)},title:"Set Derived Property Argument(s)...",children:[!o&&vse.jsx(Xoe,{})," (...)"]}),vse.jsx(KQi,{propertyExpressionState:t.propertyExpressionState})]})})})}),pJi=ule(e=>{const{rightConditionValue:t,resetNode:n}=e,i=t.type;return vse.jsx("div",{className:"query-builder-filter-property-expression-badge",children:vse.jsxs("div",{className:"query-builder-filter-property-expression-badge__content",children:[vse.jsx("div",{className:gle("query-builder-filter-property-expression-badge__type",{"query-builder-filter-property-expression-badge__type--class":i instanceof Z_,"query-builder-filter-property-expression-badge__type--enumeration":i instanceof nC,"query-builder-filter-property-expression-badge__type--primitive":i instanceof V_}),children:eJi(i)}),vse.jsx("div",{className:"query-builder-filter-property-expression-badge__property",title:t.propertyExpressionState.propertyExpression.func.value.name,children:vse.jsx(QQi,{propertyExpressionState:t.propertyExpressionState})}),vse.jsx(bHi,{title:t.propertyExpressionState.propertyExpression.func.value.name,property:t.propertyExpressionState.propertyExpression.func.value,path:t.propertyExpressionState.path,isMapped:!0,placement:"bottom-end",children:vse.jsx("div",{className:"query-builder-filter-property-expression-badge__property__info",children:vse.jsx(Xoe,{})})}),vse.jsx("button",{className:"query-builder-filter-property-expression-badge__action",name:"Reset",title:"Reset",onClick:n,children:vse.jsx(Gse,{})})]})})}),gJi=ule(e=>{const{rightConditionValue:t,resetNode:n}=e,i=t.type;return vse.jsx("div",{className:"query-builder-filter-property-expression-badge",children:vse.jsxs("div",{className:"query-builder-filter-property-expression-badge__content",children:[vse.jsx("div",{className:gle("query-builder-filter-property-expression-badge__type",{"query-builder-filter-property-expression-badge__type--class":i instanceof Z_,"query-builder-filter-property-expression-badge__type--enumeration":i instanceof nC,"query-builder-filter-property-expression-badge__type--primitive":i instanceof V_||i instanceof U_}),children:eJi(i)}),vse.jsx("div",{className:"query-builder-filter-property-expression-badge__property",title:t.columnName,children:vse.jsx("div",{className:"query-builder__property__name__display__content",children:t.columnName})}),vse.jsx("button",{className:"query-builder-filter-property-expression-badge__action",name:"Reset",title:"Reset",onClick:n,children:vse.jsx(Gse,{})})]})})}),mJi=(e,t)=>{const n=t.operator,i=t.leftConditionType;return!(n instanceof uKi)&&!(n instanceof dKi)&&eyt(e,i)},fJi=ule(e=>{const{node:t,isDragOver:i}=e,r=t.condition.filterState.queryBuilderState.graphManagerState.graph,s=t.condition.filterState.queryBuilderState,o=t.condition.rightConditionValue,a=Cmt(),l=NUi(t),c=n.useCallback((e,n)=>{const i=nJi(e,n);if(void 0!==i&&mJi(i,t.condition))try{if((n===DVi||n===lzi.ENUM_PROPERTY||n===lzi.PRIMITIVE_PROPERTY)&&l)throw new yi("Collection filter does not support property for filter condition value.");if(n===DVi){const n=e.columnState;if(!(n instanceof kVi))throw new yi("Derivation projection columns are not supported for filter condition values.");{const e=n.propertyExpressionState.propertyExpression;if(fUi(e))throw new yi("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(new TVi(s,fVi(e,s.observerContext)))}}else if(n===lzi.ENUM_PROPERTY||n===lzi.PRIMITIVE_PROPERTY){const n=e.node,i=new TVi(s,vzi(n,t.condition.filterState.queryBuilderState.explorerState));if(fUi(i.propertyExpression))throw new yi("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(i)}else if(n===RQi){const n=e.variable;t.condition.buildRightConditionValueFromValueSpec(n)}else if(n===lzi.RELATION_COLUMN){if(!(t.condition.sourceState instanceof wUi))throw new yi("Relation columns can only be used as filter condition values when the filter source is a relation column.");const n=e.node;if(void 0===n.column.multiplicity.upperBound||n.column.multiplicity.upperBound>1)throw new yi("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromRelationColumn(n.column.name,n.column.genericType.value.rawType,n.column.multiplicity)}else a.notificationService.notifyWarning(`Dragging and Dropping ${n} to filter panel is not supported.`)}catch(e){return bi(e),void a.notificationService.notifyWarning(e.message)}else{const e=t.condition.leftConditionType;a.notificationService.notifyWarning(`Incompatible parameter type ${i?.name}. ${i?.name} is not compatible with type ${e.name}.`)}},[a,s,l,t.condition]),[{isFilterValueDragOver:u},d]=DGe(()=>({accept:aJi,canDrop:(e,n)=>mJi(nJi(e,n.getItemType()),t.condition),drop:(e,t)=>{t.didDrop()||c(e,t.getItemType())},collect:e=>({isFilterValueDragOver:e.isOver({shallow:!0})&&e.canDrop()})}),[c]),h=n.useRef(null);d(h);const{isFilterValueDroppable:p}=AGe(e=>({isFilterValueDroppable:e.isDragging()&&aJi.includes(e.getItemType()?.toString()??"")&&mJi(nJi(e.getItem(),e.getItemType()),t.condition)})),g=()=>{t.condition.buildRightConditionValueFromValueSpec(t.condition.operator.getDefaultFilterConditionValue(t.condition))},m=e=>{t.condition.buildRightConditionValueFromValueSpec(e)},f=n.useMemo(()=>jn(e=>{const n=CVi(V_.STRING,e,s.observerContext);return t.condition.handleTypeaheadSearch(n??void 0)},1e3),[t,s.observerContext]),v={values:t.condition.typeaheadSearchResults,isLoading:t.condition.typeaheadSearchState.isInProgress,reloadValues:f,cleanUpReloadValues:()=>{t.condition.typeaheadSearchState.complete()}};return n.useEffect(()=>{t.setIsNewlyAdded(!1)},[t]),vse.jsx("div",{className:"dnd__entry__container","data-testid":CHi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_CONTENT,children:vse.jsx(rHe,{isDragOver:i&&!u,alwaysShowChildren:!0,children:vse.jsxs("div",{className:"query-builder-filter-tree__condition-node",children:[vse.jsx("div",{className:"query-builder-filter-tree__condition-node__property",children:t.condition.sourceState instanceof SUi?vse.jsx(QQi,{propertyExpressionState:t.condition.sourceState.propertyExpressionState}):vse.jsx("div",{className:"query-builder-filter-tree__condition-node__property__label",children:t.condition.sourceState.label})}),vse.jsxs(mVe,{className:"query-builder-filter-tree__condition-node__operator",title:"Choose Operator...",content:vse.jsx(cVe,{children:t.condition.operators.map(e=>{return vse.jsx(uVe,{className:"query-builder-filter-tree__condition-node__operator__dropdown__option",onClick:(n=e,()=>t.condition.changeOperator(n)),children:e.getLabel()},e.uuid);var n})}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:7},children:[vse.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__label",children:t.condition.operator.getLabel()}),vse.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__dropdown__trigger",children:vse.jsx(Soe,{})})]}),o instanceof yUi&&o.value?vse.jsx("div",{ref:h,"data-testid":CHi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_VALUE,className:"query-builder-filter-tree__condition-node__value",children:vse.jsx(rHe,{isDragOver:u,isDroppable:p,label:"Change Filter Value",children:vse.jsx(HQi,{valueSpecification:o.value,setValueSpecification:m,graph:r,observerContext:s.observerContext,typeCheckOption:{expectedType:t.condition.leftConditionType},resetValue:g,selectorSearchConfig:v,isConstant:s.constantState.isValueSpecConstant(o.value),initializeAsEditable:t.isNewlyAdded})})}):o instanceof bUi?vse.jsx("div",{ref:h,className:"query-builder-filter-tree__condition-node__value",children:vse.jsx(rHe,{isDragOver:u,isDroppable:p,label:"Change Filter Value",children:vse.jsx(pJi,{rightConditionValue:o,resetNode:g})})}):o instanceof _Ui?vse.jsx("div",{ref:h,className:"query-builder-filter-tree__condition-node__value",children:vse.jsx(rHe,{isDragOver:u,isDroppable:p,label:"Change Filter Value",children:vse.jsx(gJi,{rightConditionValue:o,resetNode:g})})}):null]})})})}),vJi=ule(e=>{const{isDragOver:t,isDroppable:n}=e;return vse.jsx("div",{className:"query-builder-filter-tree__node__label__content",children:vse.jsx(rHe,{isDragOver:t,isDroppable:n,label:"Create Condition",children:vse.jsx("div",{className:"query-builder-filter-tree__blank-node",children:"blank"})})})}),yJi=ule(n.forwardRef(function(e,t){const{queryBuilderState:n,node:i}=e,r=n.filterState;return vse.jsxs(cVe,{ref:t,children:[i instanceof AUi&&vse.jsx(uVe,{onClick:()=>{r.addNodeFromNode(new DUi(void 0),i)},children:"Add New Condition"}),i instanceof AUi&&vse.jsx(uVe,{onClick:()=>{r.addGroupConditionNodeFromNode(i)},children:"Add New Logical Group"}),i instanceof IUi&&vse.jsx(uVe,{onClick:()=>{yvt.logEvent_FilterCreateGroupFromConditionLaunched(n.applicationStore.telemetryService),r.newGroupWithConditionFromNode(void 0,i)},children:"Form a New Logical Group"}),vse.jsx(uVe,{onClick:()=>r.removeNodeAndPruneBranch(i),children:"Remove"})]})})),bJi=ule(e=>{const{node:t,onNodeSelect:i,innerProps:r}=e,{queryBuilderState:s}=r,o=n.useRef(null),[a,l]=n.useState(!1),c=Cmt(),u=s.filterState,d=n.useCallback((e,n)=>{if(mUi.CONDITION===n){const n=e.node,i=new IUi(void 0,u.nodes.get(n.id).condition);t instanceof DUi?(u.replaceBlankNodeWithNode(i,t),u.removeNodeAndPruneBranch(n)):t instanceof IUi?(u.newGroupWithConditionFromNode(i,t),u.removeNodeAndPruneBranch(n)):t instanceof AUi&&(u.addNodeFromNode(i,t),u.removeNodeAndPruneBranch(n))}else{let i;try{if(n===lzi.RELATION_COLUMN){const t=e.node,n=new wUi(t.column.name,t.type,t.column.multiplicity);i=new EUi(u,n)}else if(n===DVi&&e.columnState instanceof LVi){const t=e.columnState,n=new wUi(t.column.name,t.column.genericType.value.rawType,t.column.multiplicity);i=new EUi(u,n)}else{let t;if(n===DVi){if(!(e.columnState instanceof kVi))throw new yi("Dragging and Dropping derivation projection column is not supported.");t=fVi(e.columnState.propertyExpressionState.propertyExpression,s.observerContext)}else t=vzi(e.node,u.queryBuilderState.explorerState);i=new EUi(u,t)}}catch(e){return bi(e),void c.notificationService.notifyWarning(e.message)}if(t instanceof TUi||t instanceof IUi||t instanceof DUi)if(i.sourceState instanceof wUi){const e=new IUi(void 0,i);e.setIsNewlyAdded(!0),t instanceof DUi?u.replaceBlankNodeWithNode(e,t):t instanceof IUi?u.newGroupWithConditionFromNode(e,t):u.addNodeFromNode(e,t)}else uJi(i.propertyExpressionState.propertyExpression,u,t)}},[c,u,t,s.observerContext]),[{isDragOver:h,deepIsDragOver:p},g]=DGe(()=>({accept:s.TEMPORARY__isDnDFetchStructureToFilterSupported?sJi:oJi,drop:(e,t)=>{t.didDrop()||d(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0}),deepIsDragOver:e.isOver({shallow:!1})})}),[d]),[,m,f]=TGe(()=>({type:t instanceof AUi?mUi.GROUP_CONDITION:t instanceof IUi?mUi.CONDITION:mUi.BLANK_CONDITION,item:()=>({node:t}),end:()=>u.setRearrangingConditions(!1),canDrag:()=>t instanceof IUi||t instanceof DUi}),[t,u]);m(g(o)),sHe(f);const{isDroppable:v}=AGe(e=>({isDroppable:e.isDragging()&&(s.TEMPORARY__isDnDFetchStructureToFilterSupported?sJi:oJi).includes(e.getItemType()?.toString()??"")})),y=t instanceof RUi&&0===t.childrenIds.length,b=t instanceof IUi||t instanceof DUi||y;return vse.jsx("div",{"data-testid":CHi.QUERY_BUILDER_FILTER_TREE_NODE_CONTAINER,className:gle("query-builder-filter-tree__node__container",{"query-builder-filter-tree__node__container--group":t instanceof AUi,"query-builder-filter-tree__node__container--condition":t instanceof IUi||t instanceof DUi,"query-builder-filter-tree__node__container--exists":t instanceof RUi,"query-builder-filter-tree__node__container--exists--empty":y,"query-builder-filter-tree__node__container--no-hover":u.isRearrangingConditions,"query-builder-filter-tree__node__container--selected":t===u.selectedNode,"query-builder-filter-tree__node__container--selected-from-context-menu":a}),children:vse.jsxs(gVe,{content:vse.jsx(yJi,{queryBuilderState:s,node:t}),menuProps:{elevation:7},onOpen:()=>l(!0),onClose:()=>l(!1),className:"query-builder-filter-tree__node__context-menu",children:[vse.jsxs("div",{"data-testid":CHi.QUERY_BUILDER_FILTER_TREE_NODE_CONTENT,className:"query-builder-filter-tree__node__content",ref:o,onClick:t instanceof IUi||t instanceof DUi?()=>i?.(t):void 0,children:[t instanceof AUi&&vse.jsx(dJi,{node:t,isDroppable:v,isDragOver:h}),t instanceof RUi&&vse.jsx(hJi,{node:t,humanizePropertyName:u.queryBuilderState.explorerState.humanizePropertyName,isDroppable:v,isDragOver:h}),t instanceof IUi&&vse.jsx(fJi,{node:t,isDragOver:p}),t instanceof DUi&&vse.jsx(vJi,{node:t,isDragOver:h,isDroppable:v})]}),b&&vse.jsx("div",{className:"query-builder-filter-tree__node__actions",children:vse.jsx("button",{className:"query-builder-filter-tree__node__action",tabIndex:-1,title:"Remove",onClick:()=>u.removeNodeAndPruneBranch(t),children:vse.jsx(gae,{})})})]})})}),_Ji=ule(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e;return vse.jsxs("div",{"data-testid":CHi.QUERY_BUILDER_FILTER_TREE_NODE_BLOCK,className:gle("query-builder-filter-tree__node__block",{"query-builder-filter-tree__node__block--group":t instanceof AUi,"query-builder-filter-tree__node__block--exists":t instanceof RUi}),children:[vse.jsx(bJi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).length>0&&vse.jsx("div",{"data-testid":CHi.QUERY_BUILDER_FILTER_TREE_NODE_CHILDREN,className:"query-builder-filter-tree__node__children",children:r(t).map(e=>vse.jsx(_Ji,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))})]})}),CJi=ule(e=>{const{queryBuilderState:t}=e,n=t.filterState,i=n.rootIds.map(e=>n.getNode(e)),r=e=>{n.setSelectedNode(n.selectedNode!==e?e:void 0)},s=e=>e instanceof TUi?e.childrenIds.map(e=>n.getNode(e)):[];return vse.jsx("div",{"data-testid":CHi.QUERY_BUILDER_FILTER_TREE,className:"tree-view__node__root query-builder-filter-tree__root",children:i.map(e=>vse.jsx(_Ji,{level:0,node:e,getChildNodes:s,onNodeSelect:r,innerProps:{queryBuilderState:t}},e.id))})}),SJi=ule(e=>{const{queryBuilderState:t}=e,i=Cmt(),r=t.filterState,s=r.getRootNode(),o=r.isEmpty||r.selectedNode&&(r.selectedNode!==s||s instanceof AUi),{isDroppable:a}=AGe(e=>({isDroppable:e.isDragging()&&(t.TEMPORARY__isDnDFetchStructureToFilterSupported?iJi:rJi).includes(e.getItemType()?.toString()??"")})),l=n.useCallback((e,n)=>{try{if(n===lzi.RELATION_COLUMN){const t=e.node,n=new wUi(t.column.name,t.type,t.column.multiplicity),i=new EUi(r,n),s=new IUi(void 0,i);s.setIsNewlyAdded(!0),r.setSelectedNode(void 0),r.addNodeFromNode(s,void 0)}else if(n===DVi&&e.columnState instanceof LVi){const t=e.columnState,n=new wUi(t.column.name,t.column.genericType.value.rawType,t.column.multiplicity),i=new EUi(r,n),s=new IUi(void 0,i);s.setIsNewlyAdded(!0),r.setSelectedNode(void 0),r.addNodeFromNode(s,void 0)}else{let i;if(n===DVi){if(!(e.columnState instanceof kVi))throw new yi("Dragging and Dropping derivation projection column is not supported.");i=fVi(e.columnState.propertyExpressionState.propertyExpression,t.observerContext)}else i=vzi(e.node,r.queryBuilderState.explorerState);r.setSelectedNode(void 0),uJi(i,r)}}catch(e){return bi(e),void i.notificationService.notifyWarning(e.message)}},[i,r,t.observerContext]),[{isDragOver:c},u]=DGe(()=>({accept:t.TEMPORARY__isDnDFetchStructureToFilterSupported?iJi:rJi,drop:(e,t)=>{t.didDrop()||l(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[l]),d=n.useRef(null);return u(d),vse.jsxs("div",{"data-testid":CHi.QUERY_BUILDER_FILTER_PANEL,className:"panel",children:[vse.jsxs("div",{className:"panel__header",children:[vse.jsxs("div",{className:"panel__header__title",children:[vse.jsx("div",{className:"panel__header__title__label",children:"filter"}),0!==r.allValidationIssues.length&&vse.jsx(JQi,{issues:r.allValidationIssues})]}),vse.jsx("div",{className:"panel__header__actions",children:vse.jsx(mVe,{className:"panel__header__action",title:"Show Filter Options Menu...",content:vse.jsxs(cVe,{children:[vse.jsxs(uVe,{onClick:()=>{yvt.logEvent_FilterCreateConditionLaunched(t.applicationStore.telemetryService),r.addNodeFromNode(new DUi(void 0),r.selectedNode)},children:[vse.jsx(hVe,{children:vse.jsx(sae,{})}),vse.jsx(pVe,{children:"Create Condition"})]}),vse.jsxs(uVe,{disabled:!(r.selectedNode instanceof IUi),onClick:()=>{yvt.logEvent_FilterCreateLogicalGroupLaunched(i.telemetryService),r.selectedNode instanceof IUi&&r.newGroupWithConditionFromNode(void 0,r.selectedNode)},children:[vse.jsx(hVe,{children:vse.jsx(Rae,{})}),vse.jsx(pVe,{children:"Create Group From Condition"})]}),vse.jsxs(uVe,{disabled:!o,title:o?"":"Please select a filter node first to create logical group",onClick:()=>{yvt.logEvent_FilterCreateLogicalGroupLaunched(t.applicationStore.telemetryService),o&&r.addGroupConditionNodeFromNode(r.selectedNode)},children:[vse.jsx(hVe,{children:vse.jsx(nae,{})}),vse.jsx(pVe,{children:"Create Logical Group"})]}),vse.jsxs(uVe,{onClick:()=>{yvt.logEvent_FilterCleanupTreeLaunched(t.applicationStore.telemetryService),r.pruneTree()},children:[vse.jsx(hVe,{children:vse.jsx(fae,{})}),vse.jsx(pVe,{children:"Cleanup Tree"})]}),vse.jsxs(uVe,{onClick:()=>{yvt.logEvent_FilterSimplifyTreeLaunched(t.applicationStore.telemetryService),r.simplifyTree()},children:[vse.jsx(hVe,{children:vse.jsx(Aoe,{})}),vse.jsx(pVe,{children:"Simplify Tree"})]}),vse.jsxs(uVe,{onClick:()=>{yvt.logEvent_FilterCollapseTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.collapseTree()},children:[vse.jsx(hVe,{children:vse.jsx(Doe,{})}),vse.jsx(pVe,{children:"Collapse Tree"})]}),vse.jsxs(uVe,{onClick:()=>{yvt.logEvent_FilterExpandTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.expandTree()},children:[vse.jsx(hVe,{children:vse.jsx(Uoe,{})}),vse.jsx(pVe,{children:"Expand Tree"})]})]}),children:vse.jsx(Bse,{className:"query-builder__icon__more-options"})})})]}),vse.jsx(xVe,{children:vse.jsxs(tHe,{isDragOver:c&&r.isEmpty,isDroppable:a&&r.isEmpty,dropTargetConnector:u,children:[r.isEmpty&&vse.jsx(FVe,{text:"Add a filter condition",tooltipText:"Drag and drop properties here"}),!r.isEmpty&&vse.jsxs(vse.Fragment,{children:[vse.jsx(oHe,{labelGetter:e=>e.node.dragPreviewLabel,types:Object.values(mUi)}),vse.jsx(CJi,{queryBuilderState:t})]}),a&&!r.isEmpty&&vse.jsx("div",{ref:d,className:"query-builder-filter-tree__free-drop-zone__container",children:vse.jsx(rHe,{isDragOver:c,isDroppable:a,className:"query-builder-filter-tree__free-drop-zone",label:"Add filter to main group",children:vse.jsx(vse.Fragment,{})})})]})})]})}),wJi=ule(e=>{const{resultState:t}=e,i=Cmt(),r=i.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraQueryUsageConfigurations?.()??[]),[s,o]=n.useState(r[0]?.title),a=r.find(e=>e.title===s);return vse.jsx(V_e,{open:t.isQueryUsageViewerOpened,onClose:()=>t.setIsQueryUsageViewerOpened(!1),children:vse.jsxs(eVe,{className:"query-builder__usage-viewer__modal",darkMode:!i.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[vse.jsx(nVe,{title:"Query Usage"}),vse.jsx(rVe,{className:"query-builder__usage-viewer__body",children:vse.jsxs(vse.Fragment,{children:[0===r.length?vse.jsx(MVe,{children:"Query usage is not available"}):vse.jsxs(vse.Fragment,{children:[vse.jsx("div",{className:"query-builder__usage-viewer__tab__header",children:vse.jsx("div",{className:"query-builder__usage-viewer__tabs",children:r.map(e=>vse.jsxs("button",{className:gle("query-builder__usage-viewer__tab",{"query-builder__usage-viewer__tab--active":s===e.key}),tabIndex:-1,onClick:()=>o(e.key),children:[void 0!==e.icon&&vse.jsx("div",{className:"query-builder__usage-viewer__tab__icon",children:e.icon}),vse.jsx("div",{className:"query-builder__usage-viewer__tab__label",children:e.title})]},e.key))})}),vse.jsx("div",{className:"query-builder__usage-viewer__content",children:a?.renderer()})]}),vse.jsx(RVe,{})]})}),vse.jsx(sVe,{children:vse.jsx(aVe,{onClick:()=>t.setIsQueryUsageViewerOpened(!1),text:"Close",type:"secondary"})})]})})});var EJi;function xJi(e){if("string"==typeof e||"number"==typeof e)return""+e;let t="";if(Array.isArray(e))for(let n,i=0;i<e.length;i++)""!==(n=xJi(e[i]))&&(t+=(t&&" ")+n);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}!function(e){e.QUESTION_HOW_TO_ADD_PARAMETERS_TO_QUERY="question.how-to-add-parameters-to-query",e.QUESTION_HOW_TO_ADD_CONSTANTS_TO_QUERY="question.how-to-add-constants-to-query",e.QUESTION_HOW_TO_USE_LOCAL_GRID_MODE="question.how-to-use-local-grid-mode",e.TUTORIAL_QUERY_BUILDER="tutorial.query.builder",e.FREQUENTLY_ASKED_QUESTIONS="frequently.asked.questions",e.SUPPORT_TICKETS_LINK="support.tickets.link"}(EJi||(EJi={}));var TJi,AJi={exports:{}},RJi={};var NJi,IJi,DJi={};
|
|
902
902
|
/**
|
|
903
903
|
* @license React
|
|
904
904
|
* use-sync-external-store-shim/with-selector.development.js
|