@dcupl/common 1.8.3 → 1.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var n in r)("object"==typeof exports?exports:e)[n]=r[n]}}(this,(()=>(()=>{"use strict";var e={d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{void 0!==h&&h.toStringTag&&Object.defineProperty(e,h.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function r(e){return function(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r),t|=0;return t.toString(16)}(n(e))}function n(e){if("object"!=typeof e||null===e)return String(e);if(Array.isArray(e))return"["+e.map(n).join(",")+"]";const t=Object.keys(e).sort();let r="{";for(let o=0;o<t.length;o++){const u=t[o];r+=u+":"+n(e[u]),o<t.length-1&&(r+=",")}return r+="}",r}e.r(t),e.d(t,{AnalyticsController:()=>u,CacheController:()=>St,ChangeDetector:()=>Nt,DatePropertyTypes:()=>vo,DcuplQueryBuilder:()=>nn,DcuplQueryOperatorsAsArray:()=>bo,DependencyGraph:()=>Ut,IndicesController:()=>an,NumberPropertyTypes:()=>go,PropertyTypesAsArray:()=>ho,QueryManager:()=>fo,ScriptController:()=>lo,clone:()=>Pt,computeSuggestions:()=>Gt,escapeRegExp:()=>Dt,evaluateTemplate:()=>po,generateBooleanQuery:()=>vn,generateKey:()=>$t,generateNumberAndDateQuery:()=>bn,generateReferenceQuery:()=>mn,generateTextQuery:()=>gn,getAggregation:()=>Wt,getDateConstraintUid:()=>It,getDcuplPropertyTypeForNativeType:()=>dn,getDistinct:()=>Xt,getFacets:()=>un,getFilterEntryId:()=>Ct,getNumberConstraintUid:()=>Mt,getPropertiesForData:()=>pn,groupBy:()=>Et,isFloat:()=>hn,isInt:()=>yn,isValidQueryStatement:()=>jn,parseTemplate:()=>yo,perf:()=>o,pivot:()=>fn,removeTrailingSlash:()=>Ft,trigger:()=>Bt,unescapeRegExp:()=>zt,uniqBy:()=>Tt});const o={now:()=>"undefined"!=typeof performance?performance.now():(new Date).getTime(),mark:e=>{"undefined"!=typeof performance&&performance.mark(e)},measure:(e,t,r)=>{"undefined"!=typeof performance&&performance.measure(e,t,r)},getEntriesByName(e){if("undefined"!=typeof performance)return performance.getEntriesByName(e)},getEntriesByType(e){if("undefined"!=typeof performance)return performance.getEntriesByType(e)}};class u{data;enabled=!1;constructor(){}init(e){this.data=new Map,this.enabled=e}set(e){if(!this.enabled)return e.value;const t=this.getKey(e.value.name,e.context);return this.data.set(t,e.value),this.data.get(t)}mark(e){if(!this.enabled)return;const t=this.getKey(e.name,e.context),r={name:e.name,type:"mark",value:o.now(),createdAt:Date.now()};return this.data.set(t,r),r}measure(e){if(!this.enabled)return;const t=this.getKey(e.name,e.context),r=this.data.get(this.getKey(e.start,e.context)),n=this.data.get(this.getKey(e.end,e.context));if(!r||!n)return;const o=n.value-r.value,u=Math.round(100*o)/100,i=this.data.get(t);if(i&&e.sum){const e=i.value+u,r={...i,value:e};return this.data.set(t,r),r}const s={name:e.name,type:"measure",value:u,createdAt:Date.now()};return e.detail&&(s.detail=e.detail),this.data.set(t,s),s}update(e){if(!this.enabled)return e.value;const t=this.getKey(e.value.name,e.context),r=this.data.get(t);if(r){const n={...r,...e.value};this.data.set(t,n)}else this.data.set(t,e.value);return this.data.get(t)}getResourceInfosFromPerformanceAPI(){return"undefined"==typeof performance?[]:o.getEntriesByType("resource")}get(e){const t=this.getKey(e.name,e.context);return this.data.get(t)}getByType(e){return Array.from(this.data.values()).filter((t=>t.type===e))}getByName(e){return Array.from(this.data.values()).filter((t=>t.name===e))}clear(){this.data.clear()}getKey(e,t){return t?e+"_"+r(t):e}}const i=function(e,t){return e===t||e!=e&&t!=t},s=function(e,t){for(var r=e.length;r--;)if(i(e[r][0],t))return r;return-1};var a=Array.prototype.splice;function c(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}c.prototype.clear=function(){this.__data__=[],this.size=0},c.prototype.delete=function(e){var t=this.__data__,r=s(t,e);return!(r<0||(r==t.length-1?t.pop():a.call(t,r,1),--this.size,0))},c.prototype.get=function(e){var t=this.__data__,r=s(t,e);return r<0?void 0:t[r][1]},c.prototype.has=function(e){return s(this.__data__,e)>-1},c.prototype.set=function(e,t){var r=this.__data__,n=s(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};const f=c,l="object"==typeof global&&global&&global.Object===Object&&global;var p="object"==typeof self&&self&&self.Object===Object&&self;const y=l||p||Function("return this")();var h=y.Symbol;const d=h;var g=Object.prototype,v=g.hasOwnProperty,b=g.toString,m=d?d.toStringTag:void 0;var j=Object.prototype.toString;var _=d?d.toStringTag:void 0;const w=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":_&&_ in Object(e)?function(e){var t=v.call(e,m),r=e[m];try{e[m]=void 0;var n=!0}catch(e){}var o=b.call(e);return n&&(t?e[m]=r:delete e[m]),o}(e):function(e){return j.call(e)}(e)},A=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},q=function(e){if(!A(e))return!1;var t=w(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},x=y["__core-js_shared__"];var O,K=(O=/[^.]+$/.exec(x&&x.keys&&x.keys.IE_PROTO||""))?"Symbol(src)_1."+O:"";var Q=Function.prototype.toString;const k=function(e){if(null!=e){try{return Q.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var S=/^\[object .+?Constructor\]$/,C=Function.prototype,M=Object.prototype,I=C.toString,T=M.hasOwnProperty,E=RegExp("^"+I.call(T).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const $=function(e){return!(!A(e)||(t=e,K&&K in t))&&(q(e)?E:S).test(k(e));var t},F=function(e,t){var r=function(e,t){return null==e?void 0:e[t]}(e,t);return $(r)?r:void 0},D=F(y,"Map"),z=F(Object,"create");var N=Object.prototype.hasOwnProperty;var P=Object.prototype.hasOwnProperty;function R(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}R.prototype.clear=function(){this.__data__=z?z(null):{},this.size=0},R.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},R.prototype.get=function(e){var t=this.__data__;if(z){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return N.call(t,e)?t[e]:void 0},R.prototype.has=function(e){var t=this.__data__;return z?void 0!==t[e]:P.call(t,e)},R.prototype.set=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=z&&void 0===t?"__lodash_hash_undefined__":t,this};const B=R,G=function(e,t){var r,n,o=e.__data__;return("string"==(n=typeof(r=t))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof t?"string":"hash"]:o.map};function U(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}U.prototype.clear=function(){this.size=0,this.__data__={hash:new B,map:new(D||f),string:new B}},U.prototype.delete=function(e){var t=G(this,e).delete(e);return this.size-=t?1:0,t},U.prototype.get=function(e){return G(this,e).get(e)},U.prototype.has=function(e){return G(this,e).has(e)},U.prototype.set=function(e,t){var r=G(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this};const V=U;function L(e){var t=this.__data__=new f(e);this.size=t.size}L.prototype.clear=function(){this.__data__=new f,this.size=0},L.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},L.prototype.get=function(e){return this.__data__.get(e)},L.prototype.has=function(e){return this.__data__.has(e)},L.prototype.set=function(e,t){var r=this.__data__;if(r instanceof f){var n=r.__data__;if(!D||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new V(n)}return r.set(e,t),this.size=r.size,this};const W=L,H=function(){try{var e=F(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),Z=function(e,t,r){"__proto__"==t&&H?H(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r};var J=Object.prototype.hasOwnProperty;const X=function(e,t,r){var n=e[t];J.call(e,t)&&i(n,r)&&(void 0!==r||t in e)||Z(e,t,r)},Y=function(e,t,r,n){var o=!r;r||(r={});for(var u=-1,i=t.length;++u<i;){var s=t[u],a=n?n(r[s],e[s],s,r,e):void 0;void 0===a&&(a=e[s]),o?Z(r,s,a):X(r,s,a)}return r},ee=function(e){return null!=e&&"object"==typeof e},te=function(e){return ee(e)&&"[object Arguments]"==w(e)};var re=Object.prototype,ne=re.hasOwnProperty,oe=re.propertyIsEnumerable;const ue=te(function(){return arguments}())?te:function(e){return ee(e)&&ne.call(e,"callee")&&!oe.call(e,"callee")},ie=Array.isArray;var se="object"==typeof exports&&exports&&!exports.nodeType&&exports,ae=se&&"object"==typeof module&&module&&!module.nodeType&&module,ce=ae&&ae.exports===se?y.Buffer:void 0;const fe=(ce?ce.isBuffer:void 0)||function(){return!1};var le=/^(?:0|[1-9]\d*)$/;const pe=function(e,t){var r=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==r||"symbol"!=r&&le.test(e))&&e>-1&&e%1==0&&e<t},ye=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991};var he={};he["[object Float32Array]"]=he["[object Float64Array]"]=he["[object Int8Array]"]=he["[object Int16Array]"]=he["[object Int32Array]"]=he["[object Uint8Array]"]=he["[object Uint8ClampedArray]"]=he["[object Uint16Array]"]=he["[object Uint32Array]"]=!0,he["[object Arguments]"]=he["[object Array]"]=he["[object ArrayBuffer]"]=he["[object Boolean]"]=he["[object DataView]"]=he["[object Date]"]=he["[object Error]"]=he["[object Function]"]=he["[object Map]"]=he["[object Number]"]=he["[object Object]"]=he["[object RegExp]"]=he["[object Set]"]=he["[object String]"]=he["[object WeakMap]"]=!1;const de=function(e){return function(t){return e(t)}};var ge="object"==typeof exports&&exports&&!exports.nodeType&&exports,ve=ge&&"object"==typeof module&&module&&!module.nodeType&&module,be=ve&&ve.exports===ge&&l.process;const me=function(){try{return ve&&ve.require&&ve.require("util").types||be&&be.binding&&be.binding("util")}catch(e){}}();var je=me&&me.isTypedArray;const _e=je?de(je):function(e){return ee(e)&&ye(e.length)&&!!he[w(e)]};var we=Object.prototype.hasOwnProperty;const Ae=function(e,t){var r=ie(e),n=!r&&ue(e),o=!r&&!n&&fe(e),u=!r&&!n&&!o&&_e(e),i=r||n||o||u,s=i?function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}(e.length,String):[],a=s.length;for(var c in e)!t&&!we.call(e,c)||i&&("length"==c||o&&("offset"==c||"parent"==c)||u&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||pe(c,a))||s.push(c);return s};var qe=Object.prototype;const xe=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||qe)},Oe=function(e,t){return function(r){return e(t(r))}},Ke=Oe(Object.keys,Object);var Qe=Object.prototype.hasOwnProperty;const ke=function(e){if(!xe(e))return Ke(e);var t=[];for(var r in Object(e))Qe.call(e,r)&&"constructor"!=r&&t.push(r);return t},Se=function(e){return null!=e&&ye(e.length)&&!q(e)},Ce=function(e){return Se(e)?Ae(e):ke(e)};var Me=Object.prototype.hasOwnProperty;const Ie=function(e){if(!A(e))return function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}(e);var t=xe(e),r=[];for(var n in e)("constructor"!=n||!t&&Me.call(e,n))&&r.push(n);return r},Te=function(e){return Se(e)?Ae(e,!0):Ie(e)};var Ee="object"==typeof exports&&exports&&!exports.nodeType&&exports,$e=Ee&&"object"==typeof module&&module&&!module.nodeType&&module,Fe=$e&&$e.exports===Ee?y.Buffer:void 0,De=Fe?Fe.allocUnsafe:void 0;const ze=function(){return[]};var Ne=Object.prototype.propertyIsEnumerable,Pe=Object.getOwnPropertySymbols;const Re=Pe?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var r=-1,n=null==e?0:e.length,o=0,u=[];++r<n;){var i=e[r];t(i,r,e)&&(u[o++]=i)}return u}(Pe(e),(function(t){return Ne.call(e,t)})))}:ze,Be=function(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e},Ge=Oe(Object.getPrototypeOf,Object),Ue=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)Be(t,Re(e)),e=Ge(e);return t}:ze,Ve=function(e,t,r){var n=t(e);return ie(e)?n:Be(n,r(e))},Le=function(e){return Ve(e,Ce,Re)},We=function(e){return Ve(e,Te,Ue)},He=F(y,"DataView"),Ze=F(y,"Promise"),Je=F(y,"Set"),Xe=F(y,"WeakMap");var Ye="[object Map]",et="[object Promise]",tt="[object Set]",rt="[object WeakMap]",nt="[object DataView]",ot=k(He),ut=k(D),it=k(Ze),st=k(Je),at=k(Xe),ct=w;(He&&ct(new He(new ArrayBuffer(1)))!=nt||D&&ct(new D)!=Ye||Ze&&ct(Ze.resolve())!=et||Je&&ct(new Je)!=tt||Xe&&ct(new Xe)!=rt)&&(ct=function(e){var t=w(e),r="[object Object]"==t?e.constructor:void 0,n=r?k(r):"";if(n)switch(n){case ot:return nt;case ut:return Ye;case it:return et;case st:return tt;case at:return rt}return t});const ft=ct;var lt=Object.prototype.hasOwnProperty;const pt=y.Uint8Array,yt=function(e){var t=new e.constructor(e.byteLength);return new pt(t).set(new pt(e)),t};var ht=/\w*$/;var dt=d?d.prototype:void 0,gt=dt?dt.valueOf:void 0;const vt=function(e,t,r){var n,o,u,i=e.constructor;switch(t){case"[object ArrayBuffer]":return yt(e);case"[object Boolean]":case"[object Date]":return new i(+e);case"[object DataView]":return function(e,t){var r=t?yt(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}(e,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(e,t){var r=t?yt(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}(e,r);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(e);case"[object RegExp]":return(u=new(o=e).constructor(o.source,ht.exec(o))).lastIndex=o.lastIndex,u;case"[object Symbol]":return n=e,gt?Object(gt.call(n)):{}}};var bt=Object.create;const mt=function(){function e(){}return function(t){if(!A(t))return{};if(bt)return bt(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();var jt=me&&me.isMap;const _t=jt?de(jt):function(e){return ee(e)&&"[object Map]"==ft(e)};var wt=me&&me.isSet;const At=wt?de(wt):function(e){return ee(e)&&"[object Set]"==ft(e)};var qt="[object Arguments]",xt="[object Function]",Ot="[object Object]",Kt={};Kt[qt]=Kt["[object Array]"]=Kt["[object ArrayBuffer]"]=Kt["[object DataView]"]=Kt["[object Boolean]"]=Kt["[object Date]"]=Kt["[object Float32Array]"]=Kt["[object Float64Array]"]=Kt["[object Int8Array]"]=Kt["[object Int16Array]"]=Kt["[object Int32Array]"]=Kt["[object Map]"]=Kt["[object Number]"]=Kt[Ot]=Kt["[object RegExp]"]=Kt["[object Set]"]=Kt["[object String]"]=Kt["[object Symbol]"]=Kt["[object Uint8Array]"]=Kt["[object Uint8ClampedArray]"]=Kt["[object Uint16Array]"]=Kt["[object Uint32Array]"]=!0,Kt["[object Error]"]=Kt[xt]=Kt["[object WeakMap]"]=!1;const Qt=function e(t,r,n,o,u,i){var s,a=1&r,c=2&r,f=4&r;if(n&&(s=u?n(t,o,u,i):n(t)),void 0!==s)return s;if(!A(t))return t;var l=ie(t);if(l){if(s=function(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&lt.call(e,"index")&&(r.index=e.index,r.input=e.input),r}(t),!a)return function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}(t,s)}else{var p=ft(t),y=p==xt||"[object GeneratorFunction]"==p;if(fe(t))return function(e,t){if(t)return e.slice();var r=e.length,n=De?De(r):new e.constructor(r);return e.copy(n),n}(t,a);if(p==Ot||p==qt||y&&!u){if(s=c||y?{}:function(e){return"function"!=typeof e.constructor||xe(e)?{}:mt(Ge(e))}(t),!a)return c?function(e,t){return Y(e,Ue(e),t)}(t,function(e,t){return e&&Y(t,Te(t),e)}(s,t)):function(e,t){return Y(e,Re(e),t)}(t,function(e,t){return e&&Y(t,Ce(t),e)}(s,t))}else{if(!Kt[p])return u?t:{};s=vt(t,p,a)}}i||(i=new W);var h=i.get(t);if(h)return h;i.set(t,s),At(t)?t.forEach((function(o){s.add(e(o,r,n,o,t,i))})):_t(t)&&t.forEach((function(o,u){s.set(u,e(o,r,n,u,t,i))}));var d=l?void 0:(f?c?We:Le:c?Te:Ce)(t);return function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););}(d||t,(function(o,u){d&&(o=t[u=o]),X(s,u,e(o,r,n,u,t,i))})),s},kt=function(e){return Qt(e,5)};class St{enabled;cache;constructor(e){this.enabled=e,this.cache=new Map}get(e,t){if(this.enabled)return this.cache.get(this.getCacheName(e,t))}set(e,t,r){this.enabled&&this.cache.set(this.getCacheName(e,t),r)}has(e,t){return this.cache.has(this.getCacheName(e,t))}clear(){this.cache.clear()}generateContext(e){try{return kt(e)}catch(t){return console.log("error in cache generateContext",t),e}}getCacheName(e,t){return e+"_"+r(t)}}const Ct=(e,t="")=>`${e}#${t}`,Mt=e=>`${e.gt}_${e.gte}_${e.lt}_${e.lte}_${e.eq}_${e.ne}`,It=e=>`${e.gt}_${e.gte}_${e.lt}_${e.lte}_${e.eq}_${e.ne}`,Tt=(e,t)=>{const r="function"==typeof t?t:e=>e[t];return[...e.reduce(((e,t)=>{const n=null==t?t:r(t);return e.has(n)||e.set(n,t),e}),new Map).values()]},Et=(e,t)=>e.reduce((function(e,r){const n="function"==typeof t?t(r):r[t];return e.hasOwnProperty(n)||(e[n]=[]),e[n].push(r),e}),{});function $t(e=10){let t="";for(let r=0;r<e;r++)t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(62*Math.random()));return t}const Ft=e=>e.replace(/\/+$/,""),Dt=e=>"string"!=typeof e?"":e.replace(/[[\]{}()*+?.,\\^$|#]/g,"\\$&"),zt=e=>"string"!=typeof e?"":e.replace(/\\([[\]{}()*+?.,\\^$|#])/g,"$1");class Nt{key;parentCd;dcuplInitOptions;analyticsController;off;updateListener=new Set;constructor(){}_init(e){this.key=e.cdRefKey,this.analyticsController=e.analyticsController,this.parentCd=e.parentCd,this.dcuplInitOptions=e.dcuplInitOptions,this.parentCd&&(this.off=this.parentCd.on((e=>{"update"===e.action&&e.originCdRefKey===this.parentCd?.key&&this.trigger(e)})))}destroy(){this.off&&this.off()}trigger(e){e.originCdRefKey||(e.originCdRefKey=this.key),this.updateListener.forEach((t=>{t(e)}))}on(e){return this.updateListener.add(e),()=>{this.updateListener.delete(e)}}}const Pt=(e,t)=>t?"undefined"!=typeof structuredClone?structuredClone(e):kt(e):e,Rt=(e,t,r,n,u)=>{try{const i=!!e.dcuplInitOptions.performance?.clone?.enabled&&!!t.cloneResult,s=Pt(u,i),a=o.now();t.duration=a-r,e?.trigger(t);const c={duration:t.duration};return t.modelKey&&(c.model=t.modelKey),t.args&&(c.args=t.args),e.analyticsController.mark({name:`${t.name}:end`,context:n}),e.analyticsController.measure({name:`${t.name}`,start:`${t.name}:start`,end:`${t.name}:end`,context:n,detail:c}),s}catch(e){return u}},Bt=e=>(t,r,n)=>{const u=n.value;return n.value=function(...t){const n=this.cdRef,i=o.now();let s="";e.mergeAnalytics||(s=$t()),n.analyticsController.mark({name:`${e.name}:start`,context:s});const a=this.model?.key;!e.originCdRefKey&&n.key&&(e.originCdRefKey=n.key),a&&(e.modelKey=a);try{const o=u.apply(this,t);return e.method=r,e.args=t,o&&"then"in o?o.then((t=>Rt(n,e,i,s,t))):Rt(n,e,i,s,o)}catch(e){throw e}},n};function Gt(e,t,r,n){r.max||(r.max=20);const o=[],u=r.transform?n.transformValue(r.value,r.transform):r.value;for(const[i,s]of t.entries()){const t=s.some((t=>e.has(t))),a=r.transform?n.transformValue(i,r.transform):i;if(!(r.excludeUndefineds&&void 0===i||r.excludeNulls&&null===i)){if(!t||""!==u&&"//"!==u){if(t&&n.queryFind(a,u,"some")){const e={value:i,keys:r.calculateResultKeys?s:[]};o.push(e)}}else{const e={value:i,keys:r.calculateResultKeys?s:[]};o.push(e)}if(o.length===r.max)break}}return o}class Ut{nodes;edges;constructor(){this.nodes=new Set,this.edges=new Map}addNode(e){this.nodes.has(e)||(this.nodes.add(e),this.edges.set(e,new Set))}addDependency(e,t){if(!this.nodes.has(e)||!this.nodes.has(t))throw new Error("Both nodes must exist before adding a dependency.");this.edges.get(e).add(t)}removeNode(e){if(!this.nodes.has(e))throw new Error("Node does not exist.");this.nodes.delete(e),this.edges.delete(e);for(let t of this.edges.values())t.delete(e)}removeDependency(e,t){if(!this.edges.has(e))throw new Error("From node does not exist.");this.edges.get(e).delete(t)}hasNode(e){return this.nodes.has(e)}hasDependency(e,t){return!!this.edges.has(e)&&this.edges.get(e).has(t)}getDependencies(e){if(!this.edges.has(e))throw new Error("Node does not exist.");return Array.from(this.edges.get(e))}getDependents(e){const t=[];for(let[r,n]of this.edges)n.has(e)&&t.push(r);return t}isCyclic(){const e=new Set,t=new Set,r=n=>{if(e.has(n))return!1;if(t.has(n))return!0;t.add(n);const o=this.edges.get(n);if(o)for(let e of o)if(r(e))return!0;return t.delete(n),e.add(n),!1};for(let e of this.nodes)if(r(e))return!0;return!1}order(){const e=new Set,t=new Set,r=[],n=o=>{if(e.has(o))return;if(t.has(o))throw new Error("Graph has a cycle.");t.add(o);const u=this.edges.get(o);if(u)for(let e of u)n(e);t.delete(o),e.add(o),r.push(o)};for(let t of this.nodes)e.has(t)||n(t);return r}clear(){this.nodes.clear(),this.edges.clear()}getNodes(){return Array.from(this.nodes)}getAllEdges(){const e=[];for(let[t,r]of this.edges)for(let n of r)e.push([t,n]);return e}}function Vt(e){let t=0;for(let r of e){const e=r.toString().split(".")[1];e&&(t=Math.max(t,e.length))}return Math.pow(10,t)}function Lt(e,t,r){return(e*r+t*r)/r}const Wt=(e,t,r,n)=>{if(!n)throw new Error("Attribute not found");const o={attribute:n,types:e.types};let u,i;return(o.types.includes("sum")||o.types.includes("avg")||o.types.includes("count"))&&(u=Jt(n,t)),(o.types.includes("min")||o.types.includes("max"))&&(i=Ht(e.attribute,t)),e.types.forEach((n=>{"sum"===n?o.sum=u?.sum:"avg"===n?o.avg=u?.average:"count"===n?o.count=u?.count:"min"===n?o.min=i&&i[0]:"max"===n?o.max=i&&i[1]:"distinct"===n?o.distinct=Xt(e,t,r):"group"===n&&(o.group=Zt(e,t))})),o},Ht=(e,t)=>{let r,n;for(const o of t.values())if(o){const t=o[e];(void 0===r||t<r)&&(r=t),(void 0===n||t>n)&&(n=t)}if(void 0!==r&&void 0!==n)return[r,n]},Zt=(e,t)=>{const r=[];e.groupOptions?.groups?.forEach((e=>{r.push({option:e,count:0,keys:[]})}));const n={option:{value:["$dcupl_not_found"]},count:0,keys:[]};for(const o of t.values()){const t=o[e.attribute];for(const u of r)void 0!==u.option.value&&u.option.value.includes(t)||void 0!==u.option.from&&u.option.from<t&&void 0!==u.option.to&&u.option.to>t?(u.count++,u.keys.push(o.key)):e?.groupOptions?.calculateNotFound&&(n.count++,n.keys.push(o.key))}return e?.groupOptions?.calculateNotFound&&r.push(n),r},Jt=(e,t)=>{let r=0,n=0;for(const o of t.values()){if(!o)continue;const t=o[e];if(Array.isArray(t))for(const e of t)"number"==typeof e&&(r=Lt(r,e,Vt([r,e])),n++);else"number"==typeof t&&(r=Lt(r,t,Vt([r,t])),n++)}var o,u,i;if(0!==n)return{average:(o=r,u=n,i=Vt([r,n]),o*i/(u*i)),count:t.size,sum:r}},Xt=(e,t,r)=>{const n=[];for(const[o,u]of r)if((!e.excludeUndefineds||void 0!==o)&&u.find((e=>t.has(e)))){const t={value:o,count:u.length};if(e.distinctOptions?.skipKeys||(t.keys=u),n.push(t),e.distinctOptions?.limit&&n.length>=e.distinctOptions.limit)break}return n},Yt=function(e,t,r,n){for(var o=e.length,u=r+(n?1:-1);n?u--:++u<o;)if(t(e[u],u,e))return u;return-1};function er(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new V;++t<r;)this.add(e[t])}er.prototype.add=er.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},er.prototype.has=function(e){return this.__data__.has(e)};const tr=er,rr=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1},nr=function(e,t){return e.has(t)},or=function(e,t,r,n,o,u){var i=1&r,s=e.length,a=t.length;if(s!=a&&!(i&&a>s))return!1;var c=u.get(e),f=u.get(t);if(c&&f)return c==t&&f==e;var l=-1,p=!0,y=2&r?new tr:void 0;for(u.set(e,t),u.set(t,e);++l<s;){var h=e[l],d=t[l];if(n)var g=i?n(d,h,l,t,e,u):n(h,d,l,e,t,u);if(void 0!==g){if(g)continue;p=!1;break}if(y){if(!rr(t,(function(e,t){if(!nr(y,t)&&(h===e||o(h,e,r,n,u)))return y.push(t)}))){p=!1;break}}else if(h!==d&&!o(h,d,r,n,u)){p=!1;break}}return u.delete(e),u.delete(t),p},ur=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r},ir=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r};var sr=d?d.prototype:void 0,ar=sr?sr.valueOf:void 0;var cr=Object.prototype.hasOwnProperty;var fr="[object Arguments]",lr="[object Array]",pr="[object Object]",yr=Object.prototype.hasOwnProperty;const hr=function(e,t,r,n,o,u){var s=ie(e),a=ie(t),c=s?lr:ft(e),f=a?lr:ft(t),l=(c=c==fr?pr:c)==pr,p=(f=f==fr?pr:f)==pr,y=c==f;if(y&&fe(e)){if(!fe(t))return!1;s=!0,l=!1}if(y&&!l)return u||(u=new W),s||_e(e)?or(e,t,r,n,o,u):function(e,t,r,n,o,u,s){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!u(new pt(e),new pt(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return i(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var a=ur;case"[object Set]":var c=1&n;if(a||(a=ir),e.size!=t.size&&!c)return!1;var f=s.get(e);if(f)return f==t;n|=2,s.set(e,t);var l=or(a(e),a(t),n,o,u,s);return s.delete(e),l;case"[object Symbol]":if(ar)return ar.call(e)==ar.call(t)}return!1}(e,t,c,r,n,o,u);if(!(1&r)){var h=l&&yr.call(e,"__wrapped__"),d=p&&yr.call(t,"__wrapped__");if(h||d){var g=h?e.value():e,v=d?t.value():t;return u||(u=new W),o(g,v,r,n,u)}}return!!y&&(u||(u=new W),function(e,t,r,n,o,u){var i=1&r,s=Le(e),a=s.length;if(a!=Le(t).length&&!i)return!1;for(var c=a;c--;){var f=s[c];if(!(i?f in t:cr.call(t,f)))return!1}var l=u.get(e),p=u.get(t);if(l&&p)return l==t&&p==e;var y=!0;u.set(e,t),u.set(t,e);for(var h=i;++c<a;){var d=e[f=s[c]],g=t[f];if(n)var v=i?n(g,d,f,t,e,u):n(d,g,f,e,t,u);if(!(void 0===v?d===g||o(d,g,r,n,u):v)){y=!1;break}h||(h="constructor"==f)}if(y&&!h){var b=e.constructor,m=t.constructor;b==m||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof m&&m instanceof m||(y=!1)}return u.delete(e),u.delete(t),y}(e,t,r,n,o,u))},dr=function e(t,r,n,o,u){return t===r||(null==t||null==r||!ee(t)&&!ee(r)?t!=t&&r!=r:hr(t,r,n,o,e,u))},gr=function(e,t,r,n){var o=r.length,u=o,i=!n;if(null==e)return!u;for(e=Object(e);o--;){var s=r[o];if(i&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++o<u;){var a=(s=r[o])[0],c=e[a],f=s[1];if(i&&s[2]){if(void 0===c&&!(a in e))return!1}else{var l=new W;if(n)var p=n(c,f,a,e,t,l);if(!(void 0===p?dr(f,c,3,n,l):p))return!1}}return!0},vr=function(e){return e==e&&!A(e)},br=function(e){for(var t=Ce(e),r=t.length;r--;){var n=t[r],o=e[n];t[r]=[n,o,vr(o)]}return t},mr=function(e,t){return function(r){return null!=r&&r[e]===t&&(void 0!==t||e in Object(r))}},jr=function(e){return"symbol"==typeof e||ee(e)&&"[object Symbol]"==w(e)};var _r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,wr=/^\w*$/;const Ar=function(e,t){if(ie(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!jr(e))||wr.test(e)||!_r.test(e)||null!=t&&e in Object(t)};function qr(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],u=r.cache;if(u.has(o))return u.get(o);var i=e.apply(this,n);return r.cache=u.set(o,i)||u,i};return r.cache=new(qr.Cache||V),r}qr.Cache=V;var xr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Or=/\\(\\)?/g;const Kr=(Qr=qr((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(xr,(function(e,r,n,o){t.push(n?o.replace(Or,"$1"):r||e)})),t}),(function(e){return 500===kr.size&&kr.clear(),e})),kr=Qr.cache,Qr);var Qr,kr;const Sr=function(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o};var Cr=d?d.prototype:void 0,Mr=Cr?Cr.toString:void 0;const Ir=function e(t){if("string"==typeof t)return t;if(ie(t))return Sr(t,e)+"";if(jr(t))return Mr?Mr.call(t):"";var r=t+"";return"0"==r&&1/t==-1/0?"-0":r},Tr=function(e){return null==e?"":Ir(e)},Er=function(e,t){return ie(e)?e:Ar(e,t)?[e]:Kr(Tr(e))},$r=function(e){if("string"==typeof e||jr(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t},Fr=function(e,t){for(var r=0,n=(t=Er(t,e)).length;null!=e&&r<n;)e=e[$r(t[r++])];return r&&r==n?e:void 0},Dr=function(e,t,r){var n=null==e?void 0:Fr(e,t);return void 0===n?r:n},zr=function(e,t){return null!=e&&t in Object(e)},Nr=function(e,t){return null!=e&&function(e,t,r){for(var n=-1,o=(t=Er(t,e)).length,u=!1;++n<o;){var i=$r(t[n]);if(!(u=null!=e&&r(e,i)))break;e=e[i]}return u||++n!=o?u:!!(o=null==e?0:e.length)&&ye(o)&&pe(i,o)&&(ie(e)||ue(e))}(e,t,zr)},Pr=function(e){return e},Rr=function(e){return function(t){return null==t?void 0:t[e]}},Br=function(e){return Ar(e)?Rr($r(e)):function(e){return function(t){return Fr(t,e)}}(e)},Gr=function(e){return"function"==typeof e?e:null==e?Pr:"object"==typeof e?ie(e)?(n=e[0],o=e[1],Ar(n)&&vr(o)?mr($r(n),o):function(e){var t=Dr(e,n);return void 0===t&&t===o?Nr(e,n):dr(o,t,3)}):1==(r=br(t=e)).length&&r[0][2]?mr(r[0][0],r[0][1]):function(e){return e===t||gr(e,t,r)}:Br(e);var t,r,n,o};var Ur=/\s/;var Vr=/^\s+/;const Lr=function(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&Ur.test(e.charAt(t)););return t}(e)+1).replace(Vr,""):e};var Wr=/^[-+]0x[0-9a-f]+$/i,Hr=/^0b[01]+$/i,Zr=/^0o[0-7]+$/i,Jr=parseInt;var Xr=1/0;const Yr=function(e){return e?(e=function(e){if("number"==typeof e)return e;if(jr(e))return NaN;if(A(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=A(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Lr(e);var r=Hr.test(e);return r||Zr.test(e)?Jr(e.slice(2),r?2:8):Wr.test(e)?NaN:+e}(e))===Xr||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0},en=function(e){var t=Yr(e),r=t%1;return t==t?r?t-r:t:0};var tn=Math.max;const rn=function(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var o=null==r?0:en(r);return o<0&&(o=tn(n+o,0)),Yt(e,Gr(t),o)};class nn{_defaultQueryOptions={modelKey:"",groupKey:"root",groupType:"and",queries:[]};_initOptions;currentQuery=kt(this._defaultQueryOptions);constructor(){}init(e){this._initOptions=kt(e),this.currentQuery=kt(this._defaultQueryOptions),this.currentQuery.modelKey=e.modelKey}reset(){return this.init(this._initOptions),this.getQuery()}isQuery(e){return"attribute"in e}isQueryGroup(e){return"groupKey"in e}isRootQueryGroup(e){return this.isQueryGroup(e)&&"root"===e.groupKey}getQueryGroup(e){return this.currentQuery.queries.find((t=>this.isQueryGroup(t)&&t.groupKey===e))}getQuery(){return kt(this.currentQuery)}hasQueryGroup(e){return this.currentQuery.queries.some((t=>this.isQueryGroup(t)&&t.groupKey===e))}has(e){if(e.groupKey&&e.queryKey){const t=this.getQueryGroup(e.groupKey);if(t)return t.queries.some((t=>this.isQuery(t)&&t.queryKey===e.queryKey))}else if(e.groupKey)return this.hasQueryGroup(e.groupKey);return!1}applyOptions(e,t="update"){return"set"===t?(this.currentQuery.count=e.count,this.currentQuery.start=e.start,this.currentQuery.sort=e.sort,this.currentQuery.projection=e.projection):(void 0!==e?.sort&&(this.currentQuery.sort=e.sort),void 0!==e?.count&&(this.currentQuery.count=e.count),void 0!==e?.start&&(this.currentQuery.start=e?.start),void 0!==e?.projection&&(this.currentQuery.projection=e?.projection)),this.getQuery()}applyQuery(e,t,r){if(r||(r=this.currentQuery),Array.isArray(e))for(const n of e)this.applyQuery(n,t,r);else if(this.isRootQueryGroup(e))e.groupType&&(r.groupType=e.groupType),r.queries="set"===t?.mode?e.queries:[...r.queries,...e.queries],this.applyOptions(e,"set");else if(this.isQuery(e)){const n=r.queries.findIndex((t=>this.isQueryGroup(t)&&t.groupKey===e.attribute));if(n>-1){const o=r.queries[n];"set"===t?.mode?o.queries=[e]:o.queries.push(e)}else r.queries.push({groupKey:e.attribute,groupType:"or",queries:[e]})}else if(this.isQueryGroup(e)){const n=r.queries.findIndex((t=>this.isQueryGroup(t)&&t.groupKey===e.groupKey));if(n>-1){const o=r.queries[n];e.groupType&&(o.groupType=e.groupType),"set"===t?.mode?r.queries[n]=e:o.queries=[...o.queries,...e.queries]}else r.queries.push({groupKey:e.groupKey,groupType:e.groupType||"or",queries:e.queries})}return r}removeAllQueries(){return this.currentQuery.queries=[],this.getQuery()}removeQuery(e,t){if(t||(t=this.currentQuery),this.isQuery(e)){const r=t.queries.findIndex((t=>this.isQueryGroup(t)&&t.groupKey===e.attribute));if(r>-1){const n=t.queries[r],o=rn(n.queries,e);o>-1&&n.queries.splice(o,1),0===n.queries.length&&t.queries.splice(r,1)}}else if(this.isQueryGroup(e)){const r=t.queries.findIndex((t=>this.isQueryGroup(t)&&t.groupKey===e.groupKey));if(r>-1)if(e.queries){const n=t.queries[r];for(const t of e.queries){const e=rn(n.queries,t);e>-1&&n.queries.splice(e,1)}0===n.queries.length&&t.queries.splice(r,1)}else t.queries.splice(r,1)}return t}}const on=new nn;function un(e,t,r,n,o,u,i){const s=[],a=on.removeQuery({groupKey:o},kt(n)),c=i.queryData(e,a,!1,u),f=t?[...t?.keys()]:[],l=new Set(f),p=u.get(o);if(!r.excludeUnresolved)for(const e of p.keys())l.add(e);r.excludeUndefineds?l.delete(void 0):l.add(void 0);for(const e of l.values()){const u=new Map,i=p.get(e)||[];for(const e of i){const t=c.get(e);if(t&&(u.set(e,t),!r?.calculateFacets))break}const a={key:String(e),value:e,selected:sn(o,e,n),enabled:u.size>0,size:u.size,entry:t.get(e),resultKeys:Array.from(u.keys())};if(!r?.excludeZeros||0!==a.size){if(r?.count&&s.length===r?.count)return s;s.push(a)}}return s}const sn=(e,t,r)=>{const n=r.queries.findIndex((t=>on.isQueryGroup(t)&&t.groupKey===e));return n>-1&&!!r.queries[n].queries.find((r=>{if(on.isQuery(r)){const n=r.value?.key||r.value;return r.attribute===e&&n===t}return!1}))};class an{indexMap=new Map;dataMap=new Map;constructor(){}reset(e){e?(this.indexMap.delete(e),this.dataMap.delete(e)):(this.indexMap.clear(),this.dataMap.clear())}fillDataMap(e,t){let r=this.dataMap.get(e);r||(r=new Map,this.dataMap.set(e,r));for(const n of t){let t;if("object"==typeof n&&n&&n.key)t=n.key;else{if(Array.isArray(n)){for(const t of n)this.fillDataMap(e,[t]);return}t=n}let o=r.get(t);o||(o={key:t},this.dataMap.get(e)?.set(t,o))}}fillInverseIndex(e,t,r){if(!(e&&t&&r&&Array.isArray(r)))return;const n=this.indexMap.get(e)||new Map;for(const o of r){let r;if("object"==typeof o&&o&&o.key)r=o.key;else{if(Array.isArray(o)){for(const r of o)this.fillInverseIndex(e,t,[r]);return}r=o}const u=n.get(r)||[];u.push(t),n.set(r,u)}this.indexMap.set(e,n)}getIndex(e,t){const r=this.getIndexName(e,t);return this.indexMap.get(r)}getData(e,t){const r=this.getIndexName(e,t);return this.dataMap.get(r)}getOrCreateIndex(e,t,r){const n=this.getIndexName(e,r);let o=this.getIndex(n);if(!o){this.reset(n),this.indexMap.set(n,new Map);for(const r of t.values()){const t=r[e];this.fillInverseIndex(n,r.key,[t]),this.fillDataMap(n,[t])}o=this.getIndex(n)||new Map}return o}getIndexName(e,t){return t?e+"_"+r(t):e}}const cn="__";function fn(e,t,r={key:"root"},n="root",o=new an){for(const r of t.columns)r.attribute&&o.getOrCreateIndex(r.attribute,e);for(const r of t.rows)r.attribute&&o.getOrCreateIndex(r.attribute,e);for(const r of t.values)r.attribute&&o.getOrCreateIndex(r.attribute,e);if(t.rows&&t.rows.length>0){r.rows=r.rows||[];const u=function(e,t,r,n,o=""){const u={key:t.attribute},i=n.getIndex(t.attribute);if(!i)return u;for(const[s,a]of i.entries()){const i={key:s},c=new Map;for(const t of a)e.has(t)&&c.set(t,e.get(t));if(c.size){for(const e of r.values){if(i.values=i.values||[],"root"===o&&!1===t?.calculateTotals)continue;const r=Wt(e,c,n.getIndex(e.attribute),e.attribute);i.values.push(r)}if(u.rows=u.rows||[],u.rows.push(i),r.rows.length>1)fn(c,{...r,rows:r.rows.slice(1)},i,o+cn+t.attribute+cn+s);else if(r.columns)for(const e of r.columns){i.columns=i.columns||[];const u=ln(c,e,r,n,o+cn+t.attribute+cn+s);i.columns.push(u)}}}return u}(e,t.rows[0],t,o,n);r.rows.push(u)}if(t.columns&&t.columns.length>0){r.columns=r.columns||[];const u=ln(e,t.columns[0],t,o,n);r.columns.push(u)}if("root"===r.key)for(const u of t.values){if(r.values=r.values||[],"root"===n&&!1===t.options?.calculateTotals)continue;const i=Wt(u,e,o.getIndex(u.attribute),u.attribute);r.values.push(i)}return r}function ln(e,t,r,n,o=""){const u={key:t.attribute},i=n.getIndex(t.attribute);if(!i)return u;for(const[s,a]of i.entries()){const i={key:s},c=new Map;for(const t of a)e.has(t)&&c.set(t,e.get(t));if(c.size){for(const e of r.values){if(i.values=i.values||[],"root"===o&&!1===t?.calculateTotals)continue;const r=Wt(e,c,n.getIndex(e.attribute),e.attribute);i.values.push(r)}u.columns=u.columns||[],u.columns.push(i),r.columns.length>1&&fn(c,{...r,columns:r.columns.slice(1)},i,o+cn+t.attribute+cn+s)}}return u}const pn=(e,t)=>{const r=[];for(const n of e){for(const[e,t]of Object.entries(n)){const n=r.find((t=>t.key===e)),o=dn(t);if(n)n.type!==o&&(n.type="any");else{const t={key:e,type:o};r.push(t)}}if(!t)break}return r},yn=e=>Number(e)===e&&e%1==0,hn=e=>Number(e)===e&&e%1!=0,dn=e=>{switch(typeof e){case"string":return"string";case"number":return yn(e)?"int":hn(e)?"float":"any";case"boolean":return"boolean";case"object":return function(e){return e instanceof Date||"object"==typeof e&&"[object Date]"===Object.prototype.toString.call(e)}(e)?"date":"json";default:return"any"}},gn=(e,t)=>{const r=Dt(e.text||""),n=t?.attributeKey||e.filterKey;let o;const u=t?.comparisonType||"containsIgnoreCase";return"containsIgnoreCase"===u?o={groupKey:e.filterKey,queries:[{queryKey:e.text,attribute:n,value:`/${r}/`,operator:"find",options:{transform:["lowercase"]}}]}:"containsIgnoreCaseAndWhitespace"===u?o={groupKey:e.filterKey,queries:[{queryKey:e.text,attribute:n,value:`/${r}/`,operator:"find",options:{transform:["removeWhitespace","lowercase"]}}]}:"contains"===u?o={groupKey:e.filterKey,queries:[{queryKey:e.text,attribute:n,value:`/${r}/`,operator:"find"}]}:"equal"===u?o={groupKey:e.filterKey,queries:[{queryKey:e.text,attribute:n,value:e.text,operator:"eq"}]}:"equalIgnoreCase"===u&&(o={groupKey:e.filterKey,queries:[{queryKey:e.text,attribute:n,value:e.text,operator:"eq",options:{transform:["lowercase"]}}]}),o},vn=(e,t)=>{const r=t?.attributeKey||e.filterKey;return{groupKey:e.filterKey,queries:[{queryKey:e.value,attribute:r,value:e.value,operator:"eq"}]}},bn=(e,t)=>{const r=t?.attributeKey||e.filterKey,n={groupKey:e.filterKey,queries:[]};return void 0!==e.eq&&(n.groupType="or",Array.isArray(e.eq)?e.eq.forEach((e=>{n.queries.push({attribute:r,value:e,operator:"eq"})})):n.queries.push({attribute:r,value:e.eq,operator:"eq"})),void 0!==e.ne&&(n.groupType="and",Array.isArray(e.ne)?e.ne.forEach((e=>{n.queries.push({attribute:r,value:e,operator:"eq",options:{invert:!0}})})):n.queries.push({attribute:r,value:e.ne,operator:"eq",options:{invert:!0}})),void 0!==e.gt&&(n.groupType="and",n.queries.push({attribute:r,value:e.gt,operator:"gt"})),void 0!==e.lt&&(n.groupType="and",n.queries.push({attribute:r,value:e.lt,operator:"lt"})),void 0!==e.gte&&(n.groupType="and",n.queries.push({attribute:r,value:e.gte,operator:"gte"})),void 0!==e.lte&&(n.groupType="and",n.queries.push({attribute:r,value:e.lte,operator:"lte"})),n},mn=(e,t)=>{const r=t?.attributeKey||e.filterKey,n={groupKey:e.filterKey,queries:[]};return e.itemKeys.forEach((e=>{n.queries.push({queryKey:e,attribute:r,value:{key:e},operator:"eq"})})),n},jn=e=>"string"==typeof e.modelKey&&!!Array.isArray(e.queries),_n=function(e,t){return dr(e,t)},wn=Rr("length");var An=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");var qn="\\ud800-\\udfff",xn="["+qn+"]",On="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Kn="\\ud83c[\\udffb-\\udfff]",Qn="[^"+qn+"]",kn="(?:\\ud83c[\\udde6-\\uddff]){2}",Sn="[\\ud800-\\udbff][\\udc00-\\udfff]",Cn="(?:"+On+"|"+Kn+")?",Mn="[\\ufe0e\\ufe0f]?",In=Mn+Cn+"(?:\\u200d(?:"+[Qn,kn,Sn].join("|")+")"+Mn+Cn+")*",Tn="(?:"+[Qn+On+"?",On,kn,Sn,xn].join("|")+")",En=RegExp(Kn+"(?="+Kn+")|"+Tn+In,"g");const $n=function(e){return function(e){return An.test(e)}(e)?function(e){for(var t=En.lastIndex=0;En.test(e);)++t;return t}(e):wn(e)},Fn=function(e){if(null==e)return 0;if(Se(e))return"string"==typeof(t=e)||!ie(t)&&ee(t)&&"[object String]"==w(t)?$n(e):e.length;var t,r=ft(e);return"[object Map]"==r||"[object Set]"==r?e.size:ke(e).length},Dn=function(e){return e!=e},zn=function(e,t){return!(null==e||!e.length)&&function(e,t,r){return t==t?function(e,t,r){for(var n=r-1,o=e.length;++n<o;)if(e[n]===t)return n;return-1}(e,t,r):Yt(e,Dn,r)}(e,t,0)>-1},Nn=function(e,t,r){for(var n=-1,o=null==e?0:e.length;++n<o;)if(r(t,e[n]))return!0;return!1};var Pn=d?d.isConcatSpreadable:void 0;const Rn=function(e){return ie(e)||ue(e)||!!(Pn&&e&&e[Pn])},Bn=function e(t,r,n,o,u){var i=-1,s=t.length;for(n||(n=Rn),u||(u=[]);++i<s;){var a=t[i];r>0&&n(a)?r>1?e(a,r-1,n,o,u):Be(u,a):o||(u[u.length]=a)}return u};var Gn=Math.max;const Un=H?function(e,t){return H(e,"toString",{configurable:!0,enumerable:!1,value:(r=t,function(){return r}),writable:!0});var r}:Pr;var Vn=Date.now;const Ln=(Wn=Un,Hn=0,Zn=0,function(){var e=Vn(),t=16-(e-Zn);if(Zn=e,t>0){if(++Hn>=800)return arguments[0]}else Hn=0;return Wn.apply(void 0,arguments)});var Wn,Hn,Zn;const Jn=function(e){return ee(e)&&Se(e)},Xn=function(e){return Ln(function(e,t,r){return t=Gn(void 0===t?e.length-1:t,0),function(){for(var n=arguments,o=-1,u=Gn(n.length-t,0),i=Array(u);++o<u;)i[o]=n[t+o];o=-1;for(var s=Array(t+1);++o<t;)s[o]=n[o];return s[t]=r(i),function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}(e,this,s)}}(e,void 0,Pr),e+"")}((function(e,t){var r=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}(t);return Jn(r)&&(r=void 0),Jn(e)?function(e,t,r,n){var o=-1,u=zn,i=!0,s=e.length,a=[],c=t.length;if(!s)return a;r&&(t=Sr(t,de(r))),n?(u=Nn,i=!1):t.length>=200&&(u=nr,i=!1,t=new tr(t));e:for(;++o<s;){var f=e[o],l=null==r?f:r(f);if(f=n||0!==f?f:0,i&&l==l){for(var p=c;p--;)if(t[p]===l)continue e;a.push(f)}else u(t,l,n)||a.push(f)}return a}(e,Bn(t,1,Jn,!0),Gr(r)):[]})),Yn=function(e,t,r){return e==e&&(void 0!==r&&(e=e<=r?e:r),void 0!==t&&(e=e>=t?e:t)),e},eo=function(e,t,r){var n=(r="function"==typeof r?r:void 0)?r(e,t):void 0;return void 0===n?dr(e,t,void 0,r):!!n},to=(ro=rn,function(e,t,r){var n=Object(e);if(!Se(e)){var o=Gr(t);e=Ce(e),t=function(e){return o(n[e],e,n)}}var u=ro(e,t,r);return u>-1?n[o?e[u]:u]:void 0});var ro;const no=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(!t(e[r],r,e))return!1;return!0},oo=function(e,t,r){for(var n=-1,o=Object(e),u=r(e),i=u.length;i--;){var s=u[++n];if(!1===t(o[s],s,o))break}return e},uo=function(e,t){if(null==e)return e;if(!Se(e))return function(e,t){return e&&oo(e,t,Ce)}(e,t);for(var r=e.length,n=-1,o=Object(e);++n<r&&!1!==t(o[n],n,o););return e},io=function(e,t){var r=!0;return uo(e,(function(e,n,o){return r=!!t(e,n,o)})),r},so=function(e,t,r){if(!A(r))return!1;var n=typeof t;return!!("number"==n?Se(r)&&pe(t,r.length):"string"==n&&t in r)&&i(r[t],e)},ao=function(e,t){var r;return uo(e,(function(e,n,o){return!(r=t(e,n,o))})),!!r},co=function(e,t,r){var n=ie(e)?rr:ao;return r&&so(e,t,r)&&(t=void 0),n(e,Gr(t))};class fo{scriptController;registeredCustomOperator=new Map;queryBuilder=new nn;constructor(e){this.scriptController=e}registerCustomOperator(e,t){this.registeredCustomOperator.set(e,t)}transformValue(e,t){if(Array.isArray(e))return e.map((e=>this.transformValue(e,t)));if("string"!=typeof e)return e;for(const r of t)"lowercase"===r?e=e.toLowerCase():"trim"===r?e=e.trim():"removeWhitespace"===r&&(e=e.replace(/\s/g,""));return e}evaluateQuery(e,t){let r,n=e.value;const o=e.options?.arrayValueHandling||"some";if(Array.isArray(e.options?.transform)&&e.options.transform.length>0&&(n=this.transformValue(n,e.options.transform)),r=e.attribute.includes(".")||e.attribute.includes("[")?Dr(t,e.attribute):t[e.attribute],Array.isArray(e.options?.transform)&&e.options.transform.length>0&&(r=this.transformValue(r,e.options.transform)),null==r&&!["typeof","isTruthy","eq"].includes(e.operator))return!1;switch(e.operator){case"eq":return e.options?.invert?!_n(r,n):_n(r,n);case"find":return e.options?.invert?!this.queryFind(r,n,o):this.queryFind(r,n,o);case"lt":return Array.isArray(r)?"some"===o?r.some((e=>e<n)):r.every((e=>e<n)):r<n;case"gt":return Array.isArray(r)?"some"===o?r.some((e=>e>n)):r.every((e=>e>n)):r>n;case"lte":return Array.isArray(r)?"some"===o?r.some((e=>e<=n)):r.every((e=>e<=n)):r<=n;case"gte":return Array.isArray(r)?"some"===o?r.some((e=>e>=n)):r.every((e=>e>=n)):r>=n;case"typeof":return e.options?.invert?typeof r!==n:Array.isArray(r)?"some"===o?r.some((e=>typeof e===n)):r.every((e=>typeof e===n)):typeof r===n;case"isTruthy":return!0===n?Array.isArray(r)?"some"===o?r.some((e=>typeof!!e)):r.every((e=>typeof!!e)):!!r:!r;case"size":return"string"==typeof r?r.length===n:Fn(r)===n;default:if(this.scriptController.hasScript(e.operator))return this.scriptController.executeScript(e.operator,"operator",{query:e,item:t});if(this.registeredCustomOperator.has(e.operator)){const r=this.registeredCustomOperator.get(e.operator);if("function"==typeof r)return r(e,t)}}return!1}evaluateEqOperator(e,t,r){const n=new Map,o=r.get(e.attribute);if(o){let r;if("string"==typeof e.value?r=e.value:e.value?.key&&1===Object.keys(e.value).length&&(r=e.value.key),void 0!==r){const u=o.get(r);if(u){if(u.forEach((e=>{t.has(e)&&n.set(e,t.get(e))})),e.options?.invert){const e=Xn(Array.from(t.values()),Array.from(n.values()),"key"),r=new Map;return e.forEach((e=>{r.set(e.key,e)})),r}return n}}}for(const[r,o]of t)this.evaluateQuery(e,o)&&n.set(r,o);return n}equalRegexFn(e,t){if("string"!=typeof t||(u="/",o=Tr(o=t),i=null==i?0:Yn(en(i),0,o.length),u=Ir(u),o.slice(i,i+u.length)!=u)||!function(e,t,r){e=Tr(e),t=Ir(t);var n=e.length,o=r=void 0===r?n:Yn(en(r),0,n);return(r-=t.length)>=0&&e.slice(r,o)==t}(t,"/"))return Array.isArray(e)?!!e.find((e=>eo(e,t,this.equalRegexFn))):"object"==typeof t?(r=e)===(n=t)||gr(r,n,br(n)):e===t;var r,n,o,u,i;try{return new RegExp(t.slice(1,-1)).test(e)}catch(e){return!1}}queryFind(e,t,r){return Array.isArray(e)?"string"==typeof t||"number"==typeof t||"boolean"==typeof t?"some"===r?e.some((e=>eo(e,t,this.equalRegexFn))):e.every((e=>eo(e,t,this.equalRegexFn))):!!to(e,t):eo(e,t,this.equalRegexFn)}validateQuery(e){if(this.queryBuilder.isQuery(e)){if(!e.attribute||!e.operator)throw new Error("invalid query - missing attribute or operator");if("find"===e.operator&&Array.isArray(e.value))throw new Error("invalid query - find operator cannot have array value");return!0}if(this.queryBuilder.isQueryGroup(e))return function(e,t,r){var n=ie(e)?no:io;return r&&so(e,t,r)&&(t=void 0),n(e,Gr(t))}(e.queries,(e=>this.validateQuery(e)));throw new Error("invalid query - missing query or attribute")}getEvaluatedQueryDataset(e,t,r){const n=new Map;if(e.attribute.includes("[*]")){const r=e.attribute.replace("[*]","");for(const[o,u]of t){const t=u[r];if(Array.isArray(t)){const r=t.map(((t,r)=>{const n=kt(e);return n.attribute=n.attribute.replace("[*]",`[${r}]`),this.evaluateQuery(n,u)}));co(r)&&n.set(o,u)}}}else{if("eq"===e.operator)return this.evaluateEqOperator(e,t,r);for(const[r,o]of t)this.evaluateQuery(e,o)&&n.set(r,o)}return n}evaluateQueryGroup(e,t,r,n){let o=new Map,u=t;if(!e.queries||0===e.queries?.length)return u;for(const i of e.queries){let s=new Map;if(s=this.queryBuilder.isQuery(i)?this.getEvaluatedQueryDataset(i,u,n):this.evaluateQueryGroup(i,u,r,n),0===o.size&&(o=s),"or"===e.groupType)s.forEach((e=>{o.set(e.key,e)}));else{const e=Xn(Array.from(o.values()),Array.from(s.values()),"key");for(const t of e)o.delete(t.key)}u="and"===e.groupType?o:t}return o}queryData(e,t,r,n){const o=e;return 0===t.queries.length?e:(t.groupKey||(t.groupKey="root"),t.groupType||(t.groupType="and"),t.queries||(t.queries=[]),this.validateQuery(t),this.evaluateQueryGroup(t,o,r,n))}}class lo{scripts=new Map;scriptFunctions=new Map;constructor(){}keys(){return Array.from(this.scripts.keys())}setScript(e,t){this.scripts.set(e,t)}removeScript(e){this.scripts.delete(e)}getScript(e){return this.scripts.get(e)}hasScript(e){return this.scripts.has(e)}getScriptAsFn(e,t){if(this.scriptFunctions.has(e))return this.scriptFunctions.get(e);const r=this.getScript(e);if(!r)throw new Error(`Script ${e} not found`);const n=this.getWrapperScript(r),o=new Function("script_type",...t,n);return this.scriptFunctions.set(e,o),o}getWrapperScript(e){return`\n "use strict";\n ${e}\n `}executeScript(e,t,r){if(!this.getScript(e))throw new Error(`Script ${e} not found`);r.context||(r.context=r.options||{});const n=Object.keys(r),o=Object.values(r);return this.getScriptAsFn(e,n)(t,...o)}}const po=(e,t)=>e?(t||(t={}),e.replace(/\$\{(.*?)\}/g,((e,r)=>Dr(t,r.trim(),"")))):"",yo=e=>{const t=new Set;return e.replace(/\$\{(.*?)\}/g,((e,r)=>(t.add(r.trim()),""))),{variables:Array.from(t).map((e=>({name:e})))}},ho=["any","Array<date>","Array<float>","Array<int>","Array<string>","boolean","date","float","int","json","string"],go=["int","float","Array<int>","Array<float>"],vo=["date","Array<date>"],bo=["eq","find","gt","gte","lt","lte","typeof","isTruthy","size"];return t})()));
1
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var n in r)("object"==typeof exports?exports:e)[n]=r[n]}}(this,(()=>(()=>{"use strict";var e={d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{void 0!==h&&h.toStringTag&&Object.defineProperty(e,h.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function r(e){return function(e){let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r),t|=0;return t.toString(16)}(n(e))}function n(e){if("object"!=typeof e||null===e)return String(e);if(Array.isArray(e))return"["+e.map(n).join(",")+"]";const t=Object.keys(e).sort();let r="{";for(let o=0;o<t.length;o++){const u=t[o];r+=u+":"+n(e[u]),o<t.length-1&&(r+=",")}return r+="}",r}e.r(t),e.d(t,{AnalyticsController:()=>u,CacheController:()=>St,ChangeDetector:()=>Nt,DatePropertyTypes:()=>vo,DcuplQueryBuilder:()=>nn,DcuplQueryOperatorsAsArray:()=>bo,DependencyGraph:()=>Ut,IndicesController:()=>an,NumberPropertyTypes:()=>go,PropertyTypesAsArray:()=>ho,QueryManager:()=>fo,ScriptController:()=>lo,Workflow:()=>mo,clone:()=>Pt,computeSuggestions:()=>Gt,escapeRegExp:()=>Dt,evaluateTemplate:()=>po,generateBooleanQuery:()=>vn,generateKey:()=>$t,generateNumberAndDateQuery:()=>bn,generateReferenceQuery:()=>mn,generateTextQuery:()=>gn,getAggregation:()=>Wt,getDateConstraintUid:()=>It,getDcuplPropertyTypeForNativeType:()=>dn,getDistinct:()=>Xt,getFacets:()=>un,getFilterEntryId:()=>Ct,getNumberConstraintUid:()=>Mt,getPropertiesForData:()=>pn,groupBy:()=>Et,isFloat:()=>hn,isInt:()=>yn,isValidQueryStatement:()=>jn,parseTemplate:()=>yo,perf:()=>o,pivot:()=>fn,removeTrailingSlash:()=>Ft,trigger:()=>Bt,unescapeRegExp:()=>zt,uniqBy:()=>Tt});const o={now:()=>"undefined"!=typeof performance?performance.now():(new Date).getTime(),mark:e=>{"undefined"!=typeof performance&&performance.mark(e)},measure:(e,t,r)=>{"undefined"!=typeof performance&&performance.measure(e,t,r)},getEntriesByName(e){if("undefined"!=typeof performance)return performance.getEntriesByName(e)},getEntriesByType(e){if("undefined"!=typeof performance)return performance.getEntriesByType(e)}};class u{data;enabled=!1;constructor(){}init(e){this.data=new Map,this.enabled=e}set(e){if(!this.enabled)return e.value;const t=this.getKey(e.value.name,e.context);return this.data.set(t,e.value),this.data.get(t)}mark(e){if(!this.enabled)return;const t=this.getKey(e.name,e.context),r={name:e.name,type:"mark",value:o.now(),createdAt:Date.now()};return this.data.set(t,r),r}measure(e){if(!this.enabled)return;const t=this.getKey(e.name,e.context),r=this.data.get(this.getKey(e.start,e.context)),n=this.data.get(this.getKey(e.end,e.context));if(!r||!n)return;const o=n.value-r.value,u=Math.round(100*o)/100,i=this.data.get(t);if(i&&e.sum){const e=i.value+u,r={...i,value:e};return this.data.set(t,r),r}const s={name:e.name,type:"measure",value:u,createdAt:Date.now()};return e.detail&&(s.detail=e.detail),this.data.set(t,s),s}update(e){if(!this.enabled)return e.value;const t=this.getKey(e.value.name,e.context),r=this.data.get(t);if(r){const n={...r,...e.value};this.data.set(t,n)}else this.data.set(t,e.value);return this.data.get(t)}getResourceInfosFromPerformanceAPI(){return"undefined"==typeof performance?[]:o.getEntriesByType("resource")}get(e){const t=this.getKey(e.name,e.context);return this.data.get(t)}getByType(e){return Array.from(this.data.values()).filter((t=>t.type===e))}getByName(e){return Array.from(this.data.values()).filter((t=>t.name===e))}clear(){this.data.clear()}getKey(e,t){return t?e+"_"+r(t):e}}const i=function(e,t){return e===t||e!=e&&t!=t},s=function(e,t){for(var r=e.length;r--;)if(i(e[r][0],t))return r;return-1};var a=Array.prototype.splice;function c(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}c.prototype.clear=function(){this.__data__=[],this.size=0},c.prototype.delete=function(e){var t=this.__data__,r=s(t,e);return!(r<0||(r==t.length-1?t.pop():a.call(t,r,1),--this.size,0))},c.prototype.get=function(e){var t=this.__data__,r=s(t,e);return r<0?void 0:t[r][1]},c.prototype.has=function(e){return s(this.__data__,e)>-1},c.prototype.set=function(e,t){var r=this.__data__,n=s(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this};const f=c,l="object"==typeof global&&global&&global.Object===Object&&global;var p="object"==typeof self&&self&&self.Object===Object&&self;const y=l||p||Function("return this")();var h=y.Symbol;const d=h;var g=Object.prototype,v=g.hasOwnProperty,b=g.toString,m=d?d.toStringTag:void 0;var j=Object.prototype.toString;var _=d?d.toStringTag:void 0;const w=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":_&&_ in Object(e)?function(e){var t=v.call(e,m),r=e[m];try{e[m]=void 0;var n=!0}catch(e){}var o=b.call(e);return n&&(t?e[m]=r:delete e[m]),o}(e):function(e){return j.call(e)}(e)},A=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},q=function(e){if(!A(e))return!1;var t=w(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},x=y["__core-js_shared__"];var O,K=(O=/[^.]+$/.exec(x&&x.keys&&x.keys.IE_PROTO||""))?"Symbol(src)_1."+O:"";var Q=Function.prototype.toString;const k=function(e){if(null!=e){try{return Q.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var S=/^\[object .+?Constructor\]$/,C=Function.prototype,M=Object.prototype,I=C.toString,T=M.hasOwnProperty,E=RegExp("^"+I.call(T).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const $=function(e){return!(!A(e)||(t=e,K&&K in t))&&(q(e)?E:S).test(k(e));var t},F=function(e,t){var r=function(e,t){return null==e?void 0:e[t]}(e,t);return $(r)?r:void 0},D=F(y,"Map"),z=F(Object,"create");var N=Object.prototype.hasOwnProperty;var P=Object.prototype.hasOwnProperty;function R(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}R.prototype.clear=function(){this.__data__=z?z(null):{},this.size=0},R.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},R.prototype.get=function(e){var t=this.__data__;if(z){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return N.call(t,e)?t[e]:void 0},R.prototype.has=function(e){var t=this.__data__;return z?void 0!==t[e]:P.call(t,e)},R.prototype.set=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=z&&void 0===t?"__lodash_hash_undefined__":t,this};const B=R,G=function(e,t){var r,n,o=e.__data__;return("string"==(n=typeof(r=t))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof t?"string":"hash"]:o.map};function U(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}U.prototype.clear=function(){this.size=0,this.__data__={hash:new B,map:new(D||f),string:new B}},U.prototype.delete=function(e){var t=G(this,e).delete(e);return this.size-=t?1:0,t},U.prototype.get=function(e){return G(this,e).get(e)},U.prototype.has=function(e){return G(this,e).has(e)},U.prototype.set=function(e,t){var r=G(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this};const V=U;function L(e){var t=this.__data__=new f(e);this.size=t.size}L.prototype.clear=function(){this.__data__=new f,this.size=0},L.prototype.delete=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r},L.prototype.get=function(e){return this.__data__.get(e)},L.prototype.has=function(e){return this.__data__.has(e)},L.prototype.set=function(e,t){var r=this.__data__;if(r instanceof f){var n=r.__data__;if(!D||n.length<199)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new V(n)}return r.set(e,t),this.size=r.size,this};const W=L,H=function(){try{var e=F(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),Z=function(e,t,r){"__proto__"==t&&H?H(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r};var J=Object.prototype.hasOwnProperty;const X=function(e,t,r){var n=e[t];J.call(e,t)&&i(n,r)&&(void 0!==r||t in e)||Z(e,t,r)},Y=function(e,t,r,n){var o=!r;r||(r={});for(var u=-1,i=t.length;++u<i;){var s=t[u],a=n?n(r[s],e[s],s,r,e):void 0;void 0===a&&(a=e[s]),o?Z(r,s,a):X(r,s,a)}return r},ee=function(e){return null!=e&&"object"==typeof e},te=function(e){return ee(e)&&"[object Arguments]"==w(e)};var re=Object.prototype,ne=re.hasOwnProperty,oe=re.propertyIsEnumerable;const ue=te(function(){return arguments}())?te:function(e){return ee(e)&&ne.call(e,"callee")&&!oe.call(e,"callee")},ie=Array.isArray;var se="object"==typeof exports&&exports&&!exports.nodeType&&exports,ae=se&&"object"==typeof module&&module&&!module.nodeType&&module,ce=ae&&ae.exports===se?y.Buffer:void 0;const fe=(ce?ce.isBuffer:void 0)||function(){return!1};var le=/^(?:0|[1-9]\d*)$/;const pe=function(e,t){var r=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==r||"symbol"!=r&&le.test(e))&&e>-1&&e%1==0&&e<t},ye=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991};var he={};he["[object Float32Array]"]=he["[object Float64Array]"]=he["[object Int8Array]"]=he["[object Int16Array]"]=he["[object Int32Array]"]=he["[object Uint8Array]"]=he["[object Uint8ClampedArray]"]=he["[object Uint16Array]"]=he["[object Uint32Array]"]=!0,he["[object Arguments]"]=he["[object Array]"]=he["[object ArrayBuffer]"]=he["[object Boolean]"]=he["[object DataView]"]=he["[object Date]"]=he["[object Error]"]=he["[object Function]"]=he["[object Map]"]=he["[object Number]"]=he["[object Object]"]=he["[object RegExp]"]=he["[object Set]"]=he["[object String]"]=he["[object WeakMap]"]=!1;const de=function(e){return function(t){return e(t)}};var ge="object"==typeof exports&&exports&&!exports.nodeType&&exports,ve=ge&&"object"==typeof module&&module&&!module.nodeType&&module,be=ve&&ve.exports===ge&&l.process;const me=function(){try{return ve&&ve.require&&ve.require("util").types||be&&be.binding&&be.binding("util")}catch(e){}}();var je=me&&me.isTypedArray;const _e=je?de(je):function(e){return ee(e)&&ye(e.length)&&!!he[w(e)]};var we=Object.prototype.hasOwnProperty;const Ae=function(e,t){var r=ie(e),n=!r&&ue(e),o=!r&&!n&&fe(e),u=!r&&!n&&!o&&_e(e),i=r||n||o||u,s=i?function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}(e.length,String):[],a=s.length;for(var c in e)!t&&!we.call(e,c)||i&&("length"==c||o&&("offset"==c||"parent"==c)||u&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||pe(c,a))||s.push(c);return s};var qe=Object.prototype;const xe=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||qe)},Oe=function(e,t){return function(r){return e(t(r))}},Ke=Oe(Object.keys,Object);var Qe=Object.prototype.hasOwnProperty;const ke=function(e){if(!xe(e))return Ke(e);var t=[];for(var r in Object(e))Qe.call(e,r)&&"constructor"!=r&&t.push(r);return t},Se=function(e){return null!=e&&ye(e.length)&&!q(e)},Ce=function(e){return Se(e)?Ae(e):ke(e)};var Me=Object.prototype.hasOwnProperty;const Ie=function(e){if(!A(e))return function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}(e);var t=xe(e),r=[];for(var n in e)("constructor"!=n||!t&&Me.call(e,n))&&r.push(n);return r},Te=function(e){return Se(e)?Ae(e,!0):Ie(e)};var Ee="object"==typeof exports&&exports&&!exports.nodeType&&exports,$e=Ee&&"object"==typeof module&&module&&!module.nodeType&&module,Fe=$e&&$e.exports===Ee?y.Buffer:void 0,De=Fe?Fe.allocUnsafe:void 0;const ze=function(){return[]};var Ne=Object.prototype.propertyIsEnumerable,Pe=Object.getOwnPropertySymbols;const Re=Pe?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var r=-1,n=null==e?0:e.length,o=0,u=[];++r<n;){var i=e[r];t(i,r,e)&&(u[o++]=i)}return u}(Pe(e),(function(t){return Ne.call(e,t)})))}:ze,Be=function(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e},Ge=Oe(Object.getPrototypeOf,Object),Ue=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)Be(t,Re(e)),e=Ge(e);return t}:ze,Ve=function(e,t,r){var n=t(e);return ie(e)?n:Be(n,r(e))},Le=function(e){return Ve(e,Ce,Re)},We=function(e){return Ve(e,Te,Ue)},He=F(y,"DataView"),Ze=F(y,"Promise"),Je=F(y,"Set"),Xe=F(y,"WeakMap");var Ye="[object Map]",et="[object Promise]",tt="[object Set]",rt="[object WeakMap]",nt="[object DataView]",ot=k(He),ut=k(D),it=k(Ze),st=k(Je),at=k(Xe),ct=w;(He&&ct(new He(new ArrayBuffer(1)))!=nt||D&&ct(new D)!=Ye||Ze&&ct(Ze.resolve())!=et||Je&&ct(new Je)!=tt||Xe&&ct(new Xe)!=rt)&&(ct=function(e){var t=w(e),r="[object Object]"==t?e.constructor:void 0,n=r?k(r):"";if(n)switch(n){case ot:return nt;case ut:return Ye;case it:return et;case st:return tt;case at:return rt}return t});const ft=ct;var lt=Object.prototype.hasOwnProperty;const pt=y.Uint8Array,yt=function(e){var t=new e.constructor(e.byteLength);return new pt(t).set(new pt(e)),t};var ht=/\w*$/;var dt=d?d.prototype:void 0,gt=dt?dt.valueOf:void 0;const vt=function(e,t,r){var n,o,u,i=e.constructor;switch(t){case"[object ArrayBuffer]":return yt(e);case"[object Boolean]":case"[object Date]":return new i(+e);case"[object DataView]":return function(e,t){var r=t?yt(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}(e,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(e,t){var r=t?yt(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}(e,r);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(e);case"[object RegExp]":return(u=new(o=e).constructor(o.source,ht.exec(o))).lastIndex=o.lastIndex,u;case"[object Symbol]":return n=e,gt?Object(gt.call(n)):{}}};var bt=Object.create;const mt=function(){function e(){}return function(t){if(!A(t))return{};if(bt)return bt(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();var jt=me&&me.isMap;const _t=jt?de(jt):function(e){return ee(e)&&"[object Map]"==ft(e)};var wt=me&&me.isSet;const At=wt?de(wt):function(e){return ee(e)&&"[object Set]"==ft(e)};var qt="[object Arguments]",xt="[object Function]",Ot="[object Object]",Kt={};Kt[qt]=Kt["[object Array]"]=Kt["[object ArrayBuffer]"]=Kt["[object DataView]"]=Kt["[object Boolean]"]=Kt["[object Date]"]=Kt["[object Float32Array]"]=Kt["[object Float64Array]"]=Kt["[object Int8Array]"]=Kt["[object Int16Array]"]=Kt["[object Int32Array]"]=Kt["[object Map]"]=Kt["[object Number]"]=Kt[Ot]=Kt["[object RegExp]"]=Kt["[object Set]"]=Kt["[object String]"]=Kt["[object Symbol]"]=Kt["[object Uint8Array]"]=Kt["[object Uint8ClampedArray]"]=Kt["[object Uint16Array]"]=Kt["[object Uint32Array]"]=!0,Kt["[object Error]"]=Kt[xt]=Kt["[object WeakMap]"]=!1;const Qt=function e(t,r,n,o,u,i){var s,a=1&r,c=2&r,f=4&r;if(n&&(s=u?n(t,o,u,i):n(t)),void 0!==s)return s;if(!A(t))return t;var l=ie(t);if(l){if(s=function(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&lt.call(e,"index")&&(r.index=e.index,r.input=e.input),r}(t),!a)return function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}(t,s)}else{var p=ft(t),y=p==xt||"[object GeneratorFunction]"==p;if(fe(t))return function(e,t){if(t)return e.slice();var r=e.length,n=De?De(r):new e.constructor(r);return e.copy(n),n}(t,a);if(p==Ot||p==qt||y&&!u){if(s=c||y?{}:function(e){return"function"!=typeof e.constructor||xe(e)?{}:mt(Ge(e))}(t),!a)return c?function(e,t){return Y(e,Ue(e),t)}(t,function(e,t){return e&&Y(t,Te(t),e)}(s,t)):function(e,t){return Y(e,Re(e),t)}(t,function(e,t){return e&&Y(t,Ce(t),e)}(s,t))}else{if(!Kt[p])return u?t:{};s=vt(t,p,a)}}i||(i=new W);var h=i.get(t);if(h)return h;i.set(t,s),At(t)?t.forEach((function(o){s.add(e(o,r,n,o,t,i))})):_t(t)&&t.forEach((function(o,u){s.set(u,e(o,r,n,u,t,i))}));var d=l?void 0:(f?c?We:Le:c?Te:Ce)(t);return function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););}(d||t,(function(o,u){d&&(o=t[u=o]),X(s,u,e(o,r,n,u,t,i))})),s},kt=function(e){return Qt(e,5)};class St{enabled;cache;constructor(e){this.enabled=e,this.cache=new Map}get(e,t){if(this.enabled)return this.cache.get(this.getCacheName(e,t))}set(e,t,r){this.enabled&&this.cache.set(this.getCacheName(e,t),r)}has(e,t){return this.cache.has(this.getCacheName(e,t))}clear(){this.cache.clear()}generateContext(e){try{return kt(e)}catch(t){return console.log("error in cache generateContext",t),e}}getCacheName(e,t){return e+"_"+r(t)}}const Ct=(e,t="")=>`${e}#${t}`,Mt=e=>`${e.gt}_${e.gte}_${e.lt}_${e.lte}_${e.eq}_${e.ne}`,It=e=>`${e.gt}_${e.gte}_${e.lt}_${e.lte}_${e.eq}_${e.ne}`,Tt=(e,t)=>{const r="function"==typeof t?t:e=>e[t];return[...e.reduce(((e,t)=>{const n=null==t?t:r(t);return e.has(n)||e.set(n,t),e}),new Map).values()]},Et=(e,t)=>e.reduce((function(e,r){const n="function"==typeof t?t(r):r[t];return e.hasOwnProperty(n)||(e[n]=[]),e[n].push(r),e}),{});function $t(e=10){let t="";for(let r=0;r<e;r++)t+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(62*Math.random()));return t}const Ft=e=>e.replace(/\/+$/,""),Dt=e=>"string"!=typeof e?"":e.replace(/[[\]{}()*+?.,\\^$|#]/g,"\\$&"),zt=e=>"string"!=typeof e?"":e.replace(/\\([[\]{}()*+?.,\\^$|#])/g,"$1");class Nt{key;parentCd;dcuplInitOptions;analyticsController;off;updateListener=new Set;constructor(){}_init(e){this.key=e.cdRefKey,this.analyticsController=e.analyticsController,this.parentCd=e.parentCd,this.dcuplInitOptions=e.dcuplInitOptions,this.parentCd&&(this.off=this.parentCd.on((e=>{"update"===e.action&&e.originCdRefKey===this.parentCd?.key&&this.trigger(e)})))}destroy(){this.off&&this.off()}trigger(e){e.originCdRefKey||(e.originCdRefKey=this.key),this.updateListener.forEach((t=>{t(e)}))}on(e){return this.updateListener.add(e),()=>{this.updateListener.delete(e)}}}const Pt=(e,t)=>t?"undefined"!=typeof structuredClone?structuredClone(e):kt(e):e,Rt=(e,t,r,n,u)=>{try{const i=!!e.dcuplInitOptions.performance?.clone?.enabled&&!!t.cloneResult,s=Pt(u,i),a=o.now();t.duration=a-r,e?.trigger(t);const c={duration:t.duration};return t.modelKey&&(c.model=t.modelKey),t.args&&(c.args=t.args),e.analyticsController.mark({name:`${t.name}:end`,context:n}),e.analyticsController.measure({name:`${t.name}`,start:`${t.name}:start`,end:`${t.name}:end`,context:n,detail:c}),s}catch(e){return u}},Bt=e=>(t,r,n)=>{const u=n.value;return n.value=function(...t){const n=this.cdRef,i=o.now();let s="";e.mergeAnalytics||(s=$t()),n.analyticsController.mark({name:`${e.name}:start`,context:s});const a=this.model?.key;!e.originCdRefKey&&n.key&&(e.originCdRefKey=n.key),a&&(e.modelKey=a);try{const o=u.apply(this,t);return e.method=r,e.args=t,o&&"then"in o?o.then((t=>Rt(n,e,i,s,t))):Rt(n,e,i,s,o)}catch(e){throw e}},n};function Gt(e,t,r,n){r.max||(r.max=20);const o=[],u=r.transform?n.transformValue(r.value,r.transform):r.value;for(const[i,s]of t.entries()){const t=s.some((t=>e.has(t))),a=r.transform?n.transformValue(i,r.transform):i;if(!(r.excludeUndefineds&&void 0===i||r.excludeNulls&&null===i)){if(!t||""!==u&&"//"!==u){if(t&&n.queryFind(a,u,"some")){const e={value:i,keys:r.calculateResultKeys?s:[]};o.push(e)}}else{const e={value:i,keys:r.calculateResultKeys?s:[]};o.push(e)}if(o.length===r.max)break}}return o}class Ut{nodes;edges;constructor(){this.nodes=new Set,this.edges=new Map}addNode(e){this.nodes.has(e)||(this.nodes.add(e),this.edges.set(e,new Set))}addDependency(e,t){if(!this.nodes.has(e)||!this.nodes.has(t))throw new Error("Both nodes must exist before adding a dependency.");this.edges.get(e).add(t)}removeNode(e){if(!this.nodes.has(e))throw new Error("Node does not exist.");this.nodes.delete(e),this.edges.delete(e);for(let t of this.edges.values())t.delete(e)}removeDependency(e,t){if(!this.edges.has(e))throw new Error("From node does not exist.");this.edges.get(e).delete(t)}hasNode(e){return this.nodes.has(e)}hasDependency(e,t){return!!this.edges.has(e)&&this.edges.get(e).has(t)}getDependencies(e){if(!this.edges.has(e))throw new Error("Node does not exist.");return Array.from(this.edges.get(e))}getDependents(e){const t=[];for(let[r,n]of this.edges)n.has(e)&&t.push(r);return t}isCyclic(){const e=new Set,t=new Set,r=n=>{if(e.has(n))return!1;if(t.has(n))return!0;t.add(n);const o=this.edges.get(n);if(o)for(let e of o)if(r(e))return!0;return t.delete(n),e.add(n),!1};for(let e of this.nodes)if(r(e))return!0;return!1}order(){const e=new Set,t=new Set,r=[],n=o=>{if(e.has(o))return;if(t.has(o))throw new Error("Graph has a cycle.");t.add(o);const u=this.edges.get(o);if(u)for(let e of u)n(e);t.delete(o),e.add(o),r.push(o)};for(let t of this.nodes)e.has(t)||n(t);return r}clear(){this.nodes.clear(),this.edges.clear()}getNodes(){return Array.from(this.nodes)}getAllEdges(){const e=[];for(let[t,r]of this.edges)for(let n of r)e.push([t,n]);return e}}function Vt(e){let t=0;for(let r of e){const e=r.toString().split(".")[1];e&&(t=Math.max(t,e.length))}return Math.pow(10,t)}function Lt(e,t,r){return(e*r+t*r)/r}const Wt=(e,t,r,n)=>{if(!n)throw new Error("Attribute not found");const o={attribute:n,types:e.types};let u,i;return(o.types.includes("sum")||o.types.includes("avg")||o.types.includes("count"))&&(u=Jt(n,t)),(o.types.includes("min")||o.types.includes("max"))&&(i=Ht(e.attribute,t)),e.types.forEach((n=>{"sum"===n?o.sum=u?.sum:"avg"===n?o.avg=u?.average:"count"===n?o.count=u?.count:"min"===n?o.min=i&&i[0]:"max"===n?o.max=i&&i[1]:"distinct"===n?o.distinct=Xt(e,t,r):"group"===n&&(o.group=Zt(e,t))})),o},Ht=(e,t)=>{let r,n;for(const o of t.values())if(o){const t=o[e];(void 0===r||t<r)&&(r=t),(void 0===n||t>n)&&(n=t)}if(void 0!==r&&void 0!==n)return[r,n]},Zt=(e,t)=>{const r=[];e.groupOptions?.groups?.forEach((e=>{r.push({option:e,count:0,keys:[]})}));const n={option:{value:["$dcupl_not_found"]},count:0,keys:[]};for(const o of t.values()){const t=o[e.attribute];for(const u of r)void 0!==u.option.value&&u.option.value.includes(t)||void 0!==u.option.from&&u.option.from<t&&void 0!==u.option.to&&u.option.to>t?(u.count++,u.keys.push(o.key)):e?.groupOptions?.calculateNotFound&&(n.count++,n.keys.push(o.key))}return e?.groupOptions?.calculateNotFound&&r.push(n),r},Jt=(e,t)=>{let r=0,n=0;for(const o of t.values()){if(!o)continue;const t=o[e];if(Array.isArray(t))for(const e of t)"number"==typeof e&&(r=Lt(r,e,Vt([r,e])),n++);else"number"==typeof t&&(r=Lt(r,t,Vt([r,t])),n++)}var o,u,i;if(0!==n)return{average:(o=r,u=n,i=Vt([r,n]),o*i/(u*i)),count:t.size,sum:r}},Xt=(e,t,r)=>{const n=[];for(const[o,u]of r)if((!e.excludeUndefineds||void 0!==o)&&u.find((e=>t.has(e)))){const t={value:o,count:u.length};if(e.distinctOptions?.skipKeys||(t.keys=u),n.push(t),e.distinctOptions?.limit&&n.length>=e.distinctOptions.limit)break}return n},Yt=function(e,t,r,n){for(var o=e.length,u=r+(n?1:-1);n?u--:++u<o;)if(t(e[u],u,e))return u;return-1};function er(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new V;++t<r;)this.add(e[t])}er.prototype.add=er.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},er.prototype.has=function(e){return this.__data__.has(e)};const tr=er,rr=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1},nr=function(e,t){return e.has(t)},or=function(e,t,r,n,o,u){var i=1&r,s=e.length,a=t.length;if(s!=a&&!(i&&a>s))return!1;var c=u.get(e),f=u.get(t);if(c&&f)return c==t&&f==e;var l=-1,p=!0,y=2&r?new tr:void 0;for(u.set(e,t),u.set(t,e);++l<s;){var h=e[l],d=t[l];if(n)var g=i?n(d,h,l,t,e,u):n(h,d,l,e,t,u);if(void 0!==g){if(g)continue;p=!1;break}if(y){if(!rr(t,(function(e,t){if(!nr(y,t)&&(h===e||o(h,e,r,n,u)))return y.push(t)}))){p=!1;break}}else if(h!==d&&!o(h,d,r,n,u)){p=!1;break}}return u.delete(e),u.delete(t),p},ur=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r},ir=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r};var sr=d?d.prototype:void 0,ar=sr?sr.valueOf:void 0;var cr=Object.prototype.hasOwnProperty;var fr="[object Arguments]",lr="[object Array]",pr="[object Object]",yr=Object.prototype.hasOwnProperty;const hr=function(e,t,r,n,o,u){var s=ie(e),a=ie(t),c=s?lr:ft(e),f=a?lr:ft(t),l=(c=c==fr?pr:c)==pr,p=(f=f==fr?pr:f)==pr,y=c==f;if(y&&fe(e)){if(!fe(t))return!1;s=!0,l=!1}if(y&&!l)return u||(u=new W),s||_e(e)?or(e,t,r,n,o,u):function(e,t,r,n,o,u,s){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!u(new pt(e),new pt(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return i(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var a=ur;case"[object Set]":var c=1&n;if(a||(a=ir),e.size!=t.size&&!c)return!1;var f=s.get(e);if(f)return f==t;n|=2,s.set(e,t);var l=or(a(e),a(t),n,o,u,s);return s.delete(e),l;case"[object Symbol]":if(ar)return ar.call(e)==ar.call(t)}return!1}(e,t,c,r,n,o,u);if(!(1&r)){var h=l&&yr.call(e,"__wrapped__"),d=p&&yr.call(t,"__wrapped__");if(h||d){var g=h?e.value():e,v=d?t.value():t;return u||(u=new W),o(g,v,r,n,u)}}return!!y&&(u||(u=new W),function(e,t,r,n,o,u){var i=1&r,s=Le(e),a=s.length;if(a!=Le(t).length&&!i)return!1;for(var c=a;c--;){var f=s[c];if(!(i?f in t:cr.call(t,f)))return!1}var l=u.get(e),p=u.get(t);if(l&&p)return l==t&&p==e;var y=!0;u.set(e,t),u.set(t,e);for(var h=i;++c<a;){var d=e[f=s[c]],g=t[f];if(n)var v=i?n(g,d,f,t,e,u):n(d,g,f,e,t,u);if(!(void 0===v?d===g||o(d,g,r,n,u):v)){y=!1;break}h||(h="constructor"==f)}if(y&&!h){var b=e.constructor,m=t.constructor;b==m||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof m&&m instanceof m||(y=!1)}return u.delete(e),u.delete(t),y}(e,t,r,n,o,u))},dr=function e(t,r,n,o,u){return t===r||(null==t||null==r||!ee(t)&&!ee(r)?t!=t&&r!=r:hr(t,r,n,o,e,u))},gr=function(e,t,r,n){var o=r.length,u=o,i=!n;if(null==e)return!u;for(e=Object(e);o--;){var s=r[o];if(i&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++o<u;){var a=(s=r[o])[0],c=e[a],f=s[1];if(i&&s[2]){if(void 0===c&&!(a in e))return!1}else{var l=new W;if(n)var p=n(c,f,a,e,t,l);if(!(void 0===p?dr(f,c,3,n,l):p))return!1}}return!0},vr=function(e){return e==e&&!A(e)},br=function(e){for(var t=Ce(e),r=t.length;r--;){var n=t[r],o=e[n];t[r]=[n,o,vr(o)]}return t},mr=function(e,t){return function(r){return null!=r&&r[e]===t&&(void 0!==t||e in Object(r))}},jr=function(e){return"symbol"==typeof e||ee(e)&&"[object Symbol]"==w(e)};var _r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,wr=/^\w*$/;const Ar=function(e,t){if(ie(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!jr(e))||wr.test(e)||!_r.test(e)||null!=t&&e in Object(t)};function qr(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],u=r.cache;if(u.has(o))return u.get(o);var i=e.apply(this,n);return r.cache=u.set(o,i)||u,i};return r.cache=new(qr.Cache||V),r}qr.Cache=V;var xr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Or=/\\(\\)?/g;const Kr=(Qr=qr((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(xr,(function(e,r,n,o){t.push(n?o.replace(Or,"$1"):r||e)})),t}),(function(e){return 500===kr.size&&kr.clear(),e})),kr=Qr.cache,Qr);var Qr,kr;const Sr=function(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o};var Cr=d?d.prototype:void 0,Mr=Cr?Cr.toString:void 0;const Ir=function e(t){if("string"==typeof t)return t;if(ie(t))return Sr(t,e)+"";if(jr(t))return Mr?Mr.call(t):"";var r=t+"";return"0"==r&&1/t==-1/0?"-0":r},Tr=function(e){return null==e?"":Ir(e)},Er=function(e,t){return ie(e)?e:Ar(e,t)?[e]:Kr(Tr(e))},$r=function(e){if("string"==typeof e||jr(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t},Fr=function(e,t){for(var r=0,n=(t=Er(t,e)).length;null!=e&&r<n;)e=e[$r(t[r++])];return r&&r==n?e:void 0},Dr=function(e,t,r){var n=null==e?void 0:Fr(e,t);return void 0===n?r:n},zr=function(e,t){return null!=e&&t in Object(e)},Nr=function(e,t){return null!=e&&function(e,t,r){for(var n=-1,o=(t=Er(t,e)).length,u=!1;++n<o;){var i=$r(t[n]);if(!(u=null!=e&&r(e,i)))break;e=e[i]}return u||++n!=o?u:!!(o=null==e?0:e.length)&&ye(o)&&pe(i,o)&&(ie(e)||ue(e))}(e,t,zr)},Pr=function(e){return e},Rr=function(e){return function(t){return null==t?void 0:t[e]}},Br=function(e){return Ar(e)?Rr($r(e)):function(e){return function(t){return Fr(t,e)}}(e)},Gr=function(e){return"function"==typeof e?e:null==e?Pr:"object"==typeof e?ie(e)?(n=e[0],o=e[1],Ar(n)&&vr(o)?mr($r(n),o):function(e){var t=Dr(e,n);return void 0===t&&t===o?Nr(e,n):dr(o,t,3)}):1==(r=br(t=e)).length&&r[0][2]?mr(r[0][0],r[0][1]):function(e){return e===t||gr(e,t,r)}:Br(e);var t,r,n,o};var Ur=/\s/;var Vr=/^\s+/;const Lr=function(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&Ur.test(e.charAt(t)););return t}(e)+1).replace(Vr,""):e};var Wr=/^[-+]0x[0-9a-f]+$/i,Hr=/^0b[01]+$/i,Zr=/^0o[0-7]+$/i,Jr=parseInt;var Xr=1/0;const Yr=function(e){return e?(e=function(e){if("number"==typeof e)return e;if(jr(e))return NaN;if(A(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=A(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=Lr(e);var r=Hr.test(e);return r||Zr.test(e)?Jr(e.slice(2),r?2:8):Wr.test(e)?NaN:+e}(e))===Xr||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0},en=function(e){var t=Yr(e),r=t%1;return t==t?r?t-r:t:0};var tn=Math.max;const rn=function(e,t,r){var n=null==e?0:e.length;if(!n)return-1;var o=null==r?0:en(r);return o<0&&(o=tn(n+o,0)),Yt(e,Gr(t),o)};class nn{_defaultQueryOptions={modelKey:"",groupKey:"root",groupType:"and",queries:[]};_initOptions;currentQuery=kt(this._defaultQueryOptions);constructor(){}init(e){this._initOptions=kt(e),this.currentQuery=kt(this._defaultQueryOptions),this.currentQuery.modelKey=e.modelKey}reset(){return this.init(this._initOptions),this.getQuery()}isQuery(e){return"attribute"in e}isQueryGroup(e){return"groupKey"in e}isRootQueryGroup(e){return this.isQueryGroup(e)&&"root"===e.groupKey}getQueryGroup(e){return this.currentQuery.queries.find((t=>this.isQueryGroup(t)&&t.groupKey===e))}getQuery(){return kt(this.currentQuery)}hasQueryGroup(e){return this.currentQuery.queries.some((t=>this.isQueryGroup(t)&&t.groupKey===e))}has(e){if(e.groupKey&&e.queryKey){const t=this.getQueryGroup(e.groupKey);if(t)return t.queries.some((t=>this.isQuery(t)&&t.queryKey===e.queryKey))}else if(e.groupKey)return this.hasQueryGroup(e.groupKey);return!1}applyOptions(e,t="update"){return"set"===t?(this.currentQuery.count=e.count,this.currentQuery.start=e.start,this.currentQuery.sort=e.sort,this.currentQuery.projection=e.projection):(void 0!==e?.sort&&(this.currentQuery.sort=e.sort),void 0!==e?.count&&(this.currentQuery.count=e.count),void 0!==e?.start&&(this.currentQuery.start=e?.start),void 0!==e?.projection&&(this.currentQuery.projection=e?.projection)),this.getQuery()}applyQuery(e,t,r){if(r||(r=this.currentQuery),Array.isArray(e))for(const n of e)this.applyQuery(n,t,r);else if(this.isRootQueryGroup(e))e.groupType&&(r.groupType=e.groupType),r.queries="set"===t?.mode?e.queries:[...r.queries,...e.queries],this.applyOptions(e,"set");else if(this.isQuery(e)){const n=r.queries.findIndex((t=>this.isQueryGroup(t)&&t.groupKey===e.attribute));if(n>-1){const o=r.queries[n];"set"===t?.mode?o.queries=[e]:o.queries.push(e)}else r.queries.push({groupKey:e.attribute,groupType:"or",queries:[e]})}else if(this.isQueryGroup(e)){const n=r.queries.findIndex((t=>this.isQueryGroup(t)&&t.groupKey===e.groupKey));if(n>-1){const o=r.queries[n];e.groupType&&(o.groupType=e.groupType),"set"===t?.mode?r.queries[n]=e:o.queries=[...o.queries,...e.queries]}else r.queries.push({groupKey:e.groupKey,groupType:e.groupType||"or",queries:e.queries})}return r}removeAllQueries(){return this.currentQuery.queries=[],this.getQuery()}removeQuery(e,t){if(t||(t=this.currentQuery),this.isQuery(e)){const r=t.queries.findIndex((t=>this.isQueryGroup(t)&&t.groupKey===e.attribute));if(r>-1){const n=t.queries[r],o=rn(n.queries,e);o>-1&&n.queries.splice(o,1),0===n.queries.length&&t.queries.splice(r,1)}}else if(this.isQueryGroup(e)){const r=t.queries.findIndex((t=>this.isQueryGroup(t)&&t.groupKey===e.groupKey));if(r>-1)if(e.queries){const n=t.queries[r];for(const t of e.queries){const e=rn(n.queries,t);e>-1&&n.queries.splice(e,1)}0===n.queries.length&&t.queries.splice(r,1)}else t.queries.splice(r,1)}return t}}const on=new nn;function un(e,t,r,n,o,u,i){const s=[],a=on.removeQuery({groupKey:o},kt(n)),c=i.queryData(e,a,!1,u),f=t?[...t?.keys()]:[],l=new Set(f),p=u.get(o);if(!r.excludeUnresolved)for(const e of p.keys())l.add(e);r.excludeUndefineds?l.delete(void 0):l.add(void 0);for(const e of l.values()){const u=new Map,i=p.get(e)||[];for(const e of i){const t=c.get(e);if(t&&(u.set(e,t),!r?.calculateFacets))break}const a={key:String(e),value:e,selected:sn(o,e,n),enabled:u.size>0,size:u.size,entry:t.get(e),resultKeys:Array.from(u.keys())};if(!r?.excludeZeros||0!==a.size){if(r?.count&&s.length===r?.count)return s;s.push(a)}}return s}const sn=(e,t,r)=>{const n=r.queries.findIndex((t=>on.isQueryGroup(t)&&t.groupKey===e));return n>-1&&!!r.queries[n].queries.find((r=>{if(on.isQuery(r)){const n=r.value?.key||r.value;return r.attribute===e&&n===t}return!1}))};class an{indexMap=new Map;dataMap=new Map;constructor(){}reset(e){e?(this.indexMap.delete(e),this.dataMap.delete(e)):(this.indexMap.clear(),this.dataMap.clear())}fillDataMap(e,t){let r=this.dataMap.get(e);r||(r=new Map,this.dataMap.set(e,r));for(const n of t){let t;if("object"==typeof n&&n&&n.key)t=n.key;else{if(Array.isArray(n)){for(const t of n)this.fillDataMap(e,[t]);return}t=n}let o=r.get(t);o||(o={key:t},this.dataMap.get(e)?.set(t,o))}}fillInverseIndex(e,t,r){if(!(e&&t&&r&&Array.isArray(r)))return;const n=this.indexMap.get(e)||new Map;for(const o of r){let r;if("object"==typeof o&&o&&o.key)r=o.key;else{if(Array.isArray(o)){for(const r of o)this.fillInverseIndex(e,t,[r]);return}r=o}const u=n.get(r)||[];u.push(t),n.set(r,u)}this.indexMap.set(e,n)}getIndex(e,t){const r=this.getIndexName(e,t);return this.indexMap.get(r)}getData(e,t){const r=this.getIndexName(e,t);return this.dataMap.get(r)}getOrCreateIndex(e,t,r){const n=this.getIndexName(e,r);let o=this.getIndex(n);if(!o){this.reset(n),this.indexMap.set(n,new Map);for(const r of t.values()){const t=r[e];this.fillInverseIndex(n,r.key,[t]),this.fillDataMap(n,[t])}o=this.getIndex(n)||new Map}return o}getIndexName(e,t){return t?e+"_"+r(t):e}}const cn="__";function fn(e,t,r={key:"root"},n="root",o=new an){for(const r of t.columns)r.attribute&&o.getOrCreateIndex(r.attribute,e);for(const r of t.rows)r.attribute&&o.getOrCreateIndex(r.attribute,e);for(const r of t.values)r.attribute&&o.getOrCreateIndex(r.attribute,e);if(t.rows&&t.rows.length>0){r.rows=r.rows||[];const u=function(e,t,r,n,o=""){const u={key:t.attribute},i=n.getIndex(t.attribute);if(!i)return u;for(const[s,a]of i.entries()){const i={key:s},c=new Map;for(const t of a)e.has(t)&&c.set(t,e.get(t));if(c.size){for(const e of r.values){if(i.values=i.values||[],"root"===o&&!1===t?.calculateTotals)continue;const r=Wt(e,c,n.getIndex(e.attribute),e.attribute);i.values.push(r)}if(u.rows=u.rows||[],u.rows.push(i),r.rows.length>1)fn(c,{...r,rows:r.rows.slice(1)},i,o+cn+t.attribute+cn+s);else if(r.columns)for(const e of r.columns){i.columns=i.columns||[];const u=ln(c,e,r,n,o+cn+t.attribute+cn+s);i.columns.push(u)}}}return u}(e,t.rows[0],t,o,n);r.rows.push(u)}if(t.columns&&t.columns.length>0){r.columns=r.columns||[];const u=ln(e,t.columns[0],t,o,n);r.columns.push(u)}if("root"===r.key)for(const u of t.values){if(r.values=r.values||[],"root"===n&&!1===t.options?.calculateTotals)continue;const i=Wt(u,e,o.getIndex(u.attribute),u.attribute);r.values.push(i)}return r}function ln(e,t,r,n,o=""){const u={key:t.attribute},i=n.getIndex(t.attribute);if(!i)return u;for(const[s,a]of i.entries()){const i={key:s},c=new Map;for(const t of a)e.has(t)&&c.set(t,e.get(t));if(c.size){for(const e of r.values){if(i.values=i.values||[],"root"===o&&!1===t?.calculateTotals)continue;const r=Wt(e,c,n.getIndex(e.attribute),e.attribute);i.values.push(r)}u.columns=u.columns||[],u.columns.push(i),r.columns.length>1&&fn(c,{...r,columns:r.columns.slice(1)},i,o+cn+t.attribute+cn+s)}}return u}const pn=(e,t)=>{const r=[];for(const n of e){for(const[e,t]of Object.entries(n)){const n=r.find((t=>t.key===e)),o=dn(t);if(n)n.type!==o&&(n.type="any");else{const t={key:e,type:o};r.push(t)}}if(!t)break}return r},yn=e=>Number(e)===e&&e%1==0,hn=e=>Number(e)===e&&e%1!=0,dn=e=>{switch(typeof e){case"string":return"string";case"number":return yn(e)?"int":hn(e)?"float":"any";case"boolean":return"boolean";case"object":return function(e){return e instanceof Date||"object"==typeof e&&"[object Date]"===Object.prototype.toString.call(e)}(e)?"date":"json";default:return"any"}},gn=(e,t)=>{const r=Dt(e.text||""),n=t?.attributeKey||e.filterKey;let o;const u=t?.comparisonType||"containsIgnoreCase";return"containsIgnoreCase"===u?o={groupKey:e.filterKey,queries:[{queryKey:e.text,attribute:n,value:`/${r}/`,operator:"find",options:{transform:["lowercase"]}}]}:"containsIgnoreCaseAndWhitespace"===u?o={groupKey:e.filterKey,queries:[{queryKey:e.text,attribute:n,value:`/${r}/`,operator:"find",options:{transform:["removeWhitespace","lowercase"]}}]}:"contains"===u?o={groupKey:e.filterKey,queries:[{queryKey:e.text,attribute:n,value:`/${r}/`,operator:"find"}]}:"equal"===u?o={groupKey:e.filterKey,queries:[{queryKey:e.text,attribute:n,value:e.text,operator:"eq"}]}:"equalIgnoreCase"===u&&(o={groupKey:e.filterKey,queries:[{queryKey:e.text,attribute:n,value:e.text,operator:"eq",options:{transform:["lowercase"]}}]}),o},vn=(e,t)=>{const r=t?.attributeKey||e.filterKey;return{groupKey:e.filterKey,queries:[{queryKey:e.value,attribute:r,value:e.value,operator:"eq"}]}},bn=(e,t)=>{const r=t?.attributeKey||e.filterKey,n={groupKey:e.filterKey,queries:[]};return void 0!==e.eq&&(n.groupType="or",Array.isArray(e.eq)?e.eq.forEach((e=>{n.queries.push({attribute:r,value:e,operator:"eq"})})):n.queries.push({attribute:r,value:e.eq,operator:"eq"})),void 0!==e.ne&&(n.groupType="and",Array.isArray(e.ne)?e.ne.forEach((e=>{n.queries.push({attribute:r,value:e,operator:"eq",options:{invert:!0}})})):n.queries.push({attribute:r,value:e.ne,operator:"eq",options:{invert:!0}})),void 0!==e.gt&&(n.groupType="and",n.queries.push({attribute:r,value:e.gt,operator:"gt"})),void 0!==e.lt&&(n.groupType="and",n.queries.push({attribute:r,value:e.lt,operator:"lt"})),void 0!==e.gte&&(n.groupType="and",n.queries.push({attribute:r,value:e.gte,operator:"gte"})),void 0!==e.lte&&(n.groupType="and",n.queries.push({attribute:r,value:e.lte,operator:"lte"})),n},mn=(e,t)=>{const r=t?.attributeKey||e.filterKey,n={groupKey:e.filterKey,queries:[]};return e.itemKeys.forEach((e=>{n.queries.push({queryKey:e,attribute:r,value:{key:e},operator:"eq"})})),n},jn=e=>"string"==typeof e.modelKey&&!!Array.isArray(e.queries),_n=function(e,t){return dr(e,t)},wn=Rr("length");var An=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");var qn="\\ud800-\\udfff",xn="["+qn+"]",On="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Kn="\\ud83c[\\udffb-\\udfff]",Qn="[^"+qn+"]",kn="(?:\\ud83c[\\udde6-\\uddff]){2}",Sn="[\\ud800-\\udbff][\\udc00-\\udfff]",Cn="(?:"+On+"|"+Kn+")?",Mn="[\\ufe0e\\ufe0f]?",In=Mn+Cn+"(?:\\u200d(?:"+[Qn,kn,Sn].join("|")+")"+Mn+Cn+")*",Tn="(?:"+[Qn+On+"?",On,kn,Sn,xn].join("|")+")",En=RegExp(Kn+"(?="+Kn+")|"+Tn+In,"g");const $n=function(e){return function(e){return An.test(e)}(e)?function(e){for(var t=En.lastIndex=0;En.test(e);)++t;return t}(e):wn(e)},Fn=function(e){if(null==e)return 0;if(Se(e))return"string"==typeof(t=e)||!ie(t)&&ee(t)&&"[object String]"==w(t)?$n(e):e.length;var t,r=ft(e);return"[object Map]"==r||"[object Set]"==r?e.size:ke(e).length},Dn=function(e){return e!=e},zn=function(e,t){return!(null==e||!e.length)&&function(e,t,r){return t==t?function(e,t,r){for(var n=r-1,o=e.length;++n<o;)if(e[n]===t)return n;return-1}(e,t,r):Yt(e,Dn,r)}(e,t,0)>-1},Nn=function(e,t,r){for(var n=-1,o=null==e?0:e.length;++n<o;)if(r(t,e[n]))return!0;return!1};var Pn=d?d.isConcatSpreadable:void 0;const Rn=function(e){return ie(e)||ue(e)||!!(Pn&&e&&e[Pn])},Bn=function e(t,r,n,o,u){var i=-1,s=t.length;for(n||(n=Rn),u||(u=[]);++i<s;){var a=t[i];r>0&&n(a)?r>1?e(a,r-1,n,o,u):Be(u,a):o||(u[u.length]=a)}return u};var Gn=Math.max;const Un=H?function(e,t){return H(e,"toString",{configurable:!0,enumerable:!1,value:(r=t,function(){return r}),writable:!0});var r}:Pr;var Vn=Date.now;const Ln=(Wn=Un,Hn=0,Zn=0,function(){var e=Vn(),t=16-(e-Zn);if(Zn=e,t>0){if(++Hn>=800)return arguments[0]}else Hn=0;return Wn.apply(void 0,arguments)});var Wn,Hn,Zn;const Jn=function(e){return ee(e)&&Se(e)},Xn=function(e){return Ln(function(e,t,r){return t=Gn(void 0===t?e.length-1:t,0),function(){for(var n=arguments,o=-1,u=Gn(n.length-t,0),i=Array(u);++o<u;)i[o]=n[t+o];o=-1;for(var s=Array(t+1);++o<t;)s[o]=n[o];return s[t]=r(i),function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}(e,this,s)}}(e,void 0,Pr),e+"")}((function(e,t){var r=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}(t);return Jn(r)&&(r=void 0),Jn(e)?function(e,t,r,n){var o=-1,u=zn,i=!0,s=e.length,a=[],c=t.length;if(!s)return a;r&&(t=Sr(t,de(r))),n?(u=Nn,i=!1):t.length>=200&&(u=nr,i=!1,t=new tr(t));e:for(;++o<s;){var f=e[o],l=null==r?f:r(f);if(f=n||0!==f?f:0,i&&l==l){for(var p=c;p--;)if(t[p]===l)continue e;a.push(f)}else u(t,l,n)||a.push(f)}return a}(e,Bn(t,1,Jn,!0),Gr(r)):[]})),Yn=function(e,t,r){return e==e&&(void 0!==r&&(e=e<=r?e:r),void 0!==t&&(e=e>=t?e:t)),e},eo=function(e,t,r){var n=(r="function"==typeof r?r:void 0)?r(e,t):void 0;return void 0===n?dr(e,t,void 0,r):!!n},to=(ro=rn,function(e,t,r){var n=Object(e);if(!Se(e)){var o=Gr(t);e=Ce(e),t=function(e){return o(n[e],e,n)}}var u=ro(e,t,r);return u>-1?n[o?e[u]:u]:void 0});var ro;const no=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(!t(e[r],r,e))return!1;return!0},oo=function(e,t,r){for(var n=-1,o=Object(e),u=r(e),i=u.length;i--;){var s=u[++n];if(!1===t(o[s],s,o))break}return e},uo=function(e,t){if(null==e)return e;if(!Se(e))return function(e,t){return e&&oo(e,t,Ce)}(e,t);for(var r=e.length,n=-1,o=Object(e);++n<r&&!1!==t(o[n],n,o););return e},io=function(e,t){var r=!0;return uo(e,(function(e,n,o){return r=!!t(e,n,o)})),r},so=function(e,t,r){if(!A(r))return!1;var n=typeof t;return!!("number"==n?Se(r)&&pe(t,r.length):"string"==n&&t in r)&&i(r[t],e)},ao=function(e,t){var r;return uo(e,(function(e,n,o){return!(r=t(e,n,o))})),!!r},co=function(e,t,r){var n=ie(e)?rr:ao;return r&&so(e,t,r)&&(t=void 0),n(e,Gr(t))};class fo{scriptController;registeredCustomOperator=new Map;queryBuilder=new nn;constructor(e){this.scriptController=e}registerCustomOperator(e,t){this.registeredCustomOperator.set(e,t)}transformValue(e,t){if(Array.isArray(e))return e.map((e=>this.transformValue(e,t)));if("string"!=typeof e)return e;for(const r of t)"lowercase"===r?e=e.toLowerCase():"trim"===r?e=e.trim():"removeWhitespace"===r&&(e=e.replace(/\s/g,""));return e}evaluateQuery(e,t){let r,n=e.value;const o=e.options?.arrayValueHandling||"some";if(Array.isArray(e.options?.transform)&&e.options.transform.length>0&&(n=this.transformValue(n,e.options.transform)),r=e.attribute.includes(".")||e.attribute.includes("[")?Dr(t,e.attribute):t[e.attribute],Array.isArray(e.options?.transform)&&e.options.transform.length>0&&(r=this.transformValue(r,e.options.transform)),null==r&&!["typeof","isTruthy","eq"].includes(e.operator))return!1;switch(e.operator){case"eq":return e.options?.invert?!_n(r,n):_n(r,n);case"find":return e.options?.invert?!this.queryFind(r,n,o):this.queryFind(r,n,o);case"lt":return Array.isArray(r)?"some"===o?r.some((e=>e<n)):r.every((e=>e<n)):r<n;case"gt":return Array.isArray(r)?"some"===o?r.some((e=>e>n)):r.every((e=>e>n)):r>n;case"lte":return Array.isArray(r)?"some"===o?r.some((e=>e<=n)):r.every((e=>e<=n)):r<=n;case"gte":return Array.isArray(r)?"some"===o?r.some((e=>e>=n)):r.every((e=>e>=n)):r>=n;case"typeof":return e.options?.invert?typeof r!==n:Array.isArray(r)?"some"===o?r.some((e=>typeof e===n)):r.every((e=>typeof e===n)):typeof r===n;case"isTruthy":return!0===n?Array.isArray(r)?"some"===o?r.some((e=>typeof!!e)):r.every((e=>typeof!!e)):!!r:!r;case"size":return"string"==typeof r?r.length===n:Fn(r)===n;default:if(this.scriptController.hasScript(e.operator))return this.scriptController.executeScript(e.operator,"operator",{query:e,item:t});if(this.registeredCustomOperator.has(e.operator)){const r=this.registeredCustomOperator.get(e.operator);if("function"==typeof r)return r(e,t)}}return!1}evaluateEqOperator(e,t,r){const n=new Map,o=r.get(e.attribute);if(o){let r;if("string"==typeof e.value?r=e.value:e.value?.key&&1===Object.keys(e.value).length&&(r=e.value.key),void 0!==r){const u=o.get(r);if(u){if(u.forEach((e=>{t.has(e)&&n.set(e,t.get(e))})),e.options?.invert){const e=Xn(Array.from(t.values()),Array.from(n.values()),"key"),r=new Map;return e.forEach((e=>{r.set(e.key,e)})),r}return n}}}for(const[r,o]of t)this.evaluateQuery(e,o)&&n.set(r,o);return n}equalRegexFn(e,t){if("string"!=typeof t||(u="/",o=Tr(o=t),i=null==i?0:Yn(en(i),0,o.length),u=Ir(u),o.slice(i,i+u.length)!=u)||!function(e,t,r){e=Tr(e),t=Ir(t);var n=e.length,o=r=void 0===r?n:Yn(en(r),0,n);return(r-=t.length)>=0&&e.slice(r,o)==t}(t,"/"))return Array.isArray(e)?!!e.find((e=>eo(e,t,this.equalRegexFn))):"object"==typeof t?(r=e)===(n=t)||gr(r,n,br(n)):e===t;var r,n,o,u,i;try{return new RegExp(t.slice(1,-1)).test(e)}catch(e){return!1}}queryFind(e,t,r){return Array.isArray(e)?"string"==typeof t||"number"==typeof t||"boolean"==typeof t?"some"===r?e.some((e=>eo(e,t,this.equalRegexFn))):e.every((e=>eo(e,t,this.equalRegexFn))):!!to(e,t):eo(e,t,this.equalRegexFn)}validateQuery(e){if(this.queryBuilder.isQuery(e)){if(!e.attribute||!e.operator)throw new Error("invalid query - missing attribute or operator");if("find"===e.operator&&Array.isArray(e.value))throw new Error("invalid query - find operator cannot have array value");return!0}if(this.queryBuilder.isQueryGroup(e))return function(e,t,r){var n=ie(e)?no:io;return r&&so(e,t,r)&&(t=void 0),n(e,Gr(t))}(e.queries,(e=>this.validateQuery(e)));throw new Error("invalid query - missing query or attribute")}getEvaluatedQueryDataset(e,t,r){const n=new Map;if(e.attribute.includes("[*]")){const r=e.attribute.replace("[*]","");for(const[o,u]of t){const t=u[r];if(Array.isArray(t)){const r=t.map(((t,r)=>{const n=kt(e);return n.attribute=n.attribute.replace("[*]",`[${r}]`),this.evaluateQuery(n,u)}));co(r)&&n.set(o,u)}}}else{if("eq"===e.operator)return this.evaluateEqOperator(e,t,r);for(const[r,o]of t)this.evaluateQuery(e,o)&&n.set(r,o)}return n}evaluateQueryGroup(e,t,r,n){let o=new Map,u=t;if(!e.queries||0===e.queries?.length)return u;for(const i of e.queries){let s=new Map;if(s=this.queryBuilder.isQuery(i)?this.getEvaluatedQueryDataset(i,u,n):this.evaluateQueryGroup(i,u,r,n),0===o.size&&(o=s),"or"===e.groupType)s.forEach((e=>{o.set(e.key,e)}));else{const e=Xn(Array.from(o.values()),Array.from(s.values()),"key");for(const t of e)o.delete(t.key)}u="and"===e.groupType?o:t}return o}queryData(e,t,r,n){const o=e;return 0===t.queries.length?e:(t.groupKey||(t.groupKey="root"),t.groupType||(t.groupType="and"),t.queries||(t.queries=[]),this.validateQuery(t),this.evaluateQueryGroup(t,o,r,n))}}class lo{scripts=new Map;scriptFunctions=new Map;constructor(){}keys(){return Array.from(this.scripts.keys())}setScript(e,t){this.scripts.set(e,t)}removeScript(e){this.scripts.delete(e)}getScript(e){return this.scripts.get(e)}hasScript(e){return this.scripts.has(e)}getScriptAsFn(e,t){if(this.scriptFunctions.has(e))return this.scriptFunctions.get(e);const r=this.getScript(e);if(!r)throw new Error(`Script ${e} not found`);const n=this.getWrapperScript(r),o=new Function("script_type",...t,n);return this.scriptFunctions.set(e,o),o}getWrapperScript(e){return`\n "use strict";\n ${e}\n `}executeScript(e,t,r){if(!this.getScript(e))throw new Error(`Script ${e} not found`);r.context||(r.context=r.options||{});const n=Object.keys(r),o=Object.values(r);return this.getScriptAsFn(e,n)(t,...o)}}const po=(e,t)=>e?(t||(t={}),e.replace(/\$\{(.*?)\}/g,((e,r)=>Dr(t,r.trim(),"")))):"",yo=e=>{const t=new Set;return e.replace(/\$\{(.*?)\}/g,((e,r)=>(t.add(r.trim()),""))),{variables:Array.from(t).map((e=>({name:e})))}},ho=["any","Array<date>","Array<float>","Array<int>","Array<string>","boolean","date","float","int","json","string"],go=["int","float","Array<int>","Array<float>"],vo=["date","Array<date>"],bo=["eq","find","gt","gte","lt","lte","typeof","isTruthy","size"];var mo;return mo||(mo={}),t})()));
2
2
  //# sourceMappingURL=common.umd.js.map