@budibase/backend-core 3.20.6 → 3.20.8
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 +1 -1
- package/dist/index.js.map +1 -1
- package/dist/package.json +2 -2
- package/dist/src/environment.d.ts +1 -1
- package/dist/src/environment.js +1 -1
- package/package.json +2 -2
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,je({assert:!1},r)));let f={value:d,path:o,options:r,originalValue:u,schema:this,label:this.spec.label,sync:i,from:a},p=[];this._typeError&&p.push(this._typeError),this._whitelistError&&p.push(this._whitelistError),this._blacklistError&&p.push(this._blacklistError),(0,wh.default)({args:f,value:d,path:o,sync:i,tests:p,endEarly:l},h=>{if(h)return void n(h,d);(0,wh.default)({tests:this.tests,args:f,path:o,sync:i,value:d,endEarly:l},n)})}validate(e,r,n){let i=this.resolve(je({},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(je({},r,{value:e})),i;return n._validate(e,je({},r,{sync:!0}),(o,a)=>{if(o)throw o;i=a}),i}isValid(e,r){return this.validate(e,r).then(()=>!0,n=>{if(Rh.default.isError(n))return!1;throw n})}isValidSync(e,r){try{return this.validateSync(e,r),!0}catch(n){if(Rh.default.isError(n))return!1;throw n}}_getDefault(){let e=this.spec.default;return e==null?e:typeof e=="function"?e.call(this):(0,Ih.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=Cn.mixed.defined){return this.test({message:e,name:"defined",exclusive:!0,test(r){return r!==void 0}})}required(e=Cn.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=Cn.mixed.default),typeof r.test!="function")throw new TypeError("`test` is a required parameters");let n=this.clone(),i=(0,ra.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,fI.default)(e).map(o=>new lI.default(o));return i.forEach(o=>{o.isSibling&&n.deps.push(o.key)}),n.conditions.push(new cI.default(i,r)),n}typeError(e){var r=this.clone();return r._typeError=(0,ra.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=Cn.mixed.oneOf){var n=this.clone();return e.forEach(i=>{n._whitelist.add(i),n._blacklist.delete(i)}),n._whitelistError=(0,ra.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=Cn.mixed.notOneOf){var n=this.clone();return e.forEach(i=>{n._blacklist.add(i),n._whitelist.delete(i)}),n._blacklistError=(0,ra.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)}}};na.default=ot;ot.prototype.__isYupSchema__=!0;for(let t of["validate","validateSync"])ot.prototype[`${t}At`]=function(e,r,n={}){let{parent:i,parentPath:o,schema:a}=(0,dI.getIn)(this,e,r,n.context);return a[t](i&&i[o],je({},n,{parent:i,path:e}))};for(let t of["equals","is"])ot.prototype[t]=ot.prototype.oneOf;for(let t of["not","nope"])ot.prototype[t]=ot.prototype.notOneOf;ot.prototype.optional=ot.prototype.notRequired});var xh=q($i=>{"use strict";Object.defineProperty($i,"__esModule",{value:!0});$i.create=bh;$i.default=void 0;var pI=mI(Pt());function mI(t){return t&&t.__esModule?t:{default:t}}s(mI,"_interopRequireDefault");var tl=pI.default,hI=tl;$i.default=hI;function bh(){return new tl}s(bh,"create");bh.prototype=tl.prototype});var bn=q(ia=>{"use strict";Object.defineProperty(ia,"__esModule",{value:!0});ia.default=void 0;var EI=s(t=>t==null,"_default");ia.default=EI});var Lh=q(Vi=>{"use strict";Object.defineProperty(Vi,"__esModule",{value:!0});Vi.create=Uh;Vi.default=void 0;var gI=Nh(Pt()),vh=xt(),Ph=Nh(bn());function Nh(t){return t&&t.__esModule?t:{default:t}}s(Nh,"_interopRequireDefault");function Uh(){return new Gi}s(Uh,"create");var Gi=class extends gI.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=vh.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(r){return(0,Ph.default)(r)||r===!0}})}isFalse(e=vh.boolean.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(r){return(0,Ph.default)(r)||r===!1}})}};Vi.default=Gi;Uh.prototype=Gi.prototype});var Fh=q(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.create=Mh;Ki.default=void 0;var St=xt(),Nt=kh(bn()),yI=kh(Pt());function kh(t){return t&&t.__esModule?t:{default:t}}s(kh,"_interopRequireDefault");var TI=/^((([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,SI=/^((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,AI=/^(?:[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,_I=s(t=>(0,Nt.default)(t)||t===t.trim(),"isTrimmed"),OI={}.toString();function Mh(){return new qi}s(Mh,"create");var qi=class extends yI.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===OI?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=St.string.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(n){return(0,Nt.default)(n)||n.length===this.resolve(e)}})}min(e,r=St.string.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,Nt.default)(n)||n.length>=this.resolve(e)}})}max(e,r=St.string.max){return this.test({name:"max",exclusive:!0,message:r,params:{max:e},test(n){return(0,Nt.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||St.string.matches,params:{regex:e},test:a=>(0,Nt.default)(a)||a===""&&n||a.search(e)!==-1})}email(e=St.string.email){return this.matches(TI,{name:"email",message:e,excludeEmptyString:!0})}url(e=St.string.url){return this.matches(SI,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=St.string.uuid){return this.matches(AI,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=St.string.trim){return this.transform(r=>r!=null?r.trim():r).test({message:e,name:"trim",test:_I})}lowercase(e=St.string.lowercase){return this.transform(r=>(0,Nt.default)(r)?r:r.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,Nt.default)(r)||r===r.toLowerCase()})}uppercase(e=St.string.uppercase){return this.transform(r=>(0,Nt.default)(r)?r:r.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:r=>(0,Nt.default)(r)||r===r.toUpperCase()})}};Ki.default=qi;Mh.prototype=qi.prototype});var $h=q(ji=>{"use strict";Object.defineProperty(ji,"__esModule",{value:!0});ji.create=Wh;ji.default=void 0;var Mr=xt(),Fr=Bh(bn()),II=Bh(Pt());function Bh(t){return t&&t.__esModule?t:{default:t}}s(Bh,"_interopRequireDefault");var wI=s(t=>t!=+t,"isNaN");function Wh(){return new Qi}s(Wh,"create");var Qi=class extends II.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"&&!wI(e)}min(e,r=Mr.number.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,Fr.default)(n)||n>=this.resolve(e)}})}max(e,r=Mr.number.max){return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(n){return(0,Fr.default)(n)||n<=this.resolve(e)}})}lessThan(e,r=Mr.number.lessThan){return this.test({message:r,name:"max",exclusive:!0,params:{less:e},test(n){return(0,Fr.default)(n)||n<this.resolve(e)}})}moreThan(e,r=Mr.number.moreThan){return this.test({message:r,name:"min",exclusive:!0,params:{more:e},test(n){return(0,Fr.default)(n)||n>this.resolve(e)}})}positive(e=Mr.number.positive){return this.moreThan(0,e)}negative(e=Mr.number.negative){return this.lessThan(0,e)}integer(e=Mr.number.integer){return this.test({name:"integer",message:e,test:r=>(0,Fr.default)(r)||Number.isInteger(r)})}truncate(){return this.transform(e=>(0,Fr.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,Fr.default)(i)?i:Math[e](i))}};ji.default=Qi;Wh.prototype=Qi.prototype});var Gh=q(rl=>{"use strict";Object.defineProperty(rl,"__esModule",{value:!0});rl.default=RI;var DI=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function RI(t){var e=[1,4,5,6,7,10,11],r=0,n,i;if(i=DI.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(RI,"parseIsoDate")});var Kh=q(Yi=>{"use strict";Object.defineProperty(Yi,"__esModule",{value:!0});Yi.create=il;Yi.default=void 0;var CI=sa(Gh()),Vh=xt(),qh=sa(bn()),bI=sa(kr()),xI=sa(Pt());function sa(t){return t&&t.__esModule?t:{default:t}}s(sa,"_interopRequireDefault");var nl=new Date(""),vI=s(t=>Object.prototype.toString.call(t)==="[object Date]","isDate");function il(){return new xn}s(il,"create");var xn=class extends xI.default{static{s(this,"DateSchema")}constructor(){super({type:"date"}),this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=(0,CI.default)(e),isNaN(e)?nl:new Date(e))})})}_typeCheck(e){return vI(e)&&!isNaN(e.getTime())}prepareParam(e,r){let n;if(bI.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=Vh.date.min){let n=this.prepareParam(e,"min");return this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(i){return(0,qh.default)(i)||i>=this.resolve(n)}})}max(e,r=Vh.date.max){var n=this.prepareParam(e,"max");return this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(i){return(0,qh.default)(i)||i<=this.resolve(n)}})}};Yi.default=xn;xn.INVALID_DATE=nl;il.prototype=xn.prototype;il.INVALID_DATE=nl});var jh=q((LM,sl)=>{"use strict";sl.exports=function(t){return Qh(PI(t),t)};sl.exports.array=Qh;function Qh(t,e){var r=t.length,n=new Array(r),i={},o=r,a=NI(e),u=UI(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 p;try{p=", node was:"+JSON.stringify(l)}catch{p=""}throw new Error("Cyclic dependency"+p)}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 h=a.get(l)||new Set;if(h=Array.from(h),d=h.length){f.add(l);do{var m=h[--d];c(m,u.get(m),f)}while(d);f.delete(l)}n[--r]=l}}}s(Qh,"toposort");function PI(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(PI,"uniqueNodes");function NI(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(NI,"makeOutgoingEdges");function UI(t){for(var e=new Map,r=0,n=t.length;r<n;r++)e.set(t[r],r);return e}s(UI,"makeNodesHash")});var Yh=q(ol=>{"use strict";Object.defineProperty(ol,"__esModule",{value:!0});ol.default=WI;var LI=oa(require("lodash/has")),kI=oa(jh()),MI=Mi(),FI=oa(kr()),BI=oa(Rn());function oa(t){return t&&t.__esModule?t:{default:t}}s(oa,"_interopRequireDefault");function WI(t,e=[]){let r=[],n=[];function i(o,a){var u=(0,MI.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,LI.default)(t,o)){let a=t[o];~n.indexOf(o)||n.push(o),FI.default.isRef(a)&&a.isSibling?i(a.path,o):(0,BI.default)(a)&&"deps"in a&&a.deps.forEach(u=>i(u,o))}return kI.default.array(n,r).reverse()}s(WI,"sortFields")});var zh=q(al=>{"use strict";Object.defineProperty(al,"__esModule",{value:!0});al.default=$I;function Hh(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(Hh,"findIndex");function $I(t){return(e,r)=>Hh(t,e)-Hh(t,r)}s($I,"sortByKeyOrder")});var nE=q(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.create=rE;zi.default=void 0;var Jh=At(require("lodash/has")),Zh=At(require("lodash/snakeCase")),GI=At(require("lodash/camelCase")),VI=At(require("lodash/mapKeys")),qI=At(require("lodash/mapValues")),KI=Mi(),Xh=xt(),QI=At(Yh()),tE=At(zh()),jI=At(Jo()),YI=At(Ur()),ul=At(Pt());function At(t){return t&&t.__esModule?t:{default:t}}s(At,"_interopRequireDefault");function vn(){return vn=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},vn.apply(this,arguments)}s(vn,"_extends");var eE=s(t=>Object.prototype.toString.call(t)==="[object Object]","isObject");function HI(t,e){let r=Object.keys(t.fields);return Object.keys(e).filter(n=>r.indexOf(n)===-1)}s(HI,"unknown");var zI=(0,tE.default)([]),Hi=class extends ul.default{static{s(this,"ObjectSchema")}constructor(e){super({type:"object"}),this.fields=Object.create(null),this._sortErrors=zI,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 eE(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=vn({},r,{parent:c,__validating:r.__validating||!1}),d=!1;for(let f of u){let p=o[f],h=(0,Jh.default)(i,f);if(p){let m,g=i[f];l.path=(r.path?`${r.path}.`:"")+f,p=p.resolve({value:g,context:r.context,parent:c});let y="spec"in p?p.spec:void 0,S=y?.strict;if(y?.strip){d=d||f in i;continue}m=!r.__validating||!S?p.cast(i[f],l):i[f],m!==void 0&&(c[f]=m)}else h&&!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(!YI.default.isError(d)||c)return void n(d,f);i.push(d)}if(!l||!eE(f)){n(i[0]||null,f);return}u=u||f;let p=this._nodes.map(h=>(m,g)=>{let y=h.indexOf(".")===-1?(r.path?`${r.path}.`:"")+h:`${r.path||""}["${h}"]`,S=this.fields[h];if(S&&"validate"in S){S.validate(f[h],vn({},r,{path:y,from:a,strict:!0,parent:f,originalValue:u[h]}),g);return}g(null)});(0,jI.default)({sync:o,tests:p,value:f,errors:i,endEarly:c,sort:this._sortErrors,path:r.path},n)})}clone(e){let r=super.clone(e);return r.fields=vn({},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 ul.default&&o instanceof ul.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,tE.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,QI.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,KI.getter)(e,!0);return this.transform(o=>{if(o==null)return o;let a=o;return(0,Jh.default)(o,e)&&(a=vn({},o),n||delete a[e],a[r]=i(o)),a})}noUnknown(e=!0,r=Xh.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=HI(this.schema,i);return!e||o.length===0||this.createError({params:{unknown:o.join(", ")}})}});return n.spec.noUnknown=e,n}unknown(e=!0,r=Xh.object.noUnknown){return this.noUnknown(!e,r)}transformKeys(e){return this.transform(r=>r&&(0,VI.default)(r,(n,i)=>e(i)))}camelCase(){return this.transformKeys(GI.default)}snakeCase(){return this.transformKeys(Zh.default)}constantCase(){return this.transformKeys(e=>(0,Zh.default)(e).toUpperCase())}describe(){let e=super.describe();return e.fields=(0,qI.default)(this.fields,r=>r.describe()),e}};zi.default=Hi;function rE(t){return new Hi(t)}s(rE,"create");rE.prototype=Hi.prototype});var sE=q(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});Zi.create=iE;Zi.default=void 0;var cl=Pn(bn()),JI=Pn(Rn()),ZI=Pn(ki()),ll=xt(),XI=Pn(Jo()),ew=Pn(Ur()),tw=Pn(Pt());function Pn(t){return t&&t.__esModule?t:{default:t}}s(Pn,"_interopRequireDefault");function aa(){return aa=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},aa.apply(this,arguments)}s(aa,"_extends");function iE(t){return new Ji(t)}s(iE,"create");var Ji=class extends tw.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,aa({},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,p=r.originalValue!=null?r.originalValue:e;super._validate(e,r,(h,m)=>{if(h){if(!ew.default.isError(h)||d)return void n(h,m);a.push(h)}if(!f||!l||!this._typeCheck(m)){n(a[0]||null,m);return}p=p||m;let g=new Array(m.length);for(let y=0;y<m.length;y++){let S=m[y],O=`${r.path||""}[${y}]`,_=aa({},r,{path:O,strict:!0,parent:m,index:y,originalValue:p[y]});g[y]=(D,T)=>l.validate(S,_,T)}(0,XI.default)({sync:u,path:c,value:m,errors:a,endEarly:d,tests:g},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,JI.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+(0,ZI.default)(e));return r.innerType=e,r}length(e,r=ll.array.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},test(n){return(0,cl.default)(n)||n.length===this.resolve(e)}})}min(e,r){return r=r||ll.array.min,this.test({message:r,name:"min",exclusive:!0,params:{min:e},test(n){return(0,cl.default)(n)||n.length>=this.resolve(e)}})}max(e,r){return r=r||ll.array.max,this.test({message:r,name:"max",exclusive:!0,params:{max:e},test(n){return(0,cl.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)}};Zi.default=Ji;iE.prototype=Ji.prototype});var oE=q(Xi=>{"use strict";Object.defineProperty(Xi,"__esModule",{value:!0});Xi.create=iw;Xi.default=void 0;var rw=nw(Rn());function nw(t){return t&&t.__esModule?t:{default:t}}s(nw,"_interopRequireDefault");function iw(t){return new ua(t)}s(iw,"create");var ua=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,rw.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)}},sw=ua;Xi.default=sw});var aE=q(dl=>{"use strict";Object.defineProperty(dl,"__esModule",{value:!0});dl.default=uw;var ow=aw(xt());function aw(t){return t&&t.__esModule?t:{default:t}}s(aw,"_interopRequireDefault");function uw(t){Object.keys(t).forEach(e=>{Object.keys(t[e]).forEach(r=>{ow.default[e][r]=t[e][r]})})}s(uw,"setLocale")});var pl=q(te=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});te.addMethod=hw;Object.defineProperty(te,"MixedSchema",{enumerable:!0,get:function(){return uE.default}});Object.defineProperty(te,"mixed",{enumerable:!0,get:function(){return uE.create}});Object.defineProperty(te,"BooleanSchema",{enumerable:!0,get:function(){return fl.default}});Object.defineProperty(te,"bool",{enumerable:!0,get:function(){return fl.create}});Object.defineProperty(te,"boolean",{enumerable:!0,get:function(){return fl.create}});Object.defineProperty(te,"StringSchema",{enumerable:!0,get:function(){return cE.default}});Object.defineProperty(te,"string",{enumerable:!0,get:function(){return cE.create}});Object.defineProperty(te,"NumberSchema",{enumerable:!0,get:function(){return lE.default}});Object.defineProperty(te,"number",{enumerable:!0,get:function(){return lE.create}});Object.defineProperty(te,"DateSchema",{enumerable:!0,get:function(){return dE.default}});Object.defineProperty(te,"date",{enumerable:!0,get:function(){return dE.create}});Object.defineProperty(te,"ObjectSchema",{enumerable:!0,get:function(){return fE.default}});Object.defineProperty(te,"object",{enumerable:!0,get:function(){return fE.create}});Object.defineProperty(te,"ArraySchema",{enumerable:!0,get:function(){return pE.default}});Object.defineProperty(te,"array",{enumerable:!0,get:function(){return pE.create}});Object.defineProperty(te,"ref",{enumerable:!0,get:function(){return cw.create}});Object.defineProperty(te,"lazy",{enumerable:!0,get:function(){return lw.create}});Object.defineProperty(te,"ValidationError",{enumerable:!0,get:function(){return dw.default}});Object.defineProperty(te,"reach",{enumerable:!0,get:function(){return fw.default}});Object.defineProperty(te,"isSchema",{enumerable:!0,get:function(){return mE.default}});Object.defineProperty(te,"setLocale",{enumerable:!0,get:function(){return pw.default}});Object.defineProperty(te,"BaseSchema",{enumerable:!0,get:function(){return mw.default}});var uE=Br(xh()),fl=Br(Lh()),cE=Br(Fh()),lE=Br($h()),dE=Br(Kh()),fE=Br(nE()),pE=Br(sE()),cw=kr(),lw=oE(),dw=es(Ur()),fw=es(Xc()),mE=es(Rn()),pw=es(aE()),mw=es(Pt());function es(t){return t&&t.__esModule?t:{default:t}}s(es,"_interopRequireDefault");function hE(){if(typeof WeakMap!="function")return null;var t=new WeakMap;return hE=s(function(){return t},"_getRequireWildcardCache"),t}s(hE,"_getRequireWildcardCache");function Br(t){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var e=hE();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(Br,"_interopRequireWildcard");function hw(t,e,r){if(!t||!(0,mE.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(hw,"addMethod")});var EE=q(hl=>{"use strict";Object.defineProperty(hl,"__esModule",{value:!0});var ml=El();hl.default=()=>{(0,ml.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,ml.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,ml.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 El=q(Ae=>{"use strict";var Ew=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]}),gw=Ae&&Ae.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),yw=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)&&Ew(e,t,r);return gw(e,t),e},Tw=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 R=yw(pl());pl();var ts=it(),Sw=Tw(EE());st();var Wr={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}}},gE=R.object({presetId:R.string().required(),useSeconds:R.boolean().required(),useYears:R.boolean().required(),useAliases:R.boolean(),useBlankDay:R.boolean().required(),allowOnlyOneBlankDayField:R.boolean().required(),mustHaveBlankDayField:R.boolean(),useLastDayOfMonth:R.boolean(),useLastDayOfWeek:R.boolean(),useNearestWeekday:R.boolean(),useNthWeekdayOfMonth:R.boolean(),seconds:R.object({minValue:R.number().min(0).required(),maxValue:R.number().min(0).required(),lowerLimit:R.number().min(0),upperLimit:R.number().min(0)}).required(),minutes:R.object({minValue:R.number().min(0).required(),maxValue:R.number().min(0).required(),lowerLimit:R.number().min(0),upperLimit:R.number().min(0)}).required(),hours:R.object({minValue:R.number().min(0).required(),maxValue:R.number().min(0).required(),lowerLimit:R.number().min(0),upperLimit:R.number().min(0)}).required(),daysOfMonth:R.object({minValue:R.number().min(0).required(),maxValue:R.number().min(0).required(),lowerLimit:R.number().min(0),upperLimit:R.number().min(0)}).required(),months:R.object({minValue:R.number().min(0).required(),maxValue:R.number().min(0).required(),lowerLimit:R.number().min(0),upperLimit:R.number().min(0)}).required(),daysOfWeek:R.object({minValue:R.number().min(0).required(),maxValue:R.number().min(0).required(),lowerLimit:R.number().min(0),upperLimit:R.number().min(0)}).required(),years:R.object({minValue:R.number().min(0).required(),maxValue:R.number().min(0).required(),lowerLimit:R.number().min(0),upperLimit:R.number().min(0)}).required()}).required(),Aw=s(t=>Wr[t]?(0,ts.valid)(Wr[t]):(0,ts.err)(`Option preset '${t}' not found.`),"getOptionPreset");Ae.getOptionPreset=Aw;var _w=s(()=>Wr,"getOptionPresets");Ae.getOptionPresets=_w;var Ow=s((t,e)=>{Wr[t]=gE.validateSync(e,{strict:!1,abortEarly:!1,stripUnknown:!0,recursive:!0})},"registerOptionPreset");Ae.registerOptionPreset=Ow;var Iw=s(t=>{var e,r,n,i,o,a,u,c,l,d,f,p,h,m,g,y,S,O,_,D;try{(0,Sw.default)();let T;if(t.preset)if(typeof t.preset=="string"){if(!Wr[t.preset])return(0,ts.err)([`Option preset ${t.preset} does not exist.`]);T=Wr[t.preset]}else T=t.preset;else T=Wr.default;let I=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:(p=T.hours.upperLimit)!==null&&p!==void 0?p:T.hours.maxValue},daysOfMonth:{lowerLimit:(h=T.daysOfMonth.lowerLimit)!==null&&h!==void 0?h:T.daysOfMonth.minValue,upperLimit:(m=T.daysOfMonth.upperLimit)!==null&&m!==void 0?m:T.daysOfMonth.maxValue},months:{lowerLimit:(g=T.months.lowerLimit)!==null&&g!==void 0?g:T.months.minValue,upperLimit:(y=T.months.upperLimit)!==null&&y!==void 0?y:T.months.maxValue},daysOfWeek:{lowerLimit:(S=T.daysOfWeek.lowerLimit)!==null&&S!==void 0?S:T.daysOfWeek.minValue,upperLimit:(O=T.daysOfWeek.upperLimit)!==null&&O!==void 0?O:T.daysOfWeek.maxValue},years:{lowerLimit:(_=T.years.lowerLimit)!==null&&_!==void 0?_:T.years.minValue,upperLimit:(D=T.years.upperLimit)!==null&&D!==void 0?D:T.years.maxValue}}),t.override),P=R.object({presetId:R.string().required(),preset:gE.required(),useSeconds:R.boolean().required(),useYears:R.boolean().required(),useAliases:R.boolean(),useBlankDay:R.boolean().required(),allowOnlyOneBlankDayField:R.boolean().required(),mustHaveBlankDayField:R.boolean(),useLastDayOfMonth:R.boolean(),useLastDayOfWeek:R.boolean(),useNearestWeekday:R.boolean(),useNthWeekdayOfMonth:R.boolean(),seconds:R.object({lowerLimit:R.number().min(T.seconds.minValue).max(T.seconds.maxValue),upperLimit:R.number().min(T.seconds.minValue).max(T.seconds.maxValue)}).required(),minutes:R.object({lowerLimit:R.number().min(T.minutes.minValue).max(T.minutes.maxValue),upperLimit:R.number().min(T.minutes.minValue).max(T.minutes.maxValue)}).required(),hours:R.object({lowerLimit:R.number().min(T.hours.minValue).max(T.hours.maxValue),upperLimit:R.number().min(T.hours.minValue).max(T.hours.maxValue)}).required(),daysOfMonth:R.object({lowerLimit:R.number().min(T.daysOfMonth.minValue).max(T.daysOfMonth.maxValue),upperLimit:R.number().min(T.daysOfMonth.minValue).max(T.daysOfMonth.maxValue)}).required(),months:R.object({lowerLimit:R.number().min(T.months.minValue).max(T.months.maxValue),upperLimit:R.number().min(T.months.minValue).max(T.months.maxValue)}).required(),daysOfWeek:R.object({lowerLimit:R.number().min(T.daysOfWeek.minValue).max(T.daysOfWeek.maxValue),upperLimit:R.number().min(T.daysOfWeek.minValue).max(T.daysOfWeek.maxValue)}).required(),years:R.object({lowerLimit:R.number().min(T.years.minValue).max(T.years.maxValue),upperLimit:R.number().min(T.years.minValue).max(T.years.maxValue)}).required()}).required().validateSync(I,{strict:!1,abortEarly:!1,stripUnknown:!0,recursive:!0});return(0,ts.valid)(P)}catch(T){return(0,ts.err)(T.errors)}},"validateOptions");Ae.validateOptions=Iw});var Tt=q((rs,yl)=>{"use strict";var Gr=rs&&rs.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(rs,"__esModule",{value:!0});var $r=it(),ww=Gr(Qm()),Dw=Gr(jm()),Rw=Gr(Ym()),Cw=Gr(Hm()),bw=Gr(zm()),xw=Gr(Jm()),vw=Gr(Zm()),Pw=El();st();var Nw=s((t,e)=>{let r=t.trim().split(" ");if(e.useSeconds&&e.useYears&&r.length!==7)return(0,$r.err)(`Expected 7 values, but got ${r.length}.`);if((e.useSeconds&&!e.useYears||e.useYears&&!e.useSeconds)&&r.length!==6)return(0,$r.err)(`Expected 6 values, but got ${r.length}.`);if(!e.useSeconds&&!e.useYears&&r.length!==5)return(0,$r.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,$r.valid)(n)},"splitCronString"),gl=s((t,e={})=>{let r=(0,Pw.validateOptions)(e);if(r.isError())return r;let n=r.getValue(),i=Nw(t,n);if(i.isError())return(0,$r.err)([`${i.getError()} (Input cron: '${t}')`]);let o=i.getValue(),a=[];if(n.useSeconds&&a.push((0,ww.default)(o,n)),a.push((0,Dw.default)(o,n)),a.push((0,Rw.default)(o,n)),a.push((0,Cw.default)(o,n)),a.push((0,bw.default)(o,n)),a.push((0,xw.default)(o,n)),n.useYears&&a.push((0,vw.default)(o,n)),a.every(c=>c.isValid()))return(0,$r.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,$r.err)(u)},"cron");rs.default=gl;yl.exports=gl;yl.exports.default=gl});var jg=q(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});var Lt=class extends Error{static{s(this,"LuxonError")}},Cl=class extends Lt{static{s(this,"InvalidDateTimeError")}constructor(e){super(`Invalid DateTime: ${e.toMessage()}`)}},bl=class extends Lt{static{s(this,"InvalidIntervalError")}constructor(e){super(`Invalid Interval: ${e.toMessage()}`)}},xl=class extends Lt{static{s(this,"InvalidDurationError")}constructor(e){super(`Invalid Duration: ${e.toMessage()}`)}},ir=class extends Lt{static{s(this,"ConflictingSpecificationError")}},Ea=class extends Lt{static{s(this,"InvalidUnitError")}constructor(e){super(`Invalid unit ${e}`)}},_e=class extends Lt{static{s(this,"InvalidArgumentError")}},_t=class extends Lt{static{s(this,"ZoneIsAbstractError")}constructor(){super("Zone is an abstract class")}},x="numeric",ct="short",Ge="long",ga={year:x,month:x,day:x},YE={year:x,month:ct,day:x},Uw={year:x,month:ct,day:x,weekday:ct},HE={year:x,month:Ge,day:x},zE={year:x,month:Ge,day:x,weekday:Ge},JE={hour:x,minute:x},ZE={hour:x,minute:x,second:x},XE={hour:x,minute:x,second:x,timeZoneName:ct},eg={hour:x,minute:x,second:x,timeZoneName:Ge},tg={hour:x,minute:x,hourCycle:"h23"},rg={hour:x,minute:x,second:x,hourCycle:"h23"},ng={hour:x,minute:x,second:x,hourCycle:"h23",timeZoneName:ct},ig={hour:x,minute:x,second:x,hourCycle:"h23",timeZoneName:Ge},sg={year:x,month:x,day:x,hour:x,minute:x},og={year:x,month:x,day:x,hour:x,minute:x,second:x},ag={year:x,month:ct,day:x,hour:x,minute:x},ug={year:x,month:ct,day:x,hour:x,minute:x,second:x},Lw={year:x,month:ct,day:x,weekday:ct,hour:x,minute:x},cg={year:x,month:Ge,day:x,hour:x,minute:x,timeZoneName:ct},lg={year:x,month:Ge,day:x,hour:x,minute:x,second:x,timeZoneName:ct},dg={year:x,month:Ge,day:x,weekday:Ge,hour:x,minute:x,timeZoneName:Ge},fg={year:x,month:Ge,day:x,weekday:Ge,hour:x,minute:x,second:x,timeZoneName:Ge},or=class{static{s(this,"Zone")}get type(){throw new _t}get name(){throw new _t}get ianaName(){return this.name}get isUniversal(){throw new _t}offsetName(e,r){throw new _t}formatOffset(e,r){throw new _t}offset(e){throw new _t}equals(e){throw new _t}get isValid(){throw new _t}},Tl=null,us=class t extends or{static{s(this,"SystemZone")}static get instance(){return Tl===null&&(Tl=new t),Tl}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(e,{format:r,locale:n}){return Og(e,r,n)}formatOffset(e,r){return as(this.offset(e),r)}offset(e){return-new Date(e).getTimezoneOffset()}equals(e){return e.type==="system"}get isValid(){return!0}},vl=new Map;function kw(t){let e=vl.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"}),vl.set(t,e)),e}s(kw,"makeDTF");var Mw={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function Fw(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(Fw,"hackyOffset");function Bw(t,e){let r=t.formatToParts(e),n=[];for(let i=0;i<r.length;i++){let{type:o,value:a}=r[i],u=Mw[o];o==="era"?n[u]=a:Q(u)||(n[u]=parseInt(a,10))}return n}s(Bw,"partsOffset");var Sl=new Map,kt=class t extends or{static{s(this,"IANAZone")}static create(e){let r=Sl.get(e);return r===void 0&&Sl.set(e,r=new t(e)),r}static resetCache(){Sl.clear(),vl.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 Og(e,r,n,this.name)}formatOffset(e,r){return as(this.offset(e),r)}offset(e){if(!this.valid)return NaN;let r=new Date(e);if(isNaN(r))return NaN;let n=kw(this.name),[i,o,a,u,c,l,d]=n.formatToParts?Bw(n,r):Fw(n,r);u==="BC"&&(i=-Math.abs(i)+1);let p=Ia({year:i,month:o,day:a,hour:c===24?0:c,minute:l,second:d,millisecond:0}),h=+r,m=h%1e3;return h-=m>=0?m:1e3+m,(p-h)/(60*1e3)}equals(e){return e.type==="iana"&&e.name===this.name}get isValid(){return this.valid}},yE={};function Ww(t,e={}){let r=JSON.stringify([t,e]),n=yE[r];return n||(n=new Intl.ListFormat(t,e),yE[r]=n),n}s(Ww,"getCachedLF");var Pl=new Map;function Nl(t,e={}){let r=JSON.stringify([t,e]),n=Pl.get(r);return n===void 0&&(n=new Intl.DateTimeFormat(t,e),Pl.set(r,n)),n}s(Nl,"getCachedDTF");var Ul=new Map;function $w(t,e={}){let r=JSON.stringify([t,e]),n=Ul.get(r);return n===void 0&&(n=new Intl.NumberFormat(t,e),Ul.set(r,n)),n}s($w,"getCachedINF");var Ll=new Map;function Gw(t,e={}){let{base:r,...n}=e,i=JSON.stringify([t,n]),o=Ll.get(i);return o===void 0&&(o=new Intl.RelativeTimeFormat(t,e),Ll.set(i,o)),o}s(Gw,"getCachedRTF");var is=null;function Vw(){return is||(is=new Intl.DateTimeFormat().resolvedOptions().locale,is)}s(Vw,"systemLocale");var kl=new Map;function pg(t){let e=kl.get(t);return e===void 0&&(e=new Intl.DateTimeFormat(t).resolvedOptions(),kl.set(t,e)),e}s(pg,"getCachedIntResolvedOptions");var Ml=new Map;function qw(t){let e=Ml.get(t);if(!e){let r=new Intl.Locale(t);e="getWeekInfo"in r?r.getWeekInfo():r.weekInfo,"minimalDays"in e||(e={...mg,...e}),Ml.set(t,e)}return e}s(qw,"getCachedWeekInfo");function Kw(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=Nl(t).resolvedOptions(),i=t}catch{let c=t.substring(0,r);n=Nl(c).resolvedOptions(),i=c}let{numberingSystem:o,calendar:a}=n;return[i,o,a]}}s(Kw,"parseLocaleString");function Qw(t,e,r){return(r||e)&&(t.includes("-u-")||(t+="-u"),r&&(t+=`-ca-${r}`),e&&(t+=`-nu-${e}`)),t}s(Qw,"intlConfigString");function jw(t){let e=[];for(let r=1;r<=12;r++){let n=oe.utc(2009,r,1);e.push(t(n))}return e}s(jw,"mapMonths");function Yw(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(Yw,"mapWeekdays");function ca(t,e,r,n){let i=t.listingMode();return i==="error"?null:i==="en"?r(e):n(e)}s(ca,"listStuff");function Hw(t){return t.numberingSystem&&t.numberingSystem!=="latn"?!1:t.numberingSystem==="latn"||!t.locale||t.locale.startsWith("en")||pg(t.locale).numberingSystem==="latn"}s(Hw,"supportsFastNumbers");var Fl=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=$w(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):Hl(e,3);return pe(r,this.padTo)}}},Bl=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&&kt.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=Nl(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()}},Wl=class{static{s(this,"PolyRelFormatter")}constructor(e,r,n){this.opts={style:"long",...n},!r&&Ag()&&(this.rtf=Gw(e,n))}format(e,r){return this.rtf?this.rtf.format(e,r):ED(r,e,this.opts.numeric,this.opts.style!=="long")}formatToParts(e,r){return this.rtf?this.rtf.formatToParts(e,r):[]}},mg={firstDay:1,minimalDays:4,weekend:[6,7]},ee=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||re.defaultLocale,u=a||(o?"en-US":Vw()),c=r||re.defaultNumberingSystem,l=n||re.defaultOutputCalendar,d=Gl(i)||re.defaultWeekSettings;return new t(u,c,l,d,a)}static resetCache(){is=null,Pl.clear(),Ul.clear(),Ll.clear(),kl.clear(),Ml.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]=Kw(e);this.locale=a,this.numberingSystem=r||u||null,this.outputCalendar=n||c||null,this.weekSettings=i,this.intl=Qw(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=Hw(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,Gl(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 ca(this,e,Dg,()=>{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]=jw(a)}return this.monthsCache[o][e]})}weekdays(e,r=!1){return ca(this,e,bg,()=>{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]=Yw(o=>this.extract(o,n,"weekday"))),this.weekdaysCache[i][e]})}meridiems(){return ca(this,void 0,()=>xg,()=>{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 ca(this,e,vg,()=>{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 Fl(this.intl,e.forceSimple||this.fastNumbers,e)}dtFormatter(e,r={}){return new Bl(e,this.intl,r)}relFormatter(e={}){return new Wl(this.intl,this.isEnglish(),e)}listFormatter(e={}){return Ww(this.intl,e)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||pg(this.intl).locale.startsWith("en-us")}getWeekSettings(){return this.weekSettings?this.weekSettings:_g()?qw(this.locale):mg}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})`}},Al=null,Ve=class t extends or{static{s(this,"FixedOffsetZone")}static get utcInstance(){return Al===null&&(Al=new t(0)),Al}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(wa(r[1],r[2]))}return null}constructor(e){super(),this.fixed=e}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${as(this.fixed,"narrow")}`}get ianaName(){return this.fixed===0?"Etc/UTC":`Etc/GMT${as(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(e,r){return as(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}},ya=class extends or{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 nr(t,e){if(Q(t)||t===null)return e;if(t instanceof or)return t;if(tD(t)){let r=t.toLowerCase();return r==="default"?e:r==="local"||r==="system"?us.instance:r==="utc"||r==="gmt"?Ve.utcInstance:Ve.parseSpecifier(r)||kt.create(t)}else return sr(t)?Ve.instance(t):typeof t=="object"&&"offset"in t&&typeof t.offset=="function"?t:new ya(t)}s(nr,"normalizeZone");var Kl={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"},TE={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]},zw=Kl.hanidec.replace(/[\[|\]]/g,"").split("");function Jw(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(Kl.hanidec)!==-1)e+=zw.indexOf(t[r]);else for(let i in TE){let[o,a]=TE[i];n>=o&&n<=a&&(e+=n-o)}}return parseInt(e,10)}else return e}s(Jw,"parseDigits");var $l=new Map;function Zw(){$l.clear()}s(Zw,"resetDigitRegexCache");function at({numberingSystem:t},e=""){let r=t||"latn",n=$l.get(r);n===void 0&&(n=new Map,$l.set(r,n));let i=n.get(e);return i===void 0&&(i=new RegExp(`${Kl[r]}${e}`),n.set(e,i)),i}s(at,"digitRegex");var SE=s(()=>Date.now(),"now"),AE="system",_E=null,OE=null,IE=null,wE=60,DE,RE=null,re=class{static{s(this,"Settings")}static get now(){return SE}static set now(e){SE=e}static set defaultZone(e){AE=e}static get defaultZone(){return nr(AE,us.instance)}static get defaultLocale(){return _E}static set defaultLocale(e){_E=e}static get defaultNumberingSystem(){return OE}static set defaultNumberingSystem(e){OE=e}static get defaultOutputCalendar(){return IE}static set defaultOutputCalendar(e){IE=e}static get defaultWeekSettings(){return RE}static set defaultWeekSettings(e){RE=Gl(e)}static get twoDigitCutoffYear(){return wE}static set twoDigitCutoffYear(e){wE=e%100}static get throwOnInvalid(){return DE}static set throwOnInvalid(e){DE=e}static resetCaches(){ee.resetCache(),kt.resetCache(),oe.resetCache(),Zw()}},$e=class{static{s(this,"Invalid")}constructor(e,r){this.reason=e,this.explanation=r}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}},hg=[0,31,59,90,120,151,181,212,243,273,304,334],Eg=[0,31,60,91,121,152,182,213,244,274,305,335];function He(t,e){return new $e("unit out of range",`you specified ${e} (of type ${typeof e}) as a ${t}, which is invalid`)}s(He,"unitOutOfRange");function Ql(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(Ql,"dayOfWeek");function gg(t,e,r){return r+(ls(t)?Eg:hg)[e-1]}s(gg,"computeOrdinal");function yg(t,e){let r=ls(t)?Eg:hg,n=r.findIndex(o=>o<e),i=e-r[n];return{month:n+1,day:i}}s(yg,"uncomputeOrdinal");function jl(t,e){return(t-e+7)%7+1}s(jl,"isoWeekdayToLocal");function Ta(t,e=4,r=1){let{year:n,month:i,day:o}=t,a=gg(n,i,o),u=jl(Ql(n,i,o),r),c=Math.floor((a-u+14-e)/7),l;return c<1?(l=n-1,c=cs(l,e,r)):c>cs(n,e,r)?(l=n+1,c=1):l=n,{weekYear:l,weekNumber:c,weekday:u,...Da(t)}}s(Ta,"gregorianToWeek");function CE(t,e=4,r=1){let{weekYear:n,weekNumber:i,weekday:o}=t,a=jl(Ql(n,1,e),r),u=kn(n),c=i*7+o-a-7+e,l;c<1?(l=n-1,c+=kn(l)):c>u?(l=n+1,c-=kn(n)):l=n;let{month:d,day:f}=yg(l,c);return{year:l,month:d,day:f,...Da(t)}}s(CE,"weekToGregorian");function _l(t){let{year:e,month:r,day:n}=t,i=gg(e,r,n);return{year:e,ordinal:i,...Da(t)}}s(_l,"gregorianToOrdinal");function bE(t){let{year:e,ordinal:r}=t,{month:n,day:i}=yg(e,r);return{year:e,month:n,day:i,...Da(t)}}s(bE,"ordinalToGregorian");function xE(t,e){if(!Q(t.localWeekday)||!Q(t.localWeekNumber)||!Q(t.localWeekYear)){if(!Q(t.weekday)||!Q(t.weekNumber)||!Q(t.weekYear))throw new ir("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(xE,"usesLocalWeekValues");function Xw(t,e=4,r=1){let n=Oa(t.weekYear),i=ze(t.weekNumber,1,cs(t.weekYear,e,r)),o=ze(t.weekday,1,7);return n?i?o?!1:He("weekday",t.weekday):He("week",t.weekNumber):He("weekYear",t.weekYear)}s(Xw,"hasInvalidWeekData");function eD(t){let e=Oa(t.year),r=ze(t.ordinal,1,kn(t.year));return e?r?!1:He("ordinal",t.ordinal):He("year",t.year)}s(eD,"hasInvalidOrdinalData");function Tg(t){let e=Oa(t.year),r=ze(t.month,1,12),n=ze(t.day,1,Sa(t.year,t.month));return e?r?n?!1:He("day",t.day):He("month",t.month):He("year",t.year)}s(Tg,"hasInvalidGregorianData");function Sg(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:He("millisecond",i):He("second",n):He("minute",r):He("hour",e)}s(Sg,"hasInvalidTimeData");function Q(t){return typeof t>"u"}s(Q,"isUndefined");function sr(t){return typeof t=="number"}s(sr,"isNumber");function Oa(t){return typeof t=="number"&&t%1===0}s(Oa,"isInteger");function tD(t){return typeof t=="string"}s(tD,"isString");function rD(t){return Object.prototype.toString.call(t)==="[object Date]"}s(rD,"isDate");function Ag(){try{return typeof Intl<"u"&&!!Intl.RelativeTimeFormat}catch{return!1}}s(Ag,"hasRelative");function _g(){try{return typeof Intl<"u"&&!!Intl.Locale&&("weekInfo"in Intl.Locale.prototype||"getWeekInfo"in Intl.Locale.prototype)}catch{return!1}}s(_g,"hasLocaleWeekInfo");function nD(t){return Array.isArray(t)?t:[t]}s(nD,"maybeArray");function vE(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(vE,"bestBy");function iD(t,e){return e.reduce((r,n)=>(r[n]=t[n],r),{})}s(iD,"pick");function Fn(t,e){return Object.prototype.hasOwnProperty.call(t,e)}s(Fn,"hasOwnProperty");function Gl(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(Gl,"validateWeekSettings");function ze(t,e,r){return Oa(t)&&t>=e&&t<=r}s(ze,"integerBetween");function sD(t,e){return t-e*Math.floor(t/e)}s(sD,"floorMod");function pe(t,e=2){let r=t<0,n;return r?n="-"+(""+-t).padStart(e,"0"):n=(""+t).padStart(e,"0"),n}s(pe,"padStart");function rr(t){if(!(Q(t)||t===null||t===""))return parseInt(t,10)}s(rr,"parseInteger");function Vr(t){if(!(Q(t)||t===null||t===""))return parseFloat(t)}s(Vr,"parseFloating");function Yl(t){if(!(Q(t)||t===null||t==="")){let e=parseFloat("0."+t)*1e3;return Math.floor(e)}}s(Yl,"parseMillis");function Hl(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(Hl,"roundTo");function ls(t){return t%4===0&&(t%100!==0||t%400===0)}s(ls,"isLeapYear");function kn(t){return ls(t)?366:365}s(kn,"daysInYear");function Sa(t,e){let r=sD(e-1,12)+1,n=t+(e-r)/12;return r===2?ls(n)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][r-1]}s(Sa,"daysInMonth");function Ia(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(Ia,"objToLocalTS");function PE(t,e,r){return-jl(Ql(t,1,e),r)+e-1}s(PE,"firstWeekOffset");function cs(t,e=4,r=1){let n=PE(t,e,r),i=PE(t+1,e,r);return(kn(t)-n+i)/7}s(cs,"weeksInWeekYear");function Vl(t){return t>99?t:t>re.twoDigitCutoffYear?1900+t:2e3+t}s(Vl,"untruncateYear");function Og(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(Og,"parseZoneInfo");function wa(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(wa,"signedOffset");function Ig(t){let e=Number(t);if(typeof t=="boolean"||t===""||!Number.isFinite(e))throw new _e(`Invalid unit value ${t}`);return e}s(Ig,"asNumber");function Aa(t,e){let r={};for(let n in t)if(Fn(t,n)){let i=t[n];if(i==null)continue;r[e(n)]=Ig(i)}return r}s(Aa,"normalizeObject");function as(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}${pe(r,2)}:${pe(n,2)}`;case"narrow":return`${i}${r}${n>0?`:${n}`:""}`;case"techie":return`${i}${pe(r,2)}${pe(n,2)}`;default:throw new RangeError(`Value format ${e} is out of range for property format`)}}s(as,"formatOffset");function Da(t){return iD(t,["hour","minute","second","millisecond"])}s(Da,"timeObject");var oD=["January","February","March","April","May","June","July","August","September","October","November","December"],wg=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],aD=["J","F","M","A","M","J","J","A","S","O","N","D"];function Dg(t){switch(t){case"narrow":return[...aD];case"short":return[...wg];case"long":return[...oD];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(Dg,"months");var Rg=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],Cg=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],uD=["M","T","W","T","F","S","S"];function bg(t){switch(t){case"narrow":return[...uD];case"short":return[...Cg];case"long":return[...Rg];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}s(bg,"weekdays");var xg=["AM","PM"],cD=["Before Christ","Anno Domini"],lD=["BC","AD"],dD=["B","A"];function vg(t){switch(t){case"narrow":return[...dD];case"short":return[...lD];case"long":return[...cD];default:return null}}s(vg,"eras");function fD(t){return xg[t.hour<12?0:1]}s(fD,"meridiemForDateTime");function pD(t,e){return bg(e)[t.weekday-1]}s(pD,"weekdayForDateTime");function mD(t,e){return Dg(e)[t.month-1]}s(mD,"monthForDateTime");function hD(t,e){return vg(e)[t.year<0?0:1]}s(hD,"eraForDateTime");function ED(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(ED,"formatRelativeTime");function NE(t,e){let r="";for(let n of t)n.literal?r+=n.val:r+=e(n.val);return r}s(NE,"stringifyTokens");var gD={D:ga,DD:YE,DDD:HE,DDDD:zE,t:JE,tt:ZE,ttt:XE,tttt:eg,T:tg,TT:rg,TTT:ng,TTTT:ig,f:sg,ff:ag,fff:cg,ffff:dg,F:og,FF:ug,FFF:lg,FFFF:fg},We=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 gD[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 pe(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((h,m)=>this.loc.extract(e,h,m),"string"),a=s(h=>e.isOffsetFixed&&e.offset===0&&h.allowZ?"Z":e.isValid?e.zone.formatOffset(e.ts,h.format):"","formatOffset"),u=s(()=>n?fD(e):o({hour:"numeric",hourCycle:"h12"},"dayperiod"),"meridiem"),c=s((h,m)=>n?mD(e,h):o(m?{month:h}:{month:h,day:"numeric"},"month"),"month"),l=s((h,m)=>n?pD(e,h):o(m?{weekday:h}:{weekday:h,month:"long",day:"numeric"},"weekday"),"weekday"),d=s(h=>{let m=t.macroTokenToFormatOpts(h);return m?this.formatWithSystemDefault(e,m):h},"maybeMacro"),f=s(h=>n?hD(e,h):o({era:h},"era"),"era"),p=s(h=>{switch(h){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(h)}},"tokenToString");return NE(t.parseFormat(r),p)}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)=>p=>{let h=i(p);if(h){let m=f.isNegativeDuration&&h!==f.largestUnit?n:1,g;return this.opts.signMode==="negativeLargestOnly"&&h!==f.largestUnit?g="never":this.opts.signMode==="all"?g="always":g="auto",this.num(d.get(h)*m,p.length,g)}else return p},"tokenToString"),a=t.parseFormat(r),u=a.reduce((d,{literal:f,val:p})=>f?d:d.concat(p),[]),c=e.shiftTo(...u.map(i).filter(d=>d)),l={isNegativeDuration:c<0,largestUnit:Object.keys(c.values)[0]};return NE(a,o(c,l))}},Pg=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function Bn(...t){let e=t.reduce((r,n)=>r+n.source,"");return RegExp(`^${e}$`)}s(Bn,"combineRegexes");function Wn(...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(Wn,"combineExtractors");function $n(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($n,"parse");function Ng(...t){return(e,r)=>{let n={},i;for(i=0;i<t.length;i++)n[t[i]]=rr(e[r+i]);return[n,null,r+i]}}s(Ng,"simpleParse");var Ug=/(?:([Zz])|([+-]\d\d)(?::?(\d\d))?)/,yD=`(?:${Ug.source}?(?:\\[(${Pg.source})\\])?)?`,zl=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,Lg=RegExp(`${zl.source}${yD}`),Jl=RegExp(`(?:[Tt]${Lg.source})?`),TD=/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,SD=/(\d{4})-?W(\d\d)(?:-?(\d))?/,AD=/(\d{4})-?(\d{3})/,_D=Ng("weekYear","weekNumber","weekDay"),OD=Ng("year","ordinal"),ID=/(\d{4})-(\d\d)-(\d\d)/,kg=RegExp(`${zl.source} ?(?:${Ug.source}|(${Pg.source}))?`),wD=RegExp(`(?: ${kg.source})?`);function Mn(t,e,r){let n=t[e];return Q(n)?r:rr(n)}s(Mn,"int");function DD(t,e){return[{year:Mn(t,e),month:Mn(t,e+1,1),day:Mn(t,e+2,1)},null,e+3]}s(DD,"extractISOYmd");function Gn(t,e){return[{hours:Mn(t,e,0),minutes:Mn(t,e+1,0),seconds:Mn(t,e+2,0),milliseconds:Yl(t[e+3])},null,e+4]}s(Gn,"extractISOTime");function ds(t,e){let r=!t[e]&&!t[e+1],n=wa(t[e+1],t[e+2]),i=r?null:Ve.instance(n);return[{},i,e+3]}s(ds,"extractISOOffset");function fs(t,e){let r=t[e]?kt.create(t[e]):null;return[{},r,e+1]}s(fs,"extractIANAZone");var RD=RegExp(`^T?${zl.source}$`),CD=/^-?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 bD(t){let[e,r,n,i,o,a,u,c,l]=t,d=e[0]==="-",f=c&&c[0]==="-",p=s((h,m=!1)=>h!==void 0&&(m||h&&d)?-h:h,"maybeNegate");return[{years:p(Vr(r)),months:p(Vr(n)),weeks:p(Vr(i)),days:p(Vr(o)),hours:p(Vr(a)),minutes:p(Vr(u)),seconds:p(Vr(c),c==="-0"),milliseconds:p(Yl(l),f)}]}s(bD,"extractISODuration");var xD={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 Zl(t,e,r,n,i,o,a){let u={year:e.length===2?Vl(rr(e)):rr(e),month:wg.indexOf(r)+1,day:rr(n),hour:rr(i),minute:rr(o)};return a&&(u.second=rr(a)),t&&(u.weekday=t.length>3?Rg.indexOf(t)+1:Cg.indexOf(t)+1),u}s(Zl,"fromStrings");var vD=/^(?:(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 PD(t){let[,e,r,n,i,o,a,u,c,l,d,f]=t,p=Zl(e,i,n,r,o,a,u),h;return c?h=xD[c]:l?h=0:h=wa(d,f),[p,new Ve(h)]}s(PD,"extractRFC2822");function ND(t){return t.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}s(ND,"preprocessRFC2822");var UD=/^(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$/,LD=/^(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$/,kD=/^(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 UE(t){let[,e,r,n,i,o,a,u]=t;return[Zl(e,i,n,r,o,a,u),Ve.utcInstance]}s(UE,"extractRFC1123Or850");function MD(t){let[,e,r,n,i,o,a,u]=t;return[Zl(e,u,r,n,i,o,a),Ve.utcInstance]}s(MD,"extractASCII");var FD=Bn(TD,Jl),BD=Bn(SD,Jl),WD=Bn(AD,Jl),$D=Bn(Lg),Mg=Wn(DD,Gn,ds,fs),GD=Wn(_D,Gn,ds,fs),VD=Wn(OD,Gn,ds,fs),qD=Wn(Gn,ds,fs);function KD(t){return $n(t,[FD,Mg],[BD,GD],[WD,VD],[$D,qD])}s(KD,"parseISODate");function QD(t){return $n(ND(t),[vD,PD])}s(QD,"parseRFC2822Date");function jD(t){return $n(t,[UD,UE],[LD,UE],[kD,MD])}s(jD,"parseHTTPDate");function YD(t){return $n(t,[CD,bD])}s(YD,"parseISODuration");var HD=Wn(Gn);function zD(t){return $n(t,[RD,HD])}s(zD,"parseISOTimeOnly");var JD=Bn(ID,wD),ZD=Bn(kg),XD=Wn(Gn,ds,fs);function eR(t){return $n(t,[JD,Mg],[ZD,XD])}s(eR,"parseSQL");var LE="Invalid Duration",Fg={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}},tR={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},...Fg},Ye=146097/400,Nn=146097/4800,rR={years:{quarters:4,months:12,weeks:Ye/7,days:Ye,hours:Ye*24,minutes:Ye*24*60,seconds:Ye*24*60*60,milliseconds:Ye*24*60*60*1e3},quarters:{months:3,weeks:Ye/28,days:Ye/4,hours:Ye*24/4,minutes:Ye*24*60/4,seconds:Ye*24*60*60/4,milliseconds:Ye*24*60*60*1e3/4},months:{weeks:Nn/7,days:Nn,hours:Nn*24,minutes:Nn*24*60,seconds:Nn*24*60*60,milliseconds:Nn*24*60*60*1e3},...Fg},Kr=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],nR=Kr.slice(0).reverse();function Ut(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 ge(n)}s(Ut,"clone$1");function Bg(t,e){var r;let n=(r=e.milliseconds)!=null?r:0;for(let i of nR.slice(1))e[i]&&(n+=e[i]*t[i].milliseconds);return n}s(Bg,"durationToMillis");function kE(t,e){let r=Bg(t,e)<0?-1:1;Kr.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),Kr.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(kE,"normalizeValues");function ME(t){let e={};for(let[r,n]of Object.entries(t))n!==0&&(e[r]=n);return e}s(ME,"removeZeroes");var ge=class t{static{s(this,"Duration")}constructor(e){let r=e.conversionAccuracy==="longterm"||!1,n=r?rR:tR;e.matrix&&(n=e.matrix),this.values=e.values,this.loc=e.loc||ee.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:Aa(e,t.normalizeUnit),loc:ee.fromObject(r),conversionAccuracy:r.conversionAccuracy,matrix:r.matrix})}static fromDurationLike(e){if(sr(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]=YD(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]=zD(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 $e?e:new $e(e,r);if(re.throwOnInvalid)throw new xl(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 Ea(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?We.create(this.loc,n).formatDurationFromString(this,e):LE}toHuman(e={}){if(!this.isValid)return LE;let r=e.showZeros!==!1,n=Kr.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+=Hl(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?Bg(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 Kr)(Fn(r.values,i)||Fn(this.values,i))&&(n[i]=r.get(i)+this.get(i));return Ut(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]=Ig(e(this.values[n],n));return Ut(this,{values:r},!0)}get(e){return this[t.normalizeUnit(e)]}set(e){if(!this.isValid)return this;let r={...this.values,...Aa(e,t.normalizeUnit)};return Ut(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 Ut(this,a)}as(e){return this.isValid?this.shiftTo(e).get(e):NaN}normalize(){if(!this.isValid)return this;let e=this.toObject();return kE(this.matrix,e),Ut(this,{values:e},!0)}rescale(){if(!this.isValid)return this;let e=ME(this.normalize().shiftToAll().toObject());return Ut(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 Kr)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;sr(i[a])&&(u+=i[a]);let c=Math.trunc(u);r[a]=c,n[a]=(u*1e3-c*1e3)/1e3}else sr(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 kE(this.matrix,r),Ut(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 Ut(this,{values:e},!0)}removeZeros(){if(!this.isValid)return this;let e=ME(this.values);return Ut(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 Kr)if(!r(this.values[n],e.values[n]))return!1;return!0}},Un="Invalid Interval";function iR(t,e){return!t||!t.isValid?jr.invalid("missing or invalid start"):!e||!e.isValid?jr.invalid("missing or invalid end"):e<t?jr.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(iR,"validateStartEnd");var jr=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 $e?e:new $e(e,r);if(re.throwOnInvalid)throw new bl(n);return new t({invalid:n})}static fromDateTimes(e,r){let n=ns(e),i=ns(r),o=iR(n,i);return o??new t({start:n,end:i})}static after(e,r){let n=ge.fromDurationLike(r),i=ns(e);return t.fromDateTimes(i,i.plus(n))}static before(e,r){let n=ge.fromDurationLike(r),i=ns(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=ge.fromISO(i,r);if(l.isValid)return t.after(o,l)}else if(c){let l=ge.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(ns).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=ge.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()})`:Un}[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=ga,r={}){return this.isValid?We.create(this.s.loc.clone(r),e).formatInterval(this):Un}toISO(e){return this.isValid?`${this.s.toISO(e)}/${this.e.toISO(e)}`:Un}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:Un}toISOTime(e){return this.isValid?`${this.s.toISOTime(e)}/${this.e.toISOTime(e)}`:Un}toFormat(e,{separator:r=" \u2013 "}={}){return this.isValid?`${this.s.toFormat(e)}${r}${this.e.toFormat(e)}`:Un}toDuration(e,r){return this.isValid?this.e.diff(this.s,e,r):ge.invalid(this.invalidReason)}mapEndpoints(e){return t.fromDateTimes(e(this.s),e(this.e))}},Qr=class{static{s(this,"Info")}static hasDST(e=re.defaultZone){let r=oe.now().setZone(e).set({month:12});return!e.isUniversal&&r.offset!==r.set({month:6}).offset}static isValidIANAZone(e){return kt.isValidZone(e)}static normalizeZone(e){return nr(e,re.defaultZone)}static getStartOfWeek({locale:e=null,locObj:r=null}={}){return(r||ee.create(e)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:e=null,locObj:r=null}={}){return(r||ee.create(e)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:e=null,locObj:r=null}={}){return(r||ee.create(e)).getWeekendDays().slice()}static months(e="long",{locale:r=null,numberingSystem:n=null,locObj:i=null,outputCalendar:o="gregory"}={}){return(i||ee.create(r,n,o)).months(e)}static monthsFormat(e="long",{locale:r=null,numberingSystem:n=null,locObj:i=null,outputCalendar:o="gregory"}={}){return(i||ee.create(r,n,o)).months(e,!0)}static weekdays(e="long",{locale:r=null,numberingSystem:n=null,locObj:i=null}={}){return(i||ee.create(r,n,null)).weekdays(e)}static weekdaysFormat(e="long",{locale:r=null,numberingSystem:n=null,locObj:i=null}={}){return(i||ee.create(r,n,null)).weekdays(e,!0)}static meridiems({locale:e=null}={}){return ee.create(e).meridiems()}static eras(e="short",{locale:r=null}={}){return ee.create(r,null,"gregory").eras(e)}static features(){return{relative:Ag(),localeWeek:_g()}}};function FE(t,e){let r=s(i=>i.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),"utcDayStart"),n=r(e)-r(t);return Math.floor(ge.fromMillis(n).as("days"))}s(FE,"dayDiff");function sR(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=FE(c,l);return(d-d%7)/7}],["days",FE]],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(sR,"highOrderDiffs");function oR(t,e,r,n){let[i,o,a,u]=sR(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=ge.fromObject(o,n);return l.length>0?ge.fromMillis(c,n).shiftTo(...l).plus(d):d}s(oR,"diff");var aR="missing Intl.DateTimeFormat.formatToParts support";function X(t,e=r=>r){return{regex:t,deser:([r])=>e(Jw(r))}}s(X,"intUnit");var uR=String.fromCharCode(160),Wg=`[ ${uR}]`,$g=new RegExp(Wg,"g");function cR(t){return t.replace(/\./g,"\\.?").replace($g,Wg)}s(cR,"fixListRegex");function BE(t){return t.replace(/\./g,"").replace($g," ").toLowerCase()}s(BE,"stripInsensitivities");function ut(t,e){return t===null?null:{regex:RegExp(t.map(cR).join("|")),deser:([r])=>t.findIndex(n=>BE(r)===BE(n))+e}}s(ut,"oneOf");function WE(t,e){return{regex:t,deser:([,r,n])=>wa(r,n),groups:e}}s(WE,"offset");function la(t){return{regex:t,deser:([e])=>e}}s(la,"simple");function lR(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}s(lR,"escapeToken");function dR(t,e){let r=at(e),n=at(e,"{2}"),i=at(e,"{3}"),o=at(e,"{4}"),a=at(e,"{6}"),u=at(e,"{1,2}"),c=at(e,"{1,3}"),l=at(e,"{1,6}"),d=at(e,"{1,9}"),f=at(e,"{2,4}"),p=at(e,"{4,6}"),h=s(y=>({regex:RegExp(lR(y.val)),deser:([S])=>S,literal:!0}),"literal"),g=s(y=>{if(t.literal)return h(y);switch(y.val){case"G":return ut(e.eras("short"),0);case"GG":return ut(e.eras("long"),0);case"y":return X(l);case"yy":return X(f,Vl);case"yyyy":return X(o);case"yyyyy":return X(p);case"yyyyyy":return X(a);case"M":return X(u);case"MM":return X(n);case"MMM":return ut(e.months("short",!0),1);case"MMMM":return ut(e.months("long",!0),1);case"L":return X(u);case"LL":return X(n);case"LLL":return ut(e.months("short",!1),1);case"LLLL":return ut(e.months("long",!1),1);case"d":return X(u);case"dd":return X(n);case"o":return X(c);case"ooo":return X(i);case"HH":return X(n);case"H":return X(u);case"hh":return X(n);case"h":return X(u);case"mm":return X(n);case"m":return X(u);case"q":return X(u);case"qq":return X(n);case"s":return X(u);case"ss":return X(n);case"S":return X(c);case"SSS":return X(i);case"u":return la(d);case"uu":return la(u);case"uuu":return X(r);case"a":return ut(e.meridiems(),0);case"kkkk":return X(o);case"kk":return X(f,Vl);case"W":return X(u);case"WW":return X(n);case"E":case"c":return X(r);case"EEE":return ut(e.weekdays("short",!1),1);case"EEEE":return ut(e.weekdays("long",!1),1);case"ccc":return ut(e.weekdays("short",!0),1);case"cccc":return ut(e.weekdays("long",!0),1);case"Z":case"ZZ":return WE(new RegExp(`([+-]${u.source})(?::(${n.source}))?`),2);case"ZZZ":return WE(new RegExp(`([+-]${u.source})(${n.source})?`),2);case"z":return la(/[a-z_+-/]{1,256}?/i);case" ":return la(/[^\S\n\r]/);default:return h(y)}},"unitate")(t)||{invalidReason:aR};return g.token=t,g}s(dR,"unitForToken");var fR={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 pR(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=fR[a];if(typeof u=="object"&&(u=u[o]),u)return{literal:!1,val:u}}s(pR,"tokenForPart");function mR(t){return[`^${t.map(r=>r.regex).reduce((r,n)=>`${r}(${n.source})`,"")}$`,t]}s(mR,"buildRegex");function hR(t,e,r){let n=t.match(e);if(n){let i={},o=1;for(let a in r)if(Fn(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(hR,"match");function ER(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=kt.create(t.z)),Q(t.Z)||(r||(r=new Ve(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=Yl(t.u)),[Object.keys(t).reduce((o,a)=>{let u=e(a);return u&&(o[u]=t[a]),o},{}),r,n]}s(ER,"dateTimeFromMatches");var Ol=null;function gR(){return Ol||(Ol=oe.fromMillis(1555555555555)),Ol}s(gR,"getDummyDateTime");function yR(t,e){if(t.literal)return t;let r=We.macroTokenToFormatOpts(t.val),n=qg(r,e);return n==null||n.includes(void 0)?t:n}s(yR,"maybeExpandMacroToken");function Gg(t,e){return Array.prototype.concat(...t.map(r=>yR(r,e)))}s(Gg,"expandMacroTokens");var _a=class{static{s(this,"TokenParser")}constructor(e,r){if(this.locale=e,this.format=r,this.tokens=Gg(We.parseFormat(r),e),this.units=this.tokens.map(n=>dR(n,e)),this.disqualifyingUnit=this.units.find(n=>n.invalidReason),!this.disqualifyingUnit){let[n,i]=mR(this.units);this.regex=RegExp(n,"i"),this.handlers=i}}explainFromTokens(e){if(this.isValid){let[r,n]=hR(e,this.regex,this.handlers),[i,o,a]=n?ER(n):[null,null,void 0];if(Fn(n,"a")&&Fn(n,"H"))throw new ir("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 Vg(t,e,r){return new _a(t,r).explainFromTokens(e)}s(Vg,"explainFromTokens");function TR(t,e,r){let{result:n,zone:i,specificOffset:o,invalidReason:a}=Vg(t,e,r);return[n,i,o,a]}s(TR,"parseFromTokens");function qg(t,e){if(!t)return null;let n=We.create(e,t).dtFormatter(gR()),i=n.formatToParts(),o=n.resolvedOptions();return i.map(a=>pR(a,t,o))}s(qg,"formatOptsToTokens");var Il="Invalid DateTime",$E=864e13;function ss(t){return new $e("unsupported zone",`the zone "${t.name}" is not supported`)}s(ss,"unsupportedZone");function wl(t){return t.weekData===null&&(t.weekData=Ta(t.c)),t.weekData}s(wl,"possiblyCachedWeekData");function Dl(t){return t.localWeekData===null&&(t.localWeekData=Ta(t.c,t.loc.getMinDaysInFirstWeek(),t.loc.getStartOfWeek())),t.localWeekData}s(Dl,"possiblyCachedLocalWeekData");function qr(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(qr,"clone");function Kg(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(Kg,"fixOffset");function da(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(da,"tsToObj");function pa(t,e,r){return Kg(Ia(t),e,r)}s(pa,"objToTS");function GE(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,Sa(n,i))+Math.trunc(e.days)+Math.trunc(e.weeks)*7},a=ge.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=Ia(o),[c,l]=Kg(u,r,t.zone);return a!==0&&(c+=a,l=t.zone.offset(c)),{ts:c,o:l}}s(GE,"adjustTime");function Ln(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 $e("unparsable",`the input "${i}" can't be parsed as ${n}`))}s(Ln,"parseDataToDateTime");function fa(t,e,r=!0){return t.isValid?We.create(ee.create("en-US"),{allowZ:r,forceSimple:!0}).formatDateTimeFromString(t,e):null}s(fa,"toTechFormat");function Rl(t,e,r){let n=t.c.year>9999||t.c.year<0,i="";if(n&&t.c.year>=0&&(i+="+"),i+=pe(t.c.year,n?6:4),r==="year")return i;if(e){if(i+="-",i+=pe(t.c.month),r==="month")return i;i+="-"}else if(i+=pe(t.c.month),r==="month")return i;return i+=pe(t.c.day),i}s(Rl,"toISODate");function VE(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+=pe(t.c.hour),a==="hour")break;if(e){if(c+=":",c+=pe(t.c.minute),a==="minute")break;u&&(c+=":",c+=pe(t.c.second))}else{if(c+=pe(t.c.minute),a==="minute")break;u&&(c+=pe(t.c.second))}if(a==="second")break;u&&(!n||t.c.millisecond!==0)&&(c+=".",c+=pe(t.c.millisecond,3))}return i&&(t.isOffsetFixed&&t.offset===0&&!o?c+="Z":t.o<0?(c+="-",c+=pe(Math.trunc(-t.o/60)),c+=":",c+=pe(Math.trunc(-t.o%60))):(c+="+",c+=pe(Math.trunc(t.o/60)),c+=":",c+=pe(Math.trunc(t.o%60)))),o&&(c+="["+t.zone.ianaName+"]"),c}s(VE,"toISOTime");var Qg={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},SR={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},AR={ordinal:1,hour:0,minute:0,second:0,millisecond:0},ma=["year","month","day","hour","minute","second","millisecond"],_R=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],OR=["year","ordinal","hour","minute","second","millisecond"];function ha(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 Ea(t);return e}s(ha,"normalizeUnit");function qE(t){switch(t.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return ha(t)}}s(qE,"normalizeUnitWithLocalWeeks");function IR(t){if(os===void 0&&(os=re.now()),t.type!=="iana")return t.offset(os);let e=t.name,r=ql.get(e);return r===void 0&&(r=t.offset(os),ql.set(e,r)),r}s(IR,"guessOffsetForZone");function KE(t,e){let r=nr(e.zone,re.defaultZone);if(!r.isValid)return oe.invalid(ss(r));let n=ee.fromObject(e),i,o;if(Q(t.year))i=re.now();else{for(let c of ma)Q(t[c])&&(t[c]=Qg[c]);let a=Tg(t)||Sg(t);if(a)return oe.invalid(a);let u=IR(r);[i,o]=pa(t,u,r)}return new oe({ts:i,zone:r,loc:n,o})}s(KE,"quickDT");function QE(t,e,r){let n=Q(r.round)?!0:r.round,i=Q(r.rounding)?"trunc":r.rounding,o=s((u,c)=>(u=Hl(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(QE,"diffRelative");function jE(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(jE,"lastOpts");var os,ql=new Map,oe=class t{static{s(this,"DateTime")}constructor(e){let r=e.zone||re.defaultZone,n=e.invalid||(Number.isNaN(e.ts)?new $e("invalid input"):null)||(r.isValid?null:ss(r));this.ts=Q(e.ts)?re.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=sr(e.o)&&!e.old?e.o:r.offset(this.ts);i=da(this.ts,u),n=Number.isNaN(i.year)?new $e("invalid input"):null,i=n?null:i,o=n?null:u}this._zone=r,this.loc=e.loc||ee.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]=jE(arguments),[n,i,o,a,u,c,l]=r;return KE({year:n,month:i,day:o,hour:a,minute:u,second:c,millisecond:l},e)}static utc(){let[e,r]=jE(arguments),[n,i,o,a,u,c,l]=r;return e.zone=Ve.utcInstance,KE({year:n,month:i,day:o,hour:a,minute:u,second:c,millisecond:l},e)}static fromJSDate(e,r={}){let n=rD(e)?e.valueOf():NaN;if(Number.isNaN(n))return t.invalid("invalid input");let i=nr(r.zone,re.defaultZone);return i.isValid?new t({ts:n,zone:i,loc:ee.fromObject(r)}):t.invalid(ss(i))}static fromMillis(e,r={}){if(sr(e))return e<-$E||e>$E?t.invalid("Timestamp out of range"):new t({ts:e,zone:nr(r.zone,re.defaultZone),loc:ee.fromObject(r)});throw new _e(`fromMillis requires a numerical input, but received a ${typeof e} with value ${e}`)}static fromSeconds(e,r={}){if(sr(e))return new t({ts:e*1e3,zone:nr(r.zone,re.defaultZone),loc:ee.fromObject(r)});throw new _e("fromSeconds requires a numerical input")}static fromObject(e,r={}){e=e||{};let n=nr(r.zone,re.defaultZone);if(!n.isValid)return t.invalid(ss(n));let i=ee.fromObject(r),o=Aa(e,qE),{minDaysInFirstWeek:a,startOfWeek:u}=xE(o,i),c=re.now(),l=Q(r.specificOffset)?n.offset(c):r.specificOffset,d=!Q(o.ordinal),f=!Q(o.year),p=!Q(o.month)||!Q(o.day),h=f||p,m=o.weekYear||o.weekNumber;if((h||d)&&m)throw new ir("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(p&&d)throw new ir("Can't mix ordinal dates with month/day");let g=m||o.weekday&&!h,y,S,O=da(c,l);g?(y=_R,S=SR,O=Ta(O,a,u)):d?(y=OR,S=AR,O=_l(O)):(y=ma,S=Qg);let _=!1;for(let Y of y){let Rt=o[Y];Q(Rt)?_?o[Y]=S[Y]:o[Y]=O[Y]:_=!0}let D=g?Xw(o,a,u):d?eD(o):Tg(o),T=D||Sg(o);if(T)return t.invalid(T);let I=g?CE(o,a,u):d?bE(o):o,[M,P]=pa(I,l,n),k=new t({ts:M,zone:n,o:P,loc:i});return o.weekday&&h&&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]=KD(e);return Ln(n,i,r,"ISO 8601",e)}static fromRFC2822(e,r={}){let[n,i]=QD(e);return Ln(n,i,r,"RFC 2822",e)}static fromHTTP(e,r={}){let[n,i]=jD(e);return Ln(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=ee.fromOpts({locale:i,numberingSystem:o,defaultToEN:!0}),[u,c,l,d]=TR(a,e,r);return d?t.invalid(d):Ln(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]=eR(e);return Ln(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 $e?e:new $e(e,r);if(re.throwOnInvalid)throw new Cl(n);return new t({invalid:n})}static isDateTime(e){return e&&e.isLuxonDateTime||!1}static parseFormatForOpts(e,r={}){let n=qg(e,ee.fromObject(r));return n?n.map(i=>i?i.val:null).join(""):null}static expandFormat(e,r={}){return Gg(We.parseFormat(e),ee.fromObject(r)).map(i=>i.val).join("")}static resetCache(){os=void 0,ql.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?wl(this).weekYear:NaN}get weekNumber(){return this.isValid?wl(this).weekNumber:NaN}get weekday(){return this.isValid?wl(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?Dl(this).weekday:NaN}get localWeekNumber(){return this.isValid?Dl(this).weekNumber:NaN}get localWeekYear(){return this.isValid?Dl(this).weekYear:NaN}get ordinal(){return this.isValid?_l(this.c).ordinal:NaN}get monthShort(){return this.isValid?Qr.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?Qr.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?Qr.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?Qr.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=Ia(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=da(c,a),f=da(l,u);return d.hour===f.hour&&d.minute===f.minute&&d.second===f.second&&d.millisecond===f.millisecond?[qr(this,{ts:c}),qr(this,{ts:l})]:[this]}get isInLeapYear(){return ls(this.year)}get daysInMonth(){return Sa(this.year,this.month)}get daysInYear(){return this.isValid?kn(this.year):NaN}get weeksInWeekYear(){return this.isValid?cs(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?cs(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(e={}){let{locale:r,numberingSystem:n,calendar:i}=We.create(this.loc.clone(e),e).resolvedOptions(this);return{locale:r,numberingSystem:n,outputCalendar:i}}toUTC(e=0,r={}){return this.setZone(Ve.instance(e),r)}toLocal(){return this.setZone(re.defaultZone)}setZone(e,{keepLocalTime:r=!1,keepCalendarTime:n=!1}={}){if(e=nr(e,re.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]=pa(a,o,e)}return qr(this,{ts:i,zone:e})}else return t.invalid(ss(e))}reconfigure({locale:e,numberingSystem:r,outputCalendar:n}={}){let i=this.loc.clone({locale:e,numberingSystem:r,outputCalendar:n});return qr(this,{loc:i})}setLocale(e){return this.reconfigure({locale:e})}set(e){if(!this.isValid)return this;let r=Aa(e,qE),{minDaysInFirstWeek:n,startOfWeek:i}=xE(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 ir("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(c&&a)throw new ir("Can't mix ordinal dates with month/day");let f;o?f=CE({...Ta(this.c,n,i),...r},n,i):Q(r.ordinal)?(f={...this.toObject(),...r},Q(r.day)&&(f.day=Math.min(Sa(f.year,f.month),f.day))):f=bE({..._l(this.c),...r});let[p,h]=pa(f,this.o,this.zone);return qr(this,{ts:p,o:h})}plus(e){if(!this.isValid)return this;let r=ge.fromDurationLike(e);return qr(this,GE(this,r))}minus(e){if(!this.isValid)return this;let r=ge.fromDurationLike(e).negate();return qr(this,GE(this,r))}startOf(e,{useLocaleWeeks:r=!1}={}){if(!this.isValid)return this;let n={},i=ge.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?We.create(this.loc.redefaultToEN(r)).formatDateTimeFromString(this,e):Il}toLocaleString(e=ga,r={}){return this.isValid?We.create(this.loc.clone(r),e).formatDateTime(this):Il}toLocaleParts(e={}){return this.isValid?We.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=ha(a);let u=e==="extended",c=Rl(this,u,a);return ma.indexOf(a)>=3&&(c+="T"),c+=VE(this,u,r,n,i,o,a),c}toISODate({format:e="extended",precision:r="day"}={}){return this.isValid?Rl(this,e==="extended",ha(r)):null}toISOWeekDate(){return fa(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=ha(u),(i&&ma.indexOf(u)>=3?"T":"")+VE(this,a==="extended",r,e,n,o,u)):null}toRFC2822(){return fa(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return fa(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){return this.isValid?Rl(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")),fa(this,i,!0)}toSQL(e={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(e)}`:null}toString(){return this.isValid?this.toISO():Il}[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 ge.invalid("created by diffing an invalid DateTime");let i={locale:this.locale,numberingSystem:this.numberingSystem,...n},o=nD(r).map(ge.normalizeUnit),a=e.valueOf()>this.valueOf(),u=a?this:e,c=a?e:this,l=oR(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?jr.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),QE(r,this.plus(n),{...e,numeric:"always",units:i,unit:o})}toRelativeCalendar(e={}){return this.isValid?QE(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 vE(e,r=>r.valueOf(),Math.min)}static max(...e){if(!e.every(t.isDateTime))throw new _e("max requires all arguments be DateTimes");return vE(e,r=>r.valueOf(),Math.max)}static fromFormatExplain(e,r,n={}){let{locale:i=null,numberingSystem:o=null}=n,a=ee.fromOpts({locale:i,numberingSystem:o,defaultToEN:!0});return Vg(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=ee.fromOpts({locale:n,numberingSystem:i,defaultToEN:!0});return new _a(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=ee.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):Ln(u,c,n,`format ${r.format}`,e,l)}static get DATE_SHORT(){return ga}static get DATE_MED(){return YE}static get DATE_MED_WITH_WEEKDAY(){return Uw}static get DATE_FULL(){return HE}static get DATE_HUGE(){return zE}static get TIME_SIMPLE(){return JE}static get TIME_WITH_SECONDS(){return ZE}static get TIME_WITH_SHORT_OFFSET(){return XE}static get TIME_WITH_LONG_OFFSET(){return eg}static get TIME_24_SIMPLE(){return tg}static get TIME_24_WITH_SECONDS(){return rg}static get TIME_24_WITH_SHORT_OFFSET(){return ng}static get TIME_24_WITH_LONG_OFFSET(){return ig}static get DATETIME_SHORT(){return sg}static get DATETIME_SHORT_WITH_SECONDS(){return og}static get DATETIME_MED(){return ag}static get DATETIME_MED_WITH_SECONDS(){return ug}static get DATETIME_MED_WITH_WEEKDAY(){return Lw}static get DATETIME_FULL(){return cg}static get DATETIME_FULL_WITH_SECONDS(){return lg}static get DATETIME_HUGE(){return dg}static get DATETIME_HUGE_WITH_SECONDS(){return fg}};function ns(t){if(oe.isDateTime(t))return t;if(t&&t.valueOf&&sr(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(ns,"friendlyDateTime");var wR="3.7.1";qe.DateTime=oe;qe.Duration=ge;qe.FixedOffsetZone=Ve;qe.IANAZone=kt;qe.Info=Qr;qe.Interval=jr;qe.InvalidZone=ya;qe.Settings=re;qe.SystemZone=us;qe.VERSION=wR;qe.Zone=or});var Hg=q((nF,Yg)=>{"use strict";var Yr=jg();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=Yr.DateTime.fromJSDate(t,r):typeof t=="number"?this._date=Yr.DateTime.fromMillis(t,r):typeof t=="string"&&(this._date=Yr.DateTime.fromISO(t,r),this._date.isValid||(this._date=Yr.DateTime.fromRFC2822(t,r)),this._date.isValid||(this._date=Yr.DateTime.fromSQL(t,r)),this._date.isValid||(this._date=Yr.DateTime.fromFormat(t,"EEE, d MMM yyyy HH:mm:ss",r))):this._date=Yr.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");Yg.exports=j});var Zg=q((sF,Jg)=>{"use strict";function Hr(t){return{start:t,count:1}}s(Hr,"buildRange");function zg(t,e){t.end=e,t.step=e-t.start,t.count=2}s(zg,"completeRangeWithItem");function Xl(t,e,r){e&&(e.count===2?(t.push(Hr(e.start)),t.push(Hr(e.end))):t.push(e)),r&&t.push(r)}s(Xl,"finalizeCurrentRange");function DR(t){for(var e=[],r=void 0,n=0;n<t.length;n++){var i=t[n];typeof i!="number"?(Xl(e,r,Hr(i)),r=void 0):r?r.count===1?zg(r,i):r.step===i-r.end?(r.count++,r.end=i):r.count===2?(e.push(Hr(r.start)),r=Hr(r.end),zg(r,i)):(Xl(e,r),r=Hr(i)):r=Hr(i)}return Xl(e,r),e}s(DR,"compactField");Jg.exports=DR});var ey=q((aF,Xg)=>{"use strict";var RR=Zg();function CR(t,e,r){var n=RR(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(p,h){var m=l.start+h;return(m-l.start)%l.step===0?m:null}).filter(function(p){return p!=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(CR,"stringifyField");Xg.exports=CR});var ny=q((cF,ry)=>{"use strict";var zr=Hg(),bR=ey(),ty=1e4;function U(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=U._freezeFields(t)}s(U,"CronExpression");U.map=["second","minute","hour","dayOfMonth","month","dayOfWeek"];U.predefined={"@yearly":"0 0 1 1 *","@monthly":"0 0 1 * *","@weekly":"0 0 * * 0","@daily":"0 0 * * *","@hourly":"0 * * * *"};U.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"]}];U.daysInMonth=[31,29,31,30,31,30,31,31,30,31,30,31];U.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}};U.parseDefaults=["0","*","*","*","*","*"];U.standardValidCharacters=/^[,*\d/-]+$/;U.dayOfWeekValidCharacters=/^[?,*\dL#/-]+$/;U.dayOfMonthValidCharacters=/^[?,*\dL/-]+$/;U.validCharacters={second:U.standardValidCharacters,minute:U.standardValidCharacters,hour:U.standardValidCharacters,dayOfMonth:U.dayOfMonthValidCharacters,month:U.standardValidCharacters,dayOfWeek:U.dayOfWeekValidCharacters};U._isValidConstraintChar=s(function(e,r){return typeof r!="string"?!1:e.chars.some(function(n){return r.indexOf(n)>-1})},"_isValidConstraintChar");U._parseField=s(function(e,r,n){switch(e){case"month":case"dayOfWeek":var i=U.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(!U.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(m){if(m instanceof Array)for(var g=0,y=m.length;g<y;g++){var S=m[g];if(U._isValidConstraintChar(n,S)){l.push(S);continue}if(typeof S!="number"||Number.isNaN(S)||S<n.min||S>n.max)throw new Error("Constraint error, got value "+S+" expected range "+n.min+"-"+n.max);l.push(S)}else{if(U._isValidConstraintChar(n,m)){l.push(m);return}var O=+m;if(Number.isNaN(O)||O<n.min||O>n.max)throw new Error("Constraint error, got value "+m+" expected range "+n.min+"-"+n.max);e==="dayOfWeek"&&(O=O%7),l.push(O)}}s(d,"handleResult");var f=c.split(",");if(!f.every(function(m){return m.length>0}))throw new Error("Invalid list value format");if(f.length>1)for(var p=0,h=f.length;p<h;p++)d(a(f[p]));else d(a(c));return l.sort(U._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 p=+f[0],h=+f[1];if(Number.isNaN(p)||Number.isNaN(h)||p<n.min||h>n.max)throw new Error("Constraint error, got range "+p+"-"+h+" expected range "+n.min+"-"+n.max);if(p>h)throw new Error("Invalid range: "+c);var m=+l;if(Number.isNaN(m)||m<=0)throw new Error("Constraint error, cannot repeat at every "+m+" time.");e==="dayOfWeek"&&h%7===0&&d.push(0);for(var g=p,y=h;g<=y;g++){var S=d.indexOf(g)!==-1;!S&&m>0&&m%l===0?(m=1,d.push(g)):m++}return d}return Number.isNaN(+c)?c:+c}return s(u,"parseRange"),o(r)},"_parseField");U._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)};U._handleMaxDaysInMonth=function(t){if(t.month.length===1){var e=U.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(U._sortCompareFn)}};U._freezeFields=function(t){for(var e=0,r=U.map.length;e<r;++e){var n=U.map[e],i=t[n];t[n]=Object.freeze(i)}return Object.freeze(t)};U.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)}};U.prototype._findSchedule=s(function(e){function r(S,O){for(var _=0,D=O.length;_<D;_++)if(O[_]>=S)return O[_]===S;return O[0]===S}s(r,"matchSchedule");function n(S,O){if(O<6){if(S.getDate()<8&&O===1)return!0;var _=S.getDate()%7?1:0,D=S.getDate()-S.getDate()%7,T=Math.floor(D/7)+_;return T===O}return!1}s(n,"isNthDayMatch");function i(S){return S.length>0&&S.some(function(O){return typeof O=="string"&&O.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(S){return S.some(function(O){if(!i([O]))return!1;var _=Number.parseInt(O[0])%7;if(Number.isNaN(_))throw new Error("Invalid last weekday of the month expression: "+O);return a.getDay()===_&&a.isLastWeekdayOfMonth()})}for(s(f,"isLastWeekdayOfMonthMatch");d<ty;){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 p=r(a.getDate(),this.fields.dayOfMonth);i(this.fields.dayOfMonth)&&(p=p||a.isLastDayOfMonth());var h=r(a.getDay(),this.fields.dayOfWeek);i(this.fields.dayOfWeek)&&(h=h||f(this.fields.dayOfWeek));var m=this.fields.dayOfMonth.length>=U.daysInMonth[a.getMonth()],g=this.fields.dayOfWeek.length===U.constraints[5].max-U.constraints[5].min+1,y=a.getHours();if(!p&&(!h||g)){this._applyTimezoneShift(a,o,"Day");continue}if(!m&&g&&!p){this._applyTimezoneShift(a,o,"Day");continue}if(m&&!g&&!h){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(y,this.fields.hour)){if(this._dstEnd===y&&!e){this._dstEnd=null,this._applyTimezoneShift(a,"add","Hour");continue}}else if(this._dstStart!==y){this._dstStart=null,this._applyTimezoneShift(a,o,"Hour");continue}else if(!r(y-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>=ty)throw new Error("Invalid expression, loop limit exceeded");return this._currentDate=new zr(a,this._tz),this._hasIterated=!0,a},"_findSchedule");U.prototype.next=s(function(){var e=this._findSchedule();return this._isIterator?{value:e,done:!this.hasNext()}:e},"next");U.prototype.prev=s(function(){var e=this._findSchedule(!0);return this._isIterator?{value:e,done:!this.hasPrev()}:e},"prev");U.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}};U.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}};U.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");U.prototype.reset=s(function(e){this._currentDate=new zr(e||this._options.currentDate)},"reset");U.prototype.stringify=s(function(e){for(var r=[],n=e?0:1,i=U.map.length;n<i;++n){var o=U.map[n],a=this.fields[o],u=U.constraints[n];o==="dayOfMonth"&&this.fields.month.length===1?u={min:1,max:U.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(bR(a,u.min,u.max))}return r.join(" ")},"stringify");U.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)),U.predefined[o]&&(o=U.predefined[o]);var u=[],c=(o+"").trim().split(/\s+/);if(c.length>6)throw new Error("Invalid cron expression");for(var l=U.map.length-c.length,d=0,f=U.map.length;d<f;++d){var p=U.map[d],h=c[c.length>f?d:d-l];if(d<l||!h)u.push(U._parseField(p,U.parseDefaults[d],U.constraints[d]));else{var m=p==="dayOfWeek"?O(h):h;u.push(U._parseField(p,m,U.constraints[d]))}}for(var g={},d=0,f=U.map.length;d<f;d++){var y=U.map[d];g[y]=u[d]}var S=U._handleMaxDaysInMonth(g);return g.dayOfMonth=S||g.dayOfMonth,new U(g,a);function O(_){var D=_.split("#");if(D.length>1){var T=+D[D.length-1];if(/,/.test(_))throw new Error("Constraint error, invalid dayOfWeek `#` and `,` special characters are incompatible");if(/\//.test(_))throw new Error("Constraint error, invalid dayOfWeek `#` and `/` special characters are incompatible");if(/-/.test(_))throw new Error("Constraint error, invalid dayOfWeek `#` and `-` special characters are incompatible");if(D.length>2||Number.isNaN(T)||T<1||T>5)throw new Error("Constraint error, invalid dayOfWeek occurrence number (#)");return a.nthDayOfWeek=T,D[0]}return _}s(O,"parseNthDay")}return s(i,"parse"),i(e,r)},"parse");U.fieldsToExpression=s(function(e,r){function n(p,h,m){if(!h)throw new Error("Validation error, Field "+p+" is missing");if(h.length===0)throw new Error("Validation error, Field "+p+" contains no values");for(var g=0,y=h.length;g<y;g++){var S=h[g];if(!U._isValidConstraintChar(m,S)&&(typeof S!="number"||Number.isNaN(S)||S<m.min||S>m.max))throw new Error("Constraint error, got value "+S+" expected range "+m.min+"-"+m.max)}}s(n,"validateConstraints");for(var i={},o=0,a=U.map.length;o<a;++o){var u=U.map[o],c=e[u];n(u,c,U.constraints[o]);for(var l=[],d=-1;++d<c.length;)l[d]=c[d];if(c=l.sort(U._sortCompareFn).filter(function(p,h,m){return!h||p!==m[h-1]}),c.length!==l.length)throw new Error("Validation error, Field "+u+" contains duplicate values");i[u]=c}var f=U._handleMaxDaysInMonth(i);return i.dayOfMonth=f||i.dayOfMonth,new U(i,r||{})},"fieldsToExpression");ry.exports=U});var sy=q((dF,iy)=>{"use strict";var Ra=ny();function ar(){}s(ar,"CronParser");ar._parseEntry=s(function(e){var r=e.split(" ");if(r.length===6)return{interval:Ra.parse(e)};if(r.length>6)return{interval:Ra.parse(r.slice(0,6).join(" ")),command:r.slice(6,r.length)};throw new Error("Invalid entry: "+e)},"_parseEntry");ar.parseExpression=s(function(e,r){return Ra.parse(e,r)},"parseExpression");ar.fieldsToExpression=s(function(e,r){return Ra.fieldsToExpression(e,r)},"fieldsToExpression");ar.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=ar._parseEntry("0 "+c),n.expressions.push(l.interval)}catch(d){n.errors[c]=d}}}}return n},"parseString");ar.parseFile=s(function(e,r){require("fs").readFile(e,function(n,i){if(n){r(n);return}return r(null,ar.parseString(i.toString()))})},"parseFile");iy.exports=ar});var D0={};N(D0,{AutomationViewMode:()=>Ua,BUDIBASE_DATASOURCE_TYPE:()=>Sd,BadRequestError:()=>bu,BudibaseError:()=>ui,Config:()=>Dd,Cookie:()=>Jr,DEFAULT_BB_DATASOURCE_ID:()=>Dn,DEFAULT_EMPLOYEE_TABLE_ID:()=>Id,DEFAULT_EXPENSES_TABLE_ID:()=>Od,DEFAULT_INVENTORY_TABLE_ID:()=>_d,DEFAULT_JOBS_TABLE_ID:()=>Ad,DEFAULT_TENANT_ID:()=>ae,DeprecatedViews:()=>qn,DesignDocuments:()=>Ts,DocumentType:()=>ce,Duration:()=>he,DurationType:()=>bf,EmailUnavailableError:()=>Qt,Endpoint:()=>_c,EndpointGroup:()=>On,EndpointGroupList:()=>Lo,FeatureDisabledError:()=>Nu,ForbiddenError:()=>xu,GlobalRole:()=>wd,HTTPError:()=>we,Header:()=>Fe,InternalTable:()=>Ct,InvalidAPIKeyError:()=>ci,MAX_VALID_DATE:()=>Ma,MIN_VALID_DATE:()=>Sy,NotFoundError:()=>Cu,NotImplementedError:()=>vu,RedisClient:()=>Ce,SEPARATOR:()=>b,SQLITE_DESIGN_DOC_ID:()=>Ot,SQS_DATASOURCE_INTERNAL:()=>Td,StaticDatabases:()=>fe,UNICODE_MAX:()=>ve,USER_METADATA_PREFIX:()=>ys,UnexpectedError:()=>Ru,UsageLimitError:()=>Pu,UserStatus:()=>ka,ViewName:()=>cr,WORKSPACE_DEV:()=>La,WORKSPACE_DEV_PREFIX:()=>Ze,WORKSPACE_PREFIX:()=>Je,accounts:()=>mn,auth:()=>lm,blacklist:()=>mm,cache:()=>Io,configs:()=>qt,constants:()=>Rd,context:()=>ue,csv:()=>Dm,db:()=>hr,docIds:()=>gf,docUpdates:()=>Em,encryption:()=>im,env:()=>E,errors:()=>Lu,events:()=>fi,features:()=>Su,getPublicError:()=>Uu,init:()=>w0,installation:()=>Wu,locks:()=>yi,logging:()=>no,middleware:()=>cm,objectStore:()=>Hf,permissions:()=>Zp,platform:()=>ao,plugins:()=>fm,queue:()=>tp,redis:()=>pm,roles:()=>Jp,security:()=>pp,sessions:()=>ku,setEnv:()=>As,sql:()=>wm,tenancy:()=>I0,timers:()=>uu,userUtils:()=>Rp,users:()=>mi,utils:()=>ei,withEnv:()=>wy});module.exports=O_(D0);var qt={};N(qt,{analyticsEnabled:()=>Bu,generateConfigID:()=>Xu,getAIConfig:()=>YU,getConfig:()=>rt,getDefaultGoogleConfig:()=>Mp,getGoogleConfig:()=>ec,getGoogleDatasourceConfig:()=>Wp,getOIDCConfig:()=>KU,getOIDCConfigById:()=>$p,getOIDCLogosDoc:()=>VU,getPlatformUrl:()=>bo,getRecaptchaConfig:()=>HU,getSCIMConfig:()=>jU,getSMTPConfig:()=>QU,getSMTPConfigDoc:()=>SA,getSettingsConfig:()=>Bp,getSettingsConfigDoc:()=>ni,save:()=>$U});var I_=["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"],w_=["automation:deleted","workspace_app:deleted","datasource:deleted","table:deleted","query:deleted","view:deleted"],bm=[...I_,...w_],xm={"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};var Oc=(n=>(n.SQL="sql",n.JSON="json",n.FIELDS="fields",n))(Oc||{}),Ic=(p=>(p.STRING="string",p.CODE="code",p.LONGFORM="longForm",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))(Ic||{}),Mo=(S=>(S.AIRTABLE="AIRTABLE",S.ARANGODB="ARANGODB",S.BUDIBASE="BUDIBASE",S.COUCHDB="COUCHDB",S.DYNAMODB="DYNAMODB",S.ELASTICSEARCH="ELASTICSEARCH",S.FIRESTORE="FIRESTORE",S.GOOGLE_SHEETS="GOOGLE_SHEETS",S.MONGODB="MONGODB",S.MYSQL="MYSQL",S.ORACLE="ORACLE",S.POSTGRES="POSTGRES",S.REDIS="REDIS",S.REST="REST",S.S3="S3",S.SNOWFLAKE="SNOWFLAKE",S.SQL_SERVER="SQL_SERVER",S))(Mo||{});var wc=(n=>(n.CONNECTION_CHECKING="connection",n.FETCH_TABLE_NAMES="fetch_table_names",n.EXPORT_SCHEMA="export_schema",n))(wc||{});var D_=F(require("lodash/isPlainObject"));var Nr=(a=>(a.EQUAL="equal",a.NOT_EQUAL="notEqual",a.EMPTY="empty",a.NOT_EMPTY="notEmpty",a.FUZZY="fuzzy",a.STRING="string",a))(Nr||{}),Xt=(i=>(i.CONTAINS="contains",i.NOT_CONTAINS="notContains",i.CONTAINS_ANY="containsAny",i.ONE_OF="oneOf",i))(Xt||{}),wn=(e=>(e.RANGE="range",e))(wn||{}),Oi=(r=>(r.AND="$and",r.OR="$or",r))(Oi||{});function Fo(t){return Object.values(Oi).includes(t)}s(Fo,"isLogicalSearchOperator");function vm(t){return Object.values(Nr).includes(t)}s(vm,"isBasicSearchOperator");function Pm(t){return Object.values(Xt).includes(t)}s(Pm,"isArraySearchOperator");function Bo(t){return Object.values(wn).includes(t)}s(Bo,"isRangeSearchOperator");var Nm=s(t=>typeof t=="object"&&t._id&&t._rev,"isDocument");var Ii=(o=>(o.USER="user",o.HEADER="header",o.QUERY="query",o.SUBDOMAIN="subdomain",o.PATH="path",o))(Ii||{});var Um={USE_ZOD_VALIDATOR:!1,AI_AGENTS:!1,USE_DYNAMIC_LOADING:!0,DIRECT_LOGIN_TO_ACCOUNT_PORTAL:!1,DEBUG_UI:!1};var wi=(i=>(i.READ="read",i.WRITE="write",i.EXECUTE="execute",i.ADMIN="admin",i))(wi||{});var Wo=(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))(Wo||{});var $o=s(t=>t.hosting==="cloud","isCloudAccount");var Go=s(t=>t.authType==="sso","isSSOAccount");var b="_",ve="\uFFF0",er=s(t=>`${t}${b}`,"prefixed"),ce=(G=>(G.USER="us",G.GROUP="gr",G.CONFIG="config",G.TEMPLATE="template",G.WORKSPACE="app",G.DEV="dev",G.WORKSPACE_DEV="app_dev",G.WORKSPACE_METADATA="app_metadata",G.ROLE="role",G.DEV_INFO="devinfo",G.AUTOMATION_LOG="log_au",G.ACCOUNT_METADATA="acc_metadata",G.PLUGIN="plg",G.DATASOURCE="datasource",G.DATASOURCE_PLUS="datasource_plus",G.APP_BACKUP="backup",G.TABLE="ta",G.ROW="ro",G.AUTOMATION="au",G.LINK="li",G.WEBHOOK="wh",G.INSTANCE="inst",G.LAYOUT="layout",G.SCREEN="screen",G.QUERY="query",G.DEPLOYMENTS="deployments",G.METADATA="metadata",G.MEM_VIEW="view",G.USER_FLAG="flag",G.AUTOMATION_METADATA="meta_au",G.AUDIT_LOG="al",G.SCIM_LOG="scimlog",G.ROW_ACTIONS="ra",G.OAUTH2_CONFIG="oauth2",G.OAUTH2_CONFIG_LOG="oauth2log",G.AGENT_CHAT="agentchat",G.AGENT_TOOL_SOURCE="agenttoolsource",G.WORKSPACE_APP="workspace_app",G.WORKSPACE_FAVOURITE="workspace_favourite",G))(ce||{});var Ct=(e=>(e.USER_METADATA="ta_users",e))(Ct||{});function Vo(t){return!!t.providerType}s(Vo,"isSSOUser");var Dc=(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))(Dc||{}),Rc=(D=>(D.TABLE="table",D.ROW="row",D.ROWS="rows",D.WIDE="wide",D.QUERY="query",D.QUERY_PARAMS="queryParams",D.QUERY_LIMIT="queryLimit",D.LOOP_OPTION="loopOption",D.ITEM="item",D.CODE="code",D.FILTERS="filters",D.COLUMN="column",D.TRIGGER_SCHEMA="triggerSchema",D.CRON="cron",D.WEBHOOK_URL="webhookUrl",D.AUTOMATION="automation",D.AUTOMATION_FIELDS="automationFields",D.MULTI_ATTACHMENTS="multi_attachments",D.TRIGGER_FILTER="trigger_filter",D.CATEGORIES="categories",D))(Rc||{}),Cc=(u=>(u.ROW_SAVED="ROW_SAVED",u.ROW_UPDATED="ROW_UPDATED",u.ROW_DELETED="ROW_DELETED",u.WEBHOOK="WEBHOOK",u.APP="APP",u.CRON="CRON",u.ROW_ACTION="ROW_ACTION",u))(Cc||{});var bc=(w=>(w.SEND_EMAIL_SMTP="SEND_EMAIL_SMTP",w.CREATE_ROW="CREATE_ROW",w.UPDATE_ROW="UPDATE_ROW",w.DELETE_ROW="DELETE_ROW",w.EXECUTE_BASH="EXECUTE_BASH",w.OUTGOING_WEBHOOK="OUTGOING_WEBHOOK",w.EXECUTE_SCRIPT="EXECUTE_SCRIPT",w.EXECUTE_SCRIPT_V2="EXECUTE_SCRIPT_V2",w.EXECUTE_QUERY="EXECUTE_QUERY",w.SERVER_LOG="SERVER_LOG",w.DELAY="DELAY",w.FILTER="FILTER",w.API_REQUEST="API_REQUEST",w.QUERY_ROWS="QUERY_ROWS",w.LOOP="LOOP",w.COLLECT="COLLECT",w.OPENAI="OPENAI",w.TRIGGER_AUTOMATION_RUN="TRIGGER_AUTOMATION_RUN",w.BRANCH="BRANCH",w.CLASSIFY_CONTENT="CLASSIFY_CONTENT",w.PROMPT_LLM="PROMPT_LLM",w.TRANSLATE="TRANSLATE",w.SUMMARISE="SUMMARISE",w.GENERATE_TEXT="GENERATE_TEXT",w.EXTRACT_FILE_DATA="EXTRACT_FILE_DATA",w.EXTRACT_STATE="EXTRACT_STATE",w.LOOP_V2="LOOP_V2",w.discord="discord",w.slack="slack",w.zapier="zapier",w.integromat="integromat",w.n8n="n8n",w))(bc||{}),Lm=[...Object.values(bc),...Object.values(Cc)];function km(t){return t.stepId==="BRANCH"}s(km,"isBranchStep");var xc="bb_internal";var Mm=["attachment_single","attachment","signature_single","bb_reference","json","array"];var Rd={};N(Rd,{AutomationViewMode:()=>Ua,BUDIBASE_DATASOURCE_TYPE:()=>Sd,Config:()=>Dd,Cookie:()=>Jr,DEFAULT_BB_DATASOURCE_ID:()=>Dn,DEFAULT_EMPLOYEE_TABLE_ID:()=>Id,DEFAULT_EXPENSES_TABLE_ID:()=>Od,DEFAULT_INVENTORY_TABLE_ID:()=>_d,DEFAULT_JOBS_TABLE_ID:()=>Ad,DEFAULT_TENANT_ID:()=>ae,DeprecatedViews:()=>qn,DesignDocuments:()=>Ts,DocumentType:()=>ce,GlobalRole:()=>wd,Header:()=>Fe,InternalTable:()=>Ct,MAX_VALID_DATE:()=>Ma,MIN_VALID_DATE:()=>Sy,SEPARATOR:()=>b,SQLITE_DESIGN_DOC_ID:()=>Ot,SQS_DATASOURCE_INTERNAL:()=>Td,StaticDatabases:()=>fe,UNICODE_MAX:()=>ve,USER_METADATA_PREFIX:()=>ys,UserStatus:()=>ka,ViewName:()=>cr,WORKSPACE_DEV:()=>La,WORKSPACE_DEV_PREFIX:()=>Ze,WORKSPACE_PREFIX:()=>Je});var Fe=(_=>(_.API_KEY="x-budibase-api-key",_.LICENSE_KEY="x-budibase-license-key",_.API_VER="x-budibase-api-version",_.APP_ID="x-budibase-app-id",_.SESSION_ID="x-budibase-session-id",_.CLIENT="x-budibase-client",_.TYPE="x-budibase-type",_.PREVIEW_ROLE="x-budibase-role",_.TENANT_ID="x-budibase-tenant-id",_.VERIFICATION_CODE="x-budibase-verification-code",_.RETURN_VERIFICATION_CODE="x-budibase-return-verification-code",_.RESET_PASSWORD_CODE="x-budibase-reset-password-code",_.RETURN_RESET_PASSWORD_CODE="x-budibase-return-reset-password-code",_.TOKEN="x-budibase-token",_.CSRF_TOKEN="x-csrf-token",_.CORRELATION_ID="x-budibase-correlation-id",_.AUTHORIZATION="authorization",_.MIGRATING_APP="x-budibase-migrating-app",_.COOKIE="cookie",_))(Fe||{});var Be={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"}},Fm={integer:{max:2147483647,min:-2147483648},int:{max:2147483647,min:-2147483648},smallint:{max:32767,min:-32768},mediumint:{max:8388607,min:-8388608}};var Dn="datasource_internal_bb_default";var ur={};N(ur,{ColumnSplitter:()=>od,NoEmptyFilterStrings:()=>my,buildQuery:()=>hy,cleanupQuery:()=>cd,fixupFilterArrays:()=>dd,getKeyNumbering:()=>ld,getValidOperatorsForType:()=>JR,hasFilters:()=>ad,limit:()=>gy,recurseLogicalOperators:()=>ud,removeKeyNumbering:()=>qo,runQuery:()=>xa,search:()=>eC,sort:()=>Ey,splitFiltersArray:()=>Ko});var Vn=F(Bm());var bt={};N(bt,{filterValueToLabel:()=>P_,hasSchema:()=>N_,isSupportedUserSearch:()=>Gm,parallelForeach:()=>v_,processSearchFilters:()=>Nc,toMap:()=>L_,trimOtherProps:()=>U_,unreachable:()=>x_});var $m=F(require("lodash/pick"));var b_=["field","operator","value","type","externalType","valueType","noValue","formulaType"];function x_(t,e){let r=e?.message||`No such case in exhaustive switch: ${t}`;if(!!!e?.doNotThrow)throw new Error(r)}s(x_,"unreachable");async function v_(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(v_,"parallelForeach");function P_(){return Object.keys(Be).reduce((t,e)=>{let n=Be[e];return t[n.value]=n.label,t},{})}s(P_,"filterValueToLabel");function N_(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null&&!(t instanceof Date)&&Object.keys(t).length>0}s(N_,"hasSchema");function U_(t,e){return Object.keys(t).filter(n=>e.includes(n)).reduce((n,i)=>({...n,[i]:t[i]}),{})}s(U_,"trimOtherProps");function Gm(t){let e=[{op:"string",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(Fo(o)){for(let l of t[o].conditions)if(!Gm(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(Gm,"isSupportedUserSearch");function Nc(t){if(!t||t.length===0)return;let{allOr:e,onEmptyFilter:r,filters:n}=Ko(t);return{logicalOperator:"all",onEmptyFilter:r||"all",groups:[{logicalOperator:e?"any":"all",filters:n.map(i=>{let o=(0,$m.default)(i,b_);return o.field=qo(o.field),o})}]}}s(Nc,"processSearchFilters");function L_(t,e){return e.reduce((r,n)=>(r[n[t]]=n,r),{})}s(L_,"toMap");var Ne={};N(Ne,{cancelableTimeout:()=>Vm,cron:()=>jR,deepGet:()=>Uc,duplicateName:()=>KR,getSequentialName:()=>QR,getUserColor:()=>M_,getUserInitials:()=>k_,getUserLabel:()=>F_,isGoogleSheets:()=>W_,isSQL:()=>$_,lists:()=>id,retry:()=>G_,roles:()=>nd,schema:()=>ps,views:()=>rd,wait:()=>Lc,withTimeout:()=>B_});var Uc=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"),k_=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"),M_=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"),F_=s(t=>{if(!t)return"";let{firstName:e,lastName:r,email:n}=t;return e&&r?`${e} ${r}`:e||r||n},"getUserLabel");function Vm(t){let e;return[new Promise((r,n)=>{e=setTimeout(()=>{n({status:301,errno:"ETIME"})},t)}),()=>{clearTimeout(e)}]}s(Vm,"cancelableTimeout");async function B_(t,e){let[r,n]=Vm(t),i=await Promise.race([e(),r]);return n(),i}s(B_,"withTimeout");function W_(t){return t==="GOOGLE_SHEETS"}s(W_,"isGoogleSheets");function $_(t){return!t||!t.source?!1:["POSTGRES","SQL_SERVER","MYSQL","ORACLE"].indexOf(t.source)!==-1||t.isSQL===!0}s($_,"isSQL");async function Lc(t){return new Promise(e=>setTimeout(e,t))}s(Lc,"wait");async function G_(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 Lc(o);try{return await t()}catch(a){n=a}}throw n}s(G_,"retry");var ay=F(Tt()),uy=F(sy());var oy="(Input cron: ",xR={"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 vR(t){let e=[];for(let r of t){r.includes(oy)&&(r=r.split(oy)[0].trim());for(let[n,i]of Object.entries(xR))r.includes(n)&&(r=r.replace(new RegExp(n,"g"),i));e.push(r)}return e}s(vR,"improveErrors");function cy(t,e=4){let r=uy.default.parseExpression(t),n=[];for(let i=0;i<e;i++)n.push(r.next().toString());return n}s(cy,"getNextExecutionDates");function ly(t){let e=(0,ay.default)(t,{preset:"npm-cron-schedule",override:{useSeconds:!1}});return e.isValid()?{valid:!0}:{valid:!1,err:vR(e.getError())}}s(ly,"validate");var ps={};N(ps,{decodeNonAscii:()=>ed,encodeNonAscii:()=>UR,isDeprecatedSingleUserColumn:()=>PR,isNumeric:()=>LR,isRequired:()=>NR});function PR(t){return t.type==="bb_reference"&&t.subtype==="user"&&t.constraints?.type!=="array"}s(PR,"isDeprecatedSingleUserColumn");function NR(t){return!!t&&(typeof t.presence!="boolean"&&t.presence?.allowEmpty===!1||t.presence===!0)}s(NR,"isRequired");function UR(t){return t.split("").map(e=>e.charCodeAt(0)>127?"\\u"+e.charCodeAt(0).toString(16).padStart(4,"0"):e).join("")}s(UR,"encodeNonAscii");function ed(t){return t.replace(/\\u([0-9a-fA-F]{4})/g,(e,r)=>String.fromCharCode(parseInt(r,16)))}s(ed,"decodeNonAscii");function LR(t){return t.type==="number"||t.type==="bigint"}s(LR,"isNumeric");var rd={};N(rd,{basicFields:()=>WR,calculationFields:()=>BR,hasCalculationFields:()=>FR,isBasicViewField:()=>kR,isCalculationField:()=>ms,isCalculationView:()=>MR,isV2:()=>$R,isVisible:()=>dy});var td=F(require("lodash/pickBy"));function ms(t){return"calculationType"in t}s(ms,"isCalculationField");function kR(t){return!ms(t)}s(kR,"isBasicViewField");function MR(t){return t.type==="calculation"}s(MR,"isCalculationView");function FR(t){return Object.values(t.schema||{}).some(ms)}s(FR,"hasCalculationFields");function BR(t){return(0,td.default)(t.schema||{},ms)}s(BR,"calculationFields");function dy(t){return t.visible!==!1}s(dy,"isVisible");function WR(t,e){let{visible:r=!0}=e||{};return(0,td.default)(t.schema||{},n=>!ms(n)&&(!r||dy(n)))}s(WR,"basicFields");function $R(t){return t.version===2}s($R,"isV2");var nd={};N(nd,{checkForRoleInheritanceLoops:()=>VR});function GR(t){return`role${b}${t}`}s(GR,"prefixForCheck");function VR(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=GR(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(VR,"checkForRoleInheritanceLoops");var id={};N(id,{punctuateList:()=>qR});function qR(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(qR,"punctuateList");var KR=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"),QR=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 jR={getNextExecutionDates:cy,validate:ly};var ba=F(require("lodash/isPlainObject")),sd=F(require("lodash/isEmpty"));var HR=/{{([^{].*?)}}/g,py=Object.values(Oi),zR=[...Object.values(Nr),...Object.values(Xt),...Object.values(wn)],JR=s((t,e,r)=>{let n=Be,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"||ps.isDeprecatedSingleUserColumn(t)?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:c==="bb_reference"?u=a:c==="barcodeqr"&&(u=i);let f=r?.tableId?.includes("datasource_plus");return e==="_id"&&f&&(u=[n.Equals,n.NotEquals,n.In]),u},"getValidOperatorsForType"),my=[Be.StartsWith.value,Be.Like.value,Be.Equals.value,Be.NotEquals.value,Be.Contains.value,Be.NotContains.value,Be.ContainsAny.value,Be.In.value];function ud(t,e){for(let r of py)t[r]&&(t[r].conditions=t[r].conditions.map(n=>e(n)));return t}s(ud,"recurseLogicalOperators");var cd=s(t=>{for(let e of my)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===""||ZR(o))&&delete t[e][i]}return t=ud(t,cd),t},"cleanupQuery");function ZR(t){return Array.isArray(t)&&t.length===0}s(ZR,"isEmptyArray");var qo=s(t=>ld(t).key,"removeKeyNumbering"),ld=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"),od=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}=ld(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=ed(n.slice(this.columnPrefix.length))),{tableName:i,numberPrefix:r,relationshipPrefix:o,column:n}}};function XR(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(HR)||[]).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(Bo(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(Bo(r)){let l=Fm[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(vm(r)||Pm(r)||Bo(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(XR,"buildCondition");function Ko(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(Ko,"splitFiltersArray");function hy(t){if(!t)return{};if(Array.isArray(t)&&(t=Nc(t),!t))return{};let e={};t.onEmptyFilter?e.onEmptyFilter=t.onEmptyFilter:e.onEmptyFilter="all";let r=fy(t.logicalOperator||"all");return e[r]={conditions:(t.groups||[]).map(n=>{if(n.groups){let c=hy(n);return delete c.onEmptyFilter,c}let{allOr:i,onEmptyFilter:o,filters:a}=Ko(n.filters||[]);o&&(e.onEmptyFilter=o);let u=i?"$or":"$and";return n.logicalOperator&&(u=fy(n.logicalOperator)),{[u]:{conditions:a.map(XR).filter(c=>c)}}})},e}s(hy,"buildQuery");function fy(t){return t==="all"?"$and":"$or"}s(fy,"logicalOperatorFromUI");function dd(t){if(!t)return t;for(let e of Object.values(Xt)){let r=t[e];if(!(r==null||!(0,ba.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 ud(t,dd),t}s(dd,"fixupFilterArrays");function eC(t,e){let r=xa(t,e.query);e.sort&&(r=Ey(r,e.sort,e.sortOrder||"ascending",e.sortType));let n=r.length;e.limit&&(r=gy(r,e.limit.toString()));let i={rows:r};return e.countRows&&(i.totalRows=n),i}s(eC,"search");function xa(t,e){if(!t||!Array.isArray(t))return[];if(!e)return t;if(e=cd(e),e=dd(e),!ad(e)&&e.onEmptyFilter==="none")return[];let r=s((T,I)=>M=>{for(let[P,k]of Object.entries(e[T]||{})){let Y=Fo(T)?M:Uc(M,qo(P)),Rt=I(Y,k);if(e.allOr&&Rt)return!0;if(!e.allOr&&!Rt)return!1}return!e.allOr},"match"),n=r("string",(T,I)=>typeof T!="string"||typeof I!="string"?!1:T.toLowerCase().startsWith(I.toLowerCase())),i=r("fuzzy",(T,I)=>typeof T!="string"||typeof I!="string"?!1:T.toLowerCase().includes(I.toLowerCase())),o=r("range",(T,I)=>{if(T==null||T===""||((0,ba.default)(I.low)&&(0,sd.default)(I.low)&&(I.low=void 0),(0,ba.default)(I.high)&&(0,sd.default)(I.high)&&(I.high=void 0),I.low==null&&I.high==null))return!1;let M=+T;if(!isNaN(M)){let k=+I.low,Y=+I.high;if(!isNaN(k)&&!isNaN(Y))return M>=k&&M<=Y;if(isNaN(k)){if(!isNaN(Y))return M<=Y}else return M>=k}let P=(0,Vn.default)(T);if(P.isValid()){let k=(0,Vn.default)(I.low||"0000-00-00T00:00:00.000Z"),Y=(0,Vn.default)(I.high||"9999-00-00T00:00:00.000Z");if(k.isValid()&&Y.isValid())return P.isAfter(k)&&P.isBefore(Y)||P.isSame(k)||P.isSame(Y);if(k.isValid())return P.isAfter(k)||P.isSame(k);if(Y.isValid())return P.isBefore(Y)||P.isSame(Y)}return I.low!=null&&I.high!=null?T>=I.low&&T<=I.high:I.low!=null?T>=I.low:I.high!=null?T<=I.high:!1}),a=s((T,I)=>{if(Array.isArray(T)){for(let P of T)if(a(P,I))return!0;return!1}if(T&&typeof T=="object"&&typeof I=="string")return T._id===I;if(T===I)return!0;if(T==null&&I!=null||T!=null&&I==null)return!1;let M=(0,Vn.default)(T);if(M.isValid()){let P=(0,Vn.default)(I);if(P.isValid())return M.isSame(P)}return!1},"_valueMatches"),u=s(T=>(...I)=>!T(...I),"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),p=r("notEmpty",u(d)),h=r("oneOf",(T,I)=>(typeof I=="string"&&(I=I.split(",")),typeof T=="number"&&(I=I.map(M=>parseFloat(M))),Array.isArray(I)?I.some(M=>a(T,M)):!1)),m=s(T=>(I,M)=>!Array.isArray(I)||(typeof M=="string"&&(M=M.split(","),typeof I[0]=="number"&&(M=M.map(P=>parseFloat(P)))),!Array.isArray(M))?!1:M.length===0?!0:M[T](P=>a(I,P)),"_contains"),g=r("contains",(T,I)=>Array.isArray(I)&&I.length===0?!0:m("every")(T,I)),y=r("notContains",(T,I)=>Array.isArray(I)&&I.length===0?!0:u(m("every"))(T,I)),S=r("containsAny",m("some")),O=r("$and",(T,I)=>{if(!I.length)return!1;for(let M of I)if(!xa([T],M).length)return!1;return!0}),_=r("$or",(T,I)=>{if(!I.length)return!1;for(let M of I)if(xa([T],{...M,allOr:!0}).length)return!0;return!1}),D=s(T=>{let I={string:n,fuzzy:i,range:o,equal:c,notEqual:l,empty:f,notEmpty:p,oneOf:h,contains:g,containsAny:S,notContains:y,$and:O,$or:_},M=Object.entries(e||{}).filter(([P,k])=>!["allOr","onEmptyFilter"].includes(P)&&k&&Object.keys(k).length>0).map(([P])=>I[P]?.(T)??!1);return ad(e)?e.allOr?M.some(P=>P===!0):M.every(P=>P===!0):!0},"docMatch");return t.filter(D)}s(xa,"runQuery");function Ey(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(Ey,"sort");function gy(t,e){let r=typeof e=="number"?e:parseFloat(e);return isNaN(r)?t:t.slice(0,r)}s(gy,"limit");var ad=s(t=>{if(!t)return!1;let e=s(r=>{for(let n of py)if(r[n])for(let i of r[n]?.conditions||[]){let o=e(i);if(o)return o}for(let n of zR){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 Ue={};N(Ue,{applications:()=>pd,automations:()=>md,screens:()=>yd,users:()=>gd});var pd={};N(pd,{getDevAppID:()=>tC,getProdAppID:()=>Es});var fd=er("app"),hs=er("app_dev");function tC(t){if(!t)throw new Error("No app ID provided");if(t.startsWith(hs))return t;let e=t.split(fd);e.shift();let r=e.join(fd);return`${hs}${r}`}s(tC,"getDevAppID");function Es(t){if(!t)throw new Error("No app ID provided");if(!t.startsWith(hs))return t;let e=t.split(hs);e.shift();let r=e.join(hs);return`${fd}${r}`}s(Es,"getProdAppID");var md={};N(md,{checkForCollectStep:()=>sC,isAppAction:()=>iC,isRowAction:()=>rC,isWebhookAction:()=>nC});function rC(t){return t.definition.trigger?.stepId==="ROW_ACTION"}s(rC,"isRowAction");function nC(t){return t.definition.trigger?.stepId==="WEBHOOK"}s(nC,"isWebhookAction");function iC(t){return t.definition.trigger?.stepId==="APP"}s(iC,"isAppAction");function yy(t){if(!t||!Array.isArray(t))return!1;for(let e of t){if(e.stepId==="COLLECT")return!0;if(km(e)&&e.inputs.children){for(let r of Object.values(e.inputs.children))if(yy(r))return!0}}return!1}s(yy,"hasCollectBlockRecursive");function sC(t){return yy(t.definition.steps)}s(sC,"checkForCollectStep");var gd={};N(gd,{canCreateApps:()=>oC,containsUserID:()=>mC,getGlobalUserID:()=>pC,getUserAppGroups:()=>hC,hasAdminPermissions:()=>Ed,hasAppBuilderPermissions:()=>Pa,hasBuilderPermissions:()=>dC,hasCreatorPermissions:()=>Na,isAdmin:()=>gs,isAdminOrBuilder:()=>uC,isAdminOrGlobalBuilder:()=>cC,isAdminOrWorkspaceBuilder:()=>aC,isBuilder:()=>hd,isCreator:()=>fC,isGlobalBuilder:()=>va,userAppAccessList:()=>EC});function hd(t,e){return t?t.builder?.global?!0:!!(e&&t.builder?.apps?.includes(Es(e))):!1}s(hd,"isBuilder");function va(t){return hd(t)&&!Pa(t)||gs(t)}s(va,"isGlobalBuilder");function oC(t){return va(t)||Na(t)}s(oC,"canCreateApps");function gs(t){return t?Ed(t):!1}s(gs,"isAdmin");function aC(t,e){return t?!!(gs(t)||e&&t.builder?.apps?.includes(Es(e))):!1}s(aC,"isAdminOrWorkspaceBuilder");function uC(t,e){return hd(t,e)||gs(t)}s(uC,"isAdminOrBuilder");function cC(t){return va(t)||gs(t)}s(cC,"isAdminOrGlobalBuilder");function Pa(t){if(!t)return!1;let e=t.builder?.apps?.length;return!!!t.builder?.global&&e!=null&&e>0}s(Pa,"hasAppBuilderPermissions");function lC(t){return t?!!Object.values(t.roles??{}).find(e=>e==="CREATOR"):!1}s(lC,"hasAppCreatorPermissions");function dC(t){return t?t.builder?.global||Pa(t)||Na(t):!1}s(dC,"hasBuilderPermissions");function Ed(t){return t?!!t.admin?.global:!1}s(Ed,"hasAdminPermissions");function Na(t){return t?!!t.builder?.creator:!1}s(Na,"hasCreatorPermissions");function fC(t){return t?va(t)||Ed(t)||Na(t)||Pa(t)||lC(t):!1}s(fC,"isCreator");function pC(t){if(typeof t!="string")return t;let e=`ro${b}ta_users${b}`;return t.startsWith(e)?t.split(e)[1]:t}s(pC,"getGlobalUserID");function mC(t){return typeof t!="string"?!1:t.includes(`us${b}`)}s(mC,"containsUserID");function Ty(t,e){return e?.filter(r=>r.users?.find(n=>n._id===t))||[]}s(Ty,"getUserGroups");function hC(t,e,r){let n=Es(t);return Ty(e,r).filter(o=>Object.keys(o.roles||{}).find(a=>a===n))}s(hC,"getUserAppGroups");function EC(t,e){let n=Ty(t._id,e).flatMap(o=>Object.keys(o.roles||{})),i=[...Object.keys(t?.roles||{}),...n];return[...new Set(i)]}s(EC,"userAppAccessList");var yd={};N(yd,{findInSettings:()=>gC});function gC(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(gC,"findInSettings");var Ua=(n=>(n.ALL="all",n.AUTOMATION="automation",n.STATUS="status",n))(Ua||{}),cr=(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))(cr||{}),qn={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"}},Je=er("app"),La=er("app_dev"),Ze=La,Td="internal",Sd="budibase",Ot="_design/sqlite",Ad="ta_bb_jobs",_d="ta_bb_inventory",Od="ta_bb_expenses",Id="ta_bb_employee",ys=`ro${b}ta_users${b}`,Ts=(r=>(r[r.SQLITE=Ot]="SQLITE",r.MIGRATIONS="_design/migrations",r))(Ts||{});var ka=(r=>(r.ACTIVE="active",r.INACTIVE="inactive",r))(ka||{}),Jr=(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))(Jr||{}),wd=(i=>(i.OWNER="owner",i.ADMIN="admin",i.BUILDER="builder",i.WORKSPACE_MANAGER="workspace_manager",i))(wd||{}),Dd=(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))(Dd||{}),Sy=new Date(-2147483647e3),Ma=new Date(2147483647e3),ae="default";var Io={};N(Io,{CacheKey:()=>ye,TTL:()=>fn,bustCache:()=>oi,destroy:()=>so,docWritethrough:()=>np,generic:()=>oo,get:()=>pn,invite:()=>sp,keys:()=>Du,passwordReset:()=>op,store:()=>Kt,user:()=>Dr,withCache:()=>_r,withCacheWithDynamicTTL:()=>ES,workspace:()=>Bs,writethrough:()=>kp});var np={};N(np,{DocWritethrough:()=>rp,DocWritethroughProcessor:()=>io,getProcessor:()=>zx,init:()=>hS});var tp={};N(tp,{BudibaseQueue:()=>ht,InMemoryQueue:()=>au,JobQueue:()=>ti,QueuedProcessor:()=>ep,UnretriableError:()=>Iu,shutdown:()=>ux});var Cd=require("crypto"),Ba=require("fs"),Oy=require("lodash"),Ss=require("path");var yC=process.env.TOP_LEVEL_PATH||process.env.SERVER_TOP_LEVEL_PATH||(0,Ss.resolve)((0,Ss.join)(__dirname,"..","..","..")),Ay=!1;!Ay&&Fa()&&!bd()&&(require("dotenv").config({path:(0,Ss.join)(yC,".env")}),Ay=!0);function bd(){return Iy()}s(bd,"isTest");function Iy(){return process.env.NODE_ENV==="jest"||process.env.JEST_WORKER_ID!=null&&process.env.JEST_WORKER_ID!=="null"}s(Iy,"isJest");function Fa(){return process.env.NODE_ENV!=="production"}s(Fa,"isDev");function TC(t){if(t)return parseInt(t)}s(TC,"parseIntSafe");var Kn={BACKUPS:"backups",APPS:"prod-budi-app-assets",TEMPLATES:"templates",GLOBAL:"global",PLUGINS:"plugins",TEMP:"tmp-file-attachments"},_y=!!parseInt(process.env.SELF_HOSTED||"");function SC(){return process.env.API_ENCRYPTION_KEY?process.env.API_ENCRYPTION_KEY:process.env.JWT_SECRET}s(SC,"getAPIEncryptionKey");function AC(){return process.env.HTTP_LOGGING===void 0?!0:process.env.HTTP_LOGGING}s(AC,"httpLogging");function _C(){function t(r){function n(u,c){let l=`${c}/${u}`;if((0,Ba.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,Ba.readFileSync)(i,"utf-8");return JSON.parse(o)}s(t,"getParentFile");let e;if(Fa()&&!bd())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(_C,"getPackageJsonFields");function OC(){return lt.SERVICE_TYPE==="worker"}s(OC,"isWorker");function IC(){return lt.SERVICE_TYPE==="apps"}s(IC,"isApps");function wC(){return lt.BUDIBASE_ENVIRONMENT==="QA"}s(wC,"isQA");function DC(){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(DC,"getServiceName");var lt={isTest:bd,isJest:Iy,isDev:Fa,isWorker:OC,isApps:IC,isQA:wC,isProd:()=>!Fa(),BUDIBASE_ENVIRONMENT:process.env.BUDIBASE_ENVIRONMENT,JS_BCRYPT:process.env.JS_BCRYPT,JWT_SECRET:process.env.JWT_SECRET?(0,Cd.createSecretKey)(process.env.JWT_SECRET,"utf8"):void 0,JWT_SECRET_FALLBACK:process.env.JWT_SECRET_FALLBACK?(0,Cd.createSecretKey)(process.env.JWT_SECRET_FALLBACK,"utf8"):void 0,ENCRYPTION_KEY:process.env.ENCRYPTION_KEY,API_ENCRYPTION_KEY:SC(),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_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,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:_y,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||Kn.BACKUPS,APPS_BUCKET_NAME:process.env.APPS_BUCKET_NAME||Kn.APPS,TEMPLATES_BUCKET_NAME:process.env.TEMPLATES_BUCKET_NAME||Kn.TEMPLATES,GLOBAL_BUCKET_NAME:process.env.GLOBAL_BUCKET_NAME||Kn.GLOBAL,PLUGIN_BUCKET_NAME:process.env.PLUGIN_BUCKET_NAME||Kn.PLUGINS,TEMP_BUCKET_NAME:process.env.TEMP_BUCKET_NAME||Kn.TEMP,USE_COUCH:process.env.USE_COUCH||!0,MOCK_REDIS:process.env.MOCK_REDIS,DEFAULT_LICENSE:process.env.DEFAULT_LICENSE,SERVICE:DC(),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:AC(),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:_y?process.env.ENABLE_SSO_MAINTENANCE_MODE:!1,..._C(),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,lt[t]=e},ROLLING_LOG_MAX_SIZE:process.env.ROLLING_LOG_MAX_SIZE||"10M",DISABLE_SCIM_CALLS:process.env.DISABLE_SCIM_CALLS,BB_ADMIN_USER_EMAIL:process.env.BB_ADMIN_USER_EMAIL,BB_ADMIN_USER_PASSWORD:process.env.BB_ADMIN_USER_PASSWORD,OPENAI_API_KEY:process.env.OPENAI_API_KEY,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:TC(process.env.BSON_BUFFER_SIZE)};function As(t){let e=(0,Oy.cloneDeep)(lt),r;for(r in t)lt._set(r,t[r]);return()=>{for(let[n,i]of Object.entries(e))lt._set(n,i)}}s(As,"setEnv");function wy(t,e){let r=As(t),n=e();return n instanceof Promise?n.finally(r):(r(),n)}s(wy,"withEnv");var Dy=["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","OPENAI_API_KEY","REDIS_PASSWORD"];for(let[t,e]of Object.entries(lt))e==="0"&&(lt[t]=0),e==="false"&&(lt[t]=0);var E=lt;var Ga={};N(Ga,{Databases:()=>xd,SEPARATOR:()=>Qn,SelectableDatabase:()=>Wa,getRedisClusterOptions:()=>vd,getRedisConnectionDetails:()=>$a,getRedisOptions:()=>Zr,removeDbPrefix:()=>Pd});var Qn="-",xd=(O=>(O.PW_RESETS="pwReset",O.VERIFICATIONS="verification",O.INVITATIONS="invitation",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))(xd||{}),Wa=(y=>(y[y.DEFAULT=0]="DEFAULT",y[y.SOCKET_IO=1]="SOCKET_IO",y[y.RATE_LIMITING=2]="RATE_LIMITING",y[y.UNUSED_2=3]="UNUSED_2",y[y.UNUSED_3=4]="UNUSED_3",y[y.UNUSED_4=5]="UNUSED_4",y[y.UNUSED_5=6]="UNUSED_5",y[y.UNUSED_6=7]="UNUSED_6",y[y.UNUSED_7=8]="UNUSED_7",y[y.UNUSED_8=9]="UNUSED_8",y[y.UNUSED_9=10]="UNUSED_9",y[y.UNUSED_10=11]="UNUSED_10",y[y.UNUSED_11=12]="UNUSED_11",y[y.UNUSED_12=13]="UNUSED_12",y[y.UNUSED_13=14]="UNUSED_13",y[y.UNUSED_14=15]="UNUSED_14",y))(Wa||{});function $a(){let t=E.REDIS_PASSWORD,e=E.REDIS_URL.split("//");e=e.length>1?e[1]:e[0],e=e.split("@"),e.length>1?(t=e[0].split(":")[1],e=e[1]):e=e[0];let[r,n]=e.split(":"),i=parseInt(n);return{host:r,password:t,port:isNaN(i)?6379:i}}s($a,"getRedisConnectionDetails");function vd(){return{slotsRefreshTimeout:2e3,dnsLookup:(t,e)=>e(null,t),redisOptions:{...Zr(),tls:{}}}}s(vd,"getRedisClusterOptions");function Zr(){let{host:t,password:e,port:r}=$a();return{connectTimeout:3e4,port:r,host:t,password:e}}s(Zr,"getRedisOptions");function Pd(t){let e=t.split(Qn);return e.length>=2?(e.shift(),e.join(Qn)):e[0]}s(Pd,"removeDbPrefix");var xT=F(require("events"));var ei={};N(ei,{Duration:()=>he,DurationType:()=>bf,clearCookie:()=>Er,compare:()=>Ld,getAppIdFromCtx:()=>an,getCookie:()=>Gt,hasCircularStructure:()=>zb,hash:()=>Ud,isAudited:()=>Rf,isClient:()=>Hb,isPublicApiRequest:()=>jb,isServingApp:()=>qb,isServingBuilder:()=>Kb,isServingBuilderPreview:()=>Qb,isValidInternalAPIKey:()=>js,newid:()=>ne,openJwt:()=>su,setCookie:()=>bT,time:()=>Zb,timeout:()=>Df,urlHasProtocol:()=>Jb,validEmail:()=>Cf});var Ry=require("uuid");function ne(){return(0,Ry.v4)().replace(/-/g,"")}s(ne,"newid");var Nd=E.JS_BCRYPT?require("bcryptjs"):require("bcrypt"),RC=E.SALT_ROUNDS||10;async function Ud(t){let e=await Nd.genSalt(RC);return Nd.hash(t,e)}s(Ud,"hash");async function Ld(t,e){return Nd.compare(t,e)}s(Ld,"compare");var iu=F(require("jsonwebtoken"));var ue={};N(ue,{DEFAULT_TENANT_ID:()=>ae,baseGlobalDBName:()=>Cs,doInAutomationContext:()=>JC,doInContext:()=>Xd,doInEnvironmentContext:()=>ab,doInFeatureFlagOverrideContext:()=>af,doInIPContext:()=>rf,doInIdentityContext:()=>Os,doInLicenseContext:()=>XC,doInScimContext:()=>ub,doInSelfHostTenantUsingCloud:()=>ZC,doInTenant:()=>Re,doInWorkspaceContext:()=>rb,doInWorkspaceMigrationContext:()=>ib,ensureSnippetContext:()=>Vy,getAuditLogDBName:()=>$y,getAuditLogsDB:()=>lb,getAutomationId:()=>ef,getCurrentContext:()=>tn,getDevWorkspaceDB:()=>fb,getDevWorkspaceId:()=>sb,getEnvironmentVariables:()=>cb,getFeatureFlagOverrides:()=>of,getFeatureFlags:()=>nf,getGlobalDB:()=>H,getGlobalDBName:()=>en,getIP:()=>tf,getIdentity:()=>Mt,getLicense:()=>eb,getPlatformURL:()=>Zd,getProdWorkspaceDB:()=>db,getProdWorkspaceId:()=>ob,getScimDBName:()=>jC,getSelfHostCloudDB:()=>tb,getTableForView:()=>pb,getTenantIDFromWorkspaceID:()=>zn,getTenantId:()=>V,getWorkspaceDB:()=>Jn,getWorkspaceId:()=>Le,identity:()=>_s,isMultiTenant:()=>fr,isScim:()=>pt,isSelfHostUsingCloud:()=>za,isTenancyEnabled:()=>HC,isTenantIdSet:()=>YC,setFeatureFlags:()=>sf,setTableForView:()=>mb});var _s={};N(_s,{doInAccountContext:()=>CC,doInIdentityContext:()=>Md,doInUserContext:()=>Fd,getAccountUserId:()=>Cy,getIdentity:()=>kd});function kd(){return Mt()}s(kd,"getIdentity");function Md(t,e){return Os(t,e)}s(Md,"doInIdentityContext");function Fd(t,e,r){let n={...t,_id:t._id,type:"user",hostInfo:{ipAddress:e.request.ip,userAgent:e.userAgent.source}};return Md(n,r)}s(Fd,"doInUserContext");function CC(t,e){let r=Cy(t),n=t.tenantId,i={_id:r,type:"user",tenantId:n,account:t};return Md(i,e)}s(CC,"doInAccountContext");function Cy(t){let e;return $o(t)?e=t.budibaseUserId:e=t.accountId,e}s(Cy,"getAccountUserId");var dt=s(t=>{let e=Bd(t),r,n;if(e.auth?.username)r=e.auth.username;else if(E.COUCH_DB_USERNAME)r=E.COUCH_DB_USERNAME;else if(!E.isTest())throw new Error("CouchDB username not set");if(e.auth?.password)n=e.auth.password;else if(E.COUCH_DB_PASSWORD)n=E.COUCH_DB_PASSWORD;else if(!E.isTest())throw new Error("CouchDB password not set");let i=Buffer.from(`${r}:${n}`).toString("base64"),o=E.COUCH_DB_SQL_URL;if(E.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:Bd(o).url,auth:{username:r,password:n},cookie:`Basic ${i}`}},"getCouchInfo"),Bd=s((t=E.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 Fy=F(require("@budibase/nano"));var by=F(require("node-fetch"));function qa(t){return t.replace(/(https?:\/\/)|(\/)+/g,"$1$2")}s(qa,"checkSlashesInUrl");async function xy(t,e="GET",r){let{url:n,cookie:i}=dt(),o=`${n}/${t}`;return await Is({url:o,cookie:i,method:e,body:r})}s(xy,"directCouchCall");async function Is({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,by.default)(qa(encodeURI(t)),i)}s(Is,"directCouchUrlCall");async function Wd(t,e="GET",r){let n=await xy(t,e,r);if(n.status<300)return await n.json();throw"Cannot connect to CouchDB instance"}s(Wd,"directCouchQuery");var Xr=F(require("pouchdb"));var vy,Py=!1,$d=s((t={})=>{let{url:e,cookie:r}=dt(),n={prefix:e,fetch:(i,o)=>(o.headers.set("Authorization",r),Xr.default.fetch(i,o))};if(t.inMemory){let i=require("pouchdb-adapter-memory");Xr.default.plugin(i),n={adapter:"memory"}}if(t.onDisk&&(n={adapter:"leveldb"}),t.replication){let i=require("@budibase/pouchdb-replication-stream");Xr.default.plugin(i.plugin),Xr.default.adapter("writableStream",i.adapters.writableStream)}if(t.find){let i=require("pouchdb-find");Xr.default.plugin(i)}return Xr.default.defaults(n)},"getPouch");function Ka(t){vy=$d(t),Py=!0}s(Ka,"init");var bC=s(()=>{if(!Py)throw new Error("init has not been called")},"checkInitialised");function Xe(t,e){bC();let r=new vy(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(Xe,"getPouchDB");async function ws(t){if(!(!t||E.isTest()))try{return await t.close()}catch{}}s(ws,"closePouchDB");var le=F(require("dd-trace"));var jn=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 Hd={};N(Hd,{breakExternalTableId:()=>qd,breakRowIdField:()=>GC,buildExternalTableId:()=>kC,convertRowId:()=>$C,encodeTableId:()=>MC,encodeViewId:()=>FC,extractDate:()=>Qd,generateRowIdField:()=>BC,getNativeSql:()=>Yn,isExternalTable:()=>Vd,isExternalTableID:()=>Qa,isInternalTableID:()=>LC,isRowId:()=>WC,isValidFilter:()=>Ya,isValidISODateString:()=>ja,isValidISODateStringWithoutTimezone:()=>Kd,isValidTime:()=>jd,sqlLog:()=>Ds,validateManyToMany:()=>Yd});var Gd=`${b}${b}`,Uy=/^\[.*]$/g,xC=encodeURIComponent(" "),vC=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}:\d{2}(?:.\d{3})?Z)?$/,PC=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}:\d{2}(?:.\d{3})?)?$/,NC=/(\d{4}-\d{2}-\d{2})/,UC=/^(?:\d{2}:)?(?:\d{2}:)(?:\d{2})$/;function Qa(t){return t.startsWith("datasource"+b)}s(Qa,"isExternalTableID");function LC(t){return!Qa(t)}s(LC,"isInternalTableID");function Yn(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(Yn,"getNativeSql");function Vd(t){return t?.sourceId&&t.sourceId.includes("datasource"+b)&&t?.sourceId!==Dn||t?.sourceType==="external"?!0:!!(t?._id&&Qa(t._id))}s(Vd,"isExternalTable");function kC(t,e){return`${t}${Gd}${encodeURIComponent(e)}`}s(kC,"buildExternalTableId");function MC(t){return Qa(t)?encodeURIComponent(t):t}s(MC,"encodeTableId");function FC(t){return encodeURIComponent(t)}s(FC,"encodeViewId");function qd(t){let e=t.split(Gd),r=e.shift(),n=e.join(Gd);if(n.includes(xC)&&(n=decodeURIComponent(n)),!r||!n)throw new Error("Unable to get datasource/table name from table ID");return{datasourceId:r,tableName:n}}s(qd,"breakExternalTableId");function BC(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(BC,"generateRowIdField");function WC(t){return Array.isArray(t)||typeof t=="string"&&t.match(Uy)!=null}s(WC,"isRowId");function $C(t){return Array.isArray(t)?t[0]:typeof t=="string"&&t.match(Uy)!=null?t.substring(1,t.length-1):t}s($C,"convertRowId");function GC(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(GC,"breakRowIdField");function ja(t){let e=t.trim();if(!vC.test(e))return!1;let r=new Date(e);return!isNaN(r.getTime())}s(ja,"isValidISODateString");function Kd(t){let e=t.trim();if(!PC.test(e))return!1;let r=new Date(e);return!isNaN(r.getTime())}s(Kd,"isValidISODateStringWithoutTimezone");function Qd(t){let e=t.match(NC);if(e)return e[0]}s(Qd,"extractDate");function Ya(t){return t!=null&&t!==""}s(Ya,"isValidFilter");function jd(t){return UC.test(t)}s(jd,"isValidTime");function Ds(t,e,r){if(!E.SQL_LOGGING_ENABLE)return;let n=`[SQL] [${t.toUpperCase()}] query="${e}"`;r&&(n+=` values="${r.join(", ")}"`),console.log(n)}s(Ds,"sqlLog");function VC(t){return!!t.through&&!!t.fromPrimary&&!!t.from&&!!t.toPrimary&&!!t.to}s(VC,"isValidManyToManyRelationship");function Yd(t){if(VC(t))return t}s(Yd,"validateManyToMany");var Ly="Database does not exist.";function ky(t){return(0,Fy.default)({url:t.url,requestDefaults:{headers:{Authorization:t.cookie}},parseUrl:!1})}s(ky,"buildNano");var lr=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 qC(t,e,r){if(!t||!e)throw new Error("Unable to create database without database name or connection");let n=new Hn(t,r,e);return new jn(n)}s(qC,"DatabaseWithConnection");var Hn=class t{constructor(e,r,n){this.couchInfo=dt();this.name=e,this.pouchOpts=r||{},n&&(this.couchInfo=dt(n),this.instanceNano=ky(this.couchInfo)),t.nano||t.init()}static{s(this,"DatabaseImpl")}static init(){let e=dt();t.nano=ky(e)}exists(e){return e===void 0?this.dbExists():this.docExists(e)}async dbExists(){return(await Is({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 lr(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===Ly)return await this.checkAndCreateDb(),await this.performCallWithDBCreation(e);throw new lr(`CouchDB error: ${i.message}`,i)}}async performCall(e){let r=this.getDb(),n=await e(r);try{return await n()}catch(i){throw new lr(`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(Nm(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 lr(o,{name:this.name,status:400})}async post(e,r){return e._id||(e._id=ne()),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===Ly)return{offset:0,total_rows:0,rows:[]};throw n}})}async _sqlQuery(e,r,n){e=qa(`${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 Is(i),a=await o.text();if(o.status>300){let u;try{u=JSON.parse(a)}catch{throw console.error(`SQS error: ${a}`),new lr("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}/${Ot}`;return Ds("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(Ot)){let e=await this.get(Ot);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 lr(e.message,e)}}async compact(){return this.performCall(e=>()=>e.compact())}async dump(e,r){return Xe(this.name).dump(e,r)}async load(e){return Xe(this.name).load(e)}async createIndex(e){return Xe(this.name).createIndex(e)}async deleteIndex(e){return Xe(this.name).deleteIndex(e)}async getIndexes(){return Xe(this.name).getIndexes()}};function De(t,e){return new jn(new Hn(t,e))}s(De,"getDB");async function Ke(t,e,r){let n=De(t,r);return await e(n)}s(Ke,"doWithDB");async function zd(t){let e="/_all_dbs";return t&&(e+=`?${t}`),await Wd(e)}s(zd,"directCouchAllDbs");var Jd="No app provided";function dr(t){if(!t)throw Jd;return t.startsWith(Ze)}s(dr,"isDevWorkspaceID");function KC(t){if(!t)throw Jd;return t.startsWith(Je)&&!dr(t)}s(KC,"isProdWorkspaceID");function Rs(t){if(!t)throw Jd;return dr(t.appId)}s(Rs,"isDevWorkspace");function Ha(t){if(!t||t.startsWith(Ze))return t;let e=t.split(Je);e.shift();let r=e.join(Je);return`${Ze}${r}`}s(Ha,"getDevWorkspaceID");function Qe(t){if(!t||!t.startsWith(Ze))return t;let e=t.split(Ze);e.shift();let r=e.join(Ze);return`${Je}${r}`}s(Qe,"getProdWorkspaceID");var By=require("async_hooks");var me=class t{static{s(this,"Context")}static{this.storage=new By.AsyncLocalStorage}static run(e,r){return t.storage.run(e,()=>r())}static get(){return t.storage.getStore()}};var Wy=null;function en(t){return t||(t=V()),Cs(t)}s(en,"getGlobalDBName");function $y(t){return t||(t=V()),t===ae?fe.AUDIT_LOGS.name:`${t}${b}${fe.AUDIT_LOGS.name}`}s($y,"getAuditLogDBName");function jC(t){return t||(t=V()),t===ae?fe.SCIM_LOGS.name:`${t}${b}${fe.SCIM_LOGS.name}`}s(jC,"getScimDBName");function Cs(t){return!t||t===ae?fe.GLOBAL.name:`${t}${b}${fe.GLOBAL.name}`}s(Cs,"baseGlobalDBName");function Zd(){return E.PLATFORM_URL}s(Zd,"getPlatformURL");function fr(){return!!E.MULTI_TENANCY}s(fr,"isMultiTenant");function YC(){return!!me.get()?.tenantId}s(YC,"isTenantIdSet");function HC(){return E.MULTI_TENANCY}s(HC,"isTenancyEnabled");function zn(t){if(!t)return;if(!fr())return ae;let e=t.split(b),r=e[1]==="dev";if(!(r&&e.length===3||!r&&e.length===2))return r?e[2]:e[1]}s(zn,"getTenantIDFromWorkspaceID");function zC(t){let e;try{e=me.get()}catch{e={}}return e={...e,...t},e}s(zC,"updateContext");async function ft(t,e){nb();let r=zC(t);return me.run(r,e)}s(ft,"newContext");async function JC(t){return await Vy(),await ft({tenantId:zn(t.workspaceId),appId:t.workspaceId,automationId:t.automationId},t.task)}s(JC,"doInAutomationContext");async function Xd(t,e){let r=zn(t);return ft({tenantId:r,appId:t},e)}s(Xd,"doInContext");async function Re(t,e){return E.MULTI_TENANCY||(t=t||ae),ft(t?{tenantId:t}:{},e)}s(Re,"doInTenant");async function ZC(t,e){return ft({tenantId:t,isSelfHostUsingCloud:!0},e)}s(ZC,"doInSelfHostTenantUsingCloud");async function XC(t,e){return ft({license:t},e)}s(XC,"doInLicenseContext");function eb(){return me.get()?.license}s(eb,"getLicense");function za(){return!!me.get()?.isSelfHostUsingCloud}s(za,"isSelfHostUsingCloud");function tb(){let t=me.get();if(!t||!t.isSelfHostUsingCloud)throw new Error("Self-host cloud DB not found");return De(fe.SELF_HOST_CLOUD.name)}s(tb,"getSelfHostCloudDB");async function rb(t,e){return Gy(t,e)}s(rb,"doInWorkspaceContext");async function Gy(t,e,r){if(!t)throw new Error("workspaceId is required");let n=zn(t),i={appId:t,...r};return n&&(i.tenantId=n),ft(i,e)}s(Gy,"_doInWorkspaceContext");async function Os(t,e){if(!t)throw new Error("identity is required");let r={identity:t};return t.tenantId&&(r.tenantId=t.tenantId),ft(r,e)}s(Os,"doInIdentityContext");function nb(){if(me.get()?.isMigrating)throw new Error("The context cannot be changed, a migration is currently running")}s(nb,"guardMigration");async function ib(t,e){return Gy(t,e,{isMigrating:!0})}s(ib,"doInWorkspaceMigrationContext");function Mt(){try{return me.get()?.identity}catch{}}s(Mt,"getIdentity");function V(){if(!fr())return ae;let e=me.get()?.tenantId;if(!e)throw new Error("Tenant id not found");return e}s(V,"getTenantId");function ef(){return me.get()?.automationId}s(ef,"getAutomationId");function Le(){let e=me.get()?.appId;return!e&&E.isTest()&&Wy?Wy:e}s(Le,"getWorkspaceId");function tf(){return me.get()?.ip}s(tf,"getIP");var sb=s(()=>{let t=Le();if(!t)throw new Error("Could not get workspaceId");return Ha(t)},"getDevWorkspaceId"),ob=s(()=>{let t=Le();if(!t)throw new Error("Could not get workspaceId");return Qe(t)},"getProdWorkspaceId");function ab(t,e){if(!t)throw new Error("Must supply environment variables.");return ft({environmentVariables:t},e)}s(ab,"doInEnvironmentContext");function ub(t){return ft({isScim:!0},t)}s(ub,"doInScimContext");function rf(t,e){return ft({ip:t},e)}s(rf,"doInIPContext");async function Vy(){let t=tn();if(!t||t.snippets)return;let e,r=Jn();r&&(e=(await r.tryGet("app_metadata"))?.snippets),t.snippets=e||[]}s(Vy,"ensureSnippetContext");function cb(){let t=me.get();return t.environmentVariables?t.environmentVariables:null}s(cb,"getEnvironmentVariables");function H(){let t=me.get();if(!t||E.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 De(Cs(t?.tenantId))}s(H,"getGlobalDB");function lb(){if(!V())throw new Error("No tenant ID found - cannot open audit log DB");return De($y())}s(lb,"getAuditLogsDB");function Jn(t){let e=Le();if(!e)throw new Error("Unable to retrieve workspace DB - no workspace ID.");if(za())throw new Error("Workspace DB not found - self-host users using cloud don't have workspace DBs");return De(e,t)}s(Jn,"getWorkspaceDB");function db(t){let e=Le();if(!e)throw new Error("Unable to retrieve prod DB - no workspace ID.");return De(Qe(e),t)}s(db,"getProdWorkspaceDB");function fb(t){let e=Le();if(!e)throw new Error("Unable to retrieve dev DB - no workspace ID.");return De(Ha(e),t)}s(fb,"getDevWorkspaceDB");function pt(){return!!me.get()?.isScim}s(pt,"isScim");function tn(){try{return me.get()}catch{return}}s(tn,"getCurrentContext");function nf(t){let e=tn();if(e)return e.featureFlagCache?.[t]}s(nf,"getFeatureFlags");function sf(t,e){let r=tn();r&&(r.featureFlagCache??={},r.featureFlagCache[t]=e)}s(sf,"setFeatureFlags");function of(){return tn()?.featureFlagOverrides||{}}s(of,"getFeatureFlagOverrides");async function af(t,e){return await ft({featureFlagOverrides:t},e)}s(af,"doInFeatureFlagOverrideContext");function pb(t){let e=tn();if(e)return e.viewToTableCache?.[t]}s(pb,"getTableForView");function mb(t,e){let r=tn();r&&(r.viewToTableCache??={},r.viewToTableCache[t]=e)}s(mb,"setTableForView");var hr={};N(hr,{AutomationViewMode:()=>Ua,BUDIBASE_DATASOURCE_TYPE:()=>Sd,DEFAULT_BB_DATASOURCE_ID:()=>Dn,DEFAULT_EMPLOYEE_TABLE_ID:()=>Id,DEFAULT_EXPENSES_TABLE_ID:()=>Od,DEFAULT_INVENTORY_TABLE_ID:()=>_d,DEFAULT_JOBS_TABLE_ID:()=>Ad,DatabaseImpl:()=>Hn,DatabaseWithConnection:()=>qC,DeprecatedViews:()=>qn,DesignDocuments:()=>Ts,DocumentType:()=>ce,InternalTable:()=>Ct,QueryBuilder:()=>$t,Replication:()=>_T,SEPARATOR:()=>b,SQLITE_DESIGN_DOC_ID:()=>Ot,SQS_DATASOURCE_INTERNAL:()=>Td,StaticDatabases:()=>fe,UNICODE_MAX:()=>ve,USER_METADATA_PREFIX:()=>ys,ViewName:()=>cr,WORKSPACE_DEV:()=>La,WORKSPACE_DEV_PREFIX:()=>Ze,WORKSPACE_PREFIX:()=>Je,baseGlobalDBName:()=>Cs,checkErrorCode:()=>DT,closePouchDB:()=>ws,createApiKeyView:()=>gT,createNewUserEmailView:()=>hT,createPlatformAccountEmailView:()=>TT,createPlatformUserView:()=>ST,createUserAppView:()=>ET,createView:()=>Xn,dbExists:()=>bb,directCouchAllDbs:()=>zd,directCouchCall:()=>xy,directCouchQuery:()=>Wd,directCouchUrlCall:()=>Is,doWithDB:()=>Ke,fullSearch:()=>Ub,generateAgentChatID:()=>nT,generateAgentToolSourceID:()=>iT,generateAppUserID:()=>tu,generateDevInfoID:()=>eT,generateGlobalUserID:()=>Zn,generateOAuth2LogID:()=>rT,generatePluginID:()=>tT,generateRoleID:()=>hf,generateRowID:()=>mf,generateTableID:()=>Hy,generateTemplateID:()=>Xy,generateUserMetadataID:()=>Jy,generateWorkspaceAppID:()=>sT,generateWorkspaceFavouriteID:()=>oT,generateWorkspaceID:()=>Yy,getAllDbs:()=>mT,getAllWorkspaces:()=>$s,getCouchInfo:()=>dt,getDB:()=>De,getDevWorkspaceID:()=>Ha,getDevWorkspaceIDs:()=>Rb,getDocParams:()=>Bt,getGlobalDBName:()=>en,getGlobalIDFromUserMetadataID:()=>Zy,getGlobalUserParams:()=>sn,getOAuth2ConfigParams:()=>dT,getPluginParams:()=>lT,getPouch:()=>$d,getPouchDB:()=>Xe,getProdWorkpaceIDs:()=>Db,getProdWorkspaceID:()=>Qe,getQueryIndex:()=>aT,getRoleParams:()=>nu,getRowParams:()=>Ef,getStartEndKeyURL:()=>Ws,getTemplateParams:()=>cT,getUrlInfo:()=>Bd,getUserMetadataParams:()=>uT,getUsersByWorkspaceParams:()=>ru,getWorkspaceAppParams:()=>fT,getWorkspaceFavouriteParams:()=>pT,getWorkspacesByIDs:()=>wb,init:()=>Ka,isDevWorkspace:()=>Rs,isDevWorkspaceID:()=>dr,isDocumentConflictError:()=>kb,isGlobalUserID:()=>zy,isProdWorkspaceID:()=>KC,isSameWorkspaceID:()=>Cb,paginatedSearch:()=>Nb,pagination:()=>yf,prefixRoleID:()=>Ft,queryGlobalView:()=>Wt,queryGlobalViewRaw:()=>Af,queryPlatformView:()=>Vs,queryView:()=>Sf,queryViewRaw:()=>Gs,removeKeyNumbering:()=>qs,searchIndexes:()=>Of});var Bs={};N(Bs,{WorkspaceState:()=>pf,getWorkspaceMetadata:()=>eu,invalidateWorkspaceMetadata:()=>Ob});var mr={};N(mr,{getCacheClient:()=>lf,getDocWritethroughClient:()=>Tb,getInviteClient:()=>nn,getLockClient:()=>ff,getPasswordResetClient:()=>Fs,getSessionClient:()=>pr,getSocketClient:()=>yb,getUserClient:()=>Ms,getWorkspaceClient:()=>Xa,getWritethroughClient:()=>df,init:()=>mt,shutdown:()=>Qy});var Za=F(require("ioredis"));var Ja=require("dd-trace"),Ky=require("lodash");var qy;if(E.MOCK_REDIS)try{qy=require("ioredis-mock")}catch{console.log("Mock redis unavailable")}async function hb(t=0){return await Ja.tracer.trace("Redis.init",async e=>{if(E.MOCK_REDIS)return e.addTags({mock:!0}),new qy(Zr());let r;if(E.REDIS_CLUSTERED){e.addTags({clustered:!0});let{host:n,port:i}=$a();r=new Za.Cluster([{host:n,port:i}],vd())}else r=new Za.default(Zr());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(hb,"init");function Eb(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:Pd(a),value:u}});r(await Promise.all(o))}catch(o){n(o)}})})}s(Eb,"promisifyStream");function gb(t){return t.isCluster}s(gb,"isCluster");var uf=class t{static{s(this,"RedisWrapper")}constructor(e,r){this.client=e,this.db=r}static async init(e,r=0){return await Ja.tracer.trace("RedisWrapper.init",async n=>{let i=await hb(r);return r&&!E.isTest()&&(n.addTags({db:e}),i.select(r)),new t(i,e)})}trace(e,r){return Ja.tracer.trace(e,async n=>(n.addTags({db:this.db}),await r(n)))}prefixed(e){return e.includes(this.db)?e:`${this.db}${Qn}${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}${Qn}${e}`;let n;gb(this.client)?n=this.client.nodes("master")[0].scanStream({match:e+"*",count:100}):n=this.client.scanStream({match:e+"*",count:100});let i=await Eb(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,Ky.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=ar._parseEntry("0 "+c),n.expressions.push(l.interval)}catch(d){n.errors[c]=d}}}}return n},"parseString");ar.parseFile=s(function(e,r){require("fs").readFile(e,function(n,i){if(n){r(n);return}return r(null,ar.parseString(i.toString()))})},"parseFile");iy.exports=ar});var D0={};N(D0,{AutomationViewMode:()=>Ua,BUDIBASE_DATASOURCE_TYPE:()=>Sd,BadRequestError:()=>bu,BudibaseError:()=>ui,Config:()=>Dd,Cookie:()=>Jr,DEFAULT_BB_DATASOURCE_ID:()=>Dn,DEFAULT_EMPLOYEE_TABLE_ID:()=>Id,DEFAULT_EXPENSES_TABLE_ID:()=>Od,DEFAULT_INVENTORY_TABLE_ID:()=>_d,DEFAULT_JOBS_TABLE_ID:()=>Ad,DEFAULT_TENANT_ID:()=>ae,DeprecatedViews:()=>qn,DesignDocuments:()=>Ts,DocumentType:()=>ce,Duration:()=>he,DurationType:()=>bf,EmailUnavailableError:()=>Qt,Endpoint:()=>_c,EndpointGroup:()=>On,EndpointGroupList:()=>Lo,FeatureDisabledError:()=>Nu,ForbiddenError:()=>xu,GlobalRole:()=>wd,HTTPError:()=>we,Header:()=>Fe,InternalTable:()=>Ct,InvalidAPIKeyError:()=>ci,MAX_VALID_DATE:()=>Ma,MIN_VALID_DATE:()=>Sy,NotFoundError:()=>Cu,NotImplementedError:()=>vu,RedisClient:()=>Ce,SEPARATOR:()=>b,SQLITE_DESIGN_DOC_ID:()=>Ot,SQS_DATASOURCE_INTERNAL:()=>Td,StaticDatabases:()=>fe,UNICODE_MAX:()=>ve,USER_METADATA_PREFIX:()=>ys,UnexpectedError:()=>Ru,UsageLimitError:()=>Pu,UserStatus:()=>ka,ViewName:()=>cr,WORKSPACE_DEV:()=>La,WORKSPACE_DEV_PREFIX:()=>Ze,WORKSPACE_PREFIX:()=>Je,accounts:()=>mn,auth:()=>lm,blacklist:()=>mm,cache:()=>Io,configs:()=>qt,constants:()=>Rd,context:()=>ue,csv:()=>Dm,db:()=>hr,docIds:()=>gf,docUpdates:()=>Em,encryption:()=>im,env:()=>E,errors:()=>Lu,events:()=>fi,features:()=>Su,getPublicError:()=>Uu,init:()=>w0,installation:()=>Wu,locks:()=>yi,logging:()=>no,middleware:()=>cm,objectStore:()=>Hf,permissions:()=>Zp,platform:()=>ao,plugins:()=>fm,queue:()=>tp,redis:()=>pm,roles:()=>Jp,security:()=>pp,sessions:()=>ku,setEnv:()=>As,sql:()=>wm,tenancy:()=>I0,timers:()=>uu,userUtils:()=>Rp,users:()=>mi,utils:()=>ei,withEnv:()=>wy});module.exports=O_(D0);var qt={};N(qt,{analyticsEnabled:()=>Bu,generateConfigID:()=>Xu,getAIConfig:()=>YU,getConfig:()=>rt,getDefaultGoogleConfig:()=>Mp,getGoogleConfig:()=>ec,getGoogleDatasourceConfig:()=>Wp,getOIDCConfig:()=>KU,getOIDCConfigById:()=>$p,getOIDCLogosDoc:()=>VU,getPlatformUrl:()=>bo,getRecaptchaConfig:()=>HU,getSCIMConfig:()=>jU,getSMTPConfig:()=>QU,getSMTPConfigDoc:()=>SA,getSettingsConfig:()=>Bp,getSettingsConfigDoc:()=>ni,save:()=>$U});var I_=["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"],w_=["automation:deleted","workspace_app:deleted","datasource:deleted","table:deleted","query:deleted","view:deleted"],bm=[...I_,...w_],xm={"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};var Oc=(n=>(n.SQL="sql",n.JSON="json",n.FIELDS="fields",n))(Oc||{}),Ic=(p=>(p.STRING="string",p.CODE="code",p.LONGFORM="longForm",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))(Ic||{}),Mo=(S=>(S.AIRTABLE="AIRTABLE",S.ARANGODB="ARANGODB",S.BUDIBASE="BUDIBASE",S.COUCHDB="COUCHDB",S.DYNAMODB="DYNAMODB",S.ELASTICSEARCH="ELASTICSEARCH",S.FIRESTORE="FIRESTORE",S.GOOGLE_SHEETS="GOOGLE_SHEETS",S.MONGODB="MONGODB",S.MYSQL="MYSQL",S.ORACLE="ORACLE",S.POSTGRES="POSTGRES",S.REDIS="REDIS",S.REST="REST",S.S3="S3",S.SNOWFLAKE="SNOWFLAKE",S.SQL_SERVER="SQL_SERVER",S))(Mo||{});var wc=(n=>(n.CONNECTION_CHECKING="connection",n.FETCH_TABLE_NAMES="fetch_table_names",n.EXPORT_SCHEMA="export_schema",n))(wc||{});var D_=F(require("lodash/isPlainObject"));var Nr=(a=>(a.EQUAL="equal",a.NOT_EQUAL="notEqual",a.EMPTY="empty",a.NOT_EMPTY="notEmpty",a.FUZZY="fuzzy",a.STRING="string",a))(Nr||{}),Xt=(i=>(i.CONTAINS="contains",i.NOT_CONTAINS="notContains",i.CONTAINS_ANY="containsAny",i.ONE_OF="oneOf",i))(Xt||{}),wn=(e=>(e.RANGE="range",e))(wn||{}),Oi=(r=>(r.AND="$and",r.OR="$or",r))(Oi||{});function Fo(t){return Object.values(Oi).includes(t)}s(Fo,"isLogicalSearchOperator");function vm(t){return Object.values(Nr).includes(t)}s(vm,"isBasicSearchOperator");function Pm(t){return Object.values(Xt).includes(t)}s(Pm,"isArraySearchOperator");function Bo(t){return Object.values(wn).includes(t)}s(Bo,"isRangeSearchOperator");var Nm=s(t=>typeof t=="object"&&t._id&&t._rev,"isDocument");var Ii=(o=>(o.USER="user",o.HEADER="header",o.QUERY="query",o.SUBDOMAIN="subdomain",o.PATH="path",o))(Ii||{});var Um={USE_ZOD_VALIDATOR:!1,AI_AGENTS:!1,USE_DYNAMIC_LOADING:!0,DIRECT_LOGIN_TO_ACCOUNT_PORTAL:!1,DEBUG_UI:!1,DUPLICATE_APP:!1};var wi=(i=>(i.READ="read",i.WRITE="write",i.EXECUTE="execute",i.ADMIN="admin",i))(wi||{});var Wo=(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))(Wo||{});var $o=s(t=>t.hosting==="cloud","isCloudAccount");var Go=s(t=>t.authType==="sso","isSSOAccount");var b="_",ve="\uFFF0",er=s(t=>`${t}${b}`,"prefixed"),ce=(G=>(G.USER="us",G.GROUP="gr",G.CONFIG="config",G.TEMPLATE="template",G.WORKSPACE="app",G.DEV="dev",G.WORKSPACE_DEV="app_dev",G.WORKSPACE_METADATA="app_metadata",G.ROLE="role",G.DEV_INFO="devinfo",G.AUTOMATION_LOG="log_au",G.ACCOUNT_METADATA="acc_metadata",G.PLUGIN="plg",G.DATASOURCE="datasource",G.DATASOURCE_PLUS="datasource_plus",G.APP_BACKUP="backup",G.TABLE="ta",G.ROW="ro",G.AUTOMATION="au",G.LINK="li",G.WEBHOOK="wh",G.INSTANCE="inst",G.LAYOUT="layout",G.SCREEN="screen",G.QUERY="query",G.DEPLOYMENTS="deployments",G.METADATA="metadata",G.MEM_VIEW="view",G.USER_FLAG="flag",G.AUTOMATION_METADATA="meta_au",G.AUDIT_LOG="al",G.SCIM_LOG="scimlog",G.ROW_ACTIONS="ra",G.OAUTH2_CONFIG="oauth2",G.OAUTH2_CONFIG_LOG="oauth2log",G.AGENT_CHAT="agentchat",G.AGENT_TOOL_SOURCE="agenttoolsource",G.WORKSPACE_APP="workspace_app",G.WORKSPACE_FAVOURITE="workspace_favourite",G))(ce||{});var Ct=(e=>(e.USER_METADATA="ta_users",e))(Ct||{});function Vo(t){return!!t.providerType}s(Vo,"isSSOUser");var Dc=(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))(Dc||{}),Rc=(D=>(D.TABLE="table",D.ROW="row",D.ROWS="rows",D.WIDE="wide",D.QUERY="query",D.QUERY_PARAMS="queryParams",D.QUERY_LIMIT="queryLimit",D.LOOP_OPTION="loopOption",D.ITEM="item",D.CODE="code",D.FILTERS="filters",D.COLUMN="column",D.TRIGGER_SCHEMA="triggerSchema",D.CRON="cron",D.WEBHOOK_URL="webhookUrl",D.AUTOMATION="automation",D.AUTOMATION_FIELDS="automationFields",D.MULTI_ATTACHMENTS="multi_attachments",D.TRIGGER_FILTER="trigger_filter",D.CATEGORIES="categories",D))(Rc||{}),Cc=(u=>(u.ROW_SAVED="ROW_SAVED",u.ROW_UPDATED="ROW_UPDATED",u.ROW_DELETED="ROW_DELETED",u.WEBHOOK="WEBHOOK",u.APP="APP",u.CRON="CRON",u.ROW_ACTION="ROW_ACTION",u))(Cc||{});var bc=(w=>(w.SEND_EMAIL_SMTP="SEND_EMAIL_SMTP",w.CREATE_ROW="CREATE_ROW",w.UPDATE_ROW="UPDATE_ROW",w.DELETE_ROW="DELETE_ROW",w.EXECUTE_BASH="EXECUTE_BASH",w.OUTGOING_WEBHOOK="OUTGOING_WEBHOOK",w.EXECUTE_SCRIPT="EXECUTE_SCRIPT",w.EXECUTE_SCRIPT_V2="EXECUTE_SCRIPT_V2",w.EXECUTE_QUERY="EXECUTE_QUERY",w.SERVER_LOG="SERVER_LOG",w.DELAY="DELAY",w.FILTER="FILTER",w.API_REQUEST="API_REQUEST",w.QUERY_ROWS="QUERY_ROWS",w.LOOP="LOOP",w.COLLECT="COLLECT",w.OPENAI="OPENAI",w.TRIGGER_AUTOMATION_RUN="TRIGGER_AUTOMATION_RUN",w.BRANCH="BRANCH",w.CLASSIFY_CONTENT="CLASSIFY_CONTENT",w.PROMPT_LLM="PROMPT_LLM",w.TRANSLATE="TRANSLATE",w.SUMMARISE="SUMMARISE",w.GENERATE_TEXT="GENERATE_TEXT",w.EXTRACT_FILE_DATA="EXTRACT_FILE_DATA",w.EXTRACT_STATE="EXTRACT_STATE",w.LOOP_V2="LOOP_V2",w.discord="discord",w.slack="slack",w.zapier="zapier",w.integromat="integromat",w.n8n="n8n",w))(bc||{}),Lm=[...Object.values(bc),...Object.values(Cc)];function km(t){return t.stepId==="BRANCH"}s(km,"isBranchStep");var xc="bb_internal";var Mm=["attachment_single","attachment","signature_single","bb_reference","json","array"];var Rd={};N(Rd,{AutomationViewMode:()=>Ua,BUDIBASE_DATASOURCE_TYPE:()=>Sd,Config:()=>Dd,Cookie:()=>Jr,DEFAULT_BB_DATASOURCE_ID:()=>Dn,DEFAULT_EMPLOYEE_TABLE_ID:()=>Id,DEFAULT_EXPENSES_TABLE_ID:()=>Od,DEFAULT_INVENTORY_TABLE_ID:()=>_d,DEFAULT_JOBS_TABLE_ID:()=>Ad,DEFAULT_TENANT_ID:()=>ae,DeprecatedViews:()=>qn,DesignDocuments:()=>Ts,DocumentType:()=>ce,GlobalRole:()=>wd,Header:()=>Fe,InternalTable:()=>Ct,MAX_VALID_DATE:()=>Ma,MIN_VALID_DATE:()=>Sy,SEPARATOR:()=>b,SQLITE_DESIGN_DOC_ID:()=>Ot,SQS_DATASOURCE_INTERNAL:()=>Td,StaticDatabases:()=>fe,UNICODE_MAX:()=>ve,USER_METADATA_PREFIX:()=>ys,UserStatus:()=>ka,ViewName:()=>cr,WORKSPACE_DEV:()=>La,WORKSPACE_DEV_PREFIX:()=>Ze,WORKSPACE_PREFIX:()=>Je});var Fe=(_=>(_.API_KEY="x-budibase-api-key",_.LICENSE_KEY="x-budibase-license-key",_.API_VER="x-budibase-api-version",_.APP_ID="x-budibase-app-id",_.SESSION_ID="x-budibase-session-id",_.CLIENT="x-budibase-client",_.TYPE="x-budibase-type",_.PREVIEW_ROLE="x-budibase-role",_.TENANT_ID="x-budibase-tenant-id",_.VERIFICATION_CODE="x-budibase-verification-code",_.RETURN_VERIFICATION_CODE="x-budibase-return-verification-code",_.RESET_PASSWORD_CODE="x-budibase-reset-password-code",_.RETURN_RESET_PASSWORD_CODE="x-budibase-return-reset-password-code",_.TOKEN="x-budibase-token",_.CSRF_TOKEN="x-csrf-token",_.CORRELATION_ID="x-budibase-correlation-id",_.AUTHORIZATION="authorization",_.MIGRATING_APP="x-budibase-migrating-app",_.COOKIE="cookie",_))(Fe||{});var Be={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"}},Fm={integer:{max:2147483647,min:-2147483648},int:{max:2147483647,min:-2147483648},smallint:{max:32767,min:-32768},mediumint:{max:8388607,min:-8388608}};var Dn="datasource_internal_bb_default";var ur={};N(ur,{ColumnSplitter:()=>od,NoEmptyFilterStrings:()=>my,buildQuery:()=>hy,cleanupQuery:()=>cd,fixupFilterArrays:()=>dd,getKeyNumbering:()=>ld,getValidOperatorsForType:()=>JR,hasFilters:()=>ad,limit:()=>gy,recurseLogicalOperators:()=>ud,removeKeyNumbering:()=>qo,runQuery:()=>xa,search:()=>eC,sort:()=>Ey,splitFiltersArray:()=>Ko});var Vn=F(Bm());var bt={};N(bt,{filterValueToLabel:()=>P_,hasSchema:()=>N_,isSupportedUserSearch:()=>Gm,parallelForeach:()=>v_,processSearchFilters:()=>Nc,toMap:()=>L_,trimOtherProps:()=>U_,unreachable:()=>x_});var $m=F(require("lodash/pick"));var b_=["field","operator","value","type","externalType","valueType","noValue","formulaType"];function x_(t,e){let r=e?.message||`No such case in exhaustive switch: ${t}`;if(!!!e?.doNotThrow)throw new Error(r)}s(x_,"unreachable");async function v_(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(v_,"parallelForeach");function P_(){return Object.keys(Be).reduce((t,e)=>{let n=Be[e];return t[n.value]=n.label,t},{})}s(P_,"filterValueToLabel");function N_(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null&&!(t instanceof Date)&&Object.keys(t).length>0}s(N_,"hasSchema");function U_(t,e){return Object.keys(t).filter(n=>e.includes(n)).reduce((n,i)=>({...n,[i]:t[i]}),{})}s(U_,"trimOtherProps");function Gm(t){let e=[{op:"string",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(Fo(o)){for(let l of t[o].conditions)if(!Gm(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(Gm,"isSupportedUserSearch");function Nc(t){if(!t||t.length===0)return;let{allOr:e,onEmptyFilter:r,filters:n}=Ko(t);return{logicalOperator:"all",onEmptyFilter:r||"all",groups:[{logicalOperator:e?"any":"all",filters:n.map(i=>{let o=(0,$m.default)(i,b_);return o.field=qo(o.field),o})}]}}s(Nc,"processSearchFilters");function L_(t,e){return e.reduce((r,n)=>(r[n[t]]=n,r),{})}s(L_,"toMap");var Ne={};N(Ne,{cancelableTimeout:()=>Vm,cron:()=>jR,deepGet:()=>Uc,duplicateName:()=>KR,getSequentialName:()=>QR,getUserColor:()=>M_,getUserInitials:()=>k_,getUserLabel:()=>F_,isGoogleSheets:()=>W_,isSQL:()=>$_,lists:()=>id,retry:()=>G_,roles:()=>nd,schema:()=>ps,views:()=>rd,wait:()=>Lc,withTimeout:()=>B_});var Uc=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"),k_=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"),M_=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"),F_=s(t=>{if(!t)return"";let{firstName:e,lastName:r,email:n}=t;return e&&r?`${e} ${r}`:e||r||n},"getUserLabel");function Vm(t){let e;return[new Promise((r,n)=>{e=setTimeout(()=>{n({status:301,errno:"ETIME"})},t)}),()=>{clearTimeout(e)}]}s(Vm,"cancelableTimeout");async function B_(t,e){let[r,n]=Vm(t),i=await Promise.race([e(),r]);return n(),i}s(B_,"withTimeout");function W_(t){return t==="GOOGLE_SHEETS"}s(W_,"isGoogleSheets");function $_(t){return!t||!t.source?!1:["POSTGRES","SQL_SERVER","MYSQL","ORACLE"].indexOf(t.source)!==-1||t.isSQL===!0}s($_,"isSQL");async function Lc(t){return new Promise(e=>setTimeout(e,t))}s(Lc,"wait");async function G_(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 Lc(o);try{return await t()}catch(a){n=a}}throw n}s(G_,"retry");var ay=F(Tt()),uy=F(sy());var oy="(Input cron: ",xR={"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 vR(t){let e=[];for(let r of t){r.includes(oy)&&(r=r.split(oy)[0].trim());for(let[n,i]of Object.entries(xR))r.includes(n)&&(r=r.replace(new RegExp(n,"g"),i));e.push(r)}return e}s(vR,"improveErrors");function cy(t,e=4){let r=uy.default.parseExpression(t),n=[];for(let i=0;i<e;i++)n.push(r.next().toString());return n}s(cy,"getNextExecutionDates");function ly(t){let e=(0,ay.default)(t,{preset:"npm-cron-schedule",override:{useSeconds:!1}});return e.isValid()?{valid:!0}:{valid:!1,err:vR(e.getError())}}s(ly,"validate");var ps={};N(ps,{decodeNonAscii:()=>ed,encodeNonAscii:()=>UR,isDeprecatedSingleUserColumn:()=>PR,isNumeric:()=>LR,isRequired:()=>NR});function PR(t){return t.type==="bb_reference"&&t.subtype==="user"&&t.constraints?.type!=="array"}s(PR,"isDeprecatedSingleUserColumn");function NR(t){return!!t&&(typeof t.presence!="boolean"&&t.presence?.allowEmpty===!1||t.presence===!0)}s(NR,"isRequired");function UR(t){return t.split("").map(e=>e.charCodeAt(0)>127?"\\u"+e.charCodeAt(0).toString(16).padStart(4,"0"):e).join("")}s(UR,"encodeNonAscii");function ed(t){return t.replace(/\\u([0-9a-fA-F]{4})/g,(e,r)=>String.fromCharCode(parseInt(r,16)))}s(ed,"decodeNonAscii");function LR(t){return t.type==="number"||t.type==="bigint"}s(LR,"isNumeric");var rd={};N(rd,{basicFields:()=>WR,calculationFields:()=>BR,hasCalculationFields:()=>FR,isBasicViewField:()=>kR,isCalculationField:()=>ms,isCalculationView:()=>MR,isV2:()=>$R,isVisible:()=>dy});var td=F(require("lodash/pickBy"));function ms(t){return"calculationType"in t}s(ms,"isCalculationField");function kR(t){return!ms(t)}s(kR,"isBasicViewField");function MR(t){return t.type==="calculation"}s(MR,"isCalculationView");function FR(t){return Object.values(t.schema||{}).some(ms)}s(FR,"hasCalculationFields");function BR(t){return(0,td.default)(t.schema||{},ms)}s(BR,"calculationFields");function dy(t){return t.visible!==!1}s(dy,"isVisible");function WR(t,e){let{visible:r=!0}=e||{};return(0,td.default)(t.schema||{},n=>!ms(n)&&(!r||dy(n)))}s(WR,"basicFields");function $R(t){return t.version===2}s($R,"isV2");var nd={};N(nd,{checkForRoleInheritanceLoops:()=>VR});function GR(t){return`role${b}${t}`}s(GR,"prefixForCheck");function VR(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=GR(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(VR,"checkForRoleInheritanceLoops");var id={};N(id,{punctuateList:()=>qR});function qR(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(qR,"punctuateList");var KR=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"),QR=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 jR={getNextExecutionDates:cy,validate:ly};var ba=F(require("lodash/isPlainObject")),sd=F(require("lodash/isEmpty"));var HR=/{{([^{].*?)}}/g,py=Object.values(Oi),zR=[...Object.values(Nr),...Object.values(Xt),...Object.values(wn)],JR=s((t,e,r)=>{let n=Be,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"||ps.isDeprecatedSingleUserColumn(t)?u=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:c==="bb_reference"?u=a:c==="barcodeqr"&&(u=i);let f=r?.tableId?.includes("datasource_plus");return e==="_id"&&f&&(u=[n.Equals,n.NotEquals,n.In]),u},"getValidOperatorsForType"),my=[Be.StartsWith.value,Be.Like.value,Be.Equals.value,Be.NotEquals.value,Be.Contains.value,Be.NotContains.value,Be.ContainsAny.value,Be.In.value];function ud(t,e){for(let r of py)t[r]&&(t[r].conditions=t[r].conditions.map(n=>e(n)));return t}s(ud,"recurseLogicalOperators");var cd=s(t=>{for(let e of my)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===""||ZR(o))&&delete t[e][i]}return t=ud(t,cd),t},"cleanupQuery");function ZR(t){return Array.isArray(t)&&t.length===0}s(ZR,"isEmptyArray");var qo=s(t=>ld(t).key,"removeKeyNumbering"),ld=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"),od=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}=ld(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=ed(n.slice(this.columnPrefix.length))),{tableName:i,numberPrefix:r,relationshipPrefix:o,column:n}}};function XR(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(HR)||[]).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(Bo(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(Bo(r)){let l=Fm[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(vm(r)||Pm(r)||Bo(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(XR,"buildCondition");function Ko(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(Ko,"splitFiltersArray");function hy(t){if(!t)return{};if(Array.isArray(t)&&(t=Nc(t),!t))return{};let e={};t.onEmptyFilter?e.onEmptyFilter=t.onEmptyFilter:e.onEmptyFilter="all";let r=fy(t.logicalOperator||"all");return e[r]={conditions:(t.groups||[]).map(n=>{if(n.groups){let c=hy(n);return delete c.onEmptyFilter,c}let{allOr:i,onEmptyFilter:o,filters:a}=Ko(n.filters||[]);o&&(e.onEmptyFilter=o);let u=i?"$or":"$and";return n.logicalOperator&&(u=fy(n.logicalOperator)),{[u]:{conditions:a.map(XR).filter(c=>c)}}})},e}s(hy,"buildQuery");function fy(t){return t==="all"?"$and":"$or"}s(fy,"logicalOperatorFromUI");function dd(t){if(!t)return t;for(let e of Object.values(Xt)){let r=t[e];if(!(r==null||!(0,ba.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 ud(t,dd),t}s(dd,"fixupFilterArrays");function eC(t,e){let r=xa(t,e.query);e.sort&&(r=Ey(r,e.sort,e.sortOrder||"ascending",e.sortType));let n=r.length;e.limit&&(r=gy(r,e.limit.toString()));let i={rows:r};return e.countRows&&(i.totalRows=n),i}s(eC,"search");function xa(t,e){if(!t||!Array.isArray(t))return[];if(!e)return t;if(e=cd(e),e=dd(e),!ad(e)&&e.onEmptyFilter==="none")return[];let r=s((T,I)=>M=>{for(let[P,k]of Object.entries(e[T]||{})){let Y=Fo(T)?M:Uc(M,qo(P)),Rt=I(Y,k);if(e.allOr&&Rt)return!0;if(!e.allOr&&!Rt)return!1}return!e.allOr},"match"),n=r("string",(T,I)=>typeof T!="string"||typeof I!="string"?!1:T.toLowerCase().startsWith(I.toLowerCase())),i=r("fuzzy",(T,I)=>typeof T!="string"||typeof I!="string"?!1:T.toLowerCase().includes(I.toLowerCase())),o=r("range",(T,I)=>{if(T==null||T===""||((0,ba.default)(I.low)&&(0,sd.default)(I.low)&&(I.low=void 0),(0,ba.default)(I.high)&&(0,sd.default)(I.high)&&(I.high=void 0),I.low==null&&I.high==null))return!1;let M=+T;if(!isNaN(M)){let k=+I.low,Y=+I.high;if(!isNaN(k)&&!isNaN(Y))return M>=k&&M<=Y;if(isNaN(k)){if(!isNaN(Y))return M<=Y}else return M>=k}let P=(0,Vn.default)(T);if(P.isValid()){let k=(0,Vn.default)(I.low||"0000-00-00T00:00:00.000Z"),Y=(0,Vn.default)(I.high||"9999-00-00T00:00:00.000Z");if(k.isValid()&&Y.isValid())return P.isAfter(k)&&P.isBefore(Y)||P.isSame(k)||P.isSame(Y);if(k.isValid())return P.isAfter(k)||P.isSame(k);if(Y.isValid())return P.isBefore(Y)||P.isSame(Y)}return I.low!=null&&I.high!=null?T>=I.low&&T<=I.high:I.low!=null?T>=I.low:I.high!=null?T<=I.high:!1}),a=s((T,I)=>{if(Array.isArray(T)){for(let P of T)if(a(P,I))return!0;return!1}if(T&&typeof T=="object"&&typeof I=="string")return T._id===I;if(T===I)return!0;if(T==null&&I!=null||T!=null&&I==null)return!1;let M=(0,Vn.default)(T);if(M.isValid()){let P=(0,Vn.default)(I);if(P.isValid())return M.isSame(P)}return!1},"_valueMatches"),u=s(T=>(...I)=>!T(...I),"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),p=r("notEmpty",u(d)),h=r("oneOf",(T,I)=>(typeof I=="string"&&(I=I.split(",")),typeof T=="number"&&(I=I.map(M=>parseFloat(M))),Array.isArray(I)?I.some(M=>a(T,M)):!1)),m=s(T=>(I,M)=>!Array.isArray(I)||(typeof M=="string"&&(M=M.split(","),typeof I[0]=="number"&&(M=M.map(P=>parseFloat(P)))),!Array.isArray(M))?!1:M.length===0?!0:M[T](P=>a(I,P)),"_contains"),g=r("contains",(T,I)=>Array.isArray(I)&&I.length===0?!0:m("every")(T,I)),y=r("notContains",(T,I)=>Array.isArray(I)&&I.length===0?!0:u(m("every"))(T,I)),S=r("containsAny",m("some")),O=r("$and",(T,I)=>{if(!I.length)return!1;for(let M of I)if(!xa([T],M).length)return!1;return!0}),_=r("$or",(T,I)=>{if(!I.length)return!1;for(let M of I)if(xa([T],{...M,allOr:!0}).length)return!0;return!1}),D=s(T=>{let I={string:n,fuzzy:i,range:o,equal:c,notEqual:l,empty:f,notEmpty:p,oneOf:h,contains:g,containsAny:S,notContains:y,$and:O,$or:_},M=Object.entries(e||{}).filter(([P,k])=>!["allOr","onEmptyFilter"].includes(P)&&k&&Object.keys(k).length>0).map(([P])=>I[P]?.(T)??!1);return ad(e)?e.allOr?M.some(P=>P===!0):M.every(P=>P===!0):!0},"docMatch");return t.filter(D)}s(xa,"runQuery");function Ey(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(Ey,"sort");function gy(t,e){let r=typeof e=="number"?e:parseFloat(e);return isNaN(r)?t:t.slice(0,r)}s(gy,"limit");var ad=s(t=>{if(!t)return!1;let e=s(r=>{for(let n of py)if(r[n])for(let i of r[n]?.conditions||[]){let o=e(i);if(o)return o}for(let n of zR){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 Ue={};N(Ue,{applications:()=>pd,automations:()=>md,screens:()=>yd,users:()=>gd});var pd={};N(pd,{getDevAppID:()=>tC,getProdAppID:()=>Es});var fd=er("app"),hs=er("app_dev");function tC(t){if(!t)throw new Error("No app ID provided");if(t.startsWith(hs))return t;let e=t.split(fd);e.shift();let r=e.join(fd);return`${hs}${r}`}s(tC,"getDevAppID");function Es(t){if(!t)throw new Error("No app ID provided");if(!t.startsWith(hs))return t;let e=t.split(hs);e.shift();let r=e.join(hs);return`${fd}${r}`}s(Es,"getProdAppID");var md={};N(md,{checkForCollectStep:()=>sC,isAppAction:()=>iC,isRowAction:()=>rC,isWebhookAction:()=>nC});function rC(t){return t.definition.trigger?.stepId==="ROW_ACTION"}s(rC,"isRowAction");function nC(t){return t.definition.trigger?.stepId==="WEBHOOK"}s(nC,"isWebhookAction");function iC(t){return t.definition.trigger?.stepId==="APP"}s(iC,"isAppAction");function yy(t){if(!t||!Array.isArray(t))return!1;for(let e of t){if(e.stepId==="COLLECT")return!0;if(km(e)&&e.inputs.children){for(let r of Object.values(e.inputs.children))if(yy(r))return!0}}return!1}s(yy,"hasCollectBlockRecursive");function sC(t){return yy(t.definition.steps)}s(sC,"checkForCollectStep");var gd={};N(gd,{canCreateApps:()=>oC,containsUserID:()=>mC,getGlobalUserID:()=>pC,getUserAppGroups:()=>hC,hasAdminPermissions:()=>Ed,hasAppBuilderPermissions:()=>Pa,hasBuilderPermissions:()=>dC,hasCreatorPermissions:()=>Na,isAdmin:()=>gs,isAdminOrBuilder:()=>uC,isAdminOrGlobalBuilder:()=>cC,isAdminOrWorkspaceBuilder:()=>aC,isBuilder:()=>hd,isCreator:()=>fC,isGlobalBuilder:()=>va,userAppAccessList:()=>EC});function hd(t,e){return t?t.builder?.global?!0:!!(e&&t.builder?.apps?.includes(Es(e))):!1}s(hd,"isBuilder");function va(t){return hd(t)&&!Pa(t)||gs(t)}s(va,"isGlobalBuilder");function oC(t){return va(t)||Na(t)}s(oC,"canCreateApps");function gs(t){return t?Ed(t):!1}s(gs,"isAdmin");function aC(t,e){return t?!!(gs(t)||e&&t.builder?.apps?.includes(Es(e))):!1}s(aC,"isAdminOrWorkspaceBuilder");function uC(t,e){return hd(t,e)||gs(t)}s(uC,"isAdminOrBuilder");function cC(t){return va(t)||gs(t)}s(cC,"isAdminOrGlobalBuilder");function Pa(t){if(!t)return!1;let e=t.builder?.apps?.length;return!!!t.builder?.global&&e!=null&&e>0}s(Pa,"hasAppBuilderPermissions");function lC(t){return t?!!Object.values(t.roles??{}).find(e=>e==="CREATOR"):!1}s(lC,"hasAppCreatorPermissions");function dC(t){return t?t.builder?.global||Pa(t)||Na(t):!1}s(dC,"hasBuilderPermissions");function Ed(t){return t?!!t.admin?.global:!1}s(Ed,"hasAdminPermissions");function Na(t){return t?!!t.builder?.creator:!1}s(Na,"hasCreatorPermissions");function fC(t){return t?va(t)||Ed(t)||Na(t)||Pa(t)||lC(t):!1}s(fC,"isCreator");function pC(t){if(typeof t!="string")return t;let e=`ro${b}ta_users${b}`;return t.startsWith(e)?t.split(e)[1]:t}s(pC,"getGlobalUserID");function mC(t){return typeof t!="string"?!1:t.includes(`us${b}`)}s(mC,"containsUserID");function Ty(t,e){return e?.filter(r=>r.users?.find(n=>n._id===t))||[]}s(Ty,"getUserGroups");function hC(t,e,r){let n=Es(t);return Ty(e,r).filter(o=>Object.keys(o.roles||{}).find(a=>a===n))}s(hC,"getUserAppGroups");function EC(t,e){let n=Ty(t._id,e).flatMap(o=>Object.keys(o.roles||{})),i=[...Object.keys(t?.roles||{}),...n];return[...new Set(i)]}s(EC,"userAppAccessList");var yd={};N(yd,{findInSettings:()=>gC});function gC(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(gC,"findInSettings");var Ua=(n=>(n.ALL="all",n.AUTOMATION="automation",n.STATUS="status",n))(Ua||{}),cr=(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))(cr||{}),qn={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"}},Je=er("app"),La=er("app_dev"),Ze=La,Td="internal",Sd="budibase",Ot="_design/sqlite",Ad="ta_bb_jobs",_d="ta_bb_inventory",Od="ta_bb_expenses",Id="ta_bb_employee",ys=`ro${b}ta_users${b}`,Ts=(r=>(r[r.SQLITE=Ot]="SQLITE",r.MIGRATIONS="_design/migrations",r))(Ts||{});var ka=(r=>(r.ACTIVE="active",r.INACTIVE="inactive",r))(ka||{}),Jr=(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))(Jr||{}),wd=(i=>(i.OWNER="owner",i.ADMIN="admin",i.BUILDER="builder",i.WORKSPACE_MANAGER="workspace_manager",i))(wd||{}),Dd=(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))(Dd||{}),Sy=new Date(-2147483647e3),Ma=new Date(2147483647e3),ae="default";var Io={};N(Io,{CacheKey:()=>ye,TTL:()=>fn,bustCache:()=>oi,destroy:()=>so,docWritethrough:()=>np,generic:()=>oo,get:()=>pn,invite:()=>sp,keys:()=>Du,passwordReset:()=>op,store:()=>Kt,user:()=>Dr,withCache:()=>_r,withCacheWithDynamicTTL:()=>ES,workspace:()=>Bs,writethrough:()=>kp});var np={};N(np,{DocWritethrough:()=>rp,DocWritethroughProcessor:()=>io,getProcessor:()=>zx,init:()=>hS});var tp={};N(tp,{BudibaseQueue:()=>ht,InMemoryQueue:()=>au,JobQueue:()=>ti,QueuedProcessor:()=>ep,UnretriableError:()=>Iu,shutdown:()=>ux});var Cd=require("crypto"),Ba=require("fs"),Oy=require("lodash"),Ss=require("path");var yC=process.env.TOP_LEVEL_PATH||process.env.SERVER_TOP_LEVEL_PATH||(0,Ss.resolve)((0,Ss.join)(__dirname,"..","..","..")),Ay=!1;!Ay&&Fa()&&!bd()&&(require("dotenv").config({path:(0,Ss.join)(yC,".env")}),Ay=!0);function bd(){return Iy()}s(bd,"isTest");function Iy(){return process.env.NODE_ENV==="jest"||process.env.JEST_WORKER_ID!=null&&process.env.JEST_WORKER_ID!=="null"}s(Iy,"isJest");function Fa(){return process.env.NODE_ENV!=="production"}s(Fa,"isDev");function TC(t){if(t)return parseInt(t)}s(TC,"parseIntSafe");var Kn={BACKUPS:"backups",APPS:"prod-budi-app-assets",TEMPLATES:"templates",GLOBAL:"global",PLUGINS:"plugins",TEMP:"tmp-file-attachments"},_y=!!parseInt(process.env.SELF_HOSTED||"");function SC(){return process.env.API_ENCRYPTION_KEY?process.env.API_ENCRYPTION_KEY:process.env.JWT_SECRET}s(SC,"getAPIEncryptionKey");function AC(){return process.env.HTTP_LOGGING===void 0?!0:process.env.HTTP_LOGGING}s(AC,"httpLogging");function _C(){function t(r){function n(u,c){let l=`${c}/${u}`;if((0,Ba.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,Ba.readFileSync)(i,"utf-8");return JSON.parse(o)}s(t,"getParentFile");let e;if(Fa()&&!bd())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(_C,"getPackageJsonFields");function OC(){return lt.SERVICE_TYPE==="worker"}s(OC,"isWorker");function IC(){return lt.SERVICE_TYPE==="apps"}s(IC,"isApps");function wC(){return lt.BUDIBASE_ENVIRONMENT==="QA"}s(wC,"isQA");function DC(){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(DC,"getServiceName");var lt={isTest:bd,isJest:Iy,isDev:Fa,isWorker:OC,isApps:IC,isQA:wC,isProd:()=>!Fa(),BUDIBASE_ENVIRONMENT:process.env.BUDIBASE_ENVIRONMENT,JS_BCRYPT:process.env.JS_BCRYPT,JWT_SECRET:process.env.JWT_SECRET?(0,Cd.createSecretKey)(process.env.JWT_SECRET,"utf8"):void 0,JWT_SECRET_FALLBACK:process.env.JWT_SECRET_FALLBACK?(0,Cd.createSecretKey)(process.env.JWT_SECRET_FALLBACK,"utf8"):void 0,ENCRYPTION_KEY:process.env.ENCRYPTION_KEY,API_ENCRYPTION_KEY:SC(),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_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,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:_y,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||Kn.BACKUPS,APPS_BUCKET_NAME:process.env.APPS_BUCKET_NAME||Kn.APPS,TEMPLATES_BUCKET_NAME:process.env.TEMPLATES_BUCKET_NAME||Kn.TEMPLATES,GLOBAL_BUCKET_NAME:process.env.GLOBAL_BUCKET_NAME||Kn.GLOBAL,PLUGIN_BUCKET_NAME:process.env.PLUGIN_BUCKET_NAME||Kn.PLUGINS,TEMP_BUCKET_NAME:process.env.TEMP_BUCKET_NAME||Kn.TEMP,USE_COUCH:process.env.USE_COUCH||!0,MOCK_REDIS:process.env.MOCK_REDIS,DEFAULT_LICENSE:process.env.DEFAULT_LICENSE,SERVICE:DC(),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:AC(),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:_y?process.env.ENABLE_SSO_MAINTENANCE_MODE:!1,..._C(),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,lt[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,OPENAI_API_KEY:process.env.OPENAI_API_KEY,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:TC(process.env.BSON_BUFFER_SIZE)};function As(t){let e=(0,Oy.cloneDeep)(lt),r;for(r in t)lt._set(r,t[r]);return()=>{for(let[n,i]of Object.entries(e))lt._set(n,i)}}s(As,"setEnv");function wy(t,e){let r=As(t),n=e();return n instanceof Promise?n.finally(r):(r(),n)}s(wy,"withEnv");var Dy=["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","OPENAI_API_KEY","REDIS_PASSWORD"];for(let[t,e]of Object.entries(lt))e==="0"&&(lt[t]=0),e==="false"&&(lt[t]=0);var E=lt;var Ga={};N(Ga,{Databases:()=>xd,SEPARATOR:()=>Qn,SelectableDatabase:()=>Wa,getRedisClusterOptions:()=>vd,getRedisConnectionDetails:()=>$a,getRedisOptions:()=>Zr,removeDbPrefix:()=>Pd});var Qn="-",xd=(O=>(O.PW_RESETS="pwReset",O.VERIFICATIONS="verification",O.INVITATIONS="invitation",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))(xd||{}),Wa=(y=>(y[y.DEFAULT=0]="DEFAULT",y[y.SOCKET_IO=1]="SOCKET_IO",y[y.RATE_LIMITING=2]="RATE_LIMITING",y[y.UNUSED_2=3]="UNUSED_2",y[y.UNUSED_3=4]="UNUSED_3",y[y.UNUSED_4=5]="UNUSED_4",y[y.UNUSED_5=6]="UNUSED_5",y[y.UNUSED_6=7]="UNUSED_6",y[y.UNUSED_7=8]="UNUSED_7",y[y.UNUSED_8=9]="UNUSED_8",y[y.UNUSED_9=10]="UNUSED_9",y[y.UNUSED_10=11]="UNUSED_10",y[y.UNUSED_11=12]="UNUSED_11",y[y.UNUSED_12=13]="UNUSED_12",y[y.UNUSED_13=14]="UNUSED_13",y[y.UNUSED_14=15]="UNUSED_14",y))(Wa||{});function $a(){let t=E.REDIS_PASSWORD,e=E.REDIS_URL.split("//");e=e.length>1?e[1]:e[0],e=e.split("@"),e.length>1?(t=e[0].split(":")[1],e=e[1]):e=e[0];let[r,n]=e.split(":"),i=parseInt(n);return{host:r,password:t,port:isNaN(i)?6379:i}}s($a,"getRedisConnectionDetails");function vd(){return{slotsRefreshTimeout:2e3,dnsLookup:(t,e)=>e(null,t),redisOptions:{...Zr(),tls:{}}}}s(vd,"getRedisClusterOptions");function Zr(){let{host:t,password:e,port:r}=$a();return{connectTimeout:3e4,port:r,host:t,password:e}}s(Zr,"getRedisOptions");function Pd(t){let e=t.split(Qn);return e.length>=2?(e.shift(),e.join(Qn)):e[0]}s(Pd,"removeDbPrefix");var xT=F(require("events"));var ei={};N(ei,{Duration:()=>he,DurationType:()=>bf,clearCookie:()=>Er,compare:()=>Ld,getAppIdFromCtx:()=>an,getCookie:()=>Gt,hasCircularStructure:()=>zb,hash:()=>Ud,isAudited:()=>Rf,isClient:()=>Hb,isPublicApiRequest:()=>jb,isServingApp:()=>qb,isServingBuilder:()=>Kb,isServingBuilderPreview:()=>Qb,isValidInternalAPIKey:()=>js,newid:()=>ne,openJwt:()=>su,setCookie:()=>bT,time:()=>Zb,timeout:()=>Df,urlHasProtocol:()=>Jb,validEmail:()=>Cf});var Ry=require("uuid");function ne(){return(0,Ry.v4)().replace(/-/g,"")}s(ne,"newid");var Nd=E.JS_BCRYPT?require("bcryptjs"):require("bcrypt"),RC=E.SALT_ROUNDS||10;async function Ud(t){let e=await Nd.genSalt(RC);return Nd.hash(t,e)}s(Ud,"hash");async function Ld(t,e){return Nd.compare(t,e)}s(Ld,"compare");var iu=F(require("jsonwebtoken"));var ue={};N(ue,{DEFAULT_TENANT_ID:()=>ae,baseGlobalDBName:()=>Cs,doInAutomationContext:()=>JC,doInContext:()=>Xd,doInEnvironmentContext:()=>ab,doInFeatureFlagOverrideContext:()=>af,doInIPContext:()=>rf,doInIdentityContext:()=>Os,doInLicenseContext:()=>XC,doInScimContext:()=>ub,doInSelfHostTenantUsingCloud:()=>ZC,doInTenant:()=>Re,doInWorkspaceContext:()=>rb,doInWorkspaceMigrationContext:()=>ib,ensureSnippetContext:()=>Vy,getAuditLogDBName:()=>$y,getAuditLogsDB:()=>lb,getAutomationId:()=>ef,getCurrentContext:()=>tn,getDevWorkspaceDB:()=>fb,getDevWorkspaceId:()=>sb,getEnvironmentVariables:()=>cb,getFeatureFlagOverrides:()=>of,getFeatureFlags:()=>nf,getGlobalDB:()=>H,getGlobalDBName:()=>en,getIP:()=>tf,getIdentity:()=>Mt,getLicense:()=>eb,getPlatformURL:()=>Zd,getProdWorkspaceDB:()=>db,getProdWorkspaceId:()=>ob,getScimDBName:()=>jC,getSelfHostCloudDB:()=>tb,getTableForView:()=>pb,getTenantIDFromWorkspaceID:()=>zn,getTenantId:()=>V,getWorkspaceDB:()=>Jn,getWorkspaceId:()=>Le,identity:()=>_s,isMultiTenant:()=>fr,isScim:()=>pt,isSelfHostUsingCloud:()=>za,isTenancyEnabled:()=>HC,isTenantIdSet:()=>YC,setFeatureFlags:()=>sf,setTableForView:()=>mb});var _s={};N(_s,{doInAccountContext:()=>CC,doInIdentityContext:()=>Md,doInUserContext:()=>Fd,getAccountUserId:()=>Cy,getIdentity:()=>kd});function kd(){return Mt()}s(kd,"getIdentity");function Md(t,e){return Os(t,e)}s(Md,"doInIdentityContext");function Fd(t,e,r){let n={...t,_id:t._id,type:"user",hostInfo:{ipAddress:e.request.ip,userAgent:e.userAgent.source}};return Md(n,r)}s(Fd,"doInUserContext");function CC(t,e){let r=Cy(t),n=t.tenantId,i={_id:r,type:"user",tenantId:n,account:t};return Md(i,e)}s(CC,"doInAccountContext");function Cy(t){let e;return $o(t)?e=t.budibaseUserId:e=t.accountId,e}s(Cy,"getAccountUserId");var dt=s(t=>{let e=Bd(t),r,n;if(e.auth?.username)r=e.auth.username;else if(E.COUCH_DB_USERNAME)r=E.COUCH_DB_USERNAME;else if(!E.isTest())throw new Error("CouchDB username not set");if(e.auth?.password)n=e.auth.password;else if(E.COUCH_DB_PASSWORD)n=E.COUCH_DB_PASSWORD;else if(!E.isTest())throw new Error("CouchDB password not set");let i=Buffer.from(`${r}:${n}`).toString("base64"),o=E.COUCH_DB_SQL_URL;if(E.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:Bd(o).url,auth:{username:r,password:n},cookie:`Basic ${i}`}},"getCouchInfo"),Bd=s((t=E.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 Fy=F(require("@budibase/nano"));var by=F(require("node-fetch"));function qa(t){return t.replace(/(https?:\/\/)|(\/)+/g,"$1$2")}s(qa,"checkSlashesInUrl");async function xy(t,e="GET",r){let{url:n,cookie:i}=dt(),o=`${n}/${t}`;return await Is({url:o,cookie:i,method:e,body:r})}s(xy,"directCouchCall");async function Is({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,by.default)(qa(encodeURI(t)),i)}s(Is,"directCouchUrlCall");async function Wd(t,e="GET",r){let n=await xy(t,e,r);if(n.status<300)return await n.json();throw"Cannot connect to CouchDB instance"}s(Wd,"directCouchQuery");var Xr=F(require("pouchdb"));var vy,Py=!1,$d=s((t={})=>{let{url:e,cookie:r}=dt(),n={prefix:e,fetch:(i,o)=>(o.headers.set("Authorization",r),Xr.default.fetch(i,o))};if(t.inMemory){let i=require("pouchdb-adapter-memory");Xr.default.plugin(i),n={adapter:"memory"}}if(t.onDisk&&(n={adapter:"leveldb"}),t.replication){let i=require("@budibase/pouchdb-replication-stream");Xr.default.plugin(i.plugin),Xr.default.adapter("writableStream",i.adapters.writableStream)}if(t.find){let i=require("pouchdb-find");Xr.default.plugin(i)}return Xr.default.defaults(n)},"getPouch");function Ka(t){vy=$d(t),Py=!0}s(Ka,"init");var bC=s(()=>{if(!Py)throw new Error("init has not been called")},"checkInitialised");function Xe(t,e){bC();let r=new vy(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(Xe,"getPouchDB");async function ws(t){if(!(!t||E.isTest()))try{return await t.close()}catch{}}s(ws,"closePouchDB");var le=F(require("dd-trace"));var jn=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 Hd={};N(Hd,{breakExternalTableId:()=>qd,breakRowIdField:()=>GC,buildExternalTableId:()=>kC,convertRowId:()=>$C,encodeTableId:()=>MC,encodeViewId:()=>FC,extractDate:()=>Qd,generateRowIdField:()=>BC,getNativeSql:()=>Yn,isExternalTable:()=>Vd,isExternalTableID:()=>Qa,isInternalTableID:()=>LC,isRowId:()=>WC,isValidFilter:()=>Ya,isValidISODateString:()=>ja,isValidISODateStringWithoutTimezone:()=>Kd,isValidTime:()=>jd,sqlLog:()=>Ds,validateManyToMany:()=>Yd});var Gd=`${b}${b}`,Uy=/^\[.*]$/g,xC=encodeURIComponent(" "),vC=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}:\d{2}(?:.\d{3})?Z)?$/,PC=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}:\d{2}(?:.\d{3})?)?$/,NC=/(\d{4}-\d{2}-\d{2})/,UC=/^(?:\d{2}:)?(?:\d{2}:)(?:\d{2})$/;function Qa(t){return t.startsWith("datasource"+b)}s(Qa,"isExternalTableID");function LC(t){return!Qa(t)}s(LC,"isInternalTableID");function Yn(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(Yn,"getNativeSql");function Vd(t){return t?.sourceId&&t.sourceId.includes("datasource"+b)&&t?.sourceId!==Dn||t?.sourceType==="external"?!0:!!(t?._id&&Qa(t._id))}s(Vd,"isExternalTable");function kC(t,e){return`${t}${Gd}${encodeURIComponent(e)}`}s(kC,"buildExternalTableId");function MC(t){return Qa(t)?encodeURIComponent(t):t}s(MC,"encodeTableId");function FC(t){return encodeURIComponent(t)}s(FC,"encodeViewId");function qd(t){let e=t.split(Gd),r=e.shift(),n=e.join(Gd);if(n.includes(xC)&&(n=decodeURIComponent(n)),!r||!n)throw new Error("Unable to get datasource/table name from table ID");return{datasourceId:r,tableName:n}}s(qd,"breakExternalTableId");function BC(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(BC,"generateRowIdField");function WC(t){return Array.isArray(t)||typeof t=="string"&&t.match(Uy)!=null}s(WC,"isRowId");function $C(t){return Array.isArray(t)?t[0]:typeof t=="string"&&t.match(Uy)!=null?t.substring(1,t.length-1):t}s($C,"convertRowId");function GC(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(GC,"breakRowIdField");function ja(t){let e=t.trim();if(!vC.test(e))return!1;let r=new Date(e);return!isNaN(r.getTime())}s(ja,"isValidISODateString");function Kd(t){let e=t.trim();if(!PC.test(e))return!1;let r=new Date(e);return!isNaN(r.getTime())}s(Kd,"isValidISODateStringWithoutTimezone");function Qd(t){let e=t.match(NC);if(e)return e[0]}s(Qd,"extractDate");function Ya(t){return t!=null&&t!==""}s(Ya,"isValidFilter");function jd(t){return UC.test(t)}s(jd,"isValidTime");function Ds(t,e,r){if(!E.SQL_LOGGING_ENABLE)return;let n=`[SQL] [${t.toUpperCase()}] query="${e}"`;r&&(n+=` values="${r.join(", ")}"`),console.log(n)}s(Ds,"sqlLog");function VC(t){return!!t.through&&!!t.fromPrimary&&!!t.from&&!!t.toPrimary&&!!t.to}s(VC,"isValidManyToManyRelationship");function Yd(t){if(VC(t))return t}s(Yd,"validateManyToMany");var Ly="Database does not exist.";function ky(t){return(0,Fy.default)({url:t.url,requestDefaults:{headers:{Authorization:t.cookie}},parseUrl:!1})}s(ky,"buildNano");var lr=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 qC(t,e,r){if(!t||!e)throw new Error("Unable to create database without database name or connection");let n=new Hn(t,r,e);return new jn(n)}s(qC,"DatabaseWithConnection");var Hn=class t{constructor(e,r,n){this.couchInfo=dt();this.name=e,this.pouchOpts=r||{},n&&(this.couchInfo=dt(n),this.instanceNano=ky(this.couchInfo)),t.nano||t.init()}static{s(this,"DatabaseImpl")}static init(){let e=dt();t.nano=ky(e)}exists(e){return e===void 0?this.dbExists():this.docExists(e)}async dbExists(){return(await Is({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 lr(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===Ly)return await this.checkAndCreateDb(),await this.performCallWithDBCreation(e);throw new lr(`CouchDB error: ${i.message}`,i)}}async performCall(e){let r=this.getDb(),n=await e(r);try{return await n()}catch(i){throw new lr(`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(Nm(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 lr(o,{name:this.name,status:400})}async post(e,r){return e._id||(e._id=ne()),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===Ly)return{offset:0,total_rows:0,rows:[]};throw n}})}async _sqlQuery(e,r,n){e=qa(`${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 Is(i),a=await o.text();if(o.status>300){let u;try{u=JSON.parse(a)}catch{throw console.error(`SQS error: ${a}`),new lr("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}/${Ot}`;return Ds("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(Ot)){let e=await this.get(Ot);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 lr(e.message,e)}}async compact(){return this.performCall(e=>()=>e.compact())}async dump(e,r){return Xe(this.name).dump(e,r)}async load(e){return Xe(this.name).load(e)}async createIndex(e){return Xe(this.name).createIndex(e)}async deleteIndex(e){return Xe(this.name).deleteIndex(e)}async getIndexes(){return Xe(this.name).getIndexes()}};function De(t,e){return new jn(new Hn(t,e))}s(De,"getDB");async function Ke(t,e,r){let n=De(t,r);return await e(n)}s(Ke,"doWithDB");async function zd(t){let e="/_all_dbs";return t&&(e+=`?${t}`),await Wd(e)}s(zd,"directCouchAllDbs");var Jd="No app provided";function dr(t){if(!t)throw Jd;return t.startsWith(Ze)}s(dr,"isDevWorkspaceID");function KC(t){if(!t)throw Jd;return t.startsWith(Je)&&!dr(t)}s(KC,"isProdWorkspaceID");function Rs(t){if(!t)throw Jd;return dr(t.appId)}s(Rs,"isDevWorkspace");function Ha(t){if(!t||t.startsWith(Ze))return t;let e=t.split(Je);e.shift();let r=e.join(Je);return`${Ze}${r}`}s(Ha,"getDevWorkspaceID");function Qe(t){if(!t||!t.startsWith(Ze))return t;let e=t.split(Ze);e.shift();let r=e.join(Ze);return`${Je}${r}`}s(Qe,"getProdWorkspaceID");var By=require("async_hooks");var me=class t{static{s(this,"Context")}static{this.storage=new By.AsyncLocalStorage}static run(e,r){return t.storage.run(e,()=>r())}static get(){return t.storage.getStore()}};var Wy=null;function en(t){return t||(t=V()),Cs(t)}s(en,"getGlobalDBName");function $y(t){return t||(t=V()),t===ae?fe.AUDIT_LOGS.name:`${t}${b}${fe.AUDIT_LOGS.name}`}s($y,"getAuditLogDBName");function jC(t){return t||(t=V()),t===ae?fe.SCIM_LOGS.name:`${t}${b}${fe.SCIM_LOGS.name}`}s(jC,"getScimDBName");function Cs(t){return!t||t===ae?fe.GLOBAL.name:`${t}${b}${fe.GLOBAL.name}`}s(Cs,"baseGlobalDBName");function Zd(){return E.PLATFORM_URL}s(Zd,"getPlatformURL");function fr(){return!!E.MULTI_TENANCY}s(fr,"isMultiTenant");function YC(){return!!me.get()?.tenantId}s(YC,"isTenantIdSet");function HC(){return E.MULTI_TENANCY}s(HC,"isTenancyEnabled");function zn(t){if(!t)return;if(!fr())return ae;let e=t.split(b),r=e[1]==="dev";if(!(r&&e.length===3||!r&&e.length===2))return r?e[2]:e[1]}s(zn,"getTenantIDFromWorkspaceID");function zC(t){let e;try{e=me.get()}catch{e={}}return e={...e,...t},e}s(zC,"updateContext");async function ft(t,e){nb();let r=zC(t);return me.run(r,e)}s(ft,"newContext");async function JC(t){return await Vy(),await ft({tenantId:zn(t.workspaceId),appId:t.workspaceId,automationId:t.automationId},t.task)}s(JC,"doInAutomationContext");async function Xd(t,e){let r=zn(t);return ft({tenantId:r,appId:t},e)}s(Xd,"doInContext");async function Re(t,e){return E.MULTI_TENANCY||(t=t||ae),ft(t?{tenantId:t}:{},e)}s(Re,"doInTenant");async function ZC(t,e){return ft({tenantId:t,isSelfHostUsingCloud:!0},e)}s(ZC,"doInSelfHostTenantUsingCloud");async function XC(t,e){return ft({license:t},e)}s(XC,"doInLicenseContext");function eb(){return me.get()?.license}s(eb,"getLicense");function za(){return!!me.get()?.isSelfHostUsingCloud}s(za,"isSelfHostUsingCloud");function tb(){let t=me.get();if(!t||!t.isSelfHostUsingCloud)throw new Error("Self-host cloud DB not found");return De(fe.SELF_HOST_CLOUD.name)}s(tb,"getSelfHostCloudDB");async function rb(t,e){return Gy(t,e)}s(rb,"doInWorkspaceContext");async function Gy(t,e,r){if(!t)throw new Error("workspaceId is required");let n=zn(t),i={appId:t,...r};return n&&(i.tenantId=n),ft(i,e)}s(Gy,"_doInWorkspaceContext");async function Os(t,e){if(!t)throw new Error("identity is required");let r={identity:t};return t.tenantId&&(r.tenantId=t.tenantId),ft(r,e)}s(Os,"doInIdentityContext");function nb(){if(me.get()?.isMigrating)throw new Error("The context cannot be changed, a migration is currently running")}s(nb,"guardMigration");async function ib(t,e){return Gy(t,e,{isMigrating:!0})}s(ib,"doInWorkspaceMigrationContext");function Mt(){try{return me.get()?.identity}catch{}}s(Mt,"getIdentity");function V(){if(!fr())return ae;let e=me.get()?.tenantId;if(!e)throw new Error("Tenant id not found");return e}s(V,"getTenantId");function ef(){return me.get()?.automationId}s(ef,"getAutomationId");function Le(){let e=me.get()?.appId;return!e&&E.isTest()&&Wy?Wy:e}s(Le,"getWorkspaceId");function tf(){return me.get()?.ip}s(tf,"getIP");var sb=s(()=>{let t=Le();if(!t)throw new Error("Could not get workspaceId");return Ha(t)},"getDevWorkspaceId"),ob=s(()=>{let t=Le();if(!t)throw new Error("Could not get workspaceId");return Qe(t)},"getProdWorkspaceId");function ab(t,e){if(!t)throw new Error("Must supply environment variables.");return ft({environmentVariables:t},e)}s(ab,"doInEnvironmentContext");function ub(t){return ft({isScim:!0},t)}s(ub,"doInScimContext");function rf(t,e){return ft({ip:t},e)}s(rf,"doInIPContext");async function Vy(){let t=tn();if(!t||t.snippets)return;let e,r=Jn();r&&(e=(await r.tryGet("app_metadata"))?.snippets),t.snippets=e||[]}s(Vy,"ensureSnippetContext");function cb(){let t=me.get();return t.environmentVariables?t.environmentVariables:null}s(cb,"getEnvironmentVariables");function H(){let t=me.get();if(!t||E.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 De(Cs(t?.tenantId))}s(H,"getGlobalDB");function lb(){if(!V())throw new Error("No tenant ID found - cannot open audit log DB");return De($y())}s(lb,"getAuditLogsDB");function Jn(t){let e=Le();if(!e)throw new Error("Unable to retrieve workspace DB - no workspace ID.");if(za())throw new Error("Workspace DB not found - self-host users using cloud don't have workspace DBs");return De(e,t)}s(Jn,"getWorkspaceDB");function db(t){let e=Le();if(!e)throw new Error("Unable to retrieve prod DB - no workspace ID.");return De(Qe(e),t)}s(db,"getProdWorkspaceDB");function fb(t){let e=Le();if(!e)throw new Error("Unable to retrieve dev DB - no workspace ID.");return De(Ha(e),t)}s(fb,"getDevWorkspaceDB");function pt(){return!!me.get()?.isScim}s(pt,"isScim");function tn(){try{return me.get()}catch{return}}s(tn,"getCurrentContext");function nf(t){let e=tn();if(e)return e.featureFlagCache?.[t]}s(nf,"getFeatureFlags");function sf(t,e){let r=tn();r&&(r.featureFlagCache??={},r.featureFlagCache[t]=e)}s(sf,"setFeatureFlags");function of(){return tn()?.featureFlagOverrides||{}}s(of,"getFeatureFlagOverrides");async function af(t,e){return await ft({featureFlagOverrides:t},e)}s(af,"doInFeatureFlagOverrideContext");function pb(t){let e=tn();if(e)return e.viewToTableCache?.[t]}s(pb,"getTableForView");function mb(t,e){let r=tn();r&&(r.viewToTableCache??={},r.viewToTableCache[t]=e)}s(mb,"setTableForView");var hr={};N(hr,{AutomationViewMode:()=>Ua,BUDIBASE_DATASOURCE_TYPE:()=>Sd,DEFAULT_BB_DATASOURCE_ID:()=>Dn,DEFAULT_EMPLOYEE_TABLE_ID:()=>Id,DEFAULT_EXPENSES_TABLE_ID:()=>Od,DEFAULT_INVENTORY_TABLE_ID:()=>_d,DEFAULT_JOBS_TABLE_ID:()=>Ad,DatabaseImpl:()=>Hn,DatabaseWithConnection:()=>qC,DeprecatedViews:()=>qn,DesignDocuments:()=>Ts,DocumentType:()=>ce,InternalTable:()=>Ct,QueryBuilder:()=>$t,Replication:()=>_T,SEPARATOR:()=>b,SQLITE_DESIGN_DOC_ID:()=>Ot,SQS_DATASOURCE_INTERNAL:()=>Td,StaticDatabases:()=>fe,UNICODE_MAX:()=>ve,USER_METADATA_PREFIX:()=>ys,ViewName:()=>cr,WORKSPACE_DEV:()=>La,WORKSPACE_DEV_PREFIX:()=>Ze,WORKSPACE_PREFIX:()=>Je,baseGlobalDBName:()=>Cs,checkErrorCode:()=>DT,closePouchDB:()=>ws,createApiKeyView:()=>gT,createNewUserEmailView:()=>hT,createPlatformAccountEmailView:()=>TT,createPlatformUserView:()=>ST,createUserAppView:()=>ET,createView:()=>Xn,dbExists:()=>bb,directCouchAllDbs:()=>zd,directCouchCall:()=>xy,directCouchQuery:()=>Wd,directCouchUrlCall:()=>Is,doWithDB:()=>Ke,fullSearch:()=>Ub,generateAgentChatID:()=>nT,generateAgentToolSourceID:()=>iT,generateAppUserID:()=>tu,generateDevInfoID:()=>eT,generateGlobalUserID:()=>Zn,generateOAuth2LogID:()=>rT,generatePluginID:()=>tT,generateRoleID:()=>hf,generateRowID:()=>mf,generateTableID:()=>Hy,generateTemplateID:()=>Xy,generateUserMetadataID:()=>Jy,generateWorkspaceAppID:()=>sT,generateWorkspaceFavouriteID:()=>oT,generateWorkspaceID:()=>Yy,getAllDbs:()=>mT,getAllWorkspaces:()=>$s,getCouchInfo:()=>dt,getDB:()=>De,getDevWorkspaceID:()=>Ha,getDevWorkspaceIDs:()=>Rb,getDocParams:()=>Bt,getGlobalDBName:()=>en,getGlobalIDFromUserMetadataID:()=>Zy,getGlobalUserParams:()=>sn,getOAuth2ConfigParams:()=>dT,getPluginParams:()=>lT,getPouch:()=>$d,getPouchDB:()=>Xe,getProdWorkpaceIDs:()=>Db,getProdWorkspaceID:()=>Qe,getQueryIndex:()=>aT,getRoleParams:()=>nu,getRowParams:()=>Ef,getStartEndKeyURL:()=>Ws,getTemplateParams:()=>cT,getUrlInfo:()=>Bd,getUserMetadataParams:()=>uT,getUsersByWorkspaceParams:()=>ru,getWorkspaceAppParams:()=>fT,getWorkspaceFavouriteParams:()=>pT,getWorkspacesByIDs:()=>wb,init:()=>Ka,isDevWorkspace:()=>Rs,isDevWorkspaceID:()=>dr,isDocumentConflictError:()=>kb,isGlobalUserID:()=>zy,isProdWorkspaceID:()=>KC,isSameWorkspaceID:()=>Cb,paginatedSearch:()=>Nb,pagination:()=>yf,prefixRoleID:()=>Ft,queryGlobalView:()=>Wt,queryGlobalViewRaw:()=>Af,queryPlatformView:()=>Vs,queryView:()=>Sf,queryViewRaw:()=>Gs,removeKeyNumbering:()=>qs,searchIndexes:()=>Of});var Bs={};N(Bs,{WorkspaceState:()=>pf,getWorkspaceMetadata:()=>eu,invalidateWorkspaceMetadata:()=>Ob});var mr={};N(mr,{getCacheClient:()=>lf,getDocWritethroughClient:()=>Tb,getInviteClient:()=>nn,getLockClient:()=>ff,getPasswordResetClient:()=>Fs,getSessionClient:()=>pr,getSocketClient:()=>yb,getUserClient:()=>Ms,getWorkspaceClient:()=>Xa,getWritethroughClient:()=>df,init:()=>mt,shutdown:()=>Qy});var Za=F(require("ioredis"));var Ja=require("dd-trace"),Ky=require("lodash");var qy;if(E.MOCK_REDIS)try{qy=require("ioredis-mock")}catch{console.log("Mock redis unavailable")}async function hb(t=0){return await Ja.tracer.trace("Redis.init",async e=>{if(E.MOCK_REDIS)return e.addTags({mock:!0}),new qy(Zr());let r;if(E.REDIS_CLUSTERED){e.addTags({clustered:!0});let{host:n,port:i}=$a();r=new Za.Cluster([{host:n,port:i}],vd())}else r=new Za.default(Zr());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(hb,"init");function Eb(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:Pd(a),value:u}});r(await Promise.all(o))}catch(o){n(o)}})})}s(Eb,"promisifyStream");function gb(t){return t.isCluster}s(gb,"isCluster");var uf=class t{static{s(this,"RedisWrapper")}constructor(e,r){this.client=e,this.db=r}static async init(e,r=0){return await Ja.tracer.trace("RedisWrapper.init",async n=>{let i=await hb(r);return r&&!E.isTest()&&(n.addTags({db:e}),i.select(r)),new t(i,e)})}trace(e,r){return Ja.tracer.trace(e,async n=>(n.addTags({db:this.db}),await r(n)))}prefixed(e){return e.includes(this.db)?e:`${this.db}${Qn}${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}${Qn}${e}`;let n;gb(this.client)?n=this.client.nodes("master")[0].scanStream({match:e+"*",count:100}):n=this.client.scanStream({match:e+"*",count:100});let i=await Eb(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,Ky.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
|