@finos/legend-vscode-extension-dependencies 4.0.227 → 4.0.228
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 oon=Object.defineProperty,aon=Object.getOwnPropertyDescriptor,lon=Object.get
|
|
|
898
898
|
.${T$n.BLUR}:hover {
|
|
899
899
|
filter: none;
|
|
900
900
|
}
|
|
901
|
-
`})}),gCi=Vse(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 Yne.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:[Yne.jsx(Jwe,{className:"text-lg"}),Yne.jsx("div",{className:"ml-1 font-mono text-sm",children:n??""})]})}),mCi=Vse(e=>{const{view:t}=e,n=Fbi(),i=t.grid;return Yne.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)&&Yne.jsx(gCi,{view:t}),Yne.jsx("div",{}),Yne.jsxs("div",{className:"flex h-full items-center",children:[Yne.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&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),Yne.jsxs("div",{className:"flex h-full items-center px-2 text-orange-500",children:[Yne.jsx(sxe,{className:"stroke-[3px]"}),Yne.jsx("div",{className:"ml-1 text-sm font-semibold",children:`Results truncated to fit within row limit (${i.rowLimit})`})]})]}),Yne.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),Yne.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setPaginationEnabled(!i.isPaginationEnabled)},children:[Yne.jsx(_Ce,{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:twe("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:twe("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}),Yne.jsx("div",{className:twe("text-sm",{"text-sky-600":i.isPaginationEnabled,"text-neutral-500":!i.isPaginationEnabled}),children:"Pagination"})]}),t.dataCube.options?.enableCache&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),Yne.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setCachingEnabled(!i.isCachingEnabled).catch(e=>n.alertService.alertUnhandledError(e))},children:[Yne.jsx(_Ce,{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:twe("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:twe("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...":""}),Yne.jsxs("div",{className:twe("flex items-center text-sm",{"text-sky-600":i.isCachingEnabled,"text-neutral-500":!i.isCachingEnabled}),children:["Cache ",Yne.jsx(Bbi,{})]})]})]})]})]})}),fCi=Vse(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")}),Yne.jsx("div",{className:"relative h-[calc(100%_-_20px)] w-full",children:Yne.jsx(uoi,{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=dCi)},modules:[ssi,C_i],...FJn(t)})})}),yCi=Vse(e=>{const{view:t}=e,n=t.grid.configuration;return Yne.jsxs("div",{className:"h-[calc(100%_-_48px)] w-full",children:[Yne.jsx(pCi,{configuration:n}),Yne.jsx(fCi,{view:t}),Yne.jsx(mCi,{view:t})]})}),vCi=Vse(e=>{const{view:t}=e;switch(t.info.configuration.gridMode){case Hdt.MULTIDIMENSIONAL:return Yne.jsx(cCi,{view:t});case Hdt.STANDARD:return Yne.jsx(yCi,{view:t});default:return Yne.jsx("div",{className:"border-t-1 border-b-1 h-[calc(100%_-_48px)] w-full border border-neutral-200 bg-neutral-50"})}}),_Ci=Vse(e=>{const{view:t,taskManager:n}=e,i=t?.taskService.tasks??n?.tasks;return Yne.jsxs("div",{className:"flex h-5 w-full justify-between bg-neutral-100",children:[Yne.jsxs("div",{className:"flex",children:[Yne.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(Tdt.OPEN_EDITOR_PROPERTIES,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:jdt.STATUS_BAR})},disabled:!t,children:[Yne.jsx(zwe,{className:"text-xl"}),Yne.jsx("div",{className:"pl-0.5 underline",children:"Properties"})]}),Yne.jsx("div",{className:"flex",children:Yne.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(Tdt.OPEN_EDITOR_FILTER,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:jdt.STATUS_BAR})},disabled:!t||but(t.info.configuration.gridMode),children:[Yne.jsx(Ywe,{className:"text-lg"}),Yne.jsx("div",{className:"pl-0.5 underline",children:"Filter"})]})})]}),Yne.jsx("div",{className:"flex items-center px-2",children:Yne.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"):vo(i,0).description:void 0,children:void 0!==i&&i.length>0&&Yne.jsx(__e,{classes:{root:"h-3.5 w-full bg-transparent",bar1Indeterminate:"bg-green-500",bar2Indeterminate:"bg-green-500"},variant:"indeterminate"})})})]})}),bCi=Vse(e=>{const{children:t,title:i,menuItems:r,getMenuItems:s}=e,[o,a,l]=iLe(),[c,d]=n.useState([...r??[]]);return Yne.jsxs("div",{className:"flex h-7 w-full bg-neutral-100",children:[Yne.jsxs("div",{className:"flex w-fit max-w-80 items-center pl-1 pr-2 text-lg font-medium",children:[Yne.jsx(xwe,{className:"mr-1 h-4 w-4 flex-shrink-0"}),Yne.jsx("div",{className:"truncate",children:i})]}),Yne.jsxs("div",{className:"flex w-full flex-auto",children:[t,Yne.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(oCi.SEPARATOR),d([...r??[],...t]),o(e)},disabled:!r?.length,children:Yne.jsx(Vwe,{})}),Yne.jsx(rLe,{...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)=>Js(e)?Yne.jsx(sLe,{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===oCi.SEPARATOR?Yne.jsx("div",{className:"my-1 h-[1px] w-full bg-neutral-200"},t):null)})]})]})}),CCi=e=>{const{message:t,prompt:n}=e;return Yne.jsxs("div",{className:"flex h-full w-full overflow-auto p-5",children:[Yne.jsx("div",{className:"mr-3",children:Yne.jsx(dwe,{className:"flex-shrink-0 stroke-[0.5px] text-[40px] text-red-500"})}),Yne.jsxs("div",{children:[Yne.jsx("div",{className:"whitespace-break-spaces text-lg",children:t}),Yne.jsx("div",{className:"mt-1 whitespace-break-spaces text-neutral-500",children:n})]})]})},SCi=Vse(e=>{const{children:t,taskManager:n}=e;return Yne.jsxs(Yne.Fragment,{children:[Yne.jsx("div",{className:"h-[calc(100%_-_48px)] w-full border border-x-0 border-neutral-200 bg-neutral-50",children:t??null}),Yne.jsx(_Ci,{taskManager:n})]})}),ECi=Vse(e=>{const{children:t,title:n,menuItems:i,headerContent:r,layoutManager:s,taskManager:o}=e;return Yne.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white","data-testid":xdt.PLACEHOLDER,children:[Yne.jsx(bCi,{title:n,menuItems:i,children:r??null}),Yne.jsx(SCi,{taskManager:o,children:t}),s?Yne.jsx(sCi,{layout:s}):null,Yne.jsx(wAn,{})]})}),wCi=Vse(e=>{const{view:t}=e;return n.useEffect(()=>()=>t.dispose(),[t]),t.initializeState.hasFailed?Yne.jsx(SCi,{children:Yne.jsx(CCi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})}):Yne.jsxs(Yne.Fragment,{children:[Yne.jsx(vCi,{view:t}),Yne.jsx(_Ci,{view:t})]})}),xCi=Vse(()=>{const e=Fbi(),t=e.view,i=e=>{t.dataCube.telemetryService.sendTelemetry(Tdt.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]),Yne.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white",children:[Yne.jsx(bCi,{title:t.info.name,menuItems:[{label:Wdt.UNDO,action:()=>{e.view.snapshotService.undo(),i(Wdt.UNDO)},disabled:!e.view.snapshotService.canUndo},{label:Wdt.REDO,action:()=>{e.view.snapshotService.redo(),i(Wdt.REDO)},disabled:!e.view.snapshotService.canRedo},{label:Wdt.SETTINGS,action:()=>{e.settingService.display.open(),i(Wdt.SETTINGS)}}],getMenuItems:e.options?.getHeaderMenuItems,children:e.options?.innerHeaderRenderer?.({api:e.api})??null}),Yne.jsx(wCi,{view:t}),Yne.jsx(sCi,{layout:e.layoutService.manager}),Yne.jsx(wAn,{})]})}),TCi=Vse(e=>{const{specification:t,engine:i,options:r}=e,s=Gse(()=>new Lbi(t,i,r));return n.useEffect(()=>(s.initialize().catch(e=>s.logService.logUnhandledError(e)),()=>s.dispose()),[s]),s.initializeState.hasSucceeded?Yne.jsx(Pbi,{value:s,children:Yne.jsx(xCi,{},s.uuid)}):Yne.jsx(ECi,{title:Kdt,headerContent:s.options?.innerHeaderRenderer?.({api:s.api})??null,layoutManager:s.layoutService.manager,taskManager:s.taskService.manager,children:s.initializeState.hasFailed&&Yne.jsx(CCi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})})});var ACi,NCi,RCi,ICi,DCi,kCi;!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"}(ACi||(ACi={})),function(e){e.DAYS="Day(s)",e.WEEKS="Week(s)",e.MONTHS="Month(s)",e.YEARS="Year(s)"}(NCi||(NCi={})),function(e){e.WEEK="Week",e.MONTH="Month",e.QUARTER="Quarter",e.YEAR="Year"}(RCi||(RCi={})),function(e){e.MONDAY="Monday",e.TUESDAY="Tuesday",e.WENDNESDAY="Wednesday",e.THURSDAY="Thursday",e.FRIDAY="Friday",e.SATURDAY="Saturday",e.SUNDAY="Sunday"}(ICi||(ICi={})),function(e){e.BEFORE="Before",e.AFTER="After"}(DCi||(DCi={})),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"}(kCi||(kCi={}));class OCi{label;value;constructor(e,t){this.label=e,this.value=t}}class LCi extends OCi{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 MCi extends OCi{unit;constructor(e,t){super(e,ACi.FIRST_DAY_OF),this.unit=t}}class PCi extends OCi{day;constructor(e,t){super(e,ACi.PREVIOUS_DAY_OF_WEEK),this.day=t}}const FCi=[new LCi("Yesterday",ACi.YESTERDAY,1,NCi.DAYS,DCi.BEFORE,kCi.TODAY),new LCi("One Week Ago",ACi.ONE_WEEK_AGO,1,NCi.WEEKS,DCi.BEFORE,kCi.TODAY),new LCi("One Month Ago",ACi.ONE_MONTH_AGO,1,NCi.MONTHS,DCi.BEFORE,kCi.TODAY),new LCi("One Year Ago",ACi.ONE_YEAR_AGO,1,NCi.YEARS,DCi.BEFORE,kCi.TODAY)],BCi=e=>Object.values($ct).find(t=>lS(e,t)),VCi=(e,t,n)=>{if(e instanceof PCi){const i=new YE($ct.PREVIOUS_DAY_OF_WEEK);edt(i,yS.create(new ES(gS.DATE)));const r=new BE(yS.create(new ES(t.getType(zct.DAY_OF_WEEK))));return ldt(r,[...r.values,BS.create(Gs(t.getEnumeration(zct.DAY_OF_WEEK).values.filter(t=>t.name===e.day)[0]))],n),rdt(i,r,n),i}if(e instanceof MCi)switch(e.unit){case RCi.YEAR:{const e=new YE($ct.FIRST_DAY_OF_THIS_YEAR);return edt(e,yS.create(new ES(gS.DATE))),e}case RCi.QUARTER:{const e=new YE($ct.FIRST_DAY_OF_QUARTER);return edt(e,yS.create(new ES(gS.STRICTDATE))),e}case RCi.MONTH:{const e=new YE($ct.FIRST_DAY_OF_THIS_MONTH);return edt(e,yS.create(new ES(gS.DATE))),e}case RCi.WEEK:{const e=new YE($ct.FIRST_DAY_OF_WEEK);return edt(e,yS.create(new ES(gS.DATE))),e}default:throw new Yr(`Can't build expression for 'First Day Of ...' date picker option for unit '${e.unit}'`)}else switch(e.value){case ACi.TODAY:return zCi($ct.TODAY,gS.STRICTDATE);case ACi.NOW:return zCi($ct.NOW,gS.DATETIME);case kCi.FIRST_DAY_OF_THIS_YEAR:{const e=new YE($ct.FIRST_DAY_OF_THIS_YEAR);return edt(e,yS.create(new ES(gS.DATE))),e}case kCi.FIRST_DAY_OF_QUARTER:{const e=new YE($ct.FIRST_DAY_OF_QUARTER);return edt(e,yS.create(new ES(gS.STRICTDATE))),e}case kCi.FIRST_DAY_OF_MONTH:{const e=new YE($ct.FIRST_DAY_OF_THIS_MONTH);return edt(e,yS.create(new ES(gS.DATE))),e}case kCi.FIRST_DAY_OF_WEEK:{const e=new YE($ct.FIRST_DAY_OF_WEEK);return edt(e,yS.create(new ES(gS.DATE))),e}default:throw new Yr(`Can't build expression for date picker option '${e.value}'`)}},UCi=(e,t)=>{const n=t.getEnumeration(zct.DURATION_UNIT),i=n.values.filter(t=>t.name===Object.keys(NCi).filter(t=>NCi[t]===e)[0])[0];return i??Gs(n.values[0])},GCi=(e,t)=>{if(e instanceof YE&&lS(e.functionName,$ct.ADJUST)||e instanceof fA&&lS(e.function,$ct.ADJUST))try{const t=new LCi("",ACi.CUSTOM_DATE,(e=>{if(e instanceof YE){const t=e.parametersValues[1];return t instanceof FE?t.values[0]:t instanceof YE&&lS(t.functionName,$ct.MINUS)&&t.parametersValues[0]instanceof FE?t.parametersValues[0].values[0]:0}{const t=e.parameters[1];return t instanceof bA?t.value:t instanceof fA&&lS(t.function,$ct.MINUS)&&t.parameters[0]instanceof bA?t.parameters[0].value:0}})(e),(e=>Gs(e instanceof YE?Object.keys(NCi).filter(t=>t===e.parametersValues[2].values[0]?.value.name).map(e=>NCi[e])[0]:Object.values(NCi).filter(t=>t===js(e.parameters[2],KA).property)[0]))(e),(n=e)instanceof YE?n.parametersValues[1]instanceof YE&&lS(n.parametersValues[1].functionName,$ct.MINUS)?DCi.BEFORE:DCi.AFTER:n.parameters[1]instanceof fA&&lS(n.parameters[1].function,$ct.MINUS)?DCi.BEFORE:DCi.AFTER,(e=>{const t=e instanceof YE?e.parametersValues[0].functionName:e.parameters[0].function;switch(BCi(t)){case $ct.TODAY:return kCi.TODAY;case $ct.NOW:return kCi.NOW;case $ct.FIRST_DAY_OF_THIS_YEAR:return kCi.FIRST_DAY_OF_THIS_YEAR;case $ct.FIRST_DAY_OF_QUARTER:return kCi.FIRST_DAY_OF_QUARTER;case $ct.FIRST_DAY_OF_THIS_MONTH:return kCi.FIRST_DAY_OF_MONTH;case $ct.FIRST_DAY_OF_WEEK:return kCi.FIRST_DAY_OF_WEEK;case $ct.PREVIOUS_DAY_OF_WEEK:return kCi.PERVIOUS_DAY_OF_WEEK;default:throw new Yr(`Can't build custom date option reference moment '${t}'`)}})(e)),i=FCi.filter(e=>e.generateDisplayLabel()===t.generateDisplayLabel());return i.length>0?(t.label=Gs(i[0]?.label),t.value=Gs(i[0]?.value),t):(t.updateLabel(),t)}catch(e){Kr(e),t.notificationService.notifyError(e)}var n;return new LCi("","",0,void 0,void 0,void 0)},HCi=(e,t)=>{if(!(e instanceof YE||e instanceof fA)){if(e instanceof FE)return e.genericType.value.rawType.path===TC.LATESTDATE?new OCi(ACi.LATEST_DATE,ACi.LATEST_DATE):new OCi(e.values[0]??"",null===e.values[0]?"":e.genericType.value.rawType.path===TC.DATETIME?ACi.ABSOLUTE_TIME:ACi.ABSOLUTE_DATE);if(e instanceof AA)return new OCi(ACi.LATEST_DATE,ACi.LATEST_DATE);if(e instanceof xA)return new OCi(e.value,ACi.ABSOLUTE_DATE);if(e instanceof wA)return new OCi(e.value,ACi.ABSOLUTE_TIME);throw new Error(`Unexpected date V1_ValueSpecification: ${e}`)}{const n=e instanceof YE?e.functionName:e.function;switch(BCi(n)){case $ct.TODAY:return new OCi(ACi.TODAY,ACi.TODAY);case $ct.NOW:return new OCi(ACi.NOW,ACi.NOW);case $ct.FIRST_DAY_OF_THIS_YEAR:return new MCi(kCi.FIRST_DAY_OF_THIS_YEAR,RCi.YEAR);case $ct.FIRST_DAY_OF_QUARTER:return new MCi(kCi.FIRST_DAY_OF_QUARTER,RCi.QUARTER);case $ct.FIRST_DAY_OF_THIS_MONTH:return new MCi(kCi.FIRST_DAY_OF_MONTH,RCi.MONTH);case $ct.FIRST_DAY_OF_WEEK:return new MCi(kCi.FIRST_DAY_OF_WEEK,RCi.WEEK);case $ct.PREVIOUS_DAY_OF_WEEK:const n=e instanceof YE?e.parametersValues[0].values[0]?.value.name:js(e.parameters[0],KA).property;return new PCi(`Previous ${n}`,n);case $ct.ADJUST:return GCi(e,t);default:return new OCi("","")}}},zCi=(e,t)=>{const n=new YE(e);return edt(n,yS.create(new ES(t))),n},WCi=(e,t,n,i)=>{const r=new FE(yS.create(new ES(e.getPrimitiveType(t))));return ldt(r,[n],i),r},jCi=(e,t)=>{const n=On(e);return n.genericType=e.genericType,n.multiplicity=e.multiplicity,n},$Ci=(e,t)=>{const n=new KE(e.functionName);return sdt(n,zS.create(Gs(e.func.value))),ndt(n,e.parametersValues.map(e=>jCi(e)),t),n},qCi=(e,t,n,i)=>{const r=t.path;switch(r){case TC.STRING:case TC.STRICTDATE:case TC.DATETIME:case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.BINARY:case TC.BYTE:case TC.INTEGER:return WCi(e,r,i?vdt(r):null,n);case TC.BOOLEAN:return WCi(e,r,vdt(r),n);case TC.DATE:return WCi(e,TC.STRICTDATE,i?vdt(r):null,n);default:if(t instanceof RS){const e=new BE(yS.create(new ES(t)));if(i){if(!(t.values.length>0))throw new Yr(`Can't get default value for enumeration since enumeration '${r}' has no value`);ldt(e,[BS.create(t.values[0])],n)}return e}throw new Yr(`Can't get default value for type '${r}'`)}},YCi=(e,t)=>m6(((e,t)=>{const n=new QE(new XE(XC.create(e.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE));return n.expressionSequence[0]=qCi(e,gS.STRING,t,!0),n})(e.graph,t),e),KCi=(e,t,n,i)=>{const r=e.genericType?.value.rawType,s=e.multiplicity;if((!s.upperBound||s.upperBound>1)&&r&&r!==gS.BYTE)return new VE(s,yS.create(new ES(r)));if(r instanceof gS)return((e,t,n)=>{const i=e.name;return i===TC.DATE||i===TC.DATETIME?zCi($ct.NOW,gS.DATETIME):i===TC.STRICTDATE?zCi($ct.TODAY,gS.STRICTDATE):i===TC.DATE?WCi(t,TC.STRICTDATE,vdt(i),n):WCi(t,i,vdt(i),n)})(r,t,n);if(r instanceof RS){const e=new BE(yS.create(new ES(r))),t=(o=r,(new ub).getRandomItemInCollection(o.values)?.name??"");return""!==t&&ldt(e,[BS.create(Gw(r,t))],n),e}var o},XCi=(e,t,n)=>{if(e instanceof FE)return Xw(e.genericType.value.rawType,gS.DATE)?HCi(e,t).label:e.genericType.value.rawType===gS.STRING&&n?.wrapStringInDoubleQuotes?`"${e.values[0]?.toString()}"`:e.values[0]?.toString();if(e instanceof BE){const t=e.values[0];return n?.omitEnumOwnerName?t?.value.name:`${t?.ownerReference.value.name}.${t?.value.name}`}return e instanceof ME?e.name:e instanceof JE?XCi(e.getValue(),t,n):e instanceof YE?void 0!==e.genericType?.value.rawType&&Xw(e.genericType.value.rawType,gS.DATE)?HCi(e,t).label:e.functionName:e instanceof VE?e.values.map(e=>XCi(e,t,n)).join(","):void 0},QCi=(e,t,n)=>{let i=null;if(e instanceof gS)switch(e.path){case TC.STRING:i=new FE(yS.create(new ES(e))),ldt(i,[t.toString()],n);break;case TC.NUMBER:case TC.FLOAT:case TC.DECIMAL:case TC.INTEGER:{if(isNaN(Number(t)))return null;const r=e.path===TC.INTEGER?Number.parseInt(Number(t).toString(),10):Number(t);i=new FE(yS.create(new ES(e))),ldt(i,[r],n);break}case TC.DATE:case TC.STRICTDATE:if(isNaN(Date.parse(t)))return null;i=new FE(yS.create(new ES(e))),ldt(i,[t],n);break;case TC.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;i=new FE(yS.create(new ES(e))),ldt(i,[t],n);break;default:return null}return i},ZCi=(e,t)=>{const n=t?qy:e=>e,i=[n(e.func.value.name)];let r=e;for(;r instanceof KE;){for(r=r.parametersValues[0];r instanceof YE&&lS(r.functionName,$ct.SUBTYPE);){const e=`${CC}(${n(r.parametersValues.filter(e=>e instanceof PE)[0]?.genericType?.value.rawType.name??"")})`;i.unshift(e),r=r.parametersValues[0]}r instanceof KE&&i.unshift(n(r.func.value.name))}const s=[];for(const e of i)if(s.length){const t=Gs(s[s.length-1]);t.startsWith(CC)?s[s.length-1]=`${t}${e}`:s.push(e)}else s.push(e);return s.join(t?"/":".")},JCi=e=>{const t=[e.func.value.name];let n=e;for(;n instanceof KE;)n=n.parametersValues[0],n instanceof KE&&t.unshift(n.func.value.name);return t.join(".")},eSi=(e,t,n,i)=>{if(e.genericType){const r=e.genericType.value.rawType;if(r instanceof gS||r instanceof RS)return r===gS.LATESTDATE?new FE(yS.create(new ES(r))):qCi(t,r,i,n||0===e.multiplicity.lowerBound)}return(e=>new VE(nS.ZERO,yS.create(new ES(e.getType(exports.CORE_PURE_PATH.ANY)))))(t)};class tSi{queryBuilderState;path;title;propertyExpression;derivedProperty;parameters=[];propertyExpressionState;constructor(e,t,n){this.path=JCi(t),this.title=ZCi(t,!0),this.propertyExpression=ote(t,e.observerContext),this.queryBuilderState=e,this.derivedProperty=js(t.func.value,US),this.propertyExpressionState=n,Array.isArray(this.derivedProperty.parameters)&&(this.parameters=this.derivedProperty.parameters.map(e=>js(this.queryBuilderState.graphManagerState.graphManager.buildValueSpecification(e,this.queryBuilderState.graphManagerState.graph),ME))),(e=>{const t=e.parameterValues;e.parameters.forEach((n,i)=>{i<e.parameterValues.length?t[i]=Jct(e,i)??Gs(t[i]):t.push(Jct(e,i)??eSi(n,e.queryBuilderState.graphManagerState.graph,e.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue,e.queryBuilderState.observerContext))}),ndt(e.propertyExpression,[Gs(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 PE)||pdt(e))}}class nSi{queryBuilderState;propertyExpression;path;title;isEditingDerivedPropertyExpression=!1;derivedPropertyExpressionStates=[];requiresExistsHandling=!1;constructor(e,t){Hh(this,{isEditingDerivedPropertyExpression:ru,derivedPropertyExpressionStates:ru,setIsEditingDerivedProperty:hh,initDerivedPropertyExpressionStates:hh,isValid:lu,hashCode:lu}),this.queryBuilderState=e,this.propertyExpression=ote(t,e.observerContext),this.path=JCi(t),this.title=ZCi(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 KE;){if((void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(e=!0),n.func.value.genericType.value.rawType instanceof wS&&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&&sdt(n,zS.create(t))}if(n.func.value instanceof US){const e=new tSi(this.queryBuilderState,n,this);t.push(e)}for(n=n.parametersValues[0];n instanceof YE&&lS(n.functionName,$ct.SUBTYPE);)n=n.parametersValues[0]}this.requiresExistsHandling=e,this.derivedPropertyExpressionStates=t.slice().reverse()}get hashCode(){return $v([wdt.PROPERTY_EXPRESSION_STATE,this.propertyExpression])}}class iSi{uuid=ho()}class rSi{uuid=ho();lambdaPrefix;lambdaString;parserError;compilationError;typeAheadEnabled=!1;constructor(e,t,n){Hh(this,{lambdaString:ru,parserError:ru,compilationError:ru,typeAheadEnabled:ru,lambdaId:lu,fullLambdaString:lu,setLambdaString:hh,setTypeAhead:hh,clearErrors:hh,setCompilationError:hh,setParserError:hh,convertLambdaGrammarStringToObject:Rh,convertLambdaObjectToGrammarString:Rh}),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 IZ(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 h1)}}const sSi="PROJECTION_COLUMN";class oSi extends iSi{tdsState;columnName;wavgWeight;constructor(e,t){super(),Hh(this,{uuid:!1,tdsState:!1,columnName:ru,wavgWeight:ru,setColumnName:hh,setWavgWeight:hh,hashCode:lu}),this.tdsState=e,this.columnName=t}setColumnName(e){this.columnName=e}setWavgWeight(e){this.wavgWeight=e}}class aSi extends oSi{lambdaParameterName=Uct;propertyExpressionState;constructor(e,t,n){super(e,""),Hh(this,{lambdaParameterName:ru,propertyExpressionState:ru,setLambdaParameterName:hh,changeProperty:hh}),this.propertyExpressionState=new nSi(e.queryBuilderState,t),this.columnName=ZCi(this.propertyExpressionState.propertyExpression,n)}setLambdaParameterName(e){this.lambdaParameterName=e}isVariableUsed(e){return Boolean(this.propertyExpressionState.derivedPropertyExpressionStates.find(t=>t.parameterValues.find(t=>Sdt(e,t))))}changeProperty(e,t){this.propertyExpressionState=new nSi(this.tdsState.queryBuilderState,Cxi(e,this.tdsState.queryBuilderState.explorerState)),this.columnName=ZCi(this.propertyExpressionState.propertyExpression,t)}getColumnType(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get hashCode(){return $v([wdt.SIMPLE_PROJECTION_COLUMN_STATE,this.propertyExpressionState,this.columnName])}}class lSi extends rSi{queryBuilderState;derivationProjectionColumnState;readOnlylambdaJson="";constructor(e,t){super("",""),this.queryBuilderState=e,this.derivationProjectionColumnState=t}get lambdaId(){return tte([Lct.QUERY_BUILDER,Lct.PROJECTION,this.derivationProjectionColumnState.uuid])}setLambdaJson(e){this.readOnlylambdaJson=e}*convertLambdaGrammarStringToObject(){const e=Rj();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){Kr(e),e instanceof NZ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.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 DE(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){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.PARSING_FAILURE),e)}else this.clearErrors(),this.setLambdaString("")}}class cSi extends oSi{derivationLambdaEditorState;lambda;returnType;fetchingLambdaReturnTypeState=hb.create();constructor(e,t){super(e,"(derivation)"),Hh(this,{lambda:ru,returnType:ru,fetchingLambdaReturnTypeState:ru,setLambda:hh,fetchDerivationLambdaReturnType:Rh,setLambdaReturnType:hh}),this.derivationLambdaEditorState=new lSi(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{Ks(!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)),Ks(Array.isArray(this.lambda.parameters));const t=this.tdsState.queryBuilderState.graphManagerState.graph,n=this.getIsolatedRawLambda(),i=yield this.tdsState.queryBuilderState.graphManagerState.graphManager.getLambdaReturnType(n,t);this.setLambdaReturnType(i)}catch(e){Kr(e),this.tdsState.queryBuilderState.applicationStore.logService.info(vb.create(sw.COMPILATION_FAILURE),e)}finally{this.fetchingLambdaReturnTypeState.complete(),e?.isBeingDropped&&this.tdsState.postFilterState.setDerivedColumnBeingDropped(void 0)}}getIsolatedRawLambda(){Ks(Array.isArray(this.lambda.parameters));const e=this.lambda.parameters;Ks(1===e.length);const t=e[0];qs(t.name);const n=this.tdsState.queryBuilderState,i=new kE(t.name,nS.ONE,XC.create(Gs(n.class))),r=n.graphManagerState.graphManager.serializeRawValueSpecification(i),s=n.parametersState.parameterStates.map(e=>n.graphManagerState.graphManager.serializeValueSpecification(e.parameter)),o=n.constantState.constants.map(e=>e.buildLetExpression()).map(e=>n.graphManagerState.graphManager.serializeValueSpecification(e));let a=this.lambda.body;o.length&&(a=Array.isArray(this.lambda.body)?[...o,...this.lambda.body]:[...o,this.lambda.body]);return new DE([r,...s],a)}setLambdaReturnType(e){const t=this.tdsState.queryBuilderState.graphManagerState.graph.getType(e);Ks(t instanceof gS||t instanceof RS,"Projection column must have return type of either primitve type or enumeration"),this.setReturnType(t)}getColumnType(){return this.returnType}get hashCode(){return $v([wdt.DERIVATION_PROJECTION_COLUMN_STATE,this.returnType??"",this.lambda,this.columnName])}}class dSi{uuid=ho();constructor(){Hh(this,{getOperator:lu,allValidationIssues:lu,hashCode:lu})}buildAggregateExpressionFromState(e){return this.buildAggregateExpression(e.projectionColumnState instanceof aSi?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 uSi extends iSi{aggregationState;projectionColumnState;lambdaParameterName=Uct;operator;calendarFunction;hideCalendarColumnState=!0;constructor(e,t,n){super(),Hh(this,{projectionColumnState:ru,lambdaParameterName:ru,calendarFunction:ru,hideCalendarColumnState:ru,operator:ru,setHideCalendarColumnState:hh,setColumnState:hh,setLambdaParameterName:hh,setOperator:hh,setCalendarFunction:hh,handleUsedPostFilterType:hh,hashCode:lu}),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 cSi&&this.projectionColumnState.setReturnType(e)}get hashCode(){return $v([wdt.AGGREGATE_COLUMN_STATE,this.operator,this.calendarFunction??""])}get columnName(){return this.projectionColumnState.columnName}}class hSi{tdsState;operators=[];calendarFunctions;columns=[];constructor(e,t,n){Hh(this,{columns:ru,removeColumn:hh,addColumn:hh,changeColumnAggregateOperator:hh,disableCalendar:hh,allValidationIssues:lu,hashCode:lu}),this.tdsState=e,this.operators=t,this.calendarFunctions=n}removeColumn(e){Eo(this.columns,e)}addColumn(e){Co(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 uSi(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 $v([wdt.AGGREGATION_STATE,$v(this.columns)])}}const pSi=(e,t,n)=>{const i=new YE(sS(e));return i.parametersValues.push(new ME(t,nS.ONE)),i},gSi=(e,t,n,i,r)=>{if(lS(n.functionName,i)){const s=new uSi(e.tdsState.aggregationState,e,r);s.setLambdaParameterName(t.name),Ks(1===n.parametersValues.length,`Can't process ${sS(i)}() expression: ${sS(i)}() expects no argument`);const o=js(n.parametersValues[0],ME,`Can't process ${sS(i)}() expression: only support ${sS(i)}() immediately following a variable expression`);return Ks(s.lambdaParameterName===o.name,`Can't process ${sS(i)}() expression: expects variable used in lambda body '${o.name}' to match lambda parameter '${s.lambdaParameterName}'`),Ks(r.isCompatibleWithColumn(s.projectionColumnState),`Can't process ${sS(i)}() expression: property is not compatible with operator`),s.setOperator(r),s}};class mSi extends dSi{getLabel(e){return"average"}isCompatibleWithColumn(e){if(e instanceof aSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return pSi($ct.AVERAGE,t)}buildAggregateColumnState(e,t,n){return gSi(n,t,e,$ct.AVERAGE,this)}getReturnType(e){return gS.FLOAT}get hashCode(){return $v([wdt.AGGREGATE_OPERATOR_AVERAGE])}}class fSi extends dSi{getLabel(e){return"count"}isCompatibleWithColumn(e){if(e instanceof aSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)||t instanceof RS}return!0}buildAggregateExpression(e,t,n){return pSi($ct.COUNT,t)}buildAggregateColumnState(e,t,n){return gSi(n,t,e,$ct.COUNT,this)}getReturnType(e){return gS.INTEGER}get hashCode(){return $v([wdt.AGGREGATE_OPERATOR_COUNT])}}class ySi extends dSi{getLabel(e){return"distinct count"}isCompatibleWithColumn(e){if(e instanceof aSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)||t instanceof RS}return!0}buildAggregateExpression(e,t,n){const i=new YE(sS($ct.DISTINCT));i.parametersValues.push(new ME(t,nS.ONE));const r=new YE(sS($ct.COUNT));return r.parametersValues.push(i),r}buildAggregateColumnState(e,t,n){if(lS(e.functionName,$ct.COUNT)){const i=new uSi(n.tdsState.aggregationState,n,this);i.setLambdaParameterName(t.name),Ks(1===e.parametersValues.length,"Can't process count() expression: count() expects no argument");const r=js(e.parametersValues[0],YE,`Can't process '${this.getLabel(n)}' aggregate lambda: only support count() immediately following an expression`);Ks(lS(r.functionName,$ct.DISTINCT),`Can't process '${this.getLabel(n)}' aggregate lambda: only support count() immediately following distinct() expression`),Ks(1===r.parametersValues.length,"Can't process distinct() expression: distinct() expects no argument");const s=js(r.parametersValues[0],ME,"Can't process distinct() expression: only support distinct() immediately following a variable expression");return Ks(i.lambdaParameterName===s.name,`Can't process distinct() expression: expects variable used in lambda body '${s.name}' to match lambda parameter '${i.lambdaParameterName}'`),Ks(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process disc expression: property is not compatible with operator"),i.setOperator(this),i}}getReturnType(e){return gS.INTEGER}get hashCode(){return $v([wdt.AGGREGATE_OPERATOR_DISTINCT_COUNT])}}class vSi extends dSi{getLabel(e){return"max"}isCompatibleWithColumn(e){if(e instanceof aSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return pSi([TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e?.func.value.genericType.value.rawType.path??TC.NUMBER)?$ct.DATE_MAX:$ct.MAX,t)}buildAggregateColumnState(e,t,n){if(n instanceof aSi){switch(n.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path){case TC.NUMBER:case TC.INTEGER:case TC.DECIMAL:case TC.FLOAT:if(!lS(e.functionName,$ct.MAX))return;return gSi(n,t,e,$ct.MAX,this);case TC.DATE:case TC.STRICTDATE:case TC.DATETIME:if(!lS(e.functionName,$ct.DATE_MAX))return;return gSi(n,t,e,$ct.DATE_MAX,this);default:return}}return lS(e.functionName,$ct.MAX)?gSi(n,t,e,$ct.MAX,this):lS(e.functionName,$ct.DATE_MAX)?gSi(n,t,e,$ct.DATE_MAX,this):void 0}get hashCode(){return $v([wdt.AGGREGATE_OPERATOR_MAX])}}class _Si extends dSi{getLabel(e){return"min"}isCompatibleWithColumn(e){if(e instanceof aSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return pSi([TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e?.func.value.genericType.value.rawType.path??TC.NUMBER)?$ct.DATE_MIN:$ct.MIN,t)}buildAggregateColumnState(e,t,n){if(n instanceof aSi){switch(n.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path){case TC.NUMBER:case TC.INTEGER:case TC.DECIMAL:case TC.FLOAT:if(!lS(e.functionName,$ct.MIN))return;return gSi(n,t,e,$ct.MIN,this);case TC.DATE:case TC.STRICTDATE:case TC.DATETIME:if(!lS(e.functionName,$ct.DATE_MIN))return;return gSi(n,t,e,$ct.DATE_MIN,this);default:return}}return lS(e.functionName,$ct.MIN)?gSi(n,t,e,$ct.MIN,this):lS(e.functionName,$ct.DATE_MIN)?gSi(n,t,e,$ct.DATE_MIN,this):void 0}get hashCode(){return $v([wdt.AGGREGATE_OPERATOR_MIN])}}class bSi extends dSi{getLabel(e){return"std dev (population)"}isCompatibleWithColumn(e){if(e instanceof aSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return pSi($ct.STD_DEV_POPULATION,t)}buildAggregateColumnState(e,t,n){return gSi(n,t,e,$ct.STD_DEV_POPULATION,this)}getReturnType(e){return gS.NUMBER}get hashCode(){return $v([wdt.AGGREGATE_OPERATOR_STD_DEV_POPULATION])}}class CSi extends dSi{getLabel(e){return"std dev (sample)"}isCompatibleWithColumn(e){if(e instanceof aSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return pSi($ct.STD_DEV_SAMPLE,t)}buildAggregateColumnState(e,t,n){return gSi(n,t,e,$ct.STD_DEV_SAMPLE,this)}getReturnType(e){return gS.NUMBER}get hashCode(){return $v([wdt.AGGREGATE_OPERATOR_STD_DEV_SAMPLE])}}class SSi extends dSi{getLabel(e){return"sum"}isCompatibleWithColumn(e){if(e instanceof aSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return pSi($ct.SUM,t)}buildAggregateColumnState(e,t,n){return gSi(n,t,e,$ct.SUM,this)}get hashCode(){return $v([wdt.AGGREGATE_OPERATOR_SUM])}}class ESi{columnState;sortType=Yct.ASC;constructor(e){Hh(this,{columnState:ru,sortType:ru,setColumnState:hh,setSortType:hh,hashCode:lu}),this.columnState=e}setColumnState(e){this.columnState=e}setSortType(e){this.sortType=e}get hashCode(){return $v([wdt.SORT_COLUMN_STATE,this.sortType.toString(),this.columnState])}}class wSi{tdsState;showModal=!1;limit;distinct=!1;sortColumns=[];slice;constructor(e){Hh(this,{showModal:ru,limit:ru,distinct:ru,sortColumns:ru,slice:ru.ref,setShowModal:hh,setLimit:hh,setDistinct:hh,setSortColumns:hh,addSortColumn:hh,updateSortColumns:hh,setSlice:hh,reset:hh,hashCode:lu}),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){Co(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 $v([wdt.RESULT_SET_MODIFIER_STATE,$v(this.sortColumns),this.limit?.toString()??"",this.distinct.toString()])}}var xSi;!function(e){e.TABULAR_DATA_STRUCTURE="TABULAR_DATA_STRUCTURE",e.GRAPH_FETCH="GRAPH_FETCH"}(xSi||(xSi={}));class TSi{queryBuilderState;fetchStructureState;constructor(e,t){Hh(this,{usedExplorerTreePropertyNodeIDs:lu,fetchStructureValidationIssues:lu,allValidationIssues:lu,hasInvalidFilterValues:lu,hasInvalidDerivedPropertyParameters:lu,hashCode:lu}),this.queryBuilderState=e,this.fetchStructureState=t}get TEMPORARY__showPostFetchStructurePanel(){return this.queryBuilderState.filterState.showPanel}}class ASi{uuid=ho();getTDSColumnGetter(){}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!!t&&this.isCompatibleWithType(t)}}const NSi=(e,t)=>Gs(((e,t)=>e.tdsColumns.find(e=>e.columnName===t))(e,t),`Column ${t} not found in TDS`),RSi=e=>{if(e instanceof RS)return qct.GET_ENUM;switch(e.path){case TC.STRING:return qct.GET_STRING;case TC.NUMBER:return qct.GET_NUMBER;case TC.INTEGER:return qct.GET_INTEGER;case TC.FLOAT:return qct.GET_FLOAT;case TC.DECIMAL:return qct.GET_DECIMAL;case TC.DATE:return qct.GET_DATE;case TC.DATETIME:return qct.GET_DATETIME;case TC.STRICTDATE:return qct.GET_STRICTDATE;case TC.BOOLEAN:return qct.GET_BOOLEAN;default:throw new Yr(`Can't find TDS column derived property name for type: '${e.path}'`)}};var ISi;!function(e){e.AND="and",e.OR="or"}(ISi||(ISi={}));const DSi=e=>{switch(e){case ISi.AND:return $ct.AND;case ISi.OR:return $ct.OR;default:throw new Yr(`Can't derive function name from group operation '${e}'`)}},kSi=e=>{if(lS(e,$ct.AND))return ISi.AND;if(lS(e,$ct.OR))return ISi.OR;throw new Yr(`Can't derive group operation from function name '${e}'`)},OSi=(e,t)=>{const n=t.tdsState,i=e.func.value.name;Ks(Object.values(qct).includes(i),`Can't process TDS column expression: TDS column property '${i}' not supported. Supported types are ${Object.values(qct).join(",")}`);const r=i,s=e.parametersValues[1],o=io(js(s,FE,"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=NSi(n,o);if(r!==qct.IS_NULL&&r!==qct.IS_NOT_NULL){if(a instanceof cSi){const e=xEi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.setReturnType(e),a}if(a instanceof uSi&&a.projectionColumnState instanceof cSi){const e=xEi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.handleUsedPostFilterType(e),a}const e=Gs(a.getColumnType());Ks(RSi(e)===r,`Can't process TDS column expression: expected column type ${RSi(e)} (got ${r})`)}return a},LSi=(e,t,n,i)=>{let r;const s=i.getTDSColumnGetter();if(s&&t instanceof KE&&t.func.value.name===s){const n=OSi(t,e);return r=new OEi(e,n,i),r}if(n&&lS(t.functionName,n)){Ks(2===t.parametersValues.length,`Can't process ${sS(n)}() expression: ${sS(n)}() expects '1 argument'`);const s=t.parametersValues[0];let o;if(s instanceof KE)o=OSi(s,e);else{if(!(s instanceof qE))throw new Yr(`Can't process ${sS(n)}() expression: expects property expression in lambda body`);{const t=s.functionName;o=NSi(e.tdsState,t)}}const a=t.parametersValues[1];r=new OEi(e,o,i),((e,t)=>{if(e instanceof KE){const n=Xr(()=>OSi(e,t.postFilterState));if(n)return void t.setRightConditionVal(new kEi(t,n))}const n=e?Edt(e,t.postFilterState.tdsState.queryBuilderState.observerContext):void 0;t.setRightConditionVal(new DEi(t,n))})(a,r),Ks(i.isCompatibleWithPostFilterColumn(r),`Can't process ${sS(n)}() expression: property is not compatible with post-filter operator`),Ks(i.isCompatibleWithConditionValue(r),`Operator '${i.getLabel()}' not compatible with value specification ${a?.toString()}`)}return r},MSi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(!lS(e.functionName,[$ct.AND,$ct.OR])){for(const n of t.operators){const r=n.buildPostFilterConditionState(t,e);if(r)return void t.addNodeFromNode(new NEi(void 0,r),i)}throw new Yr("Can't process post-filter expression: no compatible post-filter operator processer available from plugins")}{const r=new AEi(n,kSi(e.functionName));t.nodes.set(r.id,r),e.parametersValues.forEach(e=>MSi(js(e,qE,"Can't process post-filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}},PSi=(e,t,n,i,r)=>{const s=r?.expressionSequence[0]?jK(r.expressionSequence[0]):void 0,o=new ME(e.postFilterState.lambdaParameterName,nS.ONE);if(s){const e=Gs(s.columns.find(e=>t.columnName===e.name),`Can't find property ${t.columnName} in relation`),n=new qE(e.name);return n.func=e,n.parametersValues=[o],n}{const e=new KE("");let r;const s=i?i.getTDSColumnGetter():void 0;if(s)r=s;else{const e=Gs(t.getColumnType());r=RSi(e)}e.func=zS.create(Gs($w(n.getClass(zct.TDS_ROW)).find(e=>e.name===r)));const a=new FE(yS.create(new ES(gS.STRING)));return a.values=[t.columnName],e.parametersValues=[o,a],e}},FSi=(e,t,n,i)=>{const r=e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,s=PSi(e,e.leftConditionValue,r,t,i);if(n){const t=new YE(sS(n));return t.parametersValues.push(s),e.rightConditionValue.appendConditionValue(t,i),t}return s};class BSi extends ASi{getLabel(){return"starts with"}isCompatibleWithType(e){return gS.STRING===e}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&gS.STRING===e.rightConditionValue.type}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();if(t?.path===TC.STRING)return qCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}buildPostFilterConditionExpression(e,t){return FSi(e,this,$ct.STARTS_WITH,t)}buildPostFilterConditionState(e,t){return LSi(e,t,$ct.STARTS_WITH,this)}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_START_WITH])}}class VSi extends BSi{getLabel(){return"doesn't start with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?mdt(n):void 0}buildPostFilterConditionState(e,t){const n=gdt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_NOT_START_WITH])}}var USi;!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"}(USi||(USi={}));const GSi=e=>{let t=e;for(;t instanceof KE;){if(void 0===t.func.value.multiplicity.upperBound||t.func.value.multiplicity.upperBound>1)return!0;for(t=t.parametersValues[0];t instanceof YE&&lS(t.functionName,$ct.SUBTYPE);)t=t.parametersValues[0]}return!1};class HSi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return $v([wdt.FILTER_CONDITION_RIGHT_VALUE])}}class zSi extends HSi{value;constructor(e,t){super(e),Hh(this,{value:ru,setValue:hh}),this.value=this.setValue(t)}get type(){return this.value instanceof VE?hdt(this.conditionState.filterState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?udt(this.value):void 0}setValue(e){return this.value=e?xte(e,this.conditionState.filterState.queryBuilderState.observerContext):void 0,this.value}get isCollection(){return this.value instanceof VE}get hashCode(){return $v([wdt.FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class WSi extends HSi{propertyExpressionState;constructor(e,t){super(e),Hh(this,{propertyExpressionState:ru,changePropertyExpressionState:hh}),this.propertyExpressionState=t}get type(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get isCollection(){return GSi(this.propertyExpressionState.propertyExpression)}changePropertyExpressionState(e){this.propertyExpressionState=e}}class jSi{filterState;propertyExpressionState;operator;rightConditionValue;existsLambdaParamNames=[];typeaheadSearchResults;typeaheadSearchState=hb.create();constructor(e,t,n){Hh(this,{propertyExpressionState:ru,operator:ru,rightConditionValue:ru,existsLambdaParamNames:ru,typeaheadSearchResults:ru,changeOperator:hh,setOperator:hh,setRightConditionValue:hh,addExistsLambdaParamNames:hh,buildRightConditionValueFromValueSpec:hh,buildRightConditionValueFromPropertyExpressionState:hh,handleTypeaheadSearch:Rh,operators:lu,hashCode:lu}),this.filterState=e,this.propertyExpressionState=new nSi(e.queryBuilderState,t),n?this.operator=n:(Ks(0!==this.operators.length,`Can't find an operator for property '${this.propertyExpressionState.path}': no operators registered`),this.operator=this.operators[0]),this.buildRightConditionValueFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}get operators(){return this.filterState.operators.filter(e=>e.isCompatibleWithFilterConditionProperty(this))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=js(this.rightConditionValue,zSi),n=e??t.value;if(EEi(n)){const e=(yield this.filterState.queryBuilderState.graphManagerState.graphManager.runQuery(CEi(this.filterState.queryBuilderState,this.propertyExpressionState.propertyExpression,n),Gs(this.filterState.queryBuilderState.executionContextState.mapping),Gs(this.filterState.queryBuilderState.executionContextState.runtimeValue),this.filterState.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.filterState.queryBuilderState.forceFromExpressionForExec})).executionResult;this.typeaheadSearchResults=SEi(e)}this.typeaheadSearchState.pass()}catch(e){Kr(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 VE&&this.rightConditionValue instanceof zSi&&this.rightConditionValue.value instanceof PE&&pdt(this.rightConditionValue.value)&&""!==this.rightConditionValue.value.values[0]?ldt(e,[this.rightConditionValue.value],this.filterState.queryBuilderState.observerContext):e instanceof PE&&this.rightConditionValue instanceof zSi&&this.rightConditionValue.value instanceof VE&&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 zSi?this.rightConditionValue.setValue(e):this.setRightConditionValue(new zSi(this,e))}buildRightConditionValueFromPropertyExpressionState(e){this.rightConditionValue instanceof WSi?this.rightConditionValue.changePropertyExpressionState(e):this.setRightConditionValue(new WSi(this,e))}get hashCode(){return $v([wdt.FILTER_CONDITION_STATE,this.propertyExpressionState,this.rightConditionValue??"",this.operator])}}class $Si{id=ho();label="";isOpen;parentId;constructor(e){this.parentId=e,Hh(this,{isOpen:ru,parentId:ru,setIsOpen:hh,setParentId:hh,hashCode:lu})}setIsOpen(e){this.isOpen=e}setParentId(e){this.parentId=e}}class qSi extends $Si{childrenIds=[];lambdaParameterName;constructor(e){super(e),Hh(this,{childrenIds:ru,addChildNode:hh,removeChildNode:hh,dragPreviewLabel:lu}),this.isOpen=!0}addChildNode(e){Co(this.childrenIds,e.id),e.setParentId(this.id)}removeChildNode(e){Eo(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 YSi extends qSi{groupOperation;constructor(e,t){super(e),Hh(this,{groupOperation:ru,setGroupOperation:hh}),this.groupOperation=t,this.isOpen=!0}get dragPreviewLabel(){return`${this.groupOperation.toUpperCase()} group`}setGroupOperation(e){this.groupOperation=e}get hashCode(){return $v([wdt.FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",$v(this.childrenIds),this.groupOperation,this.lambdaParameterName??""])}}class KSi extends qSi{filterState;propertyExpressionState;constructor(e,t){super(t),Hh(this,{propertyExpressionState:ru,setPropertyExpression:hh}),this.filterState=e,this.isOpen=!0}get dragPreviewLabel(){return"exists"}setPropertyExpression(e){this.propertyExpressionState=new nSi(this.filterState.queryBuilderState,e)}get hashCode(){return $v([wdt.FILTER_TREE_EXISTS_NODE_DATA,this.parentId??"",$v(this.childrenIds),this.propertyExpressionState.propertyExpression,this.lambdaParameterName??""])}}const XSi=e=>{let t=e.condition.filterState.getParentNode(e);for(;void 0!==t;){if(t instanceof KSi)return!0;t=e.condition.filterState.getParentNode(t)}return!1};class QSi extends $Si{condition;isNewlyAdded;constructor(e,t){super(e),Hh(this,{condition:ru,isNewlyAdded:ru,setIsNewlyAdded:hh,dragPreviewLabel:lu}),this.isNewlyAdded=!1,this.condition=t}setIsNewlyAdded(e){this.isNewlyAdded=e}get dragPreviewLabel(){return this.condition.propertyExpressionState.title}get hashCode(){return $v([wdt.FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class ZSi extends $Si{constructor(e){super(e),Hh(this,{dragPreviewLabel:lu})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return $v([wdt.FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class JSi{queryBuilderState;lambdaParameterName=Uct;rootIds=[];nodes=new Map;selectedNode;isRearrangingConditions=!1;operators=[];showPanel=!0;constructor(e,t){Hh(this,{rootIds:ru,nodes:ru,selectedNode:ru,isRearrangingConditions:ru,lambdaParameterName:ru,showPanel:ru,setLambdaParameterName:hh,setRearrangingConditions:hh,setSelectedNode:hh,addNodeFromNode:hh,replaceBlankNodeWithNode:hh,addGroupConditionNodeFromNode:hh,newGroupConditionFromNode:hh,newGroupWithConditionFromNode:hh,removeNodeAndPruneBranch:hh,pruneTree:hh,simplifyTree:hh,collapseTree:hh,setShowPanel:hh,expandTree:hh,allValidationIssues:lu,hasInvalidFilterValues:lu,hasInvalidDerivedPropertyParameters:lu,hashCode:lu}),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 Gs(this.nodes.get(e),`Can't find query builder filter tree node with ID '${e}'`)}getRootNode(){Ks(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?js(this.nodes.get(e.parentId),qSi):void 0}addRootNode(e){const t=this.getRootNode();if(this.nodes.set(e.id,e),t instanceof YSi)t.addChildNode(e);else if(t instanceof QSi||t instanceof ZSi||t instanceof KSi){const n=new YSi(void 0,ISi.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 YSi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof KSi)if(t.childrenIds.length){this.nodes.set(e.id,e);const n=new YSi(void 0,ISi.AND);n.addChildNode(Gs(this.nodes.get(Gs(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 QSi||t instanceof ZSi){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 YSi(void 0,ISi.AND),n=new ZSi(void 0),i=new ZSi(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 YSi(void 0,n??ISi.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):(Eo(this.rootIds,e.id),this.addRootNode(r)),r}newGroupWithConditionFromNode(e,t){const n=e??new ZSi(void 0);if(t instanceof QSi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new YSi(void 0,ISi.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 qSi&&[...e.childrenIds].forEach(t=>e.removeChildNode(this.getNode(t)));const t=this.getParentNode(e);t?t.removeChildNode(e):Eo(this.rootIds,e.id)}pruneChildlessGroupNodes(){const e=()=>Array.from(this.nodes.values()).filter(zs(YSi)).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):Co(this.rootIds,n)}),this.nodes.delete(e.id),t?t.removeChildNode(e):Eo(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 YSi&&!(n.childrenIds.length>=2);)this.squashGroupNode(n),n=this.getParentNode(n)}else Eo(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 ZSi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(zs(YSi)).filter(e=>e.childrenIds.length<2).filter(e=>{if(!e.childrenIds.length)throw new qr("Query builder filter tree found unexpected childless group nodes");const t=e.childrenIds[0];if(this.getNode(t)instanceof ZSi)throw new qr("Query builder filter tree found unexpected blank nodes");return this.getNode(t)instanceof QSi});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(zs(YSi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;const t=this.nodes.get(e.parentId);return t instanceof YSi&&t.groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=js(this.nodes.get(Gs(e.parentId)),YSi);[...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(zs(QSi)).map(e=>e.condition.rightConditionValue instanceof zSi?e.condition.rightConditionValue.value:void 0).filter(Vs).find(t=>Sdt(e,t)))}isInvalidFilterPropertyExpressionState(e){return e instanceof QSi&&!e.condition.propertyExpressionState.isValid}isInvalidValueSpecFilterValue(e){return e instanceof QSi&&e.condition.rightConditionValue instanceof zSi&&e.condition.rightConditionValue.value instanceof PE&&!pdt(e.condition.rightConditionValue.value)}isInvalidPropertyExpressionStateFilterValue(e){return e instanceof QSi&&e.condition.rightConditionValue instanceof WSi&&!e.condition.rightConditionValue.propertyExpressionState.isValid}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof QSi&&(this.isInvalidValueSpecFilterValue(t)&&e.push(`Filter value for ${t.condition.propertyExpressionState.title} is missing or invalid`),this.isInvalidFilterPropertyExpressionState(t)&&e.push(`Derived property parameter value for ${t.condition.propertyExpressionState.title} is missing or invalid`),t.condition.rightConditionValue instanceof WSi&&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 $v([wdt.FILTER_STATE,$v(this.rootIds),$v(Array.from(this.nodes.values()))])}}const eEi=e=>e.getValue()instanceof JE?eEi(js(e.getValue(),JE)):e.getValue(),tEi=(e,t,n,i,r)=>{const s=new KE("");let o;s.func=e.func,s.parametersValues=[...e.parametersValues];let a=s;for(;a instanceof KE;){if(o=a.parametersValues[0],o instanceof KE){const e=new KE("");e.func=o.func,e.parametersValues=[...o.parametersValues],o=e,idt(a,e,0,t.observerContext)}if(a instanceof KE&&a.func.value instanceof US)if(i?.useAllVersionsForMilestoning&&a.func.value.genericType.value.rawType instanceof wS&&0!==a.func.value._OWNER._generatedMilestonedProperties.length){const e=a.func.value.name,n=a.func.value._OWNER._generatedMilestonedProperties.find(t=>t.name===`${e}${OC.ALL_VERSIONS}`);n&&(sdt(a,zS.create(n)),ndt(a,[Gs(a.parametersValues[0])],t.observerContext))}else{const e=a;a.parametersValues.slice(1).forEach((t,n)=>{t instanceof JE&&(!r&&t.isPropagatedValue?1===n&&3===e.parametersValues.length||0===n&&3===e.parametersValues.length&&!(e.parametersValues[2]instanceof JE&&!0===e.parametersValues[2].isPropagatedValue)?e.parametersValues[n+1]=eEi(t):e.parametersValues=[Gs(js(a,KE).parametersValues[0])]:e.parametersValues[n+1]=eEi(t))})}for(a=o;a instanceof YE&&lS(a.functionName,$ct.SUBTYPE);)a=a.parametersValues[0]}return a instanceof ME&&odt(a,n),s},nEi=(e,t)=>{if(t instanceof QSi){const n=t.parentId?js(e.nodes.get(t.parentId),qSi):void 0;return t.condition.operator.buildFilterConditionExpression(t.condition,n?.lambdaParameterName)}if(t instanceof YSi){const n=new YE(sS(DSi(t.groupOperation))),i=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>nEi(e,t)).filter(Vs);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 YE(sS(DSi(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 KSi){const n=new YE(sS($ct.EXISTS));let i=t.parentId?js(e.nodes.get(Gs(t.parentId)),qSi):void 0;for(;i&&!(i instanceof YSi);)i=i.parentId?js(e.nodes.get(Gs(i.parentId)),qSi):void 0;const r=t.parentId?js(e.nodes.get(Gs(t.parentId)),qSi).lambdaParameterName:void 0,s=Gs(tEi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,r??e.lambdaParameterName)),o=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>nEi(e,t)).filter(Vs);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 YE(Gs(i).groupOperation);s.parametersValues=[n,r],t=s}a=[e,t]}else{if(1===o.length){const i=_dt(t.lambdaParameterName??Uct,o,e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,i],n}a=o}if(!a.length)return;const l=new YE(sS(DSi(Gs(i).groupOperation)));l.parametersValues=a;const c=_dt(t.lambdaParameterName??Uct,[l],e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,c],n}};var iEi,rEi;!function(e){e.RUN="RUN",e.EXPORT="EXPORT",e.DATA_CUBE="DATA_CUBE"}(iEi||(iEi={})),function(e){e.LAMBDA_PARAMETER_STATE="LAMBDA_PARAMETER_STATE",e.LAMBDA_PARAMETERS_STATE="LAMBDA_PARAMETERS_STATE"}(rEi||(rEi={}));const sEi=(e,t)=>{const n=new QE(new XE(XC.create(e.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE));return n.expressionSequence=t.map(e=>{if(e.value){const t=new YE(sS(exports.SUPPORTED_FUNCTIONS.LET)),n=new FE(yS.create(new ES(gS.STRING)));return n.values=[e.variableName],t.parametersValues.push(n),t.parametersValues.push(e.value),t}}).filter(Vs),n},oEi=e=>e.value instanceof YE&&[nS.ONE,nS.ZERO_ONE].some(t=>ex(t,e.parameter.multiplicity)),aEi=e=>e.filter(oEi),lEi=(e,t)=>e.filter(e=>!oEi(e)).map(e=>{const n=new pK;return n.name=e.parameter.name,n.value=t.graphManager.serializeValueSpecification(Gs(e.value)),n}),cEi=(e,t,n)=>{const i=((e,t)=>{const n=aEi(e);if(n.length>0){const i=sEi(t.graph,n);return i.functionType.parameters=e.filter(e=>!n.includes(e)).map(e=>e.parameter),m6(i,t)}})(t,n);return i&&Array.isArray(e.body)&&Array.isArray(i.body)?(i.body=[...i.body,...e.body],i):e};class dEi{uuid=ho();parameter;graph;observerContext;value;constructor(e,t,n){Hh(this,{value:ru,setValue:hh,mockParameterValue:hh,hashCode:lu}),this.observerContext=t,this.parameter=ite(e),this.graph=n}get hashCode(){return $v([rEi.LAMBDA_PARAMETER_STATE,this.parameter])}mockParameterValue(){this.setValue(KCi(this.parameter,this.graph,this.observerContext))}setValue(e){if(e instanceof ME)throw new qr("Can not assign a parameter to another parameter");this.value=e?xte(e,this.observerContext):void 0}changeVariableType(e){e!==this.variableType&&(edt(this.parameter,yS.create(new ES(e))),this.mockParameterValue())}changeMultiplicity(e,t){const n=this.parameter.multiplicity;ex(n,t)||(tdt(e,t),this.mockParameterValue())}get variableName(){return this.parameter.name}get variableType(){return this.parameter.genericType?.value.rawType}}class uEi{showModal=!1;submitAction;constructor(){Hh(this,{showModal:ru,submitAction:ru,setShowModal:hh,open:hh,setSubmitAction:hh})}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 hEi{parameterStates=[];parameterValuesEditorState=new uEi;constructor(){Hh(this,{hashCode:lu})}get hashCode(){return $v([rEi.LAMBDA_PARAMETERS_STATE,$v(this.parameterStates)])}addParameter(e){Co(this.parameterStates,e)}removeParameter(e){Eo(this.parameterStates,e)}setParameters(e){this.parameterStates=e}}class pEi{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 gEi extends pEi{constructor(e){super(e),Hh(this,{mapping:ru,runtimeValue:ru,setMapping:hh,setRuntimeValue:hh})}get specifiedInQuery(){return!0}get explicitMappingValue(){}get explicitRuntimeValue(){}}class mEi extends pEi{constructor(e){super(e),Hh(this,{mapping:ru,runtimeValue:ru,setMapping:hh,setRuntimeValue:hh})}}const fEi=(e,t)=>{const n=new YE(sS(jct.GET_ALL)),i=new PE(t,yS.create(new ES(e)));return i.values[0]=XC.create(e),n.parametersValues.push(i),n},yEi=(e,t)=>{const n=new YE(sS(jct.GET_ALL_VERSIONS)),i=new PE(t,yS.create(new ES(e)));return i.values[0]=XC.create(e),n.parametersValues.push(i),n},vEi=(e,t)=>{const n=Gs(e.class,"Class is required to build query"),i=new QE(new XE(XC.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE)),r=Uw(n,e.graphManagerState.graph);if(r&&t?.useAllVersionsForMilestoning){const e=yEi(n,nS.ONE);i.expressionSequence[0]=e}else switch(e.getAllFunction){case jct.GET_ALL_VERSIONS:if(!r)throw new Yr("Unable to build query lamdba: getAllVersions() expects source class to be milestoned");{const e=yEi(n,nS.ONE);i.expressionSequence[0]=e}break;case jct.GET_ALL_VERSIONS_IN_RANGE:if(!r)throw new Yr("Unable to build query lamdba: getAllVersionsInRange() expects source class to be milestoned");{const t=((e,t)=>{const n=new YE(sS(jct.GET_ALL_VERSIONS_IN_RANGE)),i=new PE(t,yS.create(new ES(e)));return i.values[0]=XC.create(e),n.parametersValues.push(i),n})(n,nS.ONE);e.milestoningState.getMilestoningImplementation(r).buildGetAllVersionsInRangeParameters(t),i.expressionSequence[0]=t}break;case jct.GET_ALL:{const t=fEi(n,nS.ONE);r&&e.milestoningState.getMilestoningImplementation(r).buildGetAllParameters(t),i.expressionSequence[0]=t;break}default:throw new Yr(`Unable to build query lambda: unknown ${e.getAllFunction} function`)}if(((e,t)=>{if(!e.value)return;const n=Gs(t.expressionSequence[0]),i=new YE(sS($ct.WATERMARK));i.parametersValues.push(n),i.parametersValues.push(e.value),t.expressionSequence[0]=i})(e.watermarkState,i),((e,t)=>{const n=e.rootIds.map(t=>Gs(e.nodes.get(t))).map(t=>nEi(e,t)).filter(Vs);if(!n.length)return;const i=new YE(sS($ct.FILTER)),r=Gs(t.expressionSequence[0]);i.parametersValues.push(r),i.parametersValues.push(_dt(e.lambdaParameterName,n,e.queryBuilderState.graphManagerState.graph)),t.expressionSequence[0]=i})(e.filterState,i),((e,t,n)=>{e.implementation.appendFetchStructure(t,n)})(e.fetchStructureState,i,t),((e,t)=>{if(e instanceof gEi){const n=Gs(t.expressionSequence[0],"Can't build from() expression: preceding expression is not defined"),i=new YE(sS(exports.SUPPORTED_FUNCTIONS.FROM)),r=e.mapping;let s;r&&(s=new PE(nS.ONE,void 0),s.values=[XC.create(r)]);const o=e.runtimeValue;let a;o instanceof h$&&(a=new PE(nS.ONE,void 0),a.values=[o.packageableRuntime]),i.parametersValues=[n,s,a].filter(Vs),t.expressionSequence[0]=i}})(e.executionContextState,i),e.constantState.constants.length){const t=e.constantState.constants.map(e=>e.buildLetExpression());i.expressionSequence=[...t,...i.expressionSequence]}return e.parametersState.parameterStates.length&&!t?.useAllVersionsForMilestoning&&(t?.isBuildingExecutionQuery?((e,t,n)=>{const i=aEi(t);if(i.length){e.functionType.parameters=t.filter(e=>!i.includes(e)).map(e=>e.parameter);const r=sEi(n.graph,i);e.expressionSequence=[...r.expressionSequence,...e.expressionSequence]}else e.functionType.parameters=t.map(e=>e.parameter)})(i,e.parametersState.parameterStates,e.graphManagerState):i.functionType.parameters=e.parametersState.parameterStates.map(e=>e.parameter)),i},_Ei=(e,t,n)=>{const i=new KE("");let r;i.func=e.func,i.parametersValues=[...e.parametersValues];let s=i;for(;s instanceof KE;){if(r=s.parametersValues[0],r instanceof KE){const e=new KE("");e.func=r.func,e.parametersValues=[...r.parametersValues],r=e,s.parametersValues[0]=e}if(s instanceof KE&&s.func.value.genericType.value.rawType instanceof wS&&0!==s.func.value._OWNER._generatedMilestonedProperties.length&&s.func.value instanceof US&&!s.func.value._OWNER.derivedProperties.includes(s.func.value)){const e=zCi($ct.NOW,gS.DATETIME),t=2===s.parametersValues.length?[e]:[e,e];ndt(s,[Gs(s.parametersValues[0]),...t],n)}for(s=r;s instanceof YE&&lS(s.functionName,$ct.SUBTYPE);)s=s.parametersValues[0]}return s instanceof ME&&odt(s,t),i},bEi=(e,t,n,i,r,s,o)=>{if(!(t||i&&r&&s))throw new Yr("Can't build typeahead query");const a=new QE(new XE(XC.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE)),l=Gs(e.class),c=fEi(Gs(e.class),nS.ONE),d=Uw(l,e.graphManagerState.graph);d&&e.milestoningState.getMilestoningImplementation(d).buildGetAllWithDefaultParameters(c),a.expressionSequence[0]=c;const u=t?ZCi(t,!1):s;if(n){const r=new YE(sS($ct.TDS_GROUP_BY)),s=new VE(nS.ZERO),o=new VE(nS.ONE),l=new VE(nS.ONE),c=new FE(yS.create(new ES(gS.STRING)));c.values.push(u),l.values.push(c);const d=t?_dt(Uct,[t],e.graphManagerState.graph):i,h=new YE(sS($ct.TDS_AGG)),p=_dt(Uct,[n.buildAggregateExpression(t,Uct,e.graphManagerState.graph)],e.graphManagerState.graph);h.parametersValues=[Gs(d),p],o.values.push(h),r.parametersValues=[a.expressionSequence[0],s,o,l],a.expressionSequence[0]=r}else{const n=new YE(sS($ct.TDS_PROJECT)),r=new VE(nS.ONE),s=new VE(nS.ONE),o=new FE(yS.create(new ES(gS.STRING)));o.values.push(u),s.values.push(o);const l=t?_dt(Uct,[t],e.graphManagerState.graph):i;r.values.push(Gs(l)),n.parametersValues=[a.expressionSequence[0],r,s],a.expressionSequence[0]=n}const h=new BSi,p=new KE("");let g;const m=h.getTDSColumnGetter();if(m)g=m;else{const e=t?.func.value.genericType.value.rawType??r;g=RSi(Gs(e))}p.func=zS.create(Gs($w(e.graphManagerState.graph.getClass(zct.TDS_ROW)).find(e=>e.name===g)));const f=new ME(Gct,nS.ONE),y=new FE(yS.create(new ES(gS.STRING)));y.values=[u],p.parametersValues=[f,y];const v=new YE(sS($ct.STARTS_WITH));v.parametersValues.push(p),o&&v.parametersValues.push(o);const _=_dt(Gct,[v],e.graphManagerState.graph),b=new YE(sS($ct.TDS_FILTER)),C=Gs(a.expressionSequence[0]);b.parametersValues=[C,_],a.expressionSequence[0]=b;let S=a.expressionSequence[0];const E=new YE(sS($ct.TDS_DISTINCT));E.parametersValues[0]=S,S=E;const w=new FE(yS.create(new ES(gS.INTEGER)));w.values=[10];const x=new YE(sS($ct.TDS_TAKE));return x.parametersValues[0]=S,x.parametersValues[1]=w,S=x,a.expressionSequence[0]=S,m6(a,e.graphManagerState)},CEi=(e,t,n)=>{const i=_Ei(t,Uct,e.observerContext);return bEi(e,i,void 0,void 0,void 0,void 0,n)},SEi=e=>{const t=js(e,jQ,"Typeahead search is only supported for TDS result sets"),n=[];return t.result.rows.map(e=>e.values[0]).filter(Vs).forEach(e=>{Xs(e)&&n.push(e)}),n},EEi=e=>{if(e instanceof FE){if(e.genericType.value.rawType.path===TC.STRING){return e.values[0].length>=2}return!1}return!1};var wEi;!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"}(wEi||(wEi={}));const xEi=(e,t)=>{switch(e){case qct.GET_STRING:return gS.STRING;case qct.GET_NUMBER:return gS.NUMBER;case qct.GET_INTEGER:return gS.INTEGER;case qct.GET_FLOAT:return gS.FLOAT;case qct.GET_DECIMAL:return gS.DECIMAL;case qct.GET_DATE:return gS.DATE;case qct.GET_DATETIME:return gS.DATETIME;case qct.GET_STRICTDATE:return gS.STRICTDATE;case qct.GET_BOOLEAN:return gS.BOOLEAN;default:return}};class TEi{id=ho();label="";isOpen;parentId;constructor(e){this.parentId=e,Hh(this,{isOpen:ru,parentId:ru,setIsOpen:hh,setParentId:hh,hashCode:lu})}setIsOpen(e){this.isOpen=e}setParentId(e){this.parentId=e}}class AEi extends TEi{groupOperation;childrenIds=[];constructor(e,t){super(e),Hh(this,{groupOperation:ru,setGroupOperation:hh,childrenIds:ru,addChildNode:hh,removeChildNode:hh,dragPreviewLabel:lu}),this.groupOperation=t,this.isOpen=!0}get dragPreviewLabel(){return`${this.groupOperation.toUpperCase()} group`}setGroupOperation(e){this.groupOperation=e}addChildNode(e){Co(this.childrenIds,e.id),e.setParentId(this.id)}removeChildNode(e){Eo(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 $v([wdt.POST_FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",$v(this.childrenIds),this.groupOperation])}}class NEi extends TEi{condition;isNewlyAdded;constructor(e,t,n){super(e),Hh(this,{condition:ru,isNewlyAdded:ru,setIsNewlyAdded:hh,dragPreviewLabel:lu}),this.condition=t,this.isNewlyAdded=n??!1}setIsNewlyAdded(e){this.isNewlyAdded=e}get dragPreviewLabel(){return this.condition.columnName}get hashCode(){return $v([wdt.POST_FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class REi extends TEi{constructor(e){super(e),Hh(this,{dragPreviewLabel:lu})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return $v([wdt.POST_FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class IEi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return $v([wdt.POST_FILTER_CONDITION_RIGHT_VALUE])}}class DEi extends IEi{value;constructor(e,t){super(e),Hh(this,{value:ru,setValue:hh}),this.value=this.setValue(t)}get type(){return this.value instanceof VE?hdt(this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?udt(this.value):void 0}setValue(e){return this.value=e?xte(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 VE}get hashCode(){return $v([wdt.POST_FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class kEi extends IEi{tdsColumn;constructor(e,t){super(e),Hh(this,{tdsColumn:ru,changeCol:hh}),this.tdsColumn=t}get type(){return this.tdsColumn.getColumnType()}get isCollection(){return!1}appendConditionValue(e,t){const n=PSi(this.conditionState,this.tdsColumn,this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,void 0,t);e.parametersValues.push(n)}changeCol(e){this.tdsColumn=e}}class OEi{postFilterState;leftConditionValue;rightConditionValue;operator;typeaheadSearchResults;typeaheadSearchState=hb.create();constructor(e,t,n){Hh(this,{postFilterState:ru,rightConditionValue:ru,operator:ru,leftConditionValue:ru,typeaheadSearchResults:ru,changeOperator:hh,setColumnState:hh,setRightConditionVal:hh,buildFromValueSpec:hh,setOperator:hh,changeColumn:Rh,handleTypeaheadSearch:Rh,columnName:lu,hashCode:lu}),this.postFilterState=e,this.leftConditionValue=t,this.rightConditionValue=new DEi(this,void 0),n?this.operator=n:(Ks(0!==this.operators.length,`Can't find an operator for column '${this.leftConditionValue.columnName}`),this.operator=Gs(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 DEi?this.rightConditionValue.setValue(e):this.setRightConditionVal(new DEi(this,e))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=this.leftConditionValue instanceof oSi||this.leftConditionValue instanceof uSi?this.leftConditionValue:void 0,n=Gs(t),i=js(this.rightConditionValue,DEi),r=e??i.value;if(EEi(r)){const e=(yield this.postFilterState.tdsState.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t,n)=>{let i,r,s,o,a,l;return t instanceof oSi?l=t:(l=t.projectionColumnState,r=t.operator),l instanceof cSi?(s=new LE(iD(Zq(l.lambda,new tQ([]).build()))),o=l.columnName,a=l.returnType):i=_Ei(js(l,aSi).propertyExpressionState.propertyExpression,Uct,e.observerContext),bEi(e,i,r,s,a,o,n)})(this.postFilterState.tdsState.queryBuilderState,n,r),Gs(this.postFilterState.tdsState.queryBuilderState.executionContextState.mapping),Gs(this.postFilterState.tdsState.queryBuilderState.executionContextState.runtimeValue),this.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.postFilterState.tdsState.queryBuilderState.forceFromExpressionForExec})).executionResult;this.typeaheadSearchResults=SEi(e)}this.typeaheadSearchState.pass()}catch(e){Kr(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 cSi&&(yield n.fetchDerivationLambdaReturnType()),this.setColumnState(n),this.operator.isCompatibleWithPostFilterColumn(this)||this.setOperator(Gs(this.operators[0])),this.operator.isCompatibleWithConditionValue(this)||this.buildFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}catch(t){Kr(t),this.postFilterState.tdsState.queryBuilderState.applicationStore.notificationService.notifyError(`Can't drag column '${e.columnName}' due to: ${t.message}`)}}get hashCode(){return $v([wdt.POST_FILTER_CONDITION_STATE,this.leftConditionValue,this.rightConditionValue,this.operator])}}class LEi{tdsState;lambdaParameterName=Gct;selectedNode;isRearrangingConditions=!1;operators=[];rootIds=[];nodes=new Map;derivedColumnBeingDropped;constructor(e,t){Hh(this,{tdsState:!1,selectedNode:ru,isRearrangingConditions:ru,rootIds:ru,nodes:ru,lambdaParameterName:ru,derivedColumnBeingDropped:ru,setLambdaParameterName:hh,setSelectedNode:hh,addNodeFromNode:hh,addGroupConditionNodeFromNode:hh,newGroupWithConditionFromNode:hh,removeNodeAndPruneBranch:hh,pruneTree:hh,simplifyTree:hh,collapseTree:hh,expandTree:hh,replaceBlankNodeWithNode:hh,setRearrangingConditions:hh,setDerivedColumnBeingDropped:hh,allValidationIssues:lu,hasInvalidFilterValues:lu,hasInvalidDerivedPropertyParameters:lu,hashCode:lu}),this.tdsState=e,this.operators=t}setRearrangingConditions(e){this.isRearrangingConditions=e}setSelectedNode(e){this.selectedNode=e}getNode(e){return Gs(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?js(this.nodes.get(e.parentId),AEi):void 0}get referencedTDSColumns(){return Pr(Array.from(this.nodes.values()).filter(zs(NEi)).map(e=>[e.condition.leftConditionValue,...e.condition.rightConditionValue instanceof kEi?[e.condition.rightConditionValue.tdsColumn]:[]]).flat())}getRootNode(){Ks(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 AEi)t.addChildNode(e);else if(t instanceof NEi||t instanceof REi){const n=new AEi(void 0,ISi.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 AEi(void 0,ISi.AND),n=new REi(void 0),i=new REi(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 REi(void 0);if(t instanceof NEi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new AEi(void 0,ISi.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 AEi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof NEi||t instanceof REi){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 AEi&&[...e.childrenIds].forEach(t=>e.removeChildNode(this.getNode(t)));const t=this.getParentNode(e);t?t.removeChildNode(e):Eo(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 Eo(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(zs(AEi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;return js(this.nodes.get(e.parentId),AEi).groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=js(this.nodes.get(Gs(e.parentId)),AEi);[...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(zs(AEi)).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 REi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(zs(AEi)).filter(e=>e.childrenIds.length<2).filter(e=>{if(!e.childrenIds.length)throw new qr("Query builder post-filter tree found unexpected childless group nodes");const t=e.childrenIds[0];if(this.getNode(t)instanceof REi)throw new qr("Query builder post-filter tree found unexpected blank nodes");return this.getNode(t)instanceof NEi});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):Co(this.rootIds,n)}),this.nodes.delete(e.id),t?t.removeChildNode(e):Eo(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(zs(NEi)).map(e=>e.condition.rightConditionValue).filter(zs(DEi)).map(e=>e.value).filter(Vs).find(t=>Sdt(e,t)))}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof NEi&&(t.condition.rightConditionValue instanceof DEi&&t.condition.rightConditionValue.value instanceof PE&&!pdt(t.condition.rightConditionValue.value)&&e.push(`Filter value for ${t.condition.leftConditionValue.columnName} is missing or invalid`),t.condition.leftConditionValue instanceof aSi&&!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 NEi&&e.condition.rightConditionValue instanceof DEi&&e.condition.rightConditionValue.value instanceof PE&&!pdt(e.condition.rightConditionValue.value))}get hasInvalidDerivedPropertyParameters(){return Array.from(this.nodes.values()).some(e=>e instanceof NEi&&e.condition.leftConditionValue instanceof aSi&&!e.condition.leftConditionValue.propertyExpressionState.isValid)}get hashCode(){return $v([wdt.POST_FILTER_STATE,$v(this.rootIds),$v(Array.from(this.nodes.values()))])}}class MEi extends ASi{getLabel(){return"is in list of"}isCompatibleWithType(e){return[TC.STRING,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(e.path)||e instanceof RS}isCompatibleWithConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType()),n=e.rightConditionValue;if(n instanceof DEi){const i=n.value;if(i instanceof VE){if(0===i.values.length)return!0;const n=hdt(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,i.values);return!!n&&([TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)?[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(n.path):n===t)}if(i instanceof ME)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType());return new VE(nS.ONE,yS.create(new ES(t)))}buildPostFilterConditionExpression(e,t){return FSi(e,this,$ct.IN,t)}buildPostFilterConditionState(e,t){return LSi(e,t,$ct.IN,this)}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_IN])}}class PEi extends MEi{getLabel(){return"is not in list of"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?mdt(n):void 0}buildPostFilterConditionState(e,t){const n=gdt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_NOT_IN])}}class FEi extends ASi{getLabel(){return"is empty"}getTDSColumnGetter(){return qct.IS_NULL}isCompatibleWithType(e){return e instanceof gS||e instanceof RS}isCompatibleWithConditionValue(e){return e.rightConditionValue instanceof DEi&&void 0===e.rightConditionValue.value}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!(!t||!this.isCompatibleWithType(t))&&(!(e.leftConditionValue instanceof aSi)||fdt(e.leftConditionValue.propertyExpressionState.propertyExpression))}getDefaultFilterConditionValue(e){}buildPostFilterConditionExpression(e,t){return FSi(e,this,void 0,t)}buildPostFilterConditionState(e,t){return LSi(e,t,void 0,this)}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_IS_EMPTY])}}class BEi extends FEi{getLabel(){return"is not empty"}getTDSColumnGetter(){return qct.IS_NOT_NULL}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_IS_NOT_EMPTY])}}class VEi extends ASi{getLabel(){return"is"}isCompatibleWithType(e){return[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)||e instanceof RS&&e.values.length>0}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&ydt(e.rightConditionValue.type,Gs(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType());return qCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildPostFilterConditionExpression(e,t){return FSi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?$ct.IS_ON_DAY:$ct.EQUAL,t)}buildPostFilterConditionState(e,t){return LSi(e,t,t.parametersValues[0]instanceof KE&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?$ct.IS_ON_DAY:$ct.EQUAL,this)}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_EQUAL])}}class UEi extends VEi{getLabel(){return"is not"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?mdt(n):void 0}buildPostFilterConditionState(e,t){const n=gdt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_NOT_EQUAL])}}class GEi extends ASi{getLabel(){return"<"}isCompatibleWithType(e){return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}isCompatibleWithConditionValue(e){return ydt(e.rightConditionValue.isCollection?void 0:e.rightConditionValue.type,Gs(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();switch(t?.path){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.INTEGER:case TC.STRICTDATE:case TC.DATETIME:case TC.DATE:return qCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}}buildPostFilterConditionExpression(e,t){return FSi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?$ct.IS_BEFORE_DAY:$ct.LESS_THAN,t)}buildPostFilterConditionState(e,t){return LSi(e,t,t.parametersValues[0]instanceof KE&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?$ct.IS_BEFORE_DAY:$ct.LESS_THAN,this)}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_LESS_THAN])}}class HEi extends GEi{getLabel(){return"<="}buildPostFilterConditionExpression(e,t){return FSi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?$ct.IS_ON_OR_BEFORE_DAY:$ct.LESS_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return LSi(e,t,t.parametersValues[0]instanceof KE&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?$ct.IS_ON_OR_BEFORE_DAY:$ct.LESS_THAN_EQUAL,this)}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_LESS_THAN_EQUAL])}}class zEi extends ASi{getLabel(){return">"}isCompatibleWithType(e){return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}isCompatibleWithConditionValue(e){return ydt(e.rightConditionValue.isCollection?void 0:e.rightConditionValue.type,Gs(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();switch(t?.path){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.INTEGER:case TC.STRICTDATE:case TC.DATETIME:case TC.DATE:return qCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}}buildPostFilterConditionExpression(e,t){return FSi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?$ct.IS_AFTER_DAY:$ct.GREATER_THAN,t)}buildPostFilterConditionState(e,t){return LSi(e,t,t.parametersValues[0]instanceof KE&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?$ct.IS_AFTER_DAY:$ct.GREATER_THAN,this)}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_GREATER_THAN])}}class WEi extends zEi{getLabel(){return">="}buildPostFilterConditionExpression(e,t){return FSi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?$ct.IS_ON_OR_AFTER_DAY:$ct.GREATER_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return LSi(e,t,t.parametersValues[0]instanceof KE&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?$ct.IS_ON_OR_AFTER_DAY:$ct.GREATER_THAN_EQUAL,this)}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class jEi extends ASi{getLabel(){return"contains"}isCompatibleWithType(e){return e===gS.STRING}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&gS.STRING===e.rightConditionValue.type}getDefaultFilterConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType());if(t.path===TC.STRING)return qCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildPostFilterConditionExpression(e,t){return FSi(e,this,$ct.CONTAINS,t)}buildPostFilterConditionState(e,t){return LSi(e,t,$ct.CONTAINS,this)}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_CONTAIN])}}class $Ei extends jEi{getLabel(){return"doesn't contain"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?mdt(n):void 0}buildPostFilterConditionState(e,t){const n=gdt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_NOT_CONTAIN])}}class qEi extends ASi{getLabel(){return"ends with"}isCompatibleWithType(e){return gS.STRING===e}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&gS.STRING===e.rightConditionValue.type}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();if(t?.path===TC.STRING)return qCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}buildPostFilterConditionExpression(e,t){return FSi(e,this,$ct.ENDS_WITH,t)}buildPostFilterConditionState(e,t){return LSi(e,t,$ct.ENDS_WITH,this)}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_END_WITH])}}class YEi extends qEi{getLabel(){return"doesn't end with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?mdt(n):void 0}buildPostFilterConditionState(e,t){const n=gdt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_NOT_END_WITH])}}class KEi extends dSi{getLabel(e){return"distinct"}isCompatibleWithColumn(e){if(e instanceof aSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)||t instanceof RS}return!0}buildAggregateExpression(e,t,n){return pSi($ct.UNIQUE_VALUE_ONLY,t)}buildAggregateColumnState(e,t,n){return gSi(n,t,e,$ct.UNIQUE_VALUE_ONLY,this)}get hashCode(){return $v([wdt.AGGREGATE_OPERATOR_DISTINCT])}}class XEi extends dSi{getLabel(e){return"join"}isCompatibleWithColumn(e){return!(e instanceof aSi)||gS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}buildAggregateExpression(e,t,n){const i=new YE(sS($ct.JOIN_STRINGS)),r=new FE(yS.create(new ES(gS.STRING)));return r.values=[";"],i.parametersValues.push(new ME(t,nS.ONE),r),i}buildAggregateColumnState(e,t,n){if(lS(e.functionName,$ct.JOIN_STRINGS)){const i=new uSi(n.tdsState.aggregationState,n,this);i.setLambdaParameterName(t.name),Ks(2===e.parametersValues.length,"Can't process joinStrings() expression: joinStrings() expects 1 argument");const r=js(e.parametersValues[0],ME,"Can't process joinStrings() expression: only support joinStrings() immediately following a variable expression");Ks(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=js(e.parametersValues[1],FE,"Can't process joinStrings() expression: joinStrings() expects arugment #1 to be a primitive instance value");return Ks(1===s.values.length&&";"===s.values[0],"Can't process joinStrings() expression: only support ';' as delimiter"),Ks(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process joinStrings() expression: property is not compatible with operator"),i.setOperator(this),i}}getReturnType(e){return gS.STRING}get hashCode(){return $v([wdt.AGGREGATE_OPERATOR_JOIN_STRING])}}class QEi extends dSi{percentile;acending;continuous;constructor(){super(),Hh(this,{percentile:ru,acending:ru,continuous:ru,setPercentile:hh,setAcending:hh,setContinuous:hh})}setPercentile(e){this.percentile=e}setAcending(e){this.acending=e}setContinuous(e){this.continuous=e}getLabel(e){return"percentile"}isCompatibleWithColumn(e){if(e instanceof aSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){const i=this.percentile?Number((this.percentile/100).toFixed(10)):0,r=new YE(sS($ct.PERCENTILE)),s=new FE(yS.create(new ES(gS.NUMBER)));if(s.values=[i],void 0===this.acending||void 0===this.continuous||this.acending&&this.continuous)r.parametersValues.push(new ME(t,nS.ONE),s);else{const e=new FE(yS.create(new ES(gS.BOOLEAN)));e.values=[this.acending];const n=new FE(yS.create(new ES(gS.BOOLEAN)));n.values=[this.continuous],r.parametersValues.push(new ME(t,nS.ONE),s,e,n)}return r}buildAggregateColumnState(e,t,n){if(lS(e.functionName,$ct.PERCENTILE)){const i=new uSi(n.tdsState.aggregationState,n,new QEi),r=js(i.operator,QEi);i.setLambdaParameterName(t.name),Ks([2,4].includes(e.parametersValues.length),"Can't process percentile() expression: percentile() expects 2 or 4 argument");const s=js(e.parametersValues[0],ME,"Can't process percentile() expression: only support percentile() immediately following a variable expression");Ks(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=js(e.parametersValues[1],FE,"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=js(e.parametersValues[2],FE,"Can't process percentile() expression: percentile() expects arugment #3 to be a primitive instance value");r.acending=t.values[0];const n=js(e.parametersValues[3],FE,"Can't process percentile() expression: percentile() expects arugment #4 to be a primitive instance value");r.continuous=n.values[0]}return Ks(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process percentile() expression: property is not compatible with operator"),i.setOperator(r),i}}get getOperator(){return new QEi}get allValidationIssues(){const e=[];return(void 0===this.percentile||this.percentile>100)&&e.push("Invalid Aggregation Argument for Percentile"),e}get hashCode(){return $v([wdt.AGGREGATE_OPERATOR_PERCENTILE])}}class ZEi extends dSi{weight;constructor(){super(),Hh(this,{weight:ru,setWeight:hh})}setWeight(e){this.weight=e}getLabel(e){return"wavg"}getName(e){return e.columnName}isCompatibleWithColumn(e){if(e instanceof aSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!1}buildAggregateExpression(e,t,n){return pSi($ct.WAVG,t)}buildAggregateColumnState(e,t,n){if(lS(e.functionName,$ct.WAVG)){const e=new uSi(n.tdsState.aggregationState,n,new ZEi),i=js(e.operator,ZEi);return e.setLambdaParameterName(t.name),e.setOperator(i),e}}get getOperator(){return new ZEi}get hashCode(){return $v([wdt.AGGREGATE_OPERATOR_WAVG])}}const JEi="WINDOW_COLUMN";class ewi{columnState;sortType;constructor(e,t){Hh(this,{columnState:ru,sortType:ru,setColumnState:hh,setSortType:hh}),this.columnState=e,this.sortType=t}setColumnState(e){this.columnState=e}setSortType(e){this.sortType=e}get hashCode(){return $v([wdt.TDS_WINDOW_COLUMN_SORTBY_STATE,this.sortType,this.columnState.columnName])}}class twi{windowState;lambdaParameterName=Uct;operator;constructor(e,t){this.windowState=e,this.operator=t}setLambdaParameterName(e){this.lambdaParameterName=e}setOperator(e){this.operator=e}get hashCode(){return $v([wdt.TDS_WINDOW_GROUPBY_OPERATION_STATE,this.lambdaParameterName,this.operator])}}class nwi extends twi{constructor(e,t){super(e,t),Hh(this,{setLambdaParameterName:hh})}}class iwi extends twi{columnState;constructor(e,t,n){super(e,t),Hh(this,{columnState:ru,setColumnState:hh,setLambdaParameterName:hh}),this.columnState=n}setColumnState(e){this.columnState=e}get hashCode(){return $v([wdt.TDS_WINDOW_GROUPBY_AGG_OPERATOR_STATE,this.lambdaParameterName,this.operator,this.columnState.columnName])}}class rwi extends iSi{windowState;windowColumns=[];sortByState;operatorState;columnName;constructor(e,t,n,i,r){super(),Hh(this,{windowColumns:ru,sortByState:ru,operatorState:ru,columnName:ru,setOperatorState:ru,setColumnName:hh,setSortBy:hh,changeWindow:hh,deleteWindow:hh,addWindow:hh,setWindows:hh,changeOperator:hh,changeSortBy:hh}),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 iwi?[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){Co(this.windowColumns,e)}setWindows(e){this.windowColumns=e}deleteWindow(e){Eo(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 nwi(this.windowState,n),columnName:`${n.getLabel()}`};{const e=t&&n.isCompatibleWithColumn(t)?t:this.possibleAggregatedColumns(n)[0];if(e)return{operatorState:new iwi(this.windowState,n,e),columnName:`${n.getLabel()} of ${e.columnName}`}}}}changeOperator(e){const t=this.getChangeOperatorStateAndColumnName(this.operatorState.operator,this.operatorState instanceof iwi?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 ewi(Gs(this.possibleReferencedColumns[0]),e);n.setSortType(e),this.setSortBy(n)}else this.setSortBy(void 0)}get hashCode(){return $v([wdt.TDS_WINDOW_COLUMN_STATE,$v(this.windowColumns),this.sortByState??"",this.operatorState,this.columnName])}}class swi{tdsState;windowColumns=[];operators;editColumn;constructor(e,t){Hh(this,{windowColumns:ru,editColumn:ru,invalidWindowColumnNames:lu,windowValidationIssues:lu,addWindowColumn:hh,removeColumn:hh,moveColumn:hh,setEditColumn:hh}),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 iwi&&t.operatorState.columnState instanceof rwi){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 Pr(this.windowColumns.map(e=>e.referencedTDSColumns).flat())}setEditColumn(e){this.editColumn=e}findOperator(e){return this.operators.find(t=>lS(e,t.pureFunc))}addWindowColumn(e){Co(this.windowColumns,e)}removeColumn(e){Eo(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 $v([wdt.TDS_WINDOW_GROUPBY_STATE,$v(this.windowColumns)])}}const owi=(e,t)=>{const n=e.windowState.tdsState.queryBuilderState.graphManagerState.graph,i=e.windowColumns.map(e=>{const t=new FE(yS.create(new ES(gS.STRING)));return t.values=[e.columnName],t}),r=new VE(n.getMultiplicity(i.length,i.length));let s;if(r.values=i,e.sortByState){const t=e.sortByState;s=new YE((e=>{switch(e){case Yct.ASC:return sS($ct.TDS_ASC);case Yct.DESC:return sS($ct.TDS_DESC);default:throw new Yr(`Unsupported column sort type ${e}`)}})(t.sortType));const n=new FE(yS.create(new ES(gS.STRING)));n.values=[t.columnState.columnName],s.parametersValues[0]=n}const o=e.operatorState,a=sS(o.operator.pureFunc),l=new YE(a);l.parametersValues=[new ME(o.lambdaParameterName,nS.ONE)];const c=_dt(o.lambdaParameterName,[l],n);let d;if(o instanceof iwi){const e=new FE(yS.create(new ES(gS.STRING)));e.values=[o.columnState.columnName],d=new YE(sS($ct.TDS_FUNC)),d.parametersValues=[e,c]}const u=d??c,h=new FE(yS.create(new ES(gS.STRING)));h.values=[e.columnName];const p=new YE(sS($ct.OLAP_GROUPBY)),g=Gs(t.expressionSequence[0]);return p.parametersValues=[g,r,...s?[s]:[],u,h],t.expressionSequence[0]=p,t},awi=(e,t,n)=>{if(t instanceof NEi)return t.condition.operator.buildPostFilterConditionExpression(t.condition,n);if(t instanceof AEi){const i=new YE(sS(DSi(t.groupOperation))),r=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>awi(e,t,n)).filter(Vs);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 YE(sS(DSi(t.groupOperation)));o.parametersValues=[i,s],n=o}i.parametersValues=[e,n]}else i.parametersValues=r;return i.parametersValues.length?i:void 0}};class lwi{_currentResultModifierFunc;graphManagerState;options;distinct=!1;sortColumns;limit;slice;constructor(e){this.graphManagerState=e}get currentExpression(){return Gs(this._currentResultModifierFunc,"Current expression needs to be defined to build result modifier")}get supportedResultModifiersFunctions(){return[$ct.TDS_PROJECT,$ct.TDS_GROUP_BY,$ct.TDS_FILTER,$ct.OLAP_GROUPBY]}getSortTypeFunctionName(e){return e===Yct.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 YE(sS(this.distinctFunctionName));e.parametersValues[0]=this.currentExpression,this.setCurrentResultModifierFunction(e)}buildSortFunction(e){const t=new YE(sS(this.sortFunctionName)),n=this.graphManagerState.graph.getMultiplicity(e.length,e.length),i=new VE(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 YE(sS(this.getSortTypeFunctionName(e.sortType)));return t.parametersValues[0]=this.buildColumnValueSpec(e.columnState.columnName),t}buildLimitFunction(e){const t=new FE(yS.create(new ES(gS.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 YE(sS(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 FE(yS.create(new ES(gS.INTEGER))),r=new FE(yS.create(new ES(gS.INTEGER)));i.values=[t],r.values=[n];const s=new YE(sS(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 YE&&lS(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 cwi extends lwi{get limitFunctionName(){return $ct.TDS_TAKE}get sliceFunctionName(){return $ct.SLICE}get sortFunctionName(){return $ct.TDS_SORT}get distinctFunctionName(){return $ct.TDS_DISTINCT}get ascFunctionname(){return $ct.TDS_ASC}get descFunctionName(){return $ct.TDS_DESC}buildColumnValueSpec(e){return(e=>{const t=new FE(yS.create(new ES(gS.STRING)));return t.values=[e],t})(e)}}class dwi extends lwi{get limitFunctionName(){return $ct.RELATION_LIMIT}get sliceFunctionName(){return $ct.RELATION_SLICE}get ascFunctionname(){return $ct.RELATION_ASC}get descFunctionName(){return $ct.RELATION_DESC}get sortFunctionName(){return $ct.RELATION_SORT}get distinctFunctionName(){return $ct.RELATION_DISTINCT}buildColumnValueSpec(e){const t=new zE(nS.ONE,void 0),n=new HE;return n.name=e,t.values=[n],t}}const uwi=(e,t,n)=>{const i=e.queryBuilderState,r=Gs(t.expressionSequence[0],"Can't build projection expression: preceding expression is not defined");if(e.aggregationState.columns.length&&!e.queryBuilderState.isFetchStructureTyped){const s=new YE(sS($ct.TDS_GROUP_BY)),o=new VE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length-e.aggregationState.columns.length,e.projectionColumns.length-e.aggregationState.columns.length)),a=new VE(i.graphManagerState.graph.getMultiplicity(e.aggregationState.columns.length,e.aggregationState.columns.length)),l=new VE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(t=>{const r=new FE(yS.create(new ES(gS.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 aSi)c=_dt(t.lambdaParameterName,[tEi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n,!0)],i.graphManagerState.graph);else{if(!(t instanceof cSi))throw new Yr("Can't build project() column expression: unsupported projection column state",t);c=new LE(iD(Zq(t.lambda,new tQ([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}if(s){s.operator instanceof ZEi&&s.setLambdaParameterName("y");const e=new YE(sS($ct.TDS_AGG)),t=_dt(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 YE&&(n=_dt(Gs(s.calendarFunction).lambdaParameterName,[r],s.aggregationState.tdsState.queryBuilderState.graphManagerState.graph)),s.operator instanceof ZEi&&s.operator.weight&&s.projectionColumnState instanceof aSi&&c instanceof ZE){const e=new YE($ct.WAVG_ROW_MAPPER),t=s.projectionColumnState.propertyExpressionState.propertyExpression,i=s.operator.weight;e.parametersValues=[t,i],n&&n instanceof ZE?vo(n.values,0).expressionSequence[0]=e:c instanceof ZE&&(vo(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)if(e.queryBuilderState.isFetchStructureTyped){const i=((e,t,n)=>{const i=new YE(sS($ct.RELATION_PROJECT)),r=t.queryBuilderState,s=new jE(nS.ONE,void 0),o=new WE;s.values=[o];const a=new SS(SS.ID);t.projectionColumns.forEach(e=>{const t=new HE;let i;if(o.colSpecs.push(t),t.name=e.columnName,e instanceof aSi)i=_dt(e.lambdaParameterName,[tEi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],r.graphManagerState.graph);else{if(!(e instanceof cSi))throw new Yr("Can't build relation project() column expression: unsupported projection column state",e);i=new LE(iD(Zq(e.lambda,new tQ([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}t.function1=i;const s=Gs(e.getColumnType(),`Can't create value spec for projection column ${e.columnName}`);a.columns.push(new CS(e.columnName,yS.create(new ES(s))))}),i.parametersValues=[e,s];const l=new ES(WK.INSTANCE),c=new ES(a);return l.typeArguments=[yS.create(c)],i.genericType=yS.create(l),i})(r,e,n),s=e.aggregationState.columns.length?((e,t)=>{const n=js(e,YE);if(n.functionName!==sS($ct.RELATION_PROJECT))throw new Yr("Can't build relation groupBy() expression: previous expression must be project() column expression");const i=new YE(sS($ct.RELATION_GROUP_BY)),r=t.queryBuilderState,s=new jE(nS.ONE,void 0),o=new WE;s.values=[o];const a=new jE(nS.ONE,void 0),l=new WE;a.values=[l];const c=new SS(SS.ID);t.projectionColumns.filter(e=>!t.aggregationState.columns.some(t=>t.projectionColumnState===e)).forEach(e=>{const t=new HE;t.name=e.columnName,o.colSpecs.push(t);const n=Gs(e.getColumnType(),`Can't create value spec for projection column ${e.columnName}. Missing type.`);c.columns.push(new CS(e.columnName,yS.create(new ES(n))))}),t.aggregationState.columns.forEach(e=>{const t=new HE;t.name=e.columnName,l.colSpecs.push(t);const i=Gs(Gs(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=js(js(i.function1,ZE).values[0]?.expressionSequence[0],KE),o=js(s.func.value,AS),a=new KE("");a.func=zS.create(new AS(i.name,o.multiplicity,o.genericType,o._OWNER)),a.parametersValues=[new ME(Ydt,nS.ONE)];const d=_dt(Ydt,[a],r.graphManagerState.graph);t.function1=d;const u=_dt(e.lambdaParameterName,[e.operator.buildAggregateExpressionFromState(e)],e.aggregationState.tdsState.queryBuilderState.graphManagerState.graph);t.function2=u;const h=Gs(e.getColumnType(),`Can't create value spec for aggregation column ${e.columnName}. Missing type.`);c.columns.push(new CS(e.columnName,yS.create(new ES(h))))}),i.parametersValues=[e,s,a];const d=new ES(WK.INSTANCE),u=new ES(c);return d.typeArguments=[yS.create(u)],i.genericType=yS.create(d),i})(i,e):null;t.expressionSequence[0]=s??i}else{const s=new YE(sS($ct.TDS_PROJECT));if(e.useColFunc){const t=new VE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(i=>{t.values.push(((e,t,n)=>{const i=new YE(sS($ct.TDS_COL));let r;if(t instanceof aSi)r=_dt(t.lambdaParameterName,[tEi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n)],e.queryBuilderState.graphManagerState.graph);else{if(!(t instanceof cSi))throw new Yr("Can't build project() column expression: unsupported projection column state",t);r=new LE(iD(Zq(t.lambda,new tQ([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}const s=new FE(yS.create(new ES(gS.STRING)));return s.values.push(t.columnName),i.parametersValues=[r,s],i})(e,i,n))}),s.parametersValues=[r,t]}else{const t=new VE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length)),o=new VE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(e=>{const r=new FE(yS.create(new ES(gS.STRING)));let s;if(r.values.push(e.columnName),o.values.push(r),e instanceof aSi)s=_dt(e.lambdaParameterName,[tEi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],i.graphManagerState.graph);else{if(!(e instanceof cSi))throw new Yr("Can't build project() column expression: unsupported projection column state",e);s=new LE(iD(Zq(e.lambda,new tQ([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}t.values.push(s)}),s.parametersValues=[r,t,o]}t.expressionSequence[0]=s}var s,o;s=e.windowState,o=t,s.windowColumns.forEach(e=>owi(e,o)),((e,t)=>{const n=e.rootIds.map(t=>Gs(e.nodes.get(t))).map(n=>awi(e,n,t)).filter(Vs);if(!n.length||1!==t.expressionSequence.length)return t;const i=_dt(e.lambdaParameterName,n,e.tdsState.queryBuilderState.graphManagerState.graph),r=new YE(sS($ct.TDS_FILTER)),s=Gs(t.expressionSequence[0]);r.parametersValues=[s,i],t.expressionSequence[0]=r})(e.postFilterState,t),((e,t,n,i)=>{(n?new dwi(e.tdsState.queryBuilderState.graphManagerState):new cwi(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 hwi{uuid=ho();isColumnAggregator(){return!1}getOperatorReturnType(e){return gS.NUMBER}isCompatibleWithColumn(e){return this.isCompatibleWithType(e.getColumnType())}}class pwi extends hwi{getLabel(){return"average rank"}get pureFunc(){return $ct.OLAP_AVERAGE_RANK}get hashCode(){return $v([wdt.TDS_WINDOW_OPERATOR_DENSE_RANK])}isCompatibleWithType(e){return!e||[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class gwi extends hwi{getLabel(){return"dense rank"}get pureFunc(){return $ct.OLAP_DENSE_RANK}get hashCode(){return $v([wdt.TDS_WINDOW_OPERATOR_DENSE_RANK])}isCompatibleWithType(e){return!e||[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class mwi extends hwi{getLabel(){return"rank"}get pureFunc(){return $ct.OLAP_RANK}get hashCode(){return $v([wdt.TDS_WINDOW_OPERATOR_RANK])}isCompatibleWithType(e){return!e||[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class fwi extends hwi{getLabel(){return"row number"}get pureFunc(){return $ct.OLAP_ROW_NUMBER}get hashCode(){return $v([wdt.TDS_WINDOW_OPERATOR_ROW_NUMBER])}isCompatibleWithType(e){return!e||[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class ywi extends hwi{isColumnAggregator(){return!0}getLabel(){return"sum"}get pureFunc(){return $ct.SUM}get hashCode(){return $v([wdt.TDS_WINDOW_OPERATOR_SUM])}isCompatibleWithType(e){return!e||[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class vwi extends hwi{isColumnAggregator(){return!0}getLabel(){return"count"}get pureFunc(){return $ct.COUNT}get hashCode(){return $v([wdt.TDS_WINDOW_OPERATOR_COUNT])}isCompatibleWithType(e){return!e||[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class _wi extends hwi{isColumnAggregator(){return!0}getLabel(){return"max"}get pureFunc(){return $ct.MAX}get hashCode(){return $v([wdt.TDS_WINDOW_OPERATOR_MAX])}isCompatibleWithType(e){return!e||[TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class bwi extends hwi{isColumnAggregator(){return!0}getLabel(){return"min"}get pureFunc(){return $ct.MIN}get hashCode(){return $v([wdt.TDS_WINDOW_OPERATOR_MIN])}isCompatibleWithType(e){return!e||[TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class Cwi extends hwi{isColumnAggregator(){return!0}getLabel(){return"avg"}get pureFunc(){return $ct.AVERAGE}get hashCode(){return $v([wdt.TDS_WINDOW_OPERATOR_AVERAGE])}isCompatibleWithType(e){return!e||[TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}var Swi;!function(e){e.SHOW_POST_FILTER_PANEL="query-builder.showPostFilterPanel",e.SHOW_QUERY_CHAT_PANEL="query-builder.showQueryChatPanel"}(Swi||(Swi={}));const Ewi={[Swi.SHOW_POST_FILTER_PANEL]:{defaultValue:!1},[Swi.SHOW_QUERY_CHAT_PANEL]:{defaultValue:!1}};var wwi;!function(e){e.NY="NY",e.LDN="LDN"}(wwi||(wwi={}));const xwi="en-US";class Twi{dateColumn;calendarType;endDate;lambdaParameterName=Uct;func;label;hash;constructor(e,t,n){Hh(this,{dateColumn:ru,lambdaParameterName:ru,calendarType:ru,endDate:ru,setDateColumn:hh,setCalendarType:hh,setLambdaParameterName:hh,setEndDate:hh,hashCode:lu}),this.func=e,this.label=t,this.hash=n}getLabel(){return this.label}isCompatibleWithColumn(e){if(e instanceof aSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!0}buildCalendarFunctionExpression(e){return((e,t,n,i,r)=>{const s=new YE(sS(e));if(!t)throw new Yr("Please specify date column for calendar function for column");s.parametersValues.push(t);const o=new FE(yS.create(new ES(gS.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(lS(e.functionName,t)){Ks(4===e.parametersValues.length,`Can't process ${sS(t)}() expression: ${sS(t)}() expects four arguments`);const r=js(e.parametersValues[0],KE,`Can't process ${sS(t)}() expression: only support ${sS(t)}() with first parameter as property expression`);Ks(r.func.value.genericType.value.rawType.name===TC.STRICTDATE||r.func.value.genericType.value.rawType.name===TC.DATE,`Can't process ${sS(t)}() expression: only support ${sS(t)}() with first parameter as property expression of type StrictDate`);let s=r;for(;s instanceof KE;){const e=s;for(s=Gs(s.parametersValues[0]),e.func.value instanceof US&&Ks((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 YE&&lS(s.functionName,$ct.SUBTYPE);)s=Gs(s.parametersValues[0])}const o=js(s,ME).name;n.setLambdaParameterName(o);const a=js(e.parametersValues[1],FE,`Can't process ${sS(t)}() expression: only support ${sS(t)}() with second parameter as PrimitiveInstancevalue`);Ks(void 0!==Object.values(wwi).find(e=>e===a.values[0]),`Can't process ${sS(t)}() expression: only support ${sS(t)}() calendar types NY and LDN`);const l=js(e.parametersValues[2],OE,`Can't process ${sS(t)}() expression: only support ${sS(t)}() with third parameter as ValueSpecification`);Ks(l.genericType?.value.rawType.name===TC.STRICTDATE||l.genericType?.value.rawType.name===TC.DATE||r.func.value.genericType.value.rawType.name===TC.DATE,`Can't process ${sS(t)}() expression: only support ${sS(t)}() with third parameter of type Date`),n.calendarType=a.values[0],n.endDate=l,n.dateColumn=r,Ks(n.isCompatibleWithColumn(i.projectionColumnState),`Can't process ${sS(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 aSi&&t instanceof ZE?n=js(t.values[0]?.expressionSequence[0],KE):e.projectionColumnState instanceof cSi&&(n=js(t,LE)),!n)throw new Yr("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 $v([this.hash,this.dateColumn??"",this.calendarType,this.endDate])}}function Awi(e,t,n){return new Twi(e,t,n)}var Nwi;!function(e){e.CSV="CSV"}(Nwi||(Nwi={}));class Rwi extends TSi{aggregationState;postFilterState;windowState;resultSetModifierState;projectionColumns=[];isConvertDerivationProjectionObjects=!1;showPostFilterPanel;showWindowFuncPanel=!1;useColFunc=!1;postFilterOperators=(()=>[new VEi,new UEi,new GEi,new HEi,new zEi,new WEi,new BSi,new VSi,new jEi,new $Ei,new qEi,new YEi,new MEi,new PEi,new FEi,new BEi])();aggregationOperators=(()=>[new fSi,new ySi,new KEi,new SSi,new mSi,new _Si,new vSi,new QEi,new bSi,new CSi,new XEi,new ZEi])();aggregationCalendarFunctions=(()=>[Awi(Wct.CALENDAR_ANNUALIZED,"Annualized",wdt.AGGREGATE_CALENDAR_FUNCTION_ANNUALIZED),Awi(Wct.CALENDAR_YTD,"Year to Date",wdt.AGGREGATE_CALENDAR_FUNCTION_YTD),Awi(Wct.CALENDAR_CME,"Current Month Estimate",wdt.AGGREGATE_CALENDAR_FUNCTION_CME),Awi(Wct.CALENDAR_CW,"Current Week",wdt.AGGREGATE_CALENDAR_FUNCTION_CW),Awi(Wct.CALENDAR_CME,"Current Month Estimate",wdt.AGGREGATE_CALENDAR_FUNCTION_CME),Awi(Wct.CALENDAR_CY_MINUS2,"Current year minus 2",wdt.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS2),Awi(Wct.CALENDAR_CY_MINUS3,"Current year minus 3",wdt.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS3),Awi(Wct.CALENDAR_MTD,"Month to date",wdt.AGGREGATE_CALENDAR_FUNCTION_MTD),Awi(Wct.CALENDAR_P12WA,"Previous 12 Weeks Averaged",wdt.AGGREGATE_CALENDAR_FUNCTION_P12WA),Awi(Wct.CALENDAR_P12WTD,"Previous 12 Weeks To Date",wdt.AGGREGATE_CALENDAR_FUNCTION_P12WTD),Awi(Wct.CALENDAR_P4WA,"Previous 4 Weeks Averaged",wdt.AGGREGATE_CALENDAR_FUNCTION_P4WA),Awi(Wct.CALENDAR_P4WTD,"Previous 4 Weeks To Date",wdt.AGGREGATE_CALENDAR_FUNCTION_P4WTD),Awi(Wct.CALENDAR_P52WA,"Previous 52 Weeks Averaged",wdt.AGGREGATE_CALENDAR_FUNCTION_P52WA),Awi(Wct.CALENDAR_P52WTD,"Previous 52 Weeks To Date",wdt.AGGREGATE_CALENDAR_FUNCTION_P52WTD),Awi(Wct.CALENDAR_PMA,"Previous Months Averaged",wdt.AGGREGATE_CALENDAR_FUNCTION_PMA),Awi(Wct.CALENDAR_PMTD,"Previous Month To Date",wdt.AGGREGATE_CALENDAR_FUNCTION_PMTD),Awi(Wct.CALENDAR_PQTD,"Previous Quarter To Date",wdt.AGGREGATE_CALENDAR_FUNCTION_PQTD),Awi(Wct.CALENDAR_PRIOR_DAY,"Prior Day",wdt.AGGREGATE_CALENDAR_FUNCTION_PRIOR_DAY),Awi(Wct.CALENDAR_PRIOR_YEAR,"Prior Year",wdt.AGGREGATE_CALENDAR_FUNCTION_PRIOR_YEAR),Awi(Wct.CALENDAR_PW,"Previous week",wdt.AGGREGATE_CALENDAR_FUNCTION_PW),Awi(Wct.CALENDAR_PW_FM,"Previous week, Franchise Manager",wdt.AGGREGATE_CALENDAR_FUNCTION_PW_FM),Awi(Wct.CALENDAR_PWA,"Past Weeks' Average",wdt.AGGREGATE_CALENDAR_FUNCTION_PWA),Awi(Wct.CALENDAR_PWTD,"Previous Week To Date",wdt.AGGREGATE_CALENDAR_FUNCTION_PWTD),Awi(Wct.CALENDAR_PYMTD,"Previous Year's Month To Date",wdt.AGGREGATE_CALENDAR_FUNCTION_PYMTD),Awi(Wct.CALENDAR_PYQTD,"Previous Year's Quarter To Date",wdt.AGGREGATE_CALENDAR_FUNCTION_PYQTD),Awi(Wct.CALENDAR_PYTD,"Previous Year To Date",wdt.AGGREGATE_CALENDAR_FUNCTION_PYTD),Awi(Wct.CALENDAR_PYWA,"Previous Year's Weekly Average",wdt.AGGREGATE_CALENDAR_FUNCTION_PYWA),Awi(Wct.CALENDAR_PYWTD,"Previous Year's Week to Date",wdt.AGGREGATE_CALENDAR_FUNCTION_PYWTD),Awi(Wct.CALENDAR_QTD,"Quarter to Date",wdt.AGGREGATE_CALENDAR_FUNCTION_QTD),Awi(Wct.CALENDAR_REPORT_END_DAY,"Report End Day",wdt.AGGREGATE_CALENDAR_FUNCTION_REPORT_END_DAY),Awi(Wct.CALENDAR_WTD,"Week to Date",wdt.AGGREGATE_CALENDAR_FUNCTION_WTD)])();windowFuncOperators=(()=>[new ywi,new vwi,new _wi,new bwi,new Cwi,new pwi,new gwi,new mwi,new fwi])();constructor(e,t){super(e,t),Hh(this,{aggregationState:ru,projectionColumns:ru,isConvertDerivationProjectionObjects:ru,showPostFilterPanel:ru,showWindowFuncPanel:ru,useColFunc:ru,TEMPORARY__showPostFetchStructurePanel:lu,derivations:lu,hasParserError:lu,isQueryOptionsSet:lu,addColumn:hh,moveColumn:hh,removeAllColumns:hh,removeColumn:hh,replaceColumn:hh,initialize:hh,initializeWithQuery:hh,setShowPostFilterPanel:hh,setShowWindowFuncPanel:hh,setUseColFunc:hh,checkBeforeChangingImplementation:hh,convertDerivationProjectionObjects:Rh,fetchDerivedReturnTypes:Rh}),this.resultSetModifierState=new wSi(this),this.postFilterState=new LEi(this,this.postFilterOperators),this.aggregationState=new hSi(this,this.aggregationOperators,this.aggregationCalendarFunctions),this.windowState=new swi(this,this.windowFuncOperators),this.showPostFilterPanel=this.queryBuilderState.applicationStore.settingService.getBooleanValue(Swi.SHOW_POST_FILTER_PANEL)??!1}get type(){return xSi.TABULAR_DATA_STRUCTURE}get derivations(){return this.projectionColumns.filter(zs(cSi))}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 aSi){let n=[],i=t.propertyExpressionState.propertyExpression;for(;i instanceof KE;)for(n.push(i.func.value.name),i=Gs(i.parametersValues[0]);i instanceof YE;){if(!(lS(i.functionName,$ct.SUBTYPE)&&i.parametersValues.length>=1&&i.parametersValues[1]?.genericType?.value.rawType instanceof wS))return;n[n.length-1]instanceof wS||n.push(i.parametersValues[1]?.genericType?.value.rawType),i=Gs(i.parametersValues[0])}n=n.reverse();const r=[],s=[];for(let e=0;e<n.length;e++){const t=Gs(n[e]),i=e>0?Gs(r[e-1]):"";if(t instanceof wS)zw(t).concat(t).forEach(e=>s.push(fxi(i,e.path))),r.push(fxi(i,t.path));else{const e=mxi(i,t);r.push(e),s.push(e)}}e=e.concat(s)}}),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 aSi&&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[Nwi.CSV]}getExportDataInfo(e){if(e===Nwi.CSV)return{contentType:exports.ContentType.TEXT_CSV,serializationFormat:exports.EXECUTION_SERIALIZATION_FORMAT.CSV};throw new Yr(`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 uSi?e instanceof uSi?e===t:t.projectionColumnState===e:t===e))}onClassChange(e){}appendFetchStructure(e,t){uwi(this,e,t)}setShowPostFilterPanel(e){this.showPostFilterPanel=e}setShowWindowFuncPanel(e){this.showWindowFuncPanel=e}setUseColFunc(e){this.useColFunc=e}*convertDerivationProjectionObjects(){const e=new Map,t=new Map;if(this.derivations.forEach(n=>{Ij(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){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.PARSING_FAILURE),e)}finally{this.isConvertDerivationProjectionObjects=!1}}}transformSimpleProjectionToDerivation(e){const t=_dt(e.lambdaParameterName,[e.propertyExpressionState.propertyExpression],this.queryBuilderState.graphManagerState.graph),n=new cSi(this,js(this.queryBuilderState.graphManagerState.graphManager.transformValueSpecToRawValueSpec(t,this.queryBuilderState.graphManagerState.graph),DE));n.setColumnName(e.columnName),this.replaceColumn(e,n),n.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),So(this.projectionColumns,e,t)}removeAllColumns(){this.projectionColumns=[],this.aggregationState.columns=[]}removeColumn(e){Eo(this.projectionColumns,e);const t=this.aggregationState.columns.find(t=>t.projectionColumnState===e);t&&this.aggregationState.removeColumn(t),this.resultSetModifierState.updateSortColumns()}addColumn(e,t){Co(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=Gs(this.projectionColumns[e]),i=Ui(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 cSi(this,this.queryBuilderState.graphManagerState.graphManager.createDefaultBasicRawLambda({addDummyParameter:!0}));this.addColumn(e),e.derivationLambdaEditorState.setLambdaString(`${Uct}${vC}''`)}revealCompilationError(e){const t=ete(e.sourceInformation);if(t&&3===t.length&&t[0]===Lct.QUERY_BUILDER&&t[1]===Lct.PROJECTION){const n=this.projectionColumns.find(e=>e.uuid===t[2]);if(n instanceof cSi)return n.derivationLambdaEditorState.setCompilationError(e),!0}return!1}clearCompilationError(){this.derivations.forEach(e=>e.derivationLambdaEditorState.setCompilationError(void 0))}fetchProperty(e){this.addColumn(new aSi(this,Cxi(e,this.queryBuilderState.explorerState),this.queryBuilderState.explorerState.humanizePropertyName))}fetchProperties(e){e.forEach(e=>{this.addColumn(new aSi(this,Cxi(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:xlt.CAUTION,actions:[{label:"Proceed",type:Tlt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:Tlt.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:xlt.CAUTION,actions:[{label:"Proceed",type:Tlt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:Tlt.PROCEED,default:!0}]}):e()}isVariableUsed(e){const t=this.projectionColumns;if(t.filter(zs(cSi)).length)return!1;const n=t.filter(zs(aSi)).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 aSi&&e.propertyExpressionState.derivedPropertyExpressionStates.some(e=>!e.isValid))}get hashCode(){return $v([wdt.PROJECTION_STATE,$v(this.projectionColumns),this.aggregationState,this.postFilterState,this.resultSetModifierState])}*fetchDerivedReturnTypes(){try{const e=new Map,t=this.queryBuilderState.graphManagerState.graph,n=this.projectionColumns.filter(zs(cSi));n.forEach(t=>e.set(t.columnName,t.getIsolatedRawLambda()));const i=yield this.queryBuilderState.graphManagerState.graphManager.getLambdasReturnType(e,t);Array.from(i.results.entries()).forEach(e=>{const t=n.find(t=>t.columnName===e[0]);t&&t.setLambdaReturnType(e[1])})}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.info(vb.create("Unable to fetch derived return types"),e)}}}var Iwi;!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)"}(Iwi||(Iwi={}));const Dwi=[[Iwi.COUNT,fSi],[Iwi.DISTINCT_COUNT,ySi],[Iwi.SUM,SSi],[Iwi.MIN,_Si],[Iwi.MAX,vSi],[Iwi.AVERAGE,mSi],[Iwi.STD_DEV_POPULATION,bSi],[Iwi.STD_DEV_SAMPLE,CSi]],kwi=(e,t,n)=>{const i=new aSi(e,t,!1);return i.setColumnName(n),i};class Owi extends pC{includeSubTypes=!0;includeDocumentation=!1;constructor(e,t){super(()=>{e().catch(t)}),Hh(this,{includeSubTypes:ru,includeDocumentation:ru,setIncludeSubTypes:hh,setIncludeDocumentation:hh})}setIncludeSubTypes(e){this.includeSubTypes=e}setIncludeDocumentation(e){this.includeDocumentation=e}}const Lwi=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===DC,a=t.filter(e=>o(e)).map(e=>e.value),l=t.filter(e=>!o(e)),c=e=>Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:`${e.tag.ownerReference.value.name}.${e.tag.value.value}`}),Yne.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value})]},`${e.tag.ownerReference.value.name}.${e.value}`);return Yne.jsx("div",{children:l.length>0?Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Tagged Values"}),Yne.jsxs("div",{className:"query-builder__tooltip__taggedValues",children:[t.slice(0,1).map(e=>Yne.jsxs("div",{className:"query-builder__tooltip__combo",children:[c(e),t.length>3&&Yne.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))]})]}):Yne.jsx(Yne.Fragment,{children:Boolean(a.length)&&Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Documentation"}),Yne.jsx("div",{className:"query-builder__tooltip__item__value",children:a.join("\n\n")})]})})})},Mwi=e=>{const{title:t,data:i,placement:r,children:s,footerElement:o}=e,[a,l]=n.useState(!1);return Yne.jsx(Hye,{onClickAway:()=>l(!1),mouseEvent:"onMouseDown",children:Yne.jsx("div",{children:Yne.jsx(hCe,{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:Yne.jsxs("div",{className:"query-builder__tooltip__content",children:[Yne.jsx("div",{className:"query-builder__tooltip__header",children:t}),i.map(e=>Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:e.label}),Yne.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value}),e.actionButton]},e.label)),o]}),children:Yne.jsx("div",{onClick:e=>{l(!a),e.stopPropagation()},children:s})})})})},Pwi=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?Yne.jsx("div",{className:"query-builder__tooltip__item__action",children:Yne.jsx("button",{onClick:()=>l.highlightTreeNode(i),title:"Show in tree",children:Yne.jsx(ase,{})})}):void 0},{label:"Multiplicity",value:Zw(n.multiplicity)},{label:"Derived Property",value:n instanceof US?"Yes":"No"},{label:"Mapped",value:r?"Yes":"No"}];return Yne.jsx(Mwi,{title:t,data:c,placement:o,footerElement:Yne.jsx(Lwi,{taggedValues:n.taggedValues}),children:s})},Fwi=e=>{const{title:t,children:n,placement:i,type:r}=e,s=[{label:"Type",value:r?.path??"undefined"}];return Yne.jsx(Mwi,{title:t,data:s,placement:i,children:n})};var Bwi;!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"}(Bwi||(Bwi={}));const Vwi=e=>({label:e.name,value:e}),Uwi=e=>Vw(e)?"system element":Bw(e)?"generated element":Fw(e)?"dependency element":void 0,Gwi=e=>function(t){const{darkMode:n}=e,i=n?"packageable-element-option-label--dark":"packageable-element-option-label",r=(e=>Vw(e)?"system":Bw(e)?"generated":Fw(e)?"dependency":"")(t.value);return Yne.jsxs("div",{className:i,children:[Yne.jsx("div",{title:Uwi(t.value),className:`packageable-element-option-label__type ${r?`packageable-element-option-label__type--${r}`:""} `}),Yne.jsx("div",{className:`${i}__name`,children:t.label}),t.value.package&&Yne.jsx("div",{className:`${i}__tag`,children:t.value.path})]})},Hwi=e=>e instanceof gS?Yne.jsx(iwe,{}):e instanceof wS?Yne.jsx(rwe,{}):e instanceof RS?Yne.jsx(swe,{}):e instanceof PS?Yne.jsx(owe,{}):e instanceof MS?Yne.jsx(awe,{}):Yne.jsx(cwe,{}),zwi=e=>{const{_class:t,children:n,placement:i}=e;return Yne.jsx(hCe,{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:Yne.jsxs("div",{className:"query-builder__tooltip__content",children:[Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Yne.jsx("div",{className:"query-builder__tooltip__item__value",children:"Unknown"})]}),Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),Yne.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),Yne.jsx(Lwi,{taggedValues:t.taggedValues})]}),children:n})},Wwi=(e,t,n)=>{if(e.type instanceof wS&&tx(e.type,t))return!0;if(e instanceof _xi&&tx(e.property,t))return!0;if(e instanceof bxi){const i=n.nodes.get(e.parentId);if(i?.type instanceof wS&&tx(i.type,t))return!0}return!1},jwi=(e,t)=>{if(e instanceof vxi&&t.fetchStructureState.implementation.usedExplorerTreePropertyNodeIDs.length>0)return!0;const n=e.id.replaceAll(/(?:@[^.]+)+/g,e=>{const t=e.split(CC);return`${CC}${t[t.length-1]}`});return t.fetchStructureState.implementation.usedExplorerTreePropertyNodeIDs.includes(n)},$wi=e=>{const{subclass:t,path:i,isMapped:r,children:s,placement:o,multiplicity:a}=e,[l,c]=n.useState(!1);return Yne.jsx(Hye,{onClickAway:()=>c(!1),mouseEvent:"onMouseDown",children:Yne.jsx("div",{children:Yne.jsx(hCe,{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:Yne.jsxs("div",{className:"query-builder__tooltip__content",children:[Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Yne.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),Yne.jsx("div",{className:"query-builder__tooltip__item__value",children:i})]}),Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),Yne.jsx("div",{className:"query-builder__tooltip__item__value",children:Zw(a)})]}),Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Mapped"}),Yne.jsx("div",{className:"query-builder__tooltip__item__value",children:r?"Yes":"No"})]}),Yne.jsx(Lwi,{taggedValues:t.taggedValues})]}),children:Yne.jsx("div",{onClick:e=>{c(!l),e.stopPropagation()},children:s})})})})},qwi=Vse(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 Yne.jsx(pve,{open:Boolean(i.previewData)||i.isGeneratingPreviewData,onClose:r,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Yne.jsx("div",{"data-testid":Bwi.QUERY_BUILDER_PREVIEW_DATA_MODAL,children:Yne.jsxs(GOe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder__explorer__preview-data-modal",children:[Yne.jsx(zOe,{title:qy(i.propertyName)}),Yne.jsx(wLe,{isLoading:i.isGeneratingPreviewData}),Yne.jsxs(jOe,{className:"query-builder__explorer__preview-data-modal__body",children:[i.isGeneratingPreviewData&&Yne.jsx("div",{className:"query-builder__explorer__preview-data-modal__placeholder",children:"Loading preview data..."}),i.previewData&&Yne.jsxs("table",{className:"table",children:[Yne.jsx("thead",{children:Yne.jsx("tr",{children:i.previewData.columns.map((e,t)=>Yne.jsx("th",{className:"table__cell--left",children:e},t))})}),Yne.jsx("tbody",{children:i.previewData.rows.map((e,t)=>Yne.jsx("tr",{children:e.values.map((e,t)=>Yne.jsx("td",{className:"table__cell--left",children:e},t))},t))})]})]}),Yne.jsx($Oe,{children:Yne.jsx(YOe,{text:"Close",onClick:r,type:"secondary"})})]})})})}),Ywi=Vse(n.forwardRef(function(e,t){const{queryBuilderState:n,openNode:i,node:r}=e;return Yne.jsxs(XOe,{ref:t,children:[r instanceof _xi&&!(r.type instanceof wS)&&Yne.jsx(QOe,{onClick:()=>n.fetchStructureState.fetchProperty(r),children:"Add Property to Fetch Structure"}),r.type instanceof wS&&Yne.jsx(QOe,{onClick:()=>{if(i(),r.type instanceof wS){r.childrenIds.map(e=>n.explorerState.nonNullableTreeData.nodes.get(e)).filter(zs(_xi)).filter(e=>!(e.type instanceof wS)&&e.mappingData.mapped).filter(e=>{const t=Cxi(e,n.explorerState);if(n.fetchStructureState.implementation instanceof Rwi){return void 0===n.fetchStructureState.implementation.projectionColumns.find(n=>{if(n instanceof aSi)return n.propertyExpressionState.path===e.id&&n.columnName===ZCi(t,!0)})}return!0}).forEach(e=>n.fetchStructureState.fetchProperty(e))}},children:"Add Properties to Fetch Structure"})]})})),Kwi=e=>{if(e instanceof gS){if(e.name===TC.STRING)return Yne.jsx(pie,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__string"});if(e.name===TC.BOOLEAN)return Yne.jsx(jre,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__boolean"});if(e.name===TC.NUMBER||e.name===TC.INTEGER||e.name===TC.FLOAT||e.name===TC.DECIMAL)return Yne.jsx(xre,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__number"});if(e.name===TC.DATE||e.name===TC.DATETIME||e.name===TC.STRICTDATE)return Yne.jsx(ore,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__time"})}return Hwi(e)},Xwi=Vse(e=>{const{node:t,level:i,stepPaddingInRem:r,onNodeSelect:s,innerProps:o}=e,{queryBuilderState:a}=o,[l,c]=n.useState(!1),d=Wat(),u=a.explorerState,[,h,p]=hPe(()=>({type:t instanceof _xi?t.type instanceof RS?gxi.ENUM_PROPERTY:t.type instanceof wS?gxi.CLASS_PROPERTY:gxi.PRIMITIVE_PROPERTY:gxi.ROOT,item:()=>t instanceof _xi?{node:t}:{}}),[t]),g=n.useRef(null);h(g),jPe(p);const m=Boolean(t.childrenIds.length),f=t instanceof _xi&&t.property instanceof US,y=t instanceof _xi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1)||t instanceof bxi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1),v=t.mappingData.mapped&&t instanceof _xi&&t.type instanceof gS&&!t.isPartOfDerivedPropertyBranch,_=m?t.isOpen?Yne.jsx(Jre,{}):Yne.jsx(tse,{}):Yne.jsx("div",{}),b=u.humanizePropertyName?t instanceof bxi?CC+qy(t.label):qy(t.label):t instanceof bxi?CC+t.label:t.label;return t.mappingData.mapped||t instanceof vxi||u.showUnmappedProperties?Yne.jsx(tLe,{content:Yne.jsx(Ywi,{queryBuilderState:a,openNode:()=>{t.isOpen||s?.(t)},node:t}),disabled:!(t instanceof _xi||t instanceof vxi)||d.layoutService.showBackdrop,menuProps:{elevation:7},onOpen:()=>c(!0),onClose:()=>c(!1),children:Yne.jsxs("div",{className:zse("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":u.highlightUsedProperties&&jwi(t,a)}),title:t.mappingData.mapped?void 0:t instanceof vxi?"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 vxi&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[Yne.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:_}),Yne.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:Yne.jsx(rwe,{})})]}),Yne.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:t.label}),Yne.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:Yne.jsx(zwi,{_class:Gs(a.class),children:Yne.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":Bwi.QUERY_BUILDER_TOOLTIP_ICON,children:Yne.jsx(Tre,{})})})})]}),(t instanceof _xi||t instanceof bxi)&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",ref:t.elementRef,children:[Yne.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:_}),Yne.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:Kwi(t.type)})]}),Yne.jsxs("div",{className:zse("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":v},{"query-builder-explorer-tree__node__label--highlight":t.isHighlighting}),onAnimationEnd:()=>t.setIsHighlighting(!1),children:[Yne.jsx("div",{className:zse("query-builder-explorer-tree__node__label--property__name",{"query-builder-explorer-tree__node__label--deprecated":Wwi(t,u.queryBuilderState.graphManagerState.graph,u.nonNullableTreeData)}),children:b}),f&&Yne.jsx("div",{className:"query-builder-explorer-tree__node__label__derived-property",title:"Property is derived and may require user to specify parameter values",children:"(...)"}),y&&Yne.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),Yne.jsxs("div",{className:"query-builder-explorer-tree__node__actions",children:[v&&Yne.jsx("button",{className:"query-builder-explorer-tree__node__action",disabled:u.previewDataState.isGeneratingPreviewData,tabIndex:-1,title:"Preview Data",onClick:()=>{t instanceof _xi&&u.previewData(t).catch(d.alertUnhandledError)},children:Yne.jsx(yre,{})}),t instanceof _xi&&Yne.jsx(Pwi,{title:b,property:t.property,path:t.id,isMapped:t.mappingData.mapped,type:t.type,children:Yne.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":Bwi.QUERY_BUILDER_TOOLTIP_ICON,children:Yne.jsx(Tre,{})})}),t instanceof bxi&&Yne.jsx($wi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:Yne.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":Bwi.QUERY_BUILDER_TOOLTIP_ICON,children:Yne.jsx(Tre,{})})})]})]})]})}):null}),Qwi=Vse(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e,{queryBuilderState:a}=o;return t.mappingData.mapped||t instanceof vxi||a.explorerState.showUnmappedProperties?Yne.jsxs("div",{className:"tree-view__node__block",children:[Yne.jsx(Xwi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).map(e=>Yne.jsx(Qwi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))]}):null}),Zwi=e=>e instanceof bxi?0:e.type instanceof wS?e.isPartOfDerivedPropertyBranch?1:2:e.type instanceof RS?e.isPartOfDerivedPropertyBranch?3:4:e.isPartOfDerivedPropertyBranch?5:6,Jwi=Vse(e=>{const{queryBuilderState:t}=e,n=t.explorerState,i=n.nonNullableTreeData;return Yne.jsx(hIe,{components:{TreeNodeContainer:Xwi,TreeNodeView:Qwi},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 bxi||e instanceof _xi).sort((e,t)=>e.label.localeCompare(t.label)).sort((e,t)=>Zwi(t)-Zwi(e)),innerProps:{queryBuilderState:t}})}),exi="query-builder-explorer-search-input",txi=Vse(n.forwardRef(function(e,t){const{propertySearchState:i}=e;n.useEffect(()=>{i.initializationState.hasSucceeded||i.initializationState.isInProgress||!Vs(i.queryBuilderState.explorerState.treeData)||i.initialize().catch(i.queryBuilderState.applicationStore.alertUnhandledError)},[i,i.initializationState,i.queryBuilderState.explorerState.treeData]);const r=n.useMemo(()=>gi(()=>i.search(),100),[i]),s=()=>{i.resetSearch()};return Yne.jsxs("div",{className:"query-builder__explorer__property-search__input__container",children:[Yne.jsx("input",{ref:t,name:exi,className:zse("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&&Yne.jsx("div",{className:"query-builder__explorer__property-search__input__search__count",children:i.filteredSearchResults.length+(i.isOverSearchLimit&&0!==i.filteredSearchResults.length?"+":"")}),i.searchText?Yne.jsx("button",{className:"query-builder__explorer__property-search__input__clear-btn",tabIndex:-1,onClick:s,title:"Clear",children:Yne.jsx(Wre,{})}):Yne.jsx(Yne.Fragment,{children:Yne.jsx("div",{className:"query-builder__explorer__property-search__input__search__icon",children:Yne.jsx(Ure,{})})})]})})),nxi=Vse(e=>{const{queryBuilderState:t}=e,i=n.useRef(null),r=t.explorerState,s=r.propertySearchState,o=Wat();return n.useEffect(()=>{r.analyzeMappingModelCoverage().catch(o.alertUnhandledError)},[o,r,t.executionContextState.mapping]),Yne.jsxs("div",{"data-testid":Bwi.QUERY_BUILDER_EXPLORER,className:zse("panel query-builder__explorer",{backdrop__element:o.layoutService.showBackdrop}),children:[Yne.jsxs(lLe,{title:"explorer",children:[Yne.jsx(txi,{propertySearchState:s,ref:i}),Yne.jsxs(dLe,{children:[Yne.jsx(uLe,{onClick:()=>{r.treeData&&Array.from(r.treeData.nodes.values()).forEach(e=>{e instanceof vxi||e.setIsOpen(!1)})},title:"Collapse Tree",children:Yne.jsx(lre,{})}),Yne.jsx(nLe,{className:"panel__header__action",title:"Show Options Menu...",onOpen:()=>{Vct.logEvent_ShowPropertyExplorerOptions(o.telemetryService)},content:Yne.jsxs(XOe,{children:[Yne.jsxs(QOe,{onClick:()=>{Vct.logEvent_ShowUnmappedPropertyInExplorerTreeLaunched(o.telemetryService),r.setShowUnmappedProperties(!r.showUnmappedProperties)},children:[Yne.jsx(JOe,{children:r.showUnmappedProperties?Yne.jsx(nre,{}):null}),Yne.jsx(eLe,{children:"Show Unmapped Properties"})]}),Yne.jsxs(QOe,{onClick:()=>r.setHumanizePropertyName(!r.humanizePropertyName),children:[Yne.jsx(JOe,{children:r.humanizePropertyName?Yne.jsx(nre,{}):null}),Yne.jsx(eLe,{children:"Humanize Property Name"})]}),Yne.jsxs(QOe,{onClick:()=>r.setHighlightUsedProperties(!r.highlightUsedProperties),children:[Yne.jsx(JOe,{children:r.highlightUsedProperties?Yne.jsx(nre,{}):null}),Yne.jsx(eLe,{children:"Highlight already used properties"})]})]}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:7},children:Yne.jsx(gie,{className:"query-builder__icon__more-options"})})]}),s.isSearchPanelOpen&&Yne.jsx(hxi,{queryBuilderState:t,triggerElement:i.current,clearSearch:()=>s.resetSearch()})]}),Yne.jsxs("div",{className:"panel__content query-builder-explorer-tree__content",children:[Yne.jsx(wLe,{isLoading:r.mappingModelCoverageAnalysisState.isInProgress}),Yne.jsx($Pe,{labelGetter:e=>r.humanizePropertyName?qy(e.node.label):e.node.label,types:Object.values(gxi)}),r.mappingModelCoverageAnalysisState.isInProgress?Yne.jsx(CLe,{children:r.mappingModelCoverageAnalysisState.message}):Yne.jsxs(Yne.Fragment,{children:[!r.treeData&&Yne.jsx(CLe,{children:"Specify the class, mapping, and runtime to start building query"}),r.treeData&&Yne.jsx(Jwi,{queryBuilderState:t})]}),Yne.jsx(qwi,{queryBuilderState:t})]})]})}),ixi=({documentationKey:e,title:t,className:n,inline:i=!0})=>{const r=Wat(),s=r.documentationService.getDocEntry(e);return s&&(s.url||Zat(s))?Yne.jsx("div",{onClick:t=>{t.preventDefault(),t.stopPropagation(),r.assistantService.openDocumentationEntryLink(e)},title:t??"Click to see documentation",className:zse("documentation-link",n,{"documentation-link--inline":i}),children:Yne.jsx(Pre,{})}):null},rxi=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]),Yne.jsx("div",{className:"undo-redo",children:Yne.jsxs("button",{className:"undo-redo__button",onClick:r,tabIndex:-1,title:"Undo(ctrl + z)",disabled:!i,children:[Yne.jsx(qre,{}),Yne.jsx("div",{className:"undo-redo__button__label",children:"Undo"})]})})},sxi=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]),Yne.jsx("div",{className:"undo-redo",children:Yne.jsxs("button",{className:"undo-redo__button",onClick:r,tabIndex:-1,title:"Redo(ctrl + y)",disabled:!i,children:[Yne.jsx(Bre,{}),Yne.jsx("div",{className:"undo-redo__button__label",children:"Redo"})]})})},oxi=(e,t)=>e.split(CC).map(e=>e.replace(new RegExp(String.raw`.*${yC}`),"")).filter(e=>""!==e).map(e=>e.split(".").map(qy).join(t?" / ":"/")).join(CC),axi=(e,t)=>{let n=e.split(CC);n=n.map(e=>e.replace(new RegExp(String.raw`.*${yC}`),"")).filter(e=>""!==e);let i=n.slice(0,-1).map(e=>`(${CC}${e.split(".").map(e=>qy(e)).join(t?" / ":"/")})`).join(t?" / ":"/");return i+=t?" / ":"/",n=Gs(n[n.length-1]).split("."),n=n.map(e=>qy(e)),i=`${i}(${CC}${n[0]})${t?" / ":"/"}`,n.slice(1).forEach(e=>{i=`${i+e}${t?" / ":"/"}`}),i=i.slice(0,t?-3:-1),i},lxi=(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 Yne.jsx("span",{children:e});const o=[],a=vo(s,0)[0];a>0&&o.push(Yne.jsx("span",{children:e.substring(0,a)},`${i}-0-${e.substring(0,a)}`)),s.forEach((t,r)=>{if(o.push(Yne.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=vo(s,r+1)[0];o.push(Yne.jsx("span",{children:e.substring(t[1],n)},`${i}-${2*r+1}--${e.substring(t[1],n)}`))}});const l=vo(s,s.length-1)[1];return l<e.length&&o.push(Yne.jsx("span",{children:e.substring(l)},`${i}-${2*s.length+2}-${e.substring(l)}`)),o},cxi=Vse(e=>{const{node:t,queryBuilderState:i,explorerState:r,level:s,stepPaddingInRem:o}=e,a=Boolean(t.childrenIds.length),l=r.propertySearchState,[,c,d]=hPe(()=>({type:t instanceof _xi?t.type instanceof RS?gxi.ENUM_PROPERTY:t.type instanceof wS?gxi.CLASS_PROPERTY:gxi.PRIMITIVE_PROPERTY:gxi.ROOT,item:()=>t instanceof _xi?{node:t}:{},canDrag:()=>!(t.type instanceof wS),collect:e=>({isDragging:e.isDragging()})}),[t]),u=n.useRef(null);c(u),jPe(d);const h=()=>{r.propertySearchState.setIsSearchPanelOpen(!1),r.propertySearchState.resetSearch(),r.highlightTreeNode(t.id)},p=l.indexedExplorerTreeNodes.find(e=>t instanceof _xi&&t.parentId===e.id),g=p?.type instanceof wS&&s>1?qy(t.label):p instanceof bxi?axi(t.id,!0):oxi(t.id,!0),m=a?t.isOpen?Yne.jsx(Jre,{}):Yne.jsx(tse,{}):Yne.jsx("div",{}),f=t instanceof _xi?t.property.taggedValues.find(e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===DC)?.value??null:null,y=null!==f?lxi(f,l.searchText,"query-builder-property-search-panel__node__doc",`${t.id}_doc`):null,v=l.isNodeMultiple(t);return Yne.jsxs(Yne.Fragment,{children:[Yne.jsxs("div",{className:"tree-view__node__container query-builder-property-search-panel__node__container",ref:u,style:{paddingLeft:(s-1)*o+.5+"rem",display:"flex"},onClick:()=>t.setIsOpen(!t.isOpen),onDrag:()=>l.setIsSearchPanelHidden(!0),onDragEnd:()=>l.setIsSearchPanelHidden(!1),children:[Yne.jsxs("div",{className:"tree-view__node__icon query-builder-property-search-panel__node__icon",children:[Yne.jsx("div",{className:"query-builder-property-search-panel__expand-icon",children:m}),Yne.jsx("div",{className:"query-builder-property-search-panel__type-icon",children:Kwi(t.type)})]}),Yne.jsxs("div",{className:"query-builder-property-search-panel__node__content",children:[Yne.jsxs("div",{className:"tree-view__node__label query-builder-property-search-panel__node__label",children:[lxi(g,l.searchText,"query-builder-property-search-panel__node__label",t.id),v&&Yne.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),Yne.jsx("div",{className:"tree-view__node__label query-builder-property-search-panel__node__doc",children:y})]}),Yne.jsxs("div",{className:"query-builder-property-search-panel__node__actions",children:[t instanceof _xi&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsx(Pwi,{title:g,property:t.property,path:t.id,isMapped:t.mappingData.mapped,children:Yne.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:Yne.jsx(Tre,{})})}),Yne.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:Yne.jsx(ase,{})})]}),t instanceof bxi&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsx($wi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:Yne.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:Yne.jsx(Tre,{})})}),Yne.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:Yne.jsx(ase,{})})]})]})]}),t.isOpen&&(()=>{const e=[];return t.childrenIds.length&&(t instanceof _xi||t instanceof bxi)&&t.type instanceof wS&&(t instanceof bxi?Yw(t.type):jw(t.type)).forEach(n=>{const r=Exi(n,t,Gs(i.explorerState.mappingModelCoverageAnalysisResult));!r||r.type instanceof wS||!r.mappingData.mapped||e.push(r)}),e})().filter(e=>l.isNodeIncludedInFilter(e)).sort((e,t)=>e.label.localeCompare(t.label)).map(e=>Yne.jsx(cxi,{node:e,queryBuilderState:i,level:s+1,stepPaddingInRem:2,explorerState:i.explorerState},`${t.id}>${e.id}`))]})}),dxi=Vse(e=>{const{label:t,enabled:i,onClick:r,showOnlyButton:s,onOnlyButtonClick:o}=e,[a,l]=n.useState(!1);return Yne.jsxs("div",{className:"query-builder-property-search-panel__form__section__toggler__btn__container",onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:[Yne.jsxs("button",{className:zse("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?Yne.jsx(ire,{}):Yne.jsx(Hre,{}),Yne.jsx("div",{className:"query-builder-property-search-panel__form__section__toggler__prompt",children:t})]}),s&&a&&Yne.jsx("button",{className:"query-builder-property-search-panel__form__section__toggler__only-btn",onClick:o,children:"only"})]})}),uxi=Vse(e=>{const{header:t,headerTooltipText:n,buttons:i}=e;return Yne.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[Yne.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:[t,n&&Yne.jsx(hCe,{slotProps:{transition:{timeout:0}},title:Yne.jsx("div",{children:n}),children:Yne.jsx("div",{className:"query-builder-property-search-panel__tagged-values__tooltip",children:Yne.jsx(Tre,{})})})]}),i.map(({label:e,enabled:t,onClick:n,onOnlyButtonClick:r})=>Yne.jsx(dxi,{label:e,enabled:t,onClick:n,showOnlyButton:i.length>1,onOnlyButtonClick:r},e))]})}),hxi=Vse(e=>{const{queryBuilderState:t,triggerElement:n,clearSearch:i}=e,r=t.explorerState.propertySearchState,s=e=>{e.target instanceof HTMLInputElement&&e.target.name===exi||(i(),r.setIsSearchPanelOpen(!1))};return Yne.jsx(TCe,{open:r.isSearchPanelOpen,slotProps:{paper:{classes:{root:"query-builder-property-search-panel__container__root"}}},className:zse("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:Yne.jsx(Hye,{onClickAway:s,children:Yne.jsx("div",{"data-testid":Bwi.QUERY_BUILDER_PROPERTY_SEARCH_PANEL,className:"query-builder-property-search-panel",children:Yne.jsx("div",{className:"query-builder-property-search-panel__content",children:Yne.jsxs(GFe,{orientation:"vertical",children:[Yne.jsx(HFe,{size:175,children:Yne.jsxs("div",{className:"query-builder-property-search-panel__config",children:[Yne.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[Yne.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:["Search Mode",Yne.jsx(ixi,{documentationKey:Flt.QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX})]}),Yne.jsx("div",{className:"query-builder-property-search-panel__filter__element",children:Yne.jsx(oLe,{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:[hC.STANDARD,hC.INCLUDE,hC.EXACT,hC.INVERSE],size:1})})]}),Yne.jsx(uxi,{header:"One-Many rows",buttons:[{label:"Include",enabled:r.includeOneMany,onClick:()=>r.setIncludeOneMany(!r.includeOneMany)}]}),Yne.jsx(uxi,{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)}}]}),Yne.jsx(uxi,{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)}}]}),Yne.jsx(uxi,{header:"By type",buttons:[{label:"Class",enabled:r.typeFilters.includes(Hct.CLASS),onClick:()=>{r.toggleFilterForType(Hct.CLASS)},onOnlyButtonClick:()=>{r.setFilterOnlyType(Hct.CLASS)}},{label:"Enumeration",enabled:r.typeFilters.includes(Hct.ENUMERATION),onClick:()=>{r.toggleFilterForType(Hct.ENUMERATION)},onOnlyButtonClick:()=>{r.setFilterOnlyType(Hct.ENUMERATION)}},{label:"String",enabled:r.typeFilters.includes(Hct.STRING),onClick:()=>{r.toggleFilterForType(Hct.STRING)},onOnlyButtonClick:()=>{r.setFilterOnlyType(Hct.STRING)}},{label:"Boolean",enabled:r.typeFilters.includes(Hct.BOOLEAN),onClick:()=>{r.toggleFilterForType(Hct.BOOLEAN)},onOnlyButtonClick:()=>{r.setFilterOnlyType(Hct.BOOLEAN)}},{label:"Number",enabled:r.typeFilters.includes(Hct.NUMBER),onClick:()=>{r.toggleFilterForType(Hct.NUMBER)},onOnlyButtonClick:()=>{r.setFilterOnlyType(Hct.NUMBER)}},{label:"Date",enabled:r.typeFilters.includes(Hct.DATE),onClick:()=>{r.toggleFilterForType(Hct.DATE)},onOnlyButtonClick:()=>{r.setFilterOnlyType(Hct.DATE)}}]})]})}),Yne.jsx(zFe,{children:Yne.jsx(WFe,{color:"var(--color-dark-grey-200)"})}),Yne.jsxs(HFe,{children:[(r.initializationState.isInProgress||r.searchState.isInProgress)&&Yne.jsx(wLe,{isLoading:!0}),Yne.jsxs("div",{className:"query-builder-property-search-panel__results",children:[!r.initializationState.isInProgress&&!r.searchState.isInProgress&&Yne.jsxs(Yne.Fragment,{children:[Boolean(r.filteredSearchResults.length)&&r.filteredSearchResults.map(e=>Yne.jsx(cxi,{node:e,queryBuilderState:t,level:1,stepPaddingInRem:0,explorerState:t.explorerState},e.id)),!r.filteredSearchResults.length&&r.searchText&&Yne.jsxs(CLe,{children:[Yne.jsx("div",{className:"query-builder-property-search-panel__result-placeholder__text",children:"No result"}),Yne.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&&Yne.jsx(CLe,{children:"Initializing..."}),r.searchState.isInProgress&&Yne.jsx(CLe,{children:"Searching..."})]})]})]})})})})})});class pxi{queryBuilderState;indexedExplorerTreeNodeMap=new Map;searchEngine;searchConfigurationState;initializationState=hb.create();searchState=hb.create();searchText="";searchResults=[];isOverSearchLimit=!1;isSearchPanelOpen=!1;isSearchPanelHidden=!1;showSearchConfigurationMenu=!1;includeOneMany=!1;typeFilters=[Hct.CLASS,Hct.ENUMERATION,Hct.STRING,Hct.BOOLEAN,Hct.NUMBER,Hct.DATE];constructor(e){Hh(this,{indexedExplorerTreeNodeMap:ru,searchText:ru,searchResults:ru,isOverSearchLimit:ru,isSearchPanelOpen:ru,isSearchPanelHidden:ru,showSearchConfigurationMenu:ru,includeOneMany:ru,typeFilters:ru,indexedExplorerTreeNodes:lu,filteredSearchResults:lu,search:hh,resetSearch:hh,setSearchResults:hh,setIsOverSearchLimit:hh,setSearchText:hh,setShowSearchConfigurationMenu:hh,setIsSearchPanelOpen:hh,setIsSearchPanelHidden:hh,setIncludeOneMany:hh,setFilterOnlyType:hh,toggleFilterForType:hh,initialize:hh}),this.queryBuilderState=e,this.searchConfigurationState=new Owi(async()=>this.search(),this.queryBuilderState.applicationStore.alertUnhandledError),this.searchEngine=new uC(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 vxi||e.setIsOpen(!1)}),this.searchState.complete()}setIncludeOneMany(e){this.includeOneMany=e}setFilterOnlyType(e){this.typeFilters=[e]}toggleFilterForType(e){this.typeFilters.includes(e)?Eo(this.typeFilters,e):Co(this.typeFilters,e)}isNodeMultiple(e){let t=e;for(;t;){if(t instanceof bxi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1)||t instanceof _xi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1))return!0;t=t instanceof _xi||t instanceof bxi?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 vxi||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 wS&&t.set(e.id,e),e)).filter(e=>!(e instanceof _xi||e instanceof bxi)||!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(Vs).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(Vs).filter(e=>!(!e.mappingData.mapped||!this.searchConfigurationState.includeSubTypes)||e instanceof _xi)).forEach(e=>{if(e.mappingData.mapped&&!e.isPartOfDerivedPropertyBranch){const t=Txi(e);i.push(t),this.indexedExplorerTreeNodeMap.set(t.id,t)}});const s=this.indexedExplorerTreeNodeMap.size+1e4,o=e=>gh(()=>{if(this.indexedExplorerTreeNodeMap.size>s)return;const t=Txi(e);this.indexedExplorerTreeNodeMap.set(t.id,t)}),a=e=>{if(e instanceof _xi||e instanceof bxi){let t=this.indexedExplorerTreeNodeMap.get(e.parentId)??n.get(e.parentId);for(;t;){if(e.type===t.type)return!0;t=t instanceof _xi||t instanceof bxi?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 _xi||this.searchConfigurationState.includeSubTypes&&e instanceof bxi)&&e.type instanceof wS&&((e instanceof bxi?Yw(e.type):jw(e.type).concat($w(e.type))).forEach(t=>{const n=Exi(t,e,Gs(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=wxi(t,e,Gs(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 uC(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 _xi||e instanceof bxi?this.indexedExplorerTreeNodeMap.get(e.parentId):void 0;return t?t instanceof bxi?axi(e.id):oxi(e.id):""}},...this.searchConfigurationState.includeDocumentation?[{name:"taggedValues",weight:2,getFn:e=>e instanceof _xi?e.property.taggedValues.filter(e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===DC).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(Hct.CLASS)&&e.type instanceof wS)||(!!(this.typeFilters.includes(Hct.ENUMERATION)&&e.type instanceof RS)||(!(!this.typeFilters.includes(Hct.STRING)||e.type!==gS.STRING)||(!!(this.typeFilters.includes(Hct.NUMBER)&&e.type instanceof gS&&[TC.NUMBER,TC.DECIMAL,TC.INTEGER,TC.FLOAT].includes(e.type.name))||(!(!this.typeFilters.includes(Hct.BOOLEAN)||e.type!==gS.BOOLEAN)||!!(this.typeFilters.includes(Hct.DATE)&&e.type instanceof gS&&[TC.DATE,TC.DATETIME,TC.STRICTDATE,TC.STRICTTIME,TC.LATESTDATE].includes(e.type.name)))))))}get filteredSearchResults(){return this.searchResults.filter(e=>this.isNodeIncludedInFilter(e))}}var gxi;!function(e){e.ROOT="ROOT",e.CLASS_PROPERTY="CLASS_PROPERTY",e.ENUM_PROPERTY="ENUM_PROPERTY",e.PRIMITIVE_PROPERTY="PRIMITIVE_PROPERTY"}(gxi||(gxi={}));const mxi=(e,t)=>`${e?`${e}.`:""}${t}`,fxi=(e,t)=>`${e||""}${CC}${t}`;class yxi{isSelected;isOpen;isHighlighting;id;label;dndText;childrenIds=[];isPartOfDerivedPropertyBranch;type;mappingData;elementRef;constructor(e,t,i,r,s,o,a){Hh(this,{isHighlighting:ru,isOpen:ru,isSelected:ru,setIsHighlighting:hh,setIsOpen:hh,setIsSelected:hh}),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 vxi extends yxi{}class _xi extends yxi{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 bxi extends yxi{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}}const Cxi=(e,t,n)=>{const i=t.nonNullableTreeData,r=t.propertySearchState.indexedExplorerTreeNodes,s=new ME(n??Uct,nS.ONE),o=new KE("");sdt(o,zS.create(Gs(e.property)));let a=o,l=i.nodes.get(e.parentId)??r.find(t=>t.id===e.parentId),c=e;for(;c&&(l instanceof _xi||l instanceof bxi);){if(l instanceof bxi&&c instanceof bxi){l=i.nodes.get(l.parentId);continue}let e,t=!1;if(l instanceof bxi?e=new YE(sS($ct.SUBTYPE)):l instanceof _xi&&l.mappingData.entityMappedProperty?.subType?(e=new YE(sS($ct.SUBTYPE)),a.parametersValues.push(e),a=e,e=new KE(""),sdt(e,zS.create(Gs(l.property))),t=!0,c=l,l=i.nodes.get(l.parentId)):(e=new KE(""),sdt(e,zS.create(Gs(l.property)))),a.parametersValues.push(e),a instanceof YE&&lS(a.functionName,$ct.SUBTYPE)){const e=new PE(nS.ONE,yS.create(new ES(c.type)));a.parametersValues.push(e)}if(a=e,t||(c=l,l=l instanceof _xi||l instanceof bxi?i.nodes.get(l.parentId):void 0),!l&&(c instanceof _xi||c instanceof bxi))for(const e of r)if(e.id===c.parentId){l=e;break}}if(a.parametersValues.push(s),c&&a instanceof YE){const e=new PE(nS.ONE,yS.create(new ES(c.type)));a.parametersValues.push(e)}return o},Sxi=e=>{const t=e.type,n=(e instanceof bxi?Yw(t):jw(t).concat($w(t))).map(t=>`${e.id}.${t.name}`),i=t._subclasses.map(t=>`${e.id}${CC}${t.path}`);return n.concat(i)},Exi=(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 wS||e.genericType.value.rawType instanceof IS)&&i?{mapped:!0,mappedEntity:n.__ENTITIES_INDEX.get(i instanceof MJ?i.entityPath:i.enumPath),entityMappedProperty:i instanceof MJ?i:void 0}:{mapped:void 0!==i}}return{mapped:!1}})(e,t.mappingData,n),r=e instanceof US||t.isPartOfDerivedPropertyBranch||t instanceof _xi&&t.property instanceof US;if(e instanceof AS&&t instanceof _xi&&t.property instanceof AS&&e._OWNER instanceof NS&&t.property._OWNER instanceof NS&&t.property._OWNER===e._OWNER)return;const s=e.genericType.value.rawType instanceof wS?Ww(e.genericType.value.rawType):[],o=i.entityMappedProperty?.subType?s.find(e=>e.path===i.entityMappedProperty?.subType):void 0,a=new _xi(o?fxi(mxi(t instanceof vxi?"":t.id,e.name),o.path):mxi(t instanceof vxi?"":t.id,e.name),e.name,`${t instanceof vxi?`${bC}x`:t.dndText}.${e.name}`,e,t.id,r,i,o);if(o){const n=mxi(t instanceof vxi?"":t.id,e.name);t.childrenIds.includes(n)&&(t.childrenIds=[...t.childrenIds.filter(e=>e!==n),a.id])}return a.type instanceof wS&&(a.childrenIds=Sxi(a)),a},wxi=(e,t,n)=>{const i=new bxi(fxi(t instanceof vxi?"":t.id,e.path),e.name,""+(t instanceof vxi?`${bC}${Uct}->${sS($ct.SUBTYPE)}(${CC}${e.path})`:`${t.dndText}->${sS($ct.SUBTYPE)}(${CC}${e.path})`),e,t.id,!1,((e,t,n)=>{const i=Ww(e).concat(e).map(e=>e.path),r=t.entityMappedProperty?.subType;if(t.mappedEntity){const e=t.mappedEntity.properties.find(e=>Boolean(e instanceof MJ&&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 _xi?t.property.multiplicity:t instanceof bxi?t.multiplicity:nS.ONE);return i.childrenIds=Sxi(i),i},xxi=(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 vxi("@dummy_rootNode",e.name,e.path,!1,e,r);return s.isOpen=!0,i.set(s.id,s),n.push(s.id),jw(e).concat($w(e)).sort((e,t)=>e.name.localeCompare(t.name)).sort((e,t)=>(t instanceof wS?2:t instanceof RS?1:0)-(e instanceof wS?2:e instanceof RS?1:0)).forEach(e=>{const n=Exi(e,s,t);n&&(Co(s.childrenIds,n.id),i.set(n.id,n))}),e._subclasses.forEach(e=>{const n=wxi(e,s,t);Co(s.childrenIds,n.id),i.set(n.id,n)}),{rootIds:n,nodes:i}},Txi=e=>{if(e instanceof vxi)return new vxi(e.id,e.label,e.dndText,e.isPartOfDerivedPropertyBranch,e.type,e.mappingData,e.childrenIds);if(e instanceof _xi)return new _xi(e.id,e.label,e.dndText,e.property,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.type,e.childrenIds);if(e instanceof bxi)return new bxi(e.id,e.label,e.dndText,e.subclass,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.multiplicity,e.childrenIds);throw new Yr(`Unable to clone node of type ${e.constructor.name}`)};class Axi{isGeneratingPreviewData=!1;propertyName="(unknown)";previewData;previewDataAbortController;constructor(){Hh(this,{previewData:ru.ref,isGeneratingPreviewData:ru,propertyName:ru,previewDataAbortController:ru,setPropertyName:hh,setIsGeneratingPreviewData:hh,setPreviewData:hh,setPreviewDataAbortController:hh})}setPropertyName(e){this.propertyName=e}setIsGeneratingPreviewData(e){this.isGeneratingPreviewData=e}setPreviewData(e){this.previewData=e}setPreviewDataAbortController(e){this.previewDataAbortController=e}}class Nxi{queryBuilderState;previewDataState=new Axi;propertySearchState;treeData;humanizePropertyName=!0;showUnmappedProperties=!1;highlightUsedProperties=!0;mappingModelCoverageAnalysisState=hb.create();mappingModelCoverageAnalysisResult;constructor(e){Hh(this,{treeData:ru.ref,humanizePropertyName:ru,showUnmappedProperties:ru,highlightUsedProperties:ru,mappingModelCoverageAnalysisResult:ru,setTreeData:hh,refreshTree:hh,refreshTreeData:hh,setHumanizePropertyName:hh,setShowUnmappedProperties:hh,setHighlightUsedProperties:hh,highlightTreeNode:hh,analyzeMappingModelCoverage:Rh,previewData:Rh}),this.queryBuilderState=e,this.propertySearchState=new pxi(this.queryBuilderState)}get nonNullableTreeData(){return Gs(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.class,t=this.queryBuilderState.executionContextState.mapping;this.setTreeData(e&&t&&this.mappingModelCoverageAnalysisResult?xxi(e,this.mappingModelCoverageAnalysisResult):void 0)}generateOpenNodeChildren(e){e.isOpen&&(e instanceof _xi||e instanceof bxi)&&e.type instanceof wS&&((e instanceof bxi?Yw(e.type):jw(e.type).concat($w(e.type))).forEach(t=>{const n=Exi(t,e,Gs(this.mappingModelCoverageAnalysisResult));n&&this.nonNullableTreeData.nodes.set(n.id,n)}),e.type._subclasses.forEach(t=>{const n=wxi(t,e,Gs(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]&&vo(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 _xi||t instanceof bxi){let e=this.nonNullableTreeData.nodes.get(t.parentId)??null;for(;null!==e;)e.isOpen||e.setIsOpen(!0),e=e instanceof _xi||e instanceof bxi?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(),Vct.logEvent_QueryMappingModelCoverageAnalysisLaunched(this.queryBuilderState.applicationStore.telemetryService);const e=new pb,t=g3(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());Vct.logEvent_QueryMappingModelCoverageAnalysisSucceeded(this.queryBuilderState.applicationStore.telemetryService,n)}catch(e){Kr(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.class||!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=Cxi(e,this),i=e.property.genericType.value.rawType;this.previewDataState.setPreviewDataAbortController(new AbortController);try{switch(i.path){case TC.NUMBER:case TC.INTEGER:case TC.DECIMAL:case TC.FLOAT:{const e=(yield this.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t)=>{const n=e.INTERNAL__toBasicQueryBuilderState(),i=js(n.fetchStructureState.implementation,Rwi),r=i.aggregationState;return Dwi.forEach(e=>{const n=kwi(i,t,e[0]);i.projectionColumns.push(n);const s=Gs(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;Ws(e,jQ,"Unexpected preview data format");const i=e.result,r={columns:["Aggregation","Value"],rows:i.columns.map((e,t)=>({values:[e,Gs(i.rows[0]).values[t]]}))};this.previewDataState.setPreviewData(r);break}case TC.BOOLEAN:case TC.STRING:case TC.DATE:case TC.STRICTDATE:case TC.DATETIME:{const e=(yield this.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t)=>{const n=e.INTERNAL__toBasicQueryBuilderState(),i=js(n.fetchStructureState.implementation,Rwi),r=kwi(i,t,"Value"),s=kwi(i,t,"Count");i.projectionColumns=[r,s];const o=Gs(i.aggregationState.operators.find(e=>e instanceof fSi));i.aggregationState.changeColumnAggregateOperator(o,s,!0),i.resultSetModifierState.limit=10;const a=new ESi(s);return a.sortType=Yct.DESC,i.resultSetModifierState.sortColumns=[a,new ESi(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;Ws(e,jQ,"Unexpected preview data format"),this.previewDataState.setPreviewData(e.result);break}default:throw new Yr(`No preview support for property of type '${i.path}'`)}}catch(t){if(Kr(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 Rxi="4.17.76",Ixi={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 Dxi=(e,t,n,i)=>{Ws(e,uA,"Can't build projection column: only support lambda"),Ks(1===e.parameters.length,"Can't build projection column: only support lambda with 1 parameter");const r=js(e.parameters[0],aA,"Can't build projection column: only support lambda with 1 parameter");Ks(1===e.body.length,"Can't build projection column: only support lambda body with 1 expression");let s=e.body[0];if(s instanceof fA&&2===s.parameters.length&&lS(s.function,$ct.WAVG_ROW_MAPPER))return e.accept_ValueSpecificationVisitor(new qK(n,i,t));for(Ws(s,KA,"Can't build projection column: only support lambda body as property expression");s instanceof KA;)for(Ks(s.parameters.length>=1,"Can't build projection column: only support lambda body as property expression"),s=s.parameters[0];s instanceof fA&&lS(s.function,$ct.SUBTYPE);)s=s.parameters[0];return Ws(s,aA,"Can't build projection column: only support lambda body as property expression"),Ks(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 qK(n,i,t))},kxi=(e,t,n,i)=>{Ws(e,fA,"Can't build aggregation: only support function"),Ks(lS(e.function,$ct.TDS_AGG),"Can't build aggregation: only support agg()"),Ks(2===e.parameters.length,"Can't build agg() expression: agg() expects 2 arguments");const r=js(e.parameters[0],uA,"Can't build agg() expression: agg() expects argument #1 as a lambda");let s;s=r.body[0]instanceof fA&&lS(r.body[0].function,Object.values(Wct))?Xr(()=>((e,t,n,i)=>{Ws(e,uA,"Can't build calendar aggregation column: only support lambda"),Ks(1===e.parameters.length,"Can't build calendar aggregation column: only support lambda with 1 parameter"),Ks(1===e.body.length,"Can't build calendar aggregation column: only support lambda body with 1 expression");const r=js(e.parameters[0],aA,"Can't build calendar aggregation column: only support lambda with 1 parameter"),s=js(e.body[0],fA,"Can't build calendar aggregation column: only support applied function");Ks(lS(s.function,Object.values(Wct)),"Can't build calendar aggregation columnn: unsupported calenddar function"),Ks(4===s.parameters.length,"Can't build calendar aggregation column: only support calendar function with four parameters"),Ws(s.parameters[0],KA,"Can't build calendar aggregation column: only support first parameter of calendar function as property expression");const o=js(s.parameters[1],CA,"Can't build calendar aggregation column: only support second parameter of calendar function as String");Ks(void 0!==Object.values(wwi).find(e=>e===o.value),`Can't build calendar aggregation column: ${o.value} is not a supported calendar type`),js(s.parameters[2],jT,"Can't build calendar aggregation column: only support third parameter of calendar function as Date");const a=s.parameters[0].accept_ValueSpecificationVisitor(new qK(n,i,t)),l=Gs(s.parameters[1]).accept_ValueSpecificationVisitor(new qK(n,i,t)),c=Gs(s.parameters[2]).accept_ValueSpecificationVisitor(new qK(n,i,t)),d=Gs(s.parameters[3]),u=Xr(()=>d.accept_ValueSpecificationVisitor(new qK(n,i,t)))??new LE(VI(d,n.extensions.plugins)),h=XK([a,l,c,u],s.function,n),p=new ZE,g=new XE(XC.create(n.graph.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE);g.parameters.push(new ME(r.name,nS.ONE));const m=new QE(g);return m.expressionSequence=[h],p.values.push(m),p})(r,t,n,i))??new LE(VI(r,n.extensions.plugins)):Xr(()=>Dxi(r,t,n,i))??new LE(VI(r,n.extensions.plugins));const o=js(e.parameters[1],uA).accept_ValueSpecificationVisitor(new qK(n,i,t));return XK([s,o],sS($ct.TDS_AGG),n)},Oxi=(e,t,n,i,r)=>{Ks(2===t.length,"Can't build relation project() expression: project() expects 2 arguments");let s=[];const o=t[0].accept_ValueSpecificationVisitor(new qK(i,r,n));Us(o.genericType,"Can't build relation project() expression: preceding expression return type is missing");const a=t[1];Ws(a,FR,"Can't build relation project() expression: project() expects argument #1 to be a ClassInstance");const l=js(a.value,zA,"Can't build relation project() expression: project() expects argument #1 to hold spec array instances value");s=l.colSpecs.map(e=>e.function1).filter(Vs).filter(zs(uA)).map(e=>e.parameters).flat();const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new ME(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const d=new jE(nS.ONE),u=new WE;d.values=[u];const h=new SS(SS.ID);u.colSpecs=l.colSpecs.map(e=>{const t=new HE;let s;const o=js(e.function1,jT,"Can't build relation col spec() expression: expects function1 to be a lambda");try{s=Dxi(o,n,i,r)}catch{s=new LE(VI(o,i.extensions.plugins))}t.function1=s,t.name=e.name;const a=(e=>{if(e instanceof ZE){const t=e.values[0]?.expressionSequence[0];return t instanceof KE?t.genericType?.value.rawType??t.func.value.genericType.value.rawType:t?.genericType?.value.rawType}})(s);if(!a)throw new Yr("Unable to get return type for current lambda");return h.columns.push(new CS(e.name,yS.create(new ES(a)))),t});const p=XK([o,d],e,i),g=new ES(WK.INSTANCE),m=new ES(h);return g.typeArguments=[yS.create(m)],p.genericType=yS.create(g),p},Lxi=(e,t,n,i,r)=>{const s=js(e,fA,"Can't build tds col func: only support applied function");Ks(lS(s.function,$ct.TDS_COL),`Can't build tds col func: unsupported func name ${s.function}`),Ks(2===s.parameters.length,"Can't build tds col func: only support col function with 2 parameters");const o=js(s.parameters[0],uA,"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 ME(e.name,nS.ONE);n.genericType=t.genericType,r.addInferredVariables(e.name,n)}}),a=Dxi(o,n,i,r)}catch{a=new LE(VI(o,i.extensions.plugins))}js(s.parameters[1],CA,"Can't build tds col func: only support second parameter of col function as String");const l=Gs(s.parameters[1]).accept_ValueSpecificationVisitor(new qK(i,r,n));return XK([a,l],s.function,i)},Mxi=(e,t,n,i,r)=>{if(2===t.length)try{return((e,t,n,i,r)=>{Ks(2===t.length,"Can't build tds project() expression: project() expects 2 arguments");const s=t[0].accept_ValueSpecificationVisitor(new qK(i,r,n));Us(s.genericType,"Can't build tds project() expression: preceding expression return type is missing");const o=Gs(t[1],"Can't build tds project() expression: second parameter is missing");let a;if(o instanceof yA){const e=new VE(i.graph.getMultiplicity(o.multiplicity.lowerBound,o.multiplicity.upperBound));e.values=o.values.map(e=>Lxi(e,s,n,i,r)),a=e}else Ws(o,fA,"Can't build project() expression: project() expects argument #2 to be a function"),a=Lxi(o,s,n,i,r);const l=XK([s,a],e,i);return l.genericType=yS.create(new ES(i.resolveType(zct.TDS_ROW).value)),l})(e,t,n,i,r)}catch{return Oxi(e,t,n,i,r)}const s=t.length;Ks(3===s||2===s,"Can't build project() expression: project() expects 2 arguments");let o=[];const a=t[0].accept_ValueSpecificationVisitor(new qK(i,r,n));Us(a.genericType,"Can't build project() expression: preceding expression return type is missing");const l=t[1];l instanceof uA?o=l.parameters:(Ws(l,yA,"Can't build project() expression: project() expects argument #1 to be a collection"),o=l.values.filter(zs(uA)).map(e=>e.parameters).flat());const c=new Set;o.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new ME(e.name,a.multiplicity);t.genericType=a.genericType,r.addInferredVariables(e.name,t)}});const d=new VE(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));let u=[];u=l instanceof uA?[l]:l.values,d.values=u.map(e=>{try{return Dxi(e,n,i,r)}catch{return new LE(VI(e,i.extensions.plugins))}});const h=XK([a,d,t[2].accept_ValueSpecificationVisitor(new qK(i,r,n))],e,i);return h.genericType=yS.create(new ES(i.resolveType(zct.TDS_ROW).value)),h},Pxi=(e,t,n,i,r)=>e===$ct.RELATION_GROUP_BY||3===t.length?((e,t,n,i,r)=>{Ks(3===t.length,"Can't build relation groupBy() expression: groupBy() expects 2 arguments");const s=t[0].accept_ValueSpecificationVisitor(new qK(i,r,n));Us(s.genericType,"Can't build relation groupBy() expression: preceding expression return type is missing");const o=js(s,YE);if(o.functionName!==sS($ct.RELATION_PROJECT))throw new Yr("Can't build relation groupBy() expression: preceding expression must be project() column expression");const a=t[1];Ws(a,FR,"Can't build relation groupBy() expression: groupBy() expects argument #1 to be a ClassInstance");const l=js(a.value,zA,"Can't build relation groupBy() expression: groupBy() expects argument #1 to hold col spec array instance value"),c=t[2];Ws(c,FR,"Can't build groupBy() expression: groupBy() expects argument #2 to be a ClassInstance");const d=js(c.value,zA,"Can't build relation groupBy() expression: groupBy() expects argument #2 to hold col spec array instance value"),u=d.colSpecs.map(e=>[e.function1,e.function2]).flat().filter(Vs).map(e=>e.parameters).flat();u.forEach(e=>{if(!e.genericType){const t=new ME(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const h=js(o.genericType?.value.typeArguments?.[0]?.value.rawType,SS,"Can't build relation groupBy() expression: project() function does not return a relation"),p=new jE(nS.ONE),g=new WE;p.values=[g];const m=new SS(SS.ID);g.colSpecs=l.colSpecs.map(e=>{const t=new HE;t.name=e.name;const n=h.columns.find(t=>t.name===e.name);return n&&m.columns.push(n),t});const f=new jE(nS.ONE),y=new WE;f.values=[y],y.colSpecs=d.colSpecs.map(e=>{const t=new HE;t.name=e.name;const s=js(e.function1,uA,"Can't build relation col spec() expression: expects function1 to be a lambda"),o=Dxi(s,n,i,r);t.function1=o;const a=js(e.function2,uA,"Can't build relation col spec() expression: expects function2 to be a lambda"),l=js(a.accept_ValueSpecificationVisitor(new qK(i,r,n)),ZE,"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 Yr(`Unable to find projected column with name ${e.name}`);return m.columns.push(new CS(e.name,c)),t});const v=XK([s,p,f],e,i),_=new ES(WK.INSTANCE),b=new ES(m);return _.typeArguments=[yS.create(b)],v.genericType=yS.create(_),v})(e,t,n,i,r):((e,t,n,i,r)=>{let s=[];Ks(4===t.length,"Can't build groupBy() expression: groupBy() expects 3 arguments");const o=t[0].accept_ValueSpecificationVisitor(new qK(i,r,n));Us(o.genericType,"Can't build groupBy() expression: preceding expression return type is missing");const a=t[1];Ws(a,yA,"Can't build groupBy() expression: groupBy() expects argument #1 to be a collection"),s=a.values.filter(zs(uA)).map(e=>e.parameters).flat();const l=t[2];Ws(l,yA,"Can't build groupBy() expression: groupBy() expects argument #2 to be a collection"),s=s.concat(l.values.filter(e=>e instanceof fA&&lS(e.function,$ct.TDS_AGG)).map(e=>e.parameters).flat().filter(zs(uA)).map(e=>e.parameters).flat());const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new ME(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const d=new VE(i.graph.getMultiplicity(a.multiplicity.lowerBound,a.multiplicity.upperBound));d.values=a.values.map(e=>{try{return Dxi(e,n,i,r)}catch{return new LE(VI(e,i.extensions.plugins))}});const u=new VE(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));u.values=l.values.map(e=>kxi(e,n,i,r));const h=XK([o,d,u,t[3].accept_ValueSpecificationVisitor(new qK(i,r,n))],e,i);return h.genericType=yS.create(new ES(i.resolveType(zct.TDS_ROW).value)),h})(e,t,n,i,r);class Fxi extends qee{constructor(){super(Ixi.pureProtocolProcessorPlugin,Rxi)}V1_getExtraFunctionExpressionBuilders(){return[(e,t,n,i,r)=>{if(lS(e,jct.GET_ALL))return((e,t,n,i,r)=>{const s=QK(e,t,n,i,r),o=s.parametersValues[0];return Ws(o,PE,"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(lS(e,jct.GET_ALL_VERSIONS_IN_RANGE))return((e,t,n,i,r)=>{const s=QK(e,t,n,i,r),o=s.parametersValues[0];return Ws(o,PE,"Can't build getAllVersionsInRange() expression: only support getAllVersionsInRange() immediately following a class"),Ks(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(lS(e,jct.GET_ALL_VERSIONS))return((e,t,n,i,r)=>{const s=QK(e,t,n,i,r),o=s.parametersValues[0];return Ws(o,PE,"Can't build getAllVersions() expression: only support getAllVersions() immediately following a class"),Ks(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(lS(e,[$ct.FILTER,$ct.TDS_FILTER]))return((e,t,n,i,r)=>{Ks(2===t.length,"Can't build filter() expression: filter() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new qK(i,r,n));if(s.genericType){const e=t[1];e instanceof uA&&e.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new ME(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}})}const o=XK([s,t[1].accept_ValueSpecificationVisitor(new qK(i,r,n))],e,i);return o.genericType=s.genericType,o.multiplicity=s.multiplicity,o})(e,t,n,i,r);if(lS(e,$ct.EXISTS))return((e,t,n,i,r)=>{Ks(2===t.length,"Can't build exists() expression: exists() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new qK(i,r,n));s.genericType=js(s,KE).func.value.genericType;const o=t[1];return o instanceof uA&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new ME(e.name,nS.ONE);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}}),XK([s,t[1].accept_ValueSpecificationVisitor(new qK(i,r,n))],e,i)})(e,t,n,i,r);if(lS(e,$ct.WATERMARK))return((e,t,n,i,r)=>{Ks(2===t.length,"Can't build forWatermark() expression: forWatermark() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new qK(i,r,n));Us(s.genericType,"Can't build forWatermark() expression: preceding expression return type is missing");const o=t[1];o instanceof uA&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new ME(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const a=Gs(t[1].accept_ValueSpecificationVisitor(new qK(i,r,n))),l=a.genericType?.value.rawType;Ks(gS.STRING===l,"Can't build forWatermark() expression: parameter is expected to be a string");const c=XK([s,a],e,i);return c.genericType=s.genericType,c.multiplicity=s.multiplicity,c})(e,t,n,i,r);if(lS(e,[$ct.TDS_PROJECT,$ct.RELATION_PROJECT]))return Mxi(e,t,n,i,r);if(lS(e,[$ct.TDS_GROUP_BY,$ct.RELATION_GROUP_BY]))return Pxi(e,t,n,i,r);if(lS(e,$ct.OLAP_GROUPBY))return((e,t,n,i,r)=>{const s=[];Ks(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 qK(i,r,n));Us(l.genericType,"Can't build olapGroupBy() expression: preceding expression return type is missing"),s.push(l),o++;const c=t[o].accept_ValueSpecificationVisitor(new qK(i,r,n));if(s.push(c),o++,a){const e=t[o].accept_ValueSpecificationVisitor(new qK(i,r,n));s.push(e),o++}const d=t[o];let u;u=d instanceof fA?js(d.parameters[1],uA,`Can't build olapGroupBy() expression: olap operation function expects argument ${o+1} to be a lambda`):js(d,uA,`Can't build olapGroupBy() expression: olapGroupBy() expects argument ${o+1} to be a lambda`);const h=u.parameters,p=new Set;h.forEach(e=>{if(!p.has(e.name)&&!e.genericType){const t=new ME(e.name,l.multiplicity);t.genericType=l.genericType,r.addInferredVariables(e.name,t)}});const g=d.accept_ValueSpecificationVisitor(new qK(i,r,n));s.push(g),o++;const m=t[o].accept_ValueSpecificationVisitor(new qK(i,r,n));s.push(m),o++;const f=XK(s,e,i);return f.genericType=yS.create(new ES(i.resolveType(zct.TDS_ROW).value)),f})(e,t,n,i,r);if(lS(e,[$ct.TODAY,$ct.FIRST_DAY_OF_QUARTER])){const s=QK(e,t,n,i,r);return s.genericType=yS.create(new ES(gS.STRICTDATE)),s}if(lS(e,$ct.NOW)){const s=QK(e,t,n,i,r);return s.genericType=yS.create(new ES(gS.DATETIME)),s}if(lS(e,[$ct.FIRST_DAY_OF_THIS_YEAR,$ct.FIRST_DAY_OF_YEAR,$ct.FIRST_DAY_OF_THIS_MONTH,$ct.FIRST_DAY_OF_MONTH,$ct.FIRST_DAY_OF_WEEK,$ct.PREVIOUS_DAY_OF_WEEK,$ct.ADJUST])){const s=QK(e,t,n,i,r);return s.genericType=yS.create(new ES(gS.DATE)),s}return lS(e,Object.values($ct))||lS(e,Object.values(Wct))?QK(e,t,n,i,r):void 0}]}V1_getExtraPropertyExpressionTypeInferrers(){return[e=>{if(e instanceof YE&&lS(e.functionName,sS($ct.SUBTYPE)))return(e=>e.parametersValues.filter(e=>e instanceof PE)[0]?.genericType?.value.rawType)(e)}]}}class Bxi{mapping;runtimes=[]}class Vxi{service;executionKeys}class Uxi extends hT{}class Gxi extends Uxi{constructor(e){super(e),this.graphManager=js(e,a6)}getSupportedProtocolVersion(){return iz.V1_0_0}async buildGraphForCreateQuerySetup(e,t,n){try{const i=await this.graphManager.indexLightGraph(e,t,n,e=>e.content._type===pG||e.content._type===wR),r=[...e.ownMappings,...e.dependencyManager.mappings],s=i.map(e=>e.data.elements.filter(zs(GD))).flat(),o=new rX(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 uB)return new Y$(t,o.resolveMapping(Ys(e.includedMapping,"Mapping include path is missing or empty")))}).filter(Vs))});const a=[...e.ownRuntimes,...e.dependencyManager.runtimes],l=i.map(e=>e.data.elements.filter(zs(XA))).flat();l.forEach(e=>{const t=a.find(t=>t.path===e.path);if(t){const n=new c$;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>o.resolveMapping(e.path))}})}catch(e){throw Kr(e),e instanceof oz?e:new oz(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 rX(i,i,this.graphManager.graphBuilderExtensions,this.graphManager.logService).build();return r.map(e=>e.data.elements.filter(zs(GD))).flat().forEach(e=>{const t=i.getNullableMapping(e.path);t&&(t.includes=e.includedMappings.map(e=>{if(e instanceof uB)return new Y$(t,s.resolveMapping(Ys(e.includedMapping,"Mapping include path is missing or empty")))}).filter(Vs))}),r.map(e=>e.data.elements.filter(zs(XA))).flat().forEach(e=>{const t=i.getNullableRuntime(e.path);if(t){const n=new c$;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>s.resolveMapping(e.path))}}),i.mappings.forEach(e=>{const t=new Bxi;t.mapping=e,t.runtimes=i.runtimes.filter(t=>t.runtimeValue.mappings.map(e=>[e.value,...zY(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(zs(BO))).flat().forEach(e=>{const t=i.getNullableService(e.path);if(t){const i=new Vxi;i.service=t,e.execution instanceof FO&&(i.executionKeys=e.execution.executionParameters?.map(e=>e.key)),n.push(i)}}),n}}const Hxi=e=>new Gxi(e);class zxi extends Hee{constructor(){super(Ixi.pureGraphManagerPlugin,Rxi)}getExtraPureGraphManagerExtensionBuilders(){return[Hxi]}getExtraExposedSystemElementPath(){return[zct.TDS_TABULAR_DATASET,zct.TDS_ROW,zct.TDS_COLUMN]}}class Wxi{TEMPORARY__enableExportToCube=!1;TEMPORARY__disableQueryBuilderChat=!1;TEMPORARY__enableGridEnterpriseMode=!1;legendAIServiceURL="";legendMCPServiceURL="";zipkinTraceBaseURL="";enableTypedTDS=!1;static serialization=new w_(o_(Wxi,{TEMPORARY__disableQueryBuilderChat:C_(a_()),TEMPORARY__enableExportToCube:C_(a_()),TEMPORARY__enableGridEnterpriseMode:C_(a_()),legendAIServiceURL:C_(a_()),legendMCPServiceURL:C_(a_()),zipkinTraceBaseURL:C_(a_()),enableTypedTDS:C_(a_())}))}const jxi=e=>{let t=e;for(;t instanceof KE;)for(t=Gs(t.parametersValues[0]);t instanceof YE&&lS(t.functionName,$ct.SUBTYPE);)t=Gs(t.parametersValues[0]);return js(t,ME)},$xi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(lS(e.functionName,[$ct.AND,$ct.OR])){const r=new YSi(n,kSi(e.functionName));t.nodes.set(r.id,r),i&&(r.lambdaParameterName=js(i,qSi).lambdaParameterName),e.parametersValues.forEach(e=>$xi(js(e,YE,"Can't process filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}else{if(!lS(e.functionName,[$ct.EXISTS])){const n=e.parametersValues[0];if(n instanceof KE){const e=n.parametersValues[0];e instanceof KE&&bdt(e,t.queryBuilderState.graphManagerState.graph,t.queryBuilderState)}for(const n of t.operators){const r=Xr(()=>n.buildFilterConditionState(t,e));if(r){const e=jxi(r.propertyExpressionState.propertyExpression).name,n=i instanceof qSi&&i.lambdaParameterName?i.lambdaParameterName:t.lambdaParameterName;return Ks(n===e,`Can't process ${sS(r.operator.getLabel())}() expression: expects variable used in lambda body '${e}' to match lambda parameter '${n}'`),void t.addNodeFromNode(new QSi(void 0,r),i)}}throw new Yr("Can't process filter() expression: no compatible filter operator processer available from plugins")}{const r=js(e.parametersValues[0],KE);if(void 0===r.func.value.multiplicity.upperBound||r.func.value.multiplicity.upperBound>1){const s=new KSi(t,n),o=js(e.parametersValues[1],ZE,"Can't process filter expression: only supports exists with second paramter as LambdaFunctionInstanceValue"),a=js(o.values[0],QE),l=js(a.expressionSequence[0],YE);s.setPropertyExpression(r),s.lambdaParameterName=a.functionType.parameters[0]?.name,t.nodes.set(s.id,s),$xi(l,t,s.id),t.addNodeFromNode(s,i)}else{const i=[],r=[];let s=e;for(;lS(s.functionName,$ct.EXISTS);){const e=Gs(js(s.parametersValues[1],ZE).values[0],"Can't process exists() expression: exists() lambda is missing");if(Ks(1===e.expressionSequence.length,"Can't process exists() expression: exists() lambda body should hold an expression"),s=js(e.expressionSequence[0],YE,"Can't process exists() expression: exists() lambda body should hold an expression"),Ks(1===e.functionType.parameters.length,"Can't process exists() expression: exists() lambda should have 1 parameter"),i.push(js(e.functionType.parameters[0],ME,"Can't process exists() expression: exists() lambda should have 1 parameter").name),!(s.parametersValues[0]instanceof KE)||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=js(e.parametersValues[0],KE);let a=new KE("");a.func=o.func,a.parametersValues=[...o.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof KE||n instanceof YE&&lS(n.functionName,$ct.SUBTYPE);){if(n instanceof YE){const e=new YE(sS($ct.SUBTYPE));e.parametersValues.unshift(Gs(n.parametersValues[1])),t.push(e)}else if(n instanceof KE){const e=new KE("");e.func=n.func,e.parametersValues=n.parametersValues.length>1?n.parametersValues.slice(1):[],t.push(e)}n=Gs(n.parametersValues[0])}Ks(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=js(t[0],KE,"Can't process exists() expression: can't flatten to a property expression")}s.parametersValues=s.parametersValues.map(e=>{if(e instanceof YE&&e.parametersValues[0]instanceof KE)e.parametersValues[0].parametersValues[0]=a;else if(e instanceof KE)e.parametersValues[0]=Gs(a.parametersValues[0]);else if(e instanceof ME)return a;return e}),$xi(s,t,n)}}}},qxi=(e,t)=>{const n=t.filterState,i=e.parametersValues[1];Ws(i,ZE,"Can't process filter() expression: filter() expects argument #1 to be a lambda function");const r=Gs(i.values[0],"Can't process filter() lambda: filter() lambda function is missing");Ks(1===r.expressionSequence.length,"Can't process filter() lambda: only support filter() lambda body with 1 expression");const s=js(r.expressionSequence[0],YE,"Can't process filter() lambda: only support filter() lambda body with 1 expression");Ks(1===r.functionType.parameters.length,"Can't process filter() lambda: only support filter() lambda with 1 parameter"),n.setLambdaParameterName(js(r.functionType.parameters[0],ME,"Can't process filter() lambda: only support filter() lambda with 1 parameter").name),$xi(s,n,void 0),n.simplifyTree()};class Yxi{id;label;tree;parentId;isSelected;isOpen;childrenIds=[];constructor(e,t,n,i){Hh(this,{hashCode:lu}),this.id=e,this.label=t,this.parentId=n,this.tree=i,this.isOpen=!0}get type(){if(this.tree instanceof nw)return this.tree.property.value.genericType.value.rawType;if(this.tree instanceof tw)return this.tree.class.value;throw new Yr("Can't get type of Graph Fetch Tree",this.tree)}get hashCode(){return $v([wdt.GRAPH_FETCH_TREE_NODE_DATA,this.id,this.label,this.tree,this.parentId??"",$v(this.childrenIds)])}}const Kxi=(e,t,n)=>`${t?`${t}.`:""}${e.name}${n?`${CC}${n.path}`:""}`,Xxi=(e,t,n)=>{Ws(e,nw,"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 Yxi(Kxi(i,s,r),i.name,s,e);return e.subTrees.forEach(e=>{const t=Xxi(e,o,n);Co(o.childrenIds,t.id),n.set(t.id,t)}),o},Qxi=(e,t,n)=>{const i=t?.id,r=new Yxi((s=e.class.valueForSerialization??"")?`${CC}${s}`:"",e.class.value.name,i,e);var s;return e.subTrees.forEach(e=>{const t=Xxi(e,r,n);Co(r.childrenIds,t.id),n.set(t.id,t)}),r},Zxi=(e,t=!1)=>{const n=[],i=new Map;if(t){const t=Qxi(e,void 0,i);Co(n,t.id),i.set(t.id,t)}else e.subTrees.forEach(e=>{const t=Xxi(e,void 0,i);Co(n,t.id),i.set(t.id,t)});return{rootIds:n,nodes:i,tree:e}},Jxi=e=>0===e.tree.subTrees.length,eTi=e=>Array.from(e.nodes.values()).filter(t=>t.tree instanceof nw&&t.type instanceof wS&&0===t.childrenIds.length||t.tree instanceof nw&&!(t.type instanceof wS)&&t.parentId&&!e.nodes.has(t.parentId)),tTi=(e,t)=>{const n=t.parentId?e.nodes.get(t.parentId):void 0;n?(Eo(n.childrenIds,t.id),ddt(n.tree,t.tree)):(Eo(e.rootIds,t.id),ddt(e.tree,t.tree)),e.nodes.delete(t.id)},nTi=(e,t)=>{tTi(e,t),(e=>{let t=eTi(e);for(;t.length;)t.forEach(t=>{tTi(e,t)}),t=eTi(e)})(e)},iTi=(e,t,n,i)=>{const r=[new nw(zS.create(n.property),void 0)];let s,o,a,l=t.nodes.get(n.parentId);for(;l instanceof _xi||l instanceof bxi;){let e,n=!1;for(;l instanceof bxi;)n||(e=XC.create(l.subclass),n=!0),l=t.nodes.get(l.parentId);if(l instanceof _xi&&l.mappingData.entityMappedProperty?.subType&&l.type instanceof wS&&(e=XC.create(l.type)),!(l instanceof _xi))return void i.applicationStore.notificationService.notifyError("Can't cast the root class of graph fetch structure to its subtype");{const n=new nw(zS.create(l.property),e);n.subTrees.push(r[0]),r.unshift(n),l=t.nodes.get(l.parentId)}}for(const t of r){s=Kxi(t.property.value,s,t.subType?.value);const n=e.nodes.get(s);if(!n){a=t;break}o=n}if(a){const t=Xxi(a,o,e.nodes);e.nodes.set(t.id,t),o?(Co(o.childrenIds,t.id),cdt(o.tree,t.tree,i.observerContext)):(Co(e.rootIds,t.id),cdt(e.tree,t.tree,i.observerContext))}},rTi=(e,t,n)=>{const i=e.queryBuilderState,r=Gs(t.expressionSequence[0],"Can't build graph-fetch tree expression: preceding expression is not defined"),s=e.serializationState;if(s instanceof dTi){if(e.treeData&&!Jxi(e.treeData)){const n=s.config?((e,t)=>{const n=t.getClass(zct.SERIALIZE_CONFIG),i=new YE(sS(exports.SUPPORTED_FUNCTIONS.NEW)),r=new PE(nS.ONE,void 0);r.values[0]=XC.create(n);const s=new FE(yS.create(new ES(gS.STRING)));s.values=[""];const o=new VE(nS.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 GE,r=new FE(yS.create(new ES(gS.STRING)));r.values=[n];const s=new FE(yS.create(new ES(t.genericType.value.rawType)));s.values=[e[n]];const a=new UE(r,s,!1);i.values=[a],o.values.push(i)}}),o.multiplicity=new nS(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 rw;r.values=[e];const s=new YE(sS($ct.SERIALIZE)),o=new YE(sS(t?$ct.GRAPH_FETCH_CHECKED:$ct.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 uTi))throw new Yr(`Unsupported serialization state ${s.getLabel()}`);{const n=new YE(sS($ct.EXTERNALIZE)),i=e.treeData,o=s.treeData;if(i&&o&&!Jxi(i)&&!Jxi(o)){const a=new rw;a.values=[i.tree];const l=new YE(e.isChecked?sS($ct.GRAPH_FETCH_CHECKED):sS($ct.GRAPH_FETCH));l.parametersValues=[r,a];const c=new PE(nS.ONE,void 0);c.values=[XC.create(s.targetBinding)];const d=new rw;d.values=[o.tree],n.parametersValues=[l,c,d],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 YE&&lS(n.functionName,$ct.SERIALIZE)){const i=new FE(yS.create(new ES(gS.INTEGER)));i.values=[t];const r=new YE(sS($ct.TAKE)),s=js(n.parametersValues[0],YE),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 sTi,oTi;!function(e){e.PURE="PURE",e.EXTERNAL_FORMAT="EXTERNAL_FORMAT"}(sTi||(sTi={})),function(e){e.RESULT="RESULT"}(oTi||(oTi={}));const aTi="@type";class lTi{typeKeyName;dateTimeFormat;includeType;includeEnumType;removePropertiesWithNullValues;removePropertiesWithEmptySets;fullyQualifiedTypePath;includeObjectReference;constructor(){this.typeKeyName=aTi,Hh(this,{typeKeyName:ru,includeType:ru,includeEnumType:ru,dateTimeFormat:ru,removePropertiesWithNullValues:ru,removePropertiesWithEmptySets:ru,fullyQualifiedTypePath:ru,includeObjectReference:ru,setTypeName:hh,setIncludeObjectReference:hh,setDateTimeFormat:hh,setIncludeType:hh,setFullyQualifiedTypePath:hh,setRemovePropertiesWithEmptySets:hh,setInclueEnumType:hh,setRemovePropertiesWithNullValues:hh})}static createDefault(){const e=new lTi;return e.typeKeyName=aTi,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 cTi{queryBuilderGraphFetchTreeState;constructor(e){this.queryBuilderGraphFetchTreeState=e}}class dTi extends cTi{config;configModal=!1;constructor(e){super(e),Hh(this,{config:ru,configModal:ru,setConfigModal:hh})}setConfig(e){this.config=e}setConfigModal(e){this.configModal=e}getLabel(){return sTi.PURE}get serializationContentType(){return exports.ContentType.APPLICATION_JSON}}class uTi extends cTi{targetBinding;treeData;constructor(e,t,n){super(e),Hh(this,{targetBinding:ru,treeData:ru.ref,serializationContentType:lu,setGraphFetchTree:hh}),this.targetBinding=t,this.treeData=n}setBinding(e){this.targetBinding=e}setGraphFetchTree(e){this.treeData=e}addProperty(e,t){this.treeData?(iTi(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 sTi.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 hTi extends TSi{treeData;isChecked=!1;serializationState;constructor(e,t){super(e,t),Hh(this,{treeData:ru.ref,isChecked:ru,serializationState:ru,TEMPORARY__showPostFetchStructurePanel:lu,setGraphFetchTree:hh,setSerializationState:hh,setChecked:hh,initialize:hh,checkBeforeChangingImplementation:hh}),this.updateTreeData(this.queryBuilderState.class),this.serializationState=new dTi(this)}get type(){return xSi.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=Gs(n[0]),r=this.treeData.nodes.get(i);if(!r)continue;let s;const o=r.parentId?Gs(e.get(r.parentId)):"";let a="";r.tree instanceof tw?a=`root.${r.tree.class.valueForSerialization??""}`:r.tree instanceof nw&&(a=r.tree.property.value.name);const l=mxi(o,a);t.push(l),r.tree instanceof nw&&r.tree.subType?(s=fxi(l,r.tree.subType.value.path),zw(r.tree.subType.value).concat(r.tree.subType.value).forEach(e=>t.push(fxi(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?Zxi(new tw(XC.create(e))):void 0)}get exportDataFormatOptions(){return[oTi.RESULT]}getExportDataInfo(e){if(e===oTi.RESULT)return{contentType:this.serializationState.serializationContentType};throw new Yr(`Unsupported Graph Fetch export type ${e}`)}initializeWithQuery(){}onClassChange(e){this.updateTreeData(e)}appendFetchStructure(e,t){rTi(this,e,t)}addProperty(e,t){this.treeData?(iTi(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 uTi&&this.serializationState.addProperty(On(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:xlt.CAUTION,actions:[{label:"Proceed",type:Tlt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:Tlt.PROCEED,default:!0}]}):e()}isVariableUsed(e){return Boolean(Array.from(this.treeData?.nodes.values()??[]).find(t=>{if(t.tree instanceof nw)return t.tree.parameters.find(t=>Sdt(e,t))}))}get hasInvalidFilterValues(){return!1}get hasInvalidDerivedPropertyParameters(){return!1}get hashCode(){return $v([wdt.GRAPH_FETCH_STATE,this.isChecked.toString(),this.treeData?.tree??""])}}const pTi=(e,t)=>()=>{t.implementation.type!==e&&(Vct.logEvent_ToggleFetchStructure(t.queryBuilderState.applicationStore.telemetryService),t.implementation.checkBeforeChangingImplementation(()=>{t.changeImplementation(e)}))};class gTi{queryBuilderState;implementation;constructor(e){Hh(this,{implementation:ru,changeImplementation:hh,initializeWithQuery:hh}),this.queryBuilderState=e,this.implementation=new Rwi(this.queryBuilderState,this)}changeImplementation(e){switch(e){case xSi.TABULAR_DATA_STRUCTURE:this.implementation=new Rwi(this.queryBuilderState,this);break;case xSi.GRAPH_FETCH:this.queryBuilderState.setIsCalendarEnabled(!1),this.implementation=new hTi(this.queryBuilderState,this);break;default:throw new Yr(`Can't change fetch-structure implementation to unsupported type: '${e}'`)}this.implementation.initialize()}initializeWithQuery(){this.implementation.initializeWithQuery()}fetchProperty(e){e instanceof _xi&&!(e.type instanceof wS)&&this.implementation.fetchProperty(e)}fetchNodeChildrenProperties(e){e.type instanceof wS&&this.implementation.fetchProperties(e.childrenIds.map(e=>this.queryBuilderState.explorerState.nonNullableTreeData.nodes.get(e)).filter(zs(_xi)).filter(e=>!(e.type instanceof wS)&&e.mappingData.mapped))}}class mTi{lambda;constructor(e){this.lambda=e,Hh(this,{lambda:ru,setLambda:hh})}setLambda(e){this.lambda=e}}var fTi;!function(e){e.TEXT="TEXT",e.JSON="JSON"}(fTi||(fTi={}));class yTi extends rSi{queryBuilderState;rawLambdaState;isConvertingLambdaToString=!1;mode;closingQueryState=hb.create();readOnlylambdaJson="";isReadOnly;constructor(e){super("",""),Hh(this,{rawLambdaState:ru,isConvertingLambdaToString:ru,mode:ru,isReadOnly:ru,setQueryRawLambdaState:hh,setIsReadOnly:hh,setMode:hh,openModal:hh,closeModal:Rh}),this.queryBuilderState=e,this.rawLambdaState=new mTi(Rj())}get lambdaId(){return tte(["query-builder"])}get text(){return this.mode===fTi.TEXT?this.fullLambdaString:this.mode===fTi.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=Rj();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){Kr(e),e instanceof NZ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.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 DE(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){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.PARSING_FAILURE),e),this.isConvertingLambdaToString=!1}}else this.clearErrors(),this.setLambdaString("")}openModal(e,t){try{const n=this.queryBuilderState.buildQuery();e===fTi.TEXT&&this.setQueryRawLambdaState(new mTi(n)),e===fTi.JSON&&this.setLambdaJson(JSON.stringify(pS(this.queryBuilderState.graphManagerState.graphManager.serializeRawValueSpecification(n)),null,2)),this.setMode(e),this.setIsReadOnly(t)}catch(e){Kr(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}}*closeModal(){if(this.closingQueryState.inProgress(),this.mode===fTi.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 vTi=Vse(e=>{const{resultType:t}=e;let n="";return t.type instanceof QC&&(n=t.type.input??""),""===n?Yne.jsx(Yne.Fragment,{}):Yne.jsxs("div",{className:"query-builder__result__container",children:[Yne.jsx(pLe,{className:"query-builder__result__container__item__data-type",children:Yne.jsxs(Yne.Fragment,{children:[Yne.jsx("div",{className:"query-builder__result__container__item__data-type__type",children:"Result type:"}),Yne.jsx("div",{className:"query-builder__result__container__item__data-type__value",children:n})]})}),Yne.jsx(mLe,{})]})}),_Ti=Vse(e=>{const{resultType:t}=e;return Yne.jsxs("div",{className:"query-builder__result__container",children:[Yne.jsx(pLe,{className:"query-builder__result__container__item__tds",children:"Result type: TDS"}),Yne.jsx(mLe,{}),Yne.jsxs("table",{className:"query-builder__result__container__table table",children:[Yne.jsx("thead",{children:Yne.jsxs("tr",{children:[Yne.jsx("th",{className:"table__cell--left",children:"Label"}),Yne.jsx("th",{className:"table__cell--left",children:"Result DataType"})]})}),Yne.jsx("tbody",{children:t.tdsColumns.map(e=>Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:e.name}),Yne.jsx("td",{className:"table__cell--left",children:e.type instanceof QC&&(e.type.input??"")})]},e.name))})]}),Yne.jsx(mLe,{})]})}),bTi=Vse(e=>{const{resultType:t}=e;return Yne.jsxs("div",{className:"query-builder__result__container",children:[Yne.jsxs(pLe,{className:"query-builder__result__container__item__partial-class",children:["Result type: PartialClass[",t.type.valueForSerialization??"","]"]}),Yne.jsx(mLe,{}),Yne.jsxs("table",{className:"query-builder__result__container__table--partial-class table",children:[Yne.jsx("thead",{children:Yne.jsxs("tr",{children:[Yne.jsx("th",{className:"table__cell--left",children:"Property"}),Yne.jsx("th",{className:"table__cell--left",children:"Parameters"})]})}),Yne.jsx("tbody",{children:t.propertiesWithParameters.map(e=>Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:e.property}),Yne.jsx("td",{className:"table__cell--left",children:e.parameters.toString()})]},e.property))})]}),Yne.jsx(mLe,{})]})}),CTi=Vse(e=>{const{resultType:t}=e;return t instanceof d2?Yne.jsx(vTi,{resultType:t}):t instanceof u2?Yne.jsx(_Ti,{resultType:t}):t instanceof W2?Yne.jsx(bTi,{resultType:t}):null}),STi=e=>{e.dispose(),e.getModel()?.dispose()},ETi=e=>{const{inputValue:t,updateInput:i,lightTheme:r,language:s,isReadOnly:o,hideMinimap:a,hideGutter:l,hidePadding:c,hideActionBar:d,lineToScroll:u,extraEditorOptions:h,error:p}=e,g=Wat(),[m,f]=n.useState(),[y,v]=n.useState(!1),_=n.useRef(void 0),b=lAn(t),C=n.useRef(null);if(n.useEffect(()=>{if(!m&&C.current){const e=C.current,t=dsn.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??YTn.BUILT_IN__VSCODE_LIGHT:YTn.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){cAn(m);const e=m.getModel();e&&dsn.setModelLanguage(e,s)}},[m,s]),n.useEffect(()=>{m&&void 0!==u&&m.revealLineInCenter(u)},[m,u]),m){_.current?.dispose(),_.current=m.onDidChangeModelContent(()=>{const e=rAn(m);e!==b&&i?.(e)});rAn(m)!==b&&m.setValue(b),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?oAn(e,[{message:p.message,startLineNumber:p.sourceInformation.startLine,startColumn:p.sourceInformation.startColumn,endLineNumber:p.sourceInformation.endLine,endColumn:p.sourceInformation.endColumn}]):aAn())}return n.useEffect(()=>()=>{m&&(STi(m),_.current?.dispose())},[m]),Yne.jsxs("div",{className:"code-editor",children:[!d&&Yne.jsx("div",{className:"code-editor__header",children:Yne.jsx("button",{tabIndex:-1,className:zse("code-editor__header__action",{"code-editor__header__action--active":y}),onClick:()=>{const e=!y;v(e),m?.updateOptions({wordWrap:e?"on":"off"})},title:`[${y?"on":"off"}] Toggle word wrap`,children:Yne.jsx(Nie,{})})}),Yne.jsx("div",{className:zse("code-editor__content",{"code-editor__content--padding":!c,"code-editor__content--with__header":!d}),children:Yne.jsx("div",{className:"code-editor__body",ref:C})})]})},wTi=Vse(e=>{const{from:t,to:i,language:r}=e,s=Wat(),[o,a]=n.useState(),l=n.useRef(null),c=t??"",d=i??"";if(n.useEffect(()=>{if(!o&&l.current){const e=l.current,t=dsn.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?YTn.BUILT_IN__VSCODE_LIGHT:YTn.DEFAULT_DARK,readOnly:!0});a(t)}},[s,o]),o){const e=dsn.createModel(c,r),t=dsn.createModel(d,r);o.setModel({original:e,modified:t})}return n.useEffect(()=>()=>{o&&(e=>{e.dispose(),e.getOriginalEditor().getModel()?.dispose(),e.getModifiedEditor().getModel()?.dispose()})(o)},[o]),Yne.jsx("div",{className:"code-editor__container",children:Yne.jsx("div",{className:"code-editor__body",ref:l})})}),xTi=(e,t)=>e?Xs(e)?t?Xy(e):((e,t=2)=>{try{return JSON.stringify(JSON.parse(e),void 0,t)}catch{return e}})(e):t?Ky(e,void 0,2):JSON.stringify(e,void 0,2):"",TTi=Vse(e=>{const{from:t,to:n,lossless:i}=e;return Yne.jsx(wTi,{language:dAn.JSON,from:xTi(t,Boolean(i)),to:xTi(n,Boolean(i))})});var ATi,NTi={exports:{}},RTi=NTi.exports;var ITi=(ATi||(ATi=1,function(e){!function(t,n){e.exports?e.exports=n():t.nearley=n()}(RTi,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 d=o.rule.name;(this.completed[d]=this.completed[d]||[]).push(o)}}}else{if("string"!=typeof(d=o.rule.symbols[o.dot])){this.scannable.push(o);continue}if(n[d]){if(n[d].push(o),i.hasOwnProperty(d)){var u=i[d];for(l=0;l<u.length;l++){var h=u[l];this.complete(o,h)}}}else n[d]=[o],this.predict(d)}}},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,d=i.constructor===r?t.value:t,u=o.scannable,h=u.length;h--;){var p=u[h],g=p.rule.symbols[p.dot];if(g.test?g.test(d):g.type?g.type===t.type:g.literal===c){var m=p.nextState({data:d,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}})}(NTi)),NTi.exports),DTi=Zr(ITi),kTi=Object.defineProperty,OTi=Object.defineProperties,LTi=Object.getOwnPropertyDescriptors,MTi=Object.getOwnPropertySymbols,PTi=Object.prototype.hasOwnProperty,FTi=Object.prototype.propertyIsEnumerable,BTi=(e,t,n)=>t in e?kTi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,VTi=(e,t)=>{for(var n in t||(t={}))PTi.call(t,n)&&BTi(e,n,t[n]);if(MTi)for(var n of MTi(t))FTi.call(t,n)&&BTi(e,n,t[n]);return e},UTi=(e,t)=>OTi(e,LTi(t)),GTi={};((e,t)=>{for(var n in t)kTi(e,n,{get:t[n],enumerable:!0})})(GTi,{bigquery:()=>hAi,db2:()=>SAi,db2i:()=>IAi,hive:()=>BAi,mariadb:()=>qAi,mysql:()=>tNi,n1ql:()=>fNi,plsql:()=>wNi,postgresql:()=>kNi,redshift:()=>UNi,singlestoredb:()=>LRi,snowflake:()=>HRi,spark:()=>YNi,sql:()=>dRi,sqlite:()=>nRi,tidb:()=>cNi,transactsql:()=>TRi,trino:()=>vRi});var HTi=e=>e.flatMap(zTi),zTi=e=>QTi(jTi(e)).map(WTi),WTi=e=>e.replace(/ +/g," ").trim(),jTi=e=>({type:"mandatory_block",items:$Ti(e,0)[0]}),$Ti=(e,t,n)=>{const i=[];for(;e[t];){const[r,s]=qTi(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]},qTi=(e,t)=>{const n=[];for(;;){const[i,r]=YTi(e,t);if(!i)break;n.push(i),t=r}return 1===n.length?[n[0],t]:[{type:"concatenation",items:n},t]},YTi=(e,t)=>{if("{"===e[t])return KTi(e,t+1);if("["===e[t])return XTi(e,t+1);{let n="";for(;e[t]&&/[A-Za-z0-9_ ]/.test(e[t]);)n+=e[t],t++;return[n,t]}},KTi=(e,t)=>{const[n,i]=$Ti(e,t,"}");return[{type:"mandatory_block",items:n},i]},XTi=(e,t)=>{const[n,i]=$Ti(e,t,"]");return[{type:"optional_block",items:n},i]},QTi=e=>{if("string"==typeof e)return[e];if("concatenation"===e.type)return e.items.map(QTi).reduce(ZTi,[""]);if("mandatory_block"===e.type)return e.items.flatMap(QTi);if("optional_block"===e.type)return["",...e.items.flatMap(QTi)];throw new Error(`Unknown node type: ${e}`)},ZTi=(e,t)=>{const n=[];for(const i of e)for(const e of t)n.push(i+e);return n},JTi=(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))(JTi||{}),eAi=e=>({type:"EOF",raw:"«EOF»",text:"«EOF»",start:e}),tAi=eAi(1/0),nAi=e=>t=>t.type===e.type&&t.text===e.text,iAi={ARRAY:nAi({text:"ARRAY",type:"RESERVED_DATA_TYPE"}),BY:nAi({text:"BY",type:"RESERVED_KEYWORD"}),SET:nAi({text:"SET",type:"RESERVED_CLAUSE"}),STRUCT:nAi({text:"STRUCT",type:"RESERVED_DATA_TYPE"}),WINDOW:nAi({text:"WINDOW",type:"RESERVED_CLAUSE"}),VALUES:nAi({text:"VALUES",type:"RESERVED_CLAUSE"})},rAi=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,sAi=HTi(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),oAi=HTi(["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"]),aAi=HTi(["CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]"]),lAi=HTi(["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"]),cAi=HTi(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),dAi=HTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),uAi=HTi(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),hAi={name:"bigquery",tokenizerOptions:{reservedSelect:sAi,reservedClauses:[...oAi,...lAi,...aAi],reservedSetOperations:cAi,reservedJoins:dAi,reservedPhrases:uAi,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=tAi;return e.map(e=>"OFFSET"===e.text&&"["===t.text?(t=e,UTi(VTi({},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((iAi.ARRAY(r)||iAi.STRUCT(r))&&"<"===(null==(t=e[i+1])?void 0:t.text)){const t=gAi(e,i+1),s=e.slice(i,t+1);n.push({type:"IDENTIFIER",raw:s.map(pAi("raw")).join(""),text:s.map(pAi("text")).join(""),start:r.start}),i=t}else n.push(r)}return n}(e))}},formatOptions:{onelineClauses:[...aAi,...lAi],tabularOnelineClauses:lAi}};var pAi=e=>t=>"IDENTIFIER"===t.type||"COMMA"===t.type?t[e]+" ":t[e];function gAi(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 mAi=HTi(["SELECT [ALL | DISTINCT]"]),fAi=HTi(["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"]),yAi=HTi(["CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]"]),vAi=HTi(["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"]),_Ai=HTi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),bAi=HTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),CAi=HTi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),SAi={name:"db2",tokenizerOptions:{reservedSelect:mAi,reservedClauses:[...fAi,...yAi,...vAi],reservedSetOperations:_Ai,reservedJoins:bAi,reservedPhrases:CAi,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:[...yAi,...vAi],tabularOnelineClauses:vAi}},EAi=HTi(["SELECT [ALL | DISTINCT]"]),wAi=HTi(["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"]),xAi=HTi(["CREATE [OR REPLACE] TABLE"]),TAi=HTi(["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}"]),AAi=HTi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),NAi=HTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT | RIGHT] EXCEPTION JOIN","{INNER | CROSS} JOIN"]),RAi=HTi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),IAi={name:"db2i",tokenizerOptions:{reservedSelect:EAi,reservedClauses:[...wAi,...xAi,...TAi],reservedSetOperations:AAi,reservedJoins:NAi,reservedPhrases:RAi,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:[...xAi,...TAi],tabularOnelineClauses:TAi}},DAi=HTi(["SELECT [ALL | DISTINCT]"]),kAi=HTi(["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"]),OAi=HTi(["CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]"]),LAi=HTi(["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"]),MAi=HTi(["UNION [ALL | DISTINCT]"]),PAi=HTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),FAi=HTi(["{ROWS | RANGE} BETWEEN"]),BAi={name:"hive",tokenizerOptions:{reservedSelect:DAi,reservedClauses:[...kAi,...OAi,...LAi],reservedSetOperations:MAi,reservedJoins:PAi,reservedPhrases:FAi,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:[...OAi,...LAi],tabularOnelineClauses:LAi}};function VAi(e){return e.map((t,n)=>{const i=e[n+1]||tAi;if(iAi.SET(t)&&"("===i.text)return UTi(VTi({},t),{type:"RESERVED_FUNCTION_NAME"});const r=e[n-1]||tAi;return iAi.VALUES(t)&&"="===r.text?UTi(VTi({},t),{type:"RESERVED_FUNCTION_NAME"}):t})}var UAi=HTi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),GAi=HTi(["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"]),HAi=HTi(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),zAi=HTi(["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"]),WAi=HTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),jAi=HTi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),$Ai=HTi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),qAi={name:"mariadb",tokenizerOptions:{reservedSelect:UAi,reservedClauses:[...GAi,...HAi,...zAi],reservedSetOperations:WAi,reservedJoins:jAi,reservedPhrases:$Ai,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:VAi},formatOptions:{onelineClauses:[...HAi,...zAi],tabularOnelineClauses:zAi}},YAi=HTi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),KAi=HTi(["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"]),XAi=HTi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),QAi=HTi(["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"]),ZAi=HTi(["UNION [ALL | DISTINCT]"]),JAi=HTi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),eNi=HTi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),tNi={name:"mysql",tokenizerOptions:{reservedSelect:YAi,reservedClauses:[...KAi,...XAi,...QAi],reservedSetOperations:ZAi,reservedJoins:JAi,reservedPhrases:eNi,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:VAi},formatOptions:{onelineClauses:[...XAi,...QAi],tabularOnelineClauses:QAi}},nNi=HTi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),iNi=HTi(["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"]),rNi=HTi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),sNi=HTi(["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"]),oNi=HTi(["UNION [ALL | DISTINCT]"]),aNi=HTi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),lNi=HTi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),cNi={name:"tidb",tokenizerOptions:{reservedSelect:nNi,reservedClauses:[...iNi,...rNi,...sNi],reservedSetOperations:oNi,reservedJoins:aNi,reservedPhrases:lNi,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:VAi},formatOptions:{onelineClauses:[...rNi,...sNi],tabularOnelineClauses:sNi}},dNi=HTi(["SELECT [ALL | DISTINCT]"]),uNi=HTi(["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"]),hNi=HTi(["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"]),pNi=HTi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),gNi=HTi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),mNi=HTi(["{ROWS | RANGE | GROUPS} BETWEEN"]),fNi={name:"n1ql",tokenizerOptions:{reservedSelect:dNi,reservedClauses:[...uNi,...hNi],reservedSetOperations:pNi,reservedJoins:gNi,reservedPhrases:mNi,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:hNi}},yNi=HTi(["SELECT [ALL | DISTINCT | UNIQUE]"]),vNi=HTi(["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"]),_Ni=HTi(["CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE"]),bNi=HTi(["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"]),CNi=HTi(["UNION [ALL]","MINUS","INTERSECT"]),SNi=HTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),ENi=HTi(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),wNi={name:"plsql",tokenizerOptions:{reservedSelect:yNi,reservedClauses:[...vNi,..._Ni,...bNi],reservedSetOperations:CNi,reservedJoins:SNi,reservedPhrases:ENi,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=tAi;return e.map(e=>iAi.SET(e)&&iAi.BY(t)?UTi(VTi({},e),{type:"RESERVED_KEYWORD"}):(rAi(e.type)&&(t=e),e))}},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:[..._Ni,...bNi],tabularOnelineClauses:bNi}};var xNi=HTi(["SELECT [ALL | DISTINCT]"]),TNi=HTi(["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"]),ANi=HTi(["CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]"]),NNi=HTi(["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"]),RNi=HTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),INi=HTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),DNi=HTi(["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"]),kNi={name:"postgresql",tokenizerOptions:{reservedSelect:xNi,reservedClauses:[...TNi,...ANi,...NNi],reservedSetOperations:RNi,reservedJoins:INi,reservedPhrases:DNi,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:[...ANi,...NNi],tabularOnelineClauses:NNi}},ONi=HTi(["SELECT [ALL | DISTINCT]"]),LNi=HTi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET"]),MNi=HTi(["CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]"]),PNi=HTi(["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"]),FNi=HTi(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),BNi=HTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),VNi=HTi(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),UNi={name:"redshift",tokenizerOptions:{reservedSelect:ONi,reservedClauses:[...LNi,...MNi,...PNi],reservedSetOperations:FNi,reservedJoins:BNi,reservedPhrases:VNi,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:[...MNi,...PNi],tabularOnelineClauses:PNi}},GNi=HTi(["SELECT [ALL | DISTINCT]"]),HNi=HTi(["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"]),zNi=HTi(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]),WNi=HTi(["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"]),jNi=HTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),$Ni=HTi(["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"]),qNi=HTi(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),YNi={name:"spark",tokenizerOptions:{reservedSelect:GNi,reservedClauses:[...HNi,...zNi,...WNi],reservedSetOperations:jNi,reservedJoins:$Ni,reservedPhrases:qNi,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]||tAi,r=e[n+1]||tAi;return iAi.WINDOW(t)&&"OPEN_PAREN"===r.type?UTi(VTi({},t),{type:"RESERVED_FUNCTION_NAME"}):"ITEMS"!==t.text||"RESERVED_KEYWORD"!==t.type||"COLLECTION"===i.text&&"TERMINATED"===r.text?t:UTi(VTi({},t),{type:"IDENTIFIER",text:t.raw})})}},formatOptions:{onelineClauses:[...zNi,...WNi],tabularOnelineClauses:WNi}};var KNi=HTi(["SELECT [ALL | DISTINCT]"]),XNi=HTi(["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"]),QNi=HTi(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),ZNi=HTi(["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"]),JNi=HTi(["UNION [ALL]","EXCEPT","INTERSECT"]),eRi=HTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),tRi=HTi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","DO UPDATE"]),nRi={name:"sqlite",tokenizerOptions:{reservedSelect:KNi,reservedClauses:[...XNi,...QNi,...ZNi],reservedSetOperations:JNi,reservedJoins:eRi,reservedPhrases:tRi,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:[...QNi,...ZNi],tabularOnelineClauses:ZNi}},iRi=HTi(["SELECT [ALL | DISTINCT]"]),rRi=HTi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET"]),sRi=HTi(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]),oRi=HTi(["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"]),aRi=HTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),lRi=HTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),cRi=HTi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),dRi={name:"sql",tokenizerOptions:{reservedSelect:iRi,reservedClauses:[...rRi,...sRi,...oRi],reservedSetOperations:aRi,reservedJoins:lRi,reservedPhrases:cRi,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:[...sRi,...oRi],tabularOnelineClauses:oRi}},uRi=HTi(["SELECT [ALL | DISTINCT]"]),hRi=HTi(["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"]),pRi=HTi(["CREATE TABLE [IF NOT EXISTS]"]),gRi=HTi(["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"]),mRi=HTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),fRi=HTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),yRi=HTi(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM"]),vRi={name:"trino",tokenizerOptions:{reservedSelect:uRi,reservedClauses:[...hRi,...pRi,...gRi],reservedSetOperations:mRi,reservedJoins:fRi,reservedPhrases:yRi,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:[...pRi,...gRi],tabularOnelineClauses:gRi}},_Ri=HTi(["SELECT [ALL | DISTINCT]"]),bRi=HTi(["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}"]),CRi=HTi(["CREATE TABLE"]),SRi=HTi(["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"]),ERi=HTi(["UNION [ALL]","EXCEPT","INTERSECT"]),wRi=HTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),xRi=HTi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),TRi={name:"transactsql",tokenizerOptions:{reservedSelect:_Ri,reservedClauses:[...bRi,...CRi,...SRi],reservedSetOperations:ERi,reservedJoins:wRi,reservedPhrases:xRi,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:[...CRi,...SRi],tabularOnelineClauses:SRi}},ARi=HTi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),NRi=HTi(["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"]),RRi=HTi(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]),IRi=HTi(["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"]),DRi=HTi(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),kRi=HTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),ORi=HTi(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),LRi={name:"singlestoredb",tokenizerOptions:{reservedSelect:ARi,reservedClauses:[...NRi,...RRi,...IRi],reservedSetOperations:DRi,reservedJoins:kRi,reservedPhrases:ORi,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:VAi},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:[...RRi,...IRi],tabularOnelineClauses:IRi}},MRi=HTi(["SELECT [ALL | DISTINCT]"]),PRi=HTi(["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"]),FRi=HTi(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]),BRi=HTi(["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"]),VRi=HTi(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),URi=HTi(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),GRi=HTi(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),HRi={name:"snowflake",tokenizerOptions:{reservedSelect:MRi,reservedClauses:[...PRi,...FRi,...BRi],reservedSetOperations:VRi,reservedJoins:URi,reservedPhrases:GRi,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:[...FRi,...BRi],tabularOnelineClauses:BRi}},zRi=e=>e[e.length-1],WRi=e=>e.sort((e,t)=>t.length-e.length||e.localeCompare(t)),jRi=e=>e.replace(/\s+/gu," "),$Ri=e=>/\n/.test(e),qRi=e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),YRi=/\s+/uy,KRi=e=>new RegExp(`(?:${e})`,"uy"),XRi=e=>e.split("").map(e=>/ /gu.test(e)?"\\s+":`[${e.toUpperCase()}${e.toLowerCase()}]`).join(""),QRi=(e,t=[])=>{const n="open"===e?0:1,i=["()",...t].map(e=>e[n]);return KRi(i.map(qRi).join("|"))},ZRi=e=>KRi(`${WRi(e).map(qRi).join("|")}`),JRi=(e,t={})=>{if(0===e.length)return/^\b$/u;const n=(({rest:e,dashes:t})=>e||t?`(?![${e||""}${t?"-":""}])`:"")(t),i=WRi(e).map(qRi).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${i})${n}\\b`,"iuy")},eIi=(e,t)=>{if(!e.length)return;const n=e.map(qRi).join("|");return KRi(`(?:${n})(?:${t})`)},tIi={"``":"(?:`[^`]*`)+","[]":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,qRi(e)).replace(/{right}/g,qRi(t))),n=qRi(Object.keys(e).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${n}])(?:(?!\k<tag>').)*?\k<tag>`}|${t.join("|")})'`})()},nIi=e=>"string"==typeof e?tIi[e]:"regex"in e?e.regex:(({prefixes:e,requirePrefix:t})=>`(?:${e.map(XRi).join("|")}${t?"":"|"})`)(e)+tIi[e.quote],iIi=e=>e.map(nIi).join("|"),rIi=e=>KRi(iIi(e)),sIi=(e={})=>KRi(oIi(e)),oIi=({first:e,rest:t,dashes:n,allowFirstCharNumber:i}={})=>{const r="\\p{Alphabetic}\\p{Mark}_",s="\\p{Decimal_Number}",o=qRi(null!=e?e:""),a=qRi(null!=t?t:""),l=i?`[${r}${s}${o}][${r}${s}${a}]*`:`[${r}${o}][${r}${s}${a}]*`;return n?(e=>e+"(?:-"+e+")*")(l):l};function aIi(e,t){const n=e.slice(0,t).split(/\n/);return{line:n.length,col:n[n.length-1].length+1}}var lIi=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(UTi(VTi({},n),{precedingWhitespace:e}))}}return t}createParseError(){const e=this.input.slice(this.index,this.index+10),{line:t,col:n}=aIi(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(){YRi.lastIndex=this.index;const e=YRi.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}}},cIi=/\/\*/uy,dIi=/[\s\S]/uy,uIi=/\*\//uy,hIi=class{constructor(){this.lastIndex=0}exec(e){let t,n="",i=0;if(!(t=this.matchSection(cIi,e)))return null;for(n+=t,i++;i>0;)if(t=this.matchSection(cIi,e))n+=t,i++;else if(t=this.matchSection(uIi,e))n+=t,i--;else{if(!(t=this.matchSection(dIi,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}},pIi=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 lIi(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 hIi:/(\/\*[^]*?\*\/)/uy},{type:"LINE_COMMENT",regex:(i=null!=(t=e.lineCommentTypes)?t:["--"],new RegExp(`(?:${i.map(qRi).join("|")}).*?(?=\r\n|\r|\n|$)`,"uy"))},{type:"QUOTED_IDENTIFIER",regex:rIi(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:JRi(null!=(n=e.reservedPhrases)?n:[],e.identChars),text:gIi},{type:"CASE",regex:/CASE\b/iuy,text:gIi},{type:"END",regex:/END\b/iuy,text:gIi},{type:"BETWEEN",regex:/BETWEEN\b/iuy,text:gIi},{type:"LIMIT",regex:e.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:gIi},{type:"RESERVED_CLAUSE",regex:JRi(e.reservedClauses,e.identChars),text:gIi},{type:"RESERVED_SELECT",regex:JRi(e.reservedSelect,e.identChars),text:gIi},{type:"RESERVED_SET_OPERATION",regex:JRi(e.reservedSetOperations,e.identChars),text:gIi},{type:"WHEN",regex:/WHEN\b/iuy,text:gIi},{type:"ELSE",regex:/ELSE\b/iuy,text:gIi},{type:"THEN",regex:/THEN\b/iuy,text:gIi},{type:"RESERVED_JOIN",regex:JRi(e.reservedJoins,e.identChars),text:gIi},{type:"AND",regex:/AND\b/iuy,text:gIi},{type:"OR",regex:/OR\b/iuy,text:gIi},{type:"XOR",regex:e.supportsXor?/XOR\b/iuy:void 0,text:gIi},...e.operatorKeyword?[{type:"OPERATOR",regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:"RESERVED_FUNCTION_NAME",regex:JRi(e.reservedFunctionNames,e.identChars),text:gIi},{type:"RESERVED_DATA_TYPE",regex:JRi(e.reservedDataTypes,e.identChars),text:gIi},{type:"RESERVED_KEYWORD",regex:JRi(e.reservedKeywords,e.identChars),text:gIi}])}buildRulesAfterParams(e){var t,n,i;return this.validRules([{type:"VARIABLE",regex:e.variableTypes?(i=e.variableTypes,KRi(i.map(e=>"regex"in e?e.regex:nIi(e)).join("|"))):void 0},{type:"STRING",regex:rIi(e.stringTypes)},{type:"IDENTIFIER",regex:sIi(e.identChars)},{type:"DELIMITER",regex:/[;]/uy},{type:"COMMA",regex:/[,]/y},{type:"OPEN_PAREN",regex:QRi("open",e.extraParens)},{type:"CLOSE_PAREN",regex:QRi("close",e.extraParens)},{type:"OPERATOR",regex:ZRi(["+","-","/",">","<","=","<>","<=",">=","!=",...null!=(t=e.operators)?t:[]])},{type:"ASTERISK",regex:/[*]/uy},{type:"PROPERTY_ACCESS_OPERATOR",regex:ZRi([".",...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:eIi(a.named,oIi(e.paramChars||e.identChars)),key:e=>e.slice(1)},{type:"QUOTED_PARAMETER",regex:eIi(a.quoted,iIi(e.identTypes)),key:e=>(({tokenKey:e,quoteChar:t})=>e.replace(new RegExp(qRi("\\"+t),"gu"),t))({tokenKey:e.slice(2,-1),quoteChar:e.slice(-1)})},{type:"NUMBERED_PARAMETER",regex:eIi(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:KRi(e.regex),key:null!=(t=e.key)?t:e=>e}})])}validRules(e){return e.filter(e=>Boolean(e.regex))}},gIi=e=>jRi(e.toUpperCase()),mIi=new Map,fIi=e=>({tokenizer:new pIi(e.tokenizerOptions,e.name),formatOptions:yIi(e.formatOptions)}),yIi=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 vIi(e){return"tabularLeft"===e.indentStyle||"tabularRight"===e.indentStyle}var _Ii=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 bIi(e){return e.map(CIi).map(SIi).map(EIi).map(wIi).map(xIi)}var CIi=(e,t,n)=>{if(rAi(e.type)){const i=TIi(n,t);if(i&&"PROPERTY_ACCESS_OPERATOR"===i.type)return UTi(VTi({},e),{type:"IDENTIFIER",text:e.raw});const r=AIi(n,t);if(r&&"PROPERTY_ACCESS_OPERATOR"===r.type)return UTi(VTi({},e),{type:"IDENTIFIER",text:e.raw})}return e},SIi=(e,t,n)=>{if("RESERVED_FUNCTION_NAME"===e.type){const i=AIi(n,t);if(!i||!NIi(i))return UTi(VTi({},e),{type:"IDENTIFIER",text:e.raw})}return e},EIi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=AIi(n,t);if(i&&NIi(i))return UTi(VTi({},e),{type:"RESERVED_PARAMETERIZED_DATA_TYPE"})}return e},wIi=(e,t,n)=>{if("IDENTIFIER"===e.type){const i=AIi(n,t);if(i&&RIi(i))return UTi(VTi({},e),{type:"ARRAY_IDENTIFIER"})}return e},xIi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=AIi(n,t);if(i&&RIi(i))return UTi(VTi({},e),{type:"ARRAY_KEYWORD"})}return e},TIi=(e,t)=>AIi(e,t,-1),AIi=(e,t,n=1)=>{let i=1;for(;e[t+i*n]&&IIi(e[t+i*n]);)i++;return e[t+i*n]},NIi=e=>"OPEN_PAREN"===e.type&&"("===e.text,RIi=e=>"OPEN_PAREN"===e.type&&"["===e.text,IIi=e=>"BLOCK_COMMENT"===e.type||"LINE_COMMENT"===e.type,DIi=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}=aIi(this.input,e.start);return`Parse error at token: ${e.text} at line ${t} column ${n}`}has(e){return e in JTi}};function kIi(e){return e[0]}var OIi=new DIi(e=>[]),LIi=([[e]])=>e,MIi=e=>({type:"keyword",tokenType:e.type,text:e.text,raw:e.raw}),PIi=e=>({type:"data_type",text:e.text,raw:e.raw}),FIi=(e,{leading:t,trailing:n})=>((null==t?void 0:t.length)&&(e=UTi(VTi({},e),{leadingComments:t})),(null==n?void 0:n.length)&&(e=UTi(VTi({},e),{trailingComments:n})),e),BIi=(e,{leading:t,trailing:n})=>{if(null==t?void 0:t.length){const[n,...i]=e;e=[FIi(n,{leading:t}),...i]}if(null==n?void 0:n.length){const t=e.slice(0,-1),i=e[e.length-1];e=[...t,FIi(i,{trailing:n})]}return e},VIi={Lexer:OIi,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:[OIi.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[OIi.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:LIi},{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:[OIi.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:kIi},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[OIi.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:FIi(MIi(e),{trailing:t}),offset:n,count:s}}return{type:"limit_clause",limitKw:FIi(MIi(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:[OIi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([e,[t,n]])=>({type:"clause",nameKw:MIi(e),children:[t,...n]})},{name:"select_clause",symbols:[OIi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([e])=>({type:"clause",nameKw:MIi(e),children:[]})},{name:"all_columns_asterisk",symbols:[OIi.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:[OIi.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([e,t])=>({type:"clause",nameKw:MIi(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:[OIi.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([e,t])=>({type:"set_operation",nameKw:MIi(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:kIi},{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])=>FIi(e,{trailing:t})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([e,t])=>FIi(t,{leading:e})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([e,t])=>FIi(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:LIi},{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:LIi},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:LIi},{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:LIi},{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:LIi},{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:LIi},{name:"array_subscript",symbols:[OIi.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:FIi({type:"identifier",quoted:!1,text:e.text},{trailing:t}),parenthesis:n})},{name:"array_subscript",symbols:[OIi.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:FIi(MIi(e),{trailing:t}),parenthesis:n})},{name:"function_call",symbols:[OIi.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([e,t,n])=>({type:"function_call",nameKw:FIi(MIi(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","_",OIi.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:FIi(e,{trailing:t}),operator:n.text,property:FIi(r,{leading:i})})},{name:"between_predicate",symbols:[OIi.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",OIi.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([e,t,n,i,r,s,o])=>({type:"between_predicate",betweenKw:MIi(e),expr1:BIi(n,{leading:t,trailing:i}),andKw:MIi(r),expr2:[FIi(o,{leading:s})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:kIi},{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:[OIi.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",OIi.has("END")?{type:"END"}:END],postprocess:([e,t,n,i,r])=>({type:"case_expression",caseKw:FIi(MIi(e),{trailing:t}),endKw:MIi(r),expr:n||[],clauses:i})},{name:"case_clause",symbols:[OIi.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",OIi.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([e,t,n,i,r,s])=>({type:"case_when",whenKw:FIi(MIi(e),{trailing:t}),thenKw:FIi(MIi(i),{trailing:r}),condition:n,result:s})},{name:"case_clause",symbols:[OIi.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([e,t,n])=>({type:"case_else",elseKw:FIi(MIi(e),{trailing:t}),result:n})},{name:"comma$subexpression$1",symbols:[OIi.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[e]])=>({type:"comma"})},{name:"asterisk$subexpression$1",symbols:[OIi.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"operator$subexpression$1",symbols:[OIi.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"identifier$subexpression$1",symbols:[OIi.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[OIi.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[OIi.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:[OIi.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[OIi.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[OIi.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[OIi.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[OIi.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:[OIi.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[OIi.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[e]])=>({type:"literal",text:e.text})},{name:"keyword$subexpression$1",symbols:[OIi.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[OIi.has("RESERVED_PHRASE")?{type:"RESERVED_PHRASE"}:RESERVED_PHRASE]},{name:"keyword$subexpression$1",symbols:[OIi.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[e]])=>MIi(e)},{name:"data_type$subexpression$1",symbols:[OIi.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[e]])=>PIi(e)},{name:"data_type",symbols:[OIi.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([e,t,n])=>({type:"parameterized_data_type",dataType:FIi(PIi(e),{trailing:t}),parenthesis:n})},{name:"logic_operator$subexpression$1",symbols:[OIi.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[OIi.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[OIi.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[e]])=>MIi(e)},{name:"other_keyword$subexpression$1",symbols:[OIi.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[OIi.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[OIi.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[OIi.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[e]])=>MIi(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:[OIi.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([e])=>({type:"line_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[OIi.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([e])=>({type:"block_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[OIi.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([e])=>({type:"disable_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})}],ParserStart:"main"},UIi=VIi,{Parser:GIi,Grammar:HIi}=DTi;var zIi=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(;WIi(zRi(this.items));)this.items.pop()}trimWhitespace(){for(;jIi(zRi(this.items));)this.items.pop()}addNewline(e){if(this.items.length>0)switch(zRi(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}}},WIi=e=>0===e||6===e,jIi=e=>0===e||6===e||3===e;function $Ii(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 qIi(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 YIi="top-level",KIi=class{constructor(e){this.indent=e,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(YIi)}increaseBlockLevel(){this.indentTypes.push("block-level")}decreaseTopLevel(){this.indentTypes.length>0&&zRi(this.indentTypes)===YIi&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0;){if(this.indentTypes.pop()!==YIi)break}}},XIi=class extends zIi{constructor(e){super(new KIi("")),this.expressionWidth=e,this.length=0,this.trailingSpace=!1}add(...e){if(e.forEach(e=>this.addToLength(e)),this.length>this.expressionWidth)throw new QIi;super.add(...e)}addToLength(e){if("string"==typeof e)this.length+=e.length,this.trailingSpace=!1;else{if(4===e||3===e)throw new QIi;5===e||6===e||0===e?this.trailingSpace||(this.length++,this.trailingSpace=!0):2!==e&&1!==e||this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}},QIi=class extends Error{},ZIi=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),vIi(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):vIi(this.cfg)?this.formatClauseInTabularStyle(e):this.formatClauseInIndentedStyle(e)}isOnelineClause(e){return vIi(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(),vIi(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){$Ri(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 $Ri(e.text)||$Ri(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(zRi(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 XIi(this.cfg.expressionWidth),inline:!0}).format(t)}catch(e){if(e instanceof QIi)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){vIi(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?vIi(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 qIi(e.tokenType)?$Ii(this.showNonTabularKw(e),this.cfg.indentStyle):this.showNonTabularKw(e)}showNonTabularKw(e){switch(this.cfg.keywordCase){case"preserve":return jRi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showFunctionKw(e){return qIi(e.tokenType)?$Ii(this.showNonTabularFunctionKw(e),this.cfg.indentStyle):this.showNonTabularFunctionKw(e)}showNonTabularFunctionKw(e){switch(this.cfg.functionCase){case"preserve":return jRi(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 jRi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}},JIi=class{constructor(e,t){this.dialect=e,this.cfg=t,this.params=new _Ii(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 DIi(n=>[...bIi(e.tokenize(n,t)),eAi(n.length)]),i=new GIi(HIi.fromCompiled(UIi),{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 ZIi({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new zIi(new KIi((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()}},eDi=class extends Error{};function tDi(e){const t=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const n of t)if(n in e)throw new eDi(`${n} config is no more supported.`);if(e.expressionWidth<=0)throw new eDi(`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 eDi("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return e}var nDi={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"},iDi=Object.keys(nDi),rDi={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},sDi=(e,t={})=>{if("string"==typeof t.language&&!iDi.includes(t.language))throw new eDi(`Unsupported SQL dialect: ${t.language}`);const n=nDi[t.language||"sql"];return oDi(e,UTi(VTi({},t),{dialect:GTi[n]}))},oDi=(e,t)=>{var n=t,{dialect:i}=n,r=((e,t)=>{var n={};for(var i in e)PTi.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&MTi)for(var i of MTi(e))t.indexOf(i)<0&&FTi.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=tDi(VTi(VTi({},rDi),r));return new JIi((e=>{let t=mIi.get(e);return t||(t=fIi(e),mIi.set(e,t)),t})(i),s).format(e)};const aDi=console.error;function lDi(e){return AG_GRID_LICENSE&&Loi.setLicenseKey(AG_GRID_LICENSE),"production"!==process.env.NODE_ENV&&(console.error=(e,...t)=>{console.debug(`%c ${e}`,"color: silver")}),Yne.jsx(uoi,{theme:"legacy",...e,modules:[ssi,C_i],onGridReady:t=>{e.onGridReady?.(t),"production"!==process.env.NODE_ENV&&(console.error=aDi)}})}class cDi{uuid=ho()}const dDi=(e,t,n)=>{const i=new YE(sS(t)),r=tEi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,n??e.filterState.lambdaParameterName);if(i.parametersValues.push(Gs(r)),e.rightConditionValue&&e.rightConditionValue instanceof zSi&&void 0!==e.rightConditionValue.value)i.parametersValues.push(e.rightConditionValue.value);else if(e.rightConditionValue&&e.rightConditionValue instanceof WSi){const t=tEi(e.rightConditionValue.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,n??e.filterState.lambdaParameterName);i.parametersValues.push(t)}return i},uDi=(e,t,n,i,r=!1)=>{let s,o;if(lS(t.functionName,n)){Ks(t.parametersValues.length===(r?1:2),`Can't process ${sS(n)}() expression: ${sS(n)}() expects ${r?"no argument":"1 argument"}`);const i=js(t.parametersValues[0],KE,`Can't process ${sS(n)}() expression: expects property expression in lambda body`);s=new jSi(e,i),o=t}else if(lS(t.functionName,$ct.EXISTS)){const i=js(t.parametersValues[1],ZE),a=js(i.values[0],QE),l=js(a.expressionSequence[0],YE);Ks(l.parametersValues.length===(r?1:2),`Can't process ${sS(n)}() expression: ${sS(n)}() expects ${r?"no argument":"1 argument"}`);const c=js(l.parametersValues[0],KE,`Can't process ${sS(n)}() expression: expects property expression in lambda body`);s=new jSi(e,c),o=l}if(s&&o){Ks(i.isCompatibleWithFilterConditionProperty(s),`Can't process ${sS(n)}() expression: property is not compatible with operator`),s.setOperator(i);const t=o.parametersValues[1];return r||!t?s.setRightConditionValue(void 0):t instanceof KE?s.setRightConditionValue(new WSi(s,new nSi(e.queryBuilderState,t))):s.setRightConditionValue(new zSi(s,Edt(t,s.filterState.queryBuilderState.observerContext))),i.isCompatibleWithFilterConditionValue(s)||s.setRightConditionValue(new zSi(s,i.getDefaultFilterConditionValue(s))),s}};class hDi extends cDi{getLabel(){return"is"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)||t instanceof RS&&t.values.length>0}isCompatibleWithFilterConditionValue(e){return ydt(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return qCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildFilterConditionExpression(e,t){return dDi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?$ct.IS_ON_DAY:$ct.EQUAL,t)}buildFilterConditionState(e,t){return uDi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?$ct.IS_ON_DAY:$ct.EQUAL,this)}get hashCode(){return $v([wdt.FILTER_OPERATOR_EQUAL])}}class pDi extends hDi{getLabel(){return"is not"}buildFilterConditionExpression(e,t){return mdt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=gdt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return $v([wdt.FILTER_OPERATOR_NOT_EQUAL])}}class gDi extends cDi{getLabel(){return"is in list of"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.STRING,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)||t instanceof RS}isCompatibleWithFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType,n=e.rightConditionValue;if(n instanceof zSi){const i=n.value;if(i instanceof VE){if(0===i.values.length)return!0;const n=hdt(e.filterState.queryBuilderState.graphManagerState.graph,i.values);return!!n&&([TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)?[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(n.path):n===t)}if(i instanceof ME)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return new VE(nS.ONE,yS.create(new ES(t)))}buildFilterConditionExpression(e,t){return dDi(e,$ct.IN,t)}buildFilterConditionState(e,t){return uDi(e,t,$ct.IN,this)}get hashCode(){return $v([wdt.FILTER_OPERATOR_IN])}}class mDi extends gDi{getLabel(){return"is not in list of"}buildFilterConditionExpression(e,t){return mdt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=gdt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return $v([wdt.FILTER_OPERATOR_NOT_IN])}}class fDi extends cDi{getLabel(){return"is empty"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return!!fdt(e.propertyExpressionState.propertyExpression)&&(t instanceof RS||t instanceof gS)}isCompatibleWithFilterConditionValue(e){return void 0===e.rightConditionValue}getDefaultFilterConditionValue(e){}buildFilterConditionExpression(e,t){return dDi(e,$ct.IS_EMPTY,t)}buildFilterConditionState(e,t){return uDi(e,t,$ct.IS_EMPTY,this,!0)}get hashCode(){return $v([wdt.FILTER_OPERATOR_IS_EMPTY])}}class yDi extends fDi{getLabel(){return"is not empty"}buildFilterConditionExpression(e,t){return mdt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=gdt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return $v([wdt.FILTER_OPERATOR_IS_NOT_EMPTY])}}const vDi=e=>{try{return sDi(e,{language:"mysql"})}catch{try{return sDi(e)}catch{return e}}},_Di=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},bDi=new hDi,CDi=new pDi,SDi=new gDi,EDi=new mDi,wDi=new fDi,xDi=new yDi,TDi=new VEi,ADi=new MEi,NDi=new FEi,RDi=new BEi,IDi=new UEi,DDi=new PEi,kDi=(e,t,n)=>{t.value&&adt(e,e instanceof BE?BS.create(Gs((e.genericType?.ownerReference.value).values.filter(e=>e.name===t.value)[0])):t.value,0,n.observerContext)},ODi=(e,t,n,i,r,s)=>{s.filterState.setShowPanel(!0);const o=((e,t)=>e?null===t.value?wDi:bDi:null===t.value?xDi:CDi)(t,n),a=((e,t,n)=>Array.from(n.nodes.values()).filter(zs(QSi)).filter(n=>n.condition.propertyExpressionState.path===t?.path&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[wDi,xDi]:t?[bDi,SDi]:[CDi,EDi],r,s.filterState);if(a)((e,t,n,i,r,s)=>{if(i===wDi||i===xDi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?wDi:xDi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof zSi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof PE&&(a.value instanceof BE?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);kDi(i,n,s),o.changeOperator(t?SDi:EDi),ldt(a.value,[e,i],s.observerContext)}}else{const e=a.value instanceof PE&&a.value.values.filter(e=>e instanceof PE).map(e=>e instanceof BE?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?bDi:CDi).getDefaultFilterConditionValue(o);kDi(e,n,s),ldt(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 jSi(i,r,t);const e=s.operator.getDefaultFilterConditionValue(s);s.buildRightConditionValueFromValueSpec(e),kDi(e,n,i.queryBuilderState),i.addNodeFromNode(new QSi(void 0,s),void 0)}}catch(t){return Kr(t),void e.notificationService.notifyWarning(t.message)}})(e,o,n,s.filterState,r.propertyExpression)}catch(t){Kr(t),e.alertUnhandledError(t)}},LDi=async(e,t,n,i,r,s)=>{s.setShowPostFilterPanel(!0);const o=((e,t)=>e?null===t.value?NDi:TDi:null===t.value?RDi:IDi)(t,n),a=((e,t,n,i)=>Array.from(n.nodes.values()).filter(zs(NEi)).filter(e=>e.condition.leftConditionValue instanceof oSi).filter(n=>n.condition.leftConditionValue.columnName===(t??i?.columnName)&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[NDi,RDi]:t?[TDi,ADi]:[IDi,DDi],n.columnName,s.postFilterState,r);if(a)((e,t,n,i,r,s)=>{if(i===NDi||i===RDi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?NDi:RDi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof DEi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof PE&&(a.value instanceof BE?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);kDi(i,n,s.queryBuilderState),o.changeOperator(t?ADi:DDi),ldt(a.value,[e,i],s.queryBuilderState.observerContext)}}else{const e=a.value instanceof PE&&a.value.values.filter(e=>e instanceof PE).map(e=>e instanceof BE?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?TDi:IDi).getDefaultFilterConditionValue(o);kDi(e,n,s.queryBuilderState),ldt(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 OEi(i.postFilterState,e,t),r instanceof cSi&&await r.fetchDerivationLambdaReturnType();const o=s.operator.getDefaultFilterConditionValue(s);s.buildFromValueSpec(o),kDi(o,n,i.queryBuilderState),i.postFilterState.addNodeFromNode(new NEi(void 0,s),void 0)}}catch(t){return Kr(t),void e.notificationService.notifyWarning(t.message)}})(e,o,n,s,r)}catch(t){Kr(t),e.alertUnhandledError(t)}},MDi=async(e,t,n,i,r)=>{const s=i?.columnName||n.columnName?NSi(r,n.columnName):void 0;s instanceof cSi||s instanceof uSi||s instanceof aSi&&GSi(s.propertyExpressionState.propertyExpression)?await LDi(e,t,n,i,s,r):s instanceof aSi?ODi(e,t,n,i,s.propertyExpressionState,r.queryBuilderState):e.notificationService.notifyError(`Can't filter column '${i?.columnName?i.columnName:n.columnName}'`)},PDi=async(e,t,n,i)=>{for(const r of i.queryBuilderState.resultState.selectedCells)await MDi(e,n,r,t,i)},FDi=Vse(n.forwardRef(function(e,t){const{data:n,tdsState:i,copyCellValueFunc:r,copyCellRowValueFunc:s}=e,o=Wat(),a=n?.columnName?NSi(i,n.columnName):void 0;return Yne.jsxs(XOe,{ref:t,children:[Yne.jsx(QOe,{disabled:!a,onClick:()=>{PDi(o,n,!0,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter By"}),Yne.jsx(QOe,{disabled:!a,onClick:()=>{PDi(o,n,!1,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter Out"}),Yne.jsx(ZOe,{}),Yne.jsx(QOe,{onClick:r,children:"Copy Cell Value"}),Yne.jsx(QOe,{onClick:s,children:"Copy Row Value"})]})})),BDi=Vse(e=>{const{query:t,resultColumns:n,executionPlanState:i}=e,r=i.applicationStore;return Yne.jsxs(Yne.Fragment,{children:[Yne.jsxs("div",{className:"query-builder__sql__container",children:[Yne.jsx(mLe,{}),Yne.jsxs("div",{children:[Yne.jsx("div",{className:"query-builder__sql__container__item__label",children:Yne.jsxs(pLe,{children:["SQL",Yne.jsx("div",{children:Yne.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:Yne.jsx(cre,{})})})]})}),Yne.jsx("div",{className:"query-builder__sql__container__code-editor",children:Yne.jsx(ETi,{inputValue:vDi(t.replaceAll("$","changeDollar").replaceAll("?","changeQuestion").replaceAll("{","changeOpenCurlyBracket").replaceAll("}","changeCloseCurlyBracket").replaceAll("'","changeSingleQuote")).replaceAll("changeDollar","$").replaceAll("changeQuestion","?").replaceAll("changeOpenCurlyBracket","{").replaceAll("changeCloseCurlyBracket","}").replaceAll("changeSingleQuote","'"),language:dAn.SQL})}),Yne.jsx(mLe,{})]},t)]}),n.length>0&&Yne.jsx("div",{className:"query-builder__sql__container",children:Yne.jsxs("div",{children:[Yne.jsx(pLe,{className:"query-builder__sql__container__item__label",children:"Result Columns"}),Yne.jsx(mLe,{}),Yne.jsxs("table",{className:"query-builder__sql__container__table table",children:[Yne.jsx("thead",{children:Yne.jsxs("tr",{children:[Yne.jsx("th",{className:"table__cell--left",children:"Label"}),Yne.jsx("th",{className:"table__cell--left",children:"Data Type"})]})}),Yne.jsx("tbody",{children:n.map(e=>Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:e.label.replaceAll('"',"")}),e.dataType&&Yne.jsx("td",{className:"table__cell--left",children:SY(e.dataType)})]},e.label))})]})]})})]})}),VDi=Vse(e=>{const{query:t,resultColumns:n,resultType:i,executionPlanState:r,viewJson:s}=e,o=r.applicationStore;return!1===s?Yne.jsx(BDi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}):Yne.jsxs(hLe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Yne.jsx(BDi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}),Yne.jsx(CTi,{resultType:i}),Yne.jsx("div",{className:"query-builder__sql__container",children:Yne.jsx(xCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(Cki.JSON),text:"View JSON"})}),Yne.jsx(mLe,{})]})}),UDi=e=>function(t){const n=e.darkMode?"packageable-element-option-label--dark":"packageable-element-option-label";return Yne.jsxs("div",{className:n,children:[Yne.jsx("div",{className:`${n}__name`,children:t.label}),t.value.package&&Yne.jsx("div",{className:`${n}__tag`,children:t.value.path}),Yne.jsx("div",{className:`${n}__tag`,children:t.value.contentType})]})},GDi=e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r,innerProps:s}=e,{isReadOnly:o,removeNode:a}=s;let l,c,d;t.tree instanceof nw?(l=t.tree.property.value,c=l.genericType.value.rawType,d=t.tree.subType?.value):t.tree instanceof tw&&(c=t.tree.class.value);const u=Boolean(t.childrenIds.length)?t.isOpen?Yne.jsx(Jre,{}):Yne.jsx(tse,{}):Yne.jsx("div",{}),h=c?Hwi(c):Yne.jsx(cwe,{}),p=()=>r?.(t);return Yne.jsxs("div",{className:"tree-view__node__container query-builder-graph-fetch-tree__node__container",style:{paddingLeft:(n-1)*(i??2)+"rem",display:"flex"},children:[Yne.jsxs("div",{className:"query-builder-graph-fetch-tree__node__content",children:[Yne.jsxs("div",{className:"tree-view__node__icon query-builder-graph-fetch-tree__node__icon",children:[Yne.jsx("div",{className:"query-builder-graph-fetch-tree__expand-icon",onClick:p,children:u}),Yne.jsx("div",{className:"query-builder-graph-fetch-tree__type-icon",onClick:p,children:h})]}),Yne.jsxs("div",{className:"tree-view__node__label query-builder-graph-fetch-tree__node__label",onClick:p,children:[t.label,d&&Yne.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type",children:Yne.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type__label",children:d.name})}),Yne.jsx("div",{className:"query-builder-graph-fetch-tree__node__type",children:Yne.jsx("div",{className:"query-builder-graph-fetch-tree__node__type__label",children:c?.name})})]})]}),Yne.jsx("div",{className:"query-builder-graph-fetch-tree__node__actions",children:Yne.jsx("button",{className:"query-builder-graph-fetch-tree__node__action",title:"Remove",tabIndex:-1,onClick:()=>a?.(t),disabled:o,children:Yne.jsx(Wre,{})})})]})},HDi=Vse(e=>{const{pureSerializationState:t,graphFetchState:n,config:i}=e,r=n.queryBuilderState.applicationStore,s=!t.config;return Yne.jsx(pve,{open:t.configModal,onClose:()=>t.setConfigModal(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Yne.jsxs(GOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-builder-graph-fetch-config",children:[Yne.jsx(zOe,{title:""+(s?"Add Serialization Config":"Edit Serialization Config")}),Yne.jsx(jOe,{className:"query-builder-graph-fetch-config__content",children:Yne.jsx(aLe,{children:Yne.jsxs(gLe,{children:[Yne.jsx(vLe,{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}),Yne.jsx(vLe,{name:"Date Time Format",value:i.dateTimeFormat,isReadOnly:!1,update:e=>i.setDateTimeFormat(""===e?void 0:e)}),Yne.jsx(_Le,{name:"Include Type",value:i.includeType,isReadOnly:!1,update:e=>i.setIncludeType(Boolean(e))}),Yne.jsx(_Le,{name:"Include Enum Type",value:i.includeEnumType,isReadOnly:!1,update:e=>i.setInclueEnumType(Boolean(e))}),Yne.jsx(_Le,{name:"Remove Properties With Null Values",value:i.removePropertiesWithNullValues,isReadOnly:!1,update:e=>i.setRemovePropertiesWithNullValues(Boolean(e))}),Yne.jsx(_Le,{name:"Remove properties with empty sets",value:i.removePropertiesWithEmptySets,isReadOnly:!1,update:e=>i.setRemovePropertiesWithEmptySets(Boolean(e))}),Yne.jsx(_Le,{name:"Use Fully Qualified Type Path",value:i.fullyQualifiedTypePath,isReadOnly:!1,update:e=>i.setFullyQualifiedTypePath(Boolean(e))}),Yne.jsx(_Le,{name:"Include Object Reference",value:i.includeObjectReference,isReadOnly:!1,update:e=>i.setIncludeObjectReference(Boolean(e))})]})})}),Yne.jsxs($Oe,{children:[!s&&Yne.jsx(YOe,{className:"btn--caution",text:"Remove Config",onClick:()=>{t.setConfig(void 0),t.setConfigModal(!1),n.queryBuilderState.applicationStore.notificationService.notifySuccess("Serialization config removed")}}),Yne.jsx(YOe,{className:"modal__footer__close-btn",onClick:()=>{s&&t.setConfig(i),t.setConfigModal(!1)},type:s?"primary":"secondary",children:s?"Add Config":"Close"})]})]})})}),zDi=Vse(e=>{const{graphFetchState:t,serializationState:n,serializationTreeData:i,bindings:r,isReadOnly:s}=e,o=r.map(e=>Vwi(e)),a={value:n.targetBinding,label:n.targetBinding.name},l=t.queryBuilderState.applicationStore;return Yne.jsx("div",{className:"query-builder-graph-fetch-external-format",children:Yne.jsxs("div",{className:"service-execution-editor__configuration__items",children:[Yne.jsxs("div",{className:"service-execution-editor__configuration__item",children:[Yne.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:Yne.jsx(Yie,{})}),Yne.jsx(BOe,{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:UDi({darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled}),darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),Yne.jsxs("div",{className:"service-execution-editor__configuration__item",children:[Yne.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:Yne.jsx(Cre,{})}),Yne.jsx(hIe,{components:{TreeNodeContainer:GDi},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(Vs),innerProps:{isReadOnly:s,removeNode:e=>{1===i.nodes.size?t.queryBuilderState.applicationStore.notificationService.notifyWarning("externalize serialization tree can not be empty"):(nTi(i,e),n.setGraphFetchTree({...i}))}}})]})]})})}),WDi=Vse(e=>{const{graphFetchState:t,serializationState:n,treeData:i,updateTreeData:r,isReadOnly:s}=e,o=t.queryBuilderState.graphManagerState.usableStores.filter(zs(IX)).filter(e=>{const n=e.modelUnit.packageableElementIncludes.map(e=>e.value);return n.filter(zs(xS)).map(e=>{return Array.from((n=e,i=t.queryBuilderState.graphManagerState.graph,new Set(i.getPackages(n.path).map(e=>[...Dw(e)]).flat())));var n,i}).flat().concat(n.filter(e=>!(e instanceof xS))).includes(i.tree.class.value)});return Yne.jsxs("div",{className:"query-builder-graph-fetch-tree",children:[Yne.jsxs("div",{className:"query-builder-graph-fetch-tree__toolbar",children:[Yne.jsx("div",{className:"query-builder__fetch__structure__modes",children:Object.values(sTi).map(e=>{return Yne.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:xlt.CAUTION,actions:[{label:"Proceed",type:Tlt.PROCEED_WITH_CAUTION,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>{switch(r){case sTi.EXTERNAL_FORMAT:if(o.length>0&&o[0]){const e=new uTi(t,o[0],void 0);t.setGraphFetchTree(i),e.setGraphFetchTree(On(i)),t.setSerializationState(e)}else t.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't switch to external format serialization: No compatible bindings found");break;case sTi.PURE:default:t.setSerializationState(new dTi(t))}})},{label:"Cancel",type:Tlt.PROCEED,default:!0}]})}),className:zse("query-builder__fetch__structure__mode",{"query-builder__fetch__structure__mode--selected":e===n.getLabel()}),children:qy(e)},e);var r})}),Yne.jsxs("div",{className:"query-builder-graph-fetch-tree__actions",children:[n instanceof dTi&&Yne.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action",children:Yne.jsxs("button",{className:"query-builder-graph-fetch-tree__actions__action-btn__label",onClick:()=>{n instanceof dTi&&n.setConfigModal(!0)},title:""+(n.config?"Edit pure serialization config":"Add pure serialization config"),tabIndex:-1,children:[Yne.jsx(Die,{className:"query-builder-graph-fetch-tree__actions__action-btn__label__icon"}),Yne.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action-btn__label__title",children:n.config?"Edit Config":"Add Config"})]})}),Yne.jsxs("div",{className:zse("panel__content__form__section__toggler"),onClick:()=>t.setChecked(!t.isChecked),children:[Yne.jsx("button",{className:zse("panel__content__form__section__toggler__btn",{"panel__content__form__section__toggler__btn--toggled":t.isChecked}),children:t.isChecked?Yne.jsx(ire,{}):Yne.jsx(Hre,{})}),Yne.jsx("div",{className:"panel__content__form__section__toggler__prompt",children:"Check graph fetch"}),Yne.jsx("div",{className:"query-builder-graph-fetch-tree__toolbar__hint-icon",children:Yne.jsx(Tre,{title:"With this enabled, while executing, violations of constraints will reported as part of the result, rather than causing a failure"})})]})]})]}),Yne.jsxs("div",{className:"query-builder-graph-fetch-tree__container",children:[n instanceof dTi&&n.configModal&&Yne.jsx(HDi,{pureSerializationState:n,graphFetchState:t,config:n.config??lTi.createDefault()}),Yne.jsxs(GFe,{orientation:"horizontal",children:[Yne.jsx(HFe,{children:Yne.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[Yne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:Yne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Graph Fetch Tree"})}),Yne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:Yne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__item",children:Yne.jsx(hIe,{components:{TreeNodeContainer:GDi},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(Vs),innerProps:{isReadOnly:s,removeNode:e=>{nTi(i,e),0===i.nodes.size&&t.setSerializationState(new dTi(t)),n instanceof uTi&&n.treeData?.nodes.get(e.id)&&(nTi(n.treeData,Gs(n.treeData.nodes.get(e.id))),r({...n.treeData})),r({...i})}}})})})]})}),Yne.jsx(zFe,{}),n instanceof uTi&&n.treeData&&Yne.jsx(HFe,{children:Yne.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[Yne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:Yne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Externalize"})}),Yne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:Yne.jsx("div",{className:"query-builder-graph-fetch-external-format_config-group__item",children:Yne.jsx(zDi,{graphFetchState:t,serializationState:n,serializationTreeData:n.treeData,bindings:o,isReadOnly:!1})})})]})})]})]})]})}),jDi=Vse(e=>{const{graphFetchTreeState:t,serializationState:i}=e,r=t.treeData,s=n.useCallback(e=>{t.addProperty(e.node,{refreshTreeData:!0}),i instanceof uTi&&i.addProperty(On(e.node),{refreshTreeData:!0})},[t,i]),[{isDragOver:o},a]=yPe(()=>({accept:[gxi.ENUM_PROPERTY,gxi.PRIMITIVE_PROPERTY],drop:(e,t)=>{t.didDrop()||s(e)},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[s]);return n.useEffect(()=>{Vct.logEvent_RenderGraphFetchPanel(t.queryBuilderState.applicationStore.telemetryService,{serializationType:i.getLabel()})},[t.queryBuilderState.applicationStore,i]),Yne.jsx("div",{"data-testid":Bwi.QUERY_BUILDER_GRAPH_FETCH,className:"panel__content",children:Yne.jsxs(GPe,{isDragOver:o,dropTargetConnector:a,contentClassName:"query-builder-graph-fetch-panel",children:[(!r||Jxi(r))&&Yne.jsx(ELe,{text:"Add a graph fetch property",tooltipText:"Drag and drop properties here"}),r&&!Jxi(r)&&Yne.jsx(WDi,{graphFetchState:t,serializationState:i,treeData:r,isReadOnly:!1,updateTreeData:e=>{t.setGraphFetchTree(e)}})]})})}),$Di=Vse(e=>{const{graphFetchTreeState:t}=e,n=t.serializationState;return n instanceof dTi||n instanceof uTi?Yne.jsx(jDi,{graphFetchTreeState:t,serializationState:n}):Yne.jsx("div",{"data-testid":Bwi.QUERY_BUILDER_GRAPH_FETCH,children:Yne.jsx(CLe,{children:Yne.jsxs("div",{className:"unsupported-element-editor__main",children:[Yne.jsx("div",{className:"unsupported-element-editor__summary",children:"Unsupported Graph Fetch Serialization Type"}),Yne.jsx("button",{className:"btn--dark unsupported-element-editor__to-text-mode__btn",onClick:()=>t.queryBuilderState.textEditorState.openModal(fTi.TEXT),children:"Edit in text mode"})]})})})}),qDi=Vse(e=>{const{storeMappingNode:t,executionPlanState:n}=e;let i;try{t.graphFetchTree instanceof tw?i=Zxi(js(t.graphFetchTree,tw),!0):t.graphFetchTree instanceof nw&&(i=(e=>{const t=[],n=new Map,i=Xxi(e,void 0,n);Co(t,i.id),n.set(i.id,i);const r=new tw(XC.create(new wS("root")));return r.subTrees.push(e),{rootIds:t,nodes:n,tree:r}})(t.graphFetchTree))}catch{}const r=n.applicationStore;return Yne.jsx(hLe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Yne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Yne.jsx(pLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Store Mapping Global Graph Fetch Execution Node Details"}),Yne.jsx(mLe,{}),Yne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Yne.jsx("thead",{children:Yne.jsxs("tr",{children:[Yne.jsx("th",{className:"table__cell--left",children:"Property"}),Yne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Yne.jsxs("tbody",{children:[void 0!==t.parentIndex&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:" ParentIndex"}),Yne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.enableConstraints&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"EnableConstraints"}),Yne.jsx("td",{className:"table__cell--left",children:t.enableConstraints.toString()})]}),void 0!==t.checked&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"Checked"}),Yne.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Yne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.store&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"Store"}),Yne.jsx("td",{className:"table__cell--left",children:t.store})]}),Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"LocalTreeIndices"}),Yne.jsx("td",{className:"table__cell--left",children:`[${t.localTreeIndices.toString()}]`})]}),Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"DependencyIndices"}),Yne.jsx("td",{className:"table__cell--left",children:`[${t.dependencyIndices.toString()}]`})]})]})]}),Yne.jsx(mLe,{}),i&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsx(pLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Graph Fetch Tree"}),Yne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__content",children:Yne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__item",children:Yne.jsx(hIe,{components:{TreeNodeContainer:GDi},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,getChildNodes:e=>e.childrenIds.map(e=>i?i.nodes.get(e):null).filter(Vs),innerProps:{isReadOnly:!0}})})}),Yne.jsx(mLe,{})]}),t.xStorePropertyFetchDetails&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsx(pLe,{className:"query-builder__store-mapping-global-graph-fetch__container__xstore",children:"xStorePropertyFetchDetails"}),Yne.jsx(mLe,{}),Yne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Yne.jsx("thead",{children:Yne.jsxs("tr",{children:[Yne.jsx("th",{className:"table__cell--left",children:"Property"}),Yne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Yne.jsxs("tbody",{children:[Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:" propertyPath "}),Yne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.propertyPath})]}),Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:" sourceMappingId "}),Yne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceMappingId})]}),Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:" sourceSetId "}),Yne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceSetId})]}),Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:" subTree "}),Yne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.subTree})]}),Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:" supportsCaching "}),Yne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.supportsCaching.toString()})]}),Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:" targetMappingId "}),Yne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetMappingId})]}),Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:" targetSetId"}),Yne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetSetId})]}),Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"targetPropertiesOrdered"}),Yne.jsx("td",{className:"table__cell--left",children:`[${t.xStorePropertyFetchDetails.targetPropertiesOrdered.toString()}]`})]})]})]})]}),t.resultType instanceof W2&&Yne.jsx(bTi,{resultType:t.resultType}),Yne.jsx(mLe,{}),Yne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__btn",children:Yne.jsx(xCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Cki.JSON),text:"View JSON"})}),Yne.jsx(mLe,{})]})})}),YDi=Vse(e=>{const{functionParameters:t,resultType:i,executionPlanState:r}=e,s=r.applicationStore;return Yne.jsxs(hLe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Yne.jsx("div",{className:"query-builder__function-parameters-validation__container",children:Yne.jsxs("div",{children:[Yne.jsx(pLe,{className:"query-builder__function-parameters-validation__container__item__label",children:"Variables Details"}),Yne.jsx(mLe,{}),Yne.jsxs("table",{className:"query-builder__function-parameters-validation__container__table table",children:[Yne.jsx("thead",{children:Yne.jsxs("tr",{children:[Yne.jsx("th",{className:"table__cell--left",children:"Name"}),Yne.jsx("th",{className:"table__cell--left",children:"Type"})]})}),Yne.jsx("tbody",{children:t.map(e=>{return Yne.jsx(n.Fragment,{children:Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:e.name}),Yne.jsx("td",{className:"table__cell--left",children:`${e.genericType?.value.rawType.name} ${t=e.multiplicity,t===nS.ZERO?"[0]":t===nS.ONE?"[1]":t===nS.ZERO_ONE?"[0..1]":t===nS.ZERO_MANY||t===nS.ONE_MANY?"[*]":void 0===t.upperBound?`[${t.lowerBound.toString()}.. *]`:`[${t.lowerBound.toString()}..${t.upperBound.toString()}]`}`})]})},e.name);var t})})]})]})}),Yne.jsx(mLe,{}),Yne.jsx(CTi,{resultType:i}),Yne.jsx("div",{className:"query-builder__function-parameters-validation__container",children:Yne.jsx(xCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(Cki.JSON),text:"View JSON"})}),Yne.jsx(mLe,{})]})}),KDi=Vse(e=>{const{cnode:t,executionPlanState:n}=e,i=t.resultType;let r="";const s=n.applicationStore;try{r=eo(t.values)?t.values.value:""}catch{}return Yne.jsxs(hLe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[""!==r&&Yne.jsx("div",{className:"query-builder__constant__container",children:Yne.jsxs("div",{children:[Yne.jsx(pLe,{className:"query-builder__constant__container__item__label",children:"Constant Execution Node Details"}),Yne.jsx(mLe,{}),Yne.jsx("pre",{children:Yne.jsx("div",{className:"query-builder__constant__container__item",children:Yne.jsxs("div",{children:["value: ",r]})})})]})}),Yne.jsx(mLe,{}),Yne.jsx(CTi,{resultType:i}),Yne.jsx("div",{className:"query-builder__constant__container",children:Yne.jsx(xCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Cki.JSON),text:"View JSON"})}),Yne.jsx(mLe,{})]})}),XDi=Vse(e=>{const{node:t,executionPlanState:n}=e,i=t.varName,r=t.resultType,s=t.realizeInMemory?.toString(),o=n.applicationStore;return Yne.jsxs(hLe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Yne.jsx("div",{className:"query-builder__allocation__container",children:Yne.jsxs("div",{children:[Yne.jsx(pLe,{className:"query-builder__allocation__container__item__label",children:"Allocation Node Details"}),Yne.jsx(mLe,{}),Yne.jsx("div",{className:"query-builder__allocation__container__item",children:Yne.jsx("table",{className:"query-builder__allocation__container__table",children:Yne.jsxs("tbody",{children:[Yne.jsxs("tr",{children:[Yne.jsx("td",{children:"varName"}),Yne.jsx("td",{children:`: ${i}`})]}),Yne.jsxs("tr",{children:[Yne.jsx("td",{children:"realizeInMemory"}),Yne.jsx("td",{children:`: ${s}`})]})]})})})]})}),Yne.jsx(mLe,{}),Yne.jsx(CTi,{resultType:r}),Yne.jsx(mLe,{}),t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof q1&&Yne.jsx(KDi,{cnode:t.executionNodes[0],executionPlanState:n}),Yne.jsx(mLe,{})]})}),QDi=Vse(e=>{const{node:t,executionPlanState:i,viewJson:r}=e,s=t.resultType,[o,a]=n.useState(void 0),l=r?Yne.jsx("div",{}):o?Yne.jsx(Jre,{}):Yne.jsx(tse,{});return Yne.jsxs(Yne.Fragment,{children:[Yne.jsx("div",{className:"query-builder__sequence__container",children:Yne.jsxs("div",{children:[Yne.jsx(pLe,{className:"query-builder__sequence__container__item__label",children:"Execution Nodes"}),Yne.jsx(mLe,{}),t.executionNodes.map((e,t)=>Yne.jsx("div",{className:"query-builder__sequence__container__item",children:Yne.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 yki?i.transformMetadataToProtocolJson(t.executionPlan):t instanceof vki&&i.transformMetadataToProtocolJson(t.executionNode),t&&i.setSelectedNode(t))})(e),tabIndex:-1,title:`Go to ${cki(e)}`,children:[!r&&l,`${t+1}: ${cki(e)}`]})},e._UUID))]})}),Yne.jsx(mLe,{}),Yne.jsx(CTi,{resultType:s}),!1===r&&o&&Yne.jsx(pki,{executionNode:o,executionPlanState:i,viewJson:!1})]})}),ZDi=Vse(e=>{const{node:t,executionPlanState:n,viewJson:i}=e,r=n.applicationStore;return!1===i?Yne.jsx(QDi,{node:t,executionPlanState:n,viewJson:i}):Yne.jsxs(hLe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Yne.jsx(QDi,{node:t,executionPlanState:n,viewJson:i}),Yne.jsx("div",{className:"query-builder__execution__container",children:Yne.jsx(xCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Cki.JSON),text:"View JSON"})}),Yne.jsx(mLe,{})]})}),JDi=Vse(e=>{const{node:t,executionPlanState:n}=e,i=t.resultType,r=n.applicationStore;return Yne.jsxs(hLe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof dY&&Yne.jsx(BDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:n}),Yne.jsx(mLe,{}),Yne.jsx(CTi,{resultType:i}),Yne.jsx("div",{className:"query-builder__sql__container",children:Yne.jsx(xCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Cki.JSON),text:"View JSON"})}),Yne.jsx(mLe,{})]})}),eki=Vse(e=>{const{node:t,executionPlanState:n}=e;return Yne.jsxs(Yne.Fragment,{children:[Yne.jsx(pLe,{className:"query-builder__implementation__container__header",children:"Implementation"}),t.implementation instanceof C2&&t.implementation.executionClassFullName&&Yne.jsx("div",{className:"query-builder__implementation__container__item",children:Yne.jsx("button",{onClick:()=>{n.setSelectedNode(n.treeData?.nodes.get("Execution Plan")),n.transformMetadataToProtocolJson(js(n.plan,R5,"Execution plan is undefined")),n.globalImplementationSupportState.setSelectedTab(Ski.GLOBAL_IMPLEMENTATION_SUPPORT),t.implementation instanceof C2&&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 tki;!function(e){e.RESULT_SET="resultSet",e.TEMP_FILE="tempFile",e.SUB_QUERY="subQuery"}(tki||(tki={}));const nki=Vse(e=>{const{tempTableStrategy:t,executionPlanState:n}=e;let i="";return t instanceof t4?i=tki.RESULT_SET:t instanceof o4&&(i=tki.TEMP_FILE),t instanceof r4&&(i=tki.SUB_QUERY),Yne.jsxs("div",{className:"query-builder__temp-table-strategy__container",children:[i&&Yne.jsxs(pLe,{className:"query-builder__temp-table-strategy__container__item",children:["Type: ",i]}),Yne.jsx(pLe,{className:"query-builder__temp-table-strategy__container__header",children:`Create Temp Table (${cki(t.createTempTableNode)})`}),Yne.jsx(pki,{executionNode:t.createTempTableNode,executionPlanState:n,viewJson:!1}),Yne.jsx(mLe,{}),Yne.jsx(pLe,{className:"query-builder__temp-table-strategy__container__header",children:`Load Temp Table (${cki(t.loadTempTableNode)})`}),Yne.jsx(pki,{executionNode:t.loadTempTableNode,executionPlanState:n,viewJson:!1}),Yne.jsx(mLe,{}),Yne.jsx(pLe,{className:"query-builder__temp-table-strategy__container__header",children:`Drop Temp Table (${cki(t.dropTempTableNode)})`}),Yne.jsx(pki,{executionNode:t.dropTempTableNode,executionPlanState:n,viewJson:!1}),Yne.jsx(mLe,{})]})});var iki;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(iki||(iki={}));const rki=Vse(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(iki.GENERAL);return Yne.jsx(hLe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Yne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Yne.jsxs("div",{className:"panel",children:[Yne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Yne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(iki).map(e=>Yne.jsx("div",{onClick:()=>o(e),className:zse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:qy(e)},e))})}),s===iki.GENERAL&&Yne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Yne.jsx(pLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Root Query Temp Table Graph Fetch Execution Node Details"}),Yne.jsx(mLe,{}),Yne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Yne.jsx("thead",{children:Yne.jsxs("tr",{children:[Yne.jsx("th",{className:"table__cell--left",children:"Property"}),Yne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Yne.jsxs("tbody",{children:[Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),Yne.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),Yne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.batchSize&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"Batch Size"}),Yne.jsx("td",{className:"table__cell--left",children:t.batchSize})]}),t.checked&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"Checked"}),Yne.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Yne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),Yne.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"tempTableName"}),Yne.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),Yne.jsx(mLe,{}),Yne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:Yne.jsx(eki,{node:t,executionPlanState:i})}),Yne.jsx(mLe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof dY&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsx(pLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),Yne.jsx(mLe,{}),Yne.jsx(BDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),Yne.jsx(mLe,{}),Yne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Yne.jsx(CTi,{resultType:t.resultType})}),Yne.jsx(mLe,{}),Yne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Yne.jsx(xCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(Cki.JSON),text:"View JSON"})})]}),s===iki.TEMP_TABLE&&t.tempTableStrategy&&Yne.jsx(nki,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var ski;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(ski||(ski={}));const oki=Vse(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(ski.GENERAL);return Yne.jsx(hLe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Yne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Yne.jsxs("div",{className:"panel",children:[Yne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Yne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(ski).map(e=>Yne.jsx("div",{onClick:()=>o(e),className:zse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:qy(e)},e))})}),s===ski.GENERAL&&Yne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Yne.jsx(pLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Class Query Temp Table Graph Fetch Execution Node Details"}),Yne.jsx(mLe,{}),Yne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Yne.jsx("thead",{children:Yne.jsxs("tr",{children:[Yne.jsx("th",{className:"table__cell--left",children:"Property"}),Yne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Yne.jsxs("tbody",{children:[Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),Yne.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),t.parentIndex&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),Yne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),t.authDependent&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Yne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.processedTempTableName&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),Yne.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"tempTableName"}),Yne.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),Yne.jsx(mLe,{}),Yne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:Yne.jsx(eki,{node:t,executionPlanState:i})}),Yne.jsx(mLe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof dY&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsx(pLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),Yne.jsx(mLe,{}),Yne.jsx(BDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),Yne.jsx(mLe,{}),Yne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Yne.jsx(CTi,{resultType:t.resultType})}),Yne.jsx(mLe,{}),Yne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Yne.jsx(xCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(Cki.JSON),text:"View JSON"})})]}),s===ski.TEMP_TABLE&&t.tempTableStrategy&&Yne.jsx(nki,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var aki;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE_STRATEGY="TEMP_TABLE_STRATEGY",e.PARENT_TEMP_TABLE_STRATEGY="PARENT_TEMP_TABLE_STRATEGY"}(aki||(aki={}));const lki=Vse(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(aki.GENERAL);return Yne.jsx(hLe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Yne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Yne.jsxs("div",{className:"panel",children:[Yne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Yne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(aki).map(e=>Yne.jsx("div",{onClick:()=>o(e),className:zse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:qy(e)},e))})}),s===aki.GENERAL&&Yne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Yne.jsx(pLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Cross Root Query Temp Table Graph Fetch Execution Node Details"}),Yne.jsx(mLe,{}),Yne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Yne.jsx("thead",{children:Yne.jsxs("tr",{children:[Yne.jsx("th",{className:"table__cell--left",children:"Property"}),Yne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Yne.jsxs("tbody",{children:[Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),Yne.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),Yne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.authDependent&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Yne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),Yne.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"tempTableName"}),Yne.jsx("td",{className:"table__cell--left",children:t.tempTableName})]}),void 0!==t.processedParentTempTableName&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"processedParentTempTableName"}),Yne.jsx("td",{className:"table__cell--left",children:t.processedParentTempTableName})]}),t.parentTempTableName&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"parentTempTableName"}),Yne.jsx("td",{className:"table__cell--left",children:t.parentTempTableName})]})]})]}),Yne.jsx(mLe,{}),Yne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:Yne.jsx(eki,{node:t,executionPlanState:i})}),Yne.jsx(mLe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof dY&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsx(pLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),Yne.jsx(mLe,{}),Yne.jsx(BDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),Yne.jsx(mLe,{}),Yne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Yne.jsx(CTi,{resultType:t.resultType})}),Yne.jsx(mLe,{}),Yne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Yne.jsx(xCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(Cki.JSON),text:"View JSON"})})]}),s===aki.TEMP_TABLE_STRATEGY&&t.tempTableStrategy&&Yne.jsx(nki,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i}),s===aki.PARENT_TEMP_TABLE_STRATEGY&&t.parentTempTableStrategy&&Yne.jsx(nki,{tempTableStrategy:t.parentTempTableStrategy,executionPlanState:i})]})})})}),cki=e=>e instanceof dY?"SQL Execution Node":e instanceof pY?"Relational TDS Instantiation Execution Node":e instanceof z1?"Function Parameters Validation Node":e instanceof $1?`Allocation Execution Node (${e.varName})`:e instanceof q1?"Constant Execution Node":e instanceof Y1?"Sequence Execution Node":e instanceof A2?"Store Mapping Global Graph Fetch Execution Node":e instanceof F2?"Relational Root Query TempTable Graph Fetch Execution Node":e instanceof l4?"Relational Cross Root Query TempTable Graph Fetch Execution Node":e instanceof k2?"Relational Class Query TempTable Graph Fetch Execution Node":e instanceof V2?"Pure Expression Platform Execution Node":"Other",dki=Vse(e=>{const{executionPlanState:t}=e,n=t.plan?.globalImplementationSupport,i=t.plan?.processingTemplateFunctions??[],r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return n&&n instanceof C2&&(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}`)),Yne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Yne.jsxs("div",{className:"panel",children:[Yne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Yne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(Ski).map(e=>Yne.jsx("div",{onClick:()=>t.globalImplementationSupportState.setSelectedTab(e),className:zse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===t.globalImplementationSupportState.selectedTab}),children:qy(e)},e))})}),t.globalImplementationSupportState.selectedTab===Ski.GLOBAL_IMPLEMENTATION_SUPPORT&&n&&n instanceof C2&&Yne.jsxs(GFe,{orientation:"vertical",children:[Yne.jsx(HFe,{minSize:30,size:400,children:Yne.jsx(hLe,{darkMode:r,className:"query-builder__java__container__panel",children:Yne.jsx("div",{className:"query-builder__java__container",children:Yne.jsxs("div",{children:[n.classes.map(e=>Yne.jsx("div",{className:zse("query-builder__java__container__item",{"query-builder__java__container__item--active":`${e.package}.${e.name}`===t.globalImplementationSupportState.selectedJavaClass}),children:Yne.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)),Yne.jsx(mLe,{})]})})})}),Yne.jsx(zFe,{children:Yne.jsx(WFe,{color:"var(--color-dark-grey-200)"})}),Yne.jsx(HFe,{children:t.globalImplementationSupportState.selectedJavaClass&&Yne.jsx(ETi,{inputValue:n.classes.reduce((e,n)=>t.globalImplementationSupportState.selectedJavaClass===`${n.package}.${n.name}`?n.source:e,""),isReadOnly:!0,language:dAn.JAVA,hideMinimap:!0})})]}),t.globalImplementationSupportState.selectedTab===Ski.GENERAL&&i.length>0&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsx("div",{className:"query-builder__template--function--editor__header",children:`AuthDependent: ${t.plan?.authDependent.toString()}`}),Yne.jsx("div",{className:"query-builder__template--function--editor__title",children:"Template Functions"}),Yne.jsx("div",{className:"query-builder__template--function--editor__code",children:Yne.jsx(ETi,{inputValue:i.reduce((e,t)=>`${e}${t}\n`,""),isReadOnly:!0,language:dAn.XML,hideMinimap:!0,hideActionBar:!0})}),Yne.jsx("div",{className:"query-builder__template--function--editor__json",children:Yne.jsx(xCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>t.setViewMode(Cki.JSON),text:"View JSON"})})]})]})})}),uki=Vse(e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r}=e,s=Boolean(t.childrenIds?.length)?t.isOpen?Yne.jsx(Jre,{}):Yne.jsx(tse,{}):Yne.jsx("div",{});let o="",a="";return t instanceof vki&&("Store Mapping Global Graph Fetch Execution Node"===t.parentNodeId&&(t.executionNode instanceof A2?o="Cross":t.executionNode instanceof R2&&(o="Local")),a=(e=>{if(e instanceof A2||e instanceof R2){if(e.graphFetchTree instanceof tw)return e.graphFetchTree.class.value.name;if(e.graphFetchTree instanceof nw)return e.graphFetchTree.property.value.name}return""})(t.executionNode)),Yne.jsxs("div",{className:zse("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:[Yne.jsx("div",{className:"tree-view__node__icon",children:Yne.jsx("div",{className:"tree-view__node__expand-icon",children:s})}),""!==o&&Yne.jsx("div",{className:"execution-plan-viewer__node__sub-type",children:Yne.jsx("div",{className:"execution-plan-viewer__node__sub-type__label",children:o})}),""!==a&&Yne.jsx("div",{className:"execution-plan-viewer__node__type",children:Yne.jsx("div",{className:"execution-plan-viewer__node__type__label",children:a})}),Yne.jsx("button",{className:"tree-view__node__label execution-plan-viewer__explorer-tree__node__label",tabIndex:-1,title:t.id,children:t.label})]})}),hki=Vse(e=>{const{executionPlanState:t}=e,n=e=>{if(e.childrenIds?.length)if(e.setIsOpen(!e.isOpen),e instanceof yki){const n=e.executionPlan.rootExecutionNode,i=_ki(n,cki(n),e);t.setTreeNode(i.id,i)}else if(e instanceof vki){if(e.executionNode.executionNodes.length>0&&e.executionNode.executionNodes.forEach(n=>{const i=_ki(n,cki(n),e);t.setTreeNode(i.id,i)}),e.executionNode instanceof A2){const n=e.executionNode.localGraphFetchExecutionNode,i=_ki(n,cki(n),e);t.setTreeNode(i.id,i),e.executionNode.children.forEach(n=>{const i=_ki(n,cki(n),e);t.setTreeNode(i.id,i)})}e.executionNode instanceof I2&&e.executionNode.children.forEach(n=>{const i=_ki(n,cki(n),e);t.setTreeNode(i.id,i)})}t.refreshTreeData()};return Yne.jsx(hIe,{components:{TreeNodeContainer:uki},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(Vs);return n},onNodeSelect:e=>{e instanceof yki?t.transformMetadataToProtocolJson(e.executionPlan):e instanceof vki&&t.transformMetadataToProtocolJson(e.executionNode),!0===e.isOpen&&!1===e.isSelected||n(e),t.setSelectedNode(e)},innerProps:{onNodeExpand:n}})}),pki=Vse(e=>{const{executionNode:t,executionPlanState:n,viewJson:i}=e;return t instanceof dY?Yne.jsx(VDi,{query:t.sqlQuery,resultColumns:t.resultColumns,resultType:t.resultType,executionPlanState:n,viewJson:i}):t instanceof pY?Yne.jsx(JDi,{node:t,executionPlanState:n}):t instanceof z1?Yne.jsx(YDi,{functionParameters:t.functionParameters,parameterValidationContext:t.parameterValidationContext,executionPlanState:n,resultType:t.resultType}):t instanceof $1?Yne.jsx(XDi,{node:t,executionPlanState:n}):t instanceof q1?Yne.jsx(KDi,{cnode:t,executionPlanState:n}):t instanceof Y1?Yne.jsx(ZDi,{node:t,executionPlanState:n,viewJson:i}):t instanceof A2?Yne.jsx(qDi,{storeMappingNode:t,executionPlanState:n}):t instanceof l4?Yne.jsx(lki,{node:t,executionPlanState:n}):t instanceof F2?Yne.jsx(rki,{node:t,executionPlanState:n}):t instanceof k2?Yne.jsx(oki,{node:t,executionPlanState:n}):Yne.jsx(CLe,{children:Yne.jsxs("div",{className:"execution-node-viewer__unsupported-view",children:[Yne.jsx("div",{className:"execution-node-viewer__unsupported-view__summary",children:"Can't display execution node"}),Yne.jsx("button",{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Cki.JSON),children:"View JSON"})]})})}),gki=Vse(e=>{const{displayData:t,executionPlanState:i}=e;let r;void 0!==i.selectedNode&&(i.selectedNode instanceof yki?r=i.selectedNode.executionPlan:i.selectedNode instanceof vki&&(r=i.selectedNode.executionNode)),n.useEffect(()=>{if(void 0===i.selectedNode){const e=i.treeData?.nodes.get("Execution Plan");e instanceof yki&&(i.transformMetadataToProtocolJson(e.executionPlan),i.setSelectedNode(e))}},[i]);const s=Object.values(Cki);return Yne.jsx("div",{className:"execution-plan-viewer__panel",children:void 0!==i.selectedNode&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsxs("div",{className:"panel__header execution-plan-viewer__panel__header",children:[Yne.jsx("div",{className:"execution-plan-viewer__panel__header__tabs",children:Yne.jsx("button",{className:"execution-plan-viewer__panel__header__tab execution-plan-viewer__panel__header__tab--active",children:i.selectedNode.label})}),Yne.jsx(nLe,{className:"execution-plan-viewer__panel__view-mode__type",title:"View as...",content:Yne.jsx(XOe,{className:"execution-plan-viewer__panel__view-mode__options execution-plan-viewer__panel__view-mode__options--with-group",children:Yne.jsxs("div",{className:"execution-plan-viewer__panel__view-mode__option__group execution-plan-viewer__panel__view-mode__option__group--native",children:[Yne.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__name",children:"native"}),Yne.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__options",children:s.map(e=>Yne.jsx(QOe,{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:Yne.jsx("div",{className:"execution-plan-viewer__panel__view-mode__type__label",children:i.viewMode})})]}),Yne.jsxs("div",{className:"panel__content execution-plan-viewer__panel__content",children:[i.viewMode===Cki.JSON&&Boolean(t)&&Yne.jsx(ETi,{inputValue:t,isReadOnly:!0,language:dAn.JSON,hideMinimap:!0}),i.viewMode===Cki.FORM&&Yne.jsxs(Yne.Fragment,{children:[r instanceof cY&&Yne.jsx(pki,{executionNode:r,executionPlanState:i,viewJson:!0}),r instanceof R5&&Yne.jsx(dki,{executionPlanState:i})]})]})]})})}),mki=Vse(e=>{const{executionPlanState:t,rawPlan:n}=e,i=t.plan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return Yne.jsx("div",{className:"execution-plan-viewer__content",children:i?Yne.jsxs(GFe,{orientation:"vertical",children:[Yne.jsx(HFe,{size:300,minSize:300,children:Yne.jsxs("div",{className:"panel execution-plan-viewer__explorer",children:[Yne.jsx(cLe,{darkMode:r,title:"execution plan explorer"}),Yne.jsx("div",{className:"panel__content execution-plan-viewer__explorer__content__container",children:Yne.jsx(hki,{executionPlanState:t,executionPlan:i})})]})}),Yne.jsx(zFe,{children:Yne.jsx(WFe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),Yne.jsx(HFe,{children:Yne.jsx(gki,{displayData:t.displayData,executionPlanState:t})})]}):Yne.jsx(ETi,{inputValue:JSON.stringify(n,void 0,2),isReadOnly:!0,language:dAn.JSON})})}),fki=Vse(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(Ski.GENERAL),t.globalImplementationSupportState.setSelectedJavaClass(void 0)},i=t.rawPlan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return i?Yne.jsx(pve,{open:Boolean(t.rawPlan),onClose:n,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Yne.jsxs(GOe,{className:"editor-modal",darkMode:r,children:[Yne.jsx(zOe,{title:"Execution Plan"}),Yne.jsx(jOe,{children:t.debugText?Yne.jsxs(GFe,{orientation:"horizontal",children:[Yne.jsx(HFe,{minSize:100,children:Yne.jsx(mki,{executionPlanState:t,rawPlan:i})}),Yne.jsx(zFe,{children:Yne.jsx(WFe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),Yne.jsx(HFe,{size:200,minSize:28,children:Yne.jsxs(aLe,{className:"panel execution-plan-viewer__debug-panel",children:[Yne.jsx(lLe,{title:"DEBUG LOG",keepTitleFormat:!0,darkMode:r}),Yne.jsx(hLe,{children:Yne.jsx(ETi,{inputValue:t.debugText,isReadOnly:!0,language:dAn.TEXT})})]})})]}):Yne.jsx(mki,{executionPlanState:t,rawPlan:i})}),Yne.jsx($Oe,{children:Yne.jsx(YOe,{onClick:n,text:"Close",type:"secondary"})})]})}):null});class yki{id;label;isSelected;isOpen;childrenIds;executionPlan;constructor(e,t,n){Hh(this,{isSelected:ru,isOpen:ru,setIsSelected:hh,setIsOpen:hh}),this.id=e,this.label=t,this.executionPlan=n}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}}class vki{id;label;isSelected;isOpen;childrenIds;executionNode;parentNodeId;constructor(e,t,n,i){Hh(this,{isSelected:ru,isOpen:ru,setIsSelected:hh,setIsOpen:hh}),this.id=e,this.label=t,this.executionNode=n,this.parentNodeId=i}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}}const _ki=(e,t,n)=>{const i=new vki(e._UUID,t,e,n instanceof vki?cki(n.executionNode):void 0),r=[];return e.executionNodes.slice().filter(zs(cY)).forEach(e=>{Co(r,e._UUID)}),e instanceof A2&&(Co(r,e.localGraphFetchExecutionNode._UUID),e.children.slice().filter(zs(cY)).forEach(e=>{Co(r,e._UUID)})),e instanceof I2&&e.children.slice().filter(zs(cY)).forEach(e=>{Co(r,e._UUID)}),i.childrenIds=r,i},bki=e=>{const t=[],n=new Map,i=(e=>{const t=new yki("Execution Plan","Execution Plan",e),n=[],i=e.rootExecutionNode._UUID;return Co(n,i),t.childrenIds=n,t})(e);return Co(t,i.id),n.set(i.id,i),{rootIds:t,nodes:n}};var Cki,Ski;!function(e){e.FORM="Form",e.JSON="JSON"}(Cki||(Cki={})),function(e){e.GENERAL="GENERAL",e.GLOBAL_IMPLEMENTATION_SUPPORT="GLOBAL_IMPLEMENTATION_SUPPORT"}(Ski||(Ski={}));class Eki{selectedTab=Ski.GENERAL;selectedJavaClass=void 0;constructor(){Hh(this,{selectedTab:ru,selectedJavaClass:ru,setSelectedTab:hh,setSelectedJavaClass:hh})}setSelectedTab(e){this.selectedTab=e}setSelectedJavaClass(e){this.selectedJavaClass=e}}class wki{applicationStore;graphManagerState;displayDataJson={};displayData="";selectedNode=void 0;viewMode=Cki.FORM;treeData;rawPlan;plan;debugText;globalImplementationSupportState=new Eki;constructor(e,t){Hh(this,{displayData:ru,displayDataJson:ru,viewMode:ru,rawPlan:ru,plan:ru,debugText:ru,treeData:ru,setExecutionPlanDisplayData:hh,setExecutionPlanDisplayDataJson:hh,transformMetadataToProtocolJson:hh,setSelectedNode:hh,setRawPlan:hh,setPlan:hh,setViewMode:hh,setDebugText:hh,setTreeNode:hh,setTreeData:hh,refreshTreeData:hh,nonNullableTreeData:lu,initialize:hh,globalImplementationSupportState:ru}),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 Gs(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(bki(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 R5){const t=this.graphManagerState.graphManager.serializeExecutionPlan(e);this.setExecutionPlanDisplayDataJson(t)}else if(e instanceof cY){const t=this.graphManagerState.graphManager.serializeExecutionNode(e);this.setExecutionPlanDisplayDataJson(t)}}}const xki=e=>Yne.jsxs("div",{"data-testid":Bwi.QUERY_BUILDER_RESULT_GRID_CUSTOM_HEADER,className:"query-builder__result__values__table__custom-header",children:[Yne.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:Yne.jsx(Aie,{})}),Yne.jsx("div",{children:e.displayName})]}),Tki=(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>4}return!1}));switch(t){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:return r(i)?{headerComponentParams:{innerHeaderComponent:xki}}:{};default:return{}}}return{}},Aki=Vse(e=>{const t=e.resultState,n=e.tdsExecutionResult,i=t.queryBuilderState.fetchStructureState.implementation,r=t.queryBuilderState.applicationStore,s=e.value,o=Gs(e.node.rowIndex),a=!r.layoutService.TEMPORARY__isLightColorThemeEnabled,l=Xs(s)&&ag(s)?s:void 0,c=e.column?.getColId()??"",d=(e,t)=>({rowIndex:t,colIndex:n.result.columns.findIndex(t=>t===e)}),u=d(c,o),h=t.selectedCells.some(e=>e.coordinates.colIndex===u.colIndex&&e.coordinates.rowIndex===u.rowIndex),p=e=>{if(t.executionResult&&t.executionResult instanceof jQ)return t.executionResult.result.columns[e]},g=n=>{const i=n[0],r=n[1];if(t.executionResult&&t.executionResult instanceof jQ)return"asc"===e.api.getColumnState()[r]?.sort?t.executionResult.result.rows.sort((e,t)=>YQ(e,t,r)):"desc"===e.api.getColumnState()[r]?.sort&&t.executionResult.result.rows.sort((e,t)=>YQ(t,e,r)),t.executionResult.result.rows[i]?.values[r]},m=e=>{if(e.preventDefault(),e.shiftKey){const e=d(c,o),n=g([e.rowIndex,e.colIndex]);return void t.addSelectedCell({value:n,columnName:c,coordinates:e})}if(0===e.button){t.setIsSelectingCells(!0),t.setSelectedCells([]);const e=d(c,o),n=g([e.rowIndex,e.colIndex]);t.setSelectedCells([{value:n,columnName:c,coordinates:e}]),t.setMouseOverCell(t.selectedCells[0]??null)}if(2===e.button){const e=d(c,o);if(!(n=e,t.selectedCells.some(e=>e.coordinates.rowIndex===n.rowIndex&&e.coordinates.colIndex===n.colIndex))){const n=g([e.rowIndex,e.colIndex]);t.setSelectedCells([{value:n,columnName:c,coordinates:e}]),t.setMouseOverCell(t.selectedCells[0]??null)}}var n};return Yne.jsx(tLe,{content:(()=>{if(i instanceof Rwi){const n=r.guardUnhandledError(()=>r.clipboardService.copyTextToClipboard(i.queryBuilderState.resultState.selectedCells.map(e=>e.value).join(","))),s=t=>{if(!(i.queryBuilderState.resultState.executionResult&&i.queryBuilderState.resultState.executionResult instanceof jQ))return"";const n=[];return Object.entries(e.api.getRenderedNodes().find(e=>e.rowIndex===t)?.data).forEach(e=>{"rowNumber"!==e[0]&&n.push(e[1])}),n.join(",")},o=r.guardUnhandledError(()=>r.clipboardService.copyTextToClipboard(s(i.queryBuilderState.resultState.selectedCells[0]?.coordinates.rowIndex??0)));return Yne.jsx(FDi,{data:t.mousedOverCell,tdsState:i,copyCellValueFunc:n,copyCellRowValueFunc:o})}return null})(),disabled:!(t.queryBuilderState.fetchStructureState.implementation instanceof Rwi&&t.queryBuilderState.isQuerySupported&&t.mousedOverCell),menuProps:{elevation:7},className:zse("query-builder__result__tds-grid",{"ag-theme-balham":!a,"ag-theme-balham-dark":a}),children:Yne.jsx("div",{className:zse("query-builder__result__values__table__cell",{"query-builder__result__values__table__cell--active":h}),onMouseDown:e=>m(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=d(c,o);t.setSelectedCells([e]);const r=Math.min(n.rowIndex,i.rowIndex),s=Math.min(n.colIndex,i.colIndex),a=Math.max(n.rowIndex,i.rowIndex),l=Math.max(n.colIndex,i.colIndex);for(let e=r;e<=a;e++)for(let n=s;n<=l;n++){const i={value:g([e,n]),columnName:p(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:l?Yne.jsx("a",{href:l,target:"_blank",rel:"noreferrer",children:l}):Yne.jsx("span",{children:Qs(s)?Intl.NumberFormat(xwi,{maximumFractionDigits:4}).format(Number(s)):Zs(s)?String(s):s})})})}),Nki=Vse(e=>{const{executionResult:t,queryBuilderState:n}=e,i=n.resultState,r=!n.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled,s=t.result.columns.map(e=>({minWidth:50,sortable:!0,resizable:!0,field:e,flex:1,headerName:e,...Tki(t,e),cellRenderer:Aki,cellRendererParams:{resultState:i,tdsExecutionResult:t}}));return Yne.jsx("div",{"data-testid":Bwi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:Yne.jsx("div",{className:zse("query-builder__result__tds-grid",{"ag-theme-balham":!r,"ag-theme-balham-dark":r}),children:Yne.jsx(lDi,{rowData:_Di(t),gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1}},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},suppressFieldDotNotation:!0,suppressContextMenu:!1,columnDefs:s})})})});var Rki;!function(e){e.wavg="wavg",e.WAVG="WAVG"}(Rki||(Rki={}));const Iki=(e,t)=>{const n=e.builder.columns.find(e=>e.name===t)?.type;switch(n){case TC.STRING:return{filter:"agTextColumnFilter",allowedAggFuncs:["count"]};case TC.DATE:case TC.DATETIME:case TC.STRICTDATE:return{filter:"agDateColumnFilter",allowedAggFuncs:["count"]};case TC.DECIMAL:case TC.NUMBER:case TC.INTEGER:case TC.FLOAT:return{filter:"agNumberColumnFilter",allowedAggFuncs:["count","sum","max","min","avg","wavg"]};default:return{allowedAggFuncs:["count"]}}},Dki=Vse(e=>{const t=e.resultState,n=e.value,i=Xs(n)&&ag(n)?n:void 0;return Yne.jsx("div",{className:zse("query-builder__result__values__table__cell"),onMouseDown:e=>(e=>{e.preventDefault(),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?Yne.jsx("a",{href:i,target:"_blank",rel:"noreferrer",children:i}):Yne.jsx("span",{children:Qs(n)?Intl.NumberFormat(xwi,{maximumFractionDigits:4}).format(Number(n)):Zs(n)?String(n):n})})}),kki=(e,t)=>{const n=e.builder.columns.find(e=>e.name===t)?.type;switch(n){case TC.DATE:case TC.DATETIME:case TC.STRICTDATE:return{filter:"agDateColumnFilter"};case TC.DECIMAL:case TC.INTEGER:case TC.NUMBER:case TC.FLOAT:return{filter:"agNumberColumnFilter"};default:return{filter:!0}}},Oki=Vse(e=>{const{executionResult:t,queryBuilderState:i}=e,r=Wat(),s=!r.layoutService.TEMPORARY__isLightColorThemeEnabled,[o,a]=n.useState(void 0),[l,c]=n.useState(void 0),d=i.resultState,u=i.isLocalModeEnabled,h=u?((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:Dki,cellRendererParams:{resultState:t,tdsExecutionResult:e},...Iki(e,n),...Tki(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:Dki,cellRendererParams:{resultState:t,tdsExecutionResult:e},...kki(e,n),...Tki(e,n)})))(t,d),p=()=>{o&&d.setGridConfig({columns:o.getColumnState(),isPivotModeEnabled:o.isPivotMode(),isLocalModeEnabled:!0,previewLimit:d.previewLimit,...d.wavgAggregationState?.weightedColumnIdPairs&&{weightedColumnPairs:d.wavgAggregationState.weightedColumnIdPairs}})},g=n.useCallback(e=>{let t=[];const n=d.queryBuilderState.fetchStructureState.implementation;return n instanceof Rwi&&(t=[{name:"Filter By",action:()=>{PDi(r,d.mousedOverCell,!0,n).catch(i.applicationStore.alertUnhandledError)}},{name:"Filter Out",action:()=>{PDi(r,d.mousedOverCell,!1,n).catch(i.applicationStore.alertUnhandledError)}},"copy","copyWithHeaders",{name:"Copy Row Value",action:()=>{e.api.copySelectedRowsToClipboard()}}]),t},[r,d.mousedOverCell,d.queryBuilderState.fetchStructureState.implementation,i.applicationStore.alertUnhandledError]),m=o?.getColumns()?.filter(e=>"number"===e.getColDef().cellDataType).map(e=>({label:e.getColId(),value:e.getColId()})),f=l?.colDef.field&&d.wavgAggregationState?.weightedColumnIdPairs.get(l.colDef.field)?{label:Gs(d.wavgAggregationState.weightedColumnIdPairs.get(l.colDef.field)),value:Gs(d.wavgAggregationState.weightedColumnIdPairs.get(l.colDef.field))}:null;return n.useEffect(()=>{l&&l.api.setColumnAggFunc(Gs(l.colDef.field),Rki.WAVG)},[d.wavgAggregationState,l]),Yne.jsx("div",{"data-testid":Bwi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:Yne.jsxs("div",{className:zse("query-builder__result__tds-grid",{"ag-theme-balham":!s,"ag-theme-balham-dark":s}),children:[u?Yne.jsx(lDi,{rowData:_Di(t),onGridReady:e=>{a(e.api),e.api.updateGridOptions({pivotMode:Boolean(d.gridConfig?.isPivotModeEnabled)})},gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1},pivotPanelShow:"always",rowGroupPanelShow:"always",cellSelection:!0},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},suppressFieldDotNotation:!0,suppressContextMenu:!1,columnDefs:h,aggFuncs:{wavg:e=>{e.colDef.field?(d.wavgAggregationState||d.setWavgAggregationState(new Pki),d.wavgAggregationState?.addWeightedColumnIdPair(e.colDef.field,e.colDef.field),d.wavgAggregationState?.setIsApplyingWavg(!0),c(e)):r.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),s=(e.rowNode.allLeafChildren??[]).map(e=>e.data[n]*e.data[t]).reduce((e,t)=>e+t);if(0!==i)return p(),s/i;r.notificationService.notifyError("The weighted column sum is 0")}else r.notificationService.notifyError("The weighted column Id is not defined")}}catch(e){Kr(e),r.notificationService.notifyError(e)}return-1}},sideBar:["columns","filters"],onColumnVisible:p,onColumnPinned:p,onColumnResized:p,onColumnRowGroupChanged:p,onColumnValueChanged:p,onColumnPivotChanged:p,onColumnPivotModeChanged:p}):Yne.jsx(lDi,{rowData:_Di(t),gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1},cellSelection:!0},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},onCellSelectionChanged:e=>{const t=(e=>{const t=e.getCellRanges(),n=[];e.forEachNode(e=>n.push(e));const i=e.getColumnDefs(),r=[];if(t)for(const e of t){const t=e.startRow?.rowIndex??0,s=e.endRow?.rowIndex??0,o=t<s?t:s,a=t<s?s:t,l=e.columns.map(e=>e.getColId());for(let e=o;e<=a;e++){const t=n.find(t=>t.rowIndex===e)?.data;if(t)for(const n of l){const s={value:Object.entries(t).find(e=>e[0]===n)?.at(1),columnName:n,coordinates:{rowIndex:e,colIndex:i.findIndex(e=>e.colId===n)}};r.push(s)}}}return r})(e.api);d.setSelectedCells([]),t.forEach(e=>d.addSelectedCell(e))},suppressFieldDotNotation:!0,suppressClipboardPaste:!1,suppressContextMenu:!1,columnDefs:h,getContextMenuItems:e=>g(e)}),d.wavgAggregationState?.isApplyingWavg&&Yne.jsx(pve,{open:d.wavgAggregationState.isApplyingWavg,onClose:()=>d.wavgAggregationState?.setIsApplyingWavg(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Yne.jsxs(GOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-editor__blocking-alert",children:[Yne.jsx(zOe,{title:"Applying Weighted Average"}),Yne.jsxs(jOe,{children:[Yne.jsx("div",{className:"query-builder__result__tds-grid__text",children:"choose a weighted column from dropdown"}),Yne.jsx(BOe,{options:m,onChange:e=>{l?.colDef.field&&e?.value&&d.wavgAggregationState?.addWeightedColumnIdPair(l.colDef.field,e.value)},value:f,placeholder:"Choose a weighted column",darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),Yne.jsx($Oe,{children:Yne.jsx(YOe,{onClick:()=>{d.wavgAggregationState?.setIsApplyingWavg(!1)},text:"Apply"})})]})})]})})});var Lki;!function(e){e.CLASS_LINEAGE="CLASS_LINEAGE",e.DATABASE_LINEAGE="DATABASE_LINEAGE",e.REPORT_LINEAGE="REPORT_LINEAGE",e.PROPERTY_LINEAGE="PROPERTY_LINEAGE"}(Lki||(Lki={}));class Mki{applicationStore;selectedTab=Lki.DATABASE_LINEAGE;lineageData=void 0;isLineageViewerOpen=!1;selectedPropertyOwnerNode=void 0;selectedProperty=void 0;selectedSourcePropertiesMap=void 0;constructor(e){Hh(this,{selectedTab:ru,lineageData:ru,isLineageViewerOpen:ru,selectedPropertyOwnerNode:ru,selectedProperty:ru,selectedSourcePropertiesMap:ru,setSelectedTab:hh,setLineageData:hh,setIsLineageViewerOpen:hh,setSelectedPropertyOwnerNode:hh,setSelectedProperty:hh,setSelectedSourcePropertiesMap:hh,clearPropertySelections:hh}),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 Pki{isApplyingWavg=!1;weightedColumnIdPairs;constructor(){Hh(this,{isApplyingWavg:ru,weightedColumnIdPairs:ru,setIsApplyingWavg:hh,addWeightedColumnIdPair:hh,removeWeightedColumnIdPair:hh}),this.weightedColumnIdPairs=new Map}setIsApplyingWavg(e){this.isApplyingWavg=e}addWeightedColumnIdPair(e,t){this.weightedColumnIdPairs.set(e,t)}removeWeightedColumnIdPair(e){this.weightedColumnIdPairs.delete(e)}}class Fki{queryBuilderState;executionPlanState;exportState=hb.create();previewLimit=1e3;pressedRunQuery=hb.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){Hh(this,{executionResult:ru,executionTraceId:ru,previewLimit:ru,executionDuration:ru,latestRunHashCode:ru,queryRunPromise:ru,isGeneratingPlan:ru,selectedCells:ru,mousedOverCell:ru,isRunningQuery:ru,isSelectingCells:ru,isQueryUsageViewerOpened:ru,isExecutionResultOverflowing:ru,gridConfig:ru,wavgAggregationState:ru,executionError:ru,setGridConfig:hh,setWavgAggregationState:hh,setIsSelectingCells:hh,setIsRunningQuery:hh,setExecutionResult:hh,setExecutionTraceId:hh,setExecutionDuration:hh,setPreviewLimit:hh,addSelectedCell:hh,setSelectedCells:hh,setMouseOverCell:hh,setQueryRunPromise:hh,setIsQueryUsageViewerOpened:hh,setIsExecutionResultOverflowing:hh,handlePreConfiguredGridConfig:hh,updatePreviewLimitInConfig:hh,setExecutionError:hh,exportData:Rh,runQuery:Rh,cancelQuery:Rh,generatePlan:Rh,generateLineage:Rh}),this.isSelectingCells=!1,this.selectedCells=[],this.gridConfig=void 0,this.queryBuilderState=e,this.executionPlanState=new wki(this.queryBuilderState.applicationStore,this.queryBuilderState.graphManagerState),this.lineageState=new Mki(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.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 Rwi&&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 jQ&&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===Rki.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 Pki,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=vEi(this.queryBuilderState,{isBuildingExecutionQuery:!0,useTypedRelationFunctions:this.queryBuilderState.isFetchStructureTyped,...e});t=m6(n,this.queryBuilderState.graphManagerState)}else if(t=Gs(this.queryBuilderState.unsupportedQueryState.rawLambda,"Lambda is required to execute query"),!this.queryBuilderState.isParameterSupportDisabled)return cEi(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});Vct.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:lEi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState)},void 0,n);if("true"===s.headers.get(aJ))return void(200===s.status?this.exportState.pass():this.exportState.fail());const o=g3(this.queryBuilderState.graphManagerState.graph);Act(s,`result.${Qp(n)}`,t.contentType).then(()=>{const e=Object.assign({},o,this.queryBuilderState.getStateInfo());Vct.logEvent_ExportQueryDataSucceeded(this.queryBuilderState.applicationStore.telemetryService,e),this.exportState.pass()}).catch(e=>{Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.EXECUTION_FAILURE),e)})}catch(e){this.exportState.fail(),Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.EXECUTION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e),this.exportState.complete()}}*runQuery(){let e;try{this.setIsRunningQuery(!0);const t=this.queryBuilderState.hashCode;Gs(this.queryBuilderState.executionContextState.mapping,"Mapping is required to execute query"),Gs(this.queryBuilderState.executionContextState.runtimeValue,"Runtime is required to execute query");const n=this.buildExecutionRawLambda({withDataOverflowCheck:!0}),i=lEi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState);Vct.logEvent_QueryRunLaunched(this.queryBuilderState.applicationStore.telemetryService);const r=new pb,s=g3(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:[oJ],tracingtags:{...this.queryBuilderState.sourceInfo},forceFromExpression:this.queryBuilderState.forceFromExpressionForExec}),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());Vct.logEvent_QueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,e)}}catch(t){this.queryRunPromise===e&&(Kr(t),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.EXECUTION_FAILURE),t),this.setExecutionError(t),t instanceof DZ&&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(vb.create(sw.EXECUTION_FAILURE),e)}}*generatePlan(e){try{this.isGeneratingPlan=!0,Gs(this.queryBuilderState.executionContextState.mapping,"Mapping is required to execute query"),Gs(this.queryBuilderState.executionContextState.runtimeValue,"Runtime is required to execute query");const t=this.queryBuilderState.buildQuery();let n;const i=new pb,r=g3(this.queryBuilderState.graphManagerState.graph),s=this.queryBuilderState.executionContextState;if(e){Vct.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},r);n=e.plan,this.executionPlanState.setDebugText(e.debug)}else Vct.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},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(Dct.BUILD_EXECUTION_PLAN__SUCCESS),r.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(i,r.timings);const o=Object.assign({},r,this.queryBuilderState.getStateInfo());e?Vct.logEvent_ExecutionPlanDebugSucceeded(this.queryBuilderState.applicationStore.telemetryService,o):Vct.logEvent_ExecutionPlanGenerationSucceeded(this.queryBuilderState.applicationStore.telemetryService,o)}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.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){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.LINEAGE_GENERATION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}finally{this.isGeneratingLineage=!1}}}class Bki{queryBuilderState;rawLambda;lambdaError;constructor(e){Hh(this,{rawLambda:ru,lambdaError:ru,setRawLambda:hh,setLambdaError:hh,hashCode:lu}),this.queryBuilderState=e}setRawLambda(e){this.rawLambda=e}setLambdaError(e){this.lambdaError=e}get hashCode(){return $v([wdt.UNSUPPORTED_QUERY_STATE,this.rawLambda??""])}}const Vki="QUERY_BUILDER_FUNCTION",Uki=(e,t)=>t===xC.PROJECT_DEPENDENCY_ROOT?e.functionsExplorerState.dependencyDisplayablePackagesSet:e.functionsExplorerState.displayablePackagesSet,Gki=(e,t,n)=>({id:t.path,label:t.name,childrenIds:t.children.filter(e=>!(e instanceof MS)).filter(t=>t instanceof xS&&Uki(e,n).has(t)).map(e=>e.path).concat(e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.path)?.map(e=>e.functionPath)??[]),package:t}),Hki=e=>({id:e.functionPath,label:e.name,childrenIds:[],functionAnalysisInfo:e}),zki=(e,t,n,i=xC.MAIN)=>{const r=i===xC.MAIN?e.functionsExplorerState.functionInfoMap:e.functionsExplorerState.dependencyFunctionInfoMap,s=Uki(e,i),o=e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.id)?.map(e=>e.functionPath),a=t.package.children.filter(e=>e instanceof xS&&s.has(e)).map(e=>e);t.childrenIds=a.map(e=>e.path).concat(o??[]);const l=a.map(t=>Gki(e,t,i)),c=o?.map(e=>r?.get(e)).filter(Vs).map(e=>Hki(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)})},Wki=(e,t,n=xC.MAIN)=>{const i=[],r=new Map,s=Uki(t,n);if(n===xC.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 xS&&s.has(e)).map(e=>e).sort((e,t)=>e.name.localeCompare(t.name)).forEach(e=>{const s=Gki(t,e,n);Co(i,s.id),r.set(s.id,s)})}),{rootIds:i,nodes:r}},jki=(e,t,n,i=xC.MAIN)=>(zki(e,t,n,i),t.childrenIds.map(e=>n.nodes.get(e)).filter(Vs).sort(VOe).sort((e,t)=>(t.package?1:0)-(e.package?1:0))),$ki=e=>e.package?(e instanceof xS?[e]:[]).concat([e.package].concat($ki(e.package))):[];class qki{uuid=ho();queryFunctionsState;functionAnalysisInfo;constructor(e,t){Hh(this,{functionAnalysisInfo:ru}),this.queryFunctionsState=e,this.functionAnalysisInfo=t}}class Yki{initState=hb.create();queryBuilderState;treeData;dependencyTreeData;_functionGraph;functionExplorerStates=[];dependencyFunctionExplorerStates=[];displayablePackagesSet=new Set;dependencyDisplayablePackagesSet=new Set;functionInfoMap;dependencyFunctionInfoMap;packagePathToFunctionInfoMap;constructor(e){Hh(this,{functionExplorerStates:ru.ref,setFunctionExplorerStates:hh,dependencyFunctionExplorerStates:ru.ref,setDependencyFunctionExplorerStates:hh,treeData:ru.ref,dependencyTreeData:ru.ref,_functionGraph:ru,functionInfoMap:ru,dependencyFunctionInfoMap:ru,packagePathToFunctionInfoMap:ru,setFunctionInfoMap:hh,setDependencyFunctionInfoMap:hh,setTreeData:hh,setPackagePathToFunctionInfoMap:hh,setDependencyTreeData:hh,refreshTree:hh,onTreeNodeSelect:hh,initializeTreeData:hh}),this.queryBuilderState=e,this._functionGraph=this.queryBuilderState.graphManagerState.createNewGraph()}getTreeData(e=xC.MAIN){return e===xC.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=>Mw(this._functionGraph,e.packagePath,void 0)).map(e=>$ki(e)).flat().forEach(e=>this.displayablePackagesSet.add(e))}async initializeDependencyDisplayablePackagesSet(){this.dependencyFunctionInfoMap&&Array.from(this.dependencyFunctionInfoMap.values()).map(e=>Mw(this._functionGraph,e.packagePath,void 0)).map(e=>$ki(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 Gs(this.treeData,"Query builder functions explorer tree data has not been initialized")}onTreeNodeSelect=(e,t,n,i=xC.MAIN)=>{if(t.package)if(t.childrenIds.length&&(t.isOpen=!t.isOpen,zki(e,t,n,i)),i===xC.PROJECT_DEPENDENCY_ROOT)this.setDependencyTreeData({...n});else this.setTreeData({...n})};initializeFunctionInfoMap(){const e=new Map,t=new Map;if(sx(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;sx(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(Wki([this._functionGraph.root],this.queryBuilderState,xC.MAIN)),this.setFunctionExplorerStates(this.functionInfoMap?Array.from(this.functionInfoMap.values()).map(e=>new qki(this,e)):[])}),this.dependencyFunctionInfoMap&&this.initializeDependencyDisplayablePackagesSet().catch(()=>{}).finally(()=>{this.setDependencyTreeData(Wki([this._functionGraph.root],this.queryBuilderState,xC.PROJECT_DEPENDENCY_ROOT)),this.setDependencyFunctionExplorerStates(this.dependencyFunctionInfoMap?Array.from(this.dependencyFunctionInfoMap.values()).map(e=>new qki(this,e)):[])}),this.initState.pass())}}class Kki extends hEi{queryBuilderState;selectedParameter;constructor(e){super(),Hh(this,{parameterValuesEditorState:ru,parameterStates:ru,addParameter:hh,removeParameter:hh,setParameters:hh,selectedParameter:ru,setSelectedParameter:hh,hashCode:bd}),this.queryBuilderState=e}get hashCode(){return $v([wdt.PARAMETERS_STATE,$v(this.parameterStates)])}setSelectedParameter(e){this.selectedParameter=e}}class Xki extends cDi{getLabel(){return">"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)}isCompatibleWithFilterConditionValue(e){return ydt(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;switch(t.path){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.INTEGER:case TC.STRICTDATE:case TC.DATETIME:case TC.DATE:return qCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return dDi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?$ct.IS_AFTER_DAY:$ct.GREATER_THAN,t)}buildFilterConditionState(e,t){return uDi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?$ct.IS_AFTER_DAY:$ct.GREATER_THAN,this)}get hashCode(){return $v([wdt.FILTER_OPERATOR_GREATER_THAN])}}class Qki extends cDi{getLabel(){return"starts with"}isCompatibleWithFilterConditionProperty(e){return gS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return gS.STRING===t}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;if(t.path===TC.STRING)return qCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return dDi(e,$ct.STARTS_WITH,t)}buildFilterConditionState(e,t){return uDi(e,t,$ct.STARTS_WITH,this)}get hashCode(){return $v([wdt.FILTER_OPERATOR_START_WITH])}}class Zki extends Qki{getLabel(){return"doesn't start with"}buildFilterConditionExpression(e,t){return mdt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=gdt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return $v([wdt.FILTER_OPERATOR_NOT_START_WITH])}}class Jki extends cDi{getLabel(){return">="}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)}isCompatibleWithFilterConditionValue(e){return ydt(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;switch(t.path){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.INTEGER:case TC.STRICTDATE:case TC.DATETIME:case TC.DATE:return qCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return dDi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?$ct.IS_ON_OR_AFTER_DAY:$ct.GREATER_THAN_EQUAL,t)}buildFilterConditionState(e,t){return uDi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?$ct.IS_ON_OR_AFTER_DAY:$ct.GREATER_THAN_EQUAL,this)}get hashCode(){return $v([wdt.FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class eOi extends cDi{getLabel(){return"<="}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)}isCompatibleWithFilterConditionValue(e){return ydt(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;switch(t.path){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.INTEGER:case TC.STRICTDATE:case TC.DATETIME:case TC.DATE:return qCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return dDi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?$ct.IS_ON_OR_BEFORE_DAY:$ct.LESS_THAN_EQUAL,t)}buildFilterConditionState(e,t){return uDi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?$ct.IS_ON_OR_BEFORE_DAY:$ct.LESS_THAN_EQUAL,this)}get hashCode(){return $v([wdt.FILTER_OPERATOR_LESS_THAN_EQUAL])}}class tOi extends cDi{getLabel(){return"<"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)}isCompatibleWithFilterConditionValue(e){return ydt(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;switch(t.path){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.INTEGER:case TC.STRICTDATE:case TC.DATETIME:case TC.DATE:return qCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return dDi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?$ct.IS_BEFORE_DAY:$ct.LESS_THAN,t)}buildFilterConditionState(e,t){return uDi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?$ct.IS_BEFORE_DAY:$ct.LESS_THAN,this)}get hashCode(){return $v([wdt.FILTER_OPERATOR_LESS_THAN])}}class nOi extends cDi{getLabel(){return"ends with"}isCompatibleWithFilterConditionProperty(e){return gS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return gS.STRING===t}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;if(t.path===TC.STRING)return qCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return dDi(e,$ct.ENDS_WITH,t)}buildFilterConditionState(e,t){return uDi(e,t,$ct.ENDS_WITH,this)}get hashCode(){return $v([wdt.FILTER_OPERATOR_END_WITH])}}class iOi extends nOi{getLabel(){return"doesn't end with"}buildFilterConditionExpression(e,t){return mdt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=gdt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return $v([wdt.FILTER_OPERATOR_NOT_END_WITH])}}class rOi extends cDi{getLabel(){return"contains"}isCompatibleWithFilterConditionProperty(e){return gS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return gS.STRING===t}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;if(t.path===TC.STRING)return qCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return dDi(e,$ct.CONTAINS,t)}buildFilterConditionState(e,t){return uDi(e,t,$ct.CONTAINS,this)}get hashCode(){return $v([wdt.FILTER_OPERATOR_CONTAIN])}}class sOi extends rOi{getLabel(){return"doesn't contain"}buildFilterConditionExpression(e,t){return mdt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=gdt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return $v([wdt.FILTER_OPERATOR_NOT_CONTAIN])}}var oOi;!function(e){e.JSON="JSON",e.GRAMMAR="Grammar"}(oOi||(oOi={}));class aOi{changeDetectionState;initialQuery;currentQuery;mode=oOi.GRAMMAR;initialQueryGrammarText;currentQueryGrammarText;constructor(e,t,n){Hh(this,{mode:ru,initialQueryGrammarText:ru,currentQueryGrammarText:ru,setMode:hh,generateGrammarDiff:Rh}),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){Kr(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){Kr(e),this.currentQueryGrammarText="/* Failed to transform grammar text, see JSON diff instead */"}}}class lOi{querybuilderState;initState=hb.create();querySnapshot;hashCodeSnapshot;diffViewState;constructor(e){Hh(this,{diffViewState:ru,querySnapshot:ru,hashCodeSnapshot:ru,hasChanged:lu,initialize:hh,showDiffViewPanel:hh,hideDiffViewPanel:hh}),this.querybuilderState=e}showDiffViewPanel(){this.diffViewState=this.buildQueryBuilderDiffViewState()}buildQueryBuilderDiffViewState(){return Us(this.querySnapshot,"Can't show changes: change detection is not properly initialized"),new aOi(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:xlt.CAUTION,actions:[{label:"Proceed",type:Tlt.PROCEED_WITH_CAUTION,handler:this.querybuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Abort",type:Tlt.PROCEED,default:!0}]}):e()}}const cOi=e=>e instanceof ME?`${bC}${e.name}`:e instanceof FE&&e.genericType.value.rawType===gS.STRICTDATE?e.values[0]:e instanceof FE&&e.genericType.value.rawType===gS.LATESTDATE?"%latest":"(unknown)",dOi=(e,t)=>{const n=tx(e,t.graphManagerState.graph);return Yne.jsx("div",{className:zse("query-builder__setup__class-option-label",{"query-builder__setup__class-option-label--deprecated":n}),children:Yne.jsx("div",{className:"query-builder__setup__class-option-label__name",children:e.name})})},uOi=Vse(e=>{const{queryBuilderState:t,classes:n,onClassChange:i,noMatchMessage:r}=e,s=Wat(),o=Vke({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:dOi(e,t)})),l=t.class?{value:t.class,label:dOi(t.class,t)}:null;return Yne.jsx("div",{className:"query-builder__setup__config-group query-builder__setup__config-group--class",children:Yne.jsxs("div",{className:"query-builder__setup__config-group__item",children:[Yne.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"entity",htmlFor:"query-builder__setup__class-selector",children:"Entity"}),Yne.jsx(BOe,{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.class&&(t.changeClass(e.value),i?.(e.value))},value:l,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:o,formatOptionLabel:Gwi({darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})})}),hOi=e=>({value:e,label:e instanceof h$?e.packageableRuntime.value.name:"custom"}),pOi=e=>function(t){if(t.value instanceof h$){const n=t.value;return Gwi(e)(Vwi(n.packageableRuntime.value))}return t.value instanceof h$?t.value.packageableRuntime.value.name:Yne.jsxs("div",{className:"query-builder__setup__runtime-option--custom",children:[Yne.jsx(are,{}),Yne.jsx("div",{className:"query-builder__setup__runtime-option--custom__label",children:"custom"})]})},gOi=Vse(e=>{const{queryBuilderState:t}=e,n=Wat(),i=t.graphManagerState.usableClasses,r=t.graphManagerState.usableMappings.map(Vwi).sort(VOe),s=t.executionContextState.mapping?Vwi(t.executionContextState.mapping):null,o=Vke({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value.path}),a=t.graphManagerState.usableRuntimes.map(e=>new h$(XC.create(e))).map(hOi).sort(VOe),l=t.executionContextState.runtimeValue?hOi(t.executionContextState.runtimeValue):null,c=Vke({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value instanceof h$?e.data.value.packageableRuntime.value.path:"custom"});return Yne.jsxs("div",{className:"query-builder__setup__config-group",children:[Yne.jsx(lLe,{title:"properties"}),Yne.jsxs("div",{className:"query-builder__setup__config-group__content",children:[Yne.jsxs("div",{className:"query-builder__setup__config-group__item",children:[Yne.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"mapping",htmlFor:"query-builder__setup__mapping-selector",children:"Mapping"}),Yne.jsx(BOe,{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.class,options:r,onChange:e=>{t.class&&e.value!==t.executionContextState.mapping&&!t.isMappingReadOnly&&t.changeMapping(e.value)},value:s,darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:o,formatOptionLabel:Gwi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),Yne.jsxs("div",{className:"query-builder__setup__config-group__item",children:[Yne.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"runtime",htmlFor:"query-builder__setup__runtime-selector",children:"Runtime"}),Yne.jsx(BOe,{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.class||!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:pOi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),Yne.jsx("div",{className:"query-builder__setup__config-group__item",children:Yne.jsx(uOi,{queryBuilderState:t,classes:i})})]})]})}),mOi=Vse(e=>{const{queryBuilderState:t,children:n}=e,i=Wat().pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraTemplateQueryPanelContentRenderer?.()??[]),r=i[0]?i[0](t):Yne.jsx(Yne.Fragment,{});return Yne.jsxs("div",{className:zse("query-builder__side-bar",t.sideBarClassName),children:[Yne.jsx("div",{"data-testid":Bwi.QUERY_BUILDER_SETUP,className:"panel query-builder__setup",children:Yne.jsx("div",{className:"panel__content query-builder__setup__content",children:t.TEMPORARY__setupPanelContentRenderer?.()??Yne.jsx(gOi,{queryBuilderState:t})})}),Yne.jsx("div",{"data-testid":Bwi.QUERY_BUILDER_TEMPLATE_QUERY_PANE,className:"query-builder__template-query",children:r}),Yne.jsx("div",{className:"query-builder__side-bar__content",children:n})]})});class fOi{milestoningState;stereotype;constructor(e,t){this.milestoningState=e,this.stereotype=t}}class yOi extends fOi{getMilestoningDate(e){return 0===e?this.milestoningState.processingDate:this.milestoningState.businessDate}getMilestoningToolTipText(){return`Processing Date: ${cOi(this.getMilestoningDate(0))}, Business Date: ${cOi(this.getMilestoningDate(1))}`}initializeMilestoningParameters(e){this.milestoningState.processingDate&&!e||this.milestoningState.setProcessingDate(this.milestoningState.buildMilestoningParameter(PC)),this.milestoningState.businessDate&&!e||this.milestoningState.setBusinessDate(this.milestoningState.buildMilestoningParameter(FC))}buildParameterStatesFromMilestoningParameters(){return[this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.businessDate&&this.milestoningState.businessDate instanceof ME?this.milestoningState.businessDate.name:FC),this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.processingDate&&this.milestoningState.processingDate instanceof ME?this.milestoningState.processingDate.name:PC)].filter(Vs)}processGetAllParamaters(e){Ks(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(Gs(this.getMilestoningDate(0),"Milestoning class should have a parameter of type 'Date'")),e.parametersValues.push(Gs(this.getMilestoningDate(1),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllWithDefaultParameters(e){const t=zCi($ct.NOW,gS.DATETIME);e.parametersValues.push(t),e.parametersValues.push(t)}buildGetAllVersionsInRangeParameters(e){throw new Yr("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===kC.PROCESSING_TEMPORAL&&1===s?.parameterValues.length)return new JE(()=>Gs(js(n,KE).parametersValues[1]));let o;return e&&n&&!t?o=new JE(()=>Gs(n.parametersValues[1])):(o=new JE(()=>Gs(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}{if(i===kC.BUSINESS_TEMPORAL&&1===s?.parameterValues.length)return new JE(()=>Gs(js(s.propertyExpression.parametersValues[0],KE).parametersValues[1]));let o;return e&&n&&!t?o=new JE(()=>Gs(n.parametersValues[2])):(o=new JE(()=>Gs(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}}}class vOi extends fOi{getMilestoningDate(){return this.milestoningState.businessDate}getMilestoningToolTipText(){return`Business Date: ${cOi(this.getMilestoningDate())}`}initializeMilestoningParameters(e){this.milestoningState.businessDate&&!e||this.milestoningState.setBusinessDate(this.milestoningState.buildMilestoningParameter(FC))}buildParameterStatesFromMilestoningParameters(){const e=this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.businessDate&&this.milestoningState.businessDate instanceof ME?this.milestoningState.businessDate.name:FC);return e?[e]:[]}processGetAllParamaters(e){Ks(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(Gs(this.getMilestoningDate(),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllVersionsInRangeParameters(e){if(!this.milestoningState.startDate||!this.milestoningState.endDate)throw new Yr("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=zCi($ct.NOW,gS.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n,i){if(this.initializeMilestoningParameters(),e&&n&&!t)return i===kC.BUSINESS_TEMPORAL?new JE(()=>Gs(n.parametersValues[1])):new JE(()=>Gs(n.parametersValues[2]));{const n=new JE(()=>Gs(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class _Oi extends fOi{getMilestoningDate(){return this.milestoningState.processingDate}getMilestoningToolTipText(){return`Processing Date: ${cOi(this.getMilestoningDate())}`}initializeMilestoningParameters(e){this.milestoningState.processingDate&&!e||this.milestoningState.setProcessingDate(this.milestoningState.buildMilestoningParameter(PC))}buildParameterStatesFromMilestoningParameters(){const e=this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.processingDate&&this.milestoningState.processingDate instanceof ME?this.milestoningState.processingDate.name:PC);return e?[e]:[]}processGetAllParamaters(e){Ks(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(Gs(this.getMilestoningDate(),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllVersionsInRangeParameters(e){if(!this.milestoningState.startDate||!this.milestoningState.endDate)throw new Yr("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=zCi($ct.NOW,gS.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n){if(this.initializeMilestoningParameters(),e&&n&&!t)return new JE(()=>Gs(n.parametersValues[1]));{const n=new JE(()=>Gs(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class bOi{milestoningImplementations=[];queryBuilderState;showMilestoningEditor=!1;businessDate;processingDate;startDate;endDate;constructor(e){Hh(this,{processingDate:ru,businessDate:ru,startDate:ru,endDate:ru,showMilestoningEditor:ru,setProcessingDate:hh,setBusinessDate:hh,setStartDate:hh,setEndDate:hh,setShowMilestoningEditor:hh,clearMilestoningDates:hh,setAllVersions:hh,setAllVersionsInRange:hh,initializeAllVersionsInRangeParameters:hh,clearAllVersionsInRangeParameters:hh,clearGetAllParameters:hh,isAllVersionsEnabled:lu,isAllVersionsInRangeEnabled:lu,isMilestonedQuery:lu,hashCode:lu}),this.queryBuilderState=e,this.milestoningImplementations.push(new vOi(this,kC.BUSINESS_TEMPORAL)),this.milestoningImplementations.push(new _Oi(this,kC.PROCESSING_TEMPORAL)),this.milestoningImplementations.push(new yOi(this,kC.BITEMPORAL))}updateQueryBuilderState(){this.isAllVersionsEnabled&&(this.queryBuilderState.fetchStructureState.implementation instanceof Rwi&&this.queryBuilderState.fetchStructureState.implementation.tdsColumns.forEach(e=>{e instanceof aSi?e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof JE&&(e.isPropagatedValue=!1)}):e instanceof uSi&&e.projectionColumnState instanceof aSi&&e.projectionColumnState.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof JE&&(e.isPropagatedValue=!1)})}),this.queryBuilderState.filterState.nodes.forEach(e=>{e instanceof QSi?e.condition.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof JE&&(e.isPropagatedValue=!1)}):e instanceof KSi&&e.propertyExpressionState.derivedPropertyExpressionStates[0]&&this.queryBuilderState.class?._generatedMilestonedProperties.includes(e.propertyExpressionState.derivedPropertyExpressionStates[0].derivedProperty)&&e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof JE&&(e.isPropagatedValue=!1)})}))}get isMilestonedQuery(){return Boolean(this.businessDate??this.processingDate)||this.queryBuilderState.getAllFunction===jct.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===jct.GET_ALL_VERSIONS_IN_RANGE}get isCurrentClassMilestoned(){const e=this.queryBuilderState.class;if(void 0!==e){return void 0!==Uw(e,this.queryBuilderState.graphManagerState.graph)}return!1}get isCurrentClassSupportsVersionsInRange(){const e=this.queryBuilderState.class;if(void 0!==e){const t=Uw(e,this.queryBuilderState.graphManagerState.graph);return void 0!==t&&t!==kC.BITEMPORAL}return!1}get isAllVersionsEnabled(){return this.queryBuilderState.getAllFunction===jct.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===jct.GET_ALL_VERSIONS_IN_RANGE}get isAllVersionsInRangeEnabled(){return this.queryBuilderState.getAllFunction===jct.GET_ALL_VERSIONS_IN_RANGE}get isInvalidAllVersionsInRange(){return!!(this.startDate&&!this.endDate||!this.startDate&&this.endDate)}setAllVersionsInRange(e){e?(this.queryBuilderState.setGetAllFunction(jct.GET_ALL_VERSIONS_IN_RANGE),this.initializeAllVersionsInRangeParameters()):(this.queryBuilderState.setGetAllFunction(jct.GET_ALL_VERSIONS),this.clearAllVersionsInRangeParameters())}setAllVersions(e){e?(this.queryBuilderState.setGetAllFunction(jct.GET_ALL_VERSIONS),this.clearGetAllParameters()):(this.queryBuilderState.setGetAllFunction(jct.GET_ALL),this.clearAllVersionsInRangeParameters(),this.updateMilestoningConfiguration()),this.updateQueryBuilderState()}setStartDate(e){this.startDate=e?xte(e,this.queryBuilderState.observerContext):e}setEndDate(e){this.endDate=e?xte(e,this.queryBuilderState.observerContext):e}setShowMilestoningEditor(e){this.showMilestoningEditor=e}getMilestoningImplementation(e){return Gs(this.milestoningImplementations.find(t=>t.stereotype===e))}initializeQueryMilestoningParameters(e){this.getMilestoningImplementation(e).initializeMilestoningParameters(!0)}setProcessingDate(e){this.processingDate=e?xte(e,this.queryBuilderState.observerContext):e}setBusinessDate(e){this.businessDate=e?xte(e,this.queryBuilderState.observerContext):e}initializeAllVersionsInRangeParameters(){this.setStartDate(this.buildMilestoningParameter(LC)),this.setEndDate(this.buildMilestoningParameter(MC))}clearGetAllParameters(){if(this.businessDate instanceof ME&&!this.queryBuilderState.isVariableUsed(this.businessDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===js(this.businessDate,ME).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setBusinessDate(void 0)}if(this.processingDate instanceof ME&&!this.queryBuilderState.isVariableUsed(this.processingDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===js(this.processingDate,ME).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setProcessingDate(void 0)}this.businessDate instanceof FE&&this.setBusinessDate(void 0),this.processingDate instanceof FE&&this.setProcessingDate(void 0)}clearAllVersionsInRangeParameters(){if(this.startDate instanceof ME&&!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 ME&&!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.class;if(void 0!==e){const t=Uw(e,this.queryBuilderState.graphManagerState.graph);this.setBusinessDate(void 0),this.setProcessingDate(void 0),t&&this.initializeQueryMilestoningParameters(t)}}buildParameterStateFromMilestoningParameter(e){const t=new ME(e,nS.ONE,yS.create(new ES(gS.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 dEi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);return e.mockParameterValue(),e}}buildMilestoningParameter(e){const t=new ME(e,nS.ONE,yS.create(new ES(gS.DATE)));if(!this.queryBuilderState.parametersState.parameterStates.find(t=>t.variableName===e)&&!this.queryBuilderState.constantState.constants.find(t=>t.variable.name===e)){const e=new dEi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);e.mockParameterValue(),this.queryBuilderState.parametersState.addParameter(e)}return t}updateMilestoningParameterValue(e,t){if(e instanceof ME){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 ME){const n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.parameter.name===e.name);t=n?.value}return t}isVariableUsed(e){const t=!!this.businessDate&&Sdt(e,this.businessDate),n=!!this.processingDate&&Sdt(e,this.processingDate),i=!!this.startDate&&Sdt(e,this.startDate),r=!!this.endDate&&Sdt(e,this.endDate);return t||n||i||r}isMilestoningParameter(e){let t=!1;return this.businessDate instanceof ME&&(t=e.name===js(this.businessDate,ME).name),this.processingDate instanceof ME&&(t=t||e.name===js(this.processingDate,ME).name),this.startDate instanceof ME&&(t=t||e.name===js(this.startDate,ME).name),this.endDate instanceof ME&&(t=t||e.name===js(this.endDate,ME).name),t}get hashCode(){return $v([wdt.MILESTONING_STATE,this.businessDate??"",this.processingDate??""])}}var COi;!function(e){e.COMPILE="query-builder.compile"}(COi||(COi={}));const SOi={[COi.COMPILE]:{title:"Query Builder: Compile query",defaultKeyboardShortcut:"F9"}};class EOi{queryBuilderState;value;constructor(e){Hh(this,{value:ru,setValue:hh,hashCode:lu}),this.queryBuilderState=e}getDefaultValue(){return new FE(yS.create(new ES(gS.STRING)))}setValue(e){this.value=e?xte(e,this.queryBuilderState.observerContext):void 0}isVariableUsed(e){return!!this.value&&Sdt(e,this.value)}get hashCode(){return $v([wdt.WATERMARK_STATE,this.value??""])}}class wOi{queryBuilderState;uuid=ho();variable;constructor(e,t){this.queryBuilderState=e,this.variable=t}get hashCode(){return $v([wdt.CONSTANT_EXPRESSION_STATE,this.variable.name])}buildLetExpression(){const e=new FE(yS.create(new ES(gS.STRING)));e.values=[this.variable.name];const t=new YE(sS(exports.SUPPORTED_FUNCTIONS.LET));return t.parametersValues=[e,this.buildLetAssignmentValue()],t}}class xOi extends wOi{value;constructor(e,t,n){super(e,t),Hh(this,{variable:ru,value:ru,setValueSpec:hh,changeValSpecType:hh}),this.value=xte(n,this.queryBuilderState.observerContext),xte(t,this.queryBuilderState.observerContext)}changeValSpecType(e){const t=this.value.genericType?.value.rawType;if(t!==e)try{const t=qCi(this.queryBuilderState.graphManagerState.graph,e,this.queryBuilderState.observerContext,this.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);this.setValueSpec(t)}catch(e){Kr(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e.message)}}setValueSpec(e){if(e instanceof ME)throw new qr("Can not assign a parameter to another parameter");this.value=xte(e,this.queryBuilderState.observerContext);const t=e.genericType?.value.rawType;t&&t!==this.variable.genericType?.value.rawType&&edt(this.variable,yS.create(new ES(t)))}buildLetAssignmentValue(){return this.value}get hashCode(){return $v([wdt.CONSTANT_EXPRESSION_STATE,this.variable.name,this.value])}}class TOi extends rSi{queryBuilderState;calculatedState;convertingLambdaToStringState=hb.create();constructor(e){super("",""),Hh(this,{calculatedState:ru,convertingLambdaToStringState:ru,buildEmptyValueSpec:ru}),this.calculatedState=e,this.queryBuilderState=e.queryBuilderState}buildEmptyValueSpec(){return this.queryBuilderState.graphManagerState.graphManager.serializeRawValueSpecification(YCi(this.queryBuilderState.graphManagerState,this.queryBuilderState.observerContext))}get lambdaId(){return tte([Lct.QUERY_BUILDER,Lct.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){Kr(e),e instanceof NZ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.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){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.PARSING_FAILURE),e)}}}class AOi extends wOi{value;lambdaState;constructor(e,t,n){super(e,t),Hh(this,{variable:ru,lambdaState:ru,value:ru,setLambdaState:hh,setValue:hh}),this.value=n,this.lambdaState=new TOi(this),xte(t,this.queryBuilderState.observerContext)}setLambdaState(e){this.lambdaState=e}setValue(e){this.value=e}buildLetAssignmentValue(){return new LE(this.value)}}class NOi{queryBuilderState;showConstantPanel=!1;constants=[];selectedConstant;constructor(e){this.queryBuilderState=e,Hh(this,{constants:ru,showConstantPanel:ru,selectedConstant:ru,addConstant:hh,removeConstant:hh,setShowConstantPanel:hh,setSelectedConstant:hh,convertToCalculated:hh})}get isEmpty(){return!this.constants.length}setShowConstantPanel(e){this.showConstantPanel=e}addConstant(e){Co(this.constants,e)}removeConstant(e){Eo(this.constants,e)}setSelectedConstant(e){this.selectedConstant=e}isValueSpecConstant(e){return e instanceof ME&&Boolean(this.constants.find(t=>t.variable.name===e.name))}convertToCalculated(e){try{const t=this.queryBuilderState.graphManagerState.graphManager.serializeValueSpecification(e.value),n=new AOi(this.queryBuilderState,e.variable,t);Ks(So(this.constants,e,n),"Unable to convert to calculated constant")}catch(e){Kr(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}}get hashCode(){return $v([wdt.CONSTANT_STATE,$v(this.constants)])}}var ROi;!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"}(ROi||(ROi={}));class IOi{uuid=ho();specification;entitlementReport;constructor(e){Hh(this,{entitlementReport:ru,setEntitlementReport:hh}),this.specification=e}setEntitlementReport(e){this.entitlementReport=e}}class DOi{applicationStore;graphManagerState;initialDatasets;mapping;runtime;graphData;getQuery;surveyDatasetsState=hb.create();checkEntitlementsState=hb.create();datasets=[];constructor(e,t,n){Hh(this,{datasets:ru,entitlementCheckInfo:lu,fetchDatasetSpecifications:Rh,fetchDatasetEntitlementReports:Rh}),this.applicationStore=e,this.graphManagerState=t,this.initialDatasets=n.initialDatasets,this.datasets=(n.initialDatasets??[]).map(e=>new IOi(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(ROi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)}]};const t={total:e,data:[]},n=this.datasets.filter(e=>e.entitlementReport instanceof p0).length,i=Math.round(n/e*100);t.data.push({label:"Access Granted",count:n,percentage:i,color:this.applicationStore.layoutService.getColor(ROi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)});const r=this.datasets.filter(e=>e.entitlementReport instanceof f0).length,s=Math.round(r/e*100);t.data.push({label:"Access Approved",count:r,percentage:s,color:this.applicationStore.layoutService.getColor(ROi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_APPROVED)});const o=this.datasets.filter(e=>e.entitlementReport instanceof m0).length,a=Math.round(o/e*100);t.data.push({label:"Access Requested",count:o,percentage:a,color:this.applicationStore.layoutService.getColor(ROi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_REQUESTED)});const l=this.datasets.filter(e=>e.entitlementReport instanceof g0).length,c=Math.round(l/e*100);t.data.push({label:"Access Not Granted",count:l,percentage:c,color:this.applicationStore.layoutService.getColor(ROi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_NOT_GRANTED)});const d=this.datasets.filter(e=>e.entitlementReport instanceof y0).length,u=Math.round(d/e*100);t.data.push({label:"Unsupported",count:d,percentage:u,color:this.applicationStore.layoutService.getColor(ROi.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS)});const h=e-n-r-o-l-d,p=Math.round(h/e*100);t.data.push({label:"Unknown",count:h,percentage:p,color:this.applicationStore.layoutService.getColor(ROi.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS)});let g=0;for(let e=0;e<t.data.length;++e){const n=vo(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 IOi(e)})}catch(e){Kr(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 IOi(e.dataset);n.setEntitlementReport(e),t.push(n)}}),this.datasets=this.datasets.concat(t)}catch(e){Kr(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 kOi{queryBuilderState;dataAccessState;showCheckEntitlementsViewer=!1;constructor(e){Hh(this,{showCheckEntitlementsViewer:ru,dataAccessState:ru,setShowCheckEntitlementsViewer:hh,hashCode:lu}),this.queryBuilderState=e}setShowCheckEntitlementsViewer(e){this.showCheckEntitlementsViewer=e,this.dataAccessState=void 0,this.queryBuilderState.executionContextState.mapping&&this.queryBuilderState.executionContextState.runtimeValue instanceof h$&&(this.dataAccessState=new DOi(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=sEi(n.graph,t),r=m6(i,n);if(Array.isArray(e.body)&&Array.isArray(r.body))return r.body=[...r.body,...e.body],r}return e}get hashCode(){return $v([wdt.CHECK_ENTITLEMENTS_STATE,this.showCheckEntitlementsViewer])}}class OOi{queryBuilderState;initState=hb.create();querySnapshotBuffer=[];currentQuery;pointer=-1;bufferSize=10;constructor(e){Hh(this,{currentQuery:ru,pointer:ru,querySnapshotBuffer:ru,initialize:hh,undo:hh,redo:hh,setCurrentQuery:hh,cacheNewQuery:hh,canRedo:lu,canUndo:lu}),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(Gs(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(Gs(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){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(Dct.CHANGE_HISTORY_ERROR),`Can't cache query in query builder change history buffer: ${e.message}`)}}}class LOi{static INSTANCE=new LOi}class MOi{actionConfig=LOi.INSTANCE;updateActionConfig(e){this.actionConfig=e}}class POi extends MOi{get showStatusBar(){return!0}getFetchStructureLayoutConfig(e){return{label:"fetch structure",showInFetchPanel:!0}}static INSTANCE=new POi}class FOi extends MOi{get showStatusBar(){return!1}getFetchStructureLayoutConfig(e){return{label:e.fetchStructureState.implementation.fetchLabel,showInFetchPanel:!1}}static INSTANCE=new FOi}class BOi extends Kut{mapping;runtime}class VOi extends Mpt{logService=new _b;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 BOi?{query:{mapping:e.mapping,runtime:e.runtime},sourceType:"queryBuilder"}:{}}async processSource(e){const t=this.getSourceFunctionExpression(),n=new BOi;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 BI(await this.graphState.graphManager.pureCodeToValueSpecification(e,t),[])}async getValueSpecificationCode(e,t){return this.graphState.graphManager.valueSpecificationToPureCode(VI(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(vC)+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(VI(t,[]))+e;return this.getRelationType(await this.graphState.graphManager.pureCodeToLambda(i))}async executeQuery(e,t){const n=new pb,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=js(r.executionResult,jQ,"Query returned expected to be of tabular data set");if(this.queryBuilderState){const e=g3(this.graphState.graph);e.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(n,e.timings);const t=Object.assign({},e,this.queryBuilderState.getStateInfo());Vct.logEvent_EmbeddedDataCubeQueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,t)}return{result:a,executedQuery:s,executedSQL:a.activities?.at(-1)instanceof MQ?a.activities.at(-1).sql:void 0,executionTime:o}}buildExecutionContext(e){if(e instanceof BOi){return Boolean(e.mapping??e.runtime)?sht(exports.DataCubeFunction.FROM,[e.mapping?lht(e.mapping):void 0,e.runtime?lht(e.runtime):void 0].filter(Vs)):void 0}}sendTelemetry(e,t){this.queryBuilderState?.applicationStore.telemetryService.logEvent(e,t)}buildRawLambdaFromValueSpec(e){const t=js(rD(VI(e,[])),wT);return new DE(t.parameters,t.body)}getSourceFunctionExpression(){let e=BI(this.graphState.graphManager.serializeRawValueSpecification(this.selectInitialQuery),[]);return e instanceof uA&&1===e.body.length&&e.body[0]&&(e=e.body[0]),e}async generateInitialSpecification(){const e=(await this.getRelationType(this.selectInitialQuery)).columns,t=new Yut;return t.query=`~[${e.map(e=>`'${e.name}'`)}]->select()`,t}async getRelationType(e){return await this.graphState.graphManager.getLambdaRelationType(e,this.graphState.graph)}}class UOi{specification;engine;constructor(e,t){this.specification=e,this.engine=t}}var GOi;!function(e){e.STANDARD="STANDARD",e.TYPED_FETCH_STRUCTURE="TYPED_FETCH_STRUCTURE"}(GOi||(GOi={}));class HOi{applicationStore;graphManagerState;changeDetectionState;queryCompileState=hb.create();observerContext;config;workflowState;explorerState;functionsExplorerState;parametersState;constantState;milestoningState;fetchStructureState;filterState;watermarkState;checkEntitlementsState;filterOperators=(()=>[new hDi,new pDi,new tOi,new eOi,new Xki,new Jki,new Qki,new Zki,new rOi,new sOi,new nOi,new iOi,new gDi,new mDi,new fDi,new yDi])();resultState;textEditorState;unsupportedQueryState;changeHistoryState;isQueryChatOpened;showFunctionsExplorerPanel=!1;showParametersPanel=!1;isEditingWatermark=!1;isCheckingEntitlments=!1;isCalendarEnabled=!1;isLocalModeEnabled=!1;dataCubeViewerState;INTERNAL__enableInitializingDefaultSimpleExpressionValue=!1;lambdaWriteMode=GOi.STANDARD;class;getAllFunction=jct.GET_ALL;executionContextState;internalizeState;queryChatState;sourceInfo;TEMPORARY__setupPanelContentRenderer;constructor(e,t,n,i,r){Hh(this,{explorerState:ru,parametersState:ru,constantState:ru,functionsExplorerState:ru,fetchStructureState:ru,filterState:ru,watermarkState:ru,milestoningState:ru,checkEntitlementsState:ru,resultState:ru,textEditorState:ru,unsupportedQueryState:ru,showFunctionsExplorerPanel:ru,showParametersPanel:ru,isEditingWatermark:ru,isCheckingEntitlments:ru,isCalendarEnabled:ru,changeDetectionState:ru,changeHistoryState:ru,executionContextState:ru,class:ru,queryChatState:ru,isQueryChatOpened:ru,isLocalModeEnabled:ru,dataCubeViewerState:ru,getAllFunction:ru,lambdaWriteMode:ru,INTERNAL__enableInitializingDefaultSimpleExpressionValue:ru,sideBarClassName:lu,isQuerySupported:lu,allValidationIssues:lu,canBuildQuery:lu,setShowFunctionsExplorerPanel:hh,setShowParametersPanel:hh,setIsEditingWatermark:hh,setIsCalendarEnabled:hh,setDataCubeViewerState:hh,openDataCubeEngine:hh,setIsCheckingEntitlments:hh,setClass:hh,setIsQueryChatOpened:hh,setIsLocalModeEnabled:hh,setGetAllFunction:hh,setLambdaWriteMode:hh,setINTERNAL__enableInitializingDefaultSimpleExpressionValue:hh,TEMPORARY_initializeExecContext:hh,resetQueryResult:hh,resetQueryContent:hh,changeClass:hh,changeMapping:hh,setExecutionContextState:hh,setQueryChatState:hh,rebuildWithQuery:hh,compileQuery:Rh,hashCode:lu}),this.applicationStore=e,this.graphManagerState=t,this.executionContextState=this.TEMPORARY_initializeExecContext(Boolean(i?.enableTypedTDS)),this.milestoningState=new bOi(this),this.explorerState=new Nxi(this),this.parametersState=new Kki(this),this.constantState=new NOi(this),this.functionsExplorerState=new Yki(this),this.fetchStructureState=new gTi(this),this.filterState=new JSi(this,this.filterOperators),this.watermarkState=new EOi(this),this.checkEntitlementsState=new kOi(this),this.resultState=new Fki(this),this.textEditorState=new yTi(this),this.unsupportedQueryState=new Bki(this),this.observerContext=new l6(this.graphManagerState.pluginManager.getPureGraphManagerPlugins()),this.changeDetectionState=new lOi(this),this.changeHistoryState=new OOi(this),this.config=i,this.workflowState=n,this.sourceInfo=r,this.isQueryChatOpened=(!this.config?.TEMPORARY__disableQueryBuilderChat&&this.applicationStore.settingService.getBooleanValue(Swi.SHOW_QUERY_CHAT_PANEL))??!1}TEMPORARY_initializeExecContext(e){if(e){const e=new gEi(this);return this.setLambdaWriteMode(GOi.TYPED_FETCH_STRUCTURE),e}return new mEi(this)}get isMappingReadOnly(){return!1}get isRuntimeReadOnly(){return!1}get sideBarClassName(){}get isParameterSupportDisabled(){return!1}get isResultPanelHidden(){return!1}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===GOi.TYPED_FETCH_STRUCTURE}get forceFromExpressionForExec(){return this.isFetchStructureTyped}setLambdaWriteMode(e){this.lambdaWriteMode=e}getQueryExecutionContext(){const e=new pZ,t=js(this.executionContextState.runtimeValue,h$,"Query runtime must be of type runtime pointer");return Us(this.executionContextState.mapping,"Query required mapping to update"),e.mapping=XC.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.class?.path,t=this.executionContextState.mapping?.path,n=this.executionContextState.runtimeValue instanceof h$?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)}}}setIsQueryChatOpened(e){this.isQueryChatOpened=e,this.applicationStore.settingService.persistValue(Swi.SHOW_QUERY_CHAT_PANEL,e)}setIsLocalModeEnabled(e){this.isLocalModeEnabled=e}setDataCubeViewerState(e){this.dataCubeViewerState=e}setInternalize(e){this.internalizeState=e}setQueryChatState(e){this.queryChatState=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}setClass(e){this.class=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{Vct.logEvent_EmbeddedDataCubeLaunched(this.applicationStore.telemetryService),this.setDataCubeViewerState(await(async e=>{const t=e.executionContextState.runtimeValue instanceof h$?e.executionContextState.runtimeValue.packageableRuntime.value.path:void 0;if(!t)return;const n=e.executionContextState.mapping?.path,i=e.lambdaWriteMode;e.setLambdaWriteMode(GOi.TYPED_FETCH_STRUCTURE);const r=lEi(e.parametersState.parameterStates,e.graphManagerState),s=e.buildQuery(),o=new VOi(s,r,n,t,e.graphManagerState,e);e.setLambdaWriteMode(i);const a=await o.generateInitialSpecification();return new UOi(a,o)})(this))}catch(e){Kr(e),this.applicationStore.notificationService.notifyError("Unable to open data cube in query builder")}}registerCommands(){this.applicationStore.commandService.registerCommand({key:COi.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(){[COi.COMPILE].forEach(e=>this.applicationStore.commandService.deregisterCommand(e))}resetQueryResult(e){const t=new Fki(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 yTi(this),this.unsupportedQueryState=new Bki(this),this.milestoningState=new bOi(this);const e=this.explorerState.mappingModelCoverageAnalysisResult;this.explorerState=new Nxi(this),e&&(this.explorerState.mappingModelCoverageAnalysisResult=e),this.explorerState.refreshTreeData(),this.constantState=new NOi(this),this.functionsExplorerState=new Yki(this),this.parametersState=new Kki(this),this.filterState=new JSi(this,this.filterOperators),this.watermarkState=new EOi(this),this.checkEntitlementsState=new kOi(this),this.isCalendarEnabled=!1;const t=this.fetchStructureState.implementation.type;this.fetchStructureState=new gTi(this),t!==this.fetchStructureState.implementation.type&&this.fetchStructureState.changeImplementation(t)}changeClass(e){this.resetQueryResult(),this.resetQueryContent(),this.setGetAllFunction(jct.GET_ALL),this.setClass(e),this.explorerState.refreshTreeData(),this.fetchStructureState.implementation.onClassChange(e),this.milestoningState.updateMilestoningConfiguration(),this.changeHistoryState.cacheNewQuery(this.buildQuery())}changeMapping(e,t){this.resetQueryResult(),t?.keepQueryContent||(this.resetQueryContent(),this.setGetAllFunction(jct.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 DE(e,this.unsupportedQueryState.rawLambda?.body)),Gs(this.unsupportedQueryState.rawLambda)}return m6(vEi(this,{keepSourceInformation:Boolean(e?.keepSourceInformation),useTypedRelationFunctions:this.isFetchStructureTyped}),this.graphManagerState)}buildFromQuery(){Ks(this.isQuerySupported,"Query must be supported to build from function");const e=Gs(this.executionContextState.mapping,"Mapping required to build from() function"),t=Gs(this.executionContextState.runtimeValue,"Runtime required to build from query"),n=js(t,h$).packageableRuntime,i=((e,t,n)=>{const i=Gs(e.expressionSequence[0]),r=new YE(sS(exports.SUPPORTED_FUNCTIONS.FROM)),s=new PE(nS.ONE,void 0);s.values=[XC.create(t)];const o=new PE(nS.ONE,void 0);return o.values=[XC.create(n)],r.parametersValues=[i,s,o],e.expressionSequence=[r],e})(vEi(this),e,n.value);return m6(i,this.graphManagerState)}getQueryReturnType(){if(this.fetchStructureState.implementation instanceof Rwi){return this.lambdaWriteMode===GOi.STANDARD?this.graphManagerState.graph.getClass(zct.TDS_TABULAR_DATASET):this.graphManagerState.graph.getType(zct.RELATION)}return gS.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(),!Ij(e)){const t=xte(this.graphManagerState.graphManager.buildValueSpecification(this.graphManagerState.graphManager.serializeRawValueSpecification(e),this.graphManagerState.graph),this.observerContext),i=js(t,ZE,"Can't build query state: query builder only support lambda");tLi(Gs(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){Kr(s),this.applicationStore.logService.error(vb.create(Dct.UNSUPPORTED_QUERY_LAUNCH),s),this.resetQueryResult({preserveResult:t?.preserveResult}),this.resetQueryContent(),this.unsupportedQueryState.setLambdaError(s),this.unsupportedQueryState.setRawLambda(e),this.setClass(void 0);const o=(i=e,r=this.graphManagerState,(i.parameters??[]).map(e=>r.graphManager.buildValueSpecification(e,r.graph))).map(e=>xte(e,this.observerContext)).filter(zs(ME));eLi(o,this,{parameterValues:n})}var i,r}*compileQuery(){if(this.textEditorState.mode){if(this.textEditorState.mode===fTi.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(Kr(e),e instanceof RZ){this.applicationStore.logService.error(vb.create(sw.COMPILATION_FAILURE),e),this.applicationStore.notificationService.notifyWarning(`Compilation failed: ${e.message}`,e.trace);ete(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){Kr(e),this.applicationStore.logService.error(vb.create(sw.COMPILATION_FAILURE),e);let t=!0;e instanceof RZ&&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(fTi.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 _3(this.graphManagerState.graph)}INTERNAL__toBasicQueryBuilderState(){const e=new zOi(this.applicationStore,this.graphManagerState,this.workflowState,void 0);return e.class=this.class,e.executionContextState.mapping=this.executionContextState.mapping,e.executionContextState.runtimeValue=this.executionContextState.runtimeValue,e}get hashCode(){return $v([wdt.QUERY_BUILDER_STATE,this.unsupportedQueryState,this.milestoningState,this.parametersState,this.filterState,this.watermarkState,this.checkEntitlementsState,this.fetchStructureState.implementation])}}class zOi extends HOi{}class WOi{queryBuilderState;binding;inputData;constructor(e,t,n){this.queryBuilderState=n,this.binding=e,this.inputData=t}}const jOi=(e,t,n)=>{t.fetchStructureState.changeImplementation(xSi.GRAPH_FETCH),Ks(2===e.parametersValues.length||3===e.parametersValues.length,"Can't process serialize() expression: serialize() expects 1 or 2 argument");const i=js(e.parametersValues[0],YE,"Can't process serialize() expression: only support serialize() immediately following an expression");if(Ks(lS(i.functionName,[$ct.GRAPH_FETCH,$ct.GRAPH_FETCH_CHECKED]),"Can't process serialize() expression: only support serialize() in graph-fetch expression"),JOi.process(i,n,t),t.fetchStructureState.implementation instanceof hTi){const n=t.fetchStructureState.implementation,i=js(e.parametersValues[1],rw,"Can't process serialize() expression: serialize() graph-fetch is missing"),r=js(i.values[0],tw,"Can't process serialize() expression: serialize() graph-fetch tree root is missing");Ks(0===r.subTypeTrees.length,"Can't process serialize() expression: subTypeTree is not supported."),n.setGraphFetchTree(Zxi(r));const s=e.parametersValues[2];if(s){const e=js(s,YE,"Can't process serialize() expression: serialize() function expects a function to configure custom serialization");Ks(lS(e.functionName,[exports.SUPPORTED_FUNCTIONS.NEW]),"Can't process serialize() expression: config expects 'new' function instaniate new config class");const t=js(n.serializationState,dTi,"Can't process serialize() expression: serialization state expected to be of type pure with serialize()"),i=js(js(js(e.parametersValues[0],PE,"Can't process serialize() expression: serialization config expects first param to be an instance value").values[0],KC,"Can't process serialize() expression: serialization config expects first param to be a packageable element").value,wS,"Can't process serialize() expression: serialization config expects first param to be a class");Ks(i.path===zct.SERIALIZE_CONFIG,`Can't process serialize() expression: serialiaztion config class expected to be '${zct.SERIALIZE_CONFIG}', got : ${i.path}`);const r=js(e.parametersValues[2],VE,"Can't process serialize() expression: serialization config expects third param to be a collection instance of key expressions"),o=new lTi;r.values.forEach((e,t)=>{const n=js(e,GE,`Can't process serialize() expression: collection instance value expects value ${t+1} to be key expression instance `);((e,t,n,i)=>{const r=js(e.key,FE,`Can't process serialize() expression: serialization config key expression ${i} key expected to be a primitive value`);Ks(r.genericType.value.rawType.path===TC.STRING,`Can't process serialize() expression: serialization config key expression ${i} key expected to be a primitive string value`);const s=io(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);Gs(o.find(e=>e===s),`Property name '${s}' not defined in serialization config, accepted properties are ${o.join(",")}`);const a=qw(n,s),l=js(a.genericType.value.rawType,gS,`Only primitive types suppported for config. Property ${s} for class '${zct.SERIALIZE_CONFIG}' is of type '${a.genericType.value.rawType.path}'`),c=Gs(js(e.expression,FE,"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 TC.STRING:to(c);break;case TC.BOOLEAN:no(c);break;default:return}t[s]=c})(Gs(n.values[0],`Can't process serialize() expression: serialization config key expression ${t} expected to non null`),o,i,t)}),t.setConfig(o)}}},$Oi=(e,t,n)=>{const i=js(e.parametersValues[0],YE,"Can't process project() expression: only support project() immediately following an expression");Ks(lS(i.functionName,[jct.GET_ALL,jct.GET_ALL_VERSIONS,jct.GET_ALL_VERSIONS_IN_RANGE,$ct.FILTER,$ct.WATERMARK]),"Can't process project() expression: only support project() immediately following either getAll(), filter(), or forWatermark()"),JOi.process(i,n,t)},qOi=(e,t,n)=>{if(2===e.parametersValues.length)((e,t,n)=>{t.fetchStructureState.changeImplementation(xSi.TABULAR_DATA_STRUCTURE),Ks(2===e.parametersValues.length,"Can't process project() expression: project() expects 2 arguments"),$Oi(e,t,n);const i=e.parametersValues[1];i instanceof VE?i.values.map(i=>JOi.processChild(i,e,n,t)):(Ws(i,YE,"Can't process project() expression: project() expects argument #1 to be a function expression"),JOi.processChild(i,e,n,t))})(e,t,n);else{t.fetchStructureState.changeImplementation(xSi.TABULAR_DATA_STRUCTURE),Ks(3===e.parametersValues.length,"Can't process project() expression: project() expects 3 arguments"),$Oi(e,t,n);const i=e.parametersValues[1];Ws(i,VE,"Can't process project() expression: project() expects argument #1 to be a collection"),i.values.map(i=>JOi.processChild(i,e,n,t));const r=e.parametersValues[2];let s=[];if(r instanceof VE?(Ws(r,VE,"Can't process project() expression: project() expects argument #2 to be a collection or a string"),s=r.values.map(Cdt).filter(Vs)):(Ws(r,FE,"Can't process project() expression: project() expects argument #2 to be a collection or string"),s=[r.values[0]]),Ks(i.values.length===s.length,"Can't process project() expression: number of aliases does not match the number of columns"),t.fetchStructureState.implementation instanceof Rwi){t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(s[t]))}}},YOi=(e,t,n)=>{if(n.fetchStructureState.implementation instanceof Rwi){const i=n.fetchStructureState.implementation;let r=e;for(;r instanceof KE;){const e=r;for(bdt(r,n.graphManagerState.graph,n),r=Gs(r.parametersValues[0]),e.func.value instanceof US&&Ks((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 YE&&lS(r.functionName,$ct.SUBTYPE);)r=Gs(r.parametersValues[0])}Ws(r,ME,"Can't process property expression: expects expression root to be a variable");const s=new aSi(i,e,!1);i.addColumn(s,{skipSorting:!0}),t&&s.setColumnName(t),s.setLambdaParameterName(r.name)}},KOi=(e,t,n,i)=>{if(i.fetchStructureState.implementation instanceof Rwi){const r=i.fetchStructureState.implementation,s=Xr(()=>js(rD(e.content),wT));Us(s,`Can't process unknown value: only support ${n.functionName}() column expression as a lambda`);const o=new cSi(r,new DE(s.parameters,s.body));r.addColumn(o,{skipSorting:!0}),t&&o.setColumnName(t)}},XOi=(e,t,n)=>{Ks(2===e.parametersValues.length,"Can't process take() expression: take() expects 1 argument");const i=js(e.parametersValues[0],YE,"Can't process take() expression: only support take() immediately following an expression");if(Ks(lS(i.functionName,[$ct.TDS_TAKE,$ct.TDS_DISTINCT,$ct.TDS_SORT,$ct.TDS_PROJECT,$ct.TDS_GROUP_BY,$ct.TDS_FILTER,$ct.OLAP_GROUPBY]),"Can't process take() expression: only support take() in TDS expression"),JOi.process(i,n,t),t.fetchStructureState.implementation instanceof Rwi){const n=t.fetchStructureState.implementation,i=(e=>{if(e instanceof FE&&Qs(e.values[0]))return e.values[0]})(Gs(e.parametersValues[1]));n.resultSetModifierState.setLimit(i)}},QOi=(e,t,n)=>{const i=e.parametersValues.length;Ks(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=js(e.parametersValues[0],YE,"Can't process olapGroupBy() expression: only support olapGroupBy() immediately following an expression");Ks(lS(c.functionName,[$ct.TDS_TAKE,$ct.TDS_DISTINCT,$ct.TDS_SORT,$ct.TDS_PROJECT,$ct.TDS_GROUP_BY,$ct.TDS_FILTER,$ct.OLAP_GROUPBY]),"Can't process olapGroupBy() expression: only support olapGroupBy() in TDS expression"),JOi.process(c,n,t);const d=js(t.fetchStructureState.implementation,Rwi);Ws(s,VE,"Can't process olapGroupBy() expression: olapGroupBy() expects argument #1 to be a collection");const u=s.values.map(e=>{const t=io(js(e,FE,"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 NSi(d,t)});let h,p;if(r){const e=js(o,YE,"Can't process olapGroupBy sortBy expression: only support function expression of 'asc' or 'desc'"),t=(e=>{if(lS(e,$ct.TDS_ASC))return Yct.ASC;if(lS(e,$ct.TDS_DESC))return Yct.DESC;throw new Yr(`Unsupported TDS sort function: ${e}`)})(e.functionName),n=io(js(e.parametersValues[0],FE,"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=NSi(d,n);h=new ewi(i,t)}if(a instanceof YE){Ks(lS(a.functionName,[$ct.TDS_FUNC]),"Can't process olapGroupBy() operation expression: olapGroupBy() aggregation should contain function 'func'");const e=a.parametersValues,t=io(js(e[0],FE,"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=NSi(d,t),i=js(js(e[1],ZE).values[0],QE);Ks(1===i.expressionSequence.length);const r=js(i.expressionSequence[0],YE),s=Gs(d.windowState.findOperator(r.functionName),`olapGroupBy() operator '${r.functionName}' not supported`);p=new iwi(d.windowState,s,n),p.setLambdaParameterName(js(i.functionType.parameters[0],ME,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name)}else{const e=js(js(a,ZE).values[0],QE);Ks(1===e.expressionSequence.length);const t=js(e.expressionSequence[0],YE),n=Gs(d.windowState.findOperator(t.functionName),`olapGroupBy() operator '${t.functionName}' not supported`);Ks(!n.isColumnAggregator(),`Operator '${n.getLabel()}' expects a TDS column to aggregate against`),p=new nwi(d.windowState,n),p.setLambdaParameterName(js(e.functionType.parameters[0],ME,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name)}const g=io(js(l,FE,"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 rwi(d.windowState,u,h,p,g);d.windowState.addWindowColumn(m),d.setShowWindowFuncPanel(!0)},ZOi=e=>!(e instanceof YE)||!lS(e.functionName,$ct.FIRST_DAY_OF_YEAR)&&!lS(e.functionName,$ct.FIRST_DAY_OF_MONTH)&&!e.parametersValues.map(e=>ZOi(e)).includes(!1);class JOi{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 JOi(n,t,void 0))}static processChild(e,t,n,i){e.accept_ValueSpecificationVisitor(new JOi(i,n,t))}visit_INTERNAL__UnknownValueSpecification(e){if(Us(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),!lS(this.parentExpression.functionName,[$ct.TDS_PROJECT,$ct.TDS_GROUP_BY,$ct.TDS_AGG,...Object.values(Wct)]))throw new Yr(`Can't process unknown value with parent expression of function ${this.parentExpression.functionName}()`);KOi(e,void 0,this.parentExpression,this.queryBuilderState)}visit_INTERNAL__PropagatedValue(e){throw new Yr}visit_FunctionExpression(e){throw new Yr}visit_SimpleFunctionExpression(e){const t=e.functionName;if(lS(t,jct.GET_ALL))((e,t)=>{const n=e.genericType?.value.rawType;Ws(n,wS,"Can't process getAll() expression: getAll() return type is missing"),t.setClass(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=Uw(n,t.graphManagerState.graph);i?t.milestoningState.getMilestoningImplementation(i).processGetAllParamaters(e.parametersValues):Ks(1===e.parametersValues.length,"Can't process getAll() expression: getAll() expects no arguments")})(e,this.queryBuilderState);else if(lS(t,jct.GET_ALL_VERSIONS))((e,t)=>{const n=e.genericType?.value.rawType;Ws(n,wS,"Can't process getAllVersions() expression: getAllVersions() return type is missing"),t.setClass(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData(),Us(Uw(n,t.graphManagerState.graph),"Can't process getAllVersions() expression: getAllVersions() expects source class to be milestoned"),Ks(1===e.parametersValues.length,"Can't process getAllVersions() expression: getAllVersions() expects no arguments"),t.setGetAllFunction(jct.GET_ALL_VERSIONS)})(e,this.queryBuilderState);else if(lS(t,jct.GET_ALL_VERSIONS_IN_RANGE))((e,t)=>{const n=e.genericType?.value.rawType;Ws(n,wS,"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() return type is missing"),t.setClass(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=Uw(n,t.graphManagerState.graph);Ks(void 0!==i&&i!==kC.BITEMPORAL,"Can't process getAllVersionsInRange() expression: getAllVersionInRange() expects source class to be processing temporal or business temporal milestoned"),Ks(3===e.parametersValues.length,"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects start and end date"),t.setGetAllFunction(jct.GET_ALL_VERSIONS_IN_RANGE),t.milestoningState.setStartDate(Gs(e.parametersValues[1],"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects start date to be defined")),t.milestoningState.setEndDate(Gs(e.parametersValues[2],"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects end date to be defined"))})(e,this.queryBuilderState);else if(lS(t,$ct.INTERNALIZE))((e,t)=>{t.fetchStructureState.changeImplementation(xSi.GRAPH_FETCH);const n=e.functionName;Ks(3===e.parametersValues.length,`Can't process ${n}() expression: ${n}() expects 2 argument`);const i=e.parametersValues[0],r=i?.genericType?.value.rawType;Ws(r,wS,"Can't process internalize() expression: internalize() return type is missing"),t.setClass(r),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const s=js(e.parametersValues[1],PE,"Can't process internalize() expression: only support internalize() with 1st parameter as instance value"),o=js(js(s.values[0],KC,"Can't process internalize() expression: only support internalize() with 1st parameter as packagableElement value").value,IX,"Can't process internalize() expression: only support internalize() with 1st parameter as binding value"),a=js(e.parametersValues[2],ME),l=new WOi(o,a,t);t.setInternalize(l)})(e,this.queryBuilderState,this.parentLambda);else{if(lS(t,[$ct.FILTER,$ct.TDS_FILTER])){Ks(2===e.parametersValues.length,"Can't process filter() expression: filter() expects 1 argument");const n=js(e.parametersValues[0],YE,"Can't process filter() expression: only support filter() immediately following an expression");if(JOi.process(n,this.parentLambda,this.queryBuilderState),lS(n.functionName,[jct.GET_ALL,jct.GET_ALL_VERSIONS,jct.GET_ALL_VERSIONS_IN_RANGE]))return Ks(lS(t,$ct.FILTER),`Can't process filter() expression: only supports ${$ct.FILTER}() immediately following getAll() (got '${t}')`),void qxi(e,this.queryBuilderState);if(lS(n.functionName,[$ct.TDS_PROJECT,$ct.TDS_GROUP_BY,$ct.OLAP_GROUPBY]))return Ks(lS(t,$ct.TDS_FILTER),`Can't process post-filter expression: only supports ${$ct.TDS_FILTER}() immediately following project()/groupBy() (got '${t}')`),void((e,t)=>{if(t.fetchStructureState.implementation instanceof Rwi){const n=t.fetchStructureState.implementation,i=n.postFilterState,r=n.fetchStructureState,s=e.parametersValues[1];Ws(s,ZE,"Can't process post-filter expression: expects argument #1 to be a lambda function"),Ws(r.implementation,Rwi,"Can't process post-filter lambda: post-filter lambda must use projection fetch structure"),Ks(Boolean(n.projectionColumns.length),"Can't process post-filter lambda: post-filter lambda must have at least one projection column ");const o=Gs(s.values[0],"Can't process post-filter lambda: post-filter lambda function is missing");Ks(1===o.expressionSequence.length,"Can't process post-filter lambda: only support post-filter lambda body with 1 expression");const a=js(o.expressionSequence[0],qE,"Can't process post-filter lambda: only support post-filter lambda body of type 'FunctionExpression'");Ks(1===o.functionType.parameters.length,"Can't process post-filter lambda: only support post-filter lambda with 1 parameter"),i.setLambdaParameterName(js(o.functionType.parameters[0],ME,"Can't process post-filter lambda: only support filter() lambda with 1 parameter of type 'VariableExpression'").name),MSi(a,i,void 0),n.setShowPostFilterPanel(!0),i.simplifyTree()}})(e,this.queryBuilderState);if(lS(n.functionName,[$ct.WATERMARK]))return void qxi(e,this.queryBuilderState);throw new Yr("Can't process filter() expression: only support filter() immediately following getAll() or project()/forWatermark()/groupBy()/olapGroupBy()")}if(lS(t,$ct.WATERMARK))((e,t,n)=>{const i=js(e.parametersValues[0],YE,"Can't process forWatermark() expression: only support forWatermark() immediately following an expression");Ks(lS(i.functionName,[jct.GET_ALL,jct.GET_ALL_VERSIONS,jct.GET_ALL_VERSIONS_IN_RANGE]),"Can't process forWatermark() expression: only support forWatermark() immediately following getAll()"),JOi.process(i,n,t);const r=e.parametersValues[1];t.watermarkState.setValue(r)})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,[$ct.TDS_PROJECT,$ct.RELATION_PROJECT]))(n=e).functionName===$ct.RELATION_PROJECT||lS(n.functionName,[$ct.TDS_PROJECT,$ct.RELATION_PROJECT])&&2===n.parametersValues.length&&n.parametersValues[1]instanceof jE?((e,t,n)=>{Ks(2===e.parametersValues.length,"Can't process typed project() expression: typed project() expects 2 arguments"),t.fetchStructureState.changeImplementation(xSi.TABULAR_DATA_STRUCTURE);const i=js(e.parametersValues[0],YE,"Can't process typed project() expression: only support typed project() immediately following an expression");Ks(lS(i.functionName,[jct.GET_ALL,jct.GET_ALL_VERSIONS,jct.GET_ALL_VERSIONS_IN_RANGE,$ct.FILTER,$ct.WATERMARK]),"Can't process typed project() expression: only support typed project() immediately following either getAll(), filter(), or forWatermark()"),JOi.process(i,n,t);const r=e.parametersValues[1];Ws(r,jE,"Can't process typed project() expression: typed project() expects argument #1 to be a ColSpec Array Instance"),t.setLambdaWriteMode(GOi.TYPED_FETCH_STRUCTURE),JOi.processChild(r,e,n,t)})(e,this.queryBuilderState,this.parentLambda):qOi(e,this.queryBuilderState,this.parentLambda);else if(lS(t,$ct.TDS_COL))((e,t)=>{Ks(2===e.parametersValues.length,"Can't process col() func expression: col() expects 2 argument");const n=js(e.parametersValues[0],ZE,"Can't process col() func expressionn: only support col() immediately following an lambda function"),i=js(e.parametersValues[1],FE,"Can't process col() func expression: the #2 argument of col() should be a string");YOi(js(n.values[0]?.expressionSequence[0],KE,"Can't process col() func expression: lambda function of col() should contain AbstractPropertyExpression"),i.values[0],t),t.fetchStructureState.implementation instanceof Rwi&&t.fetchStructureState.implementation.setUseColFunc(!0)})(e,this.queryBuilderState);else if(lS(t,[$ct.TDS_TAKE,$ct.RELATION_LIMIT]))XOi(e,this.queryBuilderState,this.parentLambda);else if(lS(t,$ct.TDS_DISTINCT))((e,t,n)=>{Ks(1===e.parametersValues.length,"Can't process disctinct() expression: distinct() expects no parameter");const i=js(e.parametersValues[0],YE,"Can't process distinct() expression: only support distinct() immediately following an expression");Ks(lS(i.functionName,[$ct.TDS_TAKE,$ct.TDS_DISTINCT,$ct.TDS_SORT,$ct.TDS_PROJECT,$ct.TDS_GROUP_BY,$ct.TDS_FILTER,$ct.OLAP_GROUPBY]),"Can't process distinct() expression: only support distinct() in TDS expression"),JOi.process(i,n,t),t.fetchStructureState.implementation instanceof Rwi&&(t.fetchStructureState.implementation.resultSetModifierState.distinct=!0)})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,$ct.TDS_SORT))((e,t,n)=>{Ks(2===e.parametersValues.length,"Can't process sort() expression: sort() expects 1 argument");const i=js(e.parametersValues[0],YE,"Can't process sort() expression: only support sort() immediately following an expression");Ks(lS(i.functionName,[$ct.TDS_TAKE,$ct.TDS_DISTINCT,$ct.TDS_SORT,$ct.TDS_PROJECT,$ct.TDS_GROUP_BY,$ct.TDS_FILTER,$ct.OLAP_GROUPBY]),"Can't process sort() expression: only support sort() in TDS expression"),JOi.process(i,n,t);const r=e.parametersValues[1];Ws(r,VE,"Can't process sort() expression: sort() argument should be a collection"),r.values.map(i=>JOi.processChild(i,e,n,t))})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,$ct.SLICE))((e,t,n)=>{Ks(3===e.parametersValues.length,"Can't process slice() expression: slice() expects 2 argument");const i=js(e.parametersValues[0],YE,"Can't process slice() expression: only support slice() immediately following an expression");if(Ks(lS(i.functionName,[$ct.TDS_TAKE,$ct.TDS_DISTINCT,$ct.TDS_SORT,$ct.TDS_PROJECT,$ct.TDS_GROUP_BY,$ct.TDS_FILTER,$ct.OLAP_GROUPBY]),"Can't process slice() expression: only support slice() in TDS expression"),JOi.process(i,n,t),t.fetchStructureState.implementation instanceof Rwi){const n=t.fetchStructureState.implementation,i=ro(js(e.parametersValues[1],FE,"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=ro(js(e.parametersValues[2],FE,"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(lS(t,[$ct.TDS_ASC,$ct.TDS_DESC]))((e,t,n)=>{const i=e.functionName;if(Ks(Boolean(t&&lS(t.functionName,$ct.TDS_SORT)),`Can't process ${i}() expression: only support ${i}() used within a sort() expression`),Ks(1===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects one argument`),n.fetchStructureState.implementation instanceof Rwi){const t=n.fetchStructureState.implementation,r=Cdt(Gs(e.parametersValues[0])),s=t.tdsColumns.find(e=>e.columnName===r);if(s){const e=new ESi(s);e.sortType=lS(i,$ct.TDS_ASC)?Yct.ASC:Yct.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(lS(t,[$ct.RELATION_ASC,$ct.RELATION_DESC]))((e,t,n)=>{const i=e.functionName;if(Ks(Boolean(t&&lS(t.functionName,$ct.TDS_SORT)),`Can't process ${i}() expression: only support ${i}() used within a sort() expression`),Ks(1===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects one argument`),n.fetchStructureState.implementation instanceof Rwi){const t=n.fetchStructureState.implementation,r=js(e.parametersValues[0],zE);Ks(1===r.values.length,`Can't process ${i}() expression: Col Spec Instance Value expects one value`);const s=Gs(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 ESi(o);e.sortType=lS(i,$ct.RELATION_ASC)?Yct.ASC:Yct.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(lS(t,[$ct.TDS_GROUP_BY,$ct.RELATION_GROUP_BY]))(e=>e.functionName===$ct.RELATION_GROUP_BY||lS(e.functionName,[$ct.TDS_GROUP_BY,$ct.RELATION_GROUP_BY])&&3===e.parametersValues.length&&e.parametersValues[1]instanceof jE)(e)?((e,t,n)=>{Ks(3===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 2 arguments");const i=js(e.parametersValues[0],YE,"Can't process groupBy() expression: only support groupBy() immediately following an expression");Ks(lS(i.functionName,[$ct.RELATION_PROJECT]),"Can't process groupBy() expression: only support groupBy() immediately following relation project()"),JOi.process(i,n,t);const r=js(t.fetchStructureState.implementation,Rwi),s=js(e.parametersValues[1],jE,"Can't process groupBy() expression: groupBy() expects argument #1 to be a ColSpecArrayInstance");Ks(1===s.values.length,"Can't process groupBy() expression: groupBy() expects argument #1 to be a ColSpecArrayInstance with 1 element"),t.setLambdaWriteMode(GOi.TYPED_FETCH_STRUCTURE),s.values[0]?.colSpecs.forEach(e=>{Ks(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];Ws(o,jE,"Can't process groupBy() expression: groupBy() expects argument #2 to be a ColSpecArrayInstance"),JOi.processChild(o,e,n,t)})(e,this.queryBuilderState,this.parentLambda):((e,t,n)=>{t.fetchStructureState.changeImplementation(xSi.TABULAR_DATA_STRUCTURE),Ks(4===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 3 arguments");const i=js(e.parametersValues[0],YE,"Can't process groupBy() expression: only support groupBy() immediately following an expression");Ks(lS(i.functionName,[jct.GET_ALL,jct.GET_ALL_VERSIONS,jct.GET_ALL_VERSIONS_IN_RANGE,$ct.FILTER]),"Can't process groupBy() expression: only support groupBy() immediately following either getAll() or filter()"),JOi.process(i,n,t);const r=e.parametersValues[1];Ws(r,VE,"Can't process groupBy() expression: groupBy() expects argument #1 to be a collection"),r.values.map(i=>JOi.processChild(i,e,n,t));const s=e.parametersValues[2];Ws(s,VE,"Can't process groupBy() expression: groupBy() expects argument #2 to be a collection"),s.values.map(i=>JOi.processChild(i,e,n,t));const o=e.parametersValues[3];Ws(o,VE,"Can't process groupBy() expression: groupBy() expects argument #3 to be a collection"),Ks(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(Cdt).filter(Vs);t.fetchStructureState.implementation instanceof Rwi&&t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(a[t]))})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,$ct.TDS_AGG))((e,t,n,i)=>{if(Ks(Boolean(t&&lS(t.functionName,$ct.TDS_GROUP_BY)),"Can't process agg() expression: only support agg() used within a groupBy() expression"),Ks(2===e.parametersValues.length,"Can't process agg() expression: agg() expects 2 arguments"),JOi.processChild(Gs(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof Rwi){const t=n.fetchStructureState.implementation,i=t.aggregationState,r=Gs(t.projectionColumns[t.projectionColumns.length-1]),s=e.parametersValues[1];Ws(s,ZE,"Can't process agg() expression: agg() expects argument #1 to be a lambda function");const o=Gs(s.values[0],"Can't process agg() lambda: agg() lambda function is missing");Ks(1===o.expressionSequence.length,"Can't process agg() lambda: only support agg() lambda body with 1 expression");const a=js(o.expressionSequence[0],YE,"Can't process agg() lambda: only support agg() lambda body with 1 expression");let l;if(n.isCalendarEnabled){const t=e.parametersValues[0];Ws(t,ZE,"Can't process agg() expression: agg() expects argument #0 to be a lambda function");const n=Gs(t.values[0],"Can't process agg() lambda: agg() lambda function is missing");Ks(1===n.expressionSequence.length,"Can't process agg() lambda: only support agg() lambda body with 1 expression"),l=n.expressionSequence[0]instanceof YE?n.expressionSequence[0]:void 0}Ks(1===o.functionType.parameters.length,"Can't process agg() lambda: only support agg() lambda with 1 parameter");const c=js(o.functionType.parameters[0],ME,"Can't process agg() lambda: only support agg() lambda with 1 parameter");for(const e of i.operators){const t=Xr(()=>e.buildAggregateColumnState(a,c,r));if(r.wavgWeight&&t&&t.operator instanceof ZEi&&t.operator.setWeight(r.wavgWeight),t){if(i.addColumn(t),n.isCalendarEnabled&&void 0!==l)for(const e of i.calendarFunctions)Xr(()=>e.updateAggregateColumnState(Gs(l),t));return void(t.calendarFunction||t.setHideCalendarColumnState(!0))}}throw new Yr("Can't process aggregate expression function: no compatible aggregate operator processer available from plugins")}})(e,this.parentExpression,this.queryBuilderState,this.parentLambda);else if(lS(t,$ct.OLAP_GROUPBY))QOi(e,this.queryBuilderState,this.parentLambda);else if(lS(t,$ct.SERIALIZE))jOi(e,this.queryBuilderState,this.parentLambda);else if(lS(t,$ct.EXTERNALIZE))((e,t,n)=>{t.fetchStructureState.changeImplementation(xSi.GRAPH_FETCH),Ks(3===e.parametersValues.length,"Can't process externalize() expression: externalize() expects 2 argument");const i=js(e.parametersValues[0],YE,"Can't process externalize() expression: only support externalize() immediately following an expression");if(Ks(lS(i.functionName,[$ct.GRAPH_FETCH,$ct.GRAPH_FETCH_CHECKED,$ct.INTERNALIZE]),"Can't process externalize() expression: only support externalize() in graph-fetch expression"),JOi.process(i,n,t),t.fetchStructureState.implementation instanceof hTi){const n=t.fetchStructureState.implementation,r=js(i.parametersValues[1],rw,"Can't process graphfetch() expression: externalize() graph-fetch is missing"),s=js(r.values[0],tw,"Can't process graphfetch() expression: graph-fetch tree root is missing");n.setGraphFetchTree(Zxi(s));const o=js(e.parametersValues[1],PE,"Can't process externalize() expression: only support externalize() with 1st parameter as instance value"),a=js(js(o.values[0],KC,"Can't process externalize() expression: only support externalize() with 1st parameter as packagableElement value").value,IX,"Can't process externalize() expression: only support externalize() with 1st parameter as binding value"),l=new uTi(n,a,void 0);n.setSerializationState(l);const c=js(e.parametersValues[2],rw,"Can't process externalize() expression: externalize() graph-fetch is missing"),d=js(c.values[0],tw,"Can't process externalize() expression: externalize() graph-fetch tree root is missing");l.setGraphFetchTree(Zxi(d))}})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,[$ct.GRAPH_FETCH_CHECKED,$ct.GRAPH_FETCH]))((e,t,n)=>{const i=e.functionName;Ks(2===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects 1 argument`);const r=js(e.parametersValues[0],YE,`Can't process ${i}() expression: only support ${i}() immediately following an expression`);Ks(lS(r.functionName,[$ct.FILTER,jct.GET_ALL,jct.GET_ALL_VERSIONS,jct.GET_ALL_VERSIONS_IN_RANGE]),`Can't process ${i}(): only support ${i}() immediately following either getAll() or filter()`),JOi.process(r,n,t),t.fetchStructureState.implementation instanceof hTi&&t.fetchStructureState.implementation.setChecked(lS(e.functionName,$ct.GRAPH_FETCH_CHECKED))})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,[exports.SUPPORTED_FUNCTIONS.LET]))((e,t,n)=>{const i=e.parametersValues;Ks(2===e.parametersValues.length,"Let function expected to have two parameters (left and right side value)");const r=io(js(i[0],FE,"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=Gs(n.openVariables.get(r),`Unable to find variable ${r} in lambda function`),o=Gs(i[1]);let a;a=o instanceof LE?new AOi(t,s,o.content):ZOi(o)?new xOi(t,s,o):new AOi(t,s,t.graphManagerState.graphManager.serializeValueSpecification(o)),t.constantState.setShowConstantPanel(!0),t.constantState.addConstant(a)})(e,this.queryBuilderState,this.parentLambda);else{if(lS(t,[exports.SUPPORTED_FUNCTIONS.FROM])){const t=e.parametersValues;return Ks(3===t.length,"From function expects 2 parameters (mapping and runtime)"),((e,t)=>{const n=js(e.parametersValues[1],PE,"Can't process from() expression: only support from() with 1st parameter as instance value"),i=js(js(n.values[0],KC,"Can't process from() expression: only support from() with 1st parameter as packagableElement value").value,dw,"Can't process from() expression: only support from() with 1st parameter as mapping value"),r=js(e.parametersValues[2],PE,"Can't process from() expression: only support from() with 2nd parameter as instance value"),s=js(js(r.values[0],KC,"Can't process from() expression: only support from() with 2nd parameter as packagableElement value").value,pw,"Can't process from() expression: only support from() with 2nd parameter as runtime value"),o=new gEi(t);o.setMapping(i),o.setRuntimeValue(new h$(XC.create(s))),t.setExecutionContextState(o)})(e,this.queryBuilderState),void JOi.processChild(Gs(t[0]),e,this.parentLambda,this.queryBuilderState)}if(lS(t,Object.values(Wct)))return this.queryBuilderState.isCalendarEnabled=!0,Ks(4===e.parametersValues.length,"Calendar function expected to have four parameters"),void JOi.processChild(Gs(e.parametersValues[3]),e,this.parentLambda,this.queryBuilderState);var n;if(!lS(t,$ct.WAVG_ROW_MAPPER))throw new Yr(`Can't process expression of function ${t}()`);((e,t,n,i)=>{if(Ks(Boolean(t&&lS(t.functionName,$ct.TDS_AGG)),"Can't process wavgRowMapper() expression: only support wavgRowMapper() used within an agg() expression"),Ks(2===e.parametersValues.length,"Can't process wavgRowMapper() expression: wavgRowMapper() expects 2 arguments"),e.parametersValues.map(e=>Ws(e,KE,"Can't process wavgRowMapper() expression: wavgRowMapper() expects arguments to be Property Expressions")),JOi.processChild(Gs(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof Rwi){const t=n.fetchStructureState.implementation;Gs(t.projectionColumns[t.projectionColumns.length-1]).setWavgWeight(e.parametersValues[1])}})(e,this.parentExpression,this.queryBuilderState,this.parentLambda)}}}visit_VariableExpression(e){throw new Yr}visit_AbstractPropertyExpression(e){if(Us(this.parentExpression,"Can't process property expression: parent expression cannot be retrieved"),!lS(this.parentExpression.functionName,[$ct.TDS_PROJECT,$ct.RELATION_PROJECT,$ct.TDS_GROUP_BY,$ct.TDS_AGG,$ct.WAVG_ROW_MAPPER,...Object.values(Wct)]))throw new Yr(`Can't process property expression with parent expression of function ${this.parentExpression.functionName}()`);YOi(e,void 0,this.queryBuilderState)}visit_InstanceValue(e){throw new Yr}visit_KeyExpressionInstanceValue(e){throw new Yr}visit_CollectionInstanceValue(e){throw new Yr}visit_EnumValueInstanceValue(e){throw new Yr}visit_PrimitiveInstanceValue(e){throw new Yr}visit_LambdaFunctionInstanceValue(e){e.values.forEach(e=>e.expressionSequence.forEach(e=>e.accept_ValueSpecificationVisitor(new JOi(this.queryBuilderState,this.parentLambda,this.parentExpression))))}visit_GraphFetchTreeInstanceValue(e){throw new Yr}visit_ColSpecArrayInstance(e){if(Us(this.parentExpression,"Can't process col spec aray instance: parent expression cannot be retrieved"),lS(this.parentExpression.functionName,[$ct.RELATION_PROJECT])){const t=e.values;return Ks(1===t.length,"Can't process col spec array instance: value expected to be of size 1"),void Gs(t[0]).colSpecs.forEach(e=>{const t=js(e.function1,ZE,"Can't process col spec: function1 not a lambda function instance value");Ks(1===t.values.length);const n=Gs(t.values[0]);Ks(1===n.expressionSequence.length);const i=Gs(n.expressionSequence[0]);i instanceof KE?YOi(i,e.name,this.queryBuilderState):i instanceof LE&&(Us(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),KOi(i,e.name,this.parentExpression,this.queryBuilderState))})}if(lS(this.parentExpression.functionName,[$ct.RELATION_GROUP_BY])){const t=e.values;return Ks(1===t.length,"Can't process col spec array instance: value expected to be of size 1"),void Gs(t[0]).colSpecs.forEach(e=>{((e,t,n)=>{Ks(Boolean(t&&lS(t.functionName,$ct.RELATION_GROUP_BY)),"Can't process typed aggregation ColSpec: only supported when used within a groupBy() expression");const i=js(e.function1,ZE,"Can't process colSpec: function1 is not a lambda function instance value");Ks(1===i.values.length,"Can't process typed aggregation ColSpec. function1 should only have 1 lambda value."),Ks(1===Gs(i.values[0]).expressionSequence.length,"Can't process typed aggregation ColSpec. function1 lambda should only have 1 expression.");const r=js(e.function2,ZE,"Can't process colSpec: function2 is not a lambda function instance value");if(n.fetchStructureState.implementation instanceof Rwi){const i=n.fetchStructureState.implementation,s=i.aggregationState,o=Gs(i.projectionColumns.find(t=>t.columnName===e.name),`Projection column with name ${e.name} not found`),a=Gs(r.values[0],"Can't process colSpec: function2 lambda function is missing");Ks(1===a.expressionSequence.length,"Can't process colSpec: only support colSpec function2 lambda body with 1 expression"),Ks(1===a.functionType.parameters.length,"Can't process colSpec function2 lambda: only support lambda with 1 parameter");const l=js(a.expressionSequence[0],YE,"Can't process colSpec: only support colSpec function2 lambda body with 1 expression"),c=js(a.functionType.parameters[0],ME,"Can't process colSpec function2 lambda: parameter is missing");for(const n of s.operators){const i=Xr(()=>n.buildAggregateColumnState(l,c,o));if(o.wavgWeight&&i&&i.operator instanceof ZEi&&i.operator.setWeight(o.wavgWeight),i){s.addColumn(i);const n=js(t?.genericType?.value.typeArguments?.[0]?.value.rawType,SS,"Can't process colSpec: parent groupBy() expression's return type is not a relation"),r=Gs(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?yS.create(new ES(o)):r.genericType)}}}throw new Yr("Can't process aggregate expression function: no compatible aggregate operator processer available from plugins")})(e,this.parentExpression,this.queryBuilderState)})}throw new Yr(`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 eLi=(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 ME&&Qct(i,e))r=n.value;else if(Xs(i)&&i===e.name){const t=n.value?.genericType?.value.rawType,i=e.genericType?.value.rawType;t&&i&&Qw(i,t)&&(r=n.value)}});const s=new dEi(e,t.observerContext,t.graphManagerState.graph);r?s.setValue(r):s.mockParameterValue(),i.addParameter(s)}),t.parametersState=i},tLi=(e,t,n)=>{e.functionType.parameters.length&&eLi(e.functionType.parameters,t,n),e.expressionSequence.map(n=>JOi.process(n,e,t))},nLi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),Yne.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:Yne.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:TC.STRICTDATE}),s(new OCi(e.target.value,ACi.ABSOLUTE_DATE))}})})},iLi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),Yne.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:Yne.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:TC.DATETIME}),s(new OCi(e.target.value,ACi.ABSOLUTE_TIME))}})})},rLi=e=>{const{customDateOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Wat(),o=n.useRef(null),[a,l]=n.useState(t.duration),[c,d]=n.useState(t.unit??NCi.DAYS),[u,h]=n.useState(t.direction??DCi.BEFORE),[p,g]=n.useState(t.referenceMoment??kCi.TODAY),m=(e,t,n,s)=>{if(0!==e&&""!==t&&""!==n&&""!==s){const o=new LCi(ACi.CUSTOM_DATE,ACi.CUSTOM_DATE,e,t,n,s);i(void 0,o);const a=FCi.filter(e=>e.generateDisplayLabel()===o.generateDisplayLabel());a.length>0?(o.label=Gs(a[0]?.label),o.value=Gs(a[0]?.value)):o.updateLabel(),r(o)}};return n.useEffect(()=>{o.current?.focus()},[]),Yne.jsxs("div",{className:"value-spec-editor__date-picker__custom-date",children:[Yne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Yne.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?Xr(()=>(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,u,p)}})}),Yne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Yne.jsx(BOe,{placeholder:"Unit",className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(NCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{d(e.value),m(a,e.value,u,p)},value:{value:c,label:c},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})}),Yne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Yne.jsx(BOe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(DCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{h(e.value),m(a,c,e.value,p)},value:{value:u,label:u},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})}),Yne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Yne.jsx(BOe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(kCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{g(e.value),m(a,c,u,e.value)},value:{value:p,label:p},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})},sLi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Wat(),o=n.useRef(null),[a,l]=n.useState(t instanceof MCi?t.unit:null);return n.useEffect(()=>{o.current?.focus()},[]),Yne.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:Yne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Yne.jsx(BOe,{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(RCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=Object.values(kCi).filter(t=>t.toString().includes(e)),n=t.length>0?new MCi(Gs(t[0]?.toString()),e):new MCi("",void 0);i(void 0,n),r(n)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},oLi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Wat(),o=n.useRef(null),[a,l]=n.useState(t instanceof PCi?t.day:null);return n.useEffect(()=>{o.current?.focus()},[]),Yne.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:Yne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Yne.jsx(BOe,{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(ICi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=new PCi(`Previous ${e}`,e);i(void 0,t),r(t)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},aLi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,hasError:s,typeCheckOption:o,displayAsEditableValue:a,handleBlur:l,readOnly:c}=e,d=Wat(),u=o.match?Object.values([ACi.ABSOLUTE_TIME,ACi.NOW]):Object.values(ACi),[h,p]=n.useState(HCi(t,d)),[g,m]=n.useState(null),f=e=>{m(e.currentTarget)};return n.useEffect(()=>{p(HCi(t,d))},[d,t]),Yne.jsxs(Yne.Fragment,{children:[a?Yne.jsx("span",{className:zse("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}"`:Yne.jsx(Yne.Fragment,{children:" "})}):Yne.jsx("button",{className:zse("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"}),Yne.jsxs(TCe,{open:Boolean(g),slotProps:{transition:{onEnter:()=>{p(HCi(t,d))}}},anchorEl:g,onClose:()=>{p(HCi(t,d)),m(null),l?.()},anchorOrigin:{vertical:a?20:"bottom",horizontal:a?50:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[Yne.jsx(oLe,{className:"value-spec-editor__date-picker__options",value:h.value,onChange:e=>{const t=new OCi(e.target.value,e.target.value);if(ACi.LATEST_DATE===t.value)r(void 0,e.target.value,{primitiveTypeEnum:TC.LATESTDATE});else if(![ACi.ABSOLUTE_DATE,ACi.ABSOLUTE_TIME,ACi.CUSTOM_DATE,ACi.FIRST_DAY_OF,ACi.PREVIOUS_DAY_OF_WEEK].includes(t.value)){const e=FCi.filter(e=>e.value===t.value);e.length>0?r(void 0,Gs(e[0])):r(void 0,t)}p(t)},row:!0,options:u,size:2}),(()=>{switch(h.value){case ACi.ABSOLUTE_DATE:return Yne.jsx(nLi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case ACi.ABSOLUTE_TIME:return Yne.jsx(iLi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case ACi.CUSTOM_DATE:return Yne.jsx(rLi,{customDateOptionValue:GCi(t,d),updateValueSpecification:r,setDatePickerOption:p});case ACi.FIRST_DAY_OF:return Yne.jsx(sLi,{customDateAdjustOptionValue:HCi(t,d),updateValueSpecification:r,setDatePickerOption:p});case ACi.PREVIOUS_DAY_OF_WEEK:return Yne.jsx(oLi,{customDateAdjustOptionValue:HCi(t,d),updateValueSpecification:r,setDatePickerOption:p});default:return null}})()]})]})},lLi=e=>{const{variable:t,children:n,placement:i}=e,r=t.genericType?.value.rawType;return Yne.jsx(hCe,{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:Yne.jsxs("div",{className:"value-spec-paramater__tooltip__content",children:[Yne.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[Yne.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Type"}),Yne.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:r?.name??"(unknown)"})]}),Yne.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[Yne.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Var Name"}),Yne.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:t.name})]}),Yne.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[Yne.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Multiplicity"}),Yne.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:Zw(t.multiplicity)})]})]}),children:n})},cLi="VARIABLE",dLi=Vse(e=>{const{valueSpecification:t,resetValue:n,isConstant:i,className:r}=e,s=t.name;return Yne.jsxs(Yne.Fragment,{children:[Yne.jsx($Pe,{labelGetter:e=>e.variable.name,types:[cLi]}),Yne.jsxs("div",{className:zse("value-spec-editor__variable",r,{"value-spec-editor__variable__constant":i}),children:[Yne.jsx("div",{className:"value-spec-editor__variable__icon",children:i?Yne.jsx("div",{className:"icon",children:"C"}):Yne.jsx(hre,{})}),Yne.jsxs("div",{className:"value-spec-editor__variable__label",children:[Yne.jsx("div",{className:"value-spec-editor__variable__text",children:s}),Yne.jsx(lLi,{variable:t,children:Yne.jsx("div",{className:"value-spec-editor__variable__info",children:Yne.jsx(Tre,{})})}),Yne.jsx("button",{className:"value-spec-editor__variable__reset-btn",name:"Reset",title:"Reset",onClick:n,children:Yne.jsx(yie,{})})]})]})]})}),uLi=Vse(n.forwardRef((e,t)=>{const{valueSpecification:n,valueSelector:i,updateValueSpecification:r,errorChecker:s,resetValue:o,handleBlur:a,handleKeyDown:l,className:c,selectorSearchConfig:d,selectorConfig:u,lightMode:h,readOnly:p}=e,g=Boolean(d),m=Wat(),f=i(n),y=f?{value:f,label:f}:null,v=d?.reloadValues,_=d?.isLoading,b=d?.values?.length?d.values.map(e=>({value:e,label:e.toString()})):void 0,C=void 0===d?.values?()=>null:void 0,S=`reset-${i(n)}`,E=`input-${i(n)}`;return Yne.jsxs("div",{className:zse("value-spec-editor",c),onBlur:e=>{e.relatedTarget?.name!==S&&e.relatedTarget?.name!==E&&a?.()},children:[g?Yne.jsx(BOe,{className:"value-spec-editor__enum-selector",options:b,onChange:e=>{const t=null===e?"":e.value.toString();r(n,t)},value:y,inputValue:f??"",onInputChange:(e,t)=>{if("input-change"===t.action){r(n,e),v?.cancel();const t=v?.(e);t&&t.catch(m.alertUnhandledError)}"input-blur"===t.action&&(v?.cancel(),d?.cleanUpReloadValues?.())},darkMode:!h,isLoading:_,allowCreateWhileLoading:!0,noOptionsMessage:C,components:{DropdownIndicator:null},hasError:s?.(n),placeholder:""===f?"(empty)":void 0,inputRef:t,onKeyDown:l,inputName:E,optionCustomization:u?.optionCustomization,disabled:p}):Yne.jsx(dxe,{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:E,disabled:p}),Yne.jsx("button",{className:"value-spec-editor__reset-btn",name:S,title:"Reset",onClick:o,disabled:p,children:Yne.jsx(yie,{})})]})})),hLi=Vse(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,className:s,readOnly:o}=e,a=n(t);return Yne.jsxs("div",{className:zse("value-spec-editor",s),children:[Yne.jsx("button",{role:"checkbox",className:zse("value-spec-editor__toggler__btn",{"value-spec-editor__toggler__btn--toggled":a}),onClick:()=>{i(t,!a)},disabled:o,children:a?Yne.jsx(ire,{}):Yne.jsx(Hre,{})}),Yne.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:o,children:Yne.jsx(yie,{})})]})}),pLi=Vse(n.forwardRef((e,t)=>{const{valueSpecification:i,valueSelector:r,updateValueSpecification:s,errorChecker:o,resetValue:a,handleBlur:l,handleKeyDown:c,className:d,isInteger:u,readOnly:h}=e,[p,g]=n.useState(r(i)?.toString()??""),m=n.useRef(null);n.useImperativeHandle(t,()=>m.current,[]);const f=p?u?Number.parseInt(Number(p).toString(),10):Number(p):null,y=e=>{if(e){const t=u?Number.parseInt(Number(e).toString(),10):Number(e);isNaN(t)||t===r(i)||s(i,t)}else a()},v=()=>{if(null!==f&&isNaN(f))try{const e=ro(vJn(p));y(e.toString()),g(e.toString())}catch{const e=r(i)?.toString()??"";y(e),g(e)}else null!==f?(y(f.toString()),g(f.toString())):a()};n.useEffect(()=>{if(null!==f&&!isNaN(f)&&f!==r(i)){const e=null!==r(i)?r(i).toString():"";g(e)}},[f,i,r]);const _=`reset-${r(i)}`,b=`input-${r(i)}`,C=`calculate-${r(i)}`;return Yne.jsxs("div",{className:zse("value-spec-editor",d),onBlur:e=>{e.relatedTarget?.name!==_&&e.relatedTarget?.name!==b&&e.relatedTarget?.name!==C&&l?.()},children:[Yne.jsxs("div",{className:"value-spec-editor__number__input-container",children:[Yne.jsx("input",{ref:m,className:zse("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:p,onChange:e=>{g(e.target.value),y(e.target.value)},onBlur:v,onKeyDown:e=>{(e=>{"Enter"===e.code?(v(),m.current?.focus()):"Escape"===e.code&&m.current?.select()})(e),c?.(e)},name:b,disabled:h}),Yne.jsx("div",{className:"value-spec-editor__number__actions",children:Yne.jsx("button",{className:"value-spec-editor__number__action",title:"Evaluate Expression (Enter)",name:C,onClick:v,disabled:h,children:Yne.jsx(xie,{})})})]}),Yne.jsx("button",{className:"value-spec-editor__reset-btn",name:_,title:"Reset",onClick:a,disabled:h,children:Yne.jsx(yie,{})})]})})),gLi=Vse(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,errorChecker:r,resetValue:s,handleBlur:o,options:a,className:l,selectorConfig:c,lightMode:d,readOnly:u}=e,h=n(t),p=`reset-${n(t)}`,g=`input-${n(t)}`;return Yne.jsxs("div",{className:zse("value-spec-editor",l),onBlur:e=>{e.relatedTarget?.name!==p&&e.relatedTarget?.name!==g&&o?.()},children:[Yne.jsx(BOe,{className:"value-spec-editor__enum-selector",options:a,onChange:e=>{i(t,e.value),o?.()},value:h?{value:h,label:h}:null,darkMode:!d,hasError:r?.(t),placeholder:"Select value",autoFocus:!0,inputName:g,optionCustomization:c?.optionCustomization,disabled:u}),Yne.jsx("button",{className:"value-spec-editor__reset-btn",name:p,title:"Reset",onClick:s,disabled:u,children:Yne.jsx(yie,{})})]})}),mLi=e=>0===e.length?"":((e,t)=>zy.unparse(e,t))([e.map(e=>e instanceof FE?e.values[0]:e instanceof BE?Gs(e.values[0]).value.name:void 0).filter(Vs)]).trim(),fLi=e=>{if(e instanceof gS)switch(e.path){case TC.DATE:case TC.STRICTDATE:return"yyyy-mm-dd";case TC.DATETIME:return"yyyy-mm-ddThh:mm:ss";default:return"Add"}else{if(!(e instanceof qT))throw new Error(`Cannot get placeholder for type ${e}`);switch(e.fullPath){case TC.DATE:case TC.STRICTDATE:return"yyyy-mm-dd";case TC.DATETIME:case TC.STRICTTIME:return"yyyy-mm-ddThh:mm:ss";default:return"Add"}}},yLi=Vse(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,selectorSearchConfig:a,selectorConfig:l,expectedType:c,lightMode:d,readOnly:u}=e,h=Wat(),p=n.useRef(null),[g,m]=n.useState(""),[f,y]=n.useState(!1),[v,_]=n.useState(t.values.filter(e=>Gs(e)).map(r).filter($s).map(e=>({label:e,value:e}))),b=c===gS.STRING&&Boolean(a),C=b?a?.reloadValues:void 0,S=b?a?.cleanUpReloadValues:void 0,E=b?a?.isLoading:void 0,w=b&&a?.values?.length?a.values.map(e=>({value:e,label:e.toString()})):void 0,x=b&&E?"Loading...":void 0,T=`copy-${t.values[0]?r(t.values[0]):""}`,A=`input-${t.values[0]?r(t.values[0]):""}`,N=e=>{const t=Gs(r(e));return{label:t,value:t}},R=e=>v.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)||R(Gs(r(t)))?null:t}return null},D=()=>{const e=I(),n=(null!==e?[...v,N(e)]:v).map(e=>e.value).map(e=>i(c,e)).filter(Vs);s(t,n),o()};return Yne.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==T&&e.relatedTarget?.name!==A&&D()},children:[Yne.jsx(BOe,{className:zse("value-spec-editor__primitive-collection-selector",{"value-spec-editor__primitive-collection-selector--error":f}),options:w,inputValue:g,isMulti:!0,menuIsOpen:b&&g.length>=2,autoFocus:!0,inputRef:p,onChange:(e,t)=>{_(e),"select-option"===t.action?m(""):"remove-value"===t.action&&t.removedValue.value===g&&y(!1)},onInputChange:(e,t)=>{if("input-change"===t.action){m(e),y(!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?(_([...v,N(e)]),m(""),C?.cancel()):g.trim().length&&y(!0)})(),e.preventDefault())},onPaste:e=>{const t=e.clipboardData.getData("text"),n=Yy(t);if(!n)return;const s=Pr(Pr(n).map(e=>{const t=i(c,e);return t?r(t):null}).filter(Vs)).filter(e=>!R(e));_([...v,...s.map(e=>({label:e,value:e}))]),e.preventDefault()},value:v,darkMode:!d,isLoading:E,noMatchMessage:x,placeholder:fLi(c),components:{DropdownIndicator:null},inputName:A,optionCustomization:l?.optionCustomization,disabled:u}),Yne.jsx("button",{className:"value-spec-editor__list-editor__copy-button",onClick:()=>{(async()=>{navigator.clipboard.writeText(v.map(e=>e.value).join(","))})()},name:T,title:"Copy values to clipboard",children:Yne.jsx(cre,{})}),Yne.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:D,disabled:u,children:Yne.jsx(Vre,{})})]})}),vLi=Vse(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,expectedType:a,enumOptions:l,selectorConfig:c,lightMode:d,readOnly:u}=e;Gs(l,"Must pass enum options to EnumCollectionInstanceValueEditor");const[h,p]=n.useState(""),[g,m]=n.useState(!1),[f,y]=n.useState(t.values.filter(e=>Gs(e)).map(r).filter($s).map(e=>({label:e,value:e}))),v=l?.filter(e=>!f.some(t=>t.value===e.value)),_=`copy-${t.values[0]?r(t.values[0]):""}`,b=`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?(y([...f,{label:e,value:e}]),p("")):h.trim().length&&m(!0)},E=()=>{const e=f.map(e=>e.value).map(e=>i(a,e)).filter(Vs);s(t,e),o()};return Yne.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==_&&e.relatedTarget?.name!==b&&E()},children:[Yne.jsx(BOe,{className:zse("value-spec-editor__enum-collection-selector",{"value-spec-editor__enum-collection-selector--error":g}),options:v,inputValue:h,isMulti:!0,autoFocus:!0,onChange:(e,t)=>{y(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=Yy(t);if(!n)return;const i=Pr(Pr(n).filter(e=>l?.some(t=>t.value===e))).filter(e=>!C(e));y([...f,...i.map(e=>({label:e,value:e}))]),e.preventDefault()},value:f,darkMode:!d,placeholder:"Add",menuIsOpen:!0,inputName:b,optionCustomization:c?.optionCustomization,disabled:u}),Yne.jsx("button",{className:"value-spec-editor__list-editor__copy-button",onClick:()=>{(async()=>{navigator.clipboard.writeText(f.map(e=>e.value).join(","))})()},name:_,title:"Copy values to clipboard",children:Yne.jsx(cre,{})}),Yne.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:E,disabled:u,children:Yne.jsx(Vre,{})})]})}),_Li=Vse(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,stringifyCollectionValueSpecification:o,errorChecker:a,className:l,selectorSearchConfig:c,selectorConfig:d,expectedType:u,enumOptions:h,lightMode:p,readOnly:g}=e,[m,f]=n.useState(!1),y=o(t),v=`List(${0===t.values.length?"empty":t.values.length})${0===t.values.length?"":`: ${y.length>50?`${y.substring(0,50)}...`:y}`}`,_=()=>{m&&f(!1)};return m?Yne.jsx(Yne.Fragment,{children:Yne.jsx("div",{className:zse("value-spec-editor",l),children:void 0!==h?Yne.jsx(vLi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:u,saveEdit:_,enumOptions:h,selectorConfig:d,lightMode:p,readOnly:g}):Yne.jsx(yLi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:u,saveEdit:_,selectorSearchConfig:c,selectorConfig:d,lightMode:p,readOnly:g})})}):Yne.jsxs("div",{className:zse("value-spec-editor",l),onClick:g?()=>{}:()=>f(!0),title:g?"":"Click to edit",style:{cursor:g?"not-allowed":""},children:[Yne.jsx("div",{className:zse("value-spec-editor__list-editor__preview",{"value-spec-editor__list-editor__preview--error":a?.(t)}),children:v}),Yne.jsx("button",{className:"value-spec-editor__list-editor__edit-icon",children:Yne.jsx(hie,{})})]})}),bLi=()=>Yne.jsx("div",{className:"value-spec-editor--unsupported",children:"unsupported"}),CLi=Vse(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,handleBlur:s,typeCheckOption:o,displayAsEditableValue:a,className:l,readOnly:c}=e;return Yne.jsxs("div",{className:zse("value-spec-editor",l),children:[Yne.jsx(aLi,{valueSpecification:t,valueSelector:n,typeCheckOption:o,updateValueSpecification:i,hasError:t instanceof FE&&!pdt(t),handleBlur:s,displayAsEditableValue:a,readOnly:c}),!a&&Yne.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:c,children:Yne.jsx(yie,{})})]})}),SLi=n.forwardRef(function(e,t){const{className:n,valueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,setValueSpecification:a,resetValue:l,selectorSearchConfig:c,selectorConfig:d,isConstant:u,handleBlur:h,handleKeyDown:p,displayDateEditorAsEditableValue:g,readOnly:m}=e,f=Wat(),y=e=>!pdt(e),v=e=>e instanceof YE?"":e.values[0],_=(e,t,n)=>{t instanceof LCi?a(((e,t,n)=>{const i=new YE($ct.ADJUST);if(rdt(i,VCi(new OCi(Gs(e.referenceMoment),Gs(e.referenceMoment)),t,n),n),e.direction===DCi.BEFORE){const r=new YE($ct.MINUS);rdt(r,WCi(t,TC.INTEGER,e.duration,n),n),rdt(i,r,n)}else rdt(i,WCi(t,TC.INTEGER,e.duration,n),n);const r=new BE(yS.create(new ES(t.getType(zct.DURATION_UNIT))));return ldt(r,[...r.values,BS.create(Gs(UCi(Gs(e.unit),t)))],n),rdt(i,r,n),edt(i,yS.create(new ES(gS.DATE))),i})(t,r,s)):t instanceof MCi||t instanceof PCi||t instanceof OCi?a(VCi(t,r,s)):e instanceof YE?a(WCi(r,Gs(n?.primitiveTypeEnum),t,s)):e instanceof PE?(adt(e,t,0,s),e.genericType.value.rawType.path!==Gs(n?.primitiveTypeEnum)&&edt(e,yS.create(new ES((e=>{switch(e){case TC.STRING:return gS.STRING;case TC.BOOLEAN:return gS.BOOLEAN;case TC.BINARY:return gS.BINARY;case TC.NUMBER:return gS.NUMBER;case TC.INTEGER:return gS.INTEGER;case TC.FLOAT:return gS.FLOAT;case TC.DECIMAL:return gS.DECIMAL;case TC.DATE:return gS.DATE;case TC.STRICTDATE:return gS.STRICTDATE;case TC.DATETIME:return gS.DATETIME;case TC.STRICTTIME:return gS.STRICTTIME;case TC.LATESTDATE:return gS.LATESTDATE;case TC.BYTE:return gS.BYTE;default:throw new Error(`Unable to get PrimitiveType class for type ${e}`)}})(Gs(n?.primitiveTypeEnum))))),a(e)):n?.primitiveTypeEnum===TC.LATESTDATE&&a(WCi(r,TC.LATESTDATE,t,s))};if(i instanceof FE){const e=i.genericType.value.rawType,r=e=>e.values[0],u=(e,t)=>{adt(e,t,0,s),a(e)};switch(e.path){case TC.STRING:return Yne.jsx(uLi,{valueSpecification:i,valueSelector:r,updateValueSpecification:u,errorChecker:y,className:n,resetValue:l,selectorSearchConfig:c,selectorConfig:d,ref:t,handleBlur:h,handleKeyDown:p,lightMode:f.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m});case TC.BOOLEAN:return Yne.jsx(hLi,{valueSpecification:i,valueSelector:r,updateValueSpecification:u,className:n,resetValue:l,readOnly:m});case TC.NUMBER:case TC.FLOAT:case TC.DECIMAL:case TC.BINARY:case TC.BYTE:case TC.INTEGER:return Yne.jsx(pLi,{valueSpecification:i,valueSelector:r,isInteger:e.path===TC.INTEGER,updateValueSpecification:u,errorChecker:y,className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:m});case TC.DATE:case TC.STRICTDATE:case TC.DATETIME:case TC.LATESTDATE:return Yne.jsx(CLi,{valueSpecification:i,valueSelector:v,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,errorChecker:e=>e instanceof FE&&y(e),readOnly:m});default:return Yne.jsx(bLi,{})}}else{if(i instanceof BE){const e=js(i.genericType?.value.rawType,RS),t=e.values.map(e=>({label:e.name,value:e.name}));return Yne.jsx(gLi,{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=Gs(e.values.find(e=>e.name===n),`Unable to find enum value ${n} in enumeration ${e.name}`);adt(t,BS.create(i),0,s),a(t)},errorChecker:e=>!pdt(e),handleBlur:h,selectorConfig:d,lightMode:f.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m})}if(i instanceof VE&&i.genericType){const e=(e,t)=>{ldt(e,t,s),a(e)},t=(e,t)=>{if(e instanceof RS){const n=((e,t)=>t.values.find(t=>t.name===e))(t,e);if(n){const t=new BE(yS.create(new ES(e)));return ldt(t,[BS.create(n)],s),xte(t,s)}}else{const n=QCi(js(e,iS),t,s);if(n)return xte(n,s)}return null},r=o.expectedType instanceof RS?o.expectedType.values.map(e=>({label:e.name,value:e.name})):void 0;return Yne.jsx(_Li,{valueSpecification:i,updateValueSpecification:e,expectedType:o.expectedType,className:n,selectorSearchConfig:c,selectorConfig:d,stringifyCollectionValueSpecification:e=>mLi(e.values),errorChecker:y,convertValueSpecificationToText:e=>XCi(e,f,{omitEnumOwnerName:!0}),convertTextToValueSpecification:t,enumOptions:r,lightMode:f.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m})}if(i instanceof ME)return Yne.jsx(dLi,{valueSpecification:i,className:n,resetValue:l,isConstant:Boolean(u)});if(i instanceof JE)return Yne.jsx(SLi,{valueSpecification:i.getValue(),graph:r,observerContext:s,typeCheckOption:o,setValueSpecification:a,resetValue:l,handleBlur:h,handleKeyDown:p,displayDateEditorAsEditableValue:g,selectorSearchConfig:c,selectorConfig:d,readOnly:m});if(i instanceof YE){if(Xw(o.expectedType,gS.DATE))return ZOi(i)?Yne.jsx(CLi,{valueSpecification:i,valueSelector:v,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,readOnly:m}):Yne.jsx(bLi,{});if(Xw(o.expectedType,gS.NUMBER)&&lS(i.functionName,$ct.MINUS)){const e=Edt(i,s);if(e instanceof FE&&Xw(e.genericType.value.rawType,gS.NUMBER))return Yne.jsx(pLi,{valueSpecification:e,valueSelector:e=>e.values[0],isInteger:e.genericType.value.rawType===gS.INTEGER,updateValueSpecification:(e,t)=>{adt(e,t,0,s),a(e)},className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:m})}}}return Yne.jsx(bLi,{})}),ELi=Vse(e=>{const{valueSpecification:t,setValueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,resetValue:a,selectorSearchConfig:l,selectorConfig:c,isConstant:d,initializeAsEditable:u,readOnly:h}=e,p=Wat(),[g,m]=n.useState(u??!1),f=n.useRef(null);n.useEffect(()=>{g&&f.current?.focus()},[g,f]);const y=t instanceof FE&&!Xw(t.genericType.value.rawType,gS.DATE)&&t.genericType.value.rawType!==gS.BOOLEAN||t instanceof BE,v=g||!y,_=XCi(t,p,{omitEnumOwnerName:!0});return v?Yne.jsx(SLi,{valueSpecification:t,setValueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,resetValue:a,selectorSearchConfig:l,selectorConfig:c,isConstant:d,ref:f,handleBlur:()=>m(!1),handleKeyDown:e=>{"Enter"===e.key&&m(!1)},displayDateEditorAsEditableValue:!0,readOnly:h}):Yne.jsx("div",{className:"value-spec-editor__editable__display",children:Yne.jsx("span",{className:zse("value-spec-editor__editable__display--content editable-value",{"value-spec-editor__editable__display--content--error":t instanceof PE&&!pdt(t)}),onClick:h?()=>{}:()=>{m(!0)},style:{cursor:h?"not-allowed":""},children:`"${void 0!==_?_:""}"`})})}),wLi=(e,t)=>{if(e instanceof YE){const n=HCi(e,t.applicationStore).label;if(n)return n}return XCi(e,t.applicationStore)},xLi=Vse(n.forwardRef(function(e,t){const{actions:n,extraContextMenuActions:i,variableInUse:r}=e;return Yne.jsxs(XOe,{ref:t,children:[i?.map(e=>Yne.jsx(QOe,{onClick:e.handler,children:e.label},e.key)),n?.editVariable&&Yne.jsx(QOe,{onClick:n.editVariable,children:"Edit"}),n?.deleteVariable&&Yne.jsx(QOe,{disabled:r,onClick:n.deleteVariable,children:"Remove"})]})})),TLi=Vse(e=>{const{variable:t,value:i,actions:r,isReadOnly:s,queryBuilderState:o,extraContextMenuActions:a,option:l}=e,c=o.isVariableUsed(t),[d,u]=n.useState(!1),h=Boolean(i),p=i?.val?wLi(i.val,o):void 0,g=t.name,m=t.genericType?.value.rawType.name??(h?"(calculated)":void 0),f=o.milestoningState.isMilestoningParameter(t),y=o.milestoningState.getMilestoningParameterValue(t),v=f&&y?wLi(y,o):void 0,_=s||c,b=c?"Used in query":"Remove",C=()=>{r?.editVariable()},[,S,E]=hPe(()=>({type:cLi,item:{variable:t}}),[t]),w=n.useRef(null);return S(w),jPe(E),Yne.jsx("div",{className:"query-builder__variables__variable",ref:w,children:Yne.jsxs(tLe,{content:Yne.jsx(xLi,{variable:t,variableInUse:c,actions:r,extraContextMenuActions:a}),disabled:s||!r,className:zse("query-builder__variables__variable__context-menu",{"query-builder__variables__variable--selected-from-context-menu":d}),menuProps:{elevation:7},onOpen:()=>u(!0),onClose:()=>u(!1),children:[Yne.jsx($Pe,{labelGetter:e=>""===e.variable.name?"(unknown)":e.variable.name,types:[cLi]}),Yne.jsxs("div",{onClick:C,className:"query-builder__variables__variable__content",children:[Yne.jsx("div",{className:"query-builder__variables__variable__icon",children:Yne.jsx("div",{className:"query-builder__variables__variable-icon",children:h?Yne.jsx("div",{className:"icon query-builder__variables__variable-icon",children:"C"}):Yne.jsx(hre,{})})}),Yne.jsxs("div",{className:"query-builder__variables__variable__label",children:[g,h?Yne.jsxs("div",{className:zse("query-builder__constants__value",{"query-builder__constants__value--icon":!p}),children:[p,!p&&Yne.jsx(Xie,{title:"Calculated Constant"})]}):Yne.jsxs("div",{className:"query-builder__variables__variable__type",children:[Yne.jsx("div",{className:"query-builder__variables__variable__type__label",children:m??"unknown"}),f&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsx("div",{className:"query-builder__variables__variable__type__label query-builder__variables__variable__type__label--milestoning",children:"milestoning"}),!l?.hideMilestoningParameterValueString&&Yne.jsx("div",{className:"query-builder__constants__value",children:v})]})]})]})]}),r&&Yne.jsxs("div",{className:"query-builder__variables__variable__actions",children:[Yne.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,disabled:s,onClick:C,title:"Edit",children:Yne.jsx(hie,{})}),Yne.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,onClick:()=>{r?.deleteVariable()},disabled:_,title:b,children:Yne.jsx(Wre,{})}),Yne.jsx(lLi,{variable:t,children:Yne.jsx("div",{className:"query-builder__variables__variable__action value-spec-editor__variable__info",children:Yne.jsx(Tre,{})})})]})]})})}),ALi=Vse(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 Yne.jsxs(Yne.Fragment,{children:[Yne.jsxs(bLe,{title:"Available parameters",children:[0===i.length&&Yne.jsx(Yne.Fragment,{children:" No available parameters "}),i.map(e=>Yne.jsx(TLi,{variable:e.parameter,isReadOnly:!0,queryBuilderState:t},e.uuid))]}),Boolean(r.length)&&Yne.jsx(bLe,{title:"Available constants",children:r.map(e=>Yne.jsx(TLi,{variable:e.variable,value:{val:e instanceof xOi?e.value:void 0},queryBuilderState:t,isReadOnly:!0},e.uuid))})]})}),NLi=Vse(e=>{const{derivedPropertyExpressionState:t,variable:i,idx:r}=e,s=t.queryBuilderState.graphManagerState.graph,o=Gs(t.parameters[r]?.genericType).value.rawType,a=n.useCallback(e=>{idt(t.propertyExpression,e.variable,r+1,t.queryBuilderState.observerContext)},[t,r]),[{isParameterValueDragOver:l},c]=yPe(()=>({accept:[cLi],drop:(e,t)=>{const n=e.variable.genericType?.value.rawType;t.didDrop()||!n||!Qw(o,n)&&o.name!==n.name||a(e)},collect:e=>({isParameterValueDragOver:e.isOver({shallow:!0})})}),[a]),d=t.queryBuilderState,u=e=>{e instanceof KE&&Xct(e,d)&&e.func.value.genericType.value.rawType instanceof wS&&d.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:xlt.CAUTION,actions:[{label:"Proceed",type:Tlt.PROCEED_WITH_CAUTION,default:!0},{label:"Propagate default milestoning date(s)",type:Tlt.PROCEED,handler:d.applicationStore.guardUnhandledError(async()=>(e=>{const t=Uw(js(e.func.value.genericType.value.rawType,wS),d.graphManagerState.graph);e.parametersValues.slice(1).forEach((n,i)=>{if(t&&n instanceof JE&&!Zct(t,i,n.getValue(),d.milestoningState)){const n=new JE(()=>Gs(d.milestoningState.getMilestoningImplementation(t).getMilestoningDate(i)));n.isPropagatedValue=!1,idt(js(e,KE),Gs(n),i+1,d.observerContext)}})})(e))}]})},h=Gs(t.parameterValues[r]);return Yne.jsxs("div",{className:"panel__content__form__section",children:[Yne.jsx("div",{className:"panel__content__form__section__header__label",children:i.name}),Yne.jsx("div",{className:"panel__content__form__section__header__prompt",children:""+(0===i.multiplicity.lowerBound?"optional":"")}),Yne.jsx("div",{className:"query-builder__variable-editor",children:Yne.jsx(GPe,{isDragOver:l,dropTargetConnector:c,children:Yne.jsx(SLi,{valueSpecification:h,setValueSpecification:e=>{idt(t.propertyExpression,e,r+1,t.queryBuilderState.observerContext)},graph:s,observerContext:t.queryBuilderState.observerContext,typeCheckOption:{expectedType:o,match:o===gS.DATETIME},resetValue:()=>{idt(t.propertyExpression,Jct(t,r)??eSi(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);u(n+1<e.length?e[n+1]?.propertyExpression:void 0)},isConstant:d.constantState.isValueSpecConstant(h)})})}),Yne.jsx("div",{className:"panel__content__form__section__list"})]},i.name)}),RLi=Vse(e=>{const{derivedPropertyExpressionState:t}=e,n=t.parameterValues,i=t.parameters;return Yne.jsxs("div",{className:"query-builder-property-editor__section",children:[Yne.jsx("div",{className:"panel__content__form__section__header__label",children:t.title}),!n.length&&Yne.jsx("div",{className:"query-builder-property-editor__section__content--empty",children:"No parameter"}),i.map((e,n)=>Yne.jsx(NLi,{derivedPropertyExpressionState:t,variable:e,idx:n},e.name))]})}),ILi=Vse(e=>{const{propertyExpressionState:t}=e,n=t.queryBuilderState.applicationStore,i=()=>t.setIsEditingDerivedProperty(!1);return Yne.jsx(pve,{open:Boolean(t.isEditingDerivedPropertyExpression),onClose:i,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Yne.jsxs(GOe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder-property-editor",children:[Yne.jsx(zOe,{title:"Derived Property"}),Yne.jsxs(jOe,{className:"query-builder-property-editor__content",children:[t.derivedPropertyExpressionStates.map(e=>Yne.jsx(RLi,{derivedPropertyExpressionState:e},e.path)),Yne.jsx(jOe,{className:"query-builder__variables__modal__body",children:Yne.jsx(ALi,{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&&(Qw(n,e.genericType.value.rawType)||e.genericType.value.rawType.name===n.name))})))(e,t.derivedPropertyExpressionStates)})})]}),Yne.jsx($Oe,{children:Yne.jsx(YOe,{text:"Done",onClick:i})})]})})}),DLi=Vse(e=>{const{columnName:t,title:n,error:i,setIsEditingColumnName:r}=e;return Yne.jsx("div",{className:"query-builder__property__name__display",title:n,children:Yne.jsx("span",{className:zse("query-builder__property__name__display__content",{"query-builder__property__name__display__content--error":i,"editable-value":r}),onClick:()=>{r?.(!0)},children:t})})}),kLi=Vse(e=>{const{columnName:t,setColumnName:i,error:r,title:s,defaultColumnName:o}=e,[a,l]=n.useState(!1),[c,d]=n.useState(t),u=n.useRef(null);n.useEffect(()=>{a&&u.current?.focus()},[a,u]);const h=()=>{const e=c.trim();e.length>0?(i?.(e),d(e)):(i?.(o),d(o)),l(!1)};return a?Yne.jsx("div",{className:"query-builder__property__name__editor",children:Yne.jsx(dxe,{className:"query-builder__property__name__editor__input input-group__input",spellCheck:!1,value:c,onChange:e=>d(e.target.value),onKeyDown:e=>{"Enter"===e.key&&h()},onBlur:h,ref:u,draggable:!0,onDragStart:e=>{e.preventDefault(),e.stopPropagation()}})}):Yne.jsx(DLi,{columnName:t,title:s,error:Boolean(r),setIsEditingColumnName:i?l:void 0})}),OLi=Vse(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 Yne.jsx("div",{className:"query-builder-property-expression-badge",children:Yne.jsxs("div",{className:zse("query-builder-property-expression-badge__content",{"query-builder-property-expression-badge__content--class":s instanceof wS,"query-builder-property-expression-badge__content--enumeration":s instanceof RS,"query-builder-property-expression-badge__content--primitive":s instanceof gS}),children:[Yne.jsx(kLi,{columnName:t??n.title,setColumnName:i,error:r,title:`${n.title} - ${n.path}`,defaultColumnName:ZCi(n.propertyExpression,n.queryBuilderState.explorerState.humanizePropertyName)}),o&&Yne.jsxs("button",{className:zse("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&&Yne.jsx(Tre,{})," (...)"]}),Yne.jsx(ILi,{propertyExpressionState:n})]})})}),LLi=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 Yne.jsxs("div",{className:"query-builder-panel-issue-count-badge",title:`Found ${n}:\n${t.map(e=>`• ${e}`).join("\n")}`,children:[Yne.jsx(zre,{className:"query-builder-panel-issue-count-badge__icon"}),Yne.jsx("div",{className:"query-builder-panel-issue-count-badge__text",children:n})]})},MLi=e=>{if(e instanceof gS){if(e.name===TC.STRING)return Yne.jsx(pie,{className:"query-builder-column-badge__icon"});if(e.name===TC.BOOLEAN)return Yne.jsx(jre,{className:"query-builder-column-badge__icon"});if(e.name===TC.NUMBER||e.name===TC.INTEGER||e.name===TC.FLOAT||e.name===TC.DECIMAL)return Yne.jsx(xre,{className:"query-builder-column-badge__icon"});if(e.name===TC.DATE||e.name===TC.DATETIME||e.name===TC.STRICTDATE)return Yne.jsx(ore,{className:"query-builder-column-badge__icon"})}else if(e instanceof RS)return Yne.jsx("div",{className:"icon query-builder-column-badge__icon",children:"E"});return null},PLi=e=>{const{columnState:t,placement:n,children:i}=e,r=t.getColumnType(),s=Xr(()=>(e=>{if(e instanceof uSi||e instanceof rwi)return nS.ONE;if(e instanceof aSi)return e.propertyExpressionState.propertyExpression.func.value.multiplicity;throw new Yr("Can't get multiplicity for column",e)})(t));return Yne.jsx(hCe,{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:Yne.jsxs("div",{className:"query-builder__tooltip__content",children:[Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Name"}),Yne.jsx("div",{className:"query-builder__tooltip__item__value",children:t.columnName})]}),Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Yne.jsx("div",{className:"query-builder__tooltip__item__value",children:r?.path})]}),s&&Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),Yne.jsx("div",{className:"query-builder__tooltip__item__value",children:Zw(s)})]})]}),children:i})},FLi=(e,t)=>{switch(t){case sSi:return e.columnState.getColumnType();case gxi.ENUM_PROPERTY:case gxi.PRIMITIVE_PROPERTY:return e.node.property.genericType.value.rawType;case cLi:return e.variable.genericType?.value.rawType;case JEi:return e.columnState.getColumnType();default:return}},BLi=[gxi.ENUM_PROPERTY,gxi.PRIMITIVE_PROPERTY,sSi],VLi=[gxi.ENUM_PROPERTY,gxi.PRIMITIVE_PROPERTY],ULi=[USi.CONDITION,gxi.ENUM_PROPERTY,gxi.PRIMITIVE_PROPERTY,sSi],GLi=[USi.CONDITION,gxi.ENUM_PROPERTY,gxi.PRIMITIVE_PROPERTY],HLi=[gxi.ENUM_PROPERTY,gxi.PRIMITIVE_PROPERTY,sSi,cLi],zLi=(e,t,n)=>{const i=[];let r=e;for(;r instanceof KE||r instanceof YE&&lS(r.functionName,$ct.SUBTYPE);){let e;r instanceof YE?e=new YE(sS($ct.SUBTYPE)):(e=new KE(""),e.func=r.func),e.parametersValues=r.parametersValues.length>1?r.parametersValues.slice(1):[],i.push(e),r=Gs(r.parametersValues[0])}let s,o=[],a=[js(r,ME)],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 KE&&(void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(l>o.length-1&&(o.push(yo(o,t.lambdaParameterName)),Ks(l===o.length-1)),a.push(new ME(o[l],nS.ONE)),l++)}if(n)if(n instanceof KSi){const e=a.findIndex(e=>e instanceof KE&&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 KSi);)e=t.nodes.get(i),i=e?.parentId;if(e instanceof KSi){const i=a.findIndex(t=>t instanceof KE&&e instanceof KSi&&t.func.value===js(e,KSi).propertyExpressionState.propertyExpression.func.value&&t.func.ownerReference.value.path===e.propertyExpressionState.propertyExpression.func.ownerReference.value.path);i>=0&&(s=n instanceof QSi?t.newGroupConditionFromNode(n):n instanceof YSi?n:t.getParentNode(n),a=a.slice(i+1),o=o.slice(i+1))}else i||(s=n instanceof QSi?t.newGroupConditionFromNode(n):n instanceof YSi?n:t.getParentNode(n))}for(let e=0;e<a.length-1;++e){const n=new KSi(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 jSi(t,a[a.length-1]),d=new QSi(void 0,c);d.setIsNewlyAdded(!0),t.addNodeFromNode(d,s),n instanceof ZSi&&t.removeNodeAndPruneBranch(n)},WLi=(e,t,n)=>{let i=e.getParentNode(n),r=[];for(r.push(n.condition.propertyExpressionState.propertyExpression);i&&i.id!==t.id;)i instanceof KSi&&r.push(i.propertyExpressionState.propertyExpression),i=e.getParentNode(i);i?.id===t.id&&r.push(t.propertyExpressionState.propertyExpression),r=r.reverse();const s=Gs(r[0]);r=r.slice(1);let o=new KE("");o.func=s.func,o.parametersValues=[...s.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof KE||n instanceof YE&&lS(n.functionName,$ct.SUBTYPE);){if(n instanceof YE){const e=new YE(sS($ct.SUBTYPE));e.parametersValues.unshift(Gs(n.parametersValues[1])),t.push(e)}else if(n instanceof KE){const e=new KE("");e.func=n.func,e.parametersValues=n.parametersValues.length>1?n.parametersValues.slice(1):[],t.push(e)}n=Gs(n.parametersValues[0])}Ks(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=js(t[0],KE,"Can't process exists() expression: can't flatten to a property expression")}return js(tEi(o,e.queryBuilderState,t.lambdaParameterName??e.lambdaParameterName),KE)},jLi=(e,t,n)=>{if(GSi(e)){const i=ZCi(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:xlt.CAUTION,actions:[{label:"Cancel",type:Tlt.PROCEED_WITH_CAUTION,default:!0},{label:"Proceed",type:Tlt.PROCEED,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>zLi(e,t,n))}]})}else{const i=new jSi(t,e),r=new QSi(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 KSi&&(s=o);if(o instanceof KSi&&(s=o),n instanceof YSi)s?t.newGroupConditionFromNode(s,r,n.groupOperation):t.addNodeFromNode(r,n);else if(n instanceof ZSi)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 KSi)t.newGroupConditionFromNode(s,r);else if(n instanceof QSi){const e=t.getParentNode(n);if(s&&e instanceof KSi&&1===e.childrenIds.length)t.newGroupConditionFromNode(s,r,ISi.AND);else if(s&&e instanceof YSi){const i=WLi(t,s,n);t.removeNodeAndPruneBranch(n),t.newGroupConditionFromNode(s,r,e.groupOperation);const o=t.getParentNode(r);zLi(i,t,o)}else t.newGroupWithConditionFromNode(r,n)}else t.addNodeFromNode(r,void 0)}},$Li=Vse(e=>{const{node:t,isDragOver:n,isDroppable:i}=e,r=t.groupOperation===ISi.AND?"AND":"OR";return Yne.jsx("div",{className:"dnd__entry__container",children:Yne.jsx(WPe,{isDragOver:n,isDroppable:i,label:r,className:"query-builder-filter-tree__group-node__drop-zone",children:Yne.jsx("div",{className:"query-builder-filter-tree__group-node",title:"Switch Operation",onClick:e=>{e.stopPropagation(),t.setGroupOperation(t.groupOperation===ISi.AND?ISi.OR:ISi.AND)},children:Yne.jsx("div",{className:"query-builder-filter-tree__group-node__label editable-value",children:t.groupOperation})})})})}),qLi=Vse(e=>{const{node:t,humanizePropertyName:n,isDragOver:i,isDroppable:r}=e,s=Boolean(t.propertyExpressionState.derivedPropertyExpressionStates.length),o=t.propertyExpressionState.isValid;return Yne.jsx("div",{className:"dnd__entry__container",children:Yne.jsx(WPe,{isDragOver:i,isDroppable:r,label:"Add to Exists Group",className:"query-builder-filter-tree__exists-node__drop-zone",children:Yne.jsxs("div",{className:"query-builder-filter-tree__exists-node",title:"This is an exists filter on the collection property",children:[Yne.jsx("div",{className:"query-builder-filter-tree__exists-node__label",children:ZCi(t.propertyExpressionState.propertyExpression,n)}),Yne.jsx("div",{className:"query-builder-filter-tree__exists-node__exists--label",children:"exists"}),s&&Yne.jsxs("button",{className:zse("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&&Yne.jsx(Tre,{})," (...)"]}),Yne.jsx(ILi,{propertyExpressionState:t.propertyExpressionState})]})})})}),YLi=Vse(e=>{const{rightConditionValue:t,resetNode:n}=e,i=t.type;return Yne.jsx("div",{className:"query-builder-filter-property-expression-badge",children:Yne.jsxs("div",{className:"query-builder-filter-property-expression-badge__content",children:[Yne.jsx("div",{className:zse("query-builder-filter-property-expression-badge__type",{"query-builder-filter-property-expression-badge__type--class":i instanceof wS,"query-builder-filter-property-expression-badge__type--enumeration":i instanceof RS,"query-builder-filter-property-expression-badge__type--primitive":i instanceof gS}),children:MLi(i)}),Yne.jsx("div",{className:"query-builder-filter-property-expression-badge__property",title:t.propertyExpressionState.propertyExpression.func.value.name,children:Yne.jsx(OLi,{propertyExpressionState:t.propertyExpressionState})}),Yne.jsx(Pwi,{title:t.propertyExpressionState.propertyExpression.func.value.name,property:t.propertyExpressionState.propertyExpression.func.value,path:t.propertyExpressionState.path,isMapped:!0,placement:"bottom-end",children:Yne.jsx("div",{className:"query-builder-filter-property-expression-badge__property__info",children:Yne.jsx(Tre,{})})}),Yne.jsx("button",{className:"query-builder-filter-property-expression-badge__action",name:"Reset",title:"Reset",onClick:n,children:Yne.jsx(yie,{})})]})})}),KLi=(e,t)=>{const n=t.operator,i=t.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return!(n instanceof gDi)&&!(n instanceof mDi)&&ydt(e,i)},XLi=Vse(e=>{const{node:t,isDragOver:i}=e,r=t.condition.filterState.queryBuilderState.graphManagerState.graph,s=t.condition.filterState.queryBuilderState,o=t.condition.rightConditionValue,a=Wat(),l=XSi(t),c=n.useCallback((e,n)=>{const i=FLi(e,n);if(void 0!==i&&KLi(i,t.condition))try{if((n===sSi||n===gxi.ENUM_PROPERTY||n===gxi.PRIMITIVE_PROPERTY)&&l)throw new Yr("Collection filter does not support property for filter condition value.");if(n===sSi){const n=e.columnState;if(!(n instanceof aSi))throw new Yr("Derivation projection columns are not supported for filter condition values.");{const e=n.propertyExpressionState.propertyExpression;if(GSi(e))throw new Yr("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(new nSi(s,$Ci(e,s.observerContext)))}}else if(n===gxi.ENUM_PROPERTY||n===gxi.PRIMITIVE_PROPERTY){const n=e.node,i=new nSi(s,Cxi(n,t.condition.filterState.queryBuilderState.explorerState));if(GSi(i.propertyExpression))throw new Yr("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(i)}else if(n===cLi){const n=e.variable;t.condition.buildRightConditionValueFromValueSpec(n)}else a.notificationService.notifyWarning(`Dragging and Dropping ${n} to filter panel is not supported.`)}catch(e){return Kr(e),void a.notificationService.notifyWarning(e.message)}else{const e=t.condition.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;a.notificationService.notifyWarning(`Incompatible parameter type ${i?.name}. ${i?.name} is not compatible with type ${e.name}.`)}},[a,s,l,t.condition]),[{isFilterValueDragOver:d},u]=yPe(()=>({accept:HLi,canDrop:(e,n)=>KLi(FLi(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);u(h);const{isFilterValueDroppable:p}=pPe(e=>({isFilterValueDroppable:e.isDragging()&&HLi.includes(e.getItemType()?.toString()??"")&&KLi(FLi(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(()=>gi(e=>{const n=QCi(gS.STRING,e,s.observerContext);return t.condition.handleTypeaheadSearch(n??void 0)},1e3),[t,s.observerContext]),y={values:t.condition.typeaheadSearchResults,isLoading:t.condition.typeaheadSearchState.isInProgress,reloadValues:f,cleanUpReloadValues:()=>{t.condition.typeaheadSearchState.complete()}};return n.useEffect(()=>{t.setIsNewlyAdded(!1)},[t]),Yne.jsx("div",{className:"dnd__entry__container","data-testid":Bwi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_CONTENT,children:Yne.jsx(WPe,{isDragOver:i&&!d,alwaysShowChildren:!0,children:Yne.jsxs("div",{className:"query-builder-filter-tree__condition-node",children:[Yne.jsx("div",{className:"query-builder-filter-tree__condition-node__property",children:Yne.jsx(OLi,{propertyExpressionState:t.condition.propertyExpressionState})}),Yne.jsxs(nLe,{className:"query-builder-filter-tree__condition-node__operator",title:"Choose Operator...",content:Yne.jsx(XOe,{children:t.condition.operators.map(e=>{return Yne.jsx(QOe,{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:[Yne.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__label",children:t.condition.operator.getLabel()}),Yne.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__dropdown__trigger",children:Yne.jsx(Zie,{})})]}),o instanceof zSi&&o.value?Yne.jsx("div",{ref:h,"data-testid":Bwi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_VALUE,className:"query-builder-filter-tree__condition-node__value",children:Yne.jsx(WPe,{isDragOver:d,isDroppable:p,label:"Change Filter Value",children:Yne.jsx(ELi,{valueSpecification:o.value,setValueSpecification:m,graph:r,observerContext:s.observerContext,typeCheckOption:{expectedType:t.condition.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType},resetValue:g,selectorSearchConfig:y,isConstant:s.constantState.isValueSpecConstant(o.value),initializeAsEditable:t.isNewlyAdded})})}):o instanceof WSi?Yne.jsx("div",{ref:h,className:"query-builder-filter-tree__condition-node__value",children:Yne.jsx(WPe,{isDragOver:d,isDroppable:p,label:"Change Filter Value",children:Yne.jsx(YLi,{rightConditionValue:o,resetNode:g})})}):null]})})})}),QLi=Vse(e=>{const{isDragOver:t,isDroppable:n}=e;return Yne.jsx("div",{className:"query-builder-filter-tree__node__label__content",children:Yne.jsx(WPe,{isDragOver:t,isDroppable:n,label:"Create Condition",children:Yne.jsx("div",{className:"query-builder-filter-tree__blank-node",children:"blank"})})})}),ZLi=Vse(n.forwardRef(function(e,t){const{queryBuilderState:n,node:i}=e,r=n.filterState;return Yne.jsxs(XOe,{ref:t,children:[i instanceof YSi&&Yne.jsx(QOe,{onClick:()=>{r.addNodeFromNode(new ZSi(void 0),i)},children:"Add New Condition"}),i instanceof YSi&&Yne.jsx(QOe,{onClick:()=>{r.addGroupConditionNodeFromNode(i)},children:"Add New Logical Group"}),i instanceof QSi&&Yne.jsx(QOe,{onClick:()=>{Vct.logEvent_FilterCreateGroupFromConditionLaunched(n.applicationStore.telemetryService),r.newGroupWithConditionFromNode(void 0,i)},children:"Form a New Logical Group"}),Yne.jsx(QOe,{onClick:()=>r.removeNodeAndPruneBranch(i),children:"Remove"})]})})),JLi=Vse(e=>{const{node:t,onNodeSelect:i,innerProps:r}=e,{queryBuilderState:s}=r,o=n.useRef(null),[a,l]=n.useState(!1),c=Wat(),d=s.filterState,u=n.useCallback((e,n)=>{if(USi.CONDITION===n){const n=e.node,i=new QSi(void 0,d.nodes.get(n.id).condition);t instanceof ZSi?(d.replaceBlankNodeWithNode(i,t),d.removeNodeAndPruneBranch(n)):t instanceof QSi?(d.newGroupWithConditionFromNode(i,t),d.removeNodeAndPruneBranch(n)):t instanceof YSi&&(d.addNodeFromNode(i,t),d.removeNodeAndPruneBranch(n))}else{let i;try{let t;if(n===sSi){if(!(e.columnState instanceof aSi))throw new Yr("Dragging and Dropping derivation projection column is not supported.");t=$Ci(e.columnState.propertyExpressionState.propertyExpression,s.observerContext)}else t=Cxi(e.node,d.queryBuilderState.explorerState);i=new jSi(d,t)}catch(e){return Kr(e),void c.notificationService.notifyWarning(e.message)}(t instanceof qSi||t instanceof QSi||t instanceof ZSi)&&jLi(i.propertyExpressionState.propertyExpression,d,t)}},[c,d,t,s.observerContext]),[{isDragOver:h,deepIsDragOver:p},g]=yPe(()=>({accept:s.TEMPORARY__isDnDFetchStructureToFilterSupported?ULi:GLi,drop:(e,t)=>{t.didDrop()||u(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0}),deepIsDragOver:e.isOver({shallow:!1})})}),[u]),[,m,f]=hPe(()=>({type:t instanceof YSi?USi.GROUP_CONDITION:t instanceof QSi?USi.CONDITION:USi.BLANK_CONDITION,item:()=>({node:t}),end:()=>d.setRearrangingConditions(!1),canDrag:()=>t instanceof QSi||t instanceof ZSi}),[t,d]);m(g(o)),jPe(f);const{isDroppable:y}=pPe(e=>({isDroppable:e.isDragging()&&(s.TEMPORARY__isDnDFetchStructureToFilterSupported?ULi:GLi).includes(e.getItemType()?.toString()??"")})),v=t instanceof KSi&&0===t.childrenIds.length,_=t instanceof QSi||t instanceof ZSi||v;return Yne.jsx("div",{"data-testid":Bwi.QUERY_BUILDER_FILTER_TREE_NODE_CONTAINER,className:zse("query-builder-filter-tree__node__container",{"query-builder-filter-tree__node__container--group":t instanceof YSi,"query-builder-filter-tree__node__container--condition":t instanceof QSi||t instanceof ZSi,"query-builder-filter-tree__node__container--exists":t instanceof KSi,"query-builder-filter-tree__node__container--exists--empty":v,"query-builder-filter-tree__node__container--no-hover":d.isRearrangingConditions,"query-builder-filter-tree__node__container--selected":t===d.selectedNode,"query-builder-filter-tree__node__container--selected-from-context-menu":a}),children:Yne.jsxs(tLe,{content:Yne.jsx(ZLi,{queryBuilderState:s,node:t}),menuProps:{elevation:7},onOpen:()=>l(!0),onClose:()=>l(!1),className:"query-builder-filter-tree__node__context-menu",children:[Yne.jsxs("div",{"data-testid":Bwi.QUERY_BUILDER_FILTER_TREE_NODE_CONTENT,className:"query-builder-filter-tree__node__content",ref:o,onClick:t instanceof QSi||t instanceof ZSi?()=>i?.(t):void 0,children:[t instanceof YSi&&Yne.jsx($Li,{node:t,isDroppable:y,isDragOver:h}),t instanceof KSi&&Yne.jsx(qLi,{node:t,humanizePropertyName:d.queryBuilderState.explorerState.humanizePropertyName,isDroppable:y,isDragOver:h}),t instanceof QSi&&Yne.jsx(XLi,{node:t,isDragOver:p}),t instanceof ZSi&&Yne.jsx(QLi,{node:t,isDragOver:h,isDroppable:y})]}),_&&Yne.jsx("div",{className:"query-builder-filter-tree__node__actions",children:Yne.jsx("button",{className:"query-builder-filter-tree__node__action",tabIndex:-1,title:"Remove",onClick:()=>d.removeNodeAndPruneBranch(t),children:Yne.jsx(Wre,{})})})]})})}),eMi=Vse(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e;return Yne.jsxs("div",{"data-testid":Bwi.QUERY_BUILDER_FILTER_TREE_NODE_BLOCK,className:zse("query-builder-filter-tree__node__block",{"query-builder-filter-tree__node__block--group":t instanceof YSi,"query-builder-filter-tree__node__block--exists":t instanceof KSi}),children:[Yne.jsx(JLi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).length>0&&Yne.jsx("div",{"data-testid":Bwi.QUERY_BUILDER_FILTER_TREE_NODE_CHILDREN,className:"query-builder-filter-tree__node__children",children:r(t).map(e=>Yne.jsx(eMi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))})]})}),tMi=Vse(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 qSi?e.childrenIds.map(e=>n.getNode(e)):[];return Yne.jsx("div",{"data-testid":Bwi.QUERY_BUILDER_FILTER_TREE,className:"tree-view__node__root query-builder-filter-tree__root",children:i.map(e=>Yne.jsx(eMi,{level:0,node:e,getChildNodes:s,onNodeSelect:r,innerProps:{queryBuilderState:t}},e.id))})}),nMi=Vse(e=>{const{queryBuilderState:t}=e,i=Wat(),r=t.filterState,s=r.getRootNode(),o=r.isEmpty||r.selectedNode&&(r.selectedNode!==s||s instanceof YSi),{isDroppable:a}=pPe(e=>({isDroppable:e.isDragging()&&(t.TEMPORARY__isDnDFetchStructureToFilterSupported?BLi:VLi).includes(e.getItemType()?.toString()??"")})),l=n.useCallback((e,n)=>{try{let i;if(n===sSi){if(!(e.columnState instanceof aSi))throw new Yr("Dragging and Dropping derivation projection column is not supported.");i=$Ci(e.columnState.propertyExpressionState.propertyExpression,t.observerContext)}else i=Cxi(e.node,r.queryBuilderState.explorerState);r.setSelectedNode(void 0),jLi(i,r)}catch(e){return Kr(e),void i.notificationService.notifyWarning(e.message)}},[i,r,t.observerContext]),[{isDragOver:c},d]=yPe(()=>({accept:t.TEMPORARY__isDnDFetchStructureToFilterSupported?BLi:VLi,drop:(e,t)=>{t.didDrop()||l(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[l]),u=n.useRef(null);return d(u),Yne.jsxs("div",{"data-testid":Bwi.QUERY_BUILDER_FILTER_PANEL,className:"panel",children:[Yne.jsxs("div",{className:"panel__header",children:[Yne.jsxs("div",{className:"panel__header__title",children:[Yne.jsx("div",{className:"panel__header__title__label",children:"filter"}),0!==r.allValidationIssues.length&&Yne.jsx(LLi,{issues:r.allValidationIssues})]}),Yne.jsx("div",{className:"panel__header__actions",children:Yne.jsx(nLe,{className:"panel__header__action",title:"Show Filter Options Menu...",content:Yne.jsxs(XOe,{children:[Yne.jsxs(QOe,{onClick:()=>{Vct.logEvent_FilterCreateConditionLaunched(t.applicationStore.telemetryService),r.addNodeFromNode(new ZSi(void 0),r.selectedNode)},children:[Yne.jsx(JOe,{children:Yne.jsx(Mre,{})}),Yne.jsx(eLe,{children:"Create Condition"})]}),Yne.jsxs(QOe,{disabled:!(r.selectedNode instanceof QSi),onClick:()=>{Vct.logEvent_FilterCreateLogicalGroupLaunched(i.telemetryService),r.selectedNode instanceof QSi&&r.newGroupWithConditionFromNode(void 0,r.selectedNode)},children:[Yne.jsx(JOe,{children:Yne.jsx(rse,{})}),Yne.jsx(eLe,{children:"Create Group From Condition"})]}),Yne.jsxs(QOe,{disabled:!o,title:o?"":"Please select a filter node first to create logical group",onClick:()=>{Vct.logEvent_FilterCreateLogicalGroupLaunched(t.applicationStore.telemetryService),o&&r.addGroupConditionNodeFromNode(r.selectedNode)},children:[Yne.jsx(JOe,{children:Yne.jsx(kre,{})}),Yne.jsx(eLe,{children:"Create Logical Group"})]}),Yne.jsxs(QOe,{onClick:()=>{Vct.logEvent_FilterCleanupTreeLaunched(t.applicationStore.telemetryService),r.pruneTree()},children:[Yne.jsx(JOe,{children:Yne.jsx($re,{})}),Yne.jsx(eLe,{children:"Cleanup Tree"})]}),Yne.jsxs(QOe,{onClick:()=>{Vct.logEvent_FilterSimplifyTreeLaunched(t.applicationStore.telemetryService),r.simplifyTree()},children:[Yne.jsx(JOe,{children:Yne.jsx(rre,{})}),Yne.jsx(eLe,{children:"Simplify Tree"})]}),Yne.jsxs(QOe,{onClick:()=>{Vct.logEvent_FilterCollapseTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.collapseTree()},children:[Yne.jsx(JOe,{children:Yne.jsx(lre,{})}),Yne.jsx(eLe,{children:"Collapse Tree"})]}),Yne.jsxs(QOe,{onClick:()=>{Vct.logEvent_FilterExpandTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.expandTree()},children:[Yne.jsx(JOe,{children:Yne.jsx(fre,{})}),Yne.jsx(eLe,{children:"Expand Tree"})]})]}),children:Yne.jsx(gie,{className:"query-builder__icon__more-options"})})})]}),Yne.jsx(hLe,{children:Yne.jsxs(GPe,{isDragOver:c&&r.isEmpty,isDroppable:a&&r.isEmpty,dropTargetConnector:d,children:[r.isEmpty&&Yne.jsx(ELe,{text:"Add a filter condition",tooltipText:"Drag and drop properties here"}),!r.isEmpty&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsx($Pe,{labelGetter:e=>e.node.dragPreviewLabel,types:Object.values(USi)}),Yne.jsx(tMi,{queryBuilderState:t})]}),a&&!r.isEmpty&&Yne.jsx("div",{ref:u,className:"query-builder-filter-tree__free-drop-zone__container",children:Yne.jsx(WPe,{isDragOver:c,isDroppable:a,className:"query-builder-filter-tree__free-drop-zone",label:"Add filter to main group",children:Yne.jsx(Yne.Fragment,{})})})]})})]})}),iMi=Vse(e=>{const{resultState:t}=e,i=Wat(),r=i.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraQueryUsageConfigurations?.()??[]),[s,o]=n.useState(r[0]?.title),a=r.find(e=>e.title===s);return Yne.jsx(pve,{open:t.isQueryUsageViewerOpened,onClose:()=>t.setIsQueryUsageViewerOpened(!1),children:Yne.jsxs(GOe,{className:"query-builder__usage-viewer__modal",darkMode:!i.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Yne.jsx(zOe,{title:"Query Usage"}),Yne.jsx(jOe,{className:"query-builder__usage-viewer__body",children:Yne.jsxs(Yne.Fragment,{children:[0===r.length?Yne.jsx(CLe,{children:"Query usage is not available"}):Yne.jsxs(Yne.Fragment,{children:[Yne.jsx("div",{className:"query-builder__usage-viewer__tab__header",children:Yne.jsx("div",{className:"query-builder__usage-viewer__tabs",children:r.map(e=>Yne.jsxs("button",{className:zse("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&&Yne.jsx("div",{className:"query-builder__usage-viewer__tab__icon",children:e.icon}),Yne.jsx("div",{className:"query-builder__usage-viewer__tab__label",children:e.title})]},e.key))})}),Yne.jsx("div",{className:"query-builder__usage-viewer__content",children:a?.renderer()})]}),Yne.jsx(mLe,{})]})}),Yne.jsx($Oe,{children:Yne.jsx(YOe,{onClick:()=>t.setIsQueryUsageViewerOpened(!1),text:"Close",type:"secondary"})})]})})});var rMi;function sMi(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=sMi(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"}(rMi||(rMi={}));var oMi,aMi={exports:{}},lMi={};var cMi,dMi,uMi={};
|
|
901
|
+
`})}),gCi=Vse(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 Yne.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:[Yne.jsx(Jwe,{className:"text-lg"}),Yne.jsx("div",{className:"ml-1 font-mono text-sm",children:n??""})]})}),mCi=Vse(e=>{const{view:t}=e,n=Fbi(),i=t.grid;return Yne.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)&&Yne.jsx(gCi,{view:t}),Yne.jsx("div",{}),Yne.jsxs("div",{className:"flex h-full items-center",children:[Yne.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&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),Yne.jsxs("div",{className:"flex h-full items-center px-2 text-orange-500",children:[Yne.jsx(sxe,{className:"stroke-[3px]"}),Yne.jsx("div",{className:"ml-1 text-sm font-semibold",children:`Results truncated to fit within row limit (${i.rowLimit})`})]})]}),Yne.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),Yne.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setPaginationEnabled(!i.isPaginationEnabled)},children:[Yne.jsx(_Ce,{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:twe("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:twe("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}),Yne.jsx("div",{className:twe("text-sm",{"text-sky-600":i.isPaginationEnabled,"text-neutral-500":!i.isPaginationEnabled}),children:"Pagination"})]}),t.dataCube.options?.enableCache&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),Yne.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setCachingEnabled(!i.isCachingEnabled).catch(e=>n.alertService.alertUnhandledError(e))},children:[Yne.jsx(_Ce,{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:twe("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:twe("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...":""}),Yne.jsxs("div",{className:twe("flex items-center text-sm",{"text-sky-600":i.isCachingEnabled,"text-neutral-500":!i.isCachingEnabled}),children:["Cache ",Yne.jsx(Bbi,{})]})]})]})]})]})}),fCi=Vse(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")}),Yne.jsx("div",{className:"relative h-[calc(100%_-_20px)] w-full",children:Yne.jsx(uoi,{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=dCi)},modules:[ssi,C_i],...FJn(t)})})}),yCi=Vse(e=>{const{view:t}=e,n=t.grid.configuration;return Yne.jsxs("div",{className:"h-[calc(100%_-_48px)] w-full",children:[Yne.jsx(pCi,{configuration:n}),Yne.jsx(fCi,{view:t}),Yne.jsx(mCi,{view:t})]})}),vCi=Vse(e=>{const{view:t}=e;switch(t.info.configuration.gridMode){case Hdt.MULTIDIMENSIONAL:return Yne.jsx(cCi,{view:t});case Hdt.STANDARD:return Yne.jsx(yCi,{view:t});default:return Yne.jsx("div",{className:"border-t-1 border-b-1 h-[calc(100%_-_48px)] w-full border border-neutral-200 bg-neutral-50"})}}),_Ci=Vse(e=>{const{view:t,taskManager:n}=e,i=t?.taskService.tasks??n?.tasks;return Yne.jsxs("div",{className:"flex h-5 w-full justify-between bg-neutral-100",children:[Yne.jsxs("div",{className:"flex",children:[Yne.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(Tdt.OPEN_EDITOR_PROPERTIES,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:jdt.STATUS_BAR})},disabled:!t,children:[Yne.jsx(zwe,{className:"text-xl"}),Yne.jsx("div",{className:"pl-0.5 underline",children:"Properties"})]}),Yne.jsx("div",{className:"flex",children:Yne.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(Tdt.OPEN_EDITOR_FILTER,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:jdt.STATUS_BAR})},disabled:!t||but(t.info.configuration.gridMode),children:[Yne.jsx(Ywe,{className:"text-lg"}),Yne.jsx("div",{className:"pl-0.5 underline",children:"Filter"})]})})]}),Yne.jsx("div",{className:"flex items-center px-2",children:Yne.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"):vo(i,0).description:void 0,children:void 0!==i&&i.length>0&&Yne.jsx(__e,{classes:{root:"h-3.5 w-full bg-transparent",bar1Indeterminate:"bg-green-500",bar2Indeterminate:"bg-green-500"},variant:"indeterminate"})})})]})}),bCi=Vse(e=>{const{children:t,title:i,menuItems:r,getMenuItems:s}=e,[o,a,l]=iLe(),[c,d]=n.useState([...r??[]]);return Yne.jsxs("div",{className:"flex h-7 w-full bg-neutral-100",children:[Yne.jsxs("div",{className:"flex w-fit max-w-80 items-center pl-1 pr-2 text-lg font-medium",children:[Yne.jsx(xwe,{className:"mr-1 h-4 w-4 flex-shrink-0"}),Yne.jsx("div",{className:"truncate",children:i})]}),Yne.jsxs("div",{className:"flex w-full flex-auto",children:[t,Yne.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(oCi.SEPARATOR),d([...r??[],...t]),o(e)},disabled:!r?.length,children:Yne.jsx(Vwe,{})}),Yne.jsx(rLe,{...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)=>Js(e)?Yne.jsx(sLe,{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===oCi.SEPARATOR?Yne.jsx("div",{className:"my-1 h-[1px] w-full bg-neutral-200"},t):null)})]})]})}),CCi=e=>{const{message:t,prompt:n}=e;return Yne.jsxs("div",{className:"flex h-full w-full overflow-auto p-5",children:[Yne.jsx("div",{className:"mr-3",children:Yne.jsx(dwe,{className:"flex-shrink-0 stroke-[0.5px] text-[40px] text-red-500"})}),Yne.jsxs("div",{children:[Yne.jsx("div",{className:"whitespace-break-spaces text-lg",children:t}),Yne.jsx("div",{className:"mt-1 whitespace-break-spaces text-neutral-500",children:n})]})]})},SCi=Vse(e=>{const{children:t,taskManager:n}=e;return Yne.jsxs(Yne.Fragment,{children:[Yne.jsx("div",{className:"h-[calc(100%_-_48px)] w-full border border-x-0 border-neutral-200 bg-neutral-50",children:t??null}),Yne.jsx(_Ci,{taskManager:n})]})}),ECi=Vse(e=>{const{children:t,title:n,menuItems:i,headerContent:r,layoutManager:s,taskManager:o}=e;return Yne.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white","data-testid":xdt.PLACEHOLDER,children:[Yne.jsx(bCi,{title:n,menuItems:i,children:r??null}),Yne.jsx(SCi,{taskManager:o,children:t}),s?Yne.jsx(sCi,{layout:s}):null,Yne.jsx(wAn,{})]})}),wCi=Vse(e=>{const{view:t}=e;return n.useEffect(()=>()=>t.dispose(),[t]),t.initializeState.hasFailed?Yne.jsx(SCi,{children:Yne.jsx(CCi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})}):Yne.jsxs(Yne.Fragment,{children:[Yne.jsx(vCi,{view:t}),Yne.jsx(_Ci,{view:t})]})}),xCi=Vse(()=>{const e=Fbi(),t=e.view,i=e=>{t.dataCube.telemetryService.sendTelemetry(Tdt.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]),Yne.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white",children:[Yne.jsx(bCi,{title:t.info.name,menuItems:[{label:Wdt.UNDO,action:()=>{e.view.snapshotService.undo(),i(Wdt.UNDO)},disabled:!e.view.snapshotService.canUndo},{label:Wdt.REDO,action:()=>{e.view.snapshotService.redo(),i(Wdt.REDO)},disabled:!e.view.snapshotService.canRedo},{label:Wdt.SETTINGS,action:()=>{e.settingService.display.open(),i(Wdt.SETTINGS)}}],getMenuItems:e.options?.getHeaderMenuItems,children:e.options?.innerHeaderRenderer?.({api:e.api})??null}),Yne.jsx(wCi,{view:t}),Yne.jsx(sCi,{layout:e.layoutService.manager}),Yne.jsx(wAn,{})]})}),TCi=Vse(e=>{const{specification:t,engine:i,options:r}=e,s=Gse(()=>new Lbi(t,i,r));return n.useEffect(()=>(s.initialize().catch(e=>s.logService.logUnhandledError(e)),()=>s.dispose()),[s]),s.initializeState.hasSucceeded?Yne.jsx(Pbi,{value:s,children:Yne.jsx(xCi,{},s.uuid)}):Yne.jsx(ECi,{title:Kdt,headerContent:s.options?.innerHeaderRenderer?.({api:s.api})??null,layoutManager:s.layoutService.manager,taskManager:s.taskService.manager,children:s.initializeState.hasFailed&&Yne.jsx(CCi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})})});var ACi,NCi,RCi,ICi,DCi,kCi;!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"}(ACi||(ACi={})),function(e){e.DAYS="Day(s)",e.WEEKS="Week(s)",e.MONTHS="Month(s)",e.YEARS="Year(s)"}(NCi||(NCi={})),function(e){e.WEEK="Week",e.MONTH="Month",e.QUARTER="Quarter",e.YEAR="Year"}(RCi||(RCi={})),function(e){e.MONDAY="Monday",e.TUESDAY="Tuesday",e.WENDNESDAY="Wednesday",e.THURSDAY="Thursday",e.FRIDAY="Friday",e.SATURDAY="Saturday",e.SUNDAY="Sunday"}(ICi||(ICi={})),function(e){e.BEFORE="Before",e.AFTER="After"}(DCi||(DCi={})),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"}(kCi||(kCi={}));class OCi{label;value;constructor(e,t){this.label=e,this.value=t}}class LCi extends OCi{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 MCi extends OCi{unit;constructor(e,t){super(e,ACi.FIRST_DAY_OF),this.unit=t}}class PCi extends OCi{day;constructor(e,t){super(e,ACi.PREVIOUS_DAY_OF_WEEK),this.day=t}}const FCi=[new LCi("Yesterday",ACi.YESTERDAY,1,NCi.DAYS,DCi.BEFORE,kCi.TODAY),new LCi("One Week Ago",ACi.ONE_WEEK_AGO,1,NCi.WEEKS,DCi.BEFORE,kCi.TODAY),new LCi("One Month Ago",ACi.ONE_MONTH_AGO,1,NCi.MONTHS,DCi.BEFORE,kCi.TODAY),new LCi("One Year Ago",ACi.ONE_YEAR_AGO,1,NCi.YEARS,DCi.BEFORE,kCi.TODAY)],BCi=e=>Object.values($ct).find(t=>lS(e,t)),VCi=(e,t,n)=>{if(e instanceof PCi){const i=new YE($ct.PREVIOUS_DAY_OF_WEEK);edt(i,yS.create(new ES(gS.DATE)));const r=new BE(yS.create(new ES(t.getType(zct.DAY_OF_WEEK))));return ldt(r,[...r.values,BS.create(Gs(t.getEnumeration(zct.DAY_OF_WEEK).values.filter(t=>t.name===e.day)[0]))],n),rdt(i,r,n),i}if(e instanceof MCi)switch(e.unit){case RCi.YEAR:{const e=new YE($ct.FIRST_DAY_OF_THIS_YEAR);return edt(e,yS.create(new ES(gS.DATE))),e}case RCi.QUARTER:{const e=new YE($ct.FIRST_DAY_OF_QUARTER);return edt(e,yS.create(new ES(gS.STRICTDATE))),e}case RCi.MONTH:{const e=new YE($ct.FIRST_DAY_OF_THIS_MONTH);return edt(e,yS.create(new ES(gS.DATE))),e}case RCi.WEEK:{const e=new YE($ct.FIRST_DAY_OF_WEEK);return edt(e,yS.create(new ES(gS.DATE))),e}default:throw new Yr(`Can't build expression for 'First Day Of ...' date picker option for unit '${e.unit}'`)}else switch(e.value){case ACi.TODAY:return zCi($ct.TODAY,gS.STRICTDATE);case ACi.NOW:return zCi($ct.NOW,gS.DATETIME);case kCi.FIRST_DAY_OF_THIS_YEAR:{const e=new YE($ct.FIRST_DAY_OF_THIS_YEAR);return edt(e,yS.create(new ES(gS.DATE))),e}case kCi.FIRST_DAY_OF_QUARTER:{const e=new YE($ct.FIRST_DAY_OF_QUARTER);return edt(e,yS.create(new ES(gS.STRICTDATE))),e}case kCi.FIRST_DAY_OF_MONTH:{const e=new YE($ct.FIRST_DAY_OF_THIS_MONTH);return edt(e,yS.create(new ES(gS.DATE))),e}case kCi.FIRST_DAY_OF_WEEK:{const e=new YE($ct.FIRST_DAY_OF_WEEK);return edt(e,yS.create(new ES(gS.DATE))),e}default:throw new Yr(`Can't build expression for date picker option '${e.value}'`)}},UCi=(e,t)=>{const n=t.getEnumeration(zct.DURATION_UNIT),i=n.values.filter(t=>t.name===Object.keys(NCi).filter(t=>NCi[t]===e)[0])[0];return i??Gs(n.values[0])},GCi=(e,t)=>{if(e instanceof YE&&lS(e.functionName,$ct.ADJUST)||e instanceof fA&&lS(e.function,$ct.ADJUST))try{const t=new LCi("",ACi.CUSTOM_DATE,(e=>{if(e instanceof YE){const t=e.parametersValues[1];return t instanceof FE?t.values[0]:t instanceof YE&&lS(t.functionName,$ct.MINUS)&&t.parametersValues[0]instanceof FE?t.parametersValues[0].values[0]:0}{const t=e.parameters[1];return t instanceof bA?t.value:t instanceof fA&&lS(t.function,$ct.MINUS)&&t.parameters[0]instanceof bA?t.parameters[0].value:0}})(e),(e=>Gs(e instanceof YE?Object.keys(NCi).filter(t=>t===e.parametersValues[2].values[0]?.value.name).map(e=>NCi[e])[0]:Object.values(NCi).filter(t=>t===js(e.parameters[2],KA).property)[0]))(e),(n=e)instanceof YE?n.parametersValues[1]instanceof YE&&lS(n.parametersValues[1].functionName,$ct.MINUS)?DCi.BEFORE:DCi.AFTER:n.parameters[1]instanceof fA&&lS(n.parameters[1].function,$ct.MINUS)?DCi.BEFORE:DCi.AFTER,(e=>{const t=e instanceof YE?e.parametersValues[0].functionName:e.parameters[0].function;switch(BCi(t)){case $ct.TODAY:return kCi.TODAY;case $ct.NOW:return kCi.NOW;case $ct.FIRST_DAY_OF_THIS_YEAR:return kCi.FIRST_DAY_OF_THIS_YEAR;case $ct.FIRST_DAY_OF_QUARTER:return kCi.FIRST_DAY_OF_QUARTER;case $ct.FIRST_DAY_OF_THIS_MONTH:return kCi.FIRST_DAY_OF_MONTH;case $ct.FIRST_DAY_OF_WEEK:return kCi.FIRST_DAY_OF_WEEK;case $ct.PREVIOUS_DAY_OF_WEEK:return kCi.PERVIOUS_DAY_OF_WEEK;default:throw new Yr(`Can't build custom date option reference moment '${t}'`)}})(e)),i=FCi.filter(e=>e.generateDisplayLabel()===t.generateDisplayLabel());return i.length>0?(t.label=Gs(i[0]?.label),t.value=Gs(i[0]?.value),t):(t.updateLabel(),t)}catch(e){Kr(e),t.notificationService.notifyError(e)}var n;return new LCi("","",0,void 0,void 0,void 0)},HCi=(e,t)=>{if(!(e instanceof YE||e instanceof fA)){if(e instanceof FE)return e.genericType.value.rawType.path===TC.LATESTDATE?new OCi(ACi.LATEST_DATE,ACi.LATEST_DATE):new OCi(e.values[0]??"",null===e.values[0]?"":e.genericType.value.rawType.path===TC.DATETIME?ACi.ABSOLUTE_TIME:ACi.ABSOLUTE_DATE);if(e instanceof AA)return new OCi(ACi.LATEST_DATE,ACi.LATEST_DATE);if(e instanceof xA)return new OCi(e.value,ACi.ABSOLUTE_DATE);if(e instanceof wA)return new OCi(e.value,ACi.ABSOLUTE_TIME);throw new Error(`Unexpected date V1_ValueSpecification: ${e}`)}{const n=e instanceof YE?e.functionName:e.function;switch(BCi(n)){case $ct.TODAY:return new OCi(ACi.TODAY,ACi.TODAY);case $ct.NOW:return new OCi(ACi.NOW,ACi.NOW);case $ct.FIRST_DAY_OF_THIS_YEAR:return new MCi(kCi.FIRST_DAY_OF_THIS_YEAR,RCi.YEAR);case $ct.FIRST_DAY_OF_QUARTER:return new MCi(kCi.FIRST_DAY_OF_QUARTER,RCi.QUARTER);case $ct.FIRST_DAY_OF_THIS_MONTH:return new MCi(kCi.FIRST_DAY_OF_MONTH,RCi.MONTH);case $ct.FIRST_DAY_OF_WEEK:return new MCi(kCi.FIRST_DAY_OF_WEEK,RCi.WEEK);case $ct.PREVIOUS_DAY_OF_WEEK:const n=e instanceof YE?e.parametersValues[0].values[0]?.value.name:js(e.parameters[0],KA).property;return new PCi(`Previous ${n}`,n);case $ct.ADJUST:return GCi(e,t);default:return new OCi("","")}}},zCi=(e,t)=>{const n=new YE(e);return edt(n,yS.create(new ES(t))),n},WCi=(e,t,n,i)=>{const r=new FE(yS.create(new ES(e.getPrimitiveType(t))));return ldt(r,[n],i),r},jCi=(e,t)=>{const n=On(e);return n.genericType=e.genericType,n.multiplicity=e.multiplicity,n},$Ci=(e,t)=>{const n=new KE(e.functionName);return sdt(n,zS.create(Gs(e.func.value))),ndt(n,e.parametersValues.map(e=>jCi(e)),t),n},qCi=(e,t,n,i)=>{const r=t.path;switch(r){case TC.STRING:case TC.STRICTDATE:case TC.DATETIME:case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.BINARY:case TC.BYTE:case TC.INTEGER:return WCi(e,r,i?vdt(r):null,n);case TC.BOOLEAN:return WCi(e,r,vdt(r),n);case TC.DATE:return WCi(e,TC.STRICTDATE,i?vdt(r):null,n);default:if(t instanceof RS){const e=new BE(yS.create(new ES(t)));if(i){if(!(t.values.length>0))throw new Yr(`Can't get default value for enumeration since enumeration '${r}' has no value`);ldt(e,[BS.create(t.values[0])],n)}return e}throw new Yr(`Can't get default value for type '${r}'`)}},YCi=(e,t)=>m6(((e,t)=>{const n=new QE(new XE(XC.create(e.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE));return n.expressionSequence[0]=qCi(e,gS.STRING,t,!0),n})(e.graph,t),e),KCi=(e,t,n,i)=>{const r=e.genericType?.value.rawType,s=e.multiplicity;if((!s.upperBound||s.upperBound>1)&&r&&r!==gS.BYTE)return new VE(s,yS.create(new ES(r)));if(r instanceof gS)return((e,t,n)=>{const i=e.name;return i===TC.DATE||i===TC.DATETIME?zCi($ct.NOW,gS.DATETIME):i===TC.STRICTDATE?zCi($ct.TODAY,gS.STRICTDATE):i===TC.DATE?WCi(t,TC.STRICTDATE,vdt(i),n):WCi(t,i,vdt(i),n)})(r,t,n);if(r instanceof RS){const e=new BE(yS.create(new ES(r))),t=(o=r,(new ub).getRandomItemInCollection(o.values)?.name??"");return""!==t&&ldt(e,[BS.create(Gw(r,t))],n),e}var o},XCi=(e,t,n)=>{if(e instanceof FE)return Xw(e.genericType.value.rawType,gS.DATE)?HCi(e,t).label:e.genericType.value.rawType===gS.STRING&&n?.wrapStringInDoubleQuotes?`"${e.values[0]?.toString()}"`:e.values[0]?.toString();if(e instanceof BE){const t=e.values[0];return n?.omitEnumOwnerName?t?.value.name:`${t?.ownerReference.value.name}.${t?.value.name}`}return e instanceof ME?e.name:e instanceof JE?XCi(e.getValue(),t,n):e instanceof YE?void 0!==e.genericType?.value.rawType&&Xw(e.genericType.value.rawType,gS.DATE)?HCi(e,t).label:e.functionName:e instanceof VE?e.values.map(e=>XCi(e,t,n)).join(","):void 0},QCi=(e,t,n)=>{let i=null;if(e instanceof gS)switch(e.path){case TC.STRING:i=new FE(yS.create(new ES(e))),ldt(i,[t.toString()],n);break;case TC.NUMBER:case TC.FLOAT:case TC.DECIMAL:case TC.INTEGER:{if(isNaN(Number(t)))return null;const r=e.path===TC.INTEGER?Number.parseInt(Number(t).toString(),10):Number(t);i=new FE(yS.create(new ES(e))),ldt(i,[r],n);break}case TC.DATE:case TC.STRICTDATE:if(isNaN(Date.parse(t)))return null;i=new FE(yS.create(new ES(e))),ldt(i,[t],n);break;case TC.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;i=new FE(yS.create(new ES(e))),ldt(i,[t],n);break;default:return null}return i},ZCi=(e,t)=>{const n=t?qy:e=>e,i=[n(e.func.value.name)];let r=e;for(;r instanceof KE;){for(r=r.parametersValues[0];r instanceof YE&&lS(r.functionName,$ct.SUBTYPE);){const e=`${CC}(${n(r.parametersValues.filter(e=>e instanceof PE)[0]?.genericType?.value.rawType.name??"")})`;i.unshift(e),r=r.parametersValues[0]}r instanceof KE&&i.unshift(n(r.func.value.name))}const s=[];for(const e of i)if(s.length){const t=Gs(s[s.length-1]);t.startsWith(CC)?s[s.length-1]=`${t}${e}`:s.push(e)}else s.push(e);return s.join(t?"/":".")},JCi=e=>{const t=[e.func.value.name];let n=e;for(;n instanceof KE;)n=n.parametersValues[0],n instanceof KE&&t.unshift(n.func.value.name);return t.join(".")},eSi=(e,t,n,i)=>{if(e.genericType){const r=e.genericType.value.rawType;if(r instanceof gS||r instanceof RS)return r===gS.LATESTDATE?new FE(yS.create(new ES(r))):qCi(t,r,i,n||0===e.multiplicity.lowerBound)}return(e=>new VE(nS.ZERO,yS.create(new ES(e.getType(exports.CORE_PURE_PATH.ANY)))))(t)};class tSi{queryBuilderState;path;title;propertyExpression;derivedProperty;parameters=[];propertyExpressionState;constructor(e,t,n){this.path=JCi(t),this.title=ZCi(t,!0),this.propertyExpression=ote(t,e.observerContext),this.queryBuilderState=e,this.derivedProperty=js(t.func.value,US),this.propertyExpressionState=n,Array.isArray(this.derivedProperty.parameters)&&(this.parameters=this.derivedProperty.parameters.map(e=>js(this.queryBuilderState.graphManagerState.graphManager.buildValueSpecification(e,this.queryBuilderState.graphManagerState.graph),ME))),(e=>{const t=e.parameterValues;e.parameters.forEach((n,i)=>{i<e.parameterValues.length?t[i]=Jct(e,i)??Gs(t[i]):t.push(Jct(e,i)??eSi(n,e.queryBuilderState.graphManagerState.graph,e.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue,e.queryBuilderState.observerContext))}),ndt(e.propertyExpression,[Gs(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 PE)||pdt(e))}}class nSi{queryBuilderState;propertyExpression;path;title;isEditingDerivedPropertyExpression=!1;derivedPropertyExpressionStates=[];requiresExistsHandling=!1;constructor(e,t){Hh(this,{isEditingDerivedPropertyExpression:ru,derivedPropertyExpressionStates:ru,setIsEditingDerivedProperty:hh,initDerivedPropertyExpressionStates:hh,isValid:lu,hashCode:lu}),this.queryBuilderState=e,this.propertyExpression=ote(t,e.observerContext),this.path=JCi(t),this.title=ZCi(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 KE;){if((void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(e=!0),n.func.value.genericType.value.rawType instanceof wS&&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&&sdt(n,zS.create(t))}if(n.func.value instanceof US){const e=new tSi(this.queryBuilderState,n,this);t.push(e)}for(n=n.parametersValues[0];n instanceof YE&&lS(n.functionName,$ct.SUBTYPE);)n=n.parametersValues[0]}this.requiresExistsHandling=e,this.derivedPropertyExpressionStates=t.slice().reverse()}get hashCode(){return $v([wdt.PROPERTY_EXPRESSION_STATE,this.propertyExpression])}}class iSi{uuid=ho()}class rSi{uuid=ho();lambdaPrefix;lambdaString;parserError;compilationError;typeAheadEnabled=!1;constructor(e,t,n){Hh(this,{lambdaString:ru,parserError:ru,compilationError:ru,typeAheadEnabled:ru,lambdaId:lu,fullLambdaString:lu,setLambdaString:hh,setTypeAhead:hh,clearErrors:hh,setCompilationError:hh,setParserError:hh,convertLambdaGrammarStringToObject:Rh,convertLambdaObjectToGrammarString:Rh}),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 IZ(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 h1)}}const sSi="PROJECTION_COLUMN";class oSi extends iSi{tdsState;columnName;wavgWeight;constructor(e,t){super(),Hh(this,{uuid:!1,tdsState:!1,columnName:ru,wavgWeight:ru,setColumnName:hh,setWavgWeight:hh,hashCode:lu}),this.tdsState=e,this.columnName=t}setColumnName(e){this.columnName=e}setWavgWeight(e){this.wavgWeight=e}}class aSi extends oSi{lambdaParameterName=Uct;propertyExpressionState;constructor(e,t,n){super(e,""),Hh(this,{lambdaParameterName:ru,propertyExpressionState:ru,setLambdaParameterName:hh,changeProperty:hh}),this.propertyExpressionState=new nSi(e.queryBuilderState,t),this.columnName=ZCi(this.propertyExpressionState.propertyExpression,n)}setLambdaParameterName(e){this.lambdaParameterName=e}isVariableUsed(e){return Boolean(this.propertyExpressionState.derivedPropertyExpressionStates.find(t=>t.parameterValues.find(t=>Sdt(e,t))))}changeProperty(e,t){this.propertyExpressionState=new nSi(this.tdsState.queryBuilderState,Cxi(e,this.tdsState.queryBuilderState.explorerState)),this.columnName=ZCi(this.propertyExpressionState.propertyExpression,t)}getColumnType(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get hashCode(){return $v([wdt.SIMPLE_PROJECTION_COLUMN_STATE,this.propertyExpressionState,this.columnName])}}class lSi extends rSi{queryBuilderState;derivationProjectionColumnState;readOnlylambdaJson="";constructor(e,t){super("",""),this.queryBuilderState=e,this.derivationProjectionColumnState=t}get lambdaId(){return tte([Lct.QUERY_BUILDER,Lct.PROJECTION,this.derivationProjectionColumnState.uuid])}setLambdaJson(e){this.readOnlylambdaJson=e}*convertLambdaGrammarStringToObject(){const e=Rj();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){Kr(e),e instanceof NZ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.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 DE(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){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.PARSING_FAILURE),e)}else this.clearErrors(),this.setLambdaString("")}}class cSi extends oSi{derivationLambdaEditorState;lambda;returnType;fetchingLambdaReturnTypeState=hb.create();constructor(e,t){super(e,"(derivation)"),Hh(this,{lambda:ru,returnType:ru,fetchingLambdaReturnTypeState:ru,setLambda:hh,fetchDerivationLambdaReturnType:Rh,setLambdaReturnType:hh}),this.derivationLambdaEditorState=new lSi(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{Ks(!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)),Ks(Array.isArray(this.lambda.parameters));const t=this.tdsState.queryBuilderState.graphManagerState.graph,n=this.getIsolatedRawLambda(),i=yield this.tdsState.queryBuilderState.graphManagerState.graphManager.getLambdaReturnType(n,t);this.setLambdaReturnType(i)}catch(e){Kr(e),this.tdsState.queryBuilderState.applicationStore.logService.info(vb.create(sw.COMPILATION_FAILURE),e)}finally{this.fetchingLambdaReturnTypeState.complete(),e?.isBeingDropped&&this.tdsState.postFilterState.setDerivedColumnBeingDropped(void 0)}}getIsolatedRawLambda(){Ks(Array.isArray(this.lambda.parameters));const e=this.lambda.parameters;Ks(1===e.length);const t=e[0];qs(t.name);const n=this.tdsState.queryBuilderState,i=new kE(t.name,nS.ONE,XC.create(Gs(n.class))),r=n.graphManagerState.graphManager.serializeRawValueSpecification(i),s=n.parametersState.parameterStates.map(e=>n.graphManagerState.graphManager.serializeValueSpecification(e.parameter)),o=n.constantState.constants.map(e=>e.buildLetExpression()).map(e=>n.graphManagerState.graphManager.serializeValueSpecification(e));let a=this.lambda.body;o.length&&(a=Array.isArray(this.lambda.body)?[...o,...this.lambda.body]:[...o,this.lambda.body]);return new DE([r,...s],a)}setLambdaReturnType(e){const t=this.tdsState.queryBuilderState.graphManagerState.graph.getType(e);Ks(t instanceof gS||t instanceof RS,"Projection column must have return type of either primitve type or enumeration"),this.setReturnType(t)}getColumnType(){return this.returnType}get hashCode(){return $v([wdt.DERIVATION_PROJECTION_COLUMN_STATE,this.returnType??"",this.lambda,this.columnName])}}class dSi{uuid=ho();constructor(){Hh(this,{getOperator:lu,allValidationIssues:lu,hashCode:lu})}buildAggregateExpressionFromState(e){return this.buildAggregateExpression(e.projectionColumnState instanceof aSi?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 uSi extends iSi{aggregationState;projectionColumnState;lambdaParameterName=Uct;operator;calendarFunction;hideCalendarColumnState=!0;constructor(e,t,n){super(),Hh(this,{projectionColumnState:ru,lambdaParameterName:ru,calendarFunction:ru,hideCalendarColumnState:ru,operator:ru,setHideCalendarColumnState:hh,setColumnState:hh,setLambdaParameterName:hh,setOperator:hh,setCalendarFunction:hh,handleUsedPostFilterType:hh,hashCode:lu}),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 cSi&&this.projectionColumnState.setReturnType(e)}get hashCode(){return $v([wdt.AGGREGATE_COLUMN_STATE,this.operator,this.calendarFunction??""])}get columnName(){return this.projectionColumnState.columnName}}class hSi{tdsState;operators=[];calendarFunctions;columns=[];constructor(e,t,n){Hh(this,{columns:ru,removeColumn:hh,addColumn:hh,changeColumnAggregateOperator:hh,disableCalendar:hh,allValidationIssues:lu,hashCode:lu}),this.tdsState=e,this.operators=t,this.calendarFunctions=n}removeColumn(e){Eo(this.columns,e)}addColumn(e){Co(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 uSi(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 $v([wdt.AGGREGATION_STATE,$v(this.columns)])}}const pSi=(e,t,n)=>{const i=new YE(sS(e));return i.parametersValues.push(new ME(t,nS.ONE)),i},gSi=(e,t,n,i,r)=>{if(lS(n.functionName,i)){const s=new uSi(e.tdsState.aggregationState,e,r);s.setLambdaParameterName(t.name),Ks(1===n.parametersValues.length,`Can't process ${sS(i)}() expression: ${sS(i)}() expects no argument`);const o=js(n.parametersValues[0],ME,`Can't process ${sS(i)}() expression: only support ${sS(i)}() immediately following a variable expression`);return Ks(s.lambdaParameterName===o.name,`Can't process ${sS(i)}() expression: expects variable used in lambda body '${o.name}' to match lambda parameter '${s.lambdaParameterName}'`),Ks(r.isCompatibleWithColumn(s.projectionColumnState),`Can't process ${sS(i)}() expression: property is not compatible with operator`),s.setOperator(r),s}};class mSi extends dSi{getLabel(e){return"average"}isCompatibleWithColumn(e){if(e instanceof aSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return pSi($ct.AVERAGE,t)}buildAggregateColumnState(e,t,n){return gSi(n,t,e,$ct.AVERAGE,this)}getReturnType(e){return gS.FLOAT}get hashCode(){return $v([wdt.AGGREGATE_OPERATOR_AVERAGE])}}class fSi extends dSi{getLabel(e){return"count"}isCompatibleWithColumn(e){if(e instanceof aSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)||t instanceof RS}return!0}buildAggregateExpression(e,t,n){return pSi($ct.COUNT,t)}buildAggregateColumnState(e,t,n){return gSi(n,t,e,$ct.COUNT,this)}getReturnType(e){return gS.INTEGER}get hashCode(){return $v([wdt.AGGREGATE_OPERATOR_COUNT])}}class ySi extends dSi{getLabel(e){return"distinct count"}isCompatibleWithColumn(e){if(e instanceof aSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)||t instanceof RS}return!0}buildAggregateExpression(e,t,n){const i=new YE(sS($ct.DISTINCT));i.parametersValues.push(new ME(t,nS.ONE));const r=new YE(sS($ct.COUNT));return r.parametersValues.push(i),r}buildAggregateColumnState(e,t,n){if(lS(e.functionName,$ct.COUNT)){const i=new uSi(n.tdsState.aggregationState,n,this);i.setLambdaParameterName(t.name),Ks(1===e.parametersValues.length,"Can't process count() expression: count() expects no argument");const r=js(e.parametersValues[0],YE,`Can't process '${this.getLabel(n)}' aggregate lambda: only support count() immediately following an expression`);Ks(lS(r.functionName,$ct.DISTINCT),`Can't process '${this.getLabel(n)}' aggregate lambda: only support count() immediately following distinct() expression`),Ks(1===r.parametersValues.length,"Can't process distinct() expression: distinct() expects no argument");const s=js(r.parametersValues[0],ME,"Can't process distinct() expression: only support distinct() immediately following a variable expression");return Ks(i.lambdaParameterName===s.name,`Can't process distinct() expression: expects variable used in lambda body '${s.name}' to match lambda parameter '${i.lambdaParameterName}'`),Ks(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process disc expression: property is not compatible with operator"),i.setOperator(this),i}}getReturnType(e){return gS.INTEGER}get hashCode(){return $v([wdt.AGGREGATE_OPERATOR_DISTINCT_COUNT])}}class vSi extends dSi{getLabel(e){return"max"}isCompatibleWithColumn(e){if(e instanceof aSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return pSi([TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e?.func.value.genericType.value.rawType.path??TC.NUMBER)?$ct.DATE_MAX:$ct.MAX,t)}buildAggregateColumnState(e,t,n){if(n instanceof aSi){switch(n.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path){case TC.NUMBER:case TC.INTEGER:case TC.DECIMAL:case TC.FLOAT:if(!lS(e.functionName,$ct.MAX))return;return gSi(n,t,e,$ct.MAX,this);case TC.DATE:case TC.STRICTDATE:case TC.DATETIME:if(!lS(e.functionName,$ct.DATE_MAX))return;return gSi(n,t,e,$ct.DATE_MAX,this);default:return}}return lS(e.functionName,$ct.MAX)?gSi(n,t,e,$ct.MAX,this):lS(e.functionName,$ct.DATE_MAX)?gSi(n,t,e,$ct.DATE_MAX,this):void 0}get hashCode(){return $v([wdt.AGGREGATE_OPERATOR_MAX])}}class _Si extends dSi{getLabel(e){return"min"}isCompatibleWithColumn(e){if(e instanceof aSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return pSi([TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e?.func.value.genericType.value.rawType.path??TC.NUMBER)?$ct.DATE_MIN:$ct.MIN,t)}buildAggregateColumnState(e,t,n){if(n instanceof aSi){switch(n.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path){case TC.NUMBER:case TC.INTEGER:case TC.DECIMAL:case TC.FLOAT:if(!lS(e.functionName,$ct.MIN))return;return gSi(n,t,e,$ct.MIN,this);case TC.DATE:case TC.STRICTDATE:case TC.DATETIME:if(!lS(e.functionName,$ct.DATE_MIN))return;return gSi(n,t,e,$ct.DATE_MIN,this);default:return}}return lS(e.functionName,$ct.MIN)?gSi(n,t,e,$ct.MIN,this):lS(e.functionName,$ct.DATE_MIN)?gSi(n,t,e,$ct.DATE_MIN,this):void 0}get hashCode(){return $v([wdt.AGGREGATE_OPERATOR_MIN])}}class bSi extends dSi{getLabel(e){return"std dev (population)"}isCompatibleWithColumn(e){if(e instanceof aSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return pSi($ct.STD_DEV_POPULATION,t)}buildAggregateColumnState(e,t,n){return gSi(n,t,e,$ct.STD_DEV_POPULATION,this)}getReturnType(e){return gS.NUMBER}get hashCode(){return $v([wdt.AGGREGATE_OPERATOR_STD_DEV_POPULATION])}}class CSi extends dSi{getLabel(e){return"std dev (sample)"}isCompatibleWithColumn(e){if(e instanceof aSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return pSi($ct.STD_DEV_SAMPLE,t)}buildAggregateColumnState(e,t,n){return gSi(n,t,e,$ct.STD_DEV_SAMPLE,this)}getReturnType(e){return gS.NUMBER}get hashCode(){return $v([wdt.AGGREGATE_OPERATOR_STD_DEV_SAMPLE])}}class SSi extends dSi{getLabel(e){return"sum"}isCompatibleWithColumn(e){if(e instanceof aSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return pSi($ct.SUM,t)}buildAggregateColumnState(e,t,n){return gSi(n,t,e,$ct.SUM,this)}get hashCode(){return $v([wdt.AGGREGATE_OPERATOR_SUM])}}class ESi{columnState;sortType=Yct.ASC;constructor(e){Hh(this,{columnState:ru,sortType:ru,setColumnState:hh,setSortType:hh,hashCode:lu}),this.columnState=e}setColumnState(e){this.columnState=e}setSortType(e){this.sortType=e}get hashCode(){return $v([wdt.SORT_COLUMN_STATE,this.sortType.toString(),this.columnState])}}class wSi{tdsState;showModal=!1;limit;distinct=!1;sortColumns=[];slice;constructor(e){Hh(this,{showModal:ru,limit:ru,distinct:ru,sortColumns:ru,slice:ru.ref,setShowModal:hh,setLimit:hh,setDistinct:hh,setSortColumns:hh,addSortColumn:hh,updateSortColumns:hh,setSlice:hh,reset:hh,hashCode:lu}),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){Co(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 $v([wdt.RESULT_SET_MODIFIER_STATE,$v(this.sortColumns),this.limit?.toString()??"",this.distinct.toString()])}}var xSi;!function(e){e.TABULAR_DATA_STRUCTURE="TABULAR_DATA_STRUCTURE",e.GRAPH_FETCH="GRAPH_FETCH"}(xSi||(xSi={}));class TSi{queryBuilderState;fetchStructureState;constructor(e,t){Hh(this,{usedExplorerTreePropertyNodeIDs:lu,fetchStructureValidationIssues:lu,allValidationIssues:lu,hasInvalidFilterValues:lu,hasInvalidDerivedPropertyParameters:lu,hashCode:lu}),this.queryBuilderState=e,this.fetchStructureState=t}get TEMPORARY__showPostFetchStructurePanel(){return this.queryBuilderState.filterState.showPanel}}class ASi{uuid=ho();getTDSColumnGetter(){}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!!t&&this.isCompatibleWithType(t)}}const NSi=(e,t)=>Gs(((e,t)=>e.tdsColumns.find(e=>e.columnName===t))(e,t),`Column ${t} not found in TDS`),RSi=e=>{if(e instanceof RS)return qct.GET_ENUM;switch(e.path){case TC.STRING:return qct.GET_STRING;case TC.NUMBER:return qct.GET_NUMBER;case TC.INTEGER:return qct.GET_INTEGER;case TC.FLOAT:return qct.GET_FLOAT;case TC.DECIMAL:return qct.GET_DECIMAL;case TC.DATE:return qct.GET_DATE;case TC.DATETIME:return qct.GET_DATETIME;case TC.STRICTDATE:return qct.GET_STRICTDATE;case TC.BOOLEAN:return qct.GET_BOOLEAN;default:throw new Yr(`Can't find TDS column derived property name for type: '${e.path}'`)}};var ISi;!function(e){e.AND="and",e.OR="or"}(ISi||(ISi={}));const DSi=e=>{switch(e){case ISi.AND:return $ct.AND;case ISi.OR:return $ct.OR;default:throw new Yr(`Can't derive function name from group operation '${e}'`)}},kSi=e=>{if(lS(e,$ct.AND))return ISi.AND;if(lS(e,$ct.OR))return ISi.OR;throw new Yr(`Can't derive group operation from function name '${e}'`)},OSi=(e,t)=>{const n=t.tdsState,i=e.func.value.name;Ks(Object.values(qct).includes(i),`Can't process TDS column expression: TDS column property '${i}' not supported. Supported types are ${Object.values(qct).join(",")}`);const r=i,s=e.parametersValues[1],o=io(js(s,FE,"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=NSi(n,o);if(r!==qct.IS_NULL&&r!==qct.IS_NOT_NULL){if(a instanceof cSi){const e=xEi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.setReturnType(e),a}if(a instanceof uSi&&a.projectionColumnState instanceof cSi){const e=xEi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.handleUsedPostFilterType(e),a}const e=Gs(a.getColumnType());Ks(RSi(e)===r,`Can't process TDS column expression: expected column type ${RSi(e)} (got ${r})`)}return a},LSi=(e,t,n,i)=>{let r;const s=i.getTDSColumnGetter();if(s&&t instanceof KE&&t.func.value.name===s){const n=OSi(t,e);return r=new OEi(e,n,i),r}if(n&&lS(t.functionName,n)){Ks(2===t.parametersValues.length,`Can't process ${sS(n)}() expression: ${sS(n)}() expects '1 argument'`);const s=t.parametersValues[0];let o;if(s instanceof KE)o=OSi(s,e);else{if(!(s instanceof qE))throw new Yr(`Can't process ${sS(n)}() expression: expects property expression in lambda body`);{const t=s.functionName;o=NSi(e.tdsState,t)}}const a=t.parametersValues[1];r=new OEi(e,o,i),((e,t)=>{if(e instanceof KE){const n=Xr(()=>OSi(e,t.postFilterState));if(n)return void t.setRightConditionVal(new kEi(t,n))}const n=e?Edt(e,t.postFilterState.tdsState.queryBuilderState.observerContext):void 0;t.setRightConditionVal(new DEi(t,n))})(a,r),Ks(i.isCompatibleWithPostFilterColumn(r),`Can't process ${sS(n)}() expression: property is not compatible with post-filter operator`),Ks(i.isCompatibleWithConditionValue(r),`Operator '${i.getLabel()}' not compatible with value specification ${a?.toString()}`)}return r},MSi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(!lS(e.functionName,[$ct.AND,$ct.OR])){for(const n of t.operators){const r=n.buildPostFilterConditionState(t,e);if(r)return void t.addNodeFromNode(new NEi(void 0,r),i)}throw new Yr("Can't process post-filter expression: no compatible post-filter operator processer available from plugins")}{const r=new AEi(n,kSi(e.functionName));t.nodes.set(r.id,r),e.parametersValues.forEach(e=>MSi(js(e,qE,"Can't process post-filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}},PSi=(e,t,n,i,r)=>{const s=r?.expressionSequence[0]?jK(r.expressionSequence[0]):void 0,o=new ME(e.postFilterState.lambdaParameterName,nS.ONE);if(s){const e=Gs(s.columns.find(e=>t.columnName===e.name),`Can't find property ${t.columnName} in relation`),n=new qE(e.name);return n.func=e,n.parametersValues=[o],n}{const e=new KE("");let r;const s=i?i.getTDSColumnGetter():void 0;if(s)r=s;else{const e=Gs(t.getColumnType());r=RSi(e)}e.func=zS.create(Gs($w(n.getClass(zct.TDS_ROW)).find(e=>e.name===r)));const a=new FE(yS.create(new ES(gS.STRING)));return a.values=[t.columnName],e.parametersValues=[o,a],e}},FSi=(e,t,n,i)=>{const r=e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,s=PSi(e,e.leftConditionValue,r,t,i);if(n){const t=new YE(sS(n));return t.parametersValues.push(s),e.rightConditionValue.appendConditionValue(t,i),t}return s};class BSi extends ASi{getLabel(){return"starts with"}isCompatibleWithType(e){return gS.STRING===e}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&gS.STRING===e.rightConditionValue.type}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();if(t?.path===TC.STRING)return qCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}buildPostFilterConditionExpression(e,t){return FSi(e,this,$ct.STARTS_WITH,t)}buildPostFilterConditionState(e,t){return LSi(e,t,$ct.STARTS_WITH,this)}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_START_WITH])}}class VSi extends BSi{getLabel(){return"doesn't start with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?mdt(n):void 0}buildPostFilterConditionState(e,t){const n=gdt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_NOT_START_WITH])}}var USi;!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"}(USi||(USi={}));const GSi=e=>{let t=e;for(;t instanceof KE;){if(void 0===t.func.value.multiplicity.upperBound||t.func.value.multiplicity.upperBound>1)return!0;for(t=t.parametersValues[0];t instanceof YE&&lS(t.functionName,$ct.SUBTYPE);)t=t.parametersValues[0]}return!1};class HSi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return $v([wdt.FILTER_CONDITION_RIGHT_VALUE])}}class zSi extends HSi{value;constructor(e,t){super(e),Hh(this,{value:ru,setValue:hh}),this.value=this.setValue(t)}get type(){return this.value instanceof VE?hdt(this.conditionState.filterState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?udt(this.value):void 0}setValue(e){return this.value=e?xte(e,this.conditionState.filterState.queryBuilderState.observerContext):void 0,this.value}get isCollection(){return this.value instanceof VE}get hashCode(){return $v([wdt.FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class WSi extends HSi{propertyExpressionState;constructor(e,t){super(e),Hh(this,{propertyExpressionState:ru,changePropertyExpressionState:hh}),this.propertyExpressionState=t}get type(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get isCollection(){return GSi(this.propertyExpressionState.propertyExpression)}changePropertyExpressionState(e){this.propertyExpressionState=e}}class jSi{filterState;propertyExpressionState;operator;rightConditionValue;existsLambdaParamNames=[];typeaheadSearchResults;typeaheadSearchState=hb.create();constructor(e,t,n){Hh(this,{propertyExpressionState:ru,operator:ru,rightConditionValue:ru,existsLambdaParamNames:ru,typeaheadSearchResults:ru,changeOperator:hh,setOperator:hh,setRightConditionValue:hh,addExistsLambdaParamNames:hh,buildRightConditionValueFromValueSpec:hh,buildRightConditionValueFromPropertyExpressionState:hh,handleTypeaheadSearch:Rh,operators:lu,hashCode:lu}),this.filterState=e,this.propertyExpressionState=new nSi(e.queryBuilderState,t),n?this.operator=n:(Ks(0!==this.operators.length,`Can't find an operator for property '${this.propertyExpressionState.path}': no operators registered`),this.operator=this.operators[0]),this.buildRightConditionValueFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}get operators(){return this.filterState.operators.filter(e=>e.isCompatibleWithFilterConditionProperty(this))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=js(this.rightConditionValue,zSi),n=e??t.value;if(EEi(n)){const e=(yield this.filterState.queryBuilderState.graphManagerState.graphManager.runQuery(CEi(this.filterState.queryBuilderState,this.propertyExpressionState.propertyExpression,n),Gs(this.filterState.queryBuilderState.executionContextState.mapping),Gs(this.filterState.queryBuilderState.executionContextState.runtimeValue),this.filterState.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.filterState.queryBuilderState.forceFromExpressionForExec})).executionResult;this.typeaheadSearchResults=SEi(e)}this.typeaheadSearchState.pass()}catch(e){Kr(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 VE&&this.rightConditionValue instanceof zSi&&this.rightConditionValue.value instanceof PE&&pdt(this.rightConditionValue.value)&&""!==this.rightConditionValue.value.values[0]?ldt(e,[this.rightConditionValue.value],this.filterState.queryBuilderState.observerContext):e instanceof PE&&this.rightConditionValue instanceof zSi&&this.rightConditionValue.value instanceof VE&&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 zSi?this.rightConditionValue.setValue(e):this.setRightConditionValue(new zSi(this,e))}buildRightConditionValueFromPropertyExpressionState(e){this.rightConditionValue instanceof WSi?this.rightConditionValue.changePropertyExpressionState(e):this.setRightConditionValue(new WSi(this,e))}get hashCode(){return $v([wdt.FILTER_CONDITION_STATE,this.propertyExpressionState,this.rightConditionValue??"",this.operator])}}class $Si{id=ho();label="";isOpen;parentId;constructor(e){this.parentId=e,Hh(this,{isOpen:ru,parentId:ru,setIsOpen:hh,setParentId:hh,hashCode:lu})}setIsOpen(e){this.isOpen=e}setParentId(e){this.parentId=e}}class qSi extends $Si{childrenIds=[];lambdaParameterName;constructor(e){super(e),Hh(this,{childrenIds:ru,addChildNode:hh,removeChildNode:hh,dragPreviewLabel:lu}),this.isOpen=!0}addChildNode(e){Co(this.childrenIds,e.id),e.setParentId(this.id)}removeChildNode(e){Eo(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 YSi extends qSi{groupOperation;constructor(e,t){super(e),Hh(this,{groupOperation:ru,setGroupOperation:hh}),this.groupOperation=t,this.isOpen=!0}get dragPreviewLabel(){return`${this.groupOperation.toUpperCase()} group`}setGroupOperation(e){this.groupOperation=e}get hashCode(){return $v([wdt.FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",$v(this.childrenIds),this.groupOperation,this.lambdaParameterName??""])}}class KSi extends qSi{filterState;propertyExpressionState;constructor(e,t){super(t),Hh(this,{propertyExpressionState:ru,setPropertyExpression:hh}),this.filterState=e,this.isOpen=!0}get dragPreviewLabel(){return"exists"}setPropertyExpression(e){this.propertyExpressionState=new nSi(this.filterState.queryBuilderState,e)}get hashCode(){return $v([wdt.FILTER_TREE_EXISTS_NODE_DATA,this.parentId??"",$v(this.childrenIds),this.propertyExpressionState.propertyExpression,this.lambdaParameterName??""])}}const XSi=e=>{let t=e.condition.filterState.getParentNode(e);for(;void 0!==t;){if(t instanceof KSi)return!0;t=e.condition.filterState.getParentNode(t)}return!1};class QSi extends $Si{condition;isNewlyAdded;constructor(e,t){super(e),Hh(this,{condition:ru,isNewlyAdded:ru,setIsNewlyAdded:hh,dragPreviewLabel:lu}),this.isNewlyAdded=!1,this.condition=t}setIsNewlyAdded(e){this.isNewlyAdded=e}get dragPreviewLabel(){return this.condition.propertyExpressionState.title}get hashCode(){return $v([wdt.FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class ZSi extends $Si{constructor(e){super(e),Hh(this,{dragPreviewLabel:lu})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return $v([wdt.FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class JSi{queryBuilderState;lambdaParameterName=Uct;rootIds=[];nodes=new Map;selectedNode;isRearrangingConditions=!1;operators=[];showPanel=!0;constructor(e,t){Hh(this,{rootIds:ru,nodes:ru,selectedNode:ru,isRearrangingConditions:ru,lambdaParameterName:ru,showPanel:ru,setLambdaParameterName:hh,setRearrangingConditions:hh,setSelectedNode:hh,addNodeFromNode:hh,replaceBlankNodeWithNode:hh,addGroupConditionNodeFromNode:hh,newGroupConditionFromNode:hh,newGroupWithConditionFromNode:hh,removeNodeAndPruneBranch:hh,pruneTree:hh,simplifyTree:hh,collapseTree:hh,setShowPanel:hh,expandTree:hh,allValidationIssues:lu,hasInvalidFilterValues:lu,hasInvalidDerivedPropertyParameters:lu,hashCode:lu}),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 Gs(this.nodes.get(e),`Can't find query builder filter tree node with ID '${e}'`)}getRootNode(){Ks(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?js(this.nodes.get(e.parentId),qSi):void 0}addRootNode(e){const t=this.getRootNode();if(this.nodes.set(e.id,e),t instanceof YSi)t.addChildNode(e);else if(t instanceof QSi||t instanceof ZSi||t instanceof KSi){const n=new YSi(void 0,ISi.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 YSi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof KSi)if(t.childrenIds.length){this.nodes.set(e.id,e);const n=new YSi(void 0,ISi.AND);n.addChildNode(Gs(this.nodes.get(Gs(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 QSi||t instanceof ZSi){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 YSi(void 0,ISi.AND),n=new ZSi(void 0),i=new ZSi(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 YSi(void 0,n??ISi.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):(Eo(this.rootIds,e.id),this.addRootNode(r)),r}newGroupWithConditionFromNode(e,t){const n=e??new ZSi(void 0);if(t instanceof QSi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new YSi(void 0,ISi.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 qSi&&[...e.childrenIds].forEach(t=>e.removeChildNode(this.getNode(t)));const t=this.getParentNode(e);t?t.removeChildNode(e):Eo(this.rootIds,e.id)}pruneChildlessGroupNodes(){const e=()=>Array.from(this.nodes.values()).filter(zs(YSi)).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):Co(this.rootIds,n)}),this.nodes.delete(e.id),t?t.removeChildNode(e):Eo(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 YSi&&!(n.childrenIds.length>=2);)this.squashGroupNode(n),n=this.getParentNode(n)}else Eo(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 ZSi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(zs(YSi)).filter(e=>e.childrenIds.length<2).filter(e=>{if(!e.childrenIds.length)throw new qr("Query builder filter tree found unexpected childless group nodes");const t=e.childrenIds[0];if(this.getNode(t)instanceof ZSi)throw new qr("Query builder filter tree found unexpected blank nodes");return this.getNode(t)instanceof QSi});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(zs(YSi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;const t=this.nodes.get(e.parentId);return t instanceof YSi&&t.groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=js(this.nodes.get(Gs(e.parentId)),YSi);[...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(zs(QSi)).map(e=>e.condition.rightConditionValue instanceof zSi?e.condition.rightConditionValue.value:void 0).filter(Vs).find(t=>Sdt(e,t)))}isInvalidFilterPropertyExpressionState(e){return e instanceof QSi&&!e.condition.propertyExpressionState.isValid}isInvalidValueSpecFilterValue(e){return e instanceof QSi&&e.condition.rightConditionValue instanceof zSi&&e.condition.rightConditionValue.value instanceof PE&&!pdt(e.condition.rightConditionValue.value)}isInvalidPropertyExpressionStateFilterValue(e){return e instanceof QSi&&e.condition.rightConditionValue instanceof WSi&&!e.condition.rightConditionValue.propertyExpressionState.isValid}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof QSi&&(this.isInvalidValueSpecFilterValue(t)&&e.push(`Filter value for ${t.condition.propertyExpressionState.title} is missing or invalid`),this.isInvalidFilterPropertyExpressionState(t)&&e.push(`Derived property parameter value for ${t.condition.propertyExpressionState.title} is missing or invalid`),t.condition.rightConditionValue instanceof WSi&&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 $v([wdt.FILTER_STATE,$v(this.rootIds),$v(Array.from(this.nodes.values()))])}}const eEi=e=>e.getValue()instanceof JE?eEi(js(e.getValue(),JE)):e.getValue(),tEi=(e,t,n,i,r)=>{const s=new KE("");let o;s.func=e.func,s.parametersValues=[...e.parametersValues];let a=s;for(;a instanceof KE;){if(o=a.parametersValues[0],o instanceof KE){const e=new KE("");e.func=o.func,e.parametersValues=[...o.parametersValues],o=e,idt(a,e,0,t.observerContext)}if(a instanceof KE&&a.func.value instanceof US)if(i?.useAllVersionsForMilestoning&&a.func.value.genericType.value.rawType instanceof wS&&0!==a.func.value._OWNER._generatedMilestonedProperties.length){const e=a.func.value.name,n=a.func.value._OWNER._generatedMilestonedProperties.find(t=>t.name===`${e}${OC.ALL_VERSIONS}`);n&&(sdt(a,zS.create(n)),ndt(a,[Gs(a.parametersValues[0])],t.observerContext))}else{const e=a;a.parametersValues.slice(1).forEach((t,n)=>{t instanceof JE&&(!r&&t.isPropagatedValue?1===n&&3===e.parametersValues.length||0===n&&3===e.parametersValues.length&&!(e.parametersValues[2]instanceof JE&&!0===e.parametersValues[2].isPropagatedValue)?e.parametersValues[n+1]=eEi(t):e.parametersValues=[Gs(js(a,KE).parametersValues[0])]:e.parametersValues[n+1]=eEi(t))})}for(a=o;a instanceof YE&&lS(a.functionName,$ct.SUBTYPE);)a=a.parametersValues[0]}return a instanceof ME&&odt(a,n),s},nEi=(e,t)=>{if(t instanceof QSi){const n=t.parentId?js(e.nodes.get(t.parentId),qSi):void 0;return t.condition.operator.buildFilterConditionExpression(t.condition,n?.lambdaParameterName)}if(t instanceof YSi){const n=new YE(sS(DSi(t.groupOperation))),i=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>nEi(e,t)).filter(Vs);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 YE(sS(DSi(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 KSi){const n=new YE(sS($ct.EXISTS));let i=t.parentId?js(e.nodes.get(Gs(t.parentId)),qSi):void 0;for(;i&&!(i instanceof YSi);)i=i.parentId?js(e.nodes.get(Gs(i.parentId)),qSi):void 0;const r=t.parentId?js(e.nodes.get(Gs(t.parentId)),qSi).lambdaParameterName:void 0,s=Gs(tEi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,r??e.lambdaParameterName)),o=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>nEi(e,t)).filter(Vs);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 YE(Gs(i).groupOperation);s.parametersValues=[n,r],t=s}a=[e,t]}else{if(1===o.length){const i=_dt(t.lambdaParameterName??Uct,o,e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,i],n}a=o}if(!a.length)return;const l=new YE(sS(DSi(Gs(i).groupOperation)));l.parametersValues=a;const c=_dt(t.lambdaParameterName??Uct,[l],e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,c],n}};var iEi,rEi;!function(e){e.RUN="RUN",e.EXPORT="EXPORT",e.DATA_CUBE="DATA_CUBE"}(iEi||(iEi={})),function(e){e.LAMBDA_PARAMETER_STATE="LAMBDA_PARAMETER_STATE",e.LAMBDA_PARAMETERS_STATE="LAMBDA_PARAMETERS_STATE"}(rEi||(rEi={}));const sEi=(e,t)=>{const n=new QE(new XE(XC.create(e.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE));return n.expressionSequence=t.map(e=>{if(e.value){const t=new YE(sS(exports.SUPPORTED_FUNCTIONS.LET)),n=new FE(yS.create(new ES(gS.STRING)));return n.values=[e.variableName],t.parametersValues.push(n),t.parametersValues.push(e.value),t}}).filter(Vs),n},oEi=e=>e.value instanceof YE&&[nS.ONE,nS.ZERO_ONE].some(t=>ex(t,e.parameter.multiplicity)),aEi=e=>e.filter(oEi),lEi=(e,t)=>e.filter(e=>!oEi(e)).map(e=>{const n=new pK;return n.name=e.parameter.name,n.value=t.graphManager.serializeValueSpecification(Gs(e.value)),n}),cEi=(e,t,n)=>{const i=((e,t)=>{const n=aEi(e);if(n.length>0){const i=sEi(t.graph,n);return i.functionType.parameters=e.filter(e=>!n.includes(e)).map(e=>e.parameter),m6(i,t)}})(t,n);return i&&Array.isArray(e.body)&&Array.isArray(i.body)?(i.body=[...i.body,...e.body],i):e};class dEi{uuid=ho();parameter;graph;observerContext;value;constructor(e,t,n){Hh(this,{value:ru,setValue:hh,mockParameterValue:hh,hashCode:lu}),this.observerContext=t,this.parameter=ite(e),this.graph=n}get hashCode(){return $v([rEi.LAMBDA_PARAMETER_STATE,this.parameter])}mockParameterValue(){this.setValue(KCi(this.parameter,this.graph,this.observerContext))}setValue(e){if(e instanceof ME)throw new qr("Can not assign a parameter to another parameter");this.value=e?xte(e,this.observerContext):void 0}changeVariableType(e){e!==this.variableType&&(edt(this.parameter,yS.create(new ES(e))),this.mockParameterValue())}changeMultiplicity(e,t){const n=this.parameter.multiplicity;ex(n,t)||(tdt(e,t),this.mockParameterValue())}get variableName(){return this.parameter.name}get variableType(){return this.parameter.genericType?.value.rawType}}class uEi{showModal=!1;submitAction;constructor(){Hh(this,{showModal:ru,submitAction:ru,setShowModal:hh,open:hh,setSubmitAction:hh})}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 hEi{parameterStates=[];parameterValuesEditorState=new uEi;constructor(){Hh(this,{hashCode:lu})}get hashCode(){return $v([rEi.LAMBDA_PARAMETERS_STATE,$v(this.parameterStates)])}addParameter(e){Co(this.parameterStates,e)}removeParameter(e){Eo(this.parameterStates,e)}setParameters(e){this.parameterStates=e}}class pEi{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 gEi extends pEi{constructor(e){super(e),Hh(this,{mapping:ru,runtimeValue:ru,setMapping:hh,setRuntimeValue:hh})}get specifiedInQuery(){return!0}get explicitMappingValue(){}get explicitRuntimeValue(){}}class mEi extends pEi{constructor(e){super(e),Hh(this,{mapping:ru,runtimeValue:ru,setMapping:hh,setRuntimeValue:hh})}}const fEi=(e,t)=>{const n=new YE(sS(jct.GET_ALL)),i=new PE(t,yS.create(new ES(e)));return i.values[0]=XC.create(e),n.parametersValues.push(i),n},yEi=(e,t)=>{const n=new YE(sS(jct.GET_ALL_VERSIONS)),i=new PE(t,yS.create(new ES(e)));return i.values[0]=XC.create(e),n.parametersValues.push(i),n},vEi=(e,t)=>{const n=Gs(e.class,"Class is required to build query"),i=new QE(new XE(XC.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE)),r=Uw(n,e.graphManagerState.graph);if(r&&t?.useAllVersionsForMilestoning){const e=yEi(n,nS.ONE);i.expressionSequence[0]=e}else switch(e.getAllFunction){case jct.GET_ALL_VERSIONS:if(!r)throw new Yr("Unable to build query lamdba: getAllVersions() expects source class to be milestoned");{const e=yEi(n,nS.ONE);i.expressionSequence[0]=e}break;case jct.GET_ALL_VERSIONS_IN_RANGE:if(!r)throw new Yr("Unable to build query lamdba: getAllVersionsInRange() expects source class to be milestoned");{const t=((e,t)=>{const n=new YE(sS(jct.GET_ALL_VERSIONS_IN_RANGE)),i=new PE(t,yS.create(new ES(e)));return i.values[0]=XC.create(e),n.parametersValues.push(i),n})(n,nS.ONE);e.milestoningState.getMilestoningImplementation(r).buildGetAllVersionsInRangeParameters(t),i.expressionSequence[0]=t}break;case jct.GET_ALL:{const t=fEi(n,nS.ONE);r&&e.milestoningState.getMilestoningImplementation(r).buildGetAllParameters(t),i.expressionSequence[0]=t;break}default:throw new Yr(`Unable to build query lambda: unknown ${e.getAllFunction} function`)}if(((e,t)=>{if(!e.value)return;const n=Gs(t.expressionSequence[0]),i=new YE(sS($ct.WATERMARK));i.parametersValues.push(n),i.parametersValues.push(e.value),t.expressionSequence[0]=i})(e.watermarkState,i),((e,t)=>{const n=e.rootIds.map(t=>Gs(e.nodes.get(t))).map(t=>nEi(e,t)).filter(Vs);if(!n.length)return;const i=new YE(sS($ct.FILTER)),r=Gs(t.expressionSequence[0]);i.parametersValues.push(r),i.parametersValues.push(_dt(e.lambdaParameterName,n,e.queryBuilderState.graphManagerState.graph)),t.expressionSequence[0]=i})(e.filterState,i),((e,t,n)=>{e.implementation.appendFetchStructure(t,n)})(e.fetchStructureState,i,t),((e,t)=>{if(e instanceof gEi){const n=Gs(t.expressionSequence[0],"Can't build from() expression: preceding expression is not defined"),i=new YE(sS(exports.SUPPORTED_FUNCTIONS.FROM)),r=e.mapping;let s;r&&(s=new PE(nS.ONE,void 0),s.values=[XC.create(r)]);const o=e.runtimeValue;let a;o instanceof h$&&(a=new PE(nS.ONE,void 0),a.values=[o.packageableRuntime]),i.parametersValues=[n,s,a].filter(Vs),t.expressionSequence[0]=i}})(e.executionContextState,i),e.constantState.constants.length){const t=e.constantState.constants.map(e=>e.buildLetExpression());i.expressionSequence=[...t,...i.expressionSequence]}return e.parametersState.parameterStates.length&&!t?.useAllVersionsForMilestoning&&(t?.isBuildingExecutionQuery?((e,t,n)=>{const i=aEi(t);if(i.length){e.functionType.parameters=t.filter(e=>!i.includes(e)).map(e=>e.parameter);const r=sEi(n.graph,i);e.expressionSequence=[...r.expressionSequence,...e.expressionSequence]}else e.functionType.parameters=t.map(e=>e.parameter)})(i,e.parametersState.parameterStates,e.graphManagerState):i.functionType.parameters=e.parametersState.parameterStates.map(e=>e.parameter)),i},_Ei=(e,t,n)=>{const i=new KE("");let r;i.func=e.func,i.parametersValues=[...e.parametersValues];let s=i;for(;s instanceof KE;){if(r=s.parametersValues[0],r instanceof KE){const e=new KE("");e.func=r.func,e.parametersValues=[...r.parametersValues],r=e,s.parametersValues[0]=e}if(s instanceof KE&&s.func.value.genericType.value.rawType instanceof wS&&0!==s.func.value._OWNER._generatedMilestonedProperties.length&&s.func.value instanceof US&&!s.func.value._OWNER.derivedProperties.includes(s.func.value)){const e=zCi($ct.NOW,gS.DATETIME),t=2===s.parametersValues.length?[e]:[e,e];ndt(s,[Gs(s.parametersValues[0]),...t],n)}for(s=r;s instanceof YE&&lS(s.functionName,$ct.SUBTYPE);)s=s.parametersValues[0]}return s instanceof ME&&odt(s,t),i},bEi=(e,t,n,i,r,s,o)=>{if(!(t||i&&r&&s))throw new Yr("Can't build typeahead query");const a=new QE(new XE(XC.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE)),l=Gs(e.class),c=fEi(Gs(e.class),nS.ONE),d=Uw(l,e.graphManagerState.graph);d&&e.milestoningState.getMilestoningImplementation(d).buildGetAllWithDefaultParameters(c),a.expressionSequence[0]=c;const u=t?ZCi(t,!1):s;if(n){const r=new YE(sS($ct.TDS_GROUP_BY)),s=new VE(nS.ZERO),o=new VE(nS.ONE),l=new VE(nS.ONE),c=new FE(yS.create(new ES(gS.STRING)));c.values.push(u),l.values.push(c);const d=t?_dt(Uct,[t],e.graphManagerState.graph):i,h=new YE(sS($ct.TDS_AGG)),p=_dt(Uct,[n.buildAggregateExpression(t,Uct,e.graphManagerState.graph)],e.graphManagerState.graph);h.parametersValues=[Gs(d),p],o.values.push(h),r.parametersValues=[a.expressionSequence[0],s,o,l],a.expressionSequence[0]=r}else{const n=new YE(sS($ct.TDS_PROJECT)),r=new VE(nS.ONE),s=new VE(nS.ONE),o=new FE(yS.create(new ES(gS.STRING)));o.values.push(u),s.values.push(o);const l=t?_dt(Uct,[t],e.graphManagerState.graph):i;r.values.push(Gs(l)),n.parametersValues=[a.expressionSequence[0],r,s],a.expressionSequence[0]=n}const h=new BSi,p=new KE("");let g;const m=h.getTDSColumnGetter();if(m)g=m;else{const e=t?.func.value.genericType.value.rawType??r;g=RSi(Gs(e))}p.func=zS.create(Gs($w(e.graphManagerState.graph.getClass(zct.TDS_ROW)).find(e=>e.name===g)));const f=new ME(Gct,nS.ONE),y=new FE(yS.create(new ES(gS.STRING)));y.values=[u],p.parametersValues=[f,y];const v=new YE(sS($ct.STARTS_WITH));v.parametersValues.push(p),o&&v.parametersValues.push(o);const _=_dt(Gct,[v],e.graphManagerState.graph),b=new YE(sS($ct.TDS_FILTER)),C=Gs(a.expressionSequence[0]);b.parametersValues=[C,_],a.expressionSequence[0]=b;let S=a.expressionSequence[0];const E=new YE(sS($ct.TDS_DISTINCT));E.parametersValues[0]=S,S=E;const w=new FE(yS.create(new ES(gS.INTEGER)));w.values=[10];const x=new YE(sS($ct.TDS_TAKE));return x.parametersValues[0]=S,x.parametersValues[1]=w,S=x,a.expressionSequence[0]=S,m6(a,e.graphManagerState)},CEi=(e,t,n)=>{const i=_Ei(t,Uct,e.observerContext);return bEi(e,i,void 0,void 0,void 0,void 0,n)},SEi=e=>{const t=js(e,jQ,"Typeahead search is only supported for TDS result sets"),n=[];return t.result.rows.map(e=>e.values[0]).filter(Vs).forEach(e=>{Xs(e)&&n.push(e)}),n},EEi=e=>{if(e instanceof FE){if(e.genericType.value.rawType.path===TC.STRING){return e.values[0].length>=2}return!1}return!1};var wEi;!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"}(wEi||(wEi={}));const xEi=(e,t)=>{switch(e){case qct.GET_STRING:return gS.STRING;case qct.GET_NUMBER:return gS.NUMBER;case qct.GET_INTEGER:return gS.INTEGER;case qct.GET_FLOAT:return gS.FLOAT;case qct.GET_DECIMAL:return gS.DECIMAL;case qct.GET_DATE:return gS.DATE;case qct.GET_DATETIME:return gS.DATETIME;case qct.GET_STRICTDATE:return gS.STRICTDATE;case qct.GET_BOOLEAN:return gS.BOOLEAN;default:return}};class TEi{id=ho();label="";isOpen;parentId;constructor(e){this.parentId=e,Hh(this,{isOpen:ru,parentId:ru,setIsOpen:hh,setParentId:hh,hashCode:lu})}setIsOpen(e){this.isOpen=e}setParentId(e){this.parentId=e}}class AEi extends TEi{groupOperation;childrenIds=[];constructor(e,t){super(e),Hh(this,{groupOperation:ru,setGroupOperation:hh,childrenIds:ru,addChildNode:hh,removeChildNode:hh,dragPreviewLabel:lu}),this.groupOperation=t,this.isOpen=!0}get dragPreviewLabel(){return`${this.groupOperation.toUpperCase()} group`}setGroupOperation(e){this.groupOperation=e}addChildNode(e){Co(this.childrenIds,e.id),e.setParentId(this.id)}removeChildNode(e){Eo(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 $v([wdt.POST_FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",$v(this.childrenIds),this.groupOperation])}}class NEi extends TEi{condition;isNewlyAdded;constructor(e,t,n){super(e),Hh(this,{condition:ru,isNewlyAdded:ru,setIsNewlyAdded:hh,dragPreviewLabel:lu}),this.condition=t,this.isNewlyAdded=n??!1}setIsNewlyAdded(e){this.isNewlyAdded=e}get dragPreviewLabel(){return this.condition.columnName}get hashCode(){return $v([wdt.POST_FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class REi extends TEi{constructor(e){super(e),Hh(this,{dragPreviewLabel:lu})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return $v([wdt.POST_FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class IEi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return $v([wdt.POST_FILTER_CONDITION_RIGHT_VALUE])}}class DEi extends IEi{value;constructor(e,t){super(e),Hh(this,{value:ru,setValue:hh}),this.value=this.setValue(t)}get type(){return this.value instanceof VE?hdt(this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?udt(this.value):void 0}setValue(e){return this.value=e?xte(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 VE}get hashCode(){return $v([wdt.POST_FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class kEi extends IEi{tdsColumn;constructor(e,t){super(e),Hh(this,{tdsColumn:ru,changeCol:hh}),this.tdsColumn=t}get type(){return this.tdsColumn.getColumnType()}get isCollection(){return!1}appendConditionValue(e,t){const n=PSi(this.conditionState,this.tdsColumn,this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,void 0,t);e.parametersValues.push(n)}changeCol(e){this.tdsColumn=e}}class OEi{postFilterState;leftConditionValue;rightConditionValue;operator;typeaheadSearchResults;typeaheadSearchState=hb.create();constructor(e,t,n){Hh(this,{postFilterState:ru,rightConditionValue:ru,operator:ru,leftConditionValue:ru,typeaheadSearchResults:ru,changeOperator:hh,setColumnState:hh,setRightConditionVal:hh,buildFromValueSpec:hh,setOperator:hh,changeColumn:Rh,handleTypeaheadSearch:Rh,columnName:lu,hashCode:lu}),this.postFilterState=e,this.leftConditionValue=t,this.rightConditionValue=new DEi(this,void 0),n?this.operator=n:(Ks(0!==this.operators.length,`Can't find an operator for column '${this.leftConditionValue.columnName}`),this.operator=Gs(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 DEi?this.rightConditionValue.setValue(e):this.setRightConditionVal(new DEi(this,e))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=this.leftConditionValue instanceof oSi||this.leftConditionValue instanceof uSi?this.leftConditionValue:void 0,n=Gs(t),i=js(this.rightConditionValue,DEi),r=e??i.value;if(EEi(r)){const e=(yield this.postFilterState.tdsState.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t,n)=>{let i,r,s,o,a,l;return t instanceof oSi?l=t:(l=t.projectionColumnState,r=t.operator),l instanceof cSi?(s=new LE(iD(Zq(l.lambda,new tQ([]).build()))),o=l.columnName,a=l.returnType):i=_Ei(js(l,aSi).propertyExpressionState.propertyExpression,Uct,e.observerContext),bEi(e,i,r,s,a,o,n)})(this.postFilterState.tdsState.queryBuilderState,n,r),Gs(this.postFilterState.tdsState.queryBuilderState.executionContextState.mapping),Gs(this.postFilterState.tdsState.queryBuilderState.executionContextState.runtimeValue),this.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.postFilterState.tdsState.queryBuilderState.forceFromExpressionForExec})).executionResult;this.typeaheadSearchResults=SEi(e)}this.typeaheadSearchState.pass()}catch(e){Kr(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 cSi&&(yield n.fetchDerivationLambdaReturnType()),this.setColumnState(n),this.operator.isCompatibleWithPostFilterColumn(this)||this.setOperator(Gs(this.operators[0])),this.operator.isCompatibleWithConditionValue(this)||this.buildFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}catch(t){Kr(t),this.postFilterState.tdsState.queryBuilderState.applicationStore.notificationService.notifyError(`Can't drag column '${e.columnName}' due to: ${t.message}`)}}get hashCode(){return $v([wdt.POST_FILTER_CONDITION_STATE,this.leftConditionValue,this.rightConditionValue,this.operator])}}class LEi{tdsState;lambdaParameterName=Gct;selectedNode;isRearrangingConditions=!1;operators=[];rootIds=[];nodes=new Map;derivedColumnBeingDropped;constructor(e,t){Hh(this,{tdsState:!1,selectedNode:ru,isRearrangingConditions:ru,rootIds:ru,nodes:ru,lambdaParameterName:ru,derivedColumnBeingDropped:ru,setLambdaParameterName:hh,setSelectedNode:hh,addNodeFromNode:hh,addGroupConditionNodeFromNode:hh,newGroupWithConditionFromNode:hh,removeNodeAndPruneBranch:hh,pruneTree:hh,simplifyTree:hh,collapseTree:hh,expandTree:hh,replaceBlankNodeWithNode:hh,setRearrangingConditions:hh,setDerivedColumnBeingDropped:hh,allValidationIssues:lu,hasInvalidFilterValues:lu,hasInvalidDerivedPropertyParameters:lu,hashCode:lu}),this.tdsState=e,this.operators=t}setRearrangingConditions(e){this.isRearrangingConditions=e}setSelectedNode(e){this.selectedNode=e}getNode(e){return Gs(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?js(this.nodes.get(e.parentId),AEi):void 0}get referencedTDSColumns(){return Pr(Array.from(this.nodes.values()).filter(zs(NEi)).map(e=>[e.condition.leftConditionValue,...e.condition.rightConditionValue instanceof kEi?[e.condition.rightConditionValue.tdsColumn]:[]]).flat())}getRootNode(){Ks(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 AEi)t.addChildNode(e);else if(t instanceof NEi||t instanceof REi){const n=new AEi(void 0,ISi.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 AEi(void 0,ISi.AND),n=new REi(void 0),i=new REi(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 REi(void 0);if(t instanceof NEi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new AEi(void 0,ISi.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 AEi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof NEi||t instanceof REi){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 AEi&&[...e.childrenIds].forEach(t=>e.removeChildNode(this.getNode(t)));const t=this.getParentNode(e);t?t.removeChildNode(e):Eo(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 Eo(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(zs(AEi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;return js(this.nodes.get(e.parentId),AEi).groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=js(this.nodes.get(Gs(e.parentId)),AEi);[...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(zs(AEi)).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 REi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(zs(AEi)).filter(e=>e.childrenIds.length<2).filter(e=>{if(!e.childrenIds.length)throw new qr("Query builder post-filter tree found unexpected childless group nodes");const t=e.childrenIds[0];if(this.getNode(t)instanceof REi)throw new qr("Query builder post-filter tree found unexpected blank nodes");return this.getNode(t)instanceof NEi});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):Co(this.rootIds,n)}),this.nodes.delete(e.id),t?t.removeChildNode(e):Eo(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(zs(NEi)).map(e=>e.condition.rightConditionValue).filter(zs(DEi)).map(e=>e.value).filter(Vs).find(t=>Sdt(e,t)))}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof NEi&&(t.condition.rightConditionValue instanceof DEi&&t.condition.rightConditionValue.value instanceof PE&&!pdt(t.condition.rightConditionValue.value)&&e.push(`Filter value for ${t.condition.leftConditionValue.columnName} is missing or invalid`),t.condition.leftConditionValue instanceof aSi&&!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 NEi&&e.condition.rightConditionValue instanceof DEi&&e.condition.rightConditionValue.value instanceof PE&&!pdt(e.condition.rightConditionValue.value))}get hasInvalidDerivedPropertyParameters(){return Array.from(this.nodes.values()).some(e=>e instanceof NEi&&e.condition.leftConditionValue instanceof aSi&&!e.condition.leftConditionValue.propertyExpressionState.isValid)}get hashCode(){return $v([wdt.POST_FILTER_STATE,$v(this.rootIds),$v(Array.from(this.nodes.values()))])}}class MEi extends ASi{getLabel(){return"is in list of"}isCompatibleWithType(e){return[TC.STRING,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(e.path)||e instanceof RS}isCompatibleWithConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType()),n=e.rightConditionValue;if(n instanceof DEi){const i=n.value;if(i instanceof VE){if(0===i.values.length)return!0;const n=hdt(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,i.values);return!!n&&([TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)?[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(n.path):n===t)}if(i instanceof ME)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType());return new VE(nS.ONE,yS.create(new ES(t)))}buildPostFilterConditionExpression(e,t){return FSi(e,this,$ct.IN,t)}buildPostFilterConditionState(e,t){return LSi(e,t,$ct.IN,this)}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_IN])}}class PEi extends MEi{getLabel(){return"is not in list of"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?mdt(n):void 0}buildPostFilterConditionState(e,t){const n=gdt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_NOT_IN])}}class FEi extends ASi{getLabel(){return"is empty"}getTDSColumnGetter(){return qct.IS_NULL}isCompatibleWithType(e){return e instanceof gS||e instanceof RS}isCompatibleWithConditionValue(e){return e.rightConditionValue instanceof DEi&&void 0===e.rightConditionValue.value}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!(!t||!this.isCompatibleWithType(t))&&(!(e.leftConditionValue instanceof aSi)||fdt(e.leftConditionValue.propertyExpressionState.propertyExpression))}getDefaultFilterConditionValue(e){}buildPostFilterConditionExpression(e,t){return FSi(e,this,void 0,t)}buildPostFilterConditionState(e,t){return LSi(e,t,void 0,this)}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_IS_EMPTY])}}class BEi extends FEi{getLabel(){return"is not empty"}getTDSColumnGetter(){return qct.IS_NOT_NULL}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_IS_NOT_EMPTY])}}class VEi extends ASi{getLabel(){return"is"}isCompatibleWithType(e){return[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)||e instanceof RS&&e.values.length>0}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&ydt(e.rightConditionValue.type,Gs(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType());return qCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildPostFilterConditionExpression(e,t){return FSi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?$ct.IS_ON_DAY:$ct.EQUAL,t)}buildPostFilterConditionState(e,t){return LSi(e,t,t.parametersValues[0]instanceof KE&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?$ct.IS_ON_DAY:$ct.EQUAL,this)}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_EQUAL])}}class UEi extends VEi{getLabel(){return"is not"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?mdt(n):void 0}buildPostFilterConditionState(e,t){const n=gdt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_NOT_EQUAL])}}class GEi extends ASi{getLabel(){return"<"}isCompatibleWithType(e){return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}isCompatibleWithConditionValue(e){return ydt(e.rightConditionValue.isCollection?void 0:e.rightConditionValue.type,Gs(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();switch(t?.path){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.INTEGER:case TC.STRICTDATE:case TC.DATETIME:case TC.DATE:return qCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}}buildPostFilterConditionExpression(e,t){return FSi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?$ct.IS_BEFORE_DAY:$ct.LESS_THAN,t)}buildPostFilterConditionState(e,t){return LSi(e,t,t.parametersValues[0]instanceof KE&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?$ct.IS_BEFORE_DAY:$ct.LESS_THAN,this)}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_LESS_THAN])}}class HEi extends GEi{getLabel(){return"<="}buildPostFilterConditionExpression(e,t){return FSi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?$ct.IS_ON_OR_BEFORE_DAY:$ct.LESS_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return LSi(e,t,t.parametersValues[0]instanceof KE&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?$ct.IS_ON_OR_BEFORE_DAY:$ct.LESS_THAN_EQUAL,this)}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_LESS_THAN_EQUAL])}}class zEi extends ASi{getLabel(){return">"}isCompatibleWithType(e){return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}isCompatibleWithConditionValue(e){return ydt(e.rightConditionValue.isCollection?void 0:e.rightConditionValue.type,Gs(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();switch(t?.path){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.INTEGER:case TC.STRICTDATE:case TC.DATETIME:case TC.DATE:return qCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}}buildPostFilterConditionExpression(e,t){return FSi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?$ct.IS_AFTER_DAY:$ct.GREATER_THAN,t)}buildPostFilterConditionState(e,t){return LSi(e,t,t.parametersValues[0]instanceof KE&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?$ct.IS_AFTER_DAY:$ct.GREATER_THAN,this)}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_GREATER_THAN])}}class WEi extends zEi{getLabel(){return">="}buildPostFilterConditionExpression(e,t){return FSi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?$ct.IS_ON_OR_AFTER_DAY:$ct.GREATER_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return LSi(e,t,t.parametersValues[0]instanceof KE&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?$ct.IS_ON_OR_AFTER_DAY:$ct.GREATER_THAN_EQUAL,this)}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class jEi extends ASi{getLabel(){return"contains"}isCompatibleWithType(e){return e===gS.STRING}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&gS.STRING===e.rightConditionValue.type}getDefaultFilterConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType());if(t.path===TC.STRING)return qCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildPostFilterConditionExpression(e,t){return FSi(e,this,$ct.CONTAINS,t)}buildPostFilterConditionState(e,t){return LSi(e,t,$ct.CONTAINS,this)}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_CONTAIN])}}class $Ei extends jEi{getLabel(){return"doesn't contain"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?mdt(n):void 0}buildPostFilterConditionState(e,t){const n=gdt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_NOT_CONTAIN])}}class qEi extends ASi{getLabel(){return"ends with"}isCompatibleWithType(e){return gS.STRING===e}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&gS.STRING===e.rightConditionValue.type}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();if(t?.path===TC.STRING)return qCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}buildPostFilterConditionExpression(e,t){return FSi(e,this,$ct.ENDS_WITH,t)}buildPostFilterConditionState(e,t){return LSi(e,t,$ct.ENDS_WITH,this)}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_END_WITH])}}class YEi extends qEi{getLabel(){return"doesn't end with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?mdt(n):void 0}buildPostFilterConditionState(e,t){const n=gdt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return $v([wdt.POST_FILTER_OPERATOR_NOT_END_WITH])}}class KEi extends dSi{getLabel(e){return"distinct"}isCompatibleWithColumn(e){if(e instanceof aSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)||t instanceof RS}return!0}buildAggregateExpression(e,t,n){return pSi($ct.UNIQUE_VALUE_ONLY,t)}buildAggregateColumnState(e,t,n){return gSi(n,t,e,$ct.UNIQUE_VALUE_ONLY,this)}get hashCode(){return $v([wdt.AGGREGATE_OPERATOR_DISTINCT])}}class XEi extends dSi{getLabel(e){return"join"}isCompatibleWithColumn(e){return!(e instanceof aSi)||gS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}buildAggregateExpression(e,t,n){const i=new YE(sS($ct.JOIN_STRINGS)),r=new FE(yS.create(new ES(gS.STRING)));return r.values=[";"],i.parametersValues.push(new ME(t,nS.ONE),r),i}buildAggregateColumnState(e,t,n){if(lS(e.functionName,$ct.JOIN_STRINGS)){const i=new uSi(n.tdsState.aggregationState,n,this);i.setLambdaParameterName(t.name),Ks(2===e.parametersValues.length,"Can't process joinStrings() expression: joinStrings() expects 1 argument");const r=js(e.parametersValues[0],ME,"Can't process joinStrings() expression: only support joinStrings() immediately following a variable expression");Ks(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=js(e.parametersValues[1],FE,"Can't process joinStrings() expression: joinStrings() expects arugment #1 to be a primitive instance value");return Ks(1===s.values.length&&";"===s.values[0],"Can't process joinStrings() expression: only support ';' as delimiter"),Ks(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process joinStrings() expression: property is not compatible with operator"),i.setOperator(this),i}}getReturnType(e){return gS.STRING}get hashCode(){return $v([wdt.AGGREGATE_OPERATOR_JOIN_STRING])}}class QEi extends dSi{percentile;acending;continuous;constructor(){super(),Hh(this,{percentile:ru,acending:ru,continuous:ru,setPercentile:hh,setAcending:hh,setContinuous:hh})}setPercentile(e){this.percentile=e}setAcending(e){this.acending=e}setContinuous(e){this.continuous=e}getLabel(e){return"percentile"}isCompatibleWithColumn(e){if(e instanceof aSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){const i=this.percentile?Number((this.percentile/100).toFixed(10)):0,r=new YE(sS($ct.PERCENTILE)),s=new FE(yS.create(new ES(gS.NUMBER)));if(s.values=[i],void 0===this.acending||void 0===this.continuous||this.acending&&this.continuous)r.parametersValues.push(new ME(t,nS.ONE),s);else{const e=new FE(yS.create(new ES(gS.BOOLEAN)));e.values=[this.acending];const n=new FE(yS.create(new ES(gS.BOOLEAN)));n.values=[this.continuous],r.parametersValues.push(new ME(t,nS.ONE),s,e,n)}return r}buildAggregateColumnState(e,t,n){if(lS(e.functionName,$ct.PERCENTILE)){const i=new uSi(n.tdsState.aggregationState,n,new QEi),r=js(i.operator,QEi);i.setLambdaParameterName(t.name),Ks([2,4].includes(e.parametersValues.length),"Can't process percentile() expression: percentile() expects 2 or 4 argument");const s=js(e.parametersValues[0],ME,"Can't process percentile() expression: only support percentile() immediately following a variable expression");Ks(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=js(e.parametersValues[1],FE,"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=js(e.parametersValues[2],FE,"Can't process percentile() expression: percentile() expects arugment #3 to be a primitive instance value");r.acending=t.values[0];const n=js(e.parametersValues[3],FE,"Can't process percentile() expression: percentile() expects arugment #4 to be a primitive instance value");r.continuous=n.values[0]}return Ks(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process percentile() expression: property is not compatible with operator"),i.setOperator(r),i}}get getOperator(){return new QEi}get allValidationIssues(){const e=[];return(void 0===this.percentile||this.percentile>100)&&e.push("Invalid Aggregation Argument for Percentile"),e}get hashCode(){return $v([wdt.AGGREGATE_OPERATOR_PERCENTILE])}}class ZEi extends dSi{weight;constructor(){super(),Hh(this,{weight:ru,setWeight:hh})}setWeight(e){this.weight=e}getLabel(e){return"wavg"}getName(e){return e.columnName}isCompatibleWithColumn(e){if(e instanceof aSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!1}buildAggregateExpression(e,t,n){return pSi($ct.WAVG,t)}buildAggregateColumnState(e,t,n){if(lS(e.functionName,$ct.WAVG)){const e=new uSi(n.tdsState.aggregationState,n,new ZEi),i=js(e.operator,ZEi);return e.setLambdaParameterName(t.name),e.setOperator(i),e}}get getOperator(){return new ZEi}get hashCode(){return $v([wdt.AGGREGATE_OPERATOR_WAVG])}}const JEi="WINDOW_COLUMN";class ewi{columnState;sortType;constructor(e,t){Hh(this,{columnState:ru,sortType:ru,setColumnState:hh,setSortType:hh}),this.columnState=e,this.sortType=t}setColumnState(e){this.columnState=e}setSortType(e){this.sortType=e}get hashCode(){return $v([wdt.TDS_WINDOW_COLUMN_SORTBY_STATE,this.sortType,this.columnState.columnName])}}class twi{windowState;lambdaParameterName=Uct;operator;constructor(e,t){this.windowState=e,this.operator=t}setLambdaParameterName(e){this.lambdaParameterName=e}setOperator(e){this.operator=e}get hashCode(){return $v([wdt.TDS_WINDOW_GROUPBY_OPERATION_STATE,this.lambdaParameterName,this.operator])}}class nwi extends twi{constructor(e,t){super(e,t),Hh(this,{setLambdaParameterName:hh})}}class iwi extends twi{columnState;constructor(e,t,n){super(e,t),Hh(this,{columnState:ru,setColumnState:hh,setLambdaParameterName:hh}),this.columnState=n}setColumnState(e){this.columnState=e}get hashCode(){return $v([wdt.TDS_WINDOW_GROUPBY_AGG_OPERATOR_STATE,this.lambdaParameterName,this.operator,this.columnState.columnName])}}class rwi extends iSi{windowState;windowColumns=[];sortByState;operatorState;columnName;constructor(e,t,n,i,r){super(),Hh(this,{windowColumns:ru,sortByState:ru,operatorState:ru,columnName:ru,setOperatorState:ru,setColumnName:hh,setSortBy:hh,changeWindow:hh,deleteWindow:hh,addWindow:hh,setWindows:hh,changeOperator:hh,changeSortBy:hh}),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 iwi?[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){Co(this.windowColumns,e)}setWindows(e){this.windowColumns=e}deleteWindow(e){Eo(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 nwi(this.windowState,n),columnName:`${n.getLabel()}`};{const e=t&&n.isCompatibleWithColumn(t)?t:this.possibleAggregatedColumns(n)[0];if(e)return{operatorState:new iwi(this.windowState,n,e),columnName:`${n.getLabel()} of ${e.columnName}`}}}}changeOperator(e){const t=this.getChangeOperatorStateAndColumnName(this.operatorState.operator,this.operatorState instanceof iwi?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 ewi(Gs(this.possibleReferencedColumns[0]),e);n.setSortType(e),this.setSortBy(n)}else this.setSortBy(void 0)}get hashCode(){return $v([wdt.TDS_WINDOW_COLUMN_STATE,$v(this.windowColumns),this.sortByState??"",this.operatorState,this.columnName])}}class swi{tdsState;windowColumns=[];operators;editColumn;constructor(e,t){Hh(this,{windowColumns:ru,editColumn:ru,invalidWindowColumnNames:lu,windowValidationIssues:lu,addWindowColumn:hh,removeColumn:hh,moveColumn:hh,setEditColumn:hh}),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 iwi&&t.operatorState.columnState instanceof rwi){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 Pr(this.windowColumns.map(e=>e.referencedTDSColumns).flat())}setEditColumn(e){this.editColumn=e}findOperator(e){return this.operators.find(t=>lS(e,t.pureFunc))}addWindowColumn(e){Co(this.windowColumns,e)}removeColumn(e){Eo(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 $v([wdt.TDS_WINDOW_GROUPBY_STATE,$v(this.windowColumns)])}}const owi=(e,t)=>{const n=e.windowState.tdsState.queryBuilderState.graphManagerState.graph,i=e.windowColumns.map(e=>{const t=new FE(yS.create(new ES(gS.STRING)));return t.values=[e.columnName],t}),r=new VE(n.getMultiplicity(i.length,i.length));let s;if(r.values=i,e.sortByState){const t=e.sortByState;s=new YE((e=>{switch(e){case Yct.ASC:return sS($ct.TDS_ASC);case Yct.DESC:return sS($ct.TDS_DESC);default:throw new Yr(`Unsupported column sort type ${e}`)}})(t.sortType));const n=new FE(yS.create(new ES(gS.STRING)));n.values=[t.columnState.columnName],s.parametersValues[0]=n}const o=e.operatorState,a=sS(o.operator.pureFunc),l=new YE(a);l.parametersValues=[new ME(o.lambdaParameterName,nS.ONE)];const c=_dt(o.lambdaParameterName,[l],n);let d;if(o instanceof iwi){const e=new FE(yS.create(new ES(gS.STRING)));e.values=[o.columnState.columnName],d=new YE(sS($ct.TDS_FUNC)),d.parametersValues=[e,c]}const u=d??c,h=new FE(yS.create(new ES(gS.STRING)));h.values=[e.columnName];const p=new YE(sS($ct.OLAP_GROUPBY)),g=Gs(t.expressionSequence[0]);return p.parametersValues=[g,r,...s?[s]:[],u,h],t.expressionSequence[0]=p,t},awi=(e,t,n)=>{if(t instanceof NEi)return t.condition.operator.buildPostFilterConditionExpression(t.condition,n);if(t instanceof AEi){const i=new YE(sS(DSi(t.groupOperation))),r=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>awi(e,t,n)).filter(Vs);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 YE(sS(DSi(t.groupOperation)));o.parametersValues=[i,s],n=o}i.parametersValues=[e,n]}else i.parametersValues=r;return i.parametersValues.length?i:void 0}};class lwi{_currentResultModifierFunc;graphManagerState;options;distinct=!1;sortColumns;limit;slice;constructor(e){this.graphManagerState=e}get currentExpression(){return Gs(this._currentResultModifierFunc,"Current expression needs to be defined to build result modifier")}get supportedResultModifiersFunctions(){return[$ct.TDS_PROJECT,$ct.TDS_GROUP_BY,$ct.TDS_FILTER,$ct.OLAP_GROUPBY]}getSortTypeFunctionName(e){return e===Yct.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 YE(sS(this.distinctFunctionName));e.parametersValues[0]=this.currentExpression,this.setCurrentResultModifierFunction(e)}buildSortFunction(e){const t=new YE(sS(this.sortFunctionName)),n=this.graphManagerState.graph.getMultiplicity(e.length,e.length),i=new VE(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 YE(sS(this.getSortTypeFunctionName(e.sortType)));return t.parametersValues[0]=this.buildColumnValueSpec(e.columnState.columnName),t}buildLimitFunction(e){const t=new FE(yS.create(new ES(gS.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 YE(sS(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 FE(yS.create(new ES(gS.INTEGER))),r=new FE(yS.create(new ES(gS.INTEGER)));i.values=[t],r.values=[n];const s=new YE(sS(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 YE&&lS(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 cwi extends lwi{get limitFunctionName(){return $ct.TDS_TAKE}get sliceFunctionName(){return $ct.SLICE}get sortFunctionName(){return $ct.TDS_SORT}get distinctFunctionName(){return $ct.TDS_DISTINCT}get ascFunctionname(){return $ct.TDS_ASC}get descFunctionName(){return $ct.TDS_DESC}buildColumnValueSpec(e){return(e=>{const t=new FE(yS.create(new ES(gS.STRING)));return t.values=[e],t})(e)}}class dwi extends lwi{get limitFunctionName(){return $ct.RELATION_LIMIT}get sliceFunctionName(){return $ct.RELATION_SLICE}get ascFunctionname(){return $ct.RELATION_ASC}get descFunctionName(){return $ct.RELATION_DESC}get sortFunctionName(){return $ct.RELATION_SORT}get distinctFunctionName(){return $ct.RELATION_DISTINCT}buildColumnValueSpec(e){const t=new zE(nS.ONE,void 0),n=new HE;return n.name=e,t.values=[n],t}}const uwi=(e,t,n)=>{const i=e.queryBuilderState,r=Gs(t.expressionSequence[0],"Can't build projection expression: preceding expression is not defined");if(e.aggregationState.columns.length&&!e.queryBuilderState.isFetchStructureTyped){const s=new YE(sS($ct.TDS_GROUP_BY)),o=new VE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length-e.aggregationState.columns.length,e.projectionColumns.length-e.aggregationState.columns.length)),a=new VE(i.graphManagerState.graph.getMultiplicity(e.aggregationState.columns.length,e.aggregationState.columns.length)),l=new VE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(t=>{const r=new FE(yS.create(new ES(gS.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 aSi)c=_dt(t.lambdaParameterName,[tEi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n,!0)],i.graphManagerState.graph);else{if(!(t instanceof cSi))throw new Yr("Can't build project() column expression: unsupported projection column state",t);c=new LE(iD(Zq(t.lambda,new tQ([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}if(s){s.operator instanceof ZEi&&s.setLambdaParameterName("y");const e=new YE(sS($ct.TDS_AGG)),t=_dt(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 YE&&(n=_dt(Gs(s.calendarFunction).lambdaParameterName,[r],s.aggregationState.tdsState.queryBuilderState.graphManagerState.graph)),s.operator instanceof ZEi&&s.operator.weight&&s.projectionColumnState instanceof aSi&&c instanceof ZE){const e=new YE($ct.WAVG_ROW_MAPPER),t=s.projectionColumnState.propertyExpressionState.propertyExpression,i=s.operator.weight;e.parametersValues=[t,i],n&&n instanceof ZE?vo(n.values,0).expressionSequence[0]=e:c instanceof ZE&&(vo(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)if(e.queryBuilderState.isFetchStructureTyped){const i=((e,t,n)=>{const i=new YE(sS($ct.RELATION_PROJECT)),r=t.queryBuilderState,s=new jE(nS.ONE,void 0),o=new WE;s.values=[o];const a=new SS(SS.ID);t.projectionColumns.forEach(e=>{const t=new HE;let i;if(o.colSpecs.push(t),t.name=e.columnName,e instanceof aSi)i=_dt(e.lambdaParameterName,[tEi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],r.graphManagerState.graph);else{if(!(e instanceof cSi))throw new Yr("Can't build relation project() column expression: unsupported projection column state",e);i=new LE(iD(Zq(e.lambda,new tQ([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}t.function1=i;const s=Gs(e.getColumnType(),`Can't create value spec for projection column ${e.columnName}`);a.columns.push(new CS(e.columnName,yS.create(new ES(s))))}),i.parametersValues=[e,s];const l=new ES(WK.INSTANCE),c=new ES(a);return l.typeArguments=[yS.create(c)],i.genericType=yS.create(l),i})(r,e,n),s=e.aggregationState.columns.length?((e,t)=>{const n=js(e,YE);if(n.functionName!==sS($ct.RELATION_PROJECT))throw new Yr("Can't build relation groupBy() expression: previous expression must be project() column expression");const i=new YE(sS($ct.RELATION_GROUP_BY)),r=t.queryBuilderState,s=new jE(nS.ONE,void 0),o=new WE;s.values=[o];const a=new jE(nS.ONE,void 0),l=new WE;a.values=[l];const c=new SS(SS.ID);t.projectionColumns.filter(e=>!t.aggregationState.columns.some(t=>t.projectionColumnState===e)).forEach(e=>{const t=new HE;t.name=e.columnName,o.colSpecs.push(t);const n=Gs(e.getColumnType(),`Can't create value spec for projection column ${e.columnName}. Missing type.`);c.columns.push(new CS(e.columnName,yS.create(new ES(n))))}),t.aggregationState.columns.forEach(e=>{const t=new HE;t.name=e.columnName,l.colSpecs.push(t);const i=Gs(Gs(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=js(js(i.function1,ZE).values[0]?.expressionSequence[0],KE),o=js(s.func.value,AS),a=new KE("");a.func=zS.create(new AS(i.name,o.multiplicity,o.genericType,o._OWNER)),a.parametersValues=[new ME(Ydt,nS.ONE)];const d=_dt(Ydt,[a],r.graphManagerState.graph);t.function1=d;const u=_dt(e.lambdaParameterName,[e.operator.buildAggregateExpressionFromState(e)],e.aggregationState.tdsState.queryBuilderState.graphManagerState.graph);t.function2=u;const h=Gs(e.getColumnType(),`Can't create value spec for aggregation column ${e.columnName}. Missing type.`);c.columns.push(new CS(e.columnName,yS.create(new ES(h))))}),i.parametersValues=[e,s,a];const d=new ES(WK.INSTANCE),u=new ES(c);return d.typeArguments=[yS.create(u)],i.genericType=yS.create(d),i})(i,e):null;t.expressionSequence[0]=s??i}else{const s=new YE(sS($ct.TDS_PROJECT));if(e.useColFunc){const t=new VE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(i=>{t.values.push(((e,t,n)=>{const i=new YE(sS($ct.TDS_COL));let r;if(t instanceof aSi)r=_dt(t.lambdaParameterName,[tEi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n)],e.queryBuilderState.graphManagerState.graph);else{if(!(t instanceof cSi))throw new Yr("Can't build project() column expression: unsupported projection column state",t);r=new LE(iD(Zq(t.lambda,new tQ([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}const s=new FE(yS.create(new ES(gS.STRING)));return s.values.push(t.columnName),i.parametersValues=[r,s],i})(e,i,n))}),s.parametersValues=[r,t]}else{const t=new VE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length)),o=new VE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(e=>{const r=new FE(yS.create(new ES(gS.STRING)));let s;if(r.values.push(e.columnName),o.values.push(r),e instanceof aSi)s=_dt(e.lambdaParameterName,[tEi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],i.graphManagerState.graph);else{if(!(e instanceof cSi))throw new Yr("Can't build project() column expression: unsupported projection column state",e);s=new LE(iD(Zq(e.lambda,new tQ([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}t.values.push(s)}),s.parametersValues=[r,t,o]}t.expressionSequence[0]=s}var s,o;s=e.windowState,o=t,s.windowColumns.forEach(e=>owi(e,o)),((e,t)=>{const n=e.rootIds.map(t=>Gs(e.nodes.get(t))).map(n=>awi(e,n,t)).filter(Vs);if(!n.length||1!==t.expressionSequence.length)return t;const i=_dt(e.lambdaParameterName,n,e.tdsState.queryBuilderState.graphManagerState.graph),r=new YE(sS($ct.TDS_FILTER)),s=Gs(t.expressionSequence[0]);r.parametersValues=[s,i],t.expressionSequence[0]=r})(e.postFilterState,t),((e,t,n,i)=>{(n?new dwi(e.tdsState.queryBuilderState.graphManagerState):new cwi(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 hwi{uuid=ho();isColumnAggregator(){return!1}getOperatorReturnType(e){return gS.NUMBER}isCompatibleWithColumn(e){return this.isCompatibleWithType(e.getColumnType())}}class pwi extends hwi{getLabel(){return"average rank"}get pureFunc(){return $ct.OLAP_AVERAGE_RANK}get hashCode(){return $v([wdt.TDS_WINDOW_OPERATOR_DENSE_RANK])}isCompatibleWithType(e){return!e||[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class gwi extends hwi{getLabel(){return"dense rank"}get pureFunc(){return $ct.OLAP_DENSE_RANK}get hashCode(){return $v([wdt.TDS_WINDOW_OPERATOR_DENSE_RANK])}isCompatibleWithType(e){return!e||[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class mwi extends hwi{getLabel(){return"rank"}get pureFunc(){return $ct.OLAP_RANK}get hashCode(){return $v([wdt.TDS_WINDOW_OPERATOR_RANK])}isCompatibleWithType(e){return!e||[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class fwi extends hwi{getLabel(){return"row number"}get pureFunc(){return $ct.OLAP_ROW_NUMBER}get hashCode(){return $v([wdt.TDS_WINDOW_OPERATOR_ROW_NUMBER])}isCompatibleWithType(e){return!e||[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class ywi extends hwi{isColumnAggregator(){return!0}getLabel(){return"sum"}get pureFunc(){return $ct.SUM}get hashCode(){return $v([wdt.TDS_WINDOW_OPERATOR_SUM])}isCompatibleWithType(e){return!e||[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class vwi extends hwi{isColumnAggregator(){return!0}getLabel(){return"count"}get pureFunc(){return $ct.COUNT}get hashCode(){return $v([wdt.TDS_WINDOW_OPERATOR_COUNT])}isCompatibleWithType(e){return!e||[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class _wi extends hwi{isColumnAggregator(){return!0}getLabel(){return"max"}get pureFunc(){return $ct.MAX}get hashCode(){return $v([wdt.TDS_WINDOW_OPERATOR_MAX])}isCompatibleWithType(e){return!e||[TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class bwi extends hwi{isColumnAggregator(){return!0}getLabel(){return"min"}get pureFunc(){return $ct.MIN}get hashCode(){return $v([wdt.TDS_WINDOW_OPERATOR_MIN])}isCompatibleWithType(e){return!e||[TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class Cwi extends hwi{isColumnAggregator(){return!0}getLabel(){return"avg"}get pureFunc(){return $ct.AVERAGE}get hashCode(){return $v([wdt.TDS_WINDOW_OPERATOR_AVERAGE])}isCompatibleWithType(e){return!e||[TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}var Swi;!function(e){e.SHOW_POST_FILTER_PANEL="query-builder.showPostFilterPanel",e.SHOW_QUERY_CHAT_PANEL="query-builder.showQueryChatPanel"}(Swi||(Swi={}));const Ewi={[Swi.SHOW_POST_FILTER_PANEL]:{defaultValue:!1},[Swi.SHOW_QUERY_CHAT_PANEL]:{defaultValue:!1}};var wwi;!function(e){e.NY="NY",e.LDN="LDN"}(wwi||(wwi={}));const xwi="en-US";class Twi{dateColumn;calendarType;endDate;lambdaParameterName=Uct;func;label;hash;constructor(e,t,n){Hh(this,{dateColumn:ru,lambdaParameterName:ru,calendarType:ru,endDate:ru,setDateColumn:hh,setCalendarType:hh,setLambdaParameterName:hh,setEndDate:hh,hashCode:lu}),this.func=e,this.label=t,this.hash=n}getLabel(){return this.label}isCompatibleWithColumn(e){if(e instanceof aSi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!0}buildCalendarFunctionExpression(e){return((e,t,n,i,r)=>{const s=new YE(sS(e));if(!t)throw new Yr("Please specify date column for calendar function for column");s.parametersValues.push(t);const o=new FE(yS.create(new ES(gS.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(lS(e.functionName,t)){Ks(4===e.parametersValues.length,`Can't process ${sS(t)}() expression: ${sS(t)}() expects four arguments`);const r=js(e.parametersValues[0],KE,`Can't process ${sS(t)}() expression: only support ${sS(t)}() with first parameter as property expression`);Ks(r.func.value.genericType.value.rawType.name===TC.STRICTDATE||r.func.value.genericType.value.rawType.name===TC.DATE,`Can't process ${sS(t)}() expression: only support ${sS(t)}() with first parameter as property expression of type StrictDate`);let s=r;for(;s instanceof KE;){const e=s;for(s=Gs(s.parametersValues[0]),e.func.value instanceof US&&Ks((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 YE&&lS(s.functionName,$ct.SUBTYPE);)s=Gs(s.parametersValues[0])}const o=js(s,ME).name;n.setLambdaParameterName(o);const a=js(e.parametersValues[1],FE,`Can't process ${sS(t)}() expression: only support ${sS(t)}() with second parameter as PrimitiveInstancevalue`);Ks(void 0!==Object.values(wwi).find(e=>e===a.values[0]),`Can't process ${sS(t)}() expression: only support ${sS(t)}() calendar types NY and LDN`);const l=js(e.parametersValues[2],OE,`Can't process ${sS(t)}() expression: only support ${sS(t)}() with third parameter as ValueSpecification`);Ks(l.genericType?.value.rawType.name===TC.STRICTDATE||l.genericType?.value.rawType.name===TC.DATE||r.func.value.genericType.value.rawType.name===TC.DATE,`Can't process ${sS(t)}() expression: only support ${sS(t)}() with third parameter of type Date`),n.calendarType=a.values[0],n.endDate=l,n.dateColumn=r,Ks(n.isCompatibleWithColumn(i.projectionColumnState),`Can't process ${sS(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 aSi&&t instanceof ZE?n=js(t.values[0]?.expressionSequence[0],KE):e.projectionColumnState instanceof cSi&&(n=js(t,LE)),!n)throw new Yr("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 $v([this.hash,this.dateColumn??"",this.calendarType,this.endDate])}}function Awi(e,t,n){return new Twi(e,t,n)}var Nwi;!function(e){e.CSV="CSV"}(Nwi||(Nwi={}));class Rwi extends TSi{aggregationState;postFilterState;windowState;resultSetModifierState;projectionColumns=[];isConvertDerivationProjectionObjects=!1;showPostFilterPanel;showWindowFuncPanel=!1;useColFunc=!1;postFilterOperators=(()=>[new VEi,new UEi,new GEi,new HEi,new zEi,new WEi,new BSi,new VSi,new jEi,new $Ei,new qEi,new YEi,new MEi,new PEi,new FEi,new BEi])();aggregationOperators=(()=>[new fSi,new ySi,new KEi,new SSi,new mSi,new _Si,new vSi,new QEi,new bSi,new CSi,new XEi,new ZEi])();aggregationCalendarFunctions=(()=>[Awi(Wct.CALENDAR_ANNUALIZED,"Annualized",wdt.AGGREGATE_CALENDAR_FUNCTION_ANNUALIZED),Awi(Wct.CALENDAR_YTD,"Year to Date",wdt.AGGREGATE_CALENDAR_FUNCTION_YTD),Awi(Wct.CALENDAR_CME,"Current Month Estimate",wdt.AGGREGATE_CALENDAR_FUNCTION_CME),Awi(Wct.CALENDAR_CW,"Current Week",wdt.AGGREGATE_CALENDAR_FUNCTION_CW),Awi(Wct.CALENDAR_CME,"Current Month Estimate",wdt.AGGREGATE_CALENDAR_FUNCTION_CME),Awi(Wct.CALENDAR_CY_MINUS2,"Current year minus 2",wdt.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS2),Awi(Wct.CALENDAR_CY_MINUS3,"Current year minus 3",wdt.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS3),Awi(Wct.CALENDAR_MTD,"Month to date",wdt.AGGREGATE_CALENDAR_FUNCTION_MTD),Awi(Wct.CALENDAR_P12WA,"Previous 12 Weeks Averaged",wdt.AGGREGATE_CALENDAR_FUNCTION_P12WA),Awi(Wct.CALENDAR_P12WTD,"Previous 12 Weeks To Date",wdt.AGGREGATE_CALENDAR_FUNCTION_P12WTD),Awi(Wct.CALENDAR_P4WA,"Previous 4 Weeks Averaged",wdt.AGGREGATE_CALENDAR_FUNCTION_P4WA),Awi(Wct.CALENDAR_P4WTD,"Previous 4 Weeks To Date",wdt.AGGREGATE_CALENDAR_FUNCTION_P4WTD),Awi(Wct.CALENDAR_P52WA,"Previous 52 Weeks Averaged",wdt.AGGREGATE_CALENDAR_FUNCTION_P52WA),Awi(Wct.CALENDAR_P52WTD,"Previous 52 Weeks To Date",wdt.AGGREGATE_CALENDAR_FUNCTION_P52WTD),Awi(Wct.CALENDAR_PMA,"Previous Months Averaged",wdt.AGGREGATE_CALENDAR_FUNCTION_PMA),Awi(Wct.CALENDAR_PMTD,"Previous Month To Date",wdt.AGGREGATE_CALENDAR_FUNCTION_PMTD),Awi(Wct.CALENDAR_PQTD,"Previous Quarter To Date",wdt.AGGREGATE_CALENDAR_FUNCTION_PQTD),Awi(Wct.CALENDAR_PRIOR_DAY,"Prior Day",wdt.AGGREGATE_CALENDAR_FUNCTION_PRIOR_DAY),Awi(Wct.CALENDAR_PRIOR_YEAR,"Prior Year",wdt.AGGREGATE_CALENDAR_FUNCTION_PRIOR_YEAR),Awi(Wct.CALENDAR_PW,"Previous week",wdt.AGGREGATE_CALENDAR_FUNCTION_PW),Awi(Wct.CALENDAR_PW_FM,"Previous week, Franchise Manager",wdt.AGGREGATE_CALENDAR_FUNCTION_PW_FM),Awi(Wct.CALENDAR_PWA,"Past Weeks' Average",wdt.AGGREGATE_CALENDAR_FUNCTION_PWA),Awi(Wct.CALENDAR_PWTD,"Previous Week To Date",wdt.AGGREGATE_CALENDAR_FUNCTION_PWTD),Awi(Wct.CALENDAR_PYMTD,"Previous Year's Month To Date",wdt.AGGREGATE_CALENDAR_FUNCTION_PYMTD),Awi(Wct.CALENDAR_PYQTD,"Previous Year's Quarter To Date",wdt.AGGREGATE_CALENDAR_FUNCTION_PYQTD),Awi(Wct.CALENDAR_PYTD,"Previous Year To Date",wdt.AGGREGATE_CALENDAR_FUNCTION_PYTD),Awi(Wct.CALENDAR_PYWA,"Previous Year's Weekly Average",wdt.AGGREGATE_CALENDAR_FUNCTION_PYWA),Awi(Wct.CALENDAR_PYWTD,"Previous Year's Week to Date",wdt.AGGREGATE_CALENDAR_FUNCTION_PYWTD),Awi(Wct.CALENDAR_QTD,"Quarter to Date",wdt.AGGREGATE_CALENDAR_FUNCTION_QTD),Awi(Wct.CALENDAR_REPORT_END_DAY,"Report End Day",wdt.AGGREGATE_CALENDAR_FUNCTION_REPORT_END_DAY),Awi(Wct.CALENDAR_WTD,"Week to Date",wdt.AGGREGATE_CALENDAR_FUNCTION_WTD)])();windowFuncOperators=(()=>[new ywi,new vwi,new _wi,new bwi,new Cwi,new pwi,new gwi,new mwi,new fwi])();constructor(e,t){super(e,t),Hh(this,{aggregationState:ru,projectionColumns:ru,isConvertDerivationProjectionObjects:ru,showPostFilterPanel:ru,showWindowFuncPanel:ru,useColFunc:ru,TEMPORARY__showPostFetchStructurePanel:lu,derivations:lu,hasParserError:lu,isQueryOptionsSet:lu,addColumn:hh,moveColumn:hh,removeAllColumns:hh,removeColumn:hh,replaceColumn:hh,initialize:hh,initializeWithQuery:hh,setShowPostFilterPanel:hh,setShowWindowFuncPanel:hh,setUseColFunc:hh,checkBeforeChangingImplementation:hh,convertDerivationProjectionObjects:Rh,fetchDerivedReturnTypes:Rh}),this.resultSetModifierState=new wSi(this),this.postFilterState=new LEi(this,this.postFilterOperators),this.aggregationState=new hSi(this,this.aggregationOperators,this.aggregationCalendarFunctions),this.windowState=new swi(this,this.windowFuncOperators),this.showPostFilterPanel=this.queryBuilderState.applicationStore.settingService.getBooleanValue(Swi.SHOW_POST_FILTER_PANEL)??!1}get type(){return xSi.TABULAR_DATA_STRUCTURE}get derivations(){return this.projectionColumns.filter(zs(cSi))}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 aSi){let n=[],i=t.propertyExpressionState.propertyExpression;for(;i instanceof KE;)for(n.push(i.func.value.name),i=Gs(i.parametersValues[0]);i instanceof YE;){if(!(lS(i.functionName,$ct.SUBTYPE)&&i.parametersValues.length>=1&&i.parametersValues[1]?.genericType?.value.rawType instanceof wS))return;n[n.length-1]instanceof wS||n.push(i.parametersValues[1]?.genericType?.value.rawType),i=Gs(i.parametersValues[0])}n=n.reverse();const r=[],s=[];for(let e=0;e<n.length;e++){const t=Gs(n[e]),i=e>0?Gs(r[e-1]):"";if(t instanceof wS)zw(t).concat(t).forEach(e=>s.push(fxi(i,e.path))),r.push(fxi(i,t.path));else{const e=mxi(i,t);r.push(e),s.push(e)}}e=e.concat(s)}}),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 aSi&&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[Nwi.CSV]}getExportDataInfo(e){if(e===Nwi.CSV)return{contentType:exports.ContentType.TEXT_CSV,serializationFormat:exports.EXECUTION_SERIALIZATION_FORMAT.CSV};throw new Yr(`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 uSi?e instanceof uSi?e===t:t.projectionColumnState===e:t===e))}onClassChange(e){}appendFetchStructure(e,t){uwi(this,e,t)}setShowPostFilterPanel(e){this.showPostFilterPanel=e}setShowWindowFuncPanel(e){this.showWindowFuncPanel=e}setUseColFunc(e){this.useColFunc=e}*convertDerivationProjectionObjects(){const e=new Map,t=new Map;if(this.derivations.forEach(n=>{Ij(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){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.PARSING_FAILURE),e)}finally{this.isConvertDerivationProjectionObjects=!1}}}transformSimpleProjectionToDerivation(e){const t=_dt(e.lambdaParameterName,[e.propertyExpressionState.propertyExpression],this.queryBuilderState.graphManagerState.graph),n=new cSi(this,js(this.queryBuilderState.graphManagerState.graphManager.transformValueSpecToRawValueSpec(t,this.queryBuilderState.graphManagerState.graph),DE));n.setColumnName(e.columnName),this.replaceColumn(e,n),n.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),So(this.projectionColumns,e,t)}removeAllColumns(){this.projectionColumns=[],this.aggregationState.columns=[]}removeColumn(e){Eo(this.projectionColumns,e);const t=this.aggregationState.columns.find(t=>t.projectionColumnState===e);t&&this.aggregationState.removeColumn(t),this.resultSetModifierState.updateSortColumns()}addColumn(e,t){Co(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=Gs(this.projectionColumns[e]),i=Ui(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 cSi(this,this.queryBuilderState.graphManagerState.graphManager.createDefaultBasicRawLambda({addDummyParameter:!0}));this.addColumn(e),e.derivationLambdaEditorState.setLambdaString(`${Uct}${vC}''`)}revealCompilationError(e){const t=ete(e.sourceInformation);if(t&&3===t.length&&t[0]===Lct.QUERY_BUILDER&&t[1]===Lct.PROJECTION){const n=this.projectionColumns.find(e=>e.uuid===t[2]);if(n instanceof cSi)return n.derivationLambdaEditorState.setCompilationError(e),!0}return!1}clearCompilationError(){this.derivations.forEach(e=>e.derivationLambdaEditorState.setCompilationError(void 0))}fetchProperty(e){this.addColumn(new aSi(this,Cxi(e,this.queryBuilderState.explorerState),this.queryBuilderState.explorerState.humanizePropertyName))}fetchProperties(e){e.forEach(e=>{this.addColumn(new aSi(this,Cxi(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:xlt.CAUTION,actions:[{label:"Proceed",type:Tlt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:Tlt.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:xlt.CAUTION,actions:[{label:"Proceed",type:Tlt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:Tlt.PROCEED,default:!0}]}):e()}isVariableUsed(e){const t=this.projectionColumns;if(t.filter(zs(cSi)).length)return!1;const n=t.filter(zs(aSi)).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 aSi&&e.propertyExpressionState.derivedPropertyExpressionStates.some(e=>!e.isValid))}get hashCode(){return $v([wdt.PROJECTION_STATE,$v(this.projectionColumns),this.aggregationState,this.postFilterState,this.resultSetModifierState])}*fetchDerivedReturnTypes(){try{const e=new Map,t=this.queryBuilderState.graphManagerState.graph,n=this.projectionColumns.filter(zs(cSi));n.forEach(t=>e.set(t.columnName,t.getIsolatedRawLambda()));const i=yield this.queryBuilderState.graphManagerState.graphManager.getLambdasReturnType(e,t);Array.from(i.results.entries()).forEach(e=>{const t=n.find(t=>t.columnName===e[0]);t&&t.setLambdaReturnType(e[1])})}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.info(vb.create("Unable to fetch derived return types"),e)}}}var Iwi;!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)"}(Iwi||(Iwi={}));const Dwi=[[Iwi.COUNT,fSi],[Iwi.DISTINCT_COUNT,ySi],[Iwi.SUM,SSi],[Iwi.MIN,_Si],[Iwi.MAX,vSi],[Iwi.AVERAGE,mSi],[Iwi.STD_DEV_POPULATION,bSi],[Iwi.STD_DEV_SAMPLE,CSi]],kwi=(e,t,n)=>{const i=new aSi(e,t,!1);return i.setColumnName(n),i};class Owi extends pC{includeSubTypes=!0;includeDocumentation=!1;constructor(e,t){super(()=>{e().catch(t)}),Hh(this,{includeSubTypes:ru,includeDocumentation:ru,setIncludeSubTypes:hh,setIncludeDocumentation:hh})}setIncludeSubTypes(e){this.includeSubTypes=e}setIncludeDocumentation(e){this.includeDocumentation=e}}const Lwi=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===DC,a=t.filter(e=>o(e)).map(e=>e.value),l=t.filter(e=>!o(e)),c=e=>Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:`${e.tag.ownerReference.value.name}.${e.tag.value.value}`}),Yne.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value})]},`${e.tag.ownerReference.value.name}.${e.value}`);return Yne.jsx("div",{children:l.length>0?Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Tagged Values"}),Yne.jsxs("div",{className:"query-builder__tooltip__taggedValues",children:[t.slice(0,1).map(e=>Yne.jsxs("div",{className:"query-builder__tooltip__combo",children:[c(e),t.length>3&&Yne.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))]})]}):Yne.jsx(Yne.Fragment,{children:Boolean(a.length)&&Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Documentation"}),Yne.jsx("div",{className:"query-builder__tooltip__item__value",children:a.join("\n\n")})]})})})},Mwi=e=>{const{title:t,data:i,placement:r,children:s,footerElement:o}=e,[a,l]=n.useState(!1);return Yne.jsx(Hye,{onClickAway:()=>l(!1),mouseEvent:"onMouseDown",children:Yne.jsx("div",{children:Yne.jsx(hCe,{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:Yne.jsxs("div",{className:"query-builder__tooltip__content",children:[Yne.jsx("div",{className:"query-builder__tooltip__header",children:t}),i.map(e=>Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:e.label}),Yne.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value}),e.actionButton]},e.label)),o]}),children:Yne.jsx("div",{onClick:e=>{l(!a),e.stopPropagation()},children:s})})})})},Pwi=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?Yne.jsx("div",{className:"query-builder__tooltip__item__action",children:Yne.jsx("button",{onClick:()=>l.highlightTreeNode(i),title:"Show in tree",children:Yne.jsx(ase,{})})}):void 0},{label:"Multiplicity",value:Zw(n.multiplicity)},{label:"Derived Property",value:n instanceof US?"Yes":"No"},{label:"Mapped",value:r?"Yes":"No"}];return Yne.jsx(Mwi,{title:t,data:c,placement:o,footerElement:Yne.jsx(Lwi,{taggedValues:n.taggedValues}),children:s})},Fwi=e=>{const{title:t,children:n,placement:i,type:r}=e,s=[{label:"Type",value:r?.path??"undefined"}];return Yne.jsx(Mwi,{title:t,data:s,placement:i,children:n})};var Bwi;!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"}(Bwi||(Bwi={}));const Vwi=e=>({label:e.name,value:e}),Uwi=e=>Vw(e)?"system element":Bw(e)?"generated element":Fw(e)?"dependency element":void 0,Gwi=e=>function(t){const{darkMode:n}=e,i=n?"packageable-element-option-label--dark":"packageable-element-option-label",r=(e=>Vw(e)?"system":Bw(e)?"generated":Fw(e)?"dependency":"")(t.value);return Yne.jsxs("div",{className:i,children:[Yne.jsx("div",{title:Uwi(t.value),className:`packageable-element-option-label__type ${r?`packageable-element-option-label__type--${r}`:""} `}),Yne.jsx("div",{className:`${i}__name`,children:t.label}),t.value.package&&Yne.jsx("div",{className:`${i}__tag`,children:t.value.path})]})},Hwi=e=>e instanceof gS?Yne.jsx(iwe,{}):e instanceof wS?Yne.jsx(rwe,{}):e instanceof RS?Yne.jsx(swe,{}):e instanceof PS?Yne.jsx(owe,{}):e instanceof MS?Yne.jsx(awe,{}):Yne.jsx(cwe,{}),zwi=e=>{const{_class:t,children:n,placement:i}=e;return Yne.jsx(hCe,{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:Yne.jsxs("div",{className:"query-builder__tooltip__content",children:[Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Yne.jsx("div",{className:"query-builder__tooltip__item__value",children:"Unknown"})]}),Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),Yne.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),Yne.jsx(Lwi,{taggedValues:t.taggedValues})]}),children:n})},Wwi=(e,t,n)=>{if(e.type instanceof wS&&tx(e.type,t))return!0;if(e instanceof _xi&&tx(e.property,t))return!0;if(e instanceof bxi){const i=n.nodes.get(e.parentId);if(i?.type instanceof wS&&tx(i.type,t))return!0}return!1},jwi=(e,t)=>{if(e instanceof vxi&&t.fetchStructureState.implementation.usedExplorerTreePropertyNodeIDs.length>0)return!0;const n=e.id.replaceAll(/(?:@[^.]+)+/g,e=>{const t=e.split(CC);return`${CC}${t[t.length-1]}`});return t.fetchStructureState.implementation.usedExplorerTreePropertyNodeIDs.includes(n)},$wi=e=>{const{subclass:t,path:i,isMapped:r,children:s,placement:o,multiplicity:a}=e,[l,c]=n.useState(!1);return Yne.jsx(Hye,{onClickAway:()=>c(!1),mouseEvent:"onMouseDown",children:Yne.jsx("div",{children:Yne.jsx(hCe,{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:Yne.jsxs("div",{className:"query-builder__tooltip__content",children:[Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Yne.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),Yne.jsx("div",{className:"query-builder__tooltip__item__value",children:i})]}),Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),Yne.jsx("div",{className:"query-builder__tooltip__item__value",children:Zw(a)})]}),Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Mapped"}),Yne.jsx("div",{className:"query-builder__tooltip__item__value",children:r?"Yes":"No"})]}),Yne.jsx(Lwi,{taggedValues:t.taggedValues})]}),children:Yne.jsx("div",{onClick:e=>{c(!l),e.stopPropagation()},children:s})})})})},qwi=Vse(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 Yne.jsx(pve,{open:Boolean(i.previewData)||i.isGeneratingPreviewData,onClose:r,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Yne.jsx("div",{"data-testid":Bwi.QUERY_BUILDER_PREVIEW_DATA_MODAL,children:Yne.jsxs(GOe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder__explorer__preview-data-modal",children:[Yne.jsx(zOe,{title:qy(i.propertyName)}),Yne.jsx(wLe,{isLoading:i.isGeneratingPreviewData}),Yne.jsxs(jOe,{className:"query-builder__explorer__preview-data-modal__body",children:[i.isGeneratingPreviewData&&Yne.jsx("div",{className:"query-builder__explorer__preview-data-modal__placeholder",children:"Loading preview data..."}),i.previewData&&Yne.jsxs("table",{className:"table",children:[Yne.jsx("thead",{children:Yne.jsx("tr",{children:i.previewData.columns.map((e,t)=>Yne.jsx("th",{className:"table__cell--left",children:e},t))})}),Yne.jsx("tbody",{children:i.previewData.rows.map((e,t)=>Yne.jsx("tr",{children:e.values.map((e,t)=>Yne.jsx("td",{className:"table__cell--left",children:e},t))},t))})]})]}),Yne.jsx($Oe,{children:Yne.jsx(YOe,{text:"Close",onClick:r,type:"secondary"})})]})})})}),Ywi=Vse(n.forwardRef(function(e,t){const{queryBuilderState:n,openNode:i,node:r}=e;return Yne.jsxs(XOe,{ref:t,children:[r instanceof _xi&&!(r.type instanceof wS)&&Yne.jsx(QOe,{onClick:()=>n.fetchStructureState.fetchProperty(r),children:"Add Property to Fetch Structure"}),r.type instanceof wS&&Yne.jsx(QOe,{onClick:()=>{if(i(),r.type instanceof wS){r.childrenIds.map(e=>n.explorerState.nonNullableTreeData.nodes.get(e)).filter(zs(_xi)).filter(e=>!(e.type instanceof wS)&&e.mappingData.mapped).filter(e=>{const t=Cxi(e,n.explorerState);if(n.fetchStructureState.implementation instanceof Rwi){return void 0===n.fetchStructureState.implementation.projectionColumns.find(n=>{if(n instanceof aSi)return n.propertyExpressionState.path===e.id&&n.columnName===ZCi(t,!0)})}return!0}).forEach(e=>n.fetchStructureState.fetchProperty(e))}},children:"Add Properties to Fetch Structure"})]})})),Kwi=e=>{if(e instanceof gS){if(e.name===TC.STRING)return Yne.jsx(pie,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__string"});if(e.name===TC.BOOLEAN)return Yne.jsx(jre,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__boolean"});if(e.name===TC.NUMBER||e.name===TC.INTEGER||e.name===TC.FLOAT||e.name===TC.DECIMAL)return Yne.jsx(xre,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__number"});if(e.name===TC.DATE||e.name===TC.DATETIME||e.name===TC.STRICTDATE)return Yne.jsx(ore,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__time"})}return Hwi(e)},Xwi=Vse(e=>{const{node:t,level:i,stepPaddingInRem:r,onNodeSelect:s,innerProps:o}=e,{queryBuilderState:a}=o,[l,c]=n.useState(!1),d=Wat(),u=a.explorerState,[,h,p]=hPe(()=>({type:t instanceof _xi?t.type instanceof RS?gxi.ENUM_PROPERTY:t.type instanceof wS?gxi.CLASS_PROPERTY:gxi.PRIMITIVE_PROPERTY:gxi.ROOT,item:()=>t instanceof _xi?{node:t}:{}}),[t]),g=n.useRef(null);h(g),jPe(p);const m=Boolean(t.childrenIds.length),f=t instanceof _xi&&t.property instanceof US,y=t instanceof _xi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1)||t instanceof bxi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1),v=t.mappingData.mapped&&t instanceof _xi&&t.type instanceof gS&&!t.isPartOfDerivedPropertyBranch,_=m?t.isOpen?Yne.jsx(Jre,{}):Yne.jsx(tse,{}):Yne.jsx("div",{}),b=u.humanizePropertyName?t instanceof bxi?CC+qy(t.label):qy(t.label):t instanceof bxi?CC+t.label:t.label;return t.mappingData.mapped||t instanceof vxi||u.showUnmappedProperties?Yne.jsx(tLe,{content:Yne.jsx(Ywi,{queryBuilderState:a,openNode:()=>{t.isOpen||s?.(t)},node:t}),disabled:!(t instanceof _xi||t instanceof vxi)||d.layoutService.showBackdrop,menuProps:{elevation:7},onOpen:()=>c(!0),onClose:()=>c(!1),children:Yne.jsxs("div",{className:zse("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":u.highlightUsedProperties&&jwi(t,a)}),title:t.mappingData.mapped?void 0:t instanceof vxi?"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 vxi&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[Yne.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:_}),Yne.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:Yne.jsx(rwe,{})})]}),Yne.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:t.label}),Yne.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:Yne.jsx(zwi,{_class:Gs(a.class),children:Yne.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":Bwi.QUERY_BUILDER_TOOLTIP_ICON,children:Yne.jsx(Tre,{})})})})]}),(t instanceof _xi||t instanceof bxi)&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",ref:t.elementRef,children:[Yne.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:_}),Yne.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:Kwi(t.type)})]}),Yne.jsxs("div",{className:zse("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":v},{"query-builder-explorer-tree__node__label--highlight":t.isHighlighting}),onAnimationEnd:()=>t.setIsHighlighting(!1),children:[Yne.jsx("div",{className:zse("query-builder-explorer-tree__node__label--property__name",{"query-builder-explorer-tree__node__label--deprecated":Wwi(t,u.queryBuilderState.graphManagerState.graph,u.nonNullableTreeData)}),children:b}),f&&Yne.jsx("div",{className:"query-builder-explorer-tree__node__label__derived-property",title:"Property is derived and may require user to specify parameter values",children:"(...)"}),y&&Yne.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),Yne.jsxs("div",{className:"query-builder-explorer-tree__node__actions",children:[v&&Yne.jsx("button",{className:"query-builder-explorer-tree__node__action",disabled:u.previewDataState.isGeneratingPreviewData,tabIndex:-1,title:"Preview Data",onClick:()=>{t instanceof _xi&&u.previewData(t).catch(d.alertUnhandledError)},children:Yne.jsx(yre,{})}),t instanceof _xi&&Yne.jsx(Pwi,{title:b,property:t.property,path:t.id,isMapped:t.mappingData.mapped,type:t.type,children:Yne.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":Bwi.QUERY_BUILDER_TOOLTIP_ICON,children:Yne.jsx(Tre,{})})}),t instanceof bxi&&Yne.jsx($wi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:Yne.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":Bwi.QUERY_BUILDER_TOOLTIP_ICON,children:Yne.jsx(Tre,{})})})]})]})]})}):null}),Qwi=Vse(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e,{queryBuilderState:a}=o;return t.mappingData.mapped||t instanceof vxi||a.explorerState.showUnmappedProperties?Yne.jsxs("div",{className:"tree-view__node__block",children:[Yne.jsx(Xwi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).map(e=>Yne.jsx(Qwi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))]}):null}),Zwi=e=>e instanceof bxi?0:e.type instanceof wS?e.isPartOfDerivedPropertyBranch?1:2:e.type instanceof RS?e.isPartOfDerivedPropertyBranch?3:4:e.isPartOfDerivedPropertyBranch?5:6,Jwi=Vse(e=>{const{queryBuilderState:t}=e,n=t.explorerState,i=n.nonNullableTreeData;return Yne.jsx(hIe,{components:{TreeNodeContainer:Xwi,TreeNodeView:Qwi},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 bxi||e instanceof _xi).sort((e,t)=>e.label.localeCompare(t.label)).sort((e,t)=>Zwi(t)-Zwi(e)),innerProps:{queryBuilderState:t}})}),exi="query-builder-explorer-search-input",txi=Vse(n.forwardRef(function(e,t){const{propertySearchState:i}=e;n.useEffect(()=>{i.initializationState.hasSucceeded||i.initializationState.isInProgress||!Vs(i.queryBuilderState.explorerState.treeData)||i.initialize().catch(i.queryBuilderState.applicationStore.alertUnhandledError)},[i,i.initializationState,i.queryBuilderState.explorerState.treeData]);const r=n.useMemo(()=>gi(()=>i.search(),100),[i]),s=()=>{i.resetSearch()};return Yne.jsxs("div",{className:"query-builder__explorer__property-search__input__container",children:[Yne.jsx("input",{ref:t,name:exi,className:zse("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&&Yne.jsx("div",{className:"query-builder__explorer__property-search__input__search__count",children:i.filteredSearchResults.length+(i.isOverSearchLimit&&0!==i.filteredSearchResults.length?"+":"")}),i.searchText?Yne.jsx("button",{className:"query-builder__explorer__property-search__input__clear-btn",tabIndex:-1,onClick:s,title:"Clear",children:Yne.jsx(Wre,{})}):Yne.jsx(Yne.Fragment,{children:Yne.jsx("div",{className:"query-builder__explorer__property-search__input__search__icon",children:Yne.jsx(Ure,{})})})]})})),nxi=Vse(e=>{const{queryBuilderState:t}=e,i=n.useRef(null),r=t.explorerState,s=r.propertySearchState,o=Wat();return n.useEffect(()=>{r.analyzeMappingModelCoverage().catch(o.alertUnhandledError)},[o,r,t.executionContextState.mapping]),Yne.jsxs("div",{"data-testid":Bwi.QUERY_BUILDER_EXPLORER,className:zse("panel query-builder__explorer",{backdrop__element:o.layoutService.showBackdrop}),children:[Yne.jsxs(lLe,{title:"explorer",children:[Yne.jsx(txi,{propertySearchState:s,ref:i}),Yne.jsxs(dLe,{children:[Yne.jsx(uLe,{onClick:()=>{r.treeData&&Array.from(r.treeData.nodes.values()).forEach(e=>{e instanceof vxi||e.setIsOpen(!1)})},title:"Collapse Tree",children:Yne.jsx(lre,{})}),Yne.jsx(nLe,{className:"panel__header__action",title:"Show Options Menu...",onOpen:()=>{Vct.logEvent_ShowPropertyExplorerOptions(o.telemetryService)},content:Yne.jsxs(XOe,{children:[Yne.jsxs(QOe,{onClick:()=>{Vct.logEvent_ShowUnmappedPropertyInExplorerTreeLaunched(o.telemetryService),r.setShowUnmappedProperties(!r.showUnmappedProperties)},children:[Yne.jsx(JOe,{children:r.showUnmappedProperties?Yne.jsx(nre,{}):null}),Yne.jsx(eLe,{children:"Show Unmapped Properties"})]}),Yne.jsxs(QOe,{onClick:()=>r.setHumanizePropertyName(!r.humanizePropertyName),children:[Yne.jsx(JOe,{children:r.humanizePropertyName?Yne.jsx(nre,{}):null}),Yne.jsx(eLe,{children:"Humanize Property Name"})]}),Yne.jsxs(QOe,{onClick:()=>r.setHighlightUsedProperties(!r.highlightUsedProperties),children:[Yne.jsx(JOe,{children:r.highlightUsedProperties?Yne.jsx(nre,{}):null}),Yne.jsx(eLe,{children:"Highlight already used properties"})]})]}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:7},children:Yne.jsx(gie,{className:"query-builder__icon__more-options"})})]}),s.isSearchPanelOpen&&Yne.jsx(hxi,{queryBuilderState:t,triggerElement:i.current,clearSearch:()=>s.resetSearch()})]}),Yne.jsxs("div",{className:"panel__content query-builder-explorer-tree__content",children:[Yne.jsx(wLe,{isLoading:r.mappingModelCoverageAnalysisState.isInProgress}),Yne.jsx($Pe,{labelGetter:e=>r.humanizePropertyName?qy(e.node.label):e.node.label,types:Object.values(gxi)}),r.mappingModelCoverageAnalysisState.isInProgress?Yne.jsx(CLe,{children:r.mappingModelCoverageAnalysisState.message}):Yne.jsxs(Yne.Fragment,{children:[!r.treeData&&Yne.jsx(CLe,{children:"Specify the class, mapping, and runtime to start building query"}),r.treeData&&Yne.jsx(Jwi,{queryBuilderState:t})]}),Yne.jsx(qwi,{queryBuilderState:t})]})]})}),ixi=({documentationKey:e,title:t,className:n,inline:i=!0})=>{const r=Wat(),s=r.documentationService.getDocEntry(e);return s&&(s.url||Zat(s))?Yne.jsx("div",{onClick:t=>{t.preventDefault(),t.stopPropagation(),r.assistantService.openDocumentationEntryLink(e)},title:t??"Click to see documentation",className:zse("documentation-link",n,{"documentation-link--inline":i}),children:Yne.jsx(Pre,{})}):null},rxi=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]),Yne.jsx("div",{className:"undo-redo",children:Yne.jsxs("button",{className:"undo-redo__button",onClick:r,tabIndex:-1,title:"Undo(ctrl + z)",disabled:!i,children:[Yne.jsx(qre,{}),Yne.jsx("div",{className:"undo-redo__button__label",children:"Undo"})]})})},sxi=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]),Yne.jsx("div",{className:"undo-redo",children:Yne.jsxs("button",{className:"undo-redo__button",onClick:r,tabIndex:-1,title:"Redo(ctrl + y)",disabled:!i,children:[Yne.jsx(Bre,{}),Yne.jsx("div",{className:"undo-redo__button__label",children:"Redo"})]})})},oxi=(e,t)=>e.split(CC).map(e=>e.replace(new RegExp(String.raw`.*${yC}`),"")).filter(e=>""!==e).map(e=>e.split(".").map(qy).join(t?" / ":"/")).join(CC),axi=(e,t)=>{let n=e.split(CC);n=n.map(e=>e.replace(new RegExp(String.raw`.*${yC}`),"")).filter(e=>""!==e);let i=n.slice(0,-1).map(e=>`(${CC}${e.split(".").map(e=>qy(e)).join(t?" / ":"/")})`).join(t?" / ":"/");return i+=t?" / ":"/",n=Gs(n[n.length-1]).split("."),n=n.map(e=>qy(e)),i=`${i}(${CC}${n[0]})${t?" / ":"/"}`,n.slice(1).forEach(e=>{i=`${i+e}${t?" / ":"/"}`}),i=i.slice(0,t?-3:-1),i},lxi=(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 Yne.jsx("span",{children:e});const o=[],a=vo(s,0)[0];a>0&&o.push(Yne.jsx("span",{children:e.substring(0,a)},`${i}-0-${e.substring(0,a)}`)),s.forEach((t,r)=>{if(o.push(Yne.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=vo(s,r+1)[0];o.push(Yne.jsx("span",{children:e.substring(t[1],n)},`${i}-${2*r+1}--${e.substring(t[1],n)}`))}});const l=vo(s,s.length-1)[1];return l<e.length&&o.push(Yne.jsx("span",{children:e.substring(l)},`${i}-${2*s.length+2}-${e.substring(l)}`)),o},cxi=Vse(e=>{const{node:t,queryBuilderState:i,explorerState:r,level:s,stepPaddingInRem:o}=e,a=Boolean(t.childrenIds.length),l=r.propertySearchState,[,c,d]=hPe(()=>({type:t instanceof _xi?t.type instanceof RS?gxi.ENUM_PROPERTY:t.type instanceof wS?gxi.CLASS_PROPERTY:gxi.PRIMITIVE_PROPERTY:gxi.ROOT,item:()=>t instanceof _xi?{node:t}:{},canDrag:()=>!(t.type instanceof wS),collect:e=>({isDragging:e.isDragging()})}),[t]),u=n.useRef(null);c(u),jPe(d);const h=()=>{r.propertySearchState.setIsSearchPanelOpen(!1),r.propertySearchState.resetSearch(),r.highlightTreeNode(t.id)},p=l.indexedExplorerTreeNodes.find(e=>t instanceof _xi&&t.parentId===e.id),g=p?.type instanceof wS&&s>1?qy(t.label):p instanceof bxi?axi(t.id,!0):oxi(t.id,!0),m=a?t.isOpen?Yne.jsx(Jre,{}):Yne.jsx(tse,{}):Yne.jsx("div",{}),f=t instanceof _xi?t.property.taggedValues.find(e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===DC)?.value??null:null,y=null!==f?lxi(f,l.searchText,"query-builder-property-search-panel__node__doc",`${t.id}_doc`):null,v=l.isNodeMultiple(t);return Yne.jsxs(Yne.Fragment,{children:[Yne.jsxs("div",{className:"tree-view__node__container query-builder-property-search-panel__node__container",ref:u,style:{paddingLeft:(s-1)*o+.5+"rem",display:"flex"},onClick:()=>t.setIsOpen(!t.isOpen),onDrag:()=>l.setIsSearchPanelHidden(!0),onDragEnd:()=>l.setIsSearchPanelHidden(!1),children:[Yne.jsxs("div",{className:"tree-view__node__icon query-builder-property-search-panel__node__icon",children:[Yne.jsx("div",{className:"query-builder-property-search-panel__expand-icon",children:m}),Yne.jsx("div",{className:"query-builder-property-search-panel__type-icon",children:Kwi(t.type)})]}),Yne.jsxs("div",{className:"query-builder-property-search-panel__node__content",children:[Yne.jsxs("div",{className:"tree-view__node__label query-builder-property-search-panel__node__label",children:[lxi(g,l.searchText,"query-builder-property-search-panel__node__label",t.id),v&&Yne.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),Yne.jsx("div",{className:"tree-view__node__label query-builder-property-search-panel__node__doc",children:y})]}),Yne.jsxs("div",{className:"query-builder-property-search-panel__node__actions",children:[t instanceof _xi&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsx(Pwi,{title:g,property:t.property,path:t.id,isMapped:t.mappingData.mapped,children:Yne.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:Yne.jsx(Tre,{})})}),Yne.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:Yne.jsx(ase,{})})]}),t instanceof bxi&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsx($wi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:Yne.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:Yne.jsx(Tre,{})})}),Yne.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:Yne.jsx(ase,{})})]})]})]}),t.isOpen&&(()=>{const e=[];return t.childrenIds.length&&(t instanceof _xi||t instanceof bxi)&&t.type instanceof wS&&(t instanceof bxi?Yw(t.type):jw(t.type)).forEach(n=>{const r=Exi(n,t,Gs(i.explorerState.mappingModelCoverageAnalysisResult));!r||r.type instanceof wS||!r.mappingData.mapped||e.push(r)}),e})().filter(e=>l.isNodeIncludedInFilter(e)).sort((e,t)=>e.label.localeCompare(t.label)).map(e=>Yne.jsx(cxi,{node:e,queryBuilderState:i,level:s+1,stepPaddingInRem:2,explorerState:i.explorerState},`${t.id}>${e.id}`))]})}),dxi=Vse(e=>{const{label:t,enabled:i,onClick:r,showOnlyButton:s,onOnlyButtonClick:o}=e,[a,l]=n.useState(!1);return Yne.jsxs("div",{className:"query-builder-property-search-panel__form__section__toggler__btn__container",onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:[Yne.jsxs("button",{className:zse("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?Yne.jsx(ire,{}):Yne.jsx(Hre,{}),Yne.jsx("div",{className:"query-builder-property-search-panel__form__section__toggler__prompt",children:t})]}),s&&a&&Yne.jsx("button",{className:"query-builder-property-search-panel__form__section__toggler__only-btn",onClick:o,children:"only"})]})}),uxi=Vse(e=>{const{header:t,headerTooltipText:n,buttons:i}=e;return Yne.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[Yne.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:[t,n&&Yne.jsx(hCe,{slotProps:{transition:{timeout:0}},title:Yne.jsx("div",{children:n}),children:Yne.jsx("div",{className:"query-builder-property-search-panel__tagged-values__tooltip",children:Yne.jsx(Tre,{})})})]}),i.map(({label:e,enabled:t,onClick:n,onOnlyButtonClick:r})=>Yne.jsx(dxi,{label:e,enabled:t,onClick:n,showOnlyButton:i.length>1,onOnlyButtonClick:r},e))]})}),hxi=Vse(e=>{const{queryBuilderState:t,triggerElement:n,clearSearch:i}=e,r=t.explorerState.propertySearchState,s=e=>{e.target instanceof HTMLInputElement&&e.target.name===exi||(i(),r.setIsSearchPanelOpen(!1))};return Yne.jsx(TCe,{open:r.isSearchPanelOpen,slotProps:{paper:{classes:{root:"query-builder-property-search-panel__container__root"}}},className:zse("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:Yne.jsx(Hye,{onClickAway:s,children:Yne.jsx("div",{"data-testid":Bwi.QUERY_BUILDER_PROPERTY_SEARCH_PANEL,className:"query-builder-property-search-panel",children:Yne.jsx("div",{className:"query-builder-property-search-panel__content",children:Yne.jsxs(GFe,{orientation:"vertical",children:[Yne.jsx(HFe,{size:175,children:Yne.jsxs("div",{className:"query-builder-property-search-panel__config",children:[Yne.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[Yne.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:["Search Mode",Yne.jsx(ixi,{documentationKey:Flt.QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX})]}),Yne.jsx("div",{className:"query-builder-property-search-panel__filter__element",children:Yne.jsx(oLe,{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:[hC.STANDARD,hC.INCLUDE,hC.EXACT,hC.INVERSE],size:1})})]}),Yne.jsx(uxi,{header:"One-Many rows",buttons:[{label:"Include",enabled:r.includeOneMany,onClick:()=>r.setIncludeOneMany(!r.includeOneMany)}]}),Yne.jsx(uxi,{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)}}]}),Yne.jsx(uxi,{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)}}]}),Yne.jsx(uxi,{header:"By type",buttons:[{label:"Class",enabled:r.typeFilters.includes(Hct.CLASS),onClick:()=>{r.toggleFilterForType(Hct.CLASS)},onOnlyButtonClick:()=>{r.setFilterOnlyType(Hct.CLASS)}},{label:"Enumeration",enabled:r.typeFilters.includes(Hct.ENUMERATION),onClick:()=>{r.toggleFilterForType(Hct.ENUMERATION)},onOnlyButtonClick:()=>{r.setFilterOnlyType(Hct.ENUMERATION)}},{label:"String",enabled:r.typeFilters.includes(Hct.STRING),onClick:()=>{r.toggleFilterForType(Hct.STRING)},onOnlyButtonClick:()=>{r.setFilterOnlyType(Hct.STRING)}},{label:"Boolean",enabled:r.typeFilters.includes(Hct.BOOLEAN),onClick:()=>{r.toggleFilterForType(Hct.BOOLEAN)},onOnlyButtonClick:()=>{r.setFilterOnlyType(Hct.BOOLEAN)}},{label:"Number",enabled:r.typeFilters.includes(Hct.NUMBER),onClick:()=>{r.toggleFilterForType(Hct.NUMBER)},onOnlyButtonClick:()=>{r.setFilterOnlyType(Hct.NUMBER)}},{label:"Date",enabled:r.typeFilters.includes(Hct.DATE),onClick:()=>{r.toggleFilterForType(Hct.DATE)},onOnlyButtonClick:()=>{r.setFilterOnlyType(Hct.DATE)}}]})]})}),Yne.jsx(zFe,{children:Yne.jsx(WFe,{color:"var(--color-dark-grey-200)"})}),Yne.jsxs(HFe,{children:[(r.initializationState.isInProgress||r.searchState.isInProgress)&&Yne.jsx(wLe,{isLoading:!0}),Yne.jsxs("div",{className:"query-builder-property-search-panel__results",children:[!r.initializationState.isInProgress&&!r.searchState.isInProgress&&Yne.jsxs(Yne.Fragment,{children:[Boolean(r.filteredSearchResults.length)&&r.filteredSearchResults.map(e=>Yne.jsx(cxi,{node:e,queryBuilderState:t,level:1,stepPaddingInRem:0,explorerState:t.explorerState},e.id)),!r.filteredSearchResults.length&&r.searchText&&Yne.jsxs(CLe,{children:[Yne.jsx("div",{className:"query-builder-property-search-panel__result-placeholder__text",children:"No result"}),Yne.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&&Yne.jsx(CLe,{children:"Initializing..."}),r.searchState.isInProgress&&Yne.jsx(CLe,{children:"Searching..."})]})]})]})})})})})});class pxi{queryBuilderState;indexedExplorerTreeNodeMap=new Map;searchEngine;searchConfigurationState;initializationState=hb.create();searchState=hb.create();searchText="";searchResults=[];isOverSearchLimit=!1;isSearchPanelOpen=!1;isSearchPanelHidden=!1;showSearchConfigurationMenu=!1;includeOneMany=!1;typeFilters=[Hct.CLASS,Hct.ENUMERATION,Hct.STRING,Hct.BOOLEAN,Hct.NUMBER,Hct.DATE];constructor(e){Hh(this,{indexedExplorerTreeNodeMap:ru,searchText:ru,searchResults:ru,isOverSearchLimit:ru,isSearchPanelOpen:ru,isSearchPanelHidden:ru,showSearchConfigurationMenu:ru,includeOneMany:ru,typeFilters:ru,indexedExplorerTreeNodes:lu,filteredSearchResults:lu,search:hh,resetSearch:hh,setSearchResults:hh,setIsOverSearchLimit:hh,setSearchText:hh,setShowSearchConfigurationMenu:hh,setIsSearchPanelOpen:hh,setIsSearchPanelHidden:hh,setIncludeOneMany:hh,setFilterOnlyType:hh,toggleFilterForType:hh,initialize:hh}),this.queryBuilderState=e,this.searchConfigurationState=new Owi(async()=>this.search(),this.queryBuilderState.applicationStore.alertUnhandledError),this.searchEngine=new uC(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 vxi||e.setIsOpen(!1)}),this.searchState.complete()}setIncludeOneMany(e){this.includeOneMany=e}setFilterOnlyType(e){this.typeFilters=[e]}toggleFilterForType(e){this.typeFilters.includes(e)?Eo(this.typeFilters,e):Co(this.typeFilters,e)}isNodeMultiple(e){let t=e;for(;t;){if(t instanceof bxi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1)||t instanceof _xi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1))return!0;t=t instanceof _xi||t instanceof bxi?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 vxi||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 wS&&t.set(e.id,e),e)).filter(e=>!(e instanceof _xi||e instanceof bxi)||!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(Vs).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(Vs).filter(e=>!(!e.mappingData.mapped||!this.searchConfigurationState.includeSubTypes)||e instanceof _xi)).forEach(e=>{if(e.mappingData.mapped&&!e.isPartOfDerivedPropertyBranch){const t=Txi(e);i.push(t),this.indexedExplorerTreeNodeMap.set(t.id,t)}});const s=this.indexedExplorerTreeNodeMap.size+1e4,o=e=>gh(()=>{if(this.indexedExplorerTreeNodeMap.size>s)return;const t=Txi(e);this.indexedExplorerTreeNodeMap.set(t.id,t)}),a=e=>{if(e instanceof _xi||e instanceof bxi){let t=this.indexedExplorerTreeNodeMap.get(e.parentId)??n.get(e.parentId);for(;t;){if(e.type===t.type)return!0;t=t instanceof _xi||t instanceof bxi?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 _xi||this.searchConfigurationState.includeSubTypes&&e instanceof bxi)&&e.type instanceof wS&&((e instanceof bxi?Yw(e.type):jw(e.type).concat($w(e.type))).forEach(t=>{const n=Exi(t,e,Gs(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=wxi(t,e,Gs(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 uC(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 _xi||e instanceof bxi?this.indexedExplorerTreeNodeMap.get(e.parentId):void 0;return t?t instanceof bxi?axi(e.id):oxi(e.id):""}},...this.searchConfigurationState.includeDocumentation?[{name:"taggedValues",weight:2,getFn:e=>e instanceof _xi?e.property.taggedValues.filter(e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===DC).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(Hct.CLASS)&&e.type instanceof wS)||(!!(this.typeFilters.includes(Hct.ENUMERATION)&&e.type instanceof RS)||(!(!this.typeFilters.includes(Hct.STRING)||e.type!==gS.STRING)||(!!(this.typeFilters.includes(Hct.NUMBER)&&e.type instanceof gS&&[TC.NUMBER,TC.DECIMAL,TC.INTEGER,TC.FLOAT].includes(e.type.name))||(!(!this.typeFilters.includes(Hct.BOOLEAN)||e.type!==gS.BOOLEAN)||!!(this.typeFilters.includes(Hct.DATE)&&e.type instanceof gS&&[TC.DATE,TC.DATETIME,TC.STRICTDATE,TC.STRICTTIME,TC.LATESTDATE].includes(e.type.name)))))))}get filteredSearchResults(){return this.searchResults.filter(e=>this.isNodeIncludedInFilter(e))}}var gxi;!function(e){e.ROOT="ROOT",e.CLASS_PROPERTY="CLASS_PROPERTY",e.ENUM_PROPERTY="ENUM_PROPERTY",e.PRIMITIVE_PROPERTY="PRIMITIVE_PROPERTY"}(gxi||(gxi={}));const mxi=(e,t)=>`${e?`${e}.`:""}${t}`,fxi=(e,t)=>`${e||""}${CC}${t}`;class yxi{isSelected;isOpen;isHighlighting;id;label;dndText;childrenIds=[];isPartOfDerivedPropertyBranch;type;mappingData;elementRef;constructor(e,t,i,r,s,o,a){Hh(this,{isHighlighting:ru,isOpen:ru,isSelected:ru,setIsHighlighting:hh,setIsOpen:hh,setIsSelected:hh}),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 vxi extends yxi{}class _xi extends yxi{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 bxi extends yxi{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}}const Cxi=(e,t,n)=>{const i=t.nonNullableTreeData,r=t.propertySearchState.indexedExplorerTreeNodes,s=new ME(n??Uct,nS.ONE),o=new KE("");sdt(o,zS.create(Gs(e.property)));let a=o,l=i.nodes.get(e.parentId)??r.find(t=>t.id===e.parentId),c=e;for(;c&&(l instanceof _xi||l instanceof bxi);){if(l instanceof bxi&&c instanceof bxi){l=i.nodes.get(l.parentId);continue}let e,t=!1;if(l instanceof bxi?e=new YE(sS($ct.SUBTYPE)):l instanceof _xi&&l.mappingData.entityMappedProperty?.subType?(e=new YE(sS($ct.SUBTYPE)),a.parametersValues.push(e),a=e,e=new KE(""),sdt(e,zS.create(Gs(l.property))),t=!0,c=l,l=i.nodes.get(l.parentId)):(e=new KE(""),sdt(e,zS.create(Gs(l.property)))),a.parametersValues.push(e),a instanceof YE&&lS(a.functionName,$ct.SUBTYPE)){const e=new PE(nS.ONE,yS.create(new ES(c.type)));a.parametersValues.push(e)}if(a=e,t||(c=l,l=l instanceof _xi||l instanceof bxi?i.nodes.get(l.parentId):void 0),!l&&(c instanceof _xi||c instanceof bxi))for(const e of r)if(e.id===c.parentId){l=e;break}}if(a.parametersValues.push(s),c&&a instanceof YE){const e=new PE(nS.ONE,yS.create(new ES(c.type)));a.parametersValues.push(e)}return o},Sxi=e=>{const t=e.type,n=(e instanceof bxi?Yw(t):jw(t).concat($w(t))).map(t=>`${e.id}.${t.name}`),i=t._subclasses.map(t=>`${e.id}${CC}${t.path}`);return n.concat(i)},Exi=(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 wS||e.genericType.value.rawType instanceof IS)&&i?{mapped:!0,mappedEntity:n.__ENTITIES_INDEX.get(i instanceof MJ?i.entityPath:i.enumPath),entityMappedProperty:i instanceof MJ?i:void 0}:{mapped:void 0!==i}}return{mapped:!1}})(e,t.mappingData,n),r=e instanceof US||t.isPartOfDerivedPropertyBranch||t instanceof _xi&&t.property instanceof US;if(e instanceof AS&&t instanceof _xi&&t.property instanceof AS&&e._OWNER instanceof NS&&t.property._OWNER instanceof NS&&t.property._OWNER===e._OWNER)return;const s=e.genericType.value.rawType instanceof wS?Ww(e.genericType.value.rawType):[],o=i.entityMappedProperty?.subType?s.find(e=>e.path===i.entityMappedProperty?.subType):void 0,a=new _xi(o?fxi(mxi(t instanceof vxi?"":t.id,e.name),o.path):mxi(t instanceof vxi?"":t.id,e.name),e.name,`${t instanceof vxi?`${bC}x`:t.dndText}.${e.name}`,e,t.id,r,i,o);if(o){const n=mxi(t instanceof vxi?"":t.id,e.name);t.childrenIds.includes(n)&&(t.childrenIds=[...t.childrenIds.filter(e=>e!==n),a.id])}return a.type instanceof wS&&(a.childrenIds=Sxi(a)),a},wxi=(e,t,n)=>{const i=new bxi(fxi(t instanceof vxi?"":t.id,e.path),e.name,""+(t instanceof vxi?`${bC}${Uct}->${sS($ct.SUBTYPE)}(${CC}${e.path})`:`${t.dndText}->${sS($ct.SUBTYPE)}(${CC}${e.path})`),e,t.id,!1,((e,t,n)=>{const i=Ww(e).concat(e).map(e=>e.path),r=t.entityMappedProperty?.subType;if(t.mappedEntity){const e=t.mappedEntity.properties.find(e=>Boolean(e instanceof MJ&&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 _xi?t.property.multiplicity:t instanceof bxi?t.multiplicity:nS.ONE);return i.childrenIds=Sxi(i),i},xxi=(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 vxi("@dummy_rootNode",e.name,e.path,!1,e,r);return s.isOpen=!0,i.set(s.id,s),n.push(s.id),jw(e).concat($w(e)).sort((e,t)=>e.name.localeCompare(t.name)).sort((e,t)=>(t instanceof wS?2:t instanceof RS?1:0)-(e instanceof wS?2:e instanceof RS?1:0)).forEach(e=>{const n=Exi(e,s,t);n&&(Co(s.childrenIds,n.id),i.set(n.id,n))}),e._subclasses.forEach(e=>{const n=wxi(e,s,t);Co(s.childrenIds,n.id),i.set(n.id,n)}),{rootIds:n,nodes:i}},Txi=e=>{if(e instanceof vxi)return new vxi(e.id,e.label,e.dndText,e.isPartOfDerivedPropertyBranch,e.type,e.mappingData,e.childrenIds);if(e instanceof _xi)return new _xi(e.id,e.label,e.dndText,e.property,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.type,e.childrenIds);if(e instanceof bxi)return new bxi(e.id,e.label,e.dndText,e.subclass,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.multiplicity,e.childrenIds);throw new Yr(`Unable to clone node of type ${e.constructor.name}`)};class Axi{isGeneratingPreviewData=!1;propertyName="(unknown)";previewData;previewDataAbortController;constructor(){Hh(this,{previewData:ru.ref,isGeneratingPreviewData:ru,propertyName:ru,previewDataAbortController:ru,setPropertyName:hh,setIsGeneratingPreviewData:hh,setPreviewData:hh,setPreviewDataAbortController:hh})}setPropertyName(e){this.propertyName=e}setIsGeneratingPreviewData(e){this.isGeneratingPreviewData=e}setPreviewData(e){this.previewData=e}setPreviewDataAbortController(e){this.previewDataAbortController=e}}class Nxi{queryBuilderState;previewDataState=new Axi;propertySearchState;treeData;humanizePropertyName=!0;showUnmappedProperties=!1;highlightUsedProperties=!0;mappingModelCoverageAnalysisState=hb.create();mappingModelCoverageAnalysisResult;constructor(e){Hh(this,{treeData:ru.ref,humanizePropertyName:ru,showUnmappedProperties:ru,highlightUsedProperties:ru,mappingModelCoverageAnalysisResult:ru,setTreeData:hh,refreshTree:hh,refreshTreeData:hh,setHumanizePropertyName:hh,setShowUnmappedProperties:hh,setHighlightUsedProperties:hh,highlightTreeNode:hh,analyzeMappingModelCoverage:Rh,previewData:Rh}),this.queryBuilderState=e,this.propertySearchState=new pxi(this.queryBuilderState)}get nonNullableTreeData(){return Gs(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.class,t=this.queryBuilderState.executionContextState.mapping;this.setTreeData(e&&t&&this.mappingModelCoverageAnalysisResult?xxi(e,this.mappingModelCoverageAnalysisResult):void 0)}generateOpenNodeChildren(e){e.isOpen&&(e instanceof _xi||e instanceof bxi)&&e.type instanceof wS&&((e instanceof bxi?Yw(e.type):jw(e.type).concat($w(e.type))).forEach(t=>{const n=Exi(t,e,Gs(this.mappingModelCoverageAnalysisResult));n&&this.nonNullableTreeData.nodes.set(n.id,n)}),e.type._subclasses.forEach(t=>{const n=wxi(t,e,Gs(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]&&vo(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 _xi||t instanceof bxi){let e=this.nonNullableTreeData.nodes.get(t.parentId)??null;for(;null!==e;)e.isOpen||e.setIsOpen(!0),e=e instanceof _xi||e instanceof bxi?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(),Vct.logEvent_QueryMappingModelCoverageAnalysisLaunched(this.queryBuilderState.applicationStore.telemetryService);const e=new pb,t=g3(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());Vct.logEvent_QueryMappingModelCoverageAnalysisSucceeded(this.queryBuilderState.applicationStore.telemetryService,n)}catch(e){Kr(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.class||!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=Cxi(e,this),i=e.property.genericType.value.rawType;this.previewDataState.setPreviewDataAbortController(new AbortController);try{switch(i.path){case TC.NUMBER:case TC.INTEGER:case TC.DECIMAL:case TC.FLOAT:{const e=(yield this.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t)=>{const n=e.INTERNAL__toBasicQueryBuilderState(),i=js(n.fetchStructureState.implementation,Rwi),r=i.aggregationState;return Dwi.forEach(e=>{const n=kwi(i,t,e[0]);i.projectionColumns.push(n);const s=Gs(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;Ws(e,jQ,"Unexpected preview data format");const i=e.result,r={columns:["Aggregation","Value"],rows:i.columns.map((e,t)=>({values:[e,Gs(i.rows[0]).values[t]]}))};this.previewDataState.setPreviewData(r);break}case TC.BOOLEAN:case TC.STRING:case TC.DATE:case TC.STRICTDATE:case TC.DATETIME:{const e=(yield this.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t)=>{const n=e.INTERNAL__toBasicQueryBuilderState(),i=js(n.fetchStructureState.implementation,Rwi),r=kwi(i,t,"Value"),s=kwi(i,t,"Count");i.projectionColumns=[r,s];const o=Gs(i.aggregationState.operators.find(e=>e instanceof fSi));i.aggregationState.changeColumnAggregateOperator(o,s,!0),i.resultSetModifierState.limit=10;const a=new ESi(s);return a.sortType=Yct.DESC,i.resultSetModifierState.sortColumns=[a,new ESi(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;Ws(e,jQ,"Unexpected preview data format"),this.previewDataState.setPreviewData(e.result);break}default:throw new Yr(`No preview support for property of type '${i.path}'`)}}catch(t){if(Kr(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 Rxi="4.17.77",Ixi={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 Dxi=(e,t,n,i)=>{Ws(e,uA,"Can't build projection column: only support lambda"),Ks(1===e.parameters.length,"Can't build projection column: only support lambda with 1 parameter");const r=js(e.parameters[0],aA,"Can't build projection column: only support lambda with 1 parameter");Ks(1===e.body.length,"Can't build projection column: only support lambda body with 1 expression");let s=e.body[0];if(s instanceof fA&&2===s.parameters.length&&lS(s.function,$ct.WAVG_ROW_MAPPER))return e.accept_ValueSpecificationVisitor(new qK(n,i,t));for(Ws(s,KA,"Can't build projection column: only support lambda body as property expression");s instanceof KA;)for(Ks(s.parameters.length>=1,"Can't build projection column: only support lambda body as property expression"),s=s.parameters[0];s instanceof fA&&lS(s.function,$ct.SUBTYPE);)s=s.parameters[0];return Ws(s,aA,"Can't build projection column: only support lambda body as property expression"),Ks(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 qK(n,i,t))},kxi=(e,t,n,i)=>{Ws(e,fA,"Can't build aggregation: only support function"),Ks(lS(e.function,$ct.TDS_AGG),"Can't build aggregation: only support agg()"),Ks(2===e.parameters.length,"Can't build agg() expression: agg() expects 2 arguments");const r=js(e.parameters[0],uA,"Can't build agg() expression: agg() expects argument #1 as a lambda");let s;s=r.body[0]instanceof fA&&lS(r.body[0].function,Object.values(Wct))?Xr(()=>((e,t,n,i)=>{Ws(e,uA,"Can't build calendar aggregation column: only support lambda"),Ks(1===e.parameters.length,"Can't build calendar aggregation column: only support lambda with 1 parameter"),Ks(1===e.body.length,"Can't build calendar aggregation column: only support lambda body with 1 expression");const r=js(e.parameters[0],aA,"Can't build calendar aggregation column: only support lambda with 1 parameter"),s=js(e.body[0],fA,"Can't build calendar aggregation column: only support applied function");Ks(lS(s.function,Object.values(Wct)),"Can't build calendar aggregation columnn: unsupported calenddar function"),Ks(4===s.parameters.length,"Can't build calendar aggregation column: only support calendar function with four parameters"),Ws(s.parameters[0],KA,"Can't build calendar aggregation column: only support first parameter of calendar function as property expression");const o=js(s.parameters[1],CA,"Can't build calendar aggregation column: only support second parameter of calendar function as String");Ks(void 0!==Object.values(wwi).find(e=>e===o.value),`Can't build calendar aggregation column: ${o.value} is not a supported calendar type`),js(s.parameters[2],jT,"Can't build calendar aggregation column: only support third parameter of calendar function as Date");const a=s.parameters[0].accept_ValueSpecificationVisitor(new qK(n,i,t)),l=Gs(s.parameters[1]).accept_ValueSpecificationVisitor(new qK(n,i,t)),c=Gs(s.parameters[2]).accept_ValueSpecificationVisitor(new qK(n,i,t)),d=Gs(s.parameters[3]),u=Xr(()=>d.accept_ValueSpecificationVisitor(new qK(n,i,t)))??new LE(VI(d,n.extensions.plugins)),h=XK([a,l,c,u],s.function,n),p=new ZE,g=new XE(XC.create(n.graph.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE);g.parameters.push(new ME(r.name,nS.ONE));const m=new QE(g);return m.expressionSequence=[h],p.values.push(m),p})(r,t,n,i))??new LE(VI(r,n.extensions.plugins)):Xr(()=>Dxi(r,t,n,i))??new LE(VI(r,n.extensions.plugins));const o=js(e.parameters[1],uA).accept_ValueSpecificationVisitor(new qK(n,i,t));return XK([s,o],sS($ct.TDS_AGG),n)},Oxi=(e,t,n,i,r)=>{Ks(2===t.length,"Can't build relation project() expression: project() expects 2 arguments");let s=[];const o=t[0].accept_ValueSpecificationVisitor(new qK(i,r,n));Us(o.genericType,"Can't build relation project() expression: preceding expression return type is missing");const a=t[1];Ws(a,FR,"Can't build relation project() expression: project() expects argument #1 to be a ClassInstance");const l=js(a.value,zA,"Can't build relation project() expression: project() expects argument #1 to hold spec array instances value");s=l.colSpecs.map(e=>e.function1).filter(Vs).filter(zs(uA)).map(e=>e.parameters).flat();const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new ME(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const d=new jE(nS.ONE),u=new WE;d.values=[u];const h=new SS(SS.ID);u.colSpecs=l.colSpecs.map(e=>{const t=new HE;let s;const o=js(e.function1,jT,"Can't build relation col spec() expression: expects function1 to be a lambda");try{s=Dxi(o,n,i,r)}catch{s=new LE(VI(o,i.extensions.plugins))}t.function1=s,t.name=e.name;const a=(e=>{if(e instanceof ZE){const t=e.values[0]?.expressionSequence[0];return t instanceof KE?t.genericType?.value.rawType??t.func.value.genericType.value.rawType:t?.genericType?.value.rawType}})(s);if(!a)throw new Yr("Unable to get return type for current lambda");return h.columns.push(new CS(e.name,yS.create(new ES(a)))),t});const p=XK([o,d],e,i),g=new ES(WK.INSTANCE),m=new ES(h);return g.typeArguments=[yS.create(m)],p.genericType=yS.create(g),p},Lxi=(e,t,n,i,r)=>{const s=js(e,fA,"Can't build tds col func: only support applied function");Ks(lS(s.function,$ct.TDS_COL),`Can't build tds col func: unsupported func name ${s.function}`),Ks(2===s.parameters.length,"Can't build tds col func: only support col function with 2 parameters");const o=js(s.parameters[0],uA,"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 ME(e.name,nS.ONE);n.genericType=t.genericType,r.addInferredVariables(e.name,n)}}),a=Dxi(o,n,i,r)}catch{a=new LE(VI(o,i.extensions.plugins))}js(s.parameters[1],CA,"Can't build tds col func: only support second parameter of col function as String");const l=Gs(s.parameters[1]).accept_ValueSpecificationVisitor(new qK(i,r,n));return XK([a,l],s.function,i)},Mxi=(e,t,n,i,r)=>{if(2===t.length)try{return((e,t,n,i,r)=>{Ks(2===t.length,"Can't build tds project() expression: project() expects 2 arguments");const s=t[0].accept_ValueSpecificationVisitor(new qK(i,r,n));Us(s.genericType,"Can't build tds project() expression: preceding expression return type is missing");const o=Gs(t[1],"Can't build tds project() expression: second parameter is missing");let a;if(o instanceof yA){const e=new VE(i.graph.getMultiplicity(o.multiplicity.lowerBound,o.multiplicity.upperBound));e.values=o.values.map(e=>Lxi(e,s,n,i,r)),a=e}else Ws(o,fA,"Can't build project() expression: project() expects argument #2 to be a function"),a=Lxi(o,s,n,i,r);const l=XK([s,a],e,i);return l.genericType=yS.create(new ES(i.resolveType(zct.TDS_ROW).value)),l})(e,t,n,i,r)}catch{return Oxi(e,t,n,i,r)}const s=t.length;Ks(3===s||2===s,"Can't build project() expression: project() expects 2 arguments");let o=[];const a=t[0].accept_ValueSpecificationVisitor(new qK(i,r,n));Us(a.genericType,"Can't build project() expression: preceding expression return type is missing");const l=t[1];l instanceof uA?o=l.parameters:(Ws(l,yA,"Can't build project() expression: project() expects argument #1 to be a collection"),o=l.values.filter(zs(uA)).map(e=>e.parameters).flat());const c=new Set;o.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new ME(e.name,a.multiplicity);t.genericType=a.genericType,r.addInferredVariables(e.name,t)}});const d=new VE(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));let u=[];u=l instanceof uA?[l]:l.values,d.values=u.map(e=>{try{return Dxi(e,n,i,r)}catch{return new LE(VI(e,i.extensions.plugins))}});const h=XK([a,d,t[2].accept_ValueSpecificationVisitor(new qK(i,r,n))],e,i);return h.genericType=yS.create(new ES(i.resolveType(zct.TDS_ROW).value)),h},Pxi=(e,t,n,i,r)=>e===$ct.RELATION_GROUP_BY||3===t.length?((e,t,n,i,r)=>{Ks(3===t.length,"Can't build relation groupBy() expression: groupBy() expects 2 arguments");const s=t[0].accept_ValueSpecificationVisitor(new qK(i,r,n));Us(s.genericType,"Can't build relation groupBy() expression: preceding expression return type is missing");const o=js(s,YE);if(o.functionName!==sS($ct.RELATION_PROJECT))throw new Yr("Can't build relation groupBy() expression: preceding expression must be project() column expression");const a=t[1];Ws(a,FR,"Can't build relation groupBy() expression: groupBy() expects argument #1 to be a ClassInstance");const l=js(a.value,zA,"Can't build relation groupBy() expression: groupBy() expects argument #1 to hold col spec array instance value"),c=t[2];Ws(c,FR,"Can't build groupBy() expression: groupBy() expects argument #2 to be a ClassInstance");const d=js(c.value,zA,"Can't build relation groupBy() expression: groupBy() expects argument #2 to hold col spec array instance value"),u=d.colSpecs.map(e=>[e.function1,e.function2]).flat().filter(Vs).map(e=>e.parameters).flat();u.forEach(e=>{if(!e.genericType){const t=new ME(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const h=js(o.genericType?.value.typeArguments?.[0]?.value.rawType,SS,"Can't build relation groupBy() expression: project() function does not return a relation"),p=new jE(nS.ONE),g=new WE;p.values=[g];const m=new SS(SS.ID);g.colSpecs=l.colSpecs.map(e=>{const t=new HE;t.name=e.name;const n=h.columns.find(t=>t.name===e.name);return n&&m.columns.push(n),t});const f=new jE(nS.ONE),y=new WE;f.values=[y],y.colSpecs=d.colSpecs.map(e=>{const t=new HE;t.name=e.name;const s=js(e.function1,uA,"Can't build relation col spec() expression: expects function1 to be a lambda"),o=Dxi(s,n,i,r);t.function1=o;const a=js(e.function2,uA,"Can't build relation col spec() expression: expects function2 to be a lambda"),l=js(a.accept_ValueSpecificationVisitor(new qK(i,r,n)),ZE,"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 Yr(`Unable to find projected column with name ${e.name}`);return m.columns.push(new CS(e.name,c)),t});const v=XK([s,p,f],e,i),_=new ES(WK.INSTANCE),b=new ES(m);return _.typeArguments=[yS.create(b)],v.genericType=yS.create(_),v})(e,t,n,i,r):((e,t,n,i,r)=>{let s=[];Ks(4===t.length,"Can't build groupBy() expression: groupBy() expects 3 arguments");const o=t[0].accept_ValueSpecificationVisitor(new qK(i,r,n));Us(o.genericType,"Can't build groupBy() expression: preceding expression return type is missing");const a=t[1];Ws(a,yA,"Can't build groupBy() expression: groupBy() expects argument #1 to be a collection"),s=a.values.filter(zs(uA)).map(e=>e.parameters).flat();const l=t[2];Ws(l,yA,"Can't build groupBy() expression: groupBy() expects argument #2 to be a collection"),s=s.concat(l.values.filter(e=>e instanceof fA&&lS(e.function,$ct.TDS_AGG)).map(e=>e.parameters).flat().filter(zs(uA)).map(e=>e.parameters).flat());const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new ME(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const d=new VE(i.graph.getMultiplicity(a.multiplicity.lowerBound,a.multiplicity.upperBound));d.values=a.values.map(e=>{try{return Dxi(e,n,i,r)}catch{return new LE(VI(e,i.extensions.plugins))}});const u=new VE(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));u.values=l.values.map(e=>kxi(e,n,i,r));const h=XK([o,d,u,t[3].accept_ValueSpecificationVisitor(new qK(i,r,n))],e,i);return h.genericType=yS.create(new ES(i.resolveType(zct.TDS_ROW).value)),h})(e,t,n,i,r);class Fxi extends qee{constructor(){super(Ixi.pureProtocolProcessorPlugin,Rxi)}V1_getExtraFunctionExpressionBuilders(){return[(e,t,n,i,r)=>{if(lS(e,jct.GET_ALL))return((e,t,n,i,r)=>{const s=QK(e,t,n,i,r),o=s.parametersValues[0];return Ws(o,PE,"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(lS(e,jct.GET_ALL_VERSIONS_IN_RANGE))return((e,t,n,i,r)=>{const s=QK(e,t,n,i,r),o=s.parametersValues[0];return Ws(o,PE,"Can't build getAllVersionsInRange() expression: only support getAllVersionsInRange() immediately following a class"),Ks(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(lS(e,jct.GET_ALL_VERSIONS))return((e,t,n,i,r)=>{const s=QK(e,t,n,i,r),o=s.parametersValues[0];return Ws(o,PE,"Can't build getAllVersions() expression: only support getAllVersions() immediately following a class"),Ks(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(lS(e,[$ct.FILTER,$ct.TDS_FILTER]))return((e,t,n,i,r)=>{Ks(2===t.length,"Can't build filter() expression: filter() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new qK(i,r,n));if(s.genericType){const e=t[1];e instanceof uA&&e.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new ME(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}})}const o=XK([s,t[1].accept_ValueSpecificationVisitor(new qK(i,r,n))],e,i);return o.genericType=s.genericType,o.multiplicity=s.multiplicity,o})(e,t,n,i,r);if(lS(e,$ct.EXISTS))return((e,t,n,i,r)=>{Ks(2===t.length,"Can't build exists() expression: exists() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new qK(i,r,n));s.genericType=js(s,KE).func.value.genericType;const o=t[1];return o instanceof uA&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new ME(e.name,nS.ONE);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}}),XK([s,t[1].accept_ValueSpecificationVisitor(new qK(i,r,n))],e,i)})(e,t,n,i,r);if(lS(e,$ct.WATERMARK))return((e,t,n,i,r)=>{Ks(2===t.length,"Can't build forWatermark() expression: forWatermark() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new qK(i,r,n));Us(s.genericType,"Can't build forWatermark() expression: preceding expression return type is missing");const o=t[1];o instanceof uA&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new ME(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const a=Gs(t[1].accept_ValueSpecificationVisitor(new qK(i,r,n))),l=a.genericType?.value.rawType;Ks(gS.STRING===l,"Can't build forWatermark() expression: parameter is expected to be a string");const c=XK([s,a],e,i);return c.genericType=s.genericType,c.multiplicity=s.multiplicity,c})(e,t,n,i,r);if(lS(e,[$ct.TDS_PROJECT,$ct.RELATION_PROJECT]))return Mxi(e,t,n,i,r);if(lS(e,[$ct.TDS_GROUP_BY,$ct.RELATION_GROUP_BY]))return Pxi(e,t,n,i,r);if(lS(e,$ct.OLAP_GROUPBY))return((e,t,n,i,r)=>{const s=[];Ks(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 qK(i,r,n));Us(l.genericType,"Can't build olapGroupBy() expression: preceding expression return type is missing"),s.push(l),o++;const c=t[o].accept_ValueSpecificationVisitor(new qK(i,r,n));if(s.push(c),o++,a){const e=t[o].accept_ValueSpecificationVisitor(new qK(i,r,n));s.push(e),o++}const d=t[o];let u;u=d instanceof fA?js(d.parameters[1],uA,`Can't build olapGroupBy() expression: olap operation function expects argument ${o+1} to be a lambda`):js(d,uA,`Can't build olapGroupBy() expression: olapGroupBy() expects argument ${o+1} to be a lambda`);const h=u.parameters,p=new Set;h.forEach(e=>{if(!p.has(e.name)&&!e.genericType){const t=new ME(e.name,l.multiplicity);t.genericType=l.genericType,r.addInferredVariables(e.name,t)}});const g=d.accept_ValueSpecificationVisitor(new qK(i,r,n));s.push(g),o++;const m=t[o].accept_ValueSpecificationVisitor(new qK(i,r,n));s.push(m),o++;const f=XK(s,e,i);return f.genericType=yS.create(new ES(i.resolveType(zct.TDS_ROW).value)),f})(e,t,n,i,r);if(lS(e,[$ct.TODAY,$ct.FIRST_DAY_OF_QUARTER])){const s=QK(e,t,n,i,r);return s.genericType=yS.create(new ES(gS.STRICTDATE)),s}if(lS(e,$ct.NOW)){const s=QK(e,t,n,i,r);return s.genericType=yS.create(new ES(gS.DATETIME)),s}if(lS(e,[$ct.FIRST_DAY_OF_THIS_YEAR,$ct.FIRST_DAY_OF_YEAR,$ct.FIRST_DAY_OF_THIS_MONTH,$ct.FIRST_DAY_OF_MONTH,$ct.FIRST_DAY_OF_WEEK,$ct.PREVIOUS_DAY_OF_WEEK,$ct.ADJUST])){const s=QK(e,t,n,i,r);return s.genericType=yS.create(new ES(gS.DATE)),s}return lS(e,Object.values($ct))||lS(e,Object.values(Wct))?QK(e,t,n,i,r):void 0}]}V1_getExtraPropertyExpressionTypeInferrers(){return[e=>{if(e instanceof YE&&lS(e.functionName,sS($ct.SUBTYPE)))return(e=>e.parametersValues.filter(e=>e instanceof PE)[0]?.genericType?.value.rawType)(e)}]}}class Bxi{mapping;runtimes=[]}class Vxi{service;executionKeys}class Uxi extends hT{}class Gxi extends Uxi{constructor(e){super(e),this.graphManager=js(e,a6)}getSupportedProtocolVersion(){return iz.V1_0_0}async buildGraphForCreateQuerySetup(e,t,n){try{const i=await this.graphManager.indexLightGraph(e,t,n,e=>e.content._type===pG||e.content._type===wR),r=[...e.ownMappings,...e.dependencyManager.mappings],s=i.map(e=>e.data.elements.filter(zs(GD))).flat(),o=new rX(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 uB)return new Y$(t,o.resolveMapping(Ys(e.includedMapping,"Mapping include path is missing or empty")))}).filter(Vs))});const a=[...e.ownRuntimes,...e.dependencyManager.runtimes],l=i.map(e=>e.data.elements.filter(zs(XA))).flat();l.forEach(e=>{const t=a.find(t=>t.path===e.path);if(t){const n=new c$;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>o.resolveMapping(e.path))}})}catch(e){throw Kr(e),e instanceof oz?e:new oz(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 rX(i,i,this.graphManager.graphBuilderExtensions,this.graphManager.logService).build();return r.map(e=>e.data.elements.filter(zs(GD))).flat().forEach(e=>{const t=i.getNullableMapping(e.path);t&&(t.includes=e.includedMappings.map(e=>{if(e instanceof uB)return new Y$(t,s.resolveMapping(Ys(e.includedMapping,"Mapping include path is missing or empty")))}).filter(Vs))}),r.map(e=>e.data.elements.filter(zs(XA))).flat().forEach(e=>{const t=i.getNullableRuntime(e.path);if(t){const n=new c$;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>s.resolveMapping(e.path))}}),i.mappings.forEach(e=>{const t=new Bxi;t.mapping=e,t.runtimes=i.runtimes.filter(t=>t.runtimeValue.mappings.map(e=>[e.value,...zY(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(zs(BO))).flat().forEach(e=>{const t=i.getNullableService(e.path);if(t){const i=new Vxi;i.service=t,e.execution instanceof FO&&(i.executionKeys=e.execution.executionParameters?.map(e=>e.key)),n.push(i)}}),n}}const Hxi=e=>new Gxi(e);class zxi extends Hee{constructor(){super(Ixi.pureGraphManagerPlugin,Rxi)}getExtraPureGraphManagerExtensionBuilders(){return[Hxi]}getExtraExposedSystemElementPath(){return[zct.TDS_TABULAR_DATASET,zct.TDS_ROW,zct.TDS_COLUMN]}}class Wxi{TEMPORARY__enableExportToCube=!1;TEMPORARY__disableQueryBuilderChat=!1;TEMPORARY__enableGridEnterpriseMode=!1;legendAIServiceURL="";legendMCPServiceURL="";zipkinTraceBaseURL="";enableTypedTDS=!1;static serialization=new w_(o_(Wxi,{TEMPORARY__disableQueryBuilderChat:C_(a_()),TEMPORARY__enableExportToCube:C_(a_()),TEMPORARY__enableGridEnterpriseMode:C_(a_()),legendAIServiceURL:C_(a_()),legendMCPServiceURL:C_(a_()),zipkinTraceBaseURL:C_(a_()),enableTypedTDS:C_(a_())}))}const jxi=e=>{let t=e;for(;t instanceof KE;)for(t=Gs(t.parametersValues[0]);t instanceof YE&&lS(t.functionName,$ct.SUBTYPE);)t=Gs(t.parametersValues[0]);return js(t,ME)},$xi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(lS(e.functionName,[$ct.AND,$ct.OR])){const r=new YSi(n,kSi(e.functionName));t.nodes.set(r.id,r),i&&(r.lambdaParameterName=js(i,qSi).lambdaParameterName),e.parametersValues.forEach(e=>$xi(js(e,YE,"Can't process filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}else{if(!lS(e.functionName,[$ct.EXISTS])){const n=e.parametersValues[0];if(n instanceof KE){const e=n.parametersValues[0];e instanceof KE&&bdt(e,t.queryBuilderState.graphManagerState.graph,t.queryBuilderState)}for(const n of t.operators){const r=Xr(()=>n.buildFilterConditionState(t,e));if(r){const e=jxi(r.propertyExpressionState.propertyExpression).name,n=i instanceof qSi&&i.lambdaParameterName?i.lambdaParameterName:t.lambdaParameterName;return Ks(n===e,`Can't process ${sS(r.operator.getLabel())}() expression: expects variable used in lambda body '${e}' to match lambda parameter '${n}'`),void t.addNodeFromNode(new QSi(void 0,r),i)}}throw new Yr("Can't process filter() expression: no compatible filter operator processer available from plugins")}{const r=js(e.parametersValues[0],KE);if(void 0===r.func.value.multiplicity.upperBound||r.func.value.multiplicity.upperBound>1){const s=new KSi(t,n),o=js(e.parametersValues[1],ZE,"Can't process filter expression: only supports exists with second paramter as LambdaFunctionInstanceValue"),a=js(o.values[0],QE),l=js(a.expressionSequence[0],YE);s.setPropertyExpression(r),s.lambdaParameterName=a.functionType.parameters[0]?.name,t.nodes.set(s.id,s),$xi(l,t,s.id),t.addNodeFromNode(s,i)}else{const i=[],r=[];let s=e;for(;lS(s.functionName,$ct.EXISTS);){const e=Gs(js(s.parametersValues[1],ZE).values[0],"Can't process exists() expression: exists() lambda is missing");if(Ks(1===e.expressionSequence.length,"Can't process exists() expression: exists() lambda body should hold an expression"),s=js(e.expressionSequence[0],YE,"Can't process exists() expression: exists() lambda body should hold an expression"),Ks(1===e.functionType.parameters.length,"Can't process exists() expression: exists() lambda should have 1 parameter"),i.push(js(e.functionType.parameters[0],ME,"Can't process exists() expression: exists() lambda should have 1 parameter").name),!(s.parametersValues[0]instanceof KE)||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=js(e.parametersValues[0],KE);let a=new KE("");a.func=o.func,a.parametersValues=[...o.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof KE||n instanceof YE&&lS(n.functionName,$ct.SUBTYPE);){if(n instanceof YE){const e=new YE(sS($ct.SUBTYPE));e.parametersValues.unshift(Gs(n.parametersValues[1])),t.push(e)}else if(n instanceof KE){const e=new KE("");e.func=n.func,e.parametersValues=n.parametersValues.length>1?n.parametersValues.slice(1):[],t.push(e)}n=Gs(n.parametersValues[0])}Ks(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=js(t[0],KE,"Can't process exists() expression: can't flatten to a property expression")}s.parametersValues=s.parametersValues.map(e=>{if(e instanceof YE&&e.parametersValues[0]instanceof KE)e.parametersValues[0].parametersValues[0]=a;else if(e instanceof KE)e.parametersValues[0]=Gs(a.parametersValues[0]);else if(e instanceof ME)return a;return e}),$xi(s,t,n)}}}},qxi=(e,t)=>{const n=t.filterState,i=e.parametersValues[1];Ws(i,ZE,"Can't process filter() expression: filter() expects argument #1 to be a lambda function");const r=Gs(i.values[0],"Can't process filter() lambda: filter() lambda function is missing");Ks(1===r.expressionSequence.length,"Can't process filter() lambda: only support filter() lambda body with 1 expression");const s=js(r.expressionSequence[0],YE,"Can't process filter() lambda: only support filter() lambda body with 1 expression");Ks(1===r.functionType.parameters.length,"Can't process filter() lambda: only support filter() lambda with 1 parameter"),n.setLambdaParameterName(js(r.functionType.parameters[0],ME,"Can't process filter() lambda: only support filter() lambda with 1 parameter").name),$xi(s,n,void 0),n.simplifyTree()};class Yxi{id;label;tree;parentId;isSelected;isOpen;childrenIds=[];constructor(e,t,n,i){Hh(this,{hashCode:lu}),this.id=e,this.label=t,this.parentId=n,this.tree=i,this.isOpen=!0}get type(){if(this.tree instanceof nw)return this.tree.property.value.genericType.value.rawType;if(this.tree instanceof tw)return this.tree.class.value;throw new Yr("Can't get type of Graph Fetch Tree",this.tree)}get hashCode(){return $v([wdt.GRAPH_FETCH_TREE_NODE_DATA,this.id,this.label,this.tree,this.parentId??"",$v(this.childrenIds)])}}const Kxi=(e,t,n)=>`${t?`${t}.`:""}${e.name}${n?`${CC}${n.path}`:""}`,Xxi=(e,t,n)=>{Ws(e,nw,"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 Yxi(Kxi(i,s,r),i.name,s,e);return e.subTrees.forEach(e=>{const t=Xxi(e,o,n);Co(o.childrenIds,t.id),n.set(t.id,t)}),o},Qxi=(e,t,n)=>{const i=t?.id,r=new Yxi((s=e.class.valueForSerialization??"")?`${CC}${s}`:"",e.class.value.name,i,e);var s;return e.subTrees.forEach(e=>{const t=Xxi(e,r,n);Co(r.childrenIds,t.id),n.set(t.id,t)}),r},Zxi=(e,t=!1)=>{const n=[],i=new Map;if(t){const t=Qxi(e,void 0,i);Co(n,t.id),i.set(t.id,t)}else e.subTrees.forEach(e=>{const t=Xxi(e,void 0,i);Co(n,t.id),i.set(t.id,t)});return{rootIds:n,nodes:i,tree:e}},Jxi=e=>0===e.tree.subTrees.length,eTi=e=>Array.from(e.nodes.values()).filter(t=>t.tree instanceof nw&&t.type instanceof wS&&0===t.childrenIds.length||t.tree instanceof nw&&!(t.type instanceof wS)&&t.parentId&&!e.nodes.has(t.parentId)),tTi=(e,t)=>{const n=t.parentId?e.nodes.get(t.parentId):void 0;n?(Eo(n.childrenIds,t.id),ddt(n.tree,t.tree)):(Eo(e.rootIds,t.id),ddt(e.tree,t.tree)),e.nodes.delete(t.id)},nTi=(e,t)=>{tTi(e,t),(e=>{let t=eTi(e);for(;t.length;)t.forEach(t=>{tTi(e,t)}),t=eTi(e)})(e)},iTi=(e,t,n,i)=>{const r=[new nw(zS.create(n.property),void 0)];let s,o,a,l=t.nodes.get(n.parentId);for(;l instanceof _xi||l instanceof bxi;){let e,n=!1;for(;l instanceof bxi;)n||(e=XC.create(l.subclass),n=!0),l=t.nodes.get(l.parentId);if(l instanceof _xi&&l.mappingData.entityMappedProperty?.subType&&l.type instanceof wS&&(e=XC.create(l.type)),!(l instanceof _xi))return void i.applicationStore.notificationService.notifyError("Can't cast the root class of graph fetch structure to its subtype");{const n=new nw(zS.create(l.property),e);n.subTrees.push(r[0]),r.unshift(n),l=t.nodes.get(l.parentId)}}for(const t of r){s=Kxi(t.property.value,s,t.subType?.value);const n=e.nodes.get(s);if(!n){a=t;break}o=n}if(a){const t=Xxi(a,o,e.nodes);e.nodes.set(t.id,t),o?(Co(o.childrenIds,t.id),cdt(o.tree,t.tree,i.observerContext)):(Co(e.rootIds,t.id),cdt(e.tree,t.tree,i.observerContext))}},rTi=(e,t,n)=>{const i=e.queryBuilderState,r=Gs(t.expressionSequence[0],"Can't build graph-fetch tree expression: preceding expression is not defined"),s=e.serializationState;if(s instanceof dTi){if(e.treeData&&!Jxi(e.treeData)){const n=s.config?((e,t)=>{const n=t.getClass(zct.SERIALIZE_CONFIG),i=new YE(sS(exports.SUPPORTED_FUNCTIONS.NEW)),r=new PE(nS.ONE,void 0);r.values[0]=XC.create(n);const s=new FE(yS.create(new ES(gS.STRING)));s.values=[""];const o=new VE(nS.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 GE,r=new FE(yS.create(new ES(gS.STRING)));r.values=[n];const s=new FE(yS.create(new ES(t.genericType.value.rawType)));s.values=[e[n]];const a=new UE(r,s,!1);i.values=[a],o.values.push(i)}}),o.multiplicity=new nS(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 rw;r.values=[e];const s=new YE(sS($ct.SERIALIZE)),o=new YE(sS(t?$ct.GRAPH_FETCH_CHECKED:$ct.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 uTi))throw new Yr(`Unsupported serialization state ${s.getLabel()}`);{const n=new YE(sS($ct.EXTERNALIZE)),i=e.treeData,o=s.treeData;if(i&&o&&!Jxi(i)&&!Jxi(o)){const a=new rw;a.values=[i.tree];const l=new YE(e.isChecked?sS($ct.GRAPH_FETCH_CHECKED):sS($ct.GRAPH_FETCH));l.parametersValues=[r,a];const c=new PE(nS.ONE,void 0);c.values=[XC.create(s.targetBinding)];const d=new rw;d.values=[o.tree],n.parametersValues=[l,c,d],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 YE&&lS(n.functionName,$ct.SERIALIZE)){const i=new FE(yS.create(new ES(gS.INTEGER)));i.values=[t];const r=new YE(sS($ct.TAKE)),s=js(n.parametersValues[0],YE),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 sTi,oTi;!function(e){e.PURE="PURE",e.EXTERNAL_FORMAT="EXTERNAL_FORMAT"}(sTi||(sTi={})),function(e){e.RESULT="RESULT"}(oTi||(oTi={}));const aTi="@type";class lTi{typeKeyName;dateTimeFormat;includeType;includeEnumType;removePropertiesWithNullValues;removePropertiesWithEmptySets;fullyQualifiedTypePath;includeObjectReference;constructor(){this.typeKeyName=aTi,Hh(this,{typeKeyName:ru,includeType:ru,includeEnumType:ru,dateTimeFormat:ru,removePropertiesWithNullValues:ru,removePropertiesWithEmptySets:ru,fullyQualifiedTypePath:ru,includeObjectReference:ru,setTypeName:hh,setIncludeObjectReference:hh,setDateTimeFormat:hh,setIncludeType:hh,setFullyQualifiedTypePath:hh,setRemovePropertiesWithEmptySets:hh,setInclueEnumType:hh,setRemovePropertiesWithNullValues:hh})}static createDefault(){const e=new lTi;return e.typeKeyName=aTi,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 cTi{queryBuilderGraphFetchTreeState;constructor(e){this.queryBuilderGraphFetchTreeState=e}}class dTi extends cTi{config;configModal=!1;constructor(e){super(e),Hh(this,{config:ru,configModal:ru,setConfigModal:hh})}setConfig(e){this.config=e}setConfigModal(e){this.configModal=e}getLabel(){return sTi.PURE}get serializationContentType(){return exports.ContentType.APPLICATION_JSON}}class uTi extends cTi{targetBinding;treeData;constructor(e,t,n){super(e),Hh(this,{targetBinding:ru,treeData:ru.ref,serializationContentType:lu,setGraphFetchTree:hh}),this.targetBinding=t,this.treeData=n}setBinding(e){this.targetBinding=e}setGraphFetchTree(e){this.treeData=e}addProperty(e,t){this.treeData?(iTi(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 sTi.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 hTi extends TSi{treeData;isChecked=!1;serializationState;constructor(e,t){super(e,t),Hh(this,{treeData:ru.ref,isChecked:ru,serializationState:ru,TEMPORARY__showPostFetchStructurePanel:lu,setGraphFetchTree:hh,setSerializationState:hh,setChecked:hh,initialize:hh,checkBeforeChangingImplementation:hh}),this.updateTreeData(this.queryBuilderState.class),this.serializationState=new dTi(this)}get type(){return xSi.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=Gs(n[0]),r=this.treeData.nodes.get(i);if(!r)continue;let s;const o=r.parentId?Gs(e.get(r.parentId)):"";let a="";r.tree instanceof tw?a=`root.${r.tree.class.valueForSerialization??""}`:r.tree instanceof nw&&(a=r.tree.property.value.name);const l=mxi(o,a);t.push(l),r.tree instanceof nw&&r.tree.subType?(s=fxi(l,r.tree.subType.value.path),zw(r.tree.subType.value).concat(r.tree.subType.value).forEach(e=>t.push(fxi(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?Zxi(new tw(XC.create(e))):void 0)}get exportDataFormatOptions(){return[oTi.RESULT]}getExportDataInfo(e){if(e===oTi.RESULT)return{contentType:this.serializationState.serializationContentType};throw new Yr(`Unsupported Graph Fetch export type ${e}`)}initializeWithQuery(){}onClassChange(e){this.updateTreeData(e)}appendFetchStructure(e,t){rTi(this,e,t)}addProperty(e,t){this.treeData?(iTi(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 uTi&&this.serializationState.addProperty(On(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:xlt.CAUTION,actions:[{label:"Proceed",type:Tlt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:Tlt.PROCEED,default:!0}]}):e()}isVariableUsed(e){return Boolean(Array.from(this.treeData?.nodes.values()??[]).find(t=>{if(t.tree instanceof nw)return t.tree.parameters.find(t=>Sdt(e,t))}))}get hasInvalidFilterValues(){return!1}get hasInvalidDerivedPropertyParameters(){return!1}get hashCode(){return $v([wdt.GRAPH_FETCH_STATE,this.isChecked.toString(),this.treeData?.tree??""])}}const pTi=(e,t)=>()=>{t.implementation.type!==e&&(Vct.logEvent_ToggleFetchStructure(t.queryBuilderState.applicationStore.telemetryService),t.implementation.checkBeforeChangingImplementation(()=>{t.changeImplementation(e)}))};class gTi{queryBuilderState;implementation;constructor(e){Hh(this,{implementation:ru,changeImplementation:hh,initializeWithQuery:hh}),this.queryBuilderState=e,this.implementation=new Rwi(this.queryBuilderState,this)}changeImplementation(e){switch(e){case xSi.TABULAR_DATA_STRUCTURE:this.implementation=new Rwi(this.queryBuilderState,this);break;case xSi.GRAPH_FETCH:this.queryBuilderState.setIsCalendarEnabled(!1),this.implementation=new hTi(this.queryBuilderState,this);break;default:throw new Yr(`Can't change fetch-structure implementation to unsupported type: '${e}'`)}this.implementation.initialize()}initializeWithQuery(){this.implementation.initializeWithQuery()}fetchProperty(e){e instanceof _xi&&!(e.type instanceof wS)&&this.implementation.fetchProperty(e)}fetchNodeChildrenProperties(e){e.type instanceof wS&&this.implementation.fetchProperties(e.childrenIds.map(e=>this.queryBuilderState.explorerState.nonNullableTreeData.nodes.get(e)).filter(zs(_xi)).filter(e=>!(e.type instanceof wS)&&e.mappingData.mapped))}}class mTi{lambda;constructor(e){this.lambda=e,Hh(this,{lambda:ru,setLambda:hh})}setLambda(e){this.lambda=e}}var fTi;!function(e){e.TEXT="TEXT",e.JSON="JSON"}(fTi||(fTi={}));class yTi extends rSi{queryBuilderState;rawLambdaState;isConvertingLambdaToString=!1;mode;closingQueryState=hb.create();readOnlylambdaJson="";isReadOnly;constructor(e){super("",""),Hh(this,{rawLambdaState:ru,isConvertingLambdaToString:ru,mode:ru,isReadOnly:ru,setQueryRawLambdaState:hh,setIsReadOnly:hh,setMode:hh,openModal:hh,closeModal:Rh}),this.queryBuilderState=e,this.rawLambdaState=new mTi(Rj())}get lambdaId(){return tte(["query-builder"])}get text(){return this.mode===fTi.TEXT?this.fullLambdaString:this.mode===fTi.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=Rj();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){Kr(e),e instanceof NZ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.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 DE(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){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.PARSING_FAILURE),e),this.isConvertingLambdaToString=!1}}else this.clearErrors(),this.setLambdaString("")}openModal(e,t){try{const n=this.queryBuilderState.buildQuery();e===fTi.TEXT&&this.setQueryRawLambdaState(new mTi(n)),e===fTi.JSON&&this.setLambdaJson(JSON.stringify(pS(this.queryBuilderState.graphManagerState.graphManager.serializeRawValueSpecification(n)),null,2)),this.setMode(e),this.setIsReadOnly(t)}catch(e){Kr(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}}*closeModal(){if(this.closingQueryState.inProgress(),this.mode===fTi.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 vTi=Vse(e=>{const{resultType:t}=e;let n="";return t.type instanceof QC&&(n=t.type.input??""),""===n?Yne.jsx(Yne.Fragment,{}):Yne.jsxs("div",{className:"query-builder__result__container",children:[Yne.jsx(pLe,{className:"query-builder__result__container__item__data-type",children:Yne.jsxs(Yne.Fragment,{children:[Yne.jsx("div",{className:"query-builder__result__container__item__data-type__type",children:"Result type:"}),Yne.jsx("div",{className:"query-builder__result__container__item__data-type__value",children:n})]})}),Yne.jsx(mLe,{})]})}),_Ti=Vse(e=>{const{resultType:t}=e;return Yne.jsxs("div",{className:"query-builder__result__container",children:[Yne.jsx(pLe,{className:"query-builder__result__container__item__tds",children:"Result type: TDS"}),Yne.jsx(mLe,{}),Yne.jsxs("table",{className:"query-builder__result__container__table table",children:[Yne.jsx("thead",{children:Yne.jsxs("tr",{children:[Yne.jsx("th",{className:"table__cell--left",children:"Label"}),Yne.jsx("th",{className:"table__cell--left",children:"Result DataType"})]})}),Yne.jsx("tbody",{children:t.tdsColumns.map(e=>Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:e.name}),Yne.jsx("td",{className:"table__cell--left",children:e.type instanceof QC&&(e.type.input??"")})]},e.name))})]}),Yne.jsx(mLe,{})]})}),bTi=Vse(e=>{const{resultType:t}=e;return Yne.jsxs("div",{className:"query-builder__result__container",children:[Yne.jsxs(pLe,{className:"query-builder__result__container__item__partial-class",children:["Result type: PartialClass[",t.type.valueForSerialization??"","]"]}),Yne.jsx(mLe,{}),Yne.jsxs("table",{className:"query-builder__result__container__table--partial-class table",children:[Yne.jsx("thead",{children:Yne.jsxs("tr",{children:[Yne.jsx("th",{className:"table__cell--left",children:"Property"}),Yne.jsx("th",{className:"table__cell--left",children:"Parameters"})]})}),Yne.jsx("tbody",{children:t.propertiesWithParameters.map(e=>Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:e.property}),Yne.jsx("td",{className:"table__cell--left",children:e.parameters.toString()})]},e.property))})]}),Yne.jsx(mLe,{})]})}),CTi=Vse(e=>{const{resultType:t}=e;return t instanceof d2?Yne.jsx(vTi,{resultType:t}):t instanceof u2?Yne.jsx(_Ti,{resultType:t}):t instanceof W2?Yne.jsx(bTi,{resultType:t}):null}),STi=e=>{e.dispose(),e.getModel()?.dispose()},ETi=e=>{const{inputValue:t,updateInput:i,lightTheme:r,language:s,isReadOnly:o,hideMinimap:a,hideGutter:l,hidePadding:c,hideActionBar:d,lineToScroll:u,extraEditorOptions:h,error:p}=e,g=Wat(),[m,f]=n.useState(),[y,v]=n.useState(!1),_=n.useRef(void 0),b=lAn(t),C=n.useRef(null);if(n.useEffect(()=>{if(!m&&C.current){const e=C.current,t=dsn.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??YTn.BUILT_IN__VSCODE_LIGHT:YTn.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){cAn(m);const e=m.getModel();e&&dsn.setModelLanguage(e,s)}},[m,s]),n.useEffect(()=>{m&&void 0!==u&&m.revealLineInCenter(u)},[m,u]),m){_.current?.dispose(),_.current=m.onDidChangeModelContent(()=>{const e=rAn(m);e!==b&&i?.(e)});rAn(m)!==b&&m.setValue(b),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?oAn(e,[{message:p.message,startLineNumber:p.sourceInformation.startLine,startColumn:p.sourceInformation.startColumn,endLineNumber:p.sourceInformation.endLine,endColumn:p.sourceInformation.endColumn}]):aAn())}return n.useEffect(()=>()=>{m&&(STi(m),_.current?.dispose())},[m]),Yne.jsxs("div",{className:"code-editor",children:[!d&&Yne.jsx("div",{className:"code-editor__header",children:Yne.jsx("button",{tabIndex:-1,className:zse("code-editor__header__action",{"code-editor__header__action--active":y}),onClick:()=>{const e=!y;v(e),m?.updateOptions({wordWrap:e?"on":"off"})},title:`[${y?"on":"off"}] Toggle word wrap`,children:Yne.jsx(Nie,{})})}),Yne.jsx("div",{className:zse("code-editor__content",{"code-editor__content--padding":!c,"code-editor__content--with__header":!d}),children:Yne.jsx("div",{className:"code-editor__body",ref:C})})]})},wTi=Vse(e=>{const{from:t,to:i,language:r}=e,s=Wat(),[o,a]=n.useState(),l=n.useRef(null),c=t??"",d=i??"";if(n.useEffect(()=>{if(!o&&l.current){const e=l.current,t=dsn.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?YTn.BUILT_IN__VSCODE_LIGHT:YTn.DEFAULT_DARK,readOnly:!0});a(t)}},[s,o]),o){const e=dsn.createModel(c,r),t=dsn.createModel(d,r);o.setModel({original:e,modified:t})}return n.useEffect(()=>()=>{o&&(e=>{e.dispose(),e.getOriginalEditor().getModel()?.dispose(),e.getModifiedEditor().getModel()?.dispose()})(o)},[o]),Yne.jsx("div",{className:"code-editor__container",children:Yne.jsx("div",{className:"code-editor__body",ref:l})})}),xTi=(e,t)=>e?Xs(e)?t?Xy(e):((e,t=2)=>{try{return JSON.stringify(JSON.parse(e),void 0,t)}catch{return e}})(e):t?Ky(e,void 0,2):JSON.stringify(e,void 0,2):"",TTi=Vse(e=>{const{from:t,to:n,lossless:i}=e;return Yne.jsx(wTi,{language:dAn.JSON,from:xTi(t,Boolean(i)),to:xTi(n,Boolean(i))})});var ATi,NTi={exports:{}},RTi=NTi.exports;var ITi=(ATi||(ATi=1,function(e){!function(t,n){e.exports?e.exports=n():t.nearley=n()}(RTi,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 d=o.rule.name;(this.completed[d]=this.completed[d]||[]).push(o)}}}else{if("string"!=typeof(d=o.rule.symbols[o.dot])){this.scannable.push(o);continue}if(n[d]){if(n[d].push(o),i.hasOwnProperty(d)){var u=i[d];for(l=0;l<u.length;l++){var h=u[l];this.complete(o,h)}}}else n[d]=[o],this.predict(d)}}},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,d=i.constructor===r?t.value:t,u=o.scannable,h=u.length;h--;){var p=u[h],g=p.rule.symbols[p.dot];if(g.test?g.test(d):g.type?g.type===t.type:g.literal===c){var m=p.nextState({data:d,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}})}(NTi)),NTi.exports),DTi=Zr(ITi),kTi=Object.defineProperty,OTi=Object.defineProperties,LTi=Object.getOwnPropertyDescriptors,MTi=Object.getOwnPropertySymbols,PTi=Object.prototype.hasOwnProperty,FTi=Object.prototype.propertyIsEnumerable,BTi=(e,t,n)=>t in e?kTi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,VTi=(e,t)=>{for(var n in t||(t={}))PTi.call(t,n)&&BTi(e,n,t[n]);if(MTi)for(var n of MTi(t))FTi.call(t,n)&&BTi(e,n,t[n]);return e},UTi=(e,t)=>OTi(e,LTi(t)),GTi={};((e,t)=>{for(var n in t)kTi(e,n,{get:t[n],enumerable:!0})})(GTi,{bigquery:()=>hAi,db2:()=>SAi,db2i:()=>IAi,hive:()=>BAi,mariadb:()=>qAi,mysql:()=>tNi,n1ql:()=>fNi,plsql:()=>wNi,postgresql:()=>kNi,redshift:()=>UNi,singlestoredb:()=>LRi,snowflake:()=>HRi,spark:()=>YNi,sql:()=>dRi,sqlite:()=>nRi,tidb:()=>cNi,transactsql:()=>TRi,trino:()=>vRi});var HTi=e=>e.flatMap(zTi),zTi=e=>QTi(jTi(e)).map(WTi),WTi=e=>e.replace(/ +/g," ").trim(),jTi=e=>({type:"mandatory_block",items:$Ti(e,0)[0]}),$Ti=(e,t,n)=>{const i=[];for(;e[t];){const[r,s]=qTi(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]},qTi=(e,t)=>{const n=[];for(;;){const[i,r]=YTi(e,t);if(!i)break;n.push(i),t=r}return 1===n.length?[n[0],t]:[{type:"concatenation",items:n},t]},YTi=(e,t)=>{if("{"===e[t])return KTi(e,t+1);if("["===e[t])return XTi(e,t+1);{let n="";for(;e[t]&&/[A-Za-z0-9_ ]/.test(e[t]);)n+=e[t],t++;return[n,t]}},KTi=(e,t)=>{const[n,i]=$Ti(e,t,"}");return[{type:"mandatory_block",items:n},i]},XTi=(e,t)=>{const[n,i]=$Ti(e,t,"]");return[{type:"optional_block",items:n},i]},QTi=e=>{if("string"==typeof e)return[e];if("concatenation"===e.type)return e.items.map(QTi).reduce(ZTi,[""]);if("mandatory_block"===e.type)return e.items.flatMap(QTi);if("optional_block"===e.type)return["",...e.items.flatMap(QTi)];throw new Error(`Unknown node type: ${e}`)},ZTi=(e,t)=>{const n=[];for(const i of e)for(const e of t)n.push(i+e);return n},JTi=(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))(JTi||{}),eAi=e=>({type:"EOF",raw:"«EOF»",text:"«EOF»",start:e}),tAi=eAi(1/0),nAi=e=>t=>t.type===e.type&&t.text===e.text,iAi={ARRAY:nAi({text:"ARRAY",type:"RESERVED_DATA_TYPE"}),BY:nAi({text:"BY",type:"RESERVED_KEYWORD"}),SET:nAi({text:"SET",type:"RESERVED_CLAUSE"}),STRUCT:nAi({text:"STRUCT",type:"RESERVED_DATA_TYPE"}),WINDOW:nAi({text:"WINDOW",type:"RESERVED_CLAUSE"}),VALUES:nAi({text:"VALUES",type:"RESERVED_CLAUSE"})},rAi=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,sAi=HTi(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),oAi=HTi(["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"]),aAi=HTi(["CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]"]),lAi=HTi(["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"]),cAi=HTi(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),dAi=HTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),uAi=HTi(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),hAi={name:"bigquery",tokenizerOptions:{reservedSelect:sAi,reservedClauses:[...oAi,...lAi,...aAi],reservedSetOperations:cAi,reservedJoins:dAi,reservedPhrases:uAi,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=tAi;return e.map(e=>"OFFSET"===e.text&&"["===t.text?(t=e,UTi(VTi({},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((iAi.ARRAY(r)||iAi.STRUCT(r))&&"<"===(null==(t=e[i+1])?void 0:t.text)){const t=gAi(e,i+1),s=e.slice(i,t+1);n.push({type:"IDENTIFIER",raw:s.map(pAi("raw")).join(""),text:s.map(pAi("text")).join(""),start:r.start}),i=t}else n.push(r)}return n}(e))}},formatOptions:{onelineClauses:[...aAi,...lAi],tabularOnelineClauses:lAi}};var pAi=e=>t=>"IDENTIFIER"===t.type||"COMMA"===t.type?t[e]+" ":t[e];function gAi(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 mAi=HTi(["SELECT [ALL | DISTINCT]"]),fAi=HTi(["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"]),yAi=HTi(["CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]"]),vAi=HTi(["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"]),_Ai=HTi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),bAi=HTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),CAi=HTi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),SAi={name:"db2",tokenizerOptions:{reservedSelect:mAi,reservedClauses:[...fAi,...yAi,...vAi],reservedSetOperations:_Ai,reservedJoins:bAi,reservedPhrases:CAi,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:[...yAi,...vAi],tabularOnelineClauses:vAi}},EAi=HTi(["SELECT [ALL | DISTINCT]"]),wAi=HTi(["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"]),xAi=HTi(["CREATE [OR REPLACE] TABLE"]),TAi=HTi(["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}"]),AAi=HTi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),NAi=HTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT | RIGHT] EXCEPTION JOIN","{INNER | CROSS} JOIN"]),RAi=HTi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),IAi={name:"db2i",tokenizerOptions:{reservedSelect:EAi,reservedClauses:[...wAi,...xAi,...TAi],reservedSetOperations:AAi,reservedJoins:NAi,reservedPhrases:RAi,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:[...xAi,...TAi],tabularOnelineClauses:TAi}},DAi=HTi(["SELECT [ALL | DISTINCT]"]),kAi=HTi(["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"]),OAi=HTi(["CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]"]),LAi=HTi(["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"]),MAi=HTi(["UNION [ALL | DISTINCT]"]),PAi=HTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),FAi=HTi(["{ROWS | RANGE} BETWEEN"]),BAi={name:"hive",tokenizerOptions:{reservedSelect:DAi,reservedClauses:[...kAi,...OAi,...LAi],reservedSetOperations:MAi,reservedJoins:PAi,reservedPhrases:FAi,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:[...OAi,...LAi],tabularOnelineClauses:LAi}};function VAi(e){return e.map((t,n)=>{const i=e[n+1]||tAi;if(iAi.SET(t)&&"("===i.text)return UTi(VTi({},t),{type:"RESERVED_FUNCTION_NAME"});const r=e[n-1]||tAi;return iAi.VALUES(t)&&"="===r.text?UTi(VTi({},t),{type:"RESERVED_FUNCTION_NAME"}):t})}var UAi=HTi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),GAi=HTi(["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"]),HAi=HTi(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),zAi=HTi(["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"]),WAi=HTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),jAi=HTi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),$Ai=HTi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),qAi={name:"mariadb",tokenizerOptions:{reservedSelect:UAi,reservedClauses:[...GAi,...HAi,...zAi],reservedSetOperations:WAi,reservedJoins:jAi,reservedPhrases:$Ai,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:VAi},formatOptions:{onelineClauses:[...HAi,...zAi],tabularOnelineClauses:zAi}},YAi=HTi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),KAi=HTi(["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"]),XAi=HTi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),QAi=HTi(["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"]),ZAi=HTi(["UNION [ALL | DISTINCT]"]),JAi=HTi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),eNi=HTi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),tNi={name:"mysql",tokenizerOptions:{reservedSelect:YAi,reservedClauses:[...KAi,...XAi,...QAi],reservedSetOperations:ZAi,reservedJoins:JAi,reservedPhrases:eNi,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:VAi},formatOptions:{onelineClauses:[...XAi,...QAi],tabularOnelineClauses:QAi}},nNi=HTi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),iNi=HTi(["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"]),rNi=HTi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),sNi=HTi(["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"]),oNi=HTi(["UNION [ALL | DISTINCT]"]),aNi=HTi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),lNi=HTi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),cNi={name:"tidb",tokenizerOptions:{reservedSelect:nNi,reservedClauses:[...iNi,...rNi,...sNi],reservedSetOperations:oNi,reservedJoins:aNi,reservedPhrases:lNi,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:VAi},formatOptions:{onelineClauses:[...rNi,...sNi],tabularOnelineClauses:sNi}},dNi=HTi(["SELECT [ALL | DISTINCT]"]),uNi=HTi(["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"]),hNi=HTi(["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"]),pNi=HTi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),gNi=HTi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),mNi=HTi(["{ROWS | RANGE | GROUPS} BETWEEN"]),fNi={name:"n1ql",tokenizerOptions:{reservedSelect:dNi,reservedClauses:[...uNi,...hNi],reservedSetOperations:pNi,reservedJoins:gNi,reservedPhrases:mNi,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:hNi}},yNi=HTi(["SELECT [ALL | DISTINCT | UNIQUE]"]),vNi=HTi(["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"]),_Ni=HTi(["CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE"]),bNi=HTi(["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"]),CNi=HTi(["UNION [ALL]","MINUS","INTERSECT"]),SNi=HTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),ENi=HTi(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),wNi={name:"plsql",tokenizerOptions:{reservedSelect:yNi,reservedClauses:[...vNi,..._Ni,...bNi],reservedSetOperations:CNi,reservedJoins:SNi,reservedPhrases:ENi,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=tAi;return e.map(e=>iAi.SET(e)&&iAi.BY(t)?UTi(VTi({},e),{type:"RESERVED_KEYWORD"}):(rAi(e.type)&&(t=e),e))}},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:[..._Ni,...bNi],tabularOnelineClauses:bNi}};var xNi=HTi(["SELECT [ALL | DISTINCT]"]),TNi=HTi(["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"]),ANi=HTi(["CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]"]),NNi=HTi(["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"]),RNi=HTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),INi=HTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),DNi=HTi(["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"]),kNi={name:"postgresql",tokenizerOptions:{reservedSelect:xNi,reservedClauses:[...TNi,...ANi,...NNi],reservedSetOperations:RNi,reservedJoins:INi,reservedPhrases:DNi,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:[...ANi,...NNi],tabularOnelineClauses:NNi}},ONi=HTi(["SELECT [ALL | DISTINCT]"]),LNi=HTi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET"]),MNi=HTi(["CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]"]),PNi=HTi(["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"]),FNi=HTi(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),BNi=HTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),VNi=HTi(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),UNi={name:"redshift",tokenizerOptions:{reservedSelect:ONi,reservedClauses:[...LNi,...MNi,...PNi],reservedSetOperations:FNi,reservedJoins:BNi,reservedPhrases:VNi,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:[...MNi,...PNi],tabularOnelineClauses:PNi}},GNi=HTi(["SELECT [ALL | DISTINCT]"]),HNi=HTi(["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"]),zNi=HTi(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]),WNi=HTi(["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"]),jNi=HTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),$Ni=HTi(["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"]),qNi=HTi(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),YNi={name:"spark",tokenizerOptions:{reservedSelect:GNi,reservedClauses:[...HNi,...zNi,...WNi],reservedSetOperations:jNi,reservedJoins:$Ni,reservedPhrases:qNi,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]||tAi,r=e[n+1]||tAi;return iAi.WINDOW(t)&&"OPEN_PAREN"===r.type?UTi(VTi({},t),{type:"RESERVED_FUNCTION_NAME"}):"ITEMS"!==t.text||"RESERVED_KEYWORD"!==t.type||"COLLECTION"===i.text&&"TERMINATED"===r.text?t:UTi(VTi({},t),{type:"IDENTIFIER",text:t.raw})})}},formatOptions:{onelineClauses:[...zNi,...WNi],tabularOnelineClauses:WNi}};var KNi=HTi(["SELECT [ALL | DISTINCT]"]),XNi=HTi(["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"]),QNi=HTi(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),ZNi=HTi(["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"]),JNi=HTi(["UNION [ALL]","EXCEPT","INTERSECT"]),eRi=HTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),tRi=HTi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","DO UPDATE"]),nRi={name:"sqlite",tokenizerOptions:{reservedSelect:KNi,reservedClauses:[...XNi,...QNi,...ZNi],reservedSetOperations:JNi,reservedJoins:eRi,reservedPhrases:tRi,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:[...QNi,...ZNi],tabularOnelineClauses:ZNi}},iRi=HTi(["SELECT [ALL | DISTINCT]"]),rRi=HTi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET"]),sRi=HTi(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]),oRi=HTi(["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"]),aRi=HTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),lRi=HTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),cRi=HTi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),dRi={name:"sql",tokenizerOptions:{reservedSelect:iRi,reservedClauses:[...rRi,...sRi,...oRi],reservedSetOperations:aRi,reservedJoins:lRi,reservedPhrases:cRi,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:[...sRi,...oRi],tabularOnelineClauses:oRi}},uRi=HTi(["SELECT [ALL | DISTINCT]"]),hRi=HTi(["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"]),pRi=HTi(["CREATE TABLE [IF NOT EXISTS]"]),gRi=HTi(["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"]),mRi=HTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),fRi=HTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),yRi=HTi(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM"]),vRi={name:"trino",tokenizerOptions:{reservedSelect:uRi,reservedClauses:[...hRi,...pRi,...gRi],reservedSetOperations:mRi,reservedJoins:fRi,reservedPhrases:yRi,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:[...pRi,...gRi],tabularOnelineClauses:gRi}},_Ri=HTi(["SELECT [ALL | DISTINCT]"]),bRi=HTi(["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}"]),CRi=HTi(["CREATE TABLE"]),SRi=HTi(["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"]),ERi=HTi(["UNION [ALL]","EXCEPT","INTERSECT"]),wRi=HTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),xRi=HTi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),TRi={name:"transactsql",tokenizerOptions:{reservedSelect:_Ri,reservedClauses:[...bRi,...CRi,...SRi],reservedSetOperations:ERi,reservedJoins:wRi,reservedPhrases:xRi,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:[...CRi,...SRi],tabularOnelineClauses:SRi}},ARi=HTi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),NRi=HTi(["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"]),RRi=HTi(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]),IRi=HTi(["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"]),DRi=HTi(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),kRi=HTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),ORi=HTi(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),LRi={name:"singlestoredb",tokenizerOptions:{reservedSelect:ARi,reservedClauses:[...NRi,...RRi,...IRi],reservedSetOperations:DRi,reservedJoins:kRi,reservedPhrases:ORi,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:VAi},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:[...RRi,...IRi],tabularOnelineClauses:IRi}},MRi=HTi(["SELECT [ALL | DISTINCT]"]),PRi=HTi(["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"]),FRi=HTi(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]),BRi=HTi(["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"]),VRi=HTi(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),URi=HTi(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),GRi=HTi(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),HRi={name:"snowflake",tokenizerOptions:{reservedSelect:MRi,reservedClauses:[...PRi,...FRi,...BRi],reservedSetOperations:VRi,reservedJoins:URi,reservedPhrases:GRi,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:[...FRi,...BRi],tabularOnelineClauses:BRi}},zRi=e=>e[e.length-1],WRi=e=>e.sort((e,t)=>t.length-e.length||e.localeCompare(t)),jRi=e=>e.replace(/\s+/gu," "),$Ri=e=>/\n/.test(e),qRi=e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),YRi=/\s+/uy,KRi=e=>new RegExp(`(?:${e})`,"uy"),XRi=e=>e.split("").map(e=>/ /gu.test(e)?"\\s+":`[${e.toUpperCase()}${e.toLowerCase()}]`).join(""),QRi=(e,t=[])=>{const n="open"===e?0:1,i=["()",...t].map(e=>e[n]);return KRi(i.map(qRi).join("|"))},ZRi=e=>KRi(`${WRi(e).map(qRi).join("|")}`),JRi=(e,t={})=>{if(0===e.length)return/^\b$/u;const n=(({rest:e,dashes:t})=>e||t?`(?![${e||""}${t?"-":""}])`:"")(t),i=WRi(e).map(qRi).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${i})${n}\\b`,"iuy")},eIi=(e,t)=>{if(!e.length)return;const n=e.map(qRi).join("|");return KRi(`(?:${n})(?:${t})`)},tIi={"``":"(?:`[^`]*`)+","[]":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,qRi(e)).replace(/{right}/g,qRi(t))),n=qRi(Object.keys(e).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${n}])(?:(?!\k<tag>').)*?\k<tag>`}|${t.join("|")})'`})()},nIi=e=>"string"==typeof e?tIi[e]:"regex"in e?e.regex:(({prefixes:e,requirePrefix:t})=>`(?:${e.map(XRi).join("|")}${t?"":"|"})`)(e)+tIi[e.quote],iIi=e=>e.map(nIi).join("|"),rIi=e=>KRi(iIi(e)),sIi=(e={})=>KRi(oIi(e)),oIi=({first:e,rest:t,dashes:n,allowFirstCharNumber:i}={})=>{const r="\\p{Alphabetic}\\p{Mark}_",s="\\p{Decimal_Number}",o=qRi(null!=e?e:""),a=qRi(null!=t?t:""),l=i?`[${r}${s}${o}][${r}${s}${a}]*`:`[${r}${o}][${r}${s}${a}]*`;return n?(e=>e+"(?:-"+e+")*")(l):l};function aIi(e,t){const n=e.slice(0,t).split(/\n/);return{line:n.length,col:n[n.length-1].length+1}}var lIi=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(UTi(VTi({},n),{precedingWhitespace:e}))}}return t}createParseError(){const e=this.input.slice(this.index,this.index+10),{line:t,col:n}=aIi(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(){YRi.lastIndex=this.index;const e=YRi.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}}},cIi=/\/\*/uy,dIi=/[\s\S]/uy,uIi=/\*\//uy,hIi=class{constructor(){this.lastIndex=0}exec(e){let t,n="",i=0;if(!(t=this.matchSection(cIi,e)))return null;for(n+=t,i++;i>0;)if(t=this.matchSection(cIi,e))n+=t,i++;else if(t=this.matchSection(uIi,e))n+=t,i--;else{if(!(t=this.matchSection(dIi,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}},pIi=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 lIi(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 hIi:/(\/\*[^]*?\*\/)/uy},{type:"LINE_COMMENT",regex:(i=null!=(t=e.lineCommentTypes)?t:["--"],new RegExp(`(?:${i.map(qRi).join("|")}).*?(?=\r\n|\r|\n|$)`,"uy"))},{type:"QUOTED_IDENTIFIER",regex:rIi(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:JRi(null!=(n=e.reservedPhrases)?n:[],e.identChars),text:gIi},{type:"CASE",regex:/CASE\b/iuy,text:gIi},{type:"END",regex:/END\b/iuy,text:gIi},{type:"BETWEEN",regex:/BETWEEN\b/iuy,text:gIi},{type:"LIMIT",regex:e.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:gIi},{type:"RESERVED_CLAUSE",regex:JRi(e.reservedClauses,e.identChars),text:gIi},{type:"RESERVED_SELECT",regex:JRi(e.reservedSelect,e.identChars),text:gIi},{type:"RESERVED_SET_OPERATION",regex:JRi(e.reservedSetOperations,e.identChars),text:gIi},{type:"WHEN",regex:/WHEN\b/iuy,text:gIi},{type:"ELSE",regex:/ELSE\b/iuy,text:gIi},{type:"THEN",regex:/THEN\b/iuy,text:gIi},{type:"RESERVED_JOIN",regex:JRi(e.reservedJoins,e.identChars),text:gIi},{type:"AND",regex:/AND\b/iuy,text:gIi},{type:"OR",regex:/OR\b/iuy,text:gIi},{type:"XOR",regex:e.supportsXor?/XOR\b/iuy:void 0,text:gIi},...e.operatorKeyword?[{type:"OPERATOR",regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:"RESERVED_FUNCTION_NAME",regex:JRi(e.reservedFunctionNames,e.identChars),text:gIi},{type:"RESERVED_DATA_TYPE",regex:JRi(e.reservedDataTypes,e.identChars),text:gIi},{type:"RESERVED_KEYWORD",regex:JRi(e.reservedKeywords,e.identChars),text:gIi}])}buildRulesAfterParams(e){var t,n,i;return this.validRules([{type:"VARIABLE",regex:e.variableTypes?(i=e.variableTypes,KRi(i.map(e=>"regex"in e?e.regex:nIi(e)).join("|"))):void 0},{type:"STRING",regex:rIi(e.stringTypes)},{type:"IDENTIFIER",regex:sIi(e.identChars)},{type:"DELIMITER",regex:/[;]/uy},{type:"COMMA",regex:/[,]/y},{type:"OPEN_PAREN",regex:QRi("open",e.extraParens)},{type:"CLOSE_PAREN",regex:QRi("close",e.extraParens)},{type:"OPERATOR",regex:ZRi(["+","-","/",">","<","=","<>","<=",">=","!=",...null!=(t=e.operators)?t:[]])},{type:"ASTERISK",regex:/[*]/uy},{type:"PROPERTY_ACCESS_OPERATOR",regex:ZRi([".",...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:eIi(a.named,oIi(e.paramChars||e.identChars)),key:e=>e.slice(1)},{type:"QUOTED_PARAMETER",regex:eIi(a.quoted,iIi(e.identTypes)),key:e=>(({tokenKey:e,quoteChar:t})=>e.replace(new RegExp(qRi("\\"+t),"gu"),t))({tokenKey:e.slice(2,-1),quoteChar:e.slice(-1)})},{type:"NUMBERED_PARAMETER",regex:eIi(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:KRi(e.regex),key:null!=(t=e.key)?t:e=>e}})])}validRules(e){return e.filter(e=>Boolean(e.regex))}},gIi=e=>jRi(e.toUpperCase()),mIi=new Map,fIi=e=>({tokenizer:new pIi(e.tokenizerOptions,e.name),formatOptions:yIi(e.formatOptions)}),yIi=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 vIi(e){return"tabularLeft"===e.indentStyle||"tabularRight"===e.indentStyle}var _Ii=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 bIi(e){return e.map(CIi).map(SIi).map(EIi).map(wIi).map(xIi)}var CIi=(e,t,n)=>{if(rAi(e.type)){const i=TIi(n,t);if(i&&"PROPERTY_ACCESS_OPERATOR"===i.type)return UTi(VTi({},e),{type:"IDENTIFIER",text:e.raw});const r=AIi(n,t);if(r&&"PROPERTY_ACCESS_OPERATOR"===r.type)return UTi(VTi({},e),{type:"IDENTIFIER",text:e.raw})}return e},SIi=(e,t,n)=>{if("RESERVED_FUNCTION_NAME"===e.type){const i=AIi(n,t);if(!i||!NIi(i))return UTi(VTi({},e),{type:"IDENTIFIER",text:e.raw})}return e},EIi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=AIi(n,t);if(i&&NIi(i))return UTi(VTi({},e),{type:"RESERVED_PARAMETERIZED_DATA_TYPE"})}return e},wIi=(e,t,n)=>{if("IDENTIFIER"===e.type){const i=AIi(n,t);if(i&&RIi(i))return UTi(VTi({},e),{type:"ARRAY_IDENTIFIER"})}return e},xIi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=AIi(n,t);if(i&&RIi(i))return UTi(VTi({},e),{type:"ARRAY_KEYWORD"})}return e},TIi=(e,t)=>AIi(e,t,-1),AIi=(e,t,n=1)=>{let i=1;for(;e[t+i*n]&&IIi(e[t+i*n]);)i++;return e[t+i*n]},NIi=e=>"OPEN_PAREN"===e.type&&"("===e.text,RIi=e=>"OPEN_PAREN"===e.type&&"["===e.text,IIi=e=>"BLOCK_COMMENT"===e.type||"LINE_COMMENT"===e.type,DIi=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}=aIi(this.input,e.start);return`Parse error at token: ${e.text} at line ${t} column ${n}`}has(e){return e in JTi}};function kIi(e){return e[0]}var OIi=new DIi(e=>[]),LIi=([[e]])=>e,MIi=e=>({type:"keyword",tokenType:e.type,text:e.text,raw:e.raw}),PIi=e=>({type:"data_type",text:e.text,raw:e.raw}),FIi=(e,{leading:t,trailing:n})=>((null==t?void 0:t.length)&&(e=UTi(VTi({},e),{leadingComments:t})),(null==n?void 0:n.length)&&(e=UTi(VTi({},e),{trailingComments:n})),e),BIi=(e,{leading:t,trailing:n})=>{if(null==t?void 0:t.length){const[n,...i]=e;e=[FIi(n,{leading:t}),...i]}if(null==n?void 0:n.length){const t=e.slice(0,-1),i=e[e.length-1];e=[...t,FIi(i,{trailing:n})]}return e},VIi={Lexer:OIi,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:[OIi.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[OIi.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:LIi},{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:[OIi.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:kIi},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[OIi.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:FIi(MIi(e),{trailing:t}),offset:n,count:s}}return{type:"limit_clause",limitKw:FIi(MIi(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:[OIi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([e,[t,n]])=>({type:"clause",nameKw:MIi(e),children:[t,...n]})},{name:"select_clause",symbols:[OIi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([e])=>({type:"clause",nameKw:MIi(e),children:[]})},{name:"all_columns_asterisk",symbols:[OIi.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:[OIi.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([e,t])=>({type:"clause",nameKw:MIi(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:[OIi.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([e,t])=>({type:"set_operation",nameKw:MIi(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:kIi},{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])=>FIi(e,{trailing:t})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([e,t])=>FIi(t,{leading:e})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([e,t])=>FIi(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:LIi},{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:LIi},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:LIi},{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:LIi},{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:LIi},{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:LIi},{name:"array_subscript",symbols:[OIi.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:FIi({type:"identifier",quoted:!1,text:e.text},{trailing:t}),parenthesis:n})},{name:"array_subscript",symbols:[OIi.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:FIi(MIi(e),{trailing:t}),parenthesis:n})},{name:"function_call",symbols:[OIi.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([e,t,n])=>({type:"function_call",nameKw:FIi(MIi(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","_",OIi.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:FIi(e,{trailing:t}),operator:n.text,property:FIi(r,{leading:i})})},{name:"between_predicate",symbols:[OIi.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",OIi.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([e,t,n,i,r,s,o])=>({type:"between_predicate",betweenKw:MIi(e),expr1:BIi(n,{leading:t,trailing:i}),andKw:MIi(r),expr2:[FIi(o,{leading:s})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:kIi},{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:[OIi.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",OIi.has("END")?{type:"END"}:END],postprocess:([e,t,n,i,r])=>({type:"case_expression",caseKw:FIi(MIi(e),{trailing:t}),endKw:MIi(r),expr:n||[],clauses:i})},{name:"case_clause",symbols:[OIi.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",OIi.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([e,t,n,i,r,s])=>({type:"case_when",whenKw:FIi(MIi(e),{trailing:t}),thenKw:FIi(MIi(i),{trailing:r}),condition:n,result:s})},{name:"case_clause",symbols:[OIi.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([e,t,n])=>({type:"case_else",elseKw:FIi(MIi(e),{trailing:t}),result:n})},{name:"comma$subexpression$1",symbols:[OIi.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[e]])=>({type:"comma"})},{name:"asterisk$subexpression$1",symbols:[OIi.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"operator$subexpression$1",symbols:[OIi.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"identifier$subexpression$1",symbols:[OIi.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[OIi.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[OIi.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:[OIi.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[OIi.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[OIi.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[OIi.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[OIi.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:[OIi.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[OIi.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[e]])=>({type:"literal",text:e.text})},{name:"keyword$subexpression$1",symbols:[OIi.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[OIi.has("RESERVED_PHRASE")?{type:"RESERVED_PHRASE"}:RESERVED_PHRASE]},{name:"keyword$subexpression$1",symbols:[OIi.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[e]])=>MIi(e)},{name:"data_type$subexpression$1",symbols:[OIi.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[e]])=>PIi(e)},{name:"data_type",symbols:[OIi.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([e,t,n])=>({type:"parameterized_data_type",dataType:FIi(PIi(e),{trailing:t}),parenthesis:n})},{name:"logic_operator$subexpression$1",symbols:[OIi.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[OIi.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[OIi.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[e]])=>MIi(e)},{name:"other_keyword$subexpression$1",symbols:[OIi.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[OIi.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[OIi.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[OIi.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[e]])=>MIi(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:[OIi.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([e])=>({type:"line_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[OIi.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([e])=>({type:"block_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[OIi.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([e])=>({type:"disable_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})}],ParserStart:"main"},UIi=VIi,{Parser:GIi,Grammar:HIi}=DTi;var zIi=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(;WIi(zRi(this.items));)this.items.pop()}trimWhitespace(){for(;jIi(zRi(this.items));)this.items.pop()}addNewline(e){if(this.items.length>0)switch(zRi(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}}},WIi=e=>0===e||6===e,jIi=e=>0===e||6===e||3===e;function $Ii(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 qIi(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 YIi="top-level",KIi=class{constructor(e){this.indent=e,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(YIi)}increaseBlockLevel(){this.indentTypes.push("block-level")}decreaseTopLevel(){this.indentTypes.length>0&&zRi(this.indentTypes)===YIi&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0;){if(this.indentTypes.pop()!==YIi)break}}},XIi=class extends zIi{constructor(e){super(new KIi("")),this.expressionWidth=e,this.length=0,this.trailingSpace=!1}add(...e){if(e.forEach(e=>this.addToLength(e)),this.length>this.expressionWidth)throw new QIi;super.add(...e)}addToLength(e){if("string"==typeof e)this.length+=e.length,this.trailingSpace=!1;else{if(4===e||3===e)throw new QIi;5===e||6===e||0===e?this.trailingSpace||(this.length++,this.trailingSpace=!0):2!==e&&1!==e||this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}},QIi=class extends Error{},ZIi=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),vIi(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):vIi(this.cfg)?this.formatClauseInTabularStyle(e):this.formatClauseInIndentedStyle(e)}isOnelineClause(e){return vIi(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(),vIi(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){$Ri(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 $Ri(e.text)||$Ri(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(zRi(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 XIi(this.cfg.expressionWidth),inline:!0}).format(t)}catch(e){if(e instanceof QIi)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){vIi(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?vIi(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 qIi(e.tokenType)?$Ii(this.showNonTabularKw(e),this.cfg.indentStyle):this.showNonTabularKw(e)}showNonTabularKw(e){switch(this.cfg.keywordCase){case"preserve":return jRi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showFunctionKw(e){return qIi(e.tokenType)?$Ii(this.showNonTabularFunctionKw(e),this.cfg.indentStyle):this.showNonTabularFunctionKw(e)}showNonTabularFunctionKw(e){switch(this.cfg.functionCase){case"preserve":return jRi(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 jRi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}},JIi=class{constructor(e,t){this.dialect=e,this.cfg=t,this.params=new _Ii(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 DIi(n=>[...bIi(e.tokenize(n,t)),eAi(n.length)]),i=new GIi(HIi.fromCompiled(UIi),{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 ZIi({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new zIi(new KIi((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()}},eDi=class extends Error{};function tDi(e){const t=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const n of t)if(n in e)throw new eDi(`${n} config is no more supported.`);if(e.expressionWidth<=0)throw new eDi(`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 eDi("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return e}var nDi={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"},iDi=Object.keys(nDi),rDi={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},sDi=(e,t={})=>{if("string"==typeof t.language&&!iDi.includes(t.language))throw new eDi(`Unsupported SQL dialect: ${t.language}`);const n=nDi[t.language||"sql"];return oDi(e,UTi(VTi({},t),{dialect:GTi[n]}))},oDi=(e,t)=>{var n=t,{dialect:i}=n,r=((e,t)=>{var n={};for(var i in e)PTi.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&MTi)for(var i of MTi(e))t.indexOf(i)<0&&FTi.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=tDi(VTi(VTi({},rDi),r));return new JIi((e=>{let t=mIi.get(e);return t||(t=fIi(e),mIi.set(e,t)),t})(i),s).format(e)};const aDi=console.error;function lDi(e){return AG_GRID_LICENSE&&Loi.setLicenseKey(AG_GRID_LICENSE),"production"!==process.env.NODE_ENV&&(console.error=(e,...t)=>{console.debug(`%c ${e}`,"color: silver")}),Yne.jsx(uoi,{theme:"legacy",...e,modules:[ssi,C_i],onGridReady:t=>{e.onGridReady?.(t),"production"!==process.env.NODE_ENV&&(console.error=aDi)}})}class cDi{uuid=ho()}const dDi=(e,t,n)=>{const i=new YE(sS(t)),r=tEi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,n??e.filterState.lambdaParameterName);if(i.parametersValues.push(Gs(r)),e.rightConditionValue&&e.rightConditionValue instanceof zSi&&void 0!==e.rightConditionValue.value)i.parametersValues.push(e.rightConditionValue.value);else if(e.rightConditionValue&&e.rightConditionValue instanceof WSi){const t=tEi(e.rightConditionValue.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,n??e.filterState.lambdaParameterName);i.parametersValues.push(t)}return i},uDi=(e,t,n,i,r=!1)=>{let s,o;if(lS(t.functionName,n)){Ks(t.parametersValues.length===(r?1:2),`Can't process ${sS(n)}() expression: ${sS(n)}() expects ${r?"no argument":"1 argument"}`);const i=js(t.parametersValues[0],KE,`Can't process ${sS(n)}() expression: expects property expression in lambda body`);s=new jSi(e,i),o=t}else if(lS(t.functionName,$ct.EXISTS)){const i=js(t.parametersValues[1],ZE),a=js(i.values[0],QE),l=js(a.expressionSequence[0],YE);Ks(l.parametersValues.length===(r?1:2),`Can't process ${sS(n)}() expression: ${sS(n)}() expects ${r?"no argument":"1 argument"}`);const c=js(l.parametersValues[0],KE,`Can't process ${sS(n)}() expression: expects property expression in lambda body`);s=new jSi(e,c),o=l}if(s&&o){Ks(i.isCompatibleWithFilterConditionProperty(s),`Can't process ${sS(n)}() expression: property is not compatible with operator`),s.setOperator(i);const t=o.parametersValues[1];return r||!t?s.setRightConditionValue(void 0):t instanceof KE?s.setRightConditionValue(new WSi(s,new nSi(e.queryBuilderState,t))):s.setRightConditionValue(new zSi(s,Edt(t,s.filterState.queryBuilderState.observerContext))),i.isCompatibleWithFilterConditionValue(s)||s.setRightConditionValue(new zSi(s,i.getDefaultFilterConditionValue(s))),s}};class hDi extends cDi{getLabel(){return"is"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)||t instanceof RS&&t.values.length>0}isCompatibleWithFilterConditionValue(e){return ydt(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return qCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildFilterConditionExpression(e,t){return dDi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?$ct.IS_ON_DAY:$ct.EQUAL,t)}buildFilterConditionState(e,t){return uDi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?$ct.IS_ON_DAY:$ct.EQUAL,this)}get hashCode(){return $v([wdt.FILTER_OPERATOR_EQUAL])}}class pDi extends hDi{getLabel(){return"is not"}buildFilterConditionExpression(e,t){return mdt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=gdt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return $v([wdt.FILTER_OPERATOR_NOT_EQUAL])}}class gDi extends cDi{getLabel(){return"is in list of"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.STRING,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)||t instanceof RS}isCompatibleWithFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType,n=e.rightConditionValue;if(n instanceof zSi){const i=n.value;if(i instanceof VE){if(0===i.values.length)return!0;const n=hdt(e.filterState.queryBuilderState.graphManagerState.graph,i.values);return!!n&&([TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)?[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(n.path):n===t)}if(i instanceof ME)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return new VE(nS.ONE,yS.create(new ES(t)))}buildFilterConditionExpression(e,t){return dDi(e,$ct.IN,t)}buildFilterConditionState(e,t){return uDi(e,t,$ct.IN,this)}get hashCode(){return $v([wdt.FILTER_OPERATOR_IN])}}class mDi extends gDi{getLabel(){return"is not in list of"}buildFilterConditionExpression(e,t){return mdt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=gdt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return $v([wdt.FILTER_OPERATOR_NOT_IN])}}class fDi extends cDi{getLabel(){return"is empty"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return!!fdt(e.propertyExpressionState.propertyExpression)&&(t instanceof RS||t instanceof gS)}isCompatibleWithFilterConditionValue(e){return void 0===e.rightConditionValue}getDefaultFilterConditionValue(e){}buildFilterConditionExpression(e,t){return dDi(e,$ct.IS_EMPTY,t)}buildFilterConditionState(e,t){return uDi(e,t,$ct.IS_EMPTY,this,!0)}get hashCode(){return $v([wdt.FILTER_OPERATOR_IS_EMPTY])}}class yDi extends fDi{getLabel(){return"is not empty"}buildFilterConditionExpression(e,t){return mdt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=gdt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return $v([wdt.FILTER_OPERATOR_IS_NOT_EMPTY])}}const vDi=e=>{try{return sDi(e,{language:"mysql"})}catch{try{return sDi(e)}catch{return e}}},_Di=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},bDi=new hDi,CDi=new pDi,SDi=new gDi,EDi=new mDi,wDi=new fDi,xDi=new yDi,TDi=new VEi,ADi=new MEi,NDi=new FEi,RDi=new BEi,IDi=new UEi,DDi=new PEi,kDi=(e,t,n)=>{t.value&&adt(e,e instanceof BE?BS.create(Gs((e.genericType?.ownerReference.value).values.filter(e=>e.name===t.value)[0])):t.value,0,n.observerContext)},ODi=(e,t,n,i,r,s)=>{s.filterState.setShowPanel(!0);const o=((e,t)=>e?null===t.value?wDi:bDi:null===t.value?xDi:CDi)(t,n),a=((e,t,n)=>Array.from(n.nodes.values()).filter(zs(QSi)).filter(n=>n.condition.propertyExpressionState.path===t?.path&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[wDi,xDi]:t?[bDi,SDi]:[CDi,EDi],r,s.filterState);if(a)((e,t,n,i,r,s)=>{if(i===wDi||i===xDi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?wDi:xDi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof zSi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof PE&&(a.value instanceof BE?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);kDi(i,n,s),o.changeOperator(t?SDi:EDi),ldt(a.value,[e,i],s.observerContext)}}else{const e=a.value instanceof PE&&a.value.values.filter(e=>e instanceof PE).map(e=>e instanceof BE?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?bDi:CDi).getDefaultFilterConditionValue(o);kDi(e,n,s),ldt(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 jSi(i,r,t);const e=s.operator.getDefaultFilterConditionValue(s);s.buildRightConditionValueFromValueSpec(e),kDi(e,n,i.queryBuilderState),i.addNodeFromNode(new QSi(void 0,s),void 0)}}catch(t){return Kr(t),void e.notificationService.notifyWarning(t.message)}})(e,o,n,s.filterState,r.propertyExpression)}catch(t){Kr(t),e.alertUnhandledError(t)}},LDi=async(e,t,n,i,r,s)=>{s.setShowPostFilterPanel(!0);const o=((e,t)=>e?null===t.value?NDi:TDi:null===t.value?RDi:IDi)(t,n),a=((e,t,n,i)=>Array.from(n.nodes.values()).filter(zs(NEi)).filter(e=>e.condition.leftConditionValue instanceof oSi).filter(n=>n.condition.leftConditionValue.columnName===(t??i?.columnName)&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[NDi,RDi]:t?[TDi,ADi]:[IDi,DDi],n.columnName,s.postFilterState,r);if(a)((e,t,n,i,r,s)=>{if(i===NDi||i===RDi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?NDi:RDi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof DEi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof PE&&(a.value instanceof BE?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);kDi(i,n,s.queryBuilderState),o.changeOperator(t?ADi:DDi),ldt(a.value,[e,i],s.queryBuilderState.observerContext)}}else{const e=a.value instanceof PE&&a.value.values.filter(e=>e instanceof PE).map(e=>e instanceof BE?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?TDi:IDi).getDefaultFilterConditionValue(o);kDi(e,n,s.queryBuilderState),ldt(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 OEi(i.postFilterState,e,t),r instanceof cSi&&await r.fetchDerivationLambdaReturnType();const o=s.operator.getDefaultFilterConditionValue(s);s.buildFromValueSpec(o),kDi(o,n,i.queryBuilderState),i.postFilterState.addNodeFromNode(new NEi(void 0,s),void 0)}}catch(t){return Kr(t),void e.notificationService.notifyWarning(t.message)}})(e,o,n,s,r)}catch(t){Kr(t),e.alertUnhandledError(t)}},MDi=async(e,t,n,i,r)=>{const s=i?.columnName||n.columnName?NSi(r,n.columnName):void 0;s instanceof cSi||s instanceof uSi||s instanceof aSi&&GSi(s.propertyExpressionState.propertyExpression)?await LDi(e,t,n,i,s,r):s instanceof aSi?ODi(e,t,n,i,s.propertyExpressionState,r.queryBuilderState):e.notificationService.notifyError(`Can't filter column '${i?.columnName?i.columnName:n.columnName}'`)},PDi=async(e,t,n,i)=>{for(const r of i.queryBuilderState.resultState.selectedCells)await MDi(e,n,r,t,i)},FDi=Vse(n.forwardRef(function(e,t){const{data:n,tdsState:i,copyCellValueFunc:r,copyCellRowValueFunc:s}=e,o=Wat(),a=n?.columnName?NSi(i,n.columnName):void 0;return Yne.jsxs(XOe,{ref:t,children:[Yne.jsx(QOe,{disabled:!a,onClick:()=>{PDi(o,n,!0,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter By"}),Yne.jsx(QOe,{disabled:!a,onClick:()=>{PDi(o,n,!1,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter Out"}),Yne.jsx(ZOe,{}),Yne.jsx(QOe,{onClick:r,children:"Copy Cell Value"}),Yne.jsx(QOe,{onClick:s,children:"Copy Row Value"})]})})),BDi=Vse(e=>{const{query:t,resultColumns:n,executionPlanState:i}=e,r=i.applicationStore;return Yne.jsxs(Yne.Fragment,{children:[Yne.jsxs("div",{className:"query-builder__sql__container",children:[Yne.jsx(mLe,{}),Yne.jsxs("div",{children:[Yne.jsx("div",{className:"query-builder__sql__container__item__label",children:Yne.jsxs(pLe,{children:["SQL",Yne.jsx("div",{children:Yne.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:Yne.jsx(cre,{})})})]})}),Yne.jsx("div",{className:"query-builder__sql__container__code-editor",children:Yne.jsx(ETi,{inputValue:vDi(t.replaceAll("$","changeDollar").replaceAll("?","changeQuestion").replaceAll("{","changeOpenCurlyBracket").replaceAll("}","changeCloseCurlyBracket").replaceAll("'","changeSingleQuote")).replaceAll("changeDollar","$").replaceAll("changeQuestion","?").replaceAll("changeOpenCurlyBracket","{").replaceAll("changeCloseCurlyBracket","}").replaceAll("changeSingleQuote","'"),language:dAn.SQL})}),Yne.jsx(mLe,{})]},t)]}),n.length>0&&Yne.jsx("div",{className:"query-builder__sql__container",children:Yne.jsxs("div",{children:[Yne.jsx(pLe,{className:"query-builder__sql__container__item__label",children:"Result Columns"}),Yne.jsx(mLe,{}),Yne.jsxs("table",{className:"query-builder__sql__container__table table",children:[Yne.jsx("thead",{children:Yne.jsxs("tr",{children:[Yne.jsx("th",{className:"table__cell--left",children:"Label"}),Yne.jsx("th",{className:"table__cell--left",children:"Data Type"})]})}),Yne.jsx("tbody",{children:n.map(e=>Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:e.label.replaceAll('"',"")}),e.dataType&&Yne.jsx("td",{className:"table__cell--left",children:SY(e.dataType)})]},e.label))})]})]})})]})}),VDi=Vse(e=>{const{query:t,resultColumns:n,resultType:i,executionPlanState:r,viewJson:s}=e,o=r.applicationStore;return!1===s?Yne.jsx(BDi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}):Yne.jsxs(hLe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Yne.jsx(BDi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}),Yne.jsx(CTi,{resultType:i}),Yne.jsx("div",{className:"query-builder__sql__container",children:Yne.jsx(xCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(Cki.JSON),text:"View JSON"})}),Yne.jsx(mLe,{})]})}),UDi=e=>function(t){const n=e.darkMode?"packageable-element-option-label--dark":"packageable-element-option-label";return Yne.jsxs("div",{className:n,children:[Yne.jsx("div",{className:`${n}__name`,children:t.label}),t.value.package&&Yne.jsx("div",{className:`${n}__tag`,children:t.value.path}),Yne.jsx("div",{className:`${n}__tag`,children:t.value.contentType})]})},GDi=e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r,innerProps:s}=e,{isReadOnly:o,removeNode:a}=s;let l,c,d;t.tree instanceof nw?(l=t.tree.property.value,c=l.genericType.value.rawType,d=t.tree.subType?.value):t.tree instanceof tw&&(c=t.tree.class.value);const u=Boolean(t.childrenIds.length)?t.isOpen?Yne.jsx(Jre,{}):Yne.jsx(tse,{}):Yne.jsx("div",{}),h=c?Hwi(c):Yne.jsx(cwe,{}),p=()=>r?.(t);return Yne.jsxs("div",{className:"tree-view__node__container query-builder-graph-fetch-tree__node__container",style:{paddingLeft:(n-1)*(i??2)+"rem",display:"flex"},children:[Yne.jsxs("div",{className:"query-builder-graph-fetch-tree__node__content",children:[Yne.jsxs("div",{className:"tree-view__node__icon query-builder-graph-fetch-tree__node__icon",children:[Yne.jsx("div",{className:"query-builder-graph-fetch-tree__expand-icon",onClick:p,children:u}),Yne.jsx("div",{className:"query-builder-graph-fetch-tree__type-icon",onClick:p,children:h})]}),Yne.jsxs("div",{className:"tree-view__node__label query-builder-graph-fetch-tree__node__label",onClick:p,children:[t.label,d&&Yne.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type",children:Yne.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type__label",children:d.name})}),Yne.jsx("div",{className:"query-builder-graph-fetch-tree__node__type",children:Yne.jsx("div",{className:"query-builder-graph-fetch-tree__node__type__label",children:c?.name})})]})]}),Yne.jsx("div",{className:"query-builder-graph-fetch-tree__node__actions",children:Yne.jsx("button",{className:"query-builder-graph-fetch-tree__node__action",title:"Remove",tabIndex:-1,onClick:()=>a?.(t),disabled:o,children:Yne.jsx(Wre,{})})})]})},HDi=Vse(e=>{const{pureSerializationState:t,graphFetchState:n,config:i}=e,r=n.queryBuilderState.applicationStore,s=!t.config;return Yne.jsx(pve,{open:t.configModal,onClose:()=>t.setConfigModal(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Yne.jsxs(GOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-builder-graph-fetch-config",children:[Yne.jsx(zOe,{title:""+(s?"Add Serialization Config":"Edit Serialization Config")}),Yne.jsx(jOe,{className:"query-builder-graph-fetch-config__content",children:Yne.jsx(aLe,{children:Yne.jsxs(gLe,{children:[Yne.jsx(vLe,{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}),Yne.jsx(vLe,{name:"Date Time Format",value:i.dateTimeFormat,isReadOnly:!1,update:e=>i.setDateTimeFormat(""===e?void 0:e)}),Yne.jsx(_Le,{name:"Include Type",value:i.includeType,isReadOnly:!1,update:e=>i.setIncludeType(Boolean(e))}),Yne.jsx(_Le,{name:"Include Enum Type",value:i.includeEnumType,isReadOnly:!1,update:e=>i.setInclueEnumType(Boolean(e))}),Yne.jsx(_Le,{name:"Remove Properties With Null Values",value:i.removePropertiesWithNullValues,isReadOnly:!1,update:e=>i.setRemovePropertiesWithNullValues(Boolean(e))}),Yne.jsx(_Le,{name:"Remove properties with empty sets",value:i.removePropertiesWithEmptySets,isReadOnly:!1,update:e=>i.setRemovePropertiesWithEmptySets(Boolean(e))}),Yne.jsx(_Le,{name:"Use Fully Qualified Type Path",value:i.fullyQualifiedTypePath,isReadOnly:!1,update:e=>i.setFullyQualifiedTypePath(Boolean(e))}),Yne.jsx(_Le,{name:"Include Object Reference",value:i.includeObjectReference,isReadOnly:!1,update:e=>i.setIncludeObjectReference(Boolean(e))})]})})}),Yne.jsxs($Oe,{children:[!s&&Yne.jsx(YOe,{className:"btn--caution",text:"Remove Config",onClick:()=>{t.setConfig(void 0),t.setConfigModal(!1),n.queryBuilderState.applicationStore.notificationService.notifySuccess("Serialization config removed")}}),Yne.jsx(YOe,{className:"modal__footer__close-btn",onClick:()=>{s&&t.setConfig(i),t.setConfigModal(!1)},type:s?"primary":"secondary",children:s?"Add Config":"Close"})]})]})})}),zDi=Vse(e=>{const{graphFetchState:t,serializationState:n,serializationTreeData:i,bindings:r,isReadOnly:s}=e,o=r.map(e=>Vwi(e)),a={value:n.targetBinding,label:n.targetBinding.name},l=t.queryBuilderState.applicationStore;return Yne.jsx("div",{className:"query-builder-graph-fetch-external-format",children:Yne.jsxs("div",{className:"service-execution-editor__configuration__items",children:[Yne.jsxs("div",{className:"service-execution-editor__configuration__item",children:[Yne.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:Yne.jsx(Yie,{})}),Yne.jsx(BOe,{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:UDi({darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled}),darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),Yne.jsxs("div",{className:"service-execution-editor__configuration__item",children:[Yne.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:Yne.jsx(Cre,{})}),Yne.jsx(hIe,{components:{TreeNodeContainer:GDi},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(Vs),innerProps:{isReadOnly:s,removeNode:e=>{1===i.nodes.size?t.queryBuilderState.applicationStore.notificationService.notifyWarning("externalize serialization tree can not be empty"):(nTi(i,e),n.setGraphFetchTree({...i}))}}})]})]})})}),WDi=Vse(e=>{const{graphFetchState:t,serializationState:n,treeData:i,updateTreeData:r,isReadOnly:s}=e,o=t.queryBuilderState.graphManagerState.usableStores.filter(zs(IX)).filter(e=>{const n=e.modelUnit.packageableElementIncludes.map(e=>e.value);return n.filter(zs(xS)).map(e=>{return Array.from((n=e,i=t.queryBuilderState.graphManagerState.graph,new Set(i.getPackages(n.path).map(e=>[...Dw(e)]).flat())));var n,i}).flat().concat(n.filter(e=>!(e instanceof xS))).includes(i.tree.class.value)});return Yne.jsxs("div",{className:"query-builder-graph-fetch-tree",children:[Yne.jsxs("div",{className:"query-builder-graph-fetch-tree__toolbar",children:[Yne.jsx("div",{className:"query-builder__fetch__structure__modes",children:Object.values(sTi).map(e=>{return Yne.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:xlt.CAUTION,actions:[{label:"Proceed",type:Tlt.PROCEED_WITH_CAUTION,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>{switch(r){case sTi.EXTERNAL_FORMAT:if(o.length>0&&o[0]){const e=new uTi(t,o[0],void 0);t.setGraphFetchTree(i),e.setGraphFetchTree(On(i)),t.setSerializationState(e)}else t.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't switch to external format serialization: No compatible bindings found");break;case sTi.PURE:default:t.setSerializationState(new dTi(t))}})},{label:"Cancel",type:Tlt.PROCEED,default:!0}]})}),className:zse("query-builder__fetch__structure__mode",{"query-builder__fetch__structure__mode--selected":e===n.getLabel()}),children:qy(e)},e);var r})}),Yne.jsxs("div",{className:"query-builder-graph-fetch-tree__actions",children:[n instanceof dTi&&Yne.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action",children:Yne.jsxs("button",{className:"query-builder-graph-fetch-tree__actions__action-btn__label",onClick:()=>{n instanceof dTi&&n.setConfigModal(!0)},title:""+(n.config?"Edit pure serialization config":"Add pure serialization config"),tabIndex:-1,children:[Yne.jsx(Die,{className:"query-builder-graph-fetch-tree__actions__action-btn__label__icon"}),Yne.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action-btn__label__title",children:n.config?"Edit Config":"Add Config"})]})}),Yne.jsxs("div",{className:zse("panel__content__form__section__toggler"),onClick:()=>t.setChecked(!t.isChecked),children:[Yne.jsx("button",{className:zse("panel__content__form__section__toggler__btn",{"panel__content__form__section__toggler__btn--toggled":t.isChecked}),children:t.isChecked?Yne.jsx(ire,{}):Yne.jsx(Hre,{})}),Yne.jsx("div",{className:"panel__content__form__section__toggler__prompt",children:"Check graph fetch"}),Yne.jsx("div",{className:"query-builder-graph-fetch-tree__toolbar__hint-icon",children:Yne.jsx(Tre,{title:"With this enabled, while executing, violations of constraints will reported as part of the result, rather than causing a failure"})})]})]})]}),Yne.jsxs("div",{className:"query-builder-graph-fetch-tree__container",children:[n instanceof dTi&&n.configModal&&Yne.jsx(HDi,{pureSerializationState:n,graphFetchState:t,config:n.config??lTi.createDefault()}),Yne.jsxs(GFe,{orientation:"horizontal",children:[Yne.jsx(HFe,{children:Yne.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[Yne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:Yne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Graph Fetch Tree"})}),Yne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:Yne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__item",children:Yne.jsx(hIe,{components:{TreeNodeContainer:GDi},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(Vs),innerProps:{isReadOnly:s,removeNode:e=>{nTi(i,e),0===i.nodes.size&&t.setSerializationState(new dTi(t)),n instanceof uTi&&n.treeData?.nodes.get(e.id)&&(nTi(n.treeData,Gs(n.treeData.nodes.get(e.id))),r({...n.treeData})),r({...i})}}})})})]})}),Yne.jsx(zFe,{}),n instanceof uTi&&n.treeData&&Yne.jsx(HFe,{children:Yne.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[Yne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:Yne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Externalize"})}),Yne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:Yne.jsx("div",{className:"query-builder-graph-fetch-external-format_config-group__item",children:Yne.jsx(zDi,{graphFetchState:t,serializationState:n,serializationTreeData:n.treeData,bindings:o,isReadOnly:!1})})})]})})]})]})]})}),jDi=Vse(e=>{const{graphFetchTreeState:t,serializationState:i}=e,r=t.treeData,s=n.useCallback(e=>{t.addProperty(e.node,{refreshTreeData:!0}),i instanceof uTi&&i.addProperty(On(e.node),{refreshTreeData:!0})},[t,i]),[{isDragOver:o},a]=yPe(()=>({accept:[gxi.ENUM_PROPERTY,gxi.PRIMITIVE_PROPERTY],drop:(e,t)=>{t.didDrop()||s(e)},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[s]);return n.useEffect(()=>{Vct.logEvent_RenderGraphFetchPanel(t.queryBuilderState.applicationStore.telemetryService,{serializationType:i.getLabel()})},[t.queryBuilderState.applicationStore,i]),Yne.jsx("div",{"data-testid":Bwi.QUERY_BUILDER_GRAPH_FETCH,className:"panel__content",children:Yne.jsxs(GPe,{isDragOver:o,dropTargetConnector:a,contentClassName:"query-builder-graph-fetch-panel",children:[(!r||Jxi(r))&&Yne.jsx(ELe,{text:"Add a graph fetch property",tooltipText:"Drag and drop properties here"}),r&&!Jxi(r)&&Yne.jsx(WDi,{graphFetchState:t,serializationState:i,treeData:r,isReadOnly:!1,updateTreeData:e=>{t.setGraphFetchTree(e)}})]})})}),$Di=Vse(e=>{const{graphFetchTreeState:t}=e,n=t.serializationState;return n instanceof dTi||n instanceof uTi?Yne.jsx(jDi,{graphFetchTreeState:t,serializationState:n}):Yne.jsx("div",{"data-testid":Bwi.QUERY_BUILDER_GRAPH_FETCH,children:Yne.jsx(CLe,{children:Yne.jsxs("div",{className:"unsupported-element-editor__main",children:[Yne.jsx("div",{className:"unsupported-element-editor__summary",children:"Unsupported Graph Fetch Serialization Type"}),Yne.jsx("button",{className:"btn--dark unsupported-element-editor__to-text-mode__btn",onClick:()=>t.queryBuilderState.textEditorState.openModal(fTi.TEXT),children:"Edit in text mode"})]})})})}),qDi=Vse(e=>{const{storeMappingNode:t,executionPlanState:n}=e;let i;try{t.graphFetchTree instanceof tw?i=Zxi(js(t.graphFetchTree,tw),!0):t.graphFetchTree instanceof nw&&(i=(e=>{const t=[],n=new Map,i=Xxi(e,void 0,n);Co(t,i.id),n.set(i.id,i);const r=new tw(XC.create(new wS("root")));return r.subTrees.push(e),{rootIds:t,nodes:n,tree:r}})(t.graphFetchTree))}catch{}const r=n.applicationStore;return Yne.jsx(hLe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Yne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Yne.jsx(pLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Store Mapping Global Graph Fetch Execution Node Details"}),Yne.jsx(mLe,{}),Yne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Yne.jsx("thead",{children:Yne.jsxs("tr",{children:[Yne.jsx("th",{className:"table__cell--left",children:"Property"}),Yne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Yne.jsxs("tbody",{children:[void 0!==t.parentIndex&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:" ParentIndex"}),Yne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.enableConstraints&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"EnableConstraints"}),Yne.jsx("td",{className:"table__cell--left",children:t.enableConstraints.toString()})]}),void 0!==t.checked&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"Checked"}),Yne.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Yne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.store&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"Store"}),Yne.jsx("td",{className:"table__cell--left",children:t.store})]}),Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"LocalTreeIndices"}),Yne.jsx("td",{className:"table__cell--left",children:`[${t.localTreeIndices.toString()}]`})]}),Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"DependencyIndices"}),Yne.jsx("td",{className:"table__cell--left",children:`[${t.dependencyIndices.toString()}]`})]})]})]}),Yne.jsx(mLe,{}),i&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsx(pLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Graph Fetch Tree"}),Yne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__content",children:Yne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__item",children:Yne.jsx(hIe,{components:{TreeNodeContainer:GDi},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,getChildNodes:e=>e.childrenIds.map(e=>i?i.nodes.get(e):null).filter(Vs),innerProps:{isReadOnly:!0}})})}),Yne.jsx(mLe,{})]}),t.xStorePropertyFetchDetails&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsx(pLe,{className:"query-builder__store-mapping-global-graph-fetch__container__xstore",children:"xStorePropertyFetchDetails"}),Yne.jsx(mLe,{}),Yne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Yne.jsx("thead",{children:Yne.jsxs("tr",{children:[Yne.jsx("th",{className:"table__cell--left",children:"Property"}),Yne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Yne.jsxs("tbody",{children:[Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:" propertyPath "}),Yne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.propertyPath})]}),Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:" sourceMappingId "}),Yne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceMappingId})]}),Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:" sourceSetId "}),Yne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceSetId})]}),Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:" subTree "}),Yne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.subTree})]}),Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:" supportsCaching "}),Yne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.supportsCaching.toString()})]}),Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:" targetMappingId "}),Yne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetMappingId})]}),Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:" targetSetId"}),Yne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetSetId})]}),Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"targetPropertiesOrdered"}),Yne.jsx("td",{className:"table__cell--left",children:`[${t.xStorePropertyFetchDetails.targetPropertiesOrdered.toString()}]`})]})]})]})]}),t.resultType instanceof W2&&Yne.jsx(bTi,{resultType:t.resultType}),Yne.jsx(mLe,{}),Yne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__btn",children:Yne.jsx(xCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Cki.JSON),text:"View JSON"})}),Yne.jsx(mLe,{})]})})}),YDi=Vse(e=>{const{functionParameters:t,resultType:i,executionPlanState:r}=e,s=r.applicationStore;return Yne.jsxs(hLe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Yne.jsx("div",{className:"query-builder__function-parameters-validation__container",children:Yne.jsxs("div",{children:[Yne.jsx(pLe,{className:"query-builder__function-parameters-validation__container__item__label",children:"Variables Details"}),Yne.jsx(mLe,{}),Yne.jsxs("table",{className:"query-builder__function-parameters-validation__container__table table",children:[Yne.jsx("thead",{children:Yne.jsxs("tr",{children:[Yne.jsx("th",{className:"table__cell--left",children:"Name"}),Yne.jsx("th",{className:"table__cell--left",children:"Type"})]})}),Yne.jsx("tbody",{children:t.map(e=>{return Yne.jsx(n.Fragment,{children:Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:e.name}),Yne.jsx("td",{className:"table__cell--left",children:`${e.genericType?.value.rawType.name} ${t=e.multiplicity,t===nS.ZERO?"[0]":t===nS.ONE?"[1]":t===nS.ZERO_ONE?"[0..1]":t===nS.ZERO_MANY||t===nS.ONE_MANY?"[*]":void 0===t.upperBound?`[${t.lowerBound.toString()}.. *]`:`[${t.lowerBound.toString()}..${t.upperBound.toString()}]`}`})]})},e.name);var t})})]})]})}),Yne.jsx(mLe,{}),Yne.jsx(CTi,{resultType:i}),Yne.jsx("div",{className:"query-builder__function-parameters-validation__container",children:Yne.jsx(xCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(Cki.JSON),text:"View JSON"})}),Yne.jsx(mLe,{})]})}),KDi=Vse(e=>{const{cnode:t,executionPlanState:n}=e,i=t.resultType;let r="";const s=n.applicationStore;try{r=eo(t.values)?t.values.value:""}catch{}return Yne.jsxs(hLe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[""!==r&&Yne.jsx("div",{className:"query-builder__constant__container",children:Yne.jsxs("div",{children:[Yne.jsx(pLe,{className:"query-builder__constant__container__item__label",children:"Constant Execution Node Details"}),Yne.jsx(mLe,{}),Yne.jsx("pre",{children:Yne.jsx("div",{className:"query-builder__constant__container__item",children:Yne.jsxs("div",{children:["value: ",r]})})})]})}),Yne.jsx(mLe,{}),Yne.jsx(CTi,{resultType:i}),Yne.jsx("div",{className:"query-builder__constant__container",children:Yne.jsx(xCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Cki.JSON),text:"View JSON"})}),Yne.jsx(mLe,{})]})}),XDi=Vse(e=>{const{node:t,executionPlanState:n}=e,i=t.varName,r=t.resultType,s=t.realizeInMemory?.toString(),o=n.applicationStore;return Yne.jsxs(hLe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Yne.jsx("div",{className:"query-builder__allocation__container",children:Yne.jsxs("div",{children:[Yne.jsx(pLe,{className:"query-builder__allocation__container__item__label",children:"Allocation Node Details"}),Yne.jsx(mLe,{}),Yne.jsx("div",{className:"query-builder__allocation__container__item",children:Yne.jsx("table",{className:"query-builder__allocation__container__table",children:Yne.jsxs("tbody",{children:[Yne.jsxs("tr",{children:[Yne.jsx("td",{children:"varName"}),Yne.jsx("td",{children:`: ${i}`})]}),Yne.jsxs("tr",{children:[Yne.jsx("td",{children:"realizeInMemory"}),Yne.jsx("td",{children:`: ${s}`})]})]})})})]})}),Yne.jsx(mLe,{}),Yne.jsx(CTi,{resultType:r}),Yne.jsx(mLe,{}),t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof q1&&Yne.jsx(KDi,{cnode:t.executionNodes[0],executionPlanState:n}),Yne.jsx(mLe,{})]})}),QDi=Vse(e=>{const{node:t,executionPlanState:i,viewJson:r}=e,s=t.resultType,[o,a]=n.useState(void 0),l=r?Yne.jsx("div",{}):o?Yne.jsx(Jre,{}):Yne.jsx(tse,{});return Yne.jsxs(Yne.Fragment,{children:[Yne.jsx("div",{className:"query-builder__sequence__container",children:Yne.jsxs("div",{children:[Yne.jsx(pLe,{className:"query-builder__sequence__container__item__label",children:"Execution Nodes"}),Yne.jsx(mLe,{}),t.executionNodes.map((e,t)=>Yne.jsx("div",{className:"query-builder__sequence__container__item",children:Yne.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 yki?i.transformMetadataToProtocolJson(t.executionPlan):t instanceof vki&&i.transformMetadataToProtocolJson(t.executionNode),t&&i.setSelectedNode(t))})(e),tabIndex:-1,title:`Go to ${cki(e)}`,children:[!r&&l,`${t+1}: ${cki(e)}`]})},e._UUID))]})}),Yne.jsx(mLe,{}),Yne.jsx(CTi,{resultType:s}),!1===r&&o&&Yne.jsx(pki,{executionNode:o,executionPlanState:i,viewJson:!1})]})}),ZDi=Vse(e=>{const{node:t,executionPlanState:n,viewJson:i}=e,r=n.applicationStore;return!1===i?Yne.jsx(QDi,{node:t,executionPlanState:n,viewJson:i}):Yne.jsxs(hLe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Yne.jsx(QDi,{node:t,executionPlanState:n,viewJson:i}),Yne.jsx("div",{className:"query-builder__execution__container",children:Yne.jsx(xCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Cki.JSON),text:"View JSON"})}),Yne.jsx(mLe,{})]})}),JDi=Vse(e=>{const{node:t,executionPlanState:n}=e,i=t.resultType,r=n.applicationStore;return Yne.jsxs(hLe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof dY&&Yne.jsx(BDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:n}),Yne.jsx(mLe,{}),Yne.jsx(CTi,{resultType:i}),Yne.jsx("div",{className:"query-builder__sql__container",children:Yne.jsx(xCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Cki.JSON),text:"View JSON"})}),Yne.jsx(mLe,{})]})}),eki=Vse(e=>{const{node:t,executionPlanState:n}=e;return Yne.jsxs(Yne.Fragment,{children:[Yne.jsx(pLe,{className:"query-builder__implementation__container__header",children:"Implementation"}),t.implementation instanceof C2&&t.implementation.executionClassFullName&&Yne.jsx("div",{className:"query-builder__implementation__container__item",children:Yne.jsx("button",{onClick:()=>{n.setSelectedNode(n.treeData?.nodes.get("Execution Plan")),n.transformMetadataToProtocolJson(js(n.plan,R5,"Execution plan is undefined")),n.globalImplementationSupportState.setSelectedTab(Ski.GLOBAL_IMPLEMENTATION_SUPPORT),t.implementation instanceof C2&&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 tki;!function(e){e.RESULT_SET="resultSet",e.TEMP_FILE="tempFile",e.SUB_QUERY="subQuery"}(tki||(tki={}));const nki=Vse(e=>{const{tempTableStrategy:t,executionPlanState:n}=e;let i="";return t instanceof t4?i=tki.RESULT_SET:t instanceof o4&&(i=tki.TEMP_FILE),t instanceof r4&&(i=tki.SUB_QUERY),Yne.jsxs("div",{className:"query-builder__temp-table-strategy__container",children:[i&&Yne.jsxs(pLe,{className:"query-builder__temp-table-strategy__container__item",children:["Type: ",i]}),Yne.jsx(pLe,{className:"query-builder__temp-table-strategy__container__header",children:`Create Temp Table (${cki(t.createTempTableNode)})`}),Yne.jsx(pki,{executionNode:t.createTempTableNode,executionPlanState:n,viewJson:!1}),Yne.jsx(mLe,{}),Yne.jsx(pLe,{className:"query-builder__temp-table-strategy__container__header",children:`Load Temp Table (${cki(t.loadTempTableNode)})`}),Yne.jsx(pki,{executionNode:t.loadTempTableNode,executionPlanState:n,viewJson:!1}),Yne.jsx(mLe,{}),Yne.jsx(pLe,{className:"query-builder__temp-table-strategy__container__header",children:`Drop Temp Table (${cki(t.dropTempTableNode)})`}),Yne.jsx(pki,{executionNode:t.dropTempTableNode,executionPlanState:n,viewJson:!1}),Yne.jsx(mLe,{})]})});var iki;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(iki||(iki={}));const rki=Vse(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(iki.GENERAL);return Yne.jsx(hLe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Yne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Yne.jsxs("div",{className:"panel",children:[Yne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Yne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(iki).map(e=>Yne.jsx("div",{onClick:()=>o(e),className:zse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:qy(e)},e))})}),s===iki.GENERAL&&Yne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Yne.jsx(pLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Root Query Temp Table Graph Fetch Execution Node Details"}),Yne.jsx(mLe,{}),Yne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Yne.jsx("thead",{children:Yne.jsxs("tr",{children:[Yne.jsx("th",{className:"table__cell--left",children:"Property"}),Yne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Yne.jsxs("tbody",{children:[Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),Yne.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),Yne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.batchSize&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"Batch Size"}),Yne.jsx("td",{className:"table__cell--left",children:t.batchSize})]}),t.checked&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"Checked"}),Yne.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Yne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),Yne.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"tempTableName"}),Yne.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),Yne.jsx(mLe,{}),Yne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:Yne.jsx(eki,{node:t,executionPlanState:i})}),Yne.jsx(mLe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof dY&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsx(pLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),Yne.jsx(mLe,{}),Yne.jsx(BDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),Yne.jsx(mLe,{}),Yne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Yne.jsx(CTi,{resultType:t.resultType})}),Yne.jsx(mLe,{}),Yne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Yne.jsx(xCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(Cki.JSON),text:"View JSON"})})]}),s===iki.TEMP_TABLE&&t.tempTableStrategy&&Yne.jsx(nki,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var ski;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(ski||(ski={}));const oki=Vse(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(ski.GENERAL);return Yne.jsx(hLe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Yne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Yne.jsxs("div",{className:"panel",children:[Yne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Yne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(ski).map(e=>Yne.jsx("div",{onClick:()=>o(e),className:zse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:qy(e)},e))})}),s===ski.GENERAL&&Yne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Yne.jsx(pLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Class Query Temp Table Graph Fetch Execution Node Details"}),Yne.jsx(mLe,{}),Yne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Yne.jsx("thead",{children:Yne.jsxs("tr",{children:[Yne.jsx("th",{className:"table__cell--left",children:"Property"}),Yne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Yne.jsxs("tbody",{children:[Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),Yne.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),t.parentIndex&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),Yne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),t.authDependent&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Yne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.processedTempTableName&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),Yne.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"tempTableName"}),Yne.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),Yne.jsx(mLe,{}),Yne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:Yne.jsx(eki,{node:t,executionPlanState:i})}),Yne.jsx(mLe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof dY&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsx(pLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),Yne.jsx(mLe,{}),Yne.jsx(BDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),Yne.jsx(mLe,{}),Yne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Yne.jsx(CTi,{resultType:t.resultType})}),Yne.jsx(mLe,{}),Yne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Yne.jsx(xCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(Cki.JSON),text:"View JSON"})})]}),s===ski.TEMP_TABLE&&t.tempTableStrategy&&Yne.jsx(nki,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var aki;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE_STRATEGY="TEMP_TABLE_STRATEGY",e.PARENT_TEMP_TABLE_STRATEGY="PARENT_TEMP_TABLE_STRATEGY"}(aki||(aki={}));const lki=Vse(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(aki.GENERAL);return Yne.jsx(hLe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Yne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Yne.jsxs("div",{className:"panel",children:[Yne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Yne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(aki).map(e=>Yne.jsx("div",{onClick:()=>o(e),className:zse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:qy(e)},e))})}),s===aki.GENERAL&&Yne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Yne.jsx(pLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Cross Root Query Temp Table Graph Fetch Execution Node Details"}),Yne.jsx(mLe,{}),Yne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Yne.jsx("thead",{children:Yne.jsxs("tr",{children:[Yne.jsx("th",{className:"table__cell--left",children:"Property"}),Yne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Yne.jsxs("tbody",{children:[Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),Yne.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),Yne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.authDependent&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Yne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),Yne.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"tempTableName"}),Yne.jsx("td",{className:"table__cell--left",children:t.tempTableName})]}),void 0!==t.processedParentTempTableName&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"processedParentTempTableName"}),Yne.jsx("td",{className:"table__cell--left",children:t.processedParentTempTableName})]}),t.parentTempTableName&&Yne.jsxs("tr",{children:[Yne.jsx("td",{className:"table__cell--left",children:"parentTempTableName"}),Yne.jsx("td",{className:"table__cell--left",children:t.parentTempTableName})]})]})]}),Yne.jsx(mLe,{}),Yne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:Yne.jsx(eki,{node:t,executionPlanState:i})}),Yne.jsx(mLe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof dY&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsx(pLe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),Yne.jsx(mLe,{}),Yne.jsx(BDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),Yne.jsx(mLe,{}),Yne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Yne.jsx(CTi,{resultType:t.resultType})}),Yne.jsx(mLe,{}),Yne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Yne.jsx(xCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(Cki.JSON),text:"View JSON"})})]}),s===aki.TEMP_TABLE_STRATEGY&&t.tempTableStrategy&&Yne.jsx(nki,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i}),s===aki.PARENT_TEMP_TABLE_STRATEGY&&t.parentTempTableStrategy&&Yne.jsx(nki,{tempTableStrategy:t.parentTempTableStrategy,executionPlanState:i})]})})})}),cki=e=>e instanceof dY?"SQL Execution Node":e instanceof pY?"Relational TDS Instantiation Execution Node":e instanceof z1?"Function Parameters Validation Node":e instanceof $1?`Allocation Execution Node (${e.varName})`:e instanceof q1?"Constant Execution Node":e instanceof Y1?"Sequence Execution Node":e instanceof A2?"Store Mapping Global Graph Fetch Execution Node":e instanceof F2?"Relational Root Query TempTable Graph Fetch Execution Node":e instanceof l4?"Relational Cross Root Query TempTable Graph Fetch Execution Node":e instanceof k2?"Relational Class Query TempTable Graph Fetch Execution Node":e instanceof V2?"Pure Expression Platform Execution Node":"Other",dki=Vse(e=>{const{executionPlanState:t}=e,n=t.plan?.globalImplementationSupport,i=t.plan?.processingTemplateFunctions??[],r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return n&&n instanceof C2&&(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}`)),Yne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Yne.jsxs("div",{className:"panel",children:[Yne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Yne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(Ski).map(e=>Yne.jsx("div",{onClick:()=>t.globalImplementationSupportState.setSelectedTab(e),className:zse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===t.globalImplementationSupportState.selectedTab}),children:qy(e)},e))})}),t.globalImplementationSupportState.selectedTab===Ski.GLOBAL_IMPLEMENTATION_SUPPORT&&n&&n instanceof C2&&Yne.jsxs(GFe,{orientation:"vertical",children:[Yne.jsx(HFe,{minSize:30,size:400,children:Yne.jsx(hLe,{darkMode:r,className:"query-builder__java__container__panel",children:Yne.jsx("div",{className:"query-builder__java__container",children:Yne.jsxs("div",{children:[n.classes.map(e=>Yne.jsx("div",{className:zse("query-builder__java__container__item",{"query-builder__java__container__item--active":`${e.package}.${e.name}`===t.globalImplementationSupportState.selectedJavaClass}),children:Yne.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)),Yne.jsx(mLe,{})]})})})}),Yne.jsx(zFe,{children:Yne.jsx(WFe,{color:"var(--color-dark-grey-200)"})}),Yne.jsx(HFe,{children:t.globalImplementationSupportState.selectedJavaClass&&Yne.jsx(ETi,{inputValue:n.classes.reduce((e,n)=>t.globalImplementationSupportState.selectedJavaClass===`${n.package}.${n.name}`?n.source:e,""),isReadOnly:!0,language:dAn.JAVA,hideMinimap:!0})})]}),t.globalImplementationSupportState.selectedTab===Ski.GENERAL&&i.length>0&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsx("div",{className:"query-builder__template--function--editor__header",children:`AuthDependent: ${t.plan?.authDependent.toString()}`}),Yne.jsx("div",{className:"query-builder__template--function--editor__title",children:"Template Functions"}),Yne.jsx("div",{className:"query-builder__template--function--editor__code",children:Yne.jsx(ETi,{inputValue:i.reduce((e,t)=>`${e}${t}\n`,""),isReadOnly:!0,language:dAn.XML,hideMinimap:!0,hideActionBar:!0})}),Yne.jsx("div",{className:"query-builder__template--function--editor__json",children:Yne.jsx(xCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>t.setViewMode(Cki.JSON),text:"View JSON"})})]})]})})}),uki=Vse(e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r}=e,s=Boolean(t.childrenIds?.length)?t.isOpen?Yne.jsx(Jre,{}):Yne.jsx(tse,{}):Yne.jsx("div",{});let o="",a="";return t instanceof vki&&("Store Mapping Global Graph Fetch Execution Node"===t.parentNodeId&&(t.executionNode instanceof A2?o="Cross":t.executionNode instanceof R2&&(o="Local")),a=(e=>{if(e instanceof A2||e instanceof R2){if(e.graphFetchTree instanceof tw)return e.graphFetchTree.class.value.name;if(e.graphFetchTree instanceof nw)return e.graphFetchTree.property.value.name}return""})(t.executionNode)),Yne.jsxs("div",{className:zse("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:[Yne.jsx("div",{className:"tree-view__node__icon",children:Yne.jsx("div",{className:"tree-view__node__expand-icon",children:s})}),""!==o&&Yne.jsx("div",{className:"execution-plan-viewer__node__sub-type",children:Yne.jsx("div",{className:"execution-plan-viewer__node__sub-type__label",children:o})}),""!==a&&Yne.jsx("div",{className:"execution-plan-viewer__node__type",children:Yne.jsx("div",{className:"execution-plan-viewer__node__type__label",children:a})}),Yne.jsx("button",{className:"tree-view__node__label execution-plan-viewer__explorer-tree__node__label",tabIndex:-1,title:t.id,children:t.label})]})}),hki=Vse(e=>{const{executionPlanState:t}=e,n=e=>{if(e.childrenIds?.length)if(e.setIsOpen(!e.isOpen),e instanceof yki){const n=e.executionPlan.rootExecutionNode,i=_ki(n,cki(n),e);t.setTreeNode(i.id,i)}else if(e instanceof vki){if(e.executionNode.executionNodes.length>0&&e.executionNode.executionNodes.forEach(n=>{const i=_ki(n,cki(n),e);t.setTreeNode(i.id,i)}),e.executionNode instanceof A2){const n=e.executionNode.localGraphFetchExecutionNode,i=_ki(n,cki(n),e);t.setTreeNode(i.id,i),e.executionNode.children.forEach(n=>{const i=_ki(n,cki(n),e);t.setTreeNode(i.id,i)})}e.executionNode instanceof I2&&e.executionNode.children.forEach(n=>{const i=_ki(n,cki(n),e);t.setTreeNode(i.id,i)})}t.refreshTreeData()};return Yne.jsx(hIe,{components:{TreeNodeContainer:uki},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(Vs);return n},onNodeSelect:e=>{e instanceof yki?t.transformMetadataToProtocolJson(e.executionPlan):e instanceof vki&&t.transformMetadataToProtocolJson(e.executionNode),!0===e.isOpen&&!1===e.isSelected||n(e),t.setSelectedNode(e)},innerProps:{onNodeExpand:n}})}),pki=Vse(e=>{const{executionNode:t,executionPlanState:n,viewJson:i}=e;return t instanceof dY?Yne.jsx(VDi,{query:t.sqlQuery,resultColumns:t.resultColumns,resultType:t.resultType,executionPlanState:n,viewJson:i}):t instanceof pY?Yne.jsx(JDi,{node:t,executionPlanState:n}):t instanceof z1?Yne.jsx(YDi,{functionParameters:t.functionParameters,parameterValidationContext:t.parameterValidationContext,executionPlanState:n,resultType:t.resultType}):t instanceof $1?Yne.jsx(XDi,{node:t,executionPlanState:n}):t instanceof q1?Yne.jsx(KDi,{cnode:t,executionPlanState:n}):t instanceof Y1?Yne.jsx(ZDi,{node:t,executionPlanState:n,viewJson:i}):t instanceof A2?Yne.jsx(qDi,{storeMappingNode:t,executionPlanState:n}):t instanceof l4?Yne.jsx(lki,{node:t,executionPlanState:n}):t instanceof F2?Yne.jsx(rki,{node:t,executionPlanState:n}):t instanceof k2?Yne.jsx(oki,{node:t,executionPlanState:n}):Yne.jsx(CLe,{children:Yne.jsxs("div",{className:"execution-node-viewer__unsupported-view",children:[Yne.jsx("div",{className:"execution-node-viewer__unsupported-view__summary",children:"Can't display execution node"}),Yne.jsx("button",{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Cki.JSON),children:"View JSON"})]})})}),gki=Vse(e=>{const{displayData:t,executionPlanState:i}=e;let r;void 0!==i.selectedNode&&(i.selectedNode instanceof yki?r=i.selectedNode.executionPlan:i.selectedNode instanceof vki&&(r=i.selectedNode.executionNode)),n.useEffect(()=>{if(void 0===i.selectedNode){const e=i.treeData?.nodes.get("Execution Plan");e instanceof yki&&(i.transformMetadataToProtocolJson(e.executionPlan),i.setSelectedNode(e))}},[i]);const s=Object.values(Cki);return Yne.jsx("div",{className:"execution-plan-viewer__panel",children:void 0!==i.selectedNode&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsxs("div",{className:"panel__header execution-plan-viewer__panel__header",children:[Yne.jsx("div",{className:"execution-plan-viewer__panel__header__tabs",children:Yne.jsx("button",{className:"execution-plan-viewer__panel__header__tab execution-plan-viewer__panel__header__tab--active",children:i.selectedNode.label})}),Yne.jsx(nLe,{className:"execution-plan-viewer__panel__view-mode__type",title:"View as...",content:Yne.jsx(XOe,{className:"execution-plan-viewer__panel__view-mode__options execution-plan-viewer__panel__view-mode__options--with-group",children:Yne.jsxs("div",{className:"execution-plan-viewer__panel__view-mode__option__group execution-plan-viewer__panel__view-mode__option__group--native",children:[Yne.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__name",children:"native"}),Yne.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__options",children:s.map(e=>Yne.jsx(QOe,{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:Yne.jsx("div",{className:"execution-plan-viewer__panel__view-mode__type__label",children:i.viewMode})})]}),Yne.jsxs("div",{className:"panel__content execution-plan-viewer__panel__content",children:[i.viewMode===Cki.JSON&&Boolean(t)&&Yne.jsx(ETi,{inputValue:t,isReadOnly:!0,language:dAn.JSON,hideMinimap:!0}),i.viewMode===Cki.FORM&&Yne.jsxs(Yne.Fragment,{children:[r instanceof cY&&Yne.jsx(pki,{executionNode:r,executionPlanState:i,viewJson:!0}),r instanceof R5&&Yne.jsx(dki,{executionPlanState:i})]})]})]})})}),mki=Vse(e=>{const{executionPlanState:t,rawPlan:n}=e,i=t.plan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return Yne.jsx("div",{className:"execution-plan-viewer__content",children:i?Yne.jsxs(GFe,{orientation:"vertical",children:[Yne.jsx(HFe,{size:300,minSize:300,children:Yne.jsxs("div",{className:"panel execution-plan-viewer__explorer",children:[Yne.jsx(cLe,{darkMode:r,title:"execution plan explorer"}),Yne.jsx("div",{className:"panel__content execution-plan-viewer__explorer__content__container",children:Yne.jsx(hki,{executionPlanState:t,executionPlan:i})})]})}),Yne.jsx(zFe,{children:Yne.jsx(WFe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),Yne.jsx(HFe,{children:Yne.jsx(gki,{displayData:t.displayData,executionPlanState:t})})]}):Yne.jsx(ETi,{inputValue:JSON.stringify(n,void 0,2),isReadOnly:!0,language:dAn.JSON})})}),fki=Vse(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(Ski.GENERAL),t.globalImplementationSupportState.setSelectedJavaClass(void 0)},i=t.rawPlan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return i?Yne.jsx(pve,{open:Boolean(t.rawPlan),onClose:n,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Yne.jsxs(GOe,{className:"editor-modal",darkMode:r,children:[Yne.jsx(zOe,{title:"Execution Plan"}),Yne.jsx(jOe,{children:t.debugText?Yne.jsxs(GFe,{orientation:"horizontal",children:[Yne.jsx(HFe,{minSize:100,children:Yne.jsx(mki,{executionPlanState:t,rawPlan:i})}),Yne.jsx(zFe,{children:Yne.jsx(WFe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),Yne.jsx(HFe,{size:200,minSize:28,children:Yne.jsxs(aLe,{className:"panel execution-plan-viewer__debug-panel",children:[Yne.jsx(lLe,{title:"DEBUG LOG",keepTitleFormat:!0,darkMode:r}),Yne.jsx(hLe,{children:Yne.jsx(ETi,{inputValue:t.debugText,isReadOnly:!0,language:dAn.TEXT})})]})})]}):Yne.jsx(mki,{executionPlanState:t,rawPlan:i})}),Yne.jsx($Oe,{children:Yne.jsx(YOe,{onClick:n,text:"Close",type:"secondary"})})]})}):null});class yki{id;label;isSelected;isOpen;childrenIds;executionPlan;constructor(e,t,n){Hh(this,{isSelected:ru,isOpen:ru,setIsSelected:hh,setIsOpen:hh}),this.id=e,this.label=t,this.executionPlan=n}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}}class vki{id;label;isSelected;isOpen;childrenIds;executionNode;parentNodeId;constructor(e,t,n,i){Hh(this,{isSelected:ru,isOpen:ru,setIsSelected:hh,setIsOpen:hh}),this.id=e,this.label=t,this.executionNode=n,this.parentNodeId=i}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}}const _ki=(e,t,n)=>{const i=new vki(e._UUID,t,e,n instanceof vki?cki(n.executionNode):void 0),r=[];return e.executionNodes.slice().filter(zs(cY)).forEach(e=>{Co(r,e._UUID)}),e instanceof A2&&(Co(r,e.localGraphFetchExecutionNode._UUID),e.children.slice().filter(zs(cY)).forEach(e=>{Co(r,e._UUID)})),e instanceof I2&&e.children.slice().filter(zs(cY)).forEach(e=>{Co(r,e._UUID)}),i.childrenIds=r,i},bki=e=>{const t=[],n=new Map,i=(e=>{const t=new yki("Execution Plan","Execution Plan",e),n=[],i=e.rootExecutionNode._UUID;return Co(n,i),t.childrenIds=n,t})(e);return Co(t,i.id),n.set(i.id,i),{rootIds:t,nodes:n}};var Cki,Ski;!function(e){e.FORM="Form",e.JSON="JSON"}(Cki||(Cki={})),function(e){e.GENERAL="GENERAL",e.GLOBAL_IMPLEMENTATION_SUPPORT="GLOBAL_IMPLEMENTATION_SUPPORT"}(Ski||(Ski={}));class Eki{selectedTab=Ski.GENERAL;selectedJavaClass=void 0;constructor(){Hh(this,{selectedTab:ru,selectedJavaClass:ru,setSelectedTab:hh,setSelectedJavaClass:hh})}setSelectedTab(e){this.selectedTab=e}setSelectedJavaClass(e){this.selectedJavaClass=e}}class wki{applicationStore;graphManagerState;displayDataJson={};displayData="";selectedNode=void 0;viewMode=Cki.FORM;treeData;rawPlan;plan;debugText;globalImplementationSupportState=new Eki;constructor(e,t){Hh(this,{displayData:ru,displayDataJson:ru,viewMode:ru,rawPlan:ru,plan:ru,debugText:ru,treeData:ru,setExecutionPlanDisplayData:hh,setExecutionPlanDisplayDataJson:hh,transformMetadataToProtocolJson:hh,setSelectedNode:hh,setRawPlan:hh,setPlan:hh,setViewMode:hh,setDebugText:hh,setTreeNode:hh,setTreeData:hh,refreshTreeData:hh,nonNullableTreeData:lu,initialize:hh,globalImplementationSupportState:ru}),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 Gs(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(bki(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 R5){const t=this.graphManagerState.graphManager.serializeExecutionPlan(e);this.setExecutionPlanDisplayDataJson(t)}else if(e instanceof cY){const t=this.graphManagerState.graphManager.serializeExecutionNode(e);this.setExecutionPlanDisplayDataJson(t)}}}const xki=e=>Yne.jsxs("div",{"data-testid":Bwi.QUERY_BUILDER_RESULT_GRID_CUSTOM_HEADER,className:"query-builder__result__values__table__custom-header",children:[Yne.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:Yne.jsx(Aie,{})}),Yne.jsx("div",{children:e.displayName})]}),Tki=(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>4}return!1}));switch(t){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:return r(i)?{headerComponentParams:{innerHeaderComponent:xki}}:{};default:return{}}}return{}},Aki=Vse(e=>{const t=e.resultState,n=e.tdsExecutionResult,i=t.queryBuilderState.fetchStructureState.implementation,r=t.queryBuilderState.applicationStore,s=e.value,o=Gs(e.node.rowIndex),a=!r.layoutService.TEMPORARY__isLightColorThemeEnabled,l=Xs(s)&&ag(s)?s:void 0,c=e.column?.getColId()??"",d=(e,t)=>({rowIndex:t,colIndex:n.result.columns.findIndex(t=>t===e)}),u=d(c,o),h=t.selectedCells.some(e=>e.coordinates.colIndex===u.colIndex&&e.coordinates.rowIndex===u.rowIndex),p=e=>{if(t.executionResult&&t.executionResult instanceof jQ)return t.executionResult.result.columns[e]},g=n=>{const i=n[0],r=n[1];if(t.executionResult&&t.executionResult instanceof jQ)return"asc"===e.api.getColumnState()[r]?.sort?t.executionResult.result.rows.sort((e,t)=>YQ(e,t,r)):"desc"===e.api.getColumnState()[r]?.sort&&t.executionResult.result.rows.sort((e,t)=>YQ(t,e,r)),t.executionResult.result.rows[i]?.values[r]},m=e=>{if(e.preventDefault(),e.shiftKey){const e=d(c,o),n=g([e.rowIndex,e.colIndex]);return void t.addSelectedCell({value:n,columnName:c,coordinates:e})}if(0===e.button){t.setIsSelectingCells(!0),t.setSelectedCells([]);const e=d(c,o),n=g([e.rowIndex,e.colIndex]);t.setSelectedCells([{value:n,columnName:c,coordinates:e}]),t.setMouseOverCell(t.selectedCells[0]??null)}if(2===e.button){const e=d(c,o);if(!(n=e,t.selectedCells.some(e=>e.coordinates.rowIndex===n.rowIndex&&e.coordinates.colIndex===n.colIndex))){const n=g([e.rowIndex,e.colIndex]);t.setSelectedCells([{value:n,columnName:c,coordinates:e}]),t.setMouseOverCell(t.selectedCells[0]??null)}}var n};return Yne.jsx(tLe,{content:(()=>{if(i instanceof Rwi){const n=r.guardUnhandledError(()=>r.clipboardService.copyTextToClipboard(i.queryBuilderState.resultState.selectedCells.map(e=>e.value).join(","))),s=t=>{if(!(i.queryBuilderState.resultState.executionResult&&i.queryBuilderState.resultState.executionResult instanceof jQ))return"";const n=[];return Object.entries(e.api.getRenderedNodes().find(e=>e.rowIndex===t)?.data).forEach(e=>{"rowNumber"!==e[0]&&n.push(e[1])}),n.join(",")},o=r.guardUnhandledError(()=>r.clipboardService.copyTextToClipboard(s(i.queryBuilderState.resultState.selectedCells[0]?.coordinates.rowIndex??0)));return Yne.jsx(FDi,{data:t.mousedOverCell,tdsState:i,copyCellValueFunc:n,copyCellRowValueFunc:o})}return null})(),disabled:!(t.queryBuilderState.fetchStructureState.implementation instanceof Rwi&&t.queryBuilderState.isQuerySupported&&t.mousedOverCell),menuProps:{elevation:7},className:zse("query-builder__result__tds-grid",{"ag-theme-balham":!a,"ag-theme-balham-dark":a}),children:Yne.jsx("div",{className:zse("query-builder__result__values__table__cell",{"query-builder__result__values__table__cell--active":h}),onMouseDown:e=>m(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=d(c,o);t.setSelectedCells([e]);const r=Math.min(n.rowIndex,i.rowIndex),s=Math.min(n.colIndex,i.colIndex),a=Math.max(n.rowIndex,i.rowIndex),l=Math.max(n.colIndex,i.colIndex);for(let e=r;e<=a;e++)for(let n=s;n<=l;n++){const i={value:g([e,n]),columnName:p(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:l?Yne.jsx("a",{href:l,target:"_blank",rel:"noreferrer",children:l}):Yne.jsx("span",{children:Qs(s)?Intl.NumberFormat(xwi,{maximumFractionDigits:4}).format(Number(s)):Zs(s)?String(s):s})})})}),Nki=Vse(e=>{const{executionResult:t,queryBuilderState:n}=e,i=n.resultState,r=!n.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled,s=t.result.columns.map(e=>({minWidth:50,sortable:!0,resizable:!0,field:e,flex:1,headerName:e,...Tki(t,e),cellRenderer:Aki,cellRendererParams:{resultState:i,tdsExecutionResult:t}}));return Yne.jsx("div",{"data-testid":Bwi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:Yne.jsx("div",{className:zse("query-builder__result__tds-grid",{"ag-theme-balham":!r,"ag-theme-balham-dark":r}),children:Yne.jsx(lDi,{rowData:_Di(t),gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1}},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},suppressFieldDotNotation:!0,suppressContextMenu:!1,columnDefs:s})})})});var Rki;!function(e){e.wavg="wavg",e.WAVG="WAVG"}(Rki||(Rki={}));const Iki=(e,t)=>{const n=e.builder.columns.find(e=>e.name===t)?.type;switch(n){case TC.STRING:return{filter:"agTextColumnFilter",allowedAggFuncs:["count"]};case TC.DATE:case TC.DATETIME:case TC.STRICTDATE:return{filter:"agDateColumnFilter",allowedAggFuncs:["count"]};case TC.DECIMAL:case TC.NUMBER:case TC.INTEGER:case TC.FLOAT:return{filter:"agNumberColumnFilter",allowedAggFuncs:["count","sum","max","min","avg","wavg"]};default:return{allowedAggFuncs:["count"]}}},Dki=Vse(e=>{const t=e.resultState,n=e.value,i=Xs(n)&&ag(n)?n:void 0;return Yne.jsx("div",{className:zse("query-builder__result__values__table__cell"),onMouseDown:e=>(e=>{e.preventDefault(),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?Yne.jsx("a",{href:i,target:"_blank",rel:"noreferrer",children:i}):Yne.jsx("span",{children:Qs(n)?Intl.NumberFormat(xwi,{maximumFractionDigits:4}).format(Number(n)):Zs(n)?String(n):n})})}),kki=(e,t)=>{const n=e.builder.columns.find(e=>e.name===t)?.type;switch(n){case TC.DATE:case TC.DATETIME:case TC.STRICTDATE:return{filter:"agDateColumnFilter"};case TC.DECIMAL:case TC.INTEGER:case TC.NUMBER:case TC.FLOAT:return{filter:"agNumberColumnFilter"};default:return{filter:!0}}},Oki=Vse(e=>{const{executionResult:t,queryBuilderState:i}=e,r=Wat(),s=!r.layoutService.TEMPORARY__isLightColorThemeEnabled,[o,a]=n.useState(void 0),[l,c]=n.useState(void 0),d=i.resultState,u=i.isLocalModeEnabled,h=u?((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:Dki,cellRendererParams:{resultState:t,tdsExecutionResult:e},...Iki(e,n),...Tki(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:Dki,cellRendererParams:{resultState:t,tdsExecutionResult:e},...kki(e,n),...Tki(e,n)})))(t,d),p=()=>{o&&d.setGridConfig({columns:o.getColumnState(),isPivotModeEnabled:o.isPivotMode(),isLocalModeEnabled:!0,previewLimit:d.previewLimit,...d.wavgAggregationState?.weightedColumnIdPairs&&{weightedColumnPairs:d.wavgAggregationState.weightedColumnIdPairs}})},g=n.useCallback(e=>{let t=[];const n=d.queryBuilderState.fetchStructureState.implementation;return n instanceof Rwi&&(t=[{name:"Filter By",action:()=>{PDi(r,d.mousedOverCell,!0,n).catch(i.applicationStore.alertUnhandledError)}},{name:"Filter Out",action:()=>{PDi(r,d.mousedOverCell,!1,n).catch(i.applicationStore.alertUnhandledError)}},"copy","copyWithHeaders",{name:"Copy Row Value",action:()=>{e.api.copySelectedRowsToClipboard()}}]),t},[r,d.mousedOverCell,d.queryBuilderState.fetchStructureState.implementation,i.applicationStore.alertUnhandledError]),m=o?.getColumns()?.filter(e=>"number"===e.getColDef().cellDataType).map(e=>({label:e.getColId(),value:e.getColId()})),f=l?.colDef.field&&d.wavgAggregationState?.weightedColumnIdPairs.get(l.colDef.field)?{label:Gs(d.wavgAggregationState.weightedColumnIdPairs.get(l.colDef.field)),value:Gs(d.wavgAggregationState.weightedColumnIdPairs.get(l.colDef.field))}:null;return n.useEffect(()=>{l&&l.api.setColumnAggFunc(Gs(l.colDef.field),Rki.WAVG)},[d.wavgAggregationState,l]),Yne.jsx("div",{"data-testid":Bwi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:Yne.jsxs("div",{className:zse("query-builder__result__tds-grid",{"ag-theme-balham":!s,"ag-theme-balham-dark":s}),children:[u?Yne.jsx(lDi,{rowData:_Di(t),onGridReady:e=>{a(e.api),e.api.updateGridOptions({pivotMode:Boolean(d.gridConfig?.isPivotModeEnabled)})},gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1},pivotPanelShow:"always",rowGroupPanelShow:"always",cellSelection:!0},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},suppressFieldDotNotation:!0,suppressContextMenu:!1,columnDefs:h,aggFuncs:{wavg:e=>{e.colDef.field?(d.wavgAggregationState||d.setWavgAggregationState(new Pki),d.wavgAggregationState?.addWeightedColumnIdPair(e.colDef.field,e.colDef.field),d.wavgAggregationState?.setIsApplyingWavg(!0),c(e)):r.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),s=(e.rowNode.allLeafChildren??[]).map(e=>e.data[n]*e.data[t]).reduce((e,t)=>e+t);if(0!==i)return p(),s/i;r.notificationService.notifyError("The weighted column sum is 0")}else r.notificationService.notifyError("The weighted column Id is not defined")}}catch(e){Kr(e),r.notificationService.notifyError(e)}return-1}},sideBar:["columns","filters"],onColumnVisible:p,onColumnPinned:p,onColumnResized:p,onColumnRowGroupChanged:p,onColumnValueChanged:p,onColumnPivotChanged:p,onColumnPivotModeChanged:p}):Yne.jsx(lDi,{rowData:_Di(t),gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1},cellSelection:!0},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},onCellSelectionChanged:e=>{const t=(e=>{const t=e.getCellRanges(),n=[];e.forEachNode(e=>n.push(e));const i=e.getColumnDefs(),r=[];if(t)for(const e of t){const t=e.startRow?.rowIndex??0,s=e.endRow?.rowIndex??0,o=t<s?t:s,a=t<s?s:t,l=e.columns.map(e=>e.getColId());for(let e=o;e<=a;e++){const t=n.find(t=>t.rowIndex===e)?.data;if(t)for(const n of l){const s={value:Object.entries(t).find(e=>e[0]===n)?.at(1),columnName:n,coordinates:{rowIndex:e,colIndex:i.findIndex(e=>e.colId===n)}};r.push(s)}}}return r})(e.api);d.setSelectedCells([]),t.forEach(e=>d.addSelectedCell(e))},suppressFieldDotNotation:!0,suppressClipboardPaste:!1,suppressContextMenu:!1,columnDefs:h,getContextMenuItems:e=>g(e)}),d.wavgAggregationState?.isApplyingWavg&&Yne.jsx(pve,{open:d.wavgAggregationState.isApplyingWavg,onClose:()=>d.wavgAggregationState?.setIsApplyingWavg(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Yne.jsxs(GOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-editor__blocking-alert",children:[Yne.jsx(zOe,{title:"Applying Weighted Average"}),Yne.jsxs(jOe,{children:[Yne.jsx("div",{className:"query-builder__result__tds-grid__text",children:"choose a weighted column from dropdown"}),Yne.jsx(BOe,{options:m,onChange:e=>{l?.colDef.field&&e?.value&&d.wavgAggregationState?.addWeightedColumnIdPair(l.colDef.field,e.value)},value:f,placeholder:"Choose a weighted column",darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),Yne.jsx($Oe,{children:Yne.jsx(YOe,{onClick:()=>{d.wavgAggregationState?.setIsApplyingWavg(!1)},text:"Apply"})})]})})]})})});var Lki;!function(e){e.CLASS_LINEAGE="CLASS_LINEAGE",e.DATABASE_LINEAGE="DATABASE_LINEAGE",e.REPORT_LINEAGE="REPORT_LINEAGE",e.PROPERTY_LINEAGE="PROPERTY_LINEAGE"}(Lki||(Lki={}));class Mki{applicationStore;selectedTab=Lki.DATABASE_LINEAGE;lineageData=void 0;isLineageViewerOpen=!1;selectedPropertyOwnerNode=void 0;selectedProperty=void 0;selectedSourcePropertiesMap=void 0;constructor(e){Hh(this,{selectedTab:ru,lineageData:ru,isLineageViewerOpen:ru,selectedPropertyOwnerNode:ru,selectedProperty:ru,selectedSourcePropertiesMap:ru,setSelectedTab:hh,setLineageData:hh,setIsLineageViewerOpen:hh,setSelectedPropertyOwnerNode:hh,setSelectedProperty:hh,setSelectedSourcePropertiesMap:hh,clearPropertySelections:hh}),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 Pki{isApplyingWavg=!1;weightedColumnIdPairs;constructor(){Hh(this,{isApplyingWavg:ru,weightedColumnIdPairs:ru,setIsApplyingWavg:hh,addWeightedColumnIdPair:hh,removeWeightedColumnIdPair:hh}),this.weightedColumnIdPairs=new Map}setIsApplyingWavg(e){this.isApplyingWavg=e}addWeightedColumnIdPair(e,t){this.weightedColumnIdPairs.set(e,t)}removeWeightedColumnIdPair(e){this.weightedColumnIdPairs.delete(e)}}class Fki{queryBuilderState;executionPlanState;exportState=hb.create();previewLimit=1e3;pressedRunQuery=hb.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){Hh(this,{executionResult:ru,executionTraceId:ru,previewLimit:ru,executionDuration:ru,latestRunHashCode:ru,queryRunPromise:ru,isGeneratingPlan:ru,selectedCells:ru,mousedOverCell:ru,isRunningQuery:ru,isSelectingCells:ru,isQueryUsageViewerOpened:ru,isExecutionResultOverflowing:ru,gridConfig:ru,wavgAggregationState:ru,executionError:ru,setGridConfig:hh,setWavgAggregationState:hh,setIsSelectingCells:hh,setIsRunningQuery:hh,setExecutionResult:hh,setExecutionTraceId:hh,setExecutionDuration:hh,setPreviewLimit:hh,addSelectedCell:hh,setSelectedCells:hh,setMouseOverCell:hh,setQueryRunPromise:hh,setIsQueryUsageViewerOpened:hh,setIsExecutionResultOverflowing:hh,handlePreConfiguredGridConfig:hh,updatePreviewLimitInConfig:hh,setExecutionError:hh,exportData:Rh,runQuery:Rh,cancelQuery:Rh,generatePlan:Rh,generateLineage:Rh}),this.isSelectingCells=!1,this.selectedCells=[],this.gridConfig=void 0,this.queryBuilderState=e,this.executionPlanState=new wki(this.queryBuilderState.applicationStore,this.queryBuilderState.graphManagerState),this.lineageState=new Mki(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.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 Rwi&&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 jQ&&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===Rki.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 Pki,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=vEi(this.queryBuilderState,{isBuildingExecutionQuery:!0,useTypedRelationFunctions:this.queryBuilderState.isFetchStructureTyped,...e});t=m6(n,this.queryBuilderState.graphManagerState)}else if(t=Gs(this.queryBuilderState.unsupportedQueryState.rawLambda,"Lambda is required to execute query"),!this.queryBuilderState.isParameterSupportDisabled)return cEi(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});Vct.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:lEi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState)},void 0,n);if("true"===s.headers.get(aJ))return void(200===s.status?this.exportState.pass():this.exportState.fail());const o=g3(this.queryBuilderState.graphManagerState.graph);Act(s,`result.${Qp(n)}`,t.contentType).then(()=>{const e=Object.assign({},o,this.queryBuilderState.getStateInfo());Vct.logEvent_ExportQueryDataSucceeded(this.queryBuilderState.applicationStore.telemetryService,e),this.exportState.pass()}).catch(e=>{Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.EXECUTION_FAILURE),e)})}catch(e){this.exportState.fail(),Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.EXECUTION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e),this.exportState.complete()}}*runQuery(){let e;try{this.setIsRunningQuery(!0);const t=this.queryBuilderState.hashCode;Gs(this.queryBuilderState.executionContextState.mapping,"Mapping is required to execute query"),Gs(this.queryBuilderState.executionContextState.runtimeValue,"Runtime is required to execute query");const n=this.buildExecutionRawLambda({withDataOverflowCheck:!0}),i=lEi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState);Vct.logEvent_QueryRunLaunched(this.queryBuilderState.applicationStore.telemetryService);const r=new pb,s=g3(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:[oJ],tracingtags:{...this.queryBuilderState.sourceInfo},forceFromExpression:this.queryBuilderState.forceFromExpressionForExec}),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());Vct.logEvent_QueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,e)}}catch(t){this.queryRunPromise===e&&(Kr(t),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.EXECUTION_FAILURE),t),this.setExecutionError(t),t instanceof DZ&&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(vb.create(sw.EXECUTION_FAILURE),e)}}*generatePlan(e){try{this.isGeneratingPlan=!0,Gs(this.queryBuilderState.executionContextState.mapping,"Mapping is required to execute query"),Gs(this.queryBuilderState.executionContextState.runtimeValue,"Runtime is required to execute query");const t=this.queryBuilderState.buildQuery();let n;const i=new pb,r=g3(this.queryBuilderState.graphManagerState.graph),s=this.queryBuilderState.executionContextState;if(e){Vct.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},r);n=e.plan,this.executionPlanState.setDebugText(e.debug)}else Vct.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},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(Dct.BUILD_EXECUTION_PLAN__SUCCESS),r.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(i,r.timings);const o=Object.assign({},r,this.queryBuilderState.getStateInfo());e?Vct.logEvent_ExecutionPlanDebugSucceeded(this.queryBuilderState.applicationStore.telemetryService,o):Vct.logEvent_ExecutionPlanGenerationSucceeded(this.queryBuilderState.applicationStore.telemetryService,o)}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.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){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.LINEAGE_GENERATION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}finally{this.isGeneratingLineage=!1}}}class Bki{queryBuilderState;rawLambda;lambdaError;constructor(e){Hh(this,{rawLambda:ru,lambdaError:ru,setRawLambda:hh,setLambdaError:hh,hashCode:lu}),this.queryBuilderState=e}setRawLambda(e){this.rawLambda=e}setLambdaError(e){this.lambdaError=e}get hashCode(){return $v([wdt.UNSUPPORTED_QUERY_STATE,this.rawLambda??""])}}const Vki="QUERY_BUILDER_FUNCTION",Uki=(e,t)=>t===xC.PROJECT_DEPENDENCY_ROOT?e.functionsExplorerState.dependencyDisplayablePackagesSet:e.functionsExplorerState.displayablePackagesSet,Gki=(e,t,n)=>({id:t.path,label:t.name,childrenIds:t.children.filter(e=>!(e instanceof MS)).filter(t=>t instanceof xS&&Uki(e,n).has(t)).map(e=>e.path).concat(e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.path)?.map(e=>e.functionPath)??[]),package:t}),Hki=e=>({id:e.functionPath,label:e.name,childrenIds:[],functionAnalysisInfo:e}),zki=(e,t,n,i=xC.MAIN)=>{const r=i===xC.MAIN?e.functionsExplorerState.functionInfoMap:e.functionsExplorerState.dependencyFunctionInfoMap,s=Uki(e,i),o=e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.id)?.map(e=>e.functionPath),a=t.package.children.filter(e=>e instanceof xS&&s.has(e)).map(e=>e);t.childrenIds=a.map(e=>e.path).concat(o??[]);const l=a.map(t=>Gki(e,t,i)),c=o?.map(e=>r?.get(e)).filter(Vs).map(e=>Hki(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)})},Wki=(e,t,n=xC.MAIN)=>{const i=[],r=new Map,s=Uki(t,n);if(n===xC.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 xS&&s.has(e)).map(e=>e).sort((e,t)=>e.name.localeCompare(t.name)).forEach(e=>{const s=Gki(t,e,n);Co(i,s.id),r.set(s.id,s)})}),{rootIds:i,nodes:r}},jki=(e,t,n,i=xC.MAIN)=>(zki(e,t,n,i),t.childrenIds.map(e=>n.nodes.get(e)).filter(Vs).sort(VOe).sort((e,t)=>(t.package?1:0)-(e.package?1:0))),$ki=e=>e.package?(e instanceof xS?[e]:[]).concat([e.package].concat($ki(e.package))):[];class qki{uuid=ho();queryFunctionsState;functionAnalysisInfo;constructor(e,t){Hh(this,{functionAnalysisInfo:ru}),this.queryFunctionsState=e,this.functionAnalysisInfo=t}}class Yki{initState=hb.create();queryBuilderState;treeData;dependencyTreeData;_functionGraph;functionExplorerStates=[];dependencyFunctionExplorerStates=[];displayablePackagesSet=new Set;dependencyDisplayablePackagesSet=new Set;functionInfoMap;dependencyFunctionInfoMap;packagePathToFunctionInfoMap;constructor(e){Hh(this,{functionExplorerStates:ru.ref,setFunctionExplorerStates:hh,dependencyFunctionExplorerStates:ru.ref,setDependencyFunctionExplorerStates:hh,treeData:ru.ref,dependencyTreeData:ru.ref,_functionGraph:ru,functionInfoMap:ru,dependencyFunctionInfoMap:ru,packagePathToFunctionInfoMap:ru,setFunctionInfoMap:hh,setDependencyFunctionInfoMap:hh,setTreeData:hh,setPackagePathToFunctionInfoMap:hh,setDependencyTreeData:hh,refreshTree:hh,onTreeNodeSelect:hh,initializeTreeData:hh}),this.queryBuilderState=e,this._functionGraph=this.queryBuilderState.graphManagerState.createNewGraph()}getTreeData(e=xC.MAIN){return e===xC.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=>Mw(this._functionGraph,e.packagePath,void 0)).map(e=>$ki(e)).flat().forEach(e=>this.displayablePackagesSet.add(e))}async initializeDependencyDisplayablePackagesSet(){this.dependencyFunctionInfoMap&&Array.from(this.dependencyFunctionInfoMap.values()).map(e=>Mw(this._functionGraph,e.packagePath,void 0)).map(e=>$ki(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 Gs(this.treeData,"Query builder functions explorer tree data has not been initialized")}onTreeNodeSelect=(e,t,n,i=xC.MAIN)=>{if(t.package)if(t.childrenIds.length&&(t.isOpen=!t.isOpen,zki(e,t,n,i)),i===xC.PROJECT_DEPENDENCY_ROOT)this.setDependencyTreeData({...n});else this.setTreeData({...n})};initializeFunctionInfoMap(){const e=new Map,t=new Map;if(sx(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;sx(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(Wki([this._functionGraph.root],this.queryBuilderState,xC.MAIN)),this.setFunctionExplorerStates(this.functionInfoMap?Array.from(this.functionInfoMap.values()).map(e=>new qki(this,e)):[])}),this.dependencyFunctionInfoMap&&this.initializeDependencyDisplayablePackagesSet().catch(()=>{}).finally(()=>{this.setDependencyTreeData(Wki([this._functionGraph.root],this.queryBuilderState,xC.PROJECT_DEPENDENCY_ROOT)),this.setDependencyFunctionExplorerStates(this.dependencyFunctionInfoMap?Array.from(this.dependencyFunctionInfoMap.values()).map(e=>new qki(this,e)):[])}),this.initState.pass())}}class Kki extends hEi{queryBuilderState;selectedParameter;constructor(e){super(),Hh(this,{parameterValuesEditorState:ru,parameterStates:ru,addParameter:hh,removeParameter:hh,setParameters:hh,selectedParameter:ru,setSelectedParameter:hh,hashCode:bd}),this.queryBuilderState=e}get hashCode(){return $v([wdt.PARAMETERS_STATE,$v(this.parameterStates)])}setSelectedParameter(e){this.selectedParameter=e}}class Xki extends cDi{getLabel(){return">"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)}isCompatibleWithFilterConditionValue(e){return ydt(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;switch(t.path){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.INTEGER:case TC.STRICTDATE:case TC.DATETIME:case TC.DATE:return qCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return dDi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?$ct.IS_AFTER_DAY:$ct.GREATER_THAN,t)}buildFilterConditionState(e,t){return uDi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?$ct.IS_AFTER_DAY:$ct.GREATER_THAN,this)}get hashCode(){return $v([wdt.FILTER_OPERATOR_GREATER_THAN])}}class Qki extends cDi{getLabel(){return"starts with"}isCompatibleWithFilterConditionProperty(e){return gS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return gS.STRING===t}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;if(t.path===TC.STRING)return qCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return dDi(e,$ct.STARTS_WITH,t)}buildFilterConditionState(e,t){return uDi(e,t,$ct.STARTS_WITH,this)}get hashCode(){return $v([wdt.FILTER_OPERATOR_START_WITH])}}class Zki extends Qki{getLabel(){return"doesn't start with"}buildFilterConditionExpression(e,t){return mdt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=gdt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return $v([wdt.FILTER_OPERATOR_NOT_START_WITH])}}class Jki extends cDi{getLabel(){return">="}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)}isCompatibleWithFilterConditionValue(e){return ydt(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;switch(t.path){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.INTEGER:case TC.STRICTDATE:case TC.DATETIME:case TC.DATE:return qCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return dDi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?$ct.IS_ON_OR_AFTER_DAY:$ct.GREATER_THAN_EQUAL,t)}buildFilterConditionState(e,t){return uDi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?$ct.IS_ON_OR_AFTER_DAY:$ct.GREATER_THAN_EQUAL,this)}get hashCode(){return $v([wdt.FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class eOi extends cDi{getLabel(){return"<="}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)}isCompatibleWithFilterConditionValue(e){return ydt(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;switch(t.path){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.INTEGER:case TC.STRICTDATE:case TC.DATETIME:case TC.DATE:return qCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return dDi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?$ct.IS_ON_OR_BEFORE_DAY:$ct.LESS_THAN_EQUAL,t)}buildFilterConditionState(e,t){return uDi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?$ct.IS_ON_OR_BEFORE_DAY:$ct.LESS_THAN_EQUAL,this)}get hashCode(){return $v([wdt.FILTER_OPERATOR_LESS_THAN_EQUAL])}}class tOi extends cDi{getLabel(){return"<"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)}isCompatibleWithFilterConditionValue(e){return ydt(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;switch(t.path){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.INTEGER:case TC.STRICTDATE:case TC.DATETIME:case TC.DATE:return qCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return dDi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?$ct.IS_BEFORE_DAY:$ct.LESS_THAN,t)}buildFilterConditionState(e,t){return uDi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?$ct.IS_BEFORE_DAY:$ct.LESS_THAN,this)}get hashCode(){return $v([wdt.FILTER_OPERATOR_LESS_THAN])}}class nOi extends cDi{getLabel(){return"ends with"}isCompatibleWithFilterConditionProperty(e){return gS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return gS.STRING===t}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;if(t.path===TC.STRING)return qCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return dDi(e,$ct.ENDS_WITH,t)}buildFilterConditionState(e,t){return uDi(e,t,$ct.ENDS_WITH,this)}get hashCode(){return $v([wdt.FILTER_OPERATOR_END_WITH])}}class iOi extends nOi{getLabel(){return"doesn't end with"}buildFilterConditionExpression(e,t){return mdt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=gdt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return $v([wdt.FILTER_OPERATOR_NOT_END_WITH])}}class rOi extends cDi{getLabel(){return"contains"}isCompatibleWithFilterConditionProperty(e){return gS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return gS.STRING===t}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;if(t.path===TC.STRING)return qCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return dDi(e,$ct.CONTAINS,t)}buildFilterConditionState(e,t){return uDi(e,t,$ct.CONTAINS,this)}get hashCode(){return $v([wdt.FILTER_OPERATOR_CONTAIN])}}class sOi extends rOi{getLabel(){return"doesn't contain"}buildFilterConditionExpression(e,t){return mdt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=gdt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return $v([wdt.FILTER_OPERATOR_NOT_CONTAIN])}}var oOi;!function(e){e.JSON="JSON",e.GRAMMAR="Grammar"}(oOi||(oOi={}));class aOi{changeDetectionState;initialQuery;currentQuery;mode=oOi.GRAMMAR;initialQueryGrammarText;currentQueryGrammarText;constructor(e,t,n){Hh(this,{mode:ru,initialQueryGrammarText:ru,currentQueryGrammarText:ru,setMode:hh,generateGrammarDiff:Rh}),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){Kr(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){Kr(e),this.currentQueryGrammarText="/* Failed to transform grammar text, see JSON diff instead */"}}}class lOi{querybuilderState;initState=hb.create();querySnapshot;hashCodeSnapshot;diffViewState;constructor(e){Hh(this,{diffViewState:ru,querySnapshot:ru,hashCodeSnapshot:ru,hasChanged:lu,initialize:hh,showDiffViewPanel:hh,hideDiffViewPanel:hh}),this.querybuilderState=e}showDiffViewPanel(){this.diffViewState=this.buildQueryBuilderDiffViewState()}buildQueryBuilderDiffViewState(){return Us(this.querySnapshot,"Can't show changes: change detection is not properly initialized"),new aOi(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:xlt.CAUTION,actions:[{label:"Proceed",type:Tlt.PROCEED_WITH_CAUTION,handler:this.querybuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Abort",type:Tlt.PROCEED,default:!0}]}):e()}}const cOi=e=>e instanceof ME?`${bC}${e.name}`:e instanceof FE&&e.genericType.value.rawType===gS.STRICTDATE?e.values[0]:e instanceof FE&&e.genericType.value.rawType===gS.LATESTDATE?"%latest":"(unknown)",dOi=(e,t)=>{const n=tx(e,t.graphManagerState.graph);return Yne.jsx("div",{className:zse("query-builder__setup__class-option-label",{"query-builder__setup__class-option-label--deprecated":n}),children:Yne.jsx("div",{className:"query-builder__setup__class-option-label__name",children:e.name})})},uOi=Vse(e=>{const{queryBuilderState:t,classes:n,onClassChange:i,noMatchMessage:r}=e,s=Wat(),o=Vke({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:dOi(e,t)})),l=t.class?{value:t.class,label:dOi(t.class,t)}:null;return Yne.jsx("div",{className:"query-builder__setup__config-group query-builder__setup__config-group--class",children:Yne.jsxs("div",{className:"query-builder__setup__config-group__item",children:[Yne.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"entity",htmlFor:"query-builder__setup__class-selector",children:"Entity"}),Yne.jsx(BOe,{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.class&&(t.changeClass(e.value),i?.(e.value))},value:l,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:o,formatOptionLabel:Gwi({darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})})}),hOi=e=>({value:e,label:e instanceof h$?e.packageableRuntime.value.name:"custom"}),pOi=e=>function(t){if(t.value instanceof h$){const n=t.value;return Gwi(e)(Vwi(n.packageableRuntime.value))}return t.value instanceof h$?t.value.packageableRuntime.value.name:Yne.jsxs("div",{className:"query-builder__setup__runtime-option--custom",children:[Yne.jsx(are,{}),Yne.jsx("div",{className:"query-builder__setup__runtime-option--custom__label",children:"custom"})]})},gOi=Vse(e=>{const{queryBuilderState:t}=e,n=Wat(),i=t.graphManagerState.usableClasses,r=t.graphManagerState.usableMappings.map(Vwi).sort(VOe),s=t.executionContextState.mapping?Vwi(t.executionContextState.mapping):null,o=Vke({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value.path}),a=t.graphManagerState.usableRuntimes.map(e=>new h$(XC.create(e))).map(hOi).sort(VOe),l=t.executionContextState.runtimeValue?hOi(t.executionContextState.runtimeValue):null,c=Vke({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value instanceof h$?e.data.value.packageableRuntime.value.path:"custom"});return Yne.jsxs("div",{className:"query-builder__setup__config-group",children:[Yne.jsx(lLe,{title:"properties"}),Yne.jsxs("div",{className:"query-builder__setup__config-group__content",children:[Yne.jsxs("div",{className:"query-builder__setup__config-group__item",children:[Yne.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"mapping",htmlFor:"query-builder__setup__mapping-selector",children:"Mapping"}),Yne.jsx(BOe,{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.class,options:r,onChange:e=>{t.class&&e.value!==t.executionContextState.mapping&&!t.isMappingReadOnly&&t.changeMapping(e.value)},value:s,darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:o,formatOptionLabel:Gwi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),Yne.jsxs("div",{className:"query-builder__setup__config-group__item",children:[Yne.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"runtime",htmlFor:"query-builder__setup__runtime-selector",children:"Runtime"}),Yne.jsx(BOe,{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.class||!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:pOi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),Yne.jsx("div",{className:"query-builder__setup__config-group__item",children:Yne.jsx(uOi,{queryBuilderState:t,classes:i})})]})]})}),mOi=Vse(e=>{const{queryBuilderState:t,children:n}=e,i=Wat().pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraTemplateQueryPanelContentRenderer?.()??[]),r=i[0]?i[0](t):Yne.jsx(Yne.Fragment,{});return Yne.jsxs("div",{className:zse("query-builder__side-bar",t.sideBarClassName),children:[Yne.jsx("div",{"data-testid":Bwi.QUERY_BUILDER_SETUP,className:"panel query-builder__setup",children:Yne.jsx("div",{className:"panel__content query-builder__setup__content",children:t.TEMPORARY__setupPanelContentRenderer?.()??Yne.jsx(gOi,{queryBuilderState:t})})}),Yne.jsx("div",{"data-testid":Bwi.QUERY_BUILDER_TEMPLATE_QUERY_PANE,className:"query-builder__template-query",children:r}),Yne.jsx("div",{className:"query-builder__side-bar__content",children:n})]})});class fOi{milestoningState;stereotype;constructor(e,t){this.milestoningState=e,this.stereotype=t}}class yOi extends fOi{getMilestoningDate(e){return 0===e?this.milestoningState.processingDate:this.milestoningState.businessDate}getMilestoningToolTipText(){return`Processing Date: ${cOi(this.getMilestoningDate(0))}, Business Date: ${cOi(this.getMilestoningDate(1))}`}initializeMilestoningParameters(e){this.milestoningState.processingDate&&!e||this.milestoningState.setProcessingDate(this.milestoningState.buildMilestoningParameter(PC)),this.milestoningState.businessDate&&!e||this.milestoningState.setBusinessDate(this.milestoningState.buildMilestoningParameter(FC))}buildParameterStatesFromMilestoningParameters(){return[this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.businessDate&&this.milestoningState.businessDate instanceof ME?this.milestoningState.businessDate.name:FC),this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.processingDate&&this.milestoningState.processingDate instanceof ME?this.milestoningState.processingDate.name:PC)].filter(Vs)}processGetAllParamaters(e){Ks(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(Gs(this.getMilestoningDate(0),"Milestoning class should have a parameter of type 'Date'")),e.parametersValues.push(Gs(this.getMilestoningDate(1),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllWithDefaultParameters(e){const t=zCi($ct.NOW,gS.DATETIME);e.parametersValues.push(t),e.parametersValues.push(t)}buildGetAllVersionsInRangeParameters(e){throw new Yr("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===kC.PROCESSING_TEMPORAL&&1===s?.parameterValues.length)return new JE(()=>Gs(js(n,KE).parametersValues[1]));let o;return e&&n&&!t?o=new JE(()=>Gs(n.parametersValues[1])):(o=new JE(()=>Gs(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}{if(i===kC.BUSINESS_TEMPORAL&&1===s?.parameterValues.length)return new JE(()=>Gs(js(s.propertyExpression.parametersValues[0],KE).parametersValues[1]));let o;return e&&n&&!t?o=new JE(()=>Gs(n.parametersValues[2])):(o=new JE(()=>Gs(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}}}class vOi extends fOi{getMilestoningDate(){return this.milestoningState.businessDate}getMilestoningToolTipText(){return`Business Date: ${cOi(this.getMilestoningDate())}`}initializeMilestoningParameters(e){this.milestoningState.businessDate&&!e||this.milestoningState.setBusinessDate(this.milestoningState.buildMilestoningParameter(FC))}buildParameterStatesFromMilestoningParameters(){const e=this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.businessDate&&this.milestoningState.businessDate instanceof ME?this.milestoningState.businessDate.name:FC);return e?[e]:[]}processGetAllParamaters(e){Ks(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(Gs(this.getMilestoningDate(),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllVersionsInRangeParameters(e){if(!this.milestoningState.startDate||!this.milestoningState.endDate)throw new Yr("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=zCi($ct.NOW,gS.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n,i){if(this.initializeMilestoningParameters(),e&&n&&!t)return i===kC.BUSINESS_TEMPORAL?new JE(()=>Gs(n.parametersValues[1])):new JE(()=>Gs(n.parametersValues[2]));{const n=new JE(()=>Gs(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class _Oi extends fOi{getMilestoningDate(){return this.milestoningState.processingDate}getMilestoningToolTipText(){return`Processing Date: ${cOi(this.getMilestoningDate())}`}initializeMilestoningParameters(e){this.milestoningState.processingDate&&!e||this.milestoningState.setProcessingDate(this.milestoningState.buildMilestoningParameter(PC))}buildParameterStatesFromMilestoningParameters(){const e=this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.processingDate&&this.milestoningState.processingDate instanceof ME?this.milestoningState.processingDate.name:PC);return e?[e]:[]}processGetAllParamaters(e){Ks(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(Gs(this.getMilestoningDate(),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllVersionsInRangeParameters(e){if(!this.milestoningState.startDate||!this.milestoningState.endDate)throw new Yr("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=zCi($ct.NOW,gS.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n){if(this.initializeMilestoningParameters(),e&&n&&!t)return new JE(()=>Gs(n.parametersValues[1]));{const n=new JE(()=>Gs(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class bOi{milestoningImplementations=[];queryBuilderState;showMilestoningEditor=!1;businessDate;processingDate;startDate;endDate;constructor(e){Hh(this,{processingDate:ru,businessDate:ru,startDate:ru,endDate:ru,showMilestoningEditor:ru,setProcessingDate:hh,setBusinessDate:hh,setStartDate:hh,setEndDate:hh,setShowMilestoningEditor:hh,clearMilestoningDates:hh,setAllVersions:hh,setAllVersionsInRange:hh,initializeAllVersionsInRangeParameters:hh,clearAllVersionsInRangeParameters:hh,clearGetAllParameters:hh,isAllVersionsEnabled:lu,isAllVersionsInRangeEnabled:lu,isMilestonedQuery:lu,hashCode:lu}),this.queryBuilderState=e,this.milestoningImplementations.push(new vOi(this,kC.BUSINESS_TEMPORAL)),this.milestoningImplementations.push(new _Oi(this,kC.PROCESSING_TEMPORAL)),this.milestoningImplementations.push(new yOi(this,kC.BITEMPORAL))}updateQueryBuilderState(){this.isAllVersionsEnabled&&(this.queryBuilderState.fetchStructureState.implementation instanceof Rwi&&this.queryBuilderState.fetchStructureState.implementation.tdsColumns.forEach(e=>{e instanceof aSi?e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof JE&&(e.isPropagatedValue=!1)}):e instanceof uSi&&e.projectionColumnState instanceof aSi&&e.projectionColumnState.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof JE&&(e.isPropagatedValue=!1)})}),this.queryBuilderState.filterState.nodes.forEach(e=>{e instanceof QSi?e.condition.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof JE&&(e.isPropagatedValue=!1)}):e instanceof KSi&&e.propertyExpressionState.derivedPropertyExpressionStates[0]&&this.queryBuilderState.class?._generatedMilestonedProperties.includes(e.propertyExpressionState.derivedPropertyExpressionStates[0].derivedProperty)&&e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof JE&&(e.isPropagatedValue=!1)})}))}get isMilestonedQuery(){return Boolean(this.businessDate??this.processingDate)||this.queryBuilderState.getAllFunction===jct.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===jct.GET_ALL_VERSIONS_IN_RANGE}get isCurrentClassMilestoned(){const e=this.queryBuilderState.class;if(void 0!==e){return void 0!==Uw(e,this.queryBuilderState.graphManagerState.graph)}return!1}get isCurrentClassSupportsVersionsInRange(){const e=this.queryBuilderState.class;if(void 0!==e){const t=Uw(e,this.queryBuilderState.graphManagerState.graph);return void 0!==t&&t!==kC.BITEMPORAL}return!1}get isAllVersionsEnabled(){return this.queryBuilderState.getAllFunction===jct.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===jct.GET_ALL_VERSIONS_IN_RANGE}get isAllVersionsInRangeEnabled(){return this.queryBuilderState.getAllFunction===jct.GET_ALL_VERSIONS_IN_RANGE}get isInvalidAllVersionsInRange(){return!!(this.startDate&&!this.endDate||!this.startDate&&this.endDate)}setAllVersionsInRange(e){e?(this.queryBuilderState.setGetAllFunction(jct.GET_ALL_VERSIONS_IN_RANGE),this.initializeAllVersionsInRangeParameters()):(this.queryBuilderState.setGetAllFunction(jct.GET_ALL_VERSIONS),this.clearAllVersionsInRangeParameters())}setAllVersions(e){e?(this.queryBuilderState.setGetAllFunction(jct.GET_ALL_VERSIONS),this.clearGetAllParameters()):(this.queryBuilderState.setGetAllFunction(jct.GET_ALL),this.clearAllVersionsInRangeParameters(),this.updateMilestoningConfiguration()),this.updateQueryBuilderState()}setStartDate(e){this.startDate=e?xte(e,this.queryBuilderState.observerContext):e}setEndDate(e){this.endDate=e?xte(e,this.queryBuilderState.observerContext):e}setShowMilestoningEditor(e){this.showMilestoningEditor=e}getMilestoningImplementation(e){return Gs(this.milestoningImplementations.find(t=>t.stereotype===e))}initializeQueryMilestoningParameters(e){this.getMilestoningImplementation(e).initializeMilestoningParameters(!0)}setProcessingDate(e){this.processingDate=e?xte(e,this.queryBuilderState.observerContext):e}setBusinessDate(e){this.businessDate=e?xte(e,this.queryBuilderState.observerContext):e}initializeAllVersionsInRangeParameters(){this.setStartDate(this.buildMilestoningParameter(LC)),this.setEndDate(this.buildMilestoningParameter(MC))}clearGetAllParameters(){if(this.businessDate instanceof ME&&!this.queryBuilderState.isVariableUsed(this.businessDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===js(this.businessDate,ME).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setBusinessDate(void 0)}if(this.processingDate instanceof ME&&!this.queryBuilderState.isVariableUsed(this.processingDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===js(this.processingDate,ME).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setProcessingDate(void 0)}this.businessDate instanceof FE&&this.setBusinessDate(void 0),this.processingDate instanceof FE&&this.setProcessingDate(void 0)}clearAllVersionsInRangeParameters(){if(this.startDate instanceof ME&&!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 ME&&!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.class;if(void 0!==e){const t=Uw(e,this.queryBuilderState.graphManagerState.graph);this.setBusinessDate(void 0),this.setProcessingDate(void 0),t&&this.initializeQueryMilestoningParameters(t)}}buildParameterStateFromMilestoningParameter(e){const t=new ME(e,nS.ONE,yS.create(new ES(gS.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 dEi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);return e.mockParameterValue(),e}}buildMilestoningParameter(e){const t=new ME(e,nS.ONE,yS.create(new ES(gS.DATE)));if(!this.queryBuilderState.parametersState.parameterStates.find(t=>t.variableName===e)&&!this.queryBuilderState.constantState.constants.find(t=>t.variable.name===e)){const e=new dEi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);e.mockParameterValue(),this.queryBuilderState.parametersState.addParameter(e)}return t}updateMilestoningParameterValue(e,t){if(e instanceof ME){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 ME){const n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.parameter.name===e.name);t=n?.value}return t}isVariableUsed(e){const t=!!this.businessDate&&Sdt(e,this.businessDate),n=!!this.processingDate&&Sdt(e,this.processingDate),i=!!this.startDate&&Sdt(e,this.startDate),r=!!this.endDate&&Sdt(e,this.endDate);return t||n||i||r}isMilestoningParameter(e){let t=!1;return this.businessDate instanceof ME&&(t=e.name===js(this.businessDate,ME).name),this.processingDate instanceof ME&&(t=t||e.name===js(this.processingDate,ME).name),this.startDate instanceof ME&&(t=t||e.name===js(this.startDate,ME).name),this.endDate instanceof ME&&(t=t||e.name===js(this.endDate,ME).name),t}get hashCode(){return $v([wdt.MILESTONING_STATE,this.businessDate??"",this.processingDate??""])}}var COi;!function(e){e.COMPILE="query-builder.compile"}(COi||(COi={}));const SOi={[COi.COMPILE]:{title:"Query Builder: Compile query",defaultKeyboardShortcut:"F9"}};class EOi{queryBuilderState;value;constructor(e){Hh(this,{value:ru,setValue:hh,hashCode:lu}),this.queryBuilderState=e}getDefaultValue(){return new FE(yS.create(new ES(gS.STRING)))}setValue(e){this.value=e?xte(e,this.queryBuilderState.observerContext):void 0}isVariableUsed(e){return!!this.value&&Sdt(e,this.value)}get hashCode(){return $v([wdt.WATERMARK_STATE,this.value??""])}}class wOi{queryBuilderState;uuid=ho();variable;constructor(e,t){this.queryBuilderState=e,this.variable=t}get hashCode(){return $v([wdt.CONSTANT_EXPRESSION_STATE,this.variable.name])}buildLetExpression(){const e=new FE(yS.create(new ES(gS.STRING)));e.values=[this.variable.name];const t=new YE(sS(exports.SUPPORTED_FUNCTIONS.LET));return t.parametersValues=[e,this.buildLetAssignmentValue()],t}}class xOi extends wOi{value;constructor(e,t,n){super(e,t),Hh(this,{variable:ru,value:ru,setValueSpec:hh,changeValSpecType:hh}),this.value=xte(n,this.queryBuilderState.observerContext),xte(t,this.queryBuilderState.observerContext)}changeValSpecType(e){const t=this.value.genericType?.value.rawType;if(t!==e)try{const t=qCi(this.queryBuilderState.graphManagerState.graph,e,this.queryBuilderState.observerContext,this.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);this.setValueSpec(t)}catch(e){Kr(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e.message)}}setValueSpec(e){if(e instanceof ME)throw new qr("Can not assign a parameter to another parameter");this.value=xte(e,this.queryBuilderState.observerContext);const t=e.genericType?.value.rawType;t&&t!==this.variable.genericType?.value.rawType&&edt(this.variable,yS.create(new ES(t)))}buildLetAssignmentValue(){return this.value}get hashCode(){return $v([wdt.CONSTANT_EXPRESSION_STATE,this.variable.name,this.value])}}class TOi extends rSi{queryBuilderState;calculatedState;convertingLambdaToStringState=hb.create();constructor(e){super("",""),Hh(this,{calculatedState:ru,convertingLambdaToStringState:ru,buildEmptyValueSpec:ru}),this.calculatedState=e,this.queryBuilderState=e.queryBuilderState}buildEmptyValueSpec(){return this.queryBuilderState.graphManagerState.graphManager.serializeRawValueSpecification(YCi(this.queryBuilderState.graphManagerState,this.queryBuilderState.observerContext))}get lambdaId(){return tte([Lct.QUERY_BUILDER,Lct.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){Kr(e),e instanceof NZ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.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){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.PARSING_FAILURE),e)}}}class AOi extends wOi{value;lambdaState;constructor(e,t,n){super(e,t),Hh(this,{variable:ru,lambdaState:ru,value:ru,setLambdaState:hh,setValue:hh}),this.value=n,this.lambdaState=new TOi(this),xte(t,this.queryBuilderState.observerContext)}setLambdaState(e){this.lambdaState=e}setValue(e){this.value=e}buildLetAssignmentValue(){return new LE(this.value)}}class NOi{queryBuilderState;showConstantPanel=!1;constants=[];selectedConstant;constructor(e){this.queryBuilderState=e,Hh(this,{constants:ru,showConstantPanel:ru,selectedConstant:ru,addConstant:hh,removeConstant:hh,setShowConstantPanel:hh,setSelectedConstant:hh,convertToCalculated:hh})}get isEmpty(){return!this.constants.length}setShowConstantPanel(e){this.showConstantPanel=e}addConstant(e){Co(this.constants,e)}removeConstant(e){Eo(this.constants,e)}setSelectedConstant(e){this.selectedConstant=e}isValueSpecConstant(e){return e instanceof ME&&Boolean(this.constants.find(t=>t.variable.name===e.name))}convertToCalculated(e){try{const t=this.queryBuilderState.graphManagerState.graphManager.serializeValueSpecification(e.value),n=new AOi(this.queryBuilderState,e.variable,t);Ks(So(this.constants,e,n),"Unable to convert to calculated constant")}catch(e){Kr(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}}get hashCode(){return $v([wdt.CONSTANT_STATE,$v(this.constants)])}}var ROi;!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"}(ROi||(ROi={}));class IOi{uuid=ho();specification;entitlementReport;constructor(e){Hh(this,{entitlementReport:ru,setEntitlementReport:hh}),this.specification=e}setEntitlementReport(e){this.entitlementReport=e}}class DOi{applicationStore;graphManagerState;initialDatasets;mapping;runtime;graphData;getQuery;surveyDatasetsState=hb.create();checkEntitlementsState=hb.create();datasets=[];constructor(e,t,n){Hh(this,{datasets:ru,entitlementCheckInfo:lu,fetchDatasetSpecifications:Rh,fetchDatasetEntitlementReports:Rh}),this.applicationStore=e,this.graphManagerState=t,this.initialDatasets=n.initialDatasets,this.datasets=(n.initialDatasets??[]).map(e=>new IOi(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(ROi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)}]};const t={total:e,data:[]},n=this.datasets.filter(e=>e.entitlementReport instanceof p0).length,i=Math.round(n/e*100);t.data.push({label:"Access Granted",count:n,percentage:i,color:this.applicationStore.layoutService.getColor(ROi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)});const r=this.datasets.filter(e=>e.entitlementReport instanceof f0).length,s=Math.round(r/e*100);t.data.push({label:"Access Approved",count:r,percentage:s,color:this.applicationStore.layoutService.getColor(ROi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_APPROVED)});const o=this.datasets.filter(e=>e.entitlementReport instanceof m0).length,a=Math.round(o/e*100);t.data.push({label:"Access Requested",count:o,percentage:a,color:this.applicationStore.layoutService.getColor(ROi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_REQUESTED)});const l=this.datasets.filter(e=>e.entitlementReport instanceof g0).length,c=Math.round(l/e*100);t.data.push({label:"Access Not Granted",count:l,percentage:c,color:this.applicationStore.layoutService.getColor(ROi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_NOT_GRANTED)});const d=this.datasets.filter(e=>e.entitlementReport instanceof y0).length,u=Math.round(d/e*100);t.data.push({label:"Unsupported",count:d,percentage:u,color:this.applicationStore.layoutService.getColor(ROi.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS)});const h=e-n-r-o-l-d,p=Math.round(h/e*100);t.data.push({label:"Unknown",count:h,percentage:p,color:this.applicationStore.layoutService.getColor(ROi.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS)});let g=0;for(let e=0;e<t.data.length;++e){const n=vo(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 IOi(e)})}catch(e){Kr(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 IOi(e.dataset);n.setEntitlementReport(e),t.push(n)}}),this.datasets=this.datasets.concat(t)}catch(e){Kr(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 kOi{queryBuilderState;dataAccessState;showCheckEntitlementsViewer=!1;constructor(e){Hh(this,{showCheckEntitlementsViewer:ru,dataAccessState:ru,setShowCheckEntitlementsViewer:hh,hashCode:lu}),this.queryBuilderState=e}setShowCheckEntitlementsViewer(e){this.showCheckEntitlementsViewer=e,this.dataAccessState=void 0,this.queryBuilderState.executionContextState.mapping&&this.queryBuilderState.executionContextState.runtimeValue instanceof h$&&(this.dataAccessState=new DOi(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=sEi(n.graph,t),r=m6(i,n);if(Array.isArray(e.body)&&Array.isArray(r.body))return r.body=[...r.body,...e.body],r}return e}get hashCode(){return $v([wdt.CHECK_ENTITLEMENTS_STATE,this.showCheckEntitlementsViewer])}}class OOi{queryBuilderState;initState=hb.create();querySnapshotBuffer=[];currentQuery;pointer=-1;bufferSize=10;constructor(e){Hh(this,{currentQuery:ru,pointer:ru,querySnapshotBuffer:ru,initialize:hh,undo:hh,redo:hh,setCurrentQuery:hh,cacheNewQuery:hh,canRedo:lu,canUndo:lu}),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(Gs(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(Gs(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){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(Dct.CHANGE_HISTORY_ERROR),`Can't cache query in query builder change history buffer: ${e.message}`)}}}class LOi{static INSTANCE=new LOi}class MOi{actionConfig=LOi.INSTANCE;updateActionConfig(e){this.actionConfig=e}}class POi extends MOi{get showStatusBar(){return!0}getFetchStructureLayoutConfig(e){return{label:"fetch structure",showInFetchPanel:!0}}static INSTANCE=new POi}class FOi extends MOi{get showStatusBar(){return!1}getFetchStructureLayoutConfig(e){return{label:e.fetchStructureState.implementation.fetchLabel,showInFetchPanel:!1}}static INSTANCE=new FOi}class BOi extends Kut{mapping;runtime}class VOi extends Mpt{logService=new _b;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 BOi?{query:{mapping:e.mapping,runtime:e.runtime},sourceType:"queryBuilder"}:{}}async processSource(e){const t=this.getSourceFunctionExpression(),n=new BOi;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 BI(await this.graphState.graphManager.pureCodeToValueSpecification(e,t),[])}async getValueSpecificationCode(e,t){return this.graphState.graphManager.valueSpecificationToPureCode(VI(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(vC)+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(VI(t,[]))+e;return this.getRelationType(await this.graphState.graphManager.pureCodeToLambda(i))}async executeQuery(e,t){const n=new pb,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=js(r.executionResult,jQ,"Query returned expected to be of tabular data set");if(this.queryBuilderState){const e=g3(this.graphState.graph);e.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(n,e.timings);const t=Object.assign({},e,this.queryBuilderState.getStateInfo());Vct.logEvent_EmbeddedDataCubeQueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,t)}return{result:a,executedQuery:s,executedSQL:a.activities?.at(-1)instanceof MQ?a.activities.at(-1).sql:void 0,executionTime:o}}buildExecutionContext(e){if(e instanceof BOi){return Boolean(e.mapping??e.runtime)?sht(exports.DataCubeFunction.FROM,[e.mapping?lht(e.mapping):void 0,e.runtime?lht(e.runtime):void 0].filter(Vs)):void 0}}sendTelemetry(e,t){this.queryBuilderState?.applicationStore.telemetryService.logEvent(e,t)}buildRawLambdaFromValueSpec(e){const t=js(rD(VI(e,[])),wT);return new DE(t.parameters,t.body)}getSourceFunctionExpression(){let e=BI(this.graphState.graphManager.serializeRawValueSpecification(this.selectInitialQuery),[]);return e instanceof uA&&1===e.body.length&&e.body[0]&&(e=e.body[0]),e}async generateInitialSpecification(){const e=(await this.getRelationType(this.selectInitialQuery)).columns,t=new Yut;return t.query=`~[${e.map(e=>`'${e.name}'`)}]->select()`,t}async getRelationType(e){return await this.graphState.graphManager.getLambdaRelationType(e,this.graphState.graph)}}class UOi{specification;engine;constructor(e,t){this.specification=e,this.engine=t}}var GOi;!function(e){e.STANDARD="STANDARD",e.TYPED_FETCH_STRUCTURE="TYPED_FETCH_STRUCTURE"}(GOi||(GOi={}));class HOi{applicationStore;graphManagerState;changeDetectionState;queryCompileState=hb.create();observerContext;config;workflowState;explorerState;functionsExplorerState;parametersState;constantState;milestoningState;fetchStructureState;filterState;watermarkState;checkEntitlementsState;filterOperators=(()=>[new hDi,new pDi,new tOi,new eOi,new Xki,new Jki,new Qki,new Zki,new rOi,new sOi,new nOi,new iOi,new gDi,new mDi,new fDi,new yDi])();resultState;textEditorState;unsupportedQueryState;changeHistoryState;isQueryChatOpened;showFunctionsExplorerPanel=!1;showParametersPanel=!1;isEditingWatermark=!1;isCheckingEntitlments=!1;isCalendarEnabled=!1;isLocalModeEnabled=!1;dataCubeViewerState;INTERNAL__enableInitializingDefaultSimpleExpressionValue=!1;lambdaWriteMode=GOi.STANDARD;class;getAllFunction=jct.GET_ALL;executionContextState;internalizeState;queryChatState;sourceInfo;TEMPORARY__setupPanelContentRenderer;constructor(e,t,n,i,r){Hh(this,{explorerState:ru,parametersState:ru,constantState:ru,functionsExplorerState:ru,fetchStructureState:ru,filterState:ru,watermarkState:ru,milestoningState:ru,checkEntitlementsState:ru,resultState:ru,textEditorState:ru,unsupportedQueryState:ru,showFunctionsExplorerPanel:ru,showParametersPanel:ru,isEditingWatermark:ru,isCheckingEntitlments:ru,isCalendarEnabled:ru,changeDetectionState:ru,changeHistoryState:ru,executionContextState:ru,class:ru,queryChatState:ru,isQueryChatOpened:ru,isLocalModeEnabled:ru,dataCubeViewerState:ru,getAllFunction:ru,lambdaWriteMode:ru,INTERNAL__enableInitializingDefaultSimpleExpressionValue:ru,sideBarClassName:lu,isQuerySupported:lu,allValidationIssues:lu,canBuildQuery:lu,setShowFunctionsExplorerPanel:hh,setShowParametersPanel:hh,setIsEditingWatermark:hh,setIsCalendarEnabled:hh,setDataCubeViewerState:hh,openDataCubeEngine:hh,setIsCheckingEntitlments:hh,setClass:hh,setIsQueryChatOpened:hh,setIsLocalModeEnabled:hh,setGetAllFunction:hh,setLambdaWriteMode:hh,setINTERNAL__enableInitializingDefaultSimpleExpressionValue:hh,TEMPORARY_initializeExecContext:hh,resetQueryResult:hh,resetQueryContent:hh,changeClass:hh,changeMapping:hh,setExecutionContextState:hh,setQueryChatState:hh,rebuildWithQuery:hh,compileQuery:Rh,hashCode:lu}),this.applicationStore=e,this.graphManagerState=t,this.executionContextState=this.TEMPORARY_initializeExecContext(Boolean(i?.enableTypedTDS)),this.milestoningState=new bOi(this),this.explorerState=new Nxi(this),this.parametersState=new Kki(this),this.constantState=new NOi(this),this.functionsExplorerState=new Yki(this),this.fetchStructureState=new gTi(this),this.filterState=new JSi(this,this.filterOperators),this.watermarkState=new EOi(this),this.checkEntitlementsState=new kOi(this),this.resultState=new Fki(this),this.textEditorState=new yTi(this),this.unsupportedQueryState=new Bki(this),this.observerContext=new l6(this.graphManagerState.pluginManager.getPureGraphManagerPlugins()),this.changeDetectionState=new lOi(this),this.changeHistoryState=new OOi(this),this.config=i,this.workflowState=n,this.sourceInfo=r,this.isQueryChatOpened=(!this.config?.TEMPORARY__disableQueryBuilderChat&&this.applicationStore.settingService.getBooleanValue(Swi.SHOW_QUERY_CHAT_PANEL))??!1}TEMPORARY_initializeExecContext(e){if(e){const e=new gEi(this);return this.setLambdaWriteMode(GOi.TYPED_FETCH_STRUCTURE),e}return new mEi(this)}get isMappingReadOnly(){return!1}get isRuntimeReadOnly(){return!1}get sideBarClassName(){}get isParameterSupportDisabled(){return!1}get isResultPanelHidden(){return!1}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===GOi.TYPED_FETCH_STRUCTURE}get forceFromExpressionForExec(){return this.isFetchStructureTyped}setLambdaWriteMode(e){this.lambdaWriteMode=e}getQueryExecutionContext(){const e=new pZ,t=js(this.executionContextState.runtimeValue,h$,"Query runtime must be of type runtime pointer");return Us(this.executionContextState.mapping,"Query required mapping to update"),e.mapping=XC.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.class?.path,t=this.executionContextState.mapping?.path,n=this.executionContextState.runtimeValue instanceof h$?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)}}}setIsQueryChatOpened(e){this.isQueryChatOpened=e,this.applicationStore.settingService.persistValue(Swi.SHOW_QUERY_CHAT_PANEL,e)}setIsLocalModeEnabled(e){this.isLocalModeEnabled=e}setDataCubeViewerState(e){this.dataCubeViewerState=e}setInternalize(e){this.internalizeState=e}setQueryChatState(e){this.queryChatState=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}setClass(e){this.class=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{Vct.logEvent_EmbeddedDataCubeLaunched(this.applicationStore.telemetryService),this.setDataCubeViewerState(await(async e=>{const t=e.executionContextState.runtimeValue instanceof h$?e.executionContextState.runtimeValue.packageableRuntime.value.path:void 0;if(!t)return;const n=e.executionContextState.mapping?.path,i=e.lambdaWriteMode;e.setLambdaWriteMode(GOi.TYPED_FETCH_STRUCTURE);const r=lEi(e.parametersState.parameterStates,e.graphManagerState),s=e.buildQuery(),o=new VOi(s,r,n,t,e.graphManagerState,e);e.setLambdaWriteMode(i);const a=await o.generateInitialSpecification();return new UOi(a,o)})(this))}catch(e){Kr(e),this.applicationStore.notificationService.notifyError("Unable to open data cube in query builder")}}registerCommands(){this.applicationStore.commandService.registerCommand({key:COi.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(){[COi.COMPILE].forEach(e=>this.applicationStore.commandService.deregisterCommand(e))}resetQueryResult(e){const t=new Fki(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 yTi(this),this.unsupportedQueryState=new Bki(this),this.milestoningState=new bOi(this);const e=this.explorerState.mappingModelCoverageAnalysisResult;this.explorerState=new Nxi(this),e&&(this.explorerState.mappingModelCoverageAnalysisResult=e),this.explorerState.refreshTreeData(),this.constantState=new NOi(this),this.functionsExplorerState=new Yki(this),this.parametersState=new Kki(this),this.filterState=new JSi(this,this.filterOperators),this.watermarkState=new EOi(this),this.checkEntitlementsState=new kOi(this),this.isCalendarEnabled=!1;const t=this.fetchStructureState.implementation.type;this.fetchStructureState=new gTi(this),t!==this.fetchStructureState.implementation.type&&this.fetchStructureState.changeImplementation(t)}changeClass(e){this.resetQueryResult(),this.resetQueryContent(),this.setGetAllFunction(jct.GET_ALL),this.setClass(e),this.explorerState.refreshTreeData(),this.fetchStructureState.implementation.onClassChange(e),this.milestoningState.updateMilestoningConfiguration(),this.changeHistoryState.cacheNewQuery(this.buildQuery())}changeMapping(e,t){this.resetQueryResult(),t?.keepQueryContent||(this.resetQueryContent(),this.setGetAllFunction(jct.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 DE(e,this.unsupportedQueryState.rawLambda?.body)),Gs(this.unsupportedQueryState.rawLambda)}return m6(vEi(this,{keepSourceInformation:Boolean(e?.keepSourceInformation),useTypedRelationFunctions:this.isFetchStructureTyped}),this.graphManagerState)}buildFromQuery(){Ks(this.isQuerySupported,"Query must be supported to build from function");const e=Gs(this.executionContextState.mapping,"Mapping required to build from() function"),t=Gs(this.executionContextState.runtimeValue,"Runtime required to build from query"),n=js(t,h$).packageableRuntime,i=((e,t,n)=>{const i=Gs(e.expressionSequence[0]),r=new YE(sS(exports.SUPPORTED_FUNCTIONS.FROM)),s=new PE(nS.ONE,void 0);s.values=[XC.create(t)];const o=new PE(nS.ONE,void 0);return o.values=[XC.create(n)],r.parametersValues=[i,s,o],e.expressionSequence=[r],e})(vEi(this),e,n.value);return m6(i,this.graphManagerState)}getQueryReturnType(){if(this.fetchStructureState.implementation instanceof Rwi){return this.lambdaWriteMode===GOi.STANDARD?this.graphManagerState.graph.getClass(zct.TDS_TABULAR_DATASET):this.graphManagerState.graph.getType(zct.RELATION)}return gS.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(),!Ij(e)){const t=xte(this.graphManagerState.graphManager.buildValueSpecification(this.graphManagerState.graphManager.serializeRawValueSpecification(e),this.graphManagerState.graph),this.observerContext),i=js(t,ZE,"Can't build query state: query builder only support lambda");tLi(Gs(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){Kr(s),this.applicationStore.logService.error(vb.create(Dct.UNSUPPORTED_QUERY_LAUNCH),s),this.resetQueryResult({preserveResult:t?.preserveResult}),this.resetQueryContent(),this.unsupportedQueryState.setLambdaError(s),this.unsupportedQueryState.setRawLambda(e),this.setClass(void 0);const o=(i=e,r=this.graphManagerState,(i.parameters??[]).map(e=>r.graphManager.buildValueSpecification(e,r.graph))).map(e=>xte(e,this.observerContext)).filter(zs(ME));eLi(o,this,{parameterValues:n})}var i,r}*compileQuery(){if(this.textEditorState.mode){if(this.textEditorState.mode===fTi.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(Kr(e),e instanceof RZ){this.applicationStore.logService.error(vb.create(sw.COMPILATION_FAILURE),e),this.applicationStore.notificationService.notifyWarning(`Compilation failed: ${e.message}`,e.trace);ete(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){Kr(e),this.applicationStore.logService.error(vb.create(sw.COMPILATION_FAILURE),e);let t=!0;e instanceof RZ&&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(fTi.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 _3(this.graphManagerState.graph)}INTERNAL__toBasicQueryBuilderState(){const e=new zOi(this.applicationStore,this.graphManagerState,this.workflowState,void 0);return e.class=this.class,e.executionContextState.mapping=this.executionContextState.mapping,e.executionContextState.runtimeValue=this.executionContextState.runtimeValue,e}get hashCode(){return $v([wdt.QUERY_BUILDER_STATE,this.unsupportedQueryState,this.milestoningState,this.parametersState,this.filterState,this.watermarkState,this.checkEntitlementsState,this.fetchStructureState.implementation])}}class zOi extends HOi{}class WOi{queryBuilderState;binding;inputData;constructor(e,t,n){this.queryBuilderState=n,this.binding=e,this.inputData=t}}const jOi=(e,t,n)=>{t.fetchStructureState.changeImplementation(xSi.GRAPH_FETCH),Ks(2===e.parametersValues.length||3===e.parametersValues.length,"Can't process serialize() expression: serialize() expects 1 or 2 argument");const i=js(e.parametersValues[0],YE,"Can't process serialize() expression: only support serialize() immediately following an expression");if(Ks(lS(i.functionName,[$ct.GRAPH_FETCH,$ct.GRAPH_FETCH_CHECKED]),"Can't process serialize() expression: only support serialize() in graph-fetch expression"),JOi.process(i,n,t),t.fetchStructureState.implementation instanceof hTi){const n=t.fetchStructureState.implementation,i=js(e.parametersValues[1],rw,"Can't process serialize() expression: serialize() graph-fetch is missing"),r=js(i.values[0],tw,"Can't process serialize() expression: serialize() graph-fetch tree root is missing");Ks(0===r.subTypeTrees.length,"Can't process serialize() expression: subTypeTree is not supported."),n.setGraphFetchTree(Zxi(r));const s=e.parametersValues[2];if(s){const e=js(s,YE,"Can't process serialize() expression: serialize() function expects a function to configure custom serialization");Ks(lS(e.functionName,[exports.SUPPORTED_FUNCTIONS.NEW]),"Can't process serialize() expression: config expects 'new' function instaniate new config class");const t=js(n.serializationState,dTi,"Can't process serialize() expression: serialization state expected to be of type pure with serialize()"),i=js(js(js(e.parametersValues[0],PE,"Can't process serialize() expression: serialization config expects first param to be an instance value").values[0],KC,"Can't process serialize() expression: serialization config expects first param to be a packageable element").value,wS,"Can't process serialize() expression: serialization config expects first param to be a class");Ks(i.path===zct.SERIALIZE_CONFIG,`Can't process serialize() expression: serialiaztion config class expected to be '${zct.SERIALIZE_CONFIG}', got : ${i.path}`);const r=js(e.parametersValues[2],VE,"Can't process serialize() expression: serialization config expects third param to be a collection instance of key expressions"),o=new lTi;r.values.forEach((e,t)=>{const n=js(e,GE,`Can't process serialize() expression: collection instance value expects value ${t+1} to be key expression instance `);((e,t,n,i)=>{const r=js(e.key,FE,`Can't process serialize() expression: serialization config key expression ${i} key expected to be a primitive value`);Ks(r.genericType.value.rawType.path===TC.STRING,`Can't process serialize() expression: serialization config key expression ${i} key expected to be a primitive string value`);const s=io(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);Gs(o.find(e=>e===s),`Property name '${s}' not defined in serialization config, accepted properties are ${o.join(",")}`);const a=qw(n,s),l=js(a.genericType.value.rawType,gS,`Only primitive types suppported for config. Property ${s} for class '${zct.SERIALIZE_CONFIG}' is of type '${a.genericType.value.rawType.path}'`),c=Gs(js(e.expression,FE,"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 TC.STRING:to(c);break;case TC.BOOLEAN:no(c);break;default:return}t[s]=c})(Gs(n.values[0],`Can't process serialize() expression: serialization config key expression ${t} expected to non null`),o,i,t)}),t.setConfig(o)}}},$Oi=(e,t,n)=>{const i=js(e.parametersValues[0],YE,"Can't process project() expression: only support project() immediately following an expression");Ks(lS(i.functionName,[jct.GET_ALL,jct.GET_ALL_VERSIONS,jct.GET_ALL_VERSIONS_IN_RANGE,$ct.FILTER,$ct.WATERMARK]),"Can't process project() expression: only support project() immediately following either getAll(), filter(), or forWatermark()"),JOi.process(i,n,t)},qOi=(e,t,n)=>{if(2===e.parametersValues.length)((e,t,n)=>{t.fetchStructureState.changeImplementation(xSi.TABULAR_DATA_STRUCTURE),Ks(2===e.parametersValues.length,"Can't process project() expression: project() expects 2 arguments"),$Oi(e,t,n);const i=e.parametersValues[1];i instanceof VE?i.values.map(i=>JOi.processChild(i,e,n,t)):(Ws(i,YE,"Can't process project() expression: project() expects argument #1 to be a function expression"),JOi.processChild(i,e,n,t))})(e,t,n);else{t.fetchStructureState.changeImplementation(xSi.TABULAR_DATA_STRUCTURE),Ks(3===e.parametersValues.length,"Can't process project() expression: project() expects 3 arguments"),$Oi(e,t,n);const i=e.parametersValues[1];Ws(i,VE,"Can't process project() expression: project() expects argument #1 to be a collection"),i.values.map(i=>JOi.processChild(i,e,n,t));const r=e.parametersValues[2];let s=[];if(r instanceof VE?(Ws(r,VE,"Can't process project() expression: project() expects argument #2 to be a collection or a string"),s=r.values.map(Cdt).filter(Vs)):(Ws(r,FE,"Can't process project() expression: project() expects argument #2 to be a collection or string"),s=[r.values[0]]),Ks(i.values.length===s.length,"Can't process project() expression: number of aliases does not match the number of columns"),t.fetchStructureState.implementation instanceof Rwi){t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(s[t]))}}},YOi=(e,t,n)=>{if(n.fetchStructureState.implementation instanceof Rwi){const i=n.fetchStructureState.implementation;let r=e;for(;r instanceof KE;){const e=r;for(bdt(r,n.graphManagerState.graph,n),r=Gs(r.parametersValues[0]),e.func.value instanceof US&&Ks((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 YE&&lS(r.functionName,$ct.SUBTYPE);)r=Gs(r.parametersValues[0])}Ws(r,ME,"Can't process property expression: expects expression root to be a variable");const s=new aSi(i,e,!1);i.addColumn(s,{skipSorting:!0}),t&&s.setColumnName(t),s.setLambdaParameterName(r.name)}},KOi=(e,t,n,i)=>{if(i.fetchStructureState.implementation instanceof Rwi){const r=i.fetchStructureState.implementation,s=Xr(()=>js(rD(e.content),wT));Us(s,`Can't process unknown value: only support ${n.functionName}() column expression as a lambda`);const o=new cSi(r,new DE(s.parameters,s.body));r.addColumn(o,{skipSorting:!0}),t&&o.setColumnName(t)}},XOi=(e,t,n)=>{Ks(2===e.parametersValues.length,"Can't process take() expression: take() expects 1 argument");const i=js(e.parametersValues[0],YE,"Can't process take() expression: only support take() immediately following an expression");if(Ks(lS(i.functionName,[$ct.TDS_TAKE,$ct.TDS_DISTINCT,$ct.TDS_SORT,$ct.TDS_PROJECT,$ct.TDS_GROUP_BY,$ct.TDS_FILTER,$ct.OLAP_GROUPBY]),"Can't process take() expression: only support take() in TDS expression"),JOi.process(i,n,t),t.fetchStructureState.implementation instanceof Rwi){const n=t.fetchStructureState.implementation,i=(e=>{if(e instanceof FE&&Qs(e.values[0]))return e.values[0]})(Gs(e.parametersValues[1]));n.resultSetModifierState.setLimit(i)}},QOi=(e,t,n)=>{const i=e.parametersValues.length;Ks(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=js(e.parametersValues[0],YE,"Can't process olapGroupBy() expression: only support olapGroupBy() immediately following an expression");Ks(lS(c.functionName,[$ct.TDS_TAKE,$ct.TDS_DISTINCT,$ct.TDS_SORT,$ct.TDS_PROJECT,$ct.TDS_GROUP_BY,$ct.TDS_FILTER,$ct.OLAP_GROUPBY]),"Can't process olapGroupBy() expression: only support olapGroupBy() in TDS expression"),JOi.process(c,n,t);const d=js(t.fetchStructureState.implementation,Rwi);Ws(s,VE,"Can't process olapGroupBy() expression: olapGroupBy() expects argument #1 to be a collection");const u=s.values.map(e=>{const t=io(js(e,FE,"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 NSi(d,t)});let h,p;if(r){const e=js(o,YE,"Can't process olapGroupBy sortBy expression: only support function expression of 'asc' or 'desc'"),t=(e=>{if(lS(e,$ct.TDS_ASC))return Yct.ASC;if(lS(e,$ct.TDS_DESC))return Yct.DESC;throw new Yr(`Unsupported TDS sort function: ${e}`)})(e.functionName),n=io(js(e.parametersValues[0],FE,"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=NSi(d,n);h=new ewi(i,t)}if(a instanceof YE){Ks(lS(a.functionName,[$ct.TDS_FUNC]),"Can't process olapGroupBy() operation expression: olapGroupBy() aggregation should contain function 'func'");const e=a.parametersValues,t=io(js(e[0],FE,"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=NSi(d,t),i=js(js(e[1],ZE).values[0],QE);Ks(1===i.expressionSequence.length);const r=js(i.expressionSequence[0],YE),s=Gs(d.windowState.findOperator(r.functionName),`olapGroupBy() operator '${r.functionName}' not supported`);p=new iwi(d.windowState,s,n),p.setLambdaParameterName(js(i.functionType.parameters[0],ME,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name)}else{const e=js(js(a,ZE).values[0],QE);Ks(1===e.expressionSequence.length);const t=js(e.expressionSequence[0],YE),n=Gs(d.windowState.findOperator(t.functionName),`olapGroupBy() operator '${t.functionName}' not supported`);Ks(!n.isColumnAggregator(),`Operator '${n.getLabel()}' expects a TDS column to aggregate against`),p=new nwi(d.windowState,n),p.setLambdaParameterName(js(e.functionType.parameters[0],ME,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name)}const g=io(js(l,FE,"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 rwi(d.windowState,u,h,p,g);d.windowState.addWindowColumn(m),d.setShowWindowFuncPanel(!0)},ZOi=e=>!(e instanceof YE)||!lS(e.functionName,$ct.FIRST_DAY_OF_YEAR)&&!lS(e.functionName,$ct.FIRST_DAY_OF_MONTH)&&!e.parametersValues.map(e=>ZOi(e)).includes(!1);class JOi{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 JOi(n,t,void 0))}static processChild(e,t,n,i){e.accept_ValueSpecificationVisitor(new JOi(i,n,t))}visit_INTERNAL__UnknownValueSpecification(e){if(Us(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),!lS(this.parentExpression.functionName,[$ct.TDS_PROJECT,$ct.TDS_GROUP_BY,$ct.TDS_AGG,...Object.values(Wct)]))throw new Yr(`Can't process unknown value with parent expression of function ${this.parentExpression.functionName}()`);KOi(e,void 0,this.parentExpression,this.queryBuilderState)}visit_INTERNAL__PropagatedValue(e){throw new Yr}visit_FunctionExpression(e){throw new Yr}visit_SimpleFunctionExpression(e){const t=e.functionName;if(lS(t,jct.GET_ALL))((e,t)=>{const n=e.genericType?.value.rawType;Ws(n,wS,"Can't process getAll() expression: getAll() return type is missing"),t.setClass(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=Uw(n,t.graphManagerState.graph);i?t.milestoningState.getMilestoningImplementation(i).processGetAllParamaters(e.parametersValues):Ks(1===e.parametersValues.length,"Can't process getAll() expression: getAll() expects no arguments")})(e,this.queryBuilderState);else if(lS(t,jct.GET_ALL_VERSIONS))((e,t)=>{const n=e.genericType?.value.rawType;Ws(n,wS,"Can't process getAllVersions() expression: getAllVersions() return type is missing"),t.setClass(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData(),Us(Uw(n,t.graphManagerState.graph),"Can't process getAllVersions() expression: getAllVersions() expects source class to be milestoned"),Ks(1===e.parametersValues.length,"Can't process getAllVersions() expression: getAllVersions() expects no arguments"),t.setGetAllFunction(jct.GET_ALL_VERSIONS)})(e,this.queryBuilderState);else if(lS(t,jct.GET_ALL_VERSIONS_IN_RANGE))((e,t)=>{const n=e.genericType?.value.rawType;Ws(n,wS,"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() return type is missing"),t.setClass(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=Uw(n,t.graphManagerState.graph);Ks(void 0!==i&&i!==kC.BITEMPORAL,"Can't process getAllVersionsInRange() expression: getAllVersionInRange() expects source class to be processing temporal or business temporal milestoned"),Ks(3===e.parametersValues.length,"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects start and end date"),t.setGetAllFunction(jct.GET_ALL_VERSIONS_IN_RANGE),t.milestoningState.setStartDate(Gs(e.parametersValues[1],"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects start date to be defined")),t.milestoningState.setEndDate(Gs(e.parametersValues[2],"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects end date to be defined"))})(e,this.queryBuilderState);else if(lS(t,$ct.INTERNALIZE))((e,t)=>{t.fetchStructureState.changeImplementation(xSi.GRAPH_FETCH);const n=e.functionName;Ks(3===e.parametersValues.length,`Can't process ${n}() expression: ${n}() expects 2 argument`);const i=e.parametersValues[0],r=i?.genericType?.value.rawType;Ws(r,wS,"Can't process internalize() expression: internalize() return type is missing"),t.setClass(r),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const s=js(e.parametersValues[1],PE,"Can't process internalize() expression: only support internalize() with 1st parameter as instance value"),o=js(js(s.values[0],KC,"Can't process internalize() expression: only support internalize() with 1st parameter as packagableElement value").value,IX,"Can't process internalize() expression: only support internalize() with 1st parameter as binding value"),a=js(e.parametersValues[2],ME),l=new WOi(o,a,t);t.setInternalize(l)})(e,this.queryBuilderState,this.parentLambda);else{if(lS(t,[$ct.FILTER,$ct.TDS_FILTER])){Ks(2===e.parametersValues.length,"Can't process filter() expression: filter() expects 1 argument");const n=js(e.parametersValues[0],YE,"Can't process filter() expression: only support filter() immediately following an expression");if(JOi.process(n,this.parentLambda,this.queryBuilderState),lS(n.functionName,[jct.GET_ALL,jct.GET_ALL_VERSIONS,jct.GET_ALL_VERSIONS_IN_RANGE]))return Ks(lS(t,$ct.FILTER),`Can't process filter() expression: only supports ${$ct.FILTER}() immediately following getAll() (got '${t}')`),void qxi(e,this.queryBuilderState);if(lS(n.functionName,[$ct.TDS_PROJECT,$ct.TDS_GROUP_BY,$ct.OLAP_GROUPBY]))return Ks(lS(t,$ct.TDS_FILTER),`Can't process post-filter expression: only supports ${$ct.TDS_FILTER}() immediately following project()/groupBy() (got '${t}')`),void((e,t)=>{if(t.fetchStructureState.implementation instanceof Rwi){const n=t.fetchStructureState.implementation,i=n.postFilterState,r=n.fetchStructureState,s=e.parametersValues[1];Ws(s,ZE,"Can't process post-filter expression: expects argument #1 to be a lambda function"),Ws(r.implementation,Rwi,"Can't process post-filter lambda: post-filter lambda must use projection fetch structure"),Ks(Boolean(n.projectionColumns.length),"Can't process post-filter lambda: post-filter lambda must have at least one projection column ");const o=Gs(s.values[0],"Can't process post-filter lambda: post-filter lambda function is missing");Ks(1===o.expressionSequence.length,"Can't process post-filter lambda: only support post-filter lambda body with 1 expression");const a=js(o.expressionSequence[0],qE,"Can't process post-filter lambda: only support post-filter lambda body of type 'FunctionExpression'");Ks(1===o.functionType.parameters.length,"Can't process post-filter lambda: only support post-filter lambda with 1 parameter"),i.setLambdaParameterName(js(o.functionType.parameters[0],ME,"Can't process post-filter lambda: only support filter() lambda with 1 parameter of type 'VariableExpression'").name),MSi(a,i,void 0),n.setShowPostFilterPanel(!0),i.simplifyTree()}})(e,this.queryBuilderState);if(lS(n.functionName,[$ct.WATERMARK]))return void qxi(e,this.queryBuilderState);throw new Yr("Can't process filter() expression: only support filter() immediately following getAll() or project()/forWatermark()/groupBy()/olapGroupBy()")}if(lS(t,$ct.WATERMARK))((e,t,n)=>{const i=js(e.parametersValues[0],YE,"Can't process forWatermark() expression: only support forWatermark() immediately following an expression");Ks(lS(i.functionName,[jct.GET_ALL,jct.GET_ALL_VERSIONS,jct.GET_ALL_VERSIONS_IN_RANGE]),"Can't process forWatermark() expression: only support forWatermark() immediately following getAll()"),JOi.process(i,n,t);const r=e.parametersValues[1];t.watermarkState.setValue(r)})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,[$ct.TDS_PROJECT,$ct.RELATION_PROJECT]))(n=e).functionName===$ct.RELATION_PROJECT||lS(n.functionName,[$ct.TDS_PROJECT,$ct.RELATION_PROJECT])&&2===n.parametersValues.length&&n.parametersValues[1]instanceof jE?((e,t,n)=>{Ks(2===e.parametersValues.length,"Can't process typed project() expression: typed project() expects 2 arguments"),t.fetchStructureState.changeImplementation(xSi.TABULAR_DATA_STRUCTURE);const i=js(e.parametersValues[0],YE,"Can't process typed project() expression: only support typed project() immediately following an expression");Ks(lS(i.functionName,[jct.GET_ALL,jct.GET_ALL_VERSIONS,jct.GET_ALL_VERSIONS_IN_RANGE,$ct.FILTER,$ct.WATERMARK]),"Can't process typed project() expression: only support typed project() immediately following either getAll(), filter(), or forWatermark()"),JOi.process(i,n,t);const r=e.parametersValues[1];Ws(r,jE,"Can't process typed project() expression: typed project() expects argument #1 to be a ColSpec Array Instance"),t.setLambdaWriteMode(GOi.TYPED_FETCH_STRUCTURE),JOi.processChild(r,e,n,t)})(e,this.queryBuilderState,this.parentLambda):qOi(e,this.queryBuilderState,this.parentLambda);else if(lS(t,$ct.TDS_COL))((e,t)=>{Ks(2===e.parametersValues.length,"Can't process col() func expression: col() expects 2 argument");const n=js(e.parametersValues[0],ZE,"Can't process col() func expressionn: only support col() immediately following an lambda function"),i=js(e.parametersValues[1],FE,"Can't process col() func expression: the #2 argument of col() should be a string");YOi(js(n.values[0]?.expressionSequence[0],KE,"Can't process col() func expression: lambda function of col() should contain AbstractPropertyExpression"),i.values[0],t),t.fetchStructureState.implementation instanceof Rwi&&t.fetchStructureState.implementation.setUseColFunc(!0)})(e,this.queryBuilderState);else if(lS(t,[$ct.TDS_TAKE,$ct.RELATION_LIMIT]))XOi(e,this.queryBuilderState,this.parentLambda);else if(lS(t,$ct.TDS_DISTINCT))((e,t,n)=>{Ks(1===e.parametersValues.length,"Can't process disctinct() expression: distinct() expects no parameter");const i=js(e.parametersValues[0],YE,"Can't process distinct() expression: only support distinct() immediately following an expression");Ks(lS(i.functionName,[$ct.TDS_TAKE,$ct.TDS_DISTINCT,$ct.TDS_SORT,$ct.TDS_PROJECT,$ct.TDS_GROUP_BY,$ct.TDS_FILTER,$ct.OLAP_GROUPBY]),"Can't process distinct() expression: only support distinct() in TDS expression"),JOi.process(i,n,t),t.fetchStructureState.implementation instanceof Rwi&&(t.fetchStructureState.implementation.resultSetModifierState.distinct=!0)})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,$ct.TDS_SORT))((e,t,n)=>{Ks(2===e.parametersValues.length,"Can't process sort() expression: sort() expects 1 argument");const i=js(e.parametersValues[0],YE,"Can't process sort() expression: only support sort() immediately following an expression");Ks(lS(i.functionName,[$ct.TDS_TAKE,$ct.TDS_DISTINCT,$ct.TDS_SORT,$ct.TDS_PROJECT,$ct.TDS_GROUP_BY,$ct.TDS_FILTER,$ct.OLAP_GROUPBY]),"Can't process sort() expression: only support sort() in TDS expression"),JOi.process(i,n,t);const r=e.parametersValues[1];Ws(r,VE,"Can't process sort() expression: sort() argument should be a collection"),r.values.map(i=>JOi.processChild(i,e,n,t))})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,$ct.SLICE))((e,t,n)=>{Ks(3===e.parametersValues.length,"Can't process slice() expression: slice() expects 2 argument");const i=js(e.parametersValues[0],YE,"Can't process slice() expression: only support slice() immediately following an expression");if(Ks(lS(i.functionName,[$ct.TDS_TAKE,$ct.TDS_DISTINCT,$ct.TDS_SORT,$ct.TDS_PROJECT,$ct.TDS_GROUP_BY,$ct.TDS_FILTER,$ct.OLAP_GROUPBY]),"Can't process slice() expression: only support slice() in TDS expression"),JOi.process(i,n,t),t.fetchStructureState.implementation instanceof Rwi){const n=t.fetchStructureState.implementation,i=ro(js(e.parametersValues[1],FE,"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=ro(js(e.parametersValues[2],FE,"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(lS(t,[$ct.TDS_ASC,$ct.TDS_DESC]))((e,t,n)=>{const i=e.functionName;if(Ks(Boolean(t&&lS(t.functionName,$ct.TDS_SORT)),`Can't process ${i}() expression: only support ${i}() used within a sort() expression`),Ks(1===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects one argument`),n.fetchStructureState.implementation instanceof Rwi){const t=n.fetchStructureState.implementation,r=Cdt(Gs(e.parametersValues[0])),s=t.tdsColumns.find(e=>e.columnName===r);if(s){const e=new ESi(s);e.sortType=lS(i,$ct.TDS_ASC)?Yct.ASC:Yct.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(lS(t,[$ct.RELATION_ASC,$ct.RELATION_DESC]))((e,t,n)=>{const i=e.functionName;if(Ks(Boolean(t&&lS(t.functionName,$ct.TDS_SORT)),`Can't process ${i}() expression: only support ${i}() used within a sort() expression`),Ks(1===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects one argument`),n.fetchStructureState.implementation instanceof Rwi){const t=n.fetchStructureState.implementation,r=js(e.parametersValues[0],zE);Ks(1===r.values.length,`Can't process ${i}() expression: Col Spec Instance Value expects one value`);const s=Gs(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 ESi(o);e.sortType=lS(i,$ct.RELATION_ASC)?Yct.ASC:Yct.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(lS(t,[$ct.TDS_GROUP_BY,$ct.RELATION_GROUP_BY]))(e=>e.functionName===$ct.RELATION_GROUP_BY||lS(e.functionName,[$ct.TDS_GROUP_BY,$ct.RELATION_GROUP_BY])&&3===e.parametersValues.length&&e.parametersValues[1]instanceof jE)(e)?((e,t,n)=>{Ks(3===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 2 arguments");const i=js(e.parametersValues[0],YE,"Can't process groupBy() expression: only support groupBy() immediately following an expression");Ks(lS(i.functionName,[$ct.RELATION_PROJECT]),"Can't process groupBy() expression: only support groupBy() immediately following relation project()"),JOi.process(i,n,t);const r=js(t.fetchStructureState.implementation,Rwi),s=js(e.parametersValues[1],jE,"Can't process groupBy() expression: groupBy() expects argument #1 to be a ColSpecArrayInstance");Ks(1===s.values.length,"Can't process groupBy() expression: groupBy() expects argument #1 to be a ColSpecArrayInstance with 1 element"),t.setLambdaWriteMode(GOi.TYPED_FETCH_STRUCTURE),s.values[0]?.colSpecs.forEach(e=>{Ks(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];Ws(o,jE,"Can't process groupBy() expression: groupBy() expects argument #2 to be a ColSpecArrayInstance"),JOi.processChild(o,e,n,t)})(e,this.queryBuilderState,this.parentLambda):((e,t,n)=>{t.fetchStructureState.changeImplementation(xSi.TABULAR_DATA_STRUCTURE),Ks(4===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 3 arguments");const i=js(e.parametersValues[0],YE,"Can't process groupBy() expression: only support groupBy() immediately following an expression");Ks(lS(i.functionName,[jct.GET_ALL,jct.GET_ALL_VERSIONS,jct.GET_ALL_VERSIONS_IN_RANGE,$ct.FILTER]),"Can't process groupBy() expression: only support groupBy() immediately following either getAll() or filter()"),JOi.process(i,n,t);const r=e.parametersValues[1];Ws(r,VE,"Can't process groupBy() expression: groupBy() expects argument #1 to be a collection"),r.values.map(i=>JOi.processChild(i,e,n,t));const s=e.parametersValues[2];Ws(s,VE,"Can't process groupBy() expression: groupBy() expects argument #2 to be a collection"),s.values.map(i=>JOi.processChild(i,e,n,t));const o=e.parametersValues[3];Ws(o,VE,"Can't process groupBy() expression: groupBy() expects argument #3 to be a collection"),Ks(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(Cdt).filter(Vs);t.fetchStructureState.implementation instanceof Rwi&&t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(a[t]))})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,$ct.TDS_AGG))((e,t,n,i)=>{if(Ks(Boolean(t&&lS(t.functionName,$ct.TDS_GROUP_BY)),"Can't process agg() expression: only support agg() used within a groupBy() expression"),Ks(2===e.parametersValues.length,"Can't process agg() expression: agg() expects 2 arguments"),JOi.processChild(Gs(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof Rwi){const t=n.fetchStructureState.implementation,i=t.aggregationState,r=Gs(t.projectionColumns[t.projectionColumns.length-1]),s=e.parametersValues[1];Ws(s,ZE,"Can't process agg() expression: agg() expects argument #1 to be a lambda function");const o=Gs(s.values[0],"Can't process agg() lambda: agg() lambda function is missing");Ks(1===o.expressionSequence.length,"Can't process agg() lambda: only support agg() lambda body with 1 expression");const a=js(o.expressionSequence[0],YE,"Can't process agg() lambda: only support agg() lambda body with 1 expression");let l;if(n.isCalendarEnabled){const t=e.parametersValues[0];Ws(t,ZE,"Can't process agg() expression: agg() expects argument #0 to be a lambda function");const n=Gs(t.values[0],"Can't process agg() lambda: agg() lambda function is missing");Ks(1===n.expressionSequence.length,"Can't process agg() lambda: only support agg() lambda body with 1 expression"),l=n.expressionSequence[0]instanceof YE?n.expressionSequence[0]:void 0}Ks(1===o.functionType.parameters.length,"Can't process agg() lambda: only support agg() lambda with 1 parameter");const c=js(o.functionType.parameters[0],ME,"Can't process agg() lambda: only support agg() lambda with 1 parameter");for(const e of i.operators){const t=Xr(()=>e.buildAggregateColumnState(a,c,r));if(r.wavgWeight&&t&&t.operator instanceof ZEi&&t.operator.setWeight(r.wavgWeight),t){if(i.addColumn(t),n.isCalendarEnabled&&void 0!==l)for(const e of i.calendarFunctions)Xr(()=>e.updateAggregateColumnState(Gs(l),t));return void(t.calendarFunction||t.setHideCalendarColumnState(!0))}}throw new Yr("Can't process aggregate expression function: no compatible aggregate operator processer available from plugins")}})(e,this.parentExpression,this.queryBuilderState,this.parentLambda);else if(lS(t,$ct.OLAP_GROUPBY))QOi(e,this.queryBuilderState,this.parentLambda);else if(lS(t,$ct.SERIALIZE))jOi(e,this.queryBuilderState,this.parentLambda);else if(lS(t,$ct.EXTERNALIZE))((e,t,n)=>{t.fetchStructureState.changeImplementation(xSi.GRAPH_FETCH),Ks(3===e.parametersValues.length,"Can't process externalize() expression: externalize() expects 2 argument");const i=js(e.parametersValues[0],YE,"Can't process externalize() expression: only support externalize() immediately following an expression");if(Ks(lS(i.functionName,[$ct.GRAPH_FETCH,$ct.GRAPH_FETCH_CHECKED,$ct.INTERNALIZE]),"Can't process externalize() expression: only support externalize() in graph-fetch expression"),JOi.process(i,n,t),t.fetchStructureState.implementation instanceof hTi){const n=t.fetchStructureState.implementation,r=js(i.parametersValues[1],rw,"Can't process graphfetch() expression: externalize() graph-fetch is missing"),s=js(r.values[0],tw,"Can't process graphfetch() expression: graph-fetch tree root is missing");n.setGraphFetchTree(Zxi(s));const o=js(e.parametersValues[1],PE,"Can't process externalize() expression: only support externalize() with 1st parameter as instance value"),a=js(js(o.values[0],KC,"Can't process externalize() expression: only support externalize() with 1st parameter as packagableElement value").value,IX,"Can't process externalize() expression: only support externalize() with 1st parameter as binding value"),l=new uTi(n,a,void 0);n.setSerializationState(l);const c=js(e.parametersValues[2],rw,"Can't process externalize() expression: externalize() graph-fetch is missing"),d=js(c.values[0],tw,"Can't process externalize() expression: externalize() graph-fetch tree root is missing");l.setGraphFetchTree(Zxi(d))}})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,[$ct.GRAPH_FETCH_CHECKED,$ct.GRAPH_FETCH]))((e,t,n)=>{const i=e.functionName;Ks(2===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects 1 argument`);const r=js(e.parametersValues[0],YE,`Can't process ${i}() expression: only support ${i}() immediately following an expression`);Ks(lS(r.functionName,[$ct.FILTER,jct.GET_ALL,jct.GET_ALL_VERSIONS,jct.GET_ALL_VERSIONS_IN_RANGE]),`Can't process ${i}(): only support ${i}() immediately following either getAll() or filter()`),JOi.process(r,n,t),t.fetchStructureState.implementation instanceof hTi&&t.fetchStructureState.implementation.setChecked(lS(e.functionName,$ct.GRAPH_FETCH_CHECKED))})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,[exports.SUPPORTED_FUNCTIONS.LET]))((e,t,n)=>{const i=e.parametersValues;Ks(2===e.parametersValues.length,"Let function expected to have two parameters (left and right side value)");const r=io(js(i[0],FE,"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=Gs(n.openVariables.get(r),`Unable to find variable ${r} in lambda function`),o=Gs(i[1]);let a;a=o instanceof LE?new AOi(t,s,o.content):ZOi(o)?new xOi(t,s,o):new AOi(t,s,t.graphManagerState.graphManager.serializeValueSpecification(o)),t.constantState.setShowConstantPanel(!0),t.constantState.addConstant(a)})(e,this.queryBuilderState,this.parentLambda);else{if(lS(t,[exports.SUPPORTED_FUNCTIONS.FROM])){const t=e.parametersValues;return Ks(3===t.length,"From function expects 2 parameters (mapping and runtime)"),((e,t)=>{const n=js(e.parametersValues[1],PE,"Can't process from() expression: only support from() with 1st parameter as instance value"),i=js(js(n.values[0],KC,"Can't process from() expression: only support from() with 1st parameter as packagableElement value").value,dw,"Can't process from() expression: only support from() with 1st parameter as mapping value"),r=js(e.parametersValues[2],PE,"Can't process from() expression: only support from() with 2nd parameter as instance value"),s=js(js(r.values[0],KC,"Can't process from() expression: only support from() with 2nd parameter as packagableElement value").value,pw,"Can't process from() expression: only support from() with 2nd parameter as runtime value"),o=new gEi(t);o.setMapping(i),o.setRuntimeValue(new h$(XC.create(s))),t.setExecutionContextState(o)})(e,this.queryBuilderState),void JOi.processChild(Gs(t[0]),e,this.parentLambda,this.queryBuilderState)}if(lS(t,Object.values(Wct)))return this.queryBuilderState.isCalendarEnabled=!0,Ks(4===e.parametersValues.length,"Calendar function expected to have four parameters"),void JOi.processChild(Gs(e.parametersValues[3]),e,this.parentLambda,this.queryBuilderState);var n;if(!lS(t,$ct.WAVG_ROW_MAPPER))throw new Yr(`Can't process expression of function ${t}()`);((e,t,n,i)=>{if(Ks(Boolean(t&&lS(t.functionName,$ct.TDS_AGG)),"Can't process wavgRowMapper() expression: only support wavgRowMapper() used within an agg() expression"),Ks(2===e.parametersValues.length,"Can't process wavgRowMapper() expression: wavgRowMapper() expects 2 arguments"),e.parametersValues.map(e=>Ws(e,KE,"Can't process wavgRowMapper() expression: wavgRowMapper() expects arguments to be Property Expressions")),JOi.processChild(Gs(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof Rwi){const t=n.fetchStructureState.implementation;Gs(t.projectionColumns[t.projectionColumns.length-1]).setWavgWeight(e.parametersValues[1])}})(e,this.parentExpression,this.queryBuilderState,this.parentLambda)}}}visit_VariableExpression(e){throw new Yr}visit_AbstractPropertyExpression(e){if(Us(this.parentExpression,"Can't process property expression: parent expression cannot be retrieved"),!lS(this.parentExpression.functionName,[$ct.TDS_PROJECT,$ct.RELATION_PROJECT,$ct.TDS_GROUP_BY,$ct.TDS_AGG,$ct.WAVG_ROW_MAPPER,...Object.values(Wct)]))throw new Yr(`Can't process property expression with parent expression of function ${this.parentExpression.functionName}()`);YOi(e,void 0,this.queryBuilderState)}visit_InstanceValue(e){throw new Yr}visit_KeyExpressionInstanceValue(e){throw new Yr}visit_CollectionInstanceValue(e){throw new Yr}visit_EnumValueInstanceValue(e){throw new Yr}visit_PrimitiveInstanceValue(e){throw new Yr}visit_LambdaFunctionInstanceValue(e){e.values.forEach(e=>e.expressionSequence.forEach(e=>e.accept_ValueSpecificationVisitor(new JOi(this.queryBuilderState,this.parentLambda,this.parentExpression))))}visit_GraphFetchTreeInstanceValue(e){throw new Yr}visit_ColSpecArrayInstance(e){if(Us(this.parentExpression,"Can't process col spec aray instance: parent expression cannot be retrieved"),lS(this.parentExpression.functionName,[$ct.RELATION_PROJECT])){const t=e.values;return Ks(1===t.length,"Can't process col spec array instance: value expected to be of size 1"),void Gs(t[0]).colSpecs.forEach(e=>{const t=js(e.function1,ZE,"Can't process col spec: function1 not a lambda function instance value");Ks(1===t.values.length);const n=Gs(t.values[0]);Ks(1===n.expressionSequence.length);const i=Gs(n.expressionSequence[0]);i instanceof KE?YOi(i,e.name,this.queryBuilderState):i instanceof LE&&(Us(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),KOi(i,e.name,this.parentExpression,this.queryBuilderState))})}if(lS(this.parentExpression.functionName,[$ct.RELATION_GROUP_BY])){const t=e.values;return Ks(1===t.length,"Can't process col spec array instance: value expected to be of size 1"),void Gs(t[0]).colSpecs.forEach(e=>{((e,t,n)=>{Ks(Boolean(t&&lS(t.functionName,$ct.RELATION_GROUP_BY)),"Can't process typed aggregation ColSpec: only supported when used within a groupBy() expression");const i=js(e.function1,ZE,"Can't process colSpec: function1 is not a lambda function instance value");Ks(1===i.values.length,"Can't process typed aggregation ColSpec. function1 should only have 1 lambda value."),Ks(1===Gs(i.values[0]).expressionSequence.length,"Can't process typed aggregation ColSpec. function1 lambda should only have 1 expression.");const r=js(e.function2,ZE,"Can't process colSpec: function2 is not a lambda function instance value");if(n.fetchStructureState.implementation instanceof Rwi){const i=n.fetchStructureState.implementation,s=i.aggregationState,o=Gs(i.projectionColumns.find(t=>t.columnName===e.name),`Projection column with name ${e.name} not found`),a=Gs(r.values[0],"Can't process colSpec: function2 lambda function is missing");Ks(1===a.expressionSequence.length,"Can't process colSpec: only support colSpec function2 lambda body with 1 expression"),Ks(1===a.functionType.parameters.length,"Can't process colSpec function2 lambda: only support lambda with 1 parameter");const l=js(a.expressionSequence[0],YE,"Can't process colSpec: only support colSpec function2 lambda body with 1 expression"),c=js(a.functionType.parameters[0],ME,"Can't process colSpec function2 lambda: parameter is missing");for(const n of s.operators){const i=Xr(()=>n.buildAggregateColumnState(l,c,o));if(o.wavgWeight&&i&&i.operator instanceof ZEi&&i.operator.setWeight(o.wavgWeight),i){s.addColumn(i);const n=js(t?.genericType?.value.typeArguments?.[0]?.value.rawType,SS,"Can't process colSpec: parent groupBy() expression's return type is not a relation"),r=Gs(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?yS.create(new ES(o)):r.genericType)}}}throw new Yr("Can't process aggregate expression function: no compatible aggregate operator processer available from plugins")})(e,this.parentExpression,this.queryBuilderState)})}throw new Yr(`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 eLi=(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 ME&&Qct(i,e))r=n.value;else if(Xs(i)&&i===e.name){const t=n.value?.genericType?.value.rawType,i=e.genericType?.value.rawType;t&&i&&Qw(i,t)&&(r=n.value)}});const s=new dEi(e,t.observerContext,t.graphManagerState.graph);r?s.setValue(r):s.mockParameterValue(),i.addParameter(s)}),t.parametersState=i},tLi=(e,t,n)=>{e.functionType.parameters.length&&eLi(e.functionType.parameters,t,n),e.expressionSequence.map(n=>JOi.process(n,e,t))},nLi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),Yne.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:Yne.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:TC.STRICTDATE}),s(new OCi(e.target.value,ACi.ABSOLUTE_DATE))}})})},iLi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),Yne.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:Yne.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:TC.DATETIME}),s(new OCi(e.target.value,ACi.ABSOLUTE_TIME))}})})},rLi=e=>{const{customDateOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Wat(),o=n.useRef(null),[a,l]=n.useState(t.duration),[c,d]=n.useState(t.unit??NCi.DAYS),[u,h]=n.useState(t.direction??DCi.BEFORE),[p,g]=n.useState(t.referenceMoment??kCi.TODAY),m=(e,t,n,s)=>{if(0!==e&&""!==t&&""!==n&&""!==s){const o=new LCi(ACi.CUSTOM_DATE,ACi.CUSTOM_DATE,e,t,n,s);i(void 0,o);const a=FCi.filter(e=>e.generateDisplayLabel()===o.generateDisplayLabel());a.length>0?(o.label=Gs(a[0]?.label),o.value=Gs(a[0]?.value)):o.updateLabel(),r(o)}};return n.useEffect(()=>{o.current?.focus()},[]),Yne.jsxs("div",{className:"value-spec-editor__date-picker__custom-date",children:[Yne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Yne.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?Xr(()=>(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,u,p)}})}),Yne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Yne.jsx(BOe,{placeholder:"Unit",className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(NCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{d(e.value),m(a,e.value,u,p)},value:{value:c,label:c},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})}),Yne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Yne.jsx(BOe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(DCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{h(e.value),m(a,c,e.value,p)},value:{value:u,label:u},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})}),Yne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Yne.jsx(BOe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(kCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{g(e.value),m(a,c,u,e.value)},value:{value:p,label:p},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})},sLi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Wat(),o=n.useRef(null),[a,l]=n.useState(t instanceof MCi?t.unit:null);return n.useEffect(()=>{o.current?.focus()},[]),Yne.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:Yne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Yne.jsx(BOe,{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(RCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=Object.values(kCi).filter(t=>t.toString().includes(e)),n=t.length>0?new MCi(Gs(t[0]?.toString()),e):new MCi("",void 0);i(void 0,n),r(n)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},oLi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Wat(),o=n.useRef(null),[a,l]=n.useState(t instanceof PCi?t.day:null);return n.useEffect(()=>{o.current?.focus()},[]),Yne.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:Yne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Yne.jsx(BOe,{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(ICi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=new PCi(`Previous ${e}`,e);i(void 0,t),r(t)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},aLi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,hasError:s,typeCheckOption:o,displayAsEditableValue:a,handleBlur:l,readOnly:c}=e,d=Wat(),u=o.match?Object.values([ACi.ABSOLUTE_TIME,ACi.NOW]):Object.values(ACi),[h,p]=n.useState(HCi(t,d)),[g,m]=n.useState(null),f=e=>{m(e.currentTarget)};return n.useEffect(()=>{p(HCi(t,d))},[d,t]),Yne.jsxs(Yne.Fragment,{children:[a?Yne.jsx("span",{className:zse("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}"`:Yne.jsx(Yne.Fragment,{children:" "})}):Yne.jsx("button",{className:zse("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"}),Yne.jsxs(TCe,{open:Boolean(g),slotProps:{transition:{onEnter:()=>{p(HCi(t,d))}}},anchorEl:g,onClose:()=>{p(HCi(t,d)),m(null),l?.()},anchorOrigin:{vertical:a?20:"bottom",horizontal:a?50:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[Yne.jsx(oLe,{className:"value-spec-editor__date-picker__options",value:h.value,onChange:e=>{const t=new OCi(e.target.value,e.target.value);if(ACi.LATEST_DATE===t.value)r(void 0,e.target.value,{primitiveTypeEnum:TC.LATESTDATE});else if(![ACi.ABSOLUTE_DATE,ACi.ABSOLUTE_TIME,ACi.CUSTOM_DATE,ACi.FIRST_DAY_OF,ACi.PREVIOUS_DAY_OF_WEEK].includes(t.value)){const e=FCi.filter(e=>e.value===t.value);e.length>0?r(void 0,Gs(e[0])):r(void 0,t)}p(t)},row:!0,options:u,size:2}),(()=>{switch(h.value){case ACi.ABSOLUTE_DATE:return Yne.jsx(nLi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case ACi.ABSOLUTE_TIME:return Yne.jsx(iLi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case ACi.CUSTOM_DATE:return Yne.jsx(rLi,{customDateOptionValue:GCi(t,d),updateValueSpecification:r,setDatePickerOption:p});case ACi.FIRST_DAY_OF:return Yne.jsx(sLi,{customDateAdjustOptionValue:HCi(t,d),updateValueSpecification:r,setDatePickerOption:p});case ACi.PREVIOUS_DAY_OF_WEEK:return Yne.jsx(oLi,{customDateAdjustOptionValue:HCi(t,d),updateValueSpecification:r,setDatePickerOption:p});default:return null}})()]})]})},lLi=e=>{const{variable:t,children:n,placement:i}=e,r=t.genericType?.value.rawType;return Yne.jsx(hCe,{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:Yne.jsxs("div",{className:"value-spec-paramater__tooltip__content",children:[Yne.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[Yne.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Type"}),Yne.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:r?.name??"(unknown)"})]}),Yne.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[Yne.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Var Name"}),Yne.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:t.name})]}),Yne.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[Yne.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Multiplicity"}),Yne.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:Zw(t.multiplicity)})]})]}),children:n})},cLi="VARIABLE",dLi=Vse(e=>{const{valueSpecification:t,resetValue:n,isConstant:i,className:r}=e,s=t.name;return Yne.jsxs(Yne.Fragment,{children:[Yne.jsx($Pe,{labelGetter:e=>e.variable.name,types:[cLi]}),Yne.jsxs("div",{className:zse("value-spec-editor__variable",r,{"value-spec-editor__variable__constant":i}),children:[Yne.jsx("div",{className:"value-spec-editor__variable__icon",children:i?Yne.jsx("div",{className:"icon",children:"C"}):Yne.jsx(hre,{})}),Yne.jsxs("div",{className:"value-spec-editor__variable__label",children:[Yne.jsx("div",{className:"value-spec-editor__variable__text",children:s}),Yne.jsx(lLi,{variable:t,children:Yne.jsx("div",{className:"value-spec-editor__variable__info",children:Yne.jsx(Tre,{})})}),Yne.jsx("button",{className:"value-spec-editor__variable__reset-btn",name:"Reset",title:"Reset",onClick:n,children:Yne.jsx(yie,{})})]})]})]})}),uLi=Vse(n.forwardRef((e,t)=>{const{valueSpecification:n,valueSelector:i,updateValueSpecification:r,errorChecker:s,resetValue:o,handleBlur:a,handleKeyDown:l,className:c,selectorSearchConfig:d,selectorConfig:u,lightMode:h,readOnly:p}=e,g=Boolean(d),m=Wat(),f=i(n),y=f?{value:f,label:f}:null,v=d?.reloadValues,_=d?.isLoading,b=d?.values?.length?d.values.map(e=>({value:e,label:e.toString()})):void 0,C=void 0===d?.values?()=>null:void 0,S=`reset-${i(n)}`,E=`input-${i(n)}`;return Yne.jsxs("div",{className:zse("value-spec-editor",c),onBlur:e=>{e.relatedTarget?.name!==S&&e.relatedTarget?.name!==E&&a?.()},children:[g?Yne.jsx(BOe,{className:"value-spec-editor__enum-selector",options:b,onChange:e=>{const t=null===e?"":e.value.toString();r(n,t)},value:y,inputValue:f??"",onInputChange:(e,t)=>{if("input-change"===t.action){r(n,e),v?.cancel();const t=v?.(e);t&&t.catch(m.alertUnhandledError)}"input-blur"===t.action&&(v?.cancel(),d?.cleanUpReloadValues?.())},darkMode:!h,isLoading:_,allowCreateWhileLoading:!0,noOptionsMessage:C,components:{DropdownIndicator:null},hasError:s?.(n),placeholder:""===f?"(empty)":void 0,inputRef:t,onKeyDown:l,inputName:E,optionCustomization:u?.optionCustomization,disabled:p}):Yne.jsx(dxe,{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:E,disabled:p}),Yne.jsx("button",{className:"value-spec-editor__reset-btn",name:S,title:"Reset",onClick:o,disabled:p,children:Yne.jsx(yie,{})})]})})),hLi=Vse(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,className:s,readOnly:o}=e,a=n(t);return Yne.jsxs("div",{className:zse("value-spec-editor",s),children:[Yne.jsx("button",{role:"checkbox",className:zse("value-spec-editor__toggler__btn",{"value-spec-editor__toggler__btn--toggled":a}),onClick:()=>{i(t,!a)},disabled:o,children:a?Yne.jsx(ire,{}):Yne.jsx(Hre,{})}),Yne.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:o,children:Yne.jsx(yie,{})})]})}),pLi=Vse(n.forwardRef((e,t)=>{const{valueSpecification:i,valueSelector:r,updateValueSpecification:s,errorChecker:o,resetValue:a,handleBlur:l,handleKeyDown:c,className:d,isInteger:u,readOnly:h}=e,[p,g]=n.useState(r(i)?.toString()??""),m=n.useRef(null);n.useImperativeHandle(t,()=>m.current,[]);const f=p?u?Number.parseInt(Number(p).toString(),10):Number(p):null,y=e=>{if(e){const t=u?Number.parseInt(Number(e).toString(),10):Number(e);isNaN(t)||t===r(i)||s(i,t)}else a()},v=()=>{if(null!==f&&isNaN(f))try{const e=ro(vJn(p));y(e.toString()),g(e.toString())}catch{const e=r(i)?.toString()??"";y(e),g(e)}else null!==f?(y(f.toString()),g(f.toString())):a()};n.useEffect(()=>{if(null!==f&&!isNaN(f)&&f!==r(i)){const e=null!==r(i)?r(i).toString():"";g(e)}},[f,i,r]);const _=`reset-${r(i)}`,b=`input-${r(i)}`,C=`calculate-${r(i)}`;return Yne.jsxs("div",{className:zse("value-spec-editor",d),onBlur:e=>{e.relatedTarget?.name!==_&&e.relatedTarget?.name!==b&&e.relatedTarget?.name!==C&&l?.()},children:[Yne.jsxs("div",{className:"value-spec-editor__number__input-container",children:[Yne.jsx("input",{ref:m,className:zse("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:p,onChange:e=>{g(e.target.value),y(e.target.value)},onBlur:v,onKeyDown:e=>{(e=>{"Enter"===e.code?(v(),m.current?.focus()):"Escape"===e.code&&m.current?.select()})(e),c?.(e)},name:b,disabled:h}),Yne.jsx("div",{className:"value-spec-editor__number__actions",children:Yne.jsx("button",{className:"value-spec-editor__number__action",title:"Evaluate Expression (Enter)",name:C,onClick:v,disabled:h,children:Yne.jsx(xie,{})})})]}),Yne.jsx("button",{className:"value-spec-editor__reset-btn",name:_,title:"Reset",onClick:a,disabled:h,children:Yne.jsx(yie,{})})]})})),gLi=Vse(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,errorChecker:r,resetValue:s,handleBlur:o,options:a,className:l,selectorConfig:c,lightMode:d,readOnly:u}=e,h=n(t),p=`reset-${n(t)}`,g=`input-${n(t)}`;return Yne.jsxs("div",{className:zse("value-spec-editor",l),onBlur:e=>{e.relatedTarget?.name!==p&&e.relatedTarget?.name!==g&&o?.()},children:[Yne.jsx(BOe,{className:"value-spec-editor__enum-selector",options:a,onChange:e=>{i(t,e.value),o?.()},value:h?{value:h,label:h}:null,darkMode:!d,hasError:r?.(t),placeholder:"Select value",autoFocus:!0,inputName:g,optionCustomization:c?.optionCustomization,disabled:u}),Yne.jsx("button",{className:"value-spec-editor__reset-btn",name:p,title:"Reset",onClick:s,disabled:u,children:Yne.jsx(yie,{})})]})}),mLi=e=>0===e.length?"":((e,t)=>zy.unparse(e,t))([e.map(e=>e instanceof FE?e.values[0]:e instanceof BE?Gs(e.values[0]).value.name:void 0).filter(Vs)]).trim(),fLi=e=>{if(e instanceof gS)switch(e.path){case TC.DATE:case TC.STRICTDATE:return"yyyy-mm-dd";case TC.DATETIME:return"yyyy-mm-ddThh:mm:ss";default:return"Add"}else{if(!(e instanceof qT))throw new Error(`Cannot get placeholder for type ${e}`);switch(e.fullPath){case TC.DATE:case TC.STRICTDATE:return"yyyy-mm-dd";case TC.DATETIME:case TC.STRICTTIME:return"yyyy-mm-ddThh:mm:ss";default:return"Add"}}},yLi=Vse(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,selectorSearchConfig:a,selectorConfig:l,expectedType:c,lightMode:d,readOnly:u}=e,h=Wat(),p=n.useRef(null),[g,m]=n.useState(""),[f,y]=n.useState(!1),[v,_]=n.useState(t.values.filter(e=>Gs(e)).map(r).filter($s).map(e=>({label:e,value:e}))),b=c===gS.STRING&&Boolean(a),C=b?a?.reloadValues:void 0,S=b?a?.cleanUpReloadValues:void 0,E=b?a?.isLoading:void 0,w=b&&a?.values?.length?a.values.map(e=>({value:e,label:e.toString()})):void 0,x=b&&E?"Loading...":void 0,T=`copy-${t.values[0]?r(t.values[0]):""}`,A=`input-${t.values[0]?r(t.values[0]):""}`,N=e=>{const t=Gs(r(e));return{label:t,value:t}},R=e=>v.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)||R(Gs(r(t)))?null:t}return null},D=()=>{const e=I(),n=(null!==e?[...v,N(e)]:v).map(e=>e.value).map(e=>i(c,e)).filter(Vs);s(t,n),o()};return Yne.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==T&&e.relatedTarget?.name!==A&&D()},children:[Yne.jsx(BOe,{className:zse("value-spec-editor__primitive-collection-selector",{"value-spec-editor__primitive-collection-selector--error":f}),options:w,inputValue:g,isMulti:!0,menuIsOpen:b&&g.length>=2,autoFocus:!0,inputRef:p,onChange:(e,t)=>{_(e),"select-option"===t.action?m(""):"remove-value"===t.action&&t.removedValue.value===g&&y(!1)},onInputChange:(e,t)=>{if("input-change"===t.action){m(e),y(!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?(_([...v,N(e)]),m(""),C?.cancel()):g.trim().length&&y(!0)})(),e.preventDefault())},onPaste:e=>{const t=e.clipboardData.getData("text"),n=Yy(t);if(!n)return;const s=Pr(Pr(n).map(e=>{const t=i(c,e);return t?r(t):null}).filter(Vs)).filter(e=>!R(e));_([...v,...s.map(e=>({label:e,value:e}))]),e.preventDefault()},value:v,darkMode:!d,isLoading:E,noMatchMessage:x,placeholder:fLi(c),components:{DropdownIndicator:null},inputName:A,optionCustomization:l?.optionCustomization,disabled:u}),Yne.jsx("button",{className:"value-spec-editor__list-editor__copy-button",onClick:()=>{(async()=>{navigator.clipboard.writeText(v.map(e=>e.value).join(","))})()},name:T,title:"Copy values to clipboard",children:Yne.jsx(cre,{})}),Yne.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:D,disabled:u,children:Yne.jsx(Vre,{})})]})}),vLi=Vse(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,expectedType:a,enumOptions:l,selectorConfig:c,lightMode:d,readOnly:u}=e;Gs(l,"Must pass enum options to EnumCollectionInstanceValueEditor");const[h,p]=n.useState(""),[g,m]=n.useState(!1),[f,y]=n.useState(t.values.filter(e=>Gs(e)).map(r).filter($s).map(e=>({label:e,value:e}))),v=l?.filter(e=>!f.some(t=>t.value===e.value)),_=`copy-${t.values[0]?r(t.values[0]):""}`,b=`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?(y([...f,{label:e,value:e}]),p("")):h.trim().length&&m(!0)},E=()=>{const e=f.map(e=>e.value).map(e=>i(a,e)).filter(Vs);s(t,e),o()};return Yne.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==_&&e.relatedTarget?.name!==b&&E()},children:[Yne.jsx(BOe,{className:zse("value-spec-editor__enum-collection-selector",{"value-spec-editor__enum-collection-selector--error":g}),options:v,inputValue:h,isMulti:!0,autoFocus:!0,onChange:(e,t)=>{y(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=Yy(t);if(!n)return;const i=Pr(Pr(n).filter(e=>l?.some(t=>t.value===e))).filter(e=>!C(e));y([...f,...i.map(e=>({label:e,value:e}))]),e.preventDefault()},value:f,darkMode:!d,placeholder:"Add",menuIsOpen:!0,inputName:b,optionCustomization:c?.optionCustomization,disabled:u}),Yne.jsx("button",{className:"value-spec-editor__list-editor__copy-button",onClick:()=>{(async()=>{navigator.clipboard.writeText(f.map(e=>e.value).join(","))})()},name:_,title:"Copy values to clipboard",children:Yne.jsx(cre,{})}),Yne.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:E,disabled:u,children:Yne.jsx(Vre,{})})]})}),_Li=Vse(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,stringifyCollectionValueSpecification:o,errorChecker:a,className:l,selectorSearchConfig:c,selectorConfig:d,expectedType:u,enumOptions:h,lightMode:p,readOnly:g}=e,[m,f]=n.useState(!1),y=o(t),v=`List(${0===t.values.length?"empty":t.values.length})${0===t.values.length?"":`: ${y.length>50?`${y.substring(0,50)}...`:y}`}`,_=()=>{m&&f(!1)};return m?Yne.jsx(Yne.Fragment,{children:Yne.jsx("div",{className:zse("value-spec-editor",l),children:void 0!==h?Yne.jsx(vLi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:u,saveEdit:_,enumOptions:h,selectorConfig:d,lightMode:p,readOnly:g}):Yne.jsx(yLi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:u,saveEdit:_,selectorSearchConfig:c,selectorConfig:d,lightMode:p,readOnly:g})})}):Yne.jsxs("div",{className:zse("value-spec-editor",l),onClick:g?()=>{}:()=>f(!0),title:g?"":"Click to edit",style:{cursor:g?"not-allowed":""},children:[Yne.jsx("div",{className:zse("value-spec-editor__list-editor__preview",{"value-spec-editor__list-editor__preview--error":a?.(t)}),children:v}),Yne.jsx("button",{className:"value-spec-editor__list-editor__edit-icon",children:Yne.jsx(hie,{})})]})}),bLi=()=>Yne.jsx("div",{className:"value-spec-editor--unsupported",children:"unsupported"}),CLi=Vse(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,handleBlur:s,typeCheckOption:o,displayAsEditableValue:a,className:l,readOnly:c}=e;return Yne.jsxs("div",{className:zse("value-spec-editor",l),children:[Yne.jsx(aLi,{valueSpecification:t,valueSelector:n,typeCheckOption:o,updateValueSpecification:i,hasError:t instanceof FE&&!pdt(t),handleBlur:s,displayAsEditableValue:a,readOnly:c}),!a&&Yne.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:c,children:Yne.jsx(yie,{})})]})}),SLi=n.forwardRef(function(e,t){const{className:n,valueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,setValueSpecification:a,resetValue:l,selectorSearchConfig:c,selectorConfig:d,isConstant:u,handleBlur:h,handleKeyDown:p,displayDateEditorAsEditableValue:g,readOnly:m}=e,f=Wat(),y=e=>!pdt(e),v=e=>e instanceof YE?"":e.values[0],_=(e,t,n)=>{t instanceof LCi?a(((e,t,n)=>{const i=new YE($ct.ADJUST);if(rdt(i,VCi(new OCi(Gs(e.referenceMoment),Gs(e.referenceMoment)),t,n),n),e.direction===DCi.BEFORE){const r=new YE($ct.MINUS);rdt(r,WCi(t,TC.INTEGER,e.duration,n),n),rdt(i,r,n)}else rdt(i,WCi(t,TC.INTEGER,e.duration,n),n);const r=new BE(yS.create(new ES(t.getType(zct.DURATION_UNIT))));return ldt(r,[...r.values,BS.create(Gs(UCi(Gs(e.unit),t)))],n),rdt(i,r,n),edt(i,yS.create(new ES(gS.DATE))),i})(t,r,s)):t instanceof MCi||t instanceof PCi||t instanceof OCi?a(VCi(t,r,s)):e instanceof YE?a(WCi(r,Gs(n?.primitiveTypeEnum),t,s)):e instanceof PE?(adt(e,t,0,s),e.genericType.value.rawType.path!==Gs(n?.primitiveTypeEnum)&&edt(e,yS.create(new ES((e=>{switch(e){case TC.STRING:return gS.STRING;case TC.BOOLEAN:return gS.BOOLEAN;case TC.BINARY:return gS.BINARY;case TC.NUMBER:return gS.NUMBER;case TC.INTEGER:return gS.INTEGER;case TC.FLOAT:return gS.FLOAT;case TC.DECIMAL:return gS.DECIMAL;case TC.DATE:return gS.DATE;case TC.STRICTDATE:return gS.STRICTDATE;case TC.DATETIME:return gS.DATETIME;case TC.STRICTTIME:return gS.STRICTTIME;case TC.LATESTDATE:return gS.LATESTDATE;case TC.BYTE:return gS.BYTE;default:throw new Error(`Unable to get PrimitiveType class for type ${e}`)}})(Gs(n?.primitiveTypeEnum))))),a(e)):n?.primitiveTypeEnum===TC.LATESTDATE&&a(WCi(r,TC.LATESTDATE,t,s))};if(i instanceof FE){const e=i.genericType.value.rawType,r=e=>e.values[0],u=(e,t)=>{adt(e,t,0,s),a(e)};switch(e.path){case TC.STRING:return Yne.jsx(uLi,{valueSpecification:i,valueSelector:r,updateValueSpecification:u,errorChecker:y,className:n,resetValue:l,selectorSearchConfig:c,selectorConfig:d,ref:t,handleBlur:h,handleKeyDown:p,lightMode:f.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m});case TC.BOOLEAN:return Yne.jsx(hLi,{valueSpecification:i,valueSelector:r,updateValueSpecification:u,className:n,resetValue:l,readOnly:m});case TC.NUMBER:case TC.FLOAT:case TC.DECIMAL:case TC.BINARY:case TC.BYTE:case TC.INTEGER:return Yne.jsx(pLi,{valueSpecification:i,valueSelector:r,isInteger:e.path===TC.INTEGER,updateValueSpecification:u,errorChecker:y,className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:m});case TC.DATE:case TC.STRICTDATE:case TC.DATETIME:case TC.LATESTDATE:return Yne.jsx(CLi,{valueSpecification:i,valueSelector:v,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,errorChecker:e=>e instanceof FE&&y(e),readOnly:m});default:return Yne.jsx(bLi,{})}}else{if(i instanceof BE){const e=js(i.genericType?.value.rawType,RS),t=e.values.map(e=>({label:e.name,value:e.name}));return Yne.jsx(gLi,{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=Gs(e.values.find(e=>e.name===n),`Unable to find enum value ${n} in enumeration ${e.name}`);adt(t,BS.create(i),0,s),a(t)},errorChecker:e=>!pdt(e),handleBlur:h,selectorConfig:d,lightMode:f.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m})}if(i instanceof VE&&i.genericType){const e=(e,t)=>{ldt(e,t,s),a(e)},t=(e,t)=>{if(e instanceof RS){const n=((e,t)=>t.values.find(t=>t.name===e))(t,e);if(n){const t=new BE(yS.create(new ES(e)));return ldt(t,[BS.create(n)],s),xte(t,s)}}else{const n=QCi(js(e,iS),t,s);if(n)return xte(n,s)}return null},r=o.expectedType instanceof RS?o.expectedType.values.map(e=>({label:e.name,value:e.name})):void 0;return Yne.jsx(_Li,{valueSpecification:i,updateValueSpecification:e,expectedType:o.expectedType,className:n,selectorSearchConfig:c,selectorConfig:d,stringifyCollectionValueSpecification:e=>mLi(e.values),errorChecker:y,convertValueSpecificationToText:e=>XCi(e,f,{omitEnumOwnerName:!0}),convertTextToValueSpecification:t,enumOptions:r,lightMode:f.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m})}if(i instanceof ME)return Yne.jsx(dLi,{valueSpecification:i,className:n,resetValue:l,isConstant:Boolean(u)});if(i instanceof JE)return Yne.jsx(SLi,{valueSpecification:i.getValue(),graph:r,observerContext:s,typeCheckOption:o,setValueSpecification:a,resetValue:l,handleBlur:h,handleKeyDown:p,displayDateEditorAsEditableValue:g,selectorSearchConfig:c,selectorConfig:d,readOnly:m});if(i instanceof YE){if(Xw(o.expectedType,gS.DATE))return ZOi(i)?Yne.jsx(CLi,{valueSpecification:i,valueSelector:v,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,readOnly:m}):Yne.jsx(bLi,{});if(Xw(o.expectedType,gS.NUMBER)&&lS(i.functionName,$ct.MINUS)){const e=Edt(i,s);if(e instanceof FE&&Xw(e.genericType.value.rawType,gS.NUMBER))return Yne.jsx(pLi,{valueSpecification:e,valueSelector:e=>e.values[0],isInteger:e.genericType.value.rawType===gS.INTEGER,updateValueSpecification:(e,t)=>{adt(e,t,0,s),a(e)},className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:m})}}}return Yne.jsx(bLi,{})}),ELi=Vse(e=>{const{valueSpecification:t,setValueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,resetValue:a,selectorSearchConfig:l,selectorConfig:c,isConstant:d,initializeAsEditable:u,readOnly:h}=e,p=Wat(),[g,m]=n.useState(u??!1),f=n.useRef(null);n.useEffect(()=>{g&&f.current?.focus()},[g,f]);const y=t instanceof FE&&!Xw(t.genericType.value.rawType,gS.DATE)&&t.genericType.value.rawType!==gS.BOOLEAN||t instanceof BE,v=g||!y,_=XCi(t,p,{omitEnumOwnerName:!0});return v?Yne.jsx(SLi,{valueSpecification:t,setValueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,resetValue:a,selectorSearchConfig:l,selectorConfig:c,isConstant:d,ref:f,handleBlur:()=>m(!1),handleKeyDown:e=>{"Enter"===e.key&&m(!1)},displayDateEditorAsEditableValue:!0,readOnly:h}):Yne.jsx("div",{className:"value-spec-editor__editable__display",children:Yne.jsx("span",{className:zse("value-spec-editor__editable__display--content editable-value",{"value-spec-editor__editable__display--content--error":t instanceof PE&&!pdt(t)}),onClick:h?()=>{}:()=>{m(!0)},style:{cursor:h?"not-allowed":""},children:`"${void 0!==_?_:""}"`})})}),wLi=(e,t)=>{if(e instanceof YE){const n=HCi(e,t.applicationStore).label;if(n)return n}return XCi(e,t.applicationStore)},xLi=Vse(n.forwardRef(function(e,t){const{actions:n,extraContextMenuActions:i,variableInUse:r}=e;return Yne.jsxs(XOe,{ref:t,children:[i?.map(e=>Yne.jsx(QOe,{onClick:e.handler,children:e.label},e.key)),n?.editVariable&&Yne.jsx(QOe,{onClick:n.editVariable,children:"Edit"}),n?.deleteVariable&&Yne.jsx(QOe,{disabled:r,onClick:n.deleteVariable,children:"Remove"})]})})),TLi=Vse(e=>{const{variable:t,value:i,actions:r,isReadOnly:s,queryBuilderState:o,extraContextMenuActions:a,option:l}=e,c=o.isVariableUsed(t),[d,u]=n.useState(!1),h=Boolean(i),p=i?.val?wLi(i.val,o):void 0,g=t.name,m=t.genericType?.value.rawType.name??(h?"(calculated)":void 0),f=o.milestoningState.isMilestoningParameter(t),y=o.milestoningState.getMilestoningParameterValue(t),v=f&&y?wLi(y,o):void 0,_=s||c,b=c?"Used in query":"Remove",C=()=>{r?.editVariable()},[,S,E]=hPe(()=>({type:cLi,item:{variable:t}}),[t]),w=n.useRef(null);return S(w),jPe(E),Yne.jsx("div",{className:"query-builder__variables__variable",ref:w,children:Yne.jsxs(tLe,{content:Yne.jsx(xLi,{variable:t,variableInUse:c,actions:r,extraContextMenuActions:a}),disabled:s||!r,className:zse("query-builder__variables__variable__context-menu",{"query-builder__variables__variable--selected-from-context-menu":d}),menuProps:{elevation:7},onOpen:()=>u(!0),onClose:()=>u(!1),children:[Yne.jsx($Pe,{labelGetter:e=>""===e.variable.name?"(unknown)":e.variable.name,types:[cLi]}),Yne.jsxs("div",{onClick:C,className:"query-builder__variables__variable__content",children:[Yne.jsx("div",{className:"query-builder__variables__variable__icon",children:Yne.jsx("div",{className:"query-builder__variables__variable-icon",children:h?Yne.jsx("div",{className:"icon query-builder__variables__variable-icon",children:"C"}):Yne.jsx(hre,{})})}),Yne.jsxs("div",{className:"query-builder__variables__variable__label",children:[g,h?Yne.jsxs("div",{className:zse("query-builder__constants__value",{"query-builder__constants__value--icon":!p}),children:[p,!p&&Yne.jsx(Xie,{title:"Calculated Constant"})]}):Yne.jsxs("div",{className:"query-builder__variables__variable__type",children:[Yne.jsx("div",{className:"query-builder__variables__variable__type__label",children:m??"unknown"}),f&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsx("div",{className:"query-builder__variables__variable__type__label query-builder__variables__variable__type__label--milestoning",children:"milestoning"}),!l?.hideMilestoningParameterValueString&&Yne.jsx("div",{className:"query-builder__constants__value",children:v})]})]})]})]}),r&&Yne.jsxs("div",{className:"query-builder__variables__variable__actions",children:[Yne.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,disabled:s,onClick:C,title:"Edit",children:Yne.jsx(hie,{})}),Yne.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,onClick:()=>{r?.deleteVariable()},disabled:_,title:b,children:Yne.jsx(Wre,{})}),Yne.jsx(lLi,{variable:t,children:Yne.jsx("div",{className:"query-builder__variables__variable__action value-spec-editor__variable__info",children:Yne.jsx(Tre,{})})})]})]})})}),ALi=Vse(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 Yne.jsxs(Yne.Fragment,{children:[Yne.jsxs(bLe,{title:"Available parameters",children:[0===i.length&&Yne.jsx(Yne.Fragment,{children:" No available parameters "}),i.map(e=>Yne.jsx(TLi,{variable:e.parameter,isReadOnly:!0,queryBuilderState:t},e.uuid))]}),Boolean(r.length)&&Yne.jsx(bLe,{title:"Available constants",children:r.map(e=>Yne.jsx(TLi,{variable:e.variable,value:{val:e instanceof xOi?e.value:void 0},queryBuilderState:t,isReadOnly:!0},e.uuid))})]})}),NLi=Vse(e=>{const{derivedPropertyExpressionState:t,variable:i,idx:r}=e,s=t.queryBuilderState.graphManagerState.graph,o=Gs(t.parameters[r]?.genericType).value.rawType,a=n.useCallback(e=>{idt(t.propertyExpression,e.variable,r+1,t.queryBuilderState.observerContext)},[t,r]),[{isParameterValueDragOver:l},c]=yPe(()=>({accept:[cLi],drop:(e,t)=>{const n=e.variable.genericType?.value.rawType;t.didDrop()||!n||!Qw(o,n)&&o.name!==n.name||a(e)},collect:e=>({isParameterValueDragOver:e.isOver({shallow:!0})})}),[a]),d=t.queryBuilderState,u=e=>{e instanceof KE&&Xct(e,d)&&e.func.value.genericType.value.rawType instanceof wS&&d.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:xlt.CAUTION,actions:[{label:"Proceed",type:Tlt.PROCEED_WITH_CAUTION,default:!0},{label:"Propagate default milestoning date(s)",type:Tlt.PROCEED,handler:d.applicationStore.guardUnhandledError(async()=>(e=>{const t=Uw(js(e.func.value.genericType.value.rawType,wS),d.graphManagerState.graph);e.parametersValues.slice(1).forEach((n,i)=>{if(t&&n instanceof JE&&!Zct(t,i,n.getValue(),d.milestoningState)){const n=new JE(()=>Gs(d.milestoningState.getMilestoningImplementation(t).getMilestoningDate(i)));n.isPropagatedValue=!1,idt(js(e,KE),Gs(n),i+1,d.observerContext)}})})(e))}]})},h=Gs(t.parameterValues[r]);return Yne.jsxs("div",{className:"panel__content__form__section",children:[Yne.jsx("div",{className:"panel__content__form__section__header__label",children:i.name}),Yne.jsx("div",{className:"panel__content__form__section__header__prompt",children:""+(0===i.multiplicity.lowerBound?"optional":"")}),Yne.jsx("div",{className:"query-builder__variable-editor",children:Yne.jsx(GPe,{isDragOver:l,dropTargetConnector:c,children:Yne.jsx(SLi,{valueSpecification:h,setValueSpecification:e=>{idt(t.propertyExpression,e,r+1,t.queryBuilderState.observerContext)},graph:s,observerContext:t.queryBuilderState.observerContext,typeCheckOption:{expectedType:o,match:o===gS.DATETIME},resetValue:()=>{idt(t.propertyExpression,Jct(t,r)??eSi(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);u(n+1<e.length?e[n+1]?.propertyExpression:void 0)},isConstant:d.constantState.isValueSpecConstant(h)})})}),Yne.jsx("div",{className:"panel__content__form__section__list"})]},i.name)}),RLi=Vse(e=>{const{derivedPropertyExpressionState:t}=e,n=t.parameterValues,i=t.parameters;return Yne.jsxs("div",{className:"query-builder-property-editor__section",children:[Yne.jsx("div",{className:"panel__content__form__section__header__label",children:t.title}),!n.length&&Yne.jsx("div",{className:"query-builder-property-editor__section__content--empty",children:"No parameter"}),i.map((e,n)=>Yne.jsx(NLi,{derivedPropertyExpressionState:t,variable:e,idx:n},e.name))]})}),ILi=Vse(e=>{const{propertyExpressionState:t}=e,n=t.queryBuilderState.applicationStore,i=()=>t.setIsEditingDerivedProperty(!1);return Yne.jsx(pve,{open:Boolean(t.isEditingDerivedPropertyExpression),onClose:i,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Yne.jsxs(GOe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder-property-editor",children:[Yne.jsx(zOe,{title:"Derived Property"}),Yne.jsxs(jOe,{className:"query-builder-property-editor__content",children:[t.derivedPropertyExpressionStates.map(e=>Yne.jsx(RLi,{derivedPropertyExpressionState:e},e.path)),Yne.jsx(jOe,{className:"query-builder__variables__modal__body",children:Yne.jsx(ALi,{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&&(Qw(n,e.genericType.value.rawType)||e.genericType.value.rawType.name===n.name))})))(e,t.derivedPropertyExpressionStates)})})]}),Yne.jsx($Oe,{children:Yne.jsx(YOe,{text:"Done",onClick:i})})]})})}),DLi=Vse(e=>{const{columnName:t,title:n,error:i,setIsEditingColumnName:r}=e;return Yne.jsx("div",{className:"query-builder__property__name__display",title:n,children:Yne.jsx("span",{className:zse("query-builder__property__name__display__content",{"query-builder__property__name__display__content--error":i,"editable-value":r}),onClick:()=>{r?.(!0)},children:t})})}),kLi=Vse(e=>{const{columnName:t,setColumnName:i,error:r,title:s,defaultColumnName:o}=e,[a,l]=n.useState(!1),[c,d]=n.useState(t),u=n.useRef(null);n.useEffect(()=>{a&&u.current?.focus()},[a,u]);const h=()=>{const e=c.trim();e.length>0?(i?.(e),d(e)):(i?.(o),d(o)),l(!1)};return a?Yne.jsx("div",{className:"query-builder__property__name__editor",children:Yne.jsx(dxe,{className:"query-builder__property__name__editor__input input-group__input",spellCheck:!1,value:c,onChange:e=>d(e.target.value),onKeyDown:e=>{"Enter"===e.key&&h()},onBlur:h,ref:u,draggable:!0,onDragStart:e=>{e.preventDefault(),e.stopPropagation()}})}):Yne.jsx(DLi,{columnName:t,title:s,error:Boolean(r),setIsEditingColumnName:i?l:void 0})}),OLi=Vse(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 Yne.jsx("div",{className:"query-builder-property-expression-badge",children:Yne.jsxs("div",{className:zse("query-builder-property-expression-badge__content",{"query-builder-property-expression-badge__content--class":s instanceof wS,"query-builder-property-expression-badge__content--enumeration":s instanceof RS,"query-builder-property-expression-badge__content--primitive":s instanceof gS}),children:[Yne.jsx(kLi,{columnName:t??n.title,setColumnName:i,error:r,title:`${n.title} - ${n.path}`,defaultColumnName:ZCi(n.propertyExpression,n.queryBuilderState.explorerState.humanizePropertyName)}),o&&Yne.jsxs("button",{className:zse("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&&Yne.jsx(Tre,{})," (...)"]}),Yne.jsx(ILi,{propertyExpressionState:n})]})})}),LLi=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 Yne.jsxs("div",{className:"query-builder-panel-issue-count-badge",title:`Found ${n}:\n${t.map(e=>`• ${e}`).join("\n")}`,children:[Yne.jsx(zre,{className:"query-builder-panel-issue-count-badge__icon"}),Yne.jsx("div",{className:"query-builder-panel-issue-count-badge__text",children:n})]})},MLi=e=>{if(e instanceof gS){if(e.name===TC.STRING)return Yne.jsx(pie,{className:"query-builder-column-badge__icon"});if(e.name===TC.BOOLEAN)return Yne.jsx(jre,{className:"query-builder-column-badge__icon"});if(e.name===TC.NUMBER||e.name===TC.INTEGER||e.name===TC.FLOAT||e.name===TC.DECIMAL)return Yne.jsx(xre,{className:"query-builder-column-badge__icon"});if(e.name===TC.DATE||e.name===TC.DATETIME||e.name===TC.STRICTDATE)return Yne.jsx(ore,{className:"query-builder-column-badge__icon"})}else if(e instanceof RS)return Yne.jsx("div",{className:"icon query-builder-column-badge__icon",children:"E"});return null},PLi=e=>{const{columnState:t,placement:n,children:i}=e,r=t.getColumnType(),s=Xr(()=>(e=>{if(e instanceof uSi||e instanceof rwi)return nS.ONE;if(e instanceof aSi)return e.propertyExpressionState.propertyExpression.func.value.multiplicity;throw new Yr("Can't get multiplicity for column",e)})(t));return Yne.jsx(hCe,{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:Yne.jsxs("div",{className:"query-builder__tooltip__content",children:[Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Name"}),Yne.jsx("div",{className:"query-builder__tooltip__item__value",children:t.columnName})]}),Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Yne.jsx("div",{className:"query-builder__tooltip__item__value",children:r?.path})]}),s&&Yne.jsxs("div",{className:"query-builder__tooltip__item",children:[Yne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),Yne.jsx("div",{className:"query-builder__tooltip__item__value",children:Zw(s)})]})]}),children:i})},FLi=(e,t)=>{switch(t){case sSi:return e.columnState.getColumnType();case gxi.ENUM_PROPERTY:case gxi.PRIMITIVE_PROPERTY:return e.node.property.genericType.value.rawType;case cLi:return e.variable.genericType?.value.rawType;case JEi:return e.columnState.getColumnType();default:return}},BLi=[gxi.ENUM_PROPERTY,gxi.PRIMITIVE_PROPERTY,sSi],VLi=[gxi.ENUM_PROPERTY,gxi.PRIMITIVE_PROPERTY],ULi=[USi.CONDITION,gxi.ENUM_PROPERTY,gxi.PRIMITIVE_PROPERTY,sSi],GLi=[USi.CONDITION,gxi.ENUM_PROPERTY,gxi.PRIMITIVE_PROPERTY],HLi=[gxi.ENUM_PROPERTY,gxi.PRIMITIVE_PROPERTY,sSi,cLi],zLi=(e,t,n)=>{const i=[];let r=e;for(;r instanceof KE||r instanceof YE&&lS(r.functionName,$ct.SUBTYPE);){let e;r instanceof YE?e=new YE(sS($ct.SUBTYPE)):(e=new KE(""),e.func=r.func),e.parametersValues=r.parametersValues.length>1?r.parametersValues.slice(1):[],i.push(e),r=Gs(r.parametersValues[0])}let s,o=[],a=[js(r,ME)],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 KE&&(void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(l>o.length-1&&(o.push(yo(o,t.lambdaParameterName)),Ks(l===o.length-1)),a.push(new ME(o[l],nS.ONE)),l++)}if(n)if(n instanceof KSi){const e=a.findIndex(e=>e instanceof KE&&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 KSi);)e=t.nodes.get(i),i=e?.parentId;if(e instanceof KSi){const i=a.findIndex(t=>t instanceof KE&&e instanceof KSi&&t.func.value===js(e,KSi).propertyExpressionState.propertyExpression.func.value&&t.func.ownerReference.value.path===e.propertyExpressionState.propertyExpression.func.ownerReference.value.path);i>=0&&(s=n instanceof QSi?t.newGroupConditionFromNode(n):n instanceof YSi?n:t.getParentNode(n),a=a.slice(i+1),o=o.slice(i+1))}else i||(s=n instanceof QSi?t.newGroupConditionFromNode(n):n instanceof YSi?n:t.getParentNode(n))}for(let e=0;e<a.length-1;++e){const n=new KSi(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 jSi(t,a[a.length-1]),d=new QSi(void 0,c);d.setIsNewlyAdded(!0),t.addNodeFromNode(d,s),n instanceof ZSi&&t.removeNodeAndPruneBranch(n)},WLi=(e,t,n)=>{let i=e.getParentNode(n),r=[];for(r.push(n.condition.propertyExpressionState.propertyExpression);i&&i.id!==t.id;)i instanceof KSi&&r.push(i.propertyExpressionState.propertyExpression),i=e.getParentNode(i);i?.id===t.id&&r.push(t.propertyExpressionState.propertyExpression),r=r.reverse();const s=Gs(r[0]);r=r.slice(1);let o=new KE("");o.func=s.func,o.parametersValues=[...s.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof KE||n instanceof YE&&lS(n.functionName,$ct.SUBTYPE);){if(n instanceof YE){const e=new YE(sS($ct.SUBTYPE));e.parametersValues.unshift(Gs(n.parametersValues[1])),t.push(e)}else if(n instanceof KE){const e=new KE("");e.func=n.func,e.parametersValues=n.parametersValues.length>1?n.parametersValues.slice(1):[],t.push(e)}n=Gs(n.parametersValues[0])}Ks(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=js(t[0],KE,"Can't process exists() expression: can't flatten to a property expression")}return js(tEi(o,e.queryBuilderState,t.lambdaParameterName??e.lambdaParameterName),KE)},jLi=(e,t,n)=>{if(GSi(e)){const i=ZCi(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:xlt.CAUTION,actions:[{label:"Cancel",type:Tlt.PROCEED_WITH_CAUTION,default:!0},{label:"Proceed",type:Tlt.PROCEED,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>zLi(e,t,n))}]})}else{const i=new jSi(t,e),r=new QSi(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 KSi&&(s=o);if(o instanceof KSi&&(s=o),n instanceof YSi)s?t.newGroupConditionFromNode(s,r,n.groupOperation):t.addNodeFromNode(r,n);else if(n instanceof ZSi)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 KSi)t.newGroupConditionFromNode(s,r);else if(n instanceof QSi){const e=t.getParentNode(n);if(s&&e instanceof KSi&&1===e.childrenIds.length)t.newGroupConditionFromNode(s,r,ISi.AND);else if(s&&e instanceof YSi){const i=WLi(t,s,n);t.removeNodeAndPruneBranch(n),t.newGroupConditionFromNode(s,r,e.groupOperation);const o=t.getParentNode(r);zLi(i,t,o)}else t.newGroupWithConditionFromNode(r,n)}else t.addNodeFromNode(r,void 0)}},$Li=Vse(e=>{const{node:t,isDragOver:n,isDroppable:i}=e,r=t.groupOperation===ISi.AND?"AND":"OR";return Yne.jsx("div",{className:"dnd__entry__container",children:Yne.jsx(WPe,{isDragOver:n,isDroppable:i,label:r,className:"query-builder-filter-tree__group-node__drop-zone",children:Yne.jsx("div",{className:"query-builder-filter-tree__group-node",title:"Switch Operation",onClick:e=>{e.stopPropagation(),t.setGroupOperation(t.groupOperation===ISi.AND?ISi.OR:ISi.AND)},children:Yne.jsx("div",{className:"query-builder-filter-tree__group-node__label editable-value",children:t.groupOperation})})})})}),qLi=Vse(e=>{const{node:t,humanizePropertyName:n,isDragOver:i,isDroppable:r}=e,s=Boolean(t.propertyExpressionState.derivedPropertyExpressionStates.length),o=t.propertyExpressionState.isValid;return Yne.jsx("div",{className:"dnd__entry__container",children:Yne.jsx(WPe,{isDragOver:i,isDroppable:r,label:"Add to Exists Group",className:"query-builder-filter-tree__exists-node__drop-zone",children:Yne.jsxs("div",{className:"query-builder-filter-tree__exists-node",title:"This is an exists filter on the collection property",children:[Yne.jsx("div",{className:"query-builder-filter-tree__exists-node__label",children:ZCi(t.propertyExpressionState.propertyExpression,n)}),Yne.jsx("div",{className:"query-builder-filter-tree__exists-node__exists--label",children:"exists"}),s&&Yne.jsxs("button",{className:zse("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&&Yne.jsx(Tre,{})," (...)"]}),Yne.jsx(ILi,{propertyExpressionState:t.propertyExpressionState})]})})})}),YLi=Vse(e=>{const{rightConditionValue:t,resetNode:n}=e,i=t.type;return Yne.jsx("div",{className:"query-builder-filter-property-expression-badge",children:Yne.jsxs("div",{className:"query-builder-filter-property-expression-badge__content",children:[Yne.jsx("div",{className:zse("query-builder-filter-property-expression-badge__type",{"query-builder-filter-property-expression-badge__type--class":i instanceof wS,"query-builder-filter-property-expression-badge__type--enumeration":i instanceof RS,"query-builder-filter-property-expression-badge__type--primitive":i instanceof gS}),children:MLi(i)}),Yne.jsx("div",{className:"query-builder-filter-property-expression-badge__property",title:t.propertyExpressionState.propertyExpression.func.value.name,children:Yne.jsx(OLi,{propertyExpressionState:t.propertyExpressionState})}),Yne.jsx(Pwi,{title:t.propertyExpressionState.propertyExpression.func.value.name,property:t.propertyExpressionState.propertyExpression.func.value,path:t.propertyExpressionState.path,isMapped:!0,placement:"bottom-end",children:Yne.jsx("div",{className:"query-builder-filter-property-expression-badge__property__info",children:Yne.jsx(Tre,{})})}),Yne.jsx("button",{className:"query-builder-filter-property-expression-badge__action",name:"Reset",title:"Reset",onClick:n,children:Yne.jsx(yie,{})})]})})}),KLi=(e,t)=>{const n=t.operator,i=t.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return!(n instanceof gDi)&&!(n instanceof mDi)&&ydt(e,i)},XLi=Vse(e=>{const{node:t,isDragOver:i}=e,r=t.condition.filterState.queryBuilderState.graphManagerState.graph,s=t.condition.filterState.queryBuilderState,o=t.condition.rightConditionValue,a=Wat(),l=XSi(t),c=n.useCallback((e,n)=>{const i=FLi(e,n);if(void 0!==i&&KLi(i,t.condition))try{if((n===sSi||n===gxi.ENUM_PROPERTY||n===gxi.PRIMITIVE_PROPERTY)&&l)throw new Yr("Collection filter does not support property for filter condition value.");if(n===sSi){const n=e.columnState;if(!(n instanceof aSi))throw new Yr("Derivation projection columns are not supported for filter condition values.");{const e=n.propertyExpressionState.propertyExpression;if(GSi(e))throw new Yr("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(new nSi(s,$Ci(e,s.observerContext)))}}else if(n===gxi.ENUM_PROPERTY||n===gxi.PRIMITIVE_PROPERTY){const n=e.node,i=new nSi(s,Cxi(n,t.condition.filterState.queryBuilderState.explorerState));if(GSi(i.propertyExpression))throw new Yr("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(i)}else if(n===cLi){const n=e.variable;t.condition.buildRightConditionValueFromValueSpec(n)}else a.notificationService.notifyWarning(`Dragging and Dropping ${n} to filter panel is not supported.`)}catch(e){return Kr(e),void a.notificationService.notifyWarning(e.message)}else{const e=t.condition.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;a.notificationService.notifyWarning(`Incompatible parameter type ${i?.name}. ${i?.name} is not compatible with type ${e.name}.`)}},[a,s,l,t.condition]),[{isFilterValueDragOver:d},u]=yPe(()=>({accept:HLi,canDrop:(e,n)=>KLi(FLi(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);u(h);const{isFilterValueDroppable:p}=pPe(e=>({isFilterValueDroppable:e.isDragging()&&HLi.includes(e.getItemType()?.toString()??"")&&KLi(FLi(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(()=>gi(e=>{const n=QCi(gS.STRING,e,s.observerContext);return t.condition.handleTypeaheadSearch(n??void 0)},1e3),[t,s.observerContext]),y={values:t.condition.typeaheadSearchResults,isLoading:t.condition.typeaheadSearchState.isInProgress,reloadValues:f,cleanUpReloadValues:()=>{t.condition.typeaheadSearchState.complete()}};return n.useEffect(()=>{t.setIsNewlyAdded(!1)},[t]),Yne.jsx("div",{className:"dnd__entry__container","data-testid":Bwi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_CONTENT,children:Yne.jsx(WPe,{isDragOver:i&&!d,alwaysShowChildren:!0,children:Yne.jsxs("div",{className:"query-builder-filter-tree__condition-node",children:[Yne.jsx("div",{className:"query-builder-filter-tree__condition-node__property",children:Yne.jsx(OLi,{propertyExpressionState:t.condition.propertyExpressionState})}),Yne.jsxs(nLe,{className:"query-builder-filter-tree__condition-node__operator",title:"Choose Operator...",content:Yne.jsx(XOe,{children:t.condition.operators.map(e=>{return Yne.jsx(QOe,{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:[Yne.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__label",children:t.condition.operator.getLabel()}),Yne.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__dropdown__trigger",children:Yne.jsx(Zie,{})})]}),o instanceof zSi&&o.value?Yne.jsx("div",{ref:h,"data-testid":Bwi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_VALUE,className:"query-builder-filter-tree__condition-node__value",children:Yne.jsx(WPe,{isDragOver:d,isDroppable:p,label:"Change Filter Value",children:Yne.jsx(ELi,{valueSpecification:o.value,setValueSpecification:m,graph:r,observerContext:s.observerContext,typeCheckOption:{expectedType:t.condition.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType},resetValue:g,selectorSearchConfig:y,isConstant:s.constantState.isValueSpecConstant(o.value),initializeAsEditable:t.isNewlyAdded})})}):o instanceof WSi?Yne.jsx("div",{ref:h,className:"query-builder-filter-tree__condition-node__value",children:Yne.jsx(WPe,{isDragOver:d,isDroppable:p,label:"Change Filter Value",children:Yne.jsx(YLi,{rightConditionValue:o,resetNode:g})})}):null]})})})}),QLi=Vse(e=>{const{isDragOver:t,isDroppable:n}=e;return Yne.jsx("div",{className:"query-builder-filter-tree__node__label__content",children:Yne.jsx(WPe,{isDragOver:t,isDroppable:n,label:"Create Condition",children:Yne.jsx("div",{className:"query-builder-filter-tree__blank-node",children:"blank"})})})}),ZLi=Vse(n.forwardRef(function(e,t){const{queryBuilderState:n,node:i}=e,r=n.filterState;return Yne.jsxs(XOe,{ref:t,children:[i instanceof YSi&&Yne.jsx(QOe,{onClick:()=>{r.addNodeFromNode(new ZSi(void 0),i)},children:"Add New Condition"}),i instanceof YSi&&Yne.jsx(QOe,{onClick:()=>{r.addGroupConditionNodeFromNode(i)},children:"Add New Logical Group"}),i instanceof QSi&&Yne.jsx(QOe,{onClick:()=>{Vct.logEvent_FilterCreateGroupFromConditionLaunched(n.applicationStore.telemetryService),r.newGroupWithConditionFromNode(void 0,i)},children:"Form a New Logical Group"}),Yne.jsx(QOe,{onClick:()=>r.removeNodeAndPruneBranch(i),children:"Remove"})]})})),JLi=Vse(e=>{const{node:t,onNodeSelect:i,innerProps:r}=e,{queryBuilderState:s}=r,o=n.useRef(null),[a,l]=n.useState(!1),c=Wat(),d=s.filterState,u=n.useCallback((e,n)=>{if(USi.CONDITION===n){const n=e.node,i=new QSi(void 0,d.nodes.get(n.id).condition);t instanceof ZSi?(d.replaceBlankNodeWithNode(i,t),d.removeNodeAndPruneBranch(n)):t instanceof QSi?(d.newGroupWithConditionFromNode(i,t),d.removeNodeAndPruneBranch(n)):t instanceof YSi&&(d.addNodeFromNode(i,t),d.removeNodeAndPruneBranch(n))}else{let i;try{let t;if(n===sSi){if(!(e.columnState instanceof aSi))throw new Yr("Dragging and Dropping derivation projection column is not supported.");t=$Ci(e.columnState.propertyExpressionState.propertyExpression,s.observerContext)}else t=Cxi(e.node,d.queryBuilderState.explorerState);i=new jSi(d,t)}catch(e){return Kr(e),void c.notificationService.notifyWarning(e.message)}(t instanceof qSi||t instanceof QSi||t instanceof ZSi)&&jLi(i.propertyExpressionState.propertyExpression,d,t)}},[c,d,t,s.observerContext]),[{isDragOver:h,deepIsDragOver:p},g]=yPe(()=>({accept:s.TEMPORARY__isDnDFetchStructureToFilterSupported?ULi:GLi,drop:(e,t)=>{t.didDrop()||u(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0}),deepIsDragOver:e.isOver({shallow:!1})})}),[u]),[,m,f]=hPe(()=>({type:t instanceof YSi?USi.GROUP_CONDITION:t instanceof QSi?USi.CONDITION:USi.BLANK_CONDITION,item:()=>({node:t}),end:()=>d.setRearrangingConditions(!1),canDrag:()=>t instanceof QSi||t instanceof ZSi}),[t,d]);m(g(o)),jPe(f);const{isDroppable:y}=pPe(e=>({isDroppable:e.isDragging()&&(s.TEMPORARY__isDnDFetchStructureToFilterSupported?ULi:GLi).includes(e.getItemType()?.toString()??"")})),v=t instanceof KSi&&0===t.childrenIds.length,_=t instanceof QSi||t instanceof ZSi||v;return Yne.jsx("div",{"data-testid":Bwi.QUERY_BUILDER_FILTER_TREE_NODE_CONTAINER,className:zse("query-builder-filter-tree__node__container",{"query-builder-filter-tree__node__container--group":t instanceof YSi,"query-builder-filter-tree__node__container--condition":t instanceof QSi||t instanceof ZSi,"query-builder-filter-tree__node__container--exists":t instanceof KSi,"query-builder-filter-tree__node__container--exists--empty":v,"query-builder-filter-tree__node__container--no-hover":d.isRearrangingConditions,"query-builder-filter-tree__node__container--selected":t===d.selectedNode,"query-builder-filter-tree__node__container--selected-from-context-menu":a}),children:Yne.jsxs(tLe,{content:Yne.jsx(ZLi,{queryBuilderState:s,node:t}),menuProps:{elevation:7},onOpen:()=>l(!0),onClose:()=>l(!1),className:"query-builder-filter-tree__node__context-menu",children:[Yne.jsxs("div",{"data-testid":Bwi.QUERY_BUILDER_FILTER_TREE_NODE_CONTENT,className:"query-builder-filter-tree__node__content",ref:o,onClick:t instanceof QSi||t instanceof ZSi?()=>i?.(t):void 0,children:[t instanceof YSi&&Yne.jsx($Li,{node:t,isDroppable:y,isDragOver:h}),t instanceof KSi&&Yne.jsx(qLi,{node:t,humanizePropertyName:d.queryBuilderState.explorerState.humanizePropertyName,isDroppable:y,isDragOver:h}),t instanceof QSi&&Yne.jsx(XLi,{node:t,isDragOver:p}),t instanceof ZSi&&Yne.jsx(QLi,{node:t,isDragOver:h,isDroppable:y})]}),_&&Yne.jsx("div",{className:"query-builder-filter-tree__node__actions",children:Yne.jsx("button",{className:"query-builder-filter-tree__node__action",tabIndex:-1,title:"Remove",onClick:()=>d.removeNodeAndPruneBranch(t),children:Yne.jsx(Wre,{})})})]})})}),eMi=Vse(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e;return Yne.jsxs("div",{"data-testid":Bwi.QUERY_BUILDER_FILTER_TREE_NODE_BLOCK,className:zse("query-builder-filter-tree__node__block",{"query-builder-filter-tree__node__block--group":t instanceof YSi,"query-builder-filter-tree__node__block--exists":t instanceof KSi}),children:[Yne.jsx(JLi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).length>0&&Yne.jsx("div",{"data-testid":Bwi.QUERY_BUILDER_FILTER_TREE_NODE_CHILDREN,className:"query-builder-filter-tree__node__children",children:r(t).map(e=>Yne.jsx(eMi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))})]})}),tMi=Vse(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 qSi?e.childrenIds.map(e=>n.getNode(e)):[];return Yne.jsx("div",{"data-testid":Bwi.QUERY_BUILDER_FILTER_TREE,className:"tree-view__node__root query-builder-filter-tree__root",children:i.map(e=>Yne.jsx(eMi,{level:0,node:e,getChildNodes:s,onNodeSelect:r,innerProps:{queryBuilderState:t}},e.id))})}),nMi=Vse(e=>{const{queryBuilderState:t}=e,i=Wat(),r=t.filterState,s=r.getRootNode(),o=r.isEmpty||r.selectedNode&&(r.selectedNode!==s||s instanceof YSi),{isDroppable:a}=pPe(e=>({isDroppable:e.isDragging()&&(t.TEMPORARY__isDnDFetchStructureToFilterSupported?BLi:VLi).includes(e.getItemType()?.toString()??"")})),l=n.useCallback((e,n)=>{try{let i;if(n===sSi){if(!(e.columnState instanceof aSi))throw new Yr("Dragging and Dropping derivation projection column is not supported.");i=$Ci(e.columnState.propertyExpressionState.propertyExpression,t.observerContext)}else i=Cxi(e.node,r.queryBuilderState.explorerState);r.setSelectedNode(void 0),jLi(i,r)}catch(e){return Kr(e),void i.notificationService.notifyWarning(e.message)}},[i,r,t.observerContext]),[{isDragOver:c},d]=yPe(()=>({accept:t.TEMPORARY__isDnDFetchStructureToFilterSupported?BLi:VLi,drop:(e,t)=>{t.didDrop()||l(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[l]),u=n.useRef(null);return d(u),Yne.jsxs("div",{"data-testid":Bwi.QUERY_BUILDER_FILTER_PANEL,className:"panel",children:[Yne.jsxs("div",{className:"panel__header",children:[Yne.jsxs("div",{className:"panel__header__title",children:[Yne.jsx("div",{className:"panel__header__title__label",children:"filter"}),0!==r.allValidationIssues.length&&Yne.jsx(LLi,{issues:r.allValidationIssues})]}),Yne.jsx("div",{className:"panel__header__actions",children:Yne.jsx(nLe,{className:"panel__header__action",title:"Show Filter Options Menu...",content:Yne.jsxs(XOe,{children:[Yne.jsxs(QOe,{onClick:()=>{Vct.logEvent_FilterCreateConditionLaunched(t.applicationStore.telemetryService),r.addNodeFromNode(new ZSi(void 0),r.selectedNode)},children:[Yne.jsx(JOe,{children:Yne.jsx(Mre,{})}),Yne.jsx(eLe,{children:"Create Condition"})]}),Yne.jsxs(QOe,{disabled:!(r.selectedNode instanceof QSi),onClick:()=>{Vct.logEvent_FilterCreateLogicalGroupLaunched(i.telemetryService),r.selectedNode instanceof QSi&&r.newGroupWithConditionFromNode(void 0,r.selectedNode)},children:[Yne.jsx(JOe,{children:Yne.jsx(rse,{})}),Yne.jsx(eLe,{children:"Create Group From Condition"})]}),Yne.jsxs(QOe,{disabled:!o,title:o?"":"Please select a filter node first to create logical group",onClick:()=>{Vct.logEvent_FilterCreateLogicalGroupLaunched(t.applicationStore.telemetryService),o&&r.addGroupConditionNodeFromNode(r.selectedNode)},children:[Yne.jsx(JOe,{children:Yne.jsx(kre,{})}),Yne.jsx(eLe,{children:"Create Logical Group"})]}),Yne.jsxs(QOe,{onClick:()=>{Vct.logEvent_FilterCleanupTreeLaunched(t.applicationStore.telemetryService),r.pruneTree()},children:[Yne.jsx(JOe,{children:Yne.jsx($re,{})}),Yne.jsx(eLe,{children:"Cleanup Tree"})]}),Yne.jsxs(QOe,{onClick:()=>{Vct.logEvent_FilterSimplifyTreeLaunched(t.applicationStore.telemetryService),r.simplifyTree()},children:[Yne.jsx(JOe,{children:Yne.jsx(rre,{})}),Yne.jsx(eLe,{children:"Simplify Tree"})]}),Yne.jsxs(QOe,{onClick:()=>{Vct.logEvent_FilterCollapseTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.collapseTree()},children:[Yne.jsx(JOe,{children:Yne.jsx(lre,{})}),Yne.jsx(eLe,{children:"Collapse Tree"})]}),Yne.jsxs(QOe,{onClick:()=>{Vct.logEvent_FilterExpandTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.expandTree()},children:[Yne.jsx(JOe,{children:Yne.jsx(fre,{})}),Yne.jsx(eLe,{children:"Expand Tree"})]})]}),children:Yne.jsx(gie,{className:"query-builder__icon__more-options"})})})]}),Yne.jsx(hLe,{children:Yne.jsxs(GPe,{isDragOver:c&&r.isEmpty,isDroppable:a&&r.isEmpty,dropTargetConnector:d,children:[r.isEmpty&&Yne.jsx(ELe,{text:"Add a filter condition",tooltipText:"Drag and drop properties here"}),!r.isEmpty&&Yne.jsxs(Yne.Fragment,{children:[Yne.jsx($Pe,{labelGetter:e=>e.node.dragPreviewLabel,types:Object.values(USi)}),Yne.jsx(tMi,{queryBuilderState:t})]}),a&&!r.isEmpty&&Yne.jsx("div",{ref:u,className:"query-builder-filter-tree__free-drop-zone__container",children:Yne.jsx(WPe,{isDragOver:c,isDroppable:a,className:"query-builder-filter-tree__free-drop-zone",label:"Add filter to main group",children:Yne.jsx(Yne.Fragment,{})})})]})})]})}),iMi=Vse(e=>{const{resultState:t}=e,i=Wat(),r=i.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraQueryUsageConfigurations?.()??[]),[s,o]=n.useState(r[0]?.title),a=r.find(e=>e.title===s);return Yne.jsx(pve,{open:t.isQueryUsageViewerOpened,onClose:()=>t.setIsQueryUsageViewerOpened(!1),children:Yne.jsxs(GOe,{className:"query-builder__usage-viewer__modal",darkMode:!i.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Yne.jsx(zOe,{title:"Query Usage"}),Yne.jsx(jOe,{className:"query-builder__usage-viewer__body",children:Yne.jsxs(Yne.Fragment,{children:[0===r.length?Yne.jsx(CLe,{children:"Query usage is not available"}):Yne.jsxs(Yne.Fragment,{children:[Yne.jsx("div",{className:"query-builder__usage-viewer__tab__header",children:Yne.jsx("div",{className:"query-builder__usage-viewer__tabs",children:r.map(e=>Yne.jsxs("button",{className:zse("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&&Yne.jsx("div",{className:"query-builder__usage-viewer__tab__icon",children:e.icon}),Yne.jsx("div",{className:"query-builder__usage-viewer__tab__label",children:e.title})]},e.key))})}),Yne.jsx("div",{className:"query-builder__usage-viewer__content",children:a?.renderer()})]}),Yne.jsx(mLe,{})]})}),Yne.jsx($Oe,{children:Yne.jsx(YOe,{onClick:()=>t.setIsQueryUsageViewerOpened(!1),text:"Close",type:"secondary"})})]})})});var rMi;function sMi(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=sMi(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"}(rMi||(rMi={}));var oMi,aMi={exports:{}},lMi={};var cMi,dMi,uMi={};
|
|
902
902
|
/**
|
|
903
903
|
* @license React
|
|
904
904
|
* use-sync-external-store-shim/with-selector.development.js
|