@budibase/backend-core 3.33.1 → 3.33.2

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.
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  attempted value: ${o}
4
4
  `+(a!==o?`result of cast: ${a}`:""))}return i}_cast(e,r){let n=e===void 0?e:this.transforms.reduce((i,o)=>o.call(this,i,e,this),e);return n===void 0&&(n=this.getDefault()),n}_validate(e,r={},n){let{sync:i,path:o,from:a=[],originalValue:u=e,strict:c=this.spec.strict,abortEarly:l=this.spec.abortEarly}=r,d=e;c||(d=this._cast(d,ze({assert:!1},r)));let f={value:d,path:o,options:r,originalValue:u,schema:this,label:this.spec.label,sync:i,from:a},h=[];this._typeError&&h.push(this._typeError),this._whitelistError&&h.push(this._whitelistError),this._blacklistError&&h.push(this._blacklistError),(0,zh.default)({args:f,value:d,path:o,sync:i,tests:h,endEarly:l},p=>{if(p)return void n(p,d);(0,zh.default)({tests:this.tests,args:f,path:o,sync:i,value:d,endEarly:l},n)})}validate(e,r,n){let i=this.resolve(ze({},r,{value:e}));return typeof n=="function"?i._validate(e,r,n):new Promise((o,a)=>i._validate(e,r,(u,c)=>{u?a(u):o(c)}))}validateSync(e,r){let n=this.resolve(ze({},r,{value:e})),i;return n._validate(e,ze({},r,{sync:!0}),(o,a)=>{if(o)throw o;i=a}),i}isValid(e,r){return this.validate(e,r).then(()=>!0,n=>{if(Xh.default.isError(n))return!1;throw n})}isValidSync(e,r){try{return this.validateSync(e,r),!0}catch(n){if(Xh.default.isError(n))return!1;throw n}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,Yh.default)(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){var r=this.clone();return r.spec.strict=e,r}_isPresent(e){return e!=null}defined(e=vn.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(r){return r!==void 0}})}required(e=vn.mixed.required){return this.clone({presence:"required"}).withMutation(r=>r.test({message:e,name:"required",exclusive:!0,test(n){return this.schema._isPresent(n)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(r=>r.OPTIONS.name!=="required"),e}nullable(e=!0){var r=this.clone({nullable:e!==!1});return r}transform(e){var r=this.clone();return r.transforms.push(e),r}test(...e){let r;if(e.length===1?typeof e[0]=="function"?r={test:e[0]}:r=e[0]:e.length===2?r={name:e[0],test:e[1]}:r={name:e[0],message:e[1],test:e[2]},r.message===void 0&&(r.message=vn.mixed.default),typeof r.test!="function")throw new TypeError("`test` is a required parameters");let n=this.clone(),i=(0,oa.default)(r),o=r.exclusive||r.name&&n.exclusiveTests[r.name]===!0;if(r.exclusive&&!r.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return r.name&&(n.exclusiveTests[r.name]=!!r.exclusive),n.tests=n.tests.filter(a=>!(a.OPTIONS.name===r.name&&(o||a.OPTIONS.test===i.OPTIONS.test))),n.tests.push(i),n}when(e,r){!Array.isArray(e)&&typeof e!="string"&&(r=e,e=".");let n=this.clone(),i=(0,mw.default)(e).map(o=>new fw.default(o));return i.forEach(o=>{o.isSibling&&n.deps.push(o.key)}),n.conditions.push(new dw.default(i,r)),n}typeError(e){var r=this.clone();return r._typeError=(0,oa.default)({message:e,name:"typeError",test(n){return n!==void 0&&!this.schema.isType(n)?this.createError({params:{type:this.schema._type}}):!0}}),r}oneOf(e,r=vn.mixed.oneOf){var n=this.clone();return e.forEach(i=>{n._whitelist.add(i),n._blacklist.delete(i)}),n._whitelistError=(0,oa.default)({message:r,name:"oneOf",test(i){if(i===void 0)return!0;let o=this.schema._whitelist;return o.has(i,this.resolve)?!0:this.createError({params:{values:o.toArray().join(", ")}})}}),n}notOneOf(e,r=vn.mixed.notOneOf){var n=this.clone();return e.forEach(i=>{n._blacklist.add(i),n._whitelist.delete(i)}),n._blacklistError=(0,oa.default)({message:r,name:"notOneOf",test(i){let o=this.schema._blacklist;return o.has(i,this.resolve)?this.createError({params:{values:o.toArray().join(", ")}}):!0}}),n}strip(e=!0){let r=this.clone();return r.spec.strip=e,r}describe(){let e=this.clone(),{label:r,meta:n}=e.spec;return{meta:n,label:r,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(o=>({name:o.OPTIONS.name,params:o.OPTIONS.params})).filter((o,a,u)=>u.findIndex(c=>c.name===o.name)===a)}}};aa.default=ct;ct.prototype.__isYupSchema__=!0;for(let t of["validate","validateSync"])ct.prototype[`${t}At`]=function(e,r,n={}){let{parent:i,parentPath:o,schema:a}=(0,pw.getIn)(this,e,r,n.context);return a[t](i&&i[o],ze({},n,{parent:i,path:e}))};for(let t of["equals","is"])ct.prototype[t]=ct.prototype.oneOf;for(let t of["not","nope"])ct.prototype[t]=ct.prototype.notOneOf;ct.prototype.optional=ct.prototype.notRequired});var tg=q(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.create=eg;Ki.default=void 0;var hw=gw(Lt());function gw(t){return t&&t.__esModule?t:{default:t}}s(gw,"_interopRequireDefault");var Tl=hw.default,Ew=Tl;Ki.default=Ew;function eg(){return new Tl}s(eg,"create");eg.prototype=Tl.prototype});var Pn=q(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.default=void 0;var yw=s(t=>t==null,"_default");ua.default=yw});var og=q(ji=>{"use strict";Object.defineProperty(ji,"__esModule",{value:!0});ji.create=sg;ji.default=void 0;var Tw=ig(Lt()),rg=Nt(),ng=ig(Pn());function ig(t){return t&&t.__esModule?t:{default:t}}s(ig,"_interopRequireDefault");function sg(){return new Qi}s(sg,"create");var Qi=class extends Tw.default{static{s(this,"BooleanSchema")}constructor(){super({type:"boolean"}),this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}isTrue(e=rg.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(r){return(0,ng.default)(r)||r===!0}})}isFalse(e=rg.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(r){return(0,ng.default)(r)||r===!1}})}};ji.default=Qi;sg.prototype=Qi.prototype});var cg=q(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.create=ug;Yi.default=void 0;var It=Nt(),Mt=ag(Pn()),Sw=ag(Lt());function ag(t){return t&&t.__esModule?t:{default:t}}s(ag,"_interopRequireDefault");var Aw=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,_w=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,Ow=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,Iw=s(t=>(0,Mt.default)(t)||t===t.trim(),"isTrimmed"),ww={}.toString();function ug(){return new Hi}s(ug,"create");var Hi=class extends Sw.default{static{s(this,"StringSchema")}constructor(){super({type:"string"}),this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let r=e!=null&&e.toString?e.toString():e;return r===ww?e:r})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,r=It.string.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(n){return(0,Mt.default)(n)||n.length===this.resolve(e)}})}min(e,r=It.string.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,Mt.default)(n)||n.length>=this.resolve(e)}})}max(e,r=It.string.max){return this.test({name:"max",exclusive:!0,message:r,params:{max:e},test(n){return(0,Mt.default)(n)||n.length<=this.resolve(e)}})}matches(e,r){let n=!1,i,o;return r&&(typeof r=="object"?{excludeEmptyString:n=!1,message:i,name:o}=r:i=r),this.test({name:o||"matches",message:i||It.string.matches,params:{regex:e},test:a=>(0,Mt.default)(a)||a===""&&n||a.search(e)!==-1})}email(e=It.string.email){return this.matches(Aw,{name:"email",message:e,excludeEmptyString:!0})}url(e=It.string.url){return this.matches(_w,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=It.string.uuid){return this.matches(Ow,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=It.string.trim){return this.transform(r=>r!=null?r.trim():r).test({message:e,name:"trim",test:Iw})}lowercase(e=It.string.lowercase){return this.transform(r=>(0,Mt.default)(r)?r:r.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,Mt.default)(r)||r===r.toLowerCase()})}uppercase(e=It.string.uppercase){return this.transform(r=>(0,Mt.default)(r)?r:r.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,Mt.default)(r)||r===r.toUpperCase()})}};Yi.default=Hi;ug.prototype=Hi.prototype});var fg=q(Ji=>{"use strict";Object.defineProperty(Ji,"__esModule",{value:!0});Ji.create=dg;Ji.default=void 0;var Wr=Nt(),$r=lg(Pn()),Dw=lg(Lt());function lg(t){return t&&t.__esModule?t:{default:t}}s(lg,"_interopRequireDefault");var Rw=s(t=>t!=+t,"isNaN");function dg(){return new zi}s(dg,"create");var zi=class extends Dw.default{static{s(this,"NumberSchema")}constructor(){super({type:"number"}),this.withMutation(()=>{this.transform(function(e){let r=e;if(typeof r=="string"){if(r=r.replace(/\s/g,""),r==="")return NaN;r=+r}return this.isType(r)?r:parseFloat(r)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!Rw(e)}min(e,r=Wr.number.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,$r.default)(n)||n>=this.resolve(e)}})}max(e,r=Wr.number.max){return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(n){return(0,$r.default)(n)||n<=this.resolve(e)}})}lessThan(e,r=Wr.number.lessThan){return this.test({message:r,name:"max",exclusive:!0,params:{less:e},test(n){return(0,$r.default)(n)||n<this.resolve(e)}})}moreThan(e,r=Wr.number.moreThan){return this.test({message:r,name:"min",exclusive:!0,params:{more:e},test(n){return(0,$r.default)(n)||n>this.resolve(e)}})}positive(e=Wr.number.positive){return this.moreThan(0,e)}negative(e=Wr.number.negative){return this.lessThan(0,e)}integer(e=Wr.number.integer){return this.test({name:"integer",message:e,test:r=>(0,$r.default)(r)||Number.isInteger(r)})}truncate(){return this.transform(e=>(0,$r.default)(e)?e:e|0)}round(e){var r,n=["ceil","floor","round","trunc"];if(e=((r=e)==null?void 0:r.toLowerCase())||"round",e==="trunc")return this.truncate();if(n.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+n.join(", "));return this.transform(i=>(0,$r.default)(i)?i:Math[e](i))}};Ji.default=zi;dg.prototype=zi.prototype});var pg=q(Sl=>{"use strict";Object.defineProperty(Sl,"__esModule",{value:!0});Sl.default=bw;var Cw=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function bw(t){var e=[1,4,5,6,7,10,11],r=0,n,i;if(i=Cw.exec(t)){for(var o=0,a;a=e[o];++o)i[a]=+i[a]||0;i[2]=(+i[2]||1)-1,i[3]=+i[3]||1,i[7]=i[7]?String(i[7]).substr(0,3):0,(i[8]===void 0||i[8]==="")&&(i[9]===void 0||i[9]==="")?n=+new Date(i[1],i[2],i[3],i[4],i[5],i[6],i[7]):(i[8]!=="Z"&&i[9]!==void 0&&(r=i[10]*60+i[11],i[9]==="+"&&(r=0-r)),n=Date.UTC(i[1],i[2],i[3],i[4],i[5]+r,i[6],i[7]))}else n=Date.parse?Date.parse(t):NaN;return n}s(bw,"parseIsoDate")});var gg=q(Xi=>{"use strict";Object.defineProperty(Xi,"__esModule",{value:!0});Xi.create=_l;Xi.default=void 0;var xw=ca(pg()),mg=Nt(),hg=ca(Pn()),vw=ca(Br()),Pw=ca(Lt());function ca(t){return t&&t.__esModule?t:{default:t}}s(ca,"_interopRequireDefault");var Al=new Date(""),Nw=s(t=>Object.prototype.toString.call(t)==="[object Date]","isDate");function _l(){return new Nn}s(_l,"create");var Nn=class extends Pw.default{static{s(this,"DateSchema")}constructor(){super({type:"date"}),this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,xw.default)(e),isNaN(e)?Al:new Date(e))})})}_typeCheck(e){return Nw(e)&&!isNaN(e.getTime())}prepareParam(e,r){let n;if(vw.default.isRef(e))n=e;else{let i=this.cast(e);if(!this._typeCheck(i))throw new TypeError(`\`${r}\` must be a Date or a value that can be \`cast()\` to a Date`);n=i}return n}min(e,r=mg.date.min){let n=this.prepareParam(e,"min");return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,hg.default)(i)||i>=this.resolve(n)}})}max(e,r=mg.date.max){var n=this.prepareParam(e,"max");return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,hg.default)(i)||i<=this.resolve(n)}})}};Xi.default=Nn;Nn.INVALID_DATE=Al;_l.prototype=Nn.prototype;_l.INVALID_DATE=Al});var yg=q((hB,Ol)=>{"use strict";Ol.exports=function(t){return Eg(Uw(t),t)};Ol.exports.array=Eg;function Eg(t,e){var r=t.length,n=new Array(r),i={},o=r,a=Lw(e),u=Mw(t);for(e.forEach(function(l){if(!u.has(l[0])||!u.has(l[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});o--;)i[o]||c(t[o],o,new Set);return n;function c(l,d,f){if(f.has(l)){var h;try{h=", node was:"+JSON.stringify(l)}catch{h=""}throw new Error("Cyclic dependency"+h)}if(!u.has(l))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(l));if(!i[d]){i[d]=!0;var p=a.get(l)||new Set;if(p=Array.from(p),d=p.length){f.add(l);do{var S=p[--d];c(S,u.get(S),f)}while(d);f.delete(l)}n[--r]=l}}}s(Eg,"toposort");function Uw(t){for(var e=new Set,r=0,n=t.length;r<n;r++){var i=t[r];e.add(i[0]),e.add(i[1])}return Array.from(e)}s(Uw,"uniqueNodes");function Lw(t){for(var e=new Map,r=0,n=t.length;r<n;r++){var i=t[r];e.has(i[0])||e.set(i[0],new Set),e.has(i[1])||e.set(i[1],new Set),e.get(i[0]).add(i[1])}return e}s(Lw,"makeOutgoingEdges");function Mw(t){for(var e=new Map,r=0,n=t.length;r<n;r++)e.set(t[r],r);return e}s(Mw,"makeNodesHash")});var Tg=q(Il=>{"use strict";Object.defineProperty(Il,"__esModule",{value:!0});Il.default=Gw;var kw=la(require("lodash/has")),Fw=la(yg()),Bw=$i(),Ww=la(Br()),$w=la(xn());function la(t){return t&&t.__esModule?t:{default:t}}s(la,"_interopRequireDefault");function Gw(t,e=[]){let r=[],n=[];function i(o,a){var u=(0,Bw.split)(o)[0];~n.indexOf(u)||n.push(u),~e.indexOf(`${a}-${u}`)||r.push([a,u])}s(i,"addNode");for(let o in t)if((0,kw.default)(t,o)){let a=t[o];~n.indexOf(o)||n.push(o),Ww.default.isRef(a)&&a.isSibling?i(a.path,o):(0,$w.default)(a)&&"deps"in a&&a.deps.forEach(u=>i(u,o))}return Fw.default.array(n,r).reverse()}s(Gw,"sortFields")});var Ag=q(wl=>{"use strict";Object.defineProperty(wl,"__esModule",{value:!0});wl.default=Vw;function Sg(t,e){let r=1/0;return t.some((n,i)=>{var o;if(((o=e.path)==null?void 0:o.indexOf(n))!==-1)return r=i,!0}),r}s(Sg,"findIndex");function Vw(t){return(e,r)=>Sg(t,e)-Sg(t,r)}s(Vw,"sortByKeyOrder")});var Cg=q(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});es.create=Rg;es.default=void 0;var _g=wt(require("lodash/has")),Og=wt(require("lodash/snakeCase")),qw=wt(require("lodash/camelCase")),Kw=wt(require("lodash/mapKeys")),Qw=wt(require("lodash/mapValues")),jw=$i(),Ig=Nt(),Hw=wt(Tg()),Dg=wt(Ag()),Yw=wt(ta()),zw=wt(kr()),Dl=wt(Lt());function wt(t){return t&&t.__esModule?t:{default:t}}s(wt,"_interopRequireDefault");function Un(){return Un=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},Un.apply(this,arguments)}s(Un,"_extends");var wg=s(t=>Object.prototype.toString.call(t)==="[object Object]","isObject");function Jw(t,e){let r=Object.keys(t.fields);return Object.keys(e).filter(n=>r.indexOf(n)===-1)}s(Jw,"unknown");var Xw=(0,Dg.default)([]),Zi=class extends Dl.default{static{s(this,"ObjectSchema")}constructor(e){super({type:"object"}),this.fields=Object.create(null),this._sortErrors=Xw,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(s(function(n){if(typeof n=="string")try{n=JSON.parse(n)}catch{n=null}return this.isType(n)?n:null},"coerce")),e&&this.shape(e)})}_typeCheck(e){return wg(e)||typeof e=="function"}_cast(e,r={}){var n;let i=super._cast(e,r);if(i===void 0)return this.getDefault();if(!this._typeCheck(i))return i;let o=this.fields,a=(n=r.stripUnknown)!=null?n:this.spec.noUnknown,u=this._nodes.concat(Object.keys(i).filter(f=>this._nodes.indexOf(f)===-1)),c={},l=Un({},r,{parent:c,__validating:r.__validating||!1}),d=!1;for(let f of u){let h=o[f],p=(0,_g.default)(i,f);if(h){let S,m=i[f];l.path=(r.path?`${r.path}.`:"")+f,h=h.resolve({value:m,context:r.context,parent:c});let E="spec"in h?h.spec:void 0,y=E?.strict;if(E?.strip){d=d||f in i;continue}S=!r.__validating||!y?h.cast(i[f],l):i[f],S!==void 0&&(c[f]=S)}else p&&!a&&(c[f]=i[f]);c[f]!==i[f]&&(d=!0)}return d?c:i}_validate(e,r={},n){let i=[],{sync:o,from:a=[],originalValue:u=e,abortEarly:c=this.spec.abortEarly,recursive:l=this.spec.recursive}=r;a=[{schema:this,value:u},...a],r.__validating=!0,r.originalValue=u,r.from=a,super._validate(e,r,(d,f)=>{if(d){if(!zw.default.isError(d)||c)return void n(d,f);i.push(d)}if(!l||!wg(f)){n(i[0]||null,f);return}u=u||f;let h=this._nodes.map(p=>(S,m)=>{let E=p.indexOf(".")===-1?(r.path?`${r.path}.`:"")+p:`${r.path||""}["${p}"]`,y=this.fields[p];if(y&&"validate"in y){y.validate(f[p],Un({},r,{path:E,from:a,strict:!0,parent:f,originalValue:u[p]}),m);return}m(null)});(0,Yw.default)({sync:o,tests:h,value:f,errors:i,endEarly:c,sort:this._sortErrors,path:r.path},n)})}clone(e){let r=super.clone(e);return r.fields=Un({},this.fields),r._nodes=this._nodes,r._excludedEdges=this._excludedEdges,r._sortErrors=this._sortErrors,r}concat(e){let r=super.concat(e),n=r.fields;for(let[i,o]of Object.entries(this.fields)){let a=n[i];a===void 0?n[i]=o:a instanceof Dl.default&&o instanceof Dl.default&&(n[i]=o.concat(a))}return r.withMutation(()=>r.shape(n))}getDefaultFromShape(){let e={};return this._nodes.forEach(r=>{let n=this.fields[r];e[r]="default"in n?n.getDefault():void 0}),e}_getDefault(){if("default"in this.spec)return super._getDefault();if(this._nodes.length)return this.getDefaultFromShape()}shape(e,r=[]){let n=this.clone(),i=Object.assign(n.fields,e);if(n.fields=i,n._sortErrors=(0,Dg.default)(Object.keys(i)),r.length){Array.isArray(r[0])||(r=[r]);let o=r.map(([a,u])=>`${a}-${u}`);n._excludedEdges=n._excludedEdges.concat(o)}return n._nodes=(0,Hw.default)(i,n._excludedEdges),n}pick(e){let r={};for(let n of e)this.fields[n]&&(r[n]=this.fields[n]);return this.clone().withMutation(n=>(n.fields={},n.shape(r)))}omit(e){let r=this.clone(),n=r.fields;r.fields={};for(let i of e)delete n[i];return r.withMutation(()=>r.shape(n))}from(e,r,n){let i=(0,jw.getter)(e,!0);return this.transform(o=>{if(o==null)return o;let a=o;return(0,_g.default)(o,e)&&(a=Un({},o),n||delete a[e],a[r]=i(o)),a})}noUnknown(e=!0,r=Ig.object.noUnknown){typeof e=="string"&&(r=e,e=!0);let n=this.test({name:"noUnknown",exclusive:!0,message:r,test(i){if(i==null)return!0;let o=Jw(this.schema,i);return!e||o.length===0||this.createError({params:{unknown:o.join(", ")}})}});return n.spec.noUnknown=e,n}unknown(e=!0,r=Ig.object.noUnknown){return this.noUnknown(!e,r)}transformKeys(e){return this.transform(r=>r&&(0,Kw.default)(r,(n,i)=>e(i)))}camelCase(){return this.transformKeys(qw.default)}snakeCase(){return this.transformKeys(Og.default)}constantCase(){return this.transformKeys(e=>(0,Og.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,Qw.default)(this.fields,r=>r.describe()),e}};es.default=Zi;function Rg(t){return new Zi(t)}s(Rg,"create");Rg.prototype=Zi.prototype});var xg=q(rs=>{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});rs.create=bg;rs.default=void 0;var Rl=Ln(Pn()),Zw=Ln(xn()),eD=Ln(Wi()),Cl=Nt(),tD=Ln(ta()),rD=Ln(kr()),nD=Ln(Lt());function Ln(t){return t&&t.__esModule?t:{default:t}}s(Ln,"_interopRequireDefault");function da(){return da=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},da.apply(this,arguments)}s(da,"_extends");function bg(t){return new ts(t)}s(bg,"create");var ts=class extends nD.default{static{s(this,"ArraySchema")}constructor(e){super({type:"array"}),this.innerType=e,this.withMutation(()=>{this.transform(function(r){if(typeof r=="string")try{r=JSON.parse(r)}catch{r=null}return this.isType(r)?r:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,r){let n=super._cast(e,r);if(!this._typeCheck(n)||!this.innerType)return n;let i=!1,o=n.map((a,u)=>{let c=this.innerType.cast(a,da({},r,{path:`${r.path||""}[${u}]`}));return c!==a&&(i=!0),c});return i?o:n}_validate(e,r={},n){var i,o;let a=[],u=r.sync,c=r.path,l=this.innerType,d=(i=r.abortEarly)!=null?i:this.spec.abortEarly,f=(o=r.recursive)!=null?o:this.spec.recursive,h=r.originalValue!=null?r.originalValue:e;super._validate(e,r,(p,S)=>{if(p){if(!rD.default.isError(p)||d)return void n(p,S);a.push(p)}if(!f||!l||!this._typeCheck(S)){n(a[0]||null,S);return}h=h||S;let m=new Array(S.length);for(let E=0;E<S.length;E++){let y=S[E],I=`${r.path||""}[${E}]`,O=da({},r,{path:I,strict:!0,parent:S,index:E,originalValue:h[E]});m[E]=(w,T)=>l.validate(y,O,T)}(0,tD.default)({sync:u,path:c,value:S,errors:a,endEarly:d,tests:m},n)})}clone(e){let r=super.clone(e);return r.innerType=this.innerType,r}concat(e){let r=super.concat(e);return r.innerType=this.innerType,e.innerType&&(r.innerType=r.innerType?r.innerType.concat(e.innerType):e.innerType),r}of(e){let r=this.clone();if(!(0,Zw.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,eD.default)(e));return r.innerType=e,r}length(e,r=Cl.array.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(n){return(0,Rl.default)(n)||n.length===this.resolve(e)}})}min(e,r){return r=r||Cl.array.min,this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,Rl.default)(n)||n.length>=this.resolve(e)}})}max(e,r){return r=r||Cl.array.max,this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(n){return(0,Rl.default)(n)||n.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,r)=>this._typeCheck(e)?e:r==null?[]:[].concat(r))}compact(e){let r=e?(n,i,o)=>!e(n,i,o):n=>!!n;return this.transform(n=>n!=null?n.filter(r):n)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}};rs.default=ts;bg.prototype=ts.prototype});var vg=q(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});ns.create=oD;ns.default=void 0;var iD=sD(xn());function sD(t){return t&&t.__esModule?t:{default:t}}s(sD,"_interopRequireDefault");function oD(t){return new fa(t)}s(oD,"create");var fa=class{static{s(this,"Lazy")}constructor(e){this.type="lazy",this.__isYupSchema__=!0,this._resolve=(r,n={})=>{let i=this.builder(r,n);if(!(0,iD.default)(i))throw new TypeError("lazy() functions must return a valid schema");return i.resolve(n)},this.builder=e}resolve(e){return this._resolve(e.value,e)}cast(e,r){return this._resolve(e,r).cast(e,r)}validate(e,r,n){return this._resolve(e,r).validate(e,r,n)}validateSync(e,r){return this._resolve(e,r).validateSync(e,r)}validateAt(e,r,n){return this._resolve(r,n).validateAt(e,r,n)}validateSyncAt(e,r,n){return this._resolve(r,n).validateSyncAt(e,r,n)}describe(){return null}isValid(e,r){return this._resolve(e,r).isValid(e,r)}isValidSync(e,r){return this._resolve(e,r).isValidSync(e,r)}},aD=fa;ns.default=aD});var Pg=q(bl=>{"use strict";Object.defineProperty(bl,"__esModule",{value:!0});bl.default=lD;var uD=cD(Nt());function cD(t){return t&&t.__esModule?t:{default:t}}s(cD,"_interopRequireDefault");function lD(t){Object.keys(t).forEach(e=>{Object.keys(t[e]).forEach(r=>{uD.default[e][r]=t[e][r]})})}s(lD,"setLocale")});var vl=q(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});re.addMethod=ED;Object.defineProperty(re,"MixedSchema",{enumerable:!0,get:function(){return Ng.default}});Object.defineProperty(re,"mixed",{enumerable:!0,get:function(){return Ng.create}});Object.defineProperty(re,"BooleanSchema",{enumerable:!0,get:function(){return xl.default}});Object.defineProperty(re,"bool",{enumerable:!0,get:function(){return xl.create}});Object.defineProperty(re,"boolean",{enumerable:!0,get:function(){return xl.create}});Object.defineProperty(re,"StringSchema",{enumerable:!0,get:function(){return Ug.default}});Object.defineProperty(re,"string",{enumerable:!0,get:function(){return Ug.create}});Object.defineProperty(re,"NumberSchema",{enumerable:!0,get:function(){return Lg.default}});Object.defineProperty(re,"number",{enumerable:!0,get:function(){return Lg.create}});Object.defineProperty(re,"DateSchema",{enumerable:!0,get:function(){return Mg.default}});Object.defineProperty(re,"date",{enumerable:!0,get:function(){return Mg.create}});Object.defineProperty(re,"ObjectSchema",{enumerable:!0,get:function(){return kg.default}});Object.defineProperty(re,"object",{enumerable:!0,get:function(){return kg.create}});Object.defineProperty(re,"ArraySchema",{enumerable:!0,get:function(){return Fg.default}});Object.defineProperty(re,"array",{enumerable:!0,get:function(){return Fg.create}});Object.defineProperty(re,"ref",{enumerable:!0,get:function(){return dD.create}});Object.defineProperty(re,"lazy",{enumerable:!0,get:function(){return fD.create}});Object.defineProperty(re,"ValidationError",{enumerable:!0,get:function(){return pD.default}});Object.defineProperty(re,"reach",{enumerable:!0,get:function(){return mD.default}});Object.defineProperty(re,"isSchema",{enumerable:!0,get:function(){return Bg.default}});Object.defineProperty(re,"setLocale",{enumerable:!0,get:function(){return hD.default}});Object.defineProperty(re,"BaseSchema",{enumerable:!0,get:function(){return gD.default}});var Ng=Gr(tg()),xl=Gr(og()),Ug=Gr(cg()),Lg=Gr(fg()),Mg=Gr(gg()),kg=Gr(Cg()),Fg=Gr(xg()),dD=Br(),fD=vg(),pD=is(kr()),mD=is(El()),Bg=is(xn()),hD=is(Pg()),gD=is(Lt());function is(t){return t&&t.__esModule?t:{default:t}}s(is,"_interopRequireDefault");function Wg(){if(typeof WeakMap!="function")return null;var t=new WeakMap;return Wg=s(function(){return t},"_getRequireWildcardCache"),t}s(Wg,"_getRequireWildcardCache");function Gr(t){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var e=Wg();if(e&&e.has(t))return e.get(t);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){var o=n?Object.getOwnPropertyDescriptor(t,i):null;o&&(o.get||o.set)?Object.defineProperty(r,i,o):r[i]=t[i]}return r.default=t,e&&e.set(t,r),r}s(Gr,"_interopRequireWildcard");function ED(t,e,r){if(!t||!(0,Bg.default)(t.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof r!="function")throw new TypeError("Method function must be provided");t.prototype[e]=r}s(ED,"addMethod")});var $g=q(Nl=>{"use strict";Object.defineProperty(Nl,"__esModule",{value:!0});var Pl=Ul();Nl.default=()=>{(0,Pl.registerOptionPreset)("npm-node-cron",{presetId:"npm-node-cron",useSeconds:!0,useYears:!1,useAliases:!0,useBlankDay:!1,allowOnlyOneBlankDayField:!1,mustHaveBlankDayField:!1,useLastDayOfMonth:!1,useLastDayOfWeek:!1,useNearestWeekday:!1,useNthWeekdayOfMonth:!1,seconds:{minValue:0,maxValue:59},minutes:{minValue:0,maxValue:59},hours:{minValue:0,maxValue:23},daysOfMonth:{minValue:1,maxValue:31},months:{minValue:0,maxValue:11},daysOfWeek:{minValue:0,maxValue:6},years:{minValue:1970,maxValue:2099}}),(0,Pl.registerOptionPreset)("aws-cloud-watch",{presetId:"aws-cloud-watch",useSeconds:!1,useYears:!0,useAliases:!0,useBlankDay:!0,allowOnlyOneBlankDayField:!0,mustHaveBlankDayField:!0,useLastDayOfMonth:!0,useLastDayOfWeek:!0,useNearestWeekday:!0,useNthWeekdayOfMonth:!0,seconds:{minValue:0,maxValue:59},minutes:{minValue:0,maxValue:59},hours:{minValue:0,maxValue:23},daysOfMonth:{minValue:1,maxValue:31},months:{minValue:1,maxValue:12},daysOfWeek:{minValue:1,maxValue:7},years:{minValue:1970,maxValue:2199}}),(0,Pl.registerOptionPreset)("npm-cron-schedule",{presetId:"npm-cron-schedule",useSeconds:!0,useYears:!1,useAliases:!0,useBlankDay:!1,allowOnlyOneBlankDayField:!1,mustHaveBlankDayField:!1,useLastDayOfMonth:!1,useLastDayOfWeek:!1,useNearestWeekday:!1,useNthWeekdayOfMonth:!1,seconds:{minValue:0,maxValue:59},minutes:{minValue:0,maxValue:59},hours:{minValue:0,maxValue:23},daysOfMonth:{minValue:1,maxValue:31},months:{minValue:1,maxValue:12},daysOfWeek:{minValue:0,maxValue:7},years:{minValue:1970,maxValue:2099}})}});var Ul=q(Ae=>{"use strict";var yD=Ae&&Ae.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),TD=Ae&&Ae.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),SD=Ae&&Ae.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&yD(e,t,r);return TD(e,t),e},AD=Ae&&Ae.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ae,"__esModule",{value:!0});Ae.validateOptions=Ae.registerOptionPreset=Ae.getOptionPresets=Ae.getOptionPreset=void 0;var b=SD(vl());vl();var ss=at(),_D=AD($g());ut();var Vr={default:{presetId:"default",useSeconds:!1,useYears:!1,useAliases:!1,useBlankDay:!1,allowOnlyOneBlankDayField:!1,mustHaveBlankDayField:!1,useLastDayOfMonth:!1,useLastDayOfWeek:!1,useNearestWeekday:!1,useNthWeekdayOfMonth:!1,seconds:{minValue:0,maxValue:59},minutes:{minValue:0,maxValue:59},hours:{minValue:0,maxValue:23},daysOfMonth:{minValue:0,maxValue:31},months:{minValue:0,maxValue:12},daysOfWeek:{minValue:0,maxValue:7},years:{minValue:1970,maxValue:2099}}},Gg=b.object({presetId:b.string().required(),useSeconds:b.boolean().required(),useYears:b.boolean().required(),useAliases:b.boolean(),useBlankDay:b.boolean().required(),allowOnlyOneBlankDayField:b.boolean().required(),mustHaveBlankDayField:b.boolean(),useLastDayOfMonth:b.boolean(),useLastDayOfWeek:b.boolean(),useNearestWeekday:b.boolean(),useNthWeekdayOfMonth:b.boolean(),seconds:b.object({minValue:b.number().min(0).required(),maxValue:b.number().min(0).required(),lowerLimit:b.number().min(0),upperLimit:b.number().min(0)}).required(),minutes:b.object({minValue:b.number().min(0).required(),maxValue:b.number().min(0).required(),lowerLimit:b.number().min(0),upperLimit:b.number().min(0)}).required(),hours:b.object({minValue:b.number().min(0).required(),maxValue:b.number().min(0).required(),lowerLimit:b.number().min(0),upperLimit:b.number().min(0)}).required(),daysOfMonth:b.object({minValue:b.number().min(0).required(),maxValue:b.number().min(0).required(),lowerLimit:b.number().min(0),upperLimit:b.number().min(0)}).required(),months:b.object({minValue:b.number().min(0).required(),maxValue:b.number().min(0).required(),lowerLimit:b.number().min(0),upperLimit:b.number().min(0)}).required(),daysOfWeek:b.object({minValue:b.number().min(0).required(),maxValue:b.number().min(0).required(),lowerLimit:b.number().min(0),upperLimit:b.number().min(0)}).required(),years:b.object({minValue:b.number().min(0).required(),maxValue:b.number().min(0).required(),lowerLimit:b.number().min(0),upperLimit:b.number().min(0)}).required()}).required(),OD=s(t=>Vr[t]?(0,ss.valid)(Vr[t]):(0,ss.err)(`Option preset '${t}' not found.`),"getOptionPreset");Ae.getOptionPreset=OD;var ID=s(()=>Vr,"getOptionPresets");Ae.getOptionPresets=ID;var wD=s((t,e)=>{Vr[t]=Gg.validateSync(e,{strict:!1,abortEarly:!1,stripUnknown:!0,recursive:!0})},"registerOptionPreset");Ae.registerOptionPreset=wD;var DD=s(t=>{var e,r,n,i,o,a,u,c,l,d,f,h,p,S,m,E,y,I,O,w;try{(0,_D.default)();let T;if(t.preset)if(typeof t.preset=="string"){if(!Vr[t.preset])return(0,ss.err)([`Option preset ${t.preset} does not exist.`]);T=Vr[t.preset]}else T=t.preset;else T=Vr.default;let _=Object.assign(Object.assign({presetId:T.presetId,preset:T},{useSeconds:T.useSeconds,useYears:T.useYears,useAliases:(e=T.useAliases)!==null&&e!==void 0?e:!1,useBlankDay:T.useBlankDay,allowOnlyOneBlankDayField:T.allowOnlyOneBlankDayField,mustHaveBlankDayField:(r=T.mustHaveBlankDayField)!==null&&r!==void 0?r:!1,useLastDayOfMonth:(n=T.useLastDayOfMonth)!==null&&n!==void 0?n:!1,useLastDayOfWeek:(i=T.useLastDayOfWeek)!==null&&i!==void 0?i:!1,useNearestWeekday:(o=T.useNearestWeekday)!==null&&o!==void 0?o:!1,useNthWeekdayOfMonth:(a=T.useNthWeekdayOfMonth)!==null&&a!==void 0?a:!1,seconds:{lowerLimit:(u=T.seconds.lowerLimit)!==null&&u!==void 0?u:T.seconds.minValue,upperLimit:(c=T.seconds.upperLimit)!==null&&c!==void 0?c:T.seconds.maxValue},minutes:{lowerLimit:(l=T.minutes.lowerLimit)!==null&&l!==void 0?l:T.minutes.minValue,upperLimit:(d=T.minutes.upperLimit)!==null&&d!==void 0?d:T.minutes.maxValue},hours:{lowerLimit:(f=T.hours.lowerLimit)!==null&&f!==void 0?f:T.hours.minValue,upperLimit:(h=T.hours.upperLimit)!==null&&h!==void 0?h:T.hours.maxValue},daysOfMonth:{lowerLimit:(p=T.daysOfMonth.lowerLimit)!==null&&p!==void 0?p:T.daysOfMonth.minValue,upperLimit:(S=T.daysOfMonth.upperLimit)!==null&&S!==void 0?S:T.daysOfMonth.maxValue},months:{lowerLimit:(m=T.months.lowerLimit)!==null&&m!==void 0?m:T.months.minValue,upperLimit:(E=T.months.upperLimit)!==null&&E!==void 0?E:T.months.maxValue},daysOfWeek:{lowerLimit:(y=T.daysOfWeek.lowerLimit)!==null&&y!==void 0?y:T.daysOfWeek.minValue,upperLimit:(I=T.daysOfWeek.upperLimit)!==null&&I!==void 0?I:T.daysOfWeek.maxValue},years:{lowerLimit:(O=T.years.lowerLimit)!==null&&O!==void 0?O:T.years.minValue,upperLimit:(w=T.years.upperLimit)!==null&&w!==void 0?w:T.years.maxValue}}),t.override),R=b.object({presetId:b.string().required(),preset:Gg.required(),useSeconds:b.boolean().required(),useYears:b.boolean().required(),useAliases:b.boolean(),useBlankDay:b.boolean().required(),allowOnlyOneBlankDayField:b.boolean().required(),mustHaveBlankDayField:b.boolean(),useLastDayOfMonth:b.boolean(),useLastDayOfWeek:b.boolean(),useNearestWeekday:b.boolean(),useNthWeekdayOfMonth:b.boolean(),seconds:b.object({lowerLimit:b.number().min(T.seconds.minValue).max(T.seconds.maxValue),upperLimit:b.number().min(T.seconds.minValue).max(T.seconds.maxValue)}).required(),minutes:b.object({lowerLimit:b.number().min(T.minutes.minValue).max(T.minutes.maxValue),upperLimit:b.number().min(T.minutes.minValue).max(T.minutes.maxValue)}).required(),hours:b.object({lowerLimit:b.number().min(T.hours.minValue).max(T.hours.maxValue),upperLimit:b.number().min(T.hours.minValue).max(T.hours.maxValue)}).required(),daysOfMonth:b.object({lowerLimit:b.number().min(T.daysOfMonth.minValue).max(T.daysOfMonth.maxValue),upperLimit:b.number().min(T.daysOfMonth.minValue).max(T.daysOfMonth.maxValue)}).required(),months:b.object({lowerLimit:b.number().min(T.months.minValue).max(T.months.maxValue),upperLimit:b.number().min(T.months.minValue).max(T.months.maxValue)}).required(),daysOfWeek:b.object({lowerLimit:b.number().min(T.daysOfWeek.minValue).max(T.daysOfWeek.maxValue),upperLimit:b.number().min(T.daysOfWeek.minValue).max(T.daysOfWeek.maxValue)}).required(),years:b.object({lowerLimit:b.number().min(T.years.minValue).max(T.years.maxValue),upperLimit:b.number().min(T.years.minValue).max(T.years.maxValue)}).required()}).required().validateSync(_,{strict:!1,abortEarly:!1,stripUnknown:!0,recursive:!0});return(0,ss.valid)(R)}catch(T){return(0,ss.err)(T.errors)}},"validateOptions");Ae.validateOptions=DD});var Ot=q((os,Ml)=>{"use strict";var Kr=os&&os.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(os,"__esModule",{value:!0});var qr=at(),RD=Kr(Eh()),CD=Kr(yh()),bD=Kr(Th()),xD=Kr(Sh()),vD=Kr(Ah()),PD=Kr(_h()),ND=Kr(Oh()),UD=Ul();ut();var LD=s((t,e)=>{let r=t.trim().split(" ");if(e.useSeconds&&e.useYears&&r.length!==7)return(0,qr.err)(`Expected 7 values, but got ${r.length}.`);if((e.useSeconds&&!e.useYears||e.useYears&&!e.useSeconds)&&r.length!==6)return(0,qr.err)(`Expected 6 values, but got ${r.length}.`);if(!e.useSeconds&&!e.useYears&&r.length!==5)return(0,qr.err)(`Expected 5 values, but got ${r.length}.`);let n={seconds:e.useSeconds?r[0]:void 0,minutes:r[e.useSeconds?1:0],hours:r[e.useSeconds?2:1],daysOfMonth:r[e.useSeconds?3:2],months:r[e.useSeconds?4:3],daysOfWeek:r[e.useSeconds?5:4],years:e.useYears?r[e.useSeconds?6:5]:void 0};return(0,qr.valid)(n)},"splitCronString"),Ll=s((t,e={})=>{let r=(0,UD.validateOptions)(e);if(r.isError())return r;let n=r.getValue(),i=LD(t,n);if(i.isError())return(0,qr.err)([`${i.getError()} (Input cron: '${t}')`]);let o=i.getValue(),a=[];if(n.useSeconds&&a.push((0,RD.default)(o,n)),a.push((0,CD.default)(o,n)),a.push((0,bD.default)(o,n)),a.push((0,xD.default)(o,n)),a.push((0,vD.default)(o,n)),a.push((0,PD.default)(o,n)),n.useYears&&a.push((0,ND.default)(o,n)),a.every(c=>c.isValid()))return(0,qr.valid)(o);let u=[];return a.forEach(c=>{c.isError()&&c.getError().forEach(l=>{u.push(l)})}),u.forEach((c,l)=>{u[l]=`${c} (Input cron: '${t}')`}),(0,qr.err)(u)},"cron");os.default=Ll;Ml.exports=Ll;Ml.exports.default=Ll});var yy=q(Qe=>{"use strict";Object.defineProperty(Qe,"__esModule",{value:!0});var Ft=class extends Error{static{s(this,"LuxonError")}},Ql=class extends Ft{static{s(this,"InvalidDateTimeError")}constructor(e){super(`Invalid DateTime: ${e.toMessage()}`)}},jl=class extends Ft{static{s(this,"InvalidIntervalError")}constructor(e){super(`Invalid Interval: ${e.toMessage()}`)}},Hl=class extends Ft{static{s(this,"InvalidDurationError")}constructor(e){super(`Invalid Duration: ${e.toMessage()}`)}},lr=class extends Ft{static{s(this,"ConflictingSpecificationError")}},Sa=class extends Ft{static{s(this,"InvalidUnitError")}constructor(e){super(`Invalid unit ${e}`)}},_e=class extends Ft{static{s(this,"InvalidArgumentError")}},Dt=class extends Ft{static{s(this,"ZoneIsAbstractError")}constructor(){super("Zone is an abstract class")}},v="numeric",ft="short",qe="long",Aa={year:v,month:v,day:v},TE={year:v,month:ft,day:v},MD={year:v,month:ft,day:v,weekday:ft},SE={year:v,month:qe,day:v},AE={year:v,month:qe,day:v,weekday:qe},_E={hour:v,minute:v},OE={hour:v,minute:v,second:v},IE={hour:v,minute:v,second:v,timeZoneName:ft},wE={hour:v,minute:v,second:v,timeZoneName:qe},DE={hour:v,minute:v,hourCycle:"h23"},RE={hour:v,minute:v,second:v,hourCycle:"h23"},CE={hour:v,minute:v,second:v,hourCycle:"h23",timeZoneName:ft},bE={hour:v,minute:v,second:v,hourCycle:"h23",timeZoneName:qe},xE={year:v,month:v,day:v,hour:v,minute:v},vE={year:v,month:v,day:v,hour:v,minute:v,second:v},PE={year:v,month:ft,day:v,hour:v,minute:v},NE={year:v,month:ft,day:v,hour:v,minute:v,second:v},kD={year:v,month:ft,day:v,weekday:ft,hour:v,minute:v},UE={year:v,month:qe,day:v,hour:v,minute:v,timeZoneName:ft},LE={year:v,month:qe,day:v,hour:v,minute:v,second:v,timeZoneName:ft},ME={year:v,month:qe,day:v,weekday:qe,hour:v,minute:v,timeZoneName:qe},kE={year:v,month:qe,day:v,weekday:qe,hour:v,minute:v,second:v,timeZoneName:qe},fr=class{static{s(this,"Zone")}get type(){throw new Dt}get name(){throw new Dt}get ianaName(){return this.name}get isUniversal(){throw new Dt}offsetName(e,r){throw new Dt}formatOffset(e,r){throw new Dt}offset(e){throw new Dt}equals(e){throw new Dt}get isValid(){throw new Dt}},kl=null,fs=class t extends fr{static{s(this,"SystemZone")}static get instance(){return kl===null&&(kl=new t),kl}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(e,{format:r,locale:n}){return HE(e,r,n)}formatOffset(e,r){return ds(this.offset(e),r)}offset(e){return-new Date(e).getTimezoneOffset()}equals(e){return e.type==="system"}get isValid(){return!0}},Yl=new Map;function FD(t){let e=Yl.get(t);return e===void 0&&(e=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"}),Yl.set(t,e)),e}s(FD,"makeDTF");var BD={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function WD(t,e){let r=t.format(e).replace(/\u200E/g,""),n=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(r),[,i,o,a,u,c,l,d]=n;return[a,i,o,u,c,l,d]}s(WD,"hackyOffset");function $D(t,e){let r=t.formatToParts(e),n=[];for(let i=0;i<r.length;i++){let{type:o,value:a}=r[i],u=BD[o];o==="era"?n[u]=a:Q(u)||(n[u]=parseInt(a,10))}return n}s($D,"partsOffset");var Fl=new Map,Bt=class t extends fr{static{s(this,"IANAZone")}static create(e){let r=Fl.get(e);return r===void 0&&Fl.set(e,r=new t(e)),r}static resetCache(){Fl.clear(),Yl.clear()}static isValidSpecifier(e){return this.isValidZone(e)}static isValidZone(e){if(!e)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:e}).format(),!0}catch{return!1}}constructor(e){super(),this.zoneName=e,this.valid=t.isValidZone(e)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(e,{format:r,locale:n}){return HE(e,r,n,this.name)}formatOffset(e,r){return ds(this.offset(e),r)}offset(e){if(!this.valid)return NaN;let r=new Date(e);if(isNaN(r))return NaN;let n=FD(this.name),[i,o,a,u,c,l,d]=n.formatToParts?$D(n,r):WD(n,r);u==="BC"&&(i=-Math.abs(i)+1);let h=Ca({year:i,month:o,day:a,hour:c===24?0:c,minute:l,second:d,millisecond:0}),p=+r,S=p%1e3;return p-=S>=0?S:1e3+S,(h-p)/(60*1e3)}equals(e){return e.type==="iana"&&e.name===this.name}get isValid(){return this.valid}},Vg={};function GD(t,e={}){let r=JSON.stringify([t,e]),n=Vg[r];return n||(n=new Intl.ListFormat(t,e),Vg[r]=n),n}s(GD,"getCachedLF");var zl=new Map;function Jl(t,e={}){let r=JSON.stringify([t,e]),n=zl.get(r);return n===void 0&&(n=new Intl.DateTimeFormat(t,e),zl.set(r,n)),n}s(Jl,"getCachedDTF");var Xl=new Map;function VD(t,e={}){let r=JSON.stringify([t,e]),n=Xl.get(r);return n===void 0&&(n=new Intl.NumberFormat(t,e),Xl.set(r,n)),n}s(VD,"getCachedINF");var Zl=new Map;function qD(t,e={}){let{base:r,...n}=e,i=JSON.stringify([t,n]),o=Zl.get(i);return o===void 0&&(o=new Intl.RelativeTimeFormat(t,e),Zl.set(i,o)),o}s(qD,"getCachedRTF");var us=null;function KD(){return us||(us=new Intl.DateTimeFormat().resolvedOptions().locale,us)}s(KD,"systemLocale");var ed=new Map;function FE(t){let e=ed.get(t);return e===void 0&&(e=new Intl.DateTimeFormat(t).resolvedOptions(),ed.set(t,e)),e}s(FE,"getCachedIntResolvedOptions");var td=new Map;function QD(t){let e=td.get(t);if(!e){let r=new Intl.Locale(t);e="getWeekInfo"in r?r.getWeekInfo():r.weekInfo,"minimalDays"in e||(e={...BE,...e}),td.set(t,e)}return e}s(QD,"getCachedWeekInfo");function jD(t){let e=t.indexOf("-x-");e!==-1&&(t=t.substring(0,e));let r=t.indexOf("-u-");if(r===-1)return[t];{let n,i;try{n=Jl(t).resolvedOptions(),i=t}catch{let c=t.substring(0,r);n=Jl(c).resolvedOptions(),i=c}let{numberingSystem:o,calendar:a}=n;return[i,o,a]}}s(jD,"parseLocaleString");function HD(t,e,r){return(r||e)&&(t.includes("-u-")||(t+="-u"),r&&(t+=`-ca-${r}`),e&&(t+=`-nu-${e}`)),t}s(HD,"intlConfigString");function YD(t){let e=[];for(let r=1;r<=12;r++){let n=oe.utc(2009,r,1);e.push(t(n))}return e}s(YD,"mapMonths");function zD(t){let e=[];for(let r=1;r<=7;r++){let n=oe.utc(2016,11,13+r);e.push(t(n))}return e}s(zD,"mapWeekdays");function pa(t,e,r,n){let i=t.listingMode();return i==="error"?null:i==="en"?r(e):n(e)}s(pa,"listStuff");function JD(t){return t.numberingSystem&&t.numberingSystem!=="latn"?!1:t.numberingSystem==="latn"||!t.locale||t.locale.startsWith("en")||FE(t.locale).numberingSystem==="latn"}s(JD,"supportsFastNumbers");var rd=class{static{s(this,"PolyNumberFormatter")}constructor(e,r,n){this.padTo=n.padTo||0,this.floor=n.floor||!1;let{padTo:i,floor:o,...a}=n;if(!r||Object.keys(a).length>0){let u={useGrouping:!1,...n};n.padTo>0&&(u.minimumIntegerDigits=n.padTo),this.inf=VD(e,u)}}format(e){if(this.inf){let r=this.floor?Math.floor(e):e;return this.inf.format(r)}else{let r=this.floor?Math.floor(e):pd(e,3);return me(r,this.padTo)}}},nd=class{static{s(this,"PolyDateFormatter")}constructor(e,r,n){this.opts=n,this.originalZone=void 0;let i;if(this.opts.timeZone)this.dt=e;else if(e.zone.type==="fixed"){let a=-1*(e.offset/60),u=a>=0?`Etc/GMT+${a}`:`Etc/GMT${a}`;e.offset!==0&&Bt.create(u).valid?(i=u,this.dt=e):(i="UTC",this.dt=e.offset===0?e:e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone)}else e.zone.type==="system"?this.dt=e:e.zone.type==="iana"?(this.dt=e,i=e.zone.name):(i="UTC",this.dt=e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone);let o={...this.opts};o.timeZone=o.timeZone||i,this.dtf=Jl(r,o)}format(){return this.originalZone?this.formatToParts().map(({value:e})=>e).join(""):this.dtf.format(this.dt.toJSDate())}formatToParts(){let e=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?e.map(r=>{if(r.type==="timeZoneName"){let n=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...r,value:n}}else return r}):e}resolvedOptions(){return this.dtf.resolvedOptions()}},id=class{static{s(this,"PolyRelFormatter")}constructor(e,r,n){this.opts={style:"long",...n},!r&&QE()&&(this.rtf=qD(e,n))}format(e,r){return this.rtf?this.rtf.format(e,r):yR(r,e,this.opts.numeric,this.opts.style!=="long")}formatToParts(e,r){return this.rtf?this.rtf.formatToParts(e,r):[]}},BE={firstDay:1,minimalDays:4,weekend:[6,7]},te=class t{static{s(this,"Locale")}static fromOpts(e){return t.create(e.locale,e.numberingSystem,e.outputCalendar,e.weekSettings,e.defaultToEN)}static create(e,r,n,i,o=!1){let a=e||ne.defaultLocale,u=a||(o?"en-US":KD()),c=r||ne.defaultNumberingSystem,l=n||ne.defaultOutputCalendar,d=od(i)||ne.defaultWeekSettings;return new t(u,c,l,d,a)}static resetCache(){us=null,zl.clear(),Xl.clear(),Zl.clear(),ed.clear(),td.clear()}static fromObject({locale:e,numberingSystem:r,outputCalendar:n,weekSettings:i}={}){return t.create(e,r,n,i)}constructor(e,r,n,i,o){let[a,u,c]=jD(e);this.locale=a,this.numberingSystem=r||u||null,this.outputCalendar=n||c||null,this.weekSettings=i,this.intl=HD(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=o,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached==null&&(this.fastNumbersCached=JD(this)),this.fastNumbersCached}listingMode(){let e=this.isEnglish(),r=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return e&&r?"en":"intl"}clone(e){return!e||Object.getOwnPropertyNames(e).length===0?this:t.create(e.locale||this.specifiedLocale,e.numberingSystem||this.numberingSystem,e.outputCalendar||this.outputCalendar,od(e.weekSettings)||this.weekSettings,e.defaultToEN||!1)}redefaultToEN(e={}){return this.clone({...e,defaultToEN:!0})}redefaultToSystem(e={}){return this.clone({...e,defaultToEN:!1})}months(e,r=!1){return pa(this,e,JE,()=>{let n=this.intl==="ja"||this.intl.startsWith("ja-");r&=!n;let i=r?{month:e,day:"numeric"}:{month:e},o=r?"format":"standalone";if(!this.monthsCache[o][e]){let a=n?u=>this.dtFormatter(u,i).format():u=>this.extract(u,i,"month");this.monthsCache[o][e]=YD(a)}return this.monthsCache[o][e]})}weekdays(e,r=!1){return pa(this,e,ey,()=>{let n=r?{weekday:e,year:"numeric",month:"long",day:"numeric"}:{weekday:e},i=r?"format":"standalone";return this.weekdaysCache[i][e]||(this.weekdaysCache[i][e]=zD(o=>this.extract(o,n,"weekday"))),this.weekdaysCache[i][e]})}meridiems(){return pa(this,void 0,()=>ty,()=>{if(!this.meridiemCache){let e={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[oe.utc(2016,11,13,9),oe.utc(2016,11,13,19)].map(r=>this.extract(r,e,"dayperiod"))}return this.meridiemCache})}eras(e){return pa(this,e,ry,()=>{let r={era:e};return this.eraCache[e]||(this.eraCache[e]=[oe.utc(-40,1,1),oe.utc(2017,1,1)].map(n=>this.extract(n,r,"era"))),this.eraCache[e]})}extract(e,r,n){let i=this.dtFormatter(e,r),o=i.formatToParts(),a=o.find(u=>u.type.toLowerCase()===n);return a?a.value:null}numberFormatter(e={}){return new rd(this.intl,e.forceSimple||this.fastNumbers,e)}dtFormatter(e,r={}){return new nd(e,this.intl,r)}relFormatter(e={}){return new id(this.intl,this.isEnglish(),e)}listFormatter(e={}){return GD(this.intl,e)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||FE(this.intl).locale.startsWith("en-us")}getWeekSettings(){return this.weekSettings?this.weekSettings:jE()?QD(this.locale):BE}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(e){return this.locale===e.locale&&this.numberingSystem===e.numberingSystem&&this.outputCalendar===e.outputCalendar}toString(){return`Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`}},Bl=null,Ke=class t extends fr{static{s(this,"FixedOffsetZone")}static get utcInstance(){return Bl===null&&(Bl=new t(0)),Bl}static instance(e){return e===0?t.utcInstance:new t(e)}static parseSpecifier(e){if(e){let r=e.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(r)return new t(ba(r[1],r[2]))}return null}constructor(e){super(),this.fixed=e}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${ds(this.fixed,"narrow")}`}get ianaName(){return this.fixed===0?"Etc/UTC":`Etc/GMT${ds(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(e,r){return ds(this.fixed,r)}get isUniversal(){return!0}offset(){return this.fixed}equals(e){return e.type==="fixed"&&e.fixed===this.fixed}get isValid(){return!0}},_a=class extends fr{static{s(this,"InvalidZone")}constructor(e){super(),this.zoneName=e}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}};function cr(t,e){if(Q(t)||t===null)return e;if(t instanceof fr)return t;if(nR(t)){let r=t.toLowerCase();return r==="default"?e:r==="local"||r==="system"?fs.instance:r==="utc"||r==="gmt"?Ke.utcInstance:Ke.parseSpecifier(r)||Bt.create(t)}else return dr(t)?Ke.instance(t):typeof t=="object"&&"offset"in t&&typeof t.offset=="function"?t:new _a(t)}s(cr,"normalizeZone");var cd={arab:"[\u0660-\u0669]",arabext:"[\u06F0-\u06F9]",bali:"[\u1B50-\u1B59]",beng:"[\u09E6-\u09EF]",deva:"[\u0966-\u096F]",fullwide:"[\uFF10-\uFF19]",gujr:"[\u0AE6-\u0AEF]",hanidec:"[\u3007|\u4E00|\u4E8C|\u4E09|\u56DB|\u4E94|\u516D|\u4E03|\u516B|\u4E5D]",khmr:"[\u17E0-\u17E9]",knda:"[\u0CE6-\u0CEF]",laoo:"[\u0ED0-\u0ED9]",limb:"[\u1946-\u194F]",mlym:"[\u0D66-\u0D6F]",mong:"[\u1810-\u1819]",mymr:"[\u1040-\u1049]",orya:"[\u0B66-\u0B6F]",tamldec:"[\u0BE6-\u0BEF]",telu:"[\u0C66-\u0C6F]",thai:"[\u0E50-\u0E59]",tibt:"[\u0F20-\u0F29]",latn:"\\d"},qg={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},XD=cd.hanidec.replace(/[\[|\]]/g,"").split("");function ZD(t){let e=parseInt(t,10);if(isNaN(e)){e="";for(let r=0;r<t.length;r++){let n=t.charCodeAt(r);if(t[r].search(cd.hanidec)!==-1)e+=XD.indexOf(t[r]);else for(let i in qg){let[o,a]=qg[i];n>=o&&n<=a&&(e+=n-o)}}return parseInt(e,10)}else return e}s(ZD,"parseDigits");var sd=new Map;function eR(){sd.clear()}s(eR,"resetDigitRegexCache");function lt({numberingSystem:t},e=""){let r=t||"latn",n=sd.get(r);n===void 0&&(n=new Map,sd.set(r,n));let i=n.get(e);return i===void 0&&(i=new RegExp(`${cd[r]}${e}`),n.set(e,i)),i}s(lt,"digitRegex");var Kg=s(()=>Date.now(),"now"),Qg="system",jg=null,Hg=null,Yg=null,zg=60,Jg,Xg=null,ne=class{static{s(this,"Settings")}static get now(){return Kg}static set now(e){Kg=e}static set defaultZone(e){Qg=e}static get defaultZone(){return cr(Qg,fs.instance)}static get defaultLocale(){return jg}static set defaultLocale(e){jg=e}static get defaultNumberingSystem(){return Hg}static set defaultNumberingSystem(e){Hg=e}static get defaultOutputCalendar(){return Yg}static set defaultOutputCalendar(e){Yg=e}static get defaultWeekSettings(){return Xg}static set defaultWeekSettings(e){Xg=od(e)}static get twoDigitCutoffYear(){return zg}static set twoDigitCutoffYear(e){zg=e%100}static get throwOnInvalid(){return Jg}static set throwOnInvalid(e){Jg=e}static resetCaches(){te.resetCache(),Bt.resetCache(),oe.resetCache(),eR()}},Ve=class{static{s(this,"Invalid")}constructor(e,r){this.reason=e,this.explanation=r}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}},WE=[0,31,59,90,120,151,181,212,243,273,304,334],$E=[0,31,60,91,121,152,182,213,244,274,305,335];function Xe(t,e){return new Ve("unit out of range",`you specified ${e} (of type ${typeof e}) as a ${t}, which is invalid`)}s(Xe,"unitOutOfRange");function ld(t,e,r){let n=new Date(Date.UTC(t,e-1,r));t<100&&t>=0&&n.setUTCFullYear(n.getUTCFullYear()-1900);let i=n.getUTCDay();return i===0?7:i}s(ld,"dayOfWeek");function GE(t,e,r){return r+(ms(t)?$E:WE)[e-1]}s(GE,"computeOrdinal");function VE(t,e){let r=ms(t)?$E:WE,n=r.findIndex(o=>o<e),i=e-r[n];return{month:n+1,day:i}}s(VE,"uncomputeOrdinal");function dd(t,e){return(t-e+7)%7+1}s(dd,"isoWeekdayToLocal");function Oa(t,e=4,r=1){let{year:n,month:i,day:o}=t,a=GE(n,i,o),u=dd(ld(n,i,o),r),c=Math.floor((a-u+14-e)/7),l;return c<1?(l=n-1,c=ps(l,e,r)):c>ps(n,e,r)?(l=n+1,c=1):l=n,{weekYear:l,weekNumber:c,weekday:u,...xa(t)}}s(Oa,"gregorianToWeek");function Zg(t,e=4,r=1){let{weekYear:n,weekNumber:i,weekday:o}=t,a=dd(ld(n,1,e),r),u=Bn(n),c=i*7+o-a-7+e,l;c<1?(l=n-1,c+=Bn(l)):c>u?(l=n+1,c-=Bn(n)):l=n;let{month:d,day:f}=VE(l,c);return{year:l,month:d,day:f,...xa(t)}}s(Zg,"weekToGregorian");function Wl(t){let{year:e,month:r,day:n}=t,i=GE(e,r,n);return{year:e,ordinal:i,...xa(t)}}s(Wl,"gregorianToOrdinal");function eE(t){let{year:e,ordinal:r}=t,{month:n,day:i}=VE(e,r);return{year:e,month:n,day:i,...xa(t)}}s(eE,"ordinalToGregorian");function tE(t,e){if(!Q(t.localWeekday)||!Q(t.localWeekNumber)||!Q(t.localWeekYear)){if(!Q(t.weekday)||!Q(t.weekNumber)||!Q(t.weekYear))throw new lr("Cannot mix locale-based week fields with ISO-based week fields");return Q(t.localWeekday)||(t.weekday=t.localWeekday),Q(t.localWeekNumber)||(t.weekNumber=t.localWeekNumber),Q(t.localWeekYear)||(t.weekYear=t.localWeekYear),delete t.localWeekday,delete t.localWeekNumber,delete t.localWeekYear,{minDaysInFirstWeek:e.getMinDaysInFirstWeek(),startOfWeek:e.getStartOfWeek()}}else return{minDaysInFirstWeek:4,startOfWeek:1}}s(tE,"usesLocalWeekValues");function tR(t,e=4,r=1){let n=Ra(t.weekYear),i=Ze(t.weekNumber,1,ps(t.weekYear,e,r)),o=Ze(t.weekday,1,7);return n?i?o?!1:Xe("weekday",t.weekday):Xe("week",t.weekNumber):Xe("weekYear",t.weekYear)}s(tR,"hasInvalidWeekData");function rR(t){let e=Ra(t.year),r=Ze(t.ordinal,1,Bn(t.year));return e?r?!1:Xe("ordinal",t.ordinal):Xe("year",t.year)}s(rR,"hasInvalidOrdinalData");function qE(t){let e=Ra(t.year),r=Ze(t.month,1,12),n=Ze(t.day,1,Ia(t.year,t.month));return e?r?n?!1:Xe("day",t.day):Xe("month",t.month):Xe("year",t.year)}s(qE,"hasInvalidGregorianData");function KE(t){let{hour:e,minute:r,second:n,millisecond:i}=t,o=Ze(e,0,23)||e===24&&r===0&&n===0&&i===0,a=Ze(r,0,59),u=Ze(n,0,59),c=Ze(i,0,999);return o?a?u?c?!1:Xe("millisecond",i):Xe("second",n):Xe("minute",r):Xe("hour",e)}s(KE,"hasInvalidTimeData");function Q(t){return typeof t>"u"}s(Q,"isUndefined");function dr(t){return typeof t=="number"}s(dr,"isNumber");function Ra(t){return typeof t=="number"&&t%1===0}s(Ra,"isInteger");function nR(t){return typeof t=="string"}s(nR,"isString");function iR(t){return Object.prototype.toString.call(t)==="[object Date]"}s(iR,"isDate");function QE(){try{return typeof Intl<"u"&&!!Intl.RelativeTimeFormat}catch{return!1}}s(QE,"hasRelative");function jE(){try{return typeof Intl<"u"&&!!Intl.Locale&&("weekInfo"in Intl.Locale.prototype||"getWeekInfo"in Intl.Locale.prototype)}catch{return!1}}s(jE,"hasLocaleWeekInfo");function sR(t){return Array.isArray(t)?t:[t]}s(sR,"maybeArray");function rE(t,e,r){if(t.length!==0)return t.reduce((n,i)=>{let o=[e(i),i];return n&&r(n[0],o[0])===n[0]?n:o},null)[1]}s(rE,"bestBy");function oR(t,e){return e.reduce((r,n)=>(r[n]=t[n],r),{})}s(oR,"pick");function $n(t,e){return Object.prototype.hasOwnProperty.call(t,e)}s($n,"hasOwnProperty");function od(t){if(t==null)return null;if(typeof t!="object")throw new _e("Week settings must be an object");if(!Ze(t.firstDay,1,7)||!Ze(t.minimalDays,1,7)||!Array.isArray(t.weekend)||t.weekend.some(e=>!Ze(e,1,7)))throw new _e("Invalid week settings");return{firstDay:t.firstDay,minimalDays:t.minimalDays,weekend:Array.from(t.weekend)}}s(od,"validateWeekSettings");function Ze(t,e,r){return Ra(t)&&t>=e&&t<=r}s(Ze,"integerBetween");function aR(t,e){return t-e*Math.floor(t/e)}s(aR,"floorMod");function me(t,e=2){let r=t<0,n;return r?n="-"+(""+-t).padStart(e,"0"):n=(""+t).padStart(e,"0"),n}s(me,"padStart");function ur(t){if(!(Q(t)||t===null||t===""))return parseInt(t,10)}s(ur,"parseInteger");function Qr(t){if(!(Q(t)||t===null||t===""))return parseFloat(t)}s(Qr,"parseFloating");function fd(t){if(!(Q(t)||t===null||t==="")){let e=parseFloat("0."+t)*1e3;return Math.floor(e)}}s(fd,"parseMillis");function pd(t,e,r="round"){let n=10**e;switch(r){case"expand":return t>0?Math.ceil(t*n)/n:Math.floor(t*n)/n;case"trunc":return Math.trunc(t*n)/n;case"round":return Math.round(t*n)/n;case"floor":return Math.floor(t*n)/n;case"ceil":return Math.ceil(t*n)/n;default:throw new RangeError(`Value rounding ${r} is out of range`)}}s(pd,"roundTo");function ms(t){return t%4===0&&(t%100!==0||t%400===0)}s(ms,"isLeapYear");function Bn(t){return ms(t)?366:365}s(Bn,"daysInYear");function Ia(t,e){let r=aR(e-1,12)+1,n=t+(e-r)/12;return r===2?ms(n)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][r-1]}s(Ia,"daysInMonth");function Ca(t){let e=Date.UTC(t.year,t.month-1,t.day,t.hour,t.minute,t.second,t.millisecond);return t.year<100&&t.year>=0&&(e=new Date(e),e.setUTCFullYear(t.year,t.month-1,t.day)),+e}s(Ca,"objToLocalTS");function nE(t,e,r){return-dd(ld(t,1,e),r)+e-1}s(nE,"firstWeekOffset");function ps(t,e=4,r=1){let n=nE(t,e,r),i=nE(t+1,e,r);return(Bn(t)-n+i)/7}s(ps,"weeksInWeekYear");function ad(t){return t>99?t:t>ne.twoDigitCutoffYear?1900+t:2e3+t}s(ad,"untruncateYear");function HE(t,e,r,n=null){let i=new Date(t),o={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};n&&(o.timeZone=n);let a={timeZoneName:e,...o},u=new Intl.DateTimeFormat(r,a).formatToParts(i).find(c=>c.type.toLowerCase()==="timezonename");return u?u.value:null}s(HE,"parseZoneInfo");function ba(t,e){let r=parseInt(t,10);Number.isNaN(r)&&(r=0);let n=parseInt(e,10)||0,i=r<0||Object.is(r,-0)?-n:n;return r*60+i}s(ba,"signedOffset");function YE(t){let e=Number(t);if(typeof t=="boolean"||t===""||!Number.isFinite(e))throw new _e(`Invalid unit value ${t}`);return e}s(YE,"asNumber");function wa(t,e){let r={};for(let n in t)if($n(t,n)){let i=t[n];if(i==null)continue;r[e(n)]=YE(i)}return r}s(wa,"normalizeObject");function ds(t,e){let r=Math.trunc(Math.abs(t/60)),n=Math.trunc(Math.abs(t%60)),i=t>=0?"+":"-";switch(e){case"short":return`${i}${me(r,2)}:${me(n,2)}`;case"narrow":return`${i}${r}${n>0?`:${n}`:""}`;case"techie":return`${i}${me(r,2)}${me(n,2)}`;default:throw new RangeError(`Value format ${e} is out of range for property format`)}}s(ds,"formatOffset");function xa(t){return oR(t,["hour","minute","second","millisecond"])}s(xa,"timeObject");var uR=["January","February","March","April","May","June","July","August","September","October","November","December"],zE=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],cR=["J","F","M","A","M","J","J","A","S","O","N","D"];function JE(t){switch(t){case"narrow":return[...cR];case"short":return[...zE];case"long":return[...uR];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}s(JE,"months");var XE=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],ZE=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],lR=["M","T","W","T","F","S","S"];function ey(t){switch(t){case"narrow":return[...lR];case"short":return[...ZE];case"long":return[...XE];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}s(ey,"weekdays");var ty=["AM","PM"],dR=["Before Christ","Anno Domini"],fR=["BC","AD"],pR=["B","A"];function ry(t){switch(t){case"narrow":return[...pR];case"short":return[...fR];case"long":return[...dR];default:return null}}s(ry,"eras");function mR(t){return ty[t.hour<12?0:1]}s(mR,"meridiemForDateTime");function hR(t,e){return ey(e)[t.weekday-1]}s(hR,"weekdayForDateTime");function gR(t,e){return JE(e)[t.month-1]}s(gR,"monthForDateTime");function ER(t,e){return ry(e)[t.year<0?0:1]}s(ER,"eraForDateTime");function yR(t,e,r="always",n=!1){let i={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},o=["hours","minutes","seconds"].indexOf(t)===-1;if(r==="auto"&&o){let f=t==="days";switch(e){case 1:return f?"tomorrow":`next ${i[t][0]}`;case-1:return f?"yesterday":`last ${i[t][0]}`;case 0:return f?"today":`this ${i[t][0]}`}}let a=Object.is(e,-0)||e<0,u=Math.abs(e),c=u===1,l=i[t],d=n?c?l[1]:l[2]||l[1]:c?i[t][0]:t;return a?`${u} ${d} ago`:`in ${u} ${d}`}s(yR,"formatRelativeTime");function iE(t,e){let r="";for(let n of t)n.literal?r+=n.val:r+=e(n.val);return r}s(iE,"stringifyTokens");var TR={D:Aa,DD:TE,DDD:SE,DDDD:AE,t:_E,tt:OE,ttt:IE,tttt:wE,T:DE,TT:RE,TTT:CE,TTTT:bE,f:xE,ff:PE,fff:UE,ffff:ME,F:vE,FF:NE,FFF:LE,FFFF:kE},Ge=class t{static{s(this,"Formatter")}static create(e,r={}){return new t(e,r)}static parseFormat(e){let r=null,n="",i=!1,o=[];for(let a=0;a<e.length;a++){let u=e.charAt(a);u==="'"?((n.length>0||i)&&o.push({literal:i||/^\s+$/.test(n),val:n===""?"'":n}),r=null,n="",i=!i):i||u===r?n+=u:(n.length>0&&o.push({literal:/^\s+$/.test(n),val:n}),n=u,r=u)}return n.length>0&&o.push({literal:i||/^\s+$/.test(n),val:n}),o}static macroTokenToFormatOpts(e){return TR[e]}constructor(e,r){this.opts=r,this.loc=e,this.systemLoc=null}formatWithSystemDefault(e,r){return this.systemLoc===null&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(e,{...this.opts,...r}).format()}dtFormatter(e,r={}){return this.loc.dtFormatter(e,{...this.opts,...r})}formatDateTime(e,r){return this.dtFormatter(e,r).format()}formatDateTimeParts(e,r){return this.dtFormatter(e,r).formatToParts()}formatInterval(e,r){return this.dtFormatter(e.start,r).dtf.formatRange(e.start.toJSDate(),e.end.toJSDate())}resolvedOptions(e,r){return this.dtFormatter(e,r).resolvedOptions()}num(e,r=0,n=void 0){if(this.opts.forceSimple)return me(e,r);let i={...this.opts};return r>0&&(i.padTo=r),n&&(i.signDisplay=n),this.loc.numberFormatter(i).format(e)}formatDateTimeFromString(e,r){let n=this.loc.listingMode()==="en",i=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",o=s((p,S)=>this.loc.extract(e,p,S),"string"),a=s(p=>e.isOffsetFixed&&e.offset===0&&p.allowZ?"Z":e.isValid?e.zone.formatOffset(e.ts,p.format):"","formatOffset"),u=s(()=>n?mR(e):o({hour:"numeric",hourCycle:"h12"},"dayperiod"),"meridiem"),c=s((p,S)=>n?gR(e,p):o(S?{month:p}:{month:p,day:"numeric"},"month"),"month"),l=s((p,S)=>n?hR(e,p):o(S?{weekday:p}:{weekday:p,month:"long",day:"numeric"},"weekday"),"weekday"),d=s(p=>{let S=t.macroTokenToFormatOpts(p);return S?this.formatWithSystemDefault(e,S):p},"maybeMacro"),f=s(p=>n?ER(e,p):o({era:p},"era"),"era"),h=s(p=>{switch(p){case"S":return this.num(e.millisecond);case"u":case"SSS":return this.num(e.millisecond,3);case"s":return this.num(e.second);case"ss":return this.num(e.second,2);case"uu":return this.num(Math.floor(e.millisecond/10),2);case"uuu":return this.num(Math.floor(e.millisecond/100));case"m":return this.num(e.minute);case"mm":return this.num(e.minute,2);case"h":return this.num(e.hour%12===0?12:e.hour%12);case"hh":return this.num(e.hour%12===0?12:e.hour%12,2);case"H":return this.num(e.hour);case"HH":return this.num(e.hour,2);case"Z":return a({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return a({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return a({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return e.zone.offsetName(e.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return e.zone.offsetName(e.ts,{format:"long",locale:this.loc.locale});case"z":return e.zoneName;case"a":return u();case"d":return i?o({day:"numeric"},"day"):this.num(e.day);case"dd":return i?o({day:"2-digit"},"day"):this.num(e.day,2);case"c":return this.num(e.weekday);case"ccc":return l("short",!0);case"cccc":return l("long",!0);case"ccccc":return l("narrow",!0);case"E":return this.num(e.weekday);case"EEE":return l("short",!1);case"EEEE":return l("long",!1);case"EEEEE":return l("narrow",!1);case"L":return i?o({month:"numeric",day:"numeric"},"month"):this.num(e.month);case"LL":return i?o({month:"2-digit",day:"numeric"},"month"):this.num(e.month,2);case"LLL":return c("short",!0);case"LLLL":return c("long",!0);case"LLLLL":return c("narrow",!0);case"M":return i?o({month:"numeric"},"month"):this.num(e.month);case"MM":return i?o({month:"2-digit"},"month"):this.num(e.month,2);case"MMM":return c("short",!1);case"MMMM":return c("long",!1);case"MMMMM":return c("narrow",!1);case"y":return i?o({year:"numeric"},"year"):this.num(e.year);case"yy":return i?o({year:"2-digit"},"year"):this.num(e.year.toString().slice(-2),2);case"yyyy":return i?o({year:"numeric"},"year"):this.num(e.year,4);case"yyyyyy":return i?o({year:"numeric"},"year"):this.num(e.year,6);case"G":return f("short");case"GG":return f("long");case"GGGGG":return f("narrow");case"kk":return this.num(e.weekYear.toString().slice(-2),2);case"kkkk":return this.num(e.weekYear,4);case"W":return this.num(e.weekNumber);case"WW":return this.num(e.weekNumber,2);case"n":return this.num(e.localWeekNumber);case"nn":return this.num(e.localWeekNumber,2);case"ii":return this.num(e.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(e.localWeekYear,4);case"o":return this.num(e.ordinal);case"ooo":return this.num(e.ordinal,3);case"q":return this.num(e.quarter);case"qq":return this.num(e.quarter,2);case"X":return this.num(Math.floor(e.ts/1e3));case"x":return this.num(e.ts);default:return d(p)}},"tokenToString");return iE(t.parseFormat(r),h)}formatDurationFromString(e,r){let n=this.opts.signMode==="negativeLargestOnly"?-1:1,i=s(d=>{switch(d[0]){case"S":return"milliseconds";case"s":return"seconds";case"m":return"minutes";case"h":return"hours";case"d":return"days";case"w":return"weeks";case"M":return"months";case"y":return"years";default:return null}},"tokenToField"),o=s((d,f)=>h=>{let p=i(h);if(p){let S=f.isNegativeDuration&&p!==f.largestUnit?n:1,m;return this.opts.signMode==="negativeLargestOnly"&&p!==f.largestUnit?m="never":this.opts.signMode==="all"?m="always":m="auto",this.num(d.get(p)*S,h.length,m)}else return h},"tokenToString"),a=t.parseFormat(r),u=a.reduce((d,{literal:f,val:h})=>f?d:d.concat(h),[]),c=e.shiftTo(...u.map(i).filter(d=>d)),l={isNegativeDuration:c<0,largestUnit:Object.keys(c.values)[0]};return iE(a,o(c,l))}},ny=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function Gn(...t){let e=t.reduce((r,n)=>r+n.source,"");return RegExp(`^${e}$`)}s(Gn,"combineRegexes");function Vn(...t){return e=>t.reduce(([r,n,i],o)=>{let[a,u,c]=o(e,i);return[{...r,...a},u||n,c]},[{},null,1]).slice(0,2)}s(Vn,"combineExtractors");function qn(t,...e){if(t==null)return[null,null];for(let[r,n]of e){let i=r.exec(t);if(i)return n(i)}return[null,null]}s(qn,"parse");function iy(...t){return(e,r)=>{let n={},i;for(i=0;i<t.length;i++)n[t[i]]=ur(e[r+i]);return[n,null,r+i]}}s(iy,"simpleParse");var sy=/(?:([Zz])|([+-]\d\d)(?::?(\d\d))?)/,SR=`(?:${sy.source}?(?:\\[(${ny.source})\\])?)?`,md=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,oy=RegExp(`${md.source}${SR}`),hd=RegExp(`(?:[Tt]${oy.source})?`),AR=/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,_R=/(\d{4})-?W(\d\d)(?:-?(\d))?/,OR=/(\d{4})-?(\d{3})/,IR=iy("weekYear","weekNumber","weekDay"),wR=iy("year","ordinal"),DR=/(\d{4})-(\d\d)-(\d\d)/,ay=RegExp(`${md.source} ?(?:${sy.source}|(${ny.source}))?`),RR=RegExp(`(?: ${ay.source})?`);function Wn(t,e,r){let n=t[e];return Q(n)?r:ur(n)}s(Wn,"int");function CR(t,e){return[{year:Wn(t,e),month:Wn(t,e+1,1),day:Wn(t,e+2,1)},null,e+3]}s(CR,"extractISOYmd");function Kn(t,e){return[{hours:Wn(t,e,0),minutes:Wn(t,e+1,0),seconds:Wn(t,e+2,0),milliseconds:fd(t[e+3])},null,e+4]}s(Kn,"extractISOTime");function hs(t,e){let r=!t[e]&&!t[e+1],n=ba(t[e+1],t[e+2]),i=r?null:Ke.instance(n);return[{},i,e+3]}s(hs,"extractISOOffset");function gs(t,e){let r=t[e]?Bt.create(t[e]):null;return[{},r,e+1]}s(gs,"extractIANAZone");var bR=RegExp(`^T?${md.source}$`),xR=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;function vR(t){let[e,r,n,i,o,a,u,c,l]=t,d=e[0]==="-",f=c&&c[0]==="-",h=s((p,S=!1)=>p!==void 0&&(S||p&&d)?-p:p,"maybeNegate");return[{years:h(Qr(r)),months:h(Qr(n)),weeks:h(Qr(i)),days:h(Qr(o)),hours:h(Qr(a)),minutes:h(Qr(u)),seconds:h(Qr(c),c==="-0"),milliseconds:h(fd(l),f)}]}s(vR,"extractISODuration");var PR={GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function gd(t,e,r,n,i,o,a){let u={year:e.length===2?ad(ur(e)):ur(e),month:zE.indexOf(r)+1,day:ur(n),hour:ur(i),minute:ur(o)};return a&&(u.second=ur(a)),t&&(u.weekday=t.length>3?XE.indexOf(t)+1:ZE.indexOf(t)+1),u}s(gd,"fromStrings");var NR=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function UR(t){let[,e,r,n,i,o,a,u,c,l,d,f]=t,h=gd(e,i,n,r,o,a,u),p;return c?p=PR[c]:l?p=0:p=ba(d,f),[h,new Ke(p)]}s(UR,"extractRFC2822");function LR(t){return t.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}s(LR,"preprocessRFC2822");var MR=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,kR=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,FR=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function sE(t){let[,e,r,n,i,o,a,u]=t;return[gd(e,i,n,r,o,a,u),Ke.utcInstance]}s(sE,"extractRFC1123Or850");function BR(t){let[,e,r,n,i,o,a,u]=t;return[gd(e,u,r,n,i,o,a),Ke.utcInstance]}s(BR,"extractASCII");var WR=Gn(AR,hd),$R=Gn(_R,hd),GR=Gn(OR,hd),VR=Gn(oy),uy=Vn(CR,Kn,hs,gs),qR=Vn(IR,Kn,hs,gs),KR=Vn(wR,Kn,hs,gs),QR=Vn(Kn,hs,gs);function jR(t){return qn(t,[WR,uy],[$R,qR],[GR,KR],[VR,QR])}s(jR,"parseISODate");function HR(t){return qn(LR(t),[NR,UR])}s(HR,"parseRFC2822Date");function YR(t){return qn(t,[MR,sE],[kR,sE],[FR,BR])}s(YR,"parseHTTPDate");function zR(t){return qn(t,[xR,vR])}s(zR,"parseISODuration");var JR=Vn(Kn);function XR(t){return qn(t,[bR,JR])}s(XR,"parseISOTimeOnly");var ZR=Gn(DR,RR),eC=Gn(ay),tC=Vn(Kn,hs,gs);function rC(t){return qn(t,[ZR,uy],[eC,tC])}s(rC,"parseSQL");var oE="Invalid Duration",cy={weeks:{days:7,hours:7*24,minutes:7*24*60,seconds:7*24*60*60,milliseconds:7*24*60*60*1e3},days:{hours:24,minutes:24*60,seconds:24*60*60,milliseconds:24*60*60*1e3},hours:{minutes:60,seconds:60*60,milliseconds:60*60*1e3},minutes:{seconds:60,milliseconds:60*1e3},seconds:{milliseconds:1e3}},nC={years:{quarters:4,months:12,weeks:52,days:365,hours:365*24,minutes:365*24*60,seconds:365*24*60*60,milliseconds:365*24*60*60*1e3},quarters:{months:3,weeks:13,days:91,hours:91*24,minutes:91*24*60,seconds:91*24*60*60,milliseconds:91*24*60*60*1e3},months:{weeks:4,days:30,hours:30*24,minutes:30*24*60,seconds:30*24*60*60,milliseconds:30*24*60*60*1e3},...cy},Je=146097/400,Mn=146097/4800,iC={years:{quarters:4,months:12,weeks:Je/7,days:Je,hours:Je*24,minutes:Je*24*60,seconds:Je*24*60*60,milliseconds:Je*24*60*60*1e3},quarters:{months:3,weeks:Je/28,days:Je/4,hours:Je*24/4,minutes:Je*24*60/4,seconds:Je*24*60*60/4,milliseconds:Je*24*60*60*1e3/4},months:{weeks:Mn/7,days:Mn,hours:Mn*24,minutes:Mn*24*60,seconds:Mn*24*60*60,milliseconds:Mn*24*60*60*1e3},...cy},Hr=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],sC=Hr.slice(0).reverse();function kt(t,e,r=!1){let n={values:r?e.values:{...t.values,...e.values||{}},loc:t.loc.clone(e.loc),conversionAccuracy:e.conversionAccuracy||t.conversionAccuracy,matrix:e.matrix||t.matrix};return new Ee(n)}s(kt,"clone$1");function ly(t,e){var r;let n=(r=e.milliseconds)!=null?r:0;for(let i of sC.slice(1))e[i]&&(n+=e[i]*t[i].milliseconds);return n}s(ly,"durationToMillis");function aE(t,e){let r=ly(t,e)<0?-1:1;Hr.reduceRight((n,i)=>{if(Q(e[i]))return n;if(n){let o=e[n]*r,a=t[i][n],u=Math.floor(o/a);e[i]+=u*r,e[n]-=u*a*r}return i},null),Hr.reduce((n,i)=>{if(Q(e[i]))return n;if(n){let o=e[n]%1;e[n]-=o,e[i]+=o*t[n][i]}return i},null)}s(aE,"normalizeValues");function uE(t){let e={};for(let[r,n]of Object.entries(t))n!==0&&(e[r]=n);return e}s(uE,"removeZeroes");var Ee=class t{static{s(this,"Duration")}constructor(e){let r=e.conversionAccuracy==="longterm"||!1,n=r?iC:nC;e.matrix&&(n=e.matrix),this.values=e.values,this.loc=e.loc||te.create(),this.conversionAccuracy=r?"longterm":"casual",this.invalid=e.invalid||null,this.matrix=n,this.isLuxonDuration=!0}static fromMillis(e,r){return t.fromObject({milliseconds:e},r)}static fromObject(e,r={}){if(e==null||typeof e!="object")throw new _e(`Duration.fromObject: argument expected to be an object, got ${e===null?"null":typeof e}`);return new t({values:wa(e,t.normalizeUnit),loc:te.fromObject(r),conversionAccuracy:r.conversionAccuracy,matrix:r.matrix})}static fromDurationLike(e){if(dr(e))return t.fromMillis(e);if(t.isDuration(e))return e;if(typeof e=="object")return t.fromObject(e);throw new _e(`Unknown duration argument ${e} of type ${typeof e}`)}static fromISO(e,r){let[n]=zR(e);return n?t.fromObject(n,r):t.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static fromISOTime(e,r){let[n]=XR(e);return n?t.fromObject(n,r):t.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static invalid(e,r=null){if(!e)throw new _e("need to specify a reason the Duration is invalid");let n=e instanceof Ve?e:new Ve(e,r);if(ne.throwOnInvalid)throw new Hl(n);return new t({invalid:n})}static normalizeUnit(e){let r={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[e&&e.toLowerCase()];if(!r)throw new Sa(e);return r}static isDuration(e){return e&&e.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(e,r={}){let n={...r,floor:r.round!==!1&&r.floor!==!1};return this.isValid?Ge.create(this.loc,n).formatDurationFromString(this,e):oE}toHuman(e={}){if(!this.isValid)return oE;let r=e.showZeros!==!1,n=Hr.map(i=>{let o=this.values[i];return Q(o)||o===0&&!r?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...e,unit:i.slice(0,-1)}).format(o)}).filter(i=>i);return this.loc.listFormatter({type:"conjunction",style:e.listStyle||"narrow",...e}).format(n)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let e="P";return this.years!==0&&(e+=this.years+"Y"),(this.months!==0||this.quarters!==0)&&(e+=this.months+this.quarters*3+"M"),this.weeks!==0&&(e+=this.weeks+"W"),this.days!==0&&(e+=this.days+"D"),(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)&&(e+="T"),this.hours!==0&&(e+=this.hours+"H"),this.minutes!==0&&(e+=this.minutes+"M"),(this.seconds!==0||this.milliseconds!==0)&&(e+=pd(this.seconds+this.milliseconds/1e3,3)+"S"),e==="P"&&(e+="T0S"),e}toISOTime(e={}){if(!this.isValid)return null;let r=this.toMillis();return r<0||r>=864e5?null:(e={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...e,includeOffset:!1},oe.fromMillis(r,{zone:"UTC"}).toISOTime(e))}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Duration { values: ${JSON.stringify(this.values)} }`:`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){return this.isValid?ly(this.matrix,this.values):NaN}valueOf(){return this.toMillis()}plus(e){if(!this.isValid)return this;let r=t.fromDurationLike(e),n={};for(let i of Hr)($n(r.values,i)||$n(this.values,i))&&(n[i]=r.get(i)+this.get(i));return kt(this,{values:n},!0)}minus(e){if(!this.isValid)return this;let r=t.fromDurationLike(e);return this.plus(r.negate())}mapUnits(e){if(!this.isValid)return this;let r={};for(let n of Object.keys(this.values))r[n]=YE(e(this.values[n],n));return kt(this,{values:r},!0)}get(e){return this[t.normalizeUnit(e)]}set(e){if(!this.isValid)return this;let r={...this.values,...wa(e,t.normalizeUnit)};return kt(this,{values:r})}reconfigure({locale:e,numberingSystem:r,conversionAccuracy:n,matrix:i}={}){let a={loc:this.loc.clone({locale:e,numberingSystem:r}),matrix:i,conversionAccuracy:n};return kt(this,a)}as(e){return this.isValid?this.shiftTo(e).get(e):NaN}normalize(){if(!this.isValid)return this;let e=this.toObject();return aE(this.matrix,e),kt(this,{values:e},!0)}rescale(){if(!this.isValid)return this;let e=uE(this.normalize().shiftToAll().toObject());return kt(this,{values:e},!0)}shiftTo(...e){if(!this.isValid)return this;if(e.length===0)return this;e=e.map(a=>t.normalizeUnit(a));let r={},n={},i=this.toObject(),o;for(let a of Hr)if(e.indexOf(a)>=0){o=a;let u=0;for(let l in n)u+=this.matrix[l][a]*n[l],n[l]=0;dr(i[a])&&(u+=i[a]);let c=Math.trunc(u);r[a]=c,n[a]=(u*1e3-c*1e3)/1e3}else dr(i[a])&&(n[a]=i[a]);for(let a in n)n[a]!==0&&(r[o]+=a===o?n[a]:n[a]/this.matrix[o][a]);return aE(this.matrix,r),kt(this,{values:r},!0)}shiftToAll(){return this.isValid?this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds"):this}negate(){if(!this.isValid)return this;let e={};for(let r of Object.keys(this.values))e[r]=this.values[r]===0?0:-this.values[r];return kt(this,{values:e},!0)}removeZeros(){if(!this.isValid)return this;let e=uE(this.values);return kt(this,{values:e},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(e){if(!this.isValid||!e.isValid||!this.loc.equals(e.loc))return!1;function r(n,i){return n===void 0||n===0?i===void 0||i===0:n===i}s(r,"eq");for(let n of Hr)if(!r(this.values[n],e.values[n]))return!1;return!0}},kn="Invalid Interval";function oC(t,e){return!t||!t.isValid?zr.invalid("missing or invalid start"):!e||!e.isValid?zr.invalid("missing or invalid end"):e<t?zr.invalid("end before start",`The end of an interval must be after its start, but you had start=${t.toISO()} and end=${e.toISO()}`):null}s(oC,"validateStartEnd");var zr=class t{static{s(this,"Interval")}constructor(e){this.s=e.start,this.e=e.end,this.invalid=e.invalid||null,this.isLuxonInterval=!0}static invalid(e,r=null){if(!e)throw new _e("need to specify a reason the Interval is invalid");let n=e instanceof Ve?e:new Ve(e,r);if(ne.throwOnInvalid)throw new jl(n);return new t({invalid:n})}static fromDateTimes(e,r){let n=as(e),i=as(r),o=oC(n,i);return o??new t({start:n,end:i})}static after(e,r){let n=Ee.fromDurationLike(r),i=as(e);return t.fromDateTimes(i,i.plus(n))}static before(e,r){let n=Ee.fromDurationLike(r),i=as(e);return t.fromDateTimes(i.minus(n),i)}static fromISO(e,r){let[n,i]=(e||"").split("/",2);if(n&&i){let o,a;try{o=oe.fromISO(n,r),a=o.isValid}catch{a=!1}let u,c;try{u=oe.fromISO(i,r),c=u.isValid}catch{c=!1}if(a&&c)return t.fromDateTimes(o,u);if(a){let l=Ee.fromISO(i,r);if(l.isValid)return t.after(o,l)}else if(c){let l=Ee.fromISO(n,r);if(l.isValid)return t.before(u,l)}}return t.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static isInterval(e){return e&&e.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get lastDateTime(){return this.isValid&&this.e?this.e.minus(1):null}get isValid(){return this.invalidReason===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}length(e="milliseconds"){return this.isValid?this.toDuration(e).get(e):NaN}count(e="milliseconds",r){if(!this.isValid)return NaN;let n=this.start.startOf(e,r),i;return r!=null&&r.useLocaleWeeks?i=this.end.reconfigure({locale:n.locale}):i=this.end,i=i.startOf(e,r),Math.floor(i.diff(n,e).get(e))+(i.valueOf()!==this.end.valueOf())}hasSame(e){return this.isValid?this.isEmpty()||this.e.minus(1).hasSame(this.s,e):!1}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(e){return this.isValid?this.s>e:!1}isBefore(e){return this.isValid?this.e<=e:!1}contains(e){return this.isValid?this.s<=e&&this.e>e:!1}set({start:e,end:r}={}){return this.isValid?t.fromDateTimes(e||this.s,r||this.e):this}splitAt(...e){if(!this.isValid)return[];let r=e.map(as).filter(a=>this.contains(a)).sort((a,u)=>a.toMillis()-u.toMillis()),n=[],{s:i}=this,o=0;for(;i<this.e;){let a=r[o]||this.e,u=+a>+this.e?this.e:a;n.push(t.fromDateTimes(i,u)),i=u,o+=1}return n}splitBy(e){let r=Ee.fromDurationLike(e);if(!this.isValid||!r.isValid||r.as("milliseconds")===0)return[];let{s:n}=this,i=1,o,a=[];for(;n<this.e;){let u=this.start.plus(r.mapUnits(c=>c*i));o=+u>+this.e?this.e:u,a.push(t.fromDateTimes(n,o)),n=o,i+=1}return a}divideEqually(e){return this.isValid?this.splitBy(this.length()/e).slice(0,e):[]}overlaps(e){return this.e>e.s&&this.s<e.e}abutsStart(e){return this.isValid?+this.e==+e.s:!1}abutsEnd(e){return this.isValid?+e.e==+this.s:!1}engulfs(e){return this.isValid?this.s<=e.s&&this.e>=e.e:!1}equals(e){return!this.isValid||!e.isValid?!1:this.s.equals(e.s)&&this.e.equals(e.e)}intersection(e){if(!this.isValid)return this;let r=this.s>e.s?this.s:e.s,n=this.e<e.e?this.e:e.e;return r>=n?null:t.fromDateTimes(r,n)}union(e){if(!this.isValid)return this;let r=this.s<e.s?this.s:e.s,n=this.e>e.e?this.e:e.e;return t.fromDateTimes(r,n)}static merge(e){let[r,n]=e.sort((i,o)=>i.s-o.s).reduce(([i,o],a)=>o?o.overlaps(a)||o.abutsStart(a)?[i,o.union(a)]:[i.concat([o]),a]:[i,a],[[],null]);return n&&r.push(n),r}static xor(e){let r=null,n=0,i=[],o=e.map(c=>[{time:c.s,type:"s"},{time:c.e,type:"e"}]),a=Array.prototype.concat(...o),u=a.sort((c,l)=>c.time-l.time);for(let c of u)n+=c.type==="s"?1:-1,n===1?r=c.time:(r&&+r!=+c.time&&i.push(t.fromDateTimes(r,c.time)),r=null);return t.merge(i)}difference(...e){return t.xor([this].concat(e)).map(r=>this.intersection(r)).filter(r=>r&&!r.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} \u2013 ${this.e.toISO()})`:kn}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`:`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(e=Aa,r={}){return this.isValid?Ge.create(this.s.loc.clone(r),e).formatInterval(this):kn}toISO(e){return this.isValid?`${this.s.toISO(e)}/${this.e.toISO(e)}`:kn}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:kn}toISOTime(e){return this.isValid?`${this.s.toISOTime(e)}/${this.e.toISOTime(e)}`:kn}toFormat(e,{separator:r=" \u2013 "}={}){return this.isValid?`${this.s.toFormat(e)}${r}${this.e.toFormat(e)}`:kn}toDuration(e,r){return this.isValid?this.e.diff(this.s,e,r):Ee.invalid(this.invalidReason)}mapEndpoints(e){return t.fromDateTimes(e(this.s),e(this.e))}},Yr=class{static{s(this,"Info")}static hasDST(e=ne.defaultZone){let r=oe.now().setZone(e).set({month:12});return!e.isUniversal&&r.offset!==r.set({month:6}).offset}static isValidIANAZone(e){return Bt.isValidZone(e)}static normalizeZone(e){return cr(e,ne.defaultZone)}static getStartOfWeek({locale:e=null,locObj:r=null}={}){return(r||te.create(e)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:e=null,locObj:r=null}={}){return(r||te.create(e)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:e=null,locObj:r=null}={}){return(r||te.create(e)).getWeekendDays().slice()}static months(e="long",{locale:r=null,numberingSystem:n=null,locObj:i=null,outputCalendar:o="gregory"}={}){return(i||te.create(r,n,o)).months(e)}static monthsFormat(e="long",{locale:r=null,numberingSystem:n=null,locObj:i=null,outputCalendar:o="gregory"}={}){return(i||te.create(r,n,o)).months(e,!0)}static weekdays(e="long",{locale:r=null,numberingSystem:n=null,locObj:i=null}={}){return(i||te.create(r,n,null)).weekdays(e)}static weekdaysFormat(e="long",{locale:r=null,numberingSystem:n=null,locObj:i=null}={}){return(i||te.create(r,n,null)).weekdays(e,!0)}static meridiems({locale:e=null}={}){return te.create(e).meridiems()}static eras(e="short",{locale:r=null}={}){return te.create(r,null,"gregory").eras(e)}static features(){return{relative:QE(),localeWeek:jE()}}};function cE(t,e){let r=s(i=>i.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),"utcDayStart"),n=r(e)-r(t);return Math.floor(Ee.fromMillis(n).as("days"))}s(cE,"dayDiff");function aC(t,e,r){let n=[["years",(c,l)=>l.year-c.year],["quarters",(c,l)=>l.quarter-c.quarter+(l.year-c.year)*4],["months",(c,l)=>l.month-c.month+(l.year-c.year)*12],["weeks",(c,l)=>{let d=cE(c,l);return(d-d%7)/7}],["days",cE]],i={},o=t,a,u;for(let[c,l]of n)r.indexOf(c)>=0&&(a=c,i[c]=l(t,e),u=o.plus(i),u>e?(i[c]--,t=o.plus(i),t>e&&(u=t,i[c]--,t=o.plus(i))):t=u);return[t,i,u,a]}s(aC,"highOrderDiffs");function uC(t,e,r,n){let[i,o,a,u]=aC(t,e,r),c=e-i,l=r.filter(f=>["hours","minutes","seconds","milliseconds"].indexOf(f)>=0);l.length===0&&(a<e&&(a=i.plus({[u]:1})),a!==i&&(o[u]=(o[u]||0)+c/(a-i)));let d=Ee.fromObject(o,n);return l.length>0?Ee.fromMillis(c,n).shiftTo(...l).plus(d):d}s(uC,"diff");var cC="missing Intl.DateTimeFormat.formatToParts support";function Z(t,e=r=>r){return{regex:t,deser:([r])=>e(ZD(r))}}s(Z,"intUnit");var lC=String.fromCharCode(160),dy=`[ ${lC}]`,fy=new RegExp(dy,"g");function dC(t){return t.replace(/\./g,"\\.?").replace(fy,dy)}s(dC,"fixListRegex");function lE(t){return t.replace(/\./g,"").replace(fy," ").toLowerCase()}s(lE,"stripInsensitivities");function dt(t,e){return t===null?null:{regex:RegExp(t.map(dC).join("|")),deser:([r])=>t.findIndex(n=>lE(r)===lE(n))+e}}s(dt,"oneOf");function dE(t,e){return{regex:t,deser:([,r,n])=>ba(r,n),groups:e}}s(dE,"offset");function ma(t){return{regex:t,deser:([e])=>e}}s(ma,"simple");function fC(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}s(fC,"escapeToken");function pC(t,e){let r=lt(e),n=lt(e,"{2}"),i=lt(e,"{3}"),o=lt(e,"{4}"),a=lt(e,"{6}"),u=lt(e,"{1,2}"),c=lt(e,"{1,3}"),l=lt(e,"{1,6}"),d=lt(e,"{1,9}"),f=lt(e,"{2,4}"),h=lt(e,"{4,6}"),p=s(E=>({regex:RegExp(fC(E.val)),deser:([y])=>y,literal:!0}),"literal"),m=s(E=>{if(t.literal)return p(E);switch(E.val){case"G":return dt(e.eras("short"),0);case"GG":return dt(e.eras("long"),0);case"y":return Z(l);case"yy":return Z(f,ad);case"yyyy":return Z(o);case"yyyyy":return Z(h);case"yyyyyy":return Z(a);case"M":return Z(u);case"MM":return Z(n);case"MMM":return dt(e.months("short",!0),1);case"MMMM":return dt(e.months("long",!0),1);case"L":return Z(u);case"LL":return Z(n);case"LLL":return dt(e.months("short",!1),1);case"LLLL":return dt(e.months("long",!1),1);case"d":return Z(u);case"dd":return Z(n);case"o":return Z(c);case"ooo":return Z(i);case"HH":return Z(n);case"H":return Z(u);case"hh":return Z(n);case"h":return Z(u);case"mm":return Z(n);case"m":return Z(u);case"q":return Z(u);case"qq":return Z(n);case"s":return Z(u);case"ss":return Z(n);case"S":return Z(c);case"SSS":return Z(i);case"u":return ma(d);case"uu":return ma(u);case"uuu":return Z(r);case"a":return dt(e.meridiems(),0);case"kkkk":return Z(o);case"kk":return Z(f,ad);case"W":return Z(u);case"WW":return Z(n);case"E":case"c":return Z(r);case"EEE":return dt(e.weekdays("short",!1),1);case"EEEE":return dt(e.weekdays("long",!1),1);case"ccc":return dt(e.weekdays("short",!0),1);case"cccc":return dt(e.weekdays("long",!0),1);case"Z":case"ZZ":return dE(new RegExp(`([+-]${u.source})(?::(${n.source}))?`),2);case"ZZZ":return dE(new RegExp(`([+-]${u.source})(${n.source})?`),2);case"z":return ma(/[a-z_+-/]{1,256}?/i);case" ":return ma(/[^\S\n\r]/);default:return p(E)}},"unitate")(t)||{invalidReason:cC};return m.token=t,m}s(pC,"unitForToken");var mC={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};function hC(t,e,r){let{type:n,value:i}=t;if(n==="literal"){let c=/^\s+$/.test(i);return{literal:!c,val:c?" ":i}}let o=e[n],a=n;n==="hour"&&(e.hour12!=null?a=e.hour12?"hour12":"hour24":e.hourCycle!=null?e.hourCycle==="h11"||e.hourCycle==="h12"?a="hour12":a="hour24":a=r.hour12?"hour12":"hour24");let u=mC[a];if(typeof u=="object"&&(u=u[o]),u)return{literal:!1,val:u}}s(hC,"tokenForPart");function gC(t){return[`^${t.map(r=>r.regex).reduce((r,n)=>`${r}(${n.source})`,"")}$`,t]}s(gC,"buildRegex");function EC(t,e,r){let n=t.match(e);if(n){let i={},o=1;for(let a in r)if($n(r,a)){let u=r[a],c=u.groups?u.groups+1:1;!u.literal&&u.token&&(i[u.token.val[0]]=u.deser(n.slice(o,o+c))),o+=c}return[n,i]}else return[n,{}]}s(EC,"match");function yC(t){let e=s(o=>{switch(o){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}},"toField"),r=null,n;return Q(t.z)||(r=Bt.create(t.z)),Q(t.Z)||(r||(r=new Ke(t.Z)),n=t.Z),Q(t.q)||(t.M=(t.q-1)*3+1),Q(t.h)||(t.h<12&&t.a===1?t.h+=12:t.h===12&&t.a===0&&(t.h=0)),t.G===0&&t.y&&(t.y=-t.y),Q(t.u)||(t.S=fd(t.u)),[Object.keys(t).reduce((o,a)=>{let u=e(a);return u&&(o[u]=t[a]),o},{}),r,n]}s(yC,"dateTimeFromMatches");var $l=null;function TC(){return $l||($l=oe.fromMillis(1555555555555)),$l}s(TC,"getDummyDateTime");function SC(t,e){if(t.literal)return t;let r=Ge.macroTokenToFormatOpts(t.val),n=hy(r,e);return n==null||n.includes(void 0)?t:n}s(SC,"maybeExpandMacroToken");function py(t,e){return Array.prototype.concat(...t.map(r=>SC(r,e)))}s(py,"expandMacroTokens");var Da=class{static{s(this,"TokenParser")}constructor(e,r){if(this.locale=e,this.format=r,this.tokens=py(Ge.parseFormat(r),e),this.units=this.tokens.map(n=>pC(n,e)),this.disqualifyingUnit=this.units.find(n=>n.invalidReason),!this.disqualifyingUnit){let[n,i]=gC(this.units);this.regex=RegExp(n,"i"),this.handlers=i}}explainFromTokens(e){if(this.isValid){let[r,n]=EC(e,this.regex,this.handlers),[i,o,a]=n?yC(n):[null,null,void 0];if($n(n,"a")&&$n(n,"H"))throw new lr("Can't include meridiem when specifying 24-hour format");return{input:e,tokens:this.tokens,regex:this.regex,rawMatches:r,matches:n,result:i,zone:o,specificOffset:a}}else return{input:e,tokens:this.tokens,invalidReason:this.invalidReason}}get isValid(){return!this.disqualifyingUnit}get invalidReason(){return this.disqualifyingUnit?this.disqualifyingUnit.invalidReason:null}};function my(t,e,r){return new Da(t,r).explainFromTokens(e)}s(my,"explainFromTokens");function AC(t,e,r){let{result:n,zone:i,specificOffset:o,invalidReason:a}=my(t,e,r);return[n,i,o,a]}s(AC,"parseFromTokens");function hy(t,e){if(!t)return null;let n=Ge.create(e,t).dtFormatter(TC()),i=n.formatToParts(),o=n.resolvedOptions();return i.map(a=>hC(a,t,o))}s(hy,"formatOptsToTokens");var Gl="Invalid DateTime",fE=864e13;function cs(t){return new Ve("unsupported zone",`the zone "${t.name}" is not supported`)}s(cs,"unsupportedZone");function Vl(t){return t.weekData===null&&(t.weekData=Oa(t.c)),t.weekData}s(Vl,"possiblyCachedWeekData");function ql(t){return t.localWeekData===null&&(t.localWeekData=Oa(t.c,t.loc.getMinDaysInFirstWeek(),t.loc.getStartOfWeek())),t.localWeekData}s(ql,"possiblyCachedLocalWeekData");function jr(t,e){let r={ts:t.ts,zone:t.zone,c:t.c,o:t.o,loc:t.loc,invalid:t.invalid};return new oe({...r,...e,old:r})}s(jr,"clone");function gy(t,e,r){let n=t-e*60*1e3,i=r.offset(n);if(e===i)return[n,e];n-=(i-e)*60*1e3;let o=r.offset(n);return i===o?[n,i]:[t-Math.min(i,o)*60*1e3,Math.max(i,o)]}s(gy,"fixOffset");function ha(t,e){t+=e*60*1e3;let r=new Date(t);return{year:r.getUTCFullYear(),month:r.getUTCMonth()+1,day:r.getUTCDate(),hour:r.getUTCHours(),minute:r.getUTCMinutes(),second:r.getUTCSeconds(),millisecond:r.getUTCMilliseconds()}}s(ha,"tsToObj");function Ea(t,e,r){return gy(Ca(t),e,r)}s(Ea,"objToTS");function pE(t,e){let r=t.o,n=t.c.year+Math.trunc(e.years),i=t.c.month+Math.trunc(e.months)+Math.trunc(e.quarters)*3,o={...t.c,year:n,month:i,day:Math.min(t.c.day,Ia(n,i))+Math.trunc(e.days)+Math.trunc(e.weeks)*7},a=Ee.fromObject({years:e.years-Math.trunc(e.years),quarters:e.quarters-Math.trunc(e.quarters),months:e.months-Math.trunc(e.months),weeks:e.weeks-Math.trunc(e.weeks),days:e.days-Math.trunc(e.days),hours:e.hours,minutes:e.minutes,seconds:e.seconds,milliseconds:e.milliseconds}).as("milliseconds"),u=Ca(o),[c,l]=gy(u,r,t.zone);return a!==0&&(c+=a,l=t.zone.offset(c)),{ts:c,o:l}}s(pE,"adjustTime");function Fn(t,e,r,n,i,o){let{setZone:a,zone:u}=r;if(t&&Object.keys(t).length!==0||e){let c=e||u,l=oe.fromObject(t,{...r,zone:c,specificOffset:o});return a?l:l.setZone(u)}else return oe.invalid(new Ve("unparsable",`the input "${i}" can't be parsed as ${n}`))}s(Fn,"parseDataToDateTime");function ga(t,e,r=!0){return t.isValid?Ge.create(te.create("en-US"),{allowZ:r,forceSimple:!0}).formatDateTimeFromString(t,e):null}s(ga,"toTechFormat");function Kl(t,e,r){let n=t.c.year>9999||t.c.year<0,i="";if(n&&t.c.year>=0&&(i+="+"),i+=me(t.c.year,n?6:4),r==="year")return i;if(e){if(i+="-",i+=me(t.c.month),r==="month")return i;i+="-"}else if(i+=me(t.c.month),r==="month")return i;return i+=me(t.c.day),i}s(Kl,"toISODate");function mE(t,e,r,n,i,o,a){let u=!r||t.c.millisecond!==0||t.c.second!==0,c="";switch(a){case"day":case"month":case"year":break;default:if(c+=me(t.c.hour),a==="hour")break;if(e){if(c+=":",c+=me(t.c.minute),a==="minute")break;u&&(c+=":",c+=me(t.c.second))}else{if(c+=me(t.c.minute),a==="minute")break;u&&(c+=me(t.c.second))}if(a==="second")break;u&&(!n||t.c.millisecond!==0)&&(c+=".",c+=me(t.c.millisecond,3))}return i&&(t.isOffsetFixed&&t.offset===0&&!o?c+="Z":t.o<0?(c+="-",c+=me(Math.trunc(-t.o/60)),c+=":",c+=me(Math.trunc(-t.o%60))):(c+="+",c+=me(Math.trunc(t.o/60)),c+=":",c+=me(Math.trunc(t.o%60)))),o&&(c+="["+t.zone.ianaName+"]"),c}s(mE,"toISOTime");var Ey={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},_C={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},OC={ordinal:1,hour:0,minute:0,second:0,millisecond:0},ya=["year","month","day","hour","minute","second","millisecond"],IC=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],wC=["year","ordinal","hour","minute","second","millisecond"];function Ta(t){let e={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[t.toLowerCase()];if(!e)throw new Sa(t);return e}s(Ta,"normalizeUnit");function hE(t){switch(t.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return Ta(t)}}s(hE,"normalizeUnitWithLocalWeeks");function DC(t){if(ls===void 0&&(ls=ne.now()),t.type!=="iana")return t.offset(ls);let e=t.name,r=ud.get(e);return r===void 0&&(r=t.offset(ls),ud.set(e,r)),r}s(DC,"guessOffsetForZone");function gE(t,e){let r=cr(e.zone,ne.defaultZone);if(!r.isValid)return oe.invalid(cs(r));let n=te.fromObject(e),i,o;if(Q(t.year))i=ne.now();else{for(let c of ya)Q(t[c])&&(t[c]=Ey[c]);let a=qE(t)||KE(t);if(a)return oe.invalid(a);let u=DC(r);[i,o]=Ea(t,u,r)}return new oe({ts:i,zone:r,loc:n,o})}s(gE,"quickDT");function EE(t,e,r){let n=Q(r.round)?!0:r.round,i=Q(r.rounding)?"trunc":r.rounding,o=s((u,c)=>(u=pd(u,n||r.calendary?0:2,r.calendary?"round":i),e.loc.clone(r).relFormatter(r).format(u,c)),"format"),a=s(u=>r.calendary?e.hasSame(t,u)?0:e.startOf(u).diff(t.startOf(u),u).get(u):e.diff(t,u).get(u),"differ");if(r.unit)return o(a(r.unit),r.unit);for(let u of r.units){let c=a(u);if(Math.abs(c)>=1)return o(c,u)}return o(t>e?-0:0,r.units[r.units.length-1])}s(EE,"diffRelative");function yE(t){let e={},r;return t.length>0&&typeof t[t.length-1]=="object"?(e=t[t.length-1],r=Array.from(t).slice(0,t.length-1)):r=Array.from(t),[e,r]}s(yE,"lastOpts");var ls,ud=new Map,oe=class t{static{s(this,"DateTime")}constructor(e){let r=e.zone||ne.defaultZone,n=e.invalid||(Number.isNaN(e.ts)?new Ve("invalid input"):null)||(r.isValid?null:cs(r));this.ts=Q(e.ts)?ne.now():e.ts;let i=null,o=null;if(!n)if(e.old&&e.old.ts===this.ts&&e.old.zone.equals(r))[i,o]=[e.old.c,e.old.o];else{let u=dr(e.o)&&!e.old?e.o:r.offset(this.ts);i=ha(this.ts,u),n=Number.isNaN(i.year)?new Ve("invalid input"):null,i=n?null:i,o=n?null:u}this._zone=r,this.loc=e.loc||te.create(),this.invalid=n,this.weekData=null,this.localWeekData=null,this.c=i,this.o=o,this.isLuxonDateTime=!0}static now(){return new t({})}static local(){let[e,r]=yE(arguments),[n,i,o,a,u,c,l]=r;return gE({year:n,month:i,day:o,hour:a,minute:u,second:c,millisecond:l},e)}static utc(){let[e,r]=yE(arguments),[n,i,o,a,u,c,l]=r;return e.zone=Ke.utcInstance,gE({year:n,month:i,day:o,hour:a,minute:u,second:c,millisecond:l},e)}static fromJSDate(e,r={}){let n=iR(e)?e.valueOf():NaN;if(Number.isNaN(n))return t.invalid("invalid input");let i=cr(r.zone,ne.defaultZone);return i.isValid?new t({ts:n,zone:i,loc:te.fromObject(r)}):t.invalid(cs(i))}static fromMillis(e,r={}){if(dr(e))return e<-fE||e>fE?t.invalid("Timestamp out of range"):new t({ts:e,zone:cr(r.zone,ne.defaultZone),loc:te.fromObject(r)});throw new _e(`fromMillis requires a numerical input, but received a ${typeof e} with value ${e}`)}static fromSeconds(e,r={}){if(dr(e))return new t({ts:e*1e3,zone:cr(r.zone,ne.defaultZone),loc:te.fromObject(r)});throw new _e("fromSeconds requires a numerical input")}static fromObject(e,r={}){e=e||{};let n=cr(r.zone,ne.defaultZone);if(!n.isValid)return t.invalid(cs(n));let i=te.fromObject(r),o=wa(e,hE),{minDaysInFirstWeek:a,startOfWeek:u}=tE(o,i),c=ne.now(),l=Q(r.specificOffset)?n.offset(c):r.specificOffset,d=!Q(o.ordinal),f=!Q(o.year),h=!Q(o.month)||!Q(o.day),p=f||h,S=o.weekYear||o.weekNumber;if((p||d)&&S)throw new lr("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(h&&d)throw new lr("Can't mix ordinal dates with month/day");let m=S||o.weekday&&!p,E,y,I=ha(c,l);m?(E=IC,y=_C,I=Oa(I,a,u)):d?(E=wC,y=OC,I=Wl(I)):(E=ya,y=Ey);let O=!1;for(let H of E){let Ie=o[H];Q(Ie)?O?o[H]=y[H]:o[H]=I[H]:O=!0}let w=m?tR(o,a,u):d?rR(o):qE(o),T=w||KE(o);if(T)return t.invalid(T);let _=m?Zg(o,a,u):d?eE(o):o,[U,R]=Ea(_,l,n),k=new t({ts:U,zone:n,o:R,loc:i});return o.weekday&&p&&e.weekday!==k.weekday?t.invalid("mismatched weekday",`you can't specify both a weekday of ${o.weekday} and a date of ${k.toISO()}`):k.isValid?k:t.invalid(k.invalid)}static fromISO(e,r={}){let[n,i]=jR(e);return Fn(n,i,r,"ISO 8601",e)}static fromRFC2822(e,r={}){let[n,i]=HR(e);return Fn(n,i,r,"RFC 2822",e)}static fromHTTP(e,r={}){let[n,i]=YR(e);return Fn(n,i,r,"HTTP",r)}static fromFormat(e,r,n={}){if(Q(e)||Q(r))throw new _e("fromFormat requires an input string and a format");let{locale:i=null,numberingSystem:o=null}=n,a=te.fromOpts({locale:i,numberingSystem:o,defaultToEN:!0}),[u,c,l,d]=AC(a,e,r);return d?t.invalid(d):Fn(u,c,n,`format ${r}`,e,l)}static fromString(e,r,n={}){return t.fromFormat(e,r,n)}static fromSQL(e,r={}){let[n,i]=rC(e);return Fn(n,i,r,"SQL",e)}static invalid(e,r=null){if(!e)throw new _e("need to specify a reason the DateTime is invalid");let n=e instanceof Ve?e:new Ve(e,r);if(ne.throwOnInvalid)throw new Ql(n);return new t({invalid:n})}static isDateTime(e){return e&&e.isLuxonDateTime||!1}static parseFormatForOpts(e,r={}){let n=hy(e,te.fromObject(r));return n?n.map(i=>i?i.val:null).join(""):null}static expandFormat(e,r={}){return py(Ge.parseFormat(e),te.fromObject(r)).map(i=>i.val).join("")}static resetCache(){ls=void 0,ud.clear()}get(e){return this[e]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?Vl(this).weekYear:NaN}get weekNumber(){return this.isValid?Vl(this).weekNumber:NaN}get weekday(){return this.isValid?Vl(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?ql(this).weekday:NaN}get localWeekNumber(){return this.isValid?ql(this).weekNumber:NaN}get localWeekYear(){return this.isValid?ql(this).weekYear:NaN}get ordinal(){return this.isValid?Wl(this.c).ordinal:NaN}get monthShort(){return this.isValid?Yr.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?Yr.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?Yr.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?Yr.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return this.isOffsetFixed?!1:this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];let e=864e5,r=6e4,n=Ca(this.c),i=this.zone.offset(n-e),o=this.zone.offset(n+e),a=this.zone.offset(n-i*r),u=this.zone.offset(n-o*r);if(a===u)return[this];let c=n-a*r,l=n-u*r,d=ha(c,a),f=ha(l,u);return d.hour===f.hour&&d.minute===f.minute&&d.second===f.second&&d.millisecond===f.millisecond?[jr(this,{ts:c}),jr(this,{ts:l})]:[this]}get isInLeapYear(){return ms(this.year)}get daysInMonth(){return Ia(this.year,this.month)}get daysInYear(){return this.isValid?Bn(this.year):NaN}get weeksInWeekYear(){return this.isValid?ps(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?ps(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(e={}){let{locale:r,numberingSystem:n,calendar:i}=Ge.create(this.loc.clone(e),e).resolvedOptions(this);return{locale:r,numberingSystem:n,outputCalendar:i}}toUTC(e=0,r={}){return this.setZone(Ke.instance(e),r)}toLocal(){return this.setZone(ne.defaultZone)}setZone(e,{keepLocalTime:r=!1,keepCalendarTime:n=!1}={}){if(e=cr(e,ne.defaultZone),e.equals(this.zone))return this;if(e.isValid){let i=this.ts;if(r||n){let o=e.offset(this.ts),a=this.toObject();[i]=Ea(a,o,e)}return jr(this,{ts:i,zone:e})}else return t.invalid(cs(e))}reconfigure({locale:e,numberingSystem:r,outputCalendar:n}={}){let i=this.loc.clone({locale:e,numberingSystem:r,outputCalendar:n});return jr(this,{loc:i})}setLocale(e){return this.reconfigure({locale:e})}set(e){if(!this.isValid)return this;let r=wa(e,hE),{minDaysInFirstWeek:n,startOfWeek:i}=tE(r,this.loc),o=!Q(r.weekYear)||!Q(r.weekNumber)||!Q(r.weekday),a=!Q(r.ordinal),u=!Q(r.year),c=!Q(r.month)||!Q(r.day),l=u||c,d=r.weekYear||r.weekNumber;if((l||a)&&d)throw new lr("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(c&&a)throw new lr("Can't mix ordinal dates with month/day");let f;o?f=Zg({...Oa(this.c,n,i),...r},n,i):Q(r.ordinal)?(f={...this.toObject(),...r},Q(r.day)&&(f.day=Math.min(Ia(f.year,f.month),f.day))):f=eE({...Wl(this.c),...r});let[h,p]=Ea(f,this.o,this.zone);return jr(this,{ts:h,o:p})}plus(e){if(!this.isValid)return this;let r=Ee.fromDurationLike(e);return jr(this,pE(this,r))}minus(e){if(!this.isValid)return this;let r=Ee.fromDurationLike(e).negate();return jr(this,pE(this,r))}startOf(e,{useLocaleWeeks:r=!1}={}){if(!this.isValid)return this;let n={},i=Ee.normalizeUnit(e);switch(i){case"years":n.month=1;case"quarters":case"months":n.day=1;case"weeks":case"days":n.hour=0;case"hours":n.minute=0;case"minutes":n.second=0;case"seconds":n.millisecond=0;break}if(i==="weeks")if(r){let o=this.loc.getStartOfWeek(),{weekday:a}=this;a<o&&(n.weekNumber=this.weekNumber-1),n.weekday=o}else n.weekday=1;if(i==="quarters"){let o=Math.ceil(this.month/3);n.month=(o-1)*3+1}return this.set(n)}endOf(e,r){return this.isValid?this.plus({[e]:1}).startOf(e,r).minus(1):this}toFormat(e,r={}){return this.isValid?Ge.create(this.loc.redefaultToEN(r)).formatDateTimeFromString(this,e):Gl}toLocaleString(e=Aa,r={}){return this.isValid?Ge.create(this.loc.clone(r),e).formatDateTime(this):Gl}toLocaleParts(e={}){return this.isValid?Ge.create(this.loc.clone(e),e).formatDateTimeParts(this):[]}toISO({format:e="extended",suppressSeconds:r=!1,suppressMilliseconds:n=!1,includeOffset:i=!0,extendedZone:o=!1,precision:a="milliseconds"}={}){if(!this.isValid)return null;a=Ta(a);let u=e==="extended",c=Kl(this,u,a);return ya.indexOf(a)>=3&&(c+="T"),c+=mE(this,u,r,n,i,o,a),c}toISODate({format:e="extended",precision:r="day"}={}){return this.isValid?Kl(this,e==="extended",Ta(r)):null}toISOWeekDate(){return ga(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:e=!1,suppressSeconds:r=!1,includeOffset:n=!0,includePrefix:i=!1,extendedZone:o=!1,format:a="extended",precision:u="milliseconds"}={}){return this.isValid?(u=Ta(u),(i&&ya.indexOf(u)>=3?"T":"")+mE(this,a==="extended",r,e,n,o,u)):null}toRFC2822(){return ga(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return ga(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){return this.isValid?Kl(this,!0):null}toSQLTime({includeOffset:e=!0,includeZone:r=!1,includeOffsetSpace:n=!0}={}){let i="HH:mm:ss.SSS";return(r||e)&&(n&&(i+=" "),r?i+="z":e&&(i+="ZZ")),ga(this,i,!0)}toSQL(e={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(e)}`:null}toString(){return this.isValid?this.toISO():Gl}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`:`DateTime { Invalid, reason: ${this.invalidReason} }`}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(e={}){if(!this.isValid)return{};let r={...this.c};return e.includeConfig&&(r.outputCalendar=this.outputCalendar,r.numberingSystem=this.loc.numberingSystem,r.locale=this.loc.locale),r}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(e,r="milliseconds",n={}){if(!this.isValid||!e.isValid)return Ee.invalid("created by diffing an invalid DateTime");let i={locale:this.locale,numberingSystem:this.numberingSystem,...n},o=sR(r).map(Ee.normalizeUnit),a=e.valueOf()>this.valueOf(),u=a?this:e,c=a?e:this,l=uC(u,c,o,i);return a?l.negate():l}diffNow(e="milliseconds",r={}){return this.diff(t.now(),e,r)}until(e){return this.isValid?zr.fromDateTimes(this,e):this}hasSame(e,r,n){if(!this.isValid)return!1;let i=e.valueOf(),o=this.setZone(e.zone,{keepLocalTime:!0});return o.startOf(r,n)<=i&&i<=o.endOf(r,n)}equals(e){return this.isValid&&e.isValid&&this.valueOf()===e.valueOf()&&this.zone.equals(e.zone)&&this.loc.equals(e.loc)}toRelative(e={}){if(!this.isValid)return null;let r=e.base||t.fromObject({},{zone:this.zone}),n=e.padding?this<r?-e.padding:e.padding:0,i=["years","months","days","hours","minutes","seconds"],o=e.unit;return Array.isArray(e.unit)&&(i=e.unit,o=void 0),EE(r,this.plus(n),{...e,numeric:"always",units:i,unit:o})}toRelativeCalendar(e={}){return this.isValid?EE(e.base||t.fromObject({},{zone:this.zone}),this,{...e,numeric:"auto",units:["years","months","days"],calendary:!0}):null}static min(...e){if(!e.every(t.isDateTime))throw new _e("min requires all arguments be DateTimes");return rE(e,r=>r.valueOf(),Math.min)}static max(...e){if(!e.every(t.isDateTime))throw new _e("max requires all arguments be DateTimes");return rE(e,r=>r.valueOf(),Math.max)}static fromFormatExplain(e,r,n={}){let{locale:i=null,numberingSystem:o=null}=n,a=te.fromOpts({locale:i,numberingSystem:o,defaultToEN:!0});return my(a,e,r)}static fromStringExplain(e,r,n={}){return t.fromFormatExplain(e,r,n)}static buildFormatParser(e,r={}){let{locale:n=null,numberingSystem:i=null}=r,o=te.fromOpts({locale:n,numberingSystem:i,defaultToEN:!0});return new Da(o,e)}static fromFormatParser(e,r,n={}){if(Q(e)||Q(r))throw new _e("fromFormatParser requires an input string and a format parser");let{locale:i=null,numberingSystem:o=null}=n,a=te.fromOpts({locale:i,numberingSystem:o,defaultToEN:!0});if(!a.equals(r.locale))throw new _e(`fromFormatParser called with a locale of ${a}, but the format parser was created for ${r.locale}`);let{result:u,zone:c,specificOffset:l,invalidReason:d}=r.explainFromTokens(e);return d?t.invalid(d):Fn(u,c,n,`format ${r.format}`,e,l)}static get DATE_SHORT(){return Aa}static get DATE_MED(){return TE}static get DATE_MED_WITH_WEEKDAY(){return MD}static get DATE_FULL(){return SE}static get DATE_HUGE(){return AE}static get TIME_SIMPLE(){return _E}static get TIME_WITH_SECONDS(){return OE}static get TIME_WITH_SHORT_OFFSET(){return IE}static get TIME_WITH_LONG_OFFSET(){return wE}static get TIME_24_SIMPLE(){return DE}static get TIME_24_WITH_SECONDS(){return RE}static get TIME_24_WITH_SHORT_OFFSET(){return CE}static get TIME_24_WITH_LONG_OFFSET(){return bE}static get DATETIME_SHORT(){return xE}static get DATETIME_SHORT_WITH_SECONDS(){return vE}static get DATETIME_MED(){return PE}static get DATETIME_MED_WITH_SECONDS(){return NE}static get DATETIME_MED_WITH_WEEKDAY(){return kD}static get DATETIME_FULL(){return UE}static get DATETIME_FULL_WITH_SECONDS(){return LE}static get DATETIME_HUGE(){return ME}static get DATETIME_HUGE_WITH_SECONDS(){return kE}};function as(t){if(oe.isDateTime(t))return t;if(t&&t.valueOf&&dr(t.valueOf()))return oe.fromJSDate(t);if(t&&typeof t=="object")return oe.fromObject(t);throw new _e(`Unknown datetime argument: ${t}, of type ${typeof t}`)}s(as,"friendlyDateTime");var RC="3.7.2";Qe.DateTime=oe;Qe.Duration=Ee;Qe.FixedOffsetZone=Ke;Qe.IANAZone=Bt;Qe.Info=Yr;Qe.Interval=zr;Qe.InvalidZone=_a;Qe.Settings=ne;Qe.SystemZone=fs;Qe.VERSION=RC;Qe.Zone=fr});var Sy=q((kB,Ty)=>{"use strict";var Jr=yy();j.prototype.addYear=function(){this._date=this._date.plus({years:1})};j.prototype.addMonth=function(){this._date=this._date.plus({months:1}).startOf("month")};j.prototype.addDay=function(){this._date=this._date.plus({days:1}).startOf("day")};j.prototype.addHour=function(){var t=this._date;this._date=this._date.plus({hours:1}).startOf("hour"),this._date<=t&&(this._date=this._date.plus({hours:1}))};j.prototype.addMinute=function(){var t=this._date;this._date=this._date.plus({minutes:1}).startOf("minute"),this._date<t&&(this._date=this._date.plus({hours:1}))};j.prototype.addSecond=function(){var t=this._date;this._date=this._date.plus({seconds:1}).startOf("second"),this._date<t&&(this._date=this._date.plus({hours:1}))};j.prototype.subtractYear=function(){this._date=this._date.minus({years:1})};j.prototype.subtractMonth=function(){this._date=this._date.minus({months:1}).endOf("month").startOf("second")};j.prototype.subtractDay=function(){this._date=this._date.minus({days:1}).endOf("day").startOf("second")};j.prototype.subtractHour=function(){var t=this._date;this._date=this._date.minus({hours:1}).endOf("hour").startOf("second"),this._date>=t&&(this._date=this._date.minus({hours:1}))};j.prototype.subtractMinute=function(){var t=this._date;this._date=this._date.minus({minutes:1}).endOf("minute").startOf("second"),this._date>t&&(this._date=this._date.minus({hours:1}))};j.prototype.subtractSecond=function(){var t=this._date;this._date=this._date.minus({seconds:1}).startOf("second"),this._date>t&&(this._date=this._date.minus({hours:1}))};j.prototype.getDate=function(){return this._date.day};j.prototype.getFullYear=function(){return this._date.year};j.prototype.getDay=function(){var t=this._date.weekday;return t==7?0:t};j.prototype.getMonth=function(){return this._date.month-1};j.prototype.getHours=function(){return this._date.hour};j.prototype.getMinutes=function(){return this._date.minute};j.prototype.getSeconds=function(){return this._date.second};j.prototype.getMilliseconds=function(){return this._date.millisecond};j.prototype.getTime=function(){return this._date.valueOf()};j.prototype.getUTCDate=function(){return this._getUTC().day};j.prototype.getUTCFullYear=function(){return this._getUTC().year};j.prototype.getUTCDay=function(){var t=this._getUTC().weekday;return t==7?0:t};j.prototype.getUTCMonth=function(){return this._getUTC().month-1};j.prototype.getUTCHours=function(){return this._getUTC().hour};j.prototype.getUTCMinutes=function(){return this._getUTC().minute};j.prototype.getUTCSeconds=function(){return this._getUTC().second};j.prototype.toISOString=function(){return this._date.toUTC().toISO()};j.prototype.toJSON=function(){return this._date.toJSON()};j.prototype.setDate=function(t){this._date=this._date.set({day:t})};j.prototype.setFullYear=function(t){this._date=this._date.set({year:t})};j.prototype.setDay=function(t){this._date=this._date.set({weekday:t})};j.prototype.setMonth=function(t){this._date=this._date.set({month:t+1})};j.prototype.setHours=function(t){this._date=this._date.set({hour:t})};j.prototype.setMinutes=function(t){this._date=this._date.set({minute:t})};j.prototype.setSeconds=function(t){this._date=this._date.set({second:t})};j.prototype.setMilliseconds=function(t){this._date=this._date.set({millisecond:t})};j.prototype._getUTC=function(){return this._date.toUTC()};j.prototype.toString=function(){return this.toDate().toString()};j.prototype.toDate=function(){return this._date.toJSDate()};j.prototype.isLastDayOfMonth=function(){var t=this._date.plus({days:1}).startOf("day");return this._date.month!==t.month};j.prototype.isLastWeekdayOfMonth=function(){var t=this._date.plus({days:7}).startOf("day");return this._date.month!==t.month};function j(t,e){var r={zone:e};if(t?t instanceof j?this._date=t._date:t instanceof Date?this._date=Jr.DateTime.fromJSDate(t,r):typeof t=="number"?this._date=Jr.DateTime.fromMillis(t,r):typeof t=="string"&&(this._date=Jr.DateTime.fromISO(t,r),this._date.isValid||(this._date=Jr.DateTime.fromRFC2822(t,r)),this._date.isValid||(this._date=Jr.DateTime.fromSQL(t,r)),this._date.isValid||(this._date=Jr.DateTime.fromFormat(t,"EEE, d MMM yyyy HH:mm:ss",r))):this._date=Jr.DateTime.local(),!this._date||!this._date.isValid)throw new Error("CronDate: unhandled timestamp: "+JSON.stringify(t));e&&e!==this._date.zoneName&&(this._date=this._date.setZone(e))}s(j,"CronDate");Ty.exports=j});var Oy=q((BB,_y)=>{"use strict";function Xr(t){return{start:t,count:1}}s(Xr,"buildRange");function Ay(t,e){t.end=e,t.step=e-t.start,t.count=2}s(Ay,"completeRangeWithItem");function Ed(t,e,r){e&&(e.count===2?(t.push(Xr(e.start)),t.push(Xr(e.end))):t.push(e)),r&&t.push(r)}s(Ed,"finalizeCurrentRange");function CC(t){for(var e=[],r=void 0,n=0;n<t.length;n++){var i=t[n];typeof i!="number"?(Ed(e,r,Xr(i)),r=void 0):r?r.count===1?Ay(r,i):r.step===i-r.end?(r.count++,r.end=i):r.count===2?(e.push(Xr(r.start)),r=Xr(r.end),Ay(r,i)):(Ed(e,r),r=Xr(i)):r=Xr(i)}return Ed(e,r),e}s(CC,"compactField");_y.exports=CC});var wy=q(($B,Iy)=>{"use strict";var bC=Oy();function xC(t,e,r){var n=bC(t);if(n.length===1){var i=n[0],o=i.step;if(o===1&&i.start===e&&i.end===r)return"*";if(o!==1&&i.start===e&&i.end===r-o+1)return"*/"+o}for(var a=[],u=0,c=n.length;u<c;++u){var l=n[u];if(l.count===1){a.push(l.start);continue}var o=l.step;if(l.step===1){a.push(l.start+"-"+l.end);continue}var d=l.start==0?l.count-1:l.count;l.step*d>l.end?a=a.concat(Array.from({length:l.end-l.start+1}).map(function(h,p){var S=l.start+p;return(S-l.start)%l.step===0?S:null}).filter(function(h){return h!=null})):l.end===r-l.step+1?a.push(l.start+"/"+l.step):a.push(l.start+"-"+l.end+"/"+l.step)}return a.join(",")}s(xC,"stringifyField");Iy.exports=xC});var Cy=q((VB,Ry)=>{"use strict";var Zr=Sy(),vC=wy(),Dy=1e4;function L(t,e){this._options=e,this._utc=e.utc||!1,this._tz=this._utc?"UTC":e.tz,this._currentDate=new Zr(e.currentDate,this._tz),this._startDate=e.startDate?new Zr(e.startDate,this._tz):null,this._endDate=e.endDate?new Zr(e.endDate,this._tz):null,this._isIterator=e.iterator||!1,this._hasIterated=!1,this._nthDayOfWeek=e.nthDayOfWeek||0,this.fields=L._freezeFields(t)}s(L,"CronExpression");L.map=["second","minute","hour","dayOfMonth","month","dayOfWeek"];L.predefined={"@yearly":"0 0 1 1 *","@monthly":"0 0 1 * *","@weekly":"0 0 * * 0","@daily":"0 0 * * *","@hourly":"0 * * * *"};L.constraints=[{min:0,max:59,chars:[]},{min:0,max:59,chars:[]},{min:0,max:23,chars:[]},{min:1,max:31,chars:["L"]},{min:1,max:12,chars:[]},{min:0,max:7,chars:["L"]}];L.daysInMonth=[31,29,31,30,31,30,31,31,30,31,30,31];L.aliases={month:{jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12},dayOfWeek:{sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6}};L.parseDefaults=["0","*","*","*","*","*"];L.standardValidCharacters=/^[,*\d/-]+$/;L.dayOfWeekValidCharacters=/^[?,*\dL#/-]+$/;L.dayOfMonthValidCharacters=/^[?,*\dL/-]+$/;L.validCharacters={second:L.standardValidCharacters,minute:L.standardValidCharacters,hour:L.standardValidCharacters,dayOfMonth:L.dayOfMonthValidCharacters,month:L.standardValidCharacters,dayOfWeek:L.dayOfWeekValidCharacters};L._isValidConstraintChar=s(function(e,r){return typeof r!="string"?!1:e.chars.some(function(n){return r.indexOf(n)>-1})},"_isValidConstraintChar");L._parseField=s(function(e,r,n){switch(e){case"month":case"dayOfWeek":var i=L.aliases[e];r=r.replace(/[a-z]{3}/gi,function(c){if(c=c.toLowerCase(),typeof i[c]<"u")return i[c];throw new Error('Validation error, cannot resolve alias "'+c+'"')});break}if(!L.validCharacters[e].test(r))throw new Error("Invalid characters, got value: "+r);r.indexOf("*")!==-1?r=r.replace(/\*/g,n.min+"-"+n.max):r.indexOf("?")!==-1&&(r=r.replace(/\?/g,n.min+"-"+n.max));function o(c){var l=[];function d(S){if(S instanceof Array)for(var m=0,E=S.length;m<E;m++){var y=S[m];if(L._isValidConstraintChar(n,y)){l.push(y);continue}if(typeof y!="number"||Number.isNaN(y)||y<n.min||y>n.max)throw new Error("Constraint error, got value "+y+" expected range "+n.min+"-"+n.max);l.push(y)}else{if(L._isValidConstraintChar(n,S)){l.push(S);return}var I=+S;if(Number.isNaN(I)||I<n.min||I>n.max)throw new Error("Constraint error, got value "+S+" expected range "+n.min+"-"+n.max);e==="dayOfWeek"&&(I=I%7),l.push(I)}}s(d,"handleResult");var f=c.split(",");if(!f.every(function(S){return S.length>0}))throw new Error("Invalid list value format");if(f.length>1)for(var h=0,p=f.length;h<p;h++)d(a(f[h]));else d(a(c));return l.sort(L._sortCompareFn),l}s(o,"parseSequence");function a(c){var l=1,d=c.split("/");if(d.length>2)throw new Error("Invalid repeat: "+c);return d.length>1?(d[0]==+d[0]&&(d=[d[0]+"-"+n.max,d[1]]),u(d[0],d[d.length-1])):u(c,l)}s(a,"parseRepeat");function u(c,l){var d=[],f=c.split("-");if(f.length>1){if(f.length<2)return+c;if(!f[0].length){if(!f[1].length)throw new Error("Invalid range: "+c);return+c}var h=+f[0],p=+f[1];if(Number.isNaN(h)||Number.isNaN(p)||h<n.min||p>n.max)throw new Error("Constraint error, got range "+h+"-"+p+" expected range "+n.min+"-"+n.max);if(h>p)throw new Error("Invalid range: "+c);var S=+l;if(Number.isNaN(S)||S<=0)throw new Error("Constraint error, cannot repeat at every "+S+" time.");e==="dayOfWeek"&&p%7===0&&d.push(0);for(var m=h,E=p;m<=E;m++){var y=d.indexOf(m)!==-1;!y&&S>0&&S%l===0?(S=1,d.push(m)):S++}return d}return Number.isNaN(+c)?c:+c}return s(u,"parseRange"),o(r)},"_parseField");L._sortCompareFn=function(t,e){var r=typeof t=="number",n=typeof e=="number";return r&&n?t-e:!r&&n?1:r&&!n?-1:t.localeCompare(e)};L._handleMaxDaysInMonth=function(t){if(t.month.length===1){var e=L.daysInMonth[t.month[0]-1];if(t.dayOfMonth[0]>e)throw new Error("Invalid explicit day of month definition");return t.dayOfMonth.filter(function(r){return r==="L"?!0:r<=e}).sort(L._sortCompareFn)}};L._freezeFields=function(t){for(var e=0,r=L.map.length;e<r;++e){var n=L.map[e],i=t[n];t[n]=Object.freeze(i)}return Object.freeze(t)};L.prototype._applyTimezoneShift=function(t,e,r){if(r==="Month"||r==="Day"){var n=t.getTime();t[e+r]();var i=t.getTime();n===i&&(t.getMinutes()===0&&t.getSeconds()===0?t.addHour():t.getMinutes()===59&&t.getSeconds()===59&&t.subtractHour())}else{var o=t.getHours();t[e+r]();var a=t.getHours(),u=a-o;u===2?this.fields.hour.length!==24&&(this._dstStart=a):u===0&&t.getMinutes()===0&&t.getSeconds()===0&&this.fields.hour.length!==24&&(this._dstEnd=a)}};L.prototype._findSchedule=s(function(e){function r(y,I){for(var O=0,w=I.length;O<w;O++)if(I[O]>=y)return I[O]===y;return I[0]===y}s(r,"matchSchedule");function n(y,I){if(I<6){if(y.getDate()<8&&I===1)return!0;var O=y.getDate()%7?1:0,w=y.getDate()-y.getDate()%7,T=Math.floor(w/7)+O;return T===I}return!1}s(n,"isNthDayMatch");function i(y){return y.length>0&&y.some(function(I){return typeof I=="string"&&I.indexOf("L")>=0})}s(i,"isLInExpressions"),e=e||!1;var o=e?"subtract":"add",a=new Zr(this._currentDate,this._tz),u=this._startDate,c=this._endDate,l=a.getTime(),d=0;function f(y){return y.some(function(I){if(!i([I]))return!1;var O=Number.parseInt(I[0])%7;if(Number.isNaN(O))throw new Error("Invalid last weekday of the month expression: "+I);return a.getDay()===O&&a.isLastWeekdayOfMonth()})}for(s(f,"isLastWeekdayOfMonthMatch");d<Dy;){if(d++,e){if(u&&a.getTime()-u.getTime()<0)throw new Error("Out of the timespan range")}else if(c&&c.getTime()-a.getTime()<0)throw new Error("Out of the timespan range");var h=r(a.getDate(),this.fields.dayOfMonth);i(this.fields.dayOfMonth)&&(h=h||a.isLastDayOfMonth());var p=r(a.getDay(),this.fields.dayOfWeek);i(this.fields.dayOfWeek)&&(p=p||f(this.fields.dayOfWeek));var S=this.fields.dayOfMonth.length>=L.daysInMonth[a.getMonth()],m=this.fields.dayOfWeek.length===L.constraints[5].max-L.constraints[5].min+1,E=a.getHours();if(!h&&(!p||m)){this._applyTimezoneShift(a,o,"Day");continue}if(!S&&m&&!h){this._applyTimezoneShift(a,o,"Day");continue}if(S&&!m&&!p){this._applyTimezoneShift(a,o,"Day");continue}if(this._nthDayOfWeek>0&&!n(a,this._nthDayOfWeek)){this._applyTimezoneShift(a,o,"Day");continue}if(!r(a.getMonth()+1,this.fields.month)){this._applyTimezoneShift(a,o,"Month");continue}if(r(E,this.fields.hour)){if(this._dstEnd===E&&!e){this._dstEnd=null,this._applyTimezoneShift(a,"add","Hour");continue}}else if(this._dstStart!==E){this._dstStart=null,this._applyTimezoneShift(a,o,"Hour");continue}else if(!r(E-1,this.fields.hour)){a[o+"Hour"]();continue}if(!r(a.getMinutes(),this.fields.minute)){this._applyTimezoneShift(a,o,"Minute");continue}if(!r(a.getSeconds(),this.fields.second)){this._applyTimezoneShift(a,o,"Second");continue}if(l===a.getTime()){o==="add"||a.getMilliseconds()===0?this._applyTimezoneShift(a,o,"Second"):a.setMilliseconds(0);continue}break}if(d>=Dy)throw new Error("Invalid expression, loop limit exceeded");return this._currentDate=new Zr(a,this._tz),this._hasIterated=!0,a},"_findSchedule");L.prototype.next=s(function(){var e=this._findSchedule();return this._isIterator?{value:e,done:!this.hasNext()}:e},"next");L.prototype.prev=s(function(){var e=this._findSchedule(!0);return this._isIterator?{value:e,done:!this.hasPrev()}:e},"prev");L.prototype.hasNext=function(){var t=this._currentDate,e=this._hasIterated;try{return this._findSchedule(),!0}catch{return!1}finally{this._currentDate=t,this._hasIterated=e}};L.prototype.hasPrev=function(){var t=this._currentDate,e=this._hasIterated;try{return this._findSchedule(!0),!0}catch{return!1}finally{this._currentDate=t,this._hasIterated=e}};L.prototype.iterate=s(function(e,r){var n=[];if(e>=0)for(var i=0,o=e;i<o;i++)try{var a=this.next();n.push(a),r&&r(a,i)}catch{break}else for(var i=0,o=e;i>o;i--)try{var a=this.prev();n.push(a),r&&r(a,i)}catch{break}return n},"iterate");L.prototype.reset=s(function(e){this._currentDate=new Zr(e||this._options.currentDate)},"reset");L.prototype.stringify=s(function(e){for(var r=[],n=e?0:1,i=L.map.length;n<i;++n){var o=L.map[n],a=this.fields[o],u=L.constraints[n];o==="dayOfMonth"&&this.fields.month.length===1?u={min:1,max:L.daysInMonth[this.fields.month[0]-1]}:o==="dayOfWeek"&&(u={min:0,max:6},a=a[a.length-1]===7?a.slice(0,-1):a),r.push(vC(a,u.min,u.max))}return r.join(" ")},"stringify");L.parse=s(function(e,r){var n=this;typeof r=="function"&&(r={});function i(o,a){a||(a={}),typeof a.currentDate>"u"&&(a.currentDate=new Zr(void 0,n._tz)),L.predefined[o]&&(o=L.predefined[o]);var u=[],c=(o+"").trim().split(/\s+/);if(c.length>6)throw new Error("Invalid cron expression");for(var l=L.map.length-c.length,d=0,f=L.map.length;d<f;++d){var h=L.map[d],p=c[c.length>f?d:d-l];if(d<l||!p)u.push(L._parseField(h,L.parseDefaults[d],L.constraints[d]));else{var S=h==="dayOfWeek"?I(p):p;u.push(L._parseField(h,S,L.constraints[d]))}}for(var m={},d=0,f=L.map.length;d<f;d++){var E=L.map[d];m[E]=u[d]}var y=L._handleMaxDaysInMonth(m);return m.dayOfMonth=y||m.dayOfMonth,new L(m,a);function I(O){var w=O.split("#");if(w.length>1){var T=+w[w.length-1];if(/,/.test(O))throw new Error("Constraint error, invalid dayOfWeek `#` and `,` special characters are incompatible");if(/\//.test(O))throw new Error("Constraint error, invalid dayOfWeek `#` and `/` special characters are incompatible");if(/-/.test(O))throw new Error("Constraint error, invalid dayOfWeek `#` and `-` special characters are incompatible");if(w.length>2||Number.isNaN(T)||T<1||T>5)throw new Error("Constraint error, invalid dayOfWeek occurrence number (#)");return a.nthDayOfWeek=T,w[0]}return O}s(I,"parseNthDay")}return s(i,"parse"),i(e,r)},"parse");L.fieldsToExpression=s(function(e,r){function n(h,p,S){if(!p)throw new Error("Validation error, Field "+h+" is missing");if(p.length===0)throw new Error("Validation error, Field "+h+" contains no values");for(var m=0,E=p.length;m<E;m++){var y=p[m];if(!L._isValidConstraintChar(S,y)&&(typeof y!="number"||Number.isNaN(y)||y<S.min||y>S.max))throw new Error("Constraint error, got value "+y+" expected range "+S.min+"-"+S.max)}}s(n,"validateConstraints");for(var i={},o=0,a=L.map.length;o<a;++o){var u=L.map[o],c=e[u];n(u,c,L.constraints[o]);for(var l=[],d=-1;++d<c.length;)l[d]=c[d];if(c=l.sort(L._sortCompareFn).filter(function(h,p,S){return!p||h!==S[p-1]}),c.length!==l.length)throw new Error("Validation error, Field "+u+" contains duplicate values");i[u]=c}var f=L._handleMaxDaysInMonth(i);return i.dayOfMonth=f||i.dayOfMonth,new L(i,r||{})},"fieldsToExpression");Ry.exports=L});var xy=q((KB,by)=>{"use strict";var va=Cy();function pr(){}s(pr,"CronParser");pr._parseEntry=s(function(e){var r=e.split(" ");if(r.length===6)return{interval:va.parse(e)};if(r.length>6)return{interval:va.parse(r.slice(0,6).join(" ")),command:r.slice(6,r.length)};throw new Error("Invalid entry: "+e)},"_parseEntry");pr.parseExpression=s(function(e,r){return va.parse(e,r)},"parseExpression");pr.fieldsToExpression=s(function(e,r){return va.fieldsToExpression(e,r)},"fieldsToExpression");pr.parseString=s(function(e){for(var r=e.split(`
5
- `),n={variables:{},expressions:[],errors:{}},i=0,o=r.length;i<o;i++){var a=r[i],u=null,c=a.trim();if(c.length>0){if(c.match(/^#/))continue;if(u=c.match(/^(.*)=(.*)$/))n.variables[u[1]]=u[2];else{var l=null;try{l=pr._parseEntry("0 "+c),n.expressions.push(l.interval)}catch(d){n.errors[c]=d}}}}return n},"parseString");pr.parseFile=s(function(e,r){require("fs").readFile(e,function(n,i){if(n){r(n);return}return r(null,pr.parseString(i.toString()))})},"parseFile");by.exports=pr});var ik={};P(ik,{APIWarning:()=>In,ActiveContentFileError:()=>Wu,AutomationViewMode:()=>Wa,BUDIBASE_DATASOURCE_TYPE:()=>Hd,BadRequestError:()=>fo,BudibaseError:()=>lo,Config:()=>ef,Cookie:()=>en,DEFAULT_BB_DATASOURCE_ID:()=>bn,DEFAULT_EMPLOYEE_TABLE_ID:()=>Xd,DEFAULT_EXPENSES_TABLE_ID:()=>Jd,DEFAULT_INVENTORY_TABLE_ID:()=>zd,DEFAULT_JOBS_TABLE_ID:()=>Yd,DEFAULT_TENANT_ID:()=>ae,DeprecatedViews:()=>jn,DesignDocuments:()=>Os,DocumentType:()=>ce,Duration:()=>pe,DurationType:()=>tp,EmailUnavailableError:()=>Jt,Endpoint:()=>Wc,EndpointGroup:()=>wn,EndpointGroupList:()=>Bo,FeatureDisabledError:()=>Vu,FeatureDisabledWarning:()=>Dc,ForbiddenError:()=>$u,GlobalRole:()=>Zd,HTTPError:()=>Me,Header:()=>We,InternalTable:()=>Pt,InvalidAPIKeyWarning:()=>Ai,MAX_VALID_DATE:()=>Va,MIN_VALID_DATE:()=>Hy,NotFoundError:()=>Bu,NotImplementedError:()=>Gu,RedisClient:()=>De,SEPARATOR:()=>C,SQLITE_DESIGN_DOC_ID:()=>Rt,SQS_DATASOURCE_INTERNAL:()=>jd,StaticDatabases:()=>fe,UNICODE_MAX:()=>Pe,USER_METADATA_PREFIX:()=>_s,UnexpectedError:()=>Fu,UsageLimitError:()=>qu,UsageLimitWarning:()=>wc,UserStatus:()=>Ga,ViewName:()=>$t,WORKSPACE_DEV:()=>$a,WORKSPACE_DEV_PREFIX:()=>tt,WORKSPACE_PREFIX:()=>et,accounts:()=>yn,auth:()=>Mm,blacklist:()=>Wm,cache:()=>Ro,configs:()=>Xt,constants:()=>tf,context:()=>ue,csv:()=>Xm,db:()=>Sr,docIds:()=>qf,docUpdates:()=>Gm,encryption:()=>bm,env:()=>g,errors:()=>Qu,events:()=>hi,features:()=>Im,getErrorMessage:()=>lA,getPublicError:()=>Ku,init:()=>nk,installation:()=>Zu,locks:()=>En,logging:()=>to,middleware:()=>Lm,objectStore:()=>Tp,permissions:()=>Am,platform:()=>uo,plugins:()=>Fm,queue:()=>wp,redis:()=>Bm,roles:()=>Sm,security:()=>Fp,sessions:()=>ju,setEnv:()=>ws,sql:()=>Jm,tenancy:()=>rk,timers:()=>Iu,userUtils:()=>Xp,users:()=>Ei,utils:()=>si,warnings:()=>xm,withEnv:()=>Zy});module.exports=SO(ik);var Xt={};P(Xt,{analyticsEnabled:()=>zu,generateConfigID:()=>Po,getConfig:()=>Be,getDefaultGoogleConfig:()=>am,getGoogleConfig:()=>dc,getGoogleDatasourceConfig:()=>cm,getOIDCConfig:()=>f0,getOIDCConfigById:()=>lm,getOIDCLogosDoc:()=>l0,getPlatformUrl:()=>No,getRecaptchaConfig:()=>h0,getSCIMConfig:()=>m0,getSMTPConfig:()=>p0,getSMTPConfigDoc:()=>l_,getSettingsConfig:()=>um,getSettingsConfigDoc:()=>yi,getTranslationsConfig:()=>u0,getTranslationsConfigDoc:()=>c_,save:()=>a0});var AO=["user:created","user:updated","user:deleted","user:admin:assigned","user:admin:removed","user:builder:assigned","user:builder:removed","user_group:created","user_group:updated","user_group:deleted","user_group:user_added","user_group:users_deleted","user_group:permissions_edited"],_O=["automation:deleted","workspace_app:deleted","datasource:deleted","table:deleted","query:deleted","view:deleted"],th=[...AO,..._O],rh={"user:created":'User "{{ email }}" created{{#if viaScim}} via SCIM{{/if}}',"user:updated":'User "{{ email }}" updated{{#if viaScim}} via SCIM{{/if}}',"user:deleted":'User "{{ email }}" deleted{{#if viaScim}} via SCIM{{/if}}',"user:admin:assigned":'User "{{ email }}" admin role assigned',"user:admin:removed":'User "{{ email }}" admin role removed',"user:builder:assigned":'User "{{ email }}" builder role assigned',"user:builder:removed":'User "{{ email }}" builder role removed',"user:invited":'User "{{ email }}" invited',"user:invite:accepted":'User "{{ email }}" accepted invite',"user:password:updated":'User "{{ email }}" password updated',"user:password:reset:requested":'User "{{ email }}" password reset requested',"user:password:reset":'User "{{ email }}" password reset',"user_group:created":'User group "{{ name }}" created{{#if viaScim}} via SCIM{{/if}}',"user_group:updated":'User group "{{ name }}" updated{{#if viaScim}} via SCIM{{/if}}',"user_group:deleted":'User group "{{ name }}" deleted{{#if viaScim}} via SCIM{{/if}}',"user_group:user_added":'User group "{{ name }}" {{ count }} users added{{#if viaScim}} via SCIM{{/if}}',"user_group:users_deleted":'User group "{{ name }}" {{ count }} users removed{{#if viaScim}} via SCIM{{/if}}',"user_group:permissions_edited":'User group "{{ name }}" permissions edited',"user:password:force:reset":void 0,"user_group:onboarding_added":void 0,"user:onboarding:complete":void 0,"user:data:collaboration":void 0,"email:smtp:created":"Email configuration created","email:smtp:updated":"Email configuration updated","ai:config:created":"AI configuration created","ai:config:updated":"AI configuration updated","auth:sso:created":"SSO configuration created","auth:sso:updated":"SSO configuration updated","auth:sso:activated":"SSO configuration activated","auth:sso:deactivated":"SSO configuration deactivated","auth:login":'User "{{ email }}" logged in',"auth:logout":'User "{{ email }}" logged out',"org:info:name:updated":"Organisation name updated","org:info:logo:updated":"Organisation logo updated","org:platformurl:updated":"Organisation platform URL updated","app:created":'App "{{ name }}" created',"app:updated":'App "{{ name }}" updated',"app:deleted":'App "{{ name }}" deleted',"app:duplicated":'App "{{ name }}" duplicated',"app:published":'App "{{ name }}" published',"app:unpublished":'App "{{ name }}" unpublished',"app:template:imported":'App "{{ name }}" template imported',"app:file:imported":'App "{{ name }}" file imported',"app:version:updated":'App "{{ name }}" version updated',"app:version:reverted":'App "{{ name }}" version reverted',"app:reverted":'App "{{ name }}" reverted',"app:exported":'App "{{ name }}" exported',"app:backup:restored":'App backup "{{ name }}" restored',"app:backup:triggered":'App backup "{{ name }}" triggered',"datasource:created":"Datasource created","datasource:updated":"Datasource updated","datasource:deleted":"Datasource deleted","query:created":"Query created","query:updated":"Query updated","query:deleted":"Query deleted","query:import":"Query import","queries:run":void 0,"query:previewed":void 0,"table:created":'Table "{{ name }}" created',"table:updated":'Table "{{ name }}" updated',"table:deleted":'Table "{{ name }}" deleted',"table:exported":'Table "{{ name }}" exported',"table:imported":'Table "{{ name }}" imported',"table:data:imported":"Data imported to table","rows:created":"Rows created","rows:imported":"Rows imported","automation:created":'Automation "{{ name }}" created',"automation:deleted":'Automation "{{ name }}" deleted',"automation:step:created":'Automation "{{ name }}" step added',"automation:step:deleted":'Automation "{{ name }}" step removed',"automation:tested":void 0,"automations:run":void 0,"automation:trigger:updated":void 0,"screen:created":'Screen "{{ name }}" created',"screen:deleted":'Screen "{{ name }}" deleted',"component:created":"Component created","component:deleted":"Component deleted","environment_variable:created":"Environment variable created","environment_variable:deleted":"Environment variable deleted","environment_variable:upgrade_panel_opened":void 0,"plugin:imported":"Plugin imported","plugin:deleted":"Plugin deleted","plugin:init":void 0,"action:automation_step:executed":void 0,"action:crud:executed":void 0,"action:ai_agent:executed":void 0,"role:created":void 0,"role:updated":void 0,"role:deleted":void 0,"role:assigned":void 0,"role:unassigned":void 0,"license:plan:changed":void 0,"license:activated":void 0,"license:payment:failed":void 0,"license:payment:recovered":void 0,"license:checkout:opened":void 0,"license:checkout:success":void 0,"license:portal:opened":void 0,"account:created":void 0,"account:deleted":void 0,"account:verified":void 0,"app:backfill:succeeded":void 0,"app:backfill:failed":void 0,"tenant:backfill:succeeded":void 0,"tenant:backfill:failed":void 0,"installation:backfill:succeeded":void 0,"installation:backfill:failed":void 0,"layout:created":void 0,"layout:deleted":void 0,"view:created":void 0,"view:updated":void 0,"view:deleted":void 0,"view:exported":void 0,"view:filter:created":void 0,"view:filter:updated":void 0,"view:filter:deleted":void 0,"view:calculation:created":void 0,"view:calculation:updated":void 0,"view:calculation:deleted":void 0,"view:join:created":void 0,"served:builder":void 0,"served:app":void 0,"served:app:preview":void 0,"analytics:opt:out":void 0,"analytics:opt:in":void 0,"installation:version:checked":void 0,"installation:version:upgraded":void 0,"installation:version:downgraded":void 0,"installation:firstStartup":void 0,"audit_log:filtered":void 0,"audit_log:downloaded":void 0,"row_action:created":void 0,"workspace_app:created":void 0,"workspace_app:deleted":void 0,"workspace_app:updated":void 0,"resource:copied_to_workspace":"{{ resource.type }} copied to workspace"};var $c=(n=>(n.SQL="sql",n.JSON="json",n.FIELDS="fields",n))($c||{}),Gc=(p=>(p.STRING="string",p.CODE="code",p.LONGFORM="longForm",p.SENSITIVE_LONGFORM="sensitiveLongForm",p.BOOLEAN="boolean",p.NUMBER="number",p.PASSWORD="password",p.LIST="list",p.OBJECT="object",p.JSON="json",p.FILE="file",p.FIELD_GROUP="fieldGroup",p.SELECT="select",p))(Gc||{}),$o=(y=>(y.AIRTABLE="AIRTABLE",y.ARANGODB="ARANGODB",y.BUDIBASE="BUDIBASE",y.COUCHDB="COUCHDB",y.DYNAMODB="DYNAMODB",y.ELASTICSEARCH="ELASTICSEARCH",y.FIRESTORE="FIRESTORE",y.GOOGLE_SHEETS="GOOGLE_SHEETS",y.MONGODB="MONGODB",y.MYSQL="MYSQL",y.ORACLE="ORACLE",y.POSTGRES="POSTGRES",y.REDIS="REDIS",y.REST="REST",y.S3="S3",y.SNOWFLAKE="SNOWFLAKE",y.SQL_SERVER="SQL_SERVER",y))($o||{});var Vc=(r=>(r.CONNECTION_CHECKING="connection",r.FETCH_TABLE_NAMES="fetch_table_names",r))(Vc||{});var OO=B(require("lodash/isPlainObject"));var Mr=(a=>(a.EQUAL="equal",a.NOT_EQUAL="notEqual",a.EMPTY="empty",a.NOT_EMPTY="notEmpty",a.FUZZY="fuzzy",a.STRING="string",a))(Mr||{}),sr=(i=>(i.CONTAINS="contains",i.NOT_CONTAINS="notContains",i.CONTAINS_ANY="containsAny",i.ONE_OF="oneOf",i))(sr||{}),Rn=(e=>(e.RANGE="range",e))(Rn||{}),Di=(r=>(r.AND="$and",r.OR="$or",r))(Di||{});function Go(t){return Object.values(Di).includes(t)}s(Go,"isLogicalSearchOperator");function nh(t){return Object.values(Mr).includes(t)}s(nh,"isBasicSearchOperator");function ih(t){return Object.values(sr).includes(t)}s(ih,"isArraySearchOperator");function Vo(t){return Object.values(Rn).includes(t)}s(Vo,"isRangeSearchOperator");var sh=s(t=>typeof t=="object"&&t._id&&t._rev,"isDocument");var Ri=(o=>(o.USER="user",o.HEADER="header",o.QUERY="query",o.SUBDOMAIN="subdomain",o.PATH="path",o))(Ri||{});var Ci=(i=>(i.READ="read",i.WRITE="write",i.EXECUTE="execute",i.ADMIN="admin",i))(Ci||{});var qo=(f=>(f.WORKSPACE="app",f.TABLE="table",f.USER="user",f.AUTOMATION="automation",f.WEBHOOK="webhook",f.BUILDER="builder",f.CREATOR="creator",f.GLOBAL_BUILDER="globalBuilder",f.QUERY="query",f.VIEW="view",f.LEGACY_VIEW="legacy_view",f))(qo||{});var Ko=s(t=>t.hosting==="cloud","isCloudAccount");var Qo=s(t=>t.authType==="sso","isSSOAccount");var C="_",Pe="\uFFF0",or=s(t=>`${t}${C}`,"prefixed"),ce=(V=>(V.USER="us",V.GROUP="gr",V.CONFIG="config",V.TEMPLATE="template",V.WORKSPACE="app",V.DEV="dev",V.WORKSPACE_DEV="app_dev",V.WORKSPACE_METADATA="app_metadata",V.ROLE="role",V.DEV_INFO="devinfo",V.AUTOMATION_LOG="log_au",V.ACCOUNT_METADATA="acc_metadata",V.PLUGIN="plg",V.DATASOURCE="datasource",V.DATASOURCE_PLUS="datasource_plus",V.APP_BACKUP="backup",V.TABLE="ta",V.ROW="ro",V.AUTOMATION="au",V.LINK="li",V.WEBHOOK="wh",V.INSTANCE="inst",V.LAYOUT="layout",V.SCREEN="screen",V.QUERY="query",V.DEPLOYMENTS="deployments",V.METADATA="metadata",V.MEM_VIEW="view",V.USER_FLAG="flag",V.AUTOMATION_METADATA="meta_au",V.AUDIT_LOG="al",V.SCIM_LOG="scimlog",V.ROW_ACTIONS="ra",V.OAUTH2_CONFIG="oauth2",V.OAUTH2_CONFIG_LOG="oauth2log",V.AGENT="agent",V.CHAT_APP="chatapp",V.CHAT_CONVERSATION="chatconvo",V.AGENT_TOOL_SOURCE="agenttoolsource",V.AGENT_FILE="agentfile",V.AGENT_LOG_SESSION="agentlogsession",V.AGENT_LOG_REQUEST="agentlogrequest",V.KNOWLEDGE_BASE_FILE="knowledgebasefile",V.AI_CONFIG="aiconfig",V.LITELLM_KEY="litellmkey",V.VECTOR_STORE="vectordb",V.KNOWLEDGE_BASE="knowledgebase",V.WORKSPACE_APP="workspace_app",V.WORKSPACE_FAVOURITE="workspace_favourite",V.AUTO_COLUMN_STATE="autocolumn_state",V))(ce||{});var Pt=(e=>(e.USER_METADATA="ta_users",e))(Pt||{});function jo(t){return!!t.providerType}s(jo,"isSSOUser");var qc=(d=>(d.OBJECT="object",d.STRING="string",d.BOOLEAN="boolean",d.NUMBER="number",d.ARRAY="array",d.JSON="json",d.DATE="date",d.DATETIME="datetime",d.ATTACHMENT="attachment",d.LONGFORM="longform",d))(qc||{}),Kc=(_=>(_.TABLE="table",_.ROW="row",_.ROWS="rows",_.WIDE="wide",_.QUERY="query",_.QUERY_PARAMS="queryParams",_.QUERY_LIMIT="queryLimit",_.LOOP_OPTION="loopOption",_.ITEM="item",_.CODE="code",_.FILTERS="filters",_.COLUMN="column",_.TRIGGER_SCHEMA="triggerSchema",_.CRON="cron",_.WEBHOOK_URL="webhookUrl",_.AUTOMATION="automation",_.AUTOMATION_FIELDS="automationFields",_.MULTI_ATTACHMENTS="multi_attachments",_.TRIGGER_FILTER="trigger_filter",_.CATEGORIES="categories",_.AGENT="agent",_.OUTPUT_SCHEMA="outputSchema",_))(Kc||{}),Qc=(c=>(c.ROW_SAVED="ROW_SAVED",c.ROW_UPDATED="ROW_UPDATED",c.ROW_DELETED="ROW_DELETED",c.WEBHOOK="WEBHOOK",c.APP="APP",c.CRON="CRON",c.ROW_ACTION="ROW_ACTION",c.EMAIL="EMAIL",c))(Qc||{});var jc=(D=>(D.SEND_EMAIL_SMTP="SEND_EMAIL_SMTP",D.CREATE_ROW="CREATE_ROW",D.GET_ROW="GET_ROW",D.UPDATE_ROW="UPDATE_ROW",D.DELETE_ROW="DELETE_ROW",D.QUERY_ROWS="QUERY_ROWS",D.EXECUTE_BASH="EXECUTE_BASH",D.OUTGOING_WEBHOOK="OUTGOING_WEBHOOK",D.EXECUTE_SCRIPT="EXECUTE_SCRIPT",D.EXECUTE_SCRIPT_V2="EXECUTE_SCRIPT_V2",D.EXECUTE_QUERY="EXECUTE_QUERY",D.SERVER_LOG="SERVER_LOG",D.DELAY="DELAY",D.FILTER="FILTER",D.API_REQUEST="API_REQUEST",D.LOOP="LOOP",D.COLLECT="COLLECT",D.OPENAI="OPENAI",D.TRIGGER_AUTOMATION_RUN="TRIGGER_AUTOMATION_RUN",D.BRANCH="BRANCH",D.CLASSIFY_CONTENT="CLASSIFY_CONTENT",D.PROMPT_LLM="PROMPT_LLM",D.TRANSLATE="TRANSLATE",D.SUMMARISE="SUMMARISE",D.GENERATE_TEXT="GENERATE_TEXT",D.EXTRACT_FILE_DATA="EXTRACT_FILE_DATA",D.EXTRACT_STATE="EXTRACT_STATE",D.LOOP_V2="LOOP_V2",D.AGENT="AGENT",D.discord="discord",D.slack="slack",D.zapier="zapier",D.integromat="integromat",D.n8n="n8n",D))(jc||{}),oh=[...Object.values(jc),...Object.values(Qc)];function ah(t){return t.stepId==="BRANCH"}s(ah,"isBranchStep");var Hc="bb_internal";var uh=["attachment_single","attachment","signature_single","bb_reference","json","array"];var tf={};P(tf,{AutomationViewMode:()=>Wa,BUDIBASE_DATASOURCE_TYPE:()=>Hd,Config:()=>ef,Cookie:()=>en,DEFAULT_BB_DATASOURCE_ID:()=>bn,DEFAULT_EMPLOYEE_TABLE_ID:()=>Xd,DEFAULT_EXPENSES_TABLE_ID:()=>Jd,DEFAULT_INVENTORY_TABLE_ID:()=>zd,DEFAULT_JOBS_TABLE_ID:()=>Yd,DEFAULT_TENANT_ID:()=>ae,DeprecatedViews:()=>jn,DesignDocuments:()=>Os,DocumentType:()=>ce,GlobalRole:()=>Zd,Header:()=>We,InternalTable:()=>Pt,MAX_VALID_DATE:()=>Va,MIN_VALID_DATE:()=>Hy,SEPARATOR:()=>C,SQLITE_DESIGN_DOC_ID:()=>Rt,SQS_DATASOURCE_INTERNAL:()=>jd,StaticDatabases:()=>fe,UNICODE_MAX:()=>Pe,USER_METADATA_PREFIX:()=>_s,UserStatus:()=>Ga,ViewName:()=>$t,WORKSPACE_DEV:()=>$a,WORKSPACE_DEV_PREFIX:()=>tt,WORKSPACE_PREFIX:()=>et});var We=(w=>(w.API_KEY="x-budibase-api-key",w.LICENSE_KEY="x-budibase-license-key",w.API_VER="x-budibase-api-version",w.APP_ID="x-budibase-app-id",w.SESSION_ID="x-budibase-session-id",w.CLIENT="x-budibase-client",w.TYPE="x-budibase-type",w.PREVIEW_ROLE="x-budibase-role",w.TENANT_ID="x-budibase-tenant-id",w.VERIFICATION_CODE="x-budibase-verification-code",w.RETURN_VERIFICATION_CODE="x-budibase-return-verification-code",w.RESET_PASSWORD_CODE="x-budibase-reset-password-code",w.RETURN_RESET_PASSWORD_CODE="x-budibase-return-reset-password-code",w.TOKEN="x-budibase-token",w.CSRF_TOKEN="x-csrf-token",w.CORRELATION_ID="x-budibase-correlation-id",w.AUTHORIZATION="authorization",w.MIGRATING_APP="x-budibase-migrating-app",w.SKIP_MIGRATING_WAIT="x-budibase-migrating-app-skip-wait",w.COOKIE="cookie",w))(We||{});var Cn={WORKSPACES:"/builder/workspaces",SETTINGS_EMAIL:"/builder/settings/email",SETTINGS_AUTH:"/builder/settings/auth",SETTINGS_PEOPLE_USERS:"/builder/settings/people/users",APPS:"/builder/apps"},bi={ACCOUNT:"/portal/account",BILLING:"/portal/billing",TENANTS:"/portal/tenants",UPGRADE:"/portal/upgrade"};var $e={Equals:{value:"equal",label:"Equals"},NotEquals:{value:"notEqual",label:"Not equals"},Empty:{value:"empty",label:"Is empty"},NotEmpty:{value:"notEmpty",label:"Is not empty"},StartsWith:{value:"string",label:"Starts with"},Like:{value:"fuzzy",label:"Like"},MoreThan:{value:"rangeLow",label:"More than or equal to"},LessThan:{value:"rangeHigh",label:"Less than or equal to"},Contains:{value:"contains",label:"Contains"},NotContains:{value:"notContains",label:"Does not contain"},In:{value:"oneOf",label:"Is in"},ContainsAny:{value:"containsAny",label:"Has any"}},ch={integer:{max:2147483647,min:-2147483648},int:{max:2147483647,min:-2147483648},smallint:{max:32767,min:-32768},mediumint:{max:8388607,min:-8388608}};var bn="datasource_internal_bb_default";var mr={};P(mr,{ColumnSplitter:()=>Ud,NoEmptyFilterStrings:()=>Gy,buildQuery:()=>Vy,cleanupQuery:()=>kd,fixupFilterArrays:()=>Bd,getKeyNumbering:()=>Fd,getValidOperatorsForType:()=>nb,hasFilters:()=>Ld,limit:()=>Ky,recurseLogicalOperators:()=>Md,removeKeyNumbering:()=>Ho,runQuery:()=>Ma,search:()=>ob,sort:()=>qy,splitFiltersArray:()=>Yo});var Qn=B(lh());var _t={};P(_t,{filterValueToLabel:()=>bO,hasSchema:()=>xO,isSupportedUserSearch:()=>ph,nameToUrl:()=>LO,parallelForeach:()=>CO,processSearchFilters:()=>Jc,toMap:()=>PO,trimOtherProps:()=>vO,unreachable:()=>RO});var fh=B(require("lodash/pick"));var DO=["field","operator","value","type","externalType","valueType","noValue","formulaType"];function RO(t,e){let r=e?.message||`No such case in exhaustive switch: ${t}`;if(!!!e?.doNotThrow)throw new Error(r)}s(RO,"unreachable");async function CO(t,e,r){let n=[],i=Symbol.asyncIterator in t,o=i?t[Symbol.asyncIterator]():t[Symbol.iterator](),a=s(async()=>{let u=await(i?o.next():Promise.resolve(o.next()));for(;!u.done;)await e(u.value),u=await(i?o.next():Promise.resolve(o.next()))},"executeNext");for(let u=0;u<r;u++)n.push(a());await Promise.all(n)}s(CO,"parallelForeach");function bO(){return Object.keys($e).reduce((t,e)=>{let n=$e[e];return t[n.value]=n.label,t},{})}s(bO,"filterValueToLabel");function xO(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null&&!(t instanceof Date)&&Object.keys(t).length>0}s(xO,"hasSchema");function vO(t,e){return Object.keys(t).filter(n=>e.includes(n)).reduce((n,i)=>({...n,[i]:t[i]}),{})}s(vO,"trimOtherProps");function ph(t){let e=[{op:"string",key:"email"},{op:"fuzzy",key:"email"},{op:"equal",key:"_id"},{op:"oneOf",key:"_id"}],{allOr:r,onEmptyFilter:n,...i}=t;for(let[o,a]of Object.entries(i)){if(typeof a!="object")return!1;if(Go(o)){for(let l of t[o].conditions)if(!ph(l))return!1;return!0}let u=Object.keys(a||{});if(u.length===0)continue;if(!e.find(l=>l.op===o&&u.length===1&&u[0]===l.key))return!1}return!0}s(ph,"isSupportedUserSearch");function Jc(t){if(!t||t.length===0)return;let{allOr:e,onEmptyFilter:r,filters:n}=Yo(t);return{logicalOperator:"all",onEmptyFilter:r||"all",groups:[{logicalOperator:e?"any":"all",filters:n.map(i=>{let o=(0,fh.default)(i,DO);return o.field=Ho(o.field),o})}]}}s(Jc,"processSearchFilters");function PO(t,e){return e.reduce((r,n)=>(r[n[t]]=n,r),{})}s(PO,"toMap");var NO=s(t=>t?t.trim():null,"resolveWorkspaceName"),UO=s(t=>{let e,r=NO(t);e=r?r.toLowerCase():"";let n=e?e.replace(/\s+/g,"-"):"";return encodeURI(n)},"resolveWorkspaceUrl"),LO=s(t=>{let e=UO(t);return MO(e)},"nameToUrl"),MO=s(t=>(t&&!t.startsWith("/")&&(t=`/${t}`),t===""?null:t),"tidyUrl");var Ue={};P(Ue,{accountPortalAccountUrl:()=>Id,accountPortalBillingUrl:()=>wd,accountPortalUpgradeUrl:()=>Dd,agentChatUrl:()=>Pd,appAgentUrl:()=>Ua,appChatUrl:()=>Na,builderAppsUrl:()=>vd,builderSettingsAuthUrl:()=>bd,builderSettingsEmailUrl:()=>Cd,builderSettingsPeopleUsersUrl:()=>xd,builderWorkspacesUrl:()=>Rd,cancelableTimeout:()=>mh,cron:()=>ZC,deepGet:()=>Xc,duplicateName:()=>HC,escapeHtml:()=>$O,formatBytes:()=>XC,getSequentialName:()=>YC,getUserColor:()=>FO,getUserInitials:()=>kO,getUserLabel:()=>BO,isGoogleSheets:()=>GO,isSQL:()=>VO,lists:()=>Od,retry:()=>qO,roles:()=>_d,schema:()=>Es,structuredOutput:()=>Td,urlHelpers:()=>By,views:()=>Ad,wait:()=>Zc,withTimeout:()=>WO});var Xc=s((t,e)=>{if(!t||!e)return null;if(Object.prototype.hasOwnProperty.call(t,e))return t[e];let r=e.split(".");for(let n=0;n<r.length;n++)t=t?.[r[n]];return t},"deepGet"),kO=s(t=>{if(!t)return"?";let e="";return e+=t.firstName?t.firstName[0]:"",e+=t.lastName?t.lastName[0]:"",e!==""?e:t.email?.[0]||"U"},"getUserInitials"),FO=s(t=>{let e=t?._id;if(!e)return"var(--spectrum-global-color-blue-400)";e=e.replace("ro_ta_users_","");let r=1;for(let n=0;n<e.length;n++)r+=e.charCodeAt(n),r=r%36;return`hsl(${r*10}, 50%, 40%)`},"getUserColor"),BO=s(t=>{if(!t)return"";let{firstName:e,lastName:r,email:n}=t;return e&&r?`${e} ${r}`:e||r||n},"getUserLabel");function mh(t){let e;return[new Promise((r,n)=>{e=setTimeout(()=>{n({status:301,errno:"ETIME"})},t)}),()=>{clearTimeout(e)}]}s(mh,"cancelableTimeout");async function WO(t,e){let[r,n]=mh(t),i=await Promise.race([e(),r]);return n(),i}s(WO,"withTimeout");var $O=s(t=>t==null?"":String(t).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;"),"escapeHtml");function GO(t){return t==="GOOGLE_SHEETS"}s(GO,"isGoogleSheets");function VO(t){return!t||!t.source?!1:["POSTGRES","SQL_SERVER","MYSQL","ORACLE"].indexOf(t.source)!==-1||t.isSQL===!0}s(VO,"isSQL");async function Zc(t){return new Promise(e=>setTimeout(e,t))}s(Zc,"wait");async function qO(t,e){let{times:r=3}=e||{};if(r<1)throw new Error(`invalid retry count: ${r}`);let n;for(let i=0;i<r;i++){let o=1.5**i*1e3*(Math.random()+.5);await Zc(o);try{return await t()}catch(a){n=a}}throw n}s(qO,"retry");var Py=B(Ot()),Ny=B(xy());var vy="(Input cron: ",PC={"smaller than lower limit":"less than","bigger than upper limit":"greater than",daysOfMonth:"'days of the month'",daysOfWeek:"'days of the week'",years:"'years'",months:"'months'",hours:"'hours'",minutes:"'minutes'",seconds:"'seconds'"};function NC(t){let e=[];for(let r of t){r.includes(vy)&&(r=r.split(vy)[0].trim());for(let[n,i]of Object.entries(PC))r.includes(n)&&(r=r.replace(new RegExp(n,"g"),i));e.push(r)}return e}s(NC,"improveErrors");function Uy(t,e=4){let r=Ny.default.parseExpression(t),n=[];for(let i=0;i<e;i++)n.push(r.next().toString());return n}s(Uy,"getNextExecutionDates");function Ly(t){let e=(0,Py.default)(t,{preset:"npm-cron-schedule",override:{useSeconds:!1}});return e.isValid()?{valid:!0}:{valid:!1,err:NC(e.getError())}}s(Ly,"validate");var Es={};P(Es,{decodeNonAscii:()=>yd,encodeNonAscii:()=>MC,isDeprecatedSingleUserColumn:()=>UC,isNumeric:()=>kC,isRequired:()=>LC});function UC(t){return t.type==="bb_reference"&&t.subtype==="user"&&t.constraints?.type!=="array"}s(UC,"isDeprecatedSingleUserColumn");function LC(t){return!!t&&(typeof t.presence!="boolean"&&t.presence?.allowEmpty===!1||t.presence===!0)}s(LC,"isRequired");function MC(t){return t.split("").map(e=>e.charCodeAt(0)>127?"\\u"+e.charCodeAt(0).toString(16).padStart(4,"0"):e).join("")}s(MC,"encodeNonAscii");function yd(t){return t.replace(/\\u([0-9a-fA-F]{4})/g,(e,r)=>String.fromCharCode(parseInt(r,16)))}s(yd,"decodeNonAscii");function kC(t){return t.type==="number"||t.type==="bigint"}s(kC,"isNumeric");var Td={};P(Td,{normalizeSchemaForStructuredOutput:()=>FC});function FC(t){function e(n){if(typeof n!="object"||n===null)return n;let i={...n};if(i.type==="object"&&(i.additionalProperties=!1,i.properties&&typeof i.properties=="object"&&i.properties!==null)){let o=i.properties,a=[],u={};for(let[d,f]of Object.entries(o))if(typeof f=="object"&&f!==null){let h=f;if(h.required===!0){a.push(d);let{required:p,...S}=h;u[d]=e(S)}else u[d]=e(h)}else u[d]=f;i.properties=u;let c=Array.isArray(i.required)?i.required:[],l=[...new Set([...c,...a])];l.length>0?i.required=l:i.required=Object.keys(u)}i.type==="array"&&i.items&&typeof i.items=="object"&&i.items!==null&&(i.items=e(i.items));for(let o of["anyOf","oneOf","allOf"])Array.isArray(i[o])&&(i[o]=i[o].map(a=>e(a)));return i}s(e,"processSchema");let r=e(t);return r.type==="array"?r={type:"object",properties:{items:r},required:["items"],additionalProperties:!1}:r.type!=="object"&&(r={type:"object",properties:{value:r},required:["value"],additionalProperties:!1}),r}s(FC,"normalizeSchemaForStructuredOutput");var Ad={};P(Ad,{basicFields:()=>VC,calculationFields:()=>GC,hasCalculationFields:()=>$C,isBasicViewField:()=>BC,isCalculationField:()=>ys,isCalculationView:()=>WC,isV2:()=>qC,isVisible:()=>My});var Sd=B(require("lodash/pickBy"));function ys(t){return"calculationType"in t}s(ys,"isCalculationField");function BC(t){return!ys(t)}s(BC,"isBasicViewField");function WC(t){return t.type==="calculation"}s(WC,"isCalculationView");function $C(t){return Object.values(t.schema||{}).some(ys)}s($C,"hasCalculationFields");function GC(t){return(0,Sd.default)(t.schema||{},ys)}s(GC,"calculationFields");function My(t){return t.visible!==!1}s(My,"isVisible");function VC(t,e){let{visible:r=!0}=e||{};return(0,Sd.default)(t.schema||{},n=>!ys(n)&&(!r||My(n)))}s(VC,"basicFields");function qC(t){return t.version===2}s(qC,"isV2");var _d={};P(_d,{checkForRoleInheritanceLoops:()=>QC});function KC(t){return`role${C}${t}`}s(KC,"prefixForCheck");function QC(t){let e=new Map;t.forEach(o=>{e.set(o._id,o)});let r=new Set,n=new Set;function i(o){let a=KC(o);if(n.has(o)||n.has(a))return!0;if(r.has(o)||r.has(a))return!1;n.add(o);let u=e.get(a)||e.get(o);if(!u)return n.delete(o),!1;let c=Array.isArray(u.inherits)?u.inherits:[u.inherits];for(let l of c)if(l&&i(l))return!0;return n.delete(o),r.add(o),!1}return s(i,"hasLoop"),!!t.find(o=>i(o._id))}s(QC,"checkForRoleInheritanceLoops");var Od={};P(Od,{punctuateList:()=>jC});function jC(t){return t.length===0?"":t.length===1?t[0]:t.length===2?t.join(" and "):t.slice(0,-1).join(", ")+" and "+t[t.length-1]}s(jC,"punctuateList");var HC=s((t,e)=>{let r=new RegExp("\\s(\\d+)$"),n=t.split(r)[0],i=new RegExp(`${n}\\s(\\d+)$`),o=[];e.filter(u=>{if(u===n)return!0;let c=u.match(i);return c?(o.push(parseInt(c[1])),!0):!1}),o.sort((u,c)=>u-c);let a;if(o.length===0)a=1;else{for(let u=0;u<o.length;u++)if(o[u]!==u+1){a=u+1;break}a||(a=o.length+1)}return`${n} ${a}`},"duplicateName"),YC=s((t,e,{getName:r,numberFirstItem:n,separator:i=""}={})=>{if(!e?.length)return"";let o=e.trim(),a=n?`${e}1`:o;if(!t?.length)return a;let u=0;return t.forEach(c=>{let l=r?.(c)??c;if(typeof l!="string"||!l.startsWith(o))return;let d=l.split(o);if(d.length!==2)return;d[1].trim()===""&&(d[1]="1");let f=parseInt(d[1]);f>u&&(u=f)}),u===0?a:`${e}${i}${u+1}`},"getSequentialName");var ky=s(t=>t?t.startsWith("/")?t:`/${t}`:"","normalizePath"),zC=s(t=>t?t.endsWith("/")?t.slice(0,-1):t:"","normalizeBase"),Wt=s((t,e)=>{let r=ky(e);if(!t)return r;let n=zC(t);return r?`${n}${r}`:n},"joinBaseAndPath"),JC=s(t=>t.replace(/\/+$/,""),"trimTrailingSlash"),Fy=s(t=>JC(ky(t)),"normalizeAppUrl"),Id=s(t=>Wt(t,bi.ACCOUNT),"accountPortalAccountUrl"),wd=s(t=>Wt(t,bi.BILLING),"accountPortalBillingUrl"),Dd=s((t,e)=>{if(e){let r=Wt(t,bi.TENANTS),n=encodeURIComponent(e);return`${r}?managePlansTenantId=${n}`}return Wt(t,bi.UPGRADE)},"accountPortalUpgradeUrl"),Rd=s(t=>Wt(t,Cn.WORKSPACES),"builderWorkspacesUrl"),Cd=s(t=>Wt(t,Cn.SETTINGS_EMAIL),"builderSettingsEmailUrl"),bd=s(t=>Wt(t,Cn.SETTINGS_AUTH),"builderSettingsAuthUrl"),xd=s(t=>Wt(t,Cn.SETTINGS_PEOPLE_USERS),"builderSettingsPeopleUsersUrl"),vd=s(t=>Wt(t,Cn.APPS),"builderAppsUrl"),Na=s(t=>`/app-chat${Fy(t)}`,"appChatUrl"),Ua=s((t,e)=>`${Fy(t)}/agent/${encodeURIComponent(e)}`,"appAgentUrl"),Pd=s((t,e)=>Na(Ua(t,e)),"agentChatUrl"),By={accountPortalAccountUrl:Id,accountPortalBillingUrl:wd,accountPortalUpgradeUrl:Dd,builderWorkspacesUrl:Rd,builderSettingsEmailUrl:Cd,builderSettingsAuthUrl:bd,builderSettingsPeopleUsersUrl:xd,builderAppsUrl:vd,appChatUrl:Na,appAgentUrl:Ua,agentChatUrl:Pd};function XC(t,e=""){let r=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],i=0,o=typeof t=="string"?parseInt(t,10):t||0;for(;o>=1024&&i<r.length-1&&++i;)o/=1024;return`${o.toFixed(o<10&&i>0?1:0)}${e}${r[i]}`}s(XC,"formatBytes");var ZC={getNextExecutionDates:Uy,validate:Ly};var La=B(require("lodash/isPlainObject")),Nd=B(require("lodash/isEmpty"));var tb=/{{([^{].*?)}}/g,$y=Object.values(Di),rb=[...Object.values(Mr),...Object.values(sr),...Object.values(Rn)],nb=s((t,e,r)=>{let n=$e,i=[n.Equals,n.NotEquals,n.StartsWith,n.Like,n.Empty,n.NotEmpty,n.In],o=[n.Equals,n.NotEquals,n.MoreThan,n.LessThan,n.Empty,n.NotEmpty,n.In],a=[n.Contains,n.NotContains,n.ContainsAny,n.Empty,n.NotEmpty],u=[],{type:c,formulaType:l,subtype:d}=t;c==="string"?d==="array"?u=a:u=i:c==="number"||c==="bigint"?u=o:c==="options"?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:c==="array"?u=a:c==="boolean"?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty]:c==="longform"?u=i:c==="datetime"?u=o:c==="formula"&&l==="static"?u=i.concat([n.MoreThan,n.LessThan]):c==="ai"?u=i.concat([n.MoreThan,n.LessThan]):c==="bb_reference_single"||Es.isDeprecatedSingleUserColumn(t)?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:c==="bb_reference"?u=a:c==="barcodeqr"?u=i:c==="link"&&(u=[n.Empty,n.NotEmpty]);let f=r?.tableId?.includes("datasource_plus");return e==="_id"&&f&&(u=[n.Equals,n.NotEquals,n.In]),u},"getValidOperatorsForType"),Gy=[$e.StartsWith.value,$e.Like.value,$e.Equals.value,$e.NotEquals.value,$e.Contains.value,$e.NotContains.value,$e.ContainsAny.value,$e.In.value];function Md(t,e){for(let r of $y)t[r]&&(t[r].conditions=t[r].conditions.map(n=>e(n)));return t}s(Md,"recurseLogicalOperators");var kd=s(t=>{for(let e of Gy)if(t[e])for(let r of Object.keys(t)){if(r!==e)continue;if(typeof t[r]=="object")for(let[i,o]of Object.entries(t[r]))(o==null||o===""||ib(o))&&delete t[e][i]}return t=Md(t,kd),t},"cleanupQuery");function ib(t){return Array.isArray(t)&&t.length===0}s(ib,"isEmptyArray");var Ho=s(t=>Fd(t).key,"removeKeyNumbering"),Fd=s(t=>{if(typeof t=="string"&&t.match(/\d[0-9]*:/g)!=null){let e=t.split(":");return{prefix:`${e.shift()}:`,key:e.join(":")}}else return{key:t}},"getKeyNumbering"),Ud=class{static{s(this,"ColumnSplitter")}constructor(e,r){if(this.tableNames=e.map(n=>n.name),this.tableIds=e.map(n=>n._id),this.relationshipColumnNames=e.flatMap(n=>Object.keys(n.schema).filter(i=>n.schema[i].type==="link")),this.relationships=this.tableNames.concat(this.tableIds).concat(this.relationshipColumnNames).sort((n,i)=>i.length-n.length),r?.aliases){this.aliases={};for(let[n,i]of Object.entries(r.aliases))this.aliases[i]=n}this.columnPrefix=r?.columnPrefix}run(e){let{prefix:r,key:n}=Fd(e),i;if(this.aliases)for(let a of Object.keys(this.aliases||{})){let u=`${a}.`;n.startsWith(u)&&(i=this.aliases[a],n=n.slice(u.length))}let o;for(let a of this.relationships){let u=`${a}.`;if(n.startsWith(u)){let c=n.split(u);c.shift(),o=u,n=c.join(".");break}}return this.columnPrefix&&n.startsWith(this.columnPrefix)&&(n=yd(n.slice(this.columnPrefix.length))),{tableName:i,numberPrefix:r,relationshipPrefix:o,column:n}}};function sb(t){if(!t||!t?.operator||!t?.field)return;let e={},{operator:r,field:n,type:i,externalType:o}=t,{value:a}=t;(r==="empty"||r==="notEmpty")&&(a=null);let u=typeof a=="string"&&(a.match(tb)||[]).length>0;switch(i){case"datetime":if(!u&&r!=="empty"&&r!=="notEmpty"){if(!a)return;if(typeof a=="string")a=new Date(a).toISOString();else if(Vo(r))return e[r]??={},e[r][n]=a,e}break;case"number":typeof a=="string"&&!u&&(r==="oneOf"?a=a.split(",").map(parseFloat):a=parseFloat(a));break;case"boolean":a=`${a}`.toLowerCase()==="true";break;case"array":["contains","notContains","containsAny"].includes(r.toLocaleString())&&typeof a=="string"&&(a=a.split(","));break}if(Vo(r)){let l=ch[o]||{min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER};e[r]??={},e[r][n]={low:i==="number"?l.min:"0000-00-00T00:00:00.000Z",high:i==="number"?l.max:"9999-00-00T00:00:00.000Z"}}else if(r==="rangeHigh"&&a!=null&&a!=="")e.range??={},e.range[n]={...e.range[n],high:a};else if(r==="rangeLow"&&a!=null&&a!=="")e.range??={},e.range[n]={...e.range[n],low:a};else if(nh(r)||ih(r)||Vo(r))i==="boolean"?r==="equal"&&a===!1?(e.notEqual=e.notEqual||{},e.notEqual[n]=!0):r==="notEqual"&&a===!1?(e.equal=e.equal||{},e.equal[n]=!0):(e[r]??={},e[r][n]=a):(e[r]??={},e[r][n]=a);else throw new Error(`Unsupported operator: ${r}`);return e}s(sb,"buildCondition");function Yo(t){let e={filters:[]};for(let r of t)"operator"in r&&r.operator==="allOr"?e.allOr=!0:"onEmptyFilter"in r?e.onEmptyFilter=r.onEmptyFilter:e.filters.push(r);return e}s(Yo,"splitFiltersArray");function Vy(t){if(!t)return{};if(Array.isArray(t)&&(t=Jc(t),!t))return{};let e={};t.onEmptyFilter?e.onEmptyFilter=t.onEmptyFilter:e.onEmptyFilter="all";let r=Wy(t.logicalOperator||"all");return e[r]={conditions:(t.groups||[]).map(n=>{if(n.groups){let c=Vy(n);return delete c.onEmptyFilter,c}let{allOr:i,onEmptyFilter:o,filters:a}=Yo(n.filters||[]);o&&(e.onEmptyFilter=o);let u=i?"$or":"$and";return n.logicalOperator&&(u=Wy(n.logicalOperator)),{[u]:{conditions:a.map(sb).filter(c=>c)}}})},e}s(Vy,"buildQuery");function Wy(t){return t==="all"?"$and":"$or"}s(Wy,"logicalOperatorFromUI");function Bd(t){if(!t)return t;for(let e of Object.values(sr)){let r=t[e];if(!(r==null||!(0,La.default)(r)))for(let n of Object.keys(r)){if(Array.isArray(r[n]))continue;let i=r[n];typeof i=="string"?r[n]=i.split(",").map(o=>o.trim()):r[n]=[i]}}return Md(t,Bd),t}s(Bd,"fixupFilterArrays");function ob(t,e){let r=Ma(t,e.query);e.sort&&(r=qy(r,e.sort,e.sortOrder||"ascending",e.sortType));let n=r.length;e.limit&&(r=Ky(r,e.limit.toString()));let i={rows:r};return e.countRows&&(i.totalRows=n),i}s(ob,"search");function Ma(t,e){if(!t||!Array.isArray(t))return[];if(!e)return t;if(e=kd(e),e=Bd(e),!Ld(e)&&e.onEmptyFilter==="none")return[];let r=s((T,_)=>U=>{for(let[R,k]of Object.entries(e[T]||{})){let H=Go(T)?U:Xc(U,Ho(R)),Ie=_(H,k);if(e.allOr&&Ie)return!0;if(!e.allOr&&!Ie)return!1}return!e.allOr},"match"),n=r("string",(T,_)=>typeof T!="string"||typeof _!="string"?!1:T.toLowerCase().startsWith(_.toLowerCase())),i=r("fuzzy",(T,_)=>typeof T!="string"||typeof _!="string"?!1:T.toLowerCase().includes(_.toLowerCase())),o=r("range",(T,_)=>{if(T==null||T===""||((0,La.default)(_.low)&&(0,Nd.default)(_.low)&&(_.low=void 0),(0,La.default)(_.high)&&(0,Nd.default)(_.high)&&(_.high=void 0),_.low==null&&_.high==null))return!1;let U=+T;if(!isNaN(U)){let k=+_.low,H=+_.high;if(!isNaN(k)&&!isNaN(H))return U>=k&&U<=H;if(isNaN(k)){if(!isNaN(H))return U<=H}else return U>=k}let R=(0,Qn.default)(T);if(R.isValid()){let k=(0,Qn.default)(_.low||"0000-00-00T00:00:00.000Z"),H=(0,Qn.default)(_.high||"9999-00-00T00:00:00.000Z");if(k.isValid()&&H.isValid())return R.isAfter(k)&&R.isBefore(H)||R.isSame(k)||R.isSame(H);if(k.isValid())return R.isAfter(k)||R.isSame(k);if(H.isValid())return R.isBefore(H)||R.isSame(H)}return _.low!=null&&_.high!=null?T>=_.low&&T<=_.high:_.low!=null?T>=_.low:_.high!=null?T<=_.high:!1}),a=s((T,_)=>{if(Array.isArray(T)){for(let R of T)if(a(R,_))return!0;return!1}if(T&&typeof T=="object"&&typeof _=="string")return T._id===_;if(T===_)return!0;if(T==null&&_!=null||T!=null&&_==null)return!1;let U=(0,Qn.default)(T);if(U.isValid()){let R=(0,Qn.default)(_);if(R.isValid())return U.isSame(R)}return!1},"_valueMatches"),u=s(T=>(..._)=>!T(..._),"not"),c=r("equal",a),l=r("notEqual",u(a)),d=s(T=>typeof T=="string"?T==="":Array.isArray(T)?T.length===0:T&&typeof T=="object"?Object.keys(T).length===0:T==null,"_empty"),f=r("empty",d),h=r("notEmpty",u(d)),p=r("oneOf",(T,_)=>(typeof _=="string"&&(_=_.split(",")),typeof T=="number"&&(_=_.map(U=>parseFloat(U))),Array.isArray(_)?_.some(U=>a(T,U)):!1)),S=s(T=>(_,U)=>!Array.isArray(_)||(typeof U=="string"&&(U=U.split(","),typeof _[0]=="number"&&(U=U.map(R=>parseFloat(R)))),!Array.isArray(U))?!1:U.length===0?!0:U[T](R=>a(_,R)),"_contains"),m=r("contains",(T,_)=>Array.isArray(_)&&_.length===0?!0:S("every")(T,_)),E=r("notContains",(T,_)=>Array.isArray(_)&&_.length===0?!0:u(S("every"))(T,_)),y=r("containsAny",S("some")),I=r("$and",(T,_)=>{if(!_.length)return!1;for(let U of _)if(!Ma([T],U).length)return!1;return!0}),O=r("$or",(T,_)=>{if(!_.length)return!1;for(let U of _)if(Ma([T],{...U,allOr:!0}).length)return!0;return!1}),w=s(T=>{let _={string:n,fuzzy:i,range:o,equal:c,notEqual:l,empty:f,notEmpty:h,oneOf:p,contains:m,containsAny:y,notContains:E,$and:I,$or:O},U=Object.entries(e||{}).filter(([R,k])=>!["allOr","onEmptyFilter"].includes(R)&&k&&Object.keys(k).length>0).map(([R])=>_[R]?.(T)??!1);return Ld(e)?e.allOr?U.some(R=>R===!0):U.every(R=>R===!0):!0},"docMatch");return t.filter(w)}s(Ma,"runQuery");function qy(t,e,r,n="string"){if(!e||!r||!n)return t;let i=s(o=>o==null?o:n==="string"?`${o}`:parseFloat(o),"parse");return t.slice().sort((o,a)=>{let u=i(o[e]),c=i(a[e]),l=c==null||u>c?1:-1;return r.toLowerCase()==="descending"?l*-1:l})}s(qy,"sort");function Ky(t,e){let r=typeof e=="number"?e:parseFloat(e);return isNaN(r)?t:t.slice(0,r)}s(Ky,"limit");var Ld=s(t=>{if(!t)return!1;let e=s(r=>{for(let n of $y)if(r[n])for(let i of r[n]?.conditions||[]){let o=e(i);if(o)return o}for(let n of rb){let i=r[n];if(!i||typeof i!="object")continue;if(Object.entries(i).filter(a=>{let u=a[1]!==void 0||a[1]!==null||a[1]!=="";return n==="notEmpty"||u}).length!==0)return!0}return!1},"check");return e(t)},"hasFilters");var Le={};P(Le,{applications:()=>$d,automations:()=>Gd,screens:()=>Qd,users:()=>Kd});var $d={};P($d,{getDevAppID:()=>ab,getProdAppID:()=>Ss});var Wd=or("app"),Ts=or("app_dev");function ab(t){if(!t)throw new Error("No app ID provided");if(t.startsWith(Ts))return t;let e=t.split(Wd);e.shift();let r=e.join(Wd);return`${Ts}${r}`}s(ab,"getDevAppID");function Ss(t){if(!t)throw new Error("No app ID provided");if(!t.startsWith(Ts))return t;let e=t.split(Ts);e.shift();let r=e.join(Ts);return`${Wd}${r}`}s(Ss,"getProdAppID");var Gd={};P(Gd,{checkForCollectStep:()=>db,isAppAction:()=>lb,isRowAction:()=>ub,isWebhookAction:()=>cb});function ub(t){return t.definition.trigger?.stepId==="ROW_ACTION"}s(ub,"isRowAction");function cb(t){return t.definition.trigger?.stepId==="WEBHOOK"}s(cb,"isWebhookAction");function lb(t){return t.definition.trigger?.stepId==="APP"}s(lb,"isAppAction");function Qy(t){if(!t||!Array.isArray(t))return!1;for(let e of t){if(e.stepId==="COLLECT")return!0;if(ah(e)&&e.inputs.children){for(let r of Object.values(e.inputs.children))if(Qy(r))return!0}}return!1}s(Qy,"hasCollectBlockRecursive");function db(t){return Qy(t.definition.steps)}s(db,"checkForCollectStep");var Kd={};P(Kd,{canCreateApps:()=>fb,containsUserID:()=>Sb,getGlobalUserID:()=>Tb,getUserAppGroups:()=>Ab,hasAdminPermissions:()=>qd,hasAppBuilderPermissions:()=>Fa,hasBuilderPermissions:()=>Eb,hasCreatorPermissions:()=>Ba,isAdmin:()=>As,isAdminOrBuilder:()=>mb,isAdminOrGlobalBuilder:()=>hb,isAdminOrWorkspaceBuilder:()=>pb,isBuilder:()=>Vd,isCreator:()=>yb,isGlobalBuilder:()=>ka,userAppAccessList:()=>_b});function Vd(t,e){return t?t.builder?.global?!0:!!(e&&t.builder?.apps?.includes(Ss(e))):!1}s(Vd,"isBuilder");function ka(t){return Vd(t)&&!Fa(t)||As(t)}s(ka,"isGlobalBuilder");function fb(t){return ka(t)||Ba(t)}s(fb,"canCreateApps");function As(t){return t?qd(t):!1}s(As,"isAdmin");function pb(t,e){return t?!!(As(t)||e&&t.builder?.apps?.includes(Ss(e))):!1}s(pb,"isAdminOrWorkspaceBuilder");function mb(t,e){return Vd(t,e)||As(t)}s(mb,"isAdminOrBuilder");function hb(t){return ka(t)||As(t)}s(hb,"isAdminOrGlobalBuilder");function Fa(t){if(!t)return!1;let e=t.builder?.apps?.length;return!!!t.builder?.global&&e!=null&&e>0}s(Fa,"hasAppBuilderPermissions");function gb(t){return t?!!Object.values(t.roles??{}).find(e=>e==="CREATOR"):!1}s(gb,"hasAppCreatorPermissions");function Eb(t){return t?t.builder?.global||Fa(t)||Ba(t):!1}s(Eb,"hasBuilderPermissions");function qd(t){return t?!!t.admin?.global:!1}s(qd,"hasAdminPermissions");function Ba(t){return t?!!t.builder?.creator:!1}s(Ba,"hasCreatorPermissions");function yb(t){return t?ka(t)||qd(t)||Ba(t)||Fa(t)||gb(t):!1}s(yb,"isCreator");function Tb(t){if(typeof t!="string")return t;let e=`ro${C}ta_users${C}`;return t.startsWith(e)?t.split(e)[1]:t}s(Tb,"getGlobalUserID");function Sb(t){return typeof t!="string"?!1:t.includes(`us${C}`)}s(Sb,"containsUserID");function jy(t,e){return e?.filter(r=>r.users?.find(n=>n._id===t))||[]}s(jy,"getUserGroups");function Ab(t,e,r){let n=Ss(t);return jy(e,r).filter(o=>Object.keys(o.roles||{}).find(a=>a===n))}s(Ab,"getUserAppGroups");function _b(t,e){let n=jy(t._id,e).flatMap(o=>Object.keys(o.roles||{})),i=[...Object.keys(t?.roles||{}),...n];return[...new Set(i)]}s(_b,"userAppAccessList");var Qd={};P(Qd,{findInSettings:()=>Ob});function Ob(t,e){let r=[];function n(i,o=""){for(let[a,u]of Object.entries(i))u&&(typeof u=="string"&&u.includes(e)?r.push({setting:o?`${o}.${a}`:a,value:u}):typeof u=="object"&&n(u,a))}return s(n,"recurse"),n(t.props),r}s(Ob,"findInSettings");var Wa=(n=>(n.ALL="all",n.AUTOMATION="automation",n.STATUS="status",n))(Wa||{}),$t=(d=>(d.USER_BY_WORKSPACE="by_app",d.USER_BY_EMAIL="by_email2",d.BY_API_KEY="by_api_key",d.LINK="by_link",d.ROUTING="screen_routes_2",d.AUTOMATION_LOGS="automation_logs",d.ACCOUNT_BY_EMAIL="account_by_email",d.PLATFORM_USERS_LOWERCASE="platform_users_lowercase_2",d.USER_BY_GROUP="user_by_group",d.WORKSPACE_BACKUP_BY_TRIGGER="by_trigger",d))($t||{}),jn={by_email2:["by_email"]},fe={GLOBAL:{name:"global-db",docs:{apiKeys:"apikeys",usageQuota:"usage_quota",licenseInfo:"license_info",environmentVariables:"environmentvariables"}},PLATFORM_INFO:{name:"global-info",docs:{tenants:"tenants",install:"install"}},AUDIT_LOGS:{name:"audit-logs"},SCIM_LOGS:{name:"scim-logs"},SELF_HOST_CLOUD:{name:"self-host-cloud"}},et=or("app"),$a=or("app_dev"),tt=$a,jd="internal",Hd="budibase",Rt="_design/sqlite",Yd="ta_bb_jobs",zd="ta_bb_inventory",Jd="ta_bb_expenses",Xd="ta_bb_employee",_s=`ro${C}ta_users${C}`,Os=(r=>(r[r.SQLITE=Rt]="SQLITE",r.MIGRATIONS="_design/migrations",r))(Os||{});var Ga=(r=>(r.ACTIVE="active",r.INACTIVE="inactive",r))(Ga||{}),en=(u=>(u.Auth="budibase:auth",u.Init="budibase:init",u.ACCOUNT_RETURN_URL="budibase:account:returnurl",u.DatasourceAuth="budibase:datasourceauth",u.OIDC_CONFIG="budibase:oidc:config",u.FeatureFlags="budibase:featureflags",u.RecaptchaSession="budibase:recaptcha",u))(en||{}),Zd=(i=>(i.OWNER="owner",i.ADMIN="admin",i.BUILDER="builder",i.WORKSPACE_MANAGER="workspace_manager",i))(Zd||{}),ef=(c=>(c.SETTINGS="settings",c.ACCOUNT="account",c.SMTP="smtp",c.GOOGLE="google",c.OIDC="oidc",c.OIDC_LOGOS="logos_oidc",c.SCIM="scim",c.AI="AI",c))(ef||{}),Hy=new Date(-2147483647e3),Va=new Date(2147483647e3),ae="default";var Ro={};P(Ro,{CacheKey:()=>ye,TTL:()=>mn,bustCache:()=>li,destroy:()=>no,docWritethrough:()=>Rp,generic:()=>io,get:()=>hn,invite:()=>xp,keys:()=>Mu,passwordReset:()=>vp,store:()=>zt,user:()=>br,withCache:()=>wr,withCacheWithDynamicTTL:()=>ZS,workspace:()=>Ms,writethrough:()=>om});var Rp={};P(Rp,{DocWritethrough:()=>Dp,DocWritethroughProcessor:()=>ro,getProcessor:()=>dP,init:()=>XS});var wp={};P(wp,{BudibaseQueue:()=>Et,InMemoryQueue:()=>Ou,JobQueue:()=>oi,QueuedProcessor:()=>Ip,UnretriableError:()=>Uu,shutdown:()=>wv});var rf=require("crypto"),Ka=require("fs"),Jy=require("lodash"),Is=require("path");var Ib=process.env.TOP_LEVEL_PATH||process.env.SERVER_TOP_LEVEL_PATH||(0,Is.resolve)((0,Is.join)(__dirname,"..","..","..")),Yy=!1;!Yy&&qa()&&!nf()&&(require("dotenv").config({path:(0,Is.join)(Ib,".env")}),Yy=!0);function nf(){return Xy()}s(nf,"isTest");function Xy(){return process.env.NODE_ENV==="jest"||process.env.JEST_WORKER_ID!=null&&process.env.JEST_WORKER_ID!=="null"}s(Xy,"isJest");function qa(){return process.env.NODE_ENV!=="production"}s(qa,"isDev");function wb(t){if(t)return parseInt(t)}s(wb,"parseIntSafe");var Hn={BACKUPS:"backups",APPS:"prod-budi-app-assets",TEMPLATES:"templates",GLOBAL:"global",PLUGINS:"plugins",TEMP:"tmp-file-attachments"},zy=!!parseInt(process.env.SELF_HOSTED||"");function Db(){return process.env.API_ENCRYPTION_KEY?process.env.API_ENCRYPTION_KEY:process.env.JWT_SECRET}s(Db,"getAPIEncryptionKey");function Rb(){return process.env.HTTP_LOGGING===void 0?!0:process.env.HTTP_LOGGING}s(Rb,"httpLogging");function Cb(){function t(r){function n(u,c){let l=`${c}/${u}`;if((0,Ka.existsSync)(l))return l;let d=`${c}/..`;return d===c?null:n(u,d)}s(n,"findFileInAncestors");let i=n(r,process.cwd()),o=(0,Ka.readFileSync)(i,"utf-8");return JSON.parse(o)}s(t,"getParentFile");let e;if(qa()&&!nf())try{e=`${t("lerna.json").version}+local`}catch{}try{let r=t("package.json");return{VERSION:e||process.env.BUDIBASE_VERSION||r.version,SERVICE_NAME:r.name}}catch{return{VERSION:process.env.BUDIBASE_VERSION||"",SERVICE_NAME:""}}}s(Cb,"getPackageJsonFields");function bb(){return pt.SERVICE_TYPE==="worker"}s(bb,"isWorker");function xb(){return pt.SERVICE_TYPE==="apps"}s(xb,"isApps");function vb(){return pt.BUDIBASE_ENVIRONMENT==="QA"}s(vb,"isQA");function Pb(){return process.env.SERVICE?process.env.SERVICE:process.env.APPS_SERVICE?process.env.APPS_SERVICE:process.env.WORKER_SERVICE?process.env.WORKER_SERVICE:"budibase"}s(Pb,"getServiceName");var pt={isTest:nf,isJest:Xy,isDev:qa,isWorker:bb,isApps:xb,isQA:vb,isProd:()=>!qa(),BUDIBASE_ENVIRONMENT:process.env.BUDIBASE_ENVIRONMENT,JWT_SECRET:process.env.JWT_SECRET?(0,rf.createSecretKey)(process.env.JWT_SECRET,"utf8"):void 0,JWT_SECRET_FALLBACK:process.env.JWT_SECRET_FALLBACK?(0,rf.createSecretKey)(process.env.JWT_SECRET_FALLBACK,"utf8"):void 0,ENCRYPTION_KEY:process.env.ENCRYPTION_KEY,API_ENCRYPTION_KEY:Db(),COUCH_DB_URL:process.env.COUCH_DB_URL||"http://localhost:4005",COUCH_DB_SQL_URL:process.env.COUCH_DB_SQL_URL,COUCH_DB_USERNAME:process.env.COUCH_DB_USER,COUCH_DB_PASSWORD:process.env.COUCH_DB_PASSWORD,GOOGLE_CLIENT_ID:process.env.GOOGLE_CLIENT_ID,GOOGLE_CLIENT_SECRET:process.env.GOOGLE_CLIENT_SECRET,SALT_ROUNDS:process.env.SALT_ROUNDS,REDIS_URL:process.env.REDIS_URL||"localhost:6379",REDIS_PASSWORD:process.env.REDIS_PASSWORD,REDIS_USERNAME:process.env.REDIS_USERNAME,REDIS_CLUSTERED:process.env.REDIS_CLUSTERED,MINIO_ACCESS_KEY:process.env.MINIO_ACCESS_KEY,MINIO_SECRET_KEY:process.env.MINIO_SECRET_KEY,AWS_SESSION_TOKEN:process.env.AWS_SESSION_TOKEN,AWS_REGION:process.env.AWS_REGION||"eu-west-1",MINIO_URL:process.env.MINIO_URL,MINIO_ENABLED:process.env.MINIO_ENABLED||1,S3_IGNORE_SELF_SIGNED:process.env.S3_IGNORE_SELF_SIGNED,INTERNAL_API_KEY:process.env.INTERNAL_API_KEY,INTERNAL_API_KEY_FALLBACK:process.env.INTERNAL_API_KEY_FALLBACK,MULTI_TENANCY:process.env.MULTI_TENANCY,ACCOUNT_PORTAL_URL:process.env.ACCOUNT_PORTAL_URL||"https://account.budibase.app",INTERNAL_ACCOUNT_PORTAL_URL:process.env.INTERNAL_ACCOUNT_PORTAL_URL||process.env.ACCOUNT_PORTAL_URL||"https://account.budibase.app",ACCOUNT_PORTAL_API_KEY:process.env.ACCOUNT_PORTAL_API_KEY||"",BUDICLOUD_URL:process.env.BUDICLOUD_URL||"https://budibase.app",DISABLE_ACCOUNT_PORTAL:process.env.DISABLE_ACCOUNT_PORTAL,SELF_HOSTED:zy,COOKIE_DOMAIN:process.env.COOKIE_DOMAIN,PLATFORM_URL:process.env.PLATFORM_URL||"",POSTHOG_TOKEN:process.env.POSTHOG_TOKEN,POSTHOG_PERSONAL_TOKEN:process.env.POSTHOG_PERSONAL_TOKEN,POSTHOG_API_HOST:process.env.POSTHOG_API_HOST||"https://us.i.posthog.com",POSTHOG_FEATURE_FLAGS_ENABLED:process.env.POSTHOG_FEATURE_FLAGS_ENABLED,ENABLE_ANALYTICS:process.env.ENABLE_ANALYTICS,TENANT_FEATURE_FLAGS:process.env.TENANT_FEATURE_FLAGS,CLOUDFRONT_CDN:process.env.CLOUDFRONT_CDN,CLOUDFRONT_PRIVATE_KEY_64:process.env.CLOUDFRONT_PRIVATE_KEY_64,CLOUDFRONT_PUBLIC_KEY_ID:process.env.CLOUDFRONT_PUBLIC_KEY_ID,BACKUPS_BUCKET_NAME:process.env.BACKUPS_BUCKET_NAME||Hn.BACKUPS,APPS_BUCKET_NAME:process.env.APPS_BUCKET_NAME||Hn.APPS,TEMPLATES_BUCKET_NAME:process.env.TEMPLATES_BUCKET_NAME||Hn.TEMPLATES,GLOBAL_BUCKET_NAME:process.env.GLOBAL_BUCKET_NAME||Hn.GLOBAL,PLUGIN_BUCKET_NAME:process.env.PLUGIN_BUCKET_NAME||Hn.PLUGINS,TEMP_BUCKET_NAME:process.env.TEMP_BUCKET_NAME||Hn.TEMP,USE_COUCH:process.env.USE_COUCH||!0,MOCK_REDIS:process.env.MOCK_REDIS,DEFAULT_LICENSE:process.env.DEFAULT_LICENSE,SERVICE:Pb(),LOG_LEVEL:process.env.LOG_LEVEL||"info",SESSION_UPDATE_PERIOD:process.env.SESSION_UPDATE_PERIOD,DEPLOYMENT_ENVIRONMENT:process.env.DEPLOYMENT_ENVIRONMENT||"docker-compose",HTTP_LOGGING:Rb(),ENABLE_AUDIT_LOG_IP_ADDR:process.env.ENABLE_AUDIT_LOG_IP_ADDR,SQL_LOGGING_ENABLE:process.env.SQL_LOGGING_ENABLE,SQL_MAX_ROWS:process.env.SQL_MAX_ROWS,SQL_MAX_RELATED_ROWS:process.env.MAX_RELATED_ROWS,SMTP_FALLBACK_ENABLED:process.env.SMTP_FALLBACK_ENABLED,SMTP_USER:process.env.SMTP_USER,SMTP_PASSWORD:process.env.SMTP_PASSWORD,SMTP_HOST:process.env.SMTP_HOST,SMTP_PORT:parseInt(process.env.SMTP_PORT||""),SMTP_FROM_ADDRESS:process.env.SMTP_FROM_ADDRESS,DISABLE_JWT_WARNING:process.env.DISABLE_JWT_WARNING,BLACKLIST_IPS:process.env.BLACKLIST_IPS,SERVICE_TYPE:"unknown",PASSWORD_MIN_LENGTH:process.env.PASSWORD_MIN_LENGTH,PASSWORD_MAX_LENGTH:process.env.PASSWORD_MAX_LENGTH,ENABLE_SSO_MAINTENANCE_MODE:zy?process.env.ENABLE_SSO_MAINTENANCE_MODE:!1,...Cb(),DISABLE_PINO_LOGGER:process.env.DISABLE_PINO_LOGGER,OFFLINE_MODE:process.env.OFFLINE_MODE,SESSION_EXPIRY_SECONDS:process.env.SESSION_EXPIRY_SECONDS,_set(t,e){process.env[t]=e,pt[t]=e},ROLLING_LOG_MAX_SIZE:process.env.ROLLING_LOG_MAX_SIZE||"10M",ENABLE_SCIM_LOGGER:process.env.ENABLE_SCIM_LOGGER,BB_ADMIN_USER_EMAIL:process.env.BB_ADMIN_USER_EMAIL,BB_ADMIN_USER_PASSWORD:process.env.BB_ADMIN_USER_PASSWORD,MIN_VERSION_WITHOUT_POWER_ROLE:process.env.MIN_VERSION_WITHOUT_POWER_ROLE||"3.0.0",DISABLE_CONTENT_SECURITY_POLICY:process.env.DISABLE_CONTENT_SECURITY_POLICY,BSON_BUFFER_SIZE:wb(process.env.BSON_BUFFER_SIZE),CUSTOM_CSP_MEDIA_SRC:process.env.CUSTOM_CSP_MEDIA_SRC,CUSTOM_CSP_SCRIPT_SRC:process.env.CUSTOM_CSP_SCRIPT_SRC,CUSTOM_CSP_CONNECT_SRC:process.env.CUSTOM_CSP_CONNECT_SRC,CUSTOM_CSP_IMG_SRC:process.env.CUSTOM_CSP_IMG_SRC,CUSTOM_CSP_FONT_SRC:process.env.CUSTOM_CSP_FONT_SRC,CUSTOM_CSP_FRAME_SRC:process.env.CUSTOM_CSP_FRAME_SRC,OPENROUTER_BASE_URL:process.env.OPENROUTER_BASE_URL||"https://openrouter.ai/api/v1"};function ws(t){let e=(0,Jy.cloneDeep)(pt),r;for(r in t)pt._set(r,t[r]);return()=>{for(let[n,i]of Object.entries(e))pt._set(n,i)}}s(ws,"setEnv");function Zy(t,e){let r=ws(t);try{let n=e();return n instanceof Promise?n.finally(r):(r(),n)}catch(n){throw r(),n}}s(Zy,"withEnv");var eT=["API_ENCRYPTION_KEY","BB_ADMIN_USER_PASSWORD","COUCH_DB_PASSWORD","COUCH_DB_SQL_URL","COUCH_DB_URL","GOOGLE_CLIENT_SECRET","INTERNAL_API_KEY_FALLBACK","INTERNAL_API_KEY","JWT_SECRET","MINIO_ACCESS_KEY","MINIO_SECRET_KEY","REDIS_PASSWORD","REDIS_USERNAME"];for(let[t,e]of Object.entries(pt))e==="0"&&(pt[t]=0),e==="false"&&(pt[t]=0);var g=pt;var Ha={};P(Ha,{Databases:()=>sf,SEPARATOR:()=>Yn,SelectableDatabase:()=>Qa,getRedisClusterOptions:()=>of,getRedisConnectionDetails:()=>ja,getRedisOptions:()=>tn,removeDbPrefix:()=>af});var Yn="-",sf=(O=>(O.PW_RESETS="pwReset",O.VERIFICATIONS="verification",O.INVITATIONS_LIST="invitationList",O.DEV_LOCKS="devLocks",O.DEBOUNCE="debounce",O.SESSIONS="session",O.USER_CACHE="users",O.FLAGS="flags",O.WORKSPACE_METADATA="appMetadata",O.QUERY_VARS="queryVars",O.LICENSES="license",O.GENERIC_CACHE="data_cache",O.WRITE_THROUGH="writeThrough",O.LOCKS="locks",O.SOCKET_IO="socket_io",O.BPM_EVENTS="bpmEvents",O.DOC_WRITE_THROUGH="docWriteThrough",O.RECAPTCHA_SESSION="recaptchaSession",O.OPENAPI_IMPORT_SPECS="openapiImportSpecs",O))(sf||{}),Qa=(E=>(E[E.DEFAULT=0]="DEFAULT",E[E.SOCKET_IO=1]="SOCKET_IO",E[E.RATE_LIMITING=2]="RATE_LIMITING",E[E.OPENAPI_IMPORT_SPECS=3]="OPENAPI_IMPORT_SPECS",E[E.UNUSED_3=4]="UNUSED_3",E[E.UNUSED_4=5]="UNUSED_4",E[E.UNUSED_5=6]="UNUSED_5",E[E.UNUSED_6=7]="UNUSED_6",E[E.UNUSED_7=8]="UNUSED_7",E[E.UNUSED_8=9]="UNUSED_8",E[E.UNUSED_9=10]="UNUSED_9",E[E.UNUSED_10=11]="UNUSED_10",E[E.UNUSED_11=12]="UNUSED_11",E[E.UNUSED_12=13]="UNUSED_12",E[E.UNUSED_13=14]="UNUSED_13",E[E.UNUSED_14=15]="UNUSED_14",E))(Qa||{});function ja(){let t=g.REDIS_PASSWORD,e=g.REDIS_USERNAME,r=g.REDIS_URL.split("//");if(r=r.length>1?r[1]:r[0],r=r.split("@"),r.length>1){let a=r[0].split(":");e=e||a[0]||void 0,t=a[1],r=r[1]}else r=r[0];let[n,i]=r.split(":"),o=parseInt(i);return{host:n,password:t,username:e,port:isNaN(o)?6379:o}}s(ja,"getRedisConnectionDetails");function of(){return{slotsRefreshTimeout:2e3,dnsLookup:(t,e)=>e(null,t),redisOptions:{...tn(),tls:{}}}}s(of,"getRedisClusterOptions");function tn(){let{host:t,password:e,port:r,username:n}=ja();return{connectTimeout:3e4,port:r,host:t,password:e,...n&&{username:n}}}s(tn,"getRedisOptions");function af(t){let e=t.split(Yn);return e.length>=2?(e.shift(),e.join(Yn)):e[0]}s(af,"removeDbPrefix");var hS=B(require("events"));var si={};P(si,{Duration:()=>pe,DurationType:()=>tp,GZIP_PREFIX:()=>_u,clearCookie:()=>Ar,compare:()=>lf,getBearerToken:()=>hv,getCookie:()=>jt,getDispatcher:()=>lv,getWorkspaceIdFromCtx:()=>un,gunzipFromBase64:()=>mv,gzipToBase64:()=>pv,hasCircularStructure:()=>rv,hash:()=>cf,isAudited:()=>Zf,isClient:()=>tv,isPublicApiRequest:()=>Zx,isServingApp:()=>zx,isServingBuilder:()=>Jx,isServingBuilderPreview:()=>Xx,isValidInternalAPIKey:()=>Ks,newid:()=>ee,openJwt:()=>Tu,setCookie:()=>mS,time:()=>iv,timeout:()=>Xf,urlHasProtocol:()=>nv,validEmail:()=>ep});var tT=require("uuid");function ee(){return(0,tT.v4)().replace(/-/g,"")}s(ee,"newid");var uf=require("bcrypt"),Nb=g.SALT_ROUNDS||10;async function cf(t){let e=await uf.genSalt(Nb);return uf.hash(t,e)}s(cf,"hash");async function lf(t,e){return uf.compare(t,e)}s(lf,"compare");var yu=B(require("jsonwebtoken"));var ue={};P(ue,{DEFAULT_TENANT_ID:()=>ae,baseGlobalDBName:()=>Ps,doInAutomationContext:()=>nx,doInContext:()=>Cf,doInEnvironmentContext:()=>mx,doInFeatureFlagOverrideContext:()=>Lf,doInIPContext:()=>vf,doInIdentityContext:()=>Rs,doInLicenseContext:()=>sx,doInScimContext:()=>hx,doInSelfHostTenantUsingCloud:()=>ix,doInTenant:()=>Ce,doInWorkspaceContext:()=>ux,doInWorkspaceMigrationContext:()=>lx,ensureSnippetContext:()=>ET,getAuditLogDBName:()=>hT,getAuditLogsDB:()=>Ex,getAutomationId:()=>bf,getCurrentContext:()=>sn,getDevWorkspaceDB:()=>Tx,getDevWorkspaceId:()=>fx,getEnvironmentVariables:()=>gx,getFeatureFlagOverrides:()=>Uf,getFeatureFlags:()=>Pf,getGlobalDB:()=>Y,getGlobalDBName:()=>nn,getIP:()=>xf,getIdentity:()=>Gt,getLicense:()=>ox,getOrThrowWorkspaceId:()=>dx,getPlatformURL:()=>Rf,getProdWorkspaceDB:()=>yx,getProdWorkspaceId:()=>px,getScimDBName:()=>Zb,getSelfHostCloudDB:()=>ax,getTableForView:()=>Sx,getTenantIDFromWorkspaceID:()=>Zn,getTenantId:()=>$,getWorkspaceDB:()=>ei,getWorkspaceId:()=>be,identity:()=>Ds,isMultiTenant:()=>Er,isScim:()=>gt,isSelfHostUsingCloud:()=>ru,isTenancyEnabled:()=>tx,isTenantIdSet:()=>ex,setFeatureFlags:()=>Nf,setTableForView:()=>Ax});var Ds={};P(Ds,{doInAccountContext:()=>Ub,doInIdentityContext:()=>ff,doInUserContext:()=>pf,getAccountUserId:()=>rT,getIdentity:()=>df});function df(){return Gt()}s(df,"getIdentity");function ff(t,e){return Rs(t,e)}s(ff,"doInIdentityContext");function pf(t,e,r){let n={...t,_id:t._id,type:"user",hostInfo:{ipAddress:e.request.ip,userAgent:e.userAgent.source}};return ff(n,r)}s(pf,"doInUserContext");function Ub(t,e){let r=rT(t),n=t.tenantId,i={_id:r,type:"user",tenantId:n,account:t};return ff(i,e)}s(Ub,"doInAccountContext");function rT(t){let e;return Ko(t)?e=t.budibaseUserId:e=t.accountId,e}s(rT,"getAccountUserId");var mt=s(t=>{let e=mf(t),r,n;if(e.auth?.username)r=e.auth.username;else if(g.COUCH_DB_USERNAME)r=g.COUCH_DB_USERNAME;else if(!g.isTest())throw new Error("CouchDB username not set");if(e.auth?.password)n=e.auth.password;else if(g.COUCH_DB_PASSWORD)n=g.COUCH_DB_PASSWORD;else if(!g.isTest())throw new Error("CouchDB password not set");let i=Buffer.from(`${r}:${n}`).toString("base64"),o=g.COUCH_DB_SQL_URL;if(g.isDev()&&!o)o="http://localhost:4006";else if(!o&&e.url){let a=new URL(e.url);o=e.url.replace(a.port,"4984")}return{url:e.url,sqlUrl:mf(o).url,auth:{username:r,password:n},cookie:`Basic ${i}`}},"getCouchInfo"),mf=s((t=g.COUCH_DB_URL)=>{let e,r,n,i;if(t){/^https?:\/\//i.test(t)||(t=`http://${t}`);let a=t.split("://"),u=a[0],c=a.slice(1).join("://");if(t.includes("@")){let l=c.split("@");i=l[l.length-1];let d=l.slice(0,-1).join("@");if(d.includes(":")){let f=d.split(":");r=f[0],n=f.slice(1).join(":")}else r=d}else i=c;e=`${u}://${i}`}return{url:e,auth:{username:r,password:n}}},"getUrlInfo");var fT=B(require("@budibase/nano"));var nT=B(require("node-fetch"));function za(t){return t.replace(/(https?:\/\/)|(\/)+/g,"$1$2")}s(za,"checkSlashesInUrl");async function iT(t,e="GET",r){let{url:n,cookie:i}=mt(),o=`${n}/${t}`;return await Cs({url:o,cookie:i,method:e,body:r})}s(iT,"directCouchCall");async function Cs({url:t,cookie:e,method:r,body:n}){let i={method:r,headers:{Authorization:e}};return n&&r!=="GET"&&(typeof n=="string"?(i.body=n,i.headers["Content-Type"]="text/plain"):(i.body=JSON.stringify(n),i.headers["Content-Type"]="application/json")),await(0,nT.default)(za(encodeURI(t)),i)}s(Cs,"directCouchUrlCall");async function hf(t,e="GET",r){let n=await iT(t,e,r);if(n.status<300)return await n.json();throw"Cannot connect to CouchDB instance"}s(hf,"directCouchQuery");var rn=B(require("pouchdb"));var sT,oT=!1,gf=s((t={})=>{let{url:e,cookie:r}=mt(),n={prefix:e,fetch:(i,o)=>(o.headers.set("Authorization",r),rn.default.fetch(i,o))};if(t.inMemory){let i=require("pouchdb-adapter-memory");rn.default.plugin(i),n={adapter:"memory"}}if(t.onDisk&&(n={adapter:"leveldb"}),t.replication){let i=require("@budibase/pouchdb-replication-stream");rn.default.plugin(i.plugin),rn.default.adapter("writableStream",i.adapters.writableStream)}if(t.find){let i=require("pouchdb-find");rn.default.plugin(i)}return rn.default.defaults(n)},"getPouch");function Ja(t){sT=gf(t),oT=!0}s(Ja,"init");var Lb=s(()=>{if(!oT)throw new Error("init has not been called")},"checkInitialised");function rt(t,e){Lb();let r=new sT(t,e),n=r.put;return r.put=async(i,o={})=>(i.createdAt||(i.createdAt=new Date().toISOString()),i.updatedAt=new Date().toISOString(),n(i,o)),r.exists=async()=>!(await r.info()).error,r}s(rt,"getPouchDB");async function bs(t){if(!(!t||g.isTest()))try{return await t.close()}catch{}}s(bs,"closePouchDB");var le=B(require("dd-trace"));var zn=class{constructor(e){this.db=e}static{s(this,"DDInstrumentedDatabase")}get name(){return this.db.name}exists(e){return le.default.trace("db.exists",r=>(r.addTags({db_name:this.name,doc_id:e}),e?this.db.exists(e):this.db.exists()))}get(e){return le.default.trace("db.get",r=>(r.addTags({db_name:this.name,doc_id:e}),this.db.get(e)))}tryGet(e){return le.default.trace("db.tryGet",async r=>{r.addTags({db_name:this.name,doc_id:e});let n=await this.db.tryGet(e);return r.addTags({doc_found:n!==void 0}),n})}getMultiple(e,r){return le.default.trace("db.getMultiple",async n=>{n.addTags({db_name:this.name,num_docs:e?.length||0,allow_missing:r?.allowMissing});let i=await this.db.getMultiple(e,r);return n.addTags({num_docs_found:i.length}),i})}remove(e,r){return le.default.trace("db.remove",async n=>{n.addTags({db_name:this.name,doc_id:e,rev:r});let i=typeof e=="object",o=i?e._id:e;r=i?e._rev:r;let a=await this.db.remove(o,r);return n.addTags({ok:a.ok}),a})}bulkRemove(e,r){return le.default.trace("db.bulkRemove",n=>(n.addTags({db_name:this.name,num_docs:e.length,silence_errors:r?.silenceErrors}),this.db.bulkRemove(e,r)))}put(e,r){return le.default.trace("db.put",async n=>{n.addTags({db_name:this.name,doc_id:e._id,force:r?.force,return_doc:r?.returnDoc});let i=await this.db.put(e,r);return n.addTags({ok:i.ok}),i})}bulkDocs(e){return le.default.trace("db.bulkDocs",r=>(r.addTags({db_name:this.name,num_docs:e.length}),this.db.bulkDocs(e)))}async find(e){return le.default.trace("db.find",async r=>{r.addTags({db_name:this.name,...e});let n=await this.db.find(e);return r.addTags({rows_length:n.docs.length}),n})}allDocs(e){return le.default.trace("db.allDocs",async r=>{r.addTags({db_name:this.name,...e});let n=await this.db.allDocs(e);return r.addTags({total_rows:n.total_rows,rows_length:n.rows.length,offset:n.offset}),n})}query(e,r){return le.default.trace("db.query",async n=>{n.addTags({db_name:this.name,view_name:e,...r});let i=await this.db.query(e,r);return n.addTags({total_rows:i.total_rows,rows_length:i.rows.length,offset:i.offset}),i})}destroy(){return le.default.trace("db.destroy",async e=>{e.addTags({db_name:this.name});let r=await this.db.destroy();return e.addTags({ok:r.ok}),r})}compact(){return le.default.trace("db.compact",async e=>{e.addTags({db_name:this.name});let r=await this.db.compact();return e.addTags({ok:r.ok}),r})}dump(e,r){return le.default.trace("db.dump",n=>(n.addTags({db_name:this.name,batch_limit:r?.batch_limit,batch_size:r?.batch_size,style:r?.style,timeout:r?.timeout,num_doc_ids:r?.doc_ids?.length,view:r?.view}),this.db.dump(e,r)))}load(...e){return le.default.trace("db.load",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.load(...e)))}createIndex(...e){return le.default.trace("db.createIndex",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.createIndex(...e)))}deleteIndex(...e){return le.default.trace("db.deleteIndex",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.deleteIndex(...e)))}getIndexes(...e){return le.default.trace("db.getIndexes",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.getIndexes(...e)))}sql(e,r){return le.default.trace("db.sql",async n=>{n.addTags({db_name:this.name,num_bindings:r?.length});let i=await this.db.sql(e,r);return n.addTags({num_rows:i.length}),i})}sqlPurgeDocument(e){return le.default.trace("db.sqlPurgeDocument",r=>(r.addTags({db_name:this.name,num_docs:Array.isArray(e)?e.length:1}),this.db.sqlPurgeDocument(e)))}sqlDiskCleanup(){return le.default.trace("db.sqlDiskCleanup",e=>(e.addTags({db_name:this.name}),this.db.sqlDiskCleanup()))}};var If={};P(If,{breakExternalTableId:()=>Tf,breakRowIdField:()=>Hb,buildExternalTableId:()=>Gb,convertRowId:()=>jb,encodeTableId:()=>Vb,encodeViewId:()=>qb,extractDate:()=>Af,generateRowIdField:()=>Kb,getNativeSql:()=>Jn,isExternalTable:()=>yf,isExternalTableID:()=>Xa,isInternalTableID:()=>$b,isRowId:()=>Qb,isValidFilter:()=>eu,isValidISODateString:()=>Za,isValidISODateStringWithoutTimezone:()=>Sf,isValidTime:()=>_f,sqlLog:()=>xs,validateManyToMany:()=>Of});var Ef=`${C}${C}`,uT=/^\[.*]$/g,Mb=encodeURIComponent(" "),kb=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}:\d{2}(?:.\d{3})?Z)?$/,Fb=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}:\d{2}(?:.\d{3})?)?$/,Bb=/(\d{4}-\d{2}-\d{2})/,Wb=/^\d{1,2}:\d{2}(?:\.\d{1,6}|:\d{2}(?:\.\d{1,6})?)?$/;function Xa(t){return t.startsWith("datasource"+C)}s(Xa,"isExternalTableID");function $b(t){return!Xa(t)}s($b,"isInternalTableID");function Jn(t){let e=t.toSQL();if(Array.isArray(e))return e;let r;return e.toNative&&(r=e.toNative()),{sql:r?.sql||e.sql,bindings:r?.bindings||e.bindings}}s(Jn,"getNativeSql");function yf(t){return t?.sourceId&&t.sourceId.includes("datasource"+C)&&t?.sourceId!==bn||t?.sourceType==="external"?!0:!!(t?._id&&Xa(t._id))}s(yf,"isExternalTable");function Gb(t,e){return`${t}${Ef}${encodeURIComponent(e)}`}s(Gb,"buildExternalTableId");function Vb(t){return Xa(t)?encodeURIComponent(t):t}s(Vb,"encodeTableId");function qb(t){return encodeURIComponent(t)}s(qb,"encodeViewId");function Tf(t){let e=t.split(Ef),r=e.shift(),n=e.join(Ef);if(n.includes(Mb)&&(n=decodeURIComponent(n)),!r||!n)throw new Error("Unable to get datasource/table name from table ID");return{datasourceId:r,tableName:n}}s(Tf,"breakExternalTableId");function Kb(t=[]){Array.isArray(t)||(t=[t]);for(let e in t)t[e]instanceof Buffer&&(t[e]=t[e].toString());return encodeURIComponent(JSON.stringify(t).replace(/"/g,"'"))}s(Kb,"generateRowIdField");function Qb(t){return Array.isArray(t)||typeof t=="string"&&t.match(uT)!=null}s(Qb,"isRowId");function jb(t){return Array.isArray(t)?t[0]:typeof t=="string"&&t.match(uT)!=null?t.substring(1,t.length-1):t}s(jb,"convertRowId");function Hb(t){if(!t)return[];let e=typeof t=="string"?t:t._id,r=decodeURIComponent(e).replace(/'/g,'"');try{let n=JSON.parse(r);return Array.isArray(n)?n:[n]}catch{return[t]}}s(Hb,"breakRowIdField");function Za(t){let e=t.trim();if(!kb.test(e))return!1;let r=new Date(e);return!isNaN(r.getTime())}s(Za,"isValidISODateString");function Sf(t){let e=t.trim();if(!Fb.test(e))return!1;let r=new Date(e);return!isNaN(r.getTime())}s(Sf,"isValidISODateStringWithoutTimezone");function Af(t){let e=t.match(Bb);if(e)return e[0]}s(Af,"extractDate");function eu(t){return t!=null&&t!==""}s(eu,"isValidFilter");function _f(t){return Wb.test(t)}s(_f,"isValidTime");function xs(t,e,r){if(!g.SQL_LOGGING_ENABLE)return;let n=`[SQL] [${t.toUpperCase()}] query="${e}"`;r&&(n+=` values="${r.join(", ")}"`),console.log(n)}s(xs,"sqlLog");function Yb(t){return!!t.through&&!!t.fromPrimary&&!!t.from&&!!t.toPrimary&&!!t.to}s(Yb,"isValidManyToManyRelationship");function Of(t){if(Yb(t))return t}s(Of,"validateManyToMany");var cT="Database does not exist.";function lT(t){return(0,fT.default)({url:t.url,requestDefaults:{headers:{Authorization:t.cookie}},parseUrl:!1})}s(lT,"buildNano");var hr=class extends Error{constructor(r,n){super(r);let i=n.status||n.statusCode||500;this.status=i,this.statusCode=i,this.reason=n.reason||"Unknown",this.name=n.name,this.errid=n.errid||"Unknown",this.description=n.description||"Unknown",this.error=n.error||"Not found"}static{s(this,"CouchDBError")}};function zb(t,e,r){if(!t||!e)throw new Error("Unable to create database without database name or connection");let n=new Xn(t,r,e);return new zn(n)}s(zb,"DatabaseWithConnection");var Xn=class t{constructor(e,r,n){this.couchInfo=mt();this.name=e,this.pouchOpts=r||{},n&&(this.couchInfo=mt(n),this.instanceNano=lT(this.couchInfo)),t.nano||t.init()}static{s(this,"DatabaseImpl")}static init(){let e=mt();t.nano=lT(e)}exists(e){return e===void 0?this.dbExists():this.docExists(e)}async dbExists(){return(await Cs({url:`${this.couchInfo.url}/${this.name}`,method:"HEAD",cookie:this.couchInfo.cookie})).status===200}async docExists(e){try{return await this.performCall(r=>()=>r.head(e)),!0}catch{return!1}}nano(){return this.instanceNano||t.nano}getDb(){return this.nano().db.use(this.name)}async checkAndCreateDb(){let e=!this.pouchOpts?.skip_setup,r=await this.exists();if(!e&&!r)throw new Error("DB does not exist");if(!r)try{await this.nano().db.create(this.name)}catch(n){if(n.statusCode!==412)throw new hr(n.message,n)}return this.getDb()}async performCallWithDBCreation(e){let r=this.getDb(),n=await e(r);try{return await n()}catch(i){if(i.statusCode===404&&i.reason===cT)return await this.checkAndCreateDb(),await this.performCallWithDBCreation(e);throw new hr(`CouchDB error: ${i.message}`,i)}}async performCall(e){let r=this.getDb(),n=await e(r);try{return await n()}catch(i){throw new hr(`CouchDB error: ${i.message}`,i)}}async get(e){return this.performCall(r=>{if(!e)throw new Error("Unable to get doc without a valid _id.");return()=>r.get(e)})}async tryGet(e){try{return await this.get(e)}catch(r){if(r.statusCode===404)return;throw r}}async getMultiple(e,r){if(!e||e.length===0)return[];e=[...new Set(e)];let n=!r?.excludeDocs,i=await this.allDocs({keys:e,include_docs:n}),o=s(c=>n&&c.doc==null||c.value&&"deleted"in c.value&&c.value.deleted?!0:c.error==="not_found","rowUnavailable"),a=i.rows.filter(c=>!o(c)),u=a.length!==i.rows.length;if(!r?.allowMissing&&u){let l=i.rows.filter(d=>o(d)).map(d=>d.key).join(", ");throw new Error(`Unable to get bulk documents: ${l}`)}return a.map(c=>n?c.doc:c.value)}async remove(e,r){return this.performCall(n=>{let i,o;if(sh(e)?(i=e._id,o=e._rev):(i=e,o=r),!i||!o)throw new Error("Unable to remove doc without a valid _id and _rev.");return()=>n.destroy(i,o)})}async bulkRemove(e,r){let n=await this.performCall(a=>()=>a.bulk({docs:e.map(u=>({...u,_deleted:!0}))}));if(r?.silenceErrors)return;let i=!1,o="Unable to bulk remove documents: ";for(let a of n)a.error&&(i=!0,o+=a.error);if(i)throw new hr(o,{name:this.name,status:400})}async post(e,r){return e._id||(e._id=ee()),this.put(e,r)}async put(e,r){if(!e._id)throw new Error("Cannot store document without _id field.");return this.performCallWithDBCreation(async n=>{if(e.createdAt||(e.createdAt=new Date().toISOString()),e.updatedAt=new Date().toISOString(),r?.force&&e._id)try{let i=await this.get(e._id);i&&(e._rev=i._rev)}catch(i){if(i.status!==404)throw i}return async()=>{let i=await n.insert(e);return r?.returnDoc?{...i,doc:{...e,_rev:i.rev}}:i}})}async bulkDocs(e){let r=new Date().toISOString();return this.performCallWithDBCreation(n=>()=>n.bulk({docs:e.map(i=>({createdAt:r,...i,updatedAt:r}))}))}async find(e){return this.performCall(r=>async()=>r.find(e))}async allDocs(e){return this.performCall(r=>async()=>{try{return await r.list(e)}catch(n){if(n.reason===cT)return{offset:0,total_rows:0,rows:[]};throw n}})}async _sqlQuery(e,r,n){e=za(`${this.couchInfo.sqlUrl}/${e}`);let i={url:e,method:r,cookie:this.couchInfo.cookie};return n&&(i.body=n),this.performCall(()=>async()=>{let o=await Cs(i),a=await o.text();if(o.status>300){let u;try{u=JSON.parse(a)}catch{throw console.error(`SQS error: ${a}`),new hr("error while running SQS query, please try again later",{name:"sqs_error",status:o.status})}throw u}return JSON.parse(a)})}async sql(e,r){let i=`/${this.name}/${Rt}`;return xs("sqlite3",e,r),await this._sqlQuery(i,"POST",{query:e,args:r})}async sqlDiskCleanup(){let r=`/${this.name}/_cleanup`;try{await this._sqlQuery(r,"POST")}catch(n){if(n.status!==500)throw n}}async sqlPurgeDocument(e){Array.isArray(e)||(e=[e]);let n=`/${this.name}/_purge`;return await this._sqlQuery(n,"POST",{docs:e})}async query(e,r){return this.performCall(n=>{let[i,o]=e.split("/");return()=>n.view(i,o,r)})}async destroy(){if(await this.exists(Rt)){let e=await this.get(Rt);e.sql.tables={},await this.put(e),await this.sqlDiskCleanup()}try{return await this.nano().db.destroy(this.name)}catch(e){if(e.statusCode===404)return{ok:!0};throw new hr(e.message,e)}}async compact(){return this.performCall(e=>()=>e.compact())}async dump(e,r){return rt(this.name).dump(e,r)}async load(e){return rt(this.name).load(e)}async createIndex(e){return rt(this.name).createIndex(e)}async deleteIndex(e){return rt(this.name).deleteIndex(e)}async getIndexes(){return rt(this.name).getIndexes()}};function Re(t,e){return new zn(new Xn(t,e))}s(Re,"getDB");async function je(t,e,r){let n=Re(t,r);return await e(n)}s(je,"doWithDB");async function wf(t){let e="/_all_dbs";return t&&(e+=`?${t}`),await hf(e)}s(wf,"directCouchAllDbs");var Df="No app provided";function gr(t){if(!t)throw Df;return t.startsWith(tt)}s(gr,"isDevWorkspaceID");function Jb(t){if(!t)throw Df;return t.startsWith(et)&&!gr(t)}s(Jb,"isProdWorkspaceID");function vs(t){if(!t)throw Df;return gr(t.appId)}s(vs,"isDevWorkspace");function tu(t){if(!t||t.startsWith(tt))return t;let e=t.split(et);e.shift();let r=e.join(et);return`${tt}${r}`}s(tu,"getDevWorkspaceID");function He(t){if(!t||!t.startsWith(tt))return t;let e=t.split(tt);e.shift();let r=e.join(tt);return`${et}${r}`}s(He,"getProdWorkspaceID");var pT=require("async_hooks");var he=class t{static{s(this,"Context")}static{this.storage=new pT.AsyncLocalStorage}static run(e,r){return t.storage.run(e,()=>r())}static get(){return t.storage.getStore()}};var mT=null;function nn(t){return t||(t=$()),Ps(t)}s(nn,"getGlobalDBName");function hT(t){return t||(t=$()),t===ae?fe.AUDIT_LOGS.name:`${t}${C}${fe.AUDIT_LOGS.name}`}s(hT,"getAuditLogDBName");function Zb(t){return t||(t=$()),t===ae?fe.SCIM_LOGS.name:`${t}${C}${fe.SCIM_LOGS.name}`}s(Zb,"getScimDBName");function Ps(t){return!t||t===ae?fe.GLOBAL.name:`${t}${C}${fe.GLOBAL.name}`}s(Ps,"baseGlobalDBName");function Rf(){return g.PLATFORM_URL}s(Rf,"getPlatformURL");function Er(){return!!g.MULTI_TENANCY}s(Er,"isMultiTenant");function ex(){return!!he.get()?.tenantId}s(ex,"isTenantIdSet");function tx(){return g.MULTI_TENANCY}s(tx,"isTenancyEnabled");function Zn(t){if(!t)return;if(!Er())return ae;let e=t.split(C),r=e[1]==="dev";if(!(r&&e.length===3||!r&&e.length===2))return r?e[2]:e[1]}s(Zn,"getTenantIDFromWorkspaceID");function rx(t){let e;try{e=he.get()}catch{e={}}return e={...e,...t},e}s(rx,"updateContext");async function ht(t,e){cx();let r=rx(t);return he.run(r,e)}s(ht,"newContext");async function nx(t){return await ET(),await ht({tenantId:Zn(t.workspaceId),appId:t.workspaceId,automationId:t.automationId},t.task)}s(nx,"doInAutomationContext");async function Cf(t,e){let r=Zn(t);return ht({tenantId:r,appId:t},e)}s(Cf,"doInContext");async function Ce(t,e){return g.MULTI_TENANCY||(t=t||ae),ht(t?{tenantId:t}:{},e)}s(Ce,"doInTenant");async function ix(t,e){return ht({tenantId:t,isSelfHostUsingCloud:!0},e)}s(ix,"doInSelfHostTenantUsingCloud");async function sx(t,e){return ht({license:t},e)}s(sx,"doInLicenseContext");function ox(){return he.get()?.license}s(ox,"getLicense");function ru(){return!!he.get()?.isSelfHostUsingCloud}s(ru,"isSelfHostUsingCloud");function ax(){let t=he.get();if(!t||!t.isSelfHostUsingCloud)throw new Error("Self-host cloud DB not found");return Re(fe.SELF_HOST_CLOUD.name)}s(ax,"getSelfHostCloudDB");async function ux(t,e){return gT(t,e)}s(ux,"doInWorkspaceContext");async function gT(t,e,r){if(!t)throw new Error("workspaceId is required");let n=Zn(t),i={appId:t,...r};return n&&(i.tenantId=n),ht(i,e)}s(gT,"_doInWorkspaceContext");async function Rs(t,e){if(!t)throw new Error("identity is required");let r={identity:t};return t.tenantId&&(r.tenantId=t.tenantId),ht(r,e)}s(Rs,"doInIdentityContext");function cx(){if(he.get()?.isMigrating)throw new Error("The context cannot be changed, a migration is currently running")}s(cx,"guardMigration");async function lx(t,e){return gT(t,e,{isMigrating:!0})}s(lx,"doInWorkspaceMigrationContext");function Gt(){try{return he.get()?.identity}catch{}}s(Gt,"getIdentity");function $(){if(!Er())return ae;let e=he.get()?.tenantId;if(!e)throw new Error("Tenant id not found");return e}s($,"getTenantId");function bf(){return he.get()?.automationId}s(bf,"getAutomationId");function be(){let e=he.get()?.appId;return!e&&g.isTest()&&mT?mT:e}s(be,"getWorkspaceId");function dx(){let t=be();if(!t)throw new Error("Workspace id not set");return t}s(dx,"getOrThrowWorkspaceId");function xf(){return he.get()?.ip}s(xf,"getIP");var fx=s(()=>{let t=be();if(!t)throw new Error("Could not get workspaceId");return tu(t)},"getDevWorkspaceId"),px=s(()=>{let t=be();if(!t)throw new Error("Could not get workspaceId");return He(t)},"getProdWorkspaceId");function mx(t,e){if(!t)throw new Error("Must supply environment variables.");return ht({environmentVariables:t},e)}s(mx,"doInEnvironmentContext");function hx(t){return ht({isScim:!0},t)}s(hx,"doInScimContext");function vf(t,e){return ht({ip:t},e)}s(vf,"doInIPContext");async function ET(){let t=sn();if(!t||t.snippets)return;let e,r=ei();r&&(e=(await r.tryGet("app_metadata"))?.snippets),t.snippets=e||[]}s(ET,"ensureSnippetContext");function gx(){let t=he.get();return t.environmentVariables?t.environmentVariables:null}s(gx,"getEnvironmentVariables");function Y(){let t=he.get();if(!t||g.MULTI_TENANCY&&!t.tenantId)throw new Error("Global DB not found");if(t.isSelfHostUsingCloud)throw new Error("Global DB not found - self-host users using cloud don't have a global DB");return Re(Ps(t?.tenantId))}s(Y,"getGlobalDB");function Ex(){if(!$())throw new Error("No tenant ID found - cannot open audit log DB");return Re(hT())}s(Ex,"getAuditLogsDB");function ei(t){let e=be();if(!e)throw new Error("Unable to retrieve workspace DB - no workspace ID.");if(ru())throw new Error("Workspace DB not found - self-host users using cloud don't have workspace DBs");return Re(e,t)}s(ei,"getWorkspaceDB");function yx(t){let e=be();if(!e)throw new Error("Unable to retrieve prod DB - no workspace ID.");return Re(He(e),t)}s(yx,"getProdWorkspaceDB");function Tx(t){let e=be();if(!e)throw new Error("Unable to retrieve dev DB - no workspace ID.");return Re(tu(e),t)}s(Tx,"getDevWorkspaceDB");function gt(){return!!he.get()?.isScim}s(gt,"isScim");function sn(){try{return he.get()}catch{return}}s(sn,"getCurrentContext");function Pf(t){let e=sn();if(e)return e.featureFlagCache?.[t]}s(Pf,"getFeatureFlags");function Nf(t,e){let r=sn();r&&(r.featureFlagCache??={},r.featureFlagCache[t]=e)}s(Nf,"setFeatureFlags");function Uf(){return sn()?.featureFlagOverrides||{}}s(Uf,"getFeatureFlagOverrides");async function Lf(t,e){return await ht({featureFlagOverrides:t},e)}s(Lf,"doInFeatureFlagOverrideContext");function Sx(t){let e=sn();if(e)return e.viewToTableCache?.[t]}s(Sx,"getTableForView");function Ax(t,e){let r=sn();r&&(r.viewToTableCache??={},r.viewToTableCache[t]=e)}s(Ax,"setTableForView");var Sr={};P(Sr,{AutomationViewMode:()=>Wa,BUDIBASE_DATASOURCE_TYPE:()=>Hd,DEFAULT_BB_DATASOURCE_ID:()=>bn,DEFAULT_EMPLOYEE_TABLE_ID:()=>Xd,DEFAULT_EXPENSES_TABLE_ID:()=>Jd,DEFAULT_INVENTORY_TABLE_ID:()=>zd,DEFAULT_JOBS_TABLE_ID:()=>Yd,DatabaseImpl:()=>Xn,DatabaseWithConnection:()=>zb,DeprecatedViews:()=>jn,DesignDocuments:()=>Os,DocumentType:()=>ce,InternalTable:()=>Pt,QueryBuilder:()=>Qt,Replication:()=>oS,SEPARATOR:()=>C,SQLITE_DESIGN_DOC_ID:()=>Rt,SQS_DATASOURCE_INTERNAL:()=>jd,StaticDatabases:()=>fe,UNICODE_MAX:()=>Pe,USER_METADATA_PREFIX:()=>_s,ViewName:()=>$t,WORKSPACE_DEV:()=>$a,WORKSPACE_DEV_PREFIX:()=>tt,WORKSPACE_PREFIX:()=>et,baseGlobalDBName:()=>Ps,checkErrorCode:()=>lS,closePouchDB:()=>bs,createApiKeyView:()=>eS,createNewUserEmailView:()=>XT,createPlatformAccountEmailView:()=>rS,createPlatformUserView:()=>nS,createUserAppView:()=>ZT,createView:()=>ii,dbExists:()=>Fx,directCouchAllDbs:()=>wf,directCouchCall:()=>iT,directCouchQuery:()=>hf,directCouchUrlCall:()=>Cs,doWithDB:()=>je,fullSearch:()=>Vx,generateAIConfigID:()=>FT,generateAgentID:()=>PT,generateAgentToolSourceID:()=>LT,generateAppUserID:()=>gu,generateChatAppID:()=>NT,generateChatConversationID:()=>UT,generateDevInfoID:()=>bT,generateGlobalUserID:()=>ri,generateKnowledgeBaseFileID:()=>MT,generateKnowledgeBaseID:()=>VT,generateOAuth2LogID:()=>vT,generatePluginID:()=>xT,generateRoleID:()=>Gf,generateRowID:()=>$f,generateTableID:()=>IT,generateTemplateID:()=>CT,generateUserMetadataID:()=>DT,generateVectorDbID:()=>GT,generateWorkspaceAppID:()=>WT,generateWorkspaceFavouriteID:()=>$T,generateWorkspaceID:()=>OT,getAllDbs:()=>JT,getAllWorkspaces:()=>Fs,getCouchInfo:()=>mt,getDB:()=>Re,getDevWorkspaceID:()=>tu,getDevWorkspaceIDs:()=>Mx,getDocParams:()=>qt,getGlobalDBName:()=>nn,getGlobalIDFromUserMetadataID:()=>RT,getGlobalUserParams:()=>on,getLiteLLMKeyID:()=>BT,getOAuth2ConfigParams:()=>HT,getPluginParams:()=>jT,getPouch:()=>gf,getPouchDB:()=>rt,getProdWorkpaceIDs:()=>Lx,getProdWorkspaceID:()=>He,getQueryIndex:()=>qT,getRoleParams:()=>Eu,getRowParams:()=>Vf,getStartEndKeyURL:()=>ks,getTemplateParams:()=>QT,getUrlInfo:()=>mf,getUserMetadataParams:()=>KT,getUsersByWorkspaceParams:()=>ni,getWorkspaceAppParams:()=>YT,getWorkspaceFavouriteParams:()=>zT,getWorkspacesByIDs:()=>Ux,init:()=>Ja,isDevWorkspace:()=>vs,isDevWorkspaceID:()=>gr,isDocumentConflictError:()=>Kx,isGlobalUserID:()=>wT,isKnowledgeBaseFileID:()=>kT,isProdWorkspaceID:()=>Jb,isSameWorkspaceID:()=>kx,paginatedSearch:()=>Gx,pagination:()=>Kf,prefixRoleID:()=>Vt,queryGlobalView:()=>Kt,queryGlobalViewRaw:()=>$s,queryPlatformView:()=>Ws,queryView:()=>jf,queryViewRaw:()=>Bs,removeKeyNumbering:()=>Gs,searchIndexes:()=>Yf});var Ms={};P(Ms,{WorkspaceState:()=>Wf,getWorkspaceMetadata:()=>hu,invalidateWorkspaceMetadata:()=>vx});var Tr={};P(Tr,{getCacheClient:()=>kf,getDocWritethroughClient:()=>Rx,getInviteListClient:()=>Us,getLockClient:()=>Bf,getOpenapiImportSpecsClient:()=>wx,getPasswordResetClient:()=>Ls,getSessionClient:()=>yr,getSocketClient:()=>Dx,getUserClient:()=>Ns,getWorkspaceClient:()=>mu,getWritethroughClient:()=>Ff,init:()=>nt,shutdown:()=>AT});var iu=B(require("ioredis"));var nu=require("dd-trace"),TT=require("lodash");var yT;if(g.MOCK_REDIS)try{yT=require("ioredis-mock")}catch{console.log("Mock redis unavailable")}async function _x(t=0){return await nu.tracer.trace("Redis.init",async e=>{if(g.MOCK_REDIS)return e.addTags({mock:!0}),new yT(tn());let r;if(g.REDIS_CLUSTERED){e.addTags({clustered:!0});let{host:n,port:i}=ja();r=new iu.Cluster([{host:n,port:i}],of())}else r=new iu.default(tn());return new Promise((n,i)=>{r.on("error",o=>{e.addTags({error:!0}),console.error(`failed to connect to redis (db: ${t})`,o),i(o)}),r.on("reconnecting",()=>{console.log(`Redis reconnecting... (db: ${t})`)}),r.on("ready",()=>{e.addTags({connected:!0}),console.log(`Redis ready to receive commands (db: ${t})`),n(r)})})})}s(_x,"init");function Ox(t,e){return new Promise((r,n)=>{let i=new Set;t.on("data",o=>o.forEach(a=>i.add(a))),t.on("error",o=>n(o)),t.on("end",async()=>{try{let o=Array.from(i).map(async a=>{let u=await e.get(a);return u&&(u=JSON.parse(u)),{key:af(a),value:u}});r(await Promise.all(o))}catch(o){n(o)}})})}s(Ox,"promisifyStream");function Ix(t){return t.isCluster}s(Ix,"isCluster");var Mf=class t{static{s(this,"RedisWrapper")}constructor(e,r){this.client=e,this.db=r}static async init(e,r=0){return await nu.tracer.trace("RedisWrapper.init",async n=>{let i=await _x(r);return r&&!g.isTest()&&(n.addTags({db:e}),i.select(r)),new t(i,e)})}trace(e,r){return nu.tracer.trace(e,async n=>(n.addTags({db:this.db}),await r(n)))}prefixed(e){return e.includes(this.db)?e:`${this.db}${Yn}${e}`}async finish(){return await this.trace("RedisWrapper.finish",async()=>{await this.client.quit()})}async scan(e=""){return await this.trace("RedisWrapper.scan",async r=>{r.addTags({key:e}),e=`${this.db}${Yn}${e}`;let n;Ix(this.client)?n=this.client.nodes("master")[0].scanStream({match:e+"*",count:100}):n=this.client.scanStream({match:e+"*",count:100});let i=await Ox(n,this.client);return r.addTags({numKeysFound:i.length}),i})}async keys(e){return await this.trace("RedisWrapper.keys",async r=>(r.addTags({pattern:e}),this.client.keys(this.prefixed(e))))}async exists(e){return await this.trace("RedisWrapper.exists",async r=>(r.addTags({key:e}),await this.client.exists(this.prefixed(e))))}async get(e){return await this.trace("RedisWrapper.get",async r=>{r.addTags({key:e});let n=await this.client.get(this.prefixed(e));n!=null&&n.key&&(n.key=e);try{return JSON.parse(n)}catch{return n}})}async bulkGet(e){return await this.trace("RedisWrapper.bulkGet",async r=>{if(r.addTags({numKeys:e.length}),e.length===0)return{};let n=await this.client.mget(e.map(i=>this.prefixed(i)));return r.addTags({numKeysFound:n.length}),(0,TT.zip)(e,n).reduce((i,[o,a])=>{if(o===void 0||a===void 0)throw new Error(`Keys and response length mismatch: ${e.length} vs ${n.length}`);try{i[o]=a?JSON.parse(a):null}catch{i[o]=a}return i},{})})}async store(e,r,n=null){return await this.trace("RedisWrapper.store",async i=>{i.addTags({key:e,expirySeconds:n}),typeof r=="object"&&(r=JSON.stringify(r)),await this.client.set(this.prefixed(e),r),n&&await this.client.expire(this.prefixed(e),n)})}async bulkStore(e,r=null){return await this.trace("RedisWrapper.bulkStore",async n=>{n.addTags({numKeys:Object.keys(e).length,expirySeconds:r});let i=Object.entries(e).reduce((a,[u,c])=>(a[this.prefixed(u)]=typeof c=="object"?JSON.stringify(c):c,a),{}),o=this.client.pipeline();if(o.mset(i),r!==null)for(let a of Object.keys(i))o.expire(a,r);await o.exec()})}async getTTL(e){return await this.trace("RedisWrapper.getTTL",async r=>(r.addTags({key:e}),await this.client.ttl(this.prefixed(e))))}async setExpiry(e,r){return await this.trace("RedisWrapper.setExpiry",async n=>(n.addTags({key:e,expirySeconds:r}),await this.client.expire(this.prefixed(e),r)))}async delete(e){return await this.trace("RedisWrapper.delete",async r=>{r.addTags({key:e}),await this.client.del(this.prefixed(e))})}async bulkDelete(e){return await this.trace("RedisWrapper.bulkDelete",async r=>{r.addTags({numKeys:e.length}),await this.client.del(e.map(n=>this.prefixed(n)))})}async clear(){return await this.trace("RedisWrapper.clear",async e=>{let r=await this.scan();e.addTags({numKeys:r.length}),await Promise.all(r.map(n=>this.delete(n.key)))})}async increment(e){return await this.trace("RedisWrapper.increment",async r=>{r.addTags({key:e});let n=await this.client.incr(this.prefixed(e));if(isNaN(n))throw new Error(`Redis ${e} does not contain a number`);return n})}async deleteIfValue(e,r){return await this.trace("RedisWrapper.deleteIfValue",async n=>{n.addTags({key:e});let i=`
5
+ `),n={variables:{},expressions:[],errors:{}},i=0,o=r.length;i<o;i++){var a=r[i],u=null,c=a.trim();if(c.length>0){if(c.match(/^#/))continue;if(u=c.match(/^(.*)=(.*)$/))n.variables[u[1]]=u[2];else{var l=null;try{l=pr._parseEntry("0 "+c),n.expressions.push(l.interval)}catch(d){n.errors[c]=d}}}}return n},"parseString");pr.parseFile=s(function(e,r){require("fs").readFile(e,function(n,i){if(n){r(n);return}return r(null,pr.parseString(i.toString()))})},"parseFile");by.exports=pr});var ik={};P(ik,{APIWarning:()=>In,ActiveContentFileError:()=>Wu,AutomationViewMode:()=>Wa,BUDIBASE_DATASOURCE_TYPE:()=>Hd,BadRequestError:()=>fo,BudibaseError:()=>lo,Config:()=>ef,Cookie:()=>en,DEFAULT_BB_DATASOURCE_ID:()=>bn,DEFAULT_EMPLOYEE_TABLE_ID:()=>Xd,DEFAULT_EXPENSES_TABLE_ID:()=>Jd,DEFAULT_INVENTORY_TABLE_ID:()=>zd,DEFAULT_JOBS_TABLE_ID:()=>Yd,DEFAULT_TENANT_ID:()=>ae,DeprecatedViews:()=>jn,DesignDocuments:()=>Os,DocumentType:()=>ce,Duration:()=>pe,DurationType:()=>tp,EmailUnavailableError:()=>Jt,Endpoint:()=>Wc,EndpointGroup:()=>wn,EndpointGroupList:()=>Bo,FeatureDisabledError:()=>Vu,FeatureDisabledWarning:()=>Dc,ForbiddenError:()=>$u,GlobalRole:()=>Zd,HTTPError:()=>Me,Header:()=>We,InternalTable:()=>Pt,InvalidAPIKeyWarning:()=>Ai,MAX_VALID_DATE:()=>Va,MIN_VALID_DATE:()=>Hy,NotFoundError:()=>Bu,NotImplementedError:()=>Gu,RedisClient:()=>De,SEPARATOR:()=>C,SQLITE_DESIGN_DOC_ID:()=>Rt,SQS_DATASOURCE_INTERNAL:()=>jd,StaticDatabases:()=>fe,UNICODE_MAX:()=>Pe,USER_METADATA_PREFIX:()=>_s,UnexpectedError:()=>Fu,UsageLimitError:()=>qu,UsageLimitWarning:()=>wc,UserStatus:()=>Ga,ViewName:()=>$t,WORKSPACE_DEV:()=>$a,WORKSPACE_DEV_PREFIX:()=>tt,WORKSPACE_PREFIX:()=>et,accounts:()=>yn,auth:()=>Mm,blacklist:()=>Wm,cache:()=>Ro,configs:()=>Xt,constants:()=>tf,context:()=>ue,csv:()=>Xm,db:()=>Sr,docIds:()=>qf,docUpdates:()=>Gm,encryption:()=>bm,env:()=>g,errors:()=>Qu,events:()=>hi,features:()=>Im,getErrorMessage:()=>lA,getPublicError:()=>Ku,init:()=>nk,installation:()=>Zu,locks:()=>En,logging:()=>to,middleware:()=>Lm,objectStore:()=>Tp,permissions:()=>Am,platform:()=>uo,plugins:()=>Fm,queue:()=>wp,redis:()=>Bm,roles:()=>Sm,security:()=>Fp,sessions:()=>ju,setEnv:()=>ws,sql:()=>Jm,tenancy:()=>rk,timers:()=>Iu,userUtils:()=>Xp,users:()=>Ei,utils:()=>si,warnings:()=>xm,withEnv:()=>Zy});module.exports=SO(ik);var Xt={};P(Xt,{analyticsEnabled:()=>zu,generateConfigID:()=>Po,getConfig:()=>Be,getDefaultGoogleConfig:()=>am,getGoogleConfig:()=>dc,getGoogleDatasourceConfig:()=>cm,getOIDCConfig:()=>f0,getOIDCConfigById:()=>lm,getOIDCLogosDoc:()=>l0,getPlatformUrl:()=>No,getRecaptchaConfig:()=>h0,getSCIMConfig:()=>m0,getSMTPConfig:()=>p0,getSMTPConfigDoc:()=>l_,getSettingsConfig:()=>um,getSettingsConfigDoc:()=>yi,getTranslationsConfig:()=>u0,getTranslationsConfigDoc:()=>c_,save:()=>a0});var AO=["user:created","user:updated","user:deleted","user:admin:assigned","user:admin:removed","user:builder:assigned","user:builder:removed","user_group:created","user_group:updated","user_group:deleted","user_group:user_added","user_group:users_deleted","user_group:permissions_edited"],_O=["automation:deleted","workspace_app:deleted","datasource:deleted","table:deleted","query:deleted","view:deleted"],th=[...AO,..._O],rh={"user:created":'User "{{ email }}" created{{#if viaScim}} via SCIM{{/if}}',"user:updated":'User "{{ email }}" updated{{#if viaScim}} via SCIM{{/if}}',"user:deleted":'User "{{ email }}" deleted{{#if viaScim}} via SCIM{{/if}}',"user:admin:assigned":'User "{{ email }}" admin role assigned',"user:admin:removed":'User "{{ email }}" admin role removed',"user:builder:assigned":'User "{{ email }}" builder role assigned',"user:builder:removed":'User "{{ email }}" builder role removed',"user:invited":'User "{{ email }}" invited',"user:invite:accepted":'User "{{ email }}" accepted invite',"user:password:updated":'User "{{ email }}" password updated',"user:password:reset:requested":'User "{{ email }}" password reset requested',"user:password:reset":'User "{{ email }}" password reset',"user_group:created":'User group "{{ name }}" created{{#if viaScim}} via SCIM{{/if}}',"user_group:updated":'User group "{{ name }}" updated{{#if viaScim}} via SCIM{{/if}}',"user_group:deleted":'User group "{{ name }}" deleted{{#if viaScim}} via SCIM{{/if}}',"user_group:user_added":'User group "{{ name }}" {{ count }} users added{{#if viaScim}} via SCIM{{/if}}',"user_group:users_deleted":'User group "{{ name }}" {{ count }} users removed{{#if viaScim}} via SCIM{{/if}}',"user_group:permissions_edited":'User group "{{ name }}" permissions edited',"user:password:force:reset":void 0,"user_group:onboarding_added":void 0,"user:onboarding:complete":void 0,"user:data:collaboration":void 0,"email:smtp:created":"Email configuration created","email:smtp:updated":"Email configuration updated","ai:config:created":"AI configuration created","ai:config:updated":"AI configuration updated","auth:sso:created":"SSO configuration created","auth:sso:updated":"SSO configuration updated","auth:sso:activated":"SSO configuration activated","auth:sso:deactivated":"SSO configuration deactivated","auth:login":'User "{{ email }}" logged in',"auth:logout":'User "{{ email }}" logged out',"org:info:name:updated":"Organisation name updated","org:info:logo:updated":"Organisation logo updated","org:platformurl:updated":"Organisation platform URL updated","app:created":'App "{{ name }}" created',"app:updated":'App "{{ name }}" updated',"app:deleted":'App "{{ name }}" deleted',"app:duplicated":'App "{{ name }}" duplicated',"app:published":'App "{{ name }}" published',"app:unpublished":'App "{{ name }}" unpublished',"app:template:imported":'App "{{ name }}" template imported',"app:file:imported":'App "{{ name }}" file imported',"app:version:updated":'App "{{ name }}" version updated',"app:version:reverted":'App "{{ name }}" version reverted',"app:reverted":'App "{{ name }}" reverted',"app:exported":'App "{{ name }}" exported',"app:backup:restored":'App backup "{{ name }}" restored',"app:backup:triggered":'App backup "{{ name }}" triggered',"datasource:created":"Datasource created","datasource:updated":"Datasource updated","datasource:deleted":"Datasource deleted","query:created":"Query created","query:updated":"Query updated","query:deleted":"Query deleted","query:import":"Query import","queries:run":void 0,"query:previewed":void 0,"table:created":'Table "{{ name }}" created',"table:updated":'Table "{{ name }}" updated',"table:deleted":'Table "{{ name }}" deleted',"table:exported":'Table "{{ name }}" exported',"table:imported":'Table "{{ name }}" imported',"table:data:imported":"Data imported to table","rows:created":"Rows created","rows:imported":"Rows imported","automation:created":'Automation "{{ name }}" created',"automation:deleted":'Automation "{{ name }}" deleted',"automation:step:created":'Automation "{{ name }}" step added',"automation:step:deleted":'Automation "{{ name }}" step removed',"automation:tested":void 0,"automations:run":void 0,"automation:trigger:updated":void 0,"screen:created":'Screen "{{ name }}" created',"screen:deleted":'Screen "{{ name }}" deleted',"component:created":"Component created","component:deleted":"Component deleted","environment_variable:created":"Environment variable created","environment_variable:deleted":"Environment variable deleted","environment_variable:upgrade_panel_opened":void 0,"plugin:imported":"Plugin imported","plugin:deleted":"Plugin deleted","plugin:init":void 0,"action:automation_step:executed":void 0,"action:crud:executed":void 0,"action:ai_agent:executed":void 0,"role:created":void 0,"role:updated":void 0,"role:deleted":void 0,"role:assigned":void 0,"role:unassigned":void 0,"license:plan:changed":void 0,"license:activated":void 0,"license:payment:failed":void 0,"license:payment:recovered":void 0,"license:checkout:opened":void 0,"license:checkout:success":void 0,"license:portal:opened":void 0,"account:created":void 0,"account:deleted":void 0,"account:verified":void 0,"app:backfill:succeeded":void 0,"app:backfill:failed":void 0,"tenant:backfill:succeeded":void 0,"tenant:backfill:failed":void 0,"installation:backfill:succeeded":void 0,"installation:backfill:failed":void 0,"layout:created":void 0,"layout:deleted":void 0,"view:created":void 0,"view:updated":void 0,"view:deleted":void 0,"view:exported":void 0,"view:filter:created":void 0,"view:filter:updated":void 0,"view:filter:deleted":void 0,"view:calculation:created":void 0,"view:calculation:updated":void 0,"view:calculation:deleted":void 0,"view:join:created":void 0,"served:builder":void 0,"served:app":void 0,"served:app:preview":void 0,"analytics:opt:out":void 0,"analytics:opt:in":void 0,"installation:version:checked":void 0,"installation:version:upgraded":void 0,"installation:version:downgraded":void 0,"installation:firstStartup":void 0,"audit_log:filtered":void 0,"audit_log:downloaded":void 0,"row_action:created":void 0,"workspace_app:created":void 0,"workspace_app:deleted":void 0,"workspace_app:updated":void 0,"resource:copied_to_workspace":"{{ resource.type }} copied to workspace"};var $c=(n=>(n.SQL="sql",n.JSON="json",n.FIELDS="fields",n))($c||{}),Gc=(p=>(p.STRING="string",p.CODE="code",p.LONGFORM="longForm",p.SENSITIVE_LONGFORM="sensitiveLongForm",p.BOOLEAN="boolean",p.NUMBER="number",p.PASSWORD="password",p.LIST="list",p.OBJECT="object",p.JSON="json",p.FILE="file",p.FIELD_GROUP="fieldGroup",p.SELECT="select",p))(Gc||{}),$o=(y=>(y.AIRTABLE="AIRTABLE",y.ARANGODB="ARANGODB",y.BUDIBASE="BUDIBASE",y.COUCHDB="COUCHDB",y.DYNAMODB="DYNAMODB",y.ELASTICSEARCH="ELASTICSEARCH",y.FIRESTORE="FIRESTORE",y.GOOGLE_SHEETS="GOOGLE_SHEETS",y.MONGODB="MONGODB",y.MYSQL="MYSQL",y.ORACLE="ORACLE",y.POSTGRES="POSTGRES",y.REDIS="REDIS",y.REST="REST",y.S3="S3",y.SNOWFLAKE="SNOWFLAKE",y.SQL_SERVER="SQL_SERVER",y))($o||{});var Vc=(r=>(r.CONNECTION_CHECKING="connection",r.FETCH_TABLE_NAMES="fetch_table_names",r))(Vc||{});var OO=B(require("lodash/isPlainObject"));var Mr=(a=>(a.EQUAL="equal",a.NOT_EQUAL="notEqual",a.EMPTY="empty",a.NOT_EMPTY="notEmpty",a.FUZZY="fuzzy",a.STRING="string",a))(Mr||{}),sr=(i=>(i.CONTAINS="contains",i.NOT_CONTAINS="notContains",i.CONTAINS_ANY="containsAny",i.ONE_OF="oneOf",i))(sr||{}),Rn=(e=>(e.RANGE="range",e))(Rn||{}),Di=(r=>(r.AND="$and",r.OR="$or",r))(Di||{});function Go(t){return Object.values(Di).includes(t)}s(Go,"isLogicalSearchOperator");function nh(t){return Object.values(Mr).includes(t)}s(nh,"isBasicSearchOperator");function ih(t){return Object.values(sr).includes(t)}s(ih,"isArraySearchOperator");function Vo(t){return Object.values(Rn).includes(t)}s(Vo,"isRangeSearchOperator");var sh=s(t=>typeof t=="object"&&t._id&&t._rev,"isDocument");var Ri=(o=>(o.USER="user",o.HEADER="header",o.QUERY="query",o.SUBDOMAIN="subdomain",o.PATH="path",o))(Ri||{});var Ci=(i=>(i.READ="read",i.WRITE="write",i.EXECUTE="execute",i.ADMIN="admin",i))(Ci||{});var qo=(f=>(f.WORKSPACE="app",f.TABLE="table",f.USER="user",f.AUTOMATION="automation",f.WEBHOOK="webhook",f.BUILDER="builder",f.CREATOR="creator",f.GLOBAL_BUILDER="globalBuilder",f.QUERY="query",f.VIEW="view",f.LEGACY_VIEW="legacy_view",f))(qo||{});var Ko=s(t=>t.hosting==="cloud","isCloudAccount");var Qo=s(t=>t.authType==="sso","isSSOAccount");var C="_",Pe="\uFFF0",or=s(t=>`${t}${C}`,"prefixed"),ce=(V=>(V.USER="us",V.GROUP="gr",V.CONFIG="config",V.TEMPLATE="template",V.WORKSPACE="app",V.DEV="dev",V.WORKSPACE_DEV="app_dev",V.WORKSPACE_METADATA="app_metadata",V.ROLE="role",V.DEV_INFO="devinfo",V.AUTOMATION_LOG="log_au",V.ACCOUNT_METADATA="acc_metadata",V.PLUGIN="plg",V.DATASOURCE="datasource",V.DATASOURCE_PLUS="datasource_plus",V.APP_BACKUP="backup",V.TABLE="ta",V.ROW="ro",V.AUTOMATION="au",V.LINK="li",V.WEBHOOK="wh",V.INSTANCE="inst",V.LAYOUT="layout",V.SCREEN="screen",V.QUERY="query",V.DEPLOYMENTS="deployments",V.METADATA="metadata",V.MEM_VIEW="view",V.USER_FLAG="flag",V.AUTOMATION_METADATA="meta_au",V.AUDIT_LOG="al",V.SCIM_LOG="scimlog",V.ROW_ACTIONS="ra",V.OAUTH2_CONFIG="oauth2",V.OAUTH2_CONFIG_LOG="oauth2log",V.AGENT="agent",V.CHAT_APP="chatapp",V.CHAT_CONVERSATION="chatconvo",V.AGENT_TOOL_SOURCE="agenttoolsource",V.AGENT_FILE="agentfile",V.AGENT_LOG_SESSION="agentlogsession",V.AGENT_LOG_REQUEST="agentlogrequest",V.KNOWLEDGE_BASE_FILE="knowledgebasefile",V.AI_CONFIG="aiconfig",V.LITELLM_KEY="litellmkey",V.VECTOR_STORE="vectordb",V.KNOWLEDGE_BASE="knowledgebase",V.WORKSPACE_APP="workspace_app",V.WORKSPACE_FAVOURITE="workspace_favourite",V.AUTO_COLUMN_STATE="autocolumn_state",V))(ce||{});var Pt=(e=>(e.USER_METADATA="ta_users",e))(Pt||{});function jo(t){return!!t.providerType}s(jo,"isSSOUser");var qc=(d=>(d.OBJECT="object",d.STRING="string",d.BOOLEAN="boolean",d.NUMBER="number",d.ARRAY="array",d.JSON="json",d.DATE="date",d.DATETIME="datetime",d.ATTACHMENT="attachment",d.LONGFORM="longform",d))(qc||{}),Kc=(_=>(_.TABLE="table",_.ROW="row",_.ROWS="rows",_.WIDE="wide",_.QUERY="query",_.QUERY_PARAMS="queryParams",_.QUERY_LIMIT="queryLimit",_.LOOP_OPTION="loopOption",_.ITEM="item",_.CODE="code",_.FILTERS="filters",_.COLUMN="column",_.TRIGGER_SCHEMA="triggerSchema",_.CRON="cron",_.WEBHOOK_URL="webhookUrl",_.AUTOMATION="automation",_.AUTOMATION_FIELDS="automationFields",_.MULTI_ATTACHMENTS="multi_attachments",_.TRIGGER_FILTER="trigger_filter",_.CATEGORIES="categories",_.AGENT="agent",_.OUTPUT_SCHEMA="outputSchema",_))(Kc||{}),Qc=(c=>(c.ROW_SAVED="ROW_SAVED",c.ROW_UPDATED="ROW_UPDATED",c.ROW_DELETED="ROW_DELETED",c.WEBHOOK="WEBHOOK",c.APP="APP",c.CRON="CRON",c.ROW_ACTION="ROW_ACTION",c.EMAIL="EMAIL",c))(Qc||{});var jc=(D=>(D.SEND_EMAIL_SMTP="SEND_EMAIL_SMTP",D.CREATE_ROW="CREATE_ROW",D.GET_ROW="GET_ROW",D.UPDATE_ROW="UPDATE_ROW",D.DELETE_ROW="DELETE_ROW",D.QUERY_ROWS="QUERY_ROWS",D.EXECUTE_BASH="EXECUTE_BASH",D.OUTGOING_WEBHOOK="OUTGOING_WEBHOOK",D.EXECUTE_SCRIPT="EXECUTE_SCRIPT",D.EXECUTE_SCRIPT_V2="EXECUTE_SCRIPT_V2",D.EXECUTE_QUERY="EXECUTE_QUERY",D.SERVER_LOG="SERVER_LOG",D.DELAY="DELAY",D.FILTER="FILTER",D.API_REQUEST="API_REQUEST",D.LOOP="LOOP",D.COLLECT="COLLECT",D.OPENAI="OPENAI",D.TRIGGER_AUTOMATION_RUN="TRIGGER_AUTOMATION_RUN",D.BRANCH="BRANCH",D.CLASSIFY_CONTENT="CLASSIFY_CONTENT",D.PROMPT_LLM="PROMPT_LLM",D.TRANSLATE="TRANSLATE",D.SUMMARISE="SUMMARISE",D.GENERATE_TEXT="GENERATE_TEXT",D.EXTRACT_FILE_DATA="EXTRACT_FILE_DATA",D.EXTRACT_STATE="EXTRACT_STATE",D.LOOP_V2="LOOP_V2",D.AGENT="AGENT",D.discord="discord",D.slack="slack",D.zapier="zapier",D.integromat="integromat",D.n8n="n8n",D))(jc||{}),oh=[...Object.values(jc),...Object.values(Qc)];function ah(t){return t.stepId==="BRANCH"}s(ah,"isBranchStep");var Hc="bb_internal";var uh=["attachment_single","attachment","signature_single","bb_reference","json","array"];var tf={};P(tf,{AutomationViewMode:()=>Wa,BUDIBASE_DATASOURCE_TYPE:()=>Hd,Config:()=>ef,Cookie:()=>en,DEFAULT_BB_DATASOURCE_ID:()=>bn,DEFAULT_EMPLOYEE_TABLE_ID:()=>Xd,DEFAULT_EXPENSES_TABLE_ID:()=>Jd,DEFAULT_INVENTORY_TABLE_ID:()=>zd,DEFAULT_JOBS_TABLE_ID:()=>Yd,DEFAULT_TENANT_ID:()=>ae,DeprecatedViews:()=>jn,DesignDocuments:()=>Os,DocumentType:()=>ce,GlobalRole:()=>Zd,Header:()=>We,InternalTable:()=>Pt,MAX_VALID_DATE:()=>Va,MIN_VALID_DATE:()=>Hy,SEPARATOR:()=>C,SQLITE_DESIGN_DOC_ID:()=>Rt,SQS_DATASOURCE_INTERNAL:()=>jd,StaticDatabases:()=>fe,UNICODE_MAX:()=>Pe,USER_METADATA_PREFIX:()=>_s,UserStatus:()=>Ga,ViewName:()=>$t,WORKSPACE_DEV:()=>$a,WORKSPACE_DEV_PREFIX:()=>tt,WORKSPACE_PREFIX:()=>et});var We=(w=>(w.API_KEY="x-budibase-api-key",w.LICENSE_KEY="x-budibase-license-key",w.API_VER="x-budibase-api-version",w.APP_ID="x-budibase-app-id",w.SESSION_ID="x-budibase-session-id",w.CLIENT="x-budibase-client",w.TYPE="x-budibase-type",w.PREVIEW_ROLE="x-budibase-role",w.TENANT_ID="x-budibase-tenant-id",w.VERIFICATION_CODE="x-budibase-verification-code",w.RETURN_VERIFICATION_CODE="x-budibase-return-verification-code",w.RESET_PASSWORD_CODE="x-budibase-reset-password-code",w.RETURN_RESET_PASSWORD_CODE="x-budibase-return-reset-password-code",w.TOKEN="x-budibase-token",w.CSRF_TOKEN="x-csrf-token",w.CORRELATION_ID="x-budibase-correlation-id",w.AUTHORIZATION="authorization",w.MIGRATING_APP="x-budibase-migrating-app",w.SKIP_MIGRATING_WAIT="x-budibase-migrating-app-skip-wait",w.COOKIE="cookie",w))(We||{});var Cn={WORKSPACES:"/builder/workspaces",SETTINGS_EMAIL:"/builder/settings/email",SETTINGS_AUTH:"/builder/settings/auth",SETTINGS_PEOPLE_USERS:"/builder/settings/people/users",APPS:"/builder/apps"},bi={ACCOUNT:"/portal/account",BILLING:"/portal/billing",TENANTS:"/portal/tenants",UPGRADE:"/portal/upgrade"};var $e={Equals:{value:"equal",label:"Equals"},NotEquals:{value:"notEqual",label:"Not equals"},Empty:{value:"empty",label:"Is empty"},NotEmpty:{value:"notEmpty",label:"Is not empty"},StartsWith:{value:"string",label:"Starts with"},Like:{value:"fuzzy",label:"Like"},MoreThan:{value:"rangeLow",label:"More than or equal to"},LessThan:{value:"rangeHigh",label:"Less than or equal to"},Contains:{value:"contains",label:"Contains"},NotContains:{value:"notContains",label:"Does not contain"},In:{value:"oneOf",label:"Is in"},ContainsAny:{value:"containsAny",label:"Has any"}},ch={integer:{max:2147483647,min:-2147483648},int:{max:2147483647,min:-2147483648},smallint:{max:32767,min:-32768},mediumint:{max:8388607,min:-8388608}};var bn="datasource_internal_bb_default";var mr={};P(mr,{ColumnSplitter:()=>Ud,NoEmptyFilterStrings:()=>Gy,buildQuery:()=>Vy,cleanupQuery:()=>kd,fixupFilterArrays:()=>Bd,getKeyNumbering:()=>Fd,getValidOperatorsForType:()=>nb,hasFilters:()=>Ld,limit:()=>Ky,recurseLogicalOperators:()=>Md,removeKeyNumbering:()=>Ho,runQuery:()=>Ma,search:()=>ob,sort:()=>qy,splitFiltersArray:()=>Yo});var Qn=B(lh());var _t={};P(_t,{filterValueToLabel:()=>bO,hasSchema:()=>xO,isSupportedUserSearch:()=>ph,nameToUrl:()=>LO,parallelForeach:()=>CO,processSearchFilters:()=>Jc,toMap:()=>PO,trimOtherProps:()=>vO,unreachable:()=>RO});var fh=B(require("lodash/pick"));var DO=["field","operator","value","type","externalType","valueType","noValue","formulaType"];function RO(t,e){let r=e?.message||`No such case in exhaustive switch: ${t}`;if(!!!e?.doNotThrow)throw new Error(r)}s(RO,"unreachable");async function CO(t,e,r){let n=[],i=Symbol.asyncIterator in t,o=i?t[Symbol.asyncIterator]():t[Symbol.iterator](),a=s(async()=>{let u=await(i?o.next():Promise.resolve(o.next()));for(;!u.done;)await e(u.value),u=await(i?o.next():Promise.resolve(o.next()))},"executeNext");for(let u=0;u<r;u++)n.push(a());await Promise.all(n)}s(CO,"parallelForeach");function bO(){return Object.keys($e).reduce((t,e)=>{let n=$e[e];return t[n.value]=n.label,t},{})}s(bO,"filterValueToLabel");function xO(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null&&!(t instanceof Date)&&Object.keys(t).length>0}s(xO,"hasSchema");function vO(t,e){return Object.keys(t).filter(n=>e.includes(n)).reduce((n,i)=>({...n,[i]:t[i]}),{})}s(vO,"trimOtherProps");function ph(t){let e=[{op:"string",key:"email"},{op:"fuzzy",key:"email"},{op:"equal",key:"_id"},{op:"oneOf",key:"_id"}],{allOr:r,onEmptyFilter:n,...i}=t;for(let[o,a]of Object.entries(i)){if(typeof a!="object")return!1;if(Go(o)){for(let l of t[o].conditions)if(!ph(l))return!1;return!0}let u=Object.keys(a||{});if(u.length===0)continue;if(!e.find(l=>l.op===o&&u.length===1&&u[0]===l.key))return!1}return!0}s(ph,"isSupportedUserSearch");function Jc(t){if(!t||t.length===0)return;let{allOr:e,onEmptyFilter:r,filters:n}=Yo(t);return{logicalOperator:"all",onEmptyFilter:r||"all",groups:[{logicalOperator:e?"any":"all",filters:n.map(i=>{let o=(0,fh.default)(i,DO);return o.field=Ho(o.field),o})}]}}s(Jc,"processSearchFilters");function PO(t,e){return e.reduce((r,n)=>(r[n[t]]=n,r),{})}s(PO,"toMap");var NO=s(t=>t?t.trim():null,"resolveWorkspaceName"),UO=s(t=>{let e,r=NO(t);e=r?r.toLowerCase():"";let n=e?e.replace(/\s+/g,"-"):"";return encodeURI(n)},"resolveWorkspaceUrl"),LO=s(t=>{let e=UO(t);return MO(e)},"nameToUrl"),MO=s(t=>(t&&!t.startsWith("/")&&(t=`/${t}`),t===""?null:t),"tidyUrl");var Ue={};P(Ue,{accountPortalAccountUrl:()=>Id,accountPortalBillingUrl:()=>wd,accountPortalUpgradeUrl:()=>Dd,agentChatUrl:()=>Pd,appAgentUrl:()=>Ua,appChatUrl:()=>Na,builderAppsUrl:()=>vd,builderSettingsAuthUrl:()=>bd,builderSettingsEmailUrl:()=>Cd,builderSettingsPeopleUsersUrl:()=>xd,builderWorkspacesUrl:()=>Rd,cancelableTimeout:()=>mh,cron:()=>ZC,deepGet:()=>Xc,duplicateName:()=>HC,escapeHtml:()=>$O,formatBytes:()=>XC,getSequentialName:()=>YC,getUserColor:()=>FO,getUserInitials:()=>kO,getUserLabel:()=>BO,isGoogleSheets:()=>GO,isSQL:()=>VO,lists:()=>Od,retry:()=>qO,roles:()=>_d,schema:()=>Es,structuredOutput:()=>Td,urlHelpers:()=>By,views:()=>Ad,wait:()=>Zc,withTimeout:()=>WO});var Xc=s((t,e)=>{if(!t||!e)return null;if(Object.prototype.hasOwnProperty.call(t,e))return t[e];let r=e.split(".");for(let n=0;n<r.length;n++)t=t?.[r[n]];return t},"deepGet"),kO=s(t=>{if(!t)return"?";let e="";return e+=t.firstName?t.firstName[0]:"",e+=t.lastName?t.lastName[0]:"",e!==""?e:t.email?.[0]||"U"},"getUserInitials"),FO=s(t=>{let e=t?._id;if(!e)return"var(--spectrum-global-color-blue-400)";e=e.replace("ro_ta_users_","");let r=1;for(let n=0;n<e.length;n++)r+=e.charCodeAt(n),r=r%36;return`hsl(${r*10}, 50%, 40%)`},"getUserColor"),BO=s(t=>{if(!t)return"";let{firstName:e,lastName:r,email:n}=t;return e&&r?`${e} ${r}`:e||r||n},"getUserLabel");function mh(t){let e;return[new Promise((r,n)=>{e=setTimeout(()=>{n({status:301,errno:"ETIME"})},t)}),()=>{clearTimeout(e)}]}s(mh,"cancelableTimeout");async function WO(t,e){let[r,n]=mh(t),i=await Promise.race([e(),r]);return n(),i}s(WO,"withTimeout");var $O=s(t=>t==null?"":String(t).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;"),"escapeHtml");function GO(t){return t==="GOOGLE_SHEETS"}s(GO,"isGoogleSheets");function VO(t){return!t||!t.source?!1:["POSTGRES","SQL_SERVER","MYSQL","ORACLE"].indexOf(t.source)!==-1||t.isSQL===!0}s(VO,"isSQL");async function Zc(t){return new Promise(e=>setTimeout(e,t))}s(Zc,"wait");async function qO(t,e){let{times:r=3}=e||{};if(r<1)throw new Error(`invalid retry count: ${r}`);let n;for(let i=0;i<r;i++){let o=1.5**i*1e3*(Math.random()+.5);await Zc(o);try{return await t()}catch(a){n=a}}throw n}s(qO,"retry");var Py=B(Ot()),Ny=B(xy());var vy="(Input cron: ",PC={"smaller than lower limit":"less than","bigger than upper limit":"greater than",daysOfMonth:"'days of the month'",daysOfWeek:"'days of the week'",years:"'years'",months:"'months'",hours:"'hours'",minutes:"'minutes'",seconds:"'seconds'"};function NC(t){let e=[];for(let r of t){r.includes(vy)&&(r=r.split(vy)[0].trim());for(let[n,i]of Object.entries(PC))r.includes(n)&&(r=r.replace(new RegExp(n,"g"),i));e.push(r)}return e}s(NC,"improveErrors");function Uy(t,e=4){let r=Ny.default.parseExpression(t),n=[];for(let i=0;i<e;i++)n.push(r.next().toString());return n}s(Uy,"getNextExecutionDates");function Ly(t){let e=(0,Py.default)(t,{preset:"npm-cron-schedule",override:{useSeconds:!1}});return e.isValid()?{valid:!0}:{valid:!1,err:NC(e.getError())}}s(Ly,"validate");var Es={};P(Es,{decodeNonAscii:()=>yd,encodeNonAscii:()=>MC,isDeprecatedSingleUserColumn:()=>UC,isNumeric:()=>kC,isRequired:()=>LC});function UC(t){return t.type==="bb_reference"&&t.subtype==="user"&&t.constraints?.type!=="array"}s(UC,"isDeprecatedSingleUserColumn");function LC(t){return!!t&&(typeof t.presence!="boolean"&&t.presence?.allowEmpty===!1||t.presence===!0)}s(LC,"isRequired");function MC(t){return t.split("").map(e=>e.charCodeAt(0)>127?"\\u"+e.charCodeAt(0).toString(16).padStart(4,"0"):e).join("")}s(MC,"encodeNonAscii");function yd(t){return t.replace(/\\u([0-9a-fA-F]{4})/g,(e,r)=>String.fromCharCode(parseInt(r,16)))}s(yd,"decodeNonAscii");function kC(t){return t.type==="number"||t.type==="bigint"}s(kC,"isNumeric");var Td={};P(Td,{normalizeSchemaForStructuredOutput:()=>FC});function FC(t){function e(n){if(typeof n!="object"||n===null)return n;let i={...n};if(i.type==="object"&&(i.additionalProperties=!1,i.properties&&typeof i.properties=="object"&&i.properties!==null)){let o=i.properties,a=[],u={};for(let[d,f]of Object.entries(o))if(typeof f=="object"&&f!==null){let h=f;if(h.required===!0){a.push(d);let{required:p,...S}=h;u[d]=e(S)}else u[d]=e(h)}else u[d]=f;i.properties=u;let c=Array.isArray(i.required)?i.required:[],l=[...new Set([...c,...a])];l.length>0?i.required=l:i.required=Object.keys(u)}i.type==="array"&&i.items&&typeof i.items=="object"&&i.items!==null&&(i.items=e(i.items));for(let o of["anyOf","oneOf","allOf"])Array.isArray(i[o])&&(i[o]=i[o].map(a=>e(a)));return i}s(e,"processSchema");let r=e(t);return r.type==="array"?r={type:"object",properties:{items:r},required:["items"],additionalProperties:!1}:r.type!=="object"&&(r={type:"object",properties:{value:r},required:["value"],additionalProperties:!1}),r}s(FC,"normalizeSchemaForStructuredOutput");var Ad={};P(Ad,{basicFields:()=>VC,calculationFields:()=>GC,hasCalculationFields:()=>$C,isBasicViewField:()=>BC,isCalculationField:()=>ys,isCalculationView:()=>WC,isV2:()=>qC,isVisible:()=>My});var Sd=B(require("lodash/pickBy"));function ys(t){return"calculationType"in t}s(ys,"isCalculationField");function BC(t){return!ys(t)}s(BC,"isBasicViewField");function WC(t){return t.type==="calculation"}s(WC,"isCalculationView");function $C(t){return Object.values(t.schema||{}).some(ys)}s($C,"hasCalculationFields");function GC(t){return(0,Sd.default)(t.schema||{},ys)}s(GC,"calculationFields");function My(t){return t.visible!==!1}s(My,"isVisible");function VC(t,e){let{visible:r=!0}=e||{};return(0,Sd.default)(t.schema||{},n=>!ys(n)&&(!r||My(n)))}s(VC,"basicFields");function qC(t){return t.version===2}s(qC,"isV2");var _d={};P(_d,{checkForRoleInheritanceLoops:()=>QC});function KC(t){return`role${C}${t}`}s(KC,"prefixForCheck");function QC(t){let e=new Map;t.forEach(o=>{e.set(o._id,o)});let r=new Set,n=new Set;function i(o){let a=KC(o);if(n.has(o)||n.has(a))return!0;if(r.has(o)||r.has(a))return!1;n.add(o);let u=e.get(a)||e.get(o);if(!u)return n.delete(o),!1;let c=Array.isArray(u.inherits)?u.inherits:[u.inherits];for(let l of c)if(l&&i(l))return!0;return n.delete(o),r.add(o),!1}return s(i,"hasLoop"),!!t.find(o=>i(o._id))}s(QC,"checkForRoleInheritanceLoops");var Od={};P(Od,{punctuateList:()=>jC});function jC(t){return t.length===0?"":t.length===1?t[0]:t.length===2?t.join(" and "):t.slice(0,-1).join(", ")+" and "+t[t.length-1]}s(jC,"punctuateList");var HC=s((t,e)=>{let r=new RegExp("\\s(\\d+)$"),n=t.split(r)[0],i=new RegExp(`${n}\\s(\\d+)$`),o=[];e.filter(u=>{if(u===n)return!0;let c=u.match(i);return c?(o.push(parseInt(c[1])),!0):!1}),o.sort((u,c)=>u-c);let a;if(o.length===0)a=1;else{for(let u=0;u<o.length;u++)if(o[u]!==u+1){a=u+1;break}a||(a=o.length+1)}return`${n} ${a}`},"duplicateName"),YC=s((t,e,{getName:r,numberFirstItem:n,separator:i=""}={})=>{if(!e?.length)return"";let o=e.trim(),a=n?`${e}1`:o;if(!t?.length)return a;let u=0;return t.forEach(c=>{let l=r?.(c)??c;if(typeof l!="string"||!l.startsWith(o))return;let d=l.split(o);if(d.length!==2)return;d[1].trim()===""&&(d[1]="1");let f=parseInt(d[1]);f>u&&(u=f)}),u===0?a:`${e}${i}${u+1}`},"getSequentialName");var ky=s(t=>t?t.startsWith("/")?t:`/${t}`:"","normalizePath"),zC=s(t=>t?t.endsWith("/")?t.slice(0,-1):t:"","normalizeBase"),Wt=s((t,e)=>{let r=ky(e);if(!t)return r;let n=zC(t);return r?`${n}${r}`:n},"joinBaseAndPath"),JC=s(t=>t.replace(/\/+$/,""),"trimTrailingSlash"),Fy=s(t=>JC(ky(t)),"normalizeAppUrl"),Id=s(t=>Wt(t,bi.ACCOUNT),"accountPortalAccountUrl"),wd=s(t=>Wt(t,bi.BILLING),"accountPortalBillingUrl"),Dd=s((t,e)=>{if(e){let r=Wt(t,bi.TENANTS),n=encodeURIComponent(e);return`${r}?managePlansTenantId=${n}`}return Wt(t,bi.UPGRADE)},"accountPortalUpgradeUrl"),Rd=s(t=>Wt(t,Cn.WORKSPACES),"builderWorkspacesUrl"),Cd=s(t=>Wt(t,Cn.SETTINGS_EMAIL),"builderSettingsEmailUrl"),bd=s(t=>Wt(t,Cn.SETTINGS_AUTH),"builderSettingsAuthUrl"),xd=s(t=>Wt(t,Cn.SETTINGS_PEOPLE_USERS),"builderSettingsPeopleUsersUrl"),vd=s(t=>Wt(t,Cn.APPS),"builderAppsUrl"),Na=s(t=>`/app-chat${Fy(t)}`,"appChatUrl"),Ua=s((t,e)=>`${Fy(t)}/agent/${encodeURIComponent(e)}`,"appAgentUrl"),Pd=s((t,e)=>Na(Ua(t,e)),"agentChatUrl"),By={accountPortalAccountUrl:Id,accountPortalBillingUrl:wd,accountPortalUpgradeUrl:Dd,builderWorkspacesUrl:Rd,builderSettingsEmailUrl:Cd,builderSettingsAuthUrl:bd,builderSettingsPeopleUsersUrl:xd,builderAppsUrl:vd,appChatUrl:Na,appAgentUrl:Ua,agentChatUrl:Pd};function XC(t,e=""){let r=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],i=0,o=typeof t=="string"?parseInt(t,10):t||0;for(;o>=1024&&i<r.length-1&&++i;)o/=1024;return`${o.toFixed(o<10&&i>0?1:0)}${e}${r[i]}`}s(XC,"formatBytes");var ZC={getNextExecutionDates:Uy,validate:Ly};var La=B(require("lodash/isPlainObject")),Nd=B(require("lodash/isEmpty"));var tb=/{{([^{].*?)}}/g,$y=Object.values(Di),rb=[...Object.values(Mr),...Object.values(sr),...Object.values(Rn)],nb=s((t,e,r)=>{let n=$e,i=[n.Equals,n.NotEquals,n.StartsWith,n.Like,n.Empty,n.NotEmpty,n.In],o=[n.Equals,n.NotEquals,n.MoreThan,n.LessThan,n.Empty,n.NotEmpty,n.In],a=[n.Contains,n.NotContains,n.ContainsAny,n.Empty,n.NotEmpty],u=[],{type:c,formulaType:l,subtype:d}=t;c==="string"?d==="array"?u=a:u=i:c==="number"||c==="bigint"?u=o:c==="options"?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:c==="array"?u=a:c==="boolean"?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty]:c==="longform"?u=i:c==="datetime"?u=o:c==="formula"&&l==="static"?u=i.concat([n.MoreThan,n.LessThan]):c==="ai"?u=i.concat([n.MoreThan,n.LessThan]):c==="bb_reference_single"||Es.isDeprecatedSingleUserColumn(t)?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:c==="bb_reference"?u=a:c==="barcodeqr"?u=i:c==="link"&&(u=[n.Empty,n.NotEmpty]);let f=r?.tableId?.includes("datasource_plus");return e==="_id"&&f&&(u=[n.Equals,n.NotEquals,n.In]),u},"getValidOperatorsForType"),Gy=[$e.StartsWith.value,$e.Like.value,$e.Equals.value,$e.NotEquals.value,$e.Contains.value,$e.NotContains.value,$e.ContainsAny.value,$e.In.value];function Md(t,e){for(let r of $y)t[r]&&(t[r].conditions=t[r].conditions.map(n=>e(n)));return t}s(Md,"recurseLogicalOperators");var kd=s(t=>{for(let e of Gy)if(t[e])for(let r of Object.keys(t)){if(r!==e)continue;if(typeof t[r]=="object")for(let[i,o]of Object.entries(t[r]))(o==null||o===""||ib(o))&&delete t[e][i]}return t=Md(t,kd),t},"cleanupQuery");function ib(t){return Array.isArray(t)&&t.length===0}s(ib,"isEmptyArray");var Ho=s(t=>Fd(t).key,"removeKeyNumbering"),Fd=s(t=>{if(typeof t=="string"&&t.match(/\d[0-9]*:/g)!=null){let e=t.split(":");return{prefix:`${e.shift()}:`,key:e.join(":")}}else return{key:t}},"getKeyNumbering"),Ud=class{static{s(this,"ColumnSplitter")}constructor(e,r){if(this.tableNames=e.map(n=>n.name),this.tableIds=e.map(n=>n._id),this.relationshipColumnNames=e.flatMap(n=>Object.keys(n.schema).filter(i=>n.schema[i].type==="link")),this.relationships=this.tableNames.concat(this.tableIds).concat(this.relationshipColumnNames).sort((n,i)=>i.length-n.length),r?.aliases){this.aliases={};for(let[n,i]of Object.entries(r.aliases))this.aliases[i]=n}this.columnPrefix=r?.columnPrefix}run(e){let{prefix:r,key:n}=Fd(e),i;if(this.aliases)for(let a of Object.keys(this.aliases||{})){let u=`${a}.`;n.startsWith(u)&&(i=this.aliases[a],n=n.slice(u.length))}let o;for(let a of this.relationships){let u=`${a}.`;if(n.startsWith(u)){let c=n.split(u);c.shift(),o=u,n=c.join(".");break}}return this.columnPrefix&&n.startsWith(this.columnPrefix)&&(n=yd(n.slice(this.columnPrefix.length))),{tableName:i,numberPrefix:r,relationshipPrefix:o,column:n}}};function sb(t){if(!t||!t?.operator||!t?.field)return;let e={},{operator:r,field:n,type:i,externalType:o}=t,{value:a}=t;(r==="empty"||r==="notEmpty")&&(a=null);let u=typeof a=="string"&&(a.match(tb)||[]).length>0;switch(i){case"datetime":if(!u&&r!=="empty"&&r!=="notEmpty"){if(!a)return;if(typeof a=="string")a=new Date(a).toISOString();else if(Vo(r))return e[r]??={},e[r][n]=a,e}break;case"number":typeof a=="string"&&!u&&(r==="oneOf"?a=a.split(",").map(parseFloat):a=parseFloat(a));break;case"boolean":a=`${a}`.toLowerCase()==="true";break;case"array":["contains","notContains","containsAny"].includes(r.toLocaleString())&&typeof a=="string"&&(a=a.split(","));break}if(Vo(r)){let l=ch[o]||{min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER};e[r]??={},e[r][n]={low:i==="number"?l.min:"0000-00-00T00:00:00.000Z",high:i==="number"?l.max:"9999-00-00T00:00:00.000Z"}}else if(r==="rangeHigh"&&a!=null&&a!=="")e.range??={},e.range[n]={...e.range[n],high:a};else if(r==="rangeLow"&&a!=null&&a!=="")e.range??={},e.range[n]={...e.range[n],low:a};else if(nh(r)||ih(r)||Vo(r))i==="boolean"?r==="equal"&&a===!1?(e.notEqual=e.notEqual||{},e.notEqual[n]=!0):r==="notEqual"&&a===!1?(e.equal=e.equal||{},e.equal[n]=!0):(e[r]??={},e[r][n]=a):(e[r]??={},e[r][n]=a);else throw new Error(`Unsupported operator: ${r}`);return e}s(sb,"buildCondition");function Yo(t){let e={filters:[]};for(let r of t)"operator"in r&&r.operator==="allOr"?e.allOr=!0:"onEmptyFilter"in r?e.onEmptyFilter=r.onEmptyFilter:e.filters.push(r);return e}s(Yo,"splitFiltersArray");function Vy(t){if(!t)return{};if(Array.isArray(t)&&(t=Jc(t),!t))return{};let e={};t.onEmptyFilter?e.onEmptyFilter=t.onEmptyFilter:e.onEmptyFilter="all";let r=Wy(t.logicalOperator||"all");return e[r]={conditions:(t.groups||[]).map(n=>{if(n.groups){let c=Vy(n);return delete c.onEmptyFilter,c}let{allOr:i,onEmptyFilter:o,filters:a}=Yo(n.filters||[]);o&&(e.onEmptyFilter=o);let u=i?"$or":"$and";return n.logicalOperator&&(u=Wy(n.logicalOperator)),{[u]:{conditions:a.map(sb).filter(c=>c)}}})},e}s(Vy,"buildQuery");function Wy(t){return t==="all"?"$and":"$or"}s(Wy,"logicalOperatorFromUI");function Bd(t){if(!t)return t;for(let e of Object.values(sr)){let r=t[e];if(!(r==null||!(0,La.default)(r)))for(let n of Object.keys(r)){if(Array.isArray(r[n]))continue;let i=r[n];typeof i=="string"?r[n]=i.split(",").map(o=>o.trim()):r[n]=[i]}}return Md(t,Bd),t}s(Bd,"fixupFilterArrays");function ob(t,e){let r=Ma(t,e.query);e.sort&&(r=qy(r,e.sort,e.sortOrder||"ascending",e.sortType));let n=r.length;e.limit&&(r=Ky(r,e.limit.toString()));let i={rows:r};return e.countRows&&(i.totalRows=n),i}s(ob,"search");function Ma(t,e){if(!t||!Array.isArray(t))return[];if(!e)return t;if(e=kd(e),e=Bd(e),!Ld(e)&&e.onEmptyFilter==="none")return[];let r=s((T,_)=>U=>{for(let[R,k]of Object.entries(e[T]||{})){let H=Go(T)?U:Xc(U,Ho(R)),Ie=_(H,k);if(e.allOr&&Ie)return!0;if(!e.allOr&&!Ie)return!1}return!e.allOr},"match"),n=r("string",(T,_)=>typeof T!="string"||typeof _!="string"?!1:T.toLowerCase().startsWith(_.toLowerCase())),i=r("fuzzy",(T,_)=>typeof T!="string"||typeof _!="string"?!1:T.toLowerCase().includes(_.toLowerCase())),o=r("range",(T,_)=>{if(T==null||T===""||((0,La.default)(_.low)&&(0,Nd.default)(_.low)&&(_.low=void 0),(0,La.default)(_.high)&&(0,Nd.default)(_.high)&&(_.high=void 0),_.low==null&&_.high==null))return!1;let U=+T;if(!isNaN(U)){let k=+_.low,H=+_.high;if(!isNaN(k)&&!isNaN(H))return U>=k&&U<=H;if(isNaN(k)){if(!isNaN(H))return U<=H}else return U>=k}let R=(0,Qn.default)(T);if(R.isValid()){let k=(0,Qn.default)(_.low||"0000-00-00T00:00:00.000Z"),H=(0,Qn.default)(_.high||"9999-00-00T00:00:00.000Z");if(k.isValid()&&H.isValid())return R.isAfter(k)&&R.isBefore(H)||R.isSame(k)||R.isSame(H);if(k.isValid())return R.isAfter(k)||R.isSame(k);if(H.isValid())return R.isBefore(H)||R.isSame(H)}return _.low!=null&&_.high!=null?T>=_.low&&T<=_.high:_.low!=null?T>=_.low:_.high!=null?T<=_.high:!1}),a=s((T,_)=>{if(Array.isArray(T)){for(let R of T)if(a(R,_))return!0;return!1}if(T&&typeof T=="object"&&typeof _=="string")return T._id===_;if(T===_)return!0;if(T==null&&_!=null||T!=null&&_==null)return!1;let U=(0,Qn.default)(T);if(U.isValid()){let R=(0,Qn.default)(_);if(R.isValid())return U.isSame(R)}return!1},"_valueMatches"),u=s(T=>(..._)=>!T(..._),"not"),c=r("equal",a),l=r("notEqual",u(a)),d=s(T=>typeof T=="string"?T==="":Array.isArray(T)?T.length===0:T&&typeof T=="object"?Object.keys(T).length===0:T==null,"_empty"),f=r("empty",d),h=r("notEmpty",u(d)),p=r("oneOf",(T,_)=>(typeof _=="string"&&(_=_.split(",")),typeof T=="number"&&(_=_.map(U=>parseFloat(U))),Array.isArray(_)?_.some(U=>a(T,U)):!1)),S=s(T=>(_,U)=>!Array.isArray(_)||(typeof U=="string"&&(U=U.split(","),typeof _[0]=="number"&&(U=U.map(R=>parseFloat(R)))),!Array.isArray(U))?!1:U.length===0?!0:U[T](R=>a(_,R)),"_contains"),m=r("contains",(T,_)=>Array.isArray(_)&&_.length===0?!0:S("every")(T,_)),E=r("notContains",(T,_)=>Array.isArray(_)&&_.length===0?!0:u(S("every"))(T,_)),y=r("containsAny",S("some")),I=r("$and",(T,_)=>{if(!_.length)return!1;for(let U of _)if(!Ma([T],U).length)return!1;return!0}),O=r("$or",(T,_)=>{if(!_.length)return!1;for(let U of _)if(Ma([T],{...U,allOr:!0}).length)return!0;return!1}),w=s(T=>{let _={string:n,fuzzy:i,range:o,equal:c,notEqual:l,empty:f,notEmpty:h,oneOf:p,contains:m,containsAny:y,notContains:E,$and:I,$or:O},U=Object.entries(e||{}).filter(([R,k])=>!["allOr","onEmptyFilter"].includes(R)&&k&&Object.keys(k).length>0).map(([R])=>_[R]?.(T)??!1);return Ld(e)?e.allOr?U.some(R=>R===!0):U.every(R=>R===!0):!0},"docMatch");return t.filter(w)}s(Ma,"runQuery");function qy(t,e,r,n="string"){if(!e||!r||!n)return t;let i=s(o=>o==null?o:n==="string"?`${o}`:parseFloat(o),"parse");return t.slice().sort((o,a)=>{let u=i(o[e]),c=i(a[e]),l=c==null||u>c?1:-1;return r.toLowerCase()==="descending"?l*-1:l})}s(qy,"sort");function Ky(t,e){let r=typeof e=="number"?e:parseFloat(e);return isNaN(r)?t:t.slice(0,r)}s(Ky,"limit");var Ld=s(t=>{if(!t)return!1;let e=s(r=>{for(let n of $y)if(r[n])for(let i of r[n]?.conditions||[]){let o=e(i);if(o)return o}for(let n of rb){let i=r[n];if(!i||typeof i!="object")continue;if(Object.entries(i).filter(a=>{let u=a[1]!==void 0||a[1]!==null||a[1]!=="";return n==="notEmpty"||u}).length!==0)return!0}return!1},"check");return e(t)},"hasFilters");var Le={};P(Le,{applications:()=>$d,automations:()=>Gd,screens:()=>Qd,users:()=>Kd});var $d={};P($d,{getDevAppID:()=>ab,getProdAppID:()=>Ss});var Wd=or("app"),Ts=or("app_dev");function ab(t){if(!t)throw new Error("No app ID provided");if(t.startsWith(Ts))return t;let e=t.split(Wd);e.shift();let r=e.join(Wd);return`${Ts}${r}`}s(ab,"getDevAppID");function Ss(t){if(!t)throw new Error("No app ID provided");if(!t.startsWith(Ts))return t;let e=t.split(Ts);e.shift();let r=e.join(Ts);return`${Wd}${r}`}s(Ss,"getProdAppID");var Gd={};P(Gd,{checkForCollectStep:()=>db,isAppAction:()=>lb,isRowAction:()=>ub,isWebhookAction:()=>cb});function ub(t){return t.definition.trigger?.stepId==="ROW_ACTION"}s(ub,"isRowAction");function cb(t){return t.definition.trigger?.stepId==="WEBHOOK"}s(cb,"isWebhookAction");function lb(t){return t.definition.trigger?.stepId==="APP"}s(lb,"isAppAction");function Qy(t){if(!t||!Array.isArray(t))return!1;for(let e of t){if(e.stepId==="COLLECT")return!0;if(ah(e)&&e.inputs.children){for(let r of Object.values(e.inputs.children))if(Qy(r))return!0}}return!1}s(Qy,"hasCollectBlockRecursive");function db(t){return Qy(t.definition.steps)}s(db,"checkForCollectStep");var Kd={};P(Kd,{canCreateApps:()=>fb,containsUserID:()=>Sb,getGlobalUserID:()=>Tb,getUserAppGroups:()=>Ab,hasAdminPermissions:()=>qd,hasAppBuilderPermissions:()=>Fa,hasBuilderPermissions:()=>Eb,hasCreatorPermissions:()=>Ba,isAdmin:()=>As,isAdminOrBuilder:()=>mb,isAdminOrGlobalBuilder:()=>hb,isAdminOrWorkspaceBuilder:()=>pb,isBuilder:()=>Vd,isCreator:()=>yb,isGlobalBuilder:()=>ka,userAppAccessList:()=>_b});function Vd(t,e){return t?t.builder?.global?!0:!!(e&&t.builder?.apps?.includes(Ss(e))):!1}s(Vd,"isBuilder");function ka(t){return Vd(t)&&!Fa(t)||As(t)}s(ka,"isGlobalBuilder");function fb(t){return ka(t)||Ba(t)}s(fb,"canCreateApps");function As(t){return t?qd(t):!1}s(As,"isAdmin");function pb(t,e){return t?!!(As(t)||e&&t.builder?.apps?.includes(Ss(e))):!1}s(pb,"isAdminOrWorkspaceBuilder");function mb(t,e){return Vd(t,e)||As(t)}s(mb,"isAdminOrBuilder");function hb(t){return ka(t)||As(t)}s(hb,"isAdminOrGlobalBuilder");function Fa(t){if(!t)return!1;let e=t.builder?.apps?.length;return!!!t.builder?.global&&e!=null&&e>0}s(Fa,"hasAppBuilderPermissions");function gb(t){return t?!!Object.values(t.roles??{}).find(e=>e==="CREATOR"):!1}s(gb,"hasAppCreatorPermissions");function Eb(t){return t?t.builder?.global||Fa(t)||Ba(t):!1}s(Eb,"hasBuilderPermissions");function qd(t){return t?!!t.admin?.global:!1}s(qd,"hasAdminPermissions");function Ba(t){return t?!!t.builder?.creator:!1}s(Ba,"hasCreatorPermissions");function yb(t){return t?ka(t)||qd(t)||Ba(t)||Fa(t)||gb(t):!1}s(yb,"isCreator");function Tb(t){if(typeof t!="string")return t;let e=`ro${C}ta_users${C}`;return t.startsWith(e)?t.split(e)[1]:t}s(Tb,"getGlobalUserID");function Sb(t){return typeof t!="string"?!1:t.includes(`us${C}`)}s(Sb,"containsUserID");function jy(t,e){return e?.filter(r=>r.users?.find(n=>n._id===t))||[]}s(jy,"getUserGroups");function Ab(t,e,r){let n=Ss(t);return jy(e,r).filter(o=>Object.keys(o.roles||{}).find(a=>a===n))}s(Ab,"getUserAppGroups");function _b(t,e){let n=jy(t._id,e).flatMap(o=>Object.keys(o.roles||{})),i=[...Object.keys(t?.roles||{}),...n];return[...new Set(i)]}s(_b,"userAppAccessList");var Qd={};P(Qd,{findInSettings:()=>Ob});function Ob(t,e){let r=[];function n(i,o=""){for(let[a,u]of Object.entries(i))u&&(typeof u=="string"&&u.includes(e)?r.push({setting:o?`${o}.${a}`:a,value:u}):typeof u=="object"&&n(u,a))}return s(n,"recurse"),n(t.props),r}s(Ob,"findInSettings");var Wa=(n=>(n.ALL="all",n.AUTOMATION="automation",n.STATUS="status",n))(Wa||{}),$t=(d=>(d.USER_BY_WORKSPACE="by_app",d.USER_BY_EMAIL="by_email2",d.BY_API_KEY="by_api_key",d.LINK="by_link",d.ROUTING="screen_routes_2",d.AUTOMATION_LOGS="automation_logs",d.ACCOUNT_BY_EMAIL="account_by_email",d.PLATFORM_USERS_LOWERCASE="platform_users_lowercase_2",d.USER_BY_GROUP="user_by_group",d.WORKSPACE_BACKUP_BY_TRIGGER="by_trigger",d))($t||{}),jn={by_email2:["by_email"]},fe={GLOBAL:{name:"global-db",docs:{apiKeys:"apikeys",usageQuota:"usage_quota",licenseInfo:"license_info",environmentVariables:"environmentvariables"}},PLATFORM_INFO:{name:"global-info",docs:{tenants:"tenants",install:"install"}},AUDIT_LOGS:{name:"audit-logs"},SCIM_LOGS:{name:"scim-logs"},SELF_HOST_CLOUD:{name:"self-host-cloud"}},et=or("app"),$a=or("app_dev"),tt=$a,jd="internal",Hd="budibase",Rt="_design/sqlite",Yd="ta_bb_jobs",zd="ta_bb_inventory",Jd="ta_bb_expenses",Xd="ta_bb_employee",_s=`ro${C}ta_users${C}`,Os=(r=>(r[r.SQLITE=Rt]="SQLITE",r.MIGRATIONS="_design/migrations",r))(Os||{});var Ga=(r=>(r.ACTIVE="active",r.INACTIVE="inactive",r))(Ga||{}),en=(u=>(u.Auth="budibase:auth",u.Init="budibase:init",u.ACCOUNT_RETURN_URL="budibase:account:returnurl",u.DatasourceAuth="budibase:datasourceauth",u.OIDC_CONFIG="budibase:oidc:config",u.FeatureFlags="budibase:featureflags",u.RecaptchaSession="budibase:recaptcha",u))(en||{}),Zd=(i=>(i.OWNER="owner",i.ADMIN="admin",i.BUILDER="builder",i.WORKSPACE_MANAGER="workspace_manager",i))(Zd||{}),ef=(c=>(c.SETTINGS="settings",c.ACCOUNT="account",c.SMTP="smtp",c.GOOGLE="google",c.OIDC="oidc",c.OIDC_LOGOS="logos_oidc",c.SCIM="scim",c.AI="AI",c))(ef||{}),Hy=new Date(-2147483647e3),Va=new Date(2147483647e3),ae="default";var Ro={};P(Ro,{CacheKey:()=>ye,TTL:()=>mn,bustCache:()=>li,destroy:()=>no,docWritethrough:()=>Rp,generic:()=>io,get:()=>hn,invite:()=>xp,keys:()=>Mu,passwordReset:()=>vp,store:()=>zt,user:()=>br,withCache:()=>wr,withCacheWithDynamicTTL:()=>ZS,workspace:()=>Ms,writethrough:()=>om});var Rp={};P(Rp,{DocWritethrough:()=>Dp,DocWritethroughProcessor:()=>ro,getProcessor:()=>dP,init:()=>XS});var wp={};P(wp,{BudibaseQueue:()=>Et,InMemoryQueue:()=>Ou,JobQueue:()=>oi,QueuedProcessor:()=>Ip,UnretriableError:()=>Uu,shutdown:()=>wv});var rf=require("crypto"),Ka=require("fs"),Jy=require("lodash"),Is=require("path");var Ib=process.env.TOP_LEVEL_PATH||process.env.SERVER_TOP_LEVEL_PATH||(0,Is.resolve)((0,Is.join)(__dirname,"..","..","..")),Yy=!1;!Yy&&qa()&&!nf()&&(require("dotenv").config({path:(0,Is.join)(Ib,".env")}),Yy=!0);function nf(){return Xy()}s(nf,"isTest");function Xy(){return process.env.NODE_ENV==="jest"||process.env.JEST_WORKER_ID!=null&&process.env.JEST_WORKER_ID!=="null"}s(Xy,"isJest");function qa(){return process.env.NODE_ENV!=="production"}s(qa,"isDev");function wb(t){if(t)return parseInt(t)}s(wb,"parseIntSafe");var Hn={BACKUPS:"backups",APPS:"prod-budi-app-assets",TEMPLATES:"templates",GLOBAL:"global",PLUGINS:"plugins",TEMP:"tmp-file-attachments"},zy=!!parseInt(process.env.SELF_HOSTED||"");function Db(){return process.env.API_ENCRYPTION_KEY?process.env.API_ENCRYPTION_KEY:process.env.JWT_SECRET}s(Db,"getAPIEncryptionKey");function Rb(){return process.env.HTTP_LOGGING===void 0?!0:process.env.HTTP_LOGGING}s(Rb,"httpLogging");function Cb(){function t(r){function n(u,c){let l=`${c}/${u}`;if((0,Ka.existsSync)(l))return l;let d=`${c}/..`;return d===c?null:n(u,d)}s(n,"findFileInAncestors");let i=n(r,process.cwd()),o=(0,Ka.readFileSync)(i,"utf-8");return JSON.parse(o)}s(t,"getParentFile");let e;if(qa()&&!nf())try{e=`${t("lerna.json").version}+local`}catch{}try{let r=t("package.json");return{VERSION:e||process.env.BUDIBASE_VERSION||r.version,SERVICE_NAME:r.name}}catch{return{VERSION:process.env.BUDIBASE_VERSION||"",SERVICE_NAME:""}}}s(Cb,"getPackageJsonFields");function bb(){return pt.SERVICE_TYPE==="worker"}s(bb,"isWorker");function xb(){return pt.SERVICE_TYPE==="apps"}s(xb,"isApps");function vb(){return pt.BUDIBASE_ENVIRONMENT==="QA"}s(vb,"isQA");function Pb(){return process.env.SERVICE?process.env.SERVICE:process.env.APPS_SERVICE?process.env.APPS_SERVICE:process.env.WORKER_SERVICE?process.env.WORKER_SERVICE:"budibase"}s(Pb,"getServiceName");var pt={isTest:nf,isJest:Xy,isDev:qa,isWorker:bb,isApps:xb,isQA:vb,isProd:()=>!qa(),BUDIBASE_ENVIRONMENT:process.env.BUDIBASE_ENVIRONMENT,JWT_SECRET:process.env.JWT_SECRET?(0,rf.createSecretKey)(process.env.JWT_SECRET,"utf8"):void 0,JWT_SECRET_FALLBACK:process.env.JWT_SECRET_FALLBACK?(0,rf.createSecretKey)(process.env.JWT_SECRET_FALLBACK,"utf8"):void 0,ENCRYPTION_KEY:process.env.ENCRYPTION_KEY,API_ENCRYPTION_KEY:Db(),COUCH_DB_URL:process.env.COUCH_DB_URL||"http://localhost:4005",COUCH_DB_SQL_URL:process.env.COUCH_DB_SQL_URL,COUCH_DB_USERNAME:process.env.COUCH_DB_USER,COUCH_DB_PASSWORD:process.env.COUCH_DB_PASSWORD,GOOGLE_CLIENT_ID:process.env.GOOGLE_CLIENT_ID,GOOGLE_CLIENT_SECRET:process.env.GOOGLE_CLIENT_SECRET,SALT_ROUNDS:process.env.SALT_ROUNDS,REDIS_URL:process.env.REDIS_URL||"localhost:6379",REDIS_PASSWORD:process.env.REDIS_PASSWORD,REDIS_USERNAME:process.env.REDIS_USERNAME,REDIS_CLUSTERED:process.env.REDIS_CLUSTERED,MINIO_ACCESS_KEY:process.env.MINIO_ACCESS_KEY,MINIO_SECRET_KEY:process.env.MINIO_SECRET_KEY,AWS_SESSION_TOKEN:process.env.AWS_SESSION_TOKEN,AWS_REGION:process.env.AWS_REGION||"eu-west-1",MINIO_URL:process.env.MINIO_URL,MINIO_ENABLED:process.env.MINIO_ENABLED||1,S3_IGNORE_SELF_SIGNED:process.env.S3_IGNORE_SELF_SIGNED,INTERNAL_API_KEY:process.env.INTERNAL_API_KEY,INTERNAL_API_KEY_FALLBACK:process.env.INTERNAL_API_KEY_FALLBACK,MULTI_TENANCY:process.env.MULTI_TENANCY,ACCOUNT_PORTAL_URL:process.env.ACCOUNT_PORTAL_URL||"https://account.budibase.app",INTERNAL_ACCOUNT_PORTAL_URL:process.env.INTERNAL_ACCOUNT_PORTAL_URL||process.env.ACCOUNT_PORTAL_URL||"https://account.budibase.app",ACCOUNT_PORTAL_API_KEY:process.env.ACCOUNT_PORTAL_API_KEY||"",BUDICLOUD_URL:process.env.BUDICLOUD_URL||"https://budibase.app",DISABLE_ACCOUNT_PORTAL:process.env.DISABLE_ACCOUNT_PORTAL,SELF_HOSTED:zy,COOKIE_DOMAIN:process.env.COOKIE_DOMAIN,PLATFORM_URL:process.env.PLATFORM_URL||"",POSTHOG_TOKEN:process.env.POSTHOG_TOKEN,POSTHOG_PERSONAL_TOKEN:process.env.POSTHOG_PERSONAL_TOKEN,POSTHOG_API_HOST:process.env.POSTHOG_API_HOST||"https://us.i.posthog.com",POSTHOG_FEATURE_FLAGS_ENABLED:process.env.POSTHOG_FEATURE_FLAGS_ENABLED,ENABLE_ANALYTICS:process.env.ENABLE_ANALYTICS,TENANT_FEATURE_FLAGS:process.env.TENANT_FEATURE_FLAGS,CLOUDFRONT_CDN:process.env.CLOUDFRONT_CDN,CLOUDFRONT_PRIVATE_KEY_64:process.env.CLOUDFRONT_PRIVATE_KEY_64,CLOUDFRONT_PUBLIC_KEY_ID:process.env.CLOUDFRONT_PUBLIC_KEY_ID,BACKUPS_BUCKET_NAME:process.env.BACKUPS_BUCKET_NAME||Hn.BACKUPS,APPS_BUCKET_NAME:process.env.APPS_BUCKET_NAME||Hn.APPS,TEMPLATES_BUCKET_NAME:process.env.TEMPLATES_BUCKET_NAME||Hn.TEMPLATES,GLOBAL_BUCKET_NAME:process.env.GLOBAL_BUCKET_NAME||Hn.GLOBAL,PLUGIN_BUCKET_NAME:process.env.PLUGIN_BUCKET_NAME||Hn.PLUGINS,TEMP_BUCKET_NAME:process.env.TEMP_BUCKET_NAME||Hn.TEMP,USE_COUCH:process.env.USE_COUCH||!0,MOCK_REDIS:process.env.MOCK_REDIS,DEFAULT_LICENSE:process.env.DEFAULT_LICENSE,SERVICE:Pb(),LOG_LEVEL:process.env.LOG_LEVEL||"info",SESSION_UPDATE_PERIOD:process.env.SESSION_UPDATE_PERIOD,DEPLOYMENT_ENVIRONMENT:process.env.DEPLOYMENT_ENVIRONMENT||"docker-compose",HTTP_LOGGING:Rb(),ENABLE_AUDIT_LOG_IP_ADDR:process.env.ENABLE_AUDIT_LOG_IP_ADDR,SQL_LOGGING_ENABLE:process.env.SQL_LOGGING_ENABLE,SQL_MAX_ROWS:process.env.SQL_MAX_ROWS,SQL_MAX_RELATED_ROWS:process.env.MAX_RELATED_ROWS,SMTP_FALLBACK_ENABLED:process.env.SMTP_FALLBACK_ENABLED,SMTP_USER:process.env.SMTP_USER,SMTP_PASSWORD:process.env.SMTP_PASSWORD,SMTP_HOST:process.env.SMTP_HOST,SMTP_PORT:parseInt(process.env.SMTP_PORT||""),SMTP_FROM_ADDRESS:process.env.SMTP_FROM_ADDRESS,DISABLE_JWT_WARNING:process.env.DISABLE_JWT_WARNING,BLACKLIST_IPS:process.env.BLACKLIST_IPS,SERVICE_TYPE:"unknown",PASSWORD_MIN_LENGTH:process.env.PASSWORD_MIN_LENGTH,PASSWORD_MAX_LENGTH:process.env.PASSWORD_MAX_LENGTH,ENABLE_SSO_MAINTENANCE_MODE:zy?process.env.ENABLE_SSO_MAINTENANCE_MODE:!1,...Cb(),DISABLE_PINO_LOGGER:process.env.DISABLE_PINO_LOGGER,OFFLINE_MODE:process.env.OFFLINE_MODE,SESSION_EXPIRY_SECONDS:process.env.SESSION_EXPIRY_SECONDS,_set(t,e){process.env[t]=e,pt[t]=e},ROLLING_LOG_MAX_SIZE:process.env.ROLLING_LOG_MAX_SIZE||"10M",ENABLE_SCIM_LOGGER:process.env.ENABLE_SCIM_LOGGER,BB_ADMIN_USER_EMAIL:process.env.BB_ADMIN_USER_EMAIL,BB_ADMIN_USER_PASSWORD:process.env.BB_ADMIN_USER_PASSWORD,MIN_VERSION_WITHOUT_POWER_ROLE:process.env.MIN_VERSION_WITHOUT_POWER_ROLE||"3.0.0",DISABLE_CONTENT_SECURITY_POLICY:process.env.DISABLE_CONTENT_SECURITY_POLICY,BSON_BUFFER_SIZE:wb(process.env.BSON_BUFFER_SIZE),CUSTOM_CSP_MEDIA_SRC:process.env.CUSTOM_CSP_MEDIA_SRC,CUSTOM_CSP_SCRIPT_SRC:process.env.CUSTOM_CSP_SCRIPT_SRC,CUSTOM_CSP_CONNECT_SRC:process.env.CUSTOM_CSP_CONNECT_SRC,CUSTOM_CSP_IMG_SRC:process.env.CUSTOM_CSP_IMG_SRC,CUSTOM_CSP_FONT_SRC:process.env.CUSTOM_CSP_FONT_SRC,CUSTOM_CSP_FRAME_SRC:process.env.CUSTOM_CSP_FRAME_SRC,OPENROUTER_BASE_URL:process.env.OPENROUTER_BASE_URL||"https://openrouter.ai/api/v1"};function ws(t){let e=(0,Jy.cloneDeep)(pt),r;for(r in t)pt._set(r,t[r]);return()=>{for(let[n,i]of Object.entries(e))pt._set(n,i)}}s(ws,"setEnv");function Zy(t,e){let r=ws(t);try{let n=e();return n instanceof Promise?n.finally(r):(r(),n)}catch(n){throw r(),n}}s(Zy,"withEnv");var eT=["API_ENCRYPTION_KEY","BB_ADMIN_USER_PASSWORD","COUCH_DB_PASSWORD","COUCH_DB_SQL_URL","COUCH_DB_URL","GOOGLE_CLIENT_SECRET","INTERNAL_API_KEY_FALLBACK","INTERNAL_API_KEY","JWT_SECRET","MINIO_ACCESS_KEY","MINIO_SECRET_KEY","REDIS_PASSWORD","REDIS_USERNAME"];for(let[t,e]of Object.entries(pt))e==="0"&&(pt[t]=0),e==="false"&&(pt[t]=0);var g=pt;var Ha={};P(Ha,{Databases:()=>sf,SEPARATOR:()=>Yn,SelectableDatabase:()=>Qa,getRedisClusterOptions:()=>of,getRedisConnectionDetails:()=>ja,getRedisOptions:()=>tn,removeDbPrefix:()=>af});var Yn="-",sf=(O=>(O.PW_RESETS="pwReset",O.VERIFICATIONS="verification",O.INVITATIONS_LIST="invitationList",O.DEV_LOCKS="devLocks",O.DEBOUNCE="debounce",O.SESSIONS="session",O.USER_CACHE="users",O.FLAGS="flags",O.WORKSPACE_METADATA="appMetadata",O.QUERY_VARS="queryVars",O.LICENSES="license",O.GENERIC_CACHE="data_cache",O.WRITE_THROUGH="writeThrough",O.LOCKS="locks",O.SOCKET_IO="socket_io",O.BPM_EVENTS="bpmEvents",O.DOC_WRITE_THROUGH="docWriteThrough",O.RECAPTCHA_SESSION="recaptchaSession",O.OPENAPI_IMPORT_SPECS="openapiImportSpecs",O))(sf||{}),Qa=(E=>(E[E.DEFAULT=0]="DEFAULT",E[E.SOCKET_IO=1]="SOCKET_IO",E[E.RATE_LIMITING=2]="RATE_LIMITING",E[E.OPENAPI_IMPORT_SPECS=3]="OPENAPI_IMPORT_SPECS",E[E.UNUSED_3=4]="UNUSED_3",E[E.UNUSED_4=5]="UNUSED_4",E[E.UNUSED_5=6]="UNUSED_5",E[E.UNUSED_6=7]="UNUSED_6",E[E.UNUSED_7=8]="UNUSED_7",E[E.UNUSED_8=9]="UNUSED_8",E[E.UNUSED_9=10]="UNUSED_9",E[E.UNUSED_10=11]="UNUSED_10",E[E.UNUSED_11=12]="UNUSED_11",E[E.UNUSED_12=13]="UNUSED_12",E[E.UNUSED_13=14]="UNUSED_13",E[E.UNUSED_14=15]="UNUSED_14",E))(Qa||{});function ja(){let t=g.REDIS_PASSWORD,e=g.REDIS_USERNAME,r=g.REDIS_URL.split("//");if(r=r.length>1?r[1]:r[0],r=r.split("@"),r.length>1){let a=r[0].split(":");e=e||a[0]||void 0,t=a[1],r=r[1]}else r=r[0];let[n,i]=r.split(":"),o=parseInt(i);return{host:n,password:t,username:e,port:isNaN(o)?6379:o}}s(ja,"getRedisConnectionDetails");function of(){return{slotsRefreshTimeout:2e3,dnsLookup:(t,e)=>e(null,t),redisOptions:{...tn()}}}s(of,"getRedisClusterOptions");function tn(){let{host:t,password:e,port:r,username:n}=ja(),i=g.REDIS_URL.toLowerCase().startsWith("rediss://")?{}:void 0;return{connectTimeout:3e4,port:r,host:t,password:e,...n&&{username:n},...i&&{tls:i}}}s(tn,"getRedisOptions");function af(t){let e=t.split(Yn);return e.length>=2?(e.shift(),e.join(Yn)):e[0]}s(af,"removeDbPrefix");var hS=B(require("events"));var si={};P(si,{Duration:()=>pe,DurationType:()=>tp,GZIP_PREFIX:()=>_u,clearCookie:()=>Ar,compare:()=>lf,getBearerToken:()=>hv,getCookie:()=>jt,getDispatcher:()=>lv,getWorkspaceIdFromCtx:()=>un,gunzipFromBase64:()=>mv,gzipToBase64:()=>pv,hasCircularStructure:()=>rv,hash:()=>cf,isAudited:()=>Zf,isClient:()=>tv,isPublicApiRequest:()=>Zx,isServingApp:()=>zx,isServingBuilder:()=>Jx,isServingBuilderPreview:()=>Xx,isValidInternalAPIKey:()=>Ks,newid:()=>ee,openJwt:()=>Tu,setCookie:()=>mS,time:()=>iv,timeout:()=>Xf,urlHasProtocol:()=>nv,validEmail:()=>ep});var tT=require("uuid");function ee(){return(0,tT.v4)().replace(/-/g,"")}s(ee,"newid");var uf=require("bcrypt"),Nb=g.SALT_ROUNDS||10;async function cf(t){let e=await uf.genSalt(Nb);return uf.hash(t,e)}s(cf,"hash");async function lf(t,e){return uf.compare(t,e)}s(lf,"compare");var yu=B(require("jsonwebtoken"));var ue={};P(ue,{DEFAULT_TENANT_ID:()=>ae,baseGlobalDBName:()=>Ps,doInAutomationContext:()=>nx,doInContext:()=>Cf,doInEnvironmentContext:()=>mx,doInFeatureFlagOverrideContext:()=>Lf,doInIPContext:()=>vf,doInIdentityContext:()=>Rs,doInLicenseContext:()=>sx,doInScimContext:()=>hx,doInSelfHostTenantUsingCloud:()=>ix,doInTenant:()=>Ce,doInWorkspaceContext:()=>ux,doInWorkspaceMigrationContext:()=>lx,ensureSnippetContext:()=>ET,getAuditLogDBName:()=>hT,getAuditLogsDB:()=>Ex,getAutomationId:()=>bf,getCurrentContext:()=>sn,getDevWorkspaceDB:()=>Tx,getDevWorkspaceId:()=>fx,getEnvironmentVariables:()=>gx,getFeatureFlagOverrides:()=>Uf,getFeatureFlags:()=>Pf,getGlobalDB:()=>Y,getGlobalDBName:()=>nn,getIP:()=>xf,getIdentity:()=>Gt,getLicense:()=>ox,getOrThrowWorkspaceId:()=>dx,getPlatformURL:()=>Rf,getProdWorkspaceDB:()=>yx,getProdWorkspaceId:()=>px,getScimDBName:()=>Zb,getSelfHostCloudDB:()=>ax,getTableForView:()=>Sx,getTenantIDFromWorkspaceID:()=>Zn,getTenantId:()=>$,getWorkspaceDB:()=>ei,getWorkspaceId:()=>be,identity:()=>Ds,isMultiTenant:()=>Er,isScim:()=>gt,isSelfHostUsingCloud:()=>ru,isTenancyEnabled:()=>tx,isTenantIdSet:()=>ex,setFeatureFlags:()=>Nf,setTableForView:()=>Ax});var Ds={};P(Ds,{doInAccountContext:()=>Ub,doInIdentityContext:()=>ff,doInUserContext:()=>pf,getAccountUserId:()=>rT,getIdentity:()=>df});function df(){return Gt()}s(df,"getIdentity");function ff(t,e){return Rs(t,e)}s(ff,"doInIdentityContext");function pf(t,e,r){let n={...t,_id:t._id,type:"user",hostInfo:{ipAddress:e.request.ip,userAgent:e.userAgent.source}};return ff(n,r)}s(pf,"doInUserContext");function Ub(t,e){let r=rT(t),n=t.tenantId,i={_id:r,type:"user",tenantId:n,account:t};return ff(i,e)}s(Ub,"doInAccountContext");function rT(t){let e;return Ko(t)?e=t.budibaseUserId:e=t.accountId,e}s(rT,"getAccountUserId");var mt=s(t=>{let e=mf(t),r,n;if(e.auth?.username)r=e.auth.username;else if(g.COUCH_DB_USERNAME)r=g.COUCH_DB_USERNAME;else if(!g.isTest())throw new Error("CouchDB username not set");if(e.auth?.password)n=e.auth.password;else if(g.COUCH_DB_PASSWORD)n=g.COUCH_DB_PASSWORD;else if(!g.isTest())throw new Error("CouchDB password not set");let i=Buffer.from(`${r}:${n}`).toString("base64"),o=g.COUCH_DB_SQL_URL;if(g.isDev()&&!o)o="http://localhost:4006";else if(!o&&e.url){let a=new URL(e.url);o=e.url.replace(a.port,"4984")}return{url:e.url,sqlUrl:mf(o).url,auth:{username:r,password:n},cookie:`Basic ${i}`}},"getCouchInfo"),mf=s((t=g.COUCH_DB_URL)=>{let e,r,n,i;if(t){/^https?:\/\//i.test(t)||(t=`http://${t}`);let a=t.split("://"),u=a[0],c=a.slice(1).join("://");if(t.includes("@")){let l=c.split("@");i=l[l.length-1];let d=l.slice(0,-1).join("@");if(d.includes(":")){let f=d.split(":");r=f[0],n=f.slice(1).join(":")}else r=d}else i=c;e=`${u}://${i}`}return{url:e,auth:{username:r,password:n}}},"getUrlInfo");var fT=B(require("@budibase/nano"));var nT=B(require("node-fetch"));function za(t){return t.replace(/(https?:\/\/)|(\/)+/g,"$1$2")}s(za,"checkSlashesInUrl");async function iT(t,e="GET",r){let{url:n,cookie:i}=mt(),o=`${n}/${t}`;return await Cs({url:o,cookie:i,method:e,body:r})}s(iT,"directCouchCall");async function Cs({url:t,cookie:e,method:r,body:n}){let i={method:r,headers:{Authorization:e}};return n&&r!=="GET"&&(typeof n=="string"?(i.body=n,i.headers["Content-Type"]="text/plain"):(i.body=JSON.stringify(n),i.headers["Content-Type"]="application/json")),await(0,nT.default)(za(encodeURI(t)),i)}s(Cs,"directCouchUrlCall");async function hf(t,e="GET",r){let n=await iT(t,e,r);if(n.status<300)return await n.json();throw"Cannot connect to CouchDB instance"}s(hf,"directCouchQuery");var rn=B(require("pouchdb"));var sT,oT=!1,gf=s((t={})=>{let{url:e,cookie:r}=mt(),n={prefix:e,fetch:(i,o)=>(o.headers.set("Authorization",r),rn.default.fetch(i,o))};if(t.inMemory){let i=require("pouchdb-adapter-memory");rn.default.plugin(i),n={adapter:"memory"}}if(t.onDisk&&(n={adapter:"leveldb"}),t.replication){let i=require("@budibase/pouchdb-replication-stream");rn.default.plugin(i.plugin),rn.default.adapter("writableStream",i.adapters.writableStream)}if(t.find){let i=require("pouchdb-find");rn.default.plugin(i)}return rn.default.defaults(n)},"getPouch");function Ja(t){sT=gf(t),oT=!0}s(Ja,"init");var Lb=s(()=>{if(!oT)throw new Error("init has not been called")},"checkInitialised");function rt(t,e){Lb();let r=new sT(t,e),n=r.put;return r.put=async(i,o={})=>(i.createdAt||(i.createdAt=new Date().toISOString()),i.updatedAt=new Date().toISOString(),n(i,o)),r.exists=async()=>!(await r.info()).error,r}s(rt,"getPouchDB");async function bs(t){if(!(!t||g.isTest()))try{return await t.close()}catch{}}s(bs,"closePouchDB");var le=B(require("dd-trace"));var zn=class{constructor(e){this.db=e}static{s(this,"DDInstrumentedDatabase")}get name(){return this.db.name}exists(e){return le.default.trace("db.exists",r=>(r.addTags({db_name:this.name,doc_id:e}),e?this.db.exists(e):this.db.exists()))}get(e){return le.default.trace("db.get",r=>(r.addTags({db_name:this.name,doc_id:e}),this.db.get(e)))}tryGet(e){return le.default.trace("db.tryGet",async r=>{r.addTags({db_name:this.name,doc_id:e});let n=await this.db.tryGet(e);return r.addTags({doc_found:n!==void 0}),n})}getMultiple(e,r){return le.default.trace("db.getMultiple",async n=>{n.addTags({db_name:this.name,num_docs:e?.length||0,allow_missing:r?.allowMissing});let i=await this.db.getMultiple(e,r);return n.addTags({num_docs_found:i.length}),i})}remove(e,r){return le.default.trace("db.remove",async n=>{n.addTags({db_name:this.name,doc_id:e,rev:r});let i=typeof e=="object",o=i?e._id:e;r=i?e._rev:r;let a=await this.db.remove(o,r);return n.addTags({ok:a.ok}),a})}bulkRemove(e,r){return le.default.trace("db.bulkRemove",n=>(n.addTags({db_name:this.name,num_docs:e.length,silence_errors:r?.silenceErrors}),this.db.bulkRemove(e,r)))}put(e,r){return le.default.trace("db.put",async n=>{n.addTags({db_name:this.name,doc_id:e._id,force:r?.force,return_doc:r?.returnDoc});let i=await this.db.put(e,r);return n.addTags({ok:i.ok}),i})}bulkDocs(e){return le.default.trace("db.bulkDocs",r=>(r.addTags({db_name:this.name,num_docs:e.length}),this.db.bulkDocs(e)))}async find(e){return le.default.trace("db.find",async r=>{r.addTags({db_name:this.name,...e});let n=await this.db.find(e);return r.addTags({rows_length:n.docs.length}),n})}allDocs(e){return le.default.trace("db.allDocs",async r=>{r.addTags({db_name:this.name,...e});let n=await this.db.allDocs(e);return r.addTags({total_rows:n.total_rows,rows_length:n.rows.length,offset:n.offset}),n})}query(e,r){return le.default.trace("db.query",async n=>{n.addTags({db_name:this.name,view_name:e,...r});let i=await this.db.query(e,r);return n.addTags({total_rows:i.total_rows,rows_length:i.rows.length,offset:i.offset}),i})}destroy(){return le.default.trace("db.destroy",async e=>{e.addTags({db_name:this.name});let r=await this.db.destroy();return e.addTags({ok:r.ok}),r})}compact(){return le.default.trace("db.compact",async e=>{e.addTags({db_name:this.name});let r=await this.db.compact();return e.addTags({ok:r.ok}),r})}dump(e,r){return le.default.trace("db.dump",n=>(n.addTags({db_name:this.name,batch_limit:r?.batch_limit,batch_size:r?.batch_size,style:r?.style,timeout:r?.timeout,num_doc_ids:r?.doc_ids?.length,view:r?.view}),this.db.dump(e,r)))}load(...e){return le.default.trace("db.load",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.load(...e)))}createIndex(...e){return le.default.trace("db.createIndex",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.createIndex(...e)))}deleteIndex(...e){return le.default.trace("db.deleteIndex",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.deleteIndex(...e)))}getIndexes(...e){return le.default.trace("db.getIndexes",r=>(r.addTags({db_name:this.name,num_args:e.length}),this.db.getIndexes(...e)))}sql(e,r){return le.default.trace("db.sql",async n=>{n.addTags({db_name:this.name,num_bindings:r?.length});let i=await this.db.sql(e,r);return n.addTags({num_rows:i.length}),i})}sqlPurgeDocument(e){return le.default.trace("db.sqlPurgeDocument",r=>(r.addTags({db_name:this.name,num_docs:Array.isArray(e)?e.length:1}),this.db.sqlPurgeDocument(e)))}sqlDiskCleanup(){return le.default.trace("db.sqlDiskCleanup",e=>(e.addTags({db_name:this.name}),this.db.sqlDiskCleanup()))}};var If={};P(If,{breakExternalTableId:()=>Tf,breakRowIdField:()=>Hb,buildExternalTableId:()=>Gb,convertRowId:()=>jb,encodeTableId:()=>Vb,encodeViewId:()=>qb,extractDate:()=>Af,generateRowIdField:()=>Kb,getNativeSql:()=>Jn,isExternalTable:()=>yf,isExternalTableID:()=>Xa,isInternalTableID:()=>$b,isRowId:()=>Qb,isValidFilter:()=>eu,isValidISODateString:()=>Za,isValidISODateStringWithoutTimezone:()=>Sf,isValidTime:()=>_f,sqlLog:()=>xs,validateManyToMany:()=>Of});var Ef=`${C}${C}`,uT=/^\[.*]$/g,Mb=encodeURIComponent(" "),kb=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}:\d{2}(?:.\d{3})?Z)?$/,Fb=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}:\d{2}(?:.\d{3})?)?$/,Bb=/(\d{4}-\d{2}-\d{2})/,Wb=/^\d{1,2}:\d{2}(?:\.\d{1,6}|:\d{2}(?:\.\d{1,6})?)?$/;function Xa(t){return t.startsWith("datasource"+C)}s(Xa,"isExternalTableID");function $b(t){return!Xa(t)}s($b,"isInternalTableID");function Jn(t){let e=t.toSQL();if(Array.isArray(e))return e;let r;return e.toNative&&(r=e.toNative()),{sql:r?.sql||e.sql,bindings:r?.bindings||e.bindings}}s(Jn,"getNativeSql");function yf(t){return t?.sourceId&&t.sourceId.includes("datasource"+C)&&t?.sourceId!==bn||t?.sourceType==="external"?!0:!!(t?._id&&Xa(t._id))}s(yf,"isExternalTable");function Gb(t,e){return`${t}${Ef}${encodeURIComponent(e)}`}s(Gb,"buildExternalTableId");function Vb(t){return Xa(t)?encodeURIComponent(t):t}s(Vb,"encodeTableId");function qb(t){return encodeURIComponent(t)}s(qb,"encodeViewId");function Tf(t){let e=t.split(Ef),r=e.shift(),n=e.join(Ef);if(n.includes(Mb)&&(n=decodeURIComponent(n)),!r||!n)throw new Error("Unable to get datasource/table name from table ID");return{datasourceId:r,tableName:n}}s(Tf,"breakExternalTableId");function Kb(t=[]){Array.isArray(t)||(t=[t]);for(let e in t)t[e]instanceof Buffer&&(t[e]=t[e].toString());return encodeURIComponent(JSON.stringify(t).replace(/"/g,"'"))}s(Kb,"generateRowIdField");function Qb(t){return Array.isArray(t)||typeof t=="string"&&t.match(uT)!=null}s(Qb,"isRowId");function jb(t){return Array.isArray(t)?t[0]:typeof t=="string"&&t.match(uT)!=null?t.substring(1,t.length-1):t}s(jb,"convertRowId");function Hb(t){if(!t)return[];let e=typeof t=="string"?t:t._id,r=decodeURIComponent(e).replace(/'/g,'"');try{let n=JSON.parse(r);return Array.isArray(n)?n:[n]}catch{return[t]}}s(Hb,"breakRowIdField");function Za(t){let e=t.trim();if(!kb.test(e))return!1;let r=new Date(e);return!isNaN(r.getTime())}s(Za,"isValidISODateString");function Sf(t){let e=t.trim();if(!Fb.test(e))return!1;let r=new Date(e);return!isNaN(r.getTime())}s(Sf,"isValidISODateStringWithoutTimezone");function Af(t){let e=t.match(Bb);if(e)return e[0]}s(Af,"extractDate");function eu(t){return t!=null&&t!==""}s(eu,"isValidFilter");function _f(t){return Wb.test(t)}s(_f,"isValidTime");function xs(t,e,r){if(!g.SQL_LOGGING_ENABLE)return;let n=`[SQL] [${t.toUpperCase()}] query="${e}"`;r&&(n+=` values="${r.join(", ")}"`),console.log(n)}s(xs,"sqlLog");function Yb(t){return!!t.through&&!!t.fromPrimary&&!!t.from&&!!t.toPrimary&&!!t.to}s(Yb,"isValidManyToManyRelationship");function Of(t){if(Yb(t))return t}s(Of,"validateManyToMany");var cT="Database does not exist.";function lT(t){return(0,fT.default)({url:t.url,requestDefaults:{headers:{Authorization:t.cookie}},parseUrl:!1})}s(lT,"buildNano");var hr=class extends Error{constructor(r,n){super(r);let i=n.status||n.statusCode||500;this.status=i,this.statusCode=i,this.reason=n.reason||"Unknown",this.name=n.name,this.errid=n.errid||"Unknown",this.description=n.description||"Unknown",this.error=n.error||"Not found"}static{s(this,"CouchDBError")}};function zb(t,e,r){if(!t||!e)throw new Error("Unable to create database without database name or connection");let n=new Xn(t,r,e);return new zn(n)}s(zb,"DatabaseWithConnection");var Xn=class t{constructor(e,r,n){this.couchInfo=mt();this.name=e,this.pouchOpts=r||{},n&&(this.couchInfo=mt(n),this.instanceNano=lT(this.couchInfo)),t.nano||t.init()}static{s(this,"DatabaseImpl")}static init(){let e=mt();t.nano=lT(e)}exists(e){return e===void 0?this.dbExists():this.docExists(e)}async dbExists(){return(await Cs({url:`${this.couchInfo.url}/${this.name}`,method:"HEAD",cookie:this.couchInfo.cookie})).status===200}async docExists(e){try{return await this.performCall(r=>()=>r.head(e)),!0}catch{return!1}}nano(){return this.instanceNano||t.nano}getDb(){return this.nano().db.use(this.name)}async checkAndCreateDb(){let e=!this.pouchOpts?.skip_setup,r=await this.exists();if(!e&&!r)throw new Error("DB does not exist");if(!r)try{await this.nano().db.create(this.name)}catch(n){if(n.statusCode!==412)throw new hr(n.message,n)}return this.getDb()}async performCallWithDBCreation(e){let r=this.getDb(),n=await e(r);try{return await n()}catch(i){if(i.statusCode===404&&i.reason===cT)return await this.checkAndCreateDb(),await this.performCallWithDBCreation(e);throw new hr(`CouchDB error: ${i.message}`,i)}}async performCall(e){let r=this.getDb(),n=await e(r);try{return await n()}catch(i){throw new hr(`CouchDB error: ${i.message}`,i)}}async get(e){return this.performCall(r=>{if(!e)throw new Error("Unable to get doc without a valid _id.");return()=>r.get(e)})}async tryGet(e){try{return await this.get(e)}catch(r){if(r.statusCode===404)return;throw r}}async getMultiple(e,r){if(!e||e.length===0)return[];e=[...new Set(e)];let n=!r?.excludeDocs,i=await this.allDocs({keys:e,include_docs:n}),o=s(c=>n&&c.doc==null||c.value&&"deleted"in c.value&&c.value.deleted?!0:c.error==="not_found","rowUnavailable"),a=i.rows.filter(c=>!o(c)),u=a.length!==i.rows.length;if(!r?.allowMissing&&u){let l=i.rows.filter(d=>o(d)).map(d=>d.key).join(", ");throw new Error(`Unable to get bulk documents: ${l}`)}return a.map(c=>n?c.doc:c.value)}async remove(e,r){return this.performCall(n=>{let i,o;if(sh(e)?(i=e._id,o=e._rev):(i=e,o=r),!i||!o)throw new Error("Unable to remove doc without a valid _id and _rev.");return()=>n.destroy(i,o)})}async bulkRemove(e,r){let n=await this.performCall(a=>()=>a.bulk({docs:e.map(u=>({...u,_deleted:!0}))}));if(r?.silenceErrors)return;let i=!1,o="Unable to bulk remove documents: ";for(let a of n)a.error&&(i=!0,o+=a.error);if(i)throw new hr(o,{name:this.name,status:400})}async post(e,r){return e._id||(e._id=ee()),this.put(e,r)}async put(e,r){if(!e._id)throw new Error("Cannot store document without _id field.");return this.performCallWithDBCreation(async n=>{if(e.createdAt||(e.createdAt=new Date().toISOString()),e.updatedAt=new Date().toISOString(),r?.force&&e._id)try{let i=await this.get(e._id);i&&(e._rev=i._rev)}catch(i){if(i.status!==404)throw i}return async()=>{let i=await n.insert(e);return r?.returnDoc?{...i,doc:{...e,_rev:i.rev}}:i}})}async bulkDocs(e){let r=new Date().toISOString();return this.performCallWithDBCreation(n=>()=>n.bulk({docs:e.map(i=>({createdAt:r,...i,updatedAt:r}))}))}async find(e){return this.performCall(r=>async()=>r.find(e))}async allDocs(e){return this.performCall(r=>async()=>{try{return await r.list(e)}catch(n){if(n.reason===cT)return{offset:0,total_rows:0,rows:[]};throw n}})}async _sqlQuery(e,r,n){e=za(`${this.couchInfo.sqlUrl}/${e}`);let i={url:e,method:r,cookie:this.couchInfo.cookie};return n&&(i.body=n),this.performCall(()=>async()=>{let o=await Cs(i),a=await o.text();if(o.status>300){let u;try{u=JSON.parse(a)}catch{throw console.error(`SQS error: ${a}`),new hr("error while running SQS query, please try again later",{name:"sqs_error",status:o.status})}throw u}return JSON.parse(a)})}async sql(e,r){let i=`/${this.name}/${Rt}`;return xs("sqlite3",e,r),await this._sqlQuery(i,"POST",{query:e,args:r})}async sqlDiskCleanup(){let r=`/${this.name}/_cleanup`;try{await this._sqlQuery(r,"POST")}catch(n){if(n.status!==500)throw n}}async sqlPurgeDocument(e){Array.isArray(e)||(e=[e]);let n=`/${this.name}/_purge`;return await this._sqlQuery(n,"POST",{docs:e})}async query(e,r){return this.performCall(n=>{let[i,o]=e.split("/");return()=>n.view(i,o,r)})}async destroy(){if(await this.exists(Rt)){let e=await this.get(Rt);e.sql.tables={},await this.put(e),await this.sqlDiskCleanup()}try{return await this.nano().db.destroy(this.name)}catch(e){if(e.statusCode===404)return{ok:!0};throw new hr(e.message,e)}}async compact(){return this.performCall(e=>()=>e.compact())}async dump(e,r){return rt(this.name).dump(e,r)}async load(e){return rt(this.name).load(e)}async createIndex(e){return rt(this.name).createIndex(e)}async deleteIndex(e){return rt(this.name).deleteIndex(e)}async getIndexes(){return rt(this.name).getIndexes()}};function Re(t,e){return new zn(new Xn(t,e))}s(Re,"getDB");async function je(t,e,r){let n=Re(t,r);return await e(n)}s(je,"doWithDB");async function wf(t){let e="/_all_dbs";return t&&(e+=`?${t}`),await hf(e)}s(wf,"directCouchAllDbs");var Df="No app provided";function gr(t){if(!t)throw Df;return t.startsWith(tt)}s(gr,"isDevWorkspaceID");function Jb(t){if(!t)throw Df;return t.startsWith(et)&&!gr(t)}s(Jb,"isProdWorkspaceID");function vs(t){if(!t)throw Df;return gr(t.appId)}s(vs,"isDevWorkspace");function tu(t){if(!t||t.startsWith(tt))return t;let e=t.split(et);e.shift();let r=e.join(et);return`${tt}${r}`}s(tu,"getDevWorkspaceID");function He(t){if(!t||!t.startsWith(tt))return t;let e=t.split(tt);e.shift();let r=e.join(tt);return`${et}${r}`}s(He,"getProdWorkspaceID");var pT=require("async_hooks");var he=class t{static{s(this,"Context")}static{this.storage=new pT.AsyncLocalStorage}static run(e,r){return t.storage.run(e,()=>r())}static get(){return t.storage.getStore()}};var mT=null;function nn(t){return t||(t=$()),Ps(t)}s(nn,"getGlobalDBName");function hT(t){return t||(t=$()),t===ae?fe.AUDIT_LOGS.name:`${t}${C}${fe.AUDIT_LOGS.name}`}s(hT,"getAuditLogDBName");function Zb(t){return t||(t=$()),t===ae?fe.SCIM_LOGS.name:`${t}${C}${fe.SCIM_LOGS.name}`}s(Zb,"getScimDBName");function Ps(t){return!t||t===ae?fe.GLOBAL.name:`${t}${C}${fe.GLOBAL.name}`}s(Ps,"baseGlobalDBName");function Rf(){return g.PLATFORM_URL}s(Rf,"getPlatformURL");function Er(){return!!g.MULTI_TENANCY}s(Er,"isMultiTenant");function ex(){return!!he.get()?.tenantId}s(ex,"isTenantIdSet");function tx(){return g.MULTI_TENANCY}s(tx,"isTenancyEnabled");function Zn(t){if(!t)return;if(!Er())return ae;let e=t.split(C),r=e[1]==="dev";if(!(r&&e.length===3||!r&&e.length===2))return r?e[2]:e[1]}s(Zn,"getTenantIDFromWorkspaceID");function rx(t){let e;try{e=he.get()}catch{e={}}return e={...e,...t},e}s(rx,"updateContext");async function ht(t,e){cx();let r=rx(t);return he.run(r,e)}s(ht,"newContext");async function nx(t){return await ET(),await ht({tenantId:Zn(t.workspaceId),appId:t.workspaceId,automationId:t.automationId},t.task)}s(nx,"doInAutomationContext");async function Cf(t,e){let r=Zn(t);return ht({tenantId:r,appId:t},e)}s(Cf,"doInContext");async function Ce(t,e){return g.MULTI_TENANCY||(t=t||ae),ht(t?{tenantId:t}:{},e)}s(Ce,"doInTenant");async function ix(t,e){return ht({tenantId:t,isSelfHostUsingCloud:!0},e)}s(ix,"doInSelfHostTenantUsingCloud");async function sx(t,e){return ht({license:t},e)}s(sx,"doInLicenseContext");function ox(){return he.get()?.license}s(ox,"getLicense");function ru(){return!!he.get()?.isSelfHostUsingCloud}s(ru,"isSelfHostUsingCloud");function ax(){let t=he.get();if(!t||!t.isSelfHostUsingCloud)throw new Error("Self-host cloud DB not found");return Re(fe.SELF_HOST_CLOUD.name)}s(ax,"getSelfHostCloudDB");async function ux(t,e){return gT(t,e)}s(ux,"doInWorkspaceContext");async function gT(t,e,r){if(!t)throw new Error("workspaceId is required");let n=Zn(t),i={appId:t,...r};return n&&(i.tenantId=n),ht(i,e)}s(gT,"_doInWorkspaceContext");async function Rs(t,e){if(!t)throw new Error("identity is required");let r={identity:t};return t.tenantId&&(r.tenantId=t.tenantId),ht(r,e)}s(Rs,"doInIdentityContext");function cx(){if(he.get()?.isMigrating)throw new Error("The context cannot be changed, a migration is currently running")}s(cx,"guardMigration");async function lx(t,e){return gT(t,e,{isMigrating:!0})}s(lx,"doInWorkspaceMigrationContext");function Gt(){try{return he.get()?.identity}catch{}}s(Gt,"getIdentity");function $(){if(!Er())return ae;let e=he.get()?.tenantId;if(!e)throw new Error("Tenant id not found");return e}s($,"getTenantId");function bf(){return he.get()?.automationId}s(bf,"getAutomationId");function be(){let e=he.get()?.appId;return!e&&g.isTest()&&mT?mT:e}s(be,"getWorkspaceId");function dx(){let t=be();if(!t)throw new Error("Workspace id not set");return t}s(dx,"getOrThrowWorkspaceId");function xf(){return he.get()?.ip}s(xf,"getIP");var fx=s(()=>{let t=be();if(!t)throw new Error("Could not get workspaceId");return tu(t)},"getDevWorkspaceId"),px=s(()=>{let t=be();if(!t)throw new Error("Could not get workspaceId");return He(t)},"getProdWorkspaceId");function mx(t,e){if(!t)throw new Error("Must supply environment variables.");return ht({environmentVariables:t},e)}s(mx,"doInEnvironmentContext");function hx(t){return ht({isScim:!0},t)}s(hx,"doInScimContext");function vf(t,e){return ht({ip:t},e)}s(vf,"doInIPContext");async function ET(){let t=sn();if(!t||t.snippets)return;let e,r=ei();r&&(e=(await r.tryGet("app_metadata"))?.snippets),t.snippets=e||[]}s(ET,"ensureSnippetContext");function gx(){let t=he.get();return t.environmentVariables?t.environmentVariables:null}s(gx,"getEnvironmentVariables");function Y(){let t=he.get();if(!t||g.MULTI_TENANCY&&!t.tenantId)throw new Error("Global DB not found");if(t.isSelfHostUsingCloud)throw new Error("Global DB not found - self-host users using cloud don't have a global DB");return Re(Ps(t?.tenantId))}s(Y,"getGlobalDB");function Ex(){if(!$())throw new Error("No tenant ID found - cannot open audit log DB");return Re(hT())}s(Ex,"getAuditLogsDB");function ei(t){let e=be();if(!e)throw new Error("Unable to retrieve workspace DB - no workspace ID.");if(ru())throw new Error("Workspace DB not found - self-host users using cloud don't have workspace DBs");return Re(e,t)}s(ei,"getWorkspaceDB");function yx(t){let e=be();if(!e)throw new Error("Unable to retrieve prod DB - no workspace ID.");return Re(He(e),t)}s(yx,"getProdWorkspaceDB");function Tx(t){let e=be();if(!e)throw new Error("Unable to retrieve dev DB - no workspace ID.");return Re(tu(e),t)}s(Tx,"getDevWorkspaceDB");function gt(){return!!he.get()?.isScim}s(gt,"isScim");function sn(){try{return he.get()}catch{return}}s(sn,"getCurrentContext");function Pf(t){let e=sn();if(e)return e.featureFlagCache?.[t]}s(Pf,"getFeatureFlags");function Nf(t,e){let r=sn();r&&(r.featureFlagCache??={},r.featureFlagCache[t]=e)}s(Nf,"setFeatureFlags");function Uf(){return sn()?.featureFlagOverrides||{}}s(Uf,"getFeatureFlagOverrides");async function Lf(t,e){return await ht({featureFlagOverrides:t},e)}s(Lf,"doInFeatureFlagOverrideContext");function Sx(t){let e=sn();if(e)return e.viewToTableCache?.[t]}s(Sx,"getTableForView");function Ax(t,e){let r=sn();r&&(r.viewToTableCache??={},r.viewToTableCache[t]=e)}s(Ax,"setTableForView");var Sr={};P(Sr,{AutomationViewMode:()=>Wa,BUDIBASE_DATASOURCE_TYPE:()=>Hd,DEFAULT_BB_DATASOURCE_ID:()=>bn,DEFAULT_EMPLOYEE_TABLE_ID:()=>Xd,DEFAULT_EXPENSES_TABLE_ID:()=>Jd,DEFAULT_INVENTORY_TABLE_ID:()=>zd,DEFAULT_JOBS_TABLE_ID:()=>Yd,DatabaseImpl:()=>Xn,DatabaseWithConnection:()=>zb,DeprecatedViews:()=>jn,DesignDocuments:()=>Os,DocumentType:()=>ce,InternalTable:()=>Pt,QueryBuilder:()=>Qt,Replication:()=>oS,SEPARATOR:()=>C,SQLITE_DESIGN_DOC_ID:()=>Rt,SQS_DATASOURCE_INTERNAL:()=>jd,StaticDatabases:()=>fe,UNICODE_MAX:()=>Pe,USER_METADATA_PREFIX:()=>_s,ViewName:()=>$t,WORKSPACE_DEV:()=>$a,WORKSPACE_DEV_PREFIX:()=>tt,WORKSPACE_PREFIX:()=>et,baseGlobalDBName:()=>Ps,checkErrorCode:()=>lS,closePouchDB:()=>bs,createApiKeyView:()=>eS,createNewUserEmailView:()=>XT,createPlatformAccountEmailView:()=>rS,createPlatformUserView:()=>nS,createUserAppView:()=>ZT,createView:()=>ii,dbExists:()=>Fx,directCouchAllDbs:()=>wf,directCouchCall:()=>iT,directCouchQuery:()=>hf,directCouchUrlCall:()=>Cs,doWithDB:()=>je,fullSearch:()=>Vx,generateAIConfigID:()=>FT,generateAgentID:()=>PT,generateAgentToolSourceID:()=>LT,generateAppUserID:()=>gu,generateChatAppID:()=>NT,generateChatConversationID:()=>UT,generateDevInfoID:()=>bT,generateGlobalUserID:()=>ri,generateKnowledgeBaseFileID:()=>MT,generateKnowledgeBaseID:()=>VT,generateOAuth2LogID:()=>vT,generatePluginID:()=>xT,generateRoleID:()=>Gf,generateRowID:()=>$f,generateTableID:()=>IT,generateTemplateID:()=>CT,generateUserMetadataID:()=>DT,generateVectorDbID:()=>GT,generateWorkspaceAppID:()=>WT,generateWorkspaceFavouriteID:()=>$T,generateWorkspaceID:()=>OT,getAllDbs:()=>JT,getAllWorkspaces:()=>Fs,getCouchInfo:()=>mt,getDB:()=>Re,getDevWorkspaceID:()=>tu,getDevWorkspaceIDs:()=>Mx,getDocParams:()=>qt,getGlobalDBName:()=>nn,getGlobalIDFromUserMetadataID:()=>RT,getGlobalUserParams:()=>on,getLiteLLMKeyID:()=>BT,getOAuth2ConfigParams:()=>HT,getPluginParams:()=>jT,getPouch:()=>gf,getPouchDB:()=>rt,getProdWorkpaceIDs:()=>Lx,getProdWorkspaceID:()=>He,getQueryIndex:()=>qT,getRoleParams:()=>Eu,getRowParams:()=>Vf,getStartEndKeyURL:()=>ks,getTemplateParams:()=>QT,getUrlInfo:()=>mf,getUserMetadataParams:()=>KT,getUsersByWorkspaceParams:()=>ni,getWorkspaceAppParams:()=>YT,getWorkspaceFavouriteParams:()=>zT,getWorkspacesByIDs:()=>Ux,init:()=>Ja,isDevWorkspace:()=>vs,isDevWorkspaceID:()=>gr,isDocumentConflictError:()=>Kx,isGlobalUserID:()=>wT,isKnowledgeBaseFileID:()=>kT,isProdWorkspaceID:()=>Jb,isSameWorkspaceID:()=>kx,paginatedSearch:()=>Gx,pagination:()=>Kf,prefixRoleID:()=>Vt,queryGlobalView:()=>Kt,queryGlobalViewRaw:()=>$s,queryPlatformView:()=>Ws,queryView:()=>jf,queryViewRaw:()=>Bs,removeKeyNumbering:()=>Gs,searchIndexes:()=>Yf});var Ms={};P(Ms,{WorkspaceState:()=>Wf,getWorkspaceMetadata:()=>hu,invalidateWorkspaceMetadata:()=>vx});var Tr={};P(Tr,{getCacheClient:()=>kf,getDocWritethroughClient:()=>Rx,getInviteListClient:()=>Us,getLockClient:()=>Bf,getOpenapiImportSpecsClient:()=>wx,getPasswordResetClient:()=>Ls,getSessionClient:()=>yr,getSocketClient:()=>Dx,getUserClient:()=>Ns,getWorkspaceClient:()=>mu,getWritethroughClient:()=>Ff,init:()=>nt,shutdown:()=>AT});var iu=B(require("ioredis"));var nu=require("dd-trace"),TT=require("lodash");var yT;if(g.MOCK_REDIS)try{yT=require("ioredis-mock")}catch{console.log("Mock redis unavailable")}async function _x(t=0){return await nu.tracer.trace("Redis.init",async e=>{if(g.MOCK_REDIS)return e.addTags({mock:!0}),new yT(tn());let r;if(g.REDIS_CLUSTERED){e.addTags({clustered:!0});let{host:n,port:i}=ja();r=new iu.Cluster([{host:n,port:i}],of())}else r=new iu.default(tn());return new Promise((n,i)=>{r.on("error",o=>{e.addTags({error:!0}),console.error(`failed to connect to redis (db: ${t})`,o),i(o)}),r.on("reconnecting",()=>{console.log(`Redis reconnecting... (db: ${t})`)}),r.on("ready",()=>{e.addTags({connected:!0}),console.log(`Redis ready to receive commands (db: ${t})`),n(r)})})})}s(_x,"init");function Ox(t,e){return new Promise((r,n)=>{let i=new Set;t.on("data",o=>o.forEach(a=>i.add(a))),t.on("error",o=>n(o)),t.on("end",async()=>{try{let o=Array.from(i).map(async a=>{let u=await e.get(a);return u&&(u=JSON.parse(u)),{key:af(a),value:u}});r(await Promise.all(o))}catch(o){n(o)}})})}s(Ox,"promisifyStream");function Ix(t){return t.isCluster}s(Ix,"isCluster");var Mf=class t{static{s(this,"RedisWrapper")}constructor(e,r){this.client=e,this.db=r}static async init(e,r=0){return await nu.tracer.trace("RedisWrapper.init",async n=>{let i=await _x(r);return r&&!g.isTest()&&(n.addTags({db:e}),i.select(r)),new t(i,e)})}trace(e,r){return nu.tracer.trace(e,async n=>(n.addTags({db:this.db}),await r(n)))}prefixed(e){return e.includes(this.db)?e:`${this.db}${Yn}${e}`}async finish(){return await this.trace("RedisWrapper.finish",async()=>{await this.client.quit()})}async scan(e=""){return await this.trace("RedisWrapper.scan",async r=>{r.addTags({key:e}),e=`${this.db}${Yn}${e}`;let n;Ix(this.client)?n=this.client.nodes("master")[0].scanStream({match:e+"*",count:100}):n=this.client.scanStream({match:e+"*",count:100});let i=await Ox(n,this.client);return r.addTags({numKeysFound:i.length}),i})}async keys(e){return await this.trace("RedisWrapper.keys",async r=>(r.addTags({pattern:e}),this.client.keys(this.prefixed(e))))}async exists(e){return await this.trace("RedisWrapper.exists",async r=>(r.addTags({key:e}),await this.client.exists(this.prefixed(e))))}async get(e){return await this.trace("RedisWrapper.get",async r=>{r.addTags({key:e});let n=await this.client.get(this.prefixed(e));n!=null&&n.key&&(n.key=e);try{return JSON.parse(n)}catch{return n}})}async bulkGet(e){return await this.trace("RedisWrapper.bulkGet",async r=>{if(r.addTags({numKeys:e.length}),e.length===0)return{};let n=await this.client.mget(e.map(i=>this.prefixed(i)));return r.addTags({numKeysFound:n.length}),(0,TT.zip)(e,n).reduce((i,[o,a])=>{if(o===void 0||a===void 0)throw new Error(`Keys and response length mismatch: ${e.length} vs ${n.length}`);try{i[o]=a?JSON.parse(a):null}catch{i[o]=a}return i},{})})}async store(e,r,n=null){return await this.trace("RedisWrapper.store",async i=>{i.addTags({key:e,expirySeconds:n}),typeof r=="object"&&(r=JSON.stringify(r)),await this.client.set(this.prefixed(e),r),n&&await this.client.expire(this.prefixed(e),n)})}async bulkStore(e,r=null){return await this.trace("RedisWrapper.bulkStore",async n=>{n.addTags({numKeys:Object.keys(e).length,expirySeconds:r});let i=Object.entries(e).reduce((a,[u,c])=>(a[this.prefixed(u)]=typeof c=="object"?JSON.stringify(c):c,a),{}),o=this.client.pipeline();if(o.mset(i),r!==null)for(let a of Object.keys(i))o.expire(a,r);await o.exec()})}async getTTL(e){return await this.trace("RedisWrapper.getTTL",async r=>(r.addTags({key:e}),await this.client.ttl(this.prefixed(e))))}async setExpiry(e,r){return await this.trace("RedisWrapper.setExpiry",async n=>(n.addTags({key:e,expirySeconds:r}),await this.client.expire(this.prefixed(e),r)))}async delete(e){return await this.trace("RedisWrapper.delete",async r=>{r.addTags({key:e}),await this.client.del(this.prefixed(e))})}async bulkDelete(e){return await this.trace("RedisWrapper.bulkDelete",async r=>{r.addTags({numKeys:e.length}),await this.client.del(e.map(n=>this.prefixed(n)))})}async clear(){return await this.trace("RedisWrapper.clear",async e=>{let r=await this.scan();e.addTags({numKeys:r.length}),await Promise.all(r.map(n=>this.delete(n.key)))})}async increment(e){return await this.trace("RedisWrapper.increment",async r=>{r.addTags({key:e});let n=await this.client.incr(this.prefixed(e));if(isNaN(n))throw new Error(`Redis ${e} does not contain a number`);return n})}async deleteIfValue(e,r){return await this.trace("RedisWrapper.deleteIfValue",async n=>{n.addTags({key:e});let i=`
6
6
  if redis.call('GET', KEYS[1]) == ARGV[1] then
7
7
  redis.call('DEL', KEYS[1])
8
8
  end