@budibase/cli 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 CHANGED
@@ -2,7 +2,7 @@
2
2
  "use strict";var Szi=Object.create;var _K=Object.defineProperty;var wzi=Object.getOwnPropertyDescriptor;var Tzi=Object.getOwnPropertyNames;var Azi=Object.getPrototypeOf,xzi=Object.prototype.hasOwnProperty;var s=(e,t)=>_K(e,"name",{value:t,configurable:!0});var ue=(e,t)=>()=>(e&&(t=e(e=0)),t);var y=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Co=(e,t)=>{for(var r in t)_K(e,r,{get:t[r],enumerable:!0})},uHt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Tzi(t))!xzi.call(e,i)&&i!==r&&_K(e,i,{get:()=>t[i],enumerable:!(n=wzi(t,i))||n.enumerable});return e};var at=(e,t,r)=>(r=e!=null?Szi(Azi(e)):{},uHt(t||!e||!e.__esModule?_K(r,"default",{value:e,enumerable:!0}):r,e)),Er=e=>uHt(_K({},"__esModule",{value:!0}),e);var aje={};Co(aje,{capitaliseFirstLetter:()=>oje,checkSlashesInUrl:()=>ije,downloadFile:()=>eje,error:()=>ou,getHelpDescription:()=>yK,getSubHelpDescription:()=>jue,httpCall:()=>tje,info:()=>jc,logErrorToFile:()=>rje,moveDirectory:()=>sje,parseEnv:()=>nje,progressBar:()=>KD,stringifyToDotEnv:()=>bK,success:()=>Fc});function eje(e,t){return new Promise((r,n)=>{t=WD.default.resolve(t),(0,ZFe.default)(e,{method:"GET"}).then(i=>{let o=VD.default.createWriteStream(t);if(i.body)i.body.pipe(o),i.body.on("end",r),i.body.on("error",n);else throw new Error(`Unable to retrieve docker-compose file - ${i.status}`)}).catch(i=>{throw i})})}async function tje(e,t){return(await(0,ZFe.default)(e,{method:t})).body}function yK(e){return Vj.default.cyan(e)}function jue(e){return Vj.default.green(e)}function ou(e){return process.exitCode=-1,Vj.default.red(`Error - ${e}`)}function Fc(e){return Vj.default.green(e)}function jc(e){return Vj.default.cyan(e)}function rje(e,t){VD.default.writeFileSync(WD.default.resolve(`./${e}`),`Budibase Error
3
3
  ${t}`)}function nje(e){let t=e.toString().split(`
4
4
  `),r={};for(let n of t){let i=n.match(/^([^=:#]+?)[=:](.*)/);i&&(r[i[1].trim()]=i[2].trim())}return r}function KD(e){let t=new lHt.SingleBar({},lHt.Presets.shades_classic);return t.start(e,0),t}function ije(e){return e.replace(/(https?:\/\/)|(\/)+/g,"$1$2")}function sje(e,t){let r=VD.default.readdirSync(e);for(let n of r)if(VD.default.existsSync((0,WD.join)(t,n)))throw new Error("Unable to remove top level directory - some skeleton files already exist.");for(let n of r)VD.default.renameSync((0,WD.join)(e,n),(0,WD.join)(t,n));VD.default.rmdirSync(e)}function oje(e){return e.charAt(0).toUpperCase()+e.slice(1)}function bK(e){let t="";for(let[r,n]of Object.entries(e))t+=`${r}=${n}
5
- `;return t}var Vj,VD,WD,ZFe,lHt,ad=ue(()=>{"use strict";Vj=at(require("chalk")),VD=at(require("fs")),WD=at(require("path")),ZFe=at(require("node-fetch")),lHt=require("cli-progress");s(eje,"downloadFile");s(tje,"httpCall");s(yK,"getHelpDescription");s(jue,"getSubHelpDescription");s(ou,"error");s(Fc,"success");s(jc,"info");s(rje,"logErrorToFile");s(nje,"parseEnv");s(KD,"progressBar");s(ije,"checkSlashesInUrl");s(sje,"moveDirectory");s(oje,"capitaliseFirstLetter");s(bK,"stringifyToDotEnv")});var fHt=ue(()=>{"use strict"});var dHt=ue(()=>{"use strict"});var pHt=ue(()=>{"use strict"});var hHt=ue(()=>{"use strict";fHt();dHt();pHt()});var mHt=ue(()=>{"use strict"});var gHt=ue(()=>{"use strict"});var _Ht=ue(()=>{"use strict"});var yHt=ue(()=>{"use strict"});var bHt=ue(()=>{"use strict"});var EHt=ue(()=>{"use strict"});var vHt=ue(()=>{"use strict"});var SHt=ue(()=>{"use strict"});var wHt=ue(()=>{"use strict"});var THt=ue(()=>{"use strict"});var AHt=ue(()=>{"use strict"});var xHt=ue(()=>{"use strict"});var CHt=ue(()=>{"use strict"});var OHt=ue(()=>{"use strict"});var RHt=ue(()=>{"use strict"});var IHt=ue(()=>{"use strict";CHt();OHt();RHt()});var kHt=ue(()=>{"use strict"});var NHt=ue(()=>{"use strict"});var PHt=ue(()=>{"use strict"});var DHt=ue(()=>{"use strict"});var MHt=ue(()=>{"use strict"});var LHt=ue(()=>{"use strict"});var qHt=ue(()=>{"use strict"});var BHt=ue(()=>{"use strict";wHt();THt();AHt();xHt();IHt();kHt();NHt();PHt();DHt();MHt();LHt();qHt()});var UHt=ue(()=>{"use strict"});var FHt=ue(()=>{"use strict"});var jHt=ue(()=>{"use strict"});var $Ht=ue(()=>{"use strict"});var HHt=ue(()=>{"use strict"});var GHt=ue(()=>{"use strict"});var zHt=ue(()=>{"use strict"});var VHt=ue(()=>{"use strict"});var WHt=ue(()=>{"use strict"});var KHt=ue(()=>{"use strict"});var YHt=ue(()=>{"use strict"});var QHt=ue(()=>{"use strict";HHt();GHt();zHt();VHt();WHt();KHt();YHt()});var XHt=ue(()=>{"use strict"});var JHt=ue(()=>{"use strict"});var ZHt=ue(()=>{"use strict"});var eGt=ue(()=>{"use strict"});var tGt=ue(()=>{"use strict"});var rGt=ue(()=>{"use strict"});var nGt=ue(()=>{"use strict"});var iGt=ue(()=>{"use strict"});var sGt=ue(()=>{"use strict"});var oGt=ue(()=>{"use strict"});var aGt=ue(()=>{"use strict"});var cGt=ue(()=>{"use strict"});var uGt=ue(()=>{"use strict"});var lGt=ue(()=>{"use strict"});var fGt=ue(()=>{"use strict"});var dGt=ue(()=>{"use strict"});var pGt=ue(()=>{"use strict"});var hGt=ue(()=>{"use strict"});var mGt=ue(()=>{"use strict"});var gGt=ue(()=>{"use strict"});var _Gt=ue(()=>{"use strict"});var yGt=ue(()=>{"use strict"});var bGt=ue(()=>{"use strict"});var EGt=ue(()=>{"use strict"});var vGt=ue(()=>{"use strict"});var SGt=ue(()=>{"use strict"});var wGt=ue(()=>{"use strict"});var TGt=ue(()=>{"use strict"});var AGt=ue(()=>{"use strict"});var xGt=ue(()=>{"use strict"});var CGt=ue(()=>{"use strict"});var OGt=ue(()=>{"use strict"});var RGt=ue(()=>{"use strict"});var IGt=ue(()=>{"use strict"});var kGt=ue(()=>{"use strict"});var Czi,Ozi,Rzi,NGt,PGt=ue(()=>{"use strict";Czi=["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"],Ozi=["automation:deleted","workspace_app:deleted","datasource:deleted","table:deleted","query:deleted","view:deleted"],Rzi=[...Czi,...Ozi],NGt={"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 DGt=ue(()=>{"use strict"});var MGt=ue(()=>{"use strict"});var LGt=ue(()=>{"use strict"});var qGt=ue(()=>{"use strict"});var BGt=ue(()=>{"use strict"});var UGt=ue(()=>{"use strict"});var FGt=ue(()=>{"use strict"});var jGt=ue(()=>{"use strict"});var $Gt=ue(()=>{"use strict"});var HGt=ue(()=>{"use strict"});var GGt=ue(()=>{"use strict"});var zGt=ue(()=>{"use strict"});var VGt=ue(()=>{"use strict"});var WGt=ue(()=>{"use strict"});var KGt=ue(()=>{"use strict"});var YGt=ue(()=>{"use strict"});var QGt=ue(()=>{"use strict"});var XGt=ue(()=>{"use strict";vGt();SGt();wGt();TGt();AGt();xGt();CGt();OGt();RGt();IGt();kGt();PGt();DGt();MGt();LGt();qGt();BGt();UGt();FGt();jGt();$Gt();HGt();GGt();zGt();VGt();WGt();KGt();YGt();QGt()});var JGt=ue(()=>{"use strict"});var ZGt=ue(()=>{"use strict"});var ezt=ue(()=>{"use strict"});var tzt=ue(()=>{"use strict"});var rzt=ue(()=>{"use strict"});var nzt=ue(()=>{"use strict";JGt();ZGt();ezt();tzt();rzt()});var cje,uje,lje,izt=ue(()=>{"use strict";cje=(n=>(n.SQL="sql",n.JSON="json",n.FIELDS="fields",n))(cje||{}),uje=(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))(uje||{}),lje=(n=>(n.CONNECTION_CHECKING="connection",n.FETCH_TABLE_NAMES="fetch_table_names",n.EXPORT_SCHEMA="export_schema",n))(lje||{})});var fje=y((SRu,szt)=>{"use strict";var Izi=typeof global=="object"&&global&&global.Object===Object&&global;szt.exports=Izi});var _m=y((wRu,ozt)=>{"use strict";var kzi=fje(),Nzi=typeof self=="object"&&self&&self.Object===Object&&self,Pzi=kzi||Nzi||Function("return this")();ozt.exports=Pzi});var nI=y((TRu,azt)=>{"use strict";var Dzi=_m(),Mzi=Dzi.Symbol;azt.exports=Mzi});var fzt=y((ARu,lzt)=>{"use strict";var czt=nI(),uzt=Object.prototype,Lzi=uzt.hasOwnProperty,qzi=uzt.toString,EK=czt?czt.toStringTag:void 0;function Bzi(e){var t=Lzi.call(e,EK),r=e[EK];try{e[EK]=void 0;var n=!0}catch{}var i=qzi.call(e);return n&&(t?e[EK]=r:delete e[EK]),i}s(Bzi,"getRawTag");lzt.exports=Bzi});var pzt=y((CRu,dzt)=>{"use strict";var Uzi=Object.prototype,Fzi=Uzi.toString;function jzi(e){return Fzi.call(e)}s(jzi,"objectToString");dzt.exports=jzi});var VA=y((RRu,gzt)=>{"use strict";var hzt=nI(),$zi=fzt(),Hzi=pzt(),Gzi="[object Null]",zzi="[object Undefined]",mzt=hzt?hzt.toStringTag:void 0;function Vzi(e){return e==null?e===void 0?zzi:Gzi:mzt&&mzt in Object(e)?$zi(e):Hzi(e)}s(Vzi,"baseGetTag");gzt.exports=Vzi});var dje=y((kRu,_zt)=>{"use strict";function Wzi(e,t){return function(r){return e(t(r))}}s(Wzi,"overArg");_zt.exports=Wzi});var vK=y((PRu,yzt)=>{"use strict";var Kzi=dje(),Yzi=Kzi(Object.getPrototypeOf,Object);yzt.exports=Yzi});var Og=y((DRu,bzt)=>{"use strict";function Qzi(e){return e!=null&&typeof e=="object"}s(Qzi,"isObjectLike");bzt.exports=Qzi});var _b=y((LRu,vzt)=>{"use strict";var Xzi=VA(),Jzi=vK(),Zzi=Og(),eVi="[object Object]",tVi=Function.prototype,rVi=Object.prototype,Ezt=tVi.toString,nVi=rVi.hasOwnProperty,iVi=Ezt.call(Object);function sVi(e){if(!Zzi(e)||Xzi(e)!=eVi)return!1;var t=Jzi(e);if(t===null)return!0;var r=nVi.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&Ezt.call(r)==iVi}s(sVi,"isPlainObject");vzt.exports=sVi});function $ue(e){return Object.values(wK).includes(e)}function Szt(e){return Object.values(Wj).includes(e)}function wzt(e){return Object.values(YD).includes(e)}function Hue(e){return Object.values(SK).includes(e)}var oVi,Wj,YD,SK,wK,Tzt=ue(()=>{"use strict";oVi=at(_b()),Wj=(a=>(a.EQUAL="equal",a.NOT_EQUAL="notEqual",a.EMPTY="empty",a.NOT_EMPTY="notEmpty",a.FUZZY="fuzzy",a.STRING="string",a))(Wj||{}),YD=(i=>(i.CONTAINS="contains",i.NOT_CONTAINS="notContains",i.CONTAINS_ANY="containsAny",i.ONE_OF="oneOf",i))(YD||{}),SK=(t=>(t.RANGE="range",t))(SK||{}),wK=(r=>(r.AND="$and",r.OR="$or",r))(wK||{});s($ue,"isLogicalSearchOperator");s(Szt,"isBasicSearchOperator");s(wzt,"isArraySearchOperator");s(Hue,"isRangeSearchOperator")});var Azt=ue(()=>{"use strict"});var xzt=ue(()=>{"use strict"});var Czt=ue(()=>{"use strict"});var Ozt,Rzt=ue(()=>{"use strict";Ozt=s(e=>typeof e=="object"&&e._id&&e._rev,"isDocument")});var Izt=ue(()=>{"use strict"});var TK,kzt=ue(()=>{"use strict";TK=(o=>(o.USER="user",o.HEADER="header",o.QUERY="query",o.SUBDOMAIN="subdomain",o.PATH="path",o))(TK||{})});var Nzt=ue(()=>{"use strict";Izt();kzt()});var Pzt,Dzt=ue(()=>{"use strict";Pzt={USE_ZOD_VALIDATOR:!1,AI_AGENTS:!1,USE_DYNAMIC_LOADING:!0,DIRECT_LOGIN_TO_ACCOUNT_PORTAL:!1,DEBUG_UI:!1}});var Mzt=ue(()=>{"use strict"});var Lzt=ue(()=>{"use strict"});var qzt=ue(()=>{"use strict"});var Bzt=ue(()=>{"use strict"});var QD,AK,WA,Uzt=ue(()=>{"use strict";QD=(o=>(o.BACKUPS="backups",o.HOSTING="hosting",o.ANALYTICS="analytics",o.HELP="help",o.PLUGIN="plugins",o))(QD||{}),AK=(r=>(r.QUICK="quick",r.DIGITAL_OCEAN="do",r))(AK||{}),WA={OptOut:"analytics:opt:out",OptIn:"analytics:opt:in",SelfHostInit:"hosting:init",PluginInit:"plugin:init"}});var Fzt=ue(()=>{"use strict";Uzt()});var jzt=ue(()=>{"use strict"});var $zt=ue(()=>{"use strict"});var Hzt=ue(()=>{"use strict"});var Gzt=ue(()=>{"use strict"});var zzt=ue(()=>{"use strict"});var Vzt=ue(()=>{"use strict";_Gt();yGt();bGt();EGt();XGt();nzt();izt();Tzt();Azt();xzt();Czt();Rzt();Nzt();Dzt();Mzt();Lzt();qzt();Bzt();Fzt();jzt();$zt();Hzt();Gzt();zzt()});var Wzt=ue(()=>{"use strict"});var Kzt=ue(()=>{"use strict"});var Yzt=ue(()=>{"use strict"});var Qzt=ue(()=>{"use strict"});var Xzt=ue(()=>{"use strict"});var Jzt=ue(()=>{"use strict"});var Zzt=ue(()=>{"use strict"});var eVt=ue(()=>{"use strict"});var tVt=ue(()=>{"use strict"});var rVt=ue(()=>{"use strict"});var nVt=ue(()=>{"use strict";ZHt();eGt();tGt();rGt();nGt();iGt();sGt();oGt();aGt();cGt();uGt();lGt();fGt();dGt();pGt();hGt();mGt();gGt();Wzt();Kzt();Yzt();Qzt();Xzt();Jzt();Zzt();eVt();tVt();rVt()});var iVt=ue(()=>{"use strict";mHt();gHt();_Ht();yHt();bHt();EHt();vHt();SHt();BHt();UHt();FHt();jHt();$Ht();QHt();XHt();JHt();nVt()});var sVt=ue(()=>{"use strict";hHt();iVt()});var oVt=ue(()=>{"use strict"});var aVt=ue(()=>{"use strict"});var cVt=ue(()=>{"use strict"});var uVt=ue(()=>{"use strict";oVt();aVt();cVt()});var pje,lVt=ue(()=>{"use strict";pje=s(e=>e.hosting==="cloud","isCloudAccount")});var fVt=ue(()=>{"use strict"});var dVt=ue(()=>{"use strict"});var pVt=ue(()=>{"use strict";lVt();fVt();dVt()});var Fs,XD,hje=ue(()=>{"use strict";Fs="_",XD=s(e=>`${e}${Fs}`,"prefixed")});var hVt=ue(()=>{"use strict"});var mVt=ue(()=>{"use strict"});var gVt=ue(()=>{"use strict"});var mje,_Vt,yVt=ue(()=>{"use strict";mje=(n=>(n.DATASOURCE="datasource",n.COMPONENT="component",n.AUTOMATION="automation",n))(mje||{}),_Vt=Object.values(mje)});var Hku,Gku,bVt=ue(()=>{"use strict";Hku=["rows","queries","automations"],Gku=["queries","automations"]});var EVt=ue(()=>{"use strict"});var vVt=ue(()=>{"use strict"});var SVt=ue(()=>{"use strict"});var wVt=ue(()=>{"use strict"});var TVt=ue(()=>{"use strict"});var AVt=ue(()=>{"use strict"});var xVt=ue(()=>{"use strict"});var CVt=ue(()=>{"use strict";hVt();mVt();gVt();yVt();bVt();EVt();vVt();SVt();wVt();TVt();AVt();xVt()});var OVt=ue(()=>{"use strict"});var RVt=ue(()=>{"use strict"});var IVt=ue(()=>{"use strict"});var kVt=ue(()=>{"use strict"});var NVt=ue(()=>{"use strict";OVt();RVt();IVt();kVt()});var PVt=ue(()=>{"use strict"});var gje,_je,yje,bje,DVt,MVt=ue(()=>{"use strict";gje=(f=>(f.OBJECT="object",f.STRING="string",f.BOOLEAN="boolean",f.NUMBER="number",f.ARRAY="array",f.JSON="json",f.DATE="date",f.DATETIME="datetime",f.ATTACHMENT="attachment",f.LONGFORM="longform",f))(gje||{}),_je=(N=>(N.TABLE="table",N.ROW="row",N.ROWS="rows",N.WIDE="wide",N.QUERY="query",N.QUERY_PARAMS="queryParams",N.QUERY_LIMIT="queryLimit",N.LOOP_OPTION="loopOption",N.ITEM="item",N.CODE="code",N.FILTERS="filters",N.COLUMN="column",N.TRIGGER_SCHEMA="triggerSchema",N.CRON="cron",N.WEBHOOK_URL="webhookUrl",N.AUTOMATION="automation",N.AUTOMATION_FIELDS="automationFields",N.MULTI_ATTACHMENTS="multi_attachments",N.TRIGGER_FILTER="trigger_filter",N.CATEGORIES="categories",N))(_je||{}),yje=(c=>(c.ROW_SAVED="ROW_SAVED",c.ROW_UPDATED="ROW_UPDATED",c.ROW_DELETED="ROW_DELETED",c.WEBHOOK="WEBHOOK",c.APP="APP",c.CRON="CRON",c.ROW_ACTION="ROW_ACTION",c))(yje||{}),bje=(F=>(F.SEND_EMAIL_SMTP="SEND_EMAIL_SMTP",F.CREATE_ROW="CREATE_ROW",F.UPDATE_ROW="UPDATE_ROW",F.DELETE_ROW="DELETE_ROW",F.EXECUTE_BASH="EXECUTE_BASH",F.OUTGOING_WEBHOOK="OUTGOING_WEBHOOK",F.EXECUTE_SCRIPT="EXECUTE_SCRIPT",F.EXECUTE_SCRIPT_V2="EXECUTE_SCRIPT_V2",F.EXECUTE_QUERY="EXECUTE_QUERY",F.SERVER_LOG="SERVER_LOG",F.DELAY="DELAY",F.FILTER="FILTER",F.API_REQUEST="API_REQUEST",F.QUERY_ROWS="QUERY_ROWS",F.LOOP="LOOP",F.COLLECT="COLLECT",F.OPENAI="OPENAI",F.TRIGGER_AUTOMATION_RUN="TRIGGER_AUTOMATION_RUN",F.BRANCH="BRANCH",F.CLASSIFY_CONTENT="CLASSIFY_CONTENT",F.PROMPT_LLM="PROMPT_LLM",F.TRANSLATE="TRANSLATE",F.SUMMARISE="SUMMARISE",F.GENERATE_TEXT="GENERATE_TEXT",F.EXTRACT_FILE_DATA="EXTRACT_FILE_DATA",F.EXTRACT_STATE="EXTRACT_STATE",F.LOOP_V2="LOOP_V2",F.discord="discord",F.slack="slack",F.zapier="zapier",F.integromat="integromat",F.n8n="n8n",F))(bje||{}),DVt=[...Object.values(bje),...Object.values(yje)]});function LVt(e){return e.stepId==="BRANCH"}var qVt=ue(()=>{"use strict";s(LVt,"isBranchStep")});var BVt=ue(()=>{"use strict"});var UVt=ue(()=>{"use strict";MVt();qVt();BVt()});var FVt=ue(()=>{"use strict"});var jVt=ue(()=>{"use strict"});var $Vt=ue(()=>{"use strict"});var HVt=ue(()=>{"use strict"});var GVt=ue(()=>{"use strict"});var zVt=ue(()=>{"use strict"});var VVt=ue(()=>{"use strict"});var WVt=ue(()=>{"use strict"});var KVt=ue(()=>{"use strict"});var YVt=ue(()=>{"use strict"});var QVt=ue(()=>{"use strict"});var XVt=ue(()=>{"use strict"});var JVt=ue(()=>{"use strict"});var ZVt=ue(()=>{"use strict";QVt();JVt();XVt()});var e5t=ue(()=>{"use strict"});var t5t=ue(()=>{"use strict"});var r5t=ue(()=>{"use strict"});var n5t=ue(()=>{"use strict"});var i5t=ue(()=>{"use strict"});var s5t=ue(()=>{"use strict"});var o5t=ue(()=>{"use strict"});var a5t=ue(()=>{"use strict"});var c5t=ue(()=>{"use strict"});var u5t=ue(()=>{"use strict"});var l5t=ue(()=>{"use strict"});var f5t=ue(()=>{"use strict"});var d5t=ue(()=>{"use strict";hje();UVt();FVt();jVt();$Vt();HVt();GVt();zVt();VVt();WVt();KVt();YVt();e5t();t5t();r5t();n5t();i5t();ZVt();s5t();o5t();a5t();c5t();u5t();l5t();f5t()});var p5t=ue(()=>{"use strict";pVt();hje();CVt();NVt();PVt();d5t()});var h5t=ue(()=>{"use strict"});var m5t=ue(()=>{"use strict";h5t()});var g5t=ue(()=>{"use strict"});var _5t=ue(()=>{"use strict"});var y5t=ue(()=>{"use strict";g5t();_5t()});var b5t=ue(()=>{"use strict"});var E5t=ue(()=>{"use strict"});var v5t=ue(()=>{"use strict"});var S5t=ue(()=>{"use strict"});var w5t=ue(()=>{"use strict";v5t();S5t()});var T5t=ue(()=>{"use strict"});var A5t=ue(()=>{"use strict";T5t()});var x5t=ue(()=>{"use strict"});var C5t=ue(()=>{"use strict"});var O5t=ue(()=>{"use strict"});var R5t=ue(()=>{"use strict"});var I5t=ue(()=>{"use strict"});var k5t=ue(()=>{"use strict";C5t();O5t();R5t();I5t()});var N5t=ue(()=>{"use strict"});var P5t=ue(()=>{"use strict"});var D5t=ue(()=>{"use strict"});var M5t=ue(()=>{"use strict"});var L5t=ue(()=>{"use strict"});var q5t=ue(()=>{"use strict"});var B5t=ue(()=>{"use strict"});var U5t=ue(()=>{"use strict"});var F5t=ue(()=>{"use strict"});var j5t=ue(()=>{"use strict"});var $5t=ue(()=>{"use strict"});var H5t=ue(()=>{"use strict"});var G5t=ue(()=>{"use strict"});var z5t=ue(()=>{"use strict";q5t();B5t();U5t();F5t();j5t();$5t();H5t();G5t()});var V5t=ue(()=>{"use strict"});var W5t=ue(()=>{"use strict"});var K5t=ue(()=>{"use strict";D5t();M5t();L5t();z5t();V5t();W5t()});var Y5t=ue(()=>{"use strict"});var Q5t=ue(()=>{"use strict";y5t();b5t();E5t();w5t();A5t();x5t();k5t();N5t();P5t();K5t();Y5t()});var Ir=ue(()=>{"use strict";sVt();uVt();p5t();Vzt();m5t();Q5t()});var X5t={};Co(X5t,{AnalyticsEvent:()=>WA,CommandWord:()=>QD,GENERATED_USER_EMAIL:()=>vje,InitType:()=>AK,POSTHOG_TOKEN:()=>Eje});var Eje,vje,iI=ue(()=>{"use strict";Ir();Eje="phc_bIjZL7oh2GEUd2vqvTBH8WvrX0fWTFQMs6H5KQxiUxU",vje="admin@admin.com"});async function sI(e){let t={type:"confirm",message:e,default:!0,name:"confirmation"};return(await wje.prompt(t)).confirmation}async function JD(e,t){let r={type:"input",name:"string",message:e};return t&&(r.default=t),(await wje.prompt(r)).string}async function e9t(e,t){let r={type:"input",name:"number",message:e,validate:n=>!isNaN(parseFloat(n))||"Please enter a number",filter:Number};return t&&(r.default=t),(await wje.prompt(r)).number}var wje,ZD=ue(()=>{"use strict";wje=require("inquirer");s(sI,"confirmation");s(JD,"string");s(e9t,"number")});var i9t={};Co(i9t,{checkDockerConfigured:()=>Tv,checkInitComplete:()=>KA,downloadDockerCompose:()=>xK,getAppService:()=>Kue,getServiceImage:()=>Wue,getServices:()=>CK,handleError:()=>YA,setServiceImage:()=>xje,updateDockerComposeService:()=>Cje});function Aje(){return n9t.split("/").slice(-1)[0]}function Wue(e){let t=Aje();try{let{services:r}=CK(t),n=Object.keys(r).find(i=>i.includes(e));return n?r[n].image:null}catch{return null}}function xje(e,t){let r=Aje();if(!PS.default.existsSync(r))throw new Error(`File ${r} not found, cannot update ${e} image.`);let n=Wue(e),i=PS.default.readFileSync(r,"utf8");i=i.replace(`image: ${n}`,`image: ${t}`),PS.default.writeFileSync(r,i)}async function xK(){let e=Aje();try{await eje(n9t,`./${e}`)}catch(t){console.error(ou(`Failed to retrieve compose file - ${t}`))}}async function Tv(){let e="docker has not been installed, please follow instructions at: https://docs.budibase.com/docs/docker-compose";if(!await(0,r9t.lookpath)("docker"))throw e}function KA(){if(!PS.default.existsSync(Qj)&&!PS.default.existsSync(Yj))throw"Please run the hosting --init command before any other hosting command."}async function YA(e){try{await e()}catch(t){throw t&&t.err&&rje(t9t,t.err),`Failed to start - logs written to file: ${t9t}`}}function CK(e){if(!PS.default.existsSync(e))throw new Error(`No yaml found at path: ${e}`);let t=PS.default.readFileSync(e,"utf8"),r=Tje.default.parse(t);return{yaml:r,services:r.services}}function Kue(e){let{yaml:t,services:r}=CK(e),n=Object.keys(r),i;return r["app-service"]?i=r["app-service"]:n.length===1&&(i=r[n[0]]),{yaml:t,service:i}}function Cje(e){let r=["docker-compose.yaml","docker-compose.yml"].find(o=>PS.default.existsSync(o));if(!r){console.log(ou("Unable to locate docker-compose YAML."));return}let{yaml:n,service:i}=Kue(r);if(!i){console.log(ou("Unable to locate service within compose file, is it a valid Budibase configuration?"));return}e(i),PS.default.writeFileSync(r,Tje.default.stringify(n))}var r9t,PS,Tje,t9t,n9t,QA=ue(()=>{"use strict";r9t=require("lookpath"),PS=at(require("fs"));OK();ad();Tje=at(require("yaml")),t9t="docker-error.log",n9t="https://raw.githubusercontent.com/Budibase/budibase/master/hosting/docker-compose.yaml";s(Aje,"composeFilename");s(Wue,"getServiceImage");s(xje,"setServiceImage");s(xK,"downloadDockerCompose");s(Tv,"checkDockerConfigured");s(KA,"checkInitComplete");s(YA,"handleError");s(CK,"getServices");s(Kue,"getAppService");s(Cje,"updateDockerComposeService")});function a9t(e={single:!1}){let t=["API_ENCRYPTION_KEY","JWT_SECRET","MINIO_ACCESS_KEY","MINIO_SECRET_KEY","REDIS_PASSWORD","INTERNAL_API_KEY"],r={};return t.forEach(n=>r[n]=Rje.generate()),e&&e.single?(r.COUCHDB_USER="admin",r.COUCHDB_PASSWORD=Rje.generate()):(r.COUCH_DB_USER="admin",r.COUCH_DB_PASSWORD=Rje.generate()),r}function gVi(e){let t={version:"3",services:{budibase:{restart:"unless-stopped",image:mVi,ports:[`${e}:80`],environment:a9t({single:!0}),volumes:[`${s9t}:/data`]}},volumes:{[s9t]:{driver:"local"}}};return o9t.default.stringify(t)}function _Vi(e){let t=bK({MAIN_PORT:e}),r=bK(a9t()),n=bK({APP_PORT:4002,WORKER_PORT:4003,MINIO_PORT:4004,COUCH_DB_PORT:4005,REDIS_PORT:6379,WATCHTOWER_PORT:6161,BUDIBASE_ENVIRONMENT:"PRODUCTION"});return["# Use the main port in the builder for your self hosting URL, e.g. localhost:10000",t,"# This section contains all secrets pertaining to the system",r,"# This section contains variables that do not need to be altered under normal circumstances",n].join(`
5
+ `;return t}var Vj,VD,WD,ZFe,lHt,ad=ue(()=>{"use strict";Vj=at(require("chalk")),VD=at(require("fs")),WD=at(require("path")),ZFe=at(require("node-fetch")),lHt=require("cli-progress");s(eje,"downloadFile");s(tje,"httpCall");s(yK,"getHelpDescription");s(jue,"getSubHelpDescription");s(ou,"error");s(Fc,"success");s(jc,"info");s(rje,"logErrorToFile");s(nje,"parseEnv");s(KD,"progressBar");s(ije,"checkSlashesInUrl");s(sje,"moveDirectory");s(oje,"capitaliseFirstLetter");s(bK,"stringifyToDotEnv")});var fHt=ue(()=>{"use strict"});var dHt=ue(()=>{"use strict"});var pHt=ue(()=>{"use strict"});var hHt=ue(()=>{"use strict";fHt();dHt();pHt()});var mHt=ue(()=>{"use strict"});var gHt=ue(()=>{"use strict"});var _Ht=ue(()=>{"use strict"});var yHt=ue(()=>{"use strict"});var bHt=ue(()=>{"use strict"});var EHt=ue(()=>{"use strict"});var vHt=ue(()=>{"use strict"});var SHt=ue(()=>{"use strict"});var wHt=ue(()=>{"use strict"});var THt=ue(()=>{"use strict"});var AHt=ue(()=>{"use strict"});var xHt=ue(()=>{"use strict"});var CHt=ue(()=>{"use strict"});var OHt=ue(()=>{"use strict"});var RHt=ue(()=>{"use strict"});var IHt=ue(()=>{"use strict";CHt();OHt();RHt()});var kHt=ue(()=>{"use strict"});var NHt=ue(()=>{"use strict"});var PHt=ue(()=>{"use strict"});var DHt=ue(()=>{"use strict"});var MHt=ue(()=>{"use strict"});var LHt=ue(()=>{"use strict"});var qHt=ue(()=>{"use strict"});var BHt=ue(()=>{"use strict";wHt();THt();AHt();xHt();IHt();kHt();NHt();PHt();DHt();MHt();LHt();qHt()});var UHt=ue(()=>{"use strict"});var FHt=ue(()=>{"use strict"});var jHt=ue(()=>{"use strict"});var $Ht=ue(()=>{"use strict"});var HHt=ue(()=>{"use strict"});var GHt=ue(()=>{"use strict"});var zHt=ue(()=>{"use strict"});var VHt=ue(()=>{"use strict"});var WHt=ue(()=>{"use strict"});var KHt=ue(()=>{"use strict"});var YHt=ue(()=>{"use strict"});var QHt=ue(()=>{"use strict";HHt();GHt();zHt();VHt();WHt();KHt();YHt()});var XHt=ue(()=>{"use strict"});var JHt=ue(()=>{"use strict"});var ZHt=ue(()=>{"use strict"});var eGt=ue(()=>{"use strict"});var tGt=ue(()=>{"use strict"});var rGt=ue(()=>{"use strict"});var nGt=ue(()=>{"use strict"});var iGt=ue(()=>{"use strict"});var sGt=ue(()=>{"use strict"});var oGt=ue(()=>{"use strict"});var aGt=ue(()=>{"use strict"});var cGt=ue(()=>{"use strict"});var uGt=ue(()=>{"use strict"});var lGt=ue(()=>{"use strict"});var fGt=ue(()=>{"use strict"});var dGt=ue(()=>{"use strict"});var pGt=ue(()=>{"use strict"});var hGt=ue(()=>{"use strict"});var mGt=ue(()=>{"use strict"});var gGt=ue(()=>{"use strict"});var _Gt=ue(()=>{"use strict"});var yGt=ue(()=>{"use strict"});var bGt=ue(()=>{"use strict"});var EGt=ue(()=>{"use strict"});var vGt=ue(()=>{"use strict"});var SGt=ue(()=>{"use strict"});var wGt=ue(()=>{"use strict"});var TGt=ue(()=>{"use strict"});var AGt=ue(()=>{"use strict"});var xGt=ue(()=>{"use strict"});var CGt=ue(()=>{"use strict"});var OGt=ue(()=>{"use strict"});var RGt=ue(()=>{"use strict"});var IGt=ue(()=>{"use strict"});var kGt=ue(()=>{"use strict"});var Czi,Ozi,Rzi,NGt,PGt=ue(()=>{"use strict";Czi=["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"],Ozi=["automation:deleted","workspace_app:deleted","datasource:deleted","table:deleted","query:deleted","view:deleted"],Rzi=[...Czi,...Ozi],NGt={"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 DGt=ue(()=>{"use strict"});var MGt=ue(()=>{"use strict"});var LGt=ue(()=>{"use strict"});var qGt=ue(()=>{"use strict"});var BGt=ue(()=>{"use strict"});var UGt=ue(()=>{"use strict"});var FGt=ue(()=>{"use strict"});var jGt=ue(()=>{"use strict"});var $Gt=ue(()=>{"use strict"});var HGt=ue(()=>{"use strict"});var GGt=ue(()=>{"use strict"});var zGt=ue(()=>{"use strict"});var VGt=ue(()=>{"use strict"});var WGt=ue(()=>{"use strict"});var KGt=ue(()=>{"use strict"});var YGt=ue(()=>{"use strict"});var QGt=ue(()=>{"use strict"});var XGt=ue(()=>{"use strict";vGt();SGt();wGt();TGt();AGt();xGt();CGt();OGt();RGt();IGt();kGt();PGt();DGt();MGt();LGt();qGt();BGt();UGt();FGt();jGt();$Gt();HGt();GGt();zGt();VGt();WGt();KGt();YGt();QGt()});var JGt=ue(()=>{"use strict"});var ZGt=ue(()=>{"use strict"});var ezt=ue(()=>{"use strict"});var tzt=ue(()=>{"use strict"});var rzt=ue(()=>{"use strict"});var nzt=ue(()=>{"use strict";JGt();ZGt();ezt();tzt();rzt()});var cje,uje,lje,izt=ue(()=>{"use strict";cje=(n=>(n.SQL="sql",n.JSON="json",n.FIELDS="fields",n))(cje||{}),uje=(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))(uje||{}),lje=(n=>(n.CONNECTION_CHECKING="connection",n.FETCH_TABLE_NAMES="fetch_table_names",n.EXPORT_SCHEMA="export_schema",n))(lje||{})});var fje=y((SRu,szt)=>{"use strict";var Izi=typeof global=="object"&&global&&global.Object===Object&&global;szt.exports=Izi});var _m=y((wRu,ozt)=>{"use strict";var kzi=fje(),Nzi=typeof self=="object"&&self&&self.Object===Object&&self,Pzi=kzi||Nzi||Function("return this")();ozt.exports=Pzi});var nI=y((TRu,azt)=>{"use strict";var Dzi=_m(),Mzi=Dzi.Symbol;azt.exports=Mzi});var fzt=y((ARu,lzt)=>{"use strict";var czt=nI(),uzt=Object.prototype,Lzi=uzt.hasOwnProperty,qzi=uzt.toString,EK=czt?czt.toStringTag:void 0;function Bzi(e){var t=Lzi.call(e,EK),r=e[EK];try{e[EK]=void 0;var n=!0}catch{}var i=qzi.call(e);return n&&(t?e[EK]=r:delete e[EK]),i}s(Bzi,"getRawTag");lzt.exports=Bzi});var pzt=y((CRu,dzt)=>{"use strict";var Uzi=Object.prototype,Fzi=Uzi.toString;function jzi(e){return Fzi.call(e)}s(jzi,"objectToString");dzt.exports=jzi});var VA=y((RRu,gzt)=>{"use strict";var hzt=nI(),$zi=fzt(),Hzi=pzt(),Gzi="[object Null]",zzi="[object Undefined]",mzt=hzt?hzt.toStringTag:void 0;function Vzi(e){return e==null?e===void 0?zzi:Gzi:mzt&&mzt in Object(e)?$zi(e):Hzi(e)}s(Vzi,"baseGetTag");gzt.exports=Vzi});var dje=y((kRu,_zt)=>{"use strict";function Wzi(e,t){return function(r){return e(t(r))}}s(Wzi,"overArg");_zt.exports=Wzi});var vK=y((PRu,yzt)=>{"use strict";var Kzi=dje(),Yzi=Kzi(Object.getPrototypeOf,Object);yzt.exports=Yzi});var Og=y((DRu,bzt)=>{"use strict";function Qzi(e){return e!=null&&typeof e=="object"}s(Qzi,"isObjectLike");bzt.exports=Qzi});var _b=y((LRu,vzt)=>{"use strict";var Xzi=VA(),Jzi=vK(),Zzi=Og(),eVi="[object Object]",tVi=Function.prototype,rVi=Object.prototype,Ezt=tVi.toString,nVi=rVi.hasOwnProperty,iVi=Ezt.call(Object);function sVi(e){if(!Zzi(e)||Xzi(e)!=eVi)return!1;var t=Jzi(e);if(t===null)return!0;var r=nVi.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&Ezt.call(r)==iVi}s(sVi,"isPlainObject");vzt.exports=sVi});function $ue(e){return Object.values(wK).includes(e)}function Szt(e){return Object.values(Wj).includes(e)}function wzt(e){return Object.values(YD).includes(e)}function Hue(e){return Object.values(SK).includes(e)}var oVi,Wj,YD,SK,wK,Tzt=ue(()=>{"use strict";oVi=at(_b()),Wj=(a=>(a.EQUAL="equal",a.NOT_EQUAL="notEqual",a.EMPTY="empty",a.NOT_EMPTY="notEmpty",a.FUZZY="fuzzy",a.STRING="string",a))(Wj||{}),YD=(i=>(i.CONTAINS="contains",i.NOT_CONTAINS="notContains",i.CONTAINS_ANY="containsAny",i.ONE_OF="oneOf",i))(YD||{}),SK=(t=>(t.RANGE="range",t))(SK||{}),wK=(r=>(r.AND="$and",r.OR="$or",r))(wK||{});s($ue,"isLogicalSearchOperator");s(Szt,"isBasicSearchOperator");s(wzt,"isArraySearchOperator");s(Hue,"isRangeSearchOperator")});var Azt=ue(()=>{"use strict"});var xzt=ue(()=>{"use strict"});var Czt=ue(()=>{"use strict"});var Ozt,Rzt=ue(()=>{"use strict";Ozt=s(e=>typeof e=="object"&&e._id&&e._rev,"isDocument")});var Izt=ue(()=>{"use strict"});var TK,kzt=ue(()=>{"use strict";TK=(o=>(o.USER="user",o.HEADER="header",o.QUERY="query",o.SUBDOMAIN="subdomain",o.PATH="path",o))(TK||{})});var Nzt=ue(()=>{"use strict";Izt();kzt()});var Pzt,Dzt=ue(()=>{"use strict";Pzt={USE_ZOD_VALIDATOR:!1,AI_AGENTS:!1,USE_DYNAMIC_LOADING:!0,DIRECT_LOGIN_TO_ACCOUNT_PORTAL:!1,DEBUG_UI:!1,DUPLICATE_APP:!1}});var Mzt=ue(()=>{"use strict"});var Lzt=ue(()=>{"use strict"});var qzt=ue(()=>{"use strict"});var Bzt=ue(()=>{"use strict"});var QD,AK,WA,Uzt=ue(()=>{"use strict";QD=(o=>(o.BACKUPS="backups",o.HOSTING="hosting",o.ANALYTICS="analytics",o.HELP="help",o.PLUGIN="plugins",o))(QD||{}),AK=(r=>(r.QUICK="quick",r.DIGITAL_OCEAN="do",r))(AK||{}),WA={OptOut:"analytics:opt:out",OptIn:"analytics:opt:in",SelfHostInit:"hosting:init",PluginInit:"plugin:init"}});var Fzt=ue(()=>{"use strict";Uzt()});var jzt=ue(()=>{"use strict"});var $zt=ue(()=>{"use strict"});var Hzt=ue(()=>{"use strict"});var Gzt=ue(()=>{"use strict"});var zzt=ue(()=>{"use strict"});var Vzt=ue(()=>{"use strict";_Gt();yGt();bGt();EGt();XGt();nzt();izt();Tzt();Azt();xzt();Czt();Rzt();Nzt();Dzt();Mzt();Lzt();qzt();Bzt();Fzt();jzt();$zt();Hzt();Gzt();zzt()});var Wzt=ue(()=>{"use strict"});var Kzt=ue(()=>{"use strict"});var Yzt=ue(()=>{"use strict"});var Qzt=ue(()=>{"use strict"});var Xzt=ue(()=>{"use strict"});var Jzt=ue(()=>{"use strict"});var Zzt=ue(()=>{"use strict"});var eVt=ue(()=>{"use strict"});var tVt=ue(()=>{"use strict"});var rVt=ue(()=>{"use strict"});var nVt=ue(()=>{"use strict";ZHt();eGt();tGt();rGt();nGt();iGt();sGt();oGt();aGt();cGt();uGt();lGt();fGt();dGt();pGt();hGt();mGt();gGt();Wzt();Kzt();Yzt();Qzt();Xzt();Jzt();Zzt();eVt();tVt();rVt()});var iVt=ue(()=>{"use strict";mHt();gHt();_Ht();yHt();bHt();EHt();vHt();SHt();BHt();UHt();FHt();jHt();$Ht();QHt();XHt();JHt();nVt()});var sVt=ue(()=>{"use strict";hHt();iVt()});var oVt=ue(()=>{"use strict"});var aVt=ue(()=>{"use strict"});var cVt=ue(()=>{"use strict"});var uVt=ue(()=>{"use strict";oVt();aVt();cVt()});var pje,lVt=ue(()=>{"use strict";pje=s(e=>e.hosting==="cloud","isCloudAccount")});var fVt=ue(()=>{"use strict"});var dVt=ue(()=>{"use strict"});var pVt=ue(()=>{"use strict";lVt();fVt();dVt()});var Fs,XD,hje=ue(()=>{"use strict";Fs="_",XD=s(e=>`${e}${Fs}`,"prefixed")});var hVt=ue(()=>{"use strict"});var mVt=ue(()=>{"use strict"});var gVt=ue(()=>{"use strict"});var mje,_Vt,yVt=ue(()=>{"use strict";mje=(n=>(n.DATASOURCE="datasource",n.COMPONENT="component",n.AUTOMATION="automation",n))(mje||{}),_Vt=Object.values(mje)});var Hku,Gku,bVt=ue(()=>{"use strict";Hku=["rows","queries","automations"],Gku=["queries","automations"]});var EVt=ue(()=>{"use strict"});var vVt=ue(()=>{"use strict"});var SVt=ue(()=>{"use strict"});var wVt=ue(()=>{"use strict"});var TVt=ue(()=>{"use strict"});var AVt=ue(()=>{"use strict"});var xVt=ue(()=>{"use strict"});var CVt=ue(()=>{"use strict";hVt();mVt();gVt();yVt();bVt();EVt();vVt();SVt();wVt();TVt();AVt();xVt()});var OVt=ue(()=>{"use strict"});var RVt=ue(()=>{"use strict"});var IVt=ue(()=>{"use strict"});var kVt=ue(()=>{"use strict"});var NVt=ue(()=>{"use strict";OVt();RVt();IVt();kVt()});var PVt=ue(()=>{"use strict"});var gje,_je,yje,bje,DVt,MVt=ue(()=>{"use strict";gje=(f=>(f.OBJECT="object",f.STRING="string",f.BOOLEAN="boolean",f.NUMBER="number",f.ARRAY="array",f.JSON="json",f.DATE="date",f.DATETIME="datetime",f.ATTACHMENT="attachment",f.LONGFORM="longform",f))(gje||{}),_je=(N=>(N.TABLE="table",N.ROW="row",N.ROWS="rows",N.WIDE="wide",N.QUERY="query",N.QUERY_PARAMS="queryParams",N.QUERY_LIMIT="queryLimit",N.LOOP_OPTION="loopOption",N.ITEM="item",N.CODE="code",N.FILTERS="filters",N.COLUMN="column",N.TRIGGER_SCHEMA="triggerSchema",N.CRON="cron",N.WEBHOOK_URL="webhookUrl",N.AUTOMATION="automation",N.AUTOMATION_FIELDS="automationFields",N.MULTI_ATTACHMENTS="multi_attachments",N.TRIGGER_FILTER="trigger_filter",N.CATEGORIES="categories",N))(_je||{}),yje=(c=>(c.ROW_SAVED="ROW_SAVED",c.ROW_UPDATED="ROW_UPDATED",c.ROW_DELETED="ROW_DELETED",c.WEBHOOK="WEBHOOK",c.APP="APP",c.CRON="CRON",c.ROW_ACTION="ROW_ACTION",c))(yje||{}),bje=(F=>(F.SEND_EMAIL_SMTP="SEND_EMAIL_SMTP",F.CREATE_ROW="CREATE_ROW",F.UPDATE_ROW="UPDATE_ROW",F.DELETE_ROW="DELETE_ROW",F.EXECUTE_BASH="EXECUTE_BASH",F.OUTGOING_WEBHOOK="OUTGOING_WEBHOOK",F.EXECUTE_SCRIPT="EXECUTE_SCRIPT",F.EXECUTE_SCRIPT_V2="EXECUTE_SCRIPT_V2",F.EXECUTE_QUERY="EXECUTE_QUERY",F.SERVER_LOG="SERVER_LOG",F.DELAY="DELAY",F.FILTER="FILTER",F.API_REQUEST="API_REQUEST",F.QUERY_ROWS="QUERY_ROWS",F.LOOP="LOOP",F.COLLECT="COLLECT",F.OPENAI="OPENAI",F.TRIGGER_AUTOMATION_RUN="TRIGGER_AUTOMATION_RUN",F.BRANCH="BRANCH",F.CLASSIFY_CONTENT="CLASSIFY_CONTENT",F.PROMPT_LLM="PROMPT_LLM",F.TRANSLATE="TRANSLATE",F.SUMMARISE="SUMMARISE",F.GENERATE_TEXT="GENERATE_TEXT",F.EXTRACT_FILE_DATA="EXTRACT_FILE_DATA",F.EXTRACT_STATE="EXTRACT_STATE",F.LOOP_V2="LOOP_V2",F.discord="discord",F.slack="slack",F.zapier="zapier",F.integromat="integromat",F.n8n="n8n",F))(bje||{}),DVt=[...Object.values(bje),...Object.values(yje)]});function LVt(e){return e.stepId==="BRANCH"}var qVt=ue(()=>{"use strict";s(LVt,"isBranchStep")});var BVt=ue(()=>{"use strict"});var UVt=ue(()=>{"use strict";MVt();qVt();BVt()});var FVt=ue(()=>{"use strict"});var jVt=ue(()=>{"use strict"});var $Vt=ue(()=>{"use strict"});var HVt=ue(()=>{"use strict"});var GVt=ue(()=>{"use strict"});var zVt=ue(()=>{"use strict"});var VVt=ue(()=>{"use strict"});var WVt=ue(()=>{"use strict"});var KVt=ue(()=>{"use strict"});var YVt=ue(()=>{"use strict"});var QVt=ue(()=>{"use strict"});var XVt=ue(()=>{"use strict"});var JVt=ue(()=>{"use strict"});var ZVt=ue(()=>{"use strict";QVt();JVt();XVt()});var e5t=ue(()=>{"use strict"});var t5t=ue(()=>{"use strict"});var r5t=ue(()=>{"use strict"});var n5t=ue(()=>{"use strict"});var i5t=ue(()=>{"use strict"});var s5t=ue(()=>{"use strict"});var o5t=ue(()=>{"use strict"});var a5t=ue(()=>{"use strict"});var c5t=ue(()=>{"use strict"});var u5t=ue(()=>{"use strict"});var l5t=ue(()=>{"use strict"});var f5t=ue(()=>{"use strict"});var d5t=ue(()=>{"use strict";hje();UVt();FVt();jVt();$Vt();HVt();GVt();zVt();VVt();WVt();KVt();YVt();e5t();t5t();r5t();n5t();i5t();ZVt();s5t();o5t();a5t();c5t();u5t();l5t();f5t()});var p5t=ue(()=>{"use strict";pVt();hje();CVt();NVt();PVt();d5t()});var h5t=ue(()=>{"use strict"});var m5t=ue(()=>{"use strict";h5t()});var g5t=ue(()=>{"use strict"});var _5t=ue(()=>{"use strict"});var y5t=ue(()=>{"use strict";g5t();_5t()});var b5t=ue(()=>{"use strict"});var E5t=ue(()=>{"use strict"});var v5t=ue(()=>{"use strict"});var S5t=ue(()=>{"use strict"});var w5t=ue(()=>{"use strict";v5t();S5t()});var T5t=ue(()=>{"use strict"});var A5t=ue(()=>{"use strict";T5t()});var x5t=ue(()=>{"use strict"});var C5t=ue(()=>{"use strict"});var O5t=ue(()=>{"use strict"});var R5t=ue(()=>{"use strict"});var I5t=ue(()=>{"use strict"});var k5t=ue(()=>{"use strict";C5t();O5t();R5t();I5t()});var N5t=ue(()=>{"use strict"});var P5t=ue(()=>{"use strict"});var D5t=ue(()=>{"use strict"});var M5t=ue(()=>{"use strict"});var L5t=ue(()=>{"use strict"});var q5t=ue(()=>{"use strict"});var B5t=ue(()=>{"use strict"});var U5t=ue(()=>{"use strict"});var F5t=ue(()=>{"use strict"});var j5t=ue(()=>{"use strict"});var $5t=ue(()=>{"use strict"});var H5t=ue(()=>{"use strict"});var G5t=ue(()=>{"use strict"});var z5t=ue(()=>{"use strict";q5t();B5t();U5t();F5t();j5t();$5t();H5t();G5t()});var V5t=ue(()=>{"use strict"});var W5t=ue(()=>{"use strict"});var K5t=ue(()=>{"use strict";D5t();M5t();L5t();z5t();V5t();W5t()});var Y5t=ue(()=>{"use strict"});var Q5t=ue(()=>{"use strict";y5t();b5t();E5t();w5t();A5t();x5t();k5t();N5t();P5t();K5t();Y5t()});var Ir=ue(()=>{"use strict";sVt();uVt();p5t();Vzt();m5t();Q5t()});var X5t={};Co(X5t,{AnalyticsEvent:()=>WA,CommandWord:()=>QD,GENERATED_USER_EMAIL:()=>vje,InitType:()=>AK,POSTHOG_TOKEN:()=>Eje});var Eje,vje,iI=ue(()=>{"use strict";Ir();Eje="phc_bIjZL7oh2GEUd2vqvTBH8WvrX0fWTFQMs6H5KQxiUxU",vje="admin@admin.com"});async function sI(e){let t={type:"confirm",message:e,default:!0,name:"confirmation"};return(await wje.prompt(t)).confirmation}async function JD(e,t){let r={type:"input",name:"string",message:e};return t&&(r.default=t),(await wje.prompt(r)).string}async function e9t(e,t){let r={type:"input",name:"number",message:e,validate:n=>!isNaN(parseFloat(n))||"Please enter a number",filter:Number};return t&&(r.default=t),(await wje.prompt(r)).number}var wje,ZD=ue(()=>{"use strict";wje=require("inquirer");s(sI,"confirmation");s(JD,"string");s(e9t,"number")});var i9t={};Co(i9t,{checkDockerConfigured:()=>Tv,checkInitComplete:()=>KA,downloadDockerCompose:()=>xK,getAppService:()=>Kue,getServiceImage:()=>Wue,getServices:()=>CK,handleError:()=>YA,setServiceImage:()=>xje,updateDockerComposeService:()=>Cje});function Aje(){return n9t.split("/").slice(-1)[0]}function Wue(e){let t=Aje();try{let{services:r}=CK(t),n=Object.keys(r).find(i=>i.includes(e));return n?r[n].image:null}catch{return null}}function xje(e,t){let r=Aje();if(!PS.default.existsSync(r))throw new Error(`File ${r} not found, cannot update ${e} image.`);let n=Wue(e),i=PS.default.readFileSync(r,"utf8");i=i.replace(`image: ${n}`,`image: ${t}`),PS.default.writeFileSync(r,i)}async function xK(){let e=Aje();try{await eje(n9t,`./${e}`)}catch(t){console.error(ou(`Failed to retrieve compose file - ${t}`))}}async function Tv(){let e="docker has not been installed, please follow instructions at: https://docs.budibase.com/docs/docker-compose";if(!await(0,r9t.lookpath)("docker"))throw e}function KA(){if(!PS.default.existsSync(Qj)&&!PS.default.existsSync(Yj))throw"Please run the hosting --init command before any other hosting command."}async function YA(e){try{await e()}catch(t){throw t&&t.err&&rje(t9t,t.err),`Failed to start - logs written to file: ${t9t}`}}function CK(e){if(!PS.default.existsSync(e))throw new Error(`No yaml found at path: ${e}`);let t=PS.default.readFileSync(e,"utf8"),r=Tje.default.parse(t);return{yaml:r,services:r.services}}function Kue(e){let{yaml:t,services:r}=CK(e),n=Object.keys(r),i;return r["app-service"]?i=r["app-service"]:n.length===1&&(i=r[n[0]]),{yaml:t,service:i}}function Cje(e){let r=["docker-compose.yaml","docker-compose.yml"].find(o=>PS.default.existsSync(o));if(!r){console.log(ou("Unable to locate docker-compose YAML."));return}let{yaml:n,service:i}=Kue(r);if(!i){console.log(ou("Unable to locate service within compose file, is it a valid Budibase configuration?"));return}e(i),PS.default.writeFileSync(r,Tje.default.stringify(n))}var r9t,PS,Tje,t9t,n9t,QA=ue(()=>{"use strict";r9t=require("lookpath"),PS=at(require("fs"));OK();ad();Tje=at(require("yaml")),t9t="docker-error.log",n9t="https://raw.githubusercontent.com/Budibase/budibase/master/hosting/docker-compose.yaml";s(Aje,"composeFilename");s(Wue,"getServiceImage");s(xje,"setServiceImage");s(xK,"downloadDockerCompose");s(Tv,"checkDockerConfigured");s(KA,"checkInitComplete");s(YA,"handleError");s(CK,"getServices");s(Kue,"getAppService");s(Cje,"updateDockerComposeService")});function a9t(e={single:!1}){let t=["API_ENCRYPTION_KEY","JWT_SECRET","MINIO_ACCESS_KEY","MINIO_SECRET_KEY","REDIS_PASSWORD","INTERNAL_API_KEY"],r={};return t.forEach(n=>r[n]=Rje.generate()),e&&e.single?(r.COUCHDB_USER="admin",r.COUCHDB_PASSWORD=Rje.generate()):(r.COUCH_DB_USER="admin",r.COUCH_DB_PASSWORD=Rje.generate()),r}function gVi(e){let t={version:"3",services:{budibase:{restart:"unless-stopped",image:mVi,ports:[`${e}:80`],environment:a9t({single:!0}),volumes:[`${s9t}:/data`]}},volumes:{[s9t]:{driver:"local"}}};return o9t.default.stringify(t)}function _Vi(e){let t=bK({MAIN_PORT:e}),r=bK(a9t()),n=bK({APP_PORT:4002,WORKER_PORT:4003,MINIO_PORT:4004,COUCH_DB_PORT:4005,REDIS_PORT:6379,WATCHTOWER_PORT:6161,BUDIBASE_ENVIRONMENT:"PRODUCTION"});return["# Use the main port in the builder for your self hosting URL, e.g. localhost:10000",t,"# This section contains all secrets pertaining to the system",r,"# This section contains variables that do not need to be altered under normal circumstances",n].join(`
6
6
  `)}async function u9t(e,t,r={},n){let i=r.port||await e9t("Please enter the port on which you want your installation to run: ",1e4),o=t(i);Ije.default.writeFileSync(e,o),n||console.log(Fc(`Configuration has been written successfully - please check ${e} for more details.`))}async function l9t(e={},t){return u9t(Qj,_Vi,e,t)}async function f9t(e={},t){return u9t(Yj,gVi,e,t)}function d9t(e){let t=Ije.default.readFileSync(Qj,"utf8").split(e);return t[0].charAt(0)==="="?e=t[0]:e=t[1],e.split("=")[1].split(`
7
7
  `)[0]}function p9t(e){let{service:t}=Kue(Yj);return e==="port"&&Array.isArray(t.ports)?t.ports[0].split(":")[0]:t.environment?t.environment[e]:null}var Ije,kje,o9t,Rje,mVi,s9t,Yj,Qj,Nje,c9t,OK=ue(()=>{"use strict";ZD();ad();Ije=at(require("fs")),kje=at(require("path")),o9t=at(require("yaml"));QA();Rje=require("randomstring"),mVi="budibase/budibase:latest",s9t="budibase_data",Yj=kje.default.resolve("./docker-compose.yaml"),Qj=kje.default.resolve("./.env");s(a9t,"getSecrets");s(gVi,"getSingleCompose");s(_Vi,"getEnv");Nje={MAIN_PORT:"port"},c9t={key:"budibase",port:1e4};s(u9t,"make");s(l9t,"makeEnv");s(f9t,"makeSingleCompose");s(d9t,"getEnvProperty");s(p9t,"getComposeProperty")});var Mje=y((Pje,Dje)=>{"use strict";(function(e,t){typeof Pje=="object"&&typeof Dje<"u"?Dje.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs=t()})(Pje,function(){"use strict";var e=1e3,t=6e4,r=36e5,n="millisecond",i="second",o="minute",a="hour",c="day",u="week",l="month",f="quarter",d="year",p="date",h="Invalid Date",g=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,b=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,v={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(me){var B=["th","st","nd","rd"],le=me%100;return"["+me+(B[(le-20)%10]||B[le]||B[0])+"]"}},S=s(function(me,B,le){var J=String(me);return!J||J.length>=B?me:""+Array(B+1-J.length).join(le)+me},"m"),C={s:S,z:function(me){var B=-me.utcOffset(),le=Math.abs(B),J=Math.floor(le/60),F=le%60;return(B<=0?"+":"-")+S(J,2,"0")+":"+S(F,2,"0")},m:s(function me(B,le){if(B.date()<le.date())return-me(le,B);var J=12*(le.year()-B.year())+(le.month()-B.month()),F=B.clone().add(J,l),P=le-F<0,ve=B.clone().add(J+(P?-1:1),l);return+(-(J+(le-F)/(P?F-ve:ve-F))||0)},"t"),a:function(me){return me<0?Math.ceil(me)||0:Math.floor(me)},p:function(me){return{M:l,y:d,w:u,d:c,D:p,h:a,m:o,s:i,ms:n,Q:f}[me]||String(me||"").toLowerCase().replace(/s$/,"")},u:function(me){return me===void 0}},R="en",N={};N[R]=v;var A="$isDayjsObject",L=s(function(me){return me instanceof Z||!(!me||!me[A])},"S"),$=s(function me(B,le,J){var F;if(!B)return R;if(typeof B=="string"){var P=B.toLowerCase();N[P]&&(F=P),le&&(N[P]=le,F=P);var ve=B.split("-");if(!F&&ve.length>1)return me(ve[0])}else{var ee=B.name;N[ee]=B,F=ee}return!J&&F&&(R=F),F||!J&&R},"t"),U=s(function(me,B){if(L(me))return me.clone();var le=typeof B=="object"?B:{};return le.date=me,le.args=arguments,new Z(le)},"O"),G=C;G.l=$,G.i=L,G.w=function(me,B){return U(me,{locale:B.$L,utc:B.$u,x:B.$x,$offset:B.$offset})};var Z=function(){function me(le){this.$L=$(le.locale,null,!0),this.parse(le),this.$x=this.$x||le.x||{},this[A]=!0}s(me,"M");var B=me.prototype;return B.parse=function(le){this.$d=function(J){var F=J.date,P=J.utc;if(F===null)return new Date(NaN);if(G.u(F))return new Date;if(F instanceof Date)return new Date(F);if(typeof F=="string"&&!/Z$/i.test(F)){var ve=F.match(g);if(ve){var ee=ve[2]-1||0,be=(ve[7]||"0").substring(0,3);return P?new Date(Date.UTC(ve[1],ee,ve[3]||1,ve[4]||0,ve[5]||0,ve[6]||0,be)):new Date(ve[1],ee,ve[3]||1,ve[4]||0,ve[5]||0,ve[6]||0,be)}}return new Date(F)}(le),this.init()},B.init=function(){var le=this.$d;this.$y=le.getFullYear(),this.$M=le.getMonth(),this.$D=le.getDate(),this.$W=le.getDay(),this.$H=le.getHours(),this.$m=le.getMinutes(),this.$s=le.getSeconds(),this.$ms=le.getMilliseconds()},B.$utils=function(){return G},B.isValid=function(){return this.$d.toString()!==h},B.isSame=function(le,J){var F=U(le);return this.startOf(J)<=F&&F<=this.endOf(J)},B.isAfter=function(le,J){return U(le)<this.startOf(J)},B.isBefore=function(le,J){return this.endOf(J)<U(le)},B.$g=function(le,J,F){return G.u(le)?this[J]:this.set(F,le)},B.unix=function(){return Math.floor(this.valueOf()/1e3)},B.valueOf=function(){return this.$d.getTime()},B.startOf=function(le,J){var F=this,P=!!G.u(J)||J,ve=G.p(le),ee=s(function(Y,Se){var pe=G.w(F.$u?Date.UTC(F.$y,Se,Y):new Date(F.$y,Se,Y),F);return P?pe:pe.endOf(c)},"l"),be=s(function(Y,Se){return G.w(F.toDate()[Y].apply(F.toDate("s"),(P?[0,0,0,0]:[23,59,59,999]).slice(Se)),F)},"$"),Le=this.$W,je=this.$M,fe=this.$D,xe="set"+(this.$u?"UTC":"");switch(ve){case d:return P?ee(1,0):ee(31,11);case l:return P?ee(1,je):ee(0,je+1);case u:var Ce=this.$locale().weekStart||0,V=(Le<Ce?Le+7:Le)-Ce;return ee(P?fe-V:fe+(6-V),je);case c:case p:return be(xe+"Hours",0);case a:return be(xe+"Minutes",1);case o:return be(xe+"Seconds",2);case i:return be(xe+"Milliseconds",3);default:return this.clone()}},B.endOf=function(le){return this.startOf(le,!1)},B.$set=function(le,J){var F,P=G.p(le),ve="set"+(this.$u?"UTC":""),ee=(F={},F[c]=ve+"Date",F[p]=ve+"Date",F[l]=ve+"Month",F[d]=ve+"FullYear",F[a]=ve+"Hours",F[o]=ve+"Minutes",F[i]=ve+"Seconds",F[n]=ve+"Milliseconds",F)[P],be=P===c?this.$D+(J-this.$W):J;if(P===l||P===d){var Le=this.clone().set(p,1);Le.$d[ee](be),Le.init(),this.$d=Le.set(p,Math.min(this.$D,Le.daysInMonth())).$d}else ee&&this.$d[ee](be);return this.init(),this},B.set=function(le,J){return this.clone().$set(le,J)},B.get=function(le){return this[G.p(le)]()},B.add=function(le,J){var F,P=this;le=Number(le);var ve=G.p(J),ee=s(function(je){var fe=U(P);return G.w(fe.date(fe.date()+Math.round(je*le)),P)},"y");if(ve===l)return this.set(l,this.$M+le);if(ve===d)return this.set(d,this.$y+le);if(ve===c)return ee(1);if(ve===u)return ee(7);var be=(F={},F[o]=t,F[a]=r,F[i]=e,F)[ve]||1,Le=this.$d.getTime()+le*be;return G.w(Le,this)},B.subtract=function(le,J){return this.add(-1*le,J)},B.format=function(le){var J=this,F=this.$locale();if(!this.isValid())return F.invalidDate||h;var P=le||"YYYY-MM-DDTHH:mm:ssZ",ve=G.z(this),ee=this.$H,be=this.$m,Le=this.$M,je=F.weekdays,fe=F.months,xe=F.meridiem,Ce=s(function(Se,pe,ct,Ge){return Se&&(Se[pe]||Se(J,P))||ct[pe].slice(0,Ge)},"h"),V=s(function(Se){return G.s(ee%12||12,Se,"0")},"d"),Y=xe||function(Se,pe,ct){var Ge=Se<12?"AM":"PM";return ct?Ge.toLowerCase():Ge};return P.replace(b,function(Se,pe){return pe||function(ct){switch(ct){case"YY":return String(J.$y).slice(-2);case"YYYY":return G.s(J.$y,4,"0");case"M":return Le+1;case"MM":return G.s(Le+1,2,"0");case"MMM":return Ce(F.monthsShort,Le,fe,3);case"MMMM":return Ce(fe,Le);case"D":return J.$D;case"DD":return G.s(J.$D,2,"0");case"d":return String(J.$W);case"dd":return Ce(F.weekdaysMin,J.$W,je,2);case"ddd":return Ce(F.weekdaysShort,J.$W,je,3);case"dddd":return je[J.$W];case"H":return String(ee);case"HH":return G.s(ee,2,"0");case"h":return V(1);case"hh":return V(2);case"a":return Y(ee,be,!0);case"A":return Y(ee,be,!1);case"m":return String(be);case"mm":return G.s(be,2,"0");case"s":return String(J.$s);case"ss":return G.s(J.$s,2,"0");case"SSS":return G.s(J.$ms,3,"0");case"Z":return ve}return null}(Se)||ve.replace(":","")})},B.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},B.diff=function(le,J,F){var P,ve=this,ee=G.p(J),be=U(le),Le=(be.utcOffset()-this.utcOffset())*t,je=this-be,fe=s(function(){return G.m(ve,be)},"D");switch(ee){case d:P=fe()/12;break;case l:P=fe();break;case f:P=fe()/3;break;case u:P=(je-Le)/6048e5;break;case c:P=(je-Le)/864e5;break;case a:P=je/r;break;case o:P=je/t;break;case i:P=je/e;break;default:P=je}return F?P:G.a(P)},B.daysInMonth=function(){return this.endOf(l).$D},B.$locale=function(){return N[this.$L]},B.locale=function(le,J){if(!le)return this.$L;var F=this.clone(),P=$(le,J,!0);return P&&(F.$L=P),F},B.clone=function(){return G.w(this.$d,this)},B.toDate=function(){return new Date(this.valueOf())},B.toJSON=function(){return this.isValid()?this.toISOString():null},B.toISOString=function(){return this.$d.toISOString()},B.toString=function(){return this.$d.toUTCString()},me}(),re=Z.prototype;return U.prototype=re,[["$ms",n],["$s",i],["$m",o],["$H",a],["$W",c],["$M",l],["$y",d],["$D",p]].forEach(function(me){re[me[1]]=function(B){return this.$g(B,me[0],me[1])}}),U.extend=function(me,B){return me.$i||(me(B,Z,U),me.$i=!0),U},U.locale=$,U.isDayjs=L,U.unix=function(me){return U(1e3*me)},U.en=N[R],U.Ls=N,U.p={},U})});var Ua=y((FDu,O9t)=>{"use strict";var OVi=Array.isArray;O9t.exports=OVi});var oI=y((jDu,R9t)=>{"use strict";var RVi=VA(),IVi=Og(),kVi="[object Symbol]";function NVi(e){return typeof e=="symbol"||IVi(e)&&RVi(e)==kVi}s(NVi,"isSymbol");R9t.exports=NVi});var tle=y((HDu,I9t)=>{"use strict";var PVi=Ua(),DVi=oI(),MVi=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,LVi=/^\w*$/;function qVi(e,t){if(PVi(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||DVi(e)?!0:LVi.test(e)||!MVi.test(e)||t!=null&&e in Object(t)}s(qVi,"isKey");I9t.exports=qVi});var Rg=y((zDu,k9t)=>{"use strict";function BVi(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}s(BVi,"isObject");k9t.exports=BVi});var Jj=y((WDu,N9t)=>{"use strict";var UVi=VA(),FVi=Rg(),jVi="[object AsyncFunction]",$Vi="[object Function]",HVi="[object GeneratorFunction]",GVi="[object Proxy]";function zVi(e){if(!FVi(e))return!1;var t=UVi(e);return t==$Vi||t==HVi||t==jVi||t==GVi}s(zVi,"isFunction");N9t.exports=zVi});var D9t=y((YDu,P9t)=>{"use strict";var VVi=_m(),WVi=VVi["__core-js_shared__"];P9t.exports=WVi});var q9t=y((QDu,L9t)=>{"use strict";var Lje=D9t(),M9t=function(){var e=/[^.]+$/.exec(Lje&&Lje.keys&&Lje.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function KVi(e){return!!M9t&&M9t in e}s(KVi,"isMasked");L9t.exports=KVi});var qje=y((JDu,B9t)=>{"use strict";var YVi=Function.prototype,QVi=YVi.toString;function XVi(e){if(e!=null){try{return QVi.call(e)}catch{}try{return e+""}catch{}}return""}s(XVi,"toSource");B9t.exports=XVi});var F9t=y((eMu,U9t)=>{"use strict";var JVi=Jj(),ZVi=q9t(),e5i=Rg(),t5i=qje(),r5i=/[\\^$.*+?()[\]{}|]/g,n5i=/^\[object .+?Constructor\]$/,i5i=Function.prototype,s5i=Object.prototype,o5i=i5i.toString,a5i=s5i.hasOwnProperty,c5i=RegExp("^"+o5i.call(a5i).replace(r5i,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function u5i(e){if(!e5i(e)||ZVi(e))return!1;var t=JVi(e)?c5i:n5i;return t.test(t5i(e))}s(u5i,"baseIsNative");U9t.exports=u5i});var $9t=y((rMu,j9t)=>{"use strict";function l5i(e,t){return e?.[t]}s(l5i,"getValue");j9t.exports=l5i});var aI=y((iMu,H9t)=>{"use strict";var f5i=F9t(),d5i=$9t();function p5i(e,t){var r=d5i(e,t);return f5i(r)?r:void 0}s(p5i,"getNative");H9t.exports=p5i});var RK=y((oMu,G9t)=>{"use strict";var h5i=aI(),m5i=h5i(Object,"create");G9t.exports=m5i});var W9t=y((aMu,V9t)=>{"use strict";var z9t=RK();function g5i(){this.__data__=z9t?z9t(null):{},this.size=0}s(g5i,"hashClear");V9t.exports=g5i});var Y9t=y((uMu,K9t)=>{"use strict";function _5i(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}s(_5i,"hashDelete");K9t.exports=_5i});var X9t=y((fMu,Q9t)=>{"use strict";var y5i=RK(),b5i="__lodash_hash_undefined__",E5i=Object.prototype,v5i=E5i.hasOwnProperty;function S5i(e){var t=this.__data__;if(y5i){var r=t[e];return r===b5i?void 0:r}return v5i.call(t,e)?t[e]:void 0}s(S5i,"hashGet");Q9t.exports=S5i});var Z9t=y((pMu,J9t)=>{"use strict";var w5i=RK(),T5i=Object.prototype,A5i=T5i.hasOwnProperty;function x5i(e){var t=this.__data__;return w5i?t[e]!==void 0:A5i.call(t,e)}s(x5i,"hashHas");J9t.exports=x5i});var tWt=y((mMu,eWt)=>{"use strict";var C5i=RK(),O5i="__lodash_hash_undefined__";function R5i(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=C5i&&t===void 0?O5i:t,this}s(R5i,"hashSet");eWt.exports=R5i});var nWt=y((_Mu,rWt)=>{"use strict";var I5i=W9t(),k5i=Y9t(),N5i=X9t(),P5i=Z9t(),D5i=tWt();function Zj(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}s(Zj,"Hash");Zj.prototype.clear=I5i;Zj.prototype.delete=k5i;Zj.prototype.get=N5i;Zj.prototype.has=P5i;Zj.prototype.set=D5i;rWt.exports=Zj});var sWt=y((bMu,iWt)=>{"use strict";function M5i(){this.__data__=[],this.size=0}s(M5i,"listCacheClear");iWt.exports=M5i});var cI=y((vMu,oWt)=>{"use strict";function L5i(e,t){return e===t||e!==e&&t!==t}s(L5i,"eq");oWt.exports=L5i});var IK=y((wMu,aWt)=>{"use strict";var q5i=cI();function B5i(e,t){for(var r=e.length;r--;)if(q5i(e[r][0],t))return r;return-1}s(B5i,"assocIndexOf");aWt.exports=B5i});var uWt=y((AMu,cWt)=>{"use strict";var U5i=IK(),F5i=Array.prototype,j5i=F5i.splice;function $5i(e){var t=this.__data__,r=U5i(t,e);if(r<0)return!1;var n=t.length-1;return r==n?t.pop():j5i.call(t,r,1),--this.size,!0}s($5i,"listCacheDelete");cWt.exports=$5i});var fWt=y((CMu,lWt)=>{"use strict";var H5i=IK();function G5i(e){var t=this.__data__,r=H5i(t,e);return r<0?void 0:t[r][1]}s(G5i,"listCacheGet");lWt.exports=G5i});var pWt=y((RMu,dWt)=>{"use strict";var z5i=IK();function V5i(e){return z5i(this.__data__,e)>-1}s(V5i,"listCacheHas");dWt.exports=V5i});var mWt=y((kMu,hWt)=>{"use strict";var W5i=IK();function K5i(e,t){var r=this.__data__,n=W5i(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}s(K5i,"listCacheSet");hWt.exports=K5i});var kK=y((PMu,gWt)=>{"use strict";var Y5i=sWt(),Q5i=uWt(),X5i=fWt(),J5i=pWt(),Z5i=mWt();function e3(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}s(e3,"ListCache");e3.prototype.clear=Y5i;e3.prototype.delete=Q5i;e3.prototype.get=X5i;e3.prototype.has=J5i;e3.prototype.set=Z5i;gWt.exports=e3});var rle=y((MMu,_Wt)=>{"use strict";var e9i=aI(),t9i=_m(),r9i=e9i(t9i,"Map");_Wt.exports=r9i});var EWt=y((LMu,bWt)=>{"use strict";var yWt=nWt(),n9i=kK(),i9i=rle();function s9i(){this.size=0,this.__data__={hash:new yWt,map:new(i9i||n9i),string:new yWt}}s(s9i,"mapCacheClear");bWt.exports=s9i});var SWt=y((BMu,vWt)=>{"use strict";function o9i(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}s(o9i,"isKeyable");vWt.exports=o9i});var NK=y((FMu,wWt)=>{"use strict";var a9i=SWt();function c9i(e,t){var r=e.__data__;return a9i(t)?r[typeof t=="string"?"string":"hash"]:r.map}s(c9i,"getMapData");wWt.exports=c9i});var AWt=y(($Mu,TWt)=>{"use strict";var u9i=NK();function l9i(e){var t=u9i(this,e).delete(e);return this.size-=t?1:0,t}s(l9i,"mapCacheDelete");TWt.exports=l9i});var CWt=y((GMu,xWt)=>{"use strict";var f9i=NK();function d9i(e){return f9i(this,e).get(e)}s(d9i,"mapCacheGet");xWt.exports=d9i});var RWt=y((VMu,OWt)=>{"use strict";var p9i=NK();function h9i(e){return p9i(this,e).has(e)}s(h9i,"mapCacheHas");OWt.exports=h9i});var kWt=y((KMu,IWt)=>{"use strict";var m9i=NK();function g9i(e,t){var r=m9i(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}s(g9i,"mapCacheSet");IWt.exports=g9i});var nle=y((QMu,NWt)=>{"use strict";var _9i=EWt(),y9i=AWt(),b9i=CWt(),E9i=RWt(),v9i=kWt();function t3(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}s(t3,"MapCache");t3.prototype.clear=_9i;t3.prototype.delete=y9i;t3.prototype.get=b9i;t3.prototype.has=E9i;t3.prototype.set=v9i;NWt.exports=t3});var MWt=y((JMu,DWt)=>{"use strict";var PWt=nle(),S9i="Expected a function";function Bje(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(S9i);var r=s(function(){var n=arguments,i=t?t.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var a=e.apply(this,n);return r.cache=o.set(i,a)||o,a},"memoized");return r.cache=new(Bje.Cache||PWt),r}s(Bje,"memoize");Bje.Cache=PWt;DWt.exports=Bje});var qWt=y((eLu,LWt)=>{"use strict";var w9i=MWt(),T9i=500;function A9i(e){var t=w9i(e,function(n){return r.size===T9i&&r.clear(),n}),r=t.cache;return t}s(A9i,"memoizeCapped");LWt.exports=A9i});var Uje=y((rLu,BWt)=>{"use strict";var x9i=qWt(),C9i=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,O9i=/\\(\\)?/g,R9i=x9i(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(C9i,function(r,n,i,o){t.push(i?o.replace(O9i,"$1"):n||r)}),t});BWt.exports=R9i});var uI=y((nLu,UWt)=>{"use strict";function I9i(e,t){for(var r=-1,n=e==null?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}s(I9i,"arrayMap");UWt.exports=I9i});var zWt=y((sLu,GWt)=>{"use strict";var FWt=nI(),k9i=uI(),N9i=Ua(),P9i=oI(),D9i=1/0,jWt=FWt?FWt.prototype:void 0,$Wt=jWt?jWt.toString:void 0;function HWt(e){if(typeof e=="string")return e;if(N9i(e))return k9i(e,HWt)+"";if(P9i(e))return $Wt?$Wt.call(e):"";var t=e+"";return t=="0"&&1/e==-D9i?"-0":t}s(HWt,"baseToString");GWt.exports=HWt});var DS=y((aLu,VWt)=>{"use strict";var M9i=zWt();function L9i(e){return e==null?"":M9i(e)}s(L9i,"toString");VWt.exports=L9i});var PK=y((uLu,WWt)=>{"use strict";var q9i=Ua(),B9i=tle(),U9i=Uje(),F9i=DS();function j9i(e,t){return q9i(e)?e:B9i(e,t)?[e]:U9i(F9i(e))}s(j9i,"castPath");WWt.exports=j9i});var eM=y((fLu,KWt)=>{"use strict";var $9i=oI(),H9i=1/0;function G9i(e){if(typeof e=="string"||$9i(e))return e;var t=e+"";return t=="0"&&1/e==-H9i?"-0":t}s(G9i,"toKey");KWt.exports=G9i});var DK=y((pLu,YWt)=>{"use strict";var z9i=PK(),V9i=eM();function W9i(e,t){t=z9i(t,e);for(var r=0,n=t.length;e!=null&&r<n;)e=e[V9i(t[r++])];return r&&r==n?e:void 0}s(W9i,"baseGet");YWt.exports=W9i});var Fje=y((mLu,QWt)=>{"use strict";var K9i=aI(),Y9i=function(){try{var e=K9i(Object,"defineProperty");return e({},"",{}),e}catch{}}();QWt.exports=Y9i});var tM=y((gLu,JWt)=>{"use strict";var XWt=Fje();function Q9i(e,t,r){t=="__proto__"&&XWt?XWt(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}s(Q9i,"baseAssignValue");JWt.exports=Q9i});var MK=y((yLu,ZWt)=>{"use strict";var X9i=tM(),J9i=cI(),Z9i=Object.prototype,eWi=Z9i.hasOwnProperty;function tWi(e,t,r){var n=e[t];(!(eWi.call(e,t)&&J9i(n,r))||r===void 0&&!(t in e))&&X9i(e,t,r)}s(tWi,"assignValue");ZWt.exports=tWi});var r3=y((ELu,eKt)=>{"use strict";var rWi=9007199254740991,nWi=/^(?:0|[1-9]\d*)$/;function iWi(e,t){var r=typeof e;return t=t??rWi,!!t&&(r=="number"||r!="symbol"&&nWi.test(e))&&e>-1&&e%1==0&&e<t}s(iWi,"isIndex");eKt.exports=iWi});var jje=y((SLu,rKt)=>{"use strict";var sWi=MK(),oWi=PK(),aWi=r3(),tKt=Rg(),cWi=eM();function uWi(e,t,r,n){if(!tKt(e))return e;t=oWi(t,e);for(var i=-1,o=t.length,a=o-1,c=e;c!=null&&++i<o;){var u=cWi(t[i]),l=r;if(u==="__proto__"||u==="constructor"||u==="prototype")return e;if(i!=a){var f=c[u];l=n?n(f,u,c):void 0,l===void 0&&(l=tKt(f)?f:aWi(t[i+1])?[]:{})}sWi(c,u,l),c=c[u]}return e}s(uWi,"baseSet");rKt.exports=uWi});var $je=y((TLu,nKt)=>{"use strict";var lWi=DK(),fWi=jje(),dWi=PK();function pWi(e,t,r){for(var n=-1,i=t.length,o={};++n<i;){var a=t[n],c=lWi(e,a);r(c,a)&&fWi(o,dWi(a,e),c)}return o}s(pWi,"basePickBy");nKt.exports=pWi});var sKt=y((xLu,iKt)=>{"use strict";function hWi(e,t){return e!=null&&t in Object(e)}s(hWi,"baseHasIn");iKt.exports=hWi});var aKt=y((OLu,oKt)=>{"use strict";var mWi=VA(),gWi=Og(),_Wi="[object Arguments]";function yWi(e){return gWi(e)&&mWi(e)==_Wi}s(yWi,"baseIsArguments");oKt.exports=yWi});var n3=y((ILu,lKt)=>{"use strict";var cKt=aKt(),bWi=Og(),uKt=Object.prototype,EWi=uKt.hasOwnProperty,vWi=uKt.propertyIsEnumerable,SWi=cKt(function(){return arguments}())?cKt:function(e){return bWi(e)&&EWi.call(e,"callee")&&!vWi.call(e,"callee")};lKt.exports=SWi});var ile=y((kLu,fKt)=>{"use strict";var wWi=9007199254740991;function TWi(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=wWi}s(TWi,"isLength");fKt.exports=TWi});var Hje=y((PLu,dKt)=>{"use strict";var AWi=PK(),xWi=n3(),CWi=Ua(),OWi=r3(),RWi=ile(),IWi=eM();function kWi(e,t,r){t=AWi(t,e);for(var n=-1,i=t.length,o=!1;++n<i;){var a=IWi(t[n]);if(!(o=e!=null&&r(e,a)))break;e=e[a]}return o||++n!=i?o:(i=e==null?0:e.length,!!i&&RWi(i)&&OWi(a,i)&&(CWi(e)||xWi(e)))}s(kWi,"hasPath");dKt.exports=kWi});var Gje=y((MLu,pKt)=>{"use strict";var NWi=sKt(),PWi=Hje();function DWi(e,t){return e!=null&&PWi(e,t,NWi)}s(DWi,"hasIn");pKt.exports=DWi});var mKt=y((qLu,hKt)=>{"use strict";var MWi=$je(),LWi=Gje();function qWi(e,t){return MWi(e,t,function(r,n){return LWi(e,n)})}s(qWi,"basePick");hKt.exports=qWi});var sle=y((ULu,gKt)=>{"use strict";function BWi(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}s(BWi,"arrayPush");gKt.exports=BWi});var EKt=y((jLu,bKt)=>{"use strict";var _Kt=nI(),UWi=n3(),FWi=Ua(),yKt=_Kt?_Kt.isConcatSpreadable:void 0;function jWi(e){return FWi(e)||UWi(e)||!!(yKt&&e&&e[yKt])}s(jWi,"isFlattenable");bKt.exports=jWi});var ole=y((HLu,SKt)=>{"use strict";var $Wi=sle(),HWi=EKt();function vKt(e,t,r,n,i){var o=-1,a=e.length;for(r||(r=HWi),i||(i=[]);++o<a;){var c=e[o];t>0&&r(c)?t>1?vKt(c,t-1,r,n,i):$Wi(i,c):n||(i[i.length]=c)}return i}s(vKt,"baseFlatten");SKt.exports=vKt});var rM=y((zLu,wKt)=>{"use strict";var GWi=ole();function zWi(e){var t=e==null?0:e.length;return t?GWi(e,1):[]}s(zWi,"flatten");wKt.exports=zWi});var LK=y((WLu,TKt)=>{"use strict";function VWi(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}s(VWi,"apply");TKt.exports=VWi});var zje=y((YLu,xKt)=>{"use strict";var WWi=LK(),AKt=Math.max;function KWi(e,t,r){return t=AKt(t===void 0?e.length-1:t,0),function(){for(var n=arguments,i=-1,o=AKt(n.length-t,0),a=Array(o);++i<o;)a[i]=n[t+i];i=-1;for(var c=Array(t+1);++i<t;)c[i]=n[i];return c[t]=r(a),WWi(e,this,c)}}s(KWi,"overRest");xKt.exports=KWi});var Vje=y((XLu,CKt)=>{"use strict";function YWi(e){return function(){return e}}s(YWi,"constant");CKt.exports=YWi});var nh=y((ZLu,OKt)=>{"use strict";function QWi(e){return e}s(QWi,"identity");OKt.exports=QWi});var kKt=y((t2u,IKt)=>{"use strict";var XWi=Vje(),RKt=Fje(),JWi=nh(),ZWi=RKt?function(e,t){return RKt(e,"toString",{configurable:!0,enumerable:!1,value:XWi(t),writable:!0})}:JWi;IKt.exports=ZWi});var Wje=y((r2u,NKt)=>{"use strict";var eKi=800,tKi=16,rKi=Date.now;function nKi(e){var t=0,r=0;return function(){var n=rKi(),i=tKi-(n-r);if(r=n,i>0){if(++t>=eKi)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}s(nKi,"shortOut");NKt.exports=nKi});var ale=y((i2u,PKt)=>{"use strict";var iKi=kKt(),sKi=Wje(),oKi=sKi(iKi);PKt.exports=oKi});var Kje=y((s2u,DKt)=>{"use strict";var aKi=rM(),cKi=zje(),uKi=ale();function lKi(e){return uKi(cKi(e,void 0,aKi),e+"")}s(lKi,"flatRest");DKt.exports=lKi});var LKt=y((a2u,MKt)=>{"use strict";var fKi=mKt(),dKi=Kje(),pKi=dKi(function(e,t){return e==null?{}:fKi(e,t)});MKt.exports=pKi});var Av=y(Ig=>{"use strict";Object.defineProperty(Ig,"__esModule",{value:!0});Ig.Err=Ig.Valid=Ig.err=Ig.valid=void 0;var IKi=s(e=>new lle(e),"valid");Ig.valid=IKi;var kKi=s(e=>new fle(e),"err");Ig.err=kKi;var lle=class{static{s(this,"Valid")}constructor(t){this.value=t}isValid(){return!0}isError(){return!this.isValid()}getValue(){return this.value}getError(){throw new Error("Tried to get error from a valid.")}map(t){return(0,Ig.valid)(t(this.value))}mapErr(t){return(0,Ig.valid)(this.value)}};Ig.Valid=lle;var fle=class{static{s(this,"Err")}constructor(t){this.error=t}isError(){return!0}isValid(){return!this.isError()}getValue(){throw new Error("Tried to get success value from an error.")}getError(){return this.error}map(t){return(0,Ig.err)(this.error)}mapErr(t){return(0,Ig.err)(t(this.error))}};Ig.Err=fle});var xv=y(jKt=>{"use strict";Object.defineProperty(jKt,"__esModule",{value:!0})});var lI=y(Jje=>{"use strict";Object.defineProperty(Jje,"__esModule",{value:!0});MS();var so=Av();xv();var NKi=["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"],PKi=["sun","mon","tue","wed","thu","fri","sat"],DKi=s((e,t)=>t[e].lowerLimit===t.preset[e].minValue&&t[e].upperLimit===t.preset[e].maxValue,"checkWildcardLimit"),qK=s((e,t,r)=>{if(t==="months"&&r.useAliases&&NKi.indexOf(e.toLowerCase())!==-1||t==="daysOfWeek"&&r.useAliases&&PKi.indexOf(e.toLowerCase())!==-1)return(0,so.valid)(!0);let n=Number(e);if(isNaN(n))return(0,so.err)(`Element '${e} of ${t} field is invalid.`);let{lowerLimit:i}=r[t],{upperLimit:o}=r[t];return i&&n<i?(0,so.err)(`Number ${n} of ${t} field is smaller than lower limit '${i}'`):o&&n>o?(0,so.err)(`Number ${n} of ${t} field is bigger than upper limit '${o}'`):(0,so.valid)(!0)},"checkSingleElementWithinLimits"),MKi=s((e,t,r)=>{if(e==="*")return DKi(t,r)?(0,so.valid)(!0):(0,so.err)(`Field ${t} uses wildcard '*', but is limited to ${r[t].lowerLimit}-${r[t].upperLimit}`);if(e==="")return(0,so.err)(`One of the elements is empty in ${t} field.`);if(t==="daysOfMonth"&&r.useLastDayOfMonth&&e==="L")return(0,so.valid)(!0);if(t==="daysOfWeek"&&r.useLastDayOfWeek&&e.endsWith("L")){let n=e.slice(0,-1);return n===""?(0,so.valid)(!0):qK(n,t,r)}if(t==="daysOfMonth"&&r.useNearestWeekday&&e.endsWith("W")){let n=e.slice(0,-1);return n===""?(0,so.err)("The 'W' must be preceded by a day"):r.useLastDayOfMonth&&n==="L"?(0,so.valid)(!0):qK(n,t,r)}if(t==="daysOfWeek"&&r.useNthWeekdayOfMonth&&e.indexOf("#")!==-1){let[n,i,...o]=e.split("#");if(o.length!==0)return(0,so.err)(`Unexpected number of '#' in ${e}, can only be used once.`);let a=Number(i);return!i||isNaN(a)?(0,so.err)(`Unexpected value following the '#' symbol, a positive number was expected but found ${i}.`):a>5?(0,so.err)("Number of occurrence of the day of the week cannot be greater than 5."):qK(n,t,r)}return qK(e,t,r)},"checkSingleElement"),$Kt=s((e,t,r,n)=>e==="*"?(0,so.err)(`'*' can't be part of a range in ${t} field.`):e===""?(0,so.err)(`One of the range elements is empty in ${t} field.`):r.useLastDayOfMonth&&t==="daysOfMonth"&&e==="L"&&n===0?(0,so.valid)(!0):qK(e,t,r),"checkRangeElement"),LKi=s((e,t,r)=>{let n=e.split("-");if(n.length>2)return(0,so.err)(`List element '${e}' is not valid. (More than one '-')`);if(n.length===1)return MKi(n[0],t,r);if(n.length===2){let i=$Kt(n[0],t,r,0),o=$Kt(n[1],t,r,1);return i.isError()?i:o.isError()?o:Number(n[0])>Number(n[1])?(0,so.err)(`Lower range end '${n[0]}' is bigger than upper range end '${n[1]}' of ${t} field.`):(0,so.valid)(!0)}return(0,so.err)("Some other error in checkFirstStepElement (rangeArray less than 1)")},"checkFirstStepElement"),qKi=s((e,t,r)=>{let n=e.split("/");if(n.length>2)return(0,so.err)(`List element '${e}' is not valid. (More than one '/')`);let i=LKi(n[0],t,r);if(i.isError())return i;if(n.length===2){let o=n[1];if(!o)return(0,so.err)(`Second step element '${o}' of '${e}' is not valid (doesnt exist).`);if(isNaN(Number(o)))return(0,so.err)(`Second step element '${o}' of '${e}' is not valid (not a number).`);if(Number(o)===0)return(0,so.err)(`Second step element '${o}' of '${e}' cannot be zero.`)}return(0,so.valid)(!0)},"checkListElement"),BKi=s((e,t,r)=>{if(!["seconds","minutes","hours","daysOfMonth","months","daysOfWeek","years"].includes(t))return(0,so.err)([`Cron field type '${t}' does not exist.`]);if(e==="?")return t==="daysOfMonth"||t==="daysOfWeek"?r.useBlankDay?(0,so.valid)(!0):(0,so.err)([`useBlankDay is not enabled, but is used in ${t} field`]):(0,so.err)([`blank notation is not allowed in ${t} field`]);let n=e.split(","),i=[];if(n.forEach(a=>{i.push(qKi(a,t,r))}),i.every(a=>a.isValid()))return(0,so.valid)(!0);let o=[];return i.forEach(a=>{a.isError()&&o.push(a.getError())}),(0,so.err)(o)},"checkField");Jje.default=BKi});var HKt=y(BK=>{"use strict";var UKi=BK&&BK.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(BK,"__esModule",{value:!0});MS();var FKi=Av(),jKi=UKi(lI());xv();var $Ki=s((e,t)=>{if(!e.seconds)return(0,FKi.err)(["seconds field is undefined, but useSeconds options is enabled."]);let{seconds:r}=e;return(0,jKi.default)(r,"seconds",t)},"checkSeconds");BK.default=$Ki});var GKt=y(UK=>{"use strict";var HKi=UK&&UK.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(UK,"__esModule",{value:!0});MS();var GKi=Av(),zKi=HKi(lI());xv();var VKi=s((e,t)=>{if(!e.minutes)return(0,GKi.err)(["minutes field is undefined."]);let{minutes:r}=e;return(0,zKi.default)(r,"minutes",t)},"checkMinutes");UK.default=VKi});var zKt=y(FK=>{"use strict";var WKi=FK&&FK.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(FK,"__esModule",{value:!0});MS();var KKi=Av(),YKi=WKi(lI());xv();var QKi=s((e,t)=>{if(!e.hours)return(0,KKi.err)(["hours field is undefined."]);let{hours:r}=e;return(0,YKi.default)(r,"hours",t)},"checkHours");FK.default=QKi});var VKt=y($K=>{"use strict";var XKi=$K&&$K.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty($K,"__esModule",{value:!0});MS();var jK=Av(),JKi=XKi(lI());xv();var ZKi=s((e,t)=>{if(!e.daysOfMonth)return(0,jK.err)(["daysOfMonth field is undefined."]);let{daysOfMonth:r}=e;return t.allowOnlyOneBlankDayField&&t.useBlankDay&&e.daysOfMonth==="?"&&e.daysOfWeek==="?"?(0,jK.err)(["Cannot use blank value in daysOfMonth and daysOfWeek field when allowOnlyOneBlankDayField option is enabled."]):t.mustHaveBlankDayField&&e.daysOfMonth!=="?"&&e.daysOfWeek!=="?"?(0,jK.err)(["Cannot specify both daysOfMonth and daysOfWeek field when mustHaveBlankDayField option is enabled."]):t.useLastDayOfMonth&&e.daysOfMonth.indexOf("L")!==-1&&e.daysOfMonth.match(/[,/]/)?(0,jK.err)(["Cannot specify last day of month with lists, or ranges (symbols ,/)."]):t.useNearestWeekday&&e.daysOfMonth.indexOf("W")!==-1&&e.daysOfMonth.match(/[,/-]/)?(0,jK.err)(["Cannot specify nearest weekday with lists, steps or ranges (symbols ,-/)."]):(0,JKi.default)(r,"daysOfMonth",t)},"checkDaysOfMonth");$K.default=ZKi});var WKt=y(HK=>{"use strict";var e7i=HK&&HK.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(HK,"__esModule",{value:!0});MS();var t7i=Av(),r7i=e7i(lI());xv();var n7i=s((e,t)=>{if(!e.months)return(0,t7i.err)(["months field is undefined."]);let{months:r}=e;return(0,r7i.default)(r,"months",t)},"checkMonths");HK.default=n7i});var KKt=y(zK=>{"use strict";var i7i=zK&&zK.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(zK,"__esModule",{value:!0});MS();var GK=Av(),s7i=i7i(lI());xv();var o7i=s((e,t)=>{if(!e.daysOfWeek)return(0,GK.err)(["daysOfWeek field is undefined."]);let{daysOfWeek:r}=e;return t.allowOnlyOneBlankDayField&&e.daysOfMonth==="?"&&e.daysOfWeek==="?"?(0,GK.err)(["Cannot use blank value in daysOfMonth and daysOfWeek field when allowOnlyOneBlankDayField option is enabled."]):t.mustHaveBlankDayField&&e.daysOfMonth!=="?"&&e.daysOfWeek!=="?"?(0,GK.err)(["Cannot specify both daysOfMonth and daysOfWeek field when mustHaveBlankDayField option is enabled."]):t.useLastDayOfWeek&&e.daysOfWeek.indexOf("L")!==-1&&e.daysOfWeek.match(/[,/-]/)?(0,GK.err)(["Cannot specify last day of week with lists, steps or ranges (symbols ,-/)."]):t.useNthWeekdayOfMonth&&e.daysOfWeek.indexOf("#")!==-1&&e.daysOfWeek.match(/[,/-]/)?(0,GK.err)(["Cannot specify Nth weekday of month with lists, steps or ranges (symbols ,-/)."]):(0,s7i.default)(r,"daysOfWeek",t)},"checkDaysOfWeek");zK.default=o7i});var YKt=y(VK=>{"use strict";var a7i=VK&&VK.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(VK,"__esModule",{value:!0});MS();var c7i=Av(),u7i=a7i(lI());xv();var l7i=s((e,t)=>{if(!e.years)return(0,c7i.err)(["years field is undefined, but useYears option is enabled."]);let{years:r}=e;return(0,u7i.default)(r,"years",t)},"checkYears");VK.default=l7i});var ZKt=y((z2u,JKt)=>{"use strict";var Zje;try{Zje=Map}catch{}var e3e;try{e3e=Set}catch{}function QKt(e,t,r){if(!e||typeof e!="object"||typeof e=="function")return e;if(e.nodeType&&"cloneNode"in e)return e.cloneNode(!0);if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e);if(Array.isArray(e))return e.map(XKt);if(Zje&&e instanceof Zje)return new Map(Array.from(e.entries()));if(e3e&&e instanceof e3e)return new Set(Array.from(e.values()));if(e instanceof Object){t.push(e);var n=Object.create(e);r.push(n);for(var i in e){var o=t.findIndex(function(a){return a===e[i]});n[i]=o>-1?r[o]:QKt(e[i],t,r)}return n}return e}s(QKt,"baseClone");function XKt(e){return QKt(e,[],[])}s(XKt,"clone");JKt.exports=XKt});var WK=y(t3e=>{"use strict";Object.defineProperty(t3e,"__esModule",{value:!0});t3e.default=_7i;var f7i=Object.prototype.toString,d7i=Error.prototype.toString,p7i=RegExp.prototype.toString,h7i=typeof Symbol<"u"?Symbol.prototype.toString:()=>"",m7i=/^Symbol\((.*)\)(.*)$/;function g7i(e){return e!=+e?"NaN":e===0&&1/e<0?"-0":""+e}s(g7i,"printNumber");function e7t(e,t=!1){if(e==null||e===!0||e===!1)return""+e;let r=typeof e;if(r==="number")return g7i(e);if(r==="string")return t?`"${e}"`:e;if(r==="function")return"[Function "+(e.name||"anonymous")+"]";if(r==="symbol")return h7i.call(e).replace(m7i,"Symbol($1)");let n=f7i.call(e).slice(8,-1);return n==="Date"?isNaN(e.getTime())?""+e:e.toISOString(e):n==="Error"||e instanceof Error?"["+d7i.call(e)+"]":n==="RegExp"?p7i.call(e):null}s(e7t,"printSimpleValue");function _7i(e,t){let r=e7t(e,t);return r!==null?r:JSON.stringify(e,function(n,i){let o=e7t(this[n],t);return o!==null?o:i},2)}s(_7i,"printValue")});var XA=y(cd=>{"use strict";Object.defineProperty(cd,"__esModule",{value:!0});cd.default=cd.array=cd.object=cd.boolean=cd.date=cd.number=cd.string=cd.mixed=void 0;var t7t=y7i(WK());function y7i(e){return e&&e.__esModule?e:{default:e}}s(y7i,"_interopRequireDefault");var r7t={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:e,type:t,value:r,originalValue:n})=>{let i=n!=null&&n!==r,o=`${e} must be a \`${t}\` type, but the final value was: \`${(0,t7t.default)(r,!0)}\``+(i?` (cast from the value \`${(0,t7t.default)(n,!0)}\`).`:".");return r===null&&(o+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),o},defined:"${path} must be defined"};cd.mixed=r7t;var n7t={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"};cd.string=n7t;var i7t={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"};cd.number=i7t;var s7t={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"};cd.date=s7t;var o7t={isValue:"${path} field must be ${value}"};cd.boolean=o7t;var a7t={noUnknown:"${path} field has unspecified keys: ${unknown}"};cd.object=a7t;var c7t={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must be have ${length} items"};cd.array=c7t;var b7i=Object.assign(Object.create(null),{mixed:r7t,string:n7t,number:i7t,date:s7t,object:a7t,array:c7t,boolean:o7t});cd.default=b7i});var l7t=y((X2u,u7t)=>{"use strict";var E7i=Object.prototype,v7i=E7i.hasOwnProperty;function S7i(e,t){return e!=null&&v7i.call(e,t)}s(S7i,"baseHas");u7t.exports=S7i});var fI=y((Z2u,f7t)=>{"use strict";var w7i=l7t(),T7i=Hje();function A7i(e,t){return e!=null&&T7i(e,t,w7i)}s(A7i,"has");f7t.exports=A7i});var i3=y(dle=>{"use strict";Object.defineProperty(dle,"__esModule",{value:!0});dle.default=void 0;var x7i=s(e=>e&&e.__isYupSchema__,"_default");dle.default=x7i});var p7t=y(ple=>{"use strict";Object.defineProperty(ple,"__esModule",{value:!0});ple.default=void 0;var C7i=d7t(fI()),O7i=d7t(i3());function d7t(e){return e&&e.__esModule?e:{default:e}}s(d7t,"_interopRequireDefault");var r3e=class{static{s(this,"Condition")}constructor(t,r){if(this.refs=t,this.refs=t,typeof r=="function"){this.fn=r;return}if(!(0,C7i.default)(r,"is"))throw new TypeError("`is:` is required for `when()` conditions");if(!r.then&&!r.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:n,then:i,otherwise:o}=r,a=typeof n=="function"?n:(...c)=>c.every(u=>u===n);this.fn=function(...c){let u=c.pop(),l=c.pop(),f=a(...c)?i:o;if(f)return typeof f=="function"?f(l):l.concat(f.resolve(u))}}resolve(t,r){let n=this.refs.map(o=>o.getValue(r?.value,r?.parent,r?.context)),i=this.fn.apply(t,n.concat(t,r));if(i===void 0||i===t)return t;if(!(0,O7i.default)(i))throw new TypeError("conditions must return a schema object");return i.resolve(r)}},R7i=r3e;ple.default=R7i});var i3e=y(n3e=>{"use strict";Object.defineProperty(n3e,"__esModule",{value:!0});n3e.default=I7i;function I7i(e){return e==null?[]:[].concat(e)}s(I7i,"toArray")});var iM=y(hle=>{"use strict";Object.defineProperty(hle,"__esModule",{value:!0});hle.default=void 0;var k7i=h7t(WK()),N7i=h7t(i3e());function h7t(e){return e&&e.__esModule?e:{default:e}}s(h7t,"_interopRequireDefault");function s3e(){return s3e=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},s3e.apply(this,arguments)}s(s3e,"_extends");var P7i=/\$\{\s*(\w+)\s*\}/g,o3e=class e extends Error{static{s(this,"ValidationError")}static formatError(t,r){let n=r.label||r.path||"this";return n!==r.path&&(r=s3e({},r,{path:n})),typeof t=="string"?t.replace(P7i,(i,o)=>(0,k7i.default)(r[o])):typeof t=="function"?t(r):t}static isError(t){return t&&t.name==="ValidationError"}constructor(t,r,n,i){super(),this.name="ValidationError",this.value=r,this.path=n,this.type=i,this.errors=[],this.inner=[],(0,N7i.default)(t).forEach(o=>{e.isError(o)?(this.errors.push(...o.errors),this.inner=this.inner.concat(o.inner.length?o.inner:o)):this.errors.push(o)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,e)}};hle.default=o3e});var mle=y(c3e=>{"use strict";Object.defineProperty(c3e,"__esModule",{value:!0});c3e.default=L7i;var a3e=D7i(iM());function D7i(e){return e&&e.__esModule?e:{default:e}}s(D7i,"_interopRequireDefault");var M7i=s(e=>{let t=!1;return(...r)=>{t||(t=!0,e(...r))}},"once");function L7i(e,t){let{endEarly:r,tests:n,args:i,value:o,errors:a,sort:c,path:u}=e,l=M7i(t),f=n.length,d=[];if(a=a||[],!f)return a.length?l(new a3e.default(a,o,u)):l(null,o);for(let p=0;p<n.length;p++){let h=n[p];h(i,s(function(b){if(b){if(!a3e.default.isError(b))return l(b,o);if(r)return b.value=o,l(b,o);d.push(b)}if(--f<=0){if(d.length&&(c&&d.sort(c),a.length&&d.push(...a),a=d),a.length){l(new a3e.default(a,o,u),o);return}l(null,o)}},"finishTestRun"))}}s(L7i,"runTests")});var g7t=y((fqu,m7t)=>{"use strict";function q7i(e){return function(t,r,n){for(var i=-1,o=Object(t),a=n(t),c=a.length;c--;){var u=a[e?c:++i];if(r(o[u],u,o)===!1)break}return t}}s(q7i,"createBaseFor");m7t.exports=q7i});var u3e=y((pqu,_7t)=>{"use strict";var B7i=g7t(),U7i=B7i();_7t.exports=U7i});var b7t=y((hqu,y7t)=>{"use strict";function F7i(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}s(F7i,"baseTimes");y7t.exports=F7i});var v7t=y((gqu,E7t)=>{"use strict";function j7i(){return!1}s(j7i,"stubFalse");E7t.exports=j7i});var sM=y((KK,s3)=>{"use strict";var $7i=_m(),H7i=v7t(),T7t=typeof KK=="object"&&KK&&!KK.nodeType&&KK,S7t=T7t&&typeof s3=="object"&&s3&&!s3.nodeType&&s3,G7i=S7t&&S7t.exports===T7t,w7t=G7i?$7i.Buffer:void 0,z7i=w7t?w7t.isBuffer:void 0,V7i=z7i||H7i;s3.exports=V7i});var x7t=y((yqu,A7t)=>{"use strict";var W7i=VA(),K7i=ile(),Y7i=Og(),Q7i="[object Arguments]",X7i="[object Array]",J7i="[object Boolean]",Z7i="[object Date]",eYi="[object Error]",tYi="[object Function]",rYi="[object Map]",nYi="[object Number]",iYi="[object Object]",sYi="[object RegExp]",oYi="[object Set]",aYi="[object String]",cYi="[object WeakMap]",uYi="[object ArrayBuffer]",lYi="[object DataView]",fYi="[object Float32Array]",dYi="[object Float64Array]",pYi="[object Int8Array]",hYi="[object Int16Array]",mYi="[object Int32Array]",gYi="[object Uint8Array]",_Yi="[object Uint8ClampedArray]",yYi="[object Uint16Array]",bYi="[object Uint32Array]",hc={};hc[fYi]=hc[dYi]=hc[pYi]=hc[hYi]=hc[mYi]=hc[gYi]=hc[_Yi]=hc[yYi]=hc[bYi]=!0;hc[Q7i]=hc[X7i]=hc[uYi]=hc[J7i]=hc[lYi]=hc[Z7i]=hc[eYi]=hc[tYi]=hc[rYi]=hc[nYi]=hc[iYi]=hc[sYi]=hc[oYi]=hc[aYi]=hc[cYi]=!1;function EYi(e){return Y7i(e)&&K7i(e.length)&&!!hc[W7i(e)]}s(EYi,"baseIsTypedArray");A7t.exports=EYi});var o3=y((Equ,C7t)=>{"use strict";function vYi(e){return function(t){return e(t)}}s(vYi,"baseUnary");C7t.exports=vYi});var gle=y((YK,a3)=>{"use strict";var SYi=fje(),O7t=typeof YK=="object"&&YK&&!YK.nodeType&&YK,QK=O7t&&typeof a3=="object"&&a3&&!a3.nodeType&&a3,wYi=QK&&QK.exports===O7t,l3e=wYi&&SYi.process,TYi=function(){try{var e=QK&&QK.require&&QK.require("util").types;return e||l3e&&l3e.binding&&l3e.binding("util")}catch{}}();a3.exports=TYi});var oM=y((Squ,k7t)=>{"use strict";var AYi=x7t(),xYi=o3(),R7t=gle(),I7t=R7t&&R7t.isTypedArray,CYi=I7t?xYi(I7t):AYi;k7t.exports=CYi});var f3e=y((wqu,N7t)=>{"use strict";var OYi=b7t(),RYi=n3(),IYi=Ua(),kYi=sM(),NYi=r3(),PYi=oM(),DYi=Object.prototype,MYi=DYi.hasOwnProperty;function LYi(e,t){var r=IYi(e),n=!r&&RYi(e),i=!r&&!n&&kYi(e),o=!r&&!n&&!i&&PYi(e),a=r||n||i||o,c=a?OYi(e.length,String):[],u=c.length;for(var l in e)(t||MYi.call(e,l))&&!(a&&(l=="length"||i&&(l=="offset"||l=="parent")||o&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||NYi(l,u)))&&c.push(l);return c}s(LYi,"arrayLikeKeys");N7t.exports=LYi});var c3=y((Aqu,P7t)=>{"use strict";var qYi=Object.prototype;function BYi(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||qYi;return e===r}s(BYi,"isPrototype");P7t.exports=BYi});var M7t=y((Cqu,D7t)=>{"use strict";var UYi=dje(),FYi=UYi(Object.keys,Object);D7t.exports=FYi});var _le=y((Oqu,L7t)=>{"use strict";var jYi=c3(),$Yi=M7t(),HYi=Object.prototype,GYi=HYi.hasOwnProperty;function zYi(e){if(!jYi(e))return $Yi(e);var t=[];for(var r in Object(e))GYi.call(e,r)&&r!="constructor"&&t.push(r);return t}s(zYi,"baseKeys");L7t.exports=zYi});var Cv=y((Iqu,q7t)=>{"use strict";var VYi=Jj(),WYi=ile();function KYi(e){return e!=null&&WYi(e.length)&&!VYi(e)}s(KYi,"isArrayLike");q7t.exports=KYi});var JA=y((Nqu,B7t)=>{"use strict";var YYi=f3e(),QYi=_le(),XYi=Cv();function JYi(e){return XYi(e)?YYi(e):QYi(e)}s(JYi,"keys");B7t.exports=JYi});var XK=y((Dqu,U7t)=>{"use strict";var ZYi=u3e(),eQi=JA();function tQi(e,t){return e&&ZYi(e,t,eQi)}s(tQi,"baseForOwn");U7t.exports=tQi});var j7t=y((Lqu,F7t)=>{"use strict";var rQi=kK();function nQi(){this.__data__=new rQi,this.size=0}s(nQi,"stackClear");F7t.exports=nQi});var H7t=y((Bqu,$7t)=>{"use strict";function iQi(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}s(iQi,"stackDelete");$7t.exports=iQi});var z7t=y((Fqu,G7t)=>{"use strict";function sQi(e){return this.__data__.get(e)}s(sQi,"stackGet");G7t.exports=sQi});var W7t=y(($qu,V7t)=>{"use strict";function oQi(e){return this.__data__.has(e)}s(oQi,"stackHas");V7t.exports=oQi});var Y7t=y((Gqu,K7t)=>{"use strict";var aQi=kK(),cQi=rle(),uQi=nle(),lQi=200;function fQi(e,t){var r=this.__data__;if(r instanceof aQi){var n=r.__data__;if(!cQi||n.length<lQi-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new uQi(n)}return r.set(e,t),this.size=r.size,this}s(fQi,"stackSet");K7t.exports=fQi});var JK=y((Vqu,Q7t)=>{"use strict";var dQi=kK(),pQi=j7t(),hQi=H7t(),mQi=z7t(),gQi=W7t(),_Qi=Y7t();function u3(e){var t=this.__data__=new dQi(e);this.size=t.size}s(u3,"Stack");u3.prototype.clear=pQi;u3.prototype.delete=hQi;u3.prototype.get=mQi;u3.prototype.has=gQi;u3.prototype.set=_Qi;Q7t.exports=u3});var J7t=y((Kqu,X7t)=>{"use strict";var yQi="__lodash_hash_undefined__";function bQi(e){return this.__data__.set(e,yQi),this}s(bQi,"setCacheAdd");X7t.exports=bQi});var eYt=y((Qqu,Z7t)=>{"use strict";function EQi(e){return this.__data__.has(e)}s(EQi,"setCacheHas");Z7t.exports=EQi});var ble=y((Jqu,tYt)=>{"use strict";var vQi=nle(),SQi=J7t(),wQi=eYt();function yle(e){var t=-1,r=e==null?0:e.length;for(this.__data__=new vQi;++t<r;)this.add(e[t])}s(yle,"SetCache");yle.prototype.add=yle.prototype.push=SQi;yle.prototype.has=wQi;tYt.exports=yle});var d3e=y((eBu,rYt)=>{"use strict";function TQi(e,t){for(var r=-1,n=e==null?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}s(TQi,"arraySome");rYt.exports=TQi});var Ele=y((rBu,nYt)=>{"use strict";function AQi(e,t){return e.has(t)}s(AQi,"cacheHas");nYt.exports=AQi});var p3e=y((iBu,iYt)=>{"use strict";var xQi=ble(),CQi=d3e(),OQi=Ele(),RQi=1,IQi=2;function kQi(e,t,r,n,i,o){var a=r&RQi,c=e.length,u=t.length;if(c!=u&&!(a&&u>c))return!1;var l=o.get(e),f=o.get(t);if(l&&f)return l==t&&f==e;var d=-1,p=!0,h=r&IQi?new xQi:void 0;for(o.set(e,t),o.set(t,e);++d<c;){var g=e[d],b=t[d];if(n)var v=a?n(b,g,d,t,e,o):n(g,b,d,e,t,o);if(v!==void 0){if(v)continue;p=!1;break}if(h){if(!CQi(t,function(S,C){if(!OQi(h,C)&&(g===S||i(g,S,r,n,o)))return h.push(C)})){p=!1;break}}else if(!(g===b||i(g,b,r,n,o))){p=!1;break}}return o.delete(e),o.delete(t),p}s(kQi,"equalArrays");iYt.exports=kQi});var h3e=y((oBu,sYt)=>{"use strict";var NQi=_m(),PQi=NQi.Uint8Array;sYt.exports=PQi});var m3e=y((aBu,oYt)=>{"use strict";function DQi(e){var t=-1,r=Array(e.size);return e.forEach(function(n,i){r[++t]=[i,n]}),r}s(DQi,"mapToArray");oYt.exports=DQi});var ZK=y((uBu,aYt)=>{"use strict";function MQi(e){var t=-1,r=Array(e.size);return e.forEach(function(n){r[++t]=n}),r}s(MQi,"setToArray");aYt.exports=MQi});var dYt=y((fBu,fYt)=>{"use strict";var cYt=nI(),uYt=h3e(),LQi=cI(),qQi=p3e(),BQi=m3e(),UQi=ZK(),FQi=1,jQi=2,$Qi="[object Boolean]",HQi="[object Date]",GQi="[object Error]",zQi="[object Map]",VQi="[object Number]",WQi="[object RegExp]",KQi="[object Set]",YQi="[object String]",QQi="[object Symbol]",XQi="[object ArrayBuffer]",JQi="[object DataView]",lYt=cYt?cYt.prototype:void 0,g3e=lYt?lYt.valueOf:void 0;function ZQi(e,t,r,n,i,o,a){switch(r){case JQi:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case XQi:return!(e.byteLength!=t.byteLength||!o(new uYt(e),new uYt(t)));case $Qi:case HQi:case VQi:return LQi(+e,+t);case GQi:return e.name==t.name&&e.message==t.message;case WQi:case YQi:return e==t+"";case zQi:var c=BQi;case KQi:var u=n&FQi;if(c||(c=UQi),e.size!=t.size&&!u)return!1;var l=a.get(e);if(l)return l==t;n|=jQi,a.set(e,t);var f=qQi(c(e),c(t),n,i,o,a);return a.delete(e),f;case QQi:if(g3e)return g3e.call(e)==g3e.call(t)}return!1}s(ZQi,"equalByTag");fYt.exports=ZQi});var _3e=y((pBu,pYt)=>{"use strict";var eXi=sle(),tXi=Ua();function rXi(e,t,r){var n=t(e);return tXi(e)?n:eXi(n,r(e))}s(rXi,"baseGetAllKeys");pYt.exports=rXi});var vle=y((mBu,hYt)=>{"use strict";function nXi(e,t){for(var r=-1,n=e==null?0:e.length,i=0,o=[];++r<n;){var a=e[r];t(a,r,e)&&(o[i++]=a)}return o}s(nXi,"arrayFilter");hYt.exports=nXi});var y3e=y((_Bu,mYt)=>{"use strict";function iXi(){return[]}s(iXi,"stubArray");mYt.exports=iXi});var Sle=y((bBu,_Yt)=>{"use strict";var sXi=vle(),oXi=y3e(),aXi=Object.prototype,cXi=aXi.propertyIsEnumerable,gYt=Object.getOwnPropertySymbols,uXi=gYt?function(e){return e==null?[]:(e=Object(e),sXi(gYt(e),function(t){return cXi.call(e,t)}))}:oXi;_Yt.exports=uXi});var b3e=y((EBu,yYt)=>{"use strict";var lXi=_3e(),fXi=Sle(),dXi=JA();function pXi(e){return lXi(e,dXi,fXi)}s(pXi,"getAllKeys");yYt.exports=pXi});var vYt=y((SBu,EYt)=>{"use strict";var bYt=b3e(),hXi=1,mXi=Object.prototype,gXi=mXi.hasOwnProperty;function _Xi(e,t,r,n,i,o){var a=r&hXi,c=bYt(e),u=c.length,l=bYt(t),f=l.length;if(u!=f&&!a)return!1;for(var d=u;d--;){var p=c[d];if(!(a?p in t:gXi.call(t,p)))return!1}var h=o.get(e),g=o.get(t);if(h&&g)return h==t&&g==e;var b=!0;o.set(e,t),o.set(t,e);for(var v=a;++d<u;){p=c[d];var S=e[p],C=t[p];if(n)var R=a?n(C,S,p,t,e,o):n(S,C,p,e,t,o);if(!(R===void 0?S===C||i(S,C,r,n,o):R)){b=!1;break}v||(v=p=="constructor")}if(b&&!v){var N=e.constructor,A=t.constructor;N!=A&&"constructor"in e&&"constructor"in t&&!(typeof N=="function"&&N instanceof N&&typeof A=="function"&&A instanceof A)&&(b=!1)}return o.delete(e),o.delete(t),b}s(_Xi,"equalObjects");EYt.exports=_Xi});var wYt=y((TBu,SYt)=>{"use strict";var yXi=aI(),bXi=_m(),EXi=yXi(bXi,"DataView");SYt.exports=EXi});var AYt=y((ABu,TYt)=>{"use strict";var vXi=aI(),SXi=_m(),wXi=vXi(SXi,"Promise");TYt.exports=wXi});var E3e=y((xBu,xYt)=>{"use strict";var TXi=aI(),AXi=_m(),xXi=TXi(AXi,"Set");xYt.exports=xXi});var v3e=y((CBu,CYt)=>{"use strict";var CXi=aI(),OXi=_m(),RXi=CXi(OXi,"WeakMap");CYt.exports=RXi});var dI=y((OBu,DYt)=>{"use strict";var S3e=wYt(),w3e=rle(),T3e=AYt(),A3e=E3e(),x3e=v3e(),PYt=VA(),l3=qje(),OYt="[object Map]",IXi="[object Object]",RYt="[object Promise]",IYt="[object Set]",kYt="[object WeakMap]",NYt="[object DataView]",kXi=l3(S3e),NXi=l3(w3e),PXi=l3(T3e),DXi=l3(A3e),MXi=l3(x3e),aM=PYt;(S3e&&aM(new S3e(new ArrayBuffer(1)))!=NYt||w3e&&aM(new w3e)!=OYt||T3e&&aM(T3e.resolve())!=RYt||A3e&&aM(new A3e)!=IYt||x3e&&aM(new x3e)!=kYt)&&(aM=s(function(e){var t=PYt(e),r=t==IXi?e.constructor:void 0,n=r?l3(r):"";if(n)switch(n){case kXi:return NYt;case NXi:return OYt;case PXi:return RYt;case DXi:return IYt;case MXi:return kYt}return t},"getTag"));DYt.exports=aM});var $Yt=y((IBu,jYt)=>{"use strict";var C3e=JK(),LXi=p3e(),qXi=dYt(),BXi=vYt(),MYt=dI(),LYt=Ua(),qYt=sM(),UXi=oM(),FXi=1,BYt="[object Arguments]",UYt="[object Array]",wle="[object Object]",jXi=Object.prototype,FYt=jXi.hasOwnProperty;function $Xi(e,t,r,n,i,o){var a=LYt(e),c=LYt(t),u=a?UYt:MYt(e),l=c?UYt:MYt(t);u=u==BYt?wle:u,l=l==BYt?wle:l;var f=u==wle,d=l==wle,p=u==l;if(p&&qYt(e)){if(!qYt(t))return!1;a=!0,f=!1}if(p&&!f)return o||(o=new C3e),a||UXi(e)?LXi(e,t,r,n,i,o):qXi(e,t,u,r,n,i,o);if(!(r&FXi)){var h=f&&FYt.call(e,"__wrapped__"),g=d&&FYt.call(t,"__wrapped__");if(h||g){var b=h?e.value():e,v=g?t.value():t;return o||(o=new C3e),i(b,v,r,n,o)}}return p?(o||(o=new C3e),BXi(e,t,r,n,i,o)):!1}s($Xi,"baseIsEqualDeep");jYt.exports=$Xi});var O3e=y((NBu,zYt)=>{"use strict";var HXi=$Yt(),HYt=Og();function GYt(e,t,r,n,i){return e===t?!0:e==null||t==null||!HYt(e)&&!HYt(t)?e!==e&&t!==t:HXi(e,t,r,n,GYt,i)}s(GYt,"baseIsEqual");zYt.exports=GYt});var WYt=y((DBu,VYt)=>{"use strict";var GXi=JK(),zXi=O3e(),VXi=1,WXi=2;function KXi(e,t,r,n){var i=r.length,o=i,a=!n;if(e==null)return!o;for(e=Object(e);i--;){var c=r[i];if(a&&c[2]?c[1]!==e[c[0]]:!(c[0]in e))return!1}for(;++i<o;){c=r[i];var u=c[0],l=e[u],f=c[1];if(a&&c[2]){if(l===void 0&&!(u in e))return!1}else{var d=new GXi;if(n)var p=n(l,f,u,e,t,d);if(!(p===void 0?zXi(f,l,VXi|WXi,n,d):p))return!1}}return!0}s(KXi,"baseIsMatch");VYt.exports=KXi});var R3e=y((LBu,KYt)=>{"use strict";var YXi=Rg();function QXi(e){return e===e&&!YXi(e)}s(QXi,"isStrictComparable");KYt.exports=QXi});var QYt=y((BBu,YYt)=>{"use strict";var XXi=R3e(),JXi=JA();function ZXi(e){for(var t=JXi(e),r=t.length;r--;){var n=t[r],i=e[n];t[r]=[n,i,XXi(i)]}return t}s(ZXi,"getMatchData");YYt.exports=ZXi});var I3e=y((FBu,XYt)=>{"use strict";function eJi(e,t){return function(r){return r==null?!1:r[e]===t&&(t!==void 0||e in Object(r))}}s(eJi,"matchesStrictComparable");XYt.exports=eJi});var ZYt=y(($Bu,JYt)=>{"use strict";var tJi=WYt(),rJi=QYt(),nJi=I3e();function iJi(e){var t=rJi(e);return t.length==1&&t[0][2]?nJi(t[0][0],t[0][1]):function(r){return r===e||tJi(r,e,t)}}s(iJi,"baseMatches");JYt.exports=iJi});var k3e=y((GBu,eQt)=>{"use strict";var sJi=DK();function oJi(e,t,r){var n=e==null?void 0:sJi(e,t);return n===void 0?r:n}s(oJi,"get");eQt.exports=oJi});var rQt=y((VBu,tQt)=>{"use strict";var aJi=O3e(),cJi=k3e(),uJi=Gje(),lJi=tle(),fJi=R3e(),dJi=I3e(),pJi=eM(),hJi=1,mJi=2;function gJi(e,t){return lJi(e)&&fJi(t)?dJi(pJi(e),t):function(r){var n=cJi(r,e);return n===void 0&&n===t?uJi(r,e):aJi(t,n,hJi|mJi)}}s(gJi,"baseMatchesProperty");tQt.exports=gJi});var iQt=y((KBu,nQt)=>{"use strict";function _Ji(e){return function(t){return t?.[e]}}s(_Ji,"baseProperty");nQt.exports=_Ji});var oQt=y((QBu,sQt)=>{"use strict";var yJi=DK();function bJi(e){return function(t){return yJi(t,e)}}s(bJi,"basePropertyDeep");sQt.exports=bJi});var cQt=y((JBu,aQt)=>{"use strict";var EJi=iQt(),vJi=oQt(),SJi=tle(),wJi=eM();function TJi(e){return SJi(e)?EJi(wJi(e)):vJi(e)}s(TJi,"property");aQt.exports=TJi});var kg=y((eUu,uQt)=>{"use strict";var AJi=ZYt(),xJi=rQt(),CJi=nh(),OJi=Ua(),RJi=cQt();function IJi(e){return typeof e=="function"?e:e==null?CJi:typeof e=="object"?OJi(e)?xJi(e[0],e[1]):AJi(e):RJi(e)}s(IJi,"baseIteratee");uQt.exports=IJi});var N3e=y((rUu,lQt)=>{"use strict";var kJi=tM(),NJi=XK(),PJi=kg();function DJi(e,t){var r={};return t=PJi(t,3),NJi(e,function(n,i,o){kJi(r,i,t(n,i,o))}),r}s(DJi,"mapValues");lQt.exports=DJi});var e7=y((iUu,mQt)=>{"use strict";function cM(e){this._maxSize=e,this.clear()}s(cM,"Cache");cM.prototype.clear=function(){this._size=0,this._values=Object.create(null)};cM.prototype.get=function(e){return this._values[e]};cM.prototype.set=function(e,t){return this._size>=this._maxSize&&this.clear(),e in this._values||this._size++,this._values[e]=t};var MJi=/[^.^\]^[]+|(?=\[\]|\.\.)/g,hQt=/^\d+$/,LJi=/^\d/,qJi=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,BJi=/^\s*(['"]?)(.*?)(\1)\s*$/,M3e=512,fQt=new cM(M3e),dQt=new cM(M3e),pQt=new cM(M3e);mQt.exports={Cache:cM,split:D3e,normalizePath:P3e,setter:function(e){var t=P3e(e);return dQt.get(e)||dQt.set(e,s(function(n,i){for(var o=0,a=t.length,c=n;o<a-1;){var u=t[o];if(u==="__proto__"||u==="constructor"||u==="prototype")return n;c=c[t[o++]]}c[t[o]]=i},"setter"))},getter:function(e,t){var r=P3e(e);return pQt.get(e)||pQt.set(e,s(function(i){for(var o=0,a=r.length;o<a;)if(i!=null||!t)i=i[r[o++]];else return;return i},"getter"))},join:function(e){return e.reduce(function(t,r){return t+(L3e(r)||hQt.test(r)?"["+r+"]":(t?".":"")+r)},"")},forEach:function(e,t,r){UJi(Array.isArray(e)?e:D3e(e),t,r)}};function P3e(e){return fQt.get(e)||fQt.set(e,D3e(e).map(function(t){return t.replace(BJi,"$2")}))}s(P3e,"normalizePath");function D3e(e){return e.match(MJi)||[""]}s(D3e,"split");function UJi(e,t,r){var n=e.length,i,o,a,c;for(o=0;o<n;o++)i=e[o],i&&($Ji(i)&&(i='"'+i+'"'),c=L3e(i),a=!c&&/^\d+$/.test(i),t.call(r,i,c,a,o,e))}s(UJi,"forEach");function L3e(e){return typeof e=="string"&&e&&["'",'"'].indexOf(e.charAt(0))!==-1}s(L3e,"isQuoted");function FJi(e){return e.match(LJi)&&!e.match(hQt)}s(FJi,"hasLeadingNumber");function jJi(e){return qJi.test(e)}s(jJi,"hasSpecialChars");function $Ji(e){return!L3e(e)&&(FJi(e)||jJi(e))}s($Ji,"shouldBeQuoted")});var uM=y(r7=>{"use strict";Object.defineProperty(r7,"__esModule",{value:!0});r7.create=GJi;r7.default=void 0;var HJi=e7(),Tle={context:"$",value:"."};function GJi(e,t){return new t7(e,t)}s(GJi,"create");var t7=class{static{s(this,"Reference")}constructor(t,r={}){if(typeof t!="string")throw new TypeError("ref must be a string, got: "+t);if(this.key=t.trim(),t==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===Tle.context,this.isValue=this.key[0]===Tle.value,this.isSibling=!this.isContext&&!this.isValue;let n=this.isContext?Tle.context:this.isValue?Tle.value:"";this.path=this.key.slice(n.length),this.getter=this.path&&(0,HJi.getter)(this.path,!0),this.map=r.map}getValue(t,r,n){let i=this.isContext?n:this.isValue?t:r;return this.getter&&(i=this.getter(i||{})),this.map&&(i=this.map(i)),i}cast(t,r){return this.getValue(t,r?.parent,r?.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(t){return t&&t.__isYupRef}};r7.default=t7;t7.prototype.__isYupRef=!0});var gQt=y(B3e=>{"use strict";Object.defineProperty(B3e,"__esModule",{value:!0});B3e.default=KJi;var zJi=q3e(N3e()),Ale=q3e(iM()),VJi=q3e(uM());function q3e(e){return e&&e.__esModule?e:{default:e}}s(q3e,"_interopRequireDefault");function xle(){return xle=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},xle.apply(this,arguments)}s(xle,"_extends");function WJi(e,t){if(e==null)return{};var r={},n=Object.keys(e),i,o;for(o=0;o<n.length;o++)i=n[o],!(t.indexOf(i)>=0)&&(r[i]=e[i]);return r}s(WJi,"_objectWithoutPropertiesLoose");function KJi(e){function t(r,n){let{value:i,path:o="",label:a,options:c,originalValue:u,sync:l}=r,f=WJi(r,["value","path","label","options","originalValue","sync"]),{name:d,test:p,params:h,message:g}=e,{parent:b,context:v}=c;function S(L){return VJi.default.isRef(L)?L.getValue(i,b,v):L}s(S,"resolve");function C(L={}){let $=(0,zJi.default)(xle({value:i,originalValue:u,label:a,path:L.path||o},h,L.params),S),U=new Ale.default(Ale.default.formatError(L.message||g,$),i,$.path,L.type||d);return U.params=$,U}s(C,"createError");let R=xle({path:o,parent:b,type:d,createError:C,resolve:S,options:c,originalValue:u},f);if(!l){try{Promise.resolve(p.call(R,i,R)).then(L=>{Ale.default.isError(L)?n(L):L?n(null,L):n(C())})}catch(L){n(L)}return}let N;try{var A;if(N=p.call(R,i,R),typeof((A=N)==null?void 0:A.then)=="function")throw new Error(`Validation test of type: "${R.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(L){n(L);return}Ale.default.isError(N)?n(N):N?n(null,N):n(C())}return s(t,"validate"),t.OPTIONS=e,t}s(KJi,"createValidation")});var U3e=y(n7=>{"use strict";Object.defineProperty(n7,"__esModule",{value:!0});n7.getIn=_Qt;n7.default=void 0;var YJi=e7(),QJi=s(e=>e.substr(0,e.length-1).substr(1),"trim");function _Qt(e,t,r,n=r){let i,o,a;return t?((0,YJi.forEach)(t,(c,u,l)=>{let f=u?QJi(c):c;if(e=e.resolve({context:n,parent:i,value:r}),e.innerType){let d=l?parseInt(f,10):0;if(r&&d>=r.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${c}, in the path: ${t}. because there is no value at that index. `);i=r,r=r&&r[d],e=e.innerType}if(!l){if(!e.fields||!e.fields[f])throw new Error(`The schema does not contain the path: ${t}. (failed at: ${a} which is a type: "${e._type}")`);i=r,r=r&&r[f],e=e.fields[f]}o=f,a=u?"["+c+"]":"."+c}),{schema:e,parent:i,parentPath:o}):{parent:i,parentPath:t,schema:e}}s(_Qt,"getIn");var XJi=s((e,t,r,n)=>_Qt(e,t,r,n).schema,"reach"),JJi=XJi;n7.default=JJi});var bQt=y(Cle=>{"use strict";Object.defineProperty(Cle,"__esModule",{value:!0});Cle.default=void 0;var yQt=ZJi(uM());function ZJi(e){return e&&e.__esModule?e:{default:e}}s(ZJi,"_interopRequireDefault");var F3e=class e{static{s(this,"ReferenceSet")}constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let t=[];for(let r of this.list)t.push(r);for(let[,r]of this.refs)t.push(r.describe());return t}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(t){yQt.default.isRef(t)?this.refs.set(t.key,t):this.list.add(t)}delete(t){yQt.default.isRef(t)?this.refs.delete(t.key):this.list.delete(t)}has(t,r){if(this.list.has(t))return!0;let n,i=this.refs.values();for(;n=i.next(),!n.done;)if(r(n.value)===t)return!0;return!1}clone(){let t=new e;return t.list=new Set(this.list),t.refs=new Map(this.refs),t}merge(t,r){let n=this.clone();return t.list.forEach(i=>n.add(i)),t.refs.forEach(i=>n.add(i)),r.list.forEach(i=>n.delete(i)),r.refs.forEach(i=>n.delete(i)),n}};Cle.default=F3e});var ex=y(Rle=>{"use strict";Object.defineProperty(Rle,"__esModule",{value:!0});Rle.default=void 0;var EQt=ZA(ZKt()),f3=XA(),eZi=ZA(p7t()),vQt=ZA(mle()),Ole=ZA(gQt()),SQt=ZA(WK()),tZi=ZA(uM()),rZi=U3e(),nZi=ZA(i3e()),wQt=ZA(iM()),TQt=ZA(bQt());function ZA(e){return e&&e.__esModule?e:{default:e}}s(ZA,"_interopRequireDefault");function yb(){return yb=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},yb.apply(this,arguments)}s(yb,"_extends");var Ov=class{static{s(this,"BaseSchema")}constructor(t){this.deps=[],this.conditions=[],this._whitelist=new TQt.default,this._blacklist=new TQt.default,this.exclusiveTests=Object.create(null),this.tests=[],this.transforms=[],this.withMutation(()=>{this.typeError(f3.mixed.notType)}),this.type=t?.type||"mixed",this.spec=yb({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:"optional"},t?.spec)}get _type(){return this.type}_typeCheck(t){return!0}clone(t){if(this._mutate)return t&&Object.assign(this.spec,t),this;let r=Object.create(Object.getPrototypeOf(this));return r.type=this.type,r._typeError=this._typeError,r._whitelistError=this._whitelistError,r._blacklistError=this._blacklistError,r._whitelist=this._whitelist.clone(),r._blacklist=this._blacklist.clone(),r.exclusiveTests=yb({},this.exclusiveTests),r.deps=[...this.deps],r.conditions=[...this.conditions],r.tests=[...this.tests],r.transforms=[...this.transforms],r.spec=(0,EQt.default)(yb({},this.spec,t)),r}label(t){var r=this.clone();return r.spec.label=t,r}meta(...t){if(t.length===0)return this.spec.meta;let r=this.clone();return r.spec.meta=Object.assign(r.spec.meta||{},t[0]),r}withMutation(t){let r=this._mutate;this._mutate=!0;let n=t(this);return this._mutate=r,n}concat(t){if(!t||t===this)return this;if(t.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${t.type}`);let r=this,n=t.clone(),i=yb({},r.spec,n.spec);return n.spec=i,n._typeError||(n._typeError=r._typeError),n._whitelistError||(n._whitelistError=r._whitelistError),n._blacklistError||(n._blacklistError=r._blacklistError),n._whitelist=r._whitelist.merge(t._whitelist,t._blacklist),n._blacklist=r._blacklist.merge(t._blacklist,t._whitelist),n.tests=r.tests,n.exclusiveTests=r.exclusiveTests,n.withMutation(o=>{t.tests.forEach(a=>{o.test(a.OPTIONS)})}),n}isType(t){return this.spec.nullable&&t===null?!0:this._typeCheck(t)}resolve(t){let r=this;if(r.conditions.length){let n=r.conditions;r=r.clone(),r.conditions=[],r=n.reduce((i,o)=>o.resolve(i,t),r),r=r.resolve(t)}return r}cast(t,r={}){let n=this.resolve(yb({value:t},r)),i=n._cast(t,r);if(t!==void 0&&r.assert!==!1&&n.isType(i)!==!0){let o=(0,SQt.default)(t),a=(0,SQt.default)(i);throw new TypeError(`The value of ${r.path||"field"} could not be cast to a value that satisfies the schema type: "${n._type}".
8
8
 
@@ -1364,7 +1364,7 @@ $1`)};$ce.parseAttributes=s(function(t){return Object.keys(t).map(function(r){va
1364
1364
  Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Nulla quis lorem ut libero malesuada feugiat. Proin eget tortor risus. Cras ultricies ligula sed magna dictum porta. Donec sollicitudin molestie malesuada. Pellentesque in ipsum id orci porta dapibus. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Nulla quis lorem ut libero malesuada feugiat. Proin eget tortor risus.
1365
1365
 
1366
1366
  Curabitur aliquet quam id dui posuere blandit. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Pellentesque in ipsum id orci porta dapibus. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Nulla quis lorem ut libero malesuada feugiat. Proin eget tortor risus. Cras ultricies ligula sed magna dictum porta. Donec sollicitudin molestie malesuada. Pellentesque in ipsum id orci porta dapibus. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui. Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. Nulla quis lorem ut libero malesuada feugiat. Proin eget tortor risus. Curabitur aliquet quam id dui posuere blandit. Vestibulum ac diam sit amet quam vehicula elementum sed sit amet dui.`;aji.exports=jxu});var A6t=y((uji,lji)=>{"use strict";var ip=Kp(),xj=jce(),rs=lji.exports,$xu=cji();rs.append=function(e,t){return typeof e=="string"&&typeof t=="string"?e+t:e};rs.camelcase=function(e){return typeof e!="string"?"":xj.changecase(e,function(t){return t.toUpperCase()})};rs.capitalize=function(e){return typeof e!="string"?"":e.charAt(0).toUpperCase()+e.slice(1)};rs.capitalizeAll=function(e){if(typeof e!="string")return"";if(ip.isString(e))return e.replace(/\w\S*/g,function(t){return rs.capitalize(t)})};rs.center=function(e,t){if(typeof e!="string")return"";for(var r="",n=0;n<t;)r+="&nbsp;",n++;return r+e+r};rs.chop=function(e){return typeof e!="string"?"":xj.chop(e)};rs.dashcase=function(e){return typeof e!="string"?"":xj.changecase(e,function(t){return"-"+t})};rs.dotcase=function(e){return typeof e!="string"?"":xj.changecase(e,function(t){return"."+t})};rs.downcase=function(){return rs.lowercase.apply(this,arguments)};rs.ellipsis=function(e,t){if(ip.isString(e))return e.length<=t?e:rs.truncate(e,t)+"\u2026"};rs.hyphenate=function(e){return typeof e!="string"?"":e.split(" ").join("-")};rs.isString=function(e){return typeof e=="string"};rs.lowercase=function(e){return ip.isObject(e)&&e.fn?e.fn(this).toLowerCase():typeof e!="string"?"":e.toLowerCase()};rs.occurrences=function(e,t){if(typeof e!="string")return"";for(var r=t.length,n=0,i=0;(n=e.indexOf(t,n))>-1;)i++,n+=r;return i};rs.pascalcase=function(e){return typeof e!="string"?"":(e=xj.changecase(e,function(t){return t.toUpperCase()}),e.charAt(0).toUpperCase()+e.slice(1))};rs.pathcase=function(e){return typeof e!="string"?"":xj.changecase(e,function(t){return"/"+t})};rs.plusify=function(e,t){return typeof e!="string"?"":(ip.isString(t)||(t=" "),e.split(t).join("+"))};rs.prepend=function(e,t){return typeof e=="string"&&typeof t=="string"?t+e:e};rs.raw=function(e){var t=e.fn(),r=ip.options(this,e);if(r.escape!==!1)for(var n=0;(n=t.indexOf("{{",n))!==-1;)t[n-1]!=="\\"&&(t=t.slice(0,n)+"\\"+t.slice(n)),n+=3;return t};rs.remove=function(e,t){return typeof e!="string"?"":ip.isString(t)?e.split(t).join(""):e};rs.removeFirst=function(e,t){return typeof e!="string"?"":ip.isString(t)?e.replace(t,""):e};rs.replace=function(e,t,r){return typeof e!="string"?"":ip.isString(t)?(ip.isString(r)||(r=""),e.split(t).join(r)):e};rs.replaceFirst=function(e,t,r){return typeof e!="string"?"":ip.isString(t)?(ip.isString(r)||(r=""),e.replace(t,r)):e};rs.reverse=KW().reverse;rs.sentence=function(e){return typeof e!="string"?"":e.replace(/((?:\S[^\.\?\!]*)[\.\?\!]*)/g,function(t){return t.charAt(0).toUpperCase()+t.substr(1).toLowerCase()})};rs.snakecase=function(e){return typeof e!="string"?"":xj.changecase(e,function(t){return"_"+t})};rs.split=function(e,t){return typeof e!="string"?"":(ip.isString(t)||(t=","),e.split(t))};rs.startsWith=function(e,t,r){var n=[].slice.call(arguments);return r=n.pop(),ip.isString(t)&&t.indexOf(e)===0?r.fn(this):typeof r.inverse=="function"?r.inverse(this):""};rs.titleize=function(e){if(typeof e!="string")return"";for(var t=e.replace(/[- _]+/g," "),r=t.split(" "),n=r.length,i=[],o=0;n--;){var a=r[o++];i.push(uji.capitalize(a))}return i.join(" ")};rs.trim=function(e){return typeof e=="string"?e.trim():""};rs.trimLeft=function(e){if(ip.isString(e))return e.replace(/^\s+/,"")};rs.trimRight=function(e){if(ip.isString(e))return e.replace(/\s+$/,"")};rs.truncate=function(e,t,r){if(ip.isString(e))return typeof r!="string"&&(r=""),e.length>t?e.slice(0,t-r.length)+r:e};rs.truncateWords=function(e,t,r){if(ip.isString(e)&&!isNaN(t)){typeof r!="string"&&(r="\u2026");var n=Number(t),i=e.split(/[ \t]/);if(n>=i.length)return e;i=i.slice(0,n);var o=i.join(" ").trim();return o+r}};rs.upcase=function(){return rs.uppercase.apply(this,arguments)};rs.uppercase=function(e){return ip.isObject(e)&&e.fn?e.fn(this).toUpperCase():typeof e!="string"?"":e.toUpperCase()};rs.lorem=function(e){return(isNaN(e)||e<1||!e)&&(e=11),$xu.substring(0,e)}});var C6t=y((nBf,fji)=>{"use strict";var x6t=require("url"),Kce=Kp(),Hxu=require("querystring"),Cj=fji.exports;Cj.encodeURI=function(e){if(Kce.isString(e))return encodeURIComponent(e)};Cj.escape=function(e){if(Kce.isString(e))return Hxu.escape(e)};Cj.decodeURI=function(e){if(Kce.isString(e))return decodeURIComponent(e)};Cj.urlResolve=function(e,t){return x6t.resolve(e,t)};Cj.urlParse=function(e){return x6t.parse(e)};Cj.stripQuerystring=function(e){if(Kce.isString(e))return e.split("?")[0]};Cj.stripProtocol=function(e){if(Kce.isString(e)){var t=x6t.parse(e);return t.protocol="",t.format()}}});function Yce(){return GUe>zUe.length-16&&(dji.default.randomFillSync(zUe),GUe=0),zUe.slice(GUe,GUe+=16)}var dji,zUe,GUe,O6t=ue(()=>{"use strict";dji=at(require("crypto")),zUe=new Uint8Array(256),GUe=zUe.length;s(Yce,"rng")});var pji,hji=ue(()=>{"use strict";pji=/^(?:[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});function Gxu(e){return typeof e=="string"&&pji.test(e)}var LD,Qce=ue(()=>{"use strict";hji();s(Gxu,"validate");LD=Gxu});function Oj(e,t=0){return Qp[e[t+0]]+Qp[e[t+1]]+Qp[e[t+2]]+Qp[e[t+3]]+"-"+Qp[e[t+4]]+Qp[e[t+5]]+"-"+Qp[e[t+6]]+Qp[e[t+7]]+"-"+Qp[e[t+8]]+Qp[e[t+9]]+"-"+Qp[e[t+10]]+Qp[e[t+11]]+Qp[e[t+12]]+Qp[e[t+13]]+Qp[e[t+14]]+Qp[e[t+15]]}function zxu(e,t=0){let r=Oj(e,t);if(!LD(r))throw TypeError("Stringified UUID is invalid");return r}var Qp,mji,Xce=ue(()=>{"use strict";Qce();Qp=[];for(let e=0;e<256;++e)Qp.push((e+256).toString(16).slice(1));s(Oj,"unsafeStringify");s(zxu,"stringify");mji=zxu});function Vxu(e,t,r){let n=t&&r||0,i=t||new Array(16);e=e||{};let o=e.node||gji,a=e.clockseq!==void 0?e.clockseq:R6t;if(o==null||a==null){let p=e.random||(e.rng||Yce)();o==null&&(o=gji=[p[0]|1,p[1],p[2],p[3],p[4],p[5]]),a==null&&(a=R6t=(p[6]<<8|p[7])&16383)}let c=e.msecs!==void 0?e.msecs:Date.now(),u=e.nsecs!==void 0?e.nsecs:k6t+1,l=c-I6t+(u-k6t)/1e4;if(l<0&&e.clockseq===void 0&&(a=a+1&16383),(l<0||c>I6t)&&e.nsecs===void 0&&(u=0),u>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");I6t=c,k6t=u,R6t=a,c+=122192928e5;let f=((c&268435455)*1e4+u)%4294967296;i[n++]=f>>>24&255,i[n++]=f>>>16&255,i[n++]=f>>>8&255,i[n++]=f&255;let d=c/4294967296*1e4&268435455;i[n++]=d>>>8&255,i[n++]=d&255,i[n++]=d>>>24&15|16,i[n++]=d>>>16&255,i[n++]=a>>>8|128,i[n++]=a&255;for(let p=0;p<6;++p)i[n+p]=o[p];return t||Oj(i)}var gji,R6t,I6t,k6t,_ji,yji=ue(()=>{"use strict";O6t();Xce();I6t=0,k6t=0;s(Vxu,"v1");_ji=Vxu});function Wxu(e){if(!LD(e))throw TypeError("Invalid UUID");let t,r=new Uint8Array(16);return r[0]=(t=parseInt(e.slice(0,8),16))>>>24,r[1]=t>>>16&255,r[2]=t>>>8&255,r[3]=t&255,r[4]=(t=parseInt(e.slice(9,13),16))>>>8,r[5]=t&255,r[6]=(t=parseInt(e.slice(14,18),16))>>>8,r[7]=t&255,r[8]=(t=parseInt(e.slice(19,23),16))>>>8,r[9]=t&255,r[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,r[11]=t/4294967296&255,r[12]=t>>>24&255,r[13]=t>>>16&255,r[14]=t>>>8&255,r[15]=t&255,r}var VUe,N6t=ue(()=>{"use strict";Qce();s(Wxu,"parse");VUe=Wxu});function Kxu(e){e=unescape(encodeURIComponent(e));let t=[];for(let r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t}function Jce(e,t,r){function n(i,o,a,c){var u;if(typeof i=="string"&&(i=Kxu(i)),typeof o=="string"&&(o=VUe(o)),((u=o)===null||u===void 0?void 0:u.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+i.length);if(l.set(o),l.set(i,o.length),l=r(l),l[6]=l[6]&15|t,l[8]=l[8]&63|128,a){c=c||0;for(let f=0;f<16;++f)a[c+f]=l[f];return a}return Oj(l)}s(n,"generateUUID");try{n.name=e}catch{}return n.DNS=Yxu,n.URL=Qxu,n}var Yxu,Qxu,P6t=ue(()=>{"use strict";Xce();N6t();s(Kxu,"stringToBytes");Yxu="6ba7b810-9dad-11d1-80b4-00c04fd430c8",Qxu="6ba7b811-9dad-11d1-80b4-00c04fd430c8";s(Jce,"v35")});function Xxu(e){return Array.isArray(e)?e=Buffer.from(e):typeof e=="string"&&(e=Buffer.from(e,"utf8")),bji.default.createHash("md5").update(e).digest()}var bji,Eji,vji=ue(()=>{"use strict";bji=at(require("crypto"));s(Xxu,"md5");Eji=Xxu});var Jxu,Sji,wji=ue(()=>{"use strict";P6t();vji();Jxu=Jce("v3",48,Eji),Sji=Jxu});var Tji,D6t,Aji=ue(()=>{"use strict";Tji=at(require("crypto")),D6t={randomUUID:Tji.default.randomUUID}});function Zxu(e,t,r){if(D6t.randomUUID&&!t&&!e)return D6t.randomUUID();e=e||{};let n=e.random||(e.rng||Yce)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){r=r||0;for(let i=0;i<16;++i)t[r+i]=n[i];return t}return Oj(n)}var xji,Cji=ue(()=>{"use strict";Aji();O6t();Xce();s(Zxu,"v4");xji=Zxu});function eCu(e){return Array.isArray(e)?e=Buffer.from(e):typeof e=="string"&&(e=Buffer.from(e,"utf8")),Oji.default.createHash("sha1").update(e).digest()}var Oji,Rji,Iji=ue(()=>{"use strict";Oji=at(require("crypto"));s(eCu,"sha1");Rji=eCu});var tCu,kji,Nji=ue(()=>{"use strict";P6t();Iji();tCu=Jce("v5",80,Rji),kji=tCu});var Pji,Dji=ue(()=>{"use strict";Pji="00000000-0000-0000-0000-000000000000"});function rCu(e){if(!LD(e))throw TypeError("Invalid UUID");return parseInt(e.slice(14,15),16)}var Mji,Lji=ue(()=>{"use strict";Qce();s(rCu,"version");Mji=rCu});var qji={};Co(qji,{NIL:()=>Pji,parse:()=>VUe,stringify:()=>mji,v1:()=>_ji,v3:()=>Sji,v4:()=>xji,v5:()=>kji,validate:()=>LD,version:()=>Mji});var Bji=ue(()=>{"use strict";yji();wji();Cji();Nji();Dji();Lji();Qce();Xce();N6t()});var M6t=y((ZBf,Uji)=>{"use strict";var nCu=(Bji(),Er(qji)),iCu=Uji.exports;iCu.uuid=function(){return nCu.v4()}});var jji=y((eUf,Fji)=>{"use strict";Fji.exports={array:KW(),code:zBi(),collection:oUi(),comparison:r6t(),html:AUi(),i18n:CUi(),inflection:IUi(),match:$Fi(),math:S6t(),misc:zFi(),number:w6t(),object:NUe(),path:iji(),regex:T6t(),string:A6t(),url:C6t(),uuid:M6t()}});var $ji=y((tUf,JW)=>{"use strict";var Zce=jji();JW.exports=s(function(t,r){typeof t=="string"?t=[t]:Array.isArray(t)||(r=t,t=null),r=r||{};var n=r.handlebars||r.hbs||qce();if(JW.exports.handlebars=n,t)t.forEach(function(i){n.registerHelper(Zce[i])});else for(let i in Zce){let o=Zce[i];n.registerHelper(o)}return n.helpers},"helpers");for(let e in Zce){let t=Zce[e];JW.exports[e]=function(r){r=r||{};var n=r.handlebars||r.hbs||qce();return JW.exports.handlebars=n,n.registerHelper(t),t}}JW.exports.utils=jce()});var Hji=y((L6t,q6t)=>{"use strict";(function(e,t){typeof L6t=="object"&&typeof q6t<"u"?q6t.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_duration=t()})(L6t,function(){"use strict";var e,t,r=1e3,n=6e4,i=36e5,o=864e5,a=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,c=31536e6,u=2628e6,l=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,f={years:c,months:u,days:o,hours:i,minutes:n,seconds:r,milliseconds:1,weeks:6048e5},d=s(function(N){return N instanceof C},"c"),p=s(function(N,A,L){return new C(N,L,A.$l)},"f"),h=s(function(N){return t.p(N)+"s"},"m"),g=s(function(N){return N<0},"l"),b=s(function(N){return g(N)?Math.ceil(N):Math.floor(N)},"$"),v=s(function(N){return Math.abs(N)},"y"),S=s(function(N,A){return N?g(N)?{negative:!0,format:""+v(N)+A}:{negative:!1,format:""+N+A}:{negative:!1,format:""}},"v"),C=function(){function N(L,$,U){var G=this;if(this.$d={},this.$l=U,L===void 0&&(this.$ms=0,this.parseFromMilliseconds()),$)return p(L*f[h($)],this);if(typeof L=="number")return this.$ms=L,this.parseFromMilliseconds(),this;if(typeof L=="object")return Object.keys(L).forEach(function(me){G.$d[h(me)]=L[me]}),this.calMilliseconds(),this;if(typeof L=="string"){var Z=L.match(l);if(Z){var re=Z.slice(2).map(function(me){return me!=null?Number(me):0});return this.$d.years=re[0],this.$d.months=re[1],this.$d.weeks=re[2],this.$d.days=re[3],this.$d.hours=re[4],this.$d.minutes=re[5],this.$d.seconds=re[6],this.calMilliseconds(),this}}return this}s(N,"l");var A=N.prototype;return A.calMilliseconds=function(){var L=this;this.$ms=Object.keys(this.$d).reduce(function($,U){return $+(L.$d[U]||0)*f[U]},0)},A.parseFromMilliseconds=function(){var L=this.$ms;this.$d.years=b(L/c),L%=c,this.$d.months=b(L/u),L%=u,this.$d.days=b(L/o),L%=o,this.$d.hours=b(L/i),L%=i,this.$d.minutes=b(L/n),L%=n,this.$d.seconds=b(L/r),L%=r,this.$d.milliseconds=L},A.toISOString=function(){var L=S(this.$d.years,"Y"),$=S(this.$d.months,"M"),U=+this.$d.days||0;this.$d.weeks&&(U+=7*this.$d.weeks);var G=S(U,"D"),Z=S(this.$d.hours,"H"),re=S(this.$d.minutes,"M"),me=this.$d.seconds||0;this.$d.milliseconds&&(me+=this.$d.milliseconds/1e3,me=Math.round(1e3*me)/1e3);var B=S(me,"S"),le=L.negative||$.negative||G.negative||Z.negative||re.negative||B.negative,J=Z.format||re.format||B.format?"T":"",F=(le?"-":"")+"P"+L.format+$.format+G.format+J+Z.format+re.format+B.format;return F==="P"||F==="-P"?"P0D":F},A.toJSON=function(){return this.toISOString()},A.format=function(L){var $=L||"YYYY-MM-DDTHH:mm:ss",U={Y:this.$d.years,YY:t.s(this.$d.years,2,"0"),YYYY:t.s(this.$d.years,4,"0"),M:this.$d.months,MM:t.s(this.$d.months,2,"0"),D:this.$d.days,DD:t.s(this.$d.days,2,"0"),H:this.$d.hours,HH:t.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:t.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:t.s(this.$d.seconds,2,"0"),SSS:t.s(this.$d.milliseconds,3,"0")};return $.replace(a,function(G,Z){return Z||String(U[G])})},A.as=function(L){return this.$ms/f[h(L)]},A.get=function(L){var $=this.$ms,U=h(L);return U==="milliseconds"?$%=1e3:$=U==="weeks"?b($/f[U]):this.$d[U],$||0},A.add=function(L,$,U){var G;return G=$?L*f[h($)]:d(L)?L.$ms:p(L,this).$ms,p(this.$ms+G*(U?-1:1),this)},A.subtract=function(L,$){return this.add(L,$,!0)},A.locale=function(L){var $=this.clone();return $.$l=L,$},A.clone=function(){return p(this.$ms,this)},A.humanize=function(L){return e().add(this.$ms,"ms").locale(this.$l).fromNow(!L)},A.valueOf=function(){return this.asMilliseconds()},A.milliseconds=function(){return this.get("milliseconds")},A.asMilliseconds=function(){return this.as("milliseconds")},A.seconds=function(){return this.get("seconds")},A.asSeconds=function(){return this.as("seconds")},A.minutes=function(){return this.get("minutes")},A.asMinutes=function(){return this.as("minutes")},A.hours=function(){return this.get("hours")},A.asHours=function(){return this.as("hours")},A.days=function(){return this.get("days")},A.asDays=function(){return this.as("days")},A.weeks=function(){return this.get("weeks")},A.asWeeks=function(){return this.as("weeks")},A.months=function(){return this.get("months")},A.asMonths=function(){return this.as("months")},A.years=function(){return this.get("years")},A.asYears=function(){return this.as("years")},N}(),R=s(function(N,A,L){return N.add(A.years()*L,"y").add(A.months()*L,"M").add(A.days()*L,"d").add(A.hours()*L,"h").add(A.minutes()*L,"m").add(A.seconds()*L,"s").add(A.milliseconds()*L,"ms")},"p");return function(N,A,L){e=L,t=L().$utils(),L.duration=function(G,Z){var re=L.locale();return p(G,{$l:re},Z)},L.isDuration=d;var $=A.prototype.add,U=A.prototype.subtract;A.prototype.add=function(G,Z){return d(G)?R(this,G,1):$.bind(this)(G,Z)},A.prototype.subtract=function(G,Z){return d(G)?R(this,G,-1):U.bind(this)(G,Z)}}})});var Gji=y((B6t,U6t)=>{"use strict";(function(e,t){typeof B6t=="object"&&typeof U6t<"u"?U6t.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_advancedFormat=t()})(B6t,function(){"use strict";return function(e,t){var r=t.prototype,n=r.format;r.format=function(i){var o=this,a=this.$locale();if(!this.isValid())return n.bind(this)(i);var c=this.$utils(),u=(i||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(l){switch(l){case"Q":return Math.ceil((o.$M+1)/3);case"Do":return a.ordinal(o.$D);case"gggg":return o.weekYear();case"GGGG":return o.isoWeekYear();case"wo":return a.ordinal(o.week(),"W");case"w":case"ww":return c.s(o.week(),l==="w"?1:2,"0");case"W":case"WW":return c.s(o.isoWeek(),l==="W"?1:2,"0");case"k":case"kk":return c.s(String(o.$H===0?24:o.$H),l==="k"?1:2,"0");case"X":return Math.floor(o.$d.getTime()/1e3);case"x":return o.$d.getTime();case"z":return"["+o.offsetName()+"]";case"zzz":return"["+o.offsetName("long")+"]";default:return l}});return n.bind(this)(u)}}})});var zji=y((F6t,j6t)=>{"use strict";(function(e,t){typeof F6t=="object"&&typeof j6t<"u"?j6t.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_isoWeek=t()})(F6t,function(){"use strict";var e="day";return function(t,r,n){var i=s(function(c){return c.add(4-c.isoWeekday(),e)},"a"),o=r.prototype;o.isoWeekYear=function(){return i(this).year()},o.isoWeek=function(c){if(!this.$utils().u(c))return this.add(7*(c-this.isoWeek()),e);var u,l,f,d,p=i(this),h=(u=this.isoWeekYear(),l=this.$u,f=(l?n.utc:n)().year(u).startOf("year"),d=4-f.isoWeekday(),f.isoWeekday()>4&&(d+=7),f.add(d,e));return p.diff(h,"week")+1},o.isoWeekday=function(c){return this.$utils().u(c)?this.day()||7:this.day(this.day()%7?c:c-7)};var a=o.startOf;o.startOf=function(c,u){var l=this.$utils(),f=!!l.u(u)||u;return l.p(c)==="isoweek"?f?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):a.bind(this)(c,u)}}})});var Vji=y(($6t,H6t)=>{"use strict";(function(e,t){typeof $6t=="object"&&typeof H6t<"u"?H6t.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_weekYear=t()})($6t,function(){"use strict";return function(e,t){t.prototype.weekYear=function(){var r=this.month(),n=this.week(),i=this.year();return n===1&&r===11?i+1:r===0&&n>=52?i-1:i}}})});var Wji=y((G6t,z6t)=>{"use strict";(function(e,t){typeof G6t=="object"&&typeof z6t<"u"?z6t.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_weekOfYear=t()})(G6t,function(){"use strict";var e="week",t="year";return function(r,n,i){var o=n.prototype;o.week=function(a){if(a===void 0&&(a=null),a!==null)return this.add(7*(a-this.week()),"day");var c=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var u=i(this).startOf(t).add(1,t).date(c),l=i(this).endOf(e);if(u.isBefore(l))return 1}var f=i(this).startOf(t).date(c).startOf(e).subtract(1,"millisecond"),d=this.diff(f,e,!0);return d<0?i(this).startOf("week").week():Math.ceil(d)},o.weeks=function(a){return a===void 0&&(a=null),this.week(a)}}})});var Kji=y((V6t,W6t)=>{"use strict";(function(e,t){typeof V6t=="object"&&typeof W6t<"u"?W6t.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_relativeTime=t()})(V6t,function(){"use strict";return function(e,t,r){e=e||{};var n=t.prototype,i={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function o(c,u,l,f){return n.fromToBase(c,u,l,f)}s(o,"i"),r.en.relativeTime=i,n.fromToBase=function(c,u,l,f,d){for(var p,h,g,b=l.$locale().relativeTime||i,v=e.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],S=v.length,C=0;C<S;C+=1){var R=v[C];R.d&&(p=f?r(c).diff(l,R.d,!0):l.diff(c,R.d,!0));var N=(e.rounding||Math.round)(Math.abs(p));if(g=p>0,N<=R.r||!R.r){N<=1&&C>0&&(R=v[C-1]);var A=b[R.l];d&&(N=d(""+N)),h=typeof A=="string"?A.replace("%d",N):A(N,u,R.l,g);break}}if(u)return h;var L=g?b.future:b.past;return typeof L=="function"?L(h):L.replace("%s",h)},n.to=function(c,u){return o(c,u,this,!0)},n.from=function(c,u){return o(c,u,this)};var a=s(function(c){return c.$u?r.utc():r()},"d");n.toNow=function(c){return this.to(a(this),c)},n.fromNow=function(c){return this.from(a(this),c)}}})});var Yji=y((K6t,Y6t)=>{"use strict";(function(e,t){typeof K6t=="object"&&typeof Y6t<"u"?Y6t.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_utc=t()})(K6t,function(){"use strict";var e="minute",t=/[+-]\d\d(?::?\d\d)?/g,r=/([+-]|\d\d)/g;return function(n,i,o){var a=i.prototype;o.utc=function(h){var g={date:h,utc:!0,args:arguments};return new i(g)},a.utc=function(h){var g=o(this.toDate(),{locale:this.$L,utc:!0});return h?g.add(this.utcOffset(),e):g},a.local=function(){return o(this.toDate(),{locale:this.$L,utc:!1})};var c=a.parse;a.parse=function(h){h.utc&&(this.$u=!0),this.$utils().u(h.$offset)||(this.$offset=h.$offset),c.call(this,h)};var u=a.init;a.init=function(){if(this.$u){var h=this.$d;this.$y=h.getUTCFullYear(),this.$M=h.getUTCMonth(),this.$D=h.getUTCDate(),this.$W=h.getUTCDay(),this.$H=h.getUTCHours(),this.$m=h.getUTCMinutes(),this.$s=h.getUTCSeconds(),this.$ms=h.getUTCMilliseconds()}else u.call(this)};var l=a.utcOffset;a.utcOffset=function(h,g){var b=this.$utils().u;if(b(h))return this.$u?0:b(this.$offset)?l.call(this):this.$offset;if(typeof h=="string"&&(h=function(R){R===void 0&&(R="");var N=R.match(t);if(!N)return null;var A=(""+N[0]).match(r)||["-",0,0],L=A[0],$=60*+A[1]+ +A[2];return $===0?0:L==="+"?$:-$}(h),h===null))return this;var v=Math.abs(h)<=16?60*h:h;if(v===0)return this.utc(g);var S=this.clone();if(g)return S.$offset=v,S.$u=!1,S;var C=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(S=this.local().add(v+C,e)).$offset=v,S.$x.$localOffset=C,S};var f=a.format;a.format=function(h){var g=h||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return f.call(this,g)},a.valueOf=function(){var h=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*h},a.isUTC=function(){return!!this.$u},a.toISOString=function(){return this.toDate().toISOString()},a.toString=function(){return this.toDate().toUTCString()};var d=a.toDate;a.toDate=function(h){return h==="s"&&this.$offset?o(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():d.call(this)};var p=a.diff;a.diff=function(h,g,b){if(h&&this.$u===h.$u)return p.call(this,h,g,b);var v=this.local(),S=o(h).local();return p.call(v,S,g,b)}}})});var Qji=y((Q6t,X6t)=>{"use strict";(function(e,t){typeof Q6t=="object"&&typeof X6t<"u"?X6t.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self).dayjs_plugin_timezone=t()})(Q6t,function(){"use strict";var e={year:0,month:1,day:2,hour:3,minute:4,second:5},t={};return function(r,n,i){var o,a=s(function(f,d,p){p===void 0&&(p={});var h=new Date(f),g=function(b,v){v===void 0&&(v={});var S=v.timeZoneName||"short",C=b+"|"+S,R=t[C];return R||(R=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:b,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:S}),t[C]=R),R}(d,p);return g.formatToParts(h)},"a"),c=s(function(f,d){for(var p=a(f,d),h=[],g=0;g<p.length;g+=1){var b=p[g],v=b.type,S=b.value,C=e[v];C>=0&&(h[C]=parseInt(S,10))}var R=h[3],N=R===24?0:R,A=h[0]+"-"+h[1]+"-"+h[2]+" "+N+":"+h[4]+":"+h[5]+":000",L=+f;return(i.utc(A).valueOf()-(L-=L%1e3))/6e4},"u"),u=n.prototype;u.tz=function(f,d){f===void 0&&(f=o);var p,h=this.utcOffset(),g=this.toDate(),b=g.toLocaleString("en-US",{timeZone:f}),v=Math.round((g-new Date(b))/1e3/60),S=15*-Math.round(g.getTimezoneOffset()/15)-v;if(!Number(S))p=this.utcOffset(0,d);else if(p=i(b,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(S,!0),d){var C=p.utcOffset();p=p.add(h-C,"minute")}return p.$x.$timezone=f,p},u.offsetName=function(f){var d=this.$x.$timezone||i.tz.guess(),p=a(this.valueOf(),d,{timeZoneName:f}).find(function(h){return h.type.toLowerCase()==="timezonename"});return p&&p.value};var l=u.startOf;u.startOf=function(f,d){if(!this.$x||!this.$x.$timezone)return l.call(this,f,d);var p=i(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return l.call(p,f,d).tz(this.$x.$timezone,!0)},i.tz=function(f,d,p){var h=p&&d,g=p||d||o,b=c(+i(),g);if(typeof f!="string")return i(f).tz(g);var v=function(N,A,L){var $=N-60*A*1e3,U=c($,L);if(A===U)return[$,A];var G=c($-=60*(U-A)*1e3,L);return U===G?[$,U]:[N-60*Math.min(U,G)*1e3,Math.max(U,G)]}(i.utc(f,h).valueOf(),b,g),S=v[0],C=v[1],R=i(S).utcOffset(C);return R.$x.$timezone=g,R},i.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},i.tz.setDefault=function(f){o=f}}})});process.env.DISABLE_PINO_LOGGER="1";process.env.NO_JS="1";process.env.JS_BCRYPT="1";process.env.DISABLE_JWT_WARNING="1";ad();var NS=class{static{s(this,"Command")}constructor(t,r){this.command=t,this.opts=[],this.func=r}convertToCommander(t){let r=t.toLowerCase().split("-");return[r.shift()].concat(r.map(i=>oje(i))).join("")}addHelp(t){return this.help=t,this}addSubOption(t,r,n,i=[]){return this.opts.push({command:t,help:r,func:n,extras:i}),this}configure(t){let r=this,n=t.command(r.command);this.help&&(n=n.description(yK(r.help)));for(let i of r.opts)n=n.option(i.command,jue(i.help));n.helpOption("--help",jue(`Get help with ${this.command} options`)),n.action(async i=>{try{let o=!1,a=!1;for(let c of r.opts){let u=c.command.split(" ")[0].replace("--","");if(u=this.convertToCommander(u),a=!o&&!!i[u],a&&c.func){let l=Object.keys(i).length>1?i:i[u];await c.func(l),o=!0}}a&&!o?console.log(ou(`${Object.keys(i)[0]} is an option, not an operation.`)):o||(console.log(ou(`Unknown ${this.command} option.`)),n.help())}catch(o){console.log(ou(o))}})}};iI();ad();var J5t=require("posthog-node");iI();var Gue=require("fs"),aVi=require("path"),cVi=require("os"),{error:uVi}=(ad(),Er(aje)),zue=class{static{s(this,"ConfigManager")}constructor(){this.path=aVi.join(cVi.homedir(),".budibase.json"),Gue.existsSync(this.path)||Gue.writeFileSync(this.path,"{}")}get config(){try{return JSON.parse(Gue.readFileSync(this.path,"utf8"))}catch{return console.log(uVi("Error parsing configuration file. Please check your .budibase.json is valid.")),{}}}set config(t){Gue.writeFileSync(this.path,JSON.stringify(t))}getValue(t){return this.config[t]}setValue(t,r){this.config={...this.config,[t]:r}}removeKey(t){let r={...this.config};delete r[t],this.config=r}};var Kj=class{static{s(this,"AnalyticsClient")}constructor(){this.client=new J5t.PostHog(Eje,{}),this.configManager=new zue}capture(t){this.configManager.config.analyticsDisabled||this.client.capture(t)}enable(){this.configManager.removeKey("analyticsDisabled"),this.client.capture({event:WA.OptIn,distinctId:"cli"})}disable(){this.client.capture({event:WA.OptOut,distinctId:"cli"}),this.configManager.setValue("analyticsDisabled",!0)}status(){return this.configManager.config.analyticsDisabled?"disabled":"enabled"}};var Sje=new Kj;async function lVi(){try{Sje.disable(),console.log(Fc("Successfully opted out of Budibase analytics. You can opt in at any time by running 'budi analytics opt-in'"))}catch(e){console.log(ou(`Error opting out of Budibase analytics. Please try again later - ${e}`))}}s(lVi,"optOut");async function fVi(){try{Sje.enable(),console.log(Fc("Successfully opted in to Budibase analytics. Thank you for helping us make Budibase better!"))}catch{console.log(ou("Error opting in to Budibase analytics. Please try again later."))}}s(fVi,"optIn");async function dVi(){try{console.log(Fc(`Budibase analytics ${Sje.status()}`))}catch{console.log(ou("Error fetching analytics status. Please try again later."))}}s(dVi,"status");var Z5t=new NS("analytics").addHelp("Control the analytics you send to Budibase.").addSubOption("--optin","Opt in to sending analytics to Budibase",fVi).addSubOption("--optout","Opt out of sending analytics to Budibase.",lVi).addSubOption("--status","Check whether you are currently opted in to Budibase analytics.",dVi);iI();iI();ZD();var hVi=new Kj;function Vue(e,t){hVi.capture({distinctId:"cli",event:e,properties:t})}s(Vue,"captureEvent");OK();ad();QA();var h9t=require("path"),m9t=at(require("fs"));ad();QA();async function Yue(e,t){let r="/plugins";if(e=(0,h9t.resolve)(e),!m9t.default.existsSync(e)){console.log(ou(`The directory "${e}" does not exist, please create and then try again.`));return}Cje(n=>{n.environment.PLUGINS_DIR=r,n.volumes||(n.volumes=[]);let i=n.volumes.find(o=>o.includes(r));i&&n.volumes.splice(n.volumes.indexOf(i),1),n.volumes.push(`${e}:${r}`)}),t||console.log(Fc(`Docker compose configured to watch directory: ${e}`))}s(Yue,"watchPlugins");var{success:yVi}=(ad(),Er(aje)),{updateDockerComposeService:bVi}=(QA(),Er(i9t)),EVi=require("randomstring"),{GENERATED_USER_EMAIL:vVi}=(iI(),Er(X5t));async function Que(e,t){let r=vVi;e||(e=EVi.generate({length:6})),bVi(n=>{n.environment.BB_ADMIN_USER_EMAIL=r,n.environment.BB_ADMIN_USER_PASSWORD=e}),t||console.log(yVi(`User admin credentials configured, access with email: ${r} - password: ${e}`))}s(Que,"generateUser");var g9t=at(require("node-fetch"));var SVi="http://169.254.169.254/metadata/v1/user-data";async function wVi(e,t,r){let n=t?c9t:{};if(e==="do")try{let o=await(await(0,g9t.default)(SVi)).text(),a=nje(o);for(let[c,u]of Object.entries(Nje))a[c]&&(n[u]=a[c])}catch{}return r&&(n[Nje.MAIN_PORT]=r),n}s(wVi,"getInitConfig");async function Xue(e){let t,r,n,i,o,a;typeof e=="string"?t=e:(t=e.init,r=e.single,n=e.watchPluginDir,i=e.genUser,o=e.port,a=e.silent);let c=t==="quick"||t==="do";if(await Tv(),!c&&!await sI("This will create multiple files in current directory, should continue?")){console.log("Stopping.");return}Vue(WA.SelfHostInit,{type:t});let u=await wVi(t,c,o);r?await f9t(u,a):(await xK(),await l9t(u,a)),n&&await Yue(n,a),i&&await Que(typeof i=="string"?i:null,a)}s(Xue,"init");QA();ad();OK();var _9t=at(require("docker-compose")),y9t=at(require("fs"));ZD();var TVi=require("open");async function Xj(){await Tv(),KA(),console.log(jc("Starting services, this may take a moment - first time this may take a few minutes to download images."));let e;y9t.default.existsSync(Qj)?e=d9t("MAIN_PORT"):e=p9t("port"),await YA(async()=>{await _9t.default.upAll({cwd:"./",log:!0})}),await sI(`Do you wish to open http://localhost:${e} ?`)&&await TVi(`http://localhost:${e}`),console.log(Fc(`Services started, please go to http://localhost:${e} for next steps.`))}s(Xj,"start");QA();ad();var b9t=at(require("docker-compose"));async function E9t(){await Tv(),KA(),console.log(jc("Stopping services, this may take a moment.")),await YA(async()=>{await b9t.default.stop()}),console.log(Fc("Services have been stopped successfully."))}s(E9t,"stop");QA();ad();var v9t=at(require("docker-compose"));async function S9t(){await Tv(),KA(),console.log(jc("Budibase status")),await YA(async()=>{let e=await v9t.default.ps();console.log(e.out)})}s(S9t,"status");QA();ZD();var Jue=at(require("docker-compose"));OK();ad();var AVi=["app-service","worker-service","proxy-service","couchdb-service"],xVi=["budibase"];async function w9t(){let{services:e}=CK(Yj),t=Object.keys(e).length===1;if(await Tv(),KA(),!t&&await sI("Do you wish to update you docker-compose.yaml?")){let r=await Wue("minio");await xK(),xje("minio",r)}await YA(async()=>{let n=(await Jue.default.ps()).out.split(`
1367
- `),i=n[2]&&n[2].indexOf("Up")!==-1;i&&(console.log(jc("Stopping services, this may take a moment.")),await Jue.default.stop()),console.log(jc("Beginning update, this may take a few minutes."));let o;t?o=xVi:o=AVi,await Jue.default.pullMany(o,{log:!0}),i&&(console.log(Fc("Update complete, restarting services...")),await Xj())})}s(w9t,"update");var T9t=new NS("hosting").addHelp("Controls self hosting on the Budibase platform.").addSubOption("--init [type]","Configure a self hosted platform in current directory, type can be unspecified, 'quick' or 'single'.",Xue).addSubOption("--start","Start the configured platform in current directory.",Xj).addSubOption("--status","Check the status of currently running services.",S9t).addSubOption("--stop","Stop the configured platform in the current directory.",E9t).addSubOption("--update","Update the Budibase images to the latest version.",w9t).addSubOption("--watch-plugin-dir [directory]","Add plugin directory watching to a Budibase install.",Yue).addSubOption("--gen-user","Create an admin user automatically as part of first start.",Que).addSubOption("--single","Specify this with init to use the single image.");iI();var mv=at(require("fs")),hj=require("path");var Zue=at(require("pouchdb"));ad();var A9t=at(require("node-fetch"));function ele(e){let t;e?t={prefix:e}:t={prefix:void 0,adapter:"leveldb"};let r=require("@budibase/pouchdb-replication-stream");return Zue.default.plugin(r.plugin),Zue.default.adapter("writableStream",r.adapters.writableStream),Zue.default.defaults(t)}s(ele,"getPouch");async function x9t(e){let t=await(0,A9t.default)(ije(encodeURI(`${e}/_all_dbs`)),{method:"GET"});if(t.status===200)return await t.json();throw"Cannot connect to CouchDB instance"}s(x9t,"getAllDbs");ad();var c2i=at(require("dotenv")),e4t=at(require("fs"));ZD();Ir();Ir();var H_={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"}},C9t={integer:{max:2147483647,min:-2147483648},int:{max:2147483647,min:-2147483648},smallint:{max:32767,min:-32768},mediumint:{max:8388607,min:-8388608}};var O3={};Co(O3,{ColumnSplitter:()=>r6e,NoEmptyFilterStrings:()=>Ter,buildQuery:()=>Aer,cleanupQuery:()=>s6e,fixupFilterArrays:()=>a6e,getKeyNumbering:()=>o6e,getValidOperatorsForType:()=>Sss,hasFilters:()=>n6e,limit:()=>Cer,recurseLogicalOperators:()=>i6e,removeKeyNumbering:()=>cle,runQuery:()=>nfe,search:()=>Ass,sort:()=>xer,splitFiltersArray:()=>ule});Ir();var C3=at(Mje());var nM={};Co(nM,{filterValueToLabel:()=>yKi,hasSchema:()=>bKi,isSupportedUserSearch:()=>UKt,parallelForeach:()=>_Ki,processSearchFilters:()=>Yje,toMap:()=>vKi,trimOtherProps:()=>EKi,unreachable:()=>gKi});Ir();var BKt=at(LKt());var mKi=["field","operator","value","type","externalType","valueType","noValue","formulaType"];function gKi(e,t){let r=t?.message||`No such case in exhaustive switch: ${e}`;if(!!!t?.doNotThrow)throw new Error(r)}s(gKi,"unreachable");async function _Ki(e,t,r){let n=[],i=Symbol.asyncIterator in e,o=i?e[Symbol.asyncIterator]():e[Symbol.iterator](),a=s(async()=>{let c=await(i?o.next():Promise.resolve(o.next()));for(;!c.done;)await t(c.value),c=await(i?o.next():Promise.resolve(o.next()))},"executeNext");for(let c=0;c<r;c++)n.push(a());await Promise.all(n)}s(_Ki,"parallelForeach");function yKi(){return Object.keys(H_).reduce((e,t)=>{let n=H_[t];return e[n.value]=n.label,e},{})}s(yKi,"filterValueToLabel");function bKi(e){return typeof e=="object"&&!Array.isArray(e)&&e!==null&&!(e instanceof Date)&&Object.keys(e).length>0}s(bKi,"hasSchema");function EKi(e,t){return Object.keys(e).filter(n=>t.includes(n)).reduce((n,i)=>({...n,[i]:e[i]}),{})}s(EKi,"trimOtherProps");function UKt(e){let t=[{op:"string",key:"email"},{op:"equal",key:"_id"},{op:"oneOf",key:"_id"}],{allOr:r,onEmptyFilter:n,...i}=e;for(let[o,a]of Object.entries(i)){if(typeof a!="object")return!1;if($ue(o)){for(let l of e[o].conditions)if(!UKt(l))return!1;return!0}let c=Object.keys(a||{});if(c.length===0)continue;if(!t.find(l=>l.op===o&&c.length===1&&c[0]===l.key))return!1}return!0}s(UKt,"isSupportedUserSearch");function Yje(e){if(!e||e.length===0)return;let{allOr:t,onEmptyFilter:r,filters:n}=ule(e);return{logicalOperator:"all",onEmptyFilter:r||"all",groups:[{logicalOperator:t?"any":"all",filters:n.map(i=>{let o=(0,BKt.default)(i,mKi);return o.field=cle(o.field),o})}]}}s(Yje,"processSearchFilters");function vKi(e,t){return t.reduce((r,n)=>(r[n[e]]=n,r),{})}s(vKi,"toMap");var ox={};Co(ox,{cancelableTimeout:()=>FKt,cron:()=>sss,deepGet:()=>Qje,duplicateName:()=>nss,getSequentialName:()=>iss,getUserColor:()=>wKi,getUserInitials:()=>SKi,getUserLabel:()=>TKi,isGoogleSheets:()=>CKi,isSQL:()=>OKi,lists:()=>e6e,retry:()=>RKi,roles:()=>Z4e,schema:()=>I7,views:()=>J4e,wait:()=>Xje,withTimeout:()=>AKi});var Qje=s((e,t)=>{if(!e||!t)return null;if(Object.prototype.hasOwnProperty.call(e,t))return e[t];let r=t.split(".");for(let n=0;n<r.length;n++)e=e?.[r[n]];return e},"deepGet"),SKi=s(e=>{if(!e)return"?";let t="";return t+=e.firstName?e.firstName[0]:"",t+=e.lastName?e.lastName[0]:"",t!==""?t:e.email?.[0]||"U"},"getUserInitials"),wKi=s(e=>{let t=e?._id;if(!t)return"var(--spectrum-global-color-blue-400)";t=t.replace("ro_ta_users_","");let r=1;for(let n=0;n<t.length;n++)r+=t.charCodeAt(n),r=r%36;return`hsl(${r*10}, 50%, 40%)`},"getUserColor"),TKi=s(e=>{if(!e)return"";let{firstName:t,lastName:r,email:n}=e;return t&&r?`${t} ${r}`:t||r||n},"getUserLabel");function FKt(e){let t;return[new Promise((r,n)=>{t=setTimeout(()=>{n({status:301,errno:"ETIME"})},e)}),()=>{clearTimeout(t)}]}s(FKt,"cancelableTimeout");async function AKi(e,t){let[r,n]=FKt(e),i=await Promise.race([t(),r]);return n(),i}s(AKi,"withTimeout");Ir();function CKi(e){return e==="GOOGLE_SHEETS"}s(CKi,"isGoogleSheets");function OKi(e){return!e||!e.source?!1:["POSTGRES","SQL_SERVER","MYSQL","ORACLE"].indexOf(e.source)!==-1||e.isSQL===!0}s(OKi,"isSQL");async function Xje(e){return new Promise(t=>setTimeout(t,e))}s(Xje,"wait");async function RKi(e,t){let{times:r=3}=t||{};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 Xje(o);try{return await e()}catch(a){n=a}}throw n}s(RKi,"retry");var cer=at(MS()),uer=at(oer());var aer="(Input cron: ",gis={"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 _is(e){let t=[];for(let r of e){r.includes(aer)&&(r=r.split(aer)[0].trim());for(let[n,i]of Object.entries(gis))r.includes(n)&&(r=r.replace(new RegExp(n,"g"),i));t.push(r)}return t}s(_is,"improveErrors");function ler(e,t=4){let r=uer.default.parseExpression(e),n=[];for(let i=0;i<t;i++)n.push(r.next().toString());return n}s(ler,"getNextExecutionDates");function fer(e){let t=(0,cer.default)(e,{preset:"npm-cron-schedule",override:{useSeconds:!1}});return t.isValid()?{valid:!0}:{valid:!1,err:_is(t.getError())}}s(fer,"validate");var I7={};Co(I7,{decodeNonAscii:()=>W4e,encodeNonAscii:()=>Eis,isDeprecatedSingleUserColumn:()=>yis,isNumeric:()=>vis,isRequired:()=>bis});Ir();function yis(e){return e.type==="bb_reference"&&e.subtype==="user"&&e.constraints?.type!=="array"}s(yis,"isDeprecatedSingleUserColumn");function bis(e){return!!e&&(typeof e.presence!="boolean"&&e.presence?.allowEmpty===!1||e.presence===!0)}s(bis,"isRequired");function Eis(e){return e.split("").map(t=>t.charCodeAt(0)>127?"\\u"+t.charCodeAt(0).toString(16).padStart(4,"0"):t).join("")}s(Eis,"encodeNonAscii");function W4e(e){return e.replace(/\\u([0-9a-fA-F]{4})/g,(t,r)=>String.fromCharCode(parseInt(r,16)))}s(W4e,"decodeNonAscii");function vis(e){return e.type==="number"||e.type==="bigint"}s(vis,"isNumeric");var J4e={};Co(J4e,{basicFields:()=>Jis,calculationFields:()=>Xis,hasCalculationFields:()=>Qis,isBasicViewField:()=>Kis,isCalculationField:()=>k7,isCalculationView:()=>Yis,isV2:()=>Zis,isVisible:()=>Eer});Ir();var X4e=at(Q4e());function k7(e){return"calculationType"in e}s(k7,"isCalculationField");function Kis(e){return!k7(e)}s(Kis,"isBasicViewField");function Yis(e){return e.type==="calculation"}s(Yis,"isCalculationView");function Qis(e){return Object.values(e.schema||{}).some(k7)}s(Qis,"hasCalculationFields");function Xis(e){return(0,X4e.default)(e.schema||{},k7)}s(Xis,"calculationFields");function Eer(e){return e.visible!==!1}s(Eer,"isVisible");function Jis(e,t){let{visible:r=!0}=t||{};return(0,X4e.default)(e.schema||{},n=>!k7(n)&&(!r||Eer(n)))}s(Jis,"basicFields");function Zis(e){return e.version===2}s(Zis,"isV2");var Z4e={};Co(Z4e,{checkForRoleInheritanceLoops:()=>tss});Ir();function ess(e){return`role${Fs}${e}`}s(ess,"prefixForCheck");function tss(e){let t=new Map;e.forEach(o=>{t.set(o._id,o)});let r=new Set,n=new Set;function i(o){let a=ess(o);if(n.has(o)||n.has(a))return!0;if(r.has(o)||r.has(a))return!1;n.add(o);let c=t.get(a)||t.get(o);if(!c)return n.delete(o),!1;let u=Array.isArray(c.inherits)?c.inherits:[c.inherits];for(let l of u)if(l&&i(l))return!0;return n.delete(o),r.add(o),!1}return s(i,"hasLoop"),!!e.find(o=>i(o._id))}s(tss,"checkForRoleInheritanceLoops");var e6e={};Co(e6e,{punctuateList:()=>rss});function rss(e){return e.length===0?"":e.length===1?e[0]:e.length===2?e.join(" and "):e.slice(0,-1).join(", ")+" and "+e[e.length-1]}s(rss,"punctuateList");var nss=s((e,t)=>{let r=new RegExp("\\s(\\d+)$"),n=e.split(r)[0],i=new RegExp(`${n}\\s(\\d+)$`),o=[];t.filter(c=>{if(c===n)return!0;let u=c.match(i);return u?(o.push(parseInt(u[1])),!0):!1}),o.sort((c,u)=>c-u);let a;if(o.length===0)a=1;else{for(let c=0;c<o.length;c++)if(o[c]!==c+1){a=c+1;break}a||(a=o.length+1)}return`${n} ${a}`},"duplicateName"),iss=s((e,t,{getName:r,numberFirstItem:n,separator:i=""}={})=>{if(!t?.length)return"";let o=t.trim(),a=n?`${t}1`:o;if(!e?.length)return a;let c=0;return e.forEach(u=>{let l=r?.(u)??u;if(typeof l!="string"||!l.startsWith(o))return;let f=l.split(o);if(f.length!==2)return;f[1].trim()===""&&(f[1]="1");let d=parseInt(f[1]);d>c&&(c=d)}),c===0?a:`${t}${i}${c+1}`},"getSequentialName");var sss={getNextExecutionDates:ler,validate:fer};var rfe=at(_b()),t6e=at(Ng());var Ess=/{{([^{].*?)}}/g,wer=Object.values(wK),vss=[...Object.values(Wj),...Object.values(YD),...Object.values(SK)],Sss=s((e,t,r)=>{let n=H_,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],c=[],{type:u,formulaType:l,subtype:f}=e;u==="string"?f==="array"?c=a:c=i:u==="number"||u==="bigint"?c=o:u==="options"?c=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:u==="array"?c=a:u==="boolean"?c=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty]:u==="longform"?c=i:u==="datetime"?c=o:u==="formula"&&l==="static"?c=i.concat([n.MoreThan,n.LessThan]):u==="ai"?c=i.concat([n.MoreThan,n.LessThan]):u==="bb_reference_single"||I7.isDeprecatedSingleUserColumn(e)?c=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:u==="bb_reference"?c=a:u==="barcodeqr"&&(c=i);let d=r?.tableId?.includes("datasource_plus");return t==="_id"&&d&&(c=[n.Equals,n.NotEquals,n.In]),c},"getValidOperatorsForType"),Ter=[H_.StartsWith.value,H_.Like.value,H_.Equals.value,H_.NotEquals.value,H_.Contains.value,H_.NotContains.value,H_.ContainsAny.value,H_.In.value];function i6e(e,t){for(let r of wer)e[r]&&(e[r].conditions=e[r].conditions.map(n=>t(n)));return e}s(i6e,"recurseLogicalOperators");var s6e=s(e=>{for(let t of Ter)if(e[t])for(let r of Object.keys(e)){if(r!==t)continue;if(typeof e[r]=="object")for(let[i,o]of Object.entries(e[r]))(o==null||o===""||wss(o))&&delete e[t][i]}return e=i6e(e,s6e),e},"cleanupQuery");function wss(e){return Array.isArray(e)&&e.length===0}s(wss,"isEmptyArray");var cle=s(e=>o6e(e).key,"removeKeyNumbering"),o6e=s(e=>{if(typeof e=="string"&&e.match(/\d[0-9]*:/g)!=null){let t=e.split(":");return{prefix:`${t.shift()}:`,key:t.join(":")}}else return{key:e}},"getKeyNumbering"),r6e=class{static{s(this,"ColumnSplitter")}constructor(t,r){if(this.tableNames=t.map(n=>n.name),this.tableIds=t.map(n=>n._id),this.relationshipColumnNames=t.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(t){let{prefix:r,key:n}=o6e(t),i;if(this.aliases)for(let a of Object.keys(this.aliases||{})){let c=`${a}.`;n.startsWith(c)&&(i=this.aliases[a],n=n.slice(c.length))}let o;for(let a of this.relationships){let c=`${a}.`;if(n.startsWith(c)){let u=n.split(c);u.shift(),o=c,n=u.join(".");break}}return this.columnPrefix&&n.startsWith(this.columnPrefix)&&(n=W4e(n.slice(this.columnPrefix.length))),{tableName:i,numberPrefix:r,relationshipPrefix:o,column:n}}};function Tss(e){if(!e||!e?.operator||!e?.field)return;let t={},{operator:r,field:n,type:i,externalType:o}=e,{value:a}=e;(r==="empty"||r==="notEmpty")&&(a=null);let c=typeof a=="string"&&(a.match(Ess)||[]).length>0;switch(i){case"datetime":if(!c&&r!=="empty"&&r!=="notEmpty"){if(!a)return;if(typeof a=="string")a=new Date(a).toISOString();else if(Hue(r))return t[r]??={},t[r][n]=a,t}break;case"number":typeof a=="string"&&!c&&(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(Hue(r)){let l=C9t[o]||{min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER};t[r]??={},t[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!=="")t.range??={},t.range[n]={...t.range[n],high:a};else if(r==="rangeLow"&&a!=null&&a!=="")t.range??={},t.range[n]={...t.range[n],low:a};else if(Szt(r)||wzt(r)||Hue(r))i==="boolean"?r==="equal"&&a===!1?(t.notEqual=t.notEqual||{},t.notEqual[n]=!0):r==="notEqual"&&a===!1?(t.equal=t.equal||{},t.equal[n]=!0):(t[r]??={},t[r][n]=a):(t[r]??={},t[r][n]=a);else throw new Error(`Unsupported operator: ${r}`);return t}s(Tss,"buildCondition");function ule(e){let t={filters:[]};for(let r of e)"operator"in r&&r.operator==="allOr"?t.allOr=!0:"onEmptyFilter"in r?t.onEmptyFilter=r.onEmptyFilter:t.filters.push(r);return t}s(ule,"splitFiltersArray");function Aer(e){if(!e)return{};if(Array.isArray(e)&&(e=Yje(e),!e))return{};let t={};e.onEmptyFilter?t.onEmptyFilter=e.onEmptyFilter:t.onEmptyFilter="all";let r=Ser(e.logicalOperator||"all");return t[r]={conditions:(e.groups||[]).map(n=>{if(n.groups){let u=Aer(n);return delete u.onEmptyFilter,u}let{allOr:i,onEmptyFilter:o,filters:a}=ule(n.filters||[]);o&&(t.onEmptyFilter=o);let c=i?"$or":"$and";return n.logicalOperator&&(c=Ser(n.logicalOperator)),{[c]:{conditions:a.map(Tss).filter(u=>u)}}})},t}s(Aer,"buildQuery");function Ser(e){return e==="all"?"$and":"$or"}s(Ser,"logicalOperatorFromUI");function a6e(e){if(!e)return e;for(let t of Object.values(YD)){let r=e[t];if(!(r==null||!(0,rfe.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 i6e(e,a6e),e}s(a6e,"fixupFilterArrays");function Ass(e,t){let r=nfe(e,t.query);t.sort&&(r=xer(r,t.sort,t.sortOrder||"ascending",t.sortType));let n=r.length;t.limit&&(r=Cer(r,t.limit.toString()));let i={rows:r};return t.countRows&&(i.totalRows=n),i}s(Ass,"search");function nfe(e,t){if(!e||!Array.isArray(e))return[];if(!t)return e;if(t=s6e(t),t=a6e(t),!n6e(t)&&t.onEmptyFilter==="none")return[];let r=s((A,L)=>$=>{for(let[U,G]of Object.entries(t[A]||{})){let Z=$ue(A)?$:Qje($,cle(U)),re=L(Z,G);if(t.allOr&&re)return!0;if(!t.allOr&&!re)return!1}return!t.allOr},"match"),n=r("string",(A,L)=>typeof A!="string"||typeof L!="string"?!1:A.toLowerCase().startsWith(L.toLowerCase())),i=r("fuzzy",(A,L)=>typeof A!="string"||typeof L!="string"?!1:A.toLowerCase().includes(L.toLowerCase())),o=r("range",(A,L)=>{if(A==null||A===""||((0,rfe.default)(L.low)&&(0,t6e.default)(L.low)&&(L.low=void 0),(0,rfe.default)(L.high)&&(0,t6e.default)(L.high)&&(L.high=void 0),L.low==null&&L.high==null))return!1;let $=+A;if(!isNaN($)){let G=+L.low,Z=+L.high;if(!isNaN(G)&&!isNaN(Z))return $>=G&&$<=Z;if(isNaN(G)){if(!isNaN(Z))return $<=Z}else return $>=G}let U=(0,C3.default)(A);if(U.isValid()){let G=(0,C3.default)(L.low||"0000-00-00T00:00:00.000Z"),Z=(0,C3.default)(L.high||"9999-00-00T00:00:00.000Z");if(G.isValid()&&Z.isValid())return U.isAfter(G)&&U.isBefore(Z)||U.isSame(G)||U.isSame(Z);if(G.isValid())return U.isAfter(G)||U.isSame(G);if(Z.isValid())return U.isBefore(Z)||U.isSame(Z)}return L.low!=null&&L.high!=null?A>=L.low&&A<=L.high:L.low!=null?A>=L.low:L.high!=null?A<=L.high:!1}),a=s((A,L)=>{if(Array.isArray(A)){for(let U of A)if(a(U,L))return!0;return!1}if(A&&typeof A=="object"&&typeof L=="string")return A._id===L;if(A===L)return!0;if(A==null&&L!=null||A!=null&&L==null)return!1;let $=(0,C3.default)(A);if($.isValid()){let U=(0,C3.default)(L);if(U.isValid())return $.isSame(U)}return!1},"_valueMatches"),c=s(A=>(...L)=>!A(...L),"not"),u=r("equal",a),l=r("notEqual",c(a)),f=s(A=>typeof A=="string"?A==="":Array.isArray(A)?A.length===0:A&&typeof A=="object"?Object.keys(A).length===0:A==null,"_empty"),d=r("empty",f),p=r("notEmpty",c(f)),h=r("oneOf",(A,L)=>(typeof L=="string"&&(L=L.split(",")),typeof A=="number"&&(L=L.map($=>parseFloat($))),Array.isArray(L)?L.some($=>a(A,$)):!1)),g=s(A=>(L,$)=>!Array.isArray(L)||(typeof $=="string"&&($=$.split(","),typeof L[0]=="number"&&($=$.map(U=>parseFloat(U)))),!Array.isArray($))?!1:$.length===0?!0:$[A](U=>a(L,U)),"_contains"),b=r("contains",(A,L)=>Array.isArray(L)&&L.length===0?!0:g("every")(A,L)),v=r("notContains",(A,L)=>Array.isArray(L)&&L.length===0?!0:c(g("every"))(A,L)),S=r("containsAny",g("some")),C=r("$and",(A,L)=>{if(!L.length)return!1;for(let $ of L)if(!nfe([A],$).length)return!1;return!0}),R=r("$or",(A,L)=>{if(!L.length)return!1;for(let $ of L)if(nfe([A],{...$,allOr:!0}).length)return!0;return!1}),N=s(A=>{let L={string:n,fuzzy:i,range:o,equal:u,notEqual:l,empty:d,notEmpty:p,oneOf:h,contains:b,containsAny:S,notContains:v,$and:C,$or:R},$=Object.entries(t||{}).filter(([U,G])=>!["allOr","onEmptyFilter"].includes(U)&&G&&Object.keys(G).length>0).map(([U])=>L[U]?.(A)??!1);return n6e(t)?t.allOr?$.some(U=>U===!0):$.every(U=>U===!0):!0},"docMatch");return e.filter(N)}s(nfe,"runQuery");function xer(e,t,r,n="string"){if(!t||!r||!n)return e;let i=s(o=>o==null?o:n==="string"?`${o}`:parseFloat(o),"parse");return e.slice().sort((o,a)=>{let c=i(o[t]),u=i(a[t]),l=u==null||c>u?1:-1;return r.toLowerCase()==="descending"?l*-1:l})}s(xer,"sort");function Cer(e,t){let r=typeof t=="number"?t:parseFloat(t);return isNaN(r)?e:e.slice(0,r)}s(Cer,"limit");var n6e=s(e=>{if(!e)return!1;let t=s(r=>{for(let n of wer)if(r[n])for(let i of r[n]?.conditions||[]){let o=t(i);if(o)return o}for(let n of vss){let i=r[n];if(!i||typeof i!="object")continue;if(Object.entries(i).filter(a=>{let c=a[1]!==void 0||a[1]!==null||a[1]!=="";return n==="notEmpty"||c}).length!==0)return!0}return!1},"check");return t(e)},"hasFilters");var Sb={};Co(Sb,{applications:()=>u6e,automations:()=>l6e,screens:()=>h6e,users:()=>p6e});var u6e={};Co(u6e,{getDevAppID:()=>xss,getProdAppID:()=>P7});Ir();var c6e=XD("app"),N7=XD("app_dev");function xss(e){if(!e)throw new Error("No app ID provided");if(e.startsWith(N7))return e;let t=e.split(c6e);t.shift();let r=t.join(c6e);return`${N7}${r}`}s(xss,"getDevAppID");function P7(e){if(!e)throw new Error("No app ID provided");if(!e.startsWith(N7))return e;let t=e.split(N7);t.shift();let r=t.join(N7);return`${c6e}${r}`}s(P7,"getProdAppID");var l6e={};Co(l6e,{checkForCollectStep:()=>Iss,isAppAction:()=>Rss,isRowAction:()=>Css,isWebhookAction:()=>Oss});Ir();function Css(e){return e.definition.trigger?.stepId==="ROW_ACTION"}s(Css,"isRowAction");function Oss(e){return e.definition.trigger?.stepId==="WEBHOOK"}s(Oss,"isWebhookAction");function Rss(e){return e.definition.trigger?.stepId==="APP"}s(Rss,"isAppAction");function Oer(e){if(!e||!Array.isArray(e))return!1;for(let t of e){if(t.stepId==="COLLECT")return!0;if(LVt(t)&&t.inputs.children){for(let r of Object.values(t.inputs.children))if(Oer(r))return!0}}return!1}s(Oer,"hasCollectBlockRecursive");function Iss(e){return Oer(e.definition.steps)}s(Iss,"checkForCollectStep");var p6e={};Co(p6e,{canCreateApps:()=>kss,containsUserID:()=>Uss,getGlobalUserID:()=>Bss,getUserAppGroups:()=>Fss,hasAdminPermissions:()=>d6e,hasAppBuilderPermissions:()=>ofe,hasBuilderPermissions:()=>Lss,hasCreatorPermissions:()=>afe,isAdmin:()=>D7,isAdminOrBuilder:()=>Pss,isAdminOrGlobalBuilder:()=>Dss,isAdminOrWorkspaceBuilder:()=>Nss,isBuilder:()=>f6e,isCreator:()=>qss,isGlobalBuilder:()=>sfe,userAppAccessList:()=>jss});Ir();function f6e(e,t){return e?e.builder?.global?!0:!!(t&&e.builder?.apps?.includes(P7(t))):!1}s(f6e,"isBuilder");function sfe(e){return f6e(e)&&!ofe(e)||D7(e)}s(sfe,"isGlobalBuilder");function kss(e){return sfe(e)||afe(e)}s(kss,"canCreateApps");function D7(e){return e?d6e(e):!1}s(D7,"isAdmin");function Nss(e,t){return e?!!(D7(e)||t&&e.builder?.apps?.includes(P7(t))):!1}s(Nss,"isAdminOrWorkspaceBuilder");function Pss(e,t){return f6e(e,t)||D7(e)}s(Pss,"isAdminOrBuilder");function Dss(e){return sfe(e)||D7(e)}s(Dss,"isAdminOrGlobalBuilder");function ofe(e){if(!e)return!1;let t=e.builder?.apps?.length;return!!!e.builder?.global&&t!=null&&t>0}s(ofe,"hasAppBuilderPermissions");function Mss(e){return e?!!Object.values(e.roles??{}).find(t=>t==="CREATOR"):!1}s(Mss,"hasAppCreatorPermissions");function Lss(e){return e?e.builder?.global||ofe(e)||afe(e):!1}s(Lss,"hasBuilderPermissions");function d6e(e){return e?!!e.admin?.global:!1}s(d6e,"hasAdminPermissions");function afe(e){return e?!!e.builder?.creator:!1}s(afe,"hasCreatorPermissions");function qss(e){return e?sfe(e)||d6e(e)||afe(e)||ofe(e)||Mss(e):!1}s(qss,"isCreator");function Bss(e){if(typeof e!="string")return e;let t=`ro${Fs}ta_users${Fs}`;return e.startsWith(t)?e.split(t)[1]:e}s(Bss,"getGlobalUserID");function Uss(e){return typeof e!="string"?!1:e.includes(`us${Fs}`)}s(Uss,"containsUserID");function Rer(e,t){return t?.filter(r=>r.users?.find(n=>n._id===e))||[]}s(Rer,"getUserGroups");function Fss(e,t,r){let n=P7(e);return Rer(t,r).filter(o=>Object.keys(o.roles||{}).find(a=>a===n))}s(Fss,"getUserAppGroups");function jss(e,t){let n=Rer(e._id,t).flatMap(o=>Object.keys(o.roles||{})),i=[...Object.keys(e?.roles||{}),...n];return[...new Set(i)]}s(jss,"userAppAccessList");var h6e={};Co(h6e,{findInSettings:()=>$ss});function $ss(e,t){let r=[];function n(i,o=""){for(let[a,c]of Object.entries(i))c&&(typeof c=="string"&&c.includes(t)?r.push({setting:o?`${o}.${a}`:a,value:c}):typeof c=="object"&&n(c,a))}return s(n,"recurse"),n(e.props),r}s($ss,"findInSettings");Ir();var m6e={by_email2:["by_email"]},Nv={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"}},TM=XD("app"),Gss=XD("app_dev"),bI=Gss;var M7="_design/sqlite";var zss=`ro${Fs}ta_users${Fs}`;var cp="default";Ir();Ir();var g6e=require("crypto"),ufe=require("fs"),Wss=at(I3()),q7=require("path");var Kss=process.env.TOP_LEVEL_PATH||process.env.SERVER_TOP_LEVEL_PATH||(0,q7.resolve)((0,q7.join)(__dirname,"..","..","..")),ker=!1;!ker&&cfe()&&!_6e()&&(require("dotenv").config({path:(0,q7.join)(Kss,".env")}),ker=!0);function _6e(){return Per()}s(_6e,"isTest");function Per(){return process.env.NODE_ENV==="jest"||process.env.JEST_WORKER_ID!=null&&process.env.JEST_WORKER_ID!=="null"}s(Per,"isJest");function cfe(){return process.env.NODE_ENV!=="production"}s(cfe,"isDev");function Yss(e){if(e)return parseInt(e)}s(Yss,"parseIntSafe");var k3={BACKUPS:"backups",APPS:"prod-budi-app-assets",TEMPLATES:"templates",GLOBAL:"global",PLUGINS:"plugins",TEMP:"tmp-file-attachments"},Ner=!!parseInt(process.env.SELF_HOSTED||"");function Qss(){return process.env.API_ENCRYPTION_KEY?process.env.API_ENCRYPTION_KEY:process.env.JWT_SECRET}s(Qss,"getAPIEncryptionKey");function Xss(){return process.env.HTTP_LOGGING===void 0?!0:process.env.HTTP_LOGGING}s(Xss,"httpLogging");function Jss(){function e(r){function n(c,u){let l=`${u}/${c}`;if((0,ufe.existsSync)(l))return l;let f=`${u}/..`;return f===u?null:n(c,f)}s(n,"findFileInAncestors");let i=n(r,process.cwd()),o=(0,ufe.readFileSync)(i,"utf-8");return JSON.parse(o)}s(e,"getParentFile");let t;if(cfe()&&!_6e())try{t=`${e("lerna.json").version}+local`}catch{}try{let r=e("package.json");return{VERSION:t||process.env.BUDIBASE_VERSION||r.version,SERVICE_NAME:r.name}}catch{return{VERSION:process.env.BUDIBASE_VERSION||"",SERVICE_NAME:""}}}s(Jss,"getPackageJsonFields");function Zss(){return EI.SERVICE_TYPE==="worker"}s(Zss,"isWorker");function eos(){return EI.SERVICE_TYPE==="apps"}s(eos,"isApps");function tos(){return EI.BUDIBASE_ENVIRONMENT==="QA"}s(tos,"isQA");function ros(){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(ros,"getServiceName");var EI={isTest:_6e,isJest:Per,isDev:cfe,isWorker:Zss,isApps:eos,isQA:tos,isProd:()=>!cfe(),BUDIBASE_ENVIRONMENT:process.env.BUDIBASE_ENVIRONMENT,JS_BCRYPT:process.env.JS_BCRYPT,JWT_SECRET:process.env.JWT_SECRET?(0,g6e.createSecretKey)(process.env.JWT_SECRET,"utf8"):void 0,JWT_SECRET_FALLBACK:process.env.JWT_SECRET_FALLBACK?(0,g6e.createSecretKey)(process.env.JWT_SECRET_FALLBACK,"utf8"):void 0,ENCRYPTION_KEY:process.env.ENCRYPTION_KEY,API_ENCRYPTION_KEY:Qss(),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:Ner,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||k3.BACKUPS,APPS_BUCKET_NAME:process.env.APPS_BUCKET_NAME||k3.APPS,TEMPLATES_BUCKET_NAME:process.env.TEMPLATES_BUCKET_NAME||k3.TEMPLATES,GLOBAL_BUCKET_NAME:process.env.GLOBAL_BUCKET_NAME||k3.GLOBAL,PLUGIN_BUCKET_NAME:process.env.PLUGIN_BUCKET_NAME||k3.PLUGINS,TEMP_BUCKET_NAME:process.env.TEMP_BUCKET_NAME||k3.TEMP,USE_COUCH:process.env.USE_COUCH||!0,MOCK_REDIS:process.env.MOCK_REDIS,DEFAULT_LICENSE:process.env.DEFAULT_LICENSE,SERVICE:ros(),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:Xss(),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:Ner?process.env.ENABLE_SSO_MAINTENANCE_MODE:!1,...Jss(),DISABLE_PINO_LOGGER:process.env.DISABLE_PINO_LOGGER,OFFLINE_MODE:process.env.OFFLINE_MODE,SESSION_EXPIRY_SECONDS:process.env.SESSION_EXPIRY_SECONDS,_set(e,t){process.env[e]=t,EI[e]=t},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:Yss(process.env.BSON_BUFFER_SIZE)};for(let[e,t]of Object.entries(EI))t==="0"&&(EI[e]=0),t==="false"&&(EI[e]=0);var ut=EI;var B7="-";function y6e(){let e=ut.REDIS_PASSWORD,t=ut.REDIS_URL.split("//");t=t.length>1?t[1]:t[0],t=t.split("@"),t.length>1?(e=t[0].split(":")[1],t=t[1]):t=t[0];let[r,n]=t.split(":"),i=parseInt(n);return{host:r,password:e,port:isNaN(i)?6379:i}}s(y6e,"getRedisConnectionDetails");function Der(){return{slotsRefreshTimeout:2e3,dnsLookup:(e,t)=>t(null,e),redisOptions:{...N3(),tls:{}}}}s(Der,"getRedisClusterOptions");function N3(){let{host:e,password:t,port:r}=y6e();return{connectTimeout:3e4,port:r,host:e,password:t}}s(N3,"getRedisOptions");function Mer(e){let t=e.split(B7);return t.length>=2?(t.shift(),t.join(B7)):t[0]}s(Mer,"removeDbPrefix");var Wmn=at(require("events"));H7();function US(){return AM().replace(/-/g,"")}s(US,"newid");var gos=ut.JS_BCRYPT?require("bcryptjs"):require("bcrypt"),B4u=ut.SALT_ROUNDS||10;async function itr(e,t){return gos.compare(e,t)}s(itr,"compare");Ir();var Cfa=at(h$e());var Pu={};Co(Pu,{DEFAULT_TENANT_ID:()=>cp,baseGlobalDBName:()=>zEe,doInAutomationContext:()=>ZUo,doInContext:()=>bct,doInEnvironmentContext:()=>uFo,doInFeatureFlagOverrideContext:()=>htn,doInIPContext:()=>dtn,doInIdentityContext:()=>Gfe,doInLicenseContext:()=>tFo,doInScimContext:()=>lFo,doInSelfHostTenantUsingCloud:()=>eFo,doInTenant:()=>vC,doInWorkspaceContext:()=>iFo,doInWorkspaceMigrationContext:()=>oFo,ensureSnippetContext:()=>ptn,getAuditLogDBName:()=>ltn,getAuditLogsDB:()=>dFo,getAutomationId:()=>Ect,getCurrentContext:()=>A2,getDevWorkspaceDB:()=>hFo,getDevWorkspaceId:()=>aFo,getEnvironmentVariables:()=>fFo,getFeatureFlagOverrides:()=>xct,getFeatureFlags:()=>Tct,getGlobalDB:()=>_h,getGlobalDBName:()=>RZ,getIP:()=>vct,getIdentity:()=>AI,getLicense:()=>rFo,getPlatformURL:()=>yct,getProdWorkspaceDB:()=>pFo,getProdWorkspaceId:()=>cFo,getScimDBName:()=>YUo,getSelfHostCloudDB:()=>nFo,getTableForView:()=>mFo,getTenantIDFromWorkspaceID:()=>z$,getTenantId:()=>eo,getWorkspaceDB:()=>Sct,getWorkspaceId:()=>e_,identity:()=>tY,isMultiTenant:()=>T2,isScim:()=>wct,isSelfHostUsingCloud:()=>VEe,isTenancyEnabled:()=>XUo,isTenantIdSet:()=>QUo,setFeatureFlags:()=>Act,setTableForView:()=>gFo});var tY={};Co(tY,{doInAccountContext:()=>vds,doInIdentityContext:()=>m$e,doInUserContext:()=>Dir,getAccountUserId:()=>Mir,getIdentity:()=>Pir});Ir();function Pir(){return AI()}s(Pir,"getIdentity");function m$e(e,t){return Gfe(e,t)}s(m$e,"doInIdentityContext");function Dir(e,t,r){let n={...e,_id:e._id,type:"user",hostInfo:{ipAddress:t.request.ip,userAgent:t.userAgent.source}};return m$e(n,r)}s(Dir,"doInUserContext");function vds(e,t){let r=Mir(e),n=e.tenantId,i={_id:r,type:"user",tenantId:n,account:e};return m$e(i,t)}s(vds,"doInAccountContext");function Mir(e){let t;return pje(e)?t=e.budibaseUserId:t=e.accountId,t}s(Mir,"getAccountUserId");var xI=s(e=>{let t=Lir(e),r,n;if(t.auth?.username)r=t.auth.username;else if(ut.COUCH_DB_USERNAME)r=ut.COUCH_DB_USERNAME;else if(!ut.isTest())throw new Error("CouchDB username not set");if(t.auth?.password)n=t.auth.password;else if(ut.COUCH_DB_PASSWORD)n=ut.COUCH_DB_PASSWORD;else if(!ut.isTest())throw new Error("CouchDB password not set");let i=Buffer.from(`${r}:${n}`).toString("base64"),o=ut.COUCH_DB_SQL_URL;if(ut.isDev()&&!o)o="http://localhost:4006";else if(!o&&t.url){let a=new URL(t.url);o=t.url.replace(a.port,"4984")}return{url:t.url,sqlUrl:Lir(o).url,auth:{username:r,password:n},cookie:`Basic ${i}`}},"getCouchInfo"),Lir=s((e=ut.COUCH_DB_URL)=>{let t,r,n,i;if(e){/^https?:\/\//i.test(e)||(e=`http://${e}`);let a=e.split("://"),c=a[0],u=a.slice(1).join("://");if(e.includes("@")){let l=u.split("@");i=l[l.length-1];let f=l.slice(0,-1).join("@");if(f.includes(":")){let d=f.split(":");r=d[0],n=d.slice(1).join(":")}else r=f}else i=u;t=`${c}://${i}`}return{url:t,auth:{username:r,password:n}}},"getUrlInfo");var atn=at(vlr());Ir();var Slr=at(require("node-fetch"));function qde(e){return e.replace(/(https?:\/\/)|(\/)+/g,"$1$2")}s(qde,"checkSlashesInUrl");async function IHe({url:e,cookie:t,method:r,body:n}){let i={method:r,headers:{Authorization:t}};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,Slr.default)(qde(encodeURI(e)),i)}s(IHe,"directCouchUrlCall");var REs=at(require("pouchdb"));var IEs,kEs=!1;var NEs=s(()=>{if(!kEs)throw new Error("init has not been called")},"checkInitialised");function FI(e,t){NEs();let r=new IEs(e,t),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(FI,"getPouchDB");var qu=at(Qx());var OZ=class{constructor(t){this.db=t}static{s(this,"DDInstrumentedDatabase")}get name(){return this.db.name}exists(t){return qu.default.trace("db.exists",r=>(r.addTags({db_name:this.name,doc_id:t}),t?this.db.exists(t):this.db.exists()))}get(t){return qu.default.trace("db.get",r=>(r.addTags({db_name:this.name,doc_id:t}),this.db.get(t)))}tryGet(t){return qu.default.trace("db.tryGet",async r=>{r.addTags({db_name:this.name,doc_id:t});let n=await this.db.tryGet(t);return r.addTags({doc_found:n!==void 0}),n})}getMultiple(t,r){return qu.default.trace("db.getMultiple",async n=>{n.addTags({db_name:this.name,num_docs:t?.length||0,allow_missing:r?.allowMissing});let i=await this.db.getMultiple(t,r);return n.addTags({num_docs_found:i.length}),i})}remove(t,r){return qu.default.trace("db.remove",async n=>{n.addTags({db_name:this.name,doc_id:t,rev:r});let i=typeof t=="object",o=i?t._id:t;r=i?t._rev:r;let a=await this.db.remove(o,r);return n.addTags({ok:a.ok}),a})}bulkRemove(t,r){return qu.default.trace("db.bulkRemove",n=>(n.addTags({db_name:this.name,num_docs:t.length,silence_errors:r?.silenceErrors}),this.db.bulkRemove(t,r)))}put(t,r){return qu.default.trace("db.put",async n=>{n.addTags({db_name:this.name,doc_id:t._id,force:r?.force,return_doc:r?.returnDoc});let i=await this.db.put(t,r);return n.addTags({ok:i.ok}),i})}bulkDocs(t){return qu.default.trace("db.bulkDocs",r=>(r.addTags({db_name:this.name,num_docs:t.length}),this.db.bulkDocs(t)))}async find(t){return qu.default.trace("db.find",async r=>{r.addTags({db_name:this.name,...t});let n=await this.db.find(t);return r.addTags({rows_length:n.docs.length}),n})}allDocs(t){return qu.default.trace("db.allDocs",async r=>{r.addTags({db_name:this.name,...t});let n=await this.db.allDocs(t);return r.addTags({total_rows:n.total_rows,rows_length:n.rows.length,offset:n.offset}),n})}query(t,r){return qu.default.trace("db.query",async n=>{n.addTags({db_name:this.name,view_name:t,...r});let i=await this.db.query(t,r);return n.addTags({total_rows:i.total_rows,rows_length:i.rows.length,offset:i.offset}),i})}destroy(){return qu.default.trace("db.destroy",async t=>{t.addTags({db_name:this.name});let r=await this.db.destroy();return t.addTags({ok:r.ok}),r})}compact(){return qu.default.trace("db.compact",async t=>{t.addTags({db_name:this.name});let r=await this.db.compact();return t.addTags({ok:r.ok}),r})}dump(t,r){return qu.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(t,r)))}load(...t){return qu.default.trace("db.load",r=>(r.addTags({db_name:this.name,num_args:t.length}),this.db.load(...t)))}createIndex(...t){return qu.default.trace("db.createIndex",r=>(r.addTags({db_name:this.name,num_args:t.length}),this.db.createIndex(...t)))}deleteIndex(...t){return qu.default.trace("db.deleteIndex",r=>(r.addTags({db_name:this.name,num_args:t.length}),this.db.deleteIndex(...t)))}getIndexes(...t){return qu.default.trace("db.getIndexes",r=>(r.addTags({db_name:this.name,num_args:t.length}),this.db.getIndexes(...t)))}sql(t,r){return qu.default.trace("db.sql",async n=>{n.addTags({db_name:this.name,num_bindings:r?.length});let i=await this.db.sql(t,r);return n.addTags({num_rows:i.length}),i})}sqlPurgeDocument(t){return qu.default.trace("db.sqlPurgeDocument",r=>(r.addTags({db_name:this.name,num_docs:Array.isArray(t)?t.length:1}),this.db.sqlPurgeDocument(t)))}sqlDiskCleanup(){return qu.default.trace("db.sqlDiskCleanup",t=>(t.addTags({db_name:this.name}),this.db.sqlDiskCleanup()))}};Ir();var iSl=`${Fs}${Fs}`;var sSl=encodeURIComponent(" ");function gct(e,t,r){if(!ut.SQL_LOGGING_ENABLE)return;let n=`[SQL] [${e.toUpperCase()}] query="${t}"`;r&&(n+=` values="${r.join(", ")}"`),console.log(n)}s(gct,"sqlLog");var itn="Database does not exist.";function stn(e){return(0,atn.default)({url:e.url,requestDefaults:{headers:{Authorization:e.cookie}},parseUrl:!1})}s(stn,"buildNano");var m1=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")}};var GEe=class e{constructor(t,r,n){this.couchInfo=xI();this.name=t,this.pouchOpts=r||{},n&&(this.couchInfo=xI(n),this.instanceNano=stn(this.couchInfo)),e.nano||e.init()}static{s(this,"DatabaseImpl")}static init(){let t=xI();e.nano=stn(t)}exists(t){return t===void 0?this.dbExists():this.docExists(t)}async dbExists(){return(await IHe({url:`${this.couchInfo.url}/${this.name}`,method:"HEAD",cookie:this.couchInfo.cookie})).status===200}async docExists(t){try{return await this.performCall(r=>()=>r.head(t)),!0}catch{return!1}}nano(){return this.instanceNano||e.nano}getDb(){return this.nano().db.use(this.name)}async checkAndCreateDb(){let t=!this.pouchOpts?.skip_setup,r=await this.exists();if(!t&&!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 m1(n.message,n)}return this.getDb()}async performCallWithDBCreation(t){let r=this.getDb(),n=await t(r);try{return await n()}catch(i){if(i.statusCode===404&&i.reason===itn)return await this.checkAndCreateDb(),await this.performCallWithDBCreation(t);throw new m1(`CouchDB error: ${i.message}`,i)}}async performCall(t){let r=this.getDb(),n=await t(r);try{return await n()}catch(i){throw new m1(`CouchDB error: ${i.message}`,i)}}async get(t){return this.performCall(r=>{if(!t)throw new Error("Unable to get doc without a valid _id.");return()=>r.get(t)})}async tryGet(t){try{return await this.get(t)}catch(r){if(r.statusCode===404)return;throw r}}async getMultiple(t,r){if(!t||t.length===0)return[];t=[...new Set(t)];let n=!r?.excludeDocs,i=await this.allDocs({keys:t,include_docs:n}),o=s(u=>n&&u.doc==null||u.value&&"deleted"in u.value&&u.value.deleted?!0:u.error==="not_found","rowUnavailable"),a=i.rows.filter(u=>!o(u)),c=a.length!==i.rows.length;if(!r?.allowMissing&&c){let l=i.rows.filter(f=>o(f)).map(f=>f.key).join(", ");throw new Error(`Unable to get bulk documents: ${l}`)}return a.map(u=>n?u.doc:u.value)}async remove(t,r){return this.performCall(n=>{let i,o;if(Ozt(t)?(i=t._id,o=t._rev):(i=t,o=r),!i||!o)throw new Error("Unable to remove doc without a valid _id and _rev.");return()=>n.destroy(i,o)})}async bulkRemove(t,r){let n=await this.performCall(a=>()=>a.bulk({docs:t.map(c=>({...c,_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 m1(o,{name:this.name,status:400})}async post(t,r){return t._id||(t._id=US()),this.put(t,r)}async put(t,r){if(!t._id)throw new Error("Cannot store document without _id field.");return this.performCallWithDBCreation(async n=>{if(t.createdAt||(t.createdAt=new Date().toISOString()),t.updatedAt=new Date().toISOString(),r?.force&&t._id)try{let i=await this.get(t._id);i&&(t._rev=i._rev)}catch(i){if(i.status!==404)throw i}return async()=>{let i=await n.insert(t);return r?.returnDoc?{...i,doc:{...t,_rev:i.rev}}:i}})}async bulkDocs(t){let r=new Date().toISOString();return this.performCallWithDBCreation(n=>()=>n.bulk({docs:t.map(i=>({createdAt:r,...i,updatedAt:r}))}))}async find(t){return this.performCall(r=>async()=>r.find(t))}async allDocs(t){return this.performCall(r=>async()=>{try{return await r.list(t)}catch(n){if(n.reason===itn)return{offset:0,total_rows:0,rows:[]};throw n}})}async _sqlQuery(t,r,n){t=qde(`${this.couchInfo.sqlUrl}/${t}`);let i={url:t,method:r,cookie:this.couchInfo.cookie};return n&&(i.body=n),this.performCall(()=>async()=>{let o=await IHe(i),a=await o.text();if(o.status>300){let c;try{c=JSON.parse(a)}catch{throw console.error(`SQS error: ${a}`),new m1("error while running SQS query, please try again later",{name:"sqs_error",status:o.status})}throw c}return JSON.parse(a)})}async sql(t,r){let i=`/${this.name}/${M7}`;return gct("sqlite3",t,r),await this._sqlQuery(i,"POST",{query:t,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(t){Array.isArray(t)||(t=[t]);let n=`/${this.name}/_purge`;return await this._sqlQuery(n,"POST",{docs:t})}async query(t,r){return this.performCall(n=>{let[i,o]=t.split("/");return()=>n.view(i,o,r)})}async destroy(){if(await this.exists(M7)){let t=await this.get(M7);t.sql.tables={},await this.put(t),await this.sqlDiskCleanup()}try{return await this.nano().db.destroy(this.name)}catch(t){if(t.statusCode===404)return{ok:!0};throw new m1(t.message,t)}}async compact(){return this.performCall(t=>()=>t.compact())}async dump(t,r){return FI(this.name).dump(t,r)}async load(t){return FI(this.name).load(t)}async createIndex(t){return FI(this.name).createIndex(t)}async deleteIndex(t){return FI(this.name).deleteIndex(t)}async getIndexes(){return FI(this.name).getIndexes()}};function l0(e,t){return new OZ(new GEe(e,t))}s(l0,"getDB");function _ct(e){if(!e||e.startsWith(bI))return e;let t=e.split(TM);t.shift();let r=t.join(TM);return`${bI}${r}`}s(_ct,"getDevWorkspaceID");function G$(e){if(!e||!e.startsWith(bI))return e;let t=e.split(bI);t.shift();let r=t.join(bI);return`${TM}${r}`}s(G$,"getProdWorkspaceID");var ctn=require("async_hooks");var jl=class e{static{s(this,"Context")}static{this.storage=new ctn.AsyncLocalStorage}static run(t,r){return e.storage.run(t,()=>r())}static get(){return e.storage.getStore()}};var utn=null;function RZ(e){return e||(e=eo()),zEe(e)}s(RZ,"getGlobalDBName");function ltn(e){return e||(e=eo()),e===cp?Nv.AUDIT_LOGS.name:`${e}${Fs}${Nv.AUDIT_LOGS.name}`}s(ltn,"getAuditLogDBName");function YUo(e){return e||(e=eo()),e===cp?Nv.SCIM_LOGS.name:`${e}${Fs}${Nv.SCIM_LOGS.name}`}s(YUo,"getScimDBName");function zEe(e){return!e||e===cp?Nv.GLOBAL.name:`${e}${Fs}${Nv.GLOBAL.name}`}s(zEe,"baseGlobalDBName");function yct(){return ut.PLATFORM_URL}s(yct,"getPlatformURL");function T2(){return!!ut.MULTI_TENANCY}s(T2,"isMultiTenant");function QUo(){return!!jl.get()?.tenantId}s(QUo,"isTenantIdSet");function XUo(){return ut.MULTI_TENANCY}s(XUo,"isTenancyEnabled");function z$(e){if(!e)return;if(!T2())return cp;let t=e.split(Fs),r=t[1]==="dev";if(!(r&&t.length===3||!r&&t.length===2))return r?t[2]:t[1]}s(z$,"getTenantIDFromWorkspaceID");function JUo(e){let t;try{t=jl.get()}catch{t={}}return t={...t,...e},t}s(JUo,"updateContext");async function f0(e,t){sFo();let r=JUo(e);return jl.run(r,t)}s(f0,"newContext");async function ZUo(e){return await ptn(),await f0({tenantId:z$(e.workspaceId),appId:e.workspaceId,automationId:e.automationId},e.task)}s(ZUo,"doInAutomationContext");async function bct(e,t){let r=z$(e);return f0({tenantId:r,appId:e},t)}s(bct,"doInContext");async function vC(e,t){return ut.MULTI_TENANCY||(e=e||cp),f0(e?{tenantId:e}:{},t)}s(vC,"doInTenant");async function eFo(e,t){return f0({tenantId:e,isSelfHostUsingCloud:!0},t)}s(eFo,"doInSelfHostTenantUsingCloud");async function tFo(e,t){return f0({license:e},t)}s(tFo,"doInLicenseContext");function rFo(){return jl.get()?.license}s(rFo,"getLicense");function VEe(){return!!jl.get()?.isSelfHostUsingCloud}s(VEe,"isSelfHostUsingCloud");function nFo(){let e=jl.get();if(!e||!e.isSelfHostUsingCloud)throw new Error("Self-host cloud DB not found");return l0(Nv.SELF_HOST_CLOUD.name)}s(nFo,"getSelfHostCloudDB");async function iFo(e,t){return ftn(e,t)}s(iFo,"doInWorkspaceContext");async function ftn(e,t,r){if(!e)throw new Error("workspaceId is required");let n=z$(e),i={appId:e,...r};return n&&(i.tenantId=n),f0(i,t)}s(ftn,"_doInWorkspaceContext");async function Gfe(e,t){if(!e)throw new Error("identity is required");let r={identity:e};return e.tenantId&&(r.tenantId=e.tenantId),f0(r,t)}s(Gfe,"doInIdentityContext");function sFo(){if(jl.get()?.isMigrating)throw new Error("The context cannot be changed, a migration is currently running")}s(sFo,"guardMigration");async function oFo(e,t){return ftn(e,t,{isMigrating:!0})}s(oFo,"doInWorkspaceMigrationContext");function AI(){try{return jl.get()?.identity}catch{}}s(AI,"getIdentity");function eo(){if(!T2())return cp;let t=jl.get()?.tenantId;if(!t)throw new Error("Tenant id not found");return t}s(eo,"getTenantId");function Ect(){return jl.get()?.automationId}s(Ect,"getAutomationId");function e_(){let t=jl.get()?.appId;return!t&&ut.isTest()&&utn?utn:t}s(e_,"getWorkspaceId");function vct(){return jl.get()?.ip}s(vct,"getIP");var aFo=s(()=>{let e=e_();if(!e)throw new Error("Could not get workspaceId");return _ct(e)},"getDevWorkspaceId"),cFo=s(()=>{let e=e_();if(!e)throw new Error("Could not get workspaceId");return G$(e)},"getProdWorkspaceId");function uFo(e,t){if(!e)throw new Error("Must supply environment variables.");return f0({environmentVariables:e},t)}s(uFo,"doInEnvironmentContext");function lFo(e){return f0({isScim:!0},e)}s(lFo,"doInScimContext");function dtn(e,t){return f0({ip:e},t)}s(dtn,"doInIPContext");async function ptn(){let e=A2();if(!e||e.snippets)return;let t,r=Sct();r&&(t=(await r.tryGet("app_metadata"))?.snippets),e.snippets=t||[]}s(ptn,"ensureSnippetContext");function fFo(){let e=jl.get();return e.environmentVariables?e.environmentVariables:null}s(fFo,"getEnvironmentVariables");function _h(){let e=jl.get();if(!e||ut.MULTI_TENANCY&&!e.tenantId)throw new Error("Global DB not found");if(e.isSelfHostUsingCloud)throw new Error("Global DB not found - self-host users using cloud don't have a global DB");return l0(zEe(e?.tenantId))}s(_h,"getGlobalDB");function dFo(){if(!eo())throw new Error("No tenant ID found - cannot open audit log DB");return l0(ltn())}s(dFo,"getAuditLogsDB");function Sct(e){let t=e_();if(!t)throw new Error("Unable to retrieve workspace DB - no workspace ID.");if(VEe())throw new Error("Workspace DB not found - self-host users using cloud don't have workspace DBs");return l0(t,e)}s(Sct,"getWorkspaceDB");function pFo(e){let t=e_();if(!t)throw new Error("Unable to retrieve prod DB - no workspace ID.");return l0(G$(t),e)}s(pFo,"getProdWorkspaceDB");function hFo(e){let t=e_();if(!t)throw new Error("Unable to retrieve dev DB - no workspace ID.");return l0(_ct(t),e)}s(hFo,"getDevWorkspaceDB");function wct(){return!!jl.get()?.isScim}s(wct,"isScim");function A2(){try{return jl.get()}catch{return}}s(A2,"getCurrentContext");function Tct(e){let t=A2();if(t)return t.featureFlagCache?.[e]}s(Tct,"getFeatureFlags");function Act(e,t){let r=A2();r&&(r.featureFlagCache??={},r.featureFlagCache[e]=t)}s(Act,"setFeatureFlags");function xct(){return A2()?.featureFlagOverrides||{}}s(xct,"getFeatureFlagOverrides");async function htn(e,t){return await f0({featureFlagOverrides:e},t)}s(htn,"doInFeatureFlagOverrideContext");function mFo(e){let t=A2();if(t)return t.viewToTableCache?.[e]}s(mFo,"getTableForView");function gFo(e,t){let r=A2();r&&(r.viewToTableCache??={},r.viewToTableCache[e]=t)}s(gFo,"setTableForView");var VSe=at(enn());var zSe=at(Qx()),qmn=at(I3());var Lmn;if(ut.MOCK_REDIS)try{Lmn=Mmn()}catch{console.log("Mock redis unavailable")}async function cfa(e=0){return await zSe.tracer.trace("Redis.init",async t=>{if(ut.MOCK_REDIS)return t.addTags({mock:!0}),new Lmn(N3());let r;if(ut.REDIS_CLUSTERED){t.addTags({clustered:!0});let{host:n,port:i}=y6e();r=new VSe.Cluster([{host:n,port:i}],Der())}else r=new VSe.default(N3());return new Promise((n,i)=>{r.on("error",o=>{t.addTags({error:!0}),console.error(`failed to connect to redis (db: ${e})`,o),i(o)}),r.on("reconnecting",()=>{console.log(`Redis reconnecting... (db: ${e})`)}),r.on("ready",()=>{t.addTags({connected:!0}),console.log(`Redis ready to receive commands (db: ${e})`),n(r)})})})}s(cfa,"init");function ufa(e,t){return new Promise((r,n)=>{let i=new Set;e.on("data",o=>o.forEach(a=>i.add(a))),e.on("error",o=>n(o)),e.on("end",async()=>{try{let o=Array.from(i).map(async a=>{let c=await t.get(a);return c&&(c=JSON.parse(c)),{key:Mer(a),value:c}});r(await Promise.all(o))}catch(o){n(o)}})})}s(ufa,"promisifyStream");function lfa(e){return e.isCluster}s(lfa,"isCluster");var xmt=class e{static{s(this,"RedisWrapper")}constructor(t,r){this.client=t,this.db=r}static async init(t,r=0){return await zSe.tracer.trace("RedisWrapper.init",async n=>{let i=await cfa(r);return r&&!ut.isTest()&&(n.addTags({db:t}),i.select(r)),new e(i,t)})}trace(t,r){return zSe.tracer.trace(t,async n=>(n.addTags({db:this.db}),await r(n)))}prefixed(t){return t.includes(this.db)?t:`${this.db}${B7}${t}`}async finish(){return await this.trace("RedisWrapper.finish",async()=>{await this.client.quit()})}async scan(t=""){return await this.trace("RedisWrapper.scan",async r=>{r.addTags({key:t}),t=`${this.db}${B7}${t}`;let n;lfa(this.client)?n=this.client.nodes("master")[0].scanStream({match:t+"*",count:100}):n=this.client.scanStream({match:t+"*",count:100});let i=await ufa(n,this.client);return r.addTags({numKeysFound:i.length}),i})}async keys(t){return await this.trace("RedisWrapper.keys",async r=>(r.addTags({pattern:t}),this.client.keys(this.prefixed(t))))}async exists(t){return await this.trace("RedisWrapper.exists",async r=>(r.addTags({key:t}),await this.client.exists(this.prefixed(t))))}async get(t){return await this.trace("RedisWrapper.get",async r=>{r.addTags({key:t});let n=await this.client.get(this.prefixed(t));n!=null&&n.key&&(n.key=t);try{return JSON.parse(n)}catch{return n}})}async bulkGet(t){return await this.trace("RedisWrapper.bulkGet",async r=>{if(r.addTags({numKeys:t.length}),t.length===0)return{};let n=await this.client.mget(t.map(i=>this.prefixed(i)));return r.addTags({numKeysFound:n.length}),(0,qmn.zip)(t,n).reduce((i,[o,a])=>{if(o===void 0||a===void 0)throw new Error(`Keys and response length mismatch: ${t.length} vs ${n.length}`);try{i[o]=a?JSON.parse(a):null}catch{i[o]=a}return i},{})})}async store(t,r,n=null){return await this.trace("RedisWrapper.store",async i=>{i.addTags({key:t,expirySeconds:n}),typeof r=="object"&&(r=JSON.stringify(r)),await this.client.set(this.prefixed(t),r),n&&await this.client.expire(this.prefixed(t),n)})}async bulkStore(t,r=null){return await this.trace("RedisWrapper.bulkStore",async n=>{n.addTags({numKeys:Object.keys(t).length,expirySeconds:r});let i=Object.entries(t).reduce((a,[c,u])=>(a[this.prefixed(c)]=typeof u=="object"?JSON.stringify(u):u,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(t){return await this.trace("RedisWrapper.getTTL",async r=>(r.addTags({key:t}),await this.client.ttl(this.prefixed(t))))}async setExpiry(t,r){return await this.trace("RedisWrapper.setExpiry",async n=>(n.addTags({key:t,expirySeconds:r}),await this.client.expire(this.prefixed(t),r)))}async delete(t){return await this.trace("RedisWrapper.delete",async r=>{r.addTags({key:t}),await this.client.del(this.prefixed(t))})}async bulkDelete(t){return await this.trace("RedisWrapper.bulkDelete",async r=>{r.addTags({numKeys:t.length}),await this.client.del(t.map(n=>this.prefixed(n)))})}async clear(){return await this.trace("RedisWrapper.clear",async t=>{let r=await this.scan();t.addTags({numKeys:r.length}),await Promise.all(r.map(n=>this.delete(n.key)))})}async increment(t){return await this.trace("RedisWrapper.increment",async r=>{r.addTags({key:t});let n=await this.client.incr(this.prefixed(t));if(isNaN(n))throw new Error(`Redis ${t} does not contain a number`);return n})}async deleteIfValue(t,r){return await this.trace("RedisWrapper.deleteIfValue",async n=>{n.addTags({key:t});let i=`
1367
+ `),i=n[2]&&n[2].indexOf("Up")!==-1;i&&(console.log(jc("Stopping services, this may take a moment.")),await Jue.default.stop()),console.log(jc("Beginning update, this may take a few minutes."));let o;t?o=xVi:o=AVi,await Jue.default.pullMany(o,{log:!0}),i&&(console.log(Fc("Update complete, restarting services...")),await Xj())})}s(w9t,"update");var T9t=new NS("hosting").addHelp("Controls self hosting on the Budibase platform.").addSubOption("--init [type]","Configure a self hosted platform in current directory, type can be unspecified, 'quick' or 'single'.",Xue).addSubOption("--start","Start the configured platform in current directory.",Xj).addSubOption("--status","Check the status of currently running services.",S9t).addSubOption("--stop","Stop the configured platform in the current directory.",E9t).addSubOption("--update","Update the Budibase images to the latest version.",w9t).addSubOption("--watch-plugin-dir [directory]","Add plugin directory watching to a Budibase install.",Yue).addSubOption("--gen-user","Create an admin user automatically as part of first start.",Que).addSubOption("--single","Specify this with init to use the single image.");iI();var mv=at(require("fs")),hj=require("path");var Zue=at(require("pouchdb"));ad();var A9t=at(require("node-fetch"));function ele(e){let t;e?t={prefix:e}:t={prefix:void 0,adapter:"leveldb"};let r=require("@budibase/pouchdb-replication-stream");return Zue.default.plugin(r.plugin),Zue.default.adapter("writableStream",r.adapters.writableStream),Zue.default.defaults(t)}s(ele,"getPouch");async function x9t(e){let t=await(0,A9t.default)(ije(encodeURI(`${e}/_all_dbs`)),{method:"GET"});if(t.status===200)return await t.json();throw"Cannot connect to CouchDB instance"}s(x9t,"getAllDbs");ad();var c2i=at(require("dotenv")),e4t=at(require("fs"));ZD();Ir();Ir();var H_={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"}},C9t={integer:{max:2147483647,min:-2147483648},int:{max:2147483647,min:-2147483648},smallint:{max:32767,min:-32768},mediumint:{max:8388607,min:-8388608}};var O3={};Co(O3,{ColumnSplitter:()=>r6e,NoEmptyFilterStrings:()=>Ter,buildQuery:()=>Aer,cleanupQuery:()=>s6e,fixupFilterArrays:()=>a6e,getKeyNumbering:()=>o6e,getValidOperatorsForType:()=>Sss,hasFilters:()=>n6e,limit:()=>Cer,recurseLogicalOperators:()=>i6e,removeKeyNumbering:()=>cle,runQuery:()=>nfe,search:()=>Ass,sort:()=>xer,splitFiltersArray:()=>ule});Ir();var C3=at(Mje());var nM={};Co(nM,{filterValueToLabel:()=>yKi,hasSchema:()=>bKi,isSupportedUserSearch:()=>UKt,parallelForeach:()=>_Ki,processSearchFilters:()=>Yje,toMap:()=>vKi,trimOtherProps:()=>EKi,unreachable:()=>gKi});Ir();var BKt=at(LKt());var mKi=["field","operator","value","type","externalType","valueType","noValue","formulaType"];function gKi(e,t){let r=t?.message||`No such case in exhaustive switch: ${e}`;if(!!!t?.doNotThrow)throw new Error(r)}s(gKi,"unreachable");async function _Ki(e,t,r){let n=[],i=Symbol.asyncIterator in e,o=i?e[Symbol.asyncIterator]():e[Symbol.iterator](),a=s(async()=>{let c=await(i?o.next():Promise.resolve(o.next()));for(;!c.done;)await t(c.value),c=await(i?o.next():Promise.resolve(o.next()))},"executeNext");for(let c=0;c<r;c++)n.push(a());await Promise.all(n)}s(_Ki,"parallelForeach");function yKi(){return Object.keys(H_).reduce((e,t)=>{let n=H_[t];return e[n.value]=n.label,e},{})}s(yKi,"filterValueToLabel");function bKi(e){return typeof e=="object"&&!Array.isArray(e)&&e!==null&&!(e instanceof Date)&&Object.keys(e).length>0}s(bKi,"hasSchema");function EKi(e,t){return Object.keys(e).filter(n=>t.includes(n)).reduce((n,i)=>({...n,[i]:e[i]}),{})}s(EKi,"trimOtherProps");function UKt(e){let t=[{op:"string",key:"email"},{op:"equal",key:"_id"},{op:"oneOf",key:"_id"}],{allOr:r,onEmptyFilter:n,...i}=e;for(let[o,a]of Object.entries(i)){if(typeof a!="object")return!1;if($ue(o)){for(let l of e[o].conditions)if(!UKt(l))return!1;return!0}let c=Object.keys(a||{});if(c.length===0)continue;if(!t.find(l=>l.op===o&&c.length===1&&c[0]===l.key))return!1}return!0}s(UKt,"isSupportedUserSearch");function Yje(e){if(!e||e.length===0)return;let{allOr:t,onEmptyFilter:r,filters:n}=ule(e);return{logicalOperator:"all",onEmptyFilter:r||"all",groups:[{logicalOperator:t?"any":"all",filters:n.map(i=>{let o=(0,BKt.default)(i,mKi);return o.field=cle(o.field),o})}]}}s(Yje,"processSearchFilters");function vKi(e,t){return t.reduce((r,n)=>(r[n[e]]=n,r),{})}s(vKi,"toMap");var ox={};Co(ox,{cancelableTimeout:()=>FKt,cron:()=>sss,deepGet:()=>Qje,duplicateName:()=>nss,getSequentialName:()=>iss,getUserColor:()=>wKi,getUserInitials:()=>SKi,getUserLabel:()=>TKi,isGoogleSheets:()=>CKi,isSQL:()=>OKi,lists:()=>e6e,retry:()=>RKi,roles:()=>Z4e,schema:()=>I7,views:()=>J4e,wait:()=>Xje,withTimeout:()=>AKi});var Qje=s((e,t)=>{if(!e||!t)return null;if(Object.prototype.hasOwnProperty.call(e,t))return e[t];let r=t.split(".");for(let n=0;n<r.length;n++)e=e?.[r[n]];return e},"deepGet"),SKi=s(e=>{if(!e)return"?";let t="";return t+=e.firstName?e.firstName[0]:"",t+=e.lastName?e.lastName[0]:"",t!==""?t:e.email?.[0]||"U"},"getUserInitials"),wKi=s(e=>{let t=e?._id;if(!t)return"var(--spectrum-global-color-blue-400)";t=t.replace("ro_ta_users_","");let r=1;for(let n=0;n<t.length;n++)r+=t.charCodeAt(n),r=r%36;return`hsl(${r*10}, 50%, 40%)`},"getUserColor"),TKi=s(e=>{if(!e)return"";let{firstName:t,lastName:r,email:n}=e;return t&&r?`${t} ${r}`:t||r||n},"getUserLabel");function FKt(e){let t;return[new Promise((r,n)=>{t=setTimeout(()=>{n({status:301,errno:"ETIME"})},e)}),()=>{clearTimeout(t)}]}s(FKt,"cancelableTimeout");async function AKi(e,t){let[r,n]=FKt(e),i=await Promise.race([t(),r]);return n(),i}s(AKi,"withTimeout");Ir();function CKi(e){return e==="GOOGLE_SHEETS"}s(CKi,"isGoogleSheets");function OKi(e){return!e||!e.source?!1:["POSTGRES","SQL_SERVER","MYSQL","ORACLE"].indexOf(e.source)!==-1||e.isSQL===!0}s(OKi,"isSQL");async function Xje(e){return new Promise(t=>setTimeout(t,e))}s(Xje,"wait");async function RKi(e,t){let{times:r=3}=t||{};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 Xje(o);try{return await e()}catch(a){n=a}}throw n}s(RKi,"retry");var cer=at(MS()),uer=at(oer());var aer="(Input cron: ",gis={"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 _is(e){let t=[];for(let r of e){r.includes(aer)&&(r=r.split(aer)[0].trim());for(let[n,i]of Object.entries(gis))r.includes(n)&&(r=r.replace(new RegExp(n,"g"),i));t.push(r)}return t}s(_is,"improveErrors");function ler(e,t=4){let r=uer.default.parseExpression(e),n=[];for(let i=0;i<t;i++)n.push(r.next().toString());return n}s(ler,"getNextExecutionDates");function fer(e){let t=(0,cer.default)(e,{preset:"npm-cron-schedule",override:{useSeconds:!1}});return t.isValid()?{valid:!0}:{valid:!1,err:_is(t.getError())}}s(fer,"validate");var I7={};Co(I7,{decodeNonAscii:()=>W4e,encodeNonAscii:()=>Eis,isDeprecatedSingleUserColumn:()=>yis,isNumeric:()=>vis,isRequired:()=>bis});Ir();function yis(e){return e.type==="bb_reference"&&e.subtype==="user"&&e.constraints?.type!=="array"}s(yis,"isDeprecatedSingleUserColumn");function bis(e){return!!e&&(typeof e.presence!="boolean"&&e.presence?.allowEmpty===!1||e.presence===!0)}s(bis,"isRequired");function Eis(e){return e.split("").map(t=>t.charCodeAt(0)>127?"\\u"+t.charCodeAt(0).toString(16).padStart(4,"0"):t).join("")}s(Eis,"encodeNonAscii");function W4e(e){return e.replace(/\\u([0-9a-fA-F]{4})/g,(t,r)=>String.fromCharCode(parseInt(r,16)))}s(W4e,"decodeNonAscii");function vis(e){return e.type==="number"||e.type==="bigint"}s(vis,"isNumeric");var J4e={};Co(J4e,{basicFields:()=>Jis,calculationFields:()=>Xis,hasCalculationFields:()=>Qis,isBasicViewField:()=>Kis,isCalculationField:()=>k7,isCalculationView:()=>Yis,isV2:()=>Zis,isVisible:()=>Eer});Ir();var X4e=at(Q4e());function k7(e){return"calculationType"in e}s(k7,"isCalculationField");function Kis(e){return!k7(e)}s(Kis,"isBasicViewField");function Yis(e){return e.type==="calculation"}s(Yis,"isCalculationView");function Qis(e){return Object.values(e.schema||{}).some(k7)}s(Qis,"hasCalculationFields");function Xis(e){return(0,X4e.default)(e.schema||{},k7)}s(Xis,"calculationFields");function Eer(e){return e.visible!==!1}s(Eer,"isVisible");function Jis(e,t){let{visible:r=!0}=t||{};return(0,X4e.default)(e.schema||{},n=>!k7(n)&&(!r||Eer(n)))}s(Jis,"basicFields");function Zis(e){return e.version===2}s(Zis,"isV2");var Z4e={};Co(Z4e,{checkForRoleInheritanceLoops:()=>tss});Ir();function ess(e){return`role${Fs}${e}`}s(ess,"prefixForCheck");function tss(e){let t=new Map;e.forEach(o=>{t.set(o._id,o)});let r=new Set,n=new Set;function i(o){let a=ess(o);if(n.has(o)||n.has(a))return!0;if(r.has(o)||r.has(a))return!1;n.add(o);let c=t.get(a)||t.get(o);if(!c)return n.delete(o),!1;let u=Array.isArray(c.inherits)?c.inherits:[c.inherits];for(let l of u)if(l&&i(l))return!0;return n.delete(o),r.add(o),!1}return s(i,"hasLoop"),!!e.find(o=>i(o._id))}s(tss,"checkForRoleInheritanceLoops");var e6e={};Co(e6e,{punctuateList:()=>rss});function rss(e){return e.length===0?"":e.length===1?e[0]:e.length===2?e.join(" and "):e.slice(0,-1).join(", ")+" and "+e[e.length-1]}s(rss,"punctuateList");var nss=s((e,t)=>{let r=new RegExp("\\s(\\d+)$"),n=e.split(r)[0],i=new RegExp(`${n}\\s(\\d+)$`),o=[];t.filter(c=>{if(c===n)return!0;let u=c.match(i);return u?(o.push(parseInt(u[1])),!0):!1}),o.sort((c,u)=>c-u);let a;if(o.length===0)a=1;else{for(let c=0;c<o.length;c++)if(o[c]!==c+1){a=c+1;break}a||(a=o.length+1)}return`${n} ${a}`},"duplicateName"),iss=s((e,t,{getName:r,numberFirstItem:n,separator:i=""}={})=>{if(!t?.length)return"";let o=t.trim(),a=n?`${t}1`:o;if(!e?.length)return a;let c=0;return e.forEach(u=>{let l=r?.(u)??u;if(typeof l!="string"||!l.startsWith(o))return;let f=l.split(o);if(f.length!==2)return;f[1].trim()===""&&(f[1]="1");let d=parseInt(f[1]);d>c&&(c=d)}),c===0?a:`${t}${i}${c+1}`},"getSequentialName");var sss={getNextExecutionDates:ler,validate:fer};var rfe=at(_b()),t6e=at(Ng());var Ess=/{{([^{].*?)}}/g,wer=Object.values(wK),vss=[...Object.values(Wj),...Object.values(YD),...Object.values(SK)],Sss=s((e,t,r)=>{let n=H_,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],c=[],{type:u,formulaType:l,subtype:f}=e;u==="string"?f==="array"?c=a:c=i:u==="number"||u==="bigint"?c=o:u==="options"?c=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:u==="array"?c=a:u==="boolean"?c=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty]:u==="longform"?c=i:u==="datetime"?c=o:u==="formula"&&l==="static"?c=i.concat([n.MoreThan,n.LessThan]):u==="ai"?c=i.concat([n.MoreThan,n.LessThan]):u==="bb_reference_single"||I7.isDeprecatedSingleUserColumn(e)?c=[n.Equals,n.NotEquals,n.Empty,n.NotEmpty,n.In]:u==="bb_reference"?c=a:u==="barcodeqr"&&(c=i);let d=r?.tableId?.includes("datasource_plus");return t==="_id"&&d&&(c=[n.Equals,n.NotEquals,n.In]),c},"getValidOperatorsForType"),Ter=[H_.StartsWith.value,H_.Like.value,H_.Equals.value,H_.NotEquals.value,H_.Contains.value,H_.NotContains.value,H_.ContainsAny.value,H_.In.value];function i6e(e,t){for(let r of wer)e[r]&&(e[r].conditions=e[r].conditions.map(n=>t(n)));return e}s(i6e,"recurseLogicalOperators");var s6e=s(e=>{for(let t of Ter)if(e[t])for(let r of Object.keys(e)){if(r!==t)continue;if(typeof e[r]=="object")for(let[i,o]of Object.entries(e[r]))(o==null||o===""||wss(o))&&delete e[t][i]}return e=i6e(e,s6e),e},"cleanupQuery");function wss(e){return Array.isArray(e)&&e.length===0}s(wss,"isEmptyArray");var cle=s(e=>o6e(e).key,"removeKeyNumbering"),o6e=s(e=>{if(typeof e=="string"&&e.match(/\d[0-9]*:/g)!=null){let t=e.split(":");return{prefix:`${t.shift()}:`,key:t.join(":")}}else return{key:e}},"getKeyNumbering"),r6e=class{static{s(this,"ColumnSplitter")}constructor(t,r){if(this.tableNames=t.map(n=>n.name),this.tableIds=t.map(n=>n._id),this.relationshipColumnNames=t.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(t){let{prefix:r,key:n}=o6e(t),i;if(this.aliases)for(let a of Object.keys(this.aliases||{})){let c=`${a}.`;n.startsWith(c)&&(i=this.aliases[a],n=n.slice(c.length))}let o;for(let a of this.relationships){let c=`${a}.`;if(n.startsWith(c)){let u=n.split(c);u.shift(),o=c,n=u.join(".");break}}return this.columnPrefix&&n.startsWith(this.columnPrefix)&&(n=W4e(n.slice(this.columnPrefix.length))),{tableName:i,numberPrefix:r,relationshipPrefix:o,column:n}}};function Tss(e){if(!e||!e?.operator||!e?.field)return;let t={},{operator:r,field:n,type:i,externalType:o}=e,{value:a}=e;(r==="empty"||r==="notEmpty")&&(a=null);let c=typeof a=="string"&&(a.match(Ess)||[]).length>0;switch(i){case"datetime":if(!c&&r!=="empty"&&r!=="notEmpty"){if(!a)return;if(typeof a=="string")a=new Date(a).toISOString();else if(Hue(r))return t[r]??={},t[r][n]=a,t}break;case"number":typeof a=="string"&&!c&&(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(Hue(r)){let l=C9t[o]||{min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER};t[r]??={},t[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!=="")t.range??={},t.range[n]={...t.range[n],high:a};else if(r==="rangeLow"&&a!=null&&a!=="")t.range??={},t.range[n]={...t.range[n],low:a};else if(Szt(r)||wzt(r)||Hue(r))i==="boolean"?r==="equal"&&a===!1?(t.notEqual=t.notEqual||{},t.notEqual[n]=!0):r==="notEqual"&&a===!1?(t.equal=t.equal||{},t.equal[n]=!0):(t[r]??={},t[r][n]=a):(t[r]??={},t[r][n]=a);else throw new Error(`Unsupported operator: ${r}`);return t}s(Tss,"buildCondition");function ule(e){let t={filters:[]};for(let r of e)"operator"in r&&r.operator==="allOr"?t.allOr=!0:"onEmptyFilter"in r?t.onEmptyFilter=r.onEmptyFilter:t.filters.push(r);return t}s(ule,"splitFiltersArray");function Aer(e){if(!e)return{};if(Array.isArray(e)&&(e=Yje(e),!e))return{};let t={};e.onEmptyFilter?t.onEmptyFilter=e.onEmptyFilter:t.onEmptyFilter="all";let r=Ser(e.logicalOperator||"all");return t[r]={conditions:(e.groups||[]).map(n=>{if(n.groups){let u=Aer(n);return delete u.onEmptyFilter,u}let{allOr:i,onEmptyFilter:o,filters:a}=ule(n.filters||[]);o&&(t.onEmptyFilter=o);let c=i?"$or":"$and";return n.logicalOperator&&(c=Ser(n.logicalOperator)),{[c]:{conditions:a.map(Tss).filter(u=>u)}}})},t}s(Aer,"buildQuery");function Ser(e){return e==="all"?"$and":"$or"}s(Ser,"logicalOperatorFromUI");function a6e(e){if(!e)return e;for(let t of Object.values(YD)){let r=e[t];if(!(r==null||!(0,rfe.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 i6e(e,a6e),e}s(a6e,"fixupFilterArrays");function Ass(e,t){let r=nfe(e,t.query);t.sort&&(r=xer(r,t.sort,t.sortOrder||"ascending",t.sortType));let n=r.length;t.limit&&(r=Cer(r,t.limit.toString()));let i={rows:r};return t.countRows&&(i.totalRows=n),i}s(Ass,"search");function nfe(e,t){if(!e||!Array.isArray(e))return[];if(!t)return e;if(t=s6e(t),t=a6e(t),!n6e(t)&&t.onEmptyFilter==="none")return[];let r=s((A,L)=>$=>{for(let[U,G]of Object.entries(t[A]||{})){let Z=$ue(A)?$:Qje($,cle(U)),re=L(Z,G);if(t.allOr&&re)return!0;if(!t.allOr&&!re)return!1}return!t.allOr},"match"),n=r("string",(A,L)=>typeof A!="string"||typeof L!="string"?!1:A.toLowerCase().startsWith(L.toLowerCase())),i=r("fuzzy",(A,L)=>typeof A!="string"||typeof L!="string"?!1:A.toLowerCase().includes(L.toLowerCase())),o=r("range",(A,L)=>{if(A==null||A===""||((0,rfe.default)(L.low)&&(0,t6e.default)(L.low)&&(L.low=void 0),(0,rfe.default)(L.high)&&(0,t6e.default)(L.high)&&(L.high=void 0),L.low==null&&L.high==null))return!1;let $=+A;if(!isNaN($)){let G=+L.low,Z=+L.high;if(!isNaN(G)&&!isNaN(Z))return $>=G&&$<=Z;if(isNaN(G)){if(!isNaN(Z))return $<=Z}else return $>=G}let U=(0,C3.default)(A);if(U.isValid()){let G=(0,C3.default)(L.low||"0000-00-00T00:00:00.000Z"),Z=(0,C3.default)(L.high||"9999-00-00T00:00:00.000Z");if(G.isValid()&&Z.isValid())return U.isAfter(G)&&U.isBefore(Z)||U.isSame(G)||U.isSame(Z);if(G.isValid())return U.isAfter(G)||U.isSame(G);if(Z.isValid())return U.isBefore(Z)||U.isSame(Z)}return L.low!=null&&L.high!=null?A>=L.low&&A<=L.high:L.low!=null?A>=L.low:L.high!=null?A<=L.high:!1}),a=s((A,L)=>{if(Array.isArray(A)){for(let U of A)if(a(U,L))return!0;return!1}if(A&&typeof A=="object"&&typeof L=="string")return A._id===L;if(A===L)return!0;if(A==null&&L!=null||A!=null&&L==null)return!1;let $=(0,C3.default)(A);if($.isValid()){let U=(0,C3.default)(L);if(U.isValid())return $.isSame(U)}return!1},"_valueMatches"),c=s(A=>(...L)=>!A(...L),"not"),u=r("equal",a),l=r("notEqual",c(a)),f=s(A=>typeof A=="string"?A==="":Array.isArray(A)?A.length===0:A&&typeof A=="object"?Object.keys(A).length===0:A==null,"_empty"),d=r("empty",f),p=r("notEmpty",c(f)),h=r("oneOf",(A,L)=>(typeof L=="string"&&(L=L.split(",")),typeof A=="number"&&(L=L.map($=>parseFloat($))),Array.isArray(L)?L.some($=>a(A,$)):!1)),g=s(A=>(L,$)=>!Array.isArray(L)||(typeof $=="string"&&($=$.split(","),typeof L[0]=="number"&&($=$.map(U=>parseFloat(U)))),!Array.isArray($))?!1:$.length===0?!0:$[A](U=>a(L,U)),"_contains"),b=r("contains",(A,L)=>Array.isArray(L)&&L.length===0?!0:g("every")(A,L)),v=r("notContains",(A,L)=>Array.isArray(L)&&L.length===0?!0:c(g("every"))(A,L)),S=r("containsAny",g("some")),C=r("$and",(A,L)=>{if(!L.length)return!1;for(let $ of L)if(!nfe([A],$).length)return!1;return!0}),R=r("$or",(A,L)=>{if(!L.length)return!1;for(let $ of L)if(nfe([A],{...$,allOr:!0}).length)return!0;return!1}),N=s(A=>{let L={string:n,fuzzy:i,range:o,equal:u,notEqual:l,empty:d,notEmpty:p,oneOf:h,contains:b,containsAny:S,notContains:v,$and:C,$or:R},$=Object.entries(t||{}).filter(([U,G])=>!["allOr","onEmptyFilter"].includes(U)&&G&&Object.keys(G).length>0).map(([U])=>L[U]?.(A)??!1);return n6e(t)?t.allOr?$.some(U=>U===!0):$.every(U=>U===!0):!0},"docMatch");return e.filter(N)}s(nfe,"runQuery");function xer(e,t,r,n="string"){if(!t||!r||!n)return e;let i=s(o=>o==null?o:n==="string"?`${o}`:parseFloat(o),"parse");return e.slice().sort((o,a)=>{let c=i(o[t]),u=i(a[t]),l=u==null||c>u?1:-1;return r.toLowerCase()==="descending"?l*-1:l})}s(xer,"sort");function Cer(e,t){let r=typeof t=="number"?t:parseFloat(t);return isNaN(r)?e:e.slice(0,r)}s(Cer,"limit");var n6e=s(e=>{if(!e)return!1;let t=s(r=>{for(let n of wer)if(r[n])for(let i of r[n]?.conditions||[]){let o=t(i);if(o)return o}for(let n of vss){let i=r[n];if(!i||typeof i!="object")continue;if(Object.entries(i).filter(a=>{let c=a[1]!==void 0||a[1]!==null||a[1]!=="";return n==="notEmpty"||c}).length!==0)return!0}return!1},"check");return t(e)},"hasFilters");var Sb={};Co(Sb,{applications:()=>u6e,automations:()=>l6e,screens:()=>h6e,users:()=>p6e});var u6e={};Co(u6e,{getDevAppID:()=>xss,getProdAppID:()=>P7});Ir();var c6e=XD("app"),N7=XD("app_dev");function xss(e){if(!e)throw new Error("No app ID provided");if(e.startsWith(N7))return e;let t=e.split(c6e);t.shift();let r=t.join(c6e);return`${N7}${r}`}s(xss,"getDevAppID");function P7(e){if(!e)throw new Error("No app ID provided");if(!e.startsWith(N7))return e;let t=e.split(N7);t.shift();let r=t.join(N7);return`${c6e}${r}`}s(P7,"getProdAppID");var l6e={};Co(l6e,{checkForCollectStep:()=>Iss,isAppAction:()=>Rss,isRowAction:()=>Css,isWebhookAction:()=>Oss});Ir();function Css(e){return e.definition.trigger?.stepId==="ROW_ACTION"}s(Css,"isRowAction");function Oss(e){return e.definition.trigger?.stepId==="WEBHOOK"}s(Oss,"isWebhookAction");function Rss(e){return e.definition.trigger?.stepId==="APP"}s(Rss,"isAppAction");function Oer(e){if(!e||!Array.isArray(e))return!1;for(let t of e){if(t.stepId==="COLLECT")return!0;if(LVt(t)&&t.inputs.children){for(let r of Object.values(t.inputs.children))if(Oer(r))return!0}}return!1}s(Oer,"hasCollectBlockRecursive");function Iss(e){return Oer(e.definition.steps)}s(Iss,"checkForCollectStep");var p6e={};Co(p6e,{canCreateApps:()=>kss,containsUserID:()=>Uss,getGlobalUserID:()=>Bss,getUserAppGroups:()=>Fss,hasAdminPermissions:()=>d6e,hasAppBuilderPermissions:()=>ofe,hasBuilderPermissions:()=>Lss,hasCreatorPermissions:()=>afe,isAdmin:()=>D7,isAdminOrBuilder:()=>Pss,isAdminOrGlobalBuilder:()=>Dss,isAdminOrWorkspaceBuilder:()=>Nss,isBuilder:()=>f6e,isCreator:()=>qss,isGlobalBuilder:()=>sfe,userAppAccessList:()=>jss});Ir();function f6e(e,t){return e?e.builder?.global?!0:!!(t&&e.builder?.apps?.includes(P7(t))):!1}s(f6e,"isBuilder");function sfe(e){return f6e(e)&&!ofe(e)||D7(e)}s(sfe,"isGlobalBuilder");function kss(e){return sfe(e)||afe(e)}s(kss,"canCreateApps");function D7(e){return e?d6e(e):!1}s(D7,"isAdmin");function Nss(e,t){return e?!!(D7(e)||t&&e.builder?.apps?.includes(P7(t))):!1}s(Nss,"isAdminOrWorkspaceBuilder");function Pss(e,t){return f6e(e,t)||D7(e)}s(Pss,"isAdminOrBuilder");function Dss(e){return sfe(e)||D7(e)}s(Dss,"isAdminOrGlobalBuilder");function ofe(e){if(!e)return!1;let t=e.builder?.apps?.length;return!!!e.builder?.global&&t!=null&&t>0}s(ofe,"hasAppBuilderPermissions");function Mss(e){return e?!!Object.values(e.roles??{}).find(t=>t==="CREATOR"):!1}s(Mss,"hasAppCreatorPermissions");function Lss(e){return e?e.builder?.global||ofe(e)||afe(e):!1}s(Lss,"hasBuilderPermissions");function d6e(e){return e?!!e.admin?.global:!1}s(d6e,"hasAdminPermissions");function afe(e){return e?!!e.builder?.creator:!1}s(afe,"hasCreatorPermissions");function qss(e){return e?sfe(e)||d6e(e)||afe(e)||ofe(e)||Mss(e):!1}s(qss,"isCreator");function Bss(e){if(typeof e!="string")return e;let t=`ro${Fs}ta_users${Fs}`;return e.startsWith(t)?e.split(t)[1]:e}s(Bss,"getGlobalUserID");function Uss(e){return typeof e!="string"?!1:e.includes(`us${Fs}`)}s(Uss,"containsUserID");function Rer(e,t){return t?.filter(r=>r.users?.find(n=>n._id===e))||[]}s(Rer,"getUserGroups");function Fss(e,t,r){let n=P7(e);return Rer(t,r).filter(o=>Object.keys(o.roles||{}).find(a=>a===n))}s(Fss,"getUserAppGroups");function jss(e,t){let n=Rer(e._id,t).flatMap(o=>Object.keys(o.roles||{})),i=[...Object.keys(e?.roles||{}),...n];return[...new Set(i)]}s(jss,"userAppAccessList");var h6e={};Co(h6e,{findInSettings:()=>$ss});function $ss(e,t){let r=[];function n(i,o=""){for(let[a,c]of Object.entries(i))c&&(typeof c=="string"&&c.includes(t)?r.push({setting:o?`${o}.${a}`:a,value:c}):typeof c=="object"&&n(c,a))}return s(n,"recurse"),n(e.props),r}s($ss,"findInSettings");Ir();var m6e={by_email2:["by_email"]},Nv={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"}},TM=XD("app"),Gss=XD("app_dev"),bI=Gss;var M7="_design/sqlite";var zss=`ro${Fs}ta_users${Fs}`;var cp="default";Ir();Ir();var g6e=require("crypto"),ufe=require("fs"),Wss=at(I3()),q7=require("path");var Kss=process.env.TOP_LEVEL_PATH||process.env.SERVER_TOP_LEVEL_PATH||(0,q7.resolve)((0,q7.join)(__dirname,"..","..","..")),ker=!1;!ker&&cfe()&&!_6e()&&(require("dotenv").config({path:(0,q7.join)(Kss,".env")}),ker=!0);function _6e(){return Per()}s(_6e,"isTest");function Per(){return process.env.NODE_ENV==="jest"||process.env.JEST_WORKER_ID!=null&&process.env.JEST_WORKER_ID!=="null"}s(Per,"isJest");function cfe(){return process.env.NODE_ENV!=="production"}s(cfe,"isDev");function Yss(e){if(e)return parseInt(e)}s(Yss,"parseIntSafe");var k3={BACKUPS:"backups",APPS:"prod-budi-app-assets",TEMPLATES:"templates",GLOBAL:"global",PLUGINS:"plugins",TEMP:"tmp-file-attachments"},Ner=!!parseInt(process.env.SELF_HOSTED||"");function Qss(){return process.env.API_ENCRYPTION_KEY?process.env.API_ENCRYPTION_KEY:process.env.JWT_SECRET}s(Qss,"getAPIEncryptionKey");function Xss(){return process.env.HTTP_LOGGING===void 0?!0:process.env.HTTP_LOGGING}s(Xss,"httpLogging");function Jss(){function e(r){function n(c,u){let l=`${u}/${c}`;if((0,ufe.existsSync)(l))return l;let f=`${u}/..`;return f===u?null:n(c,f)}s(n,"findFileInAncestors");let i=n(r,process.cwd()),o=(0,ufe.readFileSync)(i,"utf-8");return JSON.parse(o)}s(e,"getParentFile");let t;if(cfe()&&!_6e())try{t=`${e("lerna.json").version}+local`}catch{}try{let r=e("package.json");return{VERSION:t||process.env.BUDIBASE_VERSION||r.version,SERVICE_NAME:r.name}}catch{return{VERSION:process.env.BUDIBASE_VERSION||"",SERVICE_NAME:""}}}s(Jss,"getPackageJsonFields");function Zss(){return EI.SERVICE_TYPE==="worker"}s(Zss,"isWorker");function eos(){return EI.SERVICE_TYPE==="apps"}s(eos,"isApps");function tos(){return EI.BUDIBASE_ENVIRONMENT==="QA"}s(tos,"isQA");function ros(){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(ros,"getServiceName");var EI={isTest:_6e,isJest:Per,isDev:cfe,isWorker:Zss,isApps:eos,isQA:tos,isProd:()=>!cfe(),BUDIBASE_ENVIRONMENT:process.env.BUDIBASE_ENVIRONMENT,JS_BCRYPT:process.env.JS_BCRYPT,JWT_SECRET:process.env.JWT_SECRET?(0,g6e.createSecretKey)(process.env.JWT_SECRET,"utf8"):void 0,JWT_SECRET_FALLBACK:process.env.JWT_SECRET_FALLBACK?(0,g6e.createSecretKey)(process.env.JWT_SECRET_FALLBACK,"utf8"):void 0,ENCRYPTION_KEY:process.env.ENCRYPTION_KEY,API_ENCRYPTION_KEY:Qss(),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:Ner,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||k3.BACKUPS,APPS_BUCKET_NAME:process.env.APPS_BUCKET_NAME||k3.APPS,TEMPLATES_BUCKET_NAME:process.env.TEMPLATES_BUCKET_NAME||k3.TEMPLATES,GLOBAL_BUCKET_NAME:process.env.GLOBAL_BUCKET_NAME||k3.GLOBAL,PLUGIN_BUCKET_NAME:process.env.PLUGIN_BUCKET_NAME||k3.PLUGINS,TEMP_BUCKET_NAME:process.env.TEMP_BUCKET_NAME||k3.TEMP,USE_COUCH:process.env.USE_COUCH||!0,MOCK_REDIS:process.env.MOCK_REDIS,DEFAULT_LICENSE:process.env.DEFAULT_LICENSE,SERVICE:ros(),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:Xss(),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:Ner?process.env.ENABLE_SSO_MAINTENANCE_MODE:!1,...Jss(),DISABLE_PINO_LOGGER:process.env.DISABLE_PINO_LOGGER,OFFLINE_MODE:process.env.OFFLINE_MODE,SESSION_EXPIRY_SECONDS:process.env.SESSION_EXPIRY_SECONDS,_set(e,t){process.env[e]=t,EI[e]=t},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:Yss(process.env.BSON_BUFFER_SIZE)};for(let[e,t]of Object.entries(EI))t==="0"&&(EI[e]=0),t==="false"&&(EI[e]=0);var ut=EI;var B7="-";function y6e(){let e=ut.REDIS_PASSWORD,t=ut.REDIS_URL.split("//");t=t.length>1?t[1]:t[0],t=t.split("@"),t.length>1?(e=t[0].split(":")[1],t=t[1]):t=t[0];let[r,n]=t.split(":"),i=parseInt(n);return{host:r,password:e,port:isNaN(i)?6379:i}}s(y6e,"getRedisConnectionDetails");function Der(){return{slotsRefreshTimeout:2e3,dnsLookup:(e,t)=>t(null,e),redisOptions:{...N3(),tls:{}}}}s(Der,"getRedisClusterOptions");function N3(){let{host:e,password:t,port:r}=y6e();return{connectTimeout:3e4,port:r,host:e,password:t}}s(N3,"getRedisOptions");function Mer(e){let t=e.split(B7);return t.length>=2?(t.shift(),t.join(B7)):t[0]}s(Mer,"removeDbPrefix");var Wmn=at(require("events"));H7();function US(){return AM().replace(/-/g,"")}s(US,"newid");var gos=ut.JS_BCRYPT?require("bcryptjs"):require("bcrypt"),B4u=ut.SALT_ROUNDS||10;async function itr(e,t){return gos.compare(e,t)}s(itr,"compare");Ir();var Cfa=at(h$e());var Pu={};Co(Pu,{DEFAULT_TENANT_ID:()=>cp,baseGlobalDBName:()=>zEe,doInAutomationContext:()=>ZUo,doInContext:()=>bct,doInEnvironmentContext:()=>uFo,doInFeatureFlagOverrideContext:()=>htn,doInIPContext:()=>dtn,doInIdentityContext:()=>Gfe,doInLicenseContext:()=>tFo,doInScimContext:()=>lFo,doInSelfHostTenantUsingCloud:()=>eFo,doInTenant:()=>vC,doInWorkspaceContext:()=>iFo,doInWorkspaceMigrationContext:()=>oFo,ensureSnippetContext:()=>ptn,getAuditLogDBName:()=>ltn,getAuditLogsDB:()=>dFo,getAutomationId:()=>Ect,getCurrentContext:()=>A2,getDevWorkspaceDB:()=>hFo,getDevWorkspaceId:()=>aFo,getEnvironmentVariables:()=>fFo,getFeatureFlagOverrides:()=>xct,getFeatureFlags:()=>Tct,getGlobalDB:()=>_h,getGlobalDBName:()=>RZ,getIP:()=>vct,getIdentity:()=>AI,getLicense:()=>rFo,getPlatformURL:()=>yct,getProdWorkspaceDB:()=>pFo,getProdWorkspaceId:()=>cFo,getScimDBName:()=>YUo,getSelfHostCloudDB:()=>nFo,getTableForView:()=>mFo,getTenantIDFromWorkspaceID:()=>z$,getTenantId:()=>eo,getWorkspaceDB:()=>Sct,getWorkspaceId:()=>e_,identity:()=>tY,isMultiTenant:()=>T2,isScim:()=>wct,isSelfHostUsingCloud:()=>VEe,isTenancyEnabled:()=>XUo,isTenantIdSet:()=>QUo,setFeatureFlags:()=>Act,setTableForView:()=>gFo});var tY={};Co(tY,{doInAccountContext:()=>vds,doInIdentityContext:()=>m$e,doInUserContext:()=>Dir,getAccountUserId:()=>Mir,getIdentity:()=>Pir});Ir();function Pir(){return AI()}s(Pir,"getIdentity");function m$e(e,t){return Gfe(e,t)}s(m$e,"doInIdentityContext");function Dir(e,t,r){let n={...e,_id:e._id,type:"user",hostInfo:{ipAddress:t.request.ip,userAgent:t.userAgent.source}};return m$e(n,r)}s(Dir,"doInUserContext");function vds(e,t){let r=Mir(e),n=e.tenantId,i={_id:r,type:"user",tenantId:n,account:e};return m$e(i,t)}s(vds,"doInAccountContext");function Mir(e){let t;return pje(e)?t=e.budibaseUserId:t=e.accountId,t}s(Mir,"getAccountUserId");var xI=s(e=>{let t=Lir(e),r,n;if(t.auth?.username)r=t.auth.username;else if(ut.COUCH_DB_USERNAME)r=ut.COUCH_DB_USERNAME;else if(!ut.isTest())throw new Error("CouchDB username not set");if(t.auth?.password)n=t.auth.password;else if(ut.COUCH_DB_PASSWORD)n=ut.COUCH_DB_PASSWORD;else if(!ut.isTest())throw new Error("CouchDB password not set");let i=Buffer.from(`${r}:${n}`).toString("base64"),o=ut.COUCH_DB_SQL_URL;if(ut.isDev()&&!o)o="http://localhost:4006";else if(!o&&t.url){let a=new URL(t.url);o=t.url.replace(a.port,"4984")}return{url:t.url,sqlUrl:Lir(o).url,auth:{username:r,password:n},cookie:`Basic ${i}`}},"getCouchInfo"),Lir=s((e=ut.COUCH_DB_URL)=>{let t,r,n,i;if(e){/^https?:\/\//i.test(e)||(e=`http://${e}`);let a=e.split("://"),c=a[0],u=a.slice(1).join("://");if(e.includes("@")){let l=u.split("@");i=l[l.length-1];let f=l.slice(0,-1).join("@");if(f.includes(":")){let d=f.split(":");r=d[0],n=d.slice(1).join(":")}else r=f}else i=u;t=`${c}://${i}`}return{url:t,auth:{username:r,password:n}}},"getUrlInfo");var atn=at(vlr());Ir();var Slr=at(require("node-fetch"));function qde(e){return e.replace(/(https?:\/\/)|(\/)+/g,"$1$2")}s(qde,"checkSlashesInUrl");async function IHe({url:e,cookie:t,method:r,body:n}){let i={method:r,headers:{Authorization:t}};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,Slr.default)(qde(encodeURI(e)),i)}s(IHe,"directCouchUrlCall");var REs=at(require("pouchdb"));var IEs,kEs=!1;var NEs=s(()=>{if(!kEs)throw new Error("init has not been called")},"checkInitialised");function FI(e,t){NEs();let r=new IEs(e,t),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(FI,"getPouchDB");var qu=at(Qx());var OZ=class{constructor(t){this.db=t}static{s(this,"DDInstrumentedDatabase")}get name(){return this.db.name}exists(t){return qu.default.trace("db.exists",r=>(r.addTags({db_name:this.name,doc_id:t}),t?this.db.exists(t):this.db.exists()))}get(t){return qu.default.trace("db.get",r=>(r.addTags({db_name:this.name,doc_id:t}),this.db.get(t)))}tryGet(t){return qu.default.trace("db.tryGet",async r=>{r.addTags({db_name:this.name,doc_id:t});let n=await this.db.tryGet(t);return r.addTags({doc_found:n!==void 0}),n})}getMultiple(t,r){return qu.default.trace("db.getMultiple",async n=>{n.addTags({db_name:this.name,num_docs:t?.length||0,allow_missing:r?.allowMissing});let i=await this.db.getMultiple(t,r);return n.addTags({num_docs_found:i.length}),i})}remove(t,r){return qu.default.trace("db.remove",async n=>{n.addTags({db_name:this.name,doc_id:t,rev:r});let i=typeof t=="object",o=i?t._id:t;r=i?t._rev:r;let a=await this.db.remove(o,r);return n.addTags({ok:a.ok}),a})}bulkRemove(t,r){return qu.default.trace("db.bulkRemove",n=>(n.addTags({db_name:this.name,num_docs:t.length,silence_errors:r?.silenceErrors}),this.db.bulkRemove(t,r)))}put(t,r){return qu.default.trace("db.put",async n=>{n.addTags({db_name:this.name,doc_id:t._id,force:r?.force,return_doc:r?.returnDoc});let i=await this.db.put(t,r);return n.addTags({ok:i.ok}),i})}bulkDocs(t){return qu.default.trace("db.bulkDocs",r=>(r.addTags({db_name:this.name,num_docs:t.length}),this.db.bulkDocs(t)))}async find(t){return qu.default.trace("db.find",async r=>{r.addTags({db_name:this.name,...t});let n=await this.db.find(t);return r.addTags({rows_length:n.docs.length}),n})}allDocs(t){return qu.default.trace("db.allDocs",async r=>{r.addTags({db_name:this.name,...t});let n=await this.db.allDocs(t);return r.addTags({total_rows:n.total_rows,rows_length:n.rows.length,offset:n.offset}),n})}query(t,r){return qu.default.trace("db.query",async n=>{n.addTags({db_name:this.name,view_name:t,...r});let i=await this.db.query(t,r);return n.addTags({total_rows:i.total_rows,rows_length:i.rows.length,offset:i.offset}),i})}destroy(){return qu.default.trace("db.destroy",async t=>{t.addTags({db_name:this.name});let r=await this.db.destroy();return t.addTags({ok:r.ok}),r})}compact(){return qu.default.trace("db.compact",async t=>{t.addTags({db_name:this.name});let r=await this.db.compact();return t.addTags({ok:r.ok}),r})}dump(t,r){return qu.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(t,r)))}load(...t){return qu.default.trace("db.load",r=>(r.addTags({db_name:this.name,num_args:t.length}),this.db.load(...t)))}createIndex(...t){return qu.default.trace("db.createIndex",r=>(r.addTags({db_name:this.name,num_args:t.length}),this.db.createIndex(...t)))}deleteIndex(...t){return qu.default.trace("db.deleteIndex",r=>(r.addTags({db_name:this.name,num_args:t.length}),this.db.deleteIndex(...t)))}getIndexes(...t){return qu.default.trace("db.getIndexes",r=>(r.addTags({db_name:this.name,num_args:t.length}),this.db.getIndexes(...t)))}sql(t,r){return qu.default.trace("db.sql",async n=>{n.addTags({db_name:this.name,num_bindings:r?.length});let i=await this.db.sql(t,r);return n.addTags({num_rows:i.length}),i})}sqlPurgeDocument(t){return qu.default.trace("db.sqlPurgeDocument",r=>(r.addTags({db_name:this.name,num_docs:Array.isArray(t)?t.length:1}),this.db.sqlPurgeDocument(t)))}sqlDiskCleanup(){return qu.default.trace("db.sqlDiskCleanup",t=>(t.addTags({db_name:this.name}),this.db.sqlDiskCleanup()))}};Ir();var iSl=`${Fs}${Fs}`;var sSl=encodeURIComponent(" ");function gct(e,t,r){if(!ut.SQL_LOGGING_ENABLE)return;let n=`[SQL] [${e.toUpperCase()}] query="${t}"`;r&&(n+=` values="${r.join(", ")}"`),console.log(n)}s(gct,"sqlLog");var itn="Database does not exist.";function stn(e){return(0,atn.default)({url:e.url,requestDefaults:{headers:{Authorization:e.cookie}},parseUrl:!1})}s(stn,"buildNano");var m1=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")}};var GEe=class e{constructor(t,r,n){this.couchInfo=xI();this.name=t,this.pouchOpts=r||{},n&&(this.couchInfo=xI(n),this.instanceNano=stn(this.couchInfo)),e.nano||e.init()}static{s(this,"DatabaseImpl")}static init(){let t=xI();e.nano=stn(t)}exists(t){return t===void 0?this.dbExists():this.docExists(t)}async dbExists(){return(await IHe({url:`${this.couchInfo.url}/${this.name}`,method:"HEAD",cookie:this.couchInfo.cookie})).status===200}async docExists(t){try{return await this.performCall(r=>()=>r.head(t)),!0}catch{return!1}}nano(){return this.instanceNano||e.nano}getDb(){return this.nano().db.use(this.name)}async checkAndCreateDb(){let t=!this.pouchOpts?.skip_setup,r=await this.exists();if(!t&&!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 m1(n.message,n)}return this.getDb()}async performCallWithDBCreation(t){let r=this.getDb(),n=await t(r);try{return await n()}catch(i){if(i.statusCode===404&&i.reason===itn)return await this.checkAndCreateDb(),await this.performCallWithDBCreation(t);throw new m1(`CouchDB error: ${i.message}`,i)}}async performCall(t){let r=this.getDb(),n=await t(r);try{return await n()}catch(i){throw new m1(`CouchDB error: ${i.message}`,i)}}async get(t){return this.performCall(r=>{if(!t)throw new Error("Unable to get doc without a valid _id.");return()=>r.get(t)})}async tryGet(t){try{return await this.get(t)}catch(r){if(r.statusCode===404)return;throw r}}async getMultiple(t,r){if(!t||t.length===0)return[];t=[...new Set(t)];let n=!r?.excludeDocs,i=await this.allDocs({keys:t,include_docs:n}),o=s(u=>n&&u.doc==null||u.value&&"deleted"in u.value&&u.value.deleted?!0:u.error==="not_found","rowUnavailable"),a=i.rows.filter(u=>!o(u)),c=a.length!==i.rows.length;if(!r?.allowMissing&&c){let l=i.rows.filter(f=>o(f)).map(f=>f.key).join(", ");throw new Error(`Unable to get bulk documents: ${l}`)}return a.map(u=>n?u.doc:u.value)}async remove(t,r){return this.performCall(n=>{let i,o;if(Ozt(t)?(i=t._id,o=t._rev):(i=t,o=r),!i||!o)throw new Error("Unable to remove doc without a valid _id and _rev.");return()=>n.destroy(i,o)})}async bulkRemove(t,r){let n=await this.performCall(a=>()=>a.bulk({docs:t.map(c=>({...c,_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 m1(o,{name:this.name,status:400})}async post(t,r){return t._id||(t._id=US()),this.put(t,r)}async put(t,r){if(!t._id)throw new Error("Cannot store document without _id field.");return this.performCallWithDBCreation(async n=>{if(t.createdAt||(t.createdAt=new Date().toISOString()),t.updatedAt=new Date().toISOString(),r?.force&&t._id)try{let i=await this.get(t._id);i&&(t._rev=i._rev)}catch(i){if(i.status!==404)throw i}return async()=>{let i=await n.insert(t);return r?.returnDoc?{...i,doc:{...t,_rev:i.rev}}:i}})}async bulkDocs(t){let r=new Date().toISOString();return this.performCallWithDBCreation(n=>()=>n.bulk({docs:t.map(i=>({createdAt:r,...i,updatedAt:r}))}))}async find(t){return this.performCall(r=>async()=>r.find(t))}async allDocs(t){return this.performCall(r=>async()=>{try{return await r.list(t)}catch(n){if(n.reason===itn)return{offset:0,total_rows:0,rows:[]};throw n}})}async _sqlQuery(t,r,n){t=qde(`${this.couchInfo.sqlUrl}/${t}`);let i={url:t,method:r,cookie:this.couchInfo.cookie};return n&&(i.body=n),this.performCall(()=>async()=>{let o=await IHe(i),a=await o.text();if(o.status>300){let c;try{c=JSON.parse(a)}catch{throw console.error(`SQS error: ${a}`),new m1("error while running SQS query, please try again later",{name:"sqs_error",status:o.status})}throw c}return JSON.parse(a)})}async sql(t,r){let i=`/${this.name}/${M7}`;return gct("sqlite3",t,r),await this._sqlQuery(i,"POST",{query:t,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(t){Array.isArray(t)||(t=[t]);let n=`/${this.name}/_purge`;return await this._sqlQuery(n,"POST",{docs:t})}async query(t,r){return this.performCall(n=>{let[i,o]=t.split("/");return()=>n.view(i,o,r)})}async destroy(){if(await this.exists(M7)){let t=await this.get(M7);t.sql.tables={},await this.put(t),await this.sqlDiskCleanup()}try{return await this.nano().db.destroy(this.name)}catch(t){if(t.statusCode===404)return{ok:!0};throw new m1(t.message,t)}}async compact(){return this.performCall(t=>()=>t.compact())}async dump(t,r){return FI(this.name).dump(t,r)}async load(t){return FI(this.name).load(t)}async createIndex(t){return FI(this.name).createIndex(t)}async deleteIndex(t){return FI(this.name).deleteIndex(t)}async getIndexes(){return FI(this.name).getIndexes()}};function l0(e,t){return new OZ(new GEe(e,t))}s(l0,"getDB");function _ct(e){if(!e||e.startsWith(bI))return e;let t=e.split(TM);t.shift();let r=t.join(TM);return`${bI}${r}`}s(_ct,"getDevWorkspaceID");function G$(e){if(!e||!e.startsWith(bI))return e;let t=e.split(bI);t.shift();let r=t.join(bI);return`${TM}${r}`}s(G$,"getProdWorkspaceID");var ctn=require("async_hooks");var jl=class e{static{s(this,"Context")}static{this.storage=new ctn.AsyncLocalStorage}static run(t,r){return e.storage.run(t,()=>r())}static get(){return e.storage.getStore()}};var utn=null;function RZ(e){return e||(e=eo()),zEe(e)}s(RZ,"getGlobalDBName");function ltn(e){return e||(e=eo()),e===cp?Nv.AUDIT_LOGS.name:`${e}${Fs}${Nv.AUDIT_LOGS.name}`}s(ltn,"getAuditLogDBName");function YUo(e){return e||(e=eo()),e===cp?Nv.SCIM_LOGS.name:`${e}${Fs}${Nv.SCIM_LOGS.name}`}s(YUo,"getScimDBName");function zEe(e){return!e||e===cp?Nv.GLOBAL.name:`${e}${Fs}${Nv.GLOBAL.name}`}s(zEe,"baseGlobalDBName");function yct(){return ut.PLATFORM_URL}s(yct,"getPlatformURL");function T2(){return!!ut.MULTI_TENANCY}s(T2,"isMultiTenant");function QUo(){return!!jl.get()?.tenantId}s(QUo,"isTenantIdSet");function XUo(){return ut.MULTI_TENANCY}s(XUo,"isTenancyEnabled");function z$(e){if(!e)return;if(!T2())return cp;let t=e.split(Fs),r=t[1]==="dev";if(!(r&&t.length===3||!r&&t.length===2))return r?t[2]:t[1]}s(z$,"getTenantIDFromWorkspaceID");function JUo(e){let t;try{t=jl.get()}catch{t={}}return t={...t,...e},t}s(JUo,"updateContext");async function f0(e,t){sFo();let r=JUo(e);return jl.run(r,t)}s(f0,"newContext");async function ZUo(e){return await ptn(),await f0({tenantId:z$(e.workspaceId),appId:e.workspaceId,automationId:e.automationId},e.task)}s(ZUo,"doInAutomationContext");async function bct(e,t){let r=z$(e);return f0({tenantId:r,appId:e},t)}s(bct,"doInContext");async function vC(e,t){return ut.MULTI_TENANCY||(e=e||cp),f0(e?{tenantId:e}:{},t)}s(vC,"doInTenant");async function eFo(e,t){return f0({tenantId:e,isSelfHostUsingCloud:!0},t)}s(eFo,"doInSelfHostTenantUsingCloud");async function tFo(e,t){return f0({license:e},t)}s(tFo,"doInLicenseContext");function rFo(){return jl.get()?.license}s(rFo,"getLicense");function VEe(){return!!jl.get()?.isSelfHostUsingCloud}s(VEe,"isSelfHostUsingCloud");function nFo(){let e=jl.get();if(!e||!e.isSelfHostUsingCloud)throw new Error("Self-host cloud DB not found");return l0(Nv.SELF_HOST_CLOUD.name)}s(nFo,"getSelfHostCloudDB");async function iFo(e,t){return ftn(e,t)}s(iFo,"doInWorkspaceContext");async function ftn(e,t,r){if(!e)throw new Error("workspaceId is required");let n=z$(e),i={appId:e,...r};return n&&(i.tenantId=n),f0(i,t)}s(ftn,"_doInWorkspaceContext");async function Gfe(e,t){if(!e)throw new Error("identity is required");let r={identity:e};return e.tenantId&&(r.tenantId=e.tenantId),f0(r,t)}s(Gfe,"doInIdentityContext");function sFo(){if(jl.get()?.isMigrating)throw new Error("The context cannot be changed, a migration is currently running")}s(sFo,"guardMigration");async function oFo(e,t){return ftn(e,t,{isMigrating:!0})}s(oFo,"doInWorkspaceMigrationContext");function AI(){try{return jl.get()?.identity}catch{}}s(AI,"getIdentity");function eo(){if(!T2())return cp;let t=jl.get()?.tenantId;if(!t)throw new Error("Tenant id not found");return t}s(eo,"getTenantId");function Ect(){return jl.get()?.automationId}s(Ect,"getAutomationId");function e_(){let t=jl.get()?.appId;return!t&&ut.isTest()&&utn?utn:t}s(e_,"getWorkspaceId");function vct(){return jl.get()?.ip}s(vct,"getIP");var aFo=s(()=>{let e=e_();if(!e)throw new Error("Could not get workspaceId");return _ct(e)},"getDevWorkspaceId"),cFo=s(()=>{let e=e_();if(!e)throw new Error("Could not get workspaceId");return G$(e)},"getProdWorkspaceId");function uFo(e,t){if(!e)throw new Error("Must supply environment variables.");return f0({environmentVariables:e},t)}s(uFo,"doInEnvironmentContext");function lFo(e){return f0({isScim:!0},e)}s(lFo,"doInScimContext");function dtn(e,t){return f0({ip:e},t)}s(dtn,"doInIPContext");async function ptn(){let e=A2();if(!e||e.snippets)return;let t,r=Sct();r&&(t=(await r.tryGet("app_metadata"))?.snippets),e.snippets=t||[]}s(ptn,"ensureSnippetContext");function fFo(){let e=jl.get();return e.environmentVariables?e.environmentVariables:null}s(fFo,"getEnvironmentVariables");function _h(){let e=jl.get();if(!e||ut.MULTI_TENANCY&&!e.tenantId)throw new Error("Global DB not found");if(e.isSelfHostUsingCloud)throw new Error("Global DB not found - self-host users using cloud don't have a global DB");return l0(zEe(e?.tenantId))}s(_h,"getGlobalDB");function dFo(){if(!eo())throw new Error("No tenant ID found - cannot open audit log DB");return l0(ltn())}s(dFo,"getAuditLogsDB");function Sct(e){let t=e_();if(!t)throw new Error("Unable to retrieve workspace DB - no workspace ID.");if(VEe())throw new Error("Workspace DB not found - self-host users using cloud don't have workspace DBs");return l0(t,e)}s(Sct,"getWorkspaceDB");function pFo(e){let t=e_();if(!t)throw new Error("Unable to retrieve prod DB - no workspace ID.");return l0(G$(t),e)}s(pFo,"getProdWorkspaceDB");function hFo(e){let t=e_();if(!t)throw new Error("Unable to retrieve dev DB - no workspace ID.");return l0(_ct(t),e)}s(hFo,"getDevWorkspaceDB");function wct(){return!!jl.get()?.isScim}s(wct,"isScim");function A2(){try{return jl.get()}catch{return}}s(A2,"getCurrentContext");function Tct(e){let t=A2();if(t)return t.featureFlagCache?.[e]}s(Tct,"getFeatureFlags");function Act(e,t){let r=A2();r&&(r.featureFlagCache??={},r.featureFlagCache[e]=t)}s(Act,"setFeatureFlags");function xct(){return A2()?.featureFlagOverrides||{}}s(xct,"getFeatureFlagOverrides");async function htn(e,t){return await f0({featureFlagOverrides:e},t)}s(htn,"doInFeatureFlagOverrideContext");function mFo(e){let t=A2();if(t)return t.viewToTableCache?.[e]}s(mFo,"getTableForView");function gFo(e,t){let r=A2();r&&(r.viewToTableCache??={},r.viewToTableCache[e]=t)}s(gFo,"setTableForView");var VSe=at(enn());var zSe=at(Qx()),qmn=at(I3());var Lmn;if(ut.MOCK_REDIS)try{Lmn=Mmn()}catch{console.log("Mock redis unavailable")}async function cfa(e=0){return await zSe.tracer.trace("Redis.init",async t=>{if(ut.MOCK_REDIS)return t.addTags({mock:!0}),new Lmn(N3());let r;if(ut.REDIS_CLUSTERED){t.addTags({clustered:!0});let{host:n,port:i}=y6e();r=new VSe.Cluster([{host:n,port:i}],Der())}else r=new VSe.default(N3());return new Promise((n,i)=>{r.on("error",o=>{t.addTags({error:!0}),console.error(`failed to connect to redis (db: ${e})`,o),i(o)}),r.on("reconnecting",()=>{console.log(`Redis reconnecting... (db: ${e})`)}),r.on("ready",()=>{t.addTags({connected:!0}),console.log(`Redis ready to receive commands (db: ${e})`),n(r)})})})}s(cfa,"init");function ufa(e,t){return new Promise((r,n)=>{let i=new Set;e.on("data",o=>o.forEach(a=>i.add(a))),e.on("error",o=>n(o)),e.on("end",async()=>{try{let o=Array.from(i).map(async a=>{let c=await t.get(a);return c&&(c=JSON.parse(c)),{key:Mer(a),value:c}});r(await Promise.all(o))}catch(o){n(o)}})})}s(ufa,"promisifyStream");function lfa(e){return e.isCluster}s(lfa,"isCluster");var xmt=class e{static{s(this,"RedisWrapper")}constructor(t,r){this.client=t,this.db=r}static async init(t,r=0){return await zSe.tracer.trace("RedisWrapper.init",async n=>{let i=await cfa(r);return r&&!ut.isTest()&&(n.addTags({db:t}),i.select(r)),new e(i,t)})}trace(t,r){return zSe.tracer.trace(t,async n=>(n.addTags({db:this.db}),await r(n)))}prefixed(t){return t.includes(this.db)?t:`${this.db}${B7}${t}`}async finish(){return await this.trace("RedisWrapper.finish",async()=>{await this.client.quit()})}async scan(t=""){return await this.trace("RedisWrapper.scan",async r=>{r.addTags({key:t}),t=`${this.db}${B7}${t}`;let n;lfa(this.client)?n=this.client.nodes("master")[0].scanStream({match:t+"*",count:100}):n=this.client.scanStream({match:t+"*",count:100});let i=await ufa(n,this.client);return r.addTags({numKeysFound:i.length}),i})}async keys(t){return await this.trace("RedisWrapper.keys",async r=>(r.addTags({pattern:t}),this.client.keys(this.prefixed(t))))}async exists(t){return await this.trace("RedisWrapper.exists",async r=>(r.addTags({key:t}),await this.client.exists(this.prefixed(t))))}async get(t){return await this.trace("RedisWrapper.get",async r=>{r.addTags({key:t});let n=await this.client.get(this.prefixed(t));n!=null&&n.key&&(n.key=t);try{return JSON.parse(n)}catch{return n}})}async bulkGet(t){return await this.trace("RedisWrapper.bulkGet",async r=>{if(r.addTags({numKeys:t.length}),t.length===0)return{};let n=await this.client.mget(t.map(i=>this.prefixed(i)));return r.addTags({numKeysFound:n.length}),(0,qmn.zip)(t,n).reduce((i,[o,a])=>{if(o===void 0||a===void 0)throw new Error(`Keys and response length mismatch: ${t.length} vs ${n.length}`);try{i[o]=a?JSON.parse(a):null}catch{i[o]=a}return i},{})})}async store(t,r,n=null){return await this.trace("RedisWrapper.store",async i=>{i.addTags({key:t,expirySeconds:n}),typeof r=="object"&&(r=JSON.stringify(r)),await this.client.set(this.prefixed(t),r),n&&await this.client.expire(this.prefixed(t),n)})}async bulkStore(t,r=null){return await this.trace("RedisWrapper.bulkStore",async n=>{n.addTags({numKeys:Object.keys(t).length,expirySeconds:r});let i=Object.entries(t).reduce((a,[c,u])=>(a[this.prefixed(c)]=typeof u=="object"?JSON.stringify(u):u,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(t){return await this.trace("RedisWrapper.getTTL",async r=>(r.addTags({key:t}),await this.client.ttl(this.prefixed(t))))}async setExpiry(t,r){return await this.trace("RedisWrapper.setExpiry",async n=>(n.addTags({key:t,expirySeconds:r}),await this.client.expire(this.prefixed(t),r)))}async delete(t){return await this.trace("RedisWrapper.delete",async r=>{r.addTags({key:t}),await this.client.del(this.prefixed(t))})}async bulkDelete(t){return await this.trace("RedisWrapper.bulkDelete",async r=>{r.addTags({numKeys:t.length}),await this.client.del(t.map(n=>this.prefixed(n)))})}async clear(){return await this.trace("RedisWrapper.clear",async t=>{let r=await this.scan();t.addTags({numKeys:r.length}),await Promise.all(r.map(n=>this.delete(n.key)))})}async increment(t){return await this.trace("RedisWrapper.increment",async r=>{r.addTags({key:t});let n=await this.client.incr(this.prefixed(t));if(isNaN(n))throw new Error(`Redis ${t} does not contain a number`);return n})}async deleteIfValue(t,r){return await this.trace("RedisWrapper.deleteIfValue",async n=>{n.addTags({key:t});let i=`
1368
1368
  if redis.call('GET', KEYS[1]) == ARGV[1] then
1369
1369
  redis.call('DEL', KEYS[1])
1370
1370
  end
@@ -1399,7 +1399,7 @@ $1`)};$ce.parseAttributes=s(function(t){return Object.keys(t).map(function(r){va
1399
1399
  `}s(QUe,"frontendWrapJS");var g3i=at(S6t()),_3i=at(KW()),y3i=at(w6t()),b3i=at(C6t()),E3i=at(A6t()),v3i=at(r6t()),S3i=at(NUe()),w3i=at(T6t()),T3i=at(M6t());var uCu={math:g3i.default,array:_3i.default,number:y3i.default,url:b3i.default,string:E3i.default,comparison:v3i.default,object:S3i.default,regex:w3i.default,uuid:T3i.default},A3i=["sortBy"],lCu={date:WUe,duration:eue},zR;function rue(){if(zR)return zR;zR={};for(let e of Object.values(uCu))for(let[t,r]of Object.entries(e))zR[t]=(...n)=>r(...n,{});zR={...zR,...lCu};for(let e of A3i)delete zR[e];return Object.freeze(zR),zR}s(rue,"getJsHelperList");var XUe=s(e=>`(function(){
1400
1400
  ${e}
1401
1401
  })();`,"iifeWrapper");var eK=class e extends Error{constructor(){super(e.message);this.code=e.code}static{s(this,"JsTimeoutError")}static{this.message="Timed out while executing JS"}static{this.code="JS_TIMEOUT_ERROR"}},Nj=class e extends Error{constructor(r){super(`error while running user-supplied JavaScript: ${r.toString()}`);this.userScriptError=r;this.code=e.code}static{s(this,"UserScriptError")}static{this.code="USER_SCRIPT_ERROR"}};var x3i=at(Ske());var JUe,c$t=s(e=>JUe=e,"setJSRunner"),C3i=s(()=>{JUe=void 0},"removeJSRunner"),a$t,fCu=s(e=>a$t=e,"setOnErrorLog"),dCu=s(e=>{if(!e||typeof e!="string")return e;let t=/\[+(.+)]+/,r=e.match(t);return r&&r[1]?r[1]:e},"removeSquareBrackets"),pCu=s(e=>e==="snippets"||e==="helpers"||e.startsWith("snippets.")||e.startsWith("helpers."),"isReservedKey"),hCu=s((e,t)=>{if(pCu(e))return;let r=/^(["'`]).*\1$/,n=t;return r.test(e)?e.substring(1,e.length-1):(e.split(".").forEach(i=>{if(n==null||typeof n!="object")return null;n=n[dCu(i)]}),n)},"getContextValue");function O3i(handlebars,context){if(!d3i()||!JUe)throw new Error("JS disabled in environment.");try{let js=XUe(o$t(handlebars)),snippetMap={},snippetCache={};for(let e of context.snippets||[])snippetMap[e.name]=e.code;let clonedContext;tue()?clonedContext=context:clonedContext=(0,x3i.default)(context);let sandboxContext={$:e=>hCu(e,clonedContext),helpers:rue(),snippets:new Proxy({},{get:function(_,name){return name in snippetCache||(snippetCache[name]=eval(XUe(snippetMap[name]))),snippetCache[name]}})},logs=[];if(!tue()){let e=QUe(js).split(js)[0].split(`
1402
- `).length,t=s(r=>(...n)=>{kj()||console[r](...n),n.forEach((o,a)=>{typeof o=="object"&&(n[a]=JSON.stringify(o))});let i=new Error().stack?.match(/<anonymous>:(\d+):\d+/)?.[1];logs.push({log:n,line:i?parseInt(i)-e:void 0,type:r})},"buildLogResponse");sandboxContext.console={log:t("log"),info:t("info"),debug:t("debug"),warn:t("warn"),error:t("error"),table:t("table")}}let res={data:JUe(js,sandboxContext),logs};return`{{${ZW} js_result-${JSON.stringify(res)}}}`}catch(e){a$t&&a$t(e);let{noThrow:t=!0}=context.__opts||{};if(e.code==="ERR_SCRIPT_EXECUTION_TIMEOUT")return"Timed out while executing JS";if(e.code==="JS_REQUEST_TIMEOUT_ERROR")return e.message;if(e.code===eK.code)return eK.message;if(e.code===Nj.code){if(t)return e.userScriptError.toString();throw e}if(e.name==="SyntaxError"){if(t)return e.toString();throw e}return"Error while executing JS"}}s(O3i,"processJS");var mCu={"<":"&lt;",">":"&gt;"};function gCu(e){return e==null||typeof e!="object"?!1:e.toString()==="[object Object]"||e.length>0&&typeof e[0]=="object"}s(gCu,"isObject");var _Cu=[new FR(Ij.OBJECT,e=>new ZUe.default.SafeString(JSON.stringify(e))),new FR(Ij.JS,O3i,!1),new FR(Ij.DECODE_ID,e=>{if(!e)return[];let t=typeof e=="string"?e:e._id,r=decodeURIComponent(t).replace(/'/g,'"');try{let n=JSON.parse(r);return Array.isArray(n)?n:[n]}catch{return[e]}}),new FR(Ij.ALL,(e,t)=>{let{__opts:r}=t;if(gCu(e))return new ZUe.default.SafeString(JSON.stringify(e));if(r&&r.onlyFound&&e==null)return r.input;if(e==null||typeof e!="string")return e??"";e&&e.string&&(e=e.string);let n=e;return r&&r.escapeNewlines&&(n=e.replace(/\n/g,"\\n")),n=new ZUe.default.SafeString(n.replace(/&amp;/g,"&")),n==null||typeof n!="string"?n:n.replace(/[<>]/g,i=>mCu[i]||i)}),new FR(Ij.LITERAL,e=>{if(e===void 0)return"";let t=typeof e,r=t==="object"?JSON.stringify(e):e;return`{{${ZW} ${t}-${r}}}`})];function R3i(){return Object.values(Ij).concat(KUe,n$t)}s(R3i,"HelperNames");function u$t(e){for(let t of _Cu)t.register(e)}s(u$t,"registerMinimum");function I3i(e){u$t(e),l3i(e)}s(I3i,"registerAll");var k3i=["#","else","/"];var tK=class{static{s(this,"Preprocessor")}constructor(t,r){this.name=t,this.fn=r}process(t,r,n){let i=this.fn(r,n),o=t.indexOf(r);return s$t(t,o,r.length,i)}},N3i=[new tK("swap-to-dot-notation",e=>{let t=e.indexOf("["),r=0;for(;t!==-1;){h3i(e.charAt(t-1))&&(e=s$t(e,t+r,1,".[")),r=t+1;let n=e.substring(r+1).indexOf("[");t=n>0?r+1+n:-1}return e}),new tK("fix-functions",e=>{for(let t of k3i){let r=`{ ${t}`,n=`{${t}`;e=e.replace(new RegExp(r,"g"),n)}return e}),new tK("normalize-spaces",e=>e.replace(/{{(\s{2,})/g,"{{ ")),new tK("finalise",(e,t)=>{let n=!t?.noHelpers,i=e.slice(2,e.length-2);i.charAt(0)===" "&&(i=i.slice(1)),i.charAt(i.length-1)===" "&&(i=i.slice(0,i.length-1));let o=i.split(" ")[0];for(let c of k3i)if(o.includes(c))return e;let a=o.trim().toLowerCase();return n&&!t?.disabledHelpers?.includes(a)&&R3i().some(c=>a===c.toLowerCase())&&(i=`(${i})`),`{{ all ${i} }}`})];var l$t=class{static{s(this,"Postprocessor")}constructor(t,r){this.name=t,this.fn=r}process(t){return this.fn(t)}},f$t=[new l$t("convert-literals",e=>{if(typeof e!="string"||!e.includes(ZW))return{result:e};let t=e.indexOf("-"),r=e.substring(12,t),n=e.substring(t+1,e.length-2);switch(r){case"string":return{result:n};case"number":return{result:parseFloat(n)};case"boolean":return{result:n==="true"};case"object":return{result:JSON.parse(n)};case"js_result":{let i=JSON.parse(n);return{result:i.data,logs:i.logs}}}return{result:n}})];function d$t(e,t,r){let n=[];for(let i of t){if(typeof e!="string")break;let o=new RegExp(YUe),a=e.match(o);if(a!=null)for(let c of a){let u=i.process(e,c,r||{});typeof u=="object"?("logs"in u&&u.logs&&(n=n.concat(u.logs)),e=u.result):e=u}}return{result:e,logs:n}}s(d$t,"process");function P3i(e,t){let r=N3i;return t.noFinalise&&(r=r.filter(n=>n.name!=="finalise")),d$t(e,r,t).result}s(P3i,"preprocess");function D3i(e){return d$t(e,f$t).result}s(D3i,"postprocess");function M3i(e){return d$t(e,f$t)}s(M3i,"postprocessWithLogs");var m$t=(0,h$t.create)();I3i(m$t);var ECu=Object.keys(m$t.helpers),B3i=(0,h$t.create)();u$t(B3i);var vCu={noHelpers:!1,cacheTemplates:!1,noEscaping:!1,escapeNewlines:!1,noFinalise:!1};function SCu(e){return e?Object.keys(e).filter(r=>ECu.includes(r)):[]}s(SCu,"findOverlappingHelpers");var p$t={};function wCu(e,t,r){t={...vCu,...t};let n=!t?.noHelpers,i=`${e}-${JSON.stringify(t)}`;if(t.cacheTemplates&&p$t[i])return p$t[i];let o=n?SCu(r):[];if(e=P3i(e,{...t,disabledHelpers:o}),r&&n&&o.length>0)for(let u of F3i(e))e=e.replace(u,m3i(u,o,"./"));t.noEscaping&&(e=ACu(e));let c=(t.noHelpers?B3i:m$t).compile(e,{strict:!1});return p$t[i]=c,c}s(wCu,"createTemplate");function TCu(e,t,r){let n=e;if(typeof e!="string")throw new Error("Cannot process non-string types.");function i(o){let a=wCu(o,r,t),c=Math.floor(Date.now()/1e3)*1e3,u=a({now:new Date(c).toISOString(),__opts:{...r,input:o},...t});return r?.logging?M3i(u):D3i(u)}s(i,"process");try{if(r&&r.onlyFound){let o=[],a=F3i(e);for(let c of a){let u=i(c);typeof u=="object"&&"result"in u?(o=o.concat(u.logs||[]),e=e.replace(c,u.result)):e=e.replace(c,u)}return r?.logging?{result:e,logs:o}:e}else return i(e)}catch(o){let{noThrow:a=!0}=r||{};if(a)return n;throw o}}s(TCu,"processStringSyncInternal");function U3i(e,t,r){return TCu(e,t,{...r,logging:!1})}s(U3i,"processStringSync");function ACu(e){let t=p3i(e);if(t==null)return e;let r=[...new Set(t)];for(let n of r){let i=new RegExp(`${n}(?!})`,"g");e=e.replace(i,`{${n}}`)}return e}s(ACu,"disableEscaping");function F3i(e){if(!e||typeof e!="string")return[];let t=new RegExp(i$t),r=e.match(t);return r??[]}s(F3i,"findHBSBlocks");function xCu(){let e=kj()?q3i.default:L3i.default;c$t((t,r)=>{e.createContext(r);let n=QUe(t),i=e.runInNewContext(n,r);if(i.error)throw new Nj(i.error);return i.result})}s(xCu,"browserJSSetup");function CCu(){tue()?C3i():xCu()}s(CCu,"defaultJSSetup");CCu();var OCu=require("download"),RCu=require("tar"),ICu=["package.json.hbs","schema.json.hbs","README.md.hbs"];async function kCu(e){let t=await(0,j3i.default)("https://api.github.com/repos/budibase/budibase-skeleton/releases/latest");if(t.status>=300)throw new Error("Failed to retrieve skeleton metadata");let r=await t.json();for(let n of r.assets)if(n.name&&n.name.includes(e))return n.browser_download_url;throw new Error("No skeleton found in latest release.")}s(kCu,"getSkeletonUrl");async function H3i(e,t){let r=await kCu(e),n=(0,eFe.join)($3i.default.tmpdir(),"skeleton.tar.gz");Pj.default.writeFileSync(n,await OCu(r)),Pj.default.mkdirSync(t),await RCu.extract({file:n,C:t}),Pj.default.rmSync(n)}s(H3i,"getSkeleton");async function G3i(e,t,r,n){for(let i of ICu){let o=(0,eFe.join)(t,i),a=(0,eFe.join)(t,i.substring(0,i.length-4)),c=Pj.default.readFileSync(o,"utf8");if(!c)continue;let u=U3i(c,{name:t,description:r,version:n});Pj.default.writeFileSync(a,u),Pj.default.rmSync(o)}}s(G3i,"fleshOutSkeleton");ZD();var Dj=at(require("fs"));Ir();var V3i=at(require("util")),W3i=at(require("child_process"));var NCu=V3i.default.promisify(W3i.default.exec);async function K3i(e,t="./"){let{stdout:r}=await NCu(e,{cwd:t});return r}s(K3i,"exec");async function z3i(e){try{return await K3i(`${e} --version`),!0}catch{return!1}}s(z3i,"utilityInstalled");async function tFe(e,t="./"){let r=await z3i("yarn"),n=await z3i("npm");if(!r&&!n)throw new Error("Must have yarn or npm installed to run build.");let i=e==="install"?`npm ${e}`:`npm run ${e}`,o=r?`yarn ${e} --ignore-engines`:i;await K3i(o,t)}s(tFe,"runPkgCommand");var rFe=require("path");ad();var PCu=require("find-free-port");function DCu(){if(!Dj.default.existsSync("package.json"))throw new Error("Please run in a plugin directory - must contain package.json");if(!Dj.default.existsSync("schema.json"))throw new Error("Please run in a plugin directory - must contain schema.json")}s(DCu,"checkInPlugin");async function MCu(e){return Dj.default.readdirSync(process.cwd()).find(r=>r===".git")?!1:(console.log(jc(`By default the plugin will be created in the directory "${e}"`)),console.log(jc("if you are already in an empty directory, such as a new Git repo, you can disable this functionality.")),sI("Create top level directory?"))}s(MCu,"askAboutTopLevel");async function LCu(e){let t=e.init||e;if(!t||!_Vt.includes(t)){console.log(ou("Please provide a type to init, either 'component', 'datasource' or 'automation'."));return}console.log(jc("Lets get some details about your new plugin:"));let r=await JD("Name",`budibase-${t}`);if(Dj.default.existsSync(r)){console.log(ou("Directory by plugin name already exists, pick a new name."));return}let n=await JD("Description",`An amazing Budibase ${t}!`),i=await JD("Version","1.0.0"),o=await MCu(r);console.log(jc("Retrieving project...")),await H3i(t,r),await G3i(t,r,n,i),console.log(jc("Installing dependencies...")),await tFe("install",(0,rFe.join)(process.cwd(),r)),o?console.log(jc(`Plugin created in directory "${r}"`)):(sje(r,process.cwd()),console.log(jc("Plugin created in current directory."))),Vue(WA.PluginInit,{type:t,name:r,description:n,version:i})}s(LCu,"init");async function Y3i(){DCu(),console.log(jc("Verifying plugin..."));let e=Dj.default.readFileSync("schema.json","utf8"),t=Dj.default.readFileSync("package.json","utf8"),r,n;try{let i=JSON.parse(e),o=JSON.parse(t);if(!o.name||!o.version||!o.description)throw new Error("package.json is missing one of 'name', 'version' or 'description'.");return r=o.name,n=o.version,cPe.validate(i),{name:r,version:n}}catch(i){i&&i.message&&i.message.includes("not valid JSON")?console.log(ou(`schema.json is not valid JSON: ${i.message}`)):console.log(ou(`Invalid schema/package.json: ${i.message}`))}}s(Y3i,"verify");async function qCu(){let e=await Y3i();if(!e?.name)return;console.log(Fc("Verified!")),console.log(jc("Building plugin...")),await tFe("build");let t=(0,rFe.join)("dist",`${e.name}-${e.version}.tar.gz`);console.log(Fc(`Build complete - output in: ${t}`))}s(qCu,"build");async function BCu(){let e=await Y3i();if(!e?.name)return;let t=(0,rFe.join)("dist",`${e.name}-${e.version}.tar.gz`);console.log(jc(`Watching - build in: ${t}`));try{await tFe("watch")}catch{console.log(Fc("Watch exited."))}}s(BCu,"watch");async function UCu(){let e=await JD("Directory to watch","./"),[t]=await PCu(1e4),r="admin";await Xue({init:"quick",single:!0,watchPluginDir:e,genUser:r,port:t,silent:!0}),await Xj(),console.log(Fc("Configuration has been written to docker-compose.yaml")),console.log(Fc("Development environment started successfully - connect at: ")+jc(`http://localhost:${t}`)),console.log(Fc("Use the following credentials to login:")),console.log(Fc("Email: ")+jc(vje)),console.log(Fc("Password: ")+jc(r))}s(UCu,"dev");var Q3i=new NS("plugins").addHelp("Custom plugins for Budibase, init, build and verify your components and datasources with this tool.").addSubOption("--init [type]","Init a new plugin project, with a type of either component or datasource.",LCu).addSubOption("--build","Build your plugin, this will verify and produce a final tarball for your project.",qCu).addSubOption("--watch","Automatically build any changes to your plugin.",BCu).addSubOption("--dev","Run a development environment which automatically watches the current directory.",UCu);function X3i(){return[T9t,Z5t,y2i,Q3i]}s(X3i,"getCommands");var Z3i=require("commander");ad();var J3i="3.20.6";async function jCu(){let e=new Z3i.Command().addHelpCommand("help",yK("Help with Budibase commands.")).helpOption(!1).version(J3i);for(let t of X3i())t.configure(e);await e.parseAsync(process.argv)}s(jCu,"init");var $Cu=["exit","SIGINT","SIGUSR1","SIGUSR2","uncaughtException"];$Cu.forEach(e=>{process.on(e,t=>{t&&!isNaN(t)||t&&(console.error(ou("Failed to run CLI command - please report with the following message:")),console.error(ou(t)))})});jCu().catch(e=>{console.error("Unexpected error - ",e)});
1402
+ `).length,t=s(r=>(...n)=>{kj()||console[r](...n),n.forEach((o,a)=>{typeof o=="object"&&(n[a]=JSON.stringify(o))});let i=new Error().stack?.match(/<anonymous>:(\d+):\d+/)?.[1];logs.push({log:n,line:i?parseInt(i)-e:void 0,type:r})},"buildLogResponse");sandboxContext.console={log:t("log"),info:t("info"),debug:t("debug"),warn:t("warn"),error:t("error"),table:t("table")}}let res={data:JUe(js,sandboxContext),logs};return`{{${ZW} js_result-${JSON.stringify(res)}}}`}catch(e){a$t&&a$t(e);let{noThrow:t=!0}=context.__opts||{};if(e.code==="ERR_SCRIPT_EXECUTION_TIMEOUT")return"Timed out while executing JS";if(e.code==="JS_REQUEST_TIMEOUT_ERROR")return e.message;if(e.code===eK.code)return eK.message;if(e.code===Nj.code){if(t)return e.userScriptError.toString();throw e}if(e.name==="SyntaxError"){if(t)return e.toString();throw e}return"Error while executing JS"}}s(O3i,"processJS");var mCu={"<":"&lt;",">":"&gt;"};function gCu(e){return e==null||typeof e!="object"?!1:e.toString()==="[object Object]"||e.length>0&&typeof e[0]=="object"}s(gCu,"isObject");var _Cu=[new FR(Ij.OBJECT,e=>new ZUe.default.SafeString(JSON.stringify(e))),new FR(Ij.JS,O3i,!1),new FR(Ij.DECODE_ID,e=>{if(!e)return[];let t=typeof e=="string"?e:e._id,r=decodeURIComponent(t).replace(/'/g,'"');try{let n=JSON.parse(r);return Array.isArray(n)?n:[n]}catch{return[e]}}),new FR(Ij.ALL,(e,t)=>{let{__opts:r}=t;if(gCu(e))return new ZUe.default.SafeString(JSON.stringify(e));if(r&&r.onlyFound&&e==null)return r.input;if(e==null||typeof e!="string")return e??"";e&&e.string&&(e=e.string);let n=e;return r&&r.escapeNewlines&&(n=e.replace(/\n/g,"\\n")),n=new ZUe.default.SafeString(n.replace(/&amp;/g,"&")),n==null||typeof n!="string"?n:n.replace(/[<>]/g,i=>mCu[i]||i)}),new FR(Ij.LITERAL,e=>{if(e===void 0)return"";let t=typeof e,r=t==="object"?JSON.stringify(e):e;return`{{${ZW} ${t}-${r}}}`})];function R3i(){return Object.values(Ij).concat(KUe,n$t)}s(R3i,"HelperNames");function u$t(e){for(let t of _Cu)t.register(e)}s(u$t,"registerMinimum");function I3i(e){u$t(e),l3i(e)}s(I3i,"registerAll");var k3i=["#","else","/"];var tK=class{static{s(this,"Preprocessor")}constructor(t,r){this.name=t,this.fn=r}process(t,r,n){let i=this.fn(r,n),o=t.indexOf(r);return s$t(t,o,r.length,i)}},N3i=[new tK("swap-to-dot-notation",e=>{let t=e.indexOf("["),r=0;for(;t!==-1;){h3i(e.charAt(t-1))&&(e=s$t(e,t+r,1,".[")),r=t+1;let n=e.substring(r+1).indexOf("[");t=n>0?r+1+n:-1}return e}),new tK("fix-functions",e=>{for(let t of k3i){let r=`{ ${t}`,n=`{${t}`;e=e.replace(new RegExp(r,"g"),n)}return e}),new tK("normalize-spaces",e=>e.replace(/{{(\s{2,})/g,"{{ ")),new tK("finalise",(e,t)=>{let n=!t?.noHelpers,i=e.slice(2,e.length-2);i.charAt(0)===" "&&(i=i.slice(1)),i.charAt(i.length-1)===" "&&(i=i.slice(0,i.length-1));let o=i.split(" ")[0];for(let c of k3i)if(o.includes(c))return e;let a=o.trim().toLowerCase();return n&&!t?.disabledHelpers?.includes(a)&&R3i().some(c=>a===c.toLowerCase())&&(i=`(${i})`),`{{ all ${i} }}`})];var l$t=class{static{s(this,"Postprocessor")}constructor(t,r){this.name=t,this.fn=r}process(t){return this.fn(t)}},f$t=[new l$t("convert-literals",e=>{if(typeof e!="string"||!e.includes(ZW))return{result:e};let t=e.indexOf("-"),r=e.substring(12,t),n=e.substring(t+1,e.length-2);switch(r){case"string":return{result:n};case"number":return{result:parseFloat(n)};case"boolean":return{result:n==="true"};case"object":return{result:JSON.parse(n)};case"js_result":{let i=JSON.parse(n);return{result:i.data,logs:i.logs}}}return{result:n}})];function d$t(e,t,r){let n=[];for(let i of t){if(typeof e!="string")break;let o=new RegExp(YUe),a=e.match(o);if(a!=null)for(let c of a){let u=i.process(e,c,r||{});typeof u=="object"?("logs"in u&&u.logs&&(n=n.concat(u.logs)),e=u.result):e=u}}return{result:e,logs:n}}s(d$t,"process");function P3i(e,t){let r=N3i;return t.noFinalise&&(r=r.filter(n=>n.name!=="finalise")),d$t(e,r,t).result}s(P3i,"preprocess");function D3i(e){return d$t(e,f$t).result}s(D3i,"postprocess");function M3i(e){return d$t(e,f$t)}s(M3i,"postprocessWithLogs");var m$t=(0,h$t.create)();I3i(m$t);var ECu=Object.keys(m$t.helpers),B3i=(0,h$t.create)();u$t(B3i);var vCu={noHelpers:!1,cacheTemplates:!1,noEscaping:!1,escapeNewlines:!1,noFinalise:!1};function SCu(e){return e?Object.keys(e).filter(r=>ECu.includes(r)):[]}s(SCu,"findOverlappingHelpers");var p$t={};function wCu(e,t,r){t={...vCu,...t};let n=!t?.noHelpers,i=`${e}-${JSON.stringify(t)}`;if(t.cacheTemplates&&p$t[i])return p$t[i];let o=n?SCu(r):[];if(e=P3i(e,{...t,disabledHelpers:o}),r&&n&&o.length>0)for(let u of F3i(e))e=e.replace(u,m3i(u,o,"./"));t.noEscaping&&(e=ACu(e));let c=(t.noHelpers?B3i:m$t).compile(e,{strict:!1});return p$t[i]=c,c}s(wCu,"createTemplate");function TCu(e,t,r){let n=e;if(typeof e!="string")throw new Error("Cannot process non-string types.");function i(o){let a=wCu(o,r,t),c=Math.floor(Date.now()/1e3)*1e3,u=a({now:new Date(c).toISOString(),__opts:{...r,input:o},...t});return r?.logging?M3i(u):D3i(u)}s(i,"process");try{if(r&&r.onlyFound){let o=[],a=F3i(e);for(let c of a){let u=i(c);typeof u=="object"&&"result"in u?(o=o.concat(u.logs||[]),e=e.replace(c,u.result)):e=e.replace(c,u)}return r?.logging?{result:e,logs:o}:e}else return i(e)}catch(o){let{noThrow:a=!0}=r||{};if(a)return n;throw o}}s(TCu,"processStringSyncInternal");function U3i(e,t,r){return TCu(e,t,{...r,logging:!1})}s(U3i,"processStringSync");function ACu(e){let t=p3i(e);if(t==null)return e;let r=[...new Set(t)];for(let n of r){let i=new RegExp(`${n}(?!})`,"g");e=e.replace(i,`{${n}}`)}return e}s(ACu,"disableEscaping");function F3i(e){if(!e||typeof e!="string")return[];let t=new RegExp(i$t),r=e.match(t);return r??[]}s(F3i,"findHBSBlocks");function xCu(){let e=kj()?q3i.default:L3i.default;c$t((t,r)=>{e.createContext(r);let n=QUe(t),i=e.runInNewContext(n,r);if(i.error)throw new Nj(i.error);return i.result})}s(xCu,"browserJSSetup");function CCu(){tue()?C3i():xCu()}s(CCu,"defaultJSSetup");CCu();var OCu=require("download"),RCu=require("tar"),ICu=["package.json.hbs","schema.json.hbs","README.md.hbs"];async function kCu(e){let t=await(0,j3i.default)("https://api.github.com/repos/budibase/budibase-skeleton/releases/latest");if(t.status>=300)throw new Error("Failed to retrieve skeleton metadata");let r=await t.json();for(let n of r.assets)if(n.name&&n.name.includes(e))return n.browser_download_url;throw new Error("No skeleton found in latest release.")}s(kCu,"getSkeletonUrl");async function H3i(e,t){let r=await kCu(e),n=(0,eFe.join)($3i.default.tmpdir(),"skeleton.tar.gz");Pj.default.writeFileSync(n,await OCu(r)),Pj.default.mkdirSync(t),await RCu.extract({file:n,C:t}),Pj.default.rmSync(n)}s(H3i,"getSkeleton");async function G3i(e,t,r,n){for(let i of ICu){let o=(0,eFe.join)(t,i),a=(0,eFe.join)(t,i.substring(0,i.length-4)),c=Pj.default.readFileSync(o,"utf8");if(!c)continue;let u=U3i(c,{name:t,description:r,version:n});Pj.default.writeFileSync(a,u),Pj.default.rmSync(o)}}s(G3i,"fleshOutSkeleton");ZD();var Dj=at(require("fs"));Ir();var V3i=at(require("util")),W3i=at(require("child_process"));var NCu=V3i.default.promisify(W3i.default.exec);async function K3i(e,t="./"){let{stdout:r}=await NCu(e,{cwd:t});return r}s(K3i,"exec");async function z3i(e){try{return await K3i(`${e} --version`),!0}catch{return!1}}s(z3i,"utilityInstalled");async function tFe(e,t="./"){let r=await z3i("yarn"),n=await z3i("npm");if(!r&&!n)throw new Error("Must have yarn or npm installed to run build.");let i=e==="install"?`npm ${e}`:`npm run ${e}`,o=r?`yarn ${e} --ignore-engines`:i;await K3i(o,t)}s(tFe,"runPkgCommand");var rFe=require("path");ad();var PCu=require("find-free-port");function DCu(){if(!Dj.default.existsSync("package.json"))throw new Error("Please run in a plugin directory - must contain package.json");if(!Dj.default.existsSync("schema.json"))throw new Error("Please run in a plugin directory - must contain schema.json")}s(DCu,"checkInPlugin");async function MCu(e){return Dj.default.readdirSync(process.cwd()).find(r=>r===".git")?!1:(console.log(jc(`By default the plugin will be created in the directory "${e}"`)),console.log(jc("if you are already in an empty directory, such as a new Git repo, you can disable this functionality.")),sI("Create top level directory?"))}s(MCu,"askAboutTopLevel");async function LCu(e){let t=e.init||e;if(!t||!_Vt.includes(t)){console.log(ou("Please provide a type to init, either 'component', 'datasource' or 'automation'."));return}console.log(jc("Lets get some details about your new plugin:"));let r=await JD("Name",`budibase-${t}`);if(Dj.default.existsSync(r)){console.log(ou("Directory by plugin name already exists, pick a new name."));return}let n=await JD("Description",`An amazing Budibase ${t}!`),i=await JD("Version","1.0.0"),o=await MCu(r);console.log(jc("Retrieving project...")),await H3i(t,r),await G3i(t,r,n,i),console.log(jc("Installing dependencies...")),await tFe("install",(0,rFe.join)(process.cwd(),r)),o?console.log(jc(`Plugin created in directory "${r}"`)):(sje(r,process.cwd()),console.log(jc("Plugin created in current directory."))),Vue(WA.PluginInit,{type:t,name:r,description:n,version:i})}s(LCu,"init");async function Y3i(){DCu(),console.log(jc("Verifying plugin..."));let e=Dj.default.readFileSync("schema.json","utf8"),t=Dj.default.readFileSync("package.json","utf8"),r,n;try{let i=JSON.parse(e),o=JSON.parse(t);if(!o.name||!o.version||!o.description)throw new Error("package.json is missing one of 'name', 'version' or 'description'.");return r=o.name,n=o.version,cPe.validate(i),{name:r,version:n}}catch(i){i&&i.message&&i.message.includes("not valid JSON")?console.log(ou(`schema.json is not valid JSON: ${i.message}`)):console.log(ou(`Invalid schema/package.json: ${i.message}`))}}s(Y3i,"verify");async function qCu(){let e=await Y3i();if(!e?.name)return;console.log(Fc("Verified!")),console.log(jc("Building plugin...")),await tFe("build");let t=(0,rFe.join)("dist",`${e.name}-${e.version}.tar.gz`);console.log(Fc(`Build complete - output in: ${t}`))}s(qCu,"build");async function BCu(){let e=await Y3i();if(!e?.name)return;let t=(0,rFe.join)("dist",`${e.name}-${e.version}.tar.gz`);console.log(jc(`Watching - build in: ${t}`));try{await tFe("watch")}catch{console.log(Fc("Watch exited."))}}s(BCu,"watch");async function UCu(){let e=await JD("Directory to watch","./"),[t]=await PCu(1e4),r="admin";await Xue({init:"quick",single:!0,watchPluginDir:e,genUser:r,port:t,silent:!0}),await Xj(),console.log(Fc("Configuration has been written to docker-compose.yaml")),console.log(Fc("Development environment started successfully - connect at: ")+jc(`http://localhost:${t}`)),console.log(Fc("Use the following credentials to login:")),console.log(Fc("Email: ")+jc(vje)),console.log(Fc("Password: ")+jc(r))}s(UCu,"dev");var Q3i=new NS("plugins").addHelp("Custom plugins for Budibase, init, build and verify your components and datasources with this tool.").addSubOption("--init [type]","Init a new plugin project, with a type of either component or datasource.",LCu).addSubOption("--build","Build your plugin, this will verify and produce a final tarball for your project.",qCu).addSubOption("--watch","Automatically build any changes to your plugin.",BCu).addSubOption("--dev","Run a development environment which automatically watches the current directory.",UCu);function X3i(){return[T9t,Z5t,y2i,Q3i]}s(X3i,"getCommands");var Z3i=require("commander");ad();var J3i="3.20.8";async function jCu(){let e=new Z3i.Command().addHelpCommand("help",yK("Help with Budibase commands.")).helpOption(!1).version(J3i);for(let t of X3i())t.configure(e);await e.parseAsync(process.argv)}s(jCu,"init");var $Cu=["exit","SIGINT","SIGUSR1","SIGUSR2","uncaughtException"];$Cu.forEach(e=>{process.on(e,t=>{t&&!isNaN(t)||t&&(console.error(ou("Failed to run CLI command - please report with the following message:")),console.error(ou(t)))})});jCu().catch(e=>{console.error("Unexpected error - ",e)});
1403
1403
  /*! Bundled license information:
1404
1404
 
1405
1405
  lodash/lodash.js: