@zuplo/core 5.1534.0 → 5.1536.0

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.
@@ -350,7 +350,7 @@ ${e||""}${r?z0:K0}`;i+=`\u2022 (${m}) ${JSON.stringify(h[m])}`})}})}else{i=t.pre
350
350
  Content-Length: ${q.length}\r
351
351
  Content-Type: application/json\r
352
352
  \r
353
- ${q}`)}O.destroy(C)}o(ue,"defaultClientErrorHandler");function he(C,O){if(C.headers["accept-version"]!==void 0){C.headers[Aat]=C.headers["accept-version"];C.headers["accept-version"]=void 0}h.router.lookup(C,O)}o(he,"defaultRoute");function Ge(C,O,q){if(u){const W=r(O);const K=l.child({reqId:W});K.info({req:O},"incoming request");const se=new s9(W,null,O,null,K,Bpe);const J=new k_(q,se,K);return u(new Yat(C),se,J)}const G=`{"error":"Bad Request","message":"'${C}' is not a valid url component","statusCode":400}`;q.writeHead(400,{"Content-Type":"application/json","Content-Length":G.length});q.end(G)}o(Ge,"onBadUrl");function Se(C,O,q){if(C===false)return void 0;return o(function G(W){if(W){if(u){const se=r(O);const J=l.child({reqId:se});J.info({req:O},"incoming request");const A=new s9(se,null,O,null,J,Bpe);const ie=new k_(q,A,J);return u(new Kat,A,ie)}const K='{"error":"Internal Server Error","message":"Unexpected error from async constraint","statusCode":500}';q.writeHead(500,{"Content-Type":"application/json","Content-Length":K.length});q.end(K)}},"onAsyncConstraintError")}o(Se,"buildAsyncConstraintCallback");function Pe(C,O){B('Cannot call "setNotFoundHandler"!');h.setNotFoundHandler.call(this,C,O,k,f.routeHandler);return this}o(Pe,"setNotFoundHandler");function Ke(C){B('Cannot call "setValidatorCompiler"!');this[Id].setValidatorCompiler(C);return this}o(Ke,"setValidatorCompiler");function qe(C){B('Cannot call "setSchemaErrorFormatter"!');Fpe(C);this[aL]=C.bind(this);return this}o(qe,"setSchemaErrorFormatter");function ge(C){B('Cannot call "setSerializerCompiler"!');this[Id].setSerializerCompiler(C);return this}o(ge,"setSerializerCompiler");function at(C){B('Cannot call "setSchemaController"!');const O=this[Id];const q=Lpe.buildSchemaController(O,Object.assign({},O.opts,C));this[Id]=q;this.getSchema=q.getSchema.bind(q);this.getSchemas=q.getSchemas.bind(q);return this}o(at,"setSchemaController");function Me(C){B('Cannot call "setReplySerializer"!');this[$pe]=C;return this}o(Me,"setReplySerializer");function Ne(C){B('Cannot call "setErrorHandler"!');this[i9]=Upe(this[i9],C.bind(this));return this}o(Ne,"setErrorHandler");function Ze(C={}){C.includeMeta=C.includeHooks?C.includeMeta?uL.concat(C.includeMeta):uL:C.includeMeta;return f.printRoutes(C)}o(Ze,"printRoutes");function ze(C,{rewriteUrl:O,logger:q}){let G;return o(function W(K,se){if(G===void 0)G=C.isAsyncConstraint();if(O){const J=K.url;const A=O(K);if(J!==A){q.debug({originalUrl:J,url:A},"rewrite url");if(typeof A==="string"){K.url=A}else{const ie=new iot(K.url,typeof A);K.destroy(ie)}}}C.routing(K,se,Se(G,K,se))},"preRouting")}o(ze,"wrapRouting")}o(a9,"fastify");a9.errorCodes=X0;function Fpe(t){if(typeof t!=="function"){throw new jpe(typeof t)}else if(t.constructor.name==="AsyncFunction"){throw new jpe("AsyncFunction")}}o(Fpe,"validateSchemaErrorFormatter");o9.exports=a9;o9.exports.fastify=a9;o9.exports.default=a9});var Hpe=_(lL=>{"use strict";Object.defineProperty(lL,"__esModule",{value:true});var $_="<unknown>";function aot(t){var e=t.split("\n");return e.reduce(function(r,n){var i=lot(n)||dot(n)||hot(n)||vot(n)||got(n);if(i){r.push(i)}return r},[])}o(aot,"parse");var oot=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;var uot=/\((\S*)(?::(\d+))(?::(\d+))\)/;function lot(t){var e=oot.exec(t);if(!e){return null}var r=e[2]&&e[2].indexOf("native")===0;var n=e[2]&&e[2].indexOf("eval")===0;var i=uot.exec(e[2]);if(n&&i!=null){e[2]=i[1];e[3]=i[2];e[4]=i[3]}return{file:!r?e[2]:null,methodName:e[1]||$_,arguments:r?[e[2]]:[],lineNumber:e[3]?+e[3]:null,column:e[4]?+e[4]:null}}o(lot,"parseChrome");var cot=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;function dot(t){var e=cot.exec(t);if(!e){return null}return{file:e[2],methodName:e[1]||$_,arguments:[],lineNumber:+e[3],column:e[4]?+e[4]:null}}o(dot,"parseWinjs");var pot=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i;var fot=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i;function hot(t){var e=pot.exec(t);if(!e){return null}var r=e[3]&&e[3].indexOf(" > eval")>-1;var n=fot.exec(e[3]);if(r&&n!=null){e[3]=n[1];e[4]=n[2];e[5]=null}return{file:e[3],methodName:e[1]||$_,arguments:e[2]?e[2].split(","):[],lineNumber:e[4]?+e[4]:null,column:e[5]?+e[5]:null}}o(hot,"parseGecko");var mot=/^\s*(?:([^@]*)(?:\((.*?)\))?@)?(\S.*?):(\d+)(?::(\d+))?\s*$/i;function got(t){var e=mot.exec(t);if(!e){return null}return{file:e[3],methodName:e[1]||$_,arguments:[],lineNumber:+e[4],column:e[5]?+e[5]:null}}o(got,"parseJSC");var yot=/^\s*at (?:((?:\[object object\])?[^\\/]+(?: \[as \S+\])?) )?\(?(.*?):(\d+)(?::(\d+))?\)?\s*$/i;function vot(t){var e=yot.exec(t);if(!e){return null}return{file:e[2],methodName:e[1]||$_,arguments:[],lineNumber:+e[3],column:e[4]?+e[4]:null}}o(vot,"parseNode");lL.parse=aot});var dL=_(ns=>{"use strict";var Gpe=ns&&ns.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(ns,"__esModule",{value:true});ns.createNewLogger=ns.logger=ns.GOOGLE_LABELS_PROPERTY=ns.GOOGLE_TRACE_PROPERTY=void 0;var u9=Gpe(kR());var _ot=Hpe();var cL=Gpe(Ro());var Eot=IE();ns.GOOGLE_TRACE_PROPERTY="logging.googleapis.com/trace";ns.GOOGLE_LABELS_PROPERTY="logging.googleapis.com/labels";var zpe="zuplo-production";ns.logger=Kpe();function bot(t){return JSON.stringify(t).replace(/^{/,"").replace(/}$/,"")}o(bot,"flatJSONString");function wot(t,e,r){if(t.length===2&&typeof t[1]==="object"&&t[1]!==null){t[0]=`${t[0]} ${JSON.stringify(t[1])}`}if(t.length>1&&typeof t[0]==="object"&&typeof t[1]==="string"){const i=t[0];if(i.err instanceof Error&&i.err.stack){t[1]=i.err.stack;delete i.err.stack}}let n;try{const i=`{${this?.[u9.default.symbols.chindingsSym]?.slice(1)||""}}`;n=JSON.parse(i);if(n){if(n.trace){n[ns.GOOGLE_TRACE_PROPERTY]=`projects/${zpe}/traces/${n.trace}`}if(!n.trace&&n[ns.GOOGLE_TRACE_PROPERTY]){delete n[ns.GOOGLE_TRACE_PROPERTY]}if(r>=50){const s=0;const a=7;const u=Error().stack?.split("\n").slice(2).filter(l=>!l.includes("node_modules/pino")&&!l.includes("node_modules\\pino")&&!l.includes("node_modules/launchdarkly-node-server-sdk")&&!l.includes("node_modules\\launchdarkly-node-server-sdk"))[s].substr(a);n["caller"]=u}if(n["caller"]&&r<50){delete n.caller}this[u9.default.symbols.chindingsSym]=`,${bot(n)}`;return e.apply(this,t)}}catch(i){}return e.apply(this,t)}o(wot,"logMethod");function Kpe(t={},{logStream:e}={}){const r={level:cL.default.LOG_LEVEL,redact:['requestHeaders["authorization"]','requestHeaders["cookie"]','requestHeaders["cf-access-jwt-assertion"]','requestHeaders["cf-access-client-secret"]','requestHeaders["cf-access-client-id"]','responseHeaders["authorization"]','responseHeaders["cookie"]','responseHeaders["cf-access-jwt-assertion"]','responseHeaders["cf-access-client-secret"]','responseHeaders["cf-access-client-id"]',"cookie"]};const n={project_id:zpe};r.hooks={logMethod:wot};r.formatters={bindings(i){n.pid=i.pid;n.hostname=i.hostname;return n}};if(cL.default.LOG_FORMAT==="pretty"){r.transport={target:"@zuplo/pino-pretty-configurations"}}else if(cL.default.LOG_FORMAT==="gcp"){r.messageKey="message";r.formatters={level(i,s){return{severity:Sot(s)}},log(i){const s=t;if(i.err&&i.err.stack){try{const a=(0,_ot.parse)(i.err.stack);if(a.length>0){i["logging.googleapis.com/sourceLocation"]={file:a[0].file,line:a[0].lineNumber,function:a[0].methodName}}}catch(a){}}if(i.req){const a=i.req;i.requestHeaders=a.raw.headers;i.httpRequest={...(i.httpRequest??{},{requestMethod:a.method,requestUrl:a.url,userAgent:a.headers["user-agent"],remoteIp:a.ip,protocol:a.protocol})};const u=a.headers["zp-rid"]??i.trace;s.requestId=u;if(a.headers["cf-ray"]){s.rayId=a.headers["cf-ray"]}if(a.headers["cf-worker"]){s.worker=a.headers["cf-worker"]}const l=(0,Eot.getLoggerContext)(a);if(l){i={...i,...l}}}if(i.res){const a=i.res;i.responseHeaders=a.getHeaders();i.httpRequest={...(i.httpRequest??{},{requestMethod:a.request?a.request.method:"",requestUrl:a.request?a.request.url:"",status:a.statusCode,userAgent:a.request?a.request.headers["user-agent"]:"",latency:`${Tot(a.getResponseTime()/1e3,9)}s`,remoteIp:a.request?a.request.ip:"",protocol:a.request?a.request.protocol:""})}}i[ns.GOOGLE_LABELS_PROPERTY]=s;return i}};r.serializers={req(i){return void 0},res(i){return void 0},responseTime:function(i){return void 0}}}if(e){return(0,u9.default)(r,e)}else{return(0,u9.default)(r)}}o(Kpe,"createNewLogger");ns.createNewLogger=Kpe;function Sot(t){if(t===10||t===20){return"debug"}if(t===30){return"info"}if(t===40){return"warning"}if(t===50){return"error"}if(t===5){return"internal"}if(t>=60){return"critical"}return"default"}o(Sot,"pinoLevelToStackDriverSeverity");function Tot(t,e){return Math.trunc(t*Math.pow(10,e))/Math.pow(10,e)}o(Tot,"truncateToDecimalPlace")});var l9=_((pGt,Ype)=>{var Aot=require("util");var Z0=["debug","info","warn","error","none"];function xot(t){const e=t&&t.destination||console.error;if(typeof e!=="function"){throw new Error("destination for basicLogger was set to a non-function")}let r=1;if(t&&t.level){for(let s=0;s<Z0.length;s++){if(Z0[s]===t.level){r=s}}}function n(s,a){if(a.length<1){return}let u;if(a.length===1){u=s+a[0]}else{const l=[...a];l[0]=s+l[0];u=Aot.format(...l)}e(u)}o(n,"write");const i={};for(let s=0;s<Z0.length;s++){const a=Z0[s];if(a!=="none"){if(s<r){i[a]=()=>{}}else{const u=a+": [LaunchDarkly] ";i[a]=function(){n(u,arguments)}}}}return i}o(xot,"basicLogger");function Cot(){return{debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}}}o(Cot,"nullLogger");function Rot(t,e){Not(t);const r={};Z0.forEach(n=>{if(n!=="none"){r[n]=Oot(t,e,n)}});return r}o(Rot,"safeLogger");function Not(t){Z0.forEach(e=>{if(e!=="none"&&(!t[e]||typeof t[e]!=="function")){throw new Error("Provided logger instance must support logger."+e+"(...) method")}})}o(Not,"validateLogger");function Oot(t,e,r){const n=t[r];return o(function i(){try{return n.apply(t,arguments)}catch(s){e.error("Error calling provided logger instance method "+r+": "+s);e[r].apply(e,arguments)}},"wrappedLoggerMethod")}o(Oot,"wrapLoggerLevel");Ype.exports={basicLogger:xot,nullLogger:Cot,safeLogger:Rot}});var Qpe=_((hGt,Jpe)=>{var{createHash:Iot}=require("crypto");var{EventEmitter:Pot}=require("events");var Dot=bu();var kot=120;var $ot=5;var Lot=1e3;var qot=5;var jot={};function Uot(t,e,r){const n=(e.staleAfter>0?e.staleAfter:kot)*1e3;const i=(e.statusPollInterval>0?e.statusPollInterval:$ot)*1e3;const s=t?setInterval(()=>d(),i):null;const a=t?new Dot({max:e.userCacheSize||Lot,maxAge:(e.userCacheTime||qot)*1e3}):null;let u;const l={};l.close=()=>{clearInterval(s);t&&t.close&&t.close()};const c=new Pot;l.statusProvider=c;c.getStatus=()=>u;c.requireStatus=async()=>{if(!u){await d()}return u};l.getUserMembership=async f=>{if(!t){return void 0}let h=a.get(f);if(!h){try{h=await t.getUserMembership(Wpe(f));if(h===null||h===void 0){h=jot}a.set(f,h)}catch(m){r.error("Big Segment store membership query returned error: "+m);return[null,"STORE_ERROR"]}a.set(f,h)}if(!u){await d()}if(!u.available){return[h,"STORE_ERROR"]}return[h,u.stale?"STALE":"HEALTHY"]};async function d(){if(!t){u={available:false,stale:false};return}r.debug("Querying Big Segment store status");let f;try{const h=await t.getMetadata();f={available:true,stale:!h||!h.lastUpToDate||p(h.lastUpToDate)}}catch(h){r.error("Big Segment store status query returned error: "+h);f={available:false,stale:false}}if(!u||u.available!==f.available||u.stale!==f.stale){r.debug("Big Segment store status changed from %s to %s",JSON.stringify(u),JSON.stringify(f));u=f;c.emit("change",f)}}o(d,"pollStoreAndUpdateStatus");function p(f){return new Date().getTime()-f>=n}o(p,"isStale");return l}o(Uot,"BigSegmentStoreManager");function Wpe(t){const e=Iot("sha256");e.update(t);return e.digest("base64")}o(Wpe,"hashForUserKey");Jpe.exports={BigSegmentStoreManager:Uot,hashForUserKey:Wpe}});var e1=_((gGt,Xpe)=>{var Bot={namespace:"features",streamApiPath:"/flags/",requestPath:"/sdk/latest-flags/",priority:1,getDependencyKeys:t=>{if(!t.prerequisites||!t.prerequisites.length){return[]}return t.prerequisites.map(e=>e.key)}};var Fot={namespace:"segments",streamApiPath:"/segments/",requestPath:"/sdk/latest-segments/",priority:0};Xpe.exports={features:Bot,segments:Fot}});var efe=_((yGt,Zpe)=>{var Jo=e1();function th(){let t={};function e(u,l){const c=t[u];return c&&c[l]}o(e,"get");function r(u,l,c){let d=t[u];if(!d){d={};t[u]=d}d[l]=c}o(r,"set");function n(u,l){const c=t[u];if(c){delete c[l]}}o(n,"remove");function i(){t={}}o(i,"removeAll");function s(u){for(const[l,c]of Object.entries(t)){const d=Object.keys(c).sort();for(const p of d){u(l,p,c[p])}}}o(s,"enumerate");function a(u){u.enumerate(r)}o(a,"mergeFrom");return{get:e,set:r,remove:n,removeAll:i,enumerate:s,mergeFrom:a,toString:()=>JSON.stringify(t)}}o(th,"NamespacedDataSet");function Mot(){const t=th();const e=th();function r(s,a,u){const l=t.get(s,a);l&&l.enumerate((c,d)=>{const p=e.get(c,d);p&&p.remove(s,a)});t.set(s,a,u);u&&u.enumerate((c,d)=>{let p=e.get(c,d);if(!p){p=th();e.set(c,d,p)}p.set(s,a,true)})}o(r,"updateDependenciesFrom");function n(s,a,u){if(!s.get(a,u)){s.set(a,u,true);const l=e.get(a,u);l&&l.enumerate((c,d)=>{n(s,c,d)})}}o(n,"updateModifiedItems");function i(){t.removeAll();e.removeAll()}o(i,"reset");return{updateDependenciesFrom:r,updateModifiedItems:n,reset:i}}o(Mot,"DependencyTracker");function Vot(t,e){const r=Mot();function n(){return e.eventNames().some(u=>u==="update"||u.substring(0,7)==="update:")}o(n,"hasEventListeners");function i(u,l,c,d,p){if(d&&c&&d.version<=c.version){return}r.updateModifiedItems(p,u,l)}o(i,"addIfModified");function s(u){u.enumerate((l,c)=>{if(l===Jo.features.namespace){const d={key:c};setImmediate(()=>{e.emit("update",d)});setImmediate(()=>{e.emit(`update:${c}`,d)})}})}o(s,"sendChangeEvents");function a(u,l){const c=th();if(u===Jo.features){for(const d of l.prerequisites||[]){c.set(Jo.features.namespace,d.key,true)}}if(u===Jo.features||u===Jo.segments){for(const d of l.rules||[]){for(const p of d.clauses||[]){if(p.op==="segmentMatch"){for(const f of p.values){c.set(Jo.segments.namespace,f,true)}}}}}return c}o(a,"computeDependencies");return{get:t.get.bind(t),all:t.all.bind(t),initialized:t.initialized.bind(t),close:t.close.bind(t),init:(u,l)=>{const c=n();const d=o(p=>{t.init(u,()=>{r.reset();for(const[f,h]of Object.entries(u)){const m=Jo[f];for(const g of Object.keys(h||{})){const y=h[g];r.updateDependenciesFrom(f,g,a(m,y))}}if(c){const f=th();for(const h of Object.keys(u)){const m=p[h];const g=u[h];const y=Object.assign({},m,g);for(const v of Object.keys(y)){i(h,v,m&&m[v],g&&g[v],f)}}s(f)}l&&l()})},"doInit");if(c){t.all(Jo.features,p=>{t.all(Jo.segments,f=>{const h={};h[Jo.features.namespace]=p;h[Jo.segments.namespace]=f;d(h)})})}else{d()}},delete:(u,l,c,d)=>{const p=n();const f=o(h=>{t.delete(u,l,c,()=>{r.updateDependenciesFrom(u.namespace,l,null);if(p){const m=th();i(u.namespace,l,h,{version:c,deleted:true},m);s(m)}d&&d()})},"doDelete");if(p){t.get(u,l,f)}else{f()}},upsert:(u,l,c)=>{const d=l.key;const p=n();const f=o(h=>{t.upsert(u,l,()=>{r.updateDependenciesFrom(u.namespace,d,a(u,l));if(p){const m=th();i(u.namespace,d,h,l,m);s(m)}c&&c()})},"doUpsert");if(p){t.get(u,d,f)}else{f()}}}}o(Vot,"FeatureStoreEventWrapper");Zpe.exports=Vot});var nfe=_((_Gt,rfe)=>{var pL=require("fs");var fL=e1();var Hot=l9();var c9;var tfe;function Got(t){if(c9===void 0){try{const i=l2();c9=true;tfe=i.parse}catch(i){c9=false}}const e=c9?tfe:JSON.parse;const r=t&&t.paths||[];const n=!!t.autoUpdate;return i=>{const s=t.logger||i.logger||Hot.nullLogger();const a=i.featureStore;const u={};let l=[];let c=false;let d=false;function p(b){return new Promise((S,T)=>{pL.stat(b,(x,D)=>{if(x){T(x)}else{S(D.mtimeMs||D.mtime)}})})}o(p,"getFileTimestampPromise");function f(b,S){const T=S;return new Promise((x,D)=>pL.readFile(b,"utf8",(k,B)=>k?D(k):x(B))).then(x=>{const D=e(x)||{};const k=o((B,V)=>{if(!T[B.namespace]){T[B.namespace]={}}if(T[B.namespace][V.key]){throw new Error('found duplicate key: "'+V.key+'"')}else{T[B.namespace][V.key]=V}},"addItem");Object.keys(D.flags||{}).forEach(B=>{k(fL.features,D.flags[B])});Object.keys(D.flagValues||{}).forEach(B=>{k(fL.features,g(B,D.flagValues[B]))});Object.keys(D.segments||{}).forEach(B=>{k(fL.segments,D.segments[B])});s.info("Loaded flags from "+b)}).then(()=>p(b)).then(x=>{u[b]=x})}o(f,"loadFilePromise");function h(){c=false;const b={};let S=Promise.resolve();for(let T=0;T<r.length;T++){(x=>{S=S.then(()=>f(x,b)).catch(D=>{throw new Error("Unable to load flags: "+D+" ["+x+"]")})})(r[T])}return S.then(()=>m(b))}o(h,"loadAllPromise");function m(b){return new Promise(S=>a.init(b,()=>{d=true;S()}))}o(m,"initStorePromise");function g(b,S){return{key:b,on:true,fallthrough:{variation:0},variations:[S]}}o(g,"makeFlagWithValue");function y(b){if(c){return}const S=o(()=>{h().then(()=>{s.warn("Reloaded flags from file data")}).catch(()=>{})},"reload");p(b).then(T=>{if(T!==u[b]){c=true;setTimeout(S,10)}}).catch(()=>{s.warn("Unexpected error trying to get timestamp of file: "+b)})}o(y,"maybeReloadForPath");function v(){r.forEach(b=>{const S=pL.watch(b,{persistent:false},()=>{y(b)});l.push(S)})}o(v,"startWatching");function w(){l.forEach(b=>b.close());l=[]}o(w,"stopWatching");const E={};E.start=b=>{const S=b||(()=>{});if(n){v()}h().then(()=>S(),T=>S(T))};E.stop=()=>{if(n){w()}};E.initialized=()=>d;E.close=()=>{E.stop()};return E}}o(Got,"FileDataSource");rfe.exports=Got});var afe=_((bGt,sfe)=>{function zot(){let t={};let e=false;const r={};function n(i,s){i&&i(s)}o(n,"callbackResult");r.get=(i,s,a)=>{const u=t[i.namespace]||{};if(Object.hasOwnProperty.call(u,s)){const l=u[s];if(!l||l.deleted){n(a,null)}else{n(a,l)}}else{n(a,null)}};r.all=(i,s)=>{const a={};const u=t[i.namespace]||{};for(const[l,c]of Object.entries(u)){if(c&&!c.deleted){a[l]=c}}n(s,a)};r.init=(i,s)=>{t=i;e=true;n(s)};r.delete=(i,s,a,u)=>{let l=t[i.namespace];if(!l){l={};t[i]=l}const c={version:a,deleted:true};if(Object.hasOwnProperty.call(l,s)){const d=l[s];if(!d||d.version<a){l[s]=c}}else{l[s]=c}n(u)};r.upsert=(i,s,a)=>{const u=s.key;let l=t[i.namespace];if(!l){l={};t[i.namespace]=l}if(Object.hasOwnProperty.call(l,u)){const c=l[u];if(c&&c.version<s.version){l[u]=ife(s)}}else{l[u]=ife(s)}n(a)};r.initialized=i=>{n(i,e===true)};r.close=()=>{};r.description="memory";return r}o(zot,"InMemoryFeatureStore");function ife(t){return JSON.parse(JSON.stringify(t))}o(ife,"clone");sfe.exports=zot});var t1=_(rh=>{function L_(t){function e(r,n){Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor);this.message=r;this.code=n}o(e,"CustomError");e.prototype=new Error;e.prototype.name=t;e.prototype.constructor=e;return e}o(L_,"createCustomError");rh.LDPollingError=L_("LaunchDarklyPollingError");rh.LDStreamingError=L_("LaunchDarklyStreamingError");rh.LDUnexpectedResponseError=L_("LaunchDarklyUnexpectedResponseError");rh.LDInvalidSDKKeyError=L_("LaunchDarklyInvalidSDKKeyError");rh.LDClientError=L_("LaunchDarklyClientError");rh.isHttpErrorRecoverable=function(t){if(t>=400&&t<500){return t===400||t===408||t===429}return true}});var r1=_(Lu=>{var Kot=t1();Lu.deprecated=(t,e)=>`"${t}" is deprecated, please use "${e}"`;Lu.httpErrorMessage=(t,e,r)=>{let n;if(t.status){n=`error ${t.status}${t.status===401?" (invalid SDK key)":""}`}else{n=`I/O error (${t.message||t})`}const i=Kot.isHttpErrorRecoverable(t.status)?r:"giving up permanently";return`Received ${n} for ${e} - ${i}`};Lu.missingContextKeyNoEvent=()=>"User was unspecified or had no key; event will not be sent";Lu.optionBelowMinimum=(t,e,r)=>`Config option "${t}" had invalid value of ${e}, using minimum of ${r} instead`;Lu.unknownOption=t=>`Ignoring unknown config option "${t}"`;Lu.wrongOptionType=(t,e,r)=>`Config option "${t}" should be of type ${e}, got ${r}, using default value`;Lu.wrongOptionTypeBoolean=(t,e)=>`Config option "${t}" should be a boolean, got ${e}, converting to boolean`;Lu.invalidTagValue=t=>`Config option "${t}" must only contain letters, numbers, ., _ or -.`;Lu.tagValueTooLong=t=>`Value of "${t}" was longer than 64 characters and was discarded.`});var d9=_((xGt,ufe)=>{var Yot=afe();var ofe=l9();var nh=r1();ufe.exports=function(){const t=o(function(){return{baseUri:"https://app.launchdarkly.com",streamUri:"https://stream.launchdarkly.com",eventsUri:"https://events.launchdarkly.com",stream:true,streamInitialReconnectDelay:1,sendEvents:true,timeout:5,capacity:1e4,flushInterval:5,pollInterval:30,offline:false,useLdd:false,allAttributesPrivate:false,privateAttributes:[],contextKeysCapacity:1e3,contextKeysFlushInterval:300,diagnosticOptOut:false,diagnosticRecordingInterval:900,featureStore:Yot()}},"defaults");const e={bigSegments:"object",eventProcessor:"object",featureStore:"object",logger:"object",proxyAgent:"object",proxyAuth:"string",proxyHost:"string",proxyPort:"number",proxyScheme:"string",tlsParams:"object",updateProcessor:"factory",wrapperName:"string",wrapperVersion:"string"};const r=/^(\w|\.|-)+$/;function n(h,m,g){if(typeof g!=="string"||!g.match(r)){m.logger.warn(nh.invalidTagValue(h));return void 0}if(g.length>64){m.logger.warn(nh.tagValueTooLong(h));return void 0}return g}o(n,"validateTagValue");const i={application:(h,m,g)=>{const y={};if(g.id){y.id=n(`${h}.id`,m,g.id)}if(g.version){y.version=n(`${h}.version`,m,g.version)}return y}};const s={userKeysCapacity:"contextKeysCapacity",userKeysFlushInterval:"contextKeysFlushInterval"};function a(h){const m=h;Object.keys(s).forEach(g=>{if(m[g]!==void 0){const y=s[g];m.logger.warn(nh.deprecated(g,y));if(m[y]===void 0){m[y]=m[g]}delete m[g]}})}o(a,"checkDeprecatedOptions");function u(h,m){const g=Object.assign({},h);Object.keys(m).forEach(y=>{if(g[y]===void 0||g[y]===null){g[y]=m[y]}});return g}o(u,"applyDefaults");function l(h){return h.replace(/\/+$/,"")}o(l,"canonicalizeUri");function c(h,m){const g=h;const y=o(v=>{if(v===null||v===void 0){return void 0}if(Array.isArray(v)){return"array"}const w=typeof v;if(w==="boolean"||w==="string"||w==="number"){return w}return"object"},"typeDescForValue");Object.keys(g).forEach(v=>{const w=g[v];if(w!==null&&w!==void 0){const E=m[v];const b=e[v];const S=i[v];if(E===void 0&&b===void 0&&S===void 0){g.logger.warn(nh.unknownOption(v))}else if(S!==void 0){const T=S(v,g,g[v]);if(T!==void 0){g[v]=T}else{delete g[v]}}else{const T=b||y(E);const x=y(w);if(x!==T){if(T==="factory"&&(typeof w==="function"||typeof w==="object")){return}if(T==="boolean"){g[v]=!!w;g.logger.warn(nh.wrongOptionTypeBoolean(v,x))}else{g.logger.warn(nh.wrongOptionType(v,T,x));g[v]=m[v]}}}}})}o(c,"validateTypesAndNames");function d(h,m,g){const y=h;if(y[m]<g){y.logger.warn(nh.optionBelowMinimum(m,y[m],g));y[m]=g}}o(d,"enforceMinimum");function p(h){let m=Object.assign({},h||{});const g=ofe.basicLogger({level:"info"});m.logger=m.logger?ofe.safeLogger(m.logger,g):g;a(m);const y=t();m=u(m,y);c(m,y);m.baseUri=l(m.baseUri);m.streamUri=l(m.streamUri);m.eventsUri=l(m.eventsUri);d(m,"pollInterval",30);d(m,"diagnosticRecordingInterval",60);return m}o(p,"validate");function f(h){const m={};if(h.application&&h.application.id!==void 0&&h.application.id!==null){m["application-id"]=[h.application.id]}if(h.application&&h.application.version!==void 0&&h.application.id!==null){m["application-version"]=[h.application.version]}return m}o(f,"getTags");return{validate:p,defaults:t,getTags:f}}()});var hL=_((RGt,Wot)=>{Wot.exports={name:"launchdarkly-node-server-sdk",version:"7.0.2",description:"LaunchDarkly Server-Side SDK for Node.js",main:"index.js",scripts:{test:"jest --ci --coverage --runInBand","check-typescript":"node_modules/typescript/bin/tsc",lint:"eslint --format 'node_modules/eslint-formatter-pretty' --ignore-path .eslintignore .","lint-fix":"eslint --fix --format 'node_modules/eslint-formatter-pretty' --ignore-path .eslintignore .","contract-test-service":"npm --prefix contract-tests install && npm --prefix contract-tests start","contract-test-harness":'curl -s https://raw.githubusercontent.com/launchdarkly/sdk-test-harness/master/downloader/run.sh \\ | VERSION=v2 PARAMS="-url http://localhost:8000 -debug -stop-service-at-end $TEST_HARNESS_PARAMS" sh',"contract-tests":"npm run contract-test-service & npm run contract-test-harness"},types:"./index.d.ts",repository:{type:"git",url:"https://github.com/launchdarkly/node-server-sdk.git"},keywords:["launchdarkly","analytics","client"],license:"Apache-2.0",bugs:{url:"https://github.com/launchdarkly/node-server-sdk/issues"},homepage:"https://github.com/launchdarkly/node-server-sdk",dependencies:{async:"^3.2.4","launchdarkly-eventsource":"1.4.4","lru-cache":"^6.0.0","node-cache":"^5.1.0",semver:"^7.3.0",tunnel:"0.0.6",uuid:"^8.3.2"},engines:{node:">= 12.0.0"},devDependencies:{"@babel/core":"^7.14.6","@babel/preset-env":"^7.14.5","@types/jest":"^27.4.0","@types/node":"^15.12.2","babel-jest":"^27.0.2",eslint:"^7.28.0","eslint-config-prettier":"^8.3.0","eslint-formatter-pretty":"^4.1.0","eslint-plugin-prettier":"^3.4.0",jest:"^27.0.4","jest-junit":"^12.2.0","launchdarkly-js-test-helpers":"^2.2.0",prettier:"^2.3.1",tmp:"^0.2.1",typescript:"~4.4.4",yaml:"^1.10.2"},jest:{rootDir:".",testEnvironment:"node",testMatch:["**/*-test.js"],testResultsProcessor:"jest-junit"}}});var p9=_((NGt,cfe)=>{var Jot=require("http");var Qot=require("https");var Xot=require("url");var Zot=d9();var eut=hL();var tut="NodeJSClient/"+eut.version;function rut(t,e){const r={authorization:t,"user-agent":tut};if(e.wrapperName){r["x-launchdarkly-wrapper"]=e.wrapperVersion?e.wrapperName+"/"+e.wrapperVersion:e.wrapperName}const n=Zot.getTags(e);const i=Object.keys(n);if(i.length){r["x-launchdarkly-tags"]=i.sort().flatMap(s=>Array.isArray(n[s])?n[s].sort().map(a=>`${s}/${a}`):[`${s}/${n[s]}`]).join(" ")}return r}o(rut,"getDefaultHeaders");function lfe(t,e,r,n,i){const s=Xot.parse(t);const a=s.protocol==="https:";const u=Object.assign({},n&&n.tlsParams,s,{timeout:n&&n.timeout?n.timeout*1e3:void 0,agent:n&&n.proxyAgent},e);const l=(a?Qot:Jot).request(u,c=>{let d="";c.on("data",p=>{d+=p});c.on("end",()=>{i(null,c,d)})});l.on("error",c=>{i(c)});if(r!==null&&r!==void 0){l.write(r)}l.end()}o(lfe,"httpRequest");function nut(){const t={};return(e,r,n,i,s)=>{const a=t[e];const u=a&&a.etag;let l=r;if(u){const c=Object.assign({},r&&r.headers,{"if-none-match":u});l=Object.assign({},r,{headers:c})}return lfe(e,l,n,i,(c,d,p)=>{if(c){s(c)}else{if(d.statusCode===304&&a){s(null,d,a.body)}else{if(d.headers["etag"]){t[e]={etag:d.headers["etag"],body:p}}s(null,d,p)}}})}}o(nut,"httpWithETagCache");cfe.exports={getDefaultHeaders:rut,httpRequest:lfe,httpWithETagCache:nut}});var ffe=_((IGt,pfe)=>{var dfe=p9();function iut(t,e){const r={};const n=dfe.getDefaultHeaders(t,e);const i=dfe.httpWithETagCache();function s(l){const c=e.baseUri+l;const d={method:"GET",headers:n};return(p,f)=>{i(c,d,null,e,(h,m,g)=>{if(h){f(h)}else{p(m,g)}})}}o(s,"makeRequest");function a(l){return(c,d)=>{if(c.statusCode!==200&&c.statusCode!==304){const p=new Error("Unexpected status code: "+c.statusCode);p.status=c.statusCode;l(p,null)}else{l(null,c.statusCode===304?null:d)}}}o(a,"processResponse");function u(l){return c=>{l(c,null)}}o(u,"processErrorResponse");r.requestAllData=l=>{const c=s("/sdk/latest-all");c(a(l),u(l))};return r}o(iut,"Requestor");pfe.exports=iut});var gfe=_((DGt,mfe)=>{function hfe(t,e){if(e){if(e.inExperiment){return true}switch(e.kind){case"RULE_MATCH":{const r=e.ruleIndex;if(r!==void 0){const n=t.rules||[];return r>=0&&r<n.length&&!!n[r].trackEvents}break}case"FALLTHROUGH":return!!t.trackEventsFallthrough}}return false}o(hfe,"isExperiment");function sut(t){const e={};e.newEvalEvent=(r,n,i,s,a)=>{const u=hfe(r,i.reason);const l={kind:"feature",creationDate:new Date().getTime(),key:r.key,context:n,value:i.value,variation:i.variationIndex,default:s,version:r.version};if(u||r.trackEvents){l.trackEvents=true}if(r.debugEventsUntilDate){l.debugEventsUntilDate=r.debugEventsUntilDate}if(a){l.prereqOf=a.key}if(u||t){l.reason=i.reason}return l};e.newDefaultEvent=(r,n,i)=>{const s={kind:"feature",creationDate:new Date().getTime(),key:r.key,context:n,value:i.value,default:i.value,version:r.version};if(r.trackEvents){s.trackEvents=true}if(r.debugEventsUntilDate){s.debugEventsUntilDate=r.debugEventsUntilDate}if(t){s.reason=i.reason}return s};e.newUnknownFlagEvent=(r,n,i)=>{const s={kind:"feature",creationDate:new Date().getTime(),key:r,context:n,value:i.value,default:i.value};if(t){s.reason=i.reason}return s};e.newIdentifyEvent=r=>({kind:"identify",creationDate:new Date().getTime(),context:r});e.newCustomEvent=(r,n,i,s)=>{const a={kind:"custom",creationDate:new Date().getTime(),key:r,context:n};if(i!==null&&i!==void 0){a.data=i}if(s!==null&&s!==void 0){a.metricValue=s}return a};return e}o(sut,"EventFactory");mfe.exports={EventFactory:sut,isExperiment:hfe}});function q_(){if(f9>h9.length-16){yfe.default.randomFillSync(h9);f9=0}return h9.slice(f9,f9+=16)}var yfe,h9,f9;var mL=Mr(()=>{yfe=Kp(require("crypto"));h9=new Uint8Array(256);f9=h9.length;o(q_,"rng")});var vfe;var _fe=Mr(()=>{vfe=/^(?:[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 aut(t){return typeof t==="string"&&vfe.test(t)}var Dd;var j_=Mr(()=>{_fe();o(aut,"validate");Dd=aut});function out(t,e=0){const r=(Li[t[e+0]]+Li[t[e+1]]+Li[t[e+2]]+Li[t[e+3]]+"-"+Li[t[e+4]]+Li[t[e+5]]+"-"+Li[t[e+6]]+Li[t[e+7]]+"-"+Li[t[e+8]]+Li[t[e+9]]+"-"+Li[t[e+10]]+Li[t[e+11]]+Li[t[e+12]]+Li[t[e+13]]+Li[t[e+14]]+Li[t[e+15]]).toLowerCase();if(!Dd(r)){throw TypeError("Stringified UUID is invalid")}return r}var Li,kd;var U_=Mr(()=>{j_();Li=[];for(let t=0;t<256;++t){Li.push((t+256).toString(16).substr(1))}o(out,"stringify");kd=out});function uut(t,e,r){let n=e&&r||0;const i=e||new Array(16);t=t||{};let s=t.node||Efe;let a=t.clockseq!==void 0?t.clockseq:gL;if(s==null||a==null){const f=t.random||(t.rng||q_)();if(s==null){s=Efe=[f[0]|1,f[1],f[2],f[3],f[4],f[5]]}if(a==null){a=gL=(f[6]<<8|f[7])&16383}}let u=t.msecs!==void 0?t.msecs:Date.now();let l=t.nsecs!==void 0?t.nsecs:vL+1;const c=u-yL+(l-vL)/1e4;if(c<0&&t.clockseq===void 0){a=a+1&16383}if((c<0||u>yL)&&t.nsecs===void 0){l=0}if(l>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}yL=u;vL=l;gL=a;u+=122192928e5;const d=((u&268435455)*1e4+l)%4294967296;i[n++]=d>>>24&255;i[n++]=d>>>16&255;i[n++]=d>>>8&255;i[n++]=d&255;const p=u/4294967296*1e4&268435455;i[n++]=p>>>8&255;i[n++]=p&255;i[n++]=p>>>24&15|16;i[n++]=p>>>16&255;i[n++]=a>>>8|128;i[n++]=a&255;for(let f=0;f<6;++f){i[n+f]=s[f]}return e||kd(i)}var Efe,gL,yL,vL,bfe;var wfe=Mr(()=>{mL();U_();yL=0;vL=0;o(uut,"v1");bfe=uut});function lut(t){if(!Dd(t)){throw TypeError("Invalid UUID")}let e;const r=new Uint8Array(16);r[0]=(e=parseInt(t.slice(0,8),16))>>>24;r[1]=e>>>16&255;r[2]=e>>>8&255;r[3]=e&255;r[4]=(e=parseInt(t.slice(9,13),16))>>>8;r[5]=e&255;r[6]=(e=parseInt(t.slice(14,18),16))>>>8;r[7]=e&255;r[8]=(e=parseInt(t.slice(19,23),16))>>>8;r[9]=e&255;r[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255;r[11]=e/4294967296&255;r[12]=e>>>24&255;r[13]=e>>>16&255;r[14]=e>>>8&255;r[15]=e&255;return r}var m9;var _L=Mr(()=>{j_();o(lut,"parse");m9=lut});function cut(t){t=unescape(encodeURIComponent(t));const e=[];for(let r=0;r<t.length;++r){e.push(t.charCodeAt(r))}return e}function B_(t,e,r){function n(i,s,a,u){if(typeof i==="string"){i=cut(i)}if(typeof s==="string"){s=m9(s)}if(s.length!==16){throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)")}let l=new Uint8Array(16+i.length);l.set(s);l.set(i,s.length);l=r(l);l[6]=l[6]&15|e;l[8]=l[8]&63|128;if(a){u=u||0;for(let c=0;c<16;++c){a[u+c]=l[c]}return a}return kd(l)}o(n,"generateUUID");try{n.name=t}catch(i){}n.DNS=dut;n.URL=put;return n}var dut,put;var EL=Mr(()=>{U_();_L();o(cut,"stringToBytes");dut="6ba7b810-9dad-11d1-80b4-00c04fd430c8";put="6ba7b811-9dad-11d1-80b4-00c04fd430c8";o(B_,"default")});function fut(t){if(Array.isArray(t)){t=Buffer.from(t)}else if(typeof t==="string"){t=Buffer.from(t,"utf8")}return Sfe.default.createHash("md5").update(t).digest()}var Sfe,Tfe;var Afe=Mr(()=>{Sfe=Kp(require("crypto"));o(fut,"md5");Tfe=fut});var hut,xfe;var Cfe=Mr(()=>{EL();Afe();hut=B_("v3",48,Tfe);xfe=hut});function mut(t,e,r){t=t||{};const n=t.random||(t.rng||q_)();n[6]=n[6]&15|64;n[8]=n[8]&63|128;if(e){r=r||0;for(let i=0;i<16;++i){e[r+i]=n[i]}return e}return kd(n)}var Rfe;var Nfe=Mr(()=>{mL();U_();o(mut,"v4");Rfe=mut});function gut(t){if(Array.isArray(t)){t=Buffer.from(t)}else if(typeof t==="string"){t=Buffer.from(t,"utf8")}return Ofe.default.createHash("sha1").update(t).digest()}var Ofe,Ife;var Pfe=Mr(()=>{Ofe=Kp(require("crypto"));o(gut,"sha1");Ife=gut});var yut,Dfe;var kfe=Mr(()=>{EL();Pfe();yut=B_("v5",80,Ife);Dfe=yut});var $fe;var Lfe=Mr(()=>{$fe="00000000-0000-0000-0000-000000000000"});function vut(t){if(!Dd(t)){throw TypeError("Invalid UUID")}return parseInt(t.substr(14,1),16)}var qfe;var jfe=Mr(()=>{j_();o(vut,"version");qfe=vut});var n1={};OG(n1,{NIL:()=>$fe,parse:()=>m9,stringify:()=>kd,v1:()=>bfe,v3:()=>xfe,v4:()=>Rfe,v5:()=>Dfe,validate:()=>Dd,version:()=>qfe});var i1=Mr(()=>{wfe();Cfe();Nfe();kfe();Lfe();jfe();j_();U_();_L()});var F_=_((Rzt,Mfe)=>{function Ufe(t){return typeof t==="string"&&t!=="kind"&&t.match(/^(\w|\.|-)+$/)}o(Ufe,"validKind");function Bfe(t){return t!==void 0&&t!==null&&t!==""&&typeof t==="string"}o(Bfe,"validKey");function _ut(t,e){if(t){if(e&&(t.kind===void 0||t.kind===null)){return t.key!==void 0&&t.key!==null}const r=t.key;const n=t.kind===void 0?"user":t.kind;const i=Ufe(n);const s=n==="multi"||Bfe(r);if(n==="multi"){const a=Object.keys(t).filter(u=>u!=="kind");return s&&a.every(u=>Ufe(u))&&a.every(u=>Bfe(t[u].key))}return s&&i}return false}o(_ut,"checkContext");function Ffe(t){if(t.includes("%")||t.includes(":")){return t.replace(/%/g,"%25").replace(/:/g,"%3A")}return t}o(Ffe,"encodeKey");function Eut(t){if(t){if(t.kind===null||t.kind===void 0){return["user"]}if(t.kind!=="multi"){return[t.kind]}return Object.keys(t).filter(e=>e!=="kind")}return[]}o(Eut,"getContextKinds");function but(t){if(t){if((t.kind===void 0||t.kind===null||t.kind==="user")&&t.key){return t.key}else if(t.kind!=="multi"&&t.key){return`${t.kind}:${Ffe(t.key)}`}else if(t.kind==="multi"){return Object.keys(t).sort().filter(e=>e!=="kind").map(e=>`${e}:${Ffe(t[e].key)}`).join(":")}}}o(but,"getCanonicalKey");Mfe.exports={checkContext:_ut,getContextKinds:Eut,getCanonicalKey:but}});var Hfe=_((Ozt,Vfe)=>{var{getContextKinds:wut}=F_();function Sut(t){if(t.context){return wut(t.context)}if(t.contextKeys){return Object.keys(t.contextKeys)}return[]}o(Sut,"getKinds");function Tut(){const t={};let e=0,r=0,n={},i={};t.summarizeEvent=s=>{if(s.kind==="feature"){const a=s.key+":"+(s.variation!==null&&s.variation!==void 0?s.variation:"")+":"+(s.version!==null&&s.version!==void 0?s.version:"");const u=n[a];let l=i[s.key];if(!l){l=new Set;i[s.key]=l}Sut(s).forEach(c=>l.add(c));if(u){u.count=u.count+1}else{n[a]={count:1,key:s.key,version:s.version,variation:s.variation,value:s.value,default:s.default}}if(e===0||s.creationDate<e){e=s.creationDate}if(s.creationDate>r){r=s.creationDate}}};t.getSummary=()=>{const s={};for(const a of Object.values(n)){let u=s[a.key];if(!u){u={default:a.default,counters:[],contextKinds:[...i[a.key]]};s[a.key]=u}const l={value:a.value,count:a.count};if(a.variation!==void 0&&a.variation!==null){l.variation=a.variation}if(a.version!==void 0&&a.version!==null){l.version=a.version}else{l.unknown=true}u.counters.push(l)}return{startDate:e,endDate:r,features:s}};t.clearSummary=()=>{e=0;r=0;n={};i={}};return t}o(Tut,"EventSummarizer");Vfe.exports=Tut});var SL=_((Pzt,Yfe)=>{function Gfe(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}o(Gfe,"processEscapeCharacters");function bL(t){const e=t.startsWith("/")?t.substring(1):t;return e.split("/").map(r=>r.indexOf("~")>=0?r.replace(/~1/g,"/").replace(/~0/g,"~"):r)}o(bL,"getComponents");function wL(t){return!t.startsWith("/")}o(wL,"isLiteral");function Aut(t,e){if(t!==null&&t!==void 0&&Object.prototype.hasOwnProperty.call(t,e)){return t[e]}}o(Aut,"getFromLiteral");function xut(t,e){if(e===""||e==="/"){return void 0}if(wL(e)){return Aut(t,e)}const r=bL(e);let n=t;for(const i of r){if(n!==null&&n!==void 0&&typeof n==="object"&&!Array.isArray(n)&&Object.prototype.hasOwnProperty.call(n,i)){n=n[i]}else{return void 0}}return n}o(xut,"get");function zfe(t,e){const r=wL(t);const n=wL(e);if(r&&n){return t===e}if(r){const i=bL(e);if(i.length!==1){return false}return t===i[0]}if(n){const i=bL(t);if(i.length!==1){return false}return e===i[0]}return t===e}o(zfe,"compare");function Cut(t,e){return`${t}/${e}`}o(Cut,"join");function Kfe(t){return`/${Gfe(t)}`}o(Kfe,"literalToReference");function Rut(t,e){const r=[];const n={};const i=[];r.push(...Object.keys(t).map(s=>({key:s,ptr:Kfe(s),source:t,parent:n,visited:[t]})));while(r.length){const s=r.pop();if(!e.some(a=>zfe(a,s.ptr))){const a=s.source[s.key];if(a===null){s.parent[s.key]=a}else if(Array.isArray(a)){s.parent[s.key]=[...a]}else if(typeof a==="object"){if(s.visited.includes(a)){continue}s.parent[s.key]={};r.push(...Object.keys(a).map(u=>({key:u,ptr:Cut(s.ptr,Gfe(u)),source:a,parent:s.parent[s.key],visited:[...s.visited,a]})))}else{s.parent[s.key]=a}}else{i.push(s.ptr)}}return{cloned:n,excluded:i.sort()}}o(Rut,"cloneExcluding");function Nut(t){return!t.match(/\/\/|(^\/.*~[^0|^1])|~$/)}o(Nut,"isValidReference");function Out(t){return t==="kind"||t==="/kind"}o(Out,"isKind");Yfe.exports={cloneExcluding:Rut,compare:zfe,get:xut,isValidReference:Nut,literalToReference:Kfe,isKind:Out}});var Jfe=_((kzt,Wfe)=>{var TL=SL();function Iut(t){const e={};const r=t.allAttributesPrivate;const n=t.privateAttributes||[];const i=["key","kind","_meta","anonymous"];const s=["name","ip","firstName","lastName","email","avatar","country"];const a=o(d=>(r?Object.keys(d):[...n,...d._meta&&d._meta.privateAttributes||[]]).filter(p=>!i.some(f=>TL.compare(p,f))),"getAttributesToFilter");const u=o(d=>{if(typeof d!=="object"||d===null||Array.isArray(d)){return void 0}const{cloned:p,excluded:f}=TL.cloneExcluding(d,a(d));p.key=String(p.key);if(f.length){if(!p._meta){p._meta={}}p._meta.redactedAttributes=f}if(p._meta){delete p._meta["privateAttributes"];if(Object.keys(p._meta).length===0){delete p._meta}}if(p.anonymous!==void 0){p.anonymous=!!p.anonymous}return p},"filterSingleKind");const l=o(d=>{const p={kind:d.kind};const f=Object.keys(d);for(const h of f){if(h!=="kind"){const m=u(d[h]);if(m){p[h]=m}}}return p},"filterMultiKind");const c=o(d=>{const p={...d.custom||{},kind:"user",key:d.key};if(d.anonymous!==void 0){p.anonymous=!!d.anonymous}for(const f of s){delete p[f];if(d[f]!==void 0&&d[f]!==null){p[f]=String(d[f])}}if(d.privateAttributeNames!==void 0&&d.privateAttributeNames!==null){p._meta=p._meta||{};p._meta.privateAttributes=d.privateAttributeNames.map(f=>f.startsWith("/")?TL.literalToReference(f):f)}return p},"legacyToSingleKind");e.filter=d=>{if(d.kind===void 0||d.kind===null){return u(c(d))}else if(d.kind==="multi"){return l(d)}else{return u(d)}};return e}o(Iut,"ContextFilter");Wfe.exports=Iut});var AL=_((Lzt,Qfe)=>{Qfe.exports=o(function t(e,r){const n=e.then(i=>{if(r){setImmediate(()=>{r(null,i)})}return i},i=>{if(r){setImmediate(()=>{r(i,null)})}else{return Promise.reject(i)}});return!r?n:void 0},"wrapPromiseCallback")});var ehe=_((jzt,Zfe)=>{var Put=bu();var{v4:Dut}=(i1(),om(n1));var kut=Hfe();var $ut=Jfe();var xL=t1();var Xfe=p9();var Lut=r1();var qut=AL();var{getCanonicalKey:jut}=F_();function Uut(t,e,r,n){const i={};const s=$ut(e),a=kut(),u=new Put({max:e.contextKeysCapacity}),l=e.eventsUri+"/bulk",c=e.eventsUri+"/diagnostic";let d=[],p=0,f=0,h=0,m=false,g=0,y=false,v;function w(U){if(d.length<e.capacity){d.push(U);m=false}else{if(!m){m=true;e.logger.warn("Exceeded event queue capacity. Increase capacity to avoid dropping events.")}f++}}o(w,"enqueue");function E(U){if(U.debugEventsUntilDate){if(U.debugEventsUntilDate>p&&U.debugEventsUntilDate>new Date().getTime()){return true}}return false}o(E,"shouldDebugEvent");function b(U){switch(U.kind){case"feature":{const X=!!U.debug;const oe={kind:X?"debug":"feature",creationDate:U.creationDate,key:U.key,value:U.value,default:U.default,prereqOf:U.prereqOf};if(U.variation!==void 0&&U.variation!==null){oe.variation=U.variation}if(U.version!==void 0&&U.version!==null){oe.version=U.version}if(U.reason){oe.reason=U.reason}if(X){oe.context=S(U)}else{oe.contextKeys=x(U)}return oe}case"identify":return{kind:"identify",creationDate:U.creationDate,context:S(U)};case"custom":{const X={kind:"custom",creationDate:U.creationDate,key:U.key};X.contextKeys=x(U);if(U.data!==null&&U.data!==void 0){X.data=U.data}if(U.metricValue!==null&&U.metricValue!==void 0){X.metricValue=U.metricValue}return X}default:return U}}o(b,"makeOutputEvent");function S(U){return s.filter(U.context)}o(S,"processContext");function T(U){const X=U.context;return jut(X)}o(T,"getCacheKey");function x(U){const X={};const oe=U.context;if(oe!==void 0){if(oe.kind===void 0&&oe.key){X.user=String(oe.key)}else if(oe.kind!=="multi"){X[oe.kind]=String(oe.key)}else if(oe.kind==="multi"){Object.keys(oe).filter(we=>we!=="kind").forEach(we=>{if(oe[we]!==void 0&&oe[we].key!==void 0){X[we]=oe[we].key}})}return X}return void 0}o(x,"getContextKeys");i.sendEvent=U=>{let X=false,oe=false,we=false;if(y){return}a.summarizeEvent(U);if(U.kind==="feature"){oe=U.trackEvents;we=E(U)}else{oe=true}if(U.context){const ue=U.kind==="identify";if(u.get(T(U))){if(!ue){h++}}else{u.set(T(U),true);if(!ue){X=true}}}if(X){w({kind:"index",creationDate:U.creationDate,context:S(U)})}if(oe){w(b(U))}if(we){const ue=Object.assign({},U,{debug:true});w(b(ue))}};i.flush=function(U){return qut(new Promise((X,oe)=>{if(y){const he=new xL.LDInvalidSDKKeyError("Events cannot be posted because SDK key is invalid");oe(he);return}const we=d;d=[];const ue=a.getSummary();a.clearSummary();if(Object.keys(ue.features).length){ue.kind="summary";we.push(ue)}if(!we.length){X();return}g=we.length;e.logger.debug("Flushing %d events",we.length);D(we,l,Dut(),X,oe,true)}),U)};function D(U,X,oe,we,ue,he){const Ge=o(qe=>{if(he){e.logger&&e.logger.warn("Will retry posting events after 1 second");setTimeout(()=>{D(U,X,oe,we,ue,false)},1e3)}else{ue(qe)}},"retryOrReject");const Se=Object.assign({"Content-Type":"application/json"},Xfe.getDefaultHeaders(t,e));if(oe){Se["X-LaunchDarkly-Payload-ID"]=oe;Se["X-LaunchDarkly-Event-Schema"]="4"}const Pe={method:"POST",headers:Se};const Ke=JSON.stringify(U);Xfe.httpRequest(X,Pe,Ke,e,(qe,ge)=>{if(qe){Ge(qe);return}if(ge.headers["date"]){const at=Date.parse(ge.headers["date"]);if(at){p=at}}if(ge.statusCode>204){const at=new xL.LDUnexpectedResponseError(Lut.httpErrorMessage({status:ge.statusCode},"event posting","some events were dropped"));r&&r(at);if(!xL.isHttpErrorRecoverable(ge.statusCode)){ue(at);y=true}else{Ge(at)}}else{we()}})}o(D,"tryPostingEvents");function k(U){D(U,c,null,()=>{},()=>{},true)}o(k,"postDiagnosticEvent");const B=setInterval(()=>{i.flush().then(()=>{},()=>{})},e.flushInterval*1e3);const V=setInterval(()=>{u.reset()},e.contextKeysFlushInterval*1e3);i.close=()=>{clearInterval(B);clearInterval(V);v&&clearInterval(v)};if(!e.diagnosticOptOut&&n){const U=n.createInitEvent();k(U);v=setInterval(()=>{const X=n.createStatsEventAndReset(f,h,g);f=0;h=0;k(X)},e.diagnosticRecordingInterval*1e3)}return i}o(Uut,"EventProcessor");Zfe.exports=Uut});var she=_((Bzt,ihe)=>{var the=t1();var rhe=r1();var nhe=e1();function But(t,e){const r={},n=t.featureStore,i=t.pollInterval*1e3;let s=false;let a;function u(l){const c=l||function(){};if(s){return}t.logger.debug("Polling LaunchDarkly for feature flag updates");e.requestAllData((d,p)=>{if(d){if(d.status&&!the.isHttpErrorRecoverable(d.status)){const f=rhe.httpErrorMessage(d,"polling request");t.logger.error(f);c(new the.LDPollingError(f));r.stop()}else{t.logger.warn(rhe.httpErrorMessage(d,"polling request","will retry"))}}else{if(p){const f=JSON.parse(p);const h={};h[nhe.features.namespace]=f.flags;h[nhe.segments.namespace]=f.segments;n.init(h,()=>{c()})}}})}o(u,"poll");r.start=l=>{if(!a&&!s){a=setInterval(()=>u(l),i);u(l)}};r.stop=()=>{s=true;if(a){clearInterval(a)}};r.close=()=>{r.stop()};return r}o(But,"PollingProcessor");ihe.exports=But});var ohe=_((Mzt,ahe)=>{function Fut(t,e,r,n){var i=t;var s=0;var a;return{nextRetryDelay:function(u){if(a&&e&&u-a>=e){s=0}a=null;var l=r?r(i,s):i;s++;return n?n(l):l},setGoodSince:function(u){a=u},setBaseDelay:function(u){i=u;s=0}}}o(Fut,"RetryDelayStrategy");function Mut(t){return function(e,r){var n=e*Math.pow(2,r);return n>t?t:n}}o(Mut,"defaultBackoff");function Vut(t){return function(e){return e-Math.trunc(Math.random()*t*e)}}o(Vut,"defaultJitter");ahe.exports={RetryDelayStrategy:Fut,defaultBackoff:Mut,defaultJitter:Vut}});var mhe=_((Hzt,hhe)=>{var CL=ohe();var uhe=require("url").parse;var Hut=require("url").URL;var Gut=require("events");var zut=require("https");var Kut=require("http");var Yut=require("util");var Wut=["pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","secureProtocol","servername","checkServerIdentity"];var phe=[239,187,191];var Jut=58;var Qut=32;var lhe=10;var Xut=13;function Zut(t){return phe.every(function(e,r){return t[r]===e})}o(Zut,"hasBom");function wn(t,e){var r=wn.CONNECTING;var n=e||{};Object.defineProperty(this,"readyState",{get:function(){return r}});Object.defineProperty(this,"url",{get:function(){return t}});var i=this;i.reconnectInterval=1e3;var s;var a="";if(n.headers&&n.headers["Last-Event-ID"]){a=n.headers["Last-Event-ID"]}var u=false;var l,c,d;var p=null;var f=new CL.RetryDelayStrategy(n.initialRetryDelayMillis!==null&&n.initialRetryDelayMillis!==void 0?n.initialRetryDelayMillis:1e3,n.retryResetIntervalMillis,n.maxBackoffMillis?CL.defaultBackoff(n.maxBackoffMillis):null,n.jitterRatio?CL.defaultJitter(n.jitterRatio):null);var h=new Hut(t).origin;function m(){var T=t;var x={headers:{}};if(!n.skipDefaultHeaders){x.headers["Cache-Control"]="no-cache";x.headers["Accept"]="text/event-stream"}if(a)x.headers["Last-Event-ID"]=a;if(n.headers){for(var D in n.headers){if(n.headers.hasOwnProperty(D)){x.headers[D]=n.headers[D]}}}x.rejectUnauthorized=!!n.rejectUnauthorized;if(n.proxy){T=null;var k=uhe(t);var B=uhe(n.proxy);x.protocol=B.protocol==="https:"?"https:":"http:";x.path=t;x.headers.Host=k.host;x.hostname=B.hostname;x.host=B.host;x.port=B.port;if(B.username){x.auth=B.username+":"+B.password}}if(n.agent){x.agent=n.agent}if(n.https){for(var V in n.https){if(Wut.indexOf(V)===-1){continue}var U=n.https[V];if(U!==void 0){x[V]=U}}}if(n.withCredentials!==void 0){x.withCredentials=n.withCredentials}if(n.method){x.method=n.method}return{url:T,options:x}}o(m,"makeRequestUrlAndOptions");function g(T){if(T.status){var x=T.status;return x===500||x===502||x===503||x===504}return true}o(g,"defaultErrorFilter");function y(T){if(r===wn.CLOSED){return}var x=T?new s1("error",T):new s1("end");var D=(n.errorFilter||g)(x);if(D){r=wn.CONNECTING;E(x);v()}else{E(x);r=wn.CLOSED;E(new s1("closed"))}}o(y,"failed");function v(){if(r!==wn.CONNECTING)return;var T=f.nextRetryDelay(new Date().getTime());if(p){t=p;p=null}var x=new s1("retrying");x.delayMillis=T;E(x);setTimeout(function(){if(r!==wn.CONNECTING)return;w()},T)}o(v,"scheduleReconnect");function w(){var T=m();var x=T.options.protocol==="https:"||T.url&&T.url.startsWith("https:");var D=o(function(B){if(B.statusCode===301||B.statusCode===307){if(!B.headers.location){y({status:B.statusCode,message:B.statusMessage});return}if(B.statusCode===307)p=t;t=B.headers.location;process.nextTick(w);return}if(B.statusCode!==200){y({status:B.statusCode,message:B.statusMessage});return}l="";c="";d=void 0;r=wn.OPEN;B.on("close",function(){B.removeAllListeners("close");B.removeAllListeners("end");y()});B.on("end",function(){B.removeAllListeners("close");B.removeAllListeners("end");y()});E(new s1("open"));var V=true;var U;var X=0;var oe=-1;B.on("data",function(we){U=U?Buffer.concat([U,we]):we;if(V&&Zut(U)){U=U.slice(phe.length)}V=false;var ue=0;var he=U.length;while(ue<he){if(u){if(U[ue]===lhe){++ue}u=false}var Ge=-1;var Se=oe;var Pe;for(var Ke=X;Ge<0&&Ke<he;++Ke){Pe=U[Ke];if(Pe===Jut){if(Se<0){Se=Ke-ue}}else if(Pe===Xut){u=true;Ge=Ke-ue}else if(Pe===lhe){Ge=Ke-ue}}if(Ge<0){X=he-ue;oe=Se;break}else{X=0;oe=-1}S(U,ue,Se,Ge);ue+=Ge+1}if(ue===he){U=void 0}else if(ue>0){U=U.slice(ue)}})},"callback");var k=x?zut:Kut;s=T.url?k.request(T.url,T.options,D):k.request(T.options,D);if(n.readTimeoutMillis){s.setTimeout(n.readTimeoutMillis)}if(n.body){s.write(n.body)}s.on("error",function(B){y({message:B.message})});s.on("timeout",function(){y({message:"Read timeout, received no data in "+n.readTimeoutMillis+"ms, assuming connection is dead"})});if(s.setNoDelay)s.setNoDelay(true);s.end()}o(w,"connect");w();function E(T){if(T){i.emit(T.type,T)}}o(E,"_emit");this._close=function(){if(r===wn.CLOSED)return;r=wn.CLOSED;if(s.abort)s.abort();if(s.xhr&&s.xhr.abort)s.xhr.abort();E(new s1("closed"))};function b(T){f.setGoodSince(new Date().getTime());E(T)}o(b,"receivedEvent");function S(T,x,D,k){if(k===0){if(l.length>0){var B=c||"message";if(d!==void 0){a=d}var V=new elt(B,{data:l.slice(0,-1),lastEventId:a,origin:h});l="";d=void 0;b(V)}c=void 0}else{var U=D<0;var X=0;var oe=T.slice(x,x+(U?k:D)).toString();if(U){X=k}else if(T[x+D+1]!==Qut){X=D+1}else{X=D+2}x+=X;var we=k-X;var ue=T.slice(x,x+we).toString();if(oe==="data"){l+=ue+"\n"}else if(oe==="event"){c=ue}else if(oe==="id"){if(!ue.includes("\0")){d=ue}}else if(oe==="retry"){var he=parseInt(ue,10);if(!Number.isNaN(he)){i.reconnectInterval=he;f.setBaseDelay(he)}}}}o(S,"parseEventStreamLine")}o(wn,"EventSource");hhe.exports={EventSource:wn};Yut.inherits(wn,Gut.EventEmitter);wn.prototype.constructor=wn;["open","end","error","message","retrying","closed"].forEach(function(t){Object.defineProperty(wn.prototype,"on"+t,{get:o(function e(){var r=this.listeners(t)[0];return r?r._listener?r._listener:r:void 0},"get"),set:o(function e(r){this.removeAllListeners(t);this.addEventListener(t,r)},"set")})});Object.defineProperty(wn,"CONNECTING",{enumerable:true,value:0});Object.defineProperty(wn,"OPEN",{enumerable:true,value:1});Object.defineProperty(wn,"CLOSED",{enumerable:true,value:2});wn.prototype.CONNECTING=0;wn.prototype.OPEN=1;wn.prototype.CLOSED=2;var che=["errorFilter","headers","https","initialRetryDelayMillis","jitterRatio","maxBackoffMillis","method","proxy","retryResetIntervalMillis","skipDefaultHeaders","withCredentials"];var fhe={};for(dhe in che){Object.defineProperty(fhe,che[dhe],{enumerable:true,value:true})}var dhe;Object.defineProperty(wn,"supportedOptions",{enumerable:true,value:fhe});wn.prototype.close=function(){this._close()};wn.prototype.addEventListener=o(function t(e,r){if(typeof r==="function"){r._listener=r;this.on(e,r)}},"addEventListener");wn.prototype.dispatchEvent=o(function t(e){if(!e.type){throw new Error("UNSPECIFIED_EVENT_TYPE_ERR")}this.emit(e.type,e.detail)},"dispatchEvent");wn.prototype.removeEventListener=o(function t(e,r){if(typeof r==="function"){r._listener=void 0;this.removeListener(e,r)}},"removeEventListener");function s1(t,e){Object.defineProperty(this,"type",{writable:false,value:t,enumerable:true});if(e){for(var r in e){if(e.hasOwnProperty(r)){Object.defineProperty(this,r,{writable:false,value:e[r],enumerable:true})}}}}o(s1,"Event");function elt(t,e){Object.defineProperty(this,"type",{writable:false,value:t,enumerable:true});for(var r in e){if(e.hasOwnProperty(r)){Object.defineProperty(this,r,{writable:false,value:e[r],enumerable:true})}}}o(elt,"MessageEvent")});var vhe=_((zzt,yhe)=>{var a1=t1();var tlt=p9();var ghe=r1();var{EventSource:rlt}=mhe();var g9=e1();var nlt=5*60*1e3;function ilt(t,e,r,n,i){const s={},a=e.featureStore;let u;let l;const c=tlt.getDefaultHeaders(t,e);const d=i||rlt;function p(m,g){return g.startsWith(m.streamApiPath)?g.substring(m.streamApiPath.length):null}o(p,"getKeyFromPath");function f(){l=new Date().getTime()}o(f,"logConnectionStarted");function h(m){if(l&&n){n.recordStreamInit(l,!m,new Date().getTime()-l)}l=null}o(h,"logConnectionResult");s.start=m=>{const g=m||function(){};f();function y(w){if(w.status&&!a1.isHttpErrorRecoverable(w.status)){const b=ghe.httpErrorMessage(w,"streaming request");e.logger.error(b);h(false);g(new a1.LDStreamingError(w.message,w.status));return false}const E=ghe.httpErrorMessage(w,"streaming request","will retry");e.logger.warn(E);h(false);f();return true}o(y,"handleError");u=new d(e.streamUri+"/all",{agent:e.proxyAgent,errorFilter:y,headers:c,initialRetryDelayMillis:1e3*e.streamInitialReconnectDelay,readTimeoutMillis:nlt,retryResetIntervalMillis:6e4,tlsParams:e.tlsParams});u.onclose=()=>{e.logger.info("Closed LaunchDarkly stream connection")};u.onerror=()=>{};u.onopen=()=>{e.logger.info("Opened LaunchDarkly stream connection")};u.onretrying=w=>{e.logger.info("Will retry stream connection in "+w.delayMillis+" milliseconds")};function v(w,E){e.logger.error('Stream received invalid data in "'+w+'" message');e.logger.debug("Invalid JSON follows: "+E);g(new a1.LDStreamingError("Malformed JSON data in event stream"))}o(v,"reportJsonError");u.addEventListener("put",w=>{e.logger.debug("Received put event");if(w&&w.data){h(true);let E;try{E=JSON.parse(w.data)}catch(S){v("put",w.data);return}const b={};b[g9.features.namespace]=E.data.flags;b[g9.segments.namespace]=E.data.segments;a.init(b,()=>{g()})}else{g(new a1.LDStreamingError("Unexpected payload from event stream"))}});u.addEventListener("patch",w=>{e.logger.debug("Received patch event");if(w&&w.data){let E;try{E=JSON.parse(w.data)}catch(b){v("patch",w.data);return}for(const b of Object.values(g9)){const S=p(b,E.path);if(S!==null){e.logger.debug("Updating "+S+" in "+b.namespace);a.upsert(b,E.data);break}}}else{g(new a1.LDStreamingError("Unexpected payload from event stream"))}});u.addEventListener("delete",w=>{e.logger.debug("Received delete event");if(w&&w.data){let E;try{E=JSON.parse(w.data)}catch(S){v("delete",w.data);return}const b=E.version;for(const S of Object.values(g9)){const T=p(S,E.path);if(T!==null){e.logger.debug("Deleting "+T+" in "+S.namespace);a.delete(S,T,b);break}}}else{g(new a1.LDStreamingError("Unexpected payload from event stream"))}})};s.stop=()=>{if(u){u.close()}};s.close=()=>{s.stop()};return s}o(ilt,"StreamProcessor");yhe.exports=ilt});var Ehe=_((Yzt,_he)=>{function slt(t,e){const r={};const n={};const i={};r.addFlag=(s,a,u,l,c,d,p)=>{n[s.key]=a;const f={};if(u!==void 0&&u!==null){f.variation=u}const h=p&&!c&&!d&&(s.debugEventsUntilDate===void 0||s.debugEventsUntilDate===null);if(!h){f.version=s.version}if(l&&(d||e&&!h)){f.reason=l}if(c){f.trackEvents=true}if(d){f.trackReason=true}if(s.debugEventsUntilDate!==void 0&&s.debugEventsUntilDate!==null){f.debugEventsUntilDate=s.debugEventsUntilDate}i[s.key]=f};r.build=()=>({valid:t,allValues:()=>n,getFlagValue:s=>n[s],getFlagReason:s=>i[s]?i[s].reason:null,toJSON:()=>Object.assign({},n,{$flagsState:i,$valid:t})});return r}o(slt,"FlagsStateBuilder");_he.exports=slt});var whe=_((Jzt,bhe)=>{var RL=require("os");var{v4:alt}=(i1(),om(n1));var olt=d9();var ult=hL();function llt(t,e,r){let n=r;let i=[];const s={};s.createInitEvent=()=>({kind:"diagnostic-init",id:e,creationDate:r,sdk:dlt(t),configuration:plt(t),platform:flt()});s.recordStreamInit=(a,u,l)=>{const c={timestamp:a,failed:u,durationMillis:l};i.push(c)};s.createStatsEventAndReset=(a,u,l)=>{const c=new Date().getTime();const d={kind:"diagnostic",id:e,creationDate:c,dataSinceDate:n,droppedEvents:a,deduplicatedUsers:u,eventsInLastBatch:l,streamInits:i};n=c;i=[];return d};return s}o(llt,"DiagnosticsManager");function clt(t){const e={diagnosticId:alt()};if(t){e.sdkKeySuffix=t.length>6?t.substring(t.length-6):t}return e}o(clt,"DiagnosticId");function dlt(t){const e={name:"node-server-sdk",version:ult.version};if(t.wrapperName){e.wrapperName=t.wrapperName}if(t.wrapperVersion){e.wrapperVersion=t.wrapperVersion}return e}o(dlt,"makeSdkData");function plt(t){const e=olt.defaults();const r=o(s=>Math.trunc(s*1e3),"secondsToMillis");function n(s,a){if(s){return s.description||"custom"}return a}o(n,"getComponentDescription");const i={customBaseURI:t.baseUri!==e.baseUri,customStreamURI:t.streamUri!==e.streamUri,customEventsURI:t.eventsUri!==e.eventsUri,eventsCapacity:t.capacity,connectTimeoutMillis:r(t.timeout),socketTimeoutMillis:r(t.timeout),eventsFlushIntervalMillis:r(t.flushInterval),pollingIntervalMillis:r(t.pollInterval),reconnectTimeMillis:r(t.streamInitialReconnectDelay),streamingDisabled:!t.stream,usingRelayDaemon:!!t.useLdd,offline:!!t.offline,allAttributesPrivate:!!t.allAttributesPrivate,contextKeysCapacity:t.contextKeysCapacity,contextKeysFlushIntervalMillis:r(t.contextKeysFlushInterval),usingProxy:!!(t.proxyAgent||t.proxyHost),usingProxyAuthenticator:!!t.proxyAuth,diagnosticRecordingIntervalMillis:r(t.diagnosticRecordingInterval),dataStoreType:n(t.featureStore,"memory")};return i}o(plt,"makeConfigData");function flt(){return{name:"Node",osArch:RL.arch(),osName:hlt(RL.platform()),osVersion:RL.release(),nodeVersion:process.versions.node}}o(flt,"makePlatformData");function hlt(t){switch(t){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";default:return t}}o(hlt,"normalizePlatformName");bhe.exports={DiagnosticsManager:llt,DiagnosticId:clt}});var Nhe=_((Xzt,Rhe)=>{var She=N8();var mlt=new RegExp("^\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\d(\\.\\d\\d*)?(Z|[-+]\\d\\d(:\\d\\d)?)");function y9(t){return(e,r)=>typeof e==="string"&&typeof r==="string"&&t(e,r)}o(y9,"stringOperator");function v9(t){return(e,r)=>typeof e==="number"&&typeof r==="number"&&t(e,r)}o(v9,"numericOperator");function The(t){return(e,r)=>{const n=Ahe(e);const i=Ahe(r);return n!==null&&i!==null&&t(n,i)}}o(The,"dateOperator");function Ahe(t){switch(typeof t){case"number":return t;case"string":return mlt.test(t)?Date.parse(t):null;default:return null}}o(Ahe,"parseDate");function NL(t){return(e,r)=>{const n=xhe(e),i=xhe(r);return n&&i?t(n,i):false}}o(NL,"semVerOperator");function xhe(t){if(typeof t!=="string"){return null}if(t.startsWith("v")){return null}let e=She.parse(t);if(!e){const r=new RegExp("^\\d+(\\.\\d+)?(\\.\\d+)?").exec(t);if(r){let n=r[0];for(let i=1;i<r.length;i++){if(r[i]===void 0){n=n+".0"}}n=n+t.substring(r[0].length);e=She.parse(n)}}return e}o(xhe,"parseSemVer");function glt(t,e){try{return new RegExp(t).test(e)}catch(r){return false}}o(glt,"safeRegexMatch");var Che={in:(t,e)=>t===e,endsWith:y9((t,e)=>t.endsWith(e)),startsWith:y9((t,e)=>t.startsWith(e)),matches:y9((t,e)=>glt(e,t)),contains:y9((t,e)=>t.indexOf(e)>-1),lessThan:v9((t,e)=>t<e),lessThanOrEqual:v9((t,e)=>t<=e),greaterThan:v9((t,e)=>t>e),greaterThanOrEqual:v9((t,e)=>t>=e),before:The((t,e)=>t<e),after:The((t,e)=>t>e),semVerEqual:NL((t,e)=>t.compare(e)===0),semVerLessThan:NL((t,e)=>t.compare(e)<0),semVerGreaterThan:NL((t,e)=>t.compare(e)>0)};var ylt=o(()=>false,"operatorNone");function vlt(t){return Che[t]||ylt}o(vlt,"fn");Rhe.exports={operators:Che,fn:vlt}});var Ihe=_((_9,Ohe)=>{(function(t,e){typeof _9==="object"&&typeof Ohe!=="undefined"?e(_9):typeof define==="function"&&define.amd?define(["exports"],e):e(t.async={})})(_9,function(t){"use strict";function e(F,...L){return(...M)=>F(...L,...M)}o(e,"apply");function r(F){return function(...L){var M=L.pop();return F.call(this,L,M)}}o(r,"initialParams");var n=typeof queueMicrotask==="function"&&queueMicrotask;var i=typeof setImmediate==="function"&&setImmediate;var s=typeof process==="object"&&typeof process.nextTick==="function";function a(F){setTimeout(F,0)}o(a,"fallback");function u(F){return(L,...M)=>F(()=>L(...M))}o(u,"wrap");var l;if(n){l=queueMicrotask}else if(i){l=setImmediate}else if(s){l=process.nextTick}else{l=a}var c=u(l);function d(F){if(h(F)){return function(...L){const M=L.pop();const ee=F.apply(this,L);return p(ee,M)}}return r(function(L,M){var ee;try{ee=F.apply(this,L)}catch(de){return M(de)}if(ee&&typeof ee.then==="function"){return p(ee,M)}else{M(null,ee)}})}o(d,"asyncify");function p(F,L){return F.then(M=>{f(L,null,M)},M=>{f(L,M&&M.message?M:new Error(M))})}o(p,"handlePromise");function f(F,L,M){try{F(L,M)}catch(ee){c(de=>{throw de},ee)}}o(f,"invokeCallback");function h(F){return F[Symbol.toStringTag]==="AsyncFunction"}o(h,"isAsync");function m(F){return F[Symbol.toStringTag]==="AsyncGenerator"}o(m,"isAsyncGenerator");function g(F){return typeof F[Symbol.asyncIterator]==="function"}o(g,"isAsyncIterable");function y(F){if(typeof F!=="function")throw new Error("expected a function");return h(F)?d(F):F}o(y,"wrapAsync");function v(F,L=F.length){if(!L)throw new Error("arity is undefined");function M(...ee){if(typeof ee[L-1]==="function"){return F.apply(this,ee)}return new Promise((de,fe)=>{ee[L-1]=(ve,...be)=>{if(ve)return fe(ve);de(be.length>1?be:be[0])};F.apply(this,ee)})}o(M,"awaitable");return M}o(v,"awaitify");function w(F){return o(function L(M,...ee){const de=v(function(fe){var ve=this;return F(M,(be,xe)=>{y(be).apply(ve,ee.concat(xe))},fe)});return de},"applyEach")}o(w,"applyEach");function E(F,L,M,ee){L=L||[];var de=[];var fe=0;var ve=y(M);return F(L,(be,xe,Xe)=>{var pr=fe++;ve(be,(qr,vr)=>{de[pr]=vr;Xe(qr)})},be=>{ee(be,de)})}o(E,"_asyncMap");function b(F){return F&&typeof F.length==="number"&&F.length>=0&&F.length%1===0}o(b,"isArrayLike");const S={};function T(F){function L(...M){if(F===null)return;var ee=F;F=null;ee.apply(this,M)}o(L,"wrapper");Object.assign(L,F);return L}o(T,"once");function x(F){return F[Symbol.iterator]&&F[Symbol.iterator]()}o(x,"getIterator");function D(F){var L=-1;var M=F.length;return o(function ee(){return++L<M?{value:F[L],key:L}:null},"next")}o(D,"createArrayIterator");function k(F){var L=-1;return o(function M(){var ee=F.next();if(ee.done)return null;L++;return{value:ee.value,key:L}},"next")}o(k,"createES2015Iterator");function B(F){var L=F?Object.keys(F):[];var M=-1;var ee=L.length;return o(function de(){var fe=L[++M];if(fe==="__proto__"){return de()}return M<ee?{value:F[fe],key:fe}:null},"next")}o(B,"createObjectIterator");function V(F){if(b(F)){return D(F)}var L=x(F);return L?k(L):B(F)}o(V,"createIterator");function U(F){return function(...L){if(F===null)throw new Error("Callback was already called.");var M=F;F=null;M.apply(this,L)}}o(U,"onlyOnce");function X(F,L,M,ee){let de=false;let fe=false;let ve=false;let be=0;let xe=0;function Xe(){if(be>=L||ve||de)return;ve=true;F.next().then(({value:vr,done:xa})=>{if(fe||de)return;ve=false;if(xa){de=true;if(be<=0){ee(null)}return}be++;M(vr,xe,pr);xe++;Xe()}).catch(qr)}o(Xe,"replenish");function pr(vr,xa){be-=1;if(fe)return;if(vr)return qr(vr);if(vr===false){de=true;fe=true;return}if(xa===S||de&&be<=0){de=true;return ee(null)}Xe()}o(pr,"iterateeCallback");function qr(vr){if(fe)return;ve=false;de=true;ee(vr)}o(qr,"handleError");Xe()}o(X,"asyncEachOfLimit");var oe=o(F=>{return(L,M,ee)=>{ee=T(ee);if(F<=0){throw new RangeError("concurrency limit cannot be less than 1")}if(!L){return ee(null)}if(m(L)){return X(L,F,M,ee)}if(g(L)){return X(L[Symbol.asyncIterator](),F,M,ee)}var de=V(L);var fe=false;var ve=false;var be=0;var xe=false;function Xe(qr,vr){if(ve)return;be-=1;if(qr){fe=true;ee(qr)}else if(qr===false){fe=true;ve=true}else if(vr===S||fe&&be<=0){fe=true;return ee(null)}else if(!xe){pr()}}o(Xe,"iterateeCallback");function pr(){xe=true;while(be<F&&!fe){var qr=de();if(qr===null){fe=true;if(be<=0){ee(null)}return}be+=1;M(qr.value,qr.key,U(Xe))}xe=false}o(pr,"replenish");pr()}},"eachOfLimit");function we(F,L,M,ee){return oe(L)(F,y(M),ee)}o(we,"eachOfLimit$1");var ue=v(we,4);function he(F,L,M){M=T(M);var ee=0,de=0,{length:fe}=F,ve=false;if(fe===0){M(null)}function be(xe,Xe){if(xe===false){ve=true}if(ve===true)return;if(xe){M(xe)}else if(++de===fe||Xe===S){M(null)}}o(be,"iteratorCallback");for(;ee<fe;ee++){L(F[ee],ee,U(be))}}o(he,"eachOfArrayLike");function Ge(F,L,M){return ue(F,Infinity,L,M)}o(Ge,"eachOfGeneric");function Se(F,L,M){var ee=b(F)?he:Ge;return ee(F,y(L),M)}o(Se,"eachOf");var Pe=v(Se,3);function Ke(F,L,M){return E(Pe,F,L,M)}o(Ke,"map");var qe=v(Ke,3);var ge=w(qe);function at(F,L,M){return ue(F,1,L,M)}o(at,"eachOfSeries");var Me=v(at,3);function Ne(F,L,M){return E(Me,F,L,M)}o(Ne,"mapSeries");var Ze=v(Ne,3);var ze=w(Ze);const C=Symbol("promiseCallback");function O(){let F,L;function M(ee,...de){if(ee)return L(ee);F(de.length>1?de:de[0])}o(M,"callback");M[C]=new Promise((ee,de)=>{F=ee,L=de});return M}o(O,"promiseCallback");function q(F,L,M){if(typeof L!=="number"){M=L;L=null}M=T(M||O());var ee=Object.keys(F).length;if(!ee){return M(null)}if(!L){L=ee}var de={};var fe=0;var ve=false;var be=false;var xe=Object.create(null);var Xe=[];var pr=[];var qr={};Object.keys(F).forEach(Qe=>{var pt=F[Qe];if(!Array.isArray(pt)){vr(Qe,[pt]);pr.push(Qe);return}var _r=pt.slice(0,pt.length-1);var Rn=_r.length;if(Rn===0){vr(Qe,pt);pr.push(Qe);return}qr[Qe]=Rn;_r.forEach(ui=>{if(!F[ui]){throw new Error("async.auto task `"+Qe+"` has a non-existent dependency `"+ui+"` in "+_r.join(", "))}sm(ui,()=>{Rn--;if(Rn===0){vr(Qe,pt)}})})});jr();xa();function vr(Qe,pt){Xe.push(()=>Ny(Qe,pt))}o(vr,"enqueueTask");function xa(){if(ve)return;if(Xe.length===0&&fe===0){return M(null,de)}while(Xe.length&&fe<L){var Qe=Xe.shift();Qe()}}o(xa,"processQueue");function sm(Qe,pt){var _r=xe[Qe];if(!_r){_r=xe[Qe]=[]}_r.push(pt)}o(sm,"addListener");function Gp(Qe){var pt=xe[Qe]||[];pt.forEach(_r=>_r());xa()}o(Gp,"taskComplete");function Ny(Qe,pt){if(be)return;var _r=U((ui,...Ca)=>{fe--;if(ui===false){ve=true;return}if(Ca.length<2){[Ca]=Ca}if(ui){var am={};Object.keys(de).forEach(zp=>{am[zp]=de[zp]});am[Qe]=Ca;be=true;xe=Object.create(null);if(ve)return;M(ui,am)}else{de[Qe]=Ca;Gp(Qe)}});fe++;var Rn=y(pt[pt.length-1]);if(pt.length>1){Rn(de,_r)}else{Rn(_r)}}o(Ny,"runTask");function jr(){var Qe;var pt=0;while(pr.length){Qe=pr.pop();pt++;dt(Qe).forEach(_r=>{if(--qr[_r]===0){pr.push(_r)}})}if(pt!==ee){throw new Error("async.auto cannot execute tasks due to a recursive dependency")}}o(jr,"checkForDeadlocks");function dt(Qe){var pt=[];Object.keys(F).forEach(_r=>{const Rn=F[_r];if(Array.isArray(Rn)&&Rn.indexOf(Qe)>=0){pt.push(_r)}});return pt}o(dt,"getDependents");return M[C]}o(q,"auto");var G=/^(?:async\s+)?(?:function)?\s*\w*\s*\(\s*([^)]+)\s*\)(?:\s*{)/;var W=/^(?:async\s+)?\(?\s*([^)=]+)\s*\)?(?:\s*=>)/;var K=/,/;var se=/(=.+)?(\s*)$/;function J(F){let L="";let M=0;let ee=F.indexOf("*/");while(M<F.length){if(F[M]==="/"&&F[M+1]==="/"){let de=F.indexOf("\n",M);M=de===-1?F.length:de}else if(ee!==-1&&F[M]==="/"&&F[M+1]==="*"){let de=F.indexOf("*/",M);if(de!==-1){M=de+2;ee=F.indexOf("*/",M)}else{L+=F[M];M++}}else{L+=F[M];M++}}return L}o(J,"stripComments");function A(F){const L=J(F.toString());let M=L.match(G);if(!M){M=L.match(W)}if(!M)throw new Error("could not parse args in autoInject\nSource:\n"+L);let[,ee]=M;return ee.replace(/\s/g,"").split(K).map(de=>de.replace(se,"").trim())}o(A,"parseParams");function ie(F,L){var M={};Object.keys(F).forEach(ee=>{var de=F[ee];var fe;var ve=h(de);var be=!ve&&de.length===1||ve&&de.length===0;if(Array.isArray(de)){fe=[...de];de=fe.pop();M[ee]=fe.concat(fe.length>0?xe:de)}else if(be){M[ee]=de}else{fe=A(de);if(de.length===0&&!ve&&fe.length===0){throw new Error("autoInject task functions require explicit parameters.")}if(!ve)fe.pop();M[ee]=fe.concat(xe)}function xe(Xe,pr){var qr=fe.map(vr=>Xe[vr]);qr.push(pr);y(de)(...qr)}o(xe,"newTask")});return q(M,L)}o(ie,"autoInject");class le{static{o(this,"DLL")}constructor(){this.head=this.tail=null;this.length=0}removeLink(L){if(L.prev)L.prev.next=L.next;else this.head=L.next;if(L.next)L.next.prev=L.prev;else this.tail=L.prev;L.prev=L.next=null;this.length-=1;return L}empty(){while(this.head)this.shift();return this}insertAfter(L,M){M.prev=L;M.next=L.next;if(L.next)L.next.prev=M;else this.tail=M;L.next=M;this.length+=1}insertBefore(L,M){M.prev=L.prev;M.next=L;if(L.prev)L.prev.next=M;else this.head=M;L.prev=M;this.length+=1}unshift(L){if(this.head)this.insertBefore(this.head,L);else ye(this,L)}push(L){if(this.tail)this.insertAfter(this.tail,L);else ye(this,L)}shift(){return this.head&&this.removeLink(this.head)}pop(){return this.tail&&this.removeLink(this.tail)}toArray(){return[...this]}*[Symbol.iterator](){var L=this.head;while(L){yield L.data;L=L.next}}remove(L){var M=this.head;while(M){var{next:ee}=M;if(L(M)){this.removeLink(M)}M=ee}return this}}function ye(F,L){F.length=1;F.head=F.tail=L}o(ye,"setInitial");function De(F,L,M){if(L==null){L=1}else if(L===0){throw new RangeError("Concurrency must not be zero")}var ee=y(F);var de=0;var fe=[];const ve={error:[],drain:[],saturated:[],unsaturated:[],empty:[]};function be(dt,Qe){ve[dt].push(Qe)}o(be,"on");function xe(dt,Qe){const pt=o((..._r)=>{Xe(dt,pt);Qe(..._r)},"handleAndRemove");ve[dt].push(pt)}o(xe,"once");function Xe(dt,Qe){if(!dt)return Object.keys(ve).forEach(pt=>ve[pt]=[]);if(!Qe)return ve[dt]=[];ve[dt]=ve[dt].filter(pt=>pt!==Qe)}o(Xe,"off");function pr(dt,...Qe){ve[dt].forEach(pt=>pt(...Qe))}o(pr,"trigger");var qr=false;function vr(dt,Qe,pt,_r){if(_r!=null&&typeof _r!=="function"){throw new Error("task callback must be a function")}jr.started=true;var Rn,ui;function Ca(zp,...Oy){if(zp)return pt?ui(zp):Rn();if(Oy.length<=1)return Rn(Oy[0]);Rn(Oy)}o(Ca,"promiseCallback");var am=jr._createTaskItem(dt,pt?Ca:_r||Ca);if(Qe){jr._tasks.unshift(am)}else{jr._tasks.push(am)}if(!qr){qr=true;c(()=>{qr=false;jr.process()})}if(pt||!_r){return new Promise((zp,Oy)=>{Rn=zp;ui=Oy})}}o(vr,"_insert");function xa(dt){return function(Qe,...pt){de-=1;for(var _r=0,Rn=dt.length;_r<Rn;_r++){var ui=dt[_r];var Ca=fe.indexOf(ui);if(Ca===0){fe.shift()}else if(Ca>0){fe.splice(Ca,1)}ui.callback(Qe,...pt);if(Qe!=null){pr("error",Qe,ui.data)}}if(de<=jr.concurrency-jr.buffer){pr("unsaturated")}if(jr.idle()){pr("drain")}jr.process()}}o(xa,"_createCB");function sm(dt){if(dt.length===0&&jr.idle()){c(()=>pr("drain"));return true}return false}o(sm,"_maybeDrain");const Gp=o(dt=>Qe=>{if(!Qe){return new Promise((pt,_r)=>{xe(dt,(Rn,ui)=>{if(Rn)return _r(Rn);pt(ui)})})}Xe(dt);be(dt,Qe)},"eventMethod");var Ny=false;var jr={_tasks:new le,_createTaskItem(dt,Qe){return{data:dt,callback:Qe}},*[Symbol.iterator](){yield*jr._tasks[Symbol.iterator]()},concurrency:L,payload:M,buffer:L/4,started:false,paused:false,push(dt,Qe){if(Array.isArray(dt)){if(sm(dt))return;return dt.map(pt=>vr(pt,false,false,Qe))}return vr(dt,false,false,Qe)},pushAsync(dt,Qe){if(Array.isArray(dt)){if(sm(dt))return;return dt.map(pt=>vr(pt,false,true,Qe))}return vr(dt,false,true,Qe)},kill(){Xe();jr._tasks.empty()},unshift(dt,Qe){if(Array.isArray(dt)){if(sm(dt))return;return dt.map(pt=>vr(pt,true,false,Qe))}return vr(dt,true,false,Qe)},unshiftAsync(dt,Qe){if(Array.isArray(dt)){if(sm(dt))return;return dt.map(pt=>vr(pt,true,true,Qe))}return vr(dt,true,true,Qe)},remove(dt){jr._tasks.remove(dt)},process(){if(Ny){return}Ny=true;while(!jr.paused&&de<jr.concurrency&&jr._tasks.length){var dt=[],Qe=[];var pt=jr._tasks.length;if(jr.payload)pt=Math.min(pt,jr.payload);for(var _r=0;_r<pt;_r++){var Rn=jr._tasks.shift();dt.push(Rn);fe.push(Rn);Qe.push(Rn.data)}de+=1;if(jr._tasks.length===0){pr("empty")}if(de===jr.concurrency){pr("saturated")}var ui=U(xa(dt));ee(Qe,ui)}Ny=false},length(){return jr._tasks.length},running(){return de},workersList(){return fe},idle(){return jr._tasks.length+de===0},pause(){jr.paused=true},resume(){if(jr.paused===false){return}jr.paused=false;c(jr.process)}};Object.defineProperties(jr,{saturated:{writable:false,value:Gp("saturated")},unsaturated:{writable:false,value:Gp("unsaturated")},empty:{writable:false,value:Gp("empty")},drain:{writable:false,value:Gp("drain")},error:{writable:false,value:Gp("error")}});return jr}o(De,"queue");function Ye(F,L){return De(F,1,L)}o(Ye,"cargo");function gt(F,L,M){return De(F,L,M)}o(gt,"cargo$1");function Qt(F,L,M,ee){ee=T(ee);var de=y(M);return Me(F,(fe,ve,be)=>{de(L,fe,(xe,Xe)=>{L=Xe;be(xe)})},fe=>ee(fe,L))}o(Qt,"reduce");var sr=v(Qt,4);function yt(...F){var L=F.map(y);return function(...M){var ee=this;var de=M[M.length-1];if(typeof de=="function"){M.pop()}else{de=O()}sr(L,M,(fe,ve,be)=>{ve.apply(ee,fe.concat((xe,...Xe)=>{be(xe,Xe)}))},(fe,ve)=>de(fe,...ve));return de[C]}}o(yt,"seq");function St(...F){return yt(...F.reverse())}o(St,"compose");function ct(F,L,M,ee){return E(oe(L),F,M,ee)}o(ct,"mapLimit");var Wr=v(ct,4);function j(F,L,M,ee){var de=y(M);return Wr(F,L,(fe,ve)=>{de(fe,(be,...xe)=>{if(be)return ve(be);return ve(be,xe)})},(fe,ve)=>{var be=[];for(var xe=0;xe<ve.length;xe++){if(ve[xe]){be=be.concat(...ve[xe])}}return ee(fe,be)})}o(j,"concatLimit");var $=v(j,4);function He(F,L,M){return $(F,Infinity,L,M)}o(He,"concat");var ar=v(He,3);function ai(F,L,M){return $(F,1,L,M)}o(ai,"concatSeries");var yr=v(ai,3);function Tt(...F){return function(...L){var M=L.pop();return M(null,...F)}}o(Tt,"constant");function Ao(F,L){return(M,ee,de,fe)=>{var ve=false;var be;const xe=y(de);M(ee,(Xe,pr,qr)=>{xe(Xe,(vr,xa)=>{if(vr||vr===false)return qr(vr);if(F(xa)&&!be){ve=true;be=L(true,Xe);return qr(null,S)}qr()})},Xe=>{if(Xe)return fe(Xe);fe(null,ve?be:L(false))})}}o(Ao,"_createTester");function qn(F,L,M){return Ao(ee=>ee,(ee,de)=>de)(Pe,F,L,M)}o(qn,"detect");var Ta=v(qn,3);function hA(F,L,M,ee){return Ao(de=>de,(de,fe)=>fe)(oe(L),F,M,ee)}o(hA,"detectLimit");var Ki=v(hA,4);function cs(F,L,M){return Ao(ee=>ee,(ee,de)=>de)(oe(1),F,L,M)}o(cs,"detectSeries");var Is=v(cs,3);function xo(F){return(L,...M)=>y(L)(...M,(ee,...de)=>{if(typeof console==="object"){if(ee){if(console.error){console.error(ee)}}else if(console[F]){de.forEach(fe=>console[F](fe))}}})}o(xo,"consoleFunc");var Co=xo("dir");function em(F,L,M){M=U(M);var ee=y(F);var de=y(L);var fe;function ve(xe,...Xe){if(xe)return M(xe);if(xe===false)return;fe=Xe;de(...Xe,be)}o(ve,"next");function be(xe,Xe){if(xe)return M(xe);if(xe===false)return;if(!Xe)return M(null,...fe);ee(ve)}o(be,"check");return be(null,true)}o(em,"doWhilst");var Yi=v(em,3);function by(F,L,M){const ee=y(L);return Yi(F,(...de)=>{const fe=de.pop();ee(...de,(ve,be)=>fe(ve,!be))},M)}o(by,"doUntil");function fE(F){return(L,M,ee)=>F(L,ee)}o(fE,"_withoutIndex");function hE(F,L,M){return Pe(F,fE(y(L)),M)}o(hE,"eachLimit");var tm=v(hE,3);function mE(F,L,M,ee){return oe(L)(F,fE(y(M)),ee)}o(mE,"eachLimit$1");var Z=v(mE,4);function H(F,L,M){return Z(F,1,L,M)}o(H,"eachSeries");var re=v(H,3);function pe(F){if(h(F))return F;return function(...L){var M=L.pop();var ee=true;L.push((...de)=>{if(ee){c(()=>M(...de))}else{M(...de)}});F.apply(this,L);ee=false}}o(pe,"ensureAsync");function me(F,L,M){return Ao(ee=>!ee,ee=>!ee)(Pe,F,L,M)}o(me,"every");var je=v(me,3);function Ct(F,L,M,ee){return Ao(de=>!de,de=>!de)(oe(L),F,M,ee)}o(Ct,"everyLimit");var Kt=v(Ct,4);function Lr(F,L,M){return Ao(ee=>!ee,ee=>!ee)(Me,F,L,M)}o(Lr,"everySeries");var hn=v(Lr,3);function or(F,L,M,ee){var de=new Array(L.length);F(L,(fe,ve,be)=>{M(fe,(xe,Xe)=>{de[ve]=!!Xe;be(xe)})},fe=>{if(fe)return ee(fe);var ve=[];for(var be=0;be<L.length;be++){if(de[be])ve.push(L[be])}ee(null,ve)})}o(or,"filterArray");function mn(F,L,M,ee){var de=[];F(L,(fe,ve,be)=>{M(fe,(xe,Xe)=>{if(xe)return be(xe);if(Xe){de.push({index:ve,value:fe})}be(xe)})},fe=>{if(fe)return ee(fe);ee(null,de.sort((ve,be)=>ve.index-be.index).map(ve=>ve.value))})}o(mn,"filterGeneric");function gn(F,L,M,ee){var de=b(L)?or:mn;return de(F,L,y(M),ee)}o(gn,"_filter");function cn(F,L,M){return gn(Pe,F,L,M)}o(cn,"filter");var Xt=v(cn,3);function yn(F,L,M,ee){return gn(oe(L),F,M,ee)}o(yn,"filterLimit");var xr=v(yn,4);function Sl(F,L,M){return gn(Me,F,L,M)}o(Sl,"filterSeries");var oi=v(Sl,3);function Ps(F,L){var M=U(L);var ee=y(pe(F));function de(fe){if(fe)return M(fe);if(fe===false)return;ee(de)}o(de,"next");return de()}o(Ps,"forever");var Gr=v(Ps,2);function ds(F,L,M,ee){var de=y(M);return Wr(F,L,(fe,ve)=>{de(fe,(be,xe)=>{if(be)return ve(be);return ve(be,{key:xe,val:fe})})},(fe,ve)=>{var be={};var{hasOwnProperty:xe}=Object.prototype;for(var Xe=0;Xe<ve.length;Xe++){if(ve[Xe]){var{key:pr}=ve[Xe];var{val:qr}=ve[Xe];if(xe.call(be,pr)){be[pr].push(qr)}else{be[pr]=[qr]}}}return ee(fe,be)})}o(ds,"groupByLimit");var Si=v(ds,4);function da(F,L,M){return Si(F,Infinity,L,M)}o(da,"groupBy");function fu(F,L,M){return Si(F,1,L,M)}o(fu,"groupBySeries");var Aa=xo("log");function Up(F,L,M,ee){ee=T(ee);var de={};var fe=y(M);return oe(L)(F,(ve,be,xe)=>{fe(ve,be,(Xe,pr)=>{if(Xe)return xe(Xe);de[be]=pr;xe(Xe)})},ve=>ee(ve,de))}o(Up,"mapValuesLimit");var Tl=v(Up,4);function Bp(F,L,M){return Tl(F,Infinity,L,M)}o(Bp,"mapValues");function Al(F,L,M){return Tl(F,1,L,M)}o(Al,"mapValuesSeries");function xl(F,L=M=>M){var M=Object.create(null);var ee=Object.create(null);var de=y(F);var fe=r((ve,be)=>{var xe=L(...ve);if(xe in M){c(()=>be(null,...M[xe]))}else if(xe in ee){ee[xe].push(be)}else{ee[xe]=[be];de(...ve,(Xe,...pr)=>{if(!Xe){M[xe]=pr}var qr=ee[xe];delete ee[xe];for(var vr=0,xa=qr.length;vr<xa;vr++){qr[vr](Xe,...pr)}})}});fe.memo=M;fe.unmemoized=F;return fe}o(xl,"memoize");var Ds;if(s){Ds=process.nextTick}else if(i){Ds=setImmediate}else{Ds=a}var Cl=u(Ds);var Fp=v((F,L,M)=>{var ee=b(L)?[]:{};F(L,(de,fe,ve)=>{y(de)((be,...xe)=>{if(xe.length<2){[xe]=xe}ee[fe]=xe;ve(be)})},de=>M(de,ee))},3);function hu(F,L){return Fp(Pe,F,L)}o(hu,"parallel$1");function gE(F,L,M){return Fp(oe(L),F,M)}o(gE,"parallelLimit");function wy(F,L){var M=y(F);return De((ee,de)=>{M(ee[0],de)},L,1)}o(wy,"queue$1");class yE{static{o(this,"Heap")}constructor(){this.heap=[];this.pushCount=Number.MIN_SAFE_INTEGER}get length(){return this.heap.length}empty(){this.heap=[];return this}percUp(L){let M;while(L>0&&rm(this.heap[L],this.heap[M=Dc(L)])){let ee=this.heap[L];this.heap[L]=this.heap[M];this.heap[M]=ee;L=M}}percDown(L){let M;while((M=Mp(L))<this.heap.length){if(M+1<this.heap.length&&rm(this.heap[M+1],this.heap[M])){M=M+1}if(rm(this.heap[L],this.heap[M])){break}let ee=this.heap[L];this.heap[L]=this.heap[M];this.heap[M]=ee;L=M}}push(L){L.pushCount=++this.pushCount;this.heap.push(L);this.percUp(this.heap.length-1)}unshift(L){return this.heap.push(L)}shift(){let[L]=this.heap;this.heap[0]=this.heap[this.heap.length-1];this.heap.pop();this.percDown(0);return L}toArray(){return[...this]}*[Symbol.iterator](){for(let L=0;L<this.heap.length;L++){yield this.heap[L].data}}remove(L){let M=0;for(let ee=0;ee<this.heap.length;ee++){if(!L(this.heap[ee])){this.heap[M]=this.heap[ee];M++}}this.heap.splice(M);for(let ee=Dc(this.heap.length-1);ee>=0;ee--){this.percDown(ee)}return this}}function Mp(F){return(F<<1)+1}o(Mp,"leftChi");function Dc(F){return(F+1>>1)-1}o(Dc,"parent");function rm(F,L){if(F.priority!==L.priority){return F.priority<L.priority}else{return F.pushCount<L.pushCount}}o(rm,"smaller");function kc(F,L){var M=wy(F,L);var{push:ee,pushAsync:de}=M;M._tasks=new yE;M._createTaskItem=({data:ve,priority:be},xe)=>{return{data:ve,priority:be,callback:xe}};function fe(ve,be){if(!Array.isArray(ve)){return{data:ve,priority:be}}return ve.map(xe=>{return{data:xe,priority:be}})}o(fe,"createDataItems");M.push=function(ve,be=0,xe){return ee(fe(ve,be),xe)};M.pushAsync=function(ve,be=0,xe){return de(fe(ve,be),xe)};delete M.unshift;delete M.unshiftAsync;return M}o(kc,"priorityQueue");function mA(F,L){L=T(L);if(!Array.isArray(F))return L(new TypeError("First argument to race must be an array of functions"));if(!F.length)return L();for(var M=0,ee=F.length;M<ee;M++){y(F[M])(L)}}o(mA,"race");var Sy=v(mA,2);function nm(F,L,M,ee){var de=[...F].reverse();return sr(de,L,M,ee)}o(nm,"reduceRight");function ks(F){var L=y(F);return r(o(function M(ee,de){ee.push((fe,...ve)=>{let be={};if(fe){be.error=fe}if(ve.length>0){var xe=ve;if(ve.length<=1){[xe]=ve}be.value=xe}de(null,be)});return L.apply(this,ee)},"reflectOn"))}o(ks,"reflect");function Rl(F){var L;if(Array.isArray(F)){L=F.map(ks)}else{L={};Object.keys(F).forEach(M=>{L[M]=ks.call(this,F[M])})}return L}o(Rl,"reflectAll");function Vp(F,L,M,ee){const de=y(M);return gn(F,L,(fe,ve)=>{de(fe,(be,xe)=>{ve(be,!xe)})},ee)}o(Vp,"reject");function im(F,L,M){return Vp(Pe,F,L,M)}o(im,"reject$1");var Nl=v(im,3);function yG(F,L,M,ee){return Vp(oe(L),F,M,ee)}o(yG,"rejectLimit");var Ol=v(yG,4);function Hp(F,L,M){return Vp(Me,F,L,M)}o(Hp,"rejectSeries");var Ty=v(Hp,3);function vE(F){return function(){return F}}o(vE,"constant$1");const Ay=5;const _E=0;function xy(F,L,M){var ee={times:Ay,intervalFunc:vE(_E)};if(arguments.length<3&&typeof F==="function"){M=L||O();L=F}else{vG(ee,F);M=M||O()}if(typeof L!=="function"){throw new Error("Invalid arguments for async.retry")}var de=y(L);var fe=1;function ve(){de((be,...xe)=>{if(be===false)return;if(be&&fe++<ee.times&&(typeof ee.errorFilter!="function"||ee.errorFilter(be))){setTimeout(ve,ee.intervalFunc(fe-1))}else{M(be,...xe)}})}o(ve,"retryAttempt");ve();return M[C]}o(xy,"retry");function vG(F,L){if(typeof L==="object"){F.times=+L.times||Ay;F.intervalFunc=typeof L.interval==="function"?L.interval:vE(+L.interval||_E);F.errorFilter=L.errorFilter}else if(typeof L==="number"||typeof L==="string"){F.times=+L||Ay}else{throw new Error("Invalid arguments for async.retry")}}o(vG,"parseTimes");function gA(F,L){if(!L){L=F;F=null}let M=F&&F.arity||L.length;if(h(L)){M+=1}var ee=y(L);return r((de,fe)=>{if(de.length<M-1||fe==null){de.push(fe);fe=O()}function ve(be){ee(...de,be)}o(ve,"taskFn");if(F)xy(F,ve,fe);else xy(ve,fe);return fe[C]})}o(gA,"retryable");function yA(F,L){return Fp(Me,F,L)}o(yA,"series");function _G(F,L,M){return Ao(Boolean,ee=>ee)(Pe,F,L,M)}o(_G,"some");var Cy=v(_G,3);function EG(F,L,M,ee){return Ao(Boolean,de=>de)(oe(L),F,M,ee)}o(EG,"someLimit");var EE=v(EG,4);function _we(F,L,M){return Ao(Boolean,ee=>ee)(Me,F,L,M)}o(_we,"someSeries");var bE=v(_we,3);function Ewe(F,L,M){var ee=y(L);return qe(F,(fe,ve)=>{ee(fe,(be,xe)=>{if(be)return ve(be);ve(be,{value:fe,criteria:xe})})},(fe,ve)=>{if(fe)return M(fe);M(null,ve.sort(de).map(be=>be.value))});function de(fe,ve){var be=fe.criteria,xe=ve.criteria;return be<xe?-1:be>xe?1:0}o(de,"comparator")}o(Ewe,"sortBy");var bG=v(Ewe,3);function wG(F,L,M){var ee=y(F);return r((de,fe)=>{var ve=false;var be;function xe(){var Xe=F.name||"anonymous";var pr=new Error('Callback function "'+Xe+'" timed out.');pr.code="ETIMEDOUT";if(M){pr.info=M}ve=true;fe(pr)}o(xe,"timeoutCallback");de.push((...Xe)=>{if(!ve){fe(...Xe);clearTimeout(be)}});be=setTimeout(xe,L);ee(...de)})}o(wG,"timeout");function bwe(F){var L=Array(F);while(F--){L[F]=F}return L}o(bwe,"range");function wE(F,L,M,ee){var de=y(M);return Wr(bwe(F),L,de,ee)}o(wE,"timesLimit");function SG(F,L,M){return wE(F,Infinity,L,M)}o(SG,"times");function TG(F,L,M){return wE(F,1,L,M)}o(TG,"timesSeries");function AG(F,L,M,ee){if(arguments.length<=3&&typeof L==="function"){ee=M;M=L;L=Array.isArray(F)?[]:{}}ee=T(ee||O());var de=y(M);Pe(F,(fe,ve,be)=>{de(L,fe,ve,be)},fe=>ee(fe,L));return ee[C]}o(AG,"transform");function wwe(F,L){var M=null;var ee;return re(F,(de,fe)=>{y(de)((ve,...be)=>{if(ve===false)return fe(ve);if(be.length<2){[ee]=be}else{ee=be}M=ve;fe(ve?null:{})})},()=>L(M,ee))}o(wwe,"tryEach");var xG=v(wwe);function CG(F){return(...L)=>{return(F.unmemoized||F)(...L)}}o(CG,"unmemoize");function Swe(F,L,M){M=U(M);var ee=y(L);var de=y(F);var fe=[];function ve(xe,...Xe){if(xe)return M(xe);fe=Xe;if(xe===false)return;de(be)}o(ve,"next");function be(xe,Xe){if(xe)return M(xe);if(xe===false)return;if(!Xe)return M(null,...fe);ee(ve)}o(be,"check");return de(be)}o(Swe,"whilst");var Ry=v(Swe,3);function RG(F,L,M){const ee=y(F);return Ry(de=>ee((fe,ve)=>de(fe,!ve)),L,M)}o(RG,"until");function Twe(F,L){L=T(L);if(!Array.isArray(F))return L(new Error("First argument to waterfall must be an array of functions"));if(!F.length)return L();var M=0;function ee(fe){var ve=y(F[M++]);ve(...fe,U(de))}o(ee,"nextTask");function de(fe,...ve){if(fe===false)return;if(fe||M===F.length){return L(fe,...ve)}ee(ve)}o(de,"next");ee([])}o(Twe,"waterfall");var NG=v(Twe);var Awe={apply:e,applyEach:ge,applyEachSeries:ze,asyncify:d,auto:q,autoInject:ie,cargo:Ye,cargoQueue:gt,compose:St,concat:ar,concatLimit:$,concatSeries:yr,constant:Tt,detect:Ta,detectLimit:Ki,detectSeries:Is,dir:Co,doUntil:by,doWhilst:Yi,each:tm,eachLimit:Z,eachOf:Pe,eachOfLimit:ue,eachOfSeries:Me,eachSeries:re,ensureAsync:pe,every:je,everyLimit:Kt,everySeries:hn,filter:Xt,filterLimit:xr,filterSeries:oi,forever:Gr,groupBy:da,groupByLimit:Si,groupBySeries:fu,log:Aa,map:qe,mapLimit:Wr,mapSeries:Ze,mapValues:Bp,mapValuesLimit:Tl,mapValuesSeries:Al,memoize:xl,nextTick:Cl,parallel:hu,parallelLimit:gE,priorityQueue:kc,queue:wy,race:Sy,reduce:sr,reduceRight:nm,reflect:ks,reflectAll:Rl,reject:Nl,rejectLimit:Ol,rejectSeries:Ty,retry:xy,retryable:gA,seq:yt,series:yA,setImmediate:c,some:Cy,someLimit:EE,someSeries:bE,sortBy:bG,timeout:wG,times:SG,timesLimit:wE,timesSeries:TG,transform:AG,tryEach:xG,unmemoize:CG,until:RG,waterfall:NG,whilst:Ry,all:je,allLimit:Kt,allSeries:hn,any:Cy,anyLimit:EE,anySeries:bE,find:Ta,findLimit:Ki,findSeries:Is,flatMap:ar,flatMapLimit:$,flatMapSeries:yr,forEach:tm,forEachSeries:re,forEachLimit:Z,forEachOf:Pe,forEachOfSeries:Me,forEachOfLimit:ue,inject:sr,foldl:sr,foldr:nm,select:Xt,selectLimit:xr,selectSeries:oi,wrapSync:d,during:Ry,doDuring:Yi};t.default=Awe;t.apply=e;t.applyEach=ge;t.applyEachSeries=ze;t.asyncify=d;t.auto=q;t.autoInject=ie;t.cargo=Ye;t.cargoQueue=gt;t.compose=St;t.concat=ar;t.concatLimit=$;t.concatSeries=yr;t.constant=Tt;t.detect=Ta;t.detectLimit=Ki;t.detectSeries=Is;t.dir=Co;t.doUntil=by;t.doWhilst=Yi;t.each=tm;t.eachLimit=Z;t.eachOf=Pe;t.eachOfLimit=ue;t.eachOfSeries=Me;t.eachSeries=re;t.ensureAsync=pe;t.every=je;t.everyLimit=Kt;t.everySeries=hn;t.filter=Xt;t.filterLimit=xr;t.filterSeries=oi;t.forever=Gr;t.groupBy=da;t.groupByLimit=Si;t.groupBySeries=fu;t.log=Aa;t.map=qe;t.mapLimit=Wr;t.mapSeries=Ze;t.mapValues=Bp;t.mapValuesLimit=Tl;t.mapValuesSeries=Al;t.memoize=xl;t.nextTick=Cl;t.parallel=hu;t.parallelLimit=gE;t.priorityQueue=kc;t.queue=wy;t.race=Sy;t.reduce=sr;t.reduceRight=nm;t.reflect=ks;t.reflectAll=Rl;t.reject=Nl;t.rejectLimit=Ol;t.rejectSeries=Ty;t.retry=xy;t.retryable=gA;t.seq=yt;t.series=yA;t.setImmediate=c;t.some=Cy;t.someLimit=EE;t.someSeries=bE;t.sortBy=bG;t.timeout=wG;t.times=SG;t.timesLimit=wE;t.timesSeries=TG;t.transform=AG;t.tryEach=xG;t.unmemoize=CG;t.until=RG;t.waterfall=NG;t.whilst=Ry;t.all=je;t.allLimit=Kt;t.allSeries=hn;t.any=Cy;t.anyLimit=EE;t.anySeries=bE;t.find=Ta;t.findLimit=Ki;t.findSeries=Is;t.flatMap=ar;t.flatMapLimit=$;t.flatMapSeries=yr;t.forEach=tm;t.forEachSeries=re;t.forEachLimit=Z;t.forEachOf=Pe;t.forEachOfSeries=Me;t.forEachOfLimit=ue;t.inject=sr;t.foldl=sr;t.foldr=nm;t.select=Xt;t.selectLimit=xr;t.selectSeries=oi;t.wrapSync=d;t.during=Ry;t.doDuring=Yi;Object.defineProperty(t,"__esModule",{value:true})})});var OL=_((tKt,khe)=>{var Phe=Ihe();var _lt=50;function Dhe(t,e){if(!t||t.length<=_lt){return e}return(r,n)=>e(r,(...i)=>setImmediate(n,...i))}o(Dhe,"safeIteratee");function Elt(t,e,r){return Phe.each(t,Dhe(t,e),r)}o(Elt,"safeAsyncEach");function blt(t,e,r){return Phe.eachSeries(t,Dhe(t,e),r)}o(blt,"safeAsyncEachSeries");khe.exports={safeAsyncEach:Elt,safeAsyncEachSeries:blt}});var Yhe=_((nKt,Khe)=>{var wlt=require("crypto");var Slt=Nhe();var $he=require("util");var{safeAsyncEachSeries:o1}=OL();var V_=SL();var{checkContext:Tlt}=F_();var Alt=["key","ip","country","email","firstName","lastName","avatar","name","anonymous"];var xlt={HEALTHY:1,STALE:2,STORE_ERROR:3,NOT_CONFIGURED:4};function Clt(t){if(t.kind===void 0&&typeof t.key!=="string"){return{...t,key:String(t.key)}}return t}o(Clt,"stringifyContextAttrs");var Rlt=o(()=>{},"noop");function Nlt(t){const e={};e.evaluate=(r,n,i,s)=>{Olt(r,n,t,i,s)};return e}o(Nlt,"Evaluator");function Olt(t,e,r,n,i){const s=i||Rlt;if(!Tlt(e,true)){s(null,qu("USER_NOT_SPECIFIED"),[]);return}if(!t){s(null,qu("FLAG_NOT_FOUND"),[]);return}const a=Clt(e);const u={};Mhe(t,a,r,u,n,[t.key],(l,c)=>{const d=c;if(u.bigSegmentsStatus){d.reason.bigSegmentsStatus=u.bigSegmentsStatus}s(l,d,u.events)})}o(Olt,"evaluate");function Mhe(t,e,r,n,i,s,a){if(!t.on){Bhe(t,{kind:"OFF"},a);return}Ilt(t,e,r,n,i,s,(u,l)=>{if(n.error){a(...n.error);return}if(u||l){Bhe(t,l,a)}else{Plt(t,e,r,n,a)}})}o(Mhe,"evalInternal");function Ilt(t,e,r,n,i,s,a){if(t.prerequisites&&t.prerequisites.length){o1(t.prerequisites,(u,l)=>{if(s.indexOf(u.key)!==-1){n.error=[new Error(`Prerequisite of ${t.key} causing a circular reference. This is probably a temporary condition due to an incomplete update.`),qu("MALFORMED_FLAG")];l(null);return}const c=[...s,u.key];r.getFlag(u.key,d=>{if(!d){l({key:u.key,err:new Error('Could not retrieve prerequisite feature flag "'+u.key+'"')});return}Mhe(d,e,r,n,i,c,(p,f)=>{n.events=n.events||[];n.events.push(i.newEvalEvent(d,e,f,null,t));if(p){l({key:u.key,err:p})}else if(!d.on||f.variationIndex!==u.variation){l({key:u.key})}else{l(null)}})})},u=>{if(u){a(u.err,{kind:"PREREQUISITE_FAILED",prerequisiteKey:u.key})}else{a(null,null)}})}else{a(null,null)}}o(Ilt,"checkPrerequisites");function Plt(t,e,r,n,i){if(Dlt(t,e,i)){return}o1(t.rules,(s,a)=>{klt(s,e,r,n,u=>{a(u?s:null)},[])},s=>{if(n.error){return i(...n.error)}if(s){const a=s;const u={kind:"RULE_MATCH",ruleId:a.id};for(let l=0;l<t.rules.length;l++){if(t.rules[l].id===a.id){u.ruleIndex=l;break}}Fhe(a,e,t,u,i)}else{Fhe(t.fallthrough,e,t,{kind:"FALLTHROUGH"},i)}})}o(Plt,"evalRules");function IL(t,e,r,n){if(!e.values){return false}const i=H_(r,e.contextKind);if(!i){return false}const s=i.key;return e.values.some(a=>{if(a===s){DL(t,e.variation,{kind:"TARGET_MATCH"},n);return true}return false})}o(IL,"evalTarget");function Dlt(t,e,r){if(!t.contextTargets||!t.contextTargets.length){return t.targets&&t.targets.some(n=>IL(t,n,e,r))}return t.contextTargets.some(n=>{if(!n.contextKind||n.contextKind==="user"){const i=(t.targets||[]).find(s=>s.variation===n.variation);return i&&IL(t,i,e,r)}else{return IL(t,n,e,r)}})}o(Dlt,"evalTargets");function klt(t,e,r,n,i,s){if(!t.clauses){i(false);return}o1(t.clauses,(a,u)=>{Vhe(a,e,r,n,l=>{u(l?null:a)},s)},a=>{i(!a)})}o(klt,"ruleMatchContext");function Vhe(t,e,r,n,i,s){if(t.op==="segmentMatch"){o1(t.values,(a,u)=>{r.getSegment(a,l=>{if(l){if(s.indexOf(l.key)>=0){n.error=[new Error(`Segment rule referencing segment ${l.key} caused a circular reference. This is probably a temporary condition due to an incomplete update`),qu("MALFORMED_FLAG")];return u(true)}const c=[...s,l.key];qlt(l,e,r,n,d=>u(d?l:null),c)}else{return u(null)}})},a=>{i(E9(t,!!a))})}else{i(Llt(t,e,n))}}o(Vhe,"clauseMatchContext");function $lt(t,e){const r=t.contextKind||"user";const n=V_.isKind(t.attribute);if(n&&e.kind!=="multi"){return[true,e.kind||"user"]}else if(n){return[true,Object.keys(e).filter(i=>i!=="kind")]}return Ghe(e,r,t.attribute,!t.contextKind)}o($lt,"getContextValueForClause");function Llt(t,e,r){const n=Slt.fn(t.op);const[i,s]=$lt(t,e);if(!i){r.error=[new Error("Invalid attribute reference in clause"),qu("MALFORMED_FLAG")];return false}if(s===null||s===void 0){return false}if(Array.isArray(s)){for(let a=0;a<s.length;a++){if(Uhe(n,s[a],t.values)){return E9(t,true)}}return E9(t,false)}return E9(t,Uhe(n,s,t.values))}o(Llt,"clauseMatchContextNoSegments");function Lhe(t){return xlt[t]||0}o(Lhe,"getBigSegmentsStatusPriority");function PL(t,e){if(t!==void 0&&Lhe(t)>Lhe(e)){return t}return e}o(PL,"computeUpdatedBigSegmentsStatus");function qlt(t,e,r,n,i,s){if(!t.unbounded){return Hhe(t,e,true,r,n,i,s)}if(!t.generation){n.bigSegmentsStatus=PL(n.bigSegmentsStatus,"NOT_CONFIGURED");return i(false)}const a=t.unboundedContextKind||"user";const u=H_(e,a);if(!u){return i(false)}if(n.bigSegmentsMembership&&n.bigSegmentsMembership[u.key]){return qhe(n.bigSegmentsMembership[u.key],t,u,r,n,i)}r.getBigSegmentsMembership(u.key,l=>{n.bigSegmentsMembership=n.bigSegmentsMembership||{};if(l){n.bigSegmentsMembership[u.key]=l[0];n.bigSegmentsStatus=PL(n.bigSegmentsStatus,l[1])}else{n.bigSegmentsStatus=PL(n.bigSegmentsStatus,"NOT_CONFIGURED")}return qhe(n.bigSegmentsMembership[u.key],t,u,r,n,i)})}o(qlt,"segmentMatchContext");function qhe(t,e,r,n,i,s){const a=zhe(e);const u=t&&t[a];if(u!==void 0){return s(u)}return Hhe(e,r,false,n,i,s)}o(qhe,"bigSegmentMatchContext");function H_(t,e){const r=e||"user";if(t.kind==="multi"){return t[r]}else if(t.kind===r||t.kind===void 0&&r==="user"){return t}return void 0}o(H_,"getContextForKind");function jhe(t,e,r){const n=r.kind||"user";for(const{contextKind:s,values:a}of t){const u=H_(r,s);if(u){if(a.indexOf(u.key)>=0){return[true,true]}}}const i=n==="user"?r:r["user"];if(i){if(e.indexOf(i.key)>=0){return[true,true]}}return[false,false]}o(jhe,"segmentSearch");function Hhe(t,e,r,n,i,s,a){if(r){const u=jhe(t.includedContexts||[],t.included||[],e);if(u[0]){return s(u[1])}const l=jhe(t.excludedContexts||[],t.excluded||[],e);if(l[0]){return s(!l[1])}}o1(t.rules||[],(u,l)=>{jlt(u,e,t.key,t.salt,n,i,c=>{l(c?c:null)},a)},u=>{s(u)})}o(Hhe,"simpleSegmentMatchContext");function jlt(t,e,r,n,i,s,a,u){o1(t.clauses,(l,c)=>{Vhe(l,e,i,s,d=>{c(d?null:l)},u)},l=>{if(l){return a(false)}if(t.weight===void 0||t.weight===null){return a(true)}const{invalid:c,refAttr:d}=kL(!t.contextKind,t.bucketBy||"key");if(c){s.error=[new Error("Invalid attribute reference in rule."),qu("MALFORMED_FLAG")];return a(false)}const[p]=$L(e,r,d,n,t.contextKind);const f=t.weight/1e5;return a(p<f)})}o(jlt,"segmentRuleMatchContext");function E9(t,e){if(t.negate){return!e}else{return e}}o(E9,"maybeNegate");function Uhe(t,e,r){for(let n=0;n<r.length;n++){if(t(e,r[n])){return true}}return false}o(Uhe,"matchAny");function DL(t,e,r,n){if(e===null||e===void 0||e<0||e>=t.variations.length){n(new Error("Invalid variation index in flag"),qu("MALFORMED_FLAG"))}else{n(null,{value:t.variations[e],variationIndex:e,reason:r})}}o(DL,"getVariation");function Bhe(t,e,r){if(t.offVariation===null||t.offVariation===void 0){r(null,{value:null,variationIndex:null,reason:e})}else{DL(t,t.offVariation,e,r)}}o(Bhe,"getOffResult");function Fhe(t,e,r,n,i){if(!t){i(new Error("Fallthrough variation undefined"),qu("MALFORMED_FLAG"))}else{const[s,a,u]=Ult(t,e,r);if(u!==void 0){i(...u)}else if(s===null||s===void 0){i(new Error("Variation/rollout object with no variation or rollout"),qu("MALFORMED_FLAG"))}else{const l=n;if(a){l.inExperiment=true}DL(r,s,l,i)}}}o(Fhe,"getResultForVariationOrRollout");function qu(t){return{value:null,variationIndex:null,reason:{kind:"ERROR",errorKind:t}}}o(qu,"errorResult");function Ult(t,e,r){if(t.variation!==null&&t.variation!==void 0){return[t.variation,false,void 0]}const n=t.rollout;if(n){const i=n.kind==="experiment";const s=n.variations;if(s&&s.length>0){const a=i?"key":n.bucketBy||"key";const{invalid:u,refAttr:l}=kL(!n.contextKind,a);if(u){return[void 0,void 0,[new Error("Invalid attribute reference for bucketBy in rollout"),qu("MALFORMED_FLAG")]]}const[c,d]=$L(e,r.key,l,r.salt,n.seed,n.contextKind);let p=0;for(let h=0;h<s.length;h++){const m=s[h];p+=m.weight/1e5;if(c<p){return[m.variation,i&&d&&!m.untracked,void 0]}}const f=s[s.length-1];return[f.variation,i&&!f.untracked,void 0]}}return[null,false]}o(Ult,"variationForUser");function Blt(t,e){if(Alt.some(r=>V_.compare(e,r))){return M_(t,e)}if(t.custom){return M_(t.custom,e)}return null}o(Blt,"legacyUserValue");function M_(t,e){const r=V_.get(t,e);if(typeof r==="object"&&!Array.isArray(r)){return void 0}return r}o(M_,"contextValueByReference");function Flt(t){return t&&t.startsWith("/")?V_.literalToReference(t):t}o(Flt,"legacyAttributeToReference");function Ghe(t,e,r,n){const{invalid:i,refAttr:s}=kL(n,r);if(i){return[!i,void 0]}if(r==="anonymous"){const a=H_(t,e);return[true,M_(a,s)||false]}if(!t.kind){if(e==="user"){return[true,Blt(t,s)]}return[true,void 0]}else if(t.kind==="multi"){return[true,M_(t[e],s)]}else if(t.kind===e){return[true,M_(t,s)]}return[true,void 0]}o(Ghe,"contextValue");function kL(t,e){const r=t?Flt(e):e;const n=e===""||r.startsWith("/")&&!V_.isValidReference(r);return{invalid:n,refAttr:r}}o(kL,"validateReference");function $L(t,e,r,n,i,s){const a=s||"user";const[,u]=Ghe(t,a,r,s===void 0);const l=Mlt(u);if(l===null){const f=H_(t,s);return[0,!!f]}const c=i?$he.format("%d.",i):$he.format("%s.%s.",e,n);const d=c+l;const p=parseInt(Vlt(d).substring(0,15),16);return[p/1152921504606847e3,true]}o($L,"bucketContext");function Mlt(t){if(typeof t==="string"){return t}if(Number.isInteger(t)){return""+t}return null}o(Mlt,"bucketableStringValue");function Vlt(t){const e=wlt.createHash("sha1");e.update(t);return e.digest("hex")}o(Vlt,"sha1Hex");function zhe(t){return t.key+".g"+t.generation}o(zhe,"makeBigSegmentRef");Khe.exports={Evaluator:Nlt,bucketContext:$L,makeBigSegmentRef:zhe}});var Xhe=_(u1=>{"use strict";var sKt=require("net");var Hlt=require("tls");var LL=require("http");var Whe=require("https");var Glt=require("events");var aKt=require("assert");var zlt=require("util");u1.httpOverHttp=Klt;u1.httpsOverHttp=Ylt;u1.httpOverHttps=Wlt;u1.httpsOverHttps=Jlt;function Klt(t){var e=new sc(t);e.request=LL.request;return e}o(Klt,"httpOverHttp");function Ylt(t){var e=new sc(t);e.request=LL.request;e.createSocket=Jhe;e.defaultPort=443;return e}o(Ylt,"httpsOverHttp");function Wlt(t){var e=new sc(t);e.request=Whe.request;return e}o(Wlt,"httpOverHttps");function Jlt(t){var e=new sc(t);e.request=Whe.request;e.createSocket=Jhe;e.defaultPort=443;return e}o(Jlt,"httpsOverHttps");function sc(t){var e=this;e.options=t||{};e.proxyOptions=e.options.proxy||{};e.maxSockets=e.options.maxSockets||LL.Agent.defaultMaxSockets;e.requests=[];e.sockets=[];e.on("free",o(function r(n,i,s,a){var u=Qhe(i,s,a);for(var l=0,c=e.requests.length;l<c;++l){var d=e.requests[l];if(d.host===u.host&&d.port===u.port){e.requests.splice(l,1);d.request.onSocket(n);return}}n.destroy();e.removeSocket(n)},"onFree"))}o(sc,"TunnelingAgent");zlt.inherits(sc,Glt.EventEmitter);sc.prototype.addRequest=o(function t(e,r,n,i){var s=this;var a=qL({request:e},s.options,Qhe(r,n,i));if(s.sockets.length>=this.maxSockets){s.requests.push(a);return}s.createSocket(a,function(u){u.on("free",l);u.on("close",c);u.on("agentRemove",c);e.onSocket(u);function l(){s.emit("free",u,a)}o(l,"onFree");function c(d){s.removeSocket(u);u.removeListener("free",l);u.removeListener("close",c);u.removeListener("agentRemove",c)}o(c,"onCloseOrRemove")})},"addRequest");sc.prototype.createSocket=o(function t(e,r){var n=this;var i={};n.sockets.push(i);var s=qL({},n.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){s.localAddress=e.localAddress}if(s.proxyAuth){s.headers=s.headers||{};s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")}$d("making CONNECT request");var a=n.request(s);a.useChunkedEncodingByDefault=false;a.once("response",u);a.once("upgrade",l);a.once("connect",c);a.once("error",d);a.end();function u(p){p.upgrade=true}o(u,"onResponse");function l(p,f,h){process.nextTick(function(){c(p,f,h)})}o(l,"onUpgrade");function c(p,f,h){a.removeAllListeners();f.removeAllListeners();if(p.statusCode!==200){$d("tunneling socket could not be established, statusCode=%d",p.statusCode);f.destroy();var m=new Error("tunneling socket could not be established, statusCode="+p.statusCode);m.code="ECONNRESET";e.request.emit("error",m);n.removeSocket(i);return}if(h.length>0){$d("got illegal response body from proxy");f.destroy();var m=new Error("got illegal response body from proxy");m.code="ECONNRESET";e.request.emit("error",m);n.removeSocket(i);return}$d("tunneling connection has established");n.sockets[n.sockets.indexOf(i)]=f;return r(f)}o(c,"onConnect");function d(p){a.removeAllListeners();$d("tunneling socket could not be established, cause=%s\n",p.message,p.stack);var f=new Error("tunneling socket could not be established, cause="+p.message);f.code="ECONNRESET";e.request.emit("error",f);n.removeSocket(i)}o(d,"onError")},"createSocket");sc.prototype.removeSocket=o(function t(e){var r=this.sockets.indexOf(e);if(r===-1){return}this.sockets.splice(r,1);var n=this.requests.shift();if(n){this.createSocket(n,function(i){n.request.onSocket(i)})}},"removeSocket");function Jhe(t,e){var r=this;sc.prototype.createSocket.call(r,t,function(n){var i=t.request.getHeader("host");var s=qL({},r.options,{socket:n,servername:i?i.replace(/:.*$/,""):t.host});var a=Hlt.connect(0,s);r.sockets[r.sockets.indexOf(n)]=a;e(a)})}o(Jhe,"createSecureSocket");function Qhe(t,e,r){if(typeof t==="string"){return{host:t,port:e,localAddress:r}}return t}o(Qhe,"toOptions");function qL(t){for(var e=1,r=arguments.length;e<r;++e){var n=arguments[e];if(typeof n==="object"){var i=Object.keys(n);for(var s=0,a=i.length;s<a;++s){var u=i[s];if(n[u]!==void 0){t[u]=n[u]}}}}return t}o(qL,"mergeOptions");var $d;if(process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)){$d=o(function(){var t=Array.prototype.slice.call(arguments);if(typeof t[0]==="string"){t[0]="TUNNEL: "+t[0]}else{t.unshift("TUNNEL:")}console.error.apply(console,t)},"debug")}else{$d=o(function(){},"debug")}u1.debug=$d});var eme=_((lKt,Zhe)=>{Zhe.exports=Xhe()});var sme=_((cKt,ime)=>{var{basicLogger:Qlt}=l9();var{BigSegmentStoreManager:tme}=Qpe();var Xlt=efe();var Zlt=nfe();var ect=ffe();var tct=require("events").EventEmitter;var{EventFactory:rme,isExperiment:rct}=gfe();var nct=ehe();var ict=she();var sct=vhe();var jL=Ehe();var act=d9();var nme=whe();var{Evaluator:oct}=Yhe();var UL=r1();var b9=eme();var uct=require("crypto");var ih=t1();var{safeAsyncEach:lct}=OL();var S9=AL();var w9=e1();var{checkContext:BL,getCanonicalKey:cct}=F_();function dct(t,e){return r=>{if(!r){return}if(t.listenerCount("error")){t.emit("error",r)}else{e.error(r.message)}}}o(dct,"createErrorReporter");function pct(){return{sendEvent:()=>{},flush:t=>S9(Promise.resolve(),t),close:()=>{}}}o(pct,"NullEventProcessor");function fct(){return{start:t=>{setImmediate(t,null)},close:()=>{}}}o(fct,"NullUpdateProcessor");var hct=o(function(t,e){const r=new tct;let n=false,i,s,a,u,l;const c=act.validate(e);if(c.proxyHost&&c.proxyPort){c.proxyAgent=mct(c)}const d=typeof c.featureStore==="function"?c.featureStore(c):c.featureStore;const p=Xlt(d,r);c.featureStore=p;const f=dct(r,c.logger);let h=null;const m=rme(false);const g=rme(true);if(c.eventProcessor){u=c.eventProcessor}else{if(c.offline||!c.sendEvents){u=pct()}else{const D=nme.DiagnosticId(t);h=nme.DiagnosticsManager(c,D,new Date().getTime());u=nct(t,c,f,h)}}if(!t&&!c.offline){throw new Error("You must configure the client with an SDK key")}const y=o(D=>{if(D.useLdd||D.offline){return fct()}else{if(D.stream){D.logger.info("Initializing stream processor to receive feature flag updates");return sct(t,D,null,h)}else{D.logger.info("Initializing polling processor to receive feature flag updates");D.logger.warn("You should only disable the streaming API if instructed to do so by LaunchDarkly support");s=ect(t,D);return ict(D,s)}}},"createDefaultUpdateProcessor");let v=y;if(c.updateProcessor){if(typeof c.updateProcessor==="function"){v=c.updateProcessor}else{a=c.updateProcessor}}if(!a){a=v(c)}const w=c.bigSegments&&c.bigSegments.store?tme(c.bigSegments.store(c),c.bigSegments,c.logger):tme(null,{},c.logger);Object.defineProperty(r,"bigSegmentStoreStatusProvider",{value:w.statusProvider});const E=oct({getFlag:(D,k)=>p.get(w9.features,D,k),getSegment:(D,k)=>p.get(w9.segments,D,k),getBigSegmentsMembership:(D,k)=>w.getUserMembership(D).then(k)});a.start(D=>{if(D){let k;if(D.status&&D.status===401||D.code&&D.code===401){k=new Error("Authentication failed. Double check your SDK key.")}else{k=D}f(k);r.emit("failed",k);i=k}else if(!n){n=true;r.emit("ready")}});r.initialized=()=>n;r.waitForInitialization=()=>{if(l){return l}if(n){l=Promise.resolve(r)}else if(i){l=Promise.reject(i)}else{l=new Promise((D,k)=>{r.once("ready",()=>{D(r)});r.once("failed",k)})}return l};r.variation=(D,k,B,V)=>S9(new Promise((U,X)=>{S(D,k,B,m,oe=>{U(oe.value)},X)}),V);r.variationDetail=(D,k,B,V)=>S9(new Promise((U,X)=>{S(D,k,B,g,U,X)}),V);function b(D,k){return{value:k,variationIndex:null,reason:{kind:"ERROR",errorKind:D}}}o(b,"errorResult");function S(D,k,B,V,U,X){if(!n){c.featureStore.initialized(oe=>{if(oe){c.logger.warn("Variation called before LaunchDarkly client initialization completed (did you wait for the 'ready' event?) - using last known values from feature store");T(D,k,B,V,U,X)}else{const we=new ih.LDClientError("Variation called before LaunchDarkly client initialization completed (did you wait for the 'ready' event?) - using default value");f(we);const ue=b("CLIENT_NOT_READY",B);u.sendEvent(V.newUnknownFlagEvent(D,k,ue));return U(ue)}})}else{T(D,k,B,V,U,X)}}o(S,"evaluateIfPossible");function T(D,k,B,V,U){if(r.isOffline()){c.logger.info("Variation called in offline mode. Returning default value.");return U(b("CLIENT_NOT_READY",B))}else if(!D){const X=new ih.LDClientError("No feature flag key specified. Returning default value.");f(X);return U(b("FLAG_NOT_FOUND",B))}if(k&&(!k.kind||k.kind!=="multi")&&k.key===""){c.logger.warn("User key is blank. Flag evaluation will proceed, but the user will not be stored in LaunchDarkly")}c.featureStore.get(w9.features,D,X=>{if(!k){const oe=new ih.LDClientError("No context specified. Returning default value.");f(oe);const we=b("USER_NOT_SPECIFIED",B);return U(we)}if(!BL(k,true)){const oe=new ih.LDClientError("Invalid context specified. Returning default value.");f(oe);const we=b("USER_NOT_SPECIFIED",B);return U(we)}if(!X){f(new ih.LDClientError(`Unknown feature flag "${D}"; returning default value`));const oe=b("FLAG_NOT_FOUND",B);u.sendEvent(V.newUnknownFlagEvent(D,k,oe));return U(oe)}E.evaluate(X,k,V,(oe,we,ue)=>{const he=we;if(oe){f(new ih.LDClientError("Encountered error evaluating feature flag:"+(oe.message?": "+oe.message:oe)))}if(ue){for(let Ge=0;Ge<ue.length;Ge++){u.sendEvent(ue[Ge])}}if(he.variationIndex===null){c.logger.debug("Result value is null in variation");he.value=B}u.sendEvent(V.newEvalEvent(X,k,he,B));return U(he)})})}o(T,"variationInternal");r.allFlagsState=(D,k,B)=>{let V=B,U=k;if(V===void 0&&typeof U==="function"){V=U;U={}}else{U=U||{}}return S9((async()=>{if(r.isOffline()){c.logger.info("allFlagsState() called in offline mode. Returning empty state.");return jL(false).build()}if(!D){c.logger.info("allFlagsState() called without context. Returning empty state.");return jL(false).build()}let X=true;if(!n){const he=await new Promise(Ge=>c.featureStore.initialized(Ge));if(he){c.logger.warn("Called allFlagsState before client initialization; using last known values from data store")}else{c.logger.warn("Called allFlagsState before client initialization. Data store not available; returning empty state");X=false}}const oe=jL(X,U.withReasons);const we=U.clientSideOnly;const ue=U.detailsOnlyForTrackedFlags;return await new Promise((he,Ge)=>c.featureStore.all(w9.features,Se=>{lct(Se,(Pe,Ke)=>{if(we&&!Pe.clientSide){Ke()}else{E.evaluate(Pe,D,m,(qe,ge)=>{if(qe!==null){f(new Error('Error for feature flag "'+Pe.key+'" while evaluating all flags: '+qe))}const at=rct(Pe,ge.reason);oe.addFlag(Pe,ge.value,ge.variationIndex,ge.reason,Pe.trackEvents||at,at,ue);Ke()})}},Pe=>Pe?Ge(Pe):he(oe.build()))}))})(),V)};r.secureModeHash=D=>{const k=cct(D);const B=uct.createHmac("sha256",t);B.update(k);return B.digest("hex")};r.close=()=>{u.close();if(a&&a.close){a.close()}c.featureStore.close();w.close()};r.isOffline=()=>c.offline;r.track=(D,k,B,V)=>{if(!BL(k,false)){c.logger.warn(UL.missingContextKeyNoEvent());return}u.sendEvent(m.newCustomEvent(D,k,B,V))};r.identify=D=>{if(!BL(D,false)){c.logger.warn(UL.missingContextKeyNoEvent());return}u.sendEvent(m.newIdentifyEvent(D))};r.flush=D=>u.flush(D);function x(D,k){r[D]=(...B)=>{c.logger.warn(UL.deprecated(D,k));return r[k].apply(r,B)}}o(x,"deprecatedMethod");return r},"newClient");ime.exports={init:hct,basicLogger:Qlt,FileDataSource:Zlt,errors:ih};function mct(t){const e={proxy:{host:t.proxyHost,port:t.proxyPort,proxyAuth:t.proxyAuth}};const r=t.stream&&(!t.streamUri||t.streamUri.startsWith("https"))||!t.stream&&(!t.baseUri||t.baseUri.startsWith("https"));if(t.proxyScheme==="https"){return r?b9.httpsOverHttps(e):b9.httpOverHttps(e)}else{return r?b9.httpsOverHttp(e):b9.httpOverHttp(e)}}o(mct,"createProxyAgent")});var ame=_(l1=>{"use strict";var A9=l1&&l1.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(l1,"__esModule",{value:true});l1.ApiServer=void 0;var gct=A9(LW());var yct=Ls();var vct=A9(Vpe());var T9=A9(Ro());var _ct=dL();var Ect=IE();var bct=CA();var FL=PA();var wct=IA();var Sct=A9(sme());function Tct(t){return new Promise((e,r)=>{setTimeout(()=>{r(new Error("Fastify plugin timed-out"))},t*1e3)})}o(Tct,"timeoutAfter");var ML=class{static{o(this,"ApiServer")}fastify;logger;listenerPort;listenerHost;name;version;openApiOptions;constructor(e){this.listenerHost=e.host;this.listenerPort=e.port;this.name=e.name;this.version=e.version;this.openApiOptions=e.openApiOptions;this.logger=(0,_ct.createNewLogger)({serverVersion:this.version,serverName:this.name},{logStream:e.logStream});this.fastify=(0,vct.default)({logger:this.logger,trustProxy:true,genReqId:r=>(0,Ect.requestIdGenerator)(r),requestIdLogLabel:"trace",...e}).withTypeProvider();this.fastify.setErrorHandler(bct.errorHandler);this.fastify.setNotFoundHandler((r,n)=>{const i=JSON.stringify(yct.Problems.NOT_FOUND,null,2);return n.status(404).header("content-type","application/json").send(i)})}init=async()=>{await this.fastify.register(wct.getUserSubPlugin);await this.fastify.register(FL.ensureZuploAdminPlugin);await this.fastify.register(FL.ensureZuploUserPlugin);let e;let r=false;if(T9.default.LAUNCH_DARKLY_SERVER_KEY!=="false"){try{e=Sct.default.init(T9.default.LAUNCH_DARKLY_SERVER_KEY??"",{logger:this.fastify.log});await Promise.race([Tct(2),e.waitForInitialization()])}catch(n){this.fastify.log.error(`Error while initializing LaunchDarkly: ${n.message}`);r=true}}await this.fastify.register(FL.featureFlagsPlugin,{key:T9.default.LAUNCH_DARKLY_SERVER_KEY==="false"?void 0:T9.default.LAUNCH_DARKLY_SERVER_KEY,client:r?void 0:e});await this.fastify.register(gct.default,{...{openapi:{info:{title:this.name,version:this.version}},hideUntagged:false},...this.openApiOptions??{}});await this.register(this.fastify)};start=async()=>{await this.init();try{await this.fastify.listen({port:this.listenerPort,host:this.listenerHost})}catch(e){this.logger.error(e);process.exit(1)}};ready=async()=>{await this.fastify.ready()};close=async()=>{this.logger.info("Closing server");try{this.logger.debug("Pre-fastify close");await this.fastify.close();this.logger.debug("Post-fastify close")}catch(e){this.logger.debug(e)}};terminate=async()=>{try{await this.close();process.exit(0)}catch(e){process.exit(1)}}};l1.ApiServer=ML});var lme=_(x9=>{"use strict";Object.defineProperty(x9,"__esModule",{value:true});x9.MachinesApi=void 0;var ome="https://api.fly.io/graphql";var sh="https://api.machines.dev";var Act="zuplo-machines-api";var xct="zuplo-machines-api-staging";var ume="dfw";var VL=class{static{o(this,"MachinesApi")}logger;token;constructor(e,r){this.logger=e;this.token=r}get FLY_APP_NAME(){return process.env.MACHINES_ENVIRONMENT==="staging"?xct:Act}get FLY_ORG_SLUG(){return process.env.MACHINES_ENVIRONMENT==="staging"?"zuplo-customers-staging":"zuplo-customers"}async getApp({appName:e}){const r=await fetch(`${sh}/v1/apps/${e}`,{method:"GET",headers:{Authorization:`Bearer ${this.token}`}});const n=await r.json();return n}async createApp({appName:e,network:r}){const n={app_name:e,org_slug:this.FLY_ORG_SLUG,network:r};const i=await fetch(`${sh}/v1/apps`,{method:"POST",headers:{Authorization:`Bearer ${this.token}`,"content-type":"application/json"},body:JSON.stringify(n)});if(i.status!==201){const s=await i.text();this.logger.error(n);this.logger.error(s);throw new Error("Could not create app")}}async deleteApp({appName:e}){const r=await fetch(`${sh}/v1/apps/${e}`,{method:"DELETE",headers:{Authorization:`Bearer ${this.token}`,"content-type":"application/json"}});if(r.status>400){const n=await r.json();this.logger.error(n);throw new Error("Could not delete app")}}async getIpAddresses({appName:e}){const r=`query getIpAddresses($appName: String) {
353
+ ${q}`)}O.destroy(C)}o(ue,"defaultClientErrorHandler");function he(C,O){if(C.headers["accept-version"]!==void 0){C.headers[Aat]=C.headers["accept-version"];C.headers["accept-version"]=void 0}h.router.lookup(C,O)}o(he,"defaultRoute");function Ge(C,O,q){if(u){const W=r(O);const K=l.child({reqId:W});K.info({req:O},"incoming request");const se=new s9(W,null,O,null,K,Bpe);const J=new k_(q,se,K);return u(new Yat(C),se,J)}const G=`{"error":"Bad Request","message":"'${C}' is not a valid url component","statusCode":400}`;q.writeHead(400,{"Content-Type":"application/json","Content-Length":G.length});q.end(G)}o(Ge,"onBadUrl");function Se(C,O,q){if(C===false)return void 0;return o(function G(W){if(W){if(u){const se=r(O);const J=l.child({reqId:se});J.info({req:O},"incoming request");const A=new s9(se,null,O,null,J,Bpe);const ie=new k_(q,A,J);return u(new Kat,A,ie)}const K='{"error":"Internal Server Error","message":"Unexpected error from async constraint","statusCode":500}';q.writeHead(500,{"Content-Type":"application/json","Content-Length":K.length});q.end(K)}},"onAsyncConstraintError")}o(Se,"buildAsyncConstraintCallback");function Pe(C,O){B('Cannot call "setNotFoundHandler"!');h.setNotFoundHandler.call(this,C,O,k,f.routeHandler);return this}o(Pe,"setNotFoundHandler");function Ke(C){B('Cannot call "setValidatorCompiler"!');this[Id].setValidatorCompiler(C);return this}o(Ke,"setValidatorCompiler");function qe(C){B('Cannot call "setSchemaErrorFormatter"!');Fpe(C);this[aL]=C.bind(this);return this}o(qe,"setSchemaErrorFormatter");function ge(C){B('Cannot call "setSerializerCompiler"!');this[Id].setSerializerCompiler(C);return this}o(ge,"setSerializerCompiler");function at(C){B('Cannot call "setSchemaController"!');const O=this[Id];const q=Lpe.buildSchemaController(O,Object.assign({},O.opts,C));this[Id]=q;this.getSchema=q.getSchema.bind(q);this.getSchemas=q.getSchemas.bind(q);return this}o(at,"setSchemaController");function Me(C){B('Cannot call "setReplySerializer"!');this[$pe]=C;return this}o(Me,"setReplySerializer");function Ne(C){B('Cannot call "setErrorHandler"!');this[i9]=Upe(this[i9],C.bind(this));return this}o(Ne,"setErrorHandler");function Ze(C={}){C.includeMeta=C.includeHooks?C.includeMeta?uL.concat(C.includeMeta):uL:C.includeMeta;return f.printRoutes(C)}o(Ze,"printRoutes");function ze(C,{rewriteUrl:O,logger:q}){let G;return o(function W(K,se){if(G===void 0)G=C.isAsyncConstraint();if(O){const J=K.url;const A=O(K);if(J!==A){q.debug({originalUrl:J,url:A},"rewrite url");if(typeof A==="string"){K.url=A}else{const ie=new iot(K.url,typeof A);K.destroy(ie)}}}C.routing(K,se,Se(G,K,se))},"preRouting")}o(ze,"wrapRouting")}o(a9,"fastify");a9.errorCodes=X0;function Fpe(t){if(typeof t!=="function"){throw new jpe(typeof t)}else if(t.constructor.name==="AsyncFunction"){throw new jpe("AsyncFunction")}}o(Fpe,"validateSchemaErrorFormatter");o9.exports=a9;o9.exports.fastify=a9;o9.exports.default=a9});var u9=_((uGt,Hpe)=>{var aot=require("util");var Z0=["debug","info","warn","error","none"];function oot(t){const e=t&&t.destination||console.error;if(typeof e!=="function"){throw new Error("destination for basicLogger was set to a non-function")}let r=1;if(t&&t.level){for(let s=0;s<Z0.length;s++){if(Z0[s]===t.level){r=s}}}function n(s,a){if(a.length<1){return}let u;if(a.length===1){u=s+a[0]}else{const l=[...a];l[0]=s+l[0];u=aot.format(...l)}e(u)}o(n,"write");const i={};for(let s=0;s<Z0.length;s++){const a=Z0[s];if(a!=="none"){if(s<r){i[a]=()=>{}}else{const u=a+": [LaunchDarkly] ";i[a]=function(){n(u,arguments)}}}}return i}o(oot,"basicLogger");function uot(){return{debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}}}o(uot,"nullLogger");function lot(t,e){cot(t);const r={};Z0.forEach(n=>{if(n!=="none"){r[n]=dot(t,e,n)}});return r}o(lot,"safeLogger");function cot(t){Z0.forEach(e=>{if(e!=="none"&&(!t[e]||typeof t[e]!=="function")){throw new Error("Provided logger instance must support logger."+e+"(...) method")}})}o(cot,"validateLogger");function dot(t,e,r){const n=t[r];return o(function i(){try{return n.apply(t,arguments)}catch(s){e.error("Error calling provided logger instance method "+r+": "+s);e[r].apply(e,arguments)}},"wrappedLoggerMethod")}o(dot,"wrapLoggerLevel");Hpe.exports={basicLogger:oot,nullLogger:uot,safeLogger:lot}});var Kpe=_((cGt,zpe)=>{var{createHash:pot}=require("crypto");var{EventEmitter:fot}=require("events");var hot=bu();var mot=120;var got=5;var yot=1e3;var vot=5;var _ot={};function Eot(t,e,r){const n=(e.staleAfter>0?e.staleAfter:mot)*1e3;const i=(e.statusPollInterval>0?e.statusPollInterval:got)*1e3;const s=t?setInterval(()=>d(),i):null;const a=t?new hot({max:e.userCacheSize||yot,maxAge:(e.userCacheTime||vot)*1e3}):null;let u;const l={};l.close=()=>{clearInterval(s);t&&t.close&&t.close()};const c=new fot;l.statusProvider=c;c.getStatus=()=>u;c.requireStatus=async()=>{if(!u){await d()}return u};l.getUserMembership=async f=>{if(!t){return void 0}let h=a.get(f);if(!h){try{h=await t.getUserMembership(Gpe(f));if(h===null||h===void 0){h=_ot}a.set(f,h)}catch(m){r.error("Big Segment store membership query returned error: "+m);return[null,"STORE_ERROR"]}a.set(f,h)}if(!u){await d()}if(!u.available){return[h,"STORE_ERROR"]}return[h,u.stale?"STALE":"HEALTHY"]};async function d(){if(!t){u={available:false,stale:false};return}r.debug("Querying Big Segment store status");let f;try{const h=await t.getMetadata();f={available:true,stale:!h||!h.lastUpToDate||p(h.lastUpToDate)}}catch(h){r.error("Big Segment store status query returned error: "+h);f={available:false,stale:false}}if(!u||u.available!==f.available||u.stale!==f.stale){r.debug("Big Segment store status changed from %s to %s",JSON.stringify(u),JSON.stringify(f));u=f;c.emit("change",f)}}o(d,"pollStoreAndUpdateStatus");function p(f){return new Date().getTime()-f>=n}o(p,"isStale");return l}o(Eot,"BigSegmentStoreManager");function Gpe(t){const e=pot("sha256");e.update(t);return e.digest("base64")}o(Gpe,"hashForUserKey");zpe.exports={BigSegmentStoreManager:Eot,hashForUserKey:Gpe}});var e1=_((pGt,Ype)=>{var bot={namespace:"features",streamApiPath:"/flags/",requestPath:"/sdk/latest-flags/",priority:1,getDependencyKeys:t=>{if(!t.prerequisites||!t.prerequisites.length){return[]}return t.prerequisites.map(e=>e.key)}};var wot={namespace:"segments",streamApiPath:"/segments/",requestPath:"/sdk/latest-segments/",priority:0};Ype.exports={features:bot,segments:wot}});var Jpe=_((fGt,Wpe)=>{var Jo=e1();function th(){let t={};function e(u,l){const c=t[u];return c&&c[l]}o(e,"get");function r(u,l,c){let d=t[u];if(!d){d={};t[u]=d}d[l]=c}o(r,"set");function n(u,l){const c=t[u];if(c){delete c[l]}}o(n,"remove");function i(){t={}}o(i,"removeAll");function s(u){for(const[l,c]of Object.entries(t)){const d=Object.keys(c).sort();for(const p of d){u(l,p,c[p])}}}o(s,"enumerate");function a(u){u.enumerate(r)}o(a,"mergeFrom");return{get:e,set:r,remove:n,removeAll:i,enumerate:s,mergeFrom:a,toString:()=>JSON.stringify(t)}}o(th,"NamespacedDataSet");function Sot(){const t=th();const e=th();function r(s,a,u){const l=t.get(s,a);l&&l.enumerate((c,d)=>{const p=e.get(c,d);p&&p.remove(s,a)});t.set(s,a,u);u&&u.enumerate((c,d)=>{let p=e.get(c,d);if(!p){p=th();e.set(c,d,p)}p.set(s,a,true)})}o(r,"updateDependenciesFrom");function n(s,a,u){if(!s.get(a,u)){s.set(a,u,true);const l=e.get(a,u);l&&l.enumerate((c,d)=>{n(s,c,d)})}}o(n,"updateModifiedItems");function i(){t.removeAll();e.removeAll()}o(i,"reset");return{updateDependenciesFrom:r,updateModifiedItems:n,reset:i}}o(Sot,"DependencyTracker");function Tot(t,e){const r=Sot();function n(){return e.eventNames().some(u=>u==="update"||u.substring(0,7)==="update:")}o(n,"hasEventListeners");function i(u,l,c,d,p){if(d&&c&&d.version<=c.version){return}r.updateModifiedItems(p,u,l)}o(i,"addIfModified");function s(u){u.enumerate((l,c)=>{if(l===Jo.features.namespace){const d={key:c};setImmediate(()=>{e.emit("update",d)});setImmediate(()=>{e.emit(`update:${c}`,d)})}})}o(s,"sendChangeEvents");function a(u,l){const c=th();if(u===Jo.features){for(const d of l.prerequisites||[]){c.set(Jo.features.namespace,d.key,true)}}if(u===Jo.features||u===Jo.segments){for(const d of l.rules||[]){for(const p of d.clauses||[]){if(p.op==="segmentMatch"){for(const f of p.values){c.set(Jo.segments.namespace,f,true)}}}}}return c}o(a,"computeDependencies");return{get:t.get.bind(t),all:t.all.bind(t),initialized:t.initialized.bind(t),close:t.close.bind(t),init:(u,l)=>{const c=n();const d=o(p=>{t.init(u,()=>{r.reset();for(const[f,h]of Object.entries(u)){const m=Jo[f];for(const g of Object.keys(h||{})){const y=h[g];r.updateDependenciesFrom(f,g,a(m,y))}}if(c){const f=th();for(const h of Object.keys(u)){const m=p[h];const g=u[h];const y=Object.assign({},m,g);for(const v of Object.keys(y)){i(h,v,m&&m[v],g&&g[v],f)}}s(f)}l&&l()})},"doInit");if(c){t.all(Jo.features,p=>{t.all(Jo.segments,f=>{const h={};h[Jo.features.namespace]=p;h[Jo.segments.namespace]=f;d(h)})})}else{d()}},delete:(u,l,c,d)=>{const p=n();const f=o(h=>{t.delete(u,l,c,()=>{r.updateDependenciesFrom(u.namespace,l,null);if(p){const m=th();i(u.namespace,l,h,{version:c,deleted:true},m);s(m)}d&&d()})},"doDelete");if(p){t.get(u,l,f)}else{f()}},upsert:(u,l,c)=>{const d=l.key;const p=n();const f=o(h=>{t.upsert(u,l,()=>{r.updateDependenciesFrom(u.namespace,d,a(u,l));if(p){const m=th();i(u.namespace,d,h,l,m);s(m)}c&&c()})},"doUpsert");if(p){t.get(u,d,f)}else{f()}}}}o(Tot,"FeatureStoreEventWrapper");Wpe.exports=Tot});var Zpe=_((mGt,Xpe)=>{var lL=require("fs");var cL=e1();var Aot=u9();var l9;var Qpe;function xot(t){if(l9===void 0){try{const i=l2();l9=true;Qpe=i.parse}catch(i){l9=false}}const e=l9?Qpe:JSON.parse;const r=t&&t.paths||[];const n=!!t.autoUpdate;return i=>{const s=t.logger||i.logger||Aot.nullLogger();const a=i.featureStore;const u={};let l=[];let c=false;let d=false;function p(b){return new Promise((S,T)=>{lL.stat(b,(x,D)=>{if(x){T(x)}else{S(D.mtimeMs||D.mtime)}})})}o(p,"getFileTimestampPromise");function f(b,S){const T=S;return new Promise((x,D)=>lL.readFile(b,"utf8",(k,B)=>k?D(k):x(B))).then(x=>{const D=e(x)||{};const k=o((B,V)=>{if(!T[B.namespace]){T[B.namespace]={}}if(T[B.namespace][V.key]){throw new Error('found duplicate key: "'+V.key+'"')}else{T[B.namespace][V.key]=V}},"addItem");Object.keys(D.flags||{}).forEach(B=>{k(cL.features,D.flags[B])});Object.keys(D.flagValues||{}).forEach(B=>{k(cL.features,g(B,D.flagValues[B]))});Object.keys(D.segments||{}).forEach(B=>{k(cL.segments,D.segments[B])});s.info("Loaded flags from "+b)}).then(()=>p(b)).then(x=>{u[b]=x})}o(f,"loadFilePromise");function h(){c=false;const b={};let S=Promise.resolve();for(let T=0;T<r.length;T++){(x=>{S=S.then(()=>f(x,b)).catch(D=>{throw new Error("Unable to load flags: "+D+" ["+x+"]")})})(r[T])}return S.then(()=>m(b))}o(h,"loadAllPromise");function m(b){return new Promise(S=>a.init(b,()=>{d=true;S()}))}o(m,"initStorePromise");function g(b,S){return{key:b,on:true,fallthrough:{variation:0},variations:[S]}}o(g,"makeFlagWithValue");function y(b){if(c){return}const S=o(()=>{h().then(()=>{s.warn("Reloaded flags from file data")}).catch(()=>{})},"reload");p(b).then(T=>{if(T!==u[b]){c=true;setTimeout(S,10)}}).catch(()=>{s.warn("Unexpected error trying to get timestamp of file: "+b)})}o(y,"maybeReloadForPath");function v(){r.forEach(b=>{const S=lL.watch(b,{persistent:false},()=>{y(b)});l.push(S)})}o(v,"startWatching");function w(){l.forEach(b=>b.close());l=[]}o(w,"stopWatching");const E={};E.start=b=>{const S=b||(()=>{});if(n){v()}h().then(()=>S(),T=>S(T))};E.stop=()=>{if(n){w()}};E.initialized=()=>d;E.close=()=>{E.stop()};return E}}o(xot,"FileDataSource");Xpe.exports=xot});var rfe=_((yGt,tfe)=>{function Cot(){let t={};let e=false;const r={};function n(i,s){i&&i(s)}o(n,"callbackResult");r.get=(i,s,a)=>{const u=t[i.namespace]||{};if(Object.hasOwnProperty.call(u,s)){const l=u[s];if(!l||l.deleted){n(a,null)}else{n(a,l)}}else{n(a,null)}};r.all=(i,s)=>{const a={};const u=t[i.namespace]||{};for(const[l,c]of Object.entries(u)){if(c&&!c.deleted){a[l]=c}}n(s,a)};r.init=(i,s)=>{t=i;e=true;n(s)};r.delete=(i,s,a,u)=>{let l=t[i.namespace];if(!l){l={};t[i]=l}const c={version:a,deleted:true};if(Object.hasOwnProperty.call(l,s)){const d=l[s];if(!d||d.version<a){l[s]=c}}else{l[s]=c}n(u)};r.upsert=(i,s,a)=>{const u=s.key;let l=t[i.namespace];if(!l){l={};t[i.namespace]=l}if(Object.hasOwnProperty.call(l,u)){const c=l[u];if(c&&c.version<s.version){l[u]=efe(s)}}else{l[u]=efe(s)}n(a)};r.initialized=i=>{n(i,e===true)};r.close=()=>{};r.description="memory";return r}o(Cot,"InMemoryFeatureStore");function efe(t){return JSON.parse(JSON.stringify(t))}o(efe,"clone");tfe.exports=Cot});var t1=_(rh=>{function $_(t){function e(r,n){Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor);this.message=r;this.code=n}o(e,"CustomError");e.prototype=new Error;e.prototype.name=t;e.prototype.constructor=e;return e}o($_,"createCustomError");rh.LDPollingError=$_("LaunchDarklyPollingError");rh.LDStreamingError=$_("LaunchDarklyStreamingError");rh.LDUnexpectedResponseError=$_("LaunchDarklyUnexpectedResponseError");rh.LDInvalidSDKKeyError=$_("LaunchDarklyInvalidSDKKeyError");rh.LDClientError=$_("LaunchDarklyClientError");rh.isHttpErrorRecoverable=function(t){if(t>=400&&t<500){return t===400||t===408||t===429}return true}});var r1=_(Lu=>{var Rot=t1();Lu.deprecated=(t,e)=>`"${t}" is deprecated, please use "${e}"`;Lu.httpErrorMessage=(t,e,r)=>{let n;if(t.status){n=`error ${t.status}${t.status===401?" (invalid SDK key)":""}`}else{n=`I/O error (${t.message||t})`}const i=Rot.isHttpErrorRecoverable(t.status)?r:"giving up permanently";return`Received ${n} for ${e} - ${i}`};Lu.missingContextKeyNoEvent=()=>"User was unspecified or had no key; event will not be sent";Lu.optionBelowMinimum=(t,e,r)=>`Config option "${t}" had invalid value of ${e}, using minimum of ${r} instead`;Lu.unknownOption=t=>`Ignoring unknown config option "${t}"`;Lu.wrongOptionType=(t,e,r)=>`Config option "${t}" should be of type ${e}, got ${r}, using default value`;Lu.wrongOptionTypeBoolean=(t,e)=>`Config option "${t}" should be a boolean, got ${e}, converting to boolean`;Lu.invalidTagValue=t=>`Config option "${t}" must only contain letters, numbers, ., _ or -.`;Lu.tagValueTooLong=t=>`Value of "${t}" was longer than 64 characters and was discarded.`});var c9=_((wGt,ife)=>{var Not=rfe();var nfe=u9();var nh=r1();ife.exports=function(){const t=o(function(){return{baseUri:"https://app.launchdarkly.com",streamUri:"https://stream.launchdarkly.com",eventsUri:"https://events.launchdarkly.com",stream:true,streamInitialReconnectDelay:1,sendEvents:true,timeout:5,capacity:1e4,flushInterval:5,pollInterval:30,offline:false,useLdd:false,allAttributesPrivate:false,privateAttributes:[],contextKeysCapacity:1e3,contextKeysFlushInterval:300,diagnosticOptOut:false,diagnosticRecordingInterval:900,featureStore:Not()}},"defaults");const e={bigSegments:"object",eventProcessor:"object",featureStore:"object",logger:"object",proxyAgent:"object",proxyAuth:"string",proxyHost:"string",proxyPort:"number",proxyScheme:"string",tlsParams:"object",updateProcessor:"factory",wrapperName:"string",wrapperVersion:"string"};const r=/^(\w|\.|-)+$/;function n(h,m,g){if(typeof g!=="string"||!g.match(r)){m.logger.warn(nh.invalidTagValue(h));return void 0}if(g.length>64){m.logger.warn(nh.tagValueTooLong(h));return void 0}return g}o(n,"validateTagValue");const i={application:(h,m,g)=>{const y={};if(g.id){y.id=n(`${h}.id`,m,g.id)}if(g.version){y.version=n(`${h}.version`,m,g.version)}return y}};const s={userKeysCapacity:"contextKeysCapacity",userKeysFlushInterval:"contextKeysFlushInterval"};function a(h){const m=h;Object.keys(s).forEach(g=>{if(m[g]!==void 0){const y=s[g];m.logger.warn(nh.deprecated(g,y));if(m[y]===void 0){m[y]=m[g]}delete m[g]}})}o(a,"checkDeprecatedOptions");function u(h,m){const g=Object.assign({},h);Object.keys(m).forEach(y=>{if(g[y]===void 0||g[y]===null){g[y]=m[y]}});return g}o(u,"applyDefaults");function l(h){return h.replace(/\/+$/,"")}o(l,"canonicalizeUri");function c(h,m){const g=h;const y=o(v=>{if(v===null||v===void 0){return void 0}if(Array.isArray(v)){return"array"}const w=typeof v;if(w==="boolean"||w==="string"||w==="number"){return w}return"object"},"typeDescForValue");Object.keys(g).forEach(v=>{const w=g[v];if(w!==null&&w!==void 0){const E=m[v];const b=e[v];const S=i[v];if(E===void 0&&b===void 0&&S===void 0){g.logger.warn(nh.unknownOption(v))}else if(S!==void 0){const T=S(v,g,g[v]);if(T!==void 0){g[v]=T}else{delete g[v]}}else{const T=b||y(E);const x=y(w);if(x!==T){if(T==="factory"&&(typeof w==="function"||typeof w==="object")){return}if(T==="boolean"){g[v]=!!w;g.logger.warn(nh.wrongOptionTypeBoolean(v,x))}else{g.logger.warn(nh.wrongOptionType(v,T,x));g[v]=m[v]}}}}})}o(c,"validateTypesAndNames");function d(h,m,g){const y=h;if(y[m]<g){y.logger.warn(nh.optionBelowMinimum(m,y[m],g));y[m]=g}}o(d,"enforceMinimum");function p(h){let m=Object.assign({},h||{});const g=nfe.basicLogger({level:"info"});m.logger=m.logger?nfe.safeLogger(m.logger,g):g;a(m);const y=t();m=u(m,y);c(m,y);m.baseUri=l(m.baseUri);m.streamUri=l(m.streamUri);m.eventsUri=l(m.eventsUri);d(m,"pollInterval",30);d(m,"diagnosticRecordingInterval",60);return m}o(p,"validate");function f(h){const m={};if(h.application&&h.application.id!==void 0&&h.application.id!==null){m["application-id"]=[h.application.id]}if(h.application&&h.application.version!==void 0&&h.application.id!==null){m["application-version"]=[h.application.version]}return m}o(f,"getTags");return{validate:p,defaults:t,getTags:f}}()});var dL=_((TGt,Oot)=>{Oot.exports={name:"launchdarkly-node-server-sdk",version:"7.0.2",description:"LaunchDarkly Server-Side SDK for Node.js",main:"index.js",scripts:{test:"jest --ci --coverage --runInBand","check-typescript":"node_modules/typescript/bin/tsc",lint:"eslint --format 'node_modules/eslint-formatter-pretty' --ignore-path .eslintignore .","lint-fix":"eslint --fix --format 'node_modules/eslint-formatter-pretty' --ignore-path .eslintignore .","contract-test-service":"npm --prefix contract-tests install && npm --prefix contract-tests start","contract-test-harness":'curl -s https://raw.githubusercontent.com/launchdarkly/sdk-test-harness/master/downloader/run.sh \\ | VERSION=v2 PARAMS="-url http://localhost:8000 -debug -stop-service-at-end $TEST_HARNESS_PARAMS" sh',"contract-tests":"npm run contract-test-service & npm run contract-test-harness"},types:"./index.d.ts",repository:{type:"git",url:"https://github.com/launchdarkly/node-server-sdk.git"},keywords:["launchdarkly","analytics","client"],license:"Apache-2.0",bugs:{url:"https://github.com/launchdarkly/node-server-sdk/issues"},homepage:"https://github.com/launchdarkly/node-server-sdk",dependencies:{async:"^3.2.4","launchdarkly-eventsource":"1.4.4","lru-cache":"^6.0.0","node-cache":"^5.1.0",semver:"^7.3.0",tunnel:"0.0.6",uuid:"^8.3.2"},engines:{node:">= 12.0.0"},devDependencies:{"@babel/core":"^7.14.6","@babel/preset-env":"^7.14.5","@types/jest":"^27.4.0","@types/node":"^15.12.2","babel-jest":"^27.0.2",eslint:"^7.28.0","eslint-config-prettier":"^8.3.0","eslint-formatter-pretty":"^4.1.0","eslint-plugin-prettier":"^3.4.0",jest:"^27.0.4","jest-junit":"^12.2.0","launchdarkly-js-test-helpers":"^2.2.0",prettier:"^2.3.1",tmp:"^0.2.1",typescript:"~4.4.4",yaml:"^1.10.2"},jest:{rootDir:".",testEnvironment:"node",testMatch:["**/*-test.js"],testResultsProcessor:"jest-junit"}}});var d9=_((AGt,afe)=>{var Iot=require("http");var Pot=require("https");var Dot=require("url");var kot=c9();var $ot=dL();var Lot="NodeJSClient/"+$ot.version;function qot(t,e){const r={authorization:t,"user-agent":Lot};if(e.wrapperName){r["x-launchdarkly-wrapper"]=e.wrapperVersion?e.wrapperName+"/"+e.wrapperVersion:e.wrapperName}const n=kot.getTags(e);const i=Object.keys(n);if(i.length){r["x-launchdarkly-tags"]=i.sort().flatMap(s=>Array.isArray(n[s])?n[s].sort().map(a=>`${s}/${a}`):[`${s}/${n[s]}`]).join(" ")}return r}o(qot,"getDefaultHeaders");function sfe(t,e,r,n,i){const s=Dot.parse(t);const a=s.protocol==="https:";const u=Object.assign({},n&&n.tlsParams,s,{timeout:n&&n.timeout?n.timeout*1e3:void 0,agent:n&&n.proxyAgent},e);const l=(a?Pot:Iot).request(u,c=>{let d="";c.on("data",p=>{d+=p});c.on("end",()=>{i(null,c,d)})});l.on("error",c=>{i(c)});if(r!==null&&r!==void 0){l.write(r)}l.end()}o(sfe,"httpRequest");function jot(){const t={};return(e,r,n,i,s)=>{const a=t[e];const u=a&&a.etag;let l=r;if(u){const c=Object.assign({},r&&r.headers,{"if-none-match":u});l=Object.assign({},r,{headers:c})}return sfe(e,l,n,i,(c,d,p)=>{if(c){s(c)}else{if(d.statusCode===304&&a){s(null,d,a.body)}else{if(d.headers["etag"]){t[e]={etag:d.headers["etag"],body:p}}s(null,d,p)}}})}}o(jot,"httpWithETagCache");afe.exports={getDefaultHeaders:qot,httpRequest:sfe,httpWithETagCache:jot}});var lfe=_((CGt,ufe)=>{var ofe=d9();function Uot(t,e){const r={};const n=ofe.getDefaultHeaders(t,e);const i=ofe.httpWithETagCache();function s(l){const c=e.baseUri+l;const d={method:"GET",headers:n};return(p,f)=>{i(c,d,null,e,(h,m,g)=>{if(h){f(h)}else{p(m,g)}})}}o(s,"makeRequest");function a(l){return(c,d)=>{if(c.statusCode!==200&&c.statusCode!==304){const p=new Error("Unexpected status code: "+c.statusCode);p.status=c.statusCode;l(p,null)}else{l(null,c.statusCode===304?null:d)}}}o(a,"processResponse");function u(l){return c=>{l(c,null)}}o(u,"processErrorResponse");r.requestAllData=l=>{const c=s("/sdk/latest-all");c(a(l),u(l))};return r}o(Uot,"Requestor");ufe.exports=Uot});var pfe=_((NGt,dfe)=>{function cfe(t,e){if(e){if(e.inExperiment){return true}switch(e.kind){case"RULE_MATCH":{const r=e.ruleIndex;if(r!==void 0){const n=t.rules||[];return r>=0&&r<n.length&&!!n[r].trackEvents}break}case"FALLTHROUGH":return!!t.trackEventsFallthrough}}return false}o(cfe,"isExperiment");function Bot(t){const e={};e.newEvalEvent=(r,n,i,s,a)=>{const u=cfe(r,i.reason);const l={kind:"feature",creationDate:new Date().getTime(),key:r.key,context:n,value:i.value,variation:i.variationIndex,default:s,version:r.version};if(u||r.trackEvents){l.trackEvents=true}if(r.debugEventsUntilDate){l.debugEventsUntilDate=r.debugEventsUntilDate}if(a){l.prereqOf=a.key}if(u||t){l.reason=i.reason}return l};e.newDefaultEvent=(r,n,i)=>{const s={kind:"feature",creationDate:new Date().getTime(),key:r.key,context:n,value:i.value,default:i.value,version:r.version};if(r.trackEvents){s.trackEvents=true}if(r.debugEventsUntilDate){s.debugEventsUntilDate=r.debugEventsUntilDate}if(t){s.reason=i.reason}return s};e.newUnknownFlagEvent=(r,n,i)=>{const s={kind:"feature",creationDate:new Date().getTime(),key:r,context:n,value:i.value,default:i.value};if(t){s.reason=i.reason}return s};e.newIdentifyEvent=r=>({kind:"identify",creationDate:new Date().getTime(),context:r});e.newCustomEvent=(r,n,i,s)=>{const a={kind:"custom",creationDate:new Date().getTime(),key:r,context:n};if(i!==null&&i!==void 0){a.data=i}if(s!==null&&s!==void 0){a.metricValue=s}return a};return e}o(Bot,"EventFactory");dfe.exports={EventFactory:Bot,isExperiment:cfe}});function L_(){if(p9>f9.length-16){ffe.default.randomFillSync(f9);p9=0}return f9.slice(p9,p9+=16)}var ffe,f9,p9;var pL=Mr(()=>{ffe=Kp(require("crypto"));f9=new Uint8Array(256);p9=f9.length;o(L_,"rng")});var hfe;var mfe=Mr(()=>{hfe=/^(?:[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 Fot(t){return typeof t==="string"&&hfe.test(t)}var Dd;var q_=Mr(()=>{mfe();o(Fot,"validate");Dd=Fot});function Mot(t,e=0){const r=(Li[t[e+0]]+Li[t[e+1]]+Li[t[e+2]]+Li[t[e+3]]+"-"+Li[t[e+4]]+Li[t[e+5]]+"-"+Li[t[e+6]]+Li[t[e+7]]+"-"+Li[t[e+8]]+Li[t[e+9]]+"-"+Li[t[e+10]]+Li[t[e+11]]+Li[t[e+12]]+Li[t[e+13]]+Li[t[e+14]]+Li[t[e+15]]).toLowerCase();if(!Dd(r)){throw TypeError("Stringified UUID is invalid")}return r}var Li,kd;var j_=Mr(()=>{q_();Li=[];for(let t=0;t<256;++t){Li.push((t+256).toString(16).substr(1))}o(Mot,"stringify");kd=Mot});function Vot(t,e,r){let n=e&&r||0;const i=e||new Array(16);t=t||{};let s=t.node||gfe;let a=t.clockseq!==void 0?t.clockseq:fL;if(s==null||a==null){const f=t.random||(t.rng||L_)();if(s==null){s=gfe=[f[0]|1,f[1],f[2],f[3],f[4],f[5]]}if(a==null){a=fL=(f[6]<<8|f[7])&16383}}let u=t.msecs!==void 0?t.msecs:Date.now();let l=t.nsecs!==void 0?t.nsecs:mL+1;const c=u-hL+(l-mL)/1e4;if(c<0&&t.clockseq===void 0){a=a+1&16383}if((c<0||u>hL)&&t.nsecs===void 0){l=0}if(l>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}hL=u;mL=l;fL=a;u+=122192928e5;const d=((u&268435455)*1e4+l)%4294967296;i[n++]=d>>>24&255;i[n++]=d>>>16&255;i[n++]=d>>>8&255;i[n++]=d&255;const p=u/4294967296*1e4&268435455;i[n++]=p>>>8&255;i[n++]=p&255;i[n++]=p>>>24&15|16;i[n++]=p>>>16&255;i[n++]=a>>>8|128;i[n++]=a&255;for(let f=0;f<6;++f){i[n+f]=s[f]}return e||kd(i)}var gfe,fL,hL,mL,yfe;var vfe=Mr(()=>{pL();j_();hL=0;mL=0;o(Vot,"v1");yfe=Vot});function Hot(t){if(!Dd(t)){throw TypeError("Invalid UUID")}let e;const r=new Uint8Array(16);r[0]=(e=parseInt(t.slice(0,8),16))>>>24;r[1]=e>>>16&255;r[2]=e>>>8&255;r[3]=e&255;r[4]=(e=parseInt(t.slice(9,13),16))>>>8;r[5]=e&255;r[6]=(e=parseInt(t.slice(14,18),16))>>>8;r[7]=e&255;r[8]=(e=parseInt(t.slice(19,23),16))>>>8;r[9]=e&255;r[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255;r[11]=e/4294967296&255;r[12]=e>>>24&255;r[13]=e>>>16&255;r[14]=e>>>8&255;r[15]=e&255;return r}var h9;var gL=Mr(()=>{q_();o(Hot,"parse");h9=Hot});function Got(t){t=unescape(encodeURIComponent(t));const e=[];for(let r=0;r<t.length;++r){e.push(t.charCodeAt(r))}return e}function U_(t,e,r){function n(i,s,a,u){if(typeof i==="string"){i=Got(i)}if(typeof s==="string"){s=h9(s)}if(s.length!==16){throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)")}let l=new Uint8Array(16+i.length);l.set(s);l.set(i,s.length);l=r(l);l[6]=l[6]&15|e;l[8]=l[8]&63|128;if(a){u=u||0;for(let c=0;c<16;++c){a[u+c]=l[c]}return a}return kd(l)}o(n,"generateUUID");try{n.name=t}catch(i){}n.DNS=zot;n.URL=Kot;return n}var zot,Kot;var yL=Mr(()=>{j_();gL();o(Got,"stringToBytes");zot="6ba7b810-9dad-11d1-80b4-00c04fd430c8";Kot="6ba7b811-9dad-11d1-80b4-00c04fd430c8";o(U_,"default")});function Yot(t){if(Array.isArray(t)){t=Buffer.from(t)}else if(typeof t==="string"){t=Buffer.from(t,"utf8")}return _fe.default.createHash("md5").update(t).digest()}var _fe,Efe;var bfe=Mr(()=>{_fe=Kp(require("crypto"));o(Yot,"md5");Efe=Yot});var Wot,wfe;var Sfe=Mr(()=>{yL();bfe();Wot=U_("v3",48,Efe);wfe=Wot});function Jot(t,e,r){t=t||{};const n=t.random||(t.rng||L_)();n[6]=n[6]&15|64;n[8]=n[8]&63|128;if(e){r=r||0;for(let i=0;i<16;++i){e[r+i]=n[i]}return e}return kd(n)}var Tfe;var Afe=Mr(()=>{pL();j_();o(Jot,"v4");Tfe=Jot});function Qot(t){if(Array.isArray(t)){t=Buffer.from(t)}else if(typeof t==="string"){t=Buffer.from(t,"utf8")}return xfe.default.createHash("sha1").update(t).digest()}var xfe,Cfe;var Rfe=Mr(()=>{xfe=Kp(require("crypto"));o(Qot,"sha1");Cfe=Qot});var Xot,Nfe;var Ofe=Mr(()=>{yL();Rfe();Xot=U_("v5",80,Cfe);Nfe=Xot});var Ife;var Pfe=Mr(()=>{Ife="00000000-0000-0000-0000-000000000000"});function Zot(t){if(!Dd(t)){throw TypeError("Invalid UUID")}return parseInt(t.substr(14,1),16)}var Dfe;var kfe=Mr(()=>{q_();o(Zot,"version");Dfe=Zot});var n1={};OG(n1,{NIL:()=>Ife,parse:()=>h9,stringify:()=>kd,v1:()=>yfe,v3:()=>wfe,v4:()=>Tfe,v5:()=>Nfe,validate:()=>Dd,version:()=>Dfe});var i1=Mr(()=>{vfe();Sfe();Afe();Ofe();Pfe();kfe();q_();j_();gL()});var B_=_((Tzt,jfe)=>{function $fe(t){return typeof t==="string"&&t!=="kind"&&t.match(/^(\w|\.|-)+$/)}o($fe,"validKind");function Lfe(t){return t!==void 0&&t!==null&&t!==""&&typeof t==="string"}o(Lfe,"validKey");function eut(t,e){if(t){if(e&&(t.kind===void 0||t.kind===null)){return t.key!==void 0&&t.key!==null}const r=t.key;const n=t.kind===void 0?"user":t.kind;const i=$fe(n);const s=n==="multi"||Lfe(r);if(n==="multi"){const a=Object.keys(t).filter(u=>u!=="kind");return s&&a.every(u=>$fe(u))&&a.every(u=>Lfe(t[u].key))}return s&&i}return false}o(eut,"checkContext");function qfe(t){if(t.includes("%")||t.includes(":")){return t.replace(/%/g,"%25").replace(/:/g,"%3A")}return t}o(qfe,"encodeKey");function tut(t){if(t){if(t.kind===null||t.kind===void 0){return["user"]}if(t.kind!=="multi"){return[t.kind]}return Object.keys(t).filter(e=>e!=="kind")}return[]}o(tut,"getContextKinds");function rut(t){if(t){if((t.kind===void 0||t.kind===null||t.kind==="user")&&t.key){return t.key}else if(t.kind!=="multi"&&t.key){return`${t.kind}:${qfe(t.key)}`}else if(t.kind==="multi"){return Object.keys(t).sort().filter(e=>e!=="kind").map(e=>`${e}:${qfe(t[e].key)}`).join(":")}}}o(rut,"getCanonicalKey");jfe.exports={checkContext:eut,getContextKinds:tut,getCanonicalKey:rut}});var Bfe=_((xzt,Ufe)=>{var{getContextKinds:nut}=B_();function iut(t){if(t.context){return nut(t.context)}if(t.contextKeys){return Object.keys(t.contextKeys)}return[]}o(iut,"getKinds");function sut(){const t={};let e=0,r=0,n={},i={};t.summarizeEvent=s=>{if(s.kind==="feature"){const a=s.key+":"+(s.variation!==null&&s.variation!==void 0?s.variation:"")+":"+(s.version!==null&&s.version!==void 0?s.version:"");const u=n[a];let l=i[s.key];if(!l){l=new Set;i[s.key]=l}iut(s).forEach(c=>l.add(c));if(u){u.count=u.count+1}else{n[a]={count:1,key:s.key,version:s.version,variation:s.variation,value:s.value,default:s.default}}if(e===0||s.creationDate<e){e=s.creationDate}if(s.creationDate>r){r=s.creationDate}}};t.getSummary=()=>{const s={};for(const a of Object.values(n)){let u=s[a.key];if(!u){u={default:a.default,counters:[],contextKinds:[...i[a.key]]};s[a.key]=u}const l={value:a.value,count:a.count};if(a.variation!==void 0&&a.variation!==null){l.variation=a.variation}if(a.version!==void 0&&a.version!==null){l.version=a.version}else{l.unknown=true}u.counters.push(l)}return{startDate:e,endDate:r,features:s}};t.clearSummary=()=>{e=0;r=0;n={};i={}};return t}o(sut,"EventSummarizer");Ufe.exports=sut});var EL=_((Rzt,Hfe)=>{function Ffe(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}o(Ffe,"processEscapeCharacters");function vL(t){const e=t.startsWith("/")?t.substring(1):t;return e.split("/").map(r=>r.indexOf("~")>=0?r.replace(/~1/g,"/").replace(/~0/g,"~"):r)}o(vL,"getComponents");function _L(t){return!t.startsWith("/")}o(_L,"isLiteral");function aut(t,e){if(t!==null&&t!==void 0&&Object.prototype.hasOwnProperty.call(t,e)){return t[e]}}o(aut,"getFromLiteral");function out(t,e){if(e===""||e==="/"){return void 0}if(_L(e)){return aut(t,e)}const r=vL(e);let n=t;for(const i of r){if(n!==null&&n!==void 0&&typeof n==="object"&&!Array.isArray(n)&&Object.prototype.hasOwnProperty.call(n,i)){n=n[i]}else{return void 0}}return n}o(out,"get");function Mfe(t,e){const r=_L(t);const n=_L(e);if(r&&n){return t===e}if(r){const i=vL(e);if(i.length!==1){return false}return t===i[0]}if(n){const i=vL(t);if(i.length!==1){return false}return e===i[0]}return t===e}o(Mfe,"compare");function uut(t,e){return`${t}/${e}`}o(uut,"join");function Vfe(t){return`/${Ffe(t)}`}o(Vfe,"literalToReference");function lut(t,e){const r=[];const n={};const i=[];r.push(...Object.keys(t).map(s=>({key:s,ptr:Vfe(s),source:t,parent:n,visited:[t]})));while(r.length){const s=r.pop();if(!e.some(a=>Mfe(a,s.ptr))){const a=s.source[s.key];if(a===null){s.parent[s.key]=a}else if(Array.isArray(a)){s.parent[s.key]=[...a]}else if(typeof a==="object"){if(s.visited.includes(a)){continue}s.parent[s.key]={};r.push(...Object.keys(a).map(u=>({key:u,ptr:uut(s.ptr,Ffe(u)),source:a,parent:s.parent[s.key],visited:[...s.visited,a]})))}else{s.parent[s.key]=a}}else{i.push(s.ptr)}}return{cloned:n,excluded:i.sort()}}o(lut,"cloneExcluding");function cut(t){return!t.match(/\/\/|(^\/.*~[^0|^1])|~$/)}o(cut,"isValidReference");function dut(t){return t==="kind"||t==="/kind"}o(dut,"isKind");Hfe.exports={cloneExcluding:lut,compare:Mfe,get:out,isValidReference:cut,literalToReference:Vfe,isKind:dut}});var zfe=_((Ozt,Gfe)=>{var bL=EL();function put(t){const e={};const r=t.allAttributesPrivate;const n=t.privateAttributes||[];const i=["key","kind","_meta","anonymous"];const s=["name","ip","firstName","lastName","email","avatar","country"];const a=o(d=>(r?Object.keys(d):[...n,...d._meta&&d._meta.privateAttributes||[]]).filter(p=>!i.some(f=>bL.compare(p,f))),"getAttributesToFilter");const u=o(d=>{if(typeof d!=="object"||d===null||Array.isArray(d)){return void 0}const{cloned:p,excluded:f}=bL.cloneExcluding(d,a(d));p.key=String(p.key);if(f.length){if(!p._meta){p._meta={}}p._meta.redactedAttributes=f}if(p._meta){delete p._meta["privateAttributes"];if(Object.keys(p._meta).length===0){delete p._meta}}if(p.anonymous!==void 0){p.anonymous=!!p.anonymous}return p},"filterSingleKind");const l=o(d=>{const p={kind:d.kind};const f=Object.keys(d);for(const h of f){if(h!=="kind"){const m=u(d[h]);if(m){p[h]=m}}}return p},"filterMultiKind");const c=o(d=>{const p={...d.custom||{},kind:"user",key:d.key};if(d.anonymous!==void 0){p.anonymous=!!d.anonymous}for(const f of s){delete p[f];if(d[f]!==void 0&&d[f]!==null){p[f]=String(d[f])}}if(d.privateAttributeNames!==void 0&&d.privateAttributeNames!==null){p._meta=p._meta||{};p._meta.privateAttributes=d.privateAttributeNames.map(f=>f.startsWith("/")?bL.literalToReference(f):f)}return p},"legacyToSingleKind");e.filter=d=>{if(d.kind===void 0||d.kind===null){return u(c(d))}else if(d.kind==="multi"){return l(d)}else{return u(d)}};return e}o(put,"ContextFilter");Gfe.exports=put});var wL=_((Pzt,Kfe)=>{Kfe.exports=o(function t(e,r){const n=e.then(i=>{if(r){setImmediate(()=>{r(null,i)})}return i},i=>{if(r){setImmediate(()=>{r(i,null)})}else{return Promise.reject(i)}});return!r?n:void 0},"wrapPromiseCallback")});var Jfe=_((kzt,Wfe)=>{var fut=bu();var{v4:hut}=(i1(),om(n1));var mut=Bfe();var gut=zfe();var SL=t1();var Yfe=d9();var yut=r1();var vut=wL();var{getCanonicalKey:_ut}=B_();function Eut(t,e,r,n){const i={};const s=gut(e),a=mut(),u=new fut({max:e.contextKeysCapacity}),l=e.eventsUri+"/bulk",c=e.eventsUri+"/diagnostic";let d=[],p=0,f=0,h=0,m=false,g=0,y=false,v;function w(U){if(d.length<e.capacity){d.push(U);m=false}else{if(!m){m=true;e.logger.warn("Exceeded event queue capacity. Increase capacity to avoid dropping events.")}f++}}o(w,"enqueue");function E(U){if(U.debugEventsUntilDate){if(U.debugEventsUntilDate>p&&U.debugEventsUntilDate>new Date().getTime()){return true}}return false}o(E,"shouldDebugEvent");function b(U){switch(U.kind){case"feature":{const X=!!U.debug;const oe={kind:X?"debug":"feature",creationDate:U.creationDate,key:U.key,value:U.value,default:U.default,prereqOf:U.prereqOf};if(U.variation!==void 0&&U.variation!==null){oe.variation=U.variation}if(U.version!==void 0&&U.version!==null){oe.version=U.version}if(U.reason){oe.reason=U.reason}if(X){oe.context=S(U)}else{oe.contextKeys=x(U)}return oe}case"identify":return{kind:"identify",creationDate:U.creationDate,context:S(U)};case"custom":{const X={kind:"custom",creationDate:U.creationDate,key:U.key};X.contextKeys=x(U);if(U.data!==null&&U.data!==void 0){X.data=U.data}if(U.metricValue!==null&&U.metricValue!==void 0){X.metricValue=U.metricValue}return X}default:return U}}o(b,"makeOutputEvent");function S(U){return s.filter(U.context)}o(S,"processContext");function T(U){const X=U.context;return _ut(X)}o(T,"getCacheKey");function x(U){const X={};const oe=U.context;if(oe!==void 0){if(oe.kind===void 0&&oe.key){X.user=String(oe.key)}else if(oe.kind!=="multi"){X[oe.kind]=String(oe.key)}else if(oe.kind==="multi"){Object.keys(oe).filter(we=>we!=="kind").forEach(we=>{if(oe[we]!==void 0&&oe[we].key!==void 0){X[we]=oe[we].key}})}return X}return void 0}o(x,"getContextKeys");i.sendEvent=U=>{let X=false,oe=false,we=false;if(y){return}a.summarizeEvent(U);if(U.kind==="feature"){oe=U.trackEvents;we=E(U)}else{oe=true}if(U.context){const ue=U.kind==="identify";if(u.get(T(U))){if(!ue){h++}}else{u.set(T(U),true);if(!ue){X=true}}}if(X){w({kind:"index",creationDate:U.creationDate,context:S(U)})}if(oe){w(b(U))}if(we){const ue=Object.assign({},U,{debug:true});w(b(ue))}};i.flush=function(U){return vut(new Promise((X,oe)=>{if(y){const he=new SL.LDInvalidSDKKeyError("Events cannot be posted because SDK key is invalid");oe(he);return}const we=d;d=[];const ue=a.getSummary();a.clearSummary();if(Object.keys(ue.features).length){ue.kind="summary";we.push(ue)}if(!we.length){X();return}g=we.length;e.logger.debug("Flushing %d events",we.length);D(we,l,hut(),X,oe,true)}),U)};function D(U,X,oe,we,ue,he){const Ge=o(qe=>{if(he){e.logger&&e.logger.warn("Will retry posting events after 1 second");setTimeout(()=>{D(U,X,oe,we,ue,false)},1e3)}else{ue(qe)}},"retryOrReject");const Se=Object.assign({"Content-Type":"application/json"},Yfe.getDefaultHeaders(t,e));if(oe){Se["X-LaunchDarkly-Payload-ID"]=oe;Se["X-LaunchDarkly-Event-Schema"]="4"}const Pe={method:"POST",headers:Se};const Ke=JSON.stringify(U);Yfe.httpRequest(X,Pe,Ke,e,(qe,ge)=>{if(qe){Ge(qe);return}if(ge.headers["date"]){const at=Date.parse(ge.headers["date"]);if(at){p=at}}if(ge.statusCode>204){const at=new SL.LDUnexpectedResponseError(yut.httpErrorMessage({status:ge.statusCode},"event posting","some events were dropped"));r&&r(at);if(!SL.isHttpErrorRecoverable(ge.statusCode)){ue(at);y=true}else{Ge(at)}}else{we()}})}o(D,"tryPostingEvents");function k(U){D(U,c,null,()=>{},()=>{},true)}o(k,"postDiagnosticEvent");const B=setInterval(()=>{i.flush().then(()=>{},()=>{})},e.flushInterval*1e3);const V=setInterval(()=>{u.reset()},e.contextKeysFlushInterval*1e3);i.close=()=>{clearInterval(B);clearInterval(V);v&&clearInterval(v)};if(!e.diagnosticOptOut&&n){const U=n.createInitEvent();k(U);v=setInterval(()=>{const X=n.createStatsEventAndReset(f,h,g);f=0;h=0;k(X)},e.diagnosticRecordingInterval*1e3)}return i}o(Eut,"EventProcessor");Wfe.exports=Eut});var the=_((Lzt,ehe)=>{var Qfe=t1();var Xfe=r1();var Zfe=e1();function but(t,e){const r={},n=t.featureStore,i=t.pollInterval*1e3;let s=false;let a;function u(l){const c=l||function(){};if(s){return}t.logger.debug("Polling LaunchDarkly for feature flag updates");e.requestAllData((d,p)=>{if(d){if(d.status&&!Qfe.isHttpErrorRecoverable(d.status)){const f=Xfe.httpErrorMessage(d,"polling request");t.logger.error(f);c(new Qfe.LDPollingError(f));r.stop()}else{t.logger.warn(Xfe.httpErrorMessage(d,"polling request","will retry"))}}else{if(p){const f=JSON.parse(p);const h={};h[Zfe.features.namespace]=f.flags;h[Zfe.segments.namespace]=f.segments;n.init(h,()=>{c()})}}})}o(u,"poll");r.start=l=>{if(!a&&!s){a=setInterval(()=>u(l),i);u(l)}};r.stop=()=>{s=true;if(a){clearInterval(a)}};r.close=()=>{r.stop()};return r}o(but,"PollingProcessor");ehe.exports=but});var nhe=_((jzt,rhe)=>{function wut(t,e,r,n){var i=t;var s=0;var a;return{nextRetryDelay:function(u){if(a&&e&&u-a>=e){s=0}a=null;var l=r?r(i,s):i;s++;return n?n(l):l},setGoodSince:function(u){a=u},setBaseDelay:function(u){i=u;s=0}}}o(wut,"RetryDelayStrategy");function Sut(t){return function(e,r){var n=e*Math.pow(2,r);return n>t?t:n}}o(Sut,"defaultBackoff");function Tut(t){return function(e){return e-Math.trunc(Math.random()*t*e)}}o(Tut,"defaultJitter");rhe.exports={RetryDelayStrategy:wut,defaultBackoff:Sut,defaultJitter:Tut}});var dhe=_((Bzt,che)=>{var TL=nhe();var ihe=require("url").parse;var Aut=require("url").URL;var xut=require("events");var Cut=require("https");var Rut=require("http");var Nut=require("util");var Out=["pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","secureProtocol","servername","checkServerIdentity"];var uhe=[239,187,191];var Iut=58;var Put=32;var she=10;var Dut=13;function kut(t){return uhe.every(function(e,r){return t[r]===e})}o(kut,"hasBom");function wn(t,e){var r=wn.CONNECTING;var n=e||{};Object.defineProperty(this,"readyState",{get:function(){return r}});Object.defineProperty(this,"url",{get:function(){return t}});var i=this;i.reconnectInterval=1e3;var s;var a="";if(n.headers&&n.headers["Last-Event-ID"]){a=n.headers["Last-Event-ID"]}var u=false;var l,c,d;var p=null;var f=new TL.RetryDelayStrategy(n.initialRetryDelayMillis!==null&&n.initialRetryDelayMillis!==void 0?n.initialRetryDelayMillis:1e3,n.retryResetIntervalMillis,n.maxBackoffMillis?TL.defaultBackoff(n.maxBackoffMillis):null,n.jitterRatio?TL.defaultJitter(n.jitterRatio):null);var h=new Aut(t).origin;function m(){var T=t;var x={headers:{}};if(!n.skipDefaultHeaders){x.headers["Cache-Control"]="no-cache";x.headers["Accept"]="text/event-stream"}if(a)x.headers["Last-Event-ID"]=a;if(n.headers){for(var D in n.headers){if(n.headers.hasOwnProperty(D)){x.headers[D]=n.headers[D]}}}x.rejectUnauthorized=!!n.rejectUnauthorized;if(n.proxy){T=null;var k=ihe(t);var B=ihe(n.proxy);x.protocol=B.protocol==="https:"?"https:":"http:";x.path=t;x.headers.Host=k.host;x.hostname=B.hostname;x.host=B.host;x.port=B.port;if(B.username){x.auth=B.username+":"+B.password}}if(n.agent){x.agent=n.agent}if(n.https){for(var V in n.https){if(Out.indexOf(V)===-1){continue}var U=n.https[V];if(U!==void 0){x[V]=U}}}if(n.withCredentials!==void 0){x.withCredentials=n.withCredentials}if(n.method){x.method=n.method}return{url:T,options:x}}o(m,"makeRequestUrlAndOptions");function g(T){if(T.status){var x=T.status;return x===500||x===502||x===503||x===504}return true}o(g,"defaultErrorFilter");function y(T){if(r===wn.CLOSED){return}var x=T?new s1("error",T):new s1("end");var D=(n.errorFilter||g)(x);if(D){r=wn.CONNECTING;E(x);v()}else{E(x);r=wn.CLOSED;E(new s1("closed"))}}o(y,"failed");function v(){if(r!==wn.CONNECTING)return;var T=f.nextRetryDelay(new Date().getTime());if(p){t=p;p=null}var x=new s1("retrying");x.delayMillis=T;E(x);setTimeout(function(){if(r!==wn.CONNECTING)return;w()},T)}o(v,"scheduleReconnect");function w(){var T=m();var x=T.options.protocol==="https:"||T.url&&T.url.startsWith("https:");var D=o(function(B){if(B.statusCode===301||B.statusCode===307){if(!B.headers.location){y({status:B.statusCode,message:B.statusMessage});return}if(B.statusCode===307)p=t;t=B.headers.location;process.nextTick(w);return}if(B.statusCode!==200){y({status:B.statusCode,message:B.statusMessage});return}l="";c="";d=void 0;r=wn.OPEN;B.on("close",function(){B.removeAllListeners("close");B.removeAllListeners("end");y()});B.on("end",function(){B.removeAllListeners("close");B.removeAllListeners("end");y()});E(new s1("open"));var V=true;var U;var X=0;var oe=-1;B.on("data",function(we){U=U?Buffer.concat([U,we]):we;if(V&&kut(U)){U=U.slice(uhe.length)}V=false;var ue=0;var he=U.length;while(ue<he){if(u){if(U[ue]===she){++ue}u=false}var Ge=-1;var Se=oe;var Pe;for(var Ke=X;Ge<0&&Ke<he;++Ke){Pe=U[Ke];if(Pe===Iut){if(Se<0){Se=Ke-ue}}else if(Pe===Dut){u=true;Ge=Ke-ue}else if(Pe===she){Ge=Ke-ue}}if(Ge<0){X=he-ue;oe=Se;break}else{X=0;oe=-1}S(U,ue,Se,Ge);ue+=Ge+1}if(ue===he){U=void 0}else if(ue>0){U=U.slice(ue)}})},"callback");var k=x?Cut:Rut;s=T.url?k.request(T.url,T.options,D):k.request(T.options,D);if(n.readTimeoutMillis){s.setTimeout(n.readTimeoutMillis)}if(n.body){s.write(n.body)}s.on("error",function(B){y({message:B.message})});s.on("timeout",function(){y({message:"Read timeout, received no data in "+n.readTimeoutMillis+"ms, assuming connection is dead"})});if(s.setNoDelay)s.setNoDelay(true);s.end()}o(w,"connect");w();function E(T){if(T){i.emit(T.type,T)}}o(E,"_emit");this._close=function(){if(r===wn.CLOSED)return;r=wn.CLOSED;if(s.abort)s.abort();if(s.xhr&&s.xhr.abort)s.xhr.abort();E(new s1("closed"))};function b(T){f.setGoodSince(new Date().getTime());E(T)}o(b,"receivedEvent");function S(T,x,D,k){if(k===0){if(l.length>0){var B=c||"message";if(d!==void 0){a=d}var V=new $ut(B,{data:l.slice(0,-1),lastEventId:a,origin:h});l="";d=void 0;b(V)}c=void 0}else{var U=D<0;var X=0;var oe=T.slice(x,x+(U?k:D)).toString();if(U){X=k}else if(T[x+D+1]!==Put){X=D+1}else{X=D+2}x+=X;var we=k-X;var ue=T.slice(x,x+we).toString();if(oe==="data"){l+=ue+"\n"}else if(oe==="event"){c=ue}else if(oe==="id"){if(!ue.includes("\0")){d=ue}}else if(oe==="retry"){var he=parseInt(ue,10);if(!Number.isNaN(he)){i.reconnectInterval=he;f.setBaseDelay(he)}}}}o(S,"parseEventStreamLine")}o(wn,"EventSource");che.exports={EventSource:wn};Nut.inherits(wn,xut.EventEmitter);wn.prototype.constructor=wn;["open","end","error","message","retrying","closed"].forEach(function(t){Object.defineProperty(wn.prototype,"on"+t,{get:o(function e(){var r=this.listeners(t)[0];return r?r._listener?r._listener:r:void 0},"get"),set:o(function e(r){this.removeAllListeners(t);this.addEventListener(t,r)},"set")})});Object.defineProperty(wn,"CONNECTING",{enumerable:true,value:0});Object.defineProperty(wn,"OPEN",{enumerable:true,value:1});Object.defineProperty(wn,"CLOSED",{enumerable:true,value:2});wn.prototype.CONNECTING=0;wn.prototype.OPEN=1;wn.prototype.CLOSED=2;var ahe=["errorFilter","headers","https","initialRetryDelayMillis","jitterRatio","maxBackoffMillis","method","proxy","retryResetIntervalMillis","skipDefaultHeaders","withCredentials"];var lhe={};for(ohe in ahe){Object.defineProperty(lhe,ahe[ohe],{enumerable:true,value:true})}var ohe;Object.defineProperty(wn,"supportedOptions",{enumerable:true,value:lhe});wn.prototype.close=function(){this._close()};wn.prototype.addEventListener=o(function t(e,r){if(typeof r==="function"){r._listener=r;this.on(e,r)}},"addEventListener");wn.prototype.dispatchEvent=o(function t(e){if(!e.type){throw new Error("UNSPECIFIED_EVENT_TYPE_ERR")}this.emit(e.type,e.detail)},"dispatchEvent");wn.prototype.removeEventListener=o(function t(e,r){if(typeof r==="function"){r._listener=void 0;this.removeListener(e,r)}},"removeEventListener");function s1(t,e){Object.defineProperty(this,"type",{writable:false,value:t,enumerable:true});if(e){for(var r in e){if(e.hasOwnProperty(r)){Object.defineProperty(this,r,{writable:false,value:e[r],enumerable:true})}}}}o(s1,"Event");function $ut(t,e){Object.defineProperty(this,"type",{writable:false,value:t,enumerable:true});for(var r in e){if(e.hasOwnProperty(r)){Object.defineProperty(this,r,{writable:false,value:e[r],enumerable:true})}}}o($ut,"MessageEvent")});var hhe=_((Mzt,fhe)=>{var a1=t1();var Lut=d9();var phe=r1();var{EventSource:qut}=dhe();var m9=e1();var jut=5*60*1e3;function Uut(t,e,r,n,i){const s={},a=e.featureStore;let u;let l;const c=Lut.getDefaultHeaders(t,e);const d=i||qut;function p(m,g){return g.startsWith(m.streamApiPath)?g.substring(m.streamApiPath.length):null}o(p,"getKeyFromPath");function f(){l=new Date().getTime()}o(f,"logConnectionStarted");function h(m){if(l&&n){n.recordStreamInit(l,!m,new Date().getTime()-l)}l=null}o(h,"logConnectionResult");s.start=m=>{const g=m||function(){};f();function y(w){if(w.status&&!a1.isHttpErrorRecoverable(w.status)){const b=phe.httpErrorMessage(w,"streaming request");e.logger.error(b);h(false);g(new a1.LDStreamingError(w.message,w.status));return false}const E=phe.httpErrorMessage(w,"streaming request","will retry");e.logger.warn(E);h(false);f();return true}o(y,"handleError");u=new d(e.streamUri+"/all",{agent:e.proxyAgent,errorFilter:y,headers:c,initialRetryDelayMillis:1e3*e.streamInitialReconnectDelay,readTimeoutMillis:jut,retryResetIntervalMillis:6e4,tlsParams:e.tlsParams});u.onclose=()=>{e.logger.info("Closed LaunchDarkly stream connection")};u.onerror=()=>{};u.onopen=()=>{e.logger.info("Opened LaunchDarkly stream connection")};u.onretrying=w=>{e.logger.info("Will retry stream connection in "+w.delayMillis+" milliseconds")};function v(w,E){e.logger.error('Stream received invalid data in "'+w+'" message');e.logger.debug("Invalid JSON follows: "+E);g(new a1.LDStreamingError("Malformed JSON data in event stream"))}o(v,"reportJsonError");u.addEventListener("put",w=>{e.logger.debug("Received put event");if(w&&w.data){h(true);let E;try{E=JSON.parse(w.data)}catch(S){v("put",w.data);return}const b={};b[m9.features.namespace]=E.data.flags;b[m9.segments.namespace]=E.data.segments;a.init(b,()=>{g()})}else{g(new a1.LDStreamingError("Unexpected payload from event stream"))}});u.addEventListener("patch",w=>{e.logger.debug("Received patch event");if(w&&w.data){let E;try{E=JSON.parse(w.data)}catch(b){v("patch",w.data);return}for(const b of Object.values(m9)){const S=p(b,E.path);if(S!==null){e.logger.debug("Updating "+S+" in "+b.namespace);a.upsert(b,E.data);break}}}else{g(new a1.LDStreamingError("Unexpected payload from event stream"))}});u.addEventListener("delete",w=>{e.logger.debug("Received delete event");if(w&&w.data){let E;try{E=JSON.parse(w.data)}catch(S){v("delete",w.data);return}const b=E.version;for(const S of Object.values(m9)){const T=p(S,E.path);if(T!==null){e.logger.debug("Deleting "+T+" in "+S.namespace);a.delete(S,T,b);break}}}else{g(new a1.LDStreamingError("Unexpected payload from event stream"))}})};s.stop=()=>{if(u){u.close()}};s.close=()=>{s.stop()};return s}o(Uut,"StreamProcessor");fhe.exports=Uut});var ghe=_((Hzt,mhe)=>{function But(t,e){const r={};const n={};const i={};r.addFlag=(s,a,u,l,c,d,p)=>{n[s.key]=a;const f={};if(u!==void 0&&u!==null){f.variation=u}const h=p&&!c&&!d&&(s.debugEventsUntilDate===void 0||s.debugEventsUntilDate===null);if(!h){f.version=s.version}if(l&&(d||e&&!h)){f.reason=l}if(c){f.trackEvents=true}if(d){f.trackReason=true}if(s.debugEventsUntilDate!==void 0&&s.debugEventsUntilDate!==null){f.debugEventsUntilDate=s.debugEventsUntilDate}i[s.key]=f};r.build=()=>({valid:t,allValues:()=>n,getFlagValue:s=>n[s],getFlagReason:s=>i[s]?i[s].reason:null,toJSON:()=>Object.assign({},n,{$flagsState:i,$valid:t})});return r}o(But,"FlagsStateBuilder");mhe.exports=But});var vhe=_((zzt,yhe)=>{var AL=require("os");var{v4:Fut}=(i1(),om(n1));var Mut=c9();var Vut=dL();function Hut(t,e,r){let n=r;let i=[];const s={};s.createInitEvent=()=>({kind:"diagnostic-init",id:e,creationDate:r,sdk:zut(t),configuration:Kut(t),platform:Yut()});s.recordStreamInit=(a,u,l)=>{const c={timestamp:a,failed:u,durationMillis:l};i.push(c)};s.createStatsEventAndReset=(a,u,l)=>{const c=new Date().getTime();const d={kind:"diagnostic",id:e,creationDate:c,dataSinceDate:n,droppedEvents:a,deduplicatedUsers:u,eventsInLastBatch:l,streamInits:i};n=c;i=[];return d};return s}o(Hut,"DiagnosticsManager");function Gut(t){const e={diagnosticId:Fut()};if(t){e.sdkKeySuffix=t.length>6?t.substring(t.length-6):t}return e}o(Gut,"DiagnosticId");function zut(t){const e={name:"node-server-sdk",version:Vut.version};if(t.wrapperName){e.wrapperName=t.wrapperName}if(t.wrapperVersion){e.wrapperVersion=t.wrapperVersion}return e}o(zut,"makeSdkData");function Kut(t){const e=Mut.defaults();const r=o(s=>Math.trunc(s*1e3),"secondsToMillis");function n(s,a){if(s){return s.description||"custom"}return a}o(n,"getComponentDescription");const i={customBaseURI:t.baseUri!==e.baseUri,customStreamURI:t.streamUri!==e.streamUri,customEventsURI:t.eventsUri!==e.eventsUri,eventsCapacity:t.capacity,connectTimeoutMillis:r(t.timeout),socketTimeoutMillis:r(t.timeout),eventsFlushIntervalMillis:r(t.flushInterval),pollingIntervalMillis:r(t.pollInterval),reconnectTimeMillis:r(t.streamInitialReconnectDelay),streamingDisabled:!t.stream,usingRelayDaemon:!!t.useLdd,offline:!!t.offline,allAttributesPrivate:!!t.allAttributesPrivate,contextKeysCapacity:t.contextKeysCapacity,contextKeysFlushIntervalMillis:r(t.contextKeysFlushInterval),usingProxy:!!(t.proxyAgent||t.proxyHost),usingProxyAuthenticator:!!t.proxyAuth,diagnosticRecordingIntervalMillis:r(t.diagnosticRecordingInterval),dataStoreType:n(t.featureStore,"memory")};return i}o(Kut,"makeConfigData");function Yut(){return{name:"Node",osArch:AL.arch(),osName:Wut(AL.platform()),osVersion:AL.release(),nodeVersion:process.versions.node}}o(Yut,"makePlatformData");function Wut(t){switch(t){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";default:return t}}o(Wut,"normalizePlatformName");yhe.exports={DiagnosticsManager:Hut,DiagnosticId:Gut}});var Ahe=_((Yzt,The)=>{var _he=N8();var Jut=new RegExp("^\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\d(\\.\\d\\d*)?(Z|[-+]\\d\\d(:\\d\\d)?)");function g9(t){return(e,r)=>typeof e==="string"&&typeof r==="string"&&t(e,r)}o(g9,"stringOperator");function y9(t){return(e,r)=>typeof e==="number"&&typeof r==="number"&&t(e,r)}o(y9,"numericOperator");function Ehe(t){return(e,r)=>{const n=bhe(e);const i=bhe(r);return n!==null&&i!==null&&t(n,i)}}o(Ehe,"dateOperator");function bhe(t){switch(typeof t){case"number":return t;case"string":return Jut.test(t)?Date.parse(t):null;default:return null}}o(bhe,"parseDate");function xL(t){return(e,r)=>{const n=whe(e),i=whe(r);return n&&i?t(n,i):false}}o(xL,"semVerOperator");function whe(t){if(typeof t!=="string"){return null}if(t.startsWith("v")){return null}let e=_he.parse(t);if(!e){const r=new RegExp("^\\d+(\\.\\d+)?(\\.\\d+)?").exec(t);if(r){let n=r[0];for(let i=1;i<r.length;i++){if(r[i]===void 0){n=n+".0"}}n=n+t.substring(r[0].length);e=_he.parse(n)}}return e}o(whe,"parseSemVer");function Qut(t,e){try{return new RegExp(t).test(e)}catch(r){return false}}o(Qut,"safeRegexMatch");var She={in:(t,e)=>t===e,endsWith:g9((t,e)=>t.endsWith(e)),startsWith:g9((t,e)=>t.startsWith(e)),matches:g9((t,e)=>Qut(e,t)),contains:g9((t,e)=>t.indexOf(e)>-1),lessThan:y9((t,e)=>t<e),lessThanOrEqual:y9((t,e)=>t<=e),greaterThan:y9((t,e)=>t>e),greaterThanOrEqual:y9((t,e)=>t>=e),before:Ehe((t,e)=>t<e),after:Ehe((t,e)=>t>e),semVerEqual:xL((t,e)=>t.compare(e)===0),semVerLessThan:xL((t,e)=>t.compare(e)<0),semVerGreaterThan:xL((t,e)=>t.compare(e)>0)};var Xut=o(()=>false,"operatorNone");function Zut(t){return She[t]||Xut}o(Zut,"fn");The.exports={operators:She,fn:Zut}});var Che=_((v9,xhe)=>{(function(t,e){typeof v9==="object"&&typeof xhe!=="undefined"?e(v9):typeof define==="function"&&define.amd?define(["exports"],e):e(t.async={})})(v9,function(t){"use strict";function e(F,...L){return(...M)=>F(...L,...M)}o(e,"apply");function r(F){return function(...L){var M=L.pop();return F.call(this,L,M)}}o(r,"initialParams");var n=typeof queueMicrotask==="function"&&queueMicrotask;var i=typeof setImmediate==="function"&&setImmediate;var s=typeof process==="object"&&typeof process.nextTick==="function";function a(F){setTimeout(F,0)}o(a,"fallback");function u(F){return(L,...M)=>F(()=>L(...M))}o(u,"wrap");var l;if(n){l=queueMicrotask}else if(i){l=setImmediate}else if(s){l=process.nextTick}else{l=a}var c=u(l);function d(F){if(h(F)){return function(...L){const M=L.pop();const ee=F.apply(this,L);return p(ee,M)}}return r(function(L,M){var ee;try{ee=F.apply(this,L)}catch(de){return M(de)}if(ee&&typeof ee.then==="function"){return p(ee,M)}else{M(null,ee)}})}o(d,"asyncify");function p(F,L){return F.then(M=>{f(L,null,M)},M=>{f(L,M&&M.message?M:new Error(M))})}o(p,"handlePromise");function f(F,L,M){try{F(L,M)}catch(ee){c(de=>{throw de},ee)}}o(f,"invokeCallback");function h(F){return F[Symbol.toStringTag]==="AsyncFunction"}o(h,"isAsync");function m(F){return F[Symbol.toStringTag]==="AsyncGenerator"}o(m,"isAsyncGenerator");function g(F){return typeof F[Symbol.asyncIterator]==="function"}o(g,"isAsyncIterable");function y(F){if(typeof F!=="function")throw new Error("expected a function");return h(F)?d(F):F}o(y,"wrapAsync");function v(F,L=F.length){if(!L)throw new Error("arity is undefined");function M(...ee){if(typeof ee[L-1]==="function"){return F.apply(this,ee)}return new Promise((de,fe)=>{ee[L-1]=(ve,...be)=>{if(ve)return fe(ve);de(be.length>1?be:be[0])};F.apply(this,ee)})}o(M,"awaitable");return M}o(v,"awaitify");function w(F){return o(function L(M,...ee){const de=v(function(fe){var ve=this;return F(M,(be,xe)=>{y(be).apply(ve,ee.concat(xe))},fe)});return de},"applyEach")}o(w,"applyEach");function E(F,L,M,ee){L=L||[];var de=[];var fe=0;var ve=y(M);return F(L,(be,xe,Xe)=>{var pr=fe++;ve(be,(qr,vr)=>{de[pr]=vr;Xe(qr)})},be=>{ee(be,de)})}o(E,"_asyncMap");function b(F){return F&&typeof F.length==="number"&&F.length>=0&&F.length%1===0}o(b,"isArrayLike");const S={};function T(F){function L(...M){if(F===null)return;var ee=F;F=null;ee.apply(this,M)}o(L,"wrapper");Object.assign(L,F);return L}o(T,"once");function x(F){return F[Symbol.iterator]&&F[Symbol.iterator]()}o(x,"getIterator");function D(F){var L=-1;var M=F.length;return o(function ee(){return++L<M?{value:F[L],key:L}:null},"next")}o(D,"createArrayIterator");function k(F){var L=-1;return o(function M(){var ee=F.next();if(ee.done)return null;L++;return{value:ee.value,key:L}},"next")}o(k,"createES2015Iterator");function B(F){var L=F?Object.keys(F):[];var M=-1;var ee=L.length;return o(function de(){var fe=L[++M];if(fe==="__proto__"){return de()}return M<ee?{value:F[fe],key:fe}:null},"next")}o(B,"createObjectIterator");function V(F){if(b(F)){return D(F)}var L=x(F);return L?k(L):B(F)}o(V,"createIterator");function U(F){return function(...L){if(F===null)throw new Error("Callback was already called.");var M=F;F=null;M.apply(this,L)}}o(U,"onlyOnce");function X(F,L,M,ee){let de=false;let fe=false;let ve=false;let be=0;let xe=0;function Xe(){if(be>=L||ve||de)return;ve=true;F.next().then(({value:vr,done:xa})=>{if(fe||de)return;ve=false;if(xa){de=true;if(be<=0){ee(null)}return}be++;M(vr,xe,pr);xe++;Xe()}).catch(qr)}o(Xe,"replenish");function pr(vr,xa){be-=1;if(fe)return;if(vr)return qr(vr);if(vr===false){de=true;fe=true;return}if(xa===S||de&&be<=0){de=true;return ee(null)}Xe()}o(pr,"iterateeCallback");function qr(vr){if(fe)return;ve=false;de=true;ee(vr)}o(qr,"handleError");Xe()}o(X,"asyncEachOfLimit");var oe=o(F=>{return(L,M,ee)=>{ee=T(ee);if(F<=0){throw new RangeError("concurrency limit cannot be less than 1")}if(!L){return ee(null)}if(m(L)){return X(L,F,M,ee)}if(g(L)){return X(L[Symbol.asyncIterator](),F,M,ee)}var de=V(L);var fe=false;var ve=false;var be=0;var xe=false;function Xe(qr,vr){if(ve)return;be-=1;if(qr){fe=true;ee(qr)}else if(qr===false){fe=true;ve=true}else if(vr===S||fe&&be<=0){fe=true;return ee(null)}else if(!xe){pr()}}o(Xe,"iterateeCallback");function pr(){xe=true;while(be<F&&!fe){var qr=de();if(qr===null){fe=true;if(be<=0){ee(null)}return}be+=1;M(qr.value,qr.key,U(Xe))}xe=false}o(pr,"replenish");pr()}},"eachOfLimit");function we(F,L,M,ee){return oe(L)(F,y(M),ee)}o(we,"eachOfLimit$1");var ue=v(we,4);function he(F,L,M){M=T(M);var ee=0,de=0,{length:fe}=F,ve=false;if(fe===0){M(null)}function be(xe,Xe){if(xe===false){ve=true}if(ve===true)return;if(xe){M(xe)}else if(++de===fe||Xe===S){M(null)}}o(be,"iteratorCallback");for(;ee<fe;ee++){L(F[ee],ee,U(be))}}o(he,"eachOfArrayLike");function Ge(F,L,M){return ue(F,Infinity,L,M)}o(Ge,"eachOfGeneric");function Se(F,L,M){var ee=b(F)?he:Ge;return ee(F,y(L),M)}o(Se,"eachOf");var Pe=v(Se,3);function Ke(F,L,M){return E(Pe,F,L,M)}o(Ke,"map");var qe=v(Ke,3);var ge=w(qe);function at(F,L,M){return ue(F,1,L,M)}o(at,"eachOfSeries");var Me=v(at,3);function Ne(F,L,M){return E(Me,F,L,M)}o(Ne,"mapSeries");var Ze=v(Ne,3);var ze=w(Ze);const C=Symbol("promiseCallback");function O(){let F,L;function M(ee,...de){if(ee)return L(ee);F(de.length>1?de:de[0])}o(M,"callback");M[C]=new Promise((ee,de)=>{F=ee,L=de});return M}o(O,"promiseCallback");function q(F,L,M){if(typeof L!=="number"){M=L;L=null}M=T(M||O());var ee=Object.keys(F).length;if(!ee){return M(null)}if(!L){L=ee}var de={};var fe=0;var ve=false;var be=false;var xe=Object.create(null);var Xe=[];var pr=[];var qr={};Object.keys(F).forEach(Qe=>{var pt=F[Qe];if(!Array.isArray(pt)){vr(Qe,[pt]);pr.push(Qe);return}var _r=pt.slice(0,pt.length-1);var Rn=_r.length;if(Rn===0){vr(Qe,pt);pr.push(Qe);return}qr[Qe]=Rn;_r.forEach(ui=>{if(!F[ui]){throw new Error("async.auto task `"+Qe+"` has a non-existent dependency `"+ui+"` in "+_r.join(", "))}sm(ui,()=>{Rn--;if(Rn===0){vr(Qe,pt)}})})});jr();xa();function vr(Qe,pt){Xe.push(()=>Ny(Qe,pt))}o(vr,"enqueueTask");function xa(){if(ve)return;if(Xe.length===0&&fe===0){return M(null,de)}while(Xe.length&&fe<L){var Qe=Xe.shift();Qe()}}o(xa,"processQueue");function sm(Qe,pt){var _r=xe[Qe];if(!_r){_r=xe[Qe]=[]}_r.push(pt)}o(sm,"addListener");function Gp(Qe){var pt=xe[Qe]||[];pt.forEach(_r=>_r());xa()}o(Gp,"taskComplete");function Ny(Qe,pt){if(be)return;var _r=U((ui,...Ca)=>{fe--;if(ui===false){ve=true;return}if(Ca.length<2){[Ca]=Ca}if(ui){var am={};Object.keys(de).forEach(zp=>{am[zp]=de[zp]});am[Qe]=Ca;be=true;xe=Object.create(null);if(ve)return;M(ui,am)}else{de[Qe]=Ca;Gp(Qe)}});fe++;var Rn=y(pt[pt.length-1]);if(pt.length>1){Rn(de,_r)}else{Rn(_r)}}o(Ny,"runTask");function jr(){var Qe;var pt=0;while(pr.length){Qe=pr.pop();pt++;dt(Qe).forEach(_r=>{if(--qr[_r]===0){pr.push(_r)}})}if(pt!==ee){throw new Error("async.auto cannot execute tasks due to a recursive dependency")}}o(jr,"checkForDeadlocks");function dt(Qe){var pt=[];Object.keys(F).forEach(_r=>{const Rn=F[_r];if(Array.isArray(Rn)&&Rn.indexOf(Qe)>=0){pt.push(_r)}});return pt}o(dt,"getDependents");return M[C]}o(q,"auto");var G=/^(?:async\s+)?(?:function)?\s*\w*\s*\(\s*([^)]+)\s*\)(?:\s*{)/;var W=/^(?:async\s+)?\(?\s*([^)=]+)\s*\)?(?:\s*=>)/;var K=/,/;var se=/(=.+)?(\s*)$/;function J(F){let L="";let M=0;let ee=F.indexOf("*/");while(M<F.length){if(F[M]==="/"&&F[M+1]==="/"){let de=F.indexOf("\n",M);M=de===-1?F.length:de}else if(ee!==-1&&F[M]==="/"&&F[M+1]==="*"){let de=F.indexOf("*/",M);if(de!==-1){M=de+2;ee=F.indexOf("*/",M)}else{L+=F[M];M++}}else{L+=F[M];M++}}return L}o(J,"stripComments");function A(F){const L=J(F.toString());let M=L.match(G);if(!M){M=L.match(W)}if(!M)throw new Error("could not parse args in autoInject\nSource:\n"+L);let[,ee]=M;return ee.replace(/\s/g,"").split(K).map(de=>de.replace(se,"").trim())}o(A,"parseParams");function ie(F,L){var M={};Object.keys(F).forEach(ee=>{var de=F[ee];var fe;var ve=h(de);var be=!ve&&de.length===1||ve&&de.length===0;if(Array.isArray(de)){fe=[...de];de=fe.pop();M[ee]=fe.concat(fe.length>0?xe:de)}else if(be){M[ee]=de}else{fe=A(de);if(de.length===0&&!ve&&fe.length===0){throw new Error("autoInject task functions require explicit parameters.")}if(!ve)fe.pop();M[ee]=fe.concat(xe)}function xe(Xe,pr){var qr=fe.map(vr=>Xe[vr]);qr.push(pr);y(de)(...qr)}o(xe,"newTask")});return q(M,L)}o(ie,"autoInject");class le{static{o(this,"DLL")}constructor(){this.head=this.tail=null;this.length=0}removeLink(L){if(L.prev)L.prev.next=L.next;else this.head=L.next;if(L.next)L.next.prev=L.prev;else this.tail=L.prev;L.prev=L.next=null;this.length-=1;return L}empty(){while(this.head)this.shift();return this}insertAfter(L,M){M.prev=L;M.next=L.next;if(L.next)L.next.prev=M;else this.tail=M;L.next=M;this.length+=1}insertBefore(L,M){M.prev=L.prev;M.next=L;if(L.prev)L.prev.next=M;else this.head=M;L.prev=M;this.length+=1}unshift(L){if(this.head)this.insertBefore(this.head,L);else ye(this,L)}push(L){if(this.tail)this.insertAfter(this.tail,L);else ye(this,L)}shift(){return this.head&&this.removeLink(this.head)}pop(){return this.tail&&this.removeLink(this.tail)}toArray(){return[...this]}*[Symbol.iterator](){var L=this.head;while(L){yield L.data;L=L.next}}remove(L){var M=this.head;while(M){var{next:ee}=M;if(L(M)){this.removeLink(M)}M=ee}return this}}function ye(F,L){F.length=1;F.head=F.tail=L}o(ye,"setInitial");function De(F,L,M){if(L==null){L=1}else if(L===0){throw new RangeError("Concurrency must not be zero")}var ee=y(F);var de=0;var fe=[];const ve={error:[],drain:[],saturated:[],unsaturated:[],empty:[]};function be(dt,Qe){ve[dt].push(Qe)}o(be,"on");function xe(dt,Qe){const pt=o((..._r)=>{Xe(dt,pt);Qe(..._r)},"handleAndRemove");ve[dt].push(pt)}o(xe,"once");function Xe(dt,Qe){if(!dt)return Object.keys(ve).forEach(pt=>ve[pt]=[]);if(!Qe)return ve[dt]=[];ve[dt]=ve[dt].filter(pt=>pt!==Qe)}o(Xe,"off");function pr(dt,...Qe){ve[dt].forEach(pt=>pt(...Qe))}o(pr,"trigger");var qr=false;function vr(dt,Qe,pt,_r){if(_r!=null&&typeof _r!=="function"){throw new Error("task callback must be a function")}jr.started=true;var Rn,ui;function Ca(zp,...Oy){if(zp)return pt?ui(zp):Rn();if(Oy.length<=1)return Rn(Oy[0]);Rn(Oy)}o(Ca,"promiseCallback");var am=jr._createTaskItem(dt,pt?Ca:_r||Ca);if(Qe){jr._tasks.unshift(am)}else{jr._tasks.push(am)}if(!qr){qr=true;c(()=>{qr=false;jr.process()})}if(pt||!_r){return new Promise((zp,Oy)=>{Rn=zp;ui=Oy})}}o(vr,"_insert");function xa(dt){return function(Qe,...pt){de-=1;for(var _r=0,Rn=dt.length;_r<Rn;_r++){var ui=dt[_r];var Ca=fe.indexOf(ui);if(Ca===0){fe.shift()}else if(Ca>0){fe.splice(Ca,1)}ui.callback(Qe,...pt);if(Qe!=null){pr("error",Qe,ui.data)}}if(de<=jr.concurrency-jr.buffer){pr("unsaturated")}if(jr.idle()){pr("drain")}jr.process()}}o(xa,"_createCB");function sm(dt){if(dt.length===0&&jr.idle()){c(()=>pr("drain"));return true}return false}o(sm,"_maybeDrain");const Gp=o(dt=>Qe=>{if(!Qe){return new Promise((pt,_r)=>{xe(dt,(Rn,ui)=>{if(Rn)return _r(Rn);pt(ui)})})}Xe(dt);be(dt,Qe)},"eventMethod");var Ny=false;var jr={_tasks:new le,_createTaskItem(dt,Qe){return{data:dt,callback:Qe}},*[Symbol.iterator](){yield*jr._tasks[Symbol.iterator]()},concurrency:L,payload:M,buffer:L/4,started:false,paused:false,push(dt,Qe){if(Array.isArray(dt)){if(sm(dt))return;return dt.map(pt=>vr(pt,false,false,Qe))}return vr(dt,false,false,Qe)},pushAsync(dt,Qe){if(Array.isArray(dt)){if(sm(dt))return;return dt.map(pt=>vr(pt,false,true,Qe))}return vr(dt,false,true,Qe)},kill(){Xe();jr._tasks.empty()},unshift(dt,Qe){if(Array.isArray(dt)){if(sm(dt))return;return dt.map(pt=>vr(pt,true,false,Qe))}return vr(dt,true,false,Qe)},unshiftAsync(dt,Qe){if(Array.isArray(dt)){if(sm(dt))return;return dt.map(pt=>vr(pt,true,true,Qe))}return vr(dt,true,true,Qe)},remove(dt){jr._tasks.remove(dt)},process(){if(Ny){return}Ny=true;while(!jr.paused&&de<jr.concurrency&&jr._tasks.length){var dt=[],Qe=[];var pt=jr._tasks.length;if(jr.payload)pt=Math.min(pt,jr.payload);for(var _r=0;_r<pt;_r++){var Rn=jr._tasks.shift();dt.push(Rn);fe.push(Rn);Qe.push(Rn.data)}de+=1;if(jr._tasks.length===0){pr("empty")}if(de===jr.concurrency){pr("saturated")}var ui=U(xa(dt));ee(Qe,ui)}Ny=false},length(){return jr._tasks.length},running(){return de},workersList(){return fe},idle(){return jr._tasks.length+de===0},pause(){jr.paused=true},resume(){if(jr.paused===false){return}jr.paused=false;c(jr.process)}};Object.defineProperties(jr,{saturated:{writable:false,value:Gp("saturated")},unsaturated:{writable:false,value:Gp("unsaturated")},empty:{writable:false,value:Gp("empty")},drain:{writable:false,value:Gp("drain")},error:{writable:false,value:Gp("error")}});return jr}o(De,"queue");function Ye(F,L){return De(F,1,L)}o(Ye,"cargo");function gt(F,L,M){return De(F,L,M)}o(gt,"cargo$1");function Qt(F,L,M,ee){ee=T(ee);var de=y(M);return Me(F,(fe,ve,be)=>{de(L,fe,(xe,Xe)=>{L=Xe;be(xe)})},fe=>ee(fe,L))}o(Qt,"reduce");var sr=v(Qt,4);function yt(...F){var L=F.map(y);return function(...M){var ee=this;var de=M[M.length-1];if(typeof de=="function"){M.pop()}else{de=O()}sr(L,M,(fe,ve,be)=>{ve.apply(ee,fe.concat((xe,...Xe)=>{be(xe,Xe)}))},(fe,ve)=>de(fe,...ve));return de[C]}}o(yt,"seq");function St(...F){return yt(...F.reverse())}o(St,"compose");function ct(F,L,M,ee){return E(oe(L),F,M,ee)}o(ct,"mapLimit");var Wr=v(ct,4);function j(F,L,M,ee){var de=y(M);return Wr(F,L,(fe,ve)=>{de(fe,(be,...xe)=>{if(be)return ve(be);return ve(be,xe)})},(fe,ve)=>{var be=[];for(var xe=0;xe<ve.length;xe++){if(ve[xe]){be=be.concat(...ve[xe])}}return ee(fe,be)})}o(j,"concatLimit");var $=v(j,4);function He(F,L,M){return $(F,Infinity,L,M)}o(He,"concat");var ar=v(He,3);function ai(F,L,M){return $(F,1,L,M)}o(ai,"concatSeries");var yr=v(ai,3);function Tt(...F){return function(...L){var M=L.pop();return M(null,...F)}}o(Tt,"constant");function Ao(F,L){return(M,ee,de,fe)=>{var ve=false;var be;const xe=y(de);M(ee,(Xe,pr,qr)=>{xe(Xe,(vr,xa)=>{if(vr||vr===false)return qr(vr);if(F(xa)&&!be){ve=true;be=L(true,Xe);return qr(null,S)}qr()})},Xe=>{if(Xe)return fe(Xe);fe(null,ve?be:L(false))})}}o(Ao,"_createTester");function qn(F,L,M){return Ao(ee=>ee,(ee,de)=>de)(Pe,F,L,M)}o(qn,"detect");var Ta=v(qn,3);function hA(F,L,M,ee){return Ao(de=>de,(de,fe)=>fe)(oe(L),F,M,ee)}o(hA,"detectLimit");var Ki=v(hA,4);function cs(F,L,M){return Ao(ee=>ee,(ee,de)=>de)(oe(1),F,L,M)}o(cs,"detectSeries");var Is=v(cs,3);function xo(F){return(L,...M)=>y(L)(...M,(ee,...de)=>{if(typeof console==="object"){if(ee){if(console.error){console.error(ee)}}else if(console[F]){de.forEach(fe=>console[F](fe))}}})}o(xo,"consoleFunc");var Co=xo("dir");function em(F,L,M){M=U(M);var ee=y(F);var de=y(L);var fe;function ve(xe,...Xe){if(xe)return M(xe);if(xe===false)return;fe=Xe;de(...Xe,be)}o(ve,"next");function be(xe,Xe){if(xe)return M(xe);if(xe===false)return;if(!Xe)return M(null,...fe);ee(ve)}o(be,"check");return be(null,true)}o(em,"doWhilst");var Yi=v(em,3);function by(F,L,M){const ee=y(L);return Yi(F,(...de)=>{const fe=de.pop();ee(...de,(ve,be)=>fe(ve,!be))},M)}o(by,"doUntil");function fE(F){return(L,M,ee)=>F(L,ee)}o(fE,"_withoutIndex");function hE(F,L,M){return Pe(F,fE(y(L)),M)}o(hE,"eachLimit");var tm=v(hE,3);function mE(F,L,M,ee){return oe(L)(F,fE(y(M)),ee)}o(mE,"eachLimit$1");var Z=v(mE,4);function H(F,L,M){return Z(F,1,L,M)}o(H,"eachSeries");var re=v(H,3);function pe(F){if(h(F))return F;return function(...L){var M=L.pop();var ee=true;L.push((...de)=>{if(ee){c(()=>M(...de))}else{M(...de)}});F.apply(this,L);ee=false}}o(pe,"ensureAsync");function me(F,L,M){return Ao(ee=>!ee,ee=>!ee)(Pe,F,L,M)}o(me,"every");var je=v(me,3);function Ct(F,L,M,ee){return Ao(de=>!de,de=>!de)(oe(L),F,M,ee)}o(Ct,"everyLimit");var Kt=v(Ct,4);function Lr(F,L,M){return Ao(ee=>!ee,ee=>!ee)(Me,F,L,M)}o(Lr,"everySeries");var hn=v(Lr,3);function or(F,L,M,ee){var de=new Array(L.length);F(L,(fe,ve,be)=>{M(fe,(xe,Xe)=>{de[ve]=!!Xe;be(xe)})},fe=>{if(fe)return ee(fe);var ve=[];for(var be=0;be<L.length;be++){if(de[be])ve.push(L[be])}ee(null,ve)})}o(or,"filterArray");function mn(F,L,M,ee){var de=[];F(L,(fe,ve,be)=>{M(fe,(xe,Xe)=>{if(xe)return be(xe);if(Xe){de.push({index:ve,value:fe})}be(xe)})},fe=>{if(fe)return ee(fe);ee(null,de.sort((ve,be)=>ve.index-be.index).map(ve=>ve.value))})}o(mn,"filterGeneric");function gn(F,L,M,ee){var de=b(L)?or:mn;return de(F,L,y(M),ee)}o(gn,"_filter");function cn(F,L,M){return gn(Pe,F,L,M)}o(cn,"filter");var Xt=v(cn,3);function yn(F,L,M,ee){return gn(oe(L),F,M,ee)}o(yn,"filterLimit");var xr=v(yn,4);function Sl(F,L,M){return gn(Me,F,L,M)}o(Sl,"filterSeries");var oi=v(Sl,3);function Ps(F,L){var M=U(L);var ee=y(pe(F));function de(fe){if(fe)return M(fe);if(fe===false)return;ee(de)}o(de,"next");return de()}o(Ps,"forever");var Gr=v(Ps,2);function ds(F,L,M,ee){var de=y(M);return Wr(F,L,(fe,ve)=>{de(fe,(be,xe)=>{if(be)return ve(be);return ve(be,{key:xe,val:fe})})},(fe,ve)=>{var be={};var{hasOwnProperty:xe}=Object.prototype;for(var Xe=0;Xe<ve.length;Xe++){if(ve[Xe]){var{key:pr}=ve[Xe];var{val:qr}=ve[Xe];if(xe.call(be,pr)){be[pr].push(qr)}else{be[pr]=[qr]}}}return ee(fe,be)})}o(ds,"groupByLimit");var Si=v(ds,4);function da(F,L,M){return Si(F,Infinity,L,M)}o(da,"groupBy");function fu(F,L,M){return Si(F,1,L,M)}o(fu,"groupBySeries");var Aa=xo("log");function Up(F,L,M,ee){ee=T(ee);var de={};var fe=y(M);return oe(L)(F,(ve,be,xe)=>{fe(ve,be,(Xe,pr)=>{if(Xe)return xe(Xe);de[be]=pr;xe(Xe)})},ve=>ee(ve,de))}o(Up,"mapValuesLimit");var Tl=v(Up,4);function Bp(F,L,M){return Tl(F,Infinity,L,M)}o(Bp,"mapValues");function Al(F,L,M){return Tl(F,1,L,M)}o(Al,"mapValuesSeries");function xl(F,L=M=>M){var M=Object.create(null);var ee=Object.create(null);var de=y(F);var fe=r((ve,be)=>{var xe=L(...ve);if(xe in M){c(()=>be(null,...M[xe]))}else if(xe in ee){ee[xe].push(be)}else{ee[xe]=[be];de(...ve,(Xe,...pr)=>{if(!Xe){M[xe]=pr}var qr=ee[xe];delete ee[xe];for(var vr=0,xa=qr.length;vr<xa;vr++){qr[vr](Xe,...pr)}})}});fe.memo=M;fe.unmemoized=F;return fe}o(xl,"memoize");var Ds;if(s){Ds=process.nextTick}else if(i){Ds=setImmediate}else{Ds=a}var Cl=u(Ds);var Fp=v((F,L,M)=>{var ee=b(L)?[]:{};F(L,(de,fe,ve)=>{y(de)((be,...xe)=>{if(xe.length<2){[xe]=xe}ee[fe]=xe;ve(be)})},de=>M(de,ee))},3);function hu(F,L){return Fp(Pe,F,L)}o(hu,"parallel$1");function gE(F,L,M){return Fp(oe(L),F,M)}o(gE,"parallelLimit");function wy(F,L){var M=y(F);return De((ee,de)=>{M(ee[0],de)},L,1)}o(wy,"queue$1");class yE{static{o(this,"Heap")}constructor(){this.heap=[];this.pushCount=Number.MIN_SAFE_INTEGER}get length(){return this.heap.length}empty(){this.heap=[];return this}percUp(L){let M;while(L>0&&rm(this.heap[L],this.heap[M=Dc(L)])){let ee=this.heap[L];this.heap[L]=this.heap[M];this.heap[M]=ee;L=M}}percDown(L){let M;while((M=Mp(L))<this.heap.length){if(M+1<this.heap.length&&rm(this.heap[M+1],this.heap[M])){M=M+1}if(rm(this.heap[L],this.heap[M])){break}let ee=this.heap[L];this.heap[L]=this.heap[M];this.heap[M]=ee;L=M}}push(L){L.pushCount=++this.pushCount;this.heap.push(L);this.percUp(this.heap.length-1)}unshift(L){return this.heap.push(L)}shift(){let[L]=this.heap;this.heap[0]=this.heap[this.heap.length-1];this.heap.pop();this.percDown(0);return L}toArray(){return[...this]}*[Symbol.iterator](){for(let L=0;L<this.heap.length;L++){yield this.heap[L].data}}remove(L){let M=0;for(let ee=0;ee<this.heap.length;ee++){if(!L(this.heap[ee])){this.heap[M]=this.heap[ee];M++}}this.heap.splice(M);for(let ee=Dc(this.heap.length-1);ee>=0;ee--){this.percDown(ee)}return this}}function Mp(F){return(F<<1)+1}o(Mp,"leftChi");function Dc(F){return(F+1>>1)-1}o(Dc,"parent");function rm(F,L){if(F.priority!==L.priority){return F.priority<L.priority}else{return F.pushCount<L.pushCount}}o(rm,"smaller");function kc(F,L){var M=wy(F,L);var{push:ee,pushAsync:de}=M;M._tasks=new yE;M._createTaskItem=({data:ve,priority:be},xe)=>{return{data:ve,priority:be,callback:xe}};function fe(ve,be){if(!Array.isArray(ve)){return{data:ve,priority:be}}return ve.map(xe=>{return{data:xe,priority:be}})}o(fe,"createDataItems");M.push=function(ve,be=0,xe){return ee(fe(ve,be),xe)};M.pushAsync=function(ve,be=0,xe){return de(fe(ve,be),xe)};delete M.unshift;delete M.unshiftAsync;return M}o(kc,"priorityQueue");function mA(F,L){L=T(L);if(!Array.isArray(F))return L(new TypeError("First argument to race must be an array of functions"));if(!F.length)return L();for(var M=0,ee=F.length;M<ee;M++){y(F[M])(L)}}o(mA,"race");var Sy=v(mA,2);function nm(F,L,M,ee){var de=[...F].reverse();return sr(de,L,M,ee)}o(nm,"reduceRight");function ks(F){var L=y(F);return r(o(function M(ee,de){ee.push((fe,...ve)=>{let be={};if(fe){be.error=fe}if(ve.length>0){var xe=ve;if(ve.length<=1){[xe]=ve}be.value=xe}de(null,be)});return L.apply(this,ee)},"reflectOn"))}o(ks,"reflect");function Rl(F){var L;if(Array.isArray(F)){L=F.map(ks)}else{L={};Object.keys(F).forEach(M=>{L[M]=ks.call(this,F[M])})}return L}o(Rl,"reflectAll");function Vp(F,L,M,ee){const de=y(M);return gn(F,L,(fe,ve)=>{de(fe,(be,xe)=>{ve(be,!xe)})},ee)}o(Vp,"reject");function im(F,L,M){return Vp(Pe,F,L,M)}o(im,"reject$1");var Nl=v(im,3);function yG(F,L,M,ee){return Vp(oe(L),F,M,ee)}o(yG,"rejectLimit");var Ol=v(yG,4);function Hp(F,L,M){return Vp(Me,F,L,M)}o(Hp,"rejectSeries");var Ty=v(Hp,3);function vE(F){return function(){return F}}o(vE,"constant$1");const Ay=5;const _E=0;function xy(F,L,M){var ee={times:Ay,intervalFunc:vE(_E)};if(arguments.length<3&&typeof F==="function"){M=L||O();L=F}else{vG(ee,F);M=M||O()}if(typeof L!=="function"){throw new Error("Invalid arguments for async.retry")}var de=y(L);var fe=1;function ve(){de((be,...xe)=>{if(be===false)return;if(be&&fe++<ee.times&&(typeof ee.errorFilter!="function"||ee.errorFilter(be))){setTimeout(ve,ee.intervalFunc(fe-1))}else{M(be,...xe)}})}o(ve,"retryAttempt");ve();return M[C]}o(xy,"retry");function vG(F,L){if(typeof L==="object"){F.times=+L.times||Ay;F.intervalFunc=typeof L.interval==="function"?L.interval:vE(+L.interval||_E);F.errorFilter=L.errorFilter}else if(typeof L==="number"||typeof L==="string"){F.times=+L||Ay}else{throw new Error("Invalid arguments for async.retry")}}o(vG,"parseTimes");function gA(F,L){if(!L){L=F;F=null}let M=F&&F.arity||L.length;if(h(L)){M+=1}var ee=y(L);return r((de,fe)=>{if(de.length<M-1||fe==null){de.push(fe);fe=O()}function ve(be){ee(...de,be)}o(ve,"taskFn");if(F)xy(F,ve,fe);else xy(ve,fe);return fe[C]})}o(gA,"retryable");function yA(F,L){return Fp(Me,F,L)}o(yA,"series");function _G(F,L,M){return Ao(Boolean,ee=>ee)(Pe,F,L,M)}o(_G,"some");var Cy=v(_G,3);function EG(F,L,M,ee){return Ao(Boolean,de=>de)(oe(L),F,M,ee)}o(EG,"someLimit");var EE=v(EG,4);function _we(F,L,M){return Ao(Boolean,ee=>ee)(Me,F,L,M)}o(_we,"someSeries");var bE=v(_we,3);function Ewe(F,L,M){var ee=y(L);return qe(F,(fe,ve)=>{ee(fe,(be,xe)=>{if(be)return ve(be);ve(be,{value:fe,criteria:xe})})},(fe,ve)=>{if(fe)return M(fe);M(null,ve.sort(de).map(be=>be.value))});function de(fe,ve){var be=fe.criteria,xe=ve.criteria;return be<xe?-1:be>xe?1:0}o(de,"comparator")}o(Ewe,"sortBy");var bG=v(Ewe,3);function wG(F,L,M){var ee=y(F);return r((de,fe)=>{var ve=false;var be;function xe(){var Xe=F.name||"anonymous";var pr=new Error('Callback function "'+Xe+'" timed out.');pr.code="ETIMEDOUT";if(M){pr.info=M}ve=true;fe(pr)}o(xe,"timeoutCallback");de.push((...Xe)=>{if(!ve){fe(...Xe);clearTimeout(be)}});be=setTimeout(xe,L);ee(...de)})}o(wG,"timeout");function bwe(F){var L=Array(F);while(F--){L[F]=F}return L}o(bwe,"range");function wE(F,L,M,ee){var de=y(M);return Wr(bwe(F),L,de,ee)}o(wE,"timesLimit");function SG(F,L,M){return wE(F,Infinity,L,M)}o(SG,"times");function TG(F,L,M){return wE(F,1,L,M)}o(TG,"timesSeries");function AG(F,L,M,ee){if(arguments.length<=3&&typeof L==="function"){ee=M;M=L;L=Array.isArray(F)?[]:{}}ee=T(ee||O());var de=y(M);Pe(F,(fe,ve,be)=>{de(L,fe,ve,be)},fe=>ee(fe,L));return ee[C]}o(AG,"transform");function wwe(F,L){var M=null;var ee;return re(F,(de,fe)=>{y(de)((ve,...be)=>{if(ve===false)return fe(ve);if(be.length<2){[ee]=be}else{ee=be}M=ve;fe(ve?null:{})})},()=>L(M,ee))}o(wwe,"tryEach");var xG=v(wwe);function CG(F){return(...L)=>{return(F.unmemoized||F)(...L)}}o(CG,"unmemoize");function Swe(F,L,M){M=U(M);var ee=y(L);var de=y(F);var fe=[];function ve(xe,...Xe){if(xe)return M(xe);fe=Xe;if(xe===false)return;de(be)}o(ve,"next");function be(xe,Xe){if(xe)return M(xe);if(xe===false)return;if(!Xe)return M(null,...fe);ee(ve)}o(be,"check");return de(be)}o(Swe,"whilst");var Ry=v(Swe,3);function RG(F,L,M){const ee=y(F);return Ry(de=>ee((fe,ve)=>de(fe,!ve)),L,M)}o(RG,"until");function Twe(F,L){L=T(L);if(!Array.isArray(F))return L(new Error("First argument to waterfall must be an array of functions"));if(!F.length)return L();var M=0;function ee(fe){var ve=y(F[M++]);ve(...fe,U(de))}o(ee,"nextTask");function de(fe,...ve){if(fe===false)return;if(fe||M===F.length){return L(fe,...ve)}ee(ve)}o(de,"next");ee([])}o(Twe,"waterfall");var NG=v(Twe);var Awe={apply:e,applyEach:ge,applyEachSeries:ze,asyncify:d,auto:q,autoInject:ie,cargo:Ye,cargoQueue:gt,compose:St,concat:ar,concatLimit:$,concatSeries:yr,constant:Tt,detect:Ta,detectLimit:Ki,detectSeries:Is,dir:Co,doUntil:by,doWhilst:Yi,each:tm,eachLimit:Z,eachOf:Pe,eachOfLimit:ue,eachOfSeries:Me,eachSeries:re,ensureAsync:pe,every:je,everyLimit:Kt,everySeries:hn,filter:Xt,filterLimit:xr,filterSeries:oi,forever:Gr,groupBy:da,groupByLimit:Si,groupBySeries:fu,log:Aa,map:qe,mapLimit:Wr,mapSeries:Ze,mapValues:Bp,mapValuesLimit:Tl,mapValuesSeries:Al,memoize:xl,nextTick:Cl,parallel:hu,parallelLimit:gE,priorityQueue:kc,queue:wy,race:Sy,reduce:sr,reduceRight:nm,reflect:ks,reflectAll:Rl,reject:Nl,rejectLimit:Ol,rejectSeries:Ty,retry:xy,retryable:gA,seq:yt,series:yA,setImmediate:c,some:Cy,someLimit:EE,someSeries:bE,sortBy:bG,timeout:wG,times:SG,timesLimit:wE,timesSeries:TG,transform:AG,tryEach:xG,unmemoize:CG,until:RG,waterfall:NG,whilst:Ry,all:je,allLimit:Kt,allSeries:hn,any:Cy,anyLimit:EE,anySeries:bE,find:Ta,findLimit:Ki,findSeries:Is,flatMap:ar,flatMapLimit:$,flatMapSeries:yr,forEach:tm,forEachSeries:re,forEachLimit:Z,forEachOf:Pe,forEachOfSeries:Me,forEachOfLimit:ue,inject:sr,foldl:sr,foldr:nm,select:Xt,selectLimit:xr,selectSeries:oi,wrapSync:d,during:Ry,doDuring:Yi};t.default=Awe;t.apply=e;t.applyEach=ge;t.applyEachSeries=ze;t.asyncify=d;t.auto=q;t.autoInject=ie;t.cargo=Ye;t.cargoQueue=gt;t.compose=St;t.concat=ar;t.concatLimit=$;t.concatSeries=yr;t.constant=Tt;t.detect=Ta;t.detectLimit=Ki;t.detectSeries=Is;t.dir=Co;t.doUntil=by;t.doWhilst=Yi;t.each=tm;t.eachLimit=Z;t.eachOf=Pe;t.eachOfLimit=ue;t.eachOfSeries=Me;t.eachSeries=re;t.ensureAsync=pe;t.every=je;t.everyLimit=Kt;t.everySeries=hn;t.filter=Xt;t.filterLimit=xr;t.filterSeries=oi;t.forever=Gr;t.groupBy=da;t.groupByLimit=Si;t.groupBySeries=fu;t.log=Aa;t.map=qe;t.mapLimit=Wr;t.mapSeries=Ze;t.mapValues=Bp;t.mapValuesLimit=Tl;t.mapValuesSeries=Al;t.memoize=xl;t.nextTick=Cl;t.parallel=hu;t.parallelLimit=gE;t.priorityQueue=kc;t.queue=wy;t.race=Sy;t.reduce=sr;t.reduceRight=nm;t.reflect=ks;t.reflectAll=Rl;t.reject=Nl;t.rejectLimit=Ol;t.rejectSeries=Ty;t.retry=xy;t.retryable=gA;t.seq=yt;t.series=yA;t.setImmediate=c;t.some=Cy;t.someLimit=EE;t.someSeries=bE;t.sortBy=bG;t.timeout=wG;t.times=SG;t.timesLimit=wE;t.timesSeries=TG;t.transform=AG;t.tryEach=xG;t.unmemoize=CG;t.until=RG;t.waterfall=NG;t.whilst=Ry;t.all=je;t.allLimit=Kt;t.allSeries=hn;t.any=Cy;t.anyLimit=EE;t.anySeries=bE;t.find=Ta;t.findLimit=Ki;t.findSeries=Is;t.flatMap=ar;t.flatMapLimit=$;t.flatMapSeries=yr;t.forEach=tm;t.forEachSeries=re;t.forEachLimit=Z;t.forEachOf=Pe;t.forEachOfSeries=Me;t.forEachOfLimit=ue;t.inject=sr;t.foldl=sr;t.foldr=nm;t.select=Xt;t.selectLimit=xr;t.selectSeries=oi;t.wrapSync=d;t.during=Ry;t.doDuring=Yi;Object.defineProperty(t,"__esModule",{value:true})})});var CL=_((Qzt,Ohe)=>{var Rhe=Che();var elt=50;function Nhe(t,e){if(!t||t.length<=elt){return e}return(r,n)=>e(r,(...i)=>setImmediate(n,...i))}o(Nhe,"safeIteratee");function tlt(t,e,r){return Rhe.each(t,Nhe(t,e),r)}o(tlt,"safeAsyncEach");function rlt(t,e,r){return Rhe.eachSeries(t,Nhe(t,e),r)}o(rlt,"safeAsyncEachSeries");Ohe.exports={safeAsyncEach:tlt,safeAsyncEachSeries:rlt}});var Hhe=_((Zzt,Vhe)=>{var nlt=require("crypto");var ilt=Ahe();var Ihe=require("util");var{safeAsyncEachSeries:o1}=CL();var M_=EL();var{checkContext:slt}=B_();var alt=["key","ip","country","email","firstName","lastName","avatar","name","anonymous"];var olt={HEALTHY:1,STALE:2,STORE_ERROR:3,NOT_CONFIGURED:4};function ult(t){if(t.kind===void 0&&typeof t.key!=="string"){return{...t,key:String(t.key)}}return t}o(ult,"stringifyContextAttrs");var llt=o(()=>{},"noop");function clt(t){const e={};e.evaluate=(r,n,i,s)=>{dlt(r,n,t,i,s)};return e}o(clt,"Evaluator");function dlt(t,e,r,n,i){const s=i||llt;if(!slt(e,true)){s(null,qu("USER_NOT_SPECIFIED"),[]);return}if(!t){s(null,qu("FLAG_NOT_FOUND"),[]);return}const a=ult(e);const u={};jhe(t,a,r,u,n,[t.key],(l,c)=>{const d=c;if(u.bigSegmentsStatus){d.reason.bigSegmentsStatus=u.bigSegmentsStatus}s(l,d,u.events)})}o(dlt,"evaluate");function jhe(t,e,r,n,i,s,a){if(!t.on){Lhe(t,{kind:"OFF"},a);return}plt(t,e,r,n,i,s,(u,l)=>{if(n.error){a(...n.error);return}if(u||l){Lhe(t,l,a)}else{flt(t,e,r,n,a)}})}o(jhe,"evalInternal");function plt(t,e,r,n,i,s,a){if(t.prerequisites&&t.prerequisites.length){o1(t.prerequisites,(u,l)=>{if(s.indexOf(u.key)!==-1){n.error=[new Error(`Prerequisite of ${t.key} causing a circular reference. This is probably a temporary condition due to an incomplete update.`),qu("MALFORMED_FLAG")];l(null);return}const c=[...s,u.key];r.getFlag(u.key,d=>{if(!d){l({key:u.key,err:new Error('Could not retrieve prerequisite feature flag "'+u.key+'"')});return}jhe(d,e,r,n,i,c,(p,f)=>{n.events=n.events||[];n.events.push(i.newEvalEvent(d,e,f,null,t));if(p){l({key:u.key,err:p})}else if(!d.on||f.variationIndex!==u.variation){l({key:u.key})}else{l(null)}})})},u=>{if(u){a(u.err,{kind:"PREREQUISITE_FAILED",prerequisiteKey:u.key})}else{a(null,null)}})}else{a(null,null)}}o(plt,"checkPrerequisites");function flt(t,e,r,n,i){if(hlt(t,e,i)){return}o1(t.rules,(s,a)=>{mlt(s,e,r,n,u=>{a(u?s:null)},[])},s=>{if(n.error){return i(...n.error)}if(s){const a=s;const u={kind:"RULE_MATCH",ruleId:a.id};for(let l=0;l<t.rules.length;l++){if(t.rules[l].id===a.id){u.ruleIndex=l;break}}qhe(a,e,t,u,i)}else{qhe(t.fallthrough,e,t,{kind:"FALLTHROUGH"},i)}})}o(flt,"evalRules");function RL(t,e,r,n){if(!e.values){return false}const i=V_(r,e.contextKind);if(!i){return false}const s=i.key;return e.values.some(a=>{if(a===s){OL(t,e.variation,{kind:"TARGET_MATCH"},n);return true}return false})}o(RL,"evalTarget");function hlt(t,e,r){if(!t.contextTargets||!t.contextTargets.length){return t.targets&&t.targets.some(n=>RL(t,n,e,r))}return t.contextTargets.some(n=>{if(!n.contextKind||n.contextKind==="user"){const i=(t.targets||[]).find(s=>s.variation===n.variation);return i&&RL(t,i,e,r)}else{return RL(t,n,e,r)}})}o(hlt,"evalTargets");function mlt(t,e,r,n,i,s){if(!t.clauses){i(false);return}o1(t.clauses,(a,u)=>{Uhe(a,e,r,n,l=>{u(l?null:a)},s)},a=>{i(!a)})}o(mlt,"ruleMatchContext");function Uhe(t,e,r,n,i,s){if(t.op==="segmentMatch"){o1(t.values,(a,u)=>{r.getSegment(a,l=>{if(l){if(s.indexOf(l.key)>=0){n.error=[new Error(`Segment rule referencing segment ${l.key} caused a circular reference. This is probably a temporary condition due to an incomplete update`),qu("MALFORMED_FLAG")];return u(true)}const c=[...s,l.key];vlt(l,e,r,n,d=>u(d?l:null),c)}else{return u(null)}})},a=>{i(_9(t,!!a))})}else{i(ylt(t,e,n))}}o(Uhe,"clauseMatchContext");function glt(t,e){const r=t.contextKind||"user";const n=M_.isKind(t.attribute);if(n&&e.kind!=="multi"){return[true,e.kind||"user"]}else if(n){return[true,Object.keys(e).filter(i=>i!=="kind")]}return Fhe(e,r,t.attribute,!t.contextKind)}o(glt,"getContextValueForClause");function ylt(t,e,r){const n=ilt.fn(t.op);const[i,s]=glt(t,e);if(!i){r.error=[new Error("Invalid attribute reference in clause"),qu("MALFORMED_FLAG")];return false}if(s===null||s===void 0){return false}if(Array.isArray(s)){for(let a=0;a<s.length;a++){if($he(n,s[a],t.values)){return _9(t,true)}}return _9(t,false)}return _9(t,$he(n,s,t.values))}o(ylt,"clauseMatchContextNoSegments");function Phe(t){return olt[t]||0}o(Phe,"getBigSegmentsStatusPriority");function NL(t,e){if(t!==void 0&&Phe(t)>Phe(e)){return t}return e}o(NL,"computeUpdatedBigSegmentsStatus");function vlt(t,e,r,n,i,s){if(!t.unbounded){return Bhe(t,e,true,r,n,i,s)}if(!t.generation){n.bigSegmentsStatus=NL(n.bigSegmentsStatus,"NOT_CONFIGURED");return i(false)}const a=t.unboundedContextKind||"user";const u=V_(e,a);if(!u){return i(false)}if(n.bigSegmentsMembership&&n.bigSegmentsMembership[u.key]){return Dhe(n.bigSegmentsMembership[u.key],t,u,r,n,i)}r.getBigSegmentsMembership(u.key,l=>{n.bigSegmentsMembership=n.bigSegmentsMembership||{};if(l){n.bigSegmentsMembership[u.key]=l[0];n.bigSegmentsStatus=NL(n.bigSegmentsStatus,l[1])}else{n.bigSegmentsStatus=NL(n.bigSegmentsStatus,"NOT_CONFIGURED")}return Dhe(n.bigSegmentsMembership[u.key],t,u,r,n,i)})}o(vlt,"segmentMatchContext");function Dhe(t,e,r,n,i,s){const a=Mhe(e);const u=t&&t[a];if(u!==void 0){return s(u)}return Bhe(e,r,false,n,i,s)}o(Dhe,"bigSegmentMatchContext");function V_(t,e){const r=e||"user";if(t.kind==="multi"){return t[r]}else if(t.kind===r||t.kind===void 0&&r==="user"){return t}return void 0}o(V_,"getContextForKind");function khe(t,e,r){const n=r.kind||"user";for(const{contextKind:s,values:a}of t){const u=V_(r,s);if(u){if(a.indexOf(u.key)>=0){return[true,true]}}}const i=n==="user"?r:r["user"];if(i){if(e.indexOf(i.key)>=0){return[true,true]}}return[false,false]}o(khe,"segmentSearch");function Bhe(t,e,r,n,i,s,a){if(r){const u=khe(t.includedContexts||[],t.included||[],e);if(u[0]){return s(u[1])}const l=khe(t.excludedContexts||[],t.excluded||[],e);if(l[0]){return s(!l[1])}}o1(t.rules||[],(u,l)=>{_lt(u,e,t.key,t.salt,n,i,c=>{l(c?c:null)},a)},u=>{s(u)})}o(Bhe,"simpleSegmentMatchContext");function _lt(t,e,r,n,i,s,a,u){o1(t.clauses,(l,c)=>{Uhe(l,e,i,s,d=>{c(d?null:l)},u)},l=>{if(l){return a(false)}if(t.weight===void 0||t.weight===null){return a(true)}const{invalid:c,refAttr:d}=IL(!t.contextKind,t.bucketBy||"key");if(c){s.error=[new Error("Invalid attribute reference in rule."),qu("MALFORMED_FLAG")];return a(false)}const[p]=PL(e,r,d,n,t.contextKind);const f=t.weight/1e5;return a(p<f)})}o(_lt,"segmentRuleMatchContext");function _9(t,e){if(t.negate){return!e}else{return e}}o(_9,"maybeNegate");function $he(t,e,r){for(let n=0;n<r.length;n++){if(t(e,r[n])){return true}}return false}o($he,"matchAny");function OL(t,e,r,n){if(e===null||e===void 0||e<0||e>=t.variations.length){n(new Error("Invalid variation index in flag"),qu("MALFORMED_FLAG"))}else{n(null,{value:t.variations[e],variationIndex:e,reason:r})}}o(OL,"getVariation");function Lhe(t,e,r){if(t.offVariation===null||t.offVariation===void 0){r(null,{value:null,variationIndex:null,reason:e})}else{OL(t,t.offVariation,e,r)}}o(Lhe,"getOffResult");function qhe(t,e,r,n,i){if(!t){i(new Error("Fallthrough variation undefined"),qu("MALFORMED_FLAG"))}else{const[s,a,u]=Elt(t,e,r);if(u!==void 0){i(...u)}else if(s===null||s===void 0){i(new Error("Variation/rollout object with no variation or rollout"),qu("MALFORMED_FLAG"))}else{const l=n;if(a){l.inExperiment=true}OL(r,s,l,i)}}}o(qhe,"getResultForVariationOrRollout");function qu(t){return{value:null,variationIndex:null,reason:{kind:"ERROR",errorKind:t}}}o(qu,"errorResult");function Elt(t,e,r){if(t.variation!==null&&t.variation!==void 0){return[t.variation,false,void 0]}const n=t.rollout;if(n){const i=n.kind==="experiment";const s=n.variations;if(s&&s.length>0){const a=i?"key":n.bucketBy||"key";const{invalid:u,refAttr:l}=IL(!n.contextKind,a);if(u){return[void 0,void 0,[new Error("Invalid attribute reference for bucketBy in rollout"),qu("MALFORMED_FLAG")]]}const[c,d]=PL(e,r.key,l,r.salt,n.seed,n.contextKind);let p=0;for(let h=0;h<s.length;h++){const m=s[h];p+=m.weight/1e5;if(c<p){return[m.variation,i&&d&&!m.untracked,void 0]}}const f=s[s.length-1];return[f.variation,i&&!f.untracked,void 0]}}return[null,false]}o(Elt,"variationForUser");function blt(t,e){if(alt.some(r=>M_.compare(e,r))){return F_(t,e)}if(t.custom){return F_(t.custom,e)}return null}o(blt,"legacyUserValue");function F_(t,e){const r=M_.get(t,e);if(typeof r==="object"&&!Array.isArray(r)){return void 0}return r}o(F_,"contextValueByReference");function wlt(t){return t&&t.startsWith("/")?M_.literalToReference(t):t}o(wlt,"legacyAttributeToReference");function Fhe(t,e,r,n){const{invalid:i,refAttr:s}=IL(n,r);if(i){return[!i,void 0]}if(r==="anonymous"){const a=V_(t,e);return[true,F_(a,s)||false]}if(!t.kind){if(e==="user"){return[true,blt(t,s)]}return[true,void 0]}else if(t.kind==="multi"){return[true,F_(t[e],s)]}else if(t.kind===e){return[true,F_(t,s)]}return[true,void 0]}o(Fhe,"contextValue");function IL(t,e){const r=t?wlt(e):e;const n=e===""||r.startsWith("/")&&!M_.isValidReference(r);return{invalid:n,refAttr:r}}o(IL,"validateReference");function PL(t,e,r,n,i,s){const a=s||"user";const[,u]=Fhe(t,a,r,s===void 0);const l=Slt(u);if(l===null){const f=V_(t,s);return[0,!!f]}const c=i?Ihe.format("%d.",i):Ihe.format("%s.%s.",e,n);const d=c+l;const p=parseInt(Tlt(d).substring(0,15),16);return[p/1152921504606847e3,true]}o(PL,"bucketContext");function Slt(t){if(typeof t==="string"){return t}if(Number.isInteger(t)){return""+t}return null}o(Slt,"bucketableStringValue");function Tlt(t){const e=nlt.createHash("sha1");e.update(t);return e.digest("hex")}o(Tlt,"sha1Hex");function Mhe(t){return t.key+".g"+t.generation}o(Mhe,"makeBigSegmentRef");Vhe.exports={Evaluator:clt,bucketContext:PL,makeBigSegmentRef:Mhe}});var Yhe=_(u1=>{"use strict";var tKt=require("net");var Alt=require("tls");var DL=require("http");var Ghe=require("https");var xlt=require("events");var rKt=require("assert");var Clt=require("util");u1.httpOverHttp=Rlt;u1.httpsOverHttp=Nlt;u1.httpOverHttps=Olt;u1.httpsOverHttps=Ilt;function Rlt(t){var e=new sc(t);e.request=DL.request;return e}o(Rlt,"httpOverHttp");function Nlt(t){var e=new sc(t);e.request=DL.request;e.createSocket=zhe;e.defaultPort=443;return e}o(Nlt,"httpsOverHttp");function Olt(t){var e=new sc(t);e.request=Ghe.request;return e}o(Olt,"httpOverHttps");function Ilt(t){var e=new sc(t);e.request=Ghe.request;e.createSocket=zhe;e.defaultPort=443;return e}o(Ilt,"httpsOverHttps");function sc(t){var e=this;e.options=t||{};e.proxyOptions=e.options.proxy||{};e.maxSockets=e.options.maxSockets||DL.Agent.defaultMaxSockets;e.requests=[];e.sockets=[];e.on("free",o(function r(n,i,s,a){var u=Khe(i,s,a);for(var l=0,c=e.requests.length;l<c;++l){var d=e.requests[l];if(d.host===u.host&&d.port===u.port){e.requests.splice(l,1);d.request.onSocket(n);return}}n.destroy();e.removeSocket(n)},"onFree"))}o(sc,"TunnelingAgent");Clt.inherits(sc,xlt.EventEmitter);sc.prototype.addRequest=o(function t(e,r,n,i){var s=this;var a=kL({request:e},s.options,Khe(r,n,i));if(s.sockets.length>=this.maxSockets){s.requests.push(a);return}s.createSocket(a,function(u){u.on("free",l);u.on("close",c);u.on("agentRemove",c);e.onSocket(u);function l(){s.emit("free",u,a)}o(l,"onFree");function c(d){s.removeSocket(u);u.removeListener("free",l);u.removeListener("close",c);u.removeListener("agentRemove",c)}o(c,"onCloseOrRemove")})},"addRequest");sc.prototype.createSocket=o(function t(e,r){var n=this;var i={};n.sockets.push(i);var s=kL({},n.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){s.localAddress=e.localAddress}if(s.proxyAuth){s.headers=s.headers||{};s.headers["Proxy-Authorization"]="Basic "+new Buffer(s.proxyAuth).toString("base64")}$d("making CONNECT request");var a=n.request(s);a.useChunkedEncodingByDefault=false;a.once("response",u);a.once("upgrade",l);a.once("connect",c);a.once("error",d);a.end();function u(p){p.upgrade=true}o(u,"onResponse");function l(p,f,h){process.nextTick(function(){c(p,f,h)})}o(l,"onUpgrade");function c(p,f,h){a.removeAllListeners();f.removeAllListeners();if(p.statusCode!==200){$d("tunneling socket could not be established, statusCode=%d",p.statusCode);f.destroy();var m=new Error("tunneling socket could not be established, statusCode="+p.statusCode);m.code="ECONNRESET";e.request.emit("error",m);n.removeSocket(i);return}if(h.length>0){$d("got illegal response body from proxy");f.destroy();var m=new Error("got illegal response body from proxy");m.code="ECONNRESET";e.request.emit("error",m);n.removeSocket(i);return}$d("tunneling connection has established");n.sockets[n.sockets.indexOf(i)]=f;return r(f)}o(c,"onConnect");function d(p){a.removeAllListeners();$d("tunneling socket could not be established, cause=%s\n",p.message,p.stack);var f=new Error("tunneling socket could not be established, cause="+p.message);f.code="ECONNRESET";e.request.emit("error",f);n.removeSocket(i)}o(d,"onError")},"createSocket");sc.prototype.removeSocket=o(function t(e){var r=this.sockets.indexOf(e);if(r===-1){return}this.sockets.splice(r,1);var n=this.requests.shift();if(n){this.createSocket(n,function(i){n.request.onSocket(i)})}},"removeSocket");function zhe(t,e){var r=this;sc.prototype.createSocket.call(r,t,function(n){var i=t.request.getHeader("host");var s=kL({},r.options,{socket:n,servername:i?i.replace(/:.*$/,""):t.host});var a=Alt.connect(0,s);r.sockets[r.sockets.indexOf(n)]=a;e(a)})}o(zhe,"createSecureSocket");function Khe(t,e,r){if(typeof t==="string"){return{host:t,port:e,localAddress:r}}return t}o(Khe,"toOptions");function kL(t){for(var e=1,r=arguments.length;e<r;++e){var n=arguments[e];if(typeof n==="object"){var i=Object.keys(n);for(var s=0,a=i.length;s<a;++s){var u=i[s];if(n[u]!==void 0){t[u]=n[u]}}}}return t}o(kL,"mergeOptions");var $d;if(process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)){$d=o(function(){var t=Array.prototype.slice.call(arguments);if(typeof t[0]==="string"){t[0]="TUNNEL: "+t[0]}else{t.unshift("TUNNEL:")}console.error.apply(console,t)},"debug")}else{$d=o(function(){},"debug")}u1.debug=$d});var Jhe=_((sKt,Whe)=>{Whe.exports=Yhe()});var tme=_((aKt,eme)=>{var{basicLogger:Plt}=u9();var{BigSegmentStoreManager:Qhe}=Kpe();var Dlt=Jpe();var klt=Zpe();var $lt=lfe();var Llt=require("events").EventEmitter;var{EventFactory:Xhe,isExperiment:qlt}=pfe();var jlt=Jfe();var Ult=the();var Blt=hhe();var $L=ghe();var Flt=c9();var Zhe=vhe();var{Evaluator:Mlt}=Hhe();var LL=r1();var E9=Jhe();var Vlt=require("crypto");var ih=t1();var{safeAsyncEach:Hlt}=CL();var w9=wL();var b9=e1();var{checkContext:qL,getCanonicalKey:Glt}=B_();function zlt(t,e){return r=>{if(!r){return}if(t.listenerCount("error")){t.emit("error",r)}else{e.error(r.message)}}}o(zlt,"createErrorReporter");function Klt(){return{sendEvent:()=>{},flush:t=>w9(Promise.resolve(),t),close:()=>{}}}o(Klt,"NullEventProcessor");function Ylt(){return{start:t=>{setImmediate(t,null)},close:()=>{}}}o(Ylt,"NullUpdateProcessor");var Wlt=o(function(t,e){const r=new Llt;let n=false,i,s,a,u,l;const c=Flt.validate(e);if(c.proxyHost&&c.proxyPort){c.proxyAgent=Jlt(c)}const d=typeof c.featureStore==="function"?c.featureStore(c):c.featureStore;const p=Dlt(d,r);c.featureStore=p;const f=zlt(r,c.logger);let h=null;const m=Xhe(false);const g=Xhe(true);if(c.eventProcessor){u=c.eventProcessor}else{if(c.offline||!c.sendEvents){u=Klt()}else{const D=Zhe.DiagnosticId(t);h=Zhe.DiagnosticsManager(c,D,new Date().getTime());u=jlt(t,c,f,h)}}if(!t&&!c.offline){throw new Error("You must configure the client with an SDK key")}const y=o(D=>{if(D.useLdd||D.offline){return Ylt()}else{if(D.stream){D.logger.info("Initializing stream processor to receive feature flag updates");return Blt(t,D,null,h)}else{D.logger.info("Initializing polling processor to receive feature flag updates");D.logger.warn("You should only disable the streaming API if instructed to do so by LaunchDarkly support");s=$lt(t,D);return Ult(D,s)}}},"createDefaultUpdateProcessor");let v=y;if(c.updateProcessor){if(typeof c.updateProcessor==="function"){v=c.updateProcessor}else{a=c.updateProcessor}}if(!a){a=v(c)}const w=c.bigSegments&&c.bigSegments.store?Qhe(c.bigSegments.store(c),c.bigSegments,c.logger):Qhe(null,{},c.logger);Object.defineProperty(r,"bigSegmentStoreStatusProvider",{value:w.statusProvider});const E=Mlt({getFlag:(D,k)=>p.get(b9.features,D,k),getSegment:(D,k)=>p.get(b9.segments,D,k),getBigSegmentsMembership:(D,k)=>w.getUserMembership(D).then(k)});a.start(D=>{if(D){let k;if(D.status&&D.status===401||D.code&&D.code===401){k=new Error("Authentication failed. Double check your SDK key.")}else{k=D}f(k);r.emit("failed",k);i=k}else if(!n){n=true;r.emit("ready")}});r.initialized=()=>n;r.waitForInitialization=()=>{if(l){return l}if(n){l=Promise.resolve(r)}else if(i){l=Promise.reject(i)}else{l=new Promise((D,k)=>{r.once("ready",()=>{D(r)});r.once("failed",k)})}return l};r.variation=(D,k,B,V)=>w9(new Promise((U,X)=>{S(D,k,B,m,oe=>{U(oe.value)},X)}),V);r.variationDetail=(D,k,B,V)=>w9(new Promise((U,X)=>{S(D,k,B,g,U,X)}),V);function b(D,k){return{value:k,variationIndex:null,reason:{kind:"ERROR",errorKind:D}}}o(b,"errorResult");function S(D,k,B,V,U,X){if(!n){c.featureStore.initialized(oe=>{if(oe){c.logger.warn("Variation called before LaunchDarkly client initialization completed (did you wait for the 'ready' event?) - using last known values from feature store");T(D,k,B,V,U,X)}else{const we=new ih.LDClientError("Variation called before LaunchDarkly client initialization completed (did you wait for the 'ready' event?) - using default value");f(we);const ue=b("CLIENT_NOT_READY",B);u.sendEvent(V.newUnknownFlagEvent(D,k,ue));return U(ue)}})}else{T(D,k,B,V,U,X)}}o(S,"evaluateIfPossible");function T(D,k,B,V,U){if(r.isOffline()){c.logger.info("Variation called in offline mode. Returning default value.");return U(b("CLIENT_NOT_READY",B))}else if(!D){const X=new ih.LDClientError("No feature flag key specified. Returning default value.");f(X);return U(b("FLAG_NOT_FOUND",B))}if(k&&(!k.kind||k.kind!=="multi")&&k.key===""){c.logger.warn("User key is blank. Flag evaluation will proceed, but the user will not be stored in LaunchDarkly")}c.featureStore.get(b9.features,D,X=>{if(!k){const oe=new ih.LDClientError("No context specified. Returning default value.");f(oe);const we=b("USER_NOT_SPECIFIED",B);return U(we)}if(!qL(k,true)){const oe=new ih.LDClientError("Invalid context specified. Returning default value.");f(oe);const we=b("USER_NOT_SPECIFIED",B);return U(we)}if(!X){f(new ih.LDClientError(`Unknown feature flag "${D}"; returning default value`));const oe=b("FLAG_NOT_FOUND",B);u.sendEvent(V.newUnknownFlagEvent(D,k,oe));return U(oe)}E.evaluate(X,k,V,(oe,we,ue)=>{const he=we;if(oe){f(new ih.LDClientError("Encountered error evaluating feature flag:"+(oe.message?": "+oe.message:oe)))}if(ue){for(let Ge=0;Ge<ue.length;Ge++){u.sendEvent(ue[Ge])}}if(he.variationIndex===null){c.logger.debug("Result value is null in variation");he.value=B}u.sendEvent(V.newEvalEvent(X,k,he,B));return U(he)})})}o(T,"variationInternal");r.allFlagsState=(D,k,B)=>{let V=B,U=k;if(V===void 0&&typeof U==="function"){V=U;U={}}else{U=U||{}}return w9((async()=>{if(r.isOffline()){c.logger.info("allFlagsState() called in offline mode. Returning empty state.");return $L(false).build()}if(!D){c.logger.info("allFlagsState() called without context. Returning empty state.");return $L(false).build()}let X=true;if(!n){const he=await new Promise(Ge=>c.featureStore.initialized(Ge));if(he){c.logger.warn("Called allFlagsState before client initialization; using last known values from data store")}else{c.logger.warn("Called allFlagsState before client initialization. Data store not available; returning empty state");X=false}}const oe=$L(X,U.withReasons);const we=U.clientSideOnly;const ue=U.detailsOnlyForTrackedFlags;return await new Promise((he,Ge)=>c.featureStore.all(b9.features,Se=>{Hlt(Se,(Pe,Ke)=>{if(we&&!Pe.clientSide){Ke()}else{E.evaluate(Pe,D,m,(qe,ge)=>{if(qe!==null){f(new Error('Error for feature flag "'+Pe.key+'" while evaluating all flags: '+qe))}const at=qlt(Pe,ge.reason);oe.addFlag(Pe,ge.value,ge.variationIndex,ge.reason,Pe.trackEvents||at,at,ue);Ke()})}},Pe=>Pe?Ge(Pe):he(oe.build()))}))})(),V)};r.secureModeHash=D=>{const k=Glt(D);const B=Vlt.createHmac("sha256",t);B.update(k);return B.digest("hex")};r.close=()=>{u.close();if(a&&a.close){a.close()}c.featureStore.close();w.close()};r.isOffline=()=>c.offline;r.track=(D,k,B,V)=>{if(!qL(k,false)){c.logger.warn(LL.missingContextKeyNoEvent());return}u.sendEvent(m.newCustomEvent(D,k,B,V))};r.identify=D=>{if(!qL(D,false)){c.logger.warn(LL.missingContextKeyNoEvent());return}u.sendEvent(m.newIdentifyEvent(D))};r.flush=D=>u.flush(D);function x(D,k){r[D]=(...B)=>{c.logger.warn(LL.deprecated(D,k));return r[k].apply(r,B)}}o(x,"deprecatedMethod");return r},"newClient");eme.exports={init:Wlt,basicLogger:Plt,FileDataSource:klt,errors:ih};function Jlt(t){const e={proxy:{host:t.proxyHost,port:t.proxyPort,proxyAuth:t.proxyAuth}};const r=t.stream&&(!t.streamUri||t.streamUri.startsWith("https"))||!t.stream&&(!t.baseUri||t.baseUri.startsWith("https"));if(t.proxyScheme==="https"){return r?E9.httpsOverHttps(e):E9.httpOverHttps(e)}else{return r?E9.httpsOverHttp(e):E9.httpOverHttp(e)}}o(Jlt,"createProxyAgent")});var rme=_(jL=>{"use strict";Object.defineProperty(jL,"__esModule",{value:true});var H_="<unknown>";function Qlt(t){var e=t.split("\n");return e.reduce(function(r,n){var i=ect(n)||rct(n)||sct(n)||lct(n)||oct(n);if(i){r.push(i)}return r},[])}o(Qlt,"parse");var Xlt=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;var Zlt=/\((\S*)(?::(\d+))(?::(\d+))\)/;function ect(t){var e=Xlt.exec(t);if(!e){return null}var r=e[2]&&e[2].indexOf("native")===0;var n=e[2]&&e[2].indexOf("eval")===0;var i=Zlt.exec(e[2]);if(n&&i!=null){e[2]=i[1];e[3]=i[2];e[4]=i[3]}return{file:!r?e[2]:null,methodName:e[1]||H_,arguments:r?[e[2]]:[],lineNumber:e[3]?+e[3]:null,column:e[4]?+e[4]:null}}o(ect,"parseChrome");var tct=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;function rct(t){var e=tct.exec(t);if(!e){return null}return{file:e[2],methodName:e[1]||H_,arguments:[],lineNumber:+e[3],column:e[4]?+e[4]:null}}o(rct,"parseWinjs");var nct=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i;var ict=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i;function sct(t){var e=nct.exec(t);if(!e){return null}var r=e[3]&&e[3].indexOf(" > eval")>-1;var n=ict.exec(e[3]);if(r&&n!=null){e[3]=n[1];e[4]=n[2];e[5]=null}return{file:e[3],methodName:e[1]||H_,arguments:e[2]?e[2].split(","):[],lineNumber:e[4]?+e[4]:null,column:e[5]?+e[5]:null}}o(sct,"parseGecko");var act=/^\s*(?:([^@]*)(?:\((.*?)\))?@)?(\S.*?):(\d+)(?::(\d+))?\s*$/i;function oct(t){var e=act.exec(t);if(!e){return null}return{file:e[3],methodName:e[1]||H_,arguments:[],lineNumber:+e[4],column:e[5]?+e[5]:null}}o(oct,"parseJSC");var uct=/^\s*at (?:((?:\[object object\])?[^\\/]+(?: \[as \S+\])?) )?\(?(.*?):(\d+)(?::(\d+))?\)?\s*$/i;function lct(t){var e=uct.exec(t);if(!e){return null}return{file:e[2],methodName:e[1]||H_,arguments:[],lineNumber:+e[3],column:e[4]?+e[4]:null}}o(lct,"parseNode");jL.parse=Qlt});var BL=_(ns=>{"use strict";var nme=ns&&ns.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(ns,"__esModule",{value:true});ns.createNewLogger=ns.logger=ns.GOOGLE_LABELS_PROPERTY=ns.GOOGLE_TRACE_PROPERTY=void 0;var S9=nme(kR());var cct=rme();var UL=nme(Ro());var dct=IE();ns.GOOGLE_TRACE_PROPERTY="logging.googleapis.com/trace";ns.GOOGLE_LABELS_PROPERTY="logging.googleapis.com/labels";var ime="zuplo-production";ns.logger=sme();function pct(t){return JSON.stringify(t).replace(/^{/,"").replace(/}$/,"")}o(pct,"flatJSONString");function fct(t,e,r){if(t.length===2&&typeof t[1]==="object"&&t[1]!==null){t[0]=`${t[0]} ${JSON.stringify(t[1])}`}if(t.length>1&&typeof t[0]==="object"&&typeof t[1]==="string"){const i=t[0];if(i.err instanceof Error&&i.err.stack){t[1]=i.err.stack;delete i.err.stack}}let n;try{const i=`{${this?.[S9.default.symbols.chindingsSym]?.slice(1)||""}}`;n=JSON.parse(i);if(n){if(n.trace){n[ns.GOOGLE_TRACE_PROPERTY]=`projects/${ime}/traces/${n.trace}`}if(!n.trace&&n[ns.GOOGLE_TRACE_PROPERTY]){delete n[ns.GOOGLE_TRACE_PROPERTY]}if(r>=50){const s=0;const a=7;const u=Error().stack?.split("\n").slice(2).filter(l=>!l.includes("node_modules/pino")&&!l.includes("node_modules\\pino")&&!l.includes("node_modules/launchdarkly-node-server-sdk")&&!l.includes("node_modules\\launchdarkly-node-server-sdk"))[s].substr(a);n["caller"]=u}if(n["caller"]&&r<50){delete n.caller}this[S9.default.symbols.chindingsSym]=`,${pct(n)}`;return e.apply(this,t)}}catch(i){}return e.apply(this,t)}o(fct,"logMethod");function sme(t={},{logStream:e}={}){const r={level:UL.default.LOG_LEVEL,redact:['requestHeaders["authorization"]','requestHeaders["cookie"]','requestHeaders["cf-access-jwt-assertion"]','requestHeaders["cf-access-client-secret"]','requestHeaders["cf-access-client-id"]','responseHeaders["authorization"]','responseHeaders["cookie"]','responseHeaders["cf-access-jwt-assertion"]','responseHeaders["cf-access-client-secret"]','responseHeaders["cf-access-client-id"]',"cookie"]};const n={project_id:ime};r.hooks={logMethod:fct};r.formatters={bindings(i){n.pid=i.pid;n.hostname=i.hostname;return n}};if(UL.default.LOG_FORMAT==="pretty"){r.transport={target:"@zuplo/pino-pretty-configurations"}}else if(UL.default.LOG_FORMAT==="gcp"){r.messageKey="message";r.formatters={level(i,s){return{severity:hct(s)}},log(i){const s=t;if(i.err&&i.err.stack){try{const a=(0,cct.parse)(i.err.stack);if(a.length>0){i["logging.googleapis.com/sourceLocation"]={file:a[0].file,line:a[0].lineNumber,function:a[0].methodName}}}catch(a){}}if(i.req){const a=i.req;i.requestHeaders=a.raw.headers;i.httpRequest={...(i.httpRequest??{},{requestMethod:a.method,requestUrl:a.url,userAgent:a.headers["user-agent"],remoteIp:a.ip,protocol:a.protocol})};const u=a.headers["zp-rid"]??i.trace;s.requestId=u;if(a.headers["cf-ray"]){s.rayId=a.headers["cf-ray"]}if(a.headers["cf-worker"]){s.worker=a.headers["cf-worker"]}const l=(0,dct.getLoggerContext)(a);if(l){i={...i,...l}}}if(i.res){const a=i.res;i.responseHeaders=a.getHeaders();i.httpRequest={...(i.httpRequest??{},{requestMethod:a.request?a.request.method:"",requestUrl:a.request?a.request.url:"",status:a.statusCode,userAgent:a.request?a.request.headers["user-agent"]:"",latency:`${mct(a.getResponseTime()/1e3,9)}s`,remoteIp:a.request?a.request.ip:"",protocol:a.request?a.request.protocol:""})}}i[ns.GOOGLE_LABELS_PROPERTY]=s;return i}};r.serializers={req(i){return void 0},res(i){return void 0},responseTime:function(i){return void 0}}}if(e){return(0,S9.default)(r,e)}else{return(0,S9.default)(r)}}o(sme,"createNewLogger");ns.createNewLogger=sme;function hct(t){if(t===10||t===20){return"debug"}if(t===30){return"info"}if(t===40){return"warning"}if(t===50){return"error"}if(t===5){return"internal"}if(t>=60){return"critical"}return"default"}o(hct,"pinoLevelToStackDriverSeverity");function mct(t,e){return Math.trunc(t*Math.pow(10,e))/Math.pow(10,e)}o(mct,"truncateToDecimalPlace")});var ame=_(l1=>{"use strict";var A9=l1&&l1.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(l1,"__esModule",{value:true});l1.ApiServer=void 0;var gct=A9(LW());var yct=Ls();var vct=A9(Vpe());var _ct=A9(tme());var T9=A9(Ro());var Ect=BL();var bct=IE();var wct=CA();var FL=PA();var Sct=IA();function Tct(t){return new Promise((e,r)=>{setTimeout(()=>{r(new Error("Fastify plugin timed-out"))},t*1e3)})}o(Tct,"timeoutAfter");var ML=class{static{o(this,"ApiServer")}fastify;logger;listenerPort;listenerHost;name;version;openApiOptions;constructor(e){this.listenerHost=e.host;this.listenerPort=e.port;this.name=e.name;this.version=e.version;this.openApiOptions=e.openApiOptions;this.logger=(0,Ect.createNewLogger)({serverVersion:this.version,serverName:this.name},{logStream:e.logStream});this.fastify=(0,vct.default)({logger:this.logger,trustProxy:true,requestTimeout:2e4,genReqId:r=>(0,bct.requestIdGenerator)(r),requestIdLogLabel:"trace",...e}).withTypeProvider();this.fastify.setErrorHandler(wct.errorHandler);this.fastify.setNotFoundHandler((r,n)=>{const i=JSON.stringify(yct.Problems.NOT_FOUND,null,2);return n.status(404).header("content-type","application/json").send(i)})}init=async()=>{await this.fastify.register(Sct.getUserSubPlugin);await this.fastify.register(FL.ensureZuploAdminPlugin);await this.fastify.register(FL.ensureZuploUserPlugin);let e;let r=false;if(T9.default.LAUNCH_DARKLY_SERVER_KEY!=="false"){try{e=_ct.default.init(T9.default.LAUNCH_DARKLY_SERVER_KEY??"",{logger:this.fastify.log});await Promise.race([Tct(2),e.waitForInitialization()])}catch(n){this.fastify.log.error(`Error while initializing LaunchDarkly: ${n.message}`);r=true}}await this.fastify.register(FL.featureFlagsPlugin,{key:T9.default.LAUNCH_DARKLY_SERVER_KEY==="false"?void 0:T9.default.LAUNCH_DARKLY_SERVER_KEY,client:r?void 0:e});await this.fastify.register(gct.default,{...{openapi:{info:{title:this.name,version:this.version}},hideUntagged:false},...this.openApiOptions??{}});await this.register(this.fastify)};start=async()=>{await this.init();try{await this.fastify.listen({port:this.listenerPort,host:this.listenerHost})}catch(e){this.logger.error(e);process.exit(1)}};ready=async()=>{await this.fastify.ready()};close=async()=>{this.logger.info("Closing server");try{this.logger.debug("Pre-fastify close");await this.fastify.close();this.logger.debug("Post-fastify close")}catch(e){this.logger.debug(e)}};terminate=async()=>{try{await this.close();process.exit(0)}catch(e){process.exit(1)}}};l1.ApiServer=ML});var lme=_(x9=>{"use strict";Object.defineProperty(x9,"__esModule",{value:true});x9.MachinesApi=void 0;var ome="https://api.fly.io/graphql";var sh="https://api.machines.dev";var Act="zuplo-machines-api";var xct="zuplo-machines-api-staging";var ume="dfw";var VL=class{static{o(this,"MachinesApi")}logger;token;constructor(e,r){this.logger=e;this.token=r}get FLY_APP_NAME(){return process.env.MACHINES_ENVIRONMENT==="staging"?xct:Act}get FLY_ORG_SLUG(){return process.env.MACHINES_ENVIRONMENT==="staging"?"zuplo-customers-staging":"zuplo-customers"}async getApp({appName:e}){const r=await fetch(`${sh}/v1/apps/${e}`,{method:"GET",headers:{Authorization:`Bearer ${this.token}`}});const n=await r.json();return n}async createApp({appName:e,network:r}){const n={app_name:e,org_slug:this.FLY_ORG_SLUG,network:r};const i=await fetch(`${sh}/v1/apps`,{method:"POST",headers:{Authorization:`Bearer ${this.token}`,"content-type":"application/json"},body:JSON.stringify(n)});if(i.status!==201){const s=await i.text();this.logger.error(n);this.logger.error(s);throw new Error("Could not create app")}}async deleteApp({appName:e}){const r=await fetch(`${sh}/v1/apps/${e}`,{method:"DELETE",headers:{Authorization:`Bearer ${this.token}`,"content-type":"application/json"}});if(r.status>400){const n=await r.json();this.logger.error(n);throw new Error("Could not delete app")}}async getIpAddresses({appName:e}){const r=`query getIpAddresses($appName: String) {
354
354
  app(name: $appName ) {
355
355
  ipAddresses {
356
356
  nodes {
@@ -407,5 +407,5 @@ ${p}
407
407
  ${f}`;const m=`${a}/${t.region}/${n}/${uAt}`;const g=`${Sbe}
408
408
  ${s}
409
409
  ${m}
410
- `+await t.crypto.sha256DigestHex(h);const y=await lAt(t.crypto,t.securityCredentials.secretAccessKey,a,t.region,n);const v=await W6(t.crypto,y,g);const w=`${Sbe} Credential=${t.securityCredentials.accessKeyId}/${m}, SignedHeaders=${p}, Signature=${(0,Tbe.fromArrayBufferToHex)(v)}`;return{amzDate:u.date?void 0:s,authorizationHeader:w,canonicalQuerystring:t.canonicalQuerystring}}o(cAt,"generateAuthenticationHeaderMap")});var RH=_(x7=>{"use strict";Object.defineProperty(x7,"__esModule",{value:true});x7.AwsClient=void 0;var dAt=Abe();var pAt=kp();var J6=class extends pAt.BaseExternalAccountClient{static{o(this,"AwsClient")}constructor(e,r){super(e,r);this.environmentId=e.credential_source.environment_id;this.regionUrl=e.credential_source.region_url;this.securityCredentialsUrl=e.credential_source.url;this.regionalCredVerificationUrl=e.credential_source.regional_cred_verification_url;this.imdsV2SessionTokenUrl=e.credential_source.imdsv2_session_token_url;this.awsRequestSigner=null;this.region="";this.validateEnvironmentId()}validateEnvironmentId(){var e;const r=(e=this.environmentId)===null||e===void 0?void 0:e.match(/^(aws)(\d+)$/);if(!r||!this.regionalCredVerificationUrl){throw new Error('No valid AWS "credential_source" provided')}else if(parseInt(r[2],10)!==1){throw new Error(`aws version "${r[2]}" is not supported in the current build.`)}}async retrieveSubjectToken(){if(!this.awsRequestSigner){const i={};if(this.shouldUseMetadataServer()&&this.imdsV2SessionTokenUrl){i["x-aws-ec2-metadata-token"]=await this.getImdsV2SessionToken()}this.region=await this.getAwsRegion(i);this.awsRequestSigner=new dAt.AwsRequestSigner(async()=>{if(this.securityCredentialsFromEnv){return this.securityCredentialsFromEnv}const s=await this.getAwsRoleName(i);const a=await this.getAwsSecurityCredentials(s,i);return{accessKeyId:a.AccessKeyId,secretAccessKey:a.SecretAccessKey,token:a.Token}},this.region)}const e=await this.awsRequestSigner.getRequestOptions({url:this.regionalCredVerificationUrl.replace("{region}",this.region),method:"POST"});const r=[];const n=Object.assign({"x-goog-cloud-target-resource":this.audience},e.headers);for(const i in n){r.push({key:i,value:n[i]})}return encodeURIComponent(JSON.stringify({url:e.url,method:e.method,headers:r}))}async getImdsV2SessionToken(){const e={url:this.imdsV2SessionTokenUrl,method:"PUT",responseType:"text",headers:{"x-aws-ec2-metadata-token-ttl-seconds":"300"}};const r=await this.transporter.request(e);return r.data}async getAwsRegion(e){if(this.regionFromEnv){return this.regionFromEnv}if(!this.regionUrl){throw new Error('Unable to determine AWS region due to missing "options.credential_source.region_url"')}const r={url:this.regionUrl,method:"GET",responseType:"text",headers:e};const n=await this.transporter.request(r);return n.data.substr(0,n.data.length-1)}async getAwsRoleName(e){if(!this.securityCredentialsUrl){throw new Error('Unable to determine AWS role name due to missing "options.credential_source.url"')}const r={url:this.securityCredentialsUrl,method:"GET",responseType:"text",headers:e};const n=await this.transporter.request(r);return n.data}async getAwsSecurityCredentials(e,r){const n=await this.transporter.request({url:`${this.securityCredentialsUrl}/${e}`,responseType:"json",headers:r});return n.data}shouldUseMetadataServer(){return!this.regionFromEnv||!this.securityCredentialsFromEnv}get regionFromEnv(){return process.env["AWS_REGION"]||process.env["AWS_DEFAULT_REGION"]||null}get securityCredentialsFromEnv(){if(process.env["AWS_ACCESS_KEY_ID"]&&process.env["AWS_SECRET_ACCESS_KEY"]){return{accessKeyId:process.env["AWS_ACCESS_KEY_ID"],secretAccessKey:process.env["AWS_SECRET_ACCESS_KEY"],token:process.env["AWS_SESSION_TOKEN"]}}return null}};x7.AwsClient=J6;J6.AWS_EC2_METADATA_IPV4_ADDRESS="169.254.169.254";J6.AWS_EC2_METADATA_IPV6_ADDRESS="fd00:ec2::254"});var DH=_(ni=>{"use strict";Object.defineProperty(ni,"__esModule",{value:true});ni.InvalidSubjectTokenError=ni.InvalidMessageFieldError=ni.InvalidCodeFieldError=ni.InvalidTokenTypeFieldError=ni.InvalidExpirationTimeFieldError=ni.InvalidSuccessFieldError=ni.InvalidVersionFieldError=ni.ExecutableResponseError=ni.ExecutableResponse=void 0;var C7="urn:ietf:params:oauth:token-type:saml2";var NH="urn:ietf:params:oauth:token-type:id_token";var OH="urn:ietf:params:oauth:token-type:jwt";var IH=class{static{o(this,"ExecutableResponse")}constructor(e){if(!e.version){throw new R7("Executable response must contain a 'version' field.")}if(e.success===void 0){throw new N7("Executable response must contain a 'success' field.")}this.version=e.version;this.success=e.success;if(this.success){this.expirationTime=e.expiration_time;this.tokenType=e.token_type;if(this.tokenType!==C7&&this.tokenType!==NH&&this.tokenType!==OH){throw new O7(`Executable response must contain a 'token_type' field when successful and it must be one of ${NH}, ${OH}, or ${C7}.`)}if(this.tokenType===C7){if(!e.saml_response){throw new Q6(`Executable response must contain a 'saml_response' field when token_type=${C7}.`)}this.subjectToken=e.saml_response}else{if(!e.id_token){throw new Q6(`Executable response must contain a 'id_token' field when token_type=${NH} or ${OH}.`)}this.subjectToken=e.id_token}}else{if(!e.code){throw new I7("Executable response must contain a 'code' field when unsuccessful.")}if(!e.message){throw new P7("Executable response must contain a 'message' field when unsuccessful.")}this.errorCode=e.code;this.errorMessage=e.message}}isValid(){return!this.isExpired()&&this.success}isExpired(){return this.expirationTime!==void 0&&this.expirationTime<Math.round(Date.now()/1e3)}};ni.ExecutableResponse=IH;var _l=class extends Error{static{o(this,"ExecutableResponseError")}constructor(e){super(e);Object.setPrototypeOf(this,new.target.prototype)}};ni.ExecutableResponseError=_l;var R7=class extends _l{static{o(this,"InvalidVersionFieldError")}};ni.InvalidVersionFieldError=R7;var N7=class extends _l{static{o(this,"InvalidSuccessFieldError")}};ni.InvalidSuccessFieldError=N7;var PH=class extends _l{static{o(this,"InvalidExpirationTimeFieldError")}};ni.InvalidExpirationTimeFieldError=PH;var O7=class extends _l{static{o(this,"InvalidTokenTypeFieldError")}};ni.InvalidTokenTypeFieldError=O7;var I7=class extends _l{static{o(this,"InvalidCodeFieldError")}};ni.InvalidCodeFieldError=I7;var P7=class extends _l{static{o(this,"InvalidMessageFieldError")}};ni.InvalidMessageFieldError=P7;var Q6=class extends _l{static{o(this,"InvalidSubjectTokenError")}};ni.InvalidSubjectTokenError=Q6});var xbe=_(D7=>{"use strict";Object.defineProperty(D7,"__esModule",{value:true});D7.PluggableAuthHandler=void 0;var fAt=k7();var Jh=DH();var hAt=require("child_process");var kH=require("fs");var $H=class t{static{o(this,"PluggableAuthHandler")}constructor(e){if(!e.command){throw new Error("No command provided.")}this.commandComponents=t.parseCommand(e.command);this.timeoutMillis=e.timeoutMillis;if(!this.timeoutMillis){throw new Error("No timeoutMillis provided.")}this.outputFile=e.outputFile}retrieveResponseFromExecutable(e){return new Promise((r,n)=>{const i=hAt.spawn(this.commandComponents[0],this.commandComponents.slice(1),{env:{...process.env,...Object.fromEntries(e)}});let s="";i.stdout.on("data",u=>{s+=u});i.stderr.on("data",u=>{s+=u});const a=setTimeout(()=>{i.removeAllListeners();i.kill();return n(new Error("The executable failed to finish within the timeout specified."))},this.timeoutMillis);i.on("close",u=>{clearTimeout(a);if(u===0){try{const l=JSON.parse(s);const c=new Jh.ExecutableResponse(l);return r(c)}catch(l){if(l instanceof Jh.ExecutableResponseError){return n(l)}return n(new Jh.ExecutableResponseError(`The executable returned an invalid response: ${s}`))}}else{return n(new fAt.ExecutableError(s,u.toString()))}})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0){return void 0}let e;try{e=await kH.promises.realpath(this.outputFile)}catch(n){return void 0}if(!(await kH.promises.lstat(e)).isFile()){return void 0}const r=await kH.promises.readFile(e,{encoding:"utf8"});if(r===""){return void 0}try{const n=JSON.parse(r);const i=new Jh.ExecutableResponse(n);if(i.isValid()){return new Jh.ExecutableResponse(n)}return void 0}catch(n){if(n instanceof Jh.ExecutableResponseError){throw n}throw new Jh.ExecutableResponseError(`The output file contained an invalid response: ${r}`)}}static parseCommand(e){const r=e.match(/(?:[^\s"]+|"[^"]*")+/g);if(!r){throw new Error(`Provided command: "${e}" could not be parsed.`)}for(let n=0;n<r.length;n++){if(r[n][0]==='"'&&r[n].slice(-1)==='"'){r[n]=r[n].slice(1,-1)}}return r}};D7.PluggableAuthHandler=$H});var k7=_(Mg=>{"use strict";Object.defineProperty(Mg,"__esModule",{value:true});Mg.PluggableAuthClient=Mg.ExecutableError=void 0;var mAt=kp();var gAt=DH();var yAt=xbe();var $7=class extends Error{static{o(this,"ExecutableError")}constructor(e,r){super(`The executable failed with exit code: ${r} and error message: ${e}.`);this.code=r;Object.setPrototypeOf(this,new.target.prototype)}};Mg.ExecutableError=$7;var vAt=30*1e3;var Cbe=5*1e3;var Rbe=120*1e3;var _At="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES";var Nbe=1;var LH=class extends mAt.BaseExternalAccountClient{static{o(this,"PluggableAuthClient")}constructor(e,r){super(e,r);if(!e.credential_source.executable){throw new Error('No valid Pluggable Auth "credential_source" provided.')}this.command=e.credential_source.executable.command;if(!this.command){throw new Error('No valid Pluggable Auth "credential_source" provided.')}if(e.credential_source.executable.timeout_millis===void 0){this.timeoutMillis=vAt}else{this.timeoutMillis=e.credential_source.executable.timeout_millis;if(this.timeoutMillis<Cbe||this.timeoutMillis>Rbe){throw new Error(`Timeout must be between ${Cbe} and ${Rbe} milliseconds.`)}}this.outputFile=e.credential_source.executable.output_file;this.handler=new yAt.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile})}async retrieveSubjectToken(){if(process.env[_At]!=="1"){throw new Error("Pluggable Auth executables need to be explicitly allowed to run by setting the GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES environment Variable to 1.")}let e=void 0;if(this.outputFile){e=await this.handler.retrieveCachedResponse()}if(!e){const r=new Map;r.set("GOOGLE_EXTERNAL_ACCOUNT_AUDIENCE",this.audience);r.set("GOOGLE_EXTERNAL_ACCOUNT_TOKEN_TYPE",this.subjectTokenType);r.set("GOOGLE_EXTERNAL_ACCOUNT_INTERACTIVE","0");if(this.outputFile){r.set("GOOGLE_EXTERNAL_ACCOUNT_OUTPUT_FILE",this.outputFile)}const n=this.getServiceAccountEmail();if(n){r.set("GOOGLE_EXTERNAL_ACCOUNT_IMPERSONATED_EMAIL",n)}e=await this.handler.retrieveResponseFromExecutable(r)}if(e.version>Nbe){throw new Error(`Version of executable is not currently supported, maximum supported version is ${Nbe}.`)}if(!e.success){throw new $7(e.errorMessage,e.errorCode)}if(this.outputFile){if(!e.expirationTime){throw new gAt.InvalidExpirationTimeFieldError("The executable response must contain the `expiration_time` field for successful responses when an output_file has been specified in the configuration.")}}if(e.isExpired()){throw new Error("Executable response is expired.")}return e.subjectToken}};Mg.PluggableAuthClient=LH});var jH=_(L7=>{"use strict";Object.defineProperty(L7,"__esModule",{value:true});L7.ExternalAccountClient=void 0;var EAt=kp();var bAt=xH();var wAt=RH();var SAt=k7();var qH=class{static{o(this,"ExternalAccountClient")}constructor(){throw new Error("ExternalAccountClients should be initialized via: ExternalAccountClient.fromJSON(), directly via explicit constructors, eg. new AwsClient(options), new IdentityPoolClient(options), newPluggableAuthClientOptions, or via new GoogleAuth(options).getClient()")}static fromJSON(e,r){var n,i;if(e&&e.type===EAt.EXTERNAL_ACCOUNT_TYPE){if((n=e.credential_source)===null||n===void 0?void 0:n.environment_id){return new wAt.AwsClient(e,r)}else if((i=e.credential_source)===null||i===void 0?void 0:i.executable){return new SAt.PluggableAuthClient(e,r)}else{return new bAt.IdentityPoolClient(e,r)}}else{return null}}};L7.ExternalAccountClient=qH});var Ibe=_(Vg=>{"use strict";Object.defineProperty(Vg,"__esModule",{value:true});Vg.ExternalAccountAuthorizedUserClient=Vg.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var TAt=wg();var Obe=mH();var AAt=xc();var xAt=require("stream");var CAt=kp();Vg.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var UH=class extends Obe.OAuthClientAuthHandler{static{o(this,"ExternalAccountAuthorizedUserHandler")}constructor(e,r,n){super(n);this.url=e;this.transporter=r}async refreshToken(e,r){const n=new URLSearchParams({grant_type:"refresh_token",refresh_token:e});const i={"Content-Type":"application/x-www-form-urlencoded",...r};const s={url:this.url,method:"POST",headers:i,data:n.toString(),responseType:"json"};this.applyClientAuthenticationOptions(s);try{const a=await this.transporter.request(s);const u=a.data;u.res=a;return u}catch(a){if(a instanceof AAt.GaxiosError&&a.response){throw(0,Obe.getErrorFromOAuthErrorResponse)(a.response.data,a)}throw a}}};var BH=class extends TAt.AuthClient{static{o(this,"ExternalAccountAuthorizedUserClient")}constructor(e,r){super();this.refreshToken=e.refresh_token;const n={confidentialClientType:"basic",clientId:e.client_id,clientSecret:e.client_secret};this.externalAccountAuthorizedUserHandler=new UH(e.token_url,this.transporter,n);this.cachedAccessToken=null;this.quotaProjectId=e.quota_project_id;if(typeof(r===null||r===void 0?void 0:r.eagerRefreshThresholdMillis)!=="number"){this.eagerRefreshThresholdMillis=CAt.EXPIRATION_TIME_OFFSET}else{this.eagerRefreshThresholdMillis=r.eagerRefreshThresholdMillis}this.forceRefreshOnFailure=!!(r===null||r===void 0?void 0:r.forceRefreshOnFailure)}async getAccessToken(){if(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken)){await this.refreshAccessTokenAsync()}return{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){const e=await this.getAccessToken();const r={Authorization:`Bearer ${e.token}`};return this.addSharedMetadataHeaders(r)}request(e,r){if(r){this.requestAsync(e).then(n=>r(null,n),n=>{return r(n,n.response)})}else{return this.requestAsync(e)}}async requestAsync(e,r=false){let n;try{const i=await this.getRequestHeaders();e.headers=e.headers||{};if(i&&i["x-goog-user-project"]){e.headers["x-goog-user-project"]=i["x-goog-user-project"]}if(i&&i.Authorization){e.headers.Authorization=i.Authorization}n=await this.transporter.request(e)}catch(i){const s=i.response;if(s){const a=s.status;const u=s.config.data instanceof xAt.Readable;const l=a===401||a===403;if(!r&&l&&!u&&this.forceRefreshOnFailure){await this.refreshAccessTokenAsync();return await this.requestAsync(e,true)}}throw i}return n}async refreshAccessTokenAsync(){const e=await this.externalAccountAuthorizedUserHandler.refreshToken(this.refreshToken);this.cachedAccessToken={access_token:e.access_token,expiry_date:new Date().getTime()+e.expires_in*1e3,res:e.res};if(e.refresh_token!==void 0){this.refreshToken=e.refresh_token}return this.cachedAccessToken}isExpired(e){const r=new Date().getTime();return e.expiry_date?r>=e.expiry_date-this.eagerRefreshThresholdMillis:false}};Vg.ExternalAccountAuthorizedUserClient=BH});var kbe=_(Gg=>{"use strict";Object.defineProperty(Gg,"__esModule",{value:true});Gg.GoogleAuth=Gg.CLOUD_SDK_CLIENT_ID=void 0;var RAt=require("child_process");var X6=require("fs");var FH=NT();var NAt=require("os");var MH=require("path");var OAt=Eg();var IAt=P6();var PAt=QM();var DAt=ZM();var kAt=eV();var Hg=lH();var VH=dH();var q7=fH();var $At=jH();var Z6=kp();var Pbe=Ibe();Gg.CLOUD_SDK_CLIENT_ID="764086051850-6qr4p6gpi6hn506pt8ejuq83di341hur.apps.googleusercontent.com";var Dbe={NO_PROJECT_ID_FOUND:"Unable to detect a Project Id in the current environment. \nTo learn more about authentication and Google APIs, visit: \nhttps://cloud.google.com/docs/authentication/getting-started"};var j7=class{static{o(this,"GoogleAuth")}get isGCE(){return this.checkIsGCE}constructor(e){this.checkIsGCE=void 0;this.jsonContent=null;this.cachedCredential=null;e=e||{};this._cachedProjectId=e.projectId||null;this.cachedCredential=e.authClient||null;this.keyFilename=e.keyFilename||e.keyFile;this.scopes=e.scopes;this.jsonContent=e.credentials||null;this.clientOptions=e.clientOptions}setGapicJWTValues(e){e.defaultServicePath=this.defaultServicePath;e.useJWTAccessWithScope=this.useJWTAccessWithScope;e.defaultScopes=this.defaultScopes}getProjectId(e){if(e){this.getProjectIdAsync().then(r=>e(null,r),e)}else{return this.getProjectIdAsync()}}async getProjectIdOptional(){try{return await this.getProjectId()}catch(e){if(e instanceof Error&&e.message===Dbe.NO_PROJECT_ID_FOUND){return null}else{throw e}}}async findAndCacheProjectId(){let e=null;e||(e=await this.getProductionProjectId());e||(e=await this.getFileProjectId());e||(e=await this.getDefaultServiceProjectId());e||(e=await this.getGCEProjectId());e||(e=await this.getExternalAccountClientProjectId());if(e){this._cachedProjectId=e;return e}else{throw new Error(Dbe.NO_PROJECT_ID_FOUND)}}async getProjectIdAsync(){if(this._cachedProjectId){return this._cachedProjectId}if(!this._findProjectIdPromise){this._findProjectIdPromise=this.findAndCacheProjectId()}return this._findProjectIdPromise}getAnyScopes(){return this.scopes||this.defaultScopes}getApplicationDefault(e={},r){let n;if(typeof e==="function"){r=e}else{n=e}if(r){this.getApplicationDefaultAsync(n).then(i=>r(null,i.credential,i.projectId),r)}else{return this.getApplicationDefaultAsync(n)}}async getApplicationDefaultAsync(e={}){if(this.cachedCredential){return await this.prepareAndCacheADC(this.cachedCredential)}const r=process.env["GOOGLE_CLOUD_QUOTA_PROJECT"];let n;n=await this._tryGetApplicationCredentialsFromEnvironmentVariable(e);if(n){if(n instanceof Hg.JWT){n.scopes=this.scopes}else if(n instanceof Z6.BaseExternalAccountClient){n.scopes=this.getAnyScopes()}return await this.prepareAndCacheADC(n,r)}n=await this._tryGetApplicationCredentialsFromWellKnownFile(e);if(n){if(n instanceof Hg.JWT){n.scopes=this.scopes}else if(n instanceof Z6.BaseExternalAccountClient){n.scopes=this.getAnyScopes()}return await this.prepareAndCacheADC(n,r)}let i;try{i=await this._checkIsGCE()}catch(s){if(s instanceof Error){s.message=`Unexpected error determining execution environment: ${s.message}`}throw s}if(!i){throw new Error("Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information.")}e.scopes=this.getAnyScopes();return await this.prepareAndCacheADC(new PAt.Compute(e),r)}async prepareAndCacheADC(e,r){const n=await this.getProjectIdOptional();if(r){e.quotaProjectId=r}this.cachedCredential=e;return{credential:e,projectId:n}}async _checkIsGCE(){if(this.checkIsGCE===void 0){this.checkIsGCE=await FH.isAvailable()}return this.checkIsGCE}async _tryGetApplicationCredentialsFromEnvironmentVariable(e){const r=process.env["GOOGLE_APPLICATION_CREDENTIALS"]||process.env["google_application_credentials"];if(!r||r.length===0){return null}try{return this._getApplicationCredentialsFromFilePath(r,e)}catch(n){if(n instanceof Error){n.message=`Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable: ${n.message}`}throw n}}async _tryGetApplicationCredentialsFromWellKnownFile(e){let r=null;if(this._isWindows()){r=process.env["APPDATA"]}else{const i=process.env["HOME"];if(i){r=MH.join(i,".config")}}if(r){r=MH.join(r,"gcloud","application_default_credentials.json");if(!X6.existsSync(r)){r=null}}if(!r){return null}const n=await this._getApplicationCredentialsFromFilePath(r,e);return n}async _getApplicationCredentialsFromFilePath(e,r={}){if(!e||e.length===0){throw new Error("The file path is invalid.")}try{e=X6.realpathSync(e);if(!X6.lstatSync(e).isFile()){throw new Error}}catch(i){if(i instanceof Error){i.message=`The file at ${e} does not exist, or it is not a file. ${i.message}`}throw i}const n=X6.createReadStream(e);return this.fromStream(n,r)}fromImpersonatedJSON(e){var r,n,i,s;if(!e){throw new Error("Must pass in a JSON object containing an impersonated refresh token")}if(e.type!==q7.IMPERSONATED_ACCOUNT_TYPE){throw new Error(`The incoming JSON object does not have the "${q7.IMPERSONATED_ACCOUNT_TYPE}" type`)}if(!e.source_credentials){throw new Error("The incoming JSON object does not contain a source_credentials field")}if(!e.service_account_impersonation_url){throw new Error("The incoming JSON object does not contain a service_account_impersonation_url field")}const a=new VH.UserRefreshClient(e.source_credentials.client_id,e.source_credentials.client_secret,e.source_credentials.refresh_token);const u=(n=(r=/(?<target>[^/]+):generateAccessToken$/.exec(e.service_account_impersonation_url))===null||r===void 0?void 0:r.groups)===null||n===void 0?void 0:n.target;if(!u){throw new RangeError(`Cannot extract target principal from ${e.service_account_impersonation_url}`)}const l=(i=this.getAnyScopes())!==null&&i!==void 0?i:[];const c=new q7.Impersonated({delegates:(s=e.delegates)!==null&&s!==void 0?s:[],sourceClient:a,targetPrincipal:u,targetScopes:Array.isArray(l)?l:[l]});return c}fromJSON(e,r={}){let n;r=r||{};if(e.type===VH.USER_REFRESH_ACCOUNT_TYPE){n=new VH.UserRefreshClient(r);n.fromJSON(e)}else if(e.type===q7.IMPERSONATED_ACCOUNT_TYPE){n=this.fromImpersonatedJSON(e)}else if(e.type===Z6.EXTERNAL_ACCOUNT_TYPE){n=$At.ExternalAccountClient.fromJSON(e,r);n.scopes=this.getAnyScopes()}else if(e.type===Pbe.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE){n=new Pbe.ExternalAccountAuthorizedUserClient(e,r)}else{r.scopes=this.scopes;n=new Hg.JWT(r);this.setGapicJWTValues(n);n.fromJSON(e)}return n}_cacheClientFromJSON(e,r){const n=this.fromJSON(e,r);this.jsonContent=e;this.cachedCredential=n;return n}fromStream(e,r={},n){let i={};if(typeof r==="function"){n=r}else{i=r}if(n){this.fromStreamAsync(e,i).then(s=>n(null,s),n)}else{return this.fromStreamAsync(e,i)}}fromStreamAsync(e,r){return new Promise((n,i)=>{if(!e){throw new Error("Must pass in a stream containing the Google auth settings.")}let s="";e.setEncoding("utf8").on("error",i).on("data",a=>s+=a).on("end",()=>{try{try{const a=JSON.parse(s);const u=this._cacheClientFromJSON(a,r);return n(u)}catch(a){if(!this.keyFilename)throw a;const u=new Hg.JWT({...this.clientOptions,keyFile:this.keyFilename});this.cachedCredential=u;this.setGapicJWTValues(u);return n(u)}}catch(a){return i(a)}})})}fromAPIKey(e,r){r=r||{};const n=new Hg.JWT(r);n.fromAPIKey(e);return n}_isWindows(){const e=NAt.platform();if(e&&e.length>=3){if(e.substring(0,3).toLowerCase()==="win"){return true}}return false}async getDefaultServiceProjectId(){return new Promise(e=>{(0,RAt.exec)("gcloud config config-helper --format json",(r,n)=>{if(!r&&n){try{const i=JSON.parse(n).configuration.properties.core.project;e(i);return}catch(i){}}e(null)})})}getProductionProjectId(){return process.env["GCLOUD_PROJECT"]||process.env["GOOGLE_CLOUD_PROJECT"]||process.env["gcloud_project"]||process.env["google_cloud_project"]}async getFileProjectId(){if(this.cachedCredential){return this.cachedCredential.projectId}if(this.keyFilename){const r=await this.getClient();if(r&&r.projectId){return r.projectId}}const e=await this._tryGetApplicationCredentialsFromEnvironmentVariable();if(e){return e.projectId}else{return null}}async getExternalAccountClientProjectId(){if(!this.jsonContent||this.jsonContent.type!==Z6.EXTERNAL_ACCOUNT_TYPE){return null}const e=await this.getClient();return await e.getProjectId()}async getGCEProjectId(){try{const e=await FH.project("project-id");return e}catch(e){return null}}getCredentials(e){if(e){this.getCredentialsAsync().then(r=>e(null,r),e)}else{return this.getCredentialsAsync()}}async getCredentialsAsync(){const e=await this.getClient();if(e instanceof Z6.BaseExternalAccountClient){const i=e.getServiceAccountEmail();if(i){return{client_email:i}}}if(this.jsonContent){const i={client_email:this.jsonContent.client_email,private_key:this.jsonContent.private_key};return i}const r=await this._checkIsGCE();if(!r){throw new Error("Unknown error.")}const n=await FH.instance({property:"service-accounts/",params:{recursive:"true"}});if(!n||!n.default||!n.default.email){throw new Error("Failure from metadata server.")}return{client_email:n.default.email}}async getClient(){if(!this.cachedCredential){if(this.jsonContent){this._cacheClientFromJSON(this.jsonContent,this.clientOptions)}else if(this.keyFilename){const e=MH.resolve(this.keyFilename);const r=X6.createReadStream(e);await this.fromStreamAsync(r,this.clientOptions)}else{await this.getApplicationDefaultAsync(this.clientOptions)}}return this.cachedCredential}async getIdTokenClient(e){const r=await this.getClient();if(!("fetchIdToken"in r)){throw new Error("Cannot fetch ID token in this environment, use GCE or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to a service account credentials JSON file.")}return new DAt.IdTokenClient({targetAudience:e,idTokenProvider:r})}async getAccessToken(){const e=await this.getClient();return(await e.getAccessToken()).token}async getRequestHeaders(e){const r=await this.getClient();return r.getRequestHeaders(e)}async authorizeRequest(e){e=e||{};const r=e.url||e.uri;const n=await this.getClient();const i=await n.getRequestHeaders(r);e.headers=Object.assign(e.headers||{},i);return e}async request(e){const r=await this.getClient();return r.request(e)}getEnv(){return(0,kAt.getEnv)()}async sign(e){const r=await this.getClient();const n=(0,OAt.createCrypto)();if(r instanceof Hg.JWT&&r.key){const s=await n.sign(r.key,e);return s}const i=await this.getCredentials();if(!i.client_email){throw new Error("Cannot sign data without `client_email`.")}return this.signBlob(n,i.client_email,e)}async signBlob(e,r,n){const i=`https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/${r}:signBlob`;const s=await this.request({method:"POST",url:i,data:{payload:e.encodeBase64StringUtf8(n)}});return s.data.signedBlob}};Gg.GoogleAuth=j7;j7.DefaultTransporter=IAt.DefaultTransporter});var $be=_(U7=>{"use strict";Object.defineProperty(U7,"__esModule",{value:true});U7.IAMAuth=void 0;var HH=class{static{o(this,"IAMAuth")}constructor(e,r){this.selector=e;this.token=r;this.selector=e;this.token=r}getRequestHeaders(){return{"x-goog-iam-authority-selector":this.selector,"x-goog-iam-authorization-token":this.token}}};U7.IAMAuth=HH});var Lbe=_(du=>{"use strict";Object.defineProperty(du,"__esModule",{value:true});du.DownscopedClient=du.EXPIRATION_TIME_OFFSET=du.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var LAt=require("stream");var qAt=wg();var jAt=yH();var UAt="urn:ietf:params:oauth:grant-type:token-exchange";var BAt="urn:ietf:params:oauth:token-type:access_token";var FAt="urn:ietf:params:oauth:token-type:access_token";var MAt="https://sts.googleapis.com/v1/token";du.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;du.EXPIRATION_TIME_OFFSET=5*60*1e3;var GH=class extends qAt.AuthClient{static{o(this,"DownscopedClient")}constructor(e,r,n,i){super();this.authClient=e;this.credentialAccessBoundary=r;if(r.accessBoundary.accessBoundaryRules.length===0){throw new Error("At least one access boundary rule needs to be defined.")}else if(r.accessBoundary.accessBoundaryRules.length>du.MAX_ACCESS_BOUNDARY_RULES_COUNT){throw new Error(`The provided access boundary has more than ${du.MAX_ACCESS_BOUNDARY_RULES_COUNT} access boundary rules.`)}for(const s of r.accessBoundary.accessBoundaryRules){if(s.availablePermissions.length===0){throw new Error("At least one permission should be defined in access boundary rules.")}}this.stsCredential=new jAt.StsCredentials(MAt);this.cachedDownscopedAccessToken=null;if(typeof(n===null||n===void 0?void 0:n.eagerRefreshThresholdMillis)!=="number"){this.eagerRefreshThresholdMillis=du.EXPIRATION_TIME_OFFSET}else{this.eagerRefreshThresholdMillis=n.eagerRefreshThresholdMillis}this.forceRefreshOnFailure=!!(n===null||n===void 0?void 0:n.forceRefreshOnFailure);this.quotaProjectId=i}setCredentials(e){if(!e.expiry_date){throw new Error("The access token expiry_date field is missing in the provided credentials.")}super.setCredentials(e);this.cachedDownscopedAccessToken=e}async getAccessToken(){if(!this.cachedDownscopedAccessToken||this.isExpired(this.cachedDownscopedAccessToken)){await this.refreshAccessTokenAsync()}return{token:this.cachedDownscopedAccessToken.access_token,expirationTime:this.cachedDownscopedAccessToken.expiry_date,res:this.cachedDownscopedAccessToken.res}}async getRequestHeaders(){const e=await this.getAccessToken();const r={Authorization:`Bearer ${e.token}`};return this.addSharedMetadataHeaders(r)}request(e,r){if(r){this.requestAsync(e).then(n=>r(null,n),n=>{return r(n,n.response)})}else{return this.requestAsync(e)}}async requestAsync(e,r=false){let n;try{const i=await this.getRequestHeaders();e.headers=e.headers||{};if(i&&i["x-goog-user-project"]){e.headers["x-goog-user-project"]=i["x-goog-user-project"]}if(i&&i.Authorization){e.headers.Authorization=i.Authorization}n=await this.transporter.request(e)}catch(i){const s=i.response;if(s){const a=s.status;const u=s.config.data instanceof LAt.Readable;const l=a===401||a===403;if(!r&&l&&!u&&this.forceRefreshOnFailure){await this.refreshAccessTokenAsync();return await this.requestAsync(e,true)}}throw i}return n}async refreshAccessTokenAsync(){var e;const r=(await this.authClient.getAccessToken()).token;const n={grantType:UAt,requestedTokenType:BAt,subjectToken:r,subjectTokenType:FAt};const i=await this.stsCredential.exchangeToken(n,void 0,this.credentialAccessBoundary);const s=((e=this.authClient.credentials)===null||e===void 0?void 0:e.expiry_date)||null;const a=i.expires_in?new Date().getTime()+i.expires_in*1e3:s;this.cachedDownscopedAccessToken={access_token:i.access_token,expiry_date:a,res:i.res};this.credentials={};Object.assign(this.credentials,this.cachedDownscopedAccessToken);delete this.credentials.res;this.emit("tokens",{refresh_token:null,expiry_date:this.cachedDownscopedAccessToken.expiry_date,access_token:this.cachedDownscopedAccessToken.access_token,token_type:"Bearer",id_token:null});return this.cachedDownscopedAccessToken}isExpired(e){const r=new Date().getTime();return e.expiry_date?r>=e.expiry_date-this.eagerRefreshThresholdMillis:false}};du.DownscopedClient=GH});var zH=_(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:true});xt.GoogleAuth=xt.auth=xt.DefaultTransporter=xt.PluggableAuthClient=xt.DownscopedClient=xt.BaseExternalAccountClient=xt.ExternalAccountClient=xt.IdentityPoolClient=xt.AwsClient=xt.UserRefreshClient=xt.LoginTicket=xt.OAuth2Client=xt.CodeChallengeMethod=xt.Impersonated=xt.JWT=xt.JWTAccess=xt.IdTokenClient=xt.IAMAuth=xt.GCPEnv=xt.Compute=xt.AuthClient=void 0;var qbe=kbe();Object.defineProperty(xt,"GoogleAuth",{enumerable:true,get:function(){return qbe.GoogleAuth}});var VAt=wg();Object.defineProperty(xt,"AuthClient",{enumerable:true,get:function(){return VAt.AuthClient}});var HAt=QM();Object.defineProperty(xt,"Compute",{enumerable:true,get:function(){return HAt.Compute}});var GAt=eV();Object.defineProperty(xt,"GCPEnv",{enumerable:true,get:function(){return GAt.GCPEnv}});var zAt=$be();Object.defineProperty(xt,"IAMAuth",{enumerable:true,get:function(){return zAt.IAMAuth}});var KAt=ZM();Object.defineProperty(xt,"IdTokenClient",{enumerable:true,get:function(){return KAt.IdTokenClient}});var YAt=oH();Object.defineProperty(xt,"JWTAccess",{enumerable:true,get:function(){return YAt.JWTAccess}});var WAt=lH();Object.defineProperty(xt,"JWT",{enumerable:true,get:function(){return WAt.JWT}});var JAt=fH();Object.defineProperty(xt,"Impersonated",{enumerable:true,get:function(){return JAt.Impersonated}});var jbe=Bh();Object.defineProperty(xt,"CodeChallengeMethod",{enumerable:true,get:function(){return jbe.CodeChallengeMethod}});Object.defineProperty(xt,"OAuth2Client",{enumerable:true,get:function(){return jbe.OAuth2Client}});var QAt=YM();Object.defineProperty(xt,"LoginTicket",{enumerable:true,get:function(){return QAt.LoginTicket}});var XAt=dH();Object.defineProperty(xt,"UserRefreshClient",{enumerable:true,get:function(){return XAt.UserRefreshClient}});var ZAt=RH();Object.defineProperty(xt,"AwsClient",{enumerable:true,get:function(){return ZAt.AwsClient}});var ext=xH();Object.defineProperty(xt,"IdentityPoolClient",{enumerable:true,get:function(){return ext.IdentityPoolClient}});var txt=jH();Object.defineProperty(xt,"ExternalAccountClient",{enumerable:true,get:function(){return txt.ExternalAccountClient}});var rxt=kp();Object.defineProperty(xt,"BaseExternalAccountClient",{enumerable:true,get:function(){return rxt.BaseExternalAccountClient}});var nxt=Lbe();Object.defineProperty(xt,"DownscopedClient",{enumerable:true,get:function(){return nxt.DownscopedClient}});var ixt=k7();Object.defineProperty(xt,"PluggableAuthClient",{enumerable:true,get:function(){return ixt.PluggableAuthClient}});var sxt=P6();Object.defineProperty(xt,"DefaultTransporter",{enumerable:true,get:function(){return sxt.DefaultTransporter}});var axt=new qbe.GoogleAuth;xt.auth=axt});var eE=_(zg=>{"use strict";var oxt=zg&&zg.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(zg,"__esModule",{value:true});zg.getServiceAccountIdToken=void 0;var uxt=zH();var lxt=oxt(bu());var cxt=new uxt.GoogleAuth;var Ube=new lxt.default({max:50,maxAge:1e3*60*50});async function dxt(t){let e=Ube.get(t);if(!e){const r=await cxt.getIdTokenClient(t);e=await r.idTokenProvider.fetchIdToken(t);Ube.set(t,e)}return e}o(dxt,"getServiceAccountIdToken");zg.getServiceAccountIdToken=dxt});var Hbe=_(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:true});wo.mergeHeaders=wo.createFinalURL=wo.defaultBodySerializer=wo.defaultQuerySerializer=wo.createClient=void 0;var Kg=Ls();var pxt=eE();var fxt={"Content-Type":"application/json"};var hxt=/\/*$/;async function mxt(t){const{baseUrl:e,fetch:r=globalThis.fetch,querySerializer:n,bodySerializer:i,zuploExtensions:s,...a}=t;const u=s?.fastifyRequest.log;const l=s?.fastifyRequest.id;const c=s?.options?.userSub??s?.fastifyRequest.getUserSub();const d=new Headers({...fxt,"zuplo-user":c,"zp-rid":l,...a.headers??{}});const p=await(0,pxt.getServiceAccountIdToken)(e);d.set("Authorization",`Bearer ${p}`);async function f(h,m){const{headers:g,body:y,params:v={},parseAs:w="json",querySerializer:E=n??Bbe,bodySerializer:b=i??Fbe,...S}=m||{};const T=Mbe(h,{baseUrl:e,params:v,querySerializer:E});const x=Vbe(d,g,v.header);const D={redirect:"follow",...a,...S,headers:x};if(y)D.body=b(y);if(D.body instanceof FormData)x.delete("Content-Type");const k=await r(T,D);if(k.status===404){const B=await k.json();if(B&&B.hasOwnProperty("type")&&B.hasOwnProperty("title")&&B.hasOwnProperty("status")){throw new Kg.ApiError(B)}throw new Kg.ApiError(Kg.Problems.NOT_FOUND)}if(k.status===204||k.headers.get("Content-Length")==="0"){return k.ok?{data:{},response:k}:{error:{},response:k}}if(k.ok){let B=k.body;if(w!=="stream"){const V=k.clone();B=typeof V[w]==="function"?await V[w]():await V.text()}return{data:B,response:k}}else{u.debug(`Error on internal api: path: ${T}, status: ${k.status}, headers: ${JSON.stringify(k.headers)}, body: ${await k.clone().text()}`);let B={};try{B=await k.clone().json();if(B.type&&B.status&&B.title){throw new Kg.ApiError(B)}}catch(V){}throw new Kg.ApiError(Kg.Problems.INTERNAL_SERVER_ERROR)}}o(f,"coreFetch");return{async GET(h,m){return f(h,{...m,method:"GET"})},async PUT(h,m){return f(h,{...m,method:"PUT"})},async POST(h,m){return f(h,{...m,method:"POST"})},async DELETE(h,m){return f(h,{...m,method:"DELETE"})},async OPTIONS(h,m){return f(h,{...m,method:"OPTIONS"})},async HEAD(h,m){return f(h,{...m,method:"HEAD"})},async PATCH(h,m){return f(h,{...m,method:"PATCH"})},async TRACE(h,m){return f(h,{...m,method:"TRACE"})}}}o(mxt,"createClient");wo.createClient=mxt;function Bbe(t){const e=new URLSearchParams;if(t&&typeof t==="object"){for(const[r,n]of Object.entries(t)){if(n===void 0||n===null)continue;e.set(r,n)}}return e.toString()}o(Bbe,"defaultQuerySerializer");wo.defaultQuerySerializer=Bbe;function Fbe(t){return JSON.stringify(t)}o(Fbe,"defaultBodySerializer");wo.defaultBodySerializer=Fbe;function Mbe(t,e){let r=`${e.baseUrl?e.baseUrl.replace(hxt,""):""}${t}`;if(e.params.path){for(const[n,i]of Object.entries(e.params.path))r=r.replace(`{${n}}`,encodeURIComponent(String(i)))}if(e.params.query){const n=e.querySerializer(e.params.query);if(n)r+=`?${n}`}return r}o(Mbe,"createFinalURL");wo.createFinalURL=Mbe;function Vbe(...t){const e=new Headers;for(const r of t){if(!r||typeof r!=="object")continue;const n=r instanceof Headers?r.entries():Object.entries(r);for(const[i,s]of n){if(s!==void 0&&s!==null){e.set(i,s)}}}return e}o(Vbe,"mergeHeaders");wo.mergeHeaders=Vbe});var Gbe=_($p=>{"use strict";var gxt=$p&&$p.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty($p,"__esModule",{value:true});$p.ApiKeyService=$p.createApiKeyServiceClient=void 0;var Yg=Ls();var yxt=zH();var B7=gxt(Ro());var vxt=Hbe();async function _xt(t){return(0,vxt.createClient)({baseUrl:B7.default.API_KEY_MANAGEMENT_SERVICE_URL,zuploExtensions:{fastifyRequest:t}})}o(_xt,"createApiKeyServiceClient");$p.createApiKeyServiceClient=_xt;var KH=class{static{o(this,"ApiKeyService")}logger;requestId;constructor(e){this.logger=e.log;this.requestId=e.id}async fetchGCP(e,r={}){this.logger.info(`Fetching with GCP JWT ${r.method} ${e} from Api Key Service API.`);const n=new yxt.GoogleAuth;const i=await n.getIdTokenClient(B7.default.API_KEY_MANAGEMENT_SERVICE_URL);this.logger.info(`Payload to send: ${JSON.stringify({url:`${B7.default.API_KEY_MANAGEMENT_SERVICE_URL}/${e}`,method:"GET",body:r.body,headers:{...r.headers,...r.method!=="DELETE"&&{"content-type":"application/json"}}})}`);const s=await i.getRequestHeaders();const a=await i.request({url:`${B7.default.API_KEY_MANAGEMENT_SERVICE_URL}/${e}`,method:r.method||"GET",body:r.body,headers:{...s,...r.headers,...r.method!=="DELETE"&&{"content-type":"application/json"}},validateStatus:u=>u>=200&&u<500});if(a.status===404){const u=await a.data;if(u&&u.hasOwnProperty("type")&&u.hasOwnProperty("title")&&u.hasOwnProperty("status")){throw new Yg.ApiError(u)}throw new Yg.ApiError(Yg.Problems.NOT_FOUND)}if(a.status>=300){this.logger.debug(`Error on api-key-service: path: ${e}, status: ${a.status}, headers: ${JSON.stringify(a.headers)}, body: ${JSON.stringify(a.data)}`);const u=a.data;if(u.type&&u.status&&u.title){throw new Yg.ApiError(u)}this.logger.error(`Error not handled on api-key-service: path: ${e}, status: ${a.status}`);throw new Yg.ApiError(Yg.Problems.INTERNAL_SERVER_ERROR)}if(a.status===204){return{}}return a.data}};$p.ApiKeyService=KH});var Kbe=_(Wg=>{"use strict";var Ext=Wg&&Wg.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(Wg,"__esModule",{value:true});Wg.AuthApiService=void 0;var Qh=Ls();var zbe=Ext(Ro());var bxt=eE();var YH=class{static{o(this,"AuthApiService")}logger;requestId;baseUrl;constructor(e){this.logger=e.log;this.requestId=e.id;if(!zbe.default.AUTH_API_URL){throw new Error("AUTH_API_URL is not set")}this.baseUrl=zbe.default.AUTH_API_URL}async getClientJWT(e){let r;try{r=await this.fetch(`/v1/clients/${e}`,{method:"GET"})}catch(i){if(i.status===Qh.Problems.NOT_FOUND.status){r=await this.fetch(`/v1/clients`,{method:"POST",body:JSON.stringify({client_id:e})})}else{throw i}}const n=await this.fetch(`/v1/oauth/token`,{method:"POST",body:JSON.stringify({client_id:e,client_secret:r.client_secret,grant_type:"client_credentials"})},true);return n.access_token}async fetch(e,r,n=false){this.logger.info(`Fetching internally ${e} from Auth API V2.`);const i=new Headers({"content-type":"application/json","zp-rid":this.requestId,authorization:""});if(process.env.K_SERVICE){const a=await(0,bxt.getServiceAccountIdToken)(this.baseUrl);i.set("Authorization",`Bearer ${a}`)}const s=await fetch(`${this.baseUrl}${e}`,{...r,headers:i});if(s.status===Qh.HttpStatusCode.NOT_FOUND){throw new Qh.ApiError(Qh.Problems.NOT_FOUND)}if(!s.ok){this.logger.debug(`Error on auth-api: path: ${e}, status: ${s.status}`);const a=await s.clone().json();if(a.type&&a.status&&a.title){throw new Qh.ApiError(a)}this.logger.error(`Error not handled on auth-api: path: ${e}, status: ${s.status}`);throw new Qh.ApiError(Qh.Problems.INTERNAL_SERVER_ERROR)}return s.clone().json()}};Wg.AuthApiService=YH});var M7=_(F7=>{"use strict";Object.defineProperty(F7,"__esModule",{value:true});F7.ApiServiceClient=void 0;var Jg=Ls();var wxt=eE();var WH=class{static{o(this,"ApiServiceClient")}userSub;logger;requestId;baseUrl;cache;constructor(e,r,n){this.userSub=n.userSub;this.logger=n.logger;this.requestId=n.requestId;this.baseUrl=e;this.cache=r}async cachedFetch(e,r,n){if(!this.userSub||!n){throw new Error("userSub and cacheKey parameters are required to use cachedFetch")}const i=`${this.userSub}@${n}`;if(this.cache.has(i)){return this.cache.get(i)}const s=await this.fetchInternally(e,r);this.cache.set(i,s);return s}async fetchInternally(e,r){this.logger.info(`Fetching internally ${r.method} ${this.baseUrl}${e}`);const n=new Headers({...r.headers,"zuplo-user":this.userSub,"content-type":"application/json","zp-rid":this.requestId});if(process.env.K_SERVICE){const s=await(0,wxt.getServiceAccountIdToken)(this.baseUrl);n.set("Authorization",`Bearer ${s}`)}const i=await fetch(`${this.baseUrl}${e}`,{...r,headers:n});if(i.status===404){const s=await i.json();if(s&&s.hasOwnProperty("type")&&s.hasOwnProperty("title")&&s.hasOwnProperty("status")){throw new Jg.ApiError(s)}throw new Jg.ApiError(Jg.Problems.NOT_FOUND)}if(!i.ok){this.logger.debug(`Error on internal api: path: ${e}, status: ${i.status}, headers: ${JSON.stringify(i.headers)}, body: ${JSON.stringify(i.clone().text())}`);const s=await i.clone().json();if(s.type&&s.status&&s.title){throw new Jg.ApiError(s)}this.logger.error(`Error not handled on internal api: path: ${e}, status: ${i.status}`);throw new Jg.ApiError(Jg.Problems.INTERNAL_SERVER_ERROR)}if(i.status===204){return{}}return i.clone().json()}};F7.ApiServiceClient=WH});var Qbe=_(El=>{"use strict";var Wbe=El&&El.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(El,"__esModule",{value:true});El.ContentApiService=El.getContentApiStorageTarballPath=El.contentApiTarballFileName=void 0;var Sxt=Wbe(bu());var Ybe=Wbe(Ro());var Txt=M7();var Axt=new Sxt.default({max:500,maxAge:1e3*60*50});function Jbe(t,e){return`${t}--${e}.tar.gz`}o(Jbe,"contentApiTarballFileName");El.contentApiTarballFileName=Jbe;function xxt(t,e){const r=Jbe(t,e);return`${t}/builds/${r}`}o(xxt,"getContentApiStorageTarballPath");El.getContentApiStorageTarballPath=xxt;var JH=class extends Txt.ApiServiceClient{static{o(this,"ContentApiService")}constructor(e){if(!Ybe.default.CONTENT_API_URL){throw new Error("CONTENT_API_URL is not set")}super(Ybe.default.CONTENT_API_URL,Axt,e)}};El.ContentApiService=JH});var e9e=_(Qg=>{"use strict";var Zbe=Qg&&Qg.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(Qg,"__esModule",{value:true});Qg.DevApiService=void 0;var Cxt=Zbe(bu());var Xbe=Zbe(Ro());var Rxt=M7();var Nxt=new Cxt.default({max:500,maxAge:1e3*60*50});var QH=class extends Rxt.ApiServiceClient{static{o(this,"DevApiService")}constructor(e,r){if(!Xbe.default.DEV_API_URL){throw new Error("DEV_API_URL is not set")}const n=r&&r.userSub?r.userSub:e.getUserSub();super(Xbe.default.DEV_API_URL,Nxt,{userSub:n,logger:e.log,requestId:e.id})}};Qg.DevApiService=QH});var n9e=_(Xg=>{"use strict";var r9e=Xg&&Xg.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(Xg,"__esModule",{value:true});Xg.TenantService=void 0;var Oxt=r9e(bu());var t9e=r9e(Ro());var Ixt=M7();var Pxt=new Oxt.default({max:500,maxAge:1e3*60*50});var XH=class extends Ixt.ApiServiceClient{static{o(this,"TenantService")}constructor(e,r){if(!t9e.default.TENANT_API_URL){throw new Error("TENANT_API_URL is not set")}const n=r&&r.userSub?r.userSub:e.getUserSub();super(t9e.default.TENANT_API_URL,Pxt,{userSub:n,logger:e.log,requestId:e.id})}};Xg.TenantService=XH});var i9e=_(bl=>{"use strict";Object.defineProperty(bl,"__esModule",{value:true});bl.validateHostname=bl.kebabCase=bl.snakeCase=bl.sizeInBytes=void 0;function Dxt(t){return new TextEncoder().encode(JSON.stringify(t)).length}o(Dxt,"sizeInBytes");bl.sizeInBytes=Dxt;function kxt(t){if(!t||t===null){return""}return t.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)?.map(e=>e.toLowerCase()).join("_")}o(kxt,"snakeCase");bl.snakeCase=kxt;function $xt(t){if(!t||t===null){return""}const e=t.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g);if(e===null){return""}return e.map(r=>r.toLowerCase()).join("-")}o($xt,"kebabCase");bl.kebabCase=$xt;function Lxt(t){try{const e=/^(?!https?:\/\/)([a-zA-Z0-9.-]*|(\*))*\.[a-zA-Z]+$/;if(t&&!e.test(t)){return false}return true}catch(e){}return false}o(Lxt,"validateHostname");bl.validateHostname=Lxt});var s9e=_(V7=>{"use strict";Object.defineProperty(V7,"__esModule",{value:true});V7.getCurrentUtcDateTime=void 0;function qxt(){const t={year:"numeric",month:"short",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:true,timeZone:"UTC"};const e=new Date().toLocaleString("en-US",t);return e}o(qxt,"getCurrentUtcDateTime");V7.getCurrentUtcDateTime=qxt});var u9e=_(z=>{"use strict";Object.defineProperty(z,"__esModule",{value:true});z.Type=z.JsonType=z.JavaScriptTypeBuilder=z.JsonTypeBuilder=z.TypeBuilder=z.TypeBuilderError=z.TransformEncodeBuilder=z.TransformDecodeBuilder=z.TemplateLiteralDslParser=z.TemplateLiteralGenerator=z.TemplateLiteralGeneratorError=z.TemplateLiteralFinite=z.TemplateLiteralFiniteError=z.TemplateLiteralParser=z.TemplateLiteralParserError=z.TemplateLiteralResolver=z.TemplateLiteralPattern=z.TemplateLiteralPatternError=z.UnionResolver=z.KeyArrayResolver=z.KeyArrayResolverError=z.KeyResolver=z.ObjectMap=z.Intrinsic=z.IndexedAccessor=z.TypeClone=z.TypeExtends=z.TypeExtendsResult=z.TypeExtendsError=z.ExtendsUndefined=z.TypeGuard=z.TypeGuardUnknownTypeError=z.ValueGuard=z.FormatRegistry=z.TypeBoxError=z.TypeRegistry=z.PatternStringExact=z.PatternNumberExact=z.PatternBooleanExact=z.PatternString=z.PatternNumber=z.PatternBoolean=z.Kind=z.Hint=z.Optional=z.Readonly=z.Transform=void 0;z.Transform=Symbol.for("TypeBox.Transform");z.Readonly=Symbol.for("TypeBox.Readonly");z.Optional=Symbol.for("TypeBox.Optional");z.Hint=Symbol.for("TypeBox.Hint");z.Kind=Symbol.for("TypeBox.Kind");z.PatternBoolean="(true|false)";z.PatternNumber="(0|[1-9][0-9]*)";z.PatternString="(.*)";z.PatternBooleanExact=`^${z.PatternBoolean}$`;z.PatternNumberExact=`^${z.PatternNumber}$`;z.PatternStringExact=`^${z.PatternString}$`;var ZH;(function(t){const e=new Map;function r(){return new Map(e)}o(r,"Entries");t.Entries=r;function n(){return e.clear()}o(n,"Clear");t.Clear=n;function i(l){return e.delete(l)}o(i,"Delete");t.Delete=i;function s(l){return e.has(l)}o(s,"Has");t.Has=s;function a(l,c){e.set(l,c)}o(a,"Set");t.Set=a;function u(l){return e.get(l)}o(u,"Get");t.Get=u})(ZH||(z.TypeRegistry=ZH={}));var pu=class extends Error{static{o(this,"TypeBoxError")}constructor(e){super(e)}};z.TypeBoxError=pu;var a9e;(function(t){const e=new Map;function r(){return new Map(e)}o(r,"Entries");t.Entries=r;function n(){return e.clear()}o(n,"Clear");t.Clear=n;function i(l){return e.delete(l)}o(i,"Delete");t.Delete=i;function s(l){return e.has(l)}o(s,"Has");t.Has=s;function a(l,c){e.set(l,c)}o(a,"Set");t.Set=a;function u(l){return e.get(l)}o(u,"Get");t.Get=u})(a9e||(z.FormatRegistry=a9e={}));var Le;(function(t){function e(c){return Array.isArray(c)}o(e,"IsArray");t.IsArray=e;function r(c){return typeof c==="bigint"}o(r,"IsBigInt");t.IsBigInt=r;function n(c){return typeof c==="boolean"}o(n,"IsBoolean");t.IsBoolean=n;function i(c){return c===null}o(i,"IsNull");t.IsNull=i;function s(c){return typeof c==="number"}o(s,"IsNumber");t.IsNumber=s;function a(c){return typeof c==="object"&&c!==null}o(a,"IsObject");t.IsObject=a;function u(c){return typeof c==="string"}o(u,"IsString");t.IsString=u;function l(c){return c===void 0}o(l,"IsUndefined");t.IsUndefined=l})(Le||(z.ValueGuard=Le={}));var eG=class extends pu{static{o(this,"TypeGuardUnknownTypeError")}};z.TypeGuardUnknownTypeError=eG;var Y;(function(t){function e(A){try{new RegExp(A);return true}catch{return false}}o(e,"IsPattern");function r(A){if(!Le.IsString(A))return false;for(let ie=0;ie<A.length;ie++){const le=A.charCodeAt(ie);if(le>=7&&le<=13||le===27||le===127){return false}}return true}o(r,"IsControlCharacterFree");function n(A){return a(A)||J(A)}o(n,"IsAdditionalProperties");function i(A){return Le.IsUndefined(A)||Le.IsBigInt(A)}o(i,"IsOptionalBigInt");function s(A){return Le.IsUndefined(A)||Le.IsNumber(A)}o(s,"IsOptionalNumber");function a(A){return Le.IsUndefined(A)||Le.IsBoolean(A)}o(a,"IsOptionalBoolean");function u(A){return Le.IsUndefined(A)||Le.IsString(A)}o(u,"IsOptionalString");function l(A){return Le.IsUndefined(A)||Le.IsString(A)&&r(A)&&e(A)}o(l,"IsOptionalPattern");function c(A){return Le.IsUndefined(A)||Le.IsString(A)&&r(A)}o(c,"IsOptionalFormat");function d(A){return Le.IsUndefined(A)||J(A)}o(d,"IsOptionalSchema");function p(A){return T(A,"Any")&&u(A.$id)}o(p,"TAny");t.TAny=p;function f(A){return T(A,"Array")&&A.type==="array"&&u(A.$id)&&J(A.items)&&s(A.minItems)&&s(A.maxItems)&&a(A.uniqueItems)&&d(A.contains)&&s(A.minContains)&&s(A.maxContains)}o(f,"TArray");t.TArray=f;function h(A){return T(A,"AsyncIterator")&&A.type==="AsyncIterator"&&u(A.$id)&&J(A.items)}o(h,"TAsyncIterator");t.TAsyncIterator=h;function m(A){return T(A,"BigInt")&&A.type==="bigint"&&u(A.$id)&&i(A.exclusiveMaximum)&&i(A.exclusiveMinimum)&&i(A.maximum)&&i(A.minimum)&&i(A.multipleOf)}o(m,"TBigInt");t.TBigInt=m;function g(A){return T(A,"Boolean")&&A.type==="boolean"&&u(A.$id)}o(g,"TBoolean");t.TBoolean=g;function y(A){return T(A,"Constructor")&&A.type==="constructor"&&u(A.$id)&&Le.IsArray(A.parameters)&&A.parameters.every(ie=>J(ie))&&J(A.returns)}o(y,"TConstructor");t.TConstructor=y;function v(A){return T(A,"Date")&&A.type==="Date"&&u(A.$id)&&s(A.exclusiveMaximumTimestamp)&&s(A.exclusiveMinimumTimestamp)&&s(A.maximumTimestamp)&&s(A.minimumTimestamp)&&s(A.multipleOfTimestamp)}o(v,"TDate");t.TDate=v;function w(A){return T(A,"Function")&&A.type==="function"&&u(A.$id)&&Le.IsArray(A.parameters)&&A.parameters.every(ie=>J(ie))&&J(A.returns)}o(w,"TFunction");t.TFunction=w;function E(A){return T(A,"Integer")&&A.type==="integer"&&u(A.$id)&&s(A.exclusiveMaximum)&&s(A.exclusiveMinimum)&&s(A.maximum)&&s(A.minimum)&&s(A.multipleOf)}o(E,"TInteger");t.TInteger=E;function b(A){return T(A,"Intersect")&&(Le.IsString(A.type)&&A.type!=="object"?false:true)&&Le.IsArray(A.allOf)&&A.allOf.every(ie=>J(ie)&&!Me(ie))&&u(A.type)&&(a(A.unevaluatedProperties)||d(A.unevaluatedProperties))&&u(A.$id)}o(b,"TIntersect");t.TIntersect=b;function S(A){return T(A,"Iterator")&&A.type==="Iterator"&&u(A.$id)&&J(A.items)}o(S,"TIterator");t.TIterator=S;function T(A,ie){return x(A)&&A[z.Kind]===ie}o(T,"TKindOf");t.TKindOf=T;function x(A){return Le.IsObject(A)&&z.Kind in A&&Le.IsString(A[z.Kind])}o(x,"TKind");t.TKind=x;function D(A){return V(A)&&Le.IsString(A.const)}o(D,"TLiteralString");t.TLiteralString=D;function k(A){return V(A)&&Le.IsNumber(A.const)}o(k,"TLiteralNumber");t.TLiteralNumber=k;function B(A){return V(A)&&Le.IsBoolean(A.const)}o(B,"TLiteralBoolean");t.TLiteralBoolean=B;function V(A){return T(A,"Literal")&&u(A.$id)&&(Le.IsBoolean(A.const)||Le.IsNumber(A.const)||Le.IsString(A.const))}o(V,"TLiteral");t.TLiteral=V;function U(A){return T(A,"Never")&&Le.IsObject(A.not)&&Object.getOwnPropertyNames(A.not).length===0}o(U,"TNever");t.TNever=U;function X(A){return T(A,"Not")&&J(A.not)}o(X,"TNot");t.TNot=X;function oe(A){return T(A,"Null")&&A.type==="null"&&u(A.$id)}o(oe,"TNull");t.TNull=oe;function we(A){return T(A,"Number")&&A.type==="number"&&u(A.$id)&&s(A.exclusiveMaximum)&&s(A.exclusiveMinimum)&&s(A.maximum)&&s(A.minimum)&&s(A.multipleOf)}o(we,"TNumber");t.TNumber=we;function ue(A){return T(A,"Object")&&A.type==="object"&&u(A.$id)&&Le.IsObject(A.properties)&&n(A.additionalProperties)&&s(A.minProperties)&&s(A.maxProperties)&&Object.entries(A.properties).every(([ie,le])=>r(ie)&&J(le))}o(ue,"TObject");t.TObject=ue;function he(A){return T(A,"Promise")&&A.type==="Promise"&&u(A.$id)&&J(A.item)}o(he,"TPromise");t.TPromise=he;function Ge(A){return T(A,"Record")&&A.type==="object"&&u(A.$id)&&n(A.additionalProperties)&&Le.IsObject(A.patternProperties)&&(ie=>{const le=Object.getOwnPropertyNames(ie.patternProperties);return le.length===1&&e(le[0])&&Le.IsObject(ie.patternProperties)&&J(ie.patternProperties[le[0]])})(A)}o(Ge,"TRecord");t.TRecord=Ge;function Se(A){return Le.IsObject(A)&&z.Hint in A&&A[z.Hint]==="Recursive"}o(Se,"TRecursive");t.TRecursive=Se;function Pe(A){return T(A,"Ref")&&u(A.$id)&&Le.IsString(A.$ref)}o(Pe,"TRef");t.TRef=Pe;function Ke(A){return T(A,"String")&&A.type==="string"&&u(A.$id)&&s(A.minLength)&&s(A.maxLength)&&l(A.pattern)&&c(A.format)}o(Ke,"TString");t.TString=Ke;function qe(A){return T(A,"Symbol")&&A.type==="symbol"&&u(A.$id)}o(qe,"TSymbol");t.TSymbol=qe;function ge(A){return T(A,"TemplateLiteral")&&A.type==="string"&&Le.IsString(A.pattern)&&A.pattern[0]==="^"&&A.pattern[A.pattern.length-1]==="$"}o(ge,"TTemplateLiteral");t.TTemplateLiteral=ge;function at(A){return T(A,"This")&&u(A.$id)&&Le.IsString(A.$ref)}o(at,"TThis");t.TThis=at;function Me(A){return Le.IsObject(A)&&z.Transform in A}o(Me,"TTransform");t.TTransform=Me;function Ne(A){return T(A,"Tuple")&&A.type==="array"&&u(A.$id)&&Le.IsNumber(A.minItems)&&Le.IsNumber(A.maxItems)&&A.minItems===A.maxItems&&(Le.IsUndefined(A.items)&&Le.IsUndefined(A.additionalItems)&&A.minItems===0||Le.IsArray(A.items)&&A.items.every(ie=>J(ie)))}o(Ne,"TTuple");t.TTuple=Ne;function Ze(A){return T(A,"Undefined")&&A.type==="undefined"&&u(A.$id)}o(Ze,"TUndefined");t.TUndefined=Ze;function ze(A){return C(A)&&A.anyOf.every(ie=>D(ie)||k(ie))}o(ze,"TUnionLiteral");t.TUnionLiteral=ze;function C(A){return T(A,"Union")&&u(A.$id)&&Le.IsObject(A)&&Le.IsArray(A.anyOf)&&A.anyOf.every(ie=>J(ie))}o(C,"TUnion");t.TUnion=C;function O(A){return T(A,"Uint8Array")&&A.type==="Uint8Array"&&u(A.$id)&&s(A.minByteLength)&&s(A.maxByteLength)}o(O,"TUint8Array");t.TUint8Array=O;function q(A){return T(A,"Unknown")&&u(A.$id)}o(q,"TUnknown");t.TUnknown=q;function G(A){return T(A,"Unsafe")}o(G,"TUnsafe");t.TUnsafe=G;function W(A){return T(A,"Void")&&A.type==="void"&&u(A.$id)}o(W,"TVoid");t.TVoid=W;function K(A){return Le.IsObject(A)&&A[z.Readonly]==="Readonly"}o(K,"TReadonly");t.TReadonly=K;function se(A){return Le.IsObject(A)&&A[z.Optional]==="Optional"}o(se,"TOptional");t.TOptional=se;function J(A){return Le.IsObject(A)&&(p(A)||f(A)||g(A)||m(A)||h(A)||y(A)||v(A)||w(A)||E(A)||b(A)||S(A)||V(A)||U(A)||X(A)||oe(A)||we(A)||ue(A)||he(A)||Ge(A)||Pe(A)||Ke(A)||qe(A)||ge(A)||at(A)||Ne(A)||Ze(A)||C(A)||O(A)||q(A)||G(A)||W(A)||x(A)&&ZH.Has(A[z.Kind]))}o(J,"TSchema");t.TSchema=J})(Y||(z.TypeGuard=Y={}));var o9e;(function(t){function e(r){return r[z.Kind]==="Intersect"?r.allOf.every(n=>e(n)):r[z.Kind]==="Union"?r.anyOf.some(n=>e(n)):r[z.Kind]==="Undefined"?true:r[z.Kind]==="Not"?!e(r.not):false}o(e,"Check");t.Check=e})(o9e||(z.ExtendsUndefined=o9e={}));var H7=class extends pu{static{o(this,"TypeExtendsError")}};z.TypeExtendsError=H7;var _e;(function(t){t[t["Union"]=0]="Union";t[t["True"]=1]="True";t[t["False"]=2]="False"})(_e||(z.TypeExtendsResult=_e={}));var Xh;(function(t){function e(j){return j===_e.False?j:_e.True}o(e,"IntoBooleanResult");function r(j){throw new H7(j)}o(r,"Throw");function n(j){return Y.TNever(j)||Y.TIntersect(j)||Y.TUnion(j)||Y.TUnknown(j)||Y.TAny(j)}o(n,"IsStructuralRight");function i(j,$){return Y.TNever($)?T(j,$):Y.TIntersect($)?w(j,$):Y.TUnion($)?Ye(j,$):Y.TUnknown($)?Qt(j,$):Y.TAny($)?s(j,$):r("StructuralRight")}o(i,"StructuralRight");function s(j,$){return _e.True}o(s,"TAnyRight");function a(j,$){return Y.TIntersect($)?w(j,$):Y.TUnion($)&&$.anyOf.some(He=>Y.TAny(He)||Y.TUnknown(He))?_e.True:Y.TUnion($)?_e.Union:Y.TUnknown($)?_e.True:Y.TAny($)?_e.True:_e.Union}o(a,"TAny");function u(j,$){return Y.TUnknown(j)?_e.False:Y.TAny(j)?_e.Union:Y.TNever(j)?_e.True:_e.False}o(u,"TArrayRight");function l(j,$){return Y.TObject($)&&ge($)?_e.True:n($)?i(j,$):!Y.TArray($)?_e.False:e(ct(j.items,$.items))}o(l,"TArray");function c(j,$){return n($)?i(j,$):!Y.TAsyncIterator($)?_e.False:e(ct(j.items,$.items))}o(c,"TAsyncIterator");function d(j,$){return n($)?i(j,$):Y.TObject($)?Ne(j,$):Y.TRecord($)?q(j,$):Y.TBigInt($)?_e.True:_e.False}o(d,"TBigInt");function p(j,$){return Y.TLiteral(j)&&Le.IsBoolean(j.const)?_e.True:Y.TBoolean(j)?_e.True:_e.False}o(p,"TBooleanRight");function f(j,$){return n($)?i(j,$):Y.TObject($)?Ne(j,$):Y.TRecord($)?q(j,$):Y.TBoolean($)?_e.True:_e.False}o(f,"TBoolean");function h(j,$){return n($)?i(j,$):Y.TObject($)?Ne(j,$):!Y.TConstructor($)?_e.False:j.parameters.length>$.parameters.length?_e.False:!j.parameters.every((He,ar)=>e(ct($.parameters[ar],He))===_e.True)?_e.False:e(ct(j.returns,$.returns))}o(h,"TConstructor");function m(j,$){return n($)?i(j,$):Y.TObject($)?Ne(j,$):Y.TRecord($)?q(j,$):Y.TDate($)?_e.True:_e.False}o(m,"TDate");function g(j,$){return n($)?i(j,$):Y.TObject($)?Ne(j,$):!Y.TFunction($)?_e.False:j.parameters.length>$.parameters.length?_e.False:!j.parameters.every((He,ar)=>e(ct($.parameters[ar],He))===_e.True)?_e.False:e(ct(j.returns,$.returns))}o(g,"TFunction");function y(j,$){return Y.TLiteral(j)&&Le.IsNumber(j.const)?_e.True:Y.TNumber(j)||Y.TInteger(j)?_e.True:_e.False}o(y,"TIntegerRight");function v(j,$){return Y.TInteger($)||Y.TNumber($)?_e.True:n($)?i(j,$):Y.TObject($)?Ne(j,$):Y.TRecord($)?q(j,$):_e.False}o(v,"TInteger");function w(j,$){return $.allOf.every(He=>ct(j,He)===_e.True)?_e.True:_e.False}o(w,"TIntersectRight");function E(j,$){return j.allOf.some(He=>ct(He,$)===_e.True)?_e.True:_e.False}o(E,"TIntersect");function b(j,$){return n($)?i(j,$):!Y.TIterator($)?_e.False:e(ct(j.items,$.items))}o(b,"TIterator");function S(j,$){return Y.TLiteral($)&&$.const===j.const?_e.True:n($)?i(j,$):Y.TObject($)?Ne(j,$):Y.TRecord($)?q(j,$):Y.TString($)?W(j,$):Y.TNumber($)?V(j,$):Y.TInteger($)?y(j,$):Y.TBoolean($)?p(j,$):_e.False}o(S,"TLiteral");function T(j,$){return _e.False}o(T,"TNeverRight");function x(j,$){return _e.True}o(x,"TNever");function D(j){let[$,He]=[j,0];while(true){if(!Y.TNot($))break;$=$.not;He+=1}return He%2===0?$:z.Type.Unknown()}o(D,"UnwrapTNot");function k(j,$){return Y.TNot(j)?ct(D(j),$):Y.TNot($)?ct(j,D($)):r("Invalid fallthrough for Not")}o(k,"TNot");function B(j,$){return n($)?i(j,$):Y.TObject($)?Ne(j,$):Y.TRecord($)?q(j,$):Y.TNull($)?_e.True:_e.False}o(B,"TNull");function V(j,$){return Y.TLiteralNumber(j)?_e.True:Y.TNumber(j)||Y.TInteger(j)?_e.True:_e.False}o(V,"TNumberRight");function U(j,$){return n($)?i(j,$):Y.TObject($)?Ne(j,$):Y.TRecord($)?q(j,$):Y.TInteger($)||Y.TNumber($)?_e.True:_e.False}o(U,"TNumber");function X(j,$){return Object.getOwnPropertyNames(j.properties).length===$}o(X,"IsObjectPropertyCount");function oe(j){return ge(j)}o(oe,"IsObjectStringLike");function we(j){return X(j,0)||X(j,1)&&"description"in j.properties&&Y.TUnion(j.properties.description)&&j.properties.description.anyOf.length===2&&(Y.TString(j.properties.description.anyOf[0])&&Y.TUndefined(j.properties.description.anyOf[1])||Y.TString(j.properties.description.anyOf[1])&&Y.TUndefined(j.properties.description.anyOf[0]))}o(we,"IsObjectSymbolLike");function ue(j){return X(j,0)}o(ue,"IsObjectNumberLike");function he(j){return X(j,0)}o(he,"IsObjectBooleanLike");function Ge(j){return X(j,0)}o(Ge,"IsObjectBigIntLike");function Se(j){return X(j,0)}o(Se,"IsObjectDateLike");function Pe(j){return ge(j)}o(Pe,"IsObjectUint8ArrayLike");function Ke(j){const $=z.Type.Number();return X(j,0)||X(j,1)&&"length"in j.properties&&e(ct(j.properties["length"],$))===_e.True}o(Ke,"IsObjectFunctionLike");function qe(j){return X(j,0)}o(qe,"IsObjectConstructorLike");function ge(j){const $=z.Type.Number();return X(j,0)||X(j,1)&&"length"in j.properties&&e(ct(j.properties["length"],$))===_e.True}o(ge,"IsObjectArrayLike");function at(j){const $=z.Type.Function([z.Type.Any()],z.Type.Any());return X(j,0)||X(j,1)&&"then"in j.properties&&e(ct(j.properties["then"],$))===_e.True}o(at,"IsObjectPromiseLike");function Me(j,$){return ct(j,$)===_e.False?_e.False:Y.TOptional(j)&&!Y.TOptional($)?_e.False:_e.True}o(Me,"Property");function Ne(j,$){return Y.TUnknown(j)?_e.False:Y.TAny(j)?_e.Union:Y.TNever(j)||Y.TLiteralString(j)&&oe($)||Y.TLiteralNumber(j)&&ue($)||Y.TLiteralBoolean(j)&&he($)||Y.TSymbol(j)&&we($)||Y.TBigInt(j)&&Ge($)||Y.TString(j)&&oe($)||Y.TSymbol(j)&&we($)||Y.TNumber(j)&&ue($)||Y.TInteger(j)&&ue($)||Y.TBoolean(j)&&he($)||Y.TUint8Array(j)&&Pe($)||Y.TDate(j)&&Se($)||Y.TConstructor(j)&&qe($)||Y.TFunction(j)&&Ke($)?_e.True:Y.TRecord(j)&&Y.TString(C(j))?(()=>{return $[z.Hint]==="Record"?_e.True:_e.False})():Y.TRecord(j)&&Y.TNumber(C(j))?(()=>{return X($,0)?_e.True:_e.False})():_e.False}o(Ne,"TObjectRight");function Ze(j,$){return n($)?i(j,$):Y.TRecord($)?q(j,$):!Y.TObject($)?_e.False:(()=>{for(const He of Object.getOwnPropertyNames($.properties)){if(!(He in j.properties))return _e.False;if(Me(j.properties[He],$.properties[He])===_e.False){return _e.False}}return _e.True})()}o(Ze,"TObject");function ze(j,$){return n($)?i(j,$):Y.TObject($)&&at($)?_e.True:!Y.TPromise($)?_e.False:e(ct(j.item,$.item))}o(ze,"TPromise");function C(j){return z.PatternNumberExact in j.patternProperties?z.Type.Number():z.PatternStringExact in j.patternProperties?z.Type.String():r("Unknown record key pattern")}o(C,"RecordKey");function O(j){return z.PatternNumberExact in j.patternProperties?j.patternProperties[z.PatternNumberExact]:z.PatternStringExact in j.patternProperties?j.patternProperties[z.PatternStringExact]:r("Unable to get record value schema")}o(O,"RecordValue");function q(j,$){const[He,ar]=[C($),O($)];return Y.TLiteralString(j)&&Y.TNumber(He)&&e(ct(j,ar))===_e.True?_e.True:Y.TUint8Array(j)&&Y.TNumber(He)?ct(j,ar):Y.TString(j)&&Y.TNumber(He)?ct(j,ar):Y.TArray(j)&&Y.TNumber(He)?ct(j,ar):Y.TObject(j)?(()=>{for(const ai of Object.getOwnPropertyNames(j.properties)){if(Me(ar,j.properties[ai])===_e.False){return _e.False}}return _e.True})():_e.False}o(q,"TRecordRight");function G(j,$){return n($)?i(j,$):Y.TObject($)?Ne(j,$):!Y.TRecord($)?_e.False:ct(O(j),O($))}o(G,"TRecord");function W(j,$){return Y.TLiteral(j)&&Le.IsString(j.const)?_e.True:Y.TString(j)?_e.True:_e.False}o(W,"TStringRight");function K(j,$){return n($)?i(j,$):Y.TObject($)?Ne(j,$):Y.TRecord($)?q(j,$):Y.TString($)?_e.True:_e.False}o(K,"TString");function se(j,$){return n($)?i(j,$):Y.TObject($)?Ne(j,$):Y.TRecord($)?q(j,$):Y.TSymbol($)?_e.True:_e.False}o(se,"TSymbol");function J(j,$){return Y.TTemplateLiteral(j)?ct(Pc.Resolve(j),$):Y.TTemplateLiteral($)?ct(j,Pc.Resolve($)):r("Invalid fallthrough for TemplateLiteral")}o(J,"TTemplateLiteral");function A(j,$){return Y.TArray($)&&j.items!==void 0&&j.items.every(He=>ct(He,$.items)===_e.True)}o(A,"IsArrayOfTuple");function ie(j,$){return Y.TNever(j)?_e.True:Y.TUnknown(j)?_e.False:Y.TAny(j)?_e.Union:_e.False}o(ie,"TTupleRight");function le(j,$){return n($)?i(j,$):Y.TObject($)&&ge($)?_e.True:Y.TArray($)&&A(j,$)?_e.True:!Y.TTuple($)?_e.False:Le.IsUndefined(j.items)&&!Le.IsUndefined($.items)||!Le.IsUndefined(j.items)&&Le.IsUndefined($.items)?_e.False:Le.IsUndefined(j.items)&&!Le.IsUndefined($.items)?_e.True:j.items.every((He,ar)=>ct(He,$.items[ar])===_e.True)?_e.True:_e.False}o(le,"TTuple");function ye(j,$){return n($)?i(j,$):Y.TObject($)?Ne(j,$):Y.TRecord($)?q(j,$):Y.TUint8Array($)?_e.True:_e.False}o(ye,"TUint8Array");function De(j,$){return n($)?i(j,$):Y.TObject($)?Ne(j,$):Y.TRecord($)?q(j,$):Y.TVoid($)?yt(j,$):Y.TUndefined($)?_e.True:_e.False}o(De,"TUndefined");function Ye(j,$){return $.anyOf.some(He=>ct(j,He)===_e.True)?_e.True:_e.False}o(Ye,"TUnionRight");function gt(j,$){return j.anyOf.every(He=>ct(He,$)===_e.True)?_e.True:_e.False}o(gt,"TUnion");function Qt(j,$){return _e.True}o(Qt,"TUnknownRight");function sr(j,$){return Y.TNever($)?T(j,$):Y.TIntersect($)?w(j,$):Y.TUnion($)?Ye(j,$):Y.TAny($)?s(j,$):Y.TString($)?W(j,$):Y.TNumber($)?V(j,$):Y.TInteger($)?y(j,$):Y.TBoolean($)?p(j,$):Y.TArray($)?u(j,$):Y.TTuple($)?ie(j,$):Y.TObject($)?Ne(j,$):Y.TUnknown($)?_e.True:_e.False}o(sr,"TUnknown");function yt(j,$){return Y.TUndefined(j)?_e.True:Y.TUndefined(j)?_e.True:_e.False}o(yt,"VoidRight");function St(j,$){return Y.TIntersect($)?w(j,$):Y.TUnion($)?Ye(j,$):Y.TUnknown($)?Qt(j,$):Y.TAny($)?s(j,$):Y.TObject($)?Ne(j,$):Y.TVoid($)?_e.True:_e.False}o(St,"TVoid");function ct(j,$){return Y.TTemplateLiteral(j)||Y.TTemplateLiteral($)?J(j,$):Y.TNot(j)||Y.TNot($)?k(j,$):Y.TAny(j)?a(j,$):Y.TArray(j)?l(j,$):Y.TBigInt(j)?d(j,$):Y.TBoolean(j)?f(j,$):Y.TAsyncIterator(j)?c(j,$):Y.TConstructor(j)?h(j,$):Y.TDate(j)?m(j,$):Y.TFunction(j)?g(j,$):Y.TInteger(j)?v(j,$):Y.TIntersect(j)?E(j,$):Y.TIterator(j)?b(j,$):Y.TLiteral(j)?S(j,$):Y.TNever(j)?x(j,$):Y.TNull(j)?B(j,$):Y.TNumber(j)?U(j,$):Y.TObject(j)?Ze(j,$):Y.TRecord(j)?G(j,$):Y.TString(j)?K(j,$):Y.TSymbol(j)?se(j,$):Y.TTuple(j)?le(j,$):Y.TPromise(j)?ze(j,$):Y.TUint8Array(j)?ye(j,$):Y.TUndefined(j)?De(j,$):Y.TUnion(j)?gt(j,$):Y.TUnknown(j)?sr(j,$):Y.TVoid(j)?St(j,$):r(`Unknown left type operand '${j[z.Kind]}'`)}o(ct,"Visit");function Wr(j,$){return ct(j,$)}o(Wr,"Extends");t.Extends=Wr})(Xh||(z.TypeExtends=Xh={}));var ot;(function(t){function e(a){const u=Object.getOwnPropertyNames(a).reduce((c,d)=>({...c,[d]:n(a[d])}),{});const l=Object.getOwnPropertySymbols(a).reduce((c,d)=>({...c,[d]:n(a[d])}),{});return{...u,...l}}o(e,"ObjectType");function r(a){return a.map(u=>n(u))}o(r,"ArrayType");function n(a){return Le.IsArray(a)?r(a):Le.IsObject(a)?e(a):a}o(n,"Visit");function i(a){return a.map(u=>s(u))}o(i,"Rest");t.Rest=i;function s(a,u={}){return{...n(a),...u}}o(s,"Type");t.Type=s})(ot||(z.TypeClone=ot={}));var tG;(function(t){function e(h){return h.map(m=>{const{[z.Optional]:g,...y}=ot.Type(m);return y})}o(e,"OptionalUnwrap");function r(h){return h.every(m=>Y.TOptional(m))}o(r,"IsIntersectOptional");function n(h){return h.some(m=>Y.TOptional(m))}o(n,"IsUnionOptional");function i(h){return r(h.allOf)?z.Type.Optional(z.Type.Intersect(e(h.allOf))):h}o(i,"ResolveIntersect");function s(h){return n(h.anyOf)?z.Type.Optional(z.Type.Union(e(h.anyOf))):h}o(s,"ResolveUnion");function a(h){return h[z.Kind]==="Intersect"?i(h):h[z.Kind]==="Union"?s(h):h}o(a,"ResolveOptional");function u(h,m){const g=h.allOf.reduce((y,v)=>{const w=p(v,m);return w[z.Kind]==="Never"?y:[...y,w]},[]);return a(z.Type.Intersect(g))}o(u,"TIntersect");function l(h,m){const g=h.anyOf.map(y=>p(y,m));return a(z.Type.Union(g))}o(l,"TUnion");function c(h,m){const g=h.properties[m];return Le.IsUndefined(g)?z.Type.Never():z.Type.Union([g])}o(c,"TObject");function d(h,m){const g=h.items;if(Le.IsUndefined(g))return z.Type.Never();const y=g[m];if(Le.IsUndefined(y))return z.Type.Never();return y}o(d,"TTuple");function p(h,m){return h[z.Kind]==="Intersect"?u(h,m):h[z.Kind]==="Union"?l(h,m):h[z.Kind]==="Object"?c(h,m):h[z.Kind]==="Tuple"?d(h,m):z.Type.Never()}o(p,"Visit");function f(h,m,g={}){const y=m.map(v=>p(h,v.toString()));return a(z.Type.Union(y,g))}o(f,"Resolve");t.Resolve=f})(tG||(z.IndexedAccessor=tG={}));var Zg;(function(t){function e(d){const[p,f]=[d.slice(0,1),d.slice(1)];return`${p.toLowerCase()}${f}`}o(e,"Uncapitalize");function r(d){const[p,f]=[d.slice(0,1),d.slice(1)];return`${p.toUpperCase()}${f}`}o(r,"Capitalize");function n(d){return d.toUpperCase()}o(n,"Uppercase");function i(d){return d.toLowerCase()}o(i,"Lowercase");function s(d,p){const f=ty.ParseExact(d.pattern);const h=ry.Check(f);if(!h)return{...d,pattern:a(d.pattern,p)};const m=[...ny.Generate(f)];const g=m.map(w=>z.Type.Literal(w));const y=u(g,p);const v=z.Type.Union(y);return z.Type.TemplateLiteral([v])}o(s,"IntrinsicTemplateLiteral");function a(d,p){return typeof d==="string"?p==="Uncapitalize"?e(d):p==="Capitalize"?r(d):p==="Uppercase"?n(d):p==="Lowercase"?i(d):d:d.toString()}o(a,"IntrinsicLiteral");function u(d,p){if(d.length===0)return[];const[f,...h]=d;return[c(f,p),...u(h,p)]}o(u,"IntrinsicRest");function l(d,p){return Y.TTemplateLiteral(d)?s(d,p):Y.TUnion(d)?z.Type.Union(u(d.anyOf,p)):Y.TLiteral(d)?z.Type.Literal(a(d.const,p)):d}o(l,"Visit");function c(d,p){return l(d,p)}o(c,"Map");t.Map=c})(Zg||(z.Intrinsic=Zg={}));var ey;(function(t){function e(a,u){return z.Type.Intersect(a.allOf.map(l=>i(l,u)),{...a})}o(e,"TIntersect");function r(a,u){return z.Type.Union(a.anyOf.map(l=>i(l,u)),{...a})}o(r,"TUnion");function n(a,u){return u(a)}o(n,"TObject");function i(a,u){return a[z.Kind]==="Intersect"?e(a,u):a[z.Kind]==="Union"?r(a,u):a[z.Kind]==="Object"?n(a,u):a}o(i,"Visit");function s(a,u,l){return{...i(ot.Type(a),u),...l}}o(s,"Map");t.Map=s})(ey||(z.ObjectMap=ey={}));var G7;(function(t){function e(c){return c[0]==="^"&&c[c.length-1]==="$"?c.slice(1,c.length-1):c}o(e,"UnwrapPattern");function r(c,d){return c.allOf.reduce((p,f)=>[...p,...a(f,d)],[])}o(r,"TIntersect");function n(c,d){const p=c.anyOf.map(f=>a(f,d));return[...p.reduce((f,h)=>h.map(m=>p.every(g=>g.includes(m))?f.add(m):f)[0],new Set)]}o(n,"TUnion");function i(c,d){return Object.getOwnPropertyNames(c.properties)}o(i,"TObject");function s(c,d){return d.includePatterns?Object.getOwnPropertyNames(c.patternProperties):[]}o(s,"TRecord");function a(c,d){return Y.TIntersect(c)?r(c,d):Y.TUnion(c)?n(c,d):Y.TObject(c)?i(c,d):Y.TRecord(c)?s(c,d):[]}o(a,"Visit");function u(c,d){return[...new Set(a(c,d))]}o(u,"ResolveKeys");t.ResolveKeys=u;function l(c){const d=u(c,{includePatterns:true});const p=d.map(f=>`(${e(f)})`);return`^(${p.join("|")})$`}o(l,"ResolvePattern");t.ResolvePattern=l})(G7||(z.KeyResolver=G7={}));var z7=class extends pu{static{o(this,"KeyArrayResolverError")}};z.KeyArrayResolverError=z7;var tE;(function(t){function e(r){return Array.isArray(r)?r:Y.TUnionLiteral(r)?r.anyOf.map(n=>n.const.toString()):Y.TLiteral(r)?[r.const]:Y.TTemplateLiteral(r)?(()=>{const n=ty.ParseExact(r.pattern);if(!ry.Check(n))throw new z7("Cannot resolve keys from infinite template expression");return[...ny.Generate(n)]})():[]}o(e,"Resolve");t.Resolve=e})(tE||(z.KeyArrayResolver=tE={}));var rG;(function(t){function*e(n){for(const i of n.anyOf){if(i[z.Kind]==="Union"){yield*e(i)}else{yield i}}}o(e,"TUnion");function r(n){return z.Type.Union([...e(n)],{...n})}o(r,"Resolve");t.Resolve=r})(rG||(z.UnionResolver=rG={}));var K7=class extends pu{static{o(this,"TemplateLiteralPatternError")}};z.TemplateLiteralPatternError=K7;var Y7;(function(t){function e(s){throw new K7(s)}o(e,"Throw");function r(s){return s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}o(r,"Escape");function n(s,a){return Y.TTemplateLiteral(s)?s.pattern.slice(1,s.pattern.length-1):Y.TUnion(s)?`(${s.anyOf.map(u=>n(u,a)).join("|")})`:Y.TNumber(s)?`${a}${z.PatternNumber}`:Y.TInteger(s)?`${a}${z.PatternNumber}`:Y.TBigInt(s)?`${a}${z.PatternNumber}`:Y.TString(s)?`${a}${z.PatternString}`:Y.TLiteral(s)?`${a}${r(s.const.toString())}`:Y.TBoolean(s)?`${a}${z.PatternBoolean}`:e(`Unexpected Kind '${s[z.Kind]}'`)}o(n,"Visit");function i(s){return`^${s.map(a=>n(a,"")).join("")}$`}o(i,"Create");t.Create=i})(Y7||(z.TemplateLiteralPattern=Y7={}));var Pc;(function(t){function e(r){const n=ty.ParseExact(r.pattern);if(!ry.Check(n))return z.Type.String();const i=[...ny.Generate(n)].map(s=>z.Type.Literal(s));return z.Type.Union(i)}o(e,"Resolve");t.Resolve=e})(Pc||(z.TemplateLiteralResolver=Pc={}));var rE=class extends pu{static{o(this,"TemplateLiteralParserError")}};z.TemplateLiteralParserError=rE;var ty;(function(t){function e(h,m,g){return h[m]===g&&h.charCodeAt(m-1)!==92}o(e,"IsNonEscaped");function r(h,m){return e(h,m,"(")}o(r,"IsOpenParen");function n(h,m){return e(h,m,")")}o(n,"IsCloseParen");function i(h,m){return e(h,m,"|")}o(i,"IsSeparator");function s(h){if(!(r(h,0)&&n(h,h.length-1)))return false;let m=0;for(let g=0;g<h.length;g++){if(r(h,g))m+=1;if(n(h,g))m-=1;if(m===0&&g!==h.length-1)return false}return true}o(s,"IsGroup");function a(h){return h.slice(1,h.length-1)}o(a,"InGroup");function u(h){let m=0;for(let g=0;g<h.length;g++){if(r(h,g))m+=1;if(n(h,g))m-=1;if(i(h,g)&&m===0)return true}return false}o(u,"IsPrecedenceOr");function l(h){for(let m=0;m<h.length;m++){if(r(h,m))return true}return false}o(l,"IsPrecedenceAnd");function c(h){let[m,g]=[0,0];const y=[];for(let w=0;w<h.length;w++){if(r(h,w))m+=1;if(n(h,w))m-=1;if(i(h,w)&&m===0){const E=h.slice(g,w);if(E.length>0)y.push(p(E));g=w+1}}const v=h.slice(g);if(v.length>0)y.push(p(v));if(y.length===0)return{type:"const",const:""};if(y.length===1)return y[0];return{type:"or",expr:y}}o(c,"Or");function d(h){function m(v,w){if(!r(v,w))throw new rE(`TemplateLiteralParser: Index must point to open parens`);let E=0;for(let b=w;b<v.length;b++){if(r(v,b))E+=1;if(n(v,b))E-=1;if(E===0)return[w,b]}throw new rE(`TemplateLiteralParser: Unclosed group parens in expression`)}o(m,"Group");function g(v,w){for(let E=w;E<v.length;E++){if(r(v,E))return[w,E]}return[w,v.length]}o(g,"Range");const y=[];for(let v=0;v<h.length;v++){if(r(h,v)){const[w,E]=m(h,v);const b=h.slice(w,E+1);y.push(p(b));v=E}else{const[w,E]=g(h,v);const b=h.slice(w,E);if(b.length>0)y.push(p(b));v=E-1}}return y.length===0?{type:"const",const:""}:y.length===1?y[0]:{type:"and",expr:y}}o(d,"And");function p(h){return s(h)?p(a(h)):u(h)?c(h):l(h)?d(h):{type:"const",const:h}}o(p,"Parse");t.Parse=p;function f(h){return p(h.slice(1,h.length-1))}o(f,"ParseExact");t.ParseExact=f})(ty||(z.TemplateLiteralParser=ty={}));var W7=class extends pu{static{o(this,"TemplateLiteralFiniteError")}};z.TemplateLiteralFiniteError=W7;var ry;(function(t){function e(a){throw new W7(a)}o(e,"Throw");function r(a){return a.type==="or"&&a.expr.length===2&&a.expr[0].type==="const"&&a.expr[0].const==="0"&&a.expr[1].type==="const"&&a.expr[1].const==="[1-9][0-9]*"}o(r,"IsNumber");function n(a){return a.type==="or"&&a.expr.length===2&&a.expr[0].type==="const"&&a.expr[0].const==="true"&&a.expr[1].type==="const"&&a.expr[1].const==="false"}o(n,"IsBoolean");function i(a){return a.type==="const"&&a.const===".*"}o(i,"IsString");function s(a){return n(a)?true:r(a)||i(a)?false:a.type==="and"?a.expr.every(u=>s(u)):a.type==="or"?a.expr.every(u=>s(u)):a.type==="const"?true:e(`Unknown expression type`)}o(s,"Check");t.Check=s})(ry||(z.TemplateLiteralFinite=ry={}));var J7=class extends pu{static{o(this,"TemplateLiteralGeneratorError")}};z.TemplateLiteralGeneratorError=J7;var ny;(function(t){function*e(a){if(a.length===1)return yield*a[0];for(const u of a[0]){for(const l of e(a.slice(1))){yield`${u}${l}`}}}o(e,"Reduce");function*r(a){return yield*e(a.expr.map(u=>[...s(u)]))}o(r,"And");function*n(a){for(const u of a.expr)yield*s(u)}o(n,"Or");function*i(a){return yield a.const}o(i,"Const");function*s(a){return a.type==="and"?yield*r(a):a.type==="or"?yield*n(a):a.type==="const"?yield*i(a):(()=>{throw new J7("Unknown expression")})()}o(s,"Generate");t.Generate=s})(ny||(z.TemplateLiteralGenerator=ny={}));var nG;(function(t){function*e(s){const a=s.trim().replace(/"|'/g,"");return a==="boolean"?yield z.Type.Boolean():a==="number"?yield z.Type.Number():a==="bigint"?yield z.Type.BigInt():a==="string"?yield z.Type.String():yield(()=>{const u=a.split("|").map(l=>z.Type.Literal(l.trim()));return u.length===0?z.Type.Never():u.length===1?u[0]:z.Type.Union(u)})()}o(e,"ParseUnion");function*r(s){if(s[1]!=="{"){const a=z.Type.Literal("$");const u=n(s.slice(1));return yield*[a,...u]}for(let a=2;a<s.length;a++){if(s[a]==="}"){const u=e(s.slice(2,a));const l=n(s.slice(a+1));return yield*[...u,...l]}}yield z.Type.Literal(s)}o(r,"ParseTerminal");function*n(s){for(let a=0;a<s.length;a++){if(s[a]==="$"){const u=z.Type.Literal(s.slice(0,a));const l=r(s.slice(a));return yield*[u,...l]}}yield z.Type.Literal(s)}o(n,"ParseLiteral");function i(s){return[...n(s)]}o(i,"Parse");t.Parse=i})(nG||(z.TemplateLiteralDslParser=nG={}));var Q7=class{static{o(this,"TransformDecodeBuilder")}constructor(e){this.schema=e}Decode(e){return new X7(this.schema,e)}};z.TransformDecodeBuilder=Q7;var X7=class{static{o(this,"TransformEncodeBuilder")}constructor(e,r){this.schema=e;this.decode=r}Encode(e){const r=ot.Type(this.schema);return Y.TTransform(r)?(()=>{const n=o(a=>r[z.Transform].Encode(e(a)),"Encode");const i=o(a=>this.decode(r[z.Transform].Decode(a)),"Decode");const s={Encode:n,Decode:i};return{...r,[z.Transform]:s}})():(()=>{const n={Decode:this.decode,Encode:e};return{...r,[z.Transform]:n}})()}};z.TransformEncodeBuilder=X7;var jxt=0;var Z7=class extends pu{static{o(this,"TypeBuilderError")}};z.TypeBuilderError=Z7;var eA=class{static{o(this,"TypeBuilder")}Create(e){return e}Throw(e){throw new Z7(e)}Discard(e,r){const{[r]:n,...i}=e;return i}Strict(e){return JSON.parse(JSON.stringify(e))}};z.TypeBuilder=eA;var nE=class extends eA{static{o(this,"JsonTypeBuilder")}ReadonlyOptional(e){return this.Readonly(this.Optional(e))}Readonly(e){return{...ot.Type(e),[z.Readonly]:"Readonly"}}Optional(e){return{...ot.Type(e),[z.Optional]:"Optional"}}Any(e={}){return this.Create({...e,[z.Kind]:"Any"})}Array(e,r={}){return this.Create({...r,[z.Kind]:"Array",type:"array",items:ot.Type(e)})}Boolean(e={}){return this.Create({...e,[z.Kind]:"Boolean",type:"boolean"})}Capitalize(e,r={}){return{...Zg.Map(ot.Type(e),"Capitalize"),...r}}Composite(e,r){const n=z.Type.Intersect(e,{});const i=G7.ResolveKeys(n,{includePatterns:false});const s=i.reduce((a,u)=>({...a,[u]:z.Type.Index(n,[u])}),{});return z.Type.Object(s,r)}Enum(e,r={}){const n=Object.getOwnPropertyNames(e).filter(s=>isNaN(s)).map(s=>e[s]);const i=n.map(s=>Le.IsString(s)?{[z.Kind]:"Literal",type:"string",const:s}:{[z.Kind]:"Literal",type:"number",const:s});return this.Create({...r,[z.Kind]:"Union",anyOf:i})}Extends(e,r,n,i,s={}){switch(Xh.Extends(e,r)){case _e.Union:return this.Union([ot.Type(n,s),ot.Type(i,s)]);case _e.True:return ot.Type(n,s);case _e.False:return ot.Type(i,s)}}Exclude(e,r,n={}){return Y.TTemplateLiteral(e)?this.Exclude(Pc.Resolve(e),r,n):Y.TTemplateLiteral(r)?this.Exclude(e,Pc.Resolve(r),n):Y.TUnion(e)?(()=>{const i=e.anyOf.filter(s=>Xh.Extends(s,r)===_e.False);return i.length===1?ot.Type(i[0],n):this.Union(i,n)})():Xh.Extends(e,r)!==_e.False?this.Never(n):ot.Type(e,n)}Extract(e,r,n={}){return Y.TTemplateLiteral(e)?this.Extract(Pc.Resolve(e),r,n):Y.TTemplateLiteral(r)?this.Extract(e,Pc.Resolve(r),n):Y.TUnion(e)?(()=>{const i=e.anyOf.filter(s=>Xh.Extends(s,r)!==_e.False);return i.length===1?ot.Type(i[0],n):this.Union(i,n)})():Xh.Extends(e,r)!==_e.False?ot.Type(e,n):this.Never(n)}Index(e,r,n={}){return Y.TArray(e)&&Y.TNumber(r)?(()=>{return ot.Type(e.items,n)})():Y.TTuple(e)&&Y.TNumber(r)?(()=>{const i=Le.IsUndefined(e.items)?[]:e.items;const s=i.map(a=>ot.Type(a));return this.Union(s,n)})():(()=>{const i=tE.Resolve(r);const s=ot.Type(e);return tG.Resolve(s,i,n)})()}Integer(e={}){return this.Create({...e,[z.Kind]:"Integer",type:"integer"})}Intersect(e,r={}){if(e.length===0)return z.Type.Never();if(e.length===1)return ot.Type(e[0],r);if(e.some(a=>Y.TTransform(a)))this.Throw("Cannot intersect transform types");const n=e.every(a=>Y.TObject(a));const i=ot.Rest(e);const s=Y.TSchema(r.unevaluatedProperties)?{unevaluatedProperties:ot.Type(r.unevaluatedProperties)}:{};return r.unevaluatedProperties===false||Y.TSchema(r.unevaluatedProperties)||n?this.Create({...r,...s,[z.Kind]:"Intersect",type:"object",allOf:i}):this.Create({...r,...s,[z.Kind]:"Intersect",allOf:i})}KeyOf(e,r={}){return Y.TRecord(e)?(()=>{const n=Object.getOwnPropertyNames(e.patternProperties)[0];return n===z.PatternNumberExact?this.Number(r):n===z.PatternStringExact?this.String(r):this.Throw("Unable to resolve key type from Record key pattern")})():Y.TTuple(e)?(()=>{const n=Le.IsUndefined(e.items)?[]:e.items;const i=n.map((s,a)=>z.Type.Literal(a.toString()));return this.Union(i,r)})():Y.TArray(e)?(()=>{return this.Number(r)})():(()=>{const n=G7.ResolveKeys(e,{includePatterns:false});if(n.length===0)return this.Never(r);const i=n.map(s=>this.Literal(s));return this.Union(i,r)})()}Literal(e,r={}){return this.Create({...r,[z.Kind]:"Literal",const:e,type:typeof e})}Lowercase(e,r={}){return{...Zg.Map(ot.Type(e),"Lowercase"),...r}}Never(e={}){return this.Create({...e,[z.Kind]:"Never",not:{}})}Not(e,r){return this.Create({...r,[z.Kind]:"Not",not:ot.Type(e)})}Null(e={}){return this.Create({...e,[z.Kind]:"Null",type:"null"})}Number(e={}){return this.Create({...e,[z.Kind]:"Number",type:"number"})}Object(e,r={}){const n=Object.getOwnPropertyNames(e);const i=n.filter(l=>Y.TOptional(e[l]));const s=n.filter(l=>!i.includes(l));const a=Y.TSchema(r.additionalProperties)?{additionalProperties:ot.Type(r.additionalProperties)}:{};const u=n.reduce((l,c)=>({...l,[c]:ot.Type(e[c])}),{});return s.length>0?this.Create({...r,...a,[z.Kind]:"Object",type:"object",properties:u,required:s}):this.Create({...r,...a,[z.Kind]:"Object",type:"object",properties:u})}Omit(e,r,n={}){const i=tE.Resolve(r);return ey.Map(this.Discard(ot.Type(e),z.Transform),s=>{if(Le.IsArray(s.required)){s.required=s.required.filter(a=>!i.includes(a));if(s.required.length===0)delete s.required}for(const a of Object.getOwnPropertyNames(s.properties)){if(i.includes(a))delete s.properties[a]}return this.Create(s)},n)}Partial(e,r={}){return ey.Map(this.Discard(ot.Type(e),z.Transform),n=>{const i=Object.getOwnPropertyNames(n.properties).reduce((s,a)=>{return{...s,[a]:this.Optional(n.properties[a])}},{});return this.Object(i,this.Discard(n,"required"))},r)}Pick(e,r,n={}){const i=tE.Resolve(r);return ey.Map(this.Discard(ot.Type(e),z.Transform),s=>{if(Le.IsArray(s.required)){s.required=s.required.filter(a=>i.includes(a));if(s.required.length===0)delete s.required}for(const a of Object.getOwnPropertyNames(s.properties)){if(!i.includes(a))delete s.properties[a]}return this.Create(s)},n)}Record(e,r,n={}){return Y.TTemplateLiteral(e)?(()=>{const i=ty.ParseExact(e.pattern);return ry.Check(i)?this.Object([...ny.Generate(i)].reduce((s,a)=>({...s,[a]:ot.Type(r)}),{}),n):this.Create({...n,[z.Kind]:"Record",type:"object",patternProperties:{[e.pattern]:ot.Type(r)}})})():Y.TUnion(e)?(()=>{const i=rG.Resolve(e);if(Y.TUnionLiteral(i)){const s=i.anyOf.reduce((a,u)=>({...a,[u.const]:ot.Type(r)}),{});return this.Object(s,{...n,[z.Hint]:"Record"})}else this.Throw("Record key of type union contains non-literal types")})():Y.TLiteral(e)?(()=>{return Le.IsString(e.const)||Le.IsNumber(e.const)?this.Object({[e.const]:ot.Type(r)},n):this.Throw("Record key of type literal is not of type string or number")})():Y.TInteger(e)||Y.TNumber(e)?(()=>{return this.Create({...n,[z.Kind]:"Record",type:"object",patternProperties:{[z.PatternNumberExact]:ot.Type(r)}})})():Y.TString(e)?(()=>{const i=Le.IsUndefined(e.pattern)?z.PatternStringExact:e.pattern;return this.Create({...n,[z.Kind]:"Record",type:"object",patternProperties:{[i]:ot.Type(r)}})})():this.Never()}Recursive(e,r={}){if(Le.IsUndefined(r.$id))r.$id=`T${jxt++}`;const n=e({[z.Kind]:"This",$ref:`${r.$id}`});n.$id=r.$id;return this.Create({...r,[z.Hint]:"Recursive",...n})}Ref(e,r={}){if(Le.IsString(e))return this.Create({...r,[z.Kind]:"Ref",$ref:e});if(Le.IsUndefined(e.$id))this.Throw("Reference target type must specify an $id");return this.Create({...r,[z.Kind]:"Ref",$ref:e.$id})}Required(e,r={}){return ey.Map(this.Discard(ot.Type(e),z.Transform),n=>{const i=Object.getOwnPropertyNames(n.properties).reduce((s,a)=>{return{...s,[a]:this.Discard(n.properties[a],z.Optional)}},{});return this.Object(i,n)},r)}Rest(e){return Y.TTuple(e)&&!Le.IsUndefined(e.items)?ot.Rest(e.items):Y.TIntersect(e)?ot.Rest(e.allOf):Y.TUnion(e)?ot.Rest(e.anyOf):[]}String(e={}){return this.Create({...e,[z.Kind]:"String",type:"string"})}TemplateLiteral(e,r={}){const n=Le.IsString(e)?Y7.Create(nG.Parse(e)):Y7.Create(e);return this.Create({...r,[z.Kind]:"TemplateLiteral",type:"string",pattern:n})}Transform(e){return new Q7(e)}Tuple(e,r={}){const[n,i,s]=[false,e.length,e.length];const a=ot.Rest(e);const u=e.length>0?{...r,[z.Kind]:"Tuple",type:"array",items:a,additionalItems:n,minItems:i,maxItems:s}:{...r,[z.Kind]:"Tuple",type:"array",minItems:i,maxItems:s};return this.Create(u)}Uncapitalize(e,r={}){return{...Zg.Map(ot.Type(e),"Uncapitalize"),...r}}Union(e,r={}){return Y.TTemplateLiteral(e)?Pc.Resolve(e):(()=>{const n=e;if(n.length===0)return this.Never(r);if(n.length===1)return this.Create(ot.Type(n[0],r));const i=ot.Rest(n);return this.Create({...r,[z.Kind]:"Union",anyOf:i})})()}Unknown(e={}){return this.Create({...e,[z.Kind]:"Unknown"})}Unsafe(e={}){return this.Create({...e,[z.Kind]:e[z.Kind]||"Unsafe"})}Uppercase(e,r={}){return{...Zg.Map(ot.Type(e),"Uppercase"),...r}}};z.JsonTypeBuilder=nE;var tA=class extends nE{static{o(this,"JavaScriptTypeBuilder")}AsyncIterator(e,r={}){return this.Create({...r,[z.Kind]:"AsyncIterator",type:"AsyncIterator",items:ot.Type(e)})}Awaited(e,r={}){const n=o(i=>i.length>0?(()=>{const[s,...a]=i;return[this.Awaited(s),...n(a)]})():i,"Unwrap");return Y.TIntersect(e)?z.Type.Intersect(n(e.allOf)):Y.TUnion(e)?z.Type.Union(n(e.anyOf)):Y.TPromise(e)?this.Awaited(e.item):ot.Type(e,r)}BigInt(e={}){return this.Create({...e,[z.Kind]:"BigInt",type:"bigint"})}ConstructorParameters(e,r={}){return this.Tuple([...e.parameters],{...r})}Constructor(e,r,n){const[i,s]=[ot.Rest(e),ot.Type(r)];return this.Create({...n,[z.Kind]:"Constructor",type:"constructor",parameters:i,returns:s})}Date(e={}){return this.Create({...e,[z.Kind]:"Date",type:"Date"})}Function(e,r,n){const[i,s]=[ot.Rest(e),ot.Type(r)];return this.Create({...n,[z.Kind]:"Function",type:"function",parameters:i,returns:s})}InstanceType(e,r={}){return ot.Type(e.returns,r)}Iterator(e,r={}){return this.Create({...r,[z.Kind]:"Iterator",type:"Iterator",items:ot.Type(e)})}Parameters(e,r={}){return this.Tuple(e.parameters,{...r})}Promise(e,r={}){return this.Create({...r,[z.Kind]:"Promise",type:"Promise",item:ot.Type(e)})}RegExp(e,r={}){const n=Le.IsString(e)?e:e.source;return this.Create({...r,[z.Kind]:"String",type:"string",pattern:n})}RegEx(e,r={}){return this.RegExp(e,r)}ReturnType(e,r={}){return ot.Type(e.returns,r)}Symbol(e){return this.Create({...e,[z.Kind]:"Symbol",type:"symbol"})}Undefined(e={}){return this.Create({...e,[z.Kind]:"Undefined",type:"undefined"})}Uint8Array(e={}){return this.Create({...e,[z.Kind]:"Uint8Array",type:"Uint8Array"})}Void(e={}){return this.Create({...e,[z.Kind]:"Void",type:"void"})}};z.JavaScriptTypeBuilder=tA;z.JsonType=new nE;z.Type=new tA});var l9e=_(rA=>{"use strict";Object.defineProperty(rA,"__esModule",{value:true});rA.CustomTypeBuilder=void 0;var iE=u9e();var iG=class extends iE.TypeBuilder{static{o(this,"CustomTypeBuilder")}static Date(){return iE.Type.Unsafe({type:"string",format:"date-time"})}static Nullable(e){return iE.Type.Union([e,iE.Type.Null()])}static StringEnum(e){return iE.Type.Unsafe({type:"string",enum:e})}};rA.CustomTypeBuilder=iG});var f9e=_(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:true});st.throwIfNotNumber=st.throwIfNotString=st.throwIfUndefinedOrNull=st.throwIfUndefined=st.ArgumentTypeError=st.ArgumentUndefinedError=st.ValidationError=st.withUndefinedAsNull=st.withNullAsUndefined=st.validateConstraint=st.validateConstraints=st.areFunctions=st.isFunction=st.isEmptyObject=st.assertAllDefined=st.assertIsDefined=st.assertType=st.isUndefinedOrNull=st.isDefined=st.isUndefined=st.isBoolean=st.isIterable=st.isNumber=st.isTypedArray=st.isObject=st.isStringArray=st.isString=void 0;function nA(t){return typeof t==="string"}o(nA,"isString");st.isString=nA;function Uxt(t){return Array.isArray(t)&&t.every(e=>nA(e))}o(Uxt,"isStringArray");st.isStringArray=Uxt;function c9e(t){return typeof t==="object"&&t!==null&&!Array.isArray(t)&&!(t instanceof RegExp)&&!(t instanceof Date)}o(c9e,"isObject");st.isObject=c9e;function Bxt(t){const e=Object.getPrototypeOf(Uint8Array);return typeof t==="object"&&t instanceof e}o(Bxt,"isTypedArray");st.isTypedArray=Bxt;function d9e(t){return typeof t==="number"&&!isNaN(t)}o(d9e,"isNumber");st.isNumber=d9e;function Fxt(t){return!!t&&typeof t[Symbol.iterator]==="function"}o(Fxt,"isIterable");st.isIterable=Fxt;function Mxt(t){return t===true||t===false}o(Mxt,"isBoolean");st.isBoolean=Mxt;function sG(t){return typeof t==="undefined"}o(sG,"isUndefined");st.isUndefined=sG;function Vxt(t){return!iy(t)}o(Vxt,"isDefined");st.isDefined=Vxt;function iy(t){return sG(t)||t===null}o(iy,"isUndefinedOrNull");st.isUndefinedOrNull=iy;function Hxt(t,e){if(!t){throw new Error(e?`Unexpected type, expected '${e}'`:"Unexpected type")}}o(Hxt,"assertType");st.assertType=Hxt;function Gxt(t){if(iy(t)){throw new Error("Assertion Failed: argument is undefined or null")}return t}o(Gxt,"assertIsDefined");st.assertIsDefined=Gxt;function zxt(...t){const e=[];for(let r=0;r<t.length;r++){const n=t[r];if(iy(n)){throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`)}e.push(n)}return e}o(zxt,"assertAllDefined");st.assertAllDefined=zxt;var Kxt=Object.prototype.hasOwnProperty;function Yxt(t){if(!c9e(t)){return false}for(const e in t){if(Kxt.call(t,e)){return false}}return true}o(Yxt,"isEmptyObject");st.isEmptyObject=Yxt;function aG(t){return typeof t==="function"}o(aG,"isFunction");st.isFunction=aG;function Wxt(...t){return t.length>0&&t.every(aG)}o(Wxt,"areFunctions");st.areFunctions=Wxt;function Jxt(t,e){const r=Math.min(t.length,e.length);for(let n=0;n<r;n++){p9e(t[n],e[n])}}o(Jxt,"validateConstraints");st.validateConstraints=Jxt;function p9e(t,e){if(nA(e)){if(typeof t!==e){throw new Error(`argument does not match constraint: typeof ${e}`)}}else if(aG(e)){try{if(t instanceof e){return}}catch{}if(!iy(t)&&t.constructor===e){return}if(e.length===1&&e.call(void 0,t)===true){return}throw new Error(`argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true`)}}o(p9e,"validateConstraint");st.validateConstraint=p9e;function Qxt(t){return t===null?void 0:t}o(Qxt,"withNullAsUndefined");st.withNullAsUndefined=Qxt;function Xxt(t){return typeof t==="undefined"?null:t}o(Xxt,"withUndefinedAsNull");st.withUndefinedAsNull=Xxt;var sE=class extends Error{static{o(this,"ValidationError")}constructor(e){super(e)}};st.ValidationError=sE;var aE=class extends sE{static{o(this,"ArgumentUndefinedError")}constructor(e){super(`The argument '${e}' is undefined.`)}};st.ArgumentUndefinedError=aE;var oE=class extends sE{static{o(this,"ArgumentTypeError")}constructor(e,r){super(`The argument '${e}' must be of type '${r}'.`)}};st.ArgumentTypeError=oE;function Zxt(t,e){if(sG(t)){throw new aE(e)}return true}o(Zxt,"throwIfUndefined");st.throwIfUndefined=Zxt;function oG(t,e){if(iy(t)){throw new aE(e)}}o(oG,"throwIfUndefinedOrNull");st.throwIfUndefinedOrNull=oG;function eCt(t,e){oG(t,e);if(!nA(t)){throw new oE(e,"string")}return true}o(eCt,"throwIfNotString");st.throwIfNotString=eCt;function tCt(t,e){oG(t,e);if(!d9e(t)){throw new oE(e,"number")}return true}o(tCt,"throwIfNotNumber");st.throwIfNotNumber=tCt});var y9e=_(dr=>{"use strict";var uG=dr&&dr.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(dr,"__esModule",{value:true});dr.deleteFolder=dr.untar=dr.tarFolderContent=dr.getParentDirFilename=dr.safePath=dr.UnsafePathError=dr.ensureDirectoryExists=dr.mkdirForFilePathIfNotExits=dr.mkdirIfNotExists=dr.listFolderContents=dr.listFolders=dr.isNotFileOrDirectory=dr.dirExists=dr.deleteFile=dr.fileExists=void 0;var h9e=uG(require("child_process"));var qp=uG(require("fs/promises"));var Lp=uG(require("path"));var m9e=[".git","node_modules",".yarn",".DS_Store"];async function rCt(t){try{const e=await qp.default.stat(t);return e.isFile()}catch(e){return false}}o(rCt,"fileExists");dr.fileExists=rCt;async function nCt(t,e){return await qp.default.rm(t,e)}o(nCt,"deleteFile");dr.deleteFile=nCt;async function sA(t){try{const e=await qp.default.stat(t);return e.isDirectory()}catch(e){return false}}o(sA,"dirExists");dr.dirExists=sA;async function iCt(t){try{await qp.default.stat(t);return false}catch(e){return true}}o(iCt,"isNotFileOrDirectory");dr.isNotFileOrDirectory=iCt;function sCt(t,e){const r=new RegExp(`(.*)(\\/${e})$|(.*)(${e}\\/)`);const n=t.match(r);if(!n){return""}const i=t.split(n[0]);return i[1]===""?"":`/${i[1]}`}o(sCt,"getParentDirectory");async function aCt(t){if(!await sA(t)){return[]}const e=await qp.default.readdir(t,{withFileTypes:true});const r=[];for await(const n of e){if(!m9e.includes(n.name)){if(n.isDirectory()){r.push(n.name)}}}return r}o(aCt,"listFolders");dr.listFolders=aCt;async function g9e(t,e,r=true){const n=sCt(t,e);const i=await qp.default.readdir(t,{withFileTypes:true});const s=[];for await(const a of i){if(!m9e.includes(a.name)||!r){if(a.isDirectory()){const u=await g9e(Lp.default.join(t,a.name),e,r);s.push(...u)}else{s.push(Lp.default.join(n,a.name))}}}return s}o(g9e,"listFolderContents");dr.listFolderContents=g9e;var oCt=o(async t=>{if(await sA(t)){return true}await qp.default.mkdir(t,{recursive:true})},"mkdirIfNotExists");dr.mkdirIfNotExists=oCt;var uCt=o(async t=>{const e=Lp.default.dirname(t);return(0,dr.mkdirIfNotExists)(e)},"mkdirForFilePathIfNotExits");dr.mkdirForFilePathIfNotExits=uCt;dr.ensureDirectoryExists=dr.mkdirForFilePathIfNotExits;var iA=class extends Error{static{o(this,"UnsafePathError")}constructor(e){super(e)}};dr.UnsafePathError=iA;function lCt(t){const e=o(r=>{if(!r.startsWith(t)){throw new iA(`Resolved path is not part of the project.`)}return r},"ensureSafePath");return{resolve:(...r)=>e(Lp.default.resolve(...r))}}o(lCt,"safePath");dr.safePath=lCt;function cCt(t){return`${Lp.default.basename(Lp.default.dirname(t))}/${Lp.default.basename(t)}`}o(cCt,"getParentDirFilename");dr.getParentDirFilename=cCt;function dCt(t,e,r,n){const i=Lp.default.join(n,r);h9e.default.execSync(`tar --exclude='.git/' --exclude='dist/' -czf ${i} ${e}`,{cwd:t});return i}o(dCt,"tarFolderContent");dr.tarFolderContent=dCt;function pCt(t,e,r,n=false){h9e.default.execSync(`tar -xf ${e} ${n?"--strip-components=1 ":""}-C ${r}`,{cwd:t})}o(pCt,"untar");dr.untar=pCt;async function fCt(t){if(await sA(t)){return await qp.default.rm(t,{recursive:true})}}o(fCt,"deleteFolder");dr.deleteFolder=fCt});var tg=_(Re=>{"use strict";var v9e=Re&&Re.__createBinding||(Object.create?function(t,e,r,n){if(n===void 0)n=r;var i=Object.getOwnPropertyDescriptor(e,r);if(!i||("get"in i?!e.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return e[r]}}}Object.defineProperty(t,n,i)}:function(t,e,r,n){if(n===void 0)n=r;t[n]=e[r]});var hCt=Re&&Re.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:true,value:e})}:function(t,e){t["default"]=e});var aA=Re&&Re.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null){for(var r in t)if(r!=="default"&&Object.prototype.hasOwnProperty.call(t,r))v9e(e,t,r)}hCt(e,t);return e};var jp=Re&&Re.__exportStar||function(t,e){for(var r in t)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r))v9e(e,t,r)};Object.defineProperty(Re,"__esModule",{value:true});Re.getRequiredEnvVar=Re.env=Re.EnvironmentalVariableRequiredError=Re.xfs=Re.RouteValidator=Re.JsonValidator=Re.TenantService=Re.DevApiService=Re.getContentApiStorageTarballPath=Re.contentApiTarballFileName=Re.ContentApiService=Re.AuthApiService=Re.getServiceAccountIdToken=Re.createApiKeyServiceClient=Re.ApiKeyService=Re.RouteVersions=Re.startsWithReservedKeyword=Re.logger=Re.createNewLogger=Re.graphQL=Re.CloudStorage=Re.fly=Re.ApiServer=Re.featureFlagsPlugin=Re.ensureZuploUserPlugin=Re.ensureZuploAdminPlugin=Re.ensureServiceAccountPlugin=Re.apiKeyAuthPlugin=Re.errorHandler=Re.DeploymentLogState=Re.signString=Re.FeatureFlags=Re.WARNING_STATUS=Re.WARNING_SEVERITY=Re.GOOD_STATUS=Re.FAILURE_STATUS=Re.ERROR_SEVERITY=Re.getDefaultFlags=Re.getBuildFlagsForDeployment=Re.CommonAuth=void 0;var lG=aA(Ro());Re.env=lG.default;Object.defineProperty(Re,"EnvironmentalVariableRequiredError",{enumerable:true,get:function(){return lG.EnvironmentalVariableRequiredError}});Object.defineProperty(Re,"getRequiredEnvVar",{enumerable:true,get:function(){return lG.getRequiredEnvVar}});jp(Ls(),Re);var mCt=wA();Object.defineProperty(Re,"CommonAuth",{enumerable:true,get:function(){return mCt.CommonAuth}});var _9e=UG();Object.defineProperty(Re,"getBuildFlagsForDeployment",{enumerable:true,get:function(){return _9e.getBuildFlagsForDeployment}});Object.defineProperty(Re,"getDefaultFlags",{enumerable:true,get:function(){return _9e.getDefaultFlags}});var uE=BG();Object.defineProperty(Re,"ERROR_SEVERITY",{enumerable:true,get:function(){return uE.ERROR_SEVERITY}});Object.defineProperty(Re,"FAILURE_STATUS",{enumerable:true,get:function(){return uE.FAILURE_STATUS}});Object.defineProperty(Re,"GOOD_STATUS",{enumerable:true,get:function(){return uE.GOOD_STATUS}});Object.defineProperty(Re,"WARNING_SEVERITY",{enumerable:true,get:function(){return uE.WARNING_SEVERITY}});Object.defineProperty(Re,"WARNING_STATUS",{enumerable:true,get:function(){return uE.WARNING_STATUS}});var gCt=SA();Object.defineProperty(Re,"FeatureFlags",{enumerable:true,get:function(){return gCt.FeatureFlags}});var yCt=FG();Object.defineProperty(Re,"signString",{enumerable:true,get:function(){return yCt.signString}});var vCt=AA();Object.defineProperty(Re,"DeploymentLogState",{enumerable:true,get:function(){return vCt.DeploymentLogState}});jp(WG(),Re);jp(xA(),Re);var _Ct=CA();Object.defineProperty(Re,"errorHandler",{enumerable:true,get:function(){return _Ct.errorHandler}});var lE=PA();Object.defineProperty(Re,"apiKeyAuthPlugin",{enumerable:true,get:function(){return lE.apiKeyAuthPlugin}});Object.defineProperty(Re,"ensureServiceAccountPlugin",{enumerable:true,get:function(){return lE.ensureServiceAccountPlugin}});Object.defineProperty(Re,"ensureZuploAdminPlugin",{enumerable:true,get:function(){return lE.ensureZuploAdminPlugin}});Object.defineProperty(Re,"ensureZuploUserPlugin",{enumerable:true,get:function(){return lE.ensureZuploUserPlugin}});Object.defineProperty(Re,"featureFlagsPlugin",{enumerable:true,get:function(){return lE.featureFlagsPlugin}});var ECt=ame();Object.defineProperty(Re,"ApiServer",{enumerable:true,get:function(){return ECt.ApiServer}});Re.fly=aA(lme());Re.CloudStorage=aA(W_e());var bCt=J_e();Object.defineProperty(Re,"graphQL",{enumerable:true,get:function(){return bCt.graphQL}});jp(E3e(),Re);var E9e=dL();Object.defineProperty(Re,"createNewLogger",{enumerable:true,get:function(){return E9e.createNewLogger}});Object.defineProperty(Re,"logger",{enumerable:true,get:function(){return E9e.logger}});var wCt=CM();Object.defineProperty(Re,"startsWithReservedKeyword",{enumerable:true,get:function(){return wCt.startsWithReservedKeyword}});var SCt=b3e();Object.defineProperty(Re,"RouteVersions",{enumerable:true,get:function(){return SCt.RouteVersions}});var b9e=Gbe();Object.defineProperty(Re,"ApiKeyService",{enumerable:true,get:function(){return b9e.ApiKeyService}});Object.defineProperty(Re,"createApiKeyServiceClient",{enumerable:true,get:function(){return b9e.createApiKeyServiceClient}});var TCt=eE();Object.defineProperty(Re,"getServiceAccountIdToken",{enumerable:true,get:function(){return TCt.getServiceAccountIdToken}});var ACt=Kbe();Object.defineProperty(Re,"AuthApiService",{enumerable:true,get:function(){return ACt.AuthApiService}});var cG=Qbe();Object.defineProperty(Re,"ContentApiService",{enumerable:true,get:function(){return cG.ContentApiService}});Object.defineProperty(Re,"contentApiTarballFileName",{enumerable:true,get:function(){return cG.contentApiTarballFileName}});Object.defineProperty(Re,"getContentApiStorageTarballPath",{enumerable:true,get:function(){return cG.getContentApiStorageTarballPath}});var xCt=e9e();Object.defineProperty(Re,"DevApiService",{enumerable:true,get:function(){return xCt.DevApiService}});var CCt=n9e();Object.defineProperty(Re,"TenantService",{enumerable:true,get:function(){return CCt.TenantService}});jp(i9e(),Re);jp(s9e(),Re);jp(l9e(),Re);jp(f9e(),Re);var RCt=vT();Object.defineProperty(Re,"JsonValidator",{enumerable:true,get:function(){return RCt.JsonValidator}});var NCt=DM();Object.defineProperty(Re,"RouteValidator",{enumerable:true,get:function(){return NCt.RouteValidator}});Re.xfs=aA(y9e())});var cE=_(sy=>{"use strict";Object.defineProperty(sy,"__esModule",{value:true});sy.runPlugins=sy.PluginResult=void 0;var dG=class{static{o(this,"PluginResult")}errors=[];warnings=[];constructor(e){if(e){this.errors.push(e)}}};sy.PluginResult=dG;async function OCt(t,e){const r=[];const n=[];const i=new Map;for await(const s of t){try{const a=await s(e,i);n.push(...a.errors.map(u=>{if(u.pluginName===""){u.pluginName=s.name}return u}));r.push(...a.warnings);if(a.errors.length>0){break}}catch(a){n.push(a);break}}return{errors:n,warnings:r}}o(OCt,"runPlugins");sy.runPlugins=OCt});var S9e=_((tar,w9e)=>{"use strict";function ICt(t){return t>=55296&&t<=56319}o(ICt,"isHighSurrogate");function PCt(t){return t>=56320&&t<=57343}o(PCt,"isLowSurrogate");w9e.exports=o(function t(e,r,n){if(typeof r!=="string"){throw new Error("Input must be string")}var i=r.length;var s=0;var a;var u;for(var l=0;l<i;l+=1){a=r.charCodeAt(l);u=r[l];if(ICt(a)&&PCt(r.charCodeAt(l+1))){l+=1;u+=r[l]}s+=e(u);if(s===n){return r.slice(0,l+1)}else if(s>n){return r.slice(0,l-u.length+1)}}return r},"truncate")});var A9e=_((nar,T9e)=>{"use strict";var DCt=S9e();var kCt=Buffer.byteLength.bind(Buffer);T9e.exports=DCt.bind(null,kCt)});var x9e=_(ay=>{"use strict";var $Ct=ay&&ay.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(ay,"__esModule",{value:true});ay.sanitize=void 0;var LCt=$Ct(A9e());var qCt=/[/?<>\\:*|"]/g;var jCt=/[\x00-\x1f\x80-\x9f]/g;var UCt=/^\.+$/;var BCt=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i;var FCt=/[. ]+$/;function MCt(t,e=""){if(typeof t!=="string"){throw new Error("Input must be string")}const r=t.replace(qCt,e).replace(jCt,e).replace(UCt,e).replace(BCt,e).replace(FCt,e);return(0,LCt.default)(r,255)}o(MCt,"sanitize");ay.sanitize=MCt});var wl=_(ke=>{"use strict";Object.defineProperty(ke,"__esModule",{value:true});ke.NODE_BUILD_OPEN_API_OUTPUT_FILE=ke.NODE_BUILD_OUTPUT_FILE=ke.NODE_ENTRY_NAME=ke.WORKER_BUILD_OUTPUT_SOURCEMAP_FILE=ke.WORKER_BUILD_OUTPUT_FILE=ke.WORKER_ENTRY_NAME=ke.ENV_MODULE_FILE=ke.ZUPLO_SYSTEM_ENV_FILE=ke.ENV_FILE=ke.CACHE_DIRECTORY=ke.BUILD_CACHE_FILE=ke.ZUPLO_FILE_SCHEMA=ke.NON_STANDARD_NODE_ENV=ke.GENERATED_TYPES_DIR_NAME=ke.GENERATED_BUILD_JSON_FILE=ke.GENERATED_SOURCE_DIR_NAME=ke.BUILD_OUTPUT_DIR=ke.DEFAULT_TEST_FILE=ke.DEFAULT_DOCS_MARKDOWN_FILE=ke.DOCS_THEME_FILE=ke.DOCS_SIDEBAR_FILE=ke.ZUPLO_FALLBACK_JSON_FILE=ke.ZUPLO_PREFERRED_JSON_FILE=ke.DEFAULT_MODULE_FILE=ke.OPEN_API_FILE_SUFFIX=ke.OPEN_API_CONFIG_FILE=ke.OPEN_API_UNVERSIONED_DIR_NAME=ke.DEV_PORTAL_OUTPUT_DIR_NAME=ke.DEV_PORTAL_CONFIG_FILE=ke.POLICIES_CONFIG_FILE=ke.ROUTES_OAS_CONFIG_FILE=ke.LOCAL_API_KEYS_CONFIG_FILE=ke.DEV_PORTAL_V4_PATH=ke.USER_DOCS_DIR_NAME=ke.USER_SCHEMAS_DIR_NAME=ke.USER_CONFIG_DIR_NAME=ke.USER_TEST_DIR_NAME=ke.USER_MODULES_DIR_NAME=void 0;ke.USER_MODULES_DIR_NAME="modules";ke.USER_TEST_DIR_NAME="tests";ke.USER_CONFIG_DIR_NAME="config";ke.USER_SCHEMAS_DIR_NAME="schemas";ke.USER_DOCS_DIR_NAME="docs";ke.DEV_PORTAL_V4_PATH="v4";ke.LOCAL_API_KEYS_CONFIG_FILE="api-keys.json";ke.ROUTES_OAS_CONFIG_FILE="routes.oas.json";ke.POLICIES_CONFIG_FILE="policies.json";ke.DEV_PORTAL_CONFIG_FILE="dev-portal.json";ke.DEV_PORTAL_OUTPUT_DIR_NAME="dev-portal";ke.OPEN_API_UNVERSIONED_DIR_NAME="unversioned";ke.OPEN_API_CONFIG_FILE="open-api.json";ke.OPEN_API_FILE_SUFFIX=".oas.json";ke.DEFAULT_MODULE_FILE="hello-world.ts";ke.ZUPLO_PREFERRED_JSON_FILE="zuplo.jsonc";ke.ZUPLO_FALLBACK_JSON_FILE="zuplo.json";ke.DOCS_SIDEBAR_FILE="sidebar.json";ke.DOCS_THEME_FILE="theme.css";ke.DEFAULT_DOCS_MARKDOWN_FILE="index.md";ke.DEFAULT_TEST_FILE="hello-world.json";ke.BUILD_OUTPUT_DIR="dist";ke.GENERATED_SOURCE_DIR_NAME=".zuplo";ke.GENERATED_BUILD_JSON_FILE="build.json";ke.GENERATED_TYPES_DIR_NAME="types";ke.NON_STANDARD_NODE_ENV=`You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against.`;ke.ZUPLO_FILE_SCHEMA="zuplo";ke.BUILD_CACHE_FILE="buildstate.json";ke.CACHE_DIRECTORY=".cache";ke.ENV_FILE=".env";ke.ZUPLO_SYSTEM_ENV_FILE=".env.zuplo";ke.ENV_MODULE_FILE="environment.ts";ke.WORKER_ENTRY_NAME="worker.ts";ke.WORKER_BUILD_OUTPUT_FILE="worker.js";ke.WORKER_BUILD_OUTPUT_SOURCEMAP_FILE="worker.js.map";ke.NODE_ENTRY_NAME="server.ts";ke.NODE_BUILD_OUTPUT_FILE="main.js";ke.NODE_BUILD_OPEN_API_OUTPUT_FILE=ke.OPEN_API_CONFIG_FILE});var O9e=_(oy=>{"use strict";var N9e=oy&&oy.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(oy,"__esModule",{value:true});oy.createProjectDirs=void 0;var C9e=N9e(require("fs/promises"));var VCt=N9e(require("path"));var dE=wl();var R9e=cE();var HCt=o(async function({sourceDirectory:t,logger:e}){e.debug("Creating project directories");const r=[dE.USER_MODULES_DIR_NAME,dE.USER_CONFIG_DIR_NAME,dE.USER_TEST_DIR_NAME,dE.USER_SCHEMAS_DIR_NAME,dE.USER_DOCS_DIR_NAME,".vscode"];try{await C9e.default.mkdir(t);for(const n of r){await C9e.default.mkdir(VCt.default.join(t,n),{recursive:true})}}catch(n){e.error(n);return new R9e.PluginResult({message:`Cannot create project directory tree at ${t}`,pluginName:"create-project-dirs",severity:"error"})}return new R9e.PluginResult},"createProjectDirs");oy.createProjectDirs=HCt});var I9e=_(fG=>{"use strict";Object.defineProperty(fG,"__esModule",{value:true});var oA=require("perf_hooks");var pG=[];async function GCt(t,e){const r=oA.performance.timerify(e);const n=new oA.PerformanceObserver(i=>{const s=i.getEntries()[0];pG.push({name:t,duration:s.duration});n.disconnect()});n.observe({entryTypes:["function"]});return r()}o(GCt,"timeFn");var zCt={mark:t=>{oA.performance.mark(t)},measure:(t,e,r)=>{oA.performance.measure(t,e,r)},timeFn:GCt,report:()=>{if(pG.length>0){console.table(pG)}}};fG.default=zCt});var $9e=_(uy=>{"use strict";var k9e=uy&&uy.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(uy,"__esModule",{value:true});uy.generateFromTemplate=void 0;var KCt=require("fs");var P9e=k9e(require("fs/promises"));var D9e=k9e(require("path"));async function YCt(t){const e=D9e.default.resolve(__dirname,"..","templates",t);if((0,KCt.existsSync)(e)){const r=await P9e.default.readFile(e,"utf-8");return r}else{const r=D9e.default.resolve(__dirname,"templates",t);const n=await P9e.default.readFile(r,"utf-8");return n}}o(YCt,"generateFromTemplate");uy.generateFromTemplate=YCt});var la=_(ly=>{"use strict";var hG=ly&&ly.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(ly,"__esModule",{value:true});ly.generateFileFromTemplate=void 0;var WCt=tg();var JCt=hG(require("fs/promises"));var QCt=hG(require("path"));var XCt=hG(I9e());var ZCt=$9e();var eRt=o(function(t,e){return async({sourceDirectory:r,logger:n})=>{return XCt.default.timeFn(`Generating ${t}`,async()=>{n.debug(`Generating ${t}`);const i=QCt.default.join(r,t);if(await WCt.xfs.fileExists(i)){n.debug({sourceDirectory:r},`${t} already exists, skipping`);return{warnings:[],errors:[]}}return tRt(i,e,n)})}},"generateFileFromTemplate");ly.generateFileFromTemplate=eRt;async function tRt(t,e,r){const n=await(0,ZCt.generateFromTemplate)(e);try{await JCt.default.writeFile(t,n,"utf-8");r.debug(`File written to ${t}`)}catch(i){r.error(i);const s={message:`Error creating file at ${t}`,pluginName:"generate-file",severity:"error"};return{warnings:[],errors:[s]}}return{warnings:[],errors:[]}}o(tRt,"writeTemplate")});var q9e=_(cy=>{"use strict";var rRt=cy&&cy.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(cy,"__esModule",{value:true});cy.generateDefaultDocsMarkdown=void 0;var nRt=rRt(require("path"));var L9e=wl();var iRt=la();cy.generateDefaultDocsMarkdown=(0,iRt.generateFileFromTemplate)(nRt.default.join(L9e.USER_DOCS_DIR_NAME,L9e.DEFAULT_DOCS_MARKDOWN_FILE),"markdown.template.md")});var U9e=_(dy=>{"use strict";var sRt=dy&&dy.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(dy,"__esModule",{value:true});dy.generateDefaultDocsSidebar=void 0;var aRt=sRt(require("path"));var j9e=wl();var oRt=la();dy.generateDefaultDocsSidebar=(0,oRt.generateFileFromTemplate)(aRt.default.join(j9e.USER_DOCS_DIR_NAME,j9e.DOCS_SIDEBAR_FILE),"sidebar.template.json")});var F9e=_(py=>{"use strict";var uRt=py&&py.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(py,"__esModule",{value:true});py.generateDefaultDocsTheme=void 0;var lRt=uRt(require("path"));var B9e=wl();var cRt=la();py.generateDefaultDocsTheme=(0,cRt.generateFileFromTemplate)(lRt.default.join(B9e.USER_DOCS_DIR_NAME,B9e.DOCS_THEME_FILE),"dev-portal.theme.template.css")});var V9e=_(fy=>{"use strict";var dRt=fy&&fy.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(fy,"__esModule",{value:true});fy.generateDefaultModule=void 0;var pRt=dRt(require("path"));var M9e=wl();var fRt=la();fy.generateDefaultModule=(0,fRt.generateFileFromTemplate)(pRt.default.join(M9e.USER_MODULES_DIR_NAME,M9e.DEFAULT_MODULE_FILE),"hello-world.template.ts")});var G9e=_(hy=>{"use strict";var hRt=hy&&hy.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(hy,"__esModule",{value:true});hy.generateDevPortalConfigJson=void 0;var mRt=hRt(require("path"));var H9e=wl();var gRt=la();hy.generateDevPortalConfigJson=(0,gRt.generateFileFromTemplate)(mRt.default.join(H9e.USER_CONFIG_DIR_NAME,H9e.DEV_PORTAL_CONFIG_FILE),"dev-portal.template.json")});var z9e=_(uA=>{"use strict";Object.defineProperty(uA,"__esModule",{value:true});uA.generateEnvironment=void 0;var yRt=la();uA.generateEnvironment=(0,yRt.generateFileFromTemplate)(".env","env.template")});var K9e=_(lA=>{"use strict";Object.defineProperty(lA,"__esModule",{value:true});lA.generateESLint=void 0;var vRt=la();lA.generateESLint=(0,vRt.generateFileFromTemplate)(".eslintrc.js","eslintrc.template.js")});var Y9e=_(cA=>{"use strict";Object.defineProperty(cA,"__esModule",{value:true});cA.generateGitignore=void 0;var _Rt=la();cA.generateGitignore=(0,_Rt.generateFileFromTemplate)(".gitignore","gitignore.template.ignore")});var W9e=_(my=>{"use strict";var ERt=my&&my.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(my,"__esModule",{value:true});my.generateLaunchJson=void 0;var bRt=ERt(require("path"));var wRt=la();my.generateLaunchJson=(0,wRt.generateFileFromTemplate)(bRt.default.join(".vscode","launch.json"),"launch.template.jsonc")});var J9e=_(gy=>{"use strict";var SRt=gy&&gy.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(gy,"__esModule",{value:true});gy.generateSettingsJson=void 0;var TRt=SRt(require("path"));var ARt=la();gy.generateSettingsJson=(0,ARt.generateFileFromTemplate)(TRt.default.join(".vscode","settings.json"),"settings.template.jsonc")});var X9e=_(yy=>{"use strict";var xRt=yy&&yy.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(yy,"__esModule",{value:true});yy.generateRouteOasConfig=void 0;var CRt=xRt(require("path"));var Q9e=wl();var RRt=la();yy.generateRouteOasConfig=(0,RRt.generateFileFromTemplate)(CRt.default.join(Q9e.USER_CONFIG_DIR_NAME,Q9e.ROUTES_OAS_CONFIG_FILE),"routes.oas.template.json")});var rwe=_(So=>{"use strict";var Z9e=So&&So.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(So,"__esModule",{value:true});So.updateProjectPackageJson=So.getProjectPackageJson=So.getPackageOverrides=So.generateDefaultPackageJson=void 0;var NRt=tg();var ewe=Z9e(require("fs/promises"));var mG=Z9e(require("path"));async function ORt(t,e=NRt.env.USE_MONOREPO_PACKAGES){const r={name:t,version:"1.0.0",author:"",copyright:"",scripts:{dev:"zup dev",test:"zup test"},dependencies:{zuplo:"latest"}};if(e){const n=twe();r.overrides=n;r.dependencies["@zuplo/runtime"]=n["@zuplo/runtime"];if(r.devDependencies&&"@zuplo/core"in r.devDependencies){r.devDependencies["@zuplo/core"]=n["@zuplo/core"]}if("@zuplo/core"in r.dependencies){r.dependencies["@zuplo/core"]=n["@zuplo/core"]}}return r}o(ORt,"generateDefaultPackageJson");So.generateDefaultPackageJson=ORt;function twe(){const t=mG.default.resolve(__dirname,"..","..");return{"@zuplo/core":`file:${t}/core`,"@zuplo/runtime":`file:${t}/runtime`,"@zuplo/debug":`file:${t}/debug`,"@zuplo/errors":`file:${t}/errors`}}o(twe,"getPackageOverrides");So.getPackageOverrides=twe;async function IRt(t){const e=mG.default.join(t,"package.json");const r=await ewe.default.readFile(e,"utf-8");const n=JSON.parse(r);return n}o(IRt,"getProjectPackageJson");So.getProjectPackageJson=IRt;async function PRt(t,e){const r=mG.default.join(t,"package.json");const n=JSON.stringify(e,void 0,2);await ewe.default.writeFile(r,n,"utf-8")}o(PRt,"updateProjectPackageJson");So.updateProjectPackageJson=PRt});var swe=_(dA=>{"use strict";Object.defineProperty(dA,"__esModule",{value:true});dA.generatePackageJson=void 0;var nwe=rwe();var iwe=cE();var DRt=o(async function({sourceDirectory:t,name:e,logger:r}){const n=await(0,nwe.generateDefaultPackageJson)(e);try{await(0,nwe.updateProjectPackageJson)(t,n)}catch(i){r.error(i);return new iwe.PluginResult({message:"Error creating package.json",pluginName:"generate-package-json",severity:"error"})}return new iwe.PluginResult},"generatePackageJson");dA.generatePackageJson=DRt});var owe=_(vy=>{"use strict";var kRt=vy&&vy.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(vy,"__esModule",{value:true});vy.generatePoliciesConfig=void 0;var $Rt=kRt(require("path"));var awe=wl();var LRt=la();vy.generatePoliciesConfig=(0,LRt.generateFileFromTemplate)($Rt.default.join(awe.USER_CONFIG_DIR_NAME,awe.POLICIES_CONFIG_FILE),"policies.template.json")});var uwe=_(pA=>{"use strict";Object.defineProperty(pA,"__esModule",{value:true});pA.generateTSConfig=void 0;var qRt=la();pA.generateTSConfig=(0,qRt.generateFileFromTemplate)("tsconfig.json","tsconfig.template.json")});var lwe=_(fA=>{"use strict";Object.defineProperty(fA,"__esModule",{value:true});fA.VALID_COMPATIBILITY_DATES=void 0;fA.VALID_COMPATIBILITY_DATES=Object.freeze(["2023-03-14"])});var cwe=_(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:true});To.sanitizedIdentifierName=To.getIdForRefSchema=To.getIdForRequestBodySchema=To.getIdForParameterSchema=To.getRawOperationDataIdentifierName=void 0;function jRt(t,e,r){return`_${Zh(t+"_"+e+"_"+r)}`}o(jRt,"getRawOperationDataIdentifierName");To.getRawOperationDataIdentifierName=jRt;function URt(t,e,r,n){return`_${Zh(t.toLowerCase())}_`+e.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}o(URt,"getIdForParameterSchema");To.getIdForParameterSchema=URt;function BRt(t,e,r){return`_${Zh(t.toLowerCase())}_`+e.toLowerCase()+`_rb_${Zh(r.toLowerCase())}`}o(BRt,"getIdForRequestBodySchema");To.getIdForRequestBodySchema=BRt;function FRt(t,e){return`_${Zh(t)}__${Zh(e)}`}o(FRt,"getIdForRefSchema");To.getIdForRefSchema=FRt;function Zh(t){const e=[];for(let r=0;r<t.length;r++){const n=t.charCodeAt(r);if(n>="0".charCodeAt(0)&&n<="9".charCodeAt(0)||n>="A".charCodeAt(0)&&n<="Z".charCodeAt(0)||n>="a".charCodeAt(0)&&n<="z".charCodeAt(0)){e.push(t.charAt(r))}else{e.push("_")}}return e.join("")}o(Zh,"sanitizedIdentifierName");To.sanitizedIdentifierName=Zh});var dwe=_(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:true});ca.sanitizedIdentifierName=ca.getRawOperationDataIdentifierName=ca.getIdForRequestBodySchema=ca.getIdForRefSchema=ca.getIdForParameterSchema=ca.VALID_COMPATIBILITY_DATES=void 0;var MRt=lwe();Object.defineProperty(ca,"VALID_COMPATIBILITY_DATES",{enumerable:true,get:function(){return MRt.VALID_COMPATIBILITY_DATES}});var pE=cwe();Object.defineProperty(ca,"getIdForParameterSchema",{enumerable:true,get:function(){return pE.getIdForParameterSchema}});Object.defineProperty(ca,"getIdForRefSchema",{enumerable:true,get:function(){return pE.getIdForRefSchema}});Object.defineProperty(ca,"getIdForRequestBodySchema",{enumerable:true,get:function(){return pE.getIdForRequestBodySchema}});Object.defineProperty(ca,"getRawOperationDataIdentifierName",{enumerable:true,get:function(){return pE.getRawOperationDataIdentifierName}});Object.defineProperty(ca,"sanitizedIdentifierName",{enumerable:true,get:function(){return pE.sanitizedIdentifierName}})});var fwe=_((qar,pwe)=>{"use strict";pwe.exports=dwe()});var gwe=_(_y=>{"use strict";var VRt=_y&&_y.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(_y,"__esModule",{value:true});_y.generateZuploJson=void 0;var hwe=fwe();var HRt=require("fs/promises");var GRt=VRt(require("path"));var zRt=wl();var mwe=cE();var KRt=o(async function({name:t,sourceDirectory:e,logger:r}){const n={version:1,project:t,compatibilityDate:hwe.VALID_COMPATIBILITY_DATES[hwe.VALID_COMPATIBILITY_DATES.length-1]};const i=GRt.default.join(e,zRt.ZUPLO_PREFERRED_JSON_FILE);const s=JSON.stringify(n,null,2);try{await(0,HRt.writeFile)(i,s,"utf-8")}catch(a){r.error(a);return new mwe.PluginResult({message:"Error creating zuplo.jsonc",pluginName:"generate-zuplo-json",severity:"error"})}return new mwe.PluginResult},"generateZuploJson");_y.generateZuploJson=KRt});var vwe=_(Ey=>{"use strict";var YRt=Ey&&Ey.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(Ey,"__esModule",{value:true});Ey.create=void 0;var gG=tg();var WRt=require("fs/promises");var JRt=YRt(require("path"));var QRt=cE();var ywe=x9e();var XRt=O9e();var ZRt=q9e();var eNt=U9e();var tNt=F9e();var rNt=V9e();var nNt=G9e();var iNt=z9e();var sNt=K9e();var aNt=Y9e();var oNt=W9e();var uNt=J9e();var lNt=X9e();var cNt=swe();var dNt=owe();var pNt=uwe();var fNt=gwe();async function hNt({name:t,accountName:e="",rootDirectory:r,logger:n}){const i=(0,ywe.sanitize)(t);const s=(0,ywe.sanitize)(e);const a=JRt.default.join(r,s,i);const u={name:t,sourceDirectory:a,logger:n};const l=[];if(await gG.xfs.dirExists(a)){throw new gG.ApiError({type:"https://zup.fail/project-already-exists-at-directory",title:"The project already exists in the specified directory",status:gG.HttpStatusCode.BAD_REQUEST,detail:`Project already exists at ${a}`})}l.push(...[XRt.createProjectDirs,lNt.generateRouteOasConfig,fNt.generateZuploJson,nNt.generateDevPortalConfigJson,rNt.generateDefaultModule,eNt.generateDefaultDocsSidebar,ZRt.generateDefaultDocsMarkdown,tNt.generateDefaultDocsTheme,dNt.generatePoliciesConfig]);l.push(...[pNt.generateTSConfig,aNt.generateGitignore,cNt.generatePackageJson,iNt.generateEnvironment,sNt.generateESLint,oNt.generateLaunchJson,uNt.generateSettingsJson]);const{errors:c,warnings:d}=await(0,QRt.runPlugins)(l,u);if(d.length>0){d.forEach(f=>{n.warn(f)})}if(c.length>0){await(0,WRt.rm)(a,{recursive:true,force:true});const f=c[0];if(f instanceof Error){throw f}else{throw new Error(f.message)}}const p={sourceDirectory:a,projectName:t};return p}o(hNt,"create");Ey.create=hNt});Object.defineProperty(exports,"__esModule",{value:true});exports.create=void 0;var mNt=vwe();Object.defineProperty(exports,"create",{enumerable:true,get:function(){return mNt.create}});
410
+ `+await t.crypto.sha256DigestHex(h);const y=await lAt(t.crypto,t.securityCredentials.secretAccessKey,a,t.region,n);const v=await W6(t.crypto,y,g);const w=`${Sbe} Credential=${t.securityCredentials.accessKeyId}/${m}, SignedHeaders=${p}, Signature=${(0,Tbe.fromArrayBufferToHex)(v)}`;return{amzDate:u.date?void 0:s,authorizationHeader:w,canonicalQuerystring:t.canonicalQuerystring}}o(cAt,"generateAuthenticationHeaderMap")});var RH=_(x7=>{"use strict";Object.defineProperty(x7,"__esModule",{value:true});x7.AwsClient=void 0;var dAt=Abe();var pAt=kp();var J6=class extends pAt.BaseExternalAccountClient{static{o(this,"AwsClient")}constructor(e,r){super(e,r);this.environmentId=e.credential_source.environment_id;this.regionUrl=e.credential_source.region_url;this.securityCredentialsUrl=e.credential_source.url;this.regionalCredVerificationUrl=e.credential_source.regional_cred_verification_url;this.imdsV2SessionTokenUrl=e.credential_source.imdsv2_session_token_url;this.awsRequestSigner=null;this.region="";this.validateEnvironmentId()}validateEnvironmentId(){var e;const r=(e=this.environmentId)===null||e===void 0?void 0:e.match(/^(aws)(\d+)$/);if(!r||!this.regionalCredVerificationUrl){throw new Error('No valid AWS "credential_source" provided')}else if(parseInt(r[2],10)!==1){throw new Error(`aws version "${r[2]}" is not supported in the current build.`)}}async retrieveSubjectToken(){if(!this.awsRequestSigner){const i={};if(this.shouldUseMetadataServer()&&this.imdsV2SessionTokenUrl){i["x-aws-ec2-metadata-token"]=await this.getImdsV2SessionToken()}this.region=await this.getAwsRegion(i);this.awsRequestSigner=new dAt.AwsRequestSigner(async()=>{if(this.securityCredentialsFromEnv){return this.securityCredentialsFromEnv}const s=await this.getAwsRoleName(i);const a=await this.getAwsSecurityCredentials(s,i);return{accessKeyId:a.AccessKeyId,secretAccessKey:a.SecretAccessKey,token:a.Token}},this.region)}const e=await this.awsRequestSigner.getRequestOptions({url:this.regionalCredVerificationUrl.replace("{region}",this.region),method:"POST"});const r=[];const n=Object.assign({"x-goog-cloud-target-resource":this.audience},e.headers);for(const i in n){r.push({key:i,value:n[i]})}return encodeURIComponent(JSON.stringify({url:e.url,method:e.method,headers:r}))}async getImdsV2SessionToken(){const e={url:this.imdsV2SessionTokenUrl,method:"PUT",responseType:"text",headers:{"x-aws-ec2-metadata-token-ttl-seconds":"300"}};const r=await this.transporter.request(e);return r.data}async getAwsRegion(e){if(this.regionFromEnv){return this.regionFromEnv}if(!this.regionUrl){throw new Error('Unable to determine AWS region due to missing "options.credential_source.region_url"')}const r={url:this.regionUrl,method:"GET",responseType:"text",headers:e};const n=await this.transporter.request(r);return n.data.substr(0,n.data.length-1)}async getAwsRoleName(e){if(!this.securityCredentialsUrl){throw new Error('Unable to determine AWS role name due to missing "options.credential_source.url"')}const r={url:this.securityCredentialsUrl,method:"GET",responseType:"text",headers:e};const n=await this.transporter.request(r);return n.data}async getAwsSecurityCredentials(e,r){const n=await this.transporter.request({url:`${this.securityCredentialsUrl}/${e}`,responseType:"json",headers:r});return n.data}shouldUseMetadataServer(){return!this.regionFromEnv||!this.securityCredentialsFromEnv}get regionFromEnv(){return process.env["AWS_REGION"]||process.env["AWS_DEFAULT_REGION"]||null}get securityCredentialsFromEnv(){if(process.env["AWS_ACCESS_KEY_ID"]&&process.env["AWS_SECRET_ACCESS_KEY"]){return{accessKeyId:process.env["AWS_ACCESS_KEY_ID"],secretAccessKey:process.env["AWS_SECRET_ACCESS_KEY"],token:process.env["AWS_SESSION_TOKEN"]}}return null}};x7.AwsClient=J6;J6.AWS_EC2_METADATA_IPV4_ADDRESS="169.254.169.254";J6.AWS_EC2_METADATA_IPV6_ADDRESS="fd00:ec2::254"});var DH=_(ni=>{"use strict";Object.defineProperty(ni,"__esModule",{value:true});ni.InvalidSubjectTokenError=ni.InvalidMessageFieldError=ni.InvalidCodeFieldError=ni.InvalidTokenTypeFieldError=ni.InvalidExpirationTimeFieldError=ni.InvalidSuccessFieldError=ni.InvalidVersionFieldError=ni.ExecutableResponseError=ni.ExecutableResponse=void 0;var C7="urn:ietf:params:oauth:token-type:saml2";var NH="urn:ietf:params:oauth:token-type:id_token";var OH="urn:ietf:params:oauth:token-type:jwt";var IH=class{static{o(this,"ExecutableResponse")}constructor(e){if(!e.version){throw new R7("Executable response must contain a 'version' field.")}if(e.success===void 0){throw new N7("Executable response must contain a 'success' field.")}this.version=e.version;this.success=e.success;if(this.success){this.expirationTime=e.expiration_time;this.tokenType=e.token_type;if(this.tokenType!==C7&&this.tokenType!==NH&&this.tokenType!==OH){throw new O7(`Executable response must contain a 'token_type' field when successful and it must be one of ${NH}, ${OH}, or ${C7}.`)}if(this.tokenType===C7){if(!e.saml_response){throw new Q6(`Executable response must contain a 'saml_response' field when token_type=${C7}.`)}this.subjectToken=e.saml_response}else{if(!e.id_token){throw new Q6(`Executable response must contain a 'id_token' field when token_type=${NH} or ${OH}.`)}this.subjectToken=e.id_token}}else{if(!e.code){throw new I7("Executable response must contain a 'code' field when unsuccessful.")}if(!e.message){throw new P7("Executable response must contain a 'message' field when unsuccessful.")}this.errorCode=e.code;this.errorMessage=e.message}}isValid(){return!this.isExpired()&&this.success}isExpired(){return this.expirationTime!==void 0&&this.expirationTime<Math.round(Date.now()/1e3)}};ni.ExecutableResponse=IH;var _l=class extends Error{static{o(this,"ExecutableResponseError")}constructor(e){super(e);Object.setPrototypeOf(this,new.target.prototype)}};ni.ExecutableResponseError=_l;var R7=class extends _l{static{o(this,"InvalidVersionFieldError")}};ni.InvalidVersionFieldError=R7;var N7=class extends _l{static{o(this,"InvalidSuccessFieldError")}};ni.InvalidSuccessFieldError=N7;var PH=class extends _l{static{o(this,"InvalidExpirationTimeFieldError")}};ni.InvalidExpirationTimeFieldError=PH;var O7=class extends _l{static{o(this,"InvalidTokenTypeFieldError")}};ni.InvalidTokenTypeFieldError=O7;var I7=class extends _l{static{o(this,"InvalidCodeFieldError")}};ni.InvalidCodeFieldError=I7;var P7=class extends _l{static{o(this,"InvalidMessageFieldError")}};ni.InvalidMessageFieldError=P7;var Q6=class extends _l{static{o(this,"InvalidSubjectTokenError")}};ni.InvalidSubjectTokenError=Q6});var xbe=_(D7=>{"use strict";Object.defineProperty(D7,"__esModule",{value:true});D7.PluggableAuthHandler=void 0;var fAt=k7();var Jh=DH();var hAt=require("child_process");var kH=require("fs");var $H=class t{static{o(this,"PluggableAuthHandler")}constructor(e){if(!e.command){throw new Error("No command provided.")}this.commandComponents=t.parseCommand(e.command);this.timeoutMillis=e.timeoutMillis;if(!this.timeoutMillis){throw new Error("No timeoutMillis provided.")}this.outputFile=e.outputFile}retrieveResponseFromExecutable(e){return new Promise((r,n)=>{const i=hAt.spawn(this.commandComponents[0],this.commandComponents.slice(1),{env:{...process.env,...Object.fromEntries(e)}});let s="";i.stdout.on("data",u=>{s+=u});i.stderr.on("data",u=>{s+=u});const a=setTimeout(()=>{i.removeAllListeners();i.kill();return n(new Error("The executable failed to finish within the timeout specified."))},this.timeoutMillis);i.on("close",u=>{clearTimeout(a);if(u===0){try{const l=JSON.parse(s);const c=new Jh.ExecutableResponse(l);return r(c)}catch(l){if(l instanceof Jh.ExecutableResponseError){return n(l)}return n(new Jh.ExecutableResponseError(`The executable returned an invalid response: ${s}`))}}else{return n(new fAt.ExecutableError(s,u.toString()))}})})}async retrieveCachedResponse(){if(!this.outputFile||this.outputFile.length===0){return void 0}let e;try{e=await kH.promises.realpath(this.outputFile)}catch(n){return void 0}if(!(await kH.promises.lstat(e)).isFile()){return void 0}const r=await kH.promises.readFile(e,{encoding:"utf8"});if(r===""){return void 0}try{const n=JSON.parse(r);const i=new Jh.ExecutableResponse(n);if(i.isValid()){return new Jh.ExecutableResponse(n)}return void 0}catch(n){if(n instanceof Jh.ExecutableResponseError){throw n}throw new Jh.ExecutableResponseError(`The output file contained an invalid response: ${r}`)}}static parseCommand(e){const r=e.match(/(?:[^\s"]+|"[^"]*")+/g);if(!r){throw new Error(`Provided command: "${e}" could not be parsed.`)}for(let n=0;n<r.length;n++){if(r[n][0]==='"'&&r[n].slice(-1)==='"'){r[n]=r[n].slice(1,-1)}}return r}};D7.PluggableAuthHandler=$H});var k7=_(Mg=>{"use strict";Object.defineProperty(Mg,"__esModule",{value:true});Mg.PluggableAuthClient=Mg.ExecutableError=void 0;var mAt=kp();var gAt=DH();var yAt=xbe();var $7=class extends Error{static{o(this,"ExecutableError")}constructor(e,r){super(`The executable failed with exit code: ${r} and error message: ${e}.`);this.code=r;Object.setPrototypeOf(this,new.target.prototype)}};Mg.ExecutableError=$7;var vAt=30*1e3;var Cbe=5*1e3;var Rbe=120*1e3;var _At="GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES";var Nbe=1;var LH=class extends mAt.BaseExternalAccountClient{static{o(this,"PluggableAuthClient")}constructor(e,r){super(e,r);if(!e.credential_source.executable){throw new Error('No valid Pluggable Auth "credential_source" provided.')}this.command=e.credential_source.executable.command;if(!this.command){throw new Error('No valid Pluggable Auth "credential_source" provided.')}if(e.credential_source.executable.timeout_millis===void 0){this.timeoutMillis=vAt}else{this.timeoutMillis=e.credential_source.executable.timeout_millis;if(this.timeoutMillis<Cbe||this.timeoutMillis>Rbe){throw new Error(`Timeout must be between ${Cbe} and ${Rbe} milliseconds.`)}}this.outputFile=e.credential_source.executable.output_file;this.handler=new yAt.PluggableAuthHandler({command:this.command,timeoutMillis:this.timeoutMillis,outputFile:this.outputFile})}async retrieveSubjectToken(){if(process.env[_At]!=="1"){throw new Error("Pluggable Auth executables need to be explicitly allowed to run by setting the GOOGLE_EXTERNAL_ACCOUNT_ALLOW_EXECUTABLES environment Variable to 1.")}let e=void 0;if(this.outputFile){e=await this.handler.retrieveCachedResponse()}if(!e){const r=new Map;r.set("GOOGLE_EXTERNAL_ACCOUNT_AUDIENCE",this.audience);r.set("GOOGLE_EXTERNAL_ACCOUNT_TOKEN_TYPE",this.subjectTokenType);r.set("GOOGLE_EXTERNAL_ACCOUNT_INTERACTIVE","0");if(this.outputFile){r.set("GOOGLE_EXTERNAL_ACCOUNT_OUTPUT_FILE",this.outputFile)}const n=this.getServiceAccountEmail();if(n){r.set("GOOGLE_EXTERNAL_ACCOUNT_IMPERSONATED_EMAIL",n)}e=await this.handler.retrieveResponseFromExecutable(r)}if(e.version>Nbe){throw new Error(`Version of executable is not currently supported, maximum supported version is ${Nbe}.`)}if(!e.success){throw new $7(e.errorMessage,e.errorCode)}if(this.outputFile){if(!e.expirationTime){throw new gAt.InvalidExpirationTimeFieldError("The executable response must contain the `expiration_time` field for successful responses when an output_file has been specified in the configuration.")}}if(e.isExpired()){throw new Error("Executable response is expired.")}return e.subjectToken}};Mg.PluggableAuthClient=LH});var jH=_(L7=>{"use strict";Object.defineProperty(L7,"__esModule",{value:true});L7.ExternalAccountClient=void 0;var EAt=kp();var bAt=xH();var wAt=RH();var SAt=k7();var qH=class{static{o(this,"ExternalAccountClient")}constructor(){throw new Error("ExternalAccountClients should be initialized via: ExternalAccountClient.fromJSON(), directly via explicit constructors, eg. new AwsClient(options), new IdentityPoolClient(options), newPluggableAuthClientOptions, or via new GoogleAuth(options).getClient()")}static fromJSON(e,r){var n,i;if(e&&e.type===EAt.EXTERNAL_ACCOUNT_TYPE){if((n=e.credential_source)===null||n===void 0?void 0:n.environment_id){return new wAt.AwsClient(e,r)}else if((i=e.credential_source)===null||i===void 0?void 0:i.executable){return new SAt.PluggableAuthClient(e,r)}else{return new bAt.IdentityPoolClient(e,r)}}else{return null}}};L7.ExternalAccountClient=qH});var Ibe=_(Vg=>{"use strict";Object.defineProperty(Vg,"__esModule",{value:true});Vg.ExternalAccountAuthorizedUserClient=Vg.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE=void 0;var TAt=wg();var Obe=mH();var AAt=xc();var xAt=require("stream");var CAt=kp();Vg.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE="external_account_authorized_user";var UH=class extends Obe.OAuthClientAuthHandler{static{o(this,"ExternalAccountAuthorizedUserHandler")}constructor(e,r,n){super(n);this.url=e;this.transporter=r}async refreshToken(e,r){const n=new URLSearchParams({grant_type:"refresh_token",refresh_token:e});const i={"Content-Type":"application/x-www-form-urlencoded",...r};const s={url:this.url,method:"POST",headers:i,data:n.toString(),responseType:"json"};this.applyClientAuthenticationOptions(s);try{const a=await this.transporter.request(s);const u=a.data;u.res=a;return u}catch(a){if(a instanceof AAt.GaxiosError&&a.response){throw(0,Obe.getErrorFromOAuthErrorResponse)(a.response.data,a)}throw a}}};var BH=class extends TAt.AuthClient{static{o(this,"ExternalAccountAuthorizedUserClient")}constructor(e,r){super();this.refreshToken=e.refresh_token;const n={confidentialClientType:"basic",clientId:e.client_id,clientSecret:e.client_secret};this.externalAccountAuthorizedUserHandler=new UH(e.token_url,this.transporter,n);this.cachedAccessToken=null;this.quotaProjectId=e.quota_project_id;if(typeof(r===null||r===void 0?void 0:r.eagerRefreshThresholdMillis)!=="number"){this.eagerRefreshThresholdMillis=CAt.EXPIRATION_TIME_OFFSET}else{this.eagerRefreshThresholdMillis=r.eagerRefreshThresholdMillis}this.forceRefreshOnFailure=!!(r===null||r===void 0?void 0:r.forceRefreshOnFailure)}async getAccessToken(){if(!this.cachedAccessToken||this.isExpired(this.cachedAccessToken)){await this.refreshAccessTokenAsync()}return{token:this.cachedAccessToken.access_token,res:this.cachedAccessToken.res}}async getRequestHeaders(){const e=await this.getAccessToken();const r={Authorization:`Bearer ${e.token}`};return this.addSharedMetadataHeaders(r)}request(e,r){if(r){this.requestAsync(e).then(n=>r(null,n),n=>{return r(n,n.response)})}else{return this.requestAsync(e)}}async requestAsync(e,r=false){let n;try{const i=await this.getRequestHeaders();e.headers=e.headers||{};if(i&&i["x-goog-user-project"]){e.headers["x-goog-user-project"]=i["x-goog-user-project"]}if(i&&i.Authorization){e.headers.Authorization=i.Authorization}n=await this.transporter.request(e)}catch(i){const s=i.response;if(s){const a=s.status;const u=s.config.data instanceof xAt.Readable;const l=a===401||a===403;if(!r&&l&&!u&&this.forceRefreshOnFailure){await this.refreshAccessTokenAsync();return await this.requestAsync(e,true)}}throw i}return n}async refreshAccessTokenAsync(){const e=await this.externalAccountAuthorizedUserHandler.refreshToken(this.refreshToken);this.cachedAccessToken={access_token:e.access_token,expiry_date:new Date().getTime()+e.expires_in*1e3,res:e.res};if(e.refresh_token!==void 0){this.refreshToken=e.refresh_token}return this.cachedAccessToken}isExpired(e){const r=new Date().getTime();return e.expiry_date?r>=e.expiry_date-this.eagerRefreshThresholdMillis:false}};Vg.ExternalAccountAuthorizedUserClient=BH});var kbe=_(Gg=>{"use strict";Object.defineProperty(Gg,"__esModule",{value:true});Gg.GoogleAuth=Gg.CLOUD_SDK_CLIENT_ID=void 0;var RAt=require("child_process");var X6=require("fs");var FH=NT();var NAt=require("os");var MH=require("path");var OAt=Eg();var IAt=P6();var PAt=QM();var DAt=ZM();var kAt=eV();var Hg=lH();var VH=dH();var q7=fH();var $At=jH();var Z6=kp();var Pbe=Ibe();Gg.CLOUD_SDK_CLIENT_ID="764086051850-6qr4p6gpi6hn506pt8ejuq83di341hur.apps.googleusercontent.com";var Dbe={NO_PROJECT_ID_FOUND:"Unable to detect a Project Id in the current environment. \nTo learn more about authentication and Google APIs, visit: \nhttps://cloud.google.com/docs/authentication/getting-started"};var j7=class{static{o(this,"GoogleAuth")}get isGCE(){return this.checkIsGCE}constructor(e){this.checkIsGCE=void 0;this.jsonContent=null;this.cachedCredential=null;e=e||{};this._cachedProjectId=e.projectId||null;this.cachedCredential=e.authClient||null;this.keyFilename=e.keyFilename||e.keyFile;this.scopes=e.scopes;this.jsonContent=e.credentials||null;this.clientOptions=e.clientOptions}setGapicJWTValues(e){e.defaultServicePath=this.defaultServicePath;e.useJWTAccessWithScope=this.useJWTAccessWithScope;e.defaultScopes=this.defaultScopes}getProjectId(e){if(e){this.getProjectIdAsync().then(r=>e(null,r),e)}else{return this.getProjectIdAsync()}}async getProjectIdOptional(){try{return await this.getProjectId()}catch(e){if(e instanceof Error&&e.message===Dbe.NO_PROJECT_ID_FOUND){return null}else{throw e}}}async findAndCacheProjectId(){let e=null;e||(e=await this.getProductionProjectId());e||(e=await this.getFileProjectId());e||(e=await this.getDefaultServiceProjectId());e||(e=await this.getGCEProjectId());e||(e=await this.getExternalAccountClientProjectId());if(e){this._cachedProjectId=e;return e}else{throw new Error(Dbe.NO_PROJECT_ID_FOUND)}}async getProjectIdAsync(){if(this._cachedProjectId){return this._cachedProjectId}if(!this._findProjectIdPromise){this._findProjectIdPromise=this.findAndCacheProjectId()}return this._findProjectIdPromise}getAnyScopes(){return this.scopes||this.defaultScopes}getApplicationDefault(e={},r){let n;if(typeof e==="function"){r=e}else{n=e}if(r){this.getApplicationDefaultAsync(n).then(i=>r(null,i.credential,i.projectId),r)}else{return this.getApplicationDefaultAsync(n)}}async getApplicationDefaultAsync(e={}){if(this.cachedCredential){return await this.prepareAndCacheADC(this.cachedCredential)}const r=process.env["GOOGLE_CLOUD_QUOTA_PROJECT"];let n;n=await this._tryGetApplicationCredentialsFromEnvironmentVariable(e);if(n){if(n instanceof Hg.JWT){n.scopes=this.scopes}else if(n instanceof Z6.BaseExternalAccountClient){n.scopes=this.getAnyScopes()}return await this.prepareAndCacheADC(n,r)}n=await this._tryGetApplicationCredentialsFromWellKnownFile(e);if(n){if(n instanceof Hg.JWT){n.scopes=this.scopes}else if(n instanceof Z6.BaseExternalAccountClient){n.scopes=this.getAnyScopes()}return await this.prepareAndCacheADC(n,r)}let i;try{i=await this._checkIsGCE()}catch(s){if(s instanceof Error){s.message=`Unexpected error determining execution environment: ${s.message}`}throw s}if(!i){throw new Error("Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information.")}e.scopes=this.getAnyScopes();return await this.prepareAndCacheADC(new PAt.Compute(e),r)}async prepareAndCacheADC(e,r){const n=await this.getProjectIdOptional();if(r){e.quotaProjectId=r}this.cachedCredential=e;return{credential:e,projectId:n}}async _checkIsGCE(){if(this.checkIsGCE===void 0){this.checkIsGCE=await FH.isAvailable()}return this.checkIsGCE}async _tryGetApplicationCredentialsFromEnvironmentVariable(e){const r=process.env["GOOGLE_APPLICATION_CREDENTIALS"]||process.env["google_application_credentials"];if(!r||r.length===0){return null}try{return this._getApplicationCredentialsFromFilePath(r,e)}catch(n){if(n instanceof Error){n.message=`Unable to read the credential file specified by the GOOGLE_APPLICATION_CREDENTIALS environment variable: ${n.message}`}throw n}}async _tryGetApplicationCredentialsFromWellKnownFile(e){let r=null;if(this._isWindows()){r=process.env["APPDATA"]}else{const i=process.env["HOME"];if(i){r=MH.join(i,".config")}}if(r){r=MH.join(r,"gcloud","application_default_credentials.json");if(!X6.existsSync(r)){r=null}}if(!r){return null}const n=await this._getApplicationCredentialsFromFilePath(r,e);return n}async _getApplicationCredentialsFromFilePath(e,r={}){if(!e||e.length===0){throw new Error("The file path is invalid.")}try{e=X6.realpathSync(e);if(!X6.lstatSync(e).isFile()){throw new Error}}catch(i){if(i instanceof Error){i.message=`The file at ${e} does not exist, or it is not a file. ${i.message}`}throw i}const n=X6.createReadStream(e);return this.fromStream(n,r)}fromImpersonatedJSON(e){var r,n,i,s;if(!e){throw new Error("Must pass in a JSON object containing an impersonated refresh token")}if(e.type!==q7.IMPERSONATED_ACCOUNT_TYPE){throw new Error(`The incoming JSON object does not have the "${q7.IMPERSONATED_ACCOUNT_TYPE}" type`)}if(!e.source_credentials){throw new Error("The incoming JSON object does not contain a source_credentials field")}if(!e.service_account_impersonation_url){throw new Error("The incoming JSON object does not contain a service_account_impersonation_url field")}const a=new VH.UserRefreshClient(e.source_credentials.client_id,e.source_credentials.client_secret,e.source_credentials.refresh_token);const u=(n=(r=/(?<target>[^/]+):generateAccessToken$/.exec(e.service_account_impersonation_url))===null||r===void 0?void 0:r.groups)===null||n===void 0?void 0:n.target;if(!u){throw new RangeError(`Cannot extract target principal from ${e.service_account_impersonation_url}`)}const l=(i=this.getAnyScopes())!==null&&i!==void 0?i:[];const c=new q7.Impersonated({delegates:(s=e.delegates)!==null&&s!==void 0?s:[],sourceClient:a,targetPrincipal:u,targetScopes:Array.isArray(l)?l:[l]});return c}fromJSON(e,r={}){let n;r=r||{};if(e.type===VH.USER_REFRESH_ACCOUNT_TYPE){n=new VH.UserRefreshClient(r);n.fromJSON(e)}else if(e.type===q7.IMPERSONATED_ACCOUNT_TYPE){n=this.fromImpersonatedJSON(e)}else if(e.type===Z6.EXTERNAL_ACCOUNT_TYPE){n=$At.ExternalAccountClient.fromJSON(e,r);n.scopes=this.getAnyScopes()}else if(e.type===Pbe.EXTERNAL_ACCOUNT_AUTHORIZED_USER_TYPE){n=new Pbe.ExternalAccountAuthorizedUserClient(e,r)}else{r.scopes=this.scopes;n=new Hg.JWT(r);this.setGapicJWTValues(n);n.fromJSON(e)}return n}_cacheClientFromJSON(e,r){const n=this.fromJSON(e,r);this.jsonContent=e;this.cachedCredential=n;return n}fromStream(e,r={},n){let i={};if(typeof r==="function"){n=r}else{i=r}if(n){this.fromStreamAsync(e,i).then(s=>n(null,s),n)}else{return this.fromStreamAsync(e,i)}}fromStreamAsync(e,r){return new Promise((n,i)=>{if(!e){throw new Error("Must pass in a stream containing the Google auth settings.")}let s="";e.setEncoding("utf8").on("error",i).on("data",a=>s+=a).on("end",()=>{try{try{const a=JSON.parse(s);const u=this._cacheClientFromJSON(a,r);return n(u)}catch(a){if(!this.keyFilename)throw a;const u=new Hg.JWT({...this.clientOptions,keyFile:this.keyFilename});this.cachedCredential=u;this.setGapicJWTValues(u);return n(u)}}catch(a){return i(a)}})})}fromAPIKey(e,r){r=r||{};const n=new Hg.JWT(r);n.fromAPIKey(e);return n}_isWindows(){const e=NAt.platform();if(e&&e.length>=3){if(e.substring(0,3).toLowerCase()==="win"){return true}}return false}async getDefaultServiceProjectId(){return new Promise(e=>{(0,RAt.exec)("gcloud config config-helper --format json",(r,n)=>{if(!r&&n){try{const i=JSON.parse(n).configuration.properties.core.project;e(i);return}catch(i){}}e(null)})})}getProductionProjectId(){return process.env["GCLOUD_PROJECT"]||process.env["GOOGLE_CLOUD_PROJECT"]||process.env["gcloud_project"]||process.env["google_cloud_project"]}async getFileProjectId(){if(this.cachedCredential){return this.cachedCredential.projectId}if(this.keyFilename){const r=await this.getClient();if(r&&r.projectId){return r.projectId}}const e=await this._tryGetApplicationCredentialsFromEnvironmentVariable();if(e){return e.projectId}else{return null}}async getExternalAccountClientProjectId(){if(!this.jsonContent||this.jsonContent.type!==Z6.EXTERNAL_ACCOUNT_TYPE){return null}const e=await this.getClient();return await e.getProjectId()}async getGCEProjectId(){try{const e=await FH.project("project-id");return e}catch(e){return null}}getCredentials(e){if(e){this.getCredentialsAsync().then(r=>e(null,r),e)}else{return this.getCredentialsAsync()}}async getCredentialsAsync(){const e=await this.getClient();if(e instanceof Z6.BaseExternalAccountClient){const i=e.getServiceAccountEmail();if(i){return{client_email:i}}}if(this.jsonContent){const i={client_email:this.jsonContent.client_email,private_key:this.jsonContent.private_key};return i}const r=await this._checkIsGCE();if(!r){throw new Error("Unknown error.")}const n=await FH.instance({property:"service-accounts/",params:{recursive:"true"}});if(!n||!n.default||!n.default.email){throw new Error("Failure from metadata server.")}return{client_email:n.default.email}}async getClient(){if(!this.cachedCredential){if(this.jsonContent){this._cacheClientFromJSON(this.jsonContent,this.clientOptions)}else if(this.keyFilename){const e=MH.resolve(this.keyFilename);const r=X6.createReadStream(e);await this.fromStreamAsync(r,this.clientOptions)}else{await this.getApplicationDefaultAsync(this.clientOptions)}}return this.cachedCredential}async getIdTokenClient(e){const r=await this.getClient();if(!("fetchIdToken"in r)){throw new Error("Cannot fetch ID token in this environment, use GCE or set the GOOGLE_APPLICATION_CREDENTIALS environment variable to a service account credentials JSON file.")}return new DAt.IdTokenClient({targetAudience:e,idTokenProvider:r})}async getAccessToken(){const e=await this.getClient();return(await e.getAccessToken()).token}async getRequestHeaders(e){const r=await this.getClient();return r.getRequestHeaders(e)}async authorizeRequest(e){e=e||{};const r=e.url||e.uri;const n=await this.getClient();const i=await n.getRequestHeaders(r);e.headers=Object.assign(e.headers||{},i);return e}async request(e){const r=await this.getClient();return r.request(e)}getEnv(){return(0,kAt.getEnv)()}async sign(e){const r=await this.getClient();const n=(0,OAt.createCrypto)();if(r instanceof Hg.JWT&&r.key){const s=await n.sign(r.key,e);return s}const i=await this.getCredentials();if(!i.client_email){throw new Error("Cannot sign data without `client_email`.")}return this.signBlob(n,i.client_email,e)}async signBlob(e,r,n){const i=`https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/${r}:signBlob`;const s=await this.request({method:"POST",url:i,data:{payload:e.encodeBase64StringUtf8(n)}});return s.data.signedBlob}};Gg.GoogleAuth=j7;j7.DefaultTransporter=IAt.DefaultTransporter});var $be=_(U7=>{"use strict";Object.defineProperty(U7,"__esModule",{value:true});U7.IAMAuth=void 0;var HH=class{static{o(this,"IAMAuth")}constructor(e,r){this.selector=e;this.token=r;this.selector=e;this.token=r}getRequestHeaders(){return{"x-goog-iam-authority-selector":this.selector,"x-goog-iam-authorization-token":this.token}}};U7.IAMAuth=HH});var Lbe=_(du=>{"use strict";Object.defineProperty(du,"__esModule",{value:true});du.DownscopedClient=du.EXPIRATION_TIME_OFFSET=du.MAX_ACCESS_BOUNDARY_RULES_COUNT=void 0;var LAt=require("stream");var qAt=wg();var jAt=yH();var UAt="urn:ietf:params:oauth:grant-type:token-exchange";var BAt="urn:ietf:params:oauth:token-type:access_token";var FAt="urn:ietf:params:oauth:token-type:access_token";var MAt="https://sts.googleapis.com/v1/token";du.MAX_ACCESS_BOUNDARY_RULES_COUNT=10;du.EXPIRATION_TIME_OFFSET=5*60*1e3;var GH=class extends qAt.AuthClient{static{o(this,"DownscopedClient")}constructor(e,r,n,i){super();this.authClient=e;this.credentialAccessBoundary=r;if(r.accessBoundary.accessBoundaryRules.length===0){throw new Error("At least one access boundary rule needs to be defined.")}else if(r.accessBoundary.accessBoundaryRules.length>du.MAX_ACCESS_BOUNDARY_RULES_COUNT){throw new Error(`The provided access boundary has more than ${du.MAX_ACCESS_BOUNDARY_RULES_COUNT} access boundary rules.`)}for(const s of r.accessBoundary.accessBoundaryRules){if(s.availablePermissions.length===0){throw new Error("At least one permission should be defined in access boundary rules.")}}this.stsCredential=new jAt.StsCredentials(MAt);this.cachedDownscopedAccessToken=null;if(typeof(n===null||n===void 0?void 0:n.eagerRefreshThresholdMillis)!=="number"){this.eagerRefreshThresholdMillis=du.EXPIRATION_TIME_OFFSET}else{this.eagerRefreshThresholdMillis=n.eagerRefreshThresholdMillis}this.forceRefreshOnFailure=!!(n===null||n===void 0?void 0:n.forceRefreshOnFailure);this.quotaProjectId=i}setCredentials(e){if(!e.expiry_date){throw new Error("The access token expiry_date field is missing in the provided credentials.")}super.setCredentials(e);this.cachedDownscopedAccessToken=e}async getAccessToken(){if(!this.cachedDownscopedAccessToken||this.isExpired(this.cachedDownscopedAccessToken)){await this.refreshAccessTokenAsync()}return{token:this.cachedDownscopedAccessToken.access_token,expirationTime:this.cachedDownscopedAccessToken.expiry_date,res:this.cachedDownscopedAccessToken.res}}async getRequestHeaders(){const e=await this.getAccessToken();const r={Authorization:`Bearer ${e.token}`};return this.addSharedMetadataHeaders(r)}request(e,r){if(r){this.requestAsync(e).then(n=>r(null,n),n=>{return r(n,n.response)})}else{return this.requestAsync(e)}}async requestAsync(e,r=false){let n;try{const i=await this.getRequestHeaders();e.headers=e.headers||{};if(i&&i["x-goog-user-project"]){e.headers["x-goog-user-project"]=i["x-goog-user-project"]}if(i&&i.Authorization){e.headers.Authorization=i.Authorization}n=await this.transporter.request(e)}catch(i){const s=i.response;if(s){const a=s.status;const u=s.config.data instanceof LAt.Readable;const l=a===401||a===403;if(!r&&l&&!u&&this.forceRefreshOnFailure){await this.refreshAccessTokenAsync();return await this.requestAsync(e,true)}}throw i}return n}async refreshAccessTokenAsync(){var e;const r=(await this.authClient.getAccessToken()).token;const n={grantType:UAt,requestedTokenType:BAt,subjectToken:r,subjectTokenType:FAt};const i=await this.stsCredential.exchangeToken(n,void 0,this.credentialAccessBoundary);const s=((e=this.authClient.credentials)===null||e===void 0?void 0:e.expiry_date)||null;const a=i.expires_in?new Date().getTime()+i.expires_in*1e3:s;this.cachedDownscopedAccessToken={access_token:i.access_token,expiry_date:a,res:i.res};this.credentials={};Object.assign(this.credentials,this.cachedDownscopedAccessToken);delete this.credentials.res;this.emit("tokens",{refresh_token:null,expiry_date:this.cachedDownscopedAccessToken.expiry_date,access_token:this.cachedDownscopedAccessToken.access_token,token_type:"Bearer",id_token:null});return this.cachedDownscopedAccessToken}isExpired(e){const r=new Date().getTime();return e.expiry_date?r>=e.expiry_date-this.eagerRefreshThresholdMillis:false}};du.DownscopedClient=GH});var zH=_(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:true});xt.GoogleAuth=xt.auth=xt.DefaultTransporter=xt.PluggableAuthClient=xt.DownscopedClient=xt.BaseExternalAccountClient=xt.ExternalAccountClient=xt.IdentityPoolClient=xt.AwsClient=xt.UserRefreshClient=xt.LoginTicket=xt.OAuth2Client=xt.CodeChallengeMethod=xt.Impersonated=xt.JWT=xt.JWTAccess=xt.IdTokenClient=xt.IAMAuth=xt.GCPEnv=xt.Compute=xt.AuthClient=void 0;var qbe=kbe();Object.defineProperty(xt,"GoogleAuth",{enumerable:true,get:function(){return qbe.GoogleAuth}});var VAt=wg();Object.defineProperty(xt,"AuthClient",{enumerable:true,get:function(){return VAt.AuthClient}});var HAt=QM();Object.defineProperty(xt,"Compute",{enumerable:true,get:function(){return HAt.Compute}});var GAt=eV();Object.defineProperty(xt,"GCPEnv",{enumerable:true,get:function(){return GAt.GCPEnv}});var zAt=$be();Object.defineProperty(xt,"IAMAuth",{enumerable:true,get:function(){return zAt.IAMAuth}});var KAt=ZM();Object.defineProperty(xt,"IdTokenClient",{enumerable:true,get:function(){return KAt.IdTokenClient}});var YAt=oH();Object.defineProperty(xt,"JWTAccess",{enumerable:true,get:function(){return YAt.JWTAccess}});var WAt=lH();Object.defineProperty(xt,"JWT",{enumerable:true,get:function(){return WAt.JWT}});var JAt=fH();Object.defineProperty(xt,"Impersonated",{enumerable:true,get:function(){return JAt.Impersonated}});var jbe=Bh();Object.defineProperty(xt,"CodeChallengeMethod",{enumerable:true,get:function(){return jbe.CodeChallengeMethod}});Object.defineProperty(xt,"OAuth2Client",{enumerable:true,get:function(){return jbe.OAuth2Client}});var QAt=YM();Object.defineProperty(xt,"LoginTicket",{enumerable:true,get:function(){return QAt.LoginTicket}});var XAt=dH();Object.defineProperty(xt,"UserRefreshClient",{enumerable:true,get:function(){return XAt.UserRefreshClient}});var ZAt=RH();Object.defineProperty(xt,"AwsClient",{enumerable:true,get:function(){return ZAt.AwsClient}});var ext=xH();Object.defineProperty(xt,"IdentityPoolClient",{enumerable:true,get:function(){return ext.IdentityPoolClient}});var txt=jH();Object.defineProperty(xt,"ExternalAccountClient",{enumerable:true,get:function(){return txt.ExternalAccountClient}});var rxt=kp();Object.defineProperty(xt,"BaseExternalAccountClient",{enumerable:true,get:function(){return rxt.BaseExternalAccountClient}});var nxt=Lbe();Object.defineProperty(xt,"DownscopedClient",{enumerable:true,get:function(){return nxt.DownscopedClient}});var ixt=k7();Object.defineProperty(xt,"PluggableAuthClient",{enumerable:true,get:function(){return ixt.PluggableAuthClient}});var sxt=P6();Object.defineProperty(xt,"DefaultTransporter",{enumerable:true,get:function(){return sxt.DefaultTransporter}});var axt=new qbe.GoogleAuth;xt.auth=axt});var eE=_(zg=>{"use strict";var oxt=zg&&zg.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(zg,"__esModule",{value:true});zg.getServiceAccountIdToken=void 0;var uxt=zH();var lxt=oxt(bu());var cxt=new uxt.GoogleAuth;var Ube=new lxt.default({max:50,maxAge:1e3*60*50});async function dxt(t){let e=Ube.get(t);if(!e){const r=await cxt.getIdTokenClient(t);e=await r.idTokenProvider.fetchIdToken(t);Ube.set(t,e)}return e}o(dxt,"getServiceAccountIdToken");zg.getServiceAccountIdToken=dxt});var Hbe=_(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:true});wo.mergeHeaders=wo.createFinalURL=wo.defaultBodySerializer=wo.defaultQuerySerializer=wo.createClient=void 0;var Kg=Ls();var pxt=eE();var fxt={"Content-Type":"application/json"};var hxt=/\/*$/;async function mxt(t){const{baseUrl:e,fetch:r=globalThis.fetch,querySerializer:n,bodySerializer:i,zuploExtensions:s,...a}=t;const u=s?.fastifyRequest.log;const l=s?.fastifyRequest.id;const c=s?.options?.userSub??s?.fastifyRequest.getUserSub();const d=new Headers({...fxt,"zuplo-user":c,"zp-rid":l,...a.headers??{}});const p=await(0,pxt.getServiceAccountIdToken)(e);d.set("Authorization",`Bearer ${p}`);async function f(h,m){const{headers:g,body:y,params:v={},parseAs:w="json",querySerializer:E=n??Bbe,bodySerializer:b=i??Fbe,...S}=m||{};const T=Mbe(h,{baseUrl:e,params:v,querySerializer:E});const x=Vbe(d,g,v.header);const D={redirect:"follow",...a,...S,headers:x};if(y)D.body=b(y);if(D.body instanceof FormData)x.delete("Content-Type");const k=await r(T,D);if(k.status===404){const B=await k.json();if(B&&B.hasOwnProperty("type")&&B.hasOwnProperty("title")&&B.hasOwnProperty("status")){throw new Kg.ApiError(B)}throw new Kg.ApiError(Kg.Problems.NOT_FOUND)}if(k.status===204||k.headers.get("Content-Length")==="0"){return k.ok?{data:{},response:k}:{error:{},response:k}}if(k.ok){let B=k.body;if(w!=="stream"){const V=k.clone();B=typeof V[w]==="function"?await V[w]():await V.text()}return{data:B,response:k}}else{u.debug(`Error on internal api: path: ${T}, status: ${k.status}, headers: ${JSON.stringify(k.headers)}, body: ${await k.clone().text()}`);let B={};try{B=await k.clone().json();if(B.type&&B.status&&B.title){throw new Kg.ApiError(B)}}catch(V){}throw new Kg.ApiError(Kg.Problems.INTERNAL_SERVER_ERROR)}}o(f,"coreFetch");return{async GET(h,m){return f(h,{...m,method:"GET"})},async PUT(h,m){return f(h,{...m,method:"PUT"})},async POST(h,m){return f(h,{...m,method:"POST"})},async DELETE(h,m){return f(h,{...m,method:"DELETE"})},async OPTIONS(h,m){return f(h,{...m,method:"OPTIONS"})},async HEAD(h,m){return f(h,{...m,method:"HEAD"})},async PATCH(h,m){return f(h,{...m,method:"PATCH"})},async TRACE(h,m){return f(h,{...m,method:"TRACE"})}}}o(mxt,"createClient");wo.createClient=mxt;function Bbe(t){const e=new URLSearchParams;if(t&&typeof t==="object"){for(const[r,n]of Object.entries(t)){if(n===void 0||n===null)continue;e.set(r,n)}}return e.toString()}o(Bbe,"defaultQuerySerializer");wo.defaultQuerySerializer=Bbe;function Fbe(t){return JSON.stringify(t)}o(Fbe,"defaultBodySerializer");wo.defaultBodySerializer=Fbe;function Mbe(t,e){let r=`${e.baseUrl?e.baseUrl.replace(hxt,""):""}${t}`;if(e.params.path){for(const[n,i]of Object.entries(e.params.path))r=r.replace(`{${n}}`,encodeURIComponent(String(i)))}if(e.params.query){const n=e.querySerializer(e.params.query);if(n)r+=`?${n}`}return r}o(Mbe,"createFinalURL");wo.createFinalURL=Mbe;function Vbe(...t){const e=new Headers;for(const r of t){if(!r||typeof r!=="object")continue;const n=r instanceof Headers?r.entries():Object.entries(r);for(const[i,s]of n){if(s!==void 0&&s!==null){e.set(i,s)}}}return e}o(Vbe,"mergeHeaders");wo.mergeHeaders=Vbe});var Gbe=_($p=>{"use strict";var gxt=$p&&$p.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty($p,"__esModule",{value:true});$p.ApiKeyService=$p.createApiKeyServiceClient=void 0;var Yg=Ls();var yxt=zH();var B7=gxt(Ro());var vxt=Hbe();async function _xt(t){return(0,vxt.createClient)({baseUrl:B7.default.API_KEY_MANAGEMENT_SERVICE_URL,zuploExtensions:{fastifyRequest:t}})}o(_xt,"createApiKeyServiceClient");$p.createApiKeyServiceClient=_xt;var KH=class{static{o(this,"ApiKeyService")}logger;requestId;constructor(e){this.logger=e.log;this.requestId=e.id}async fetchGCP(e,r={}){this.logger.info(`Fetching with GCP JWT ${r.method} ${e} from Api Key Service API.`);const n=new yxt.GoogleAuth;const i=await n.getIdTokenClient(B7.default.API_KEY_MANAGEMENT_SERVICE_URL);this.logger.info(`Payload to send: ${JSON.stringify({url:`${B7.default.API_KEY_MANAGEMENT_SERVICE_URL}/${e}`,method:"GET",body:r.body,headers:{...r.headers,...r.method!=="DELETE"&&{"content-type":"application/json"}}})}`);const s=await i.getRequestHeaders();const a=await i.request({url:`${B7.default.API_KEY_MANAGEMENT_SERVICE_URL}/${e}`,method:r.method||"GET",body:r.body,headers:{...s,...r.headers,...r.method!=="DELETE"&&{"content-type":"application/json"}},validateStatus:u=>u>=200&&u<500});if(a.status===404){const u=await a.data;if(u&&u.hasOwnProperty("type")&&u.hasOwnProperty("title")&&u.hasOwnProperty("status")){throw new Yg.ApiError(u)}throw new Yg.ApiError(Yg.Problems.NOT_FOUND)}if(a.status>=300){this.logger.debug(`Error on api-key-service: path: ${e}, status: ${a.status}, headers: ${JSON.stringify(a.headers)}, body: ${JSON.stringify(a.data)}`);const u=a.data;if(u.type&&u.status&&u.title){throw new Yg.ApiError(u)}this.logger.error(`Error not handled on api-key-service: path: ${e}, status: ${a.status}`);throw new Yg.ApiError(Yg.Problems.INTERNAL_SERVER_ERROR)}if(a.status===204){return{}}return a.data}};$p.ApiKeyService=KH});var Kbe=_(Wg=>{"use strict";var Ext=Wg&&Wg.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(Wg,"__esModule",{value:true});Wg.AuthApiService=void 0;var Qh=Ls();var zbe=Ext(Ro());var bxt=eE();var YH=class{static{o(this,"AuthApiService")}logger;requestId;baseUrl;constructor(e){this.logger=e.log;this.requestId=e.id;if(!zbe.default.AUTH_API_URL){throw new Error("AUTH_API_URL is not set")}this.baseUrl=zbe.default.AUTH_API_URL}async getClientJWT(e){let r;try{r=await this.fetch(`/v1/clients/${e}`,{method:"GET"})}catch(i){if(i.status===Qh.Problems.NOT_FOUND.status){r=await this.fetch(`/v1/clients`,{method:"POST",body:JSON.stringify({client_id:e})})}else{throw i}}const n=await this.fetch(`/v1/oauth/token`,{method:"POST",body:JSON.stringify({client_id:e,client_secret:r.client_secret,grant_type:"client_credentials"})},true);return n.access_token}async fetch(e,r,n=false){this.logger.info(`Fetching internally ${e} from Auth API V2.`);const i=new Headers({"content-type":"application/json","zp-rid":this.requestId,authorization:""});if(process.env.K_SERVICE){const a=await(0,bxt.getServiceAccountIdToken)(this.baseUrl);i.set("Authorization",`Bearer ${a}`)}const s=await fetch(`${this.baseUrl}${e}`,{...r,headers:i});if(s.status===Qh.HttpStatusCode.NOT_FOUND){throw new Qh.ApiError(Qh.Problems.NOT_FOUND)}if(!s.ok){this.logger.debug(`Error on auth-api: path: ${e}, status: ${s.status}`);const a=await s.clone().json();if(a.type&&a.status&&a.title){throw new Qh.ApiError(a)}this.logger.error(`Error not handled on auth-api: path: ${e}, status: ${s.status}`);throw new Qh.ApiError(Qh.Problems.INTERNAL_SERVER_ERROR)}return s.clone().json()}};Wg.AuthApiService=YH});var M7=_(F7=>{"use strict";Object.defineProperty(F7,"__esModule",{value:true});F7.ApiServiceClient=void 0;var Jg=Ls();var wxt=eE();var WH=class{static{o(this,"ApiServiceClient")}userSub;logger;requestId;baseUrl;cache;constructor(e,r,n){this.userSub=n.userSub;this.logger=n.logger;this.requestId=n.requestId;this.baseUrl=e;this.cache=r}async cachedFetch(e,r,n){if(!this.userSub||!n){throw new Error("userSub and cacheKey parameters are required to use cachedFetch")}const i=`${this.userSub}@${n}`;if(this.cache.has(i)){return this.cache.get(i)}const s=await this.fetchInternally(e,r);this.cache.set(i,s);return s}async fetchInternally(e,r){this.logger.info(`Fetching internally ${r.method} ${this.baseUrl}${e}`);const n=new Headers({...r.headers,"zuplo-user":this.userSub,"content-type":"application/json","zp-rid":this.requestId});if(process.env.K_SERVICE){const s=await(0,wxt.getServiceAccountIdToken)(this.baseUrl);n.set("Authorization",`Bearer ${s}`)}const i=await fetch(`${this.baseUrl}${e}`,{...r,headers:n});if(i.status===404){const s=await i.json();if(s&&s.hasOwnProperty("type")&&s.hasOwnProperty("title")&&s.hasOwnProperty("status")){throw new Jg.ApiError(s)}throw new Jg.ApiError(Jg.Problems.NOT_FOUND)}if(!i.ok){this.logger.debug(`Error on internal api: path: ${e}, status: ${i.status}, headers: ${JSON.stringify(i.headers)}, body: ${JSON.stringify(i.clone().text())}`);const s=await i.clone().json();if(s.type&&s.status&&s.title){throw new Jg.ApiError(s)}this.logger.error(`Error not handled on internal api: path: ${e}, status: ${i.status}`);throw new Jg.ApiError(Jg.Problems.INTERNAL_SERVER_ERROR)}if(i.status===204){return{}}return i.clone().json()}};F7.ApiServiceClient=WH});var Qbe=_(El=>{"use strict";var Wbe=El&&El.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(El,"__esModule",{value:true});El.ContentApiService=El.getContentApiStorageTarballPath=El.contentApiTarballFileName=void 0;var Sxt=Wbe(bu());var Ybe=Wbe(Ro());var Txt=M7();var Axt=new Sxt.default({max:500,maxAge:1e3*60*50});function Jbe(t,e){return`${t}--${e}.tar.gz`}o(Jbe,"contentApiTarballFileName");El.contentApiTarballFileName=Jbe;function xxt(t,e){const r=Jbe(t,e);return`${t}/builds/${r}`}o(xxt,"getContentApiStorageTarballPath");El.getContentApiStorageTarballPath=xxt;var JH=class extends Txt.ApiServiceClient{static{o(this,"ContentApiService")}constructor(e){if(!Ybe.default.CONTENT_API_URL){throw new Error("CONTENT_API_URL is not set")}super(Ybe.default.CONTENT_API_URL,Axt,e)}};El.ContentApiService=JH});var e9e=_(Qg=>{"use strict";var Zbe=Qg&&Qg.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(Qg,"__esModule",{value:true});Qg.DevApiService=void 0;var Cxt=Zbe(bu());var Xbe=Zbe(Ro());var Rxt=M7();var Nxt=new Cxt.default({max:500,maxAge:1e3*60*50});var QH=class extends Rxt.ApiServiceClient{static{o(this,"DevApiService")}constructor(e,r){if(!Xbe.default.DEV_API_URL){throw new Error("DEV_API_URL is not set")}const n=r&&r.userSub?r.userSub:e.getUserSub();super(Xbe.default.DEV_API_URL,Nxt,{userSub:n,logger:e.log,requestId:e.id})}};Qg.DevApiService=QH});var n9e=_(Xg=>{"use strict";var r9e=Xg&&Xg.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(Xg,"__esModule",{value:true});Xg.TenantService=void 0;var Oxt=r9e(bu());var t9e=r9e(Ro());var Ixt=M7();var Pxt=new Oxt.default({max:500,maxAge:1e3*60*50});var XH=class extends Ixt.ApiServiceClient{static{o(this,"TenantService")}constructor(e,r){if(!t9e.default.TENANT_API_URL){throw new Error("TENANT_API_URL is not set")}const n=r&&r.userSub?r.userSub:e.getUserSub();super(t9e.default.TENANT_API_URL,Pxt,{userSub:n,logger:e.log,requestId:e.id})}};Xg.TenantService=XH});var i9e=_(bl=>{"use strict";Object.defineProperty(bl,"__esModule",{value:true});bl.validateHostname=bl.kebabCase=bl.snakeCase=bl.sizeInBytes=void 0;function Dxt(t){return new TextEncoder().encode(JSON.stringify(t)).length}o(Dxt,"sizeInBytes");bl.sizeInBytes=Dxt;function kxt(t){if(!t||t===null){return""}return t.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)?.map(e=>e.toLowerCase()).join("_")}o(kxt,"snakeCase");bl.snakeCase=kxt;function $xt(t){if(!t||t===null){return""}const e=t.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g);if(e===null){return""}return e.map(r=>r.toLowerCase()).join("-")}o($xt,"kebabCase");bl.kebabCase=$xt;function Lxt(t){try{const e=/^(?!https?:\/\/)([a-zA-Z0-9.-]*|(\*))*\.[a-zA-Z]+$/;if(t&&!e.test(t)){return false}return true}catch(e){}return false}o(Lxt,"validateHostname");bl.validateHostname=Lxt});var s9e=_(V7=>{"use strict";Object.defineProperty(V7,"__esModule",{value:true});V7.getCurrentUtcDateTime=void 0;function qxt(){const t={year:"numeric",month:"short",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:true,timeZone:"UTC"};const e=new Date().toLocaleString("en-US",t);return e}o(qxt,"getCurrentUtcDateTime");V7.getCurrentUtcDateTime=qxt});var u9e=_(z=>{"use strict";Object.defineProperty(z,"__esModule",{value:true});z.Type=z.JsonType=z.JavaScriptTypeBuilder=z.JsonTypeBuilder=z.TypeBuilder=z.TypeBuilderError=z.TransformEncodeBuilder=z.TransformDecodeBuilder=z.TemplateLiteralDslParser=z.TemplateLiteralGenerator=z.TemplateLiteralGeneratorError=z.TemplateLiteralFinite=z.TemplateLiteralFiniteError=z.TemplateLiteralParser=z.TemplateLiteralParserError=z.TemplateLiteralResolver=z.TemplateLiteralPattern=z.TemplateLiteralPatternError=z.UnionResolver=z.KeyArrayResolver=z.KeyArrayResolverError=z.KeyResolver=z.ObjectMap=z.Intrinsic=z.IndexedAccessor=z.TypeClone=z.TypeExtends=z.TypeExtendsResult=z.TypeExtendsError=z.ExtendsUndefined=z.TypeGuard=z.TypeGuardUnknownTypeError=z.ValueGuard=z.FormatRegistry=z.TypeBoxError=z.TypeRegistry=z.PatternStringExact=z.PatternNumberExact=z.PatternBooleanExact=z.PatternString=z.PatternNumber=z.PatternBoolean=z.Kind=z.Hint=z.Optional=z.Readonly=z.Transform=void 0;z.Transform=Symbol.for("TypeBox.Transform");z.Readonly=Symbol.for("TypeBox.Readonly");z.Optional=Symbol.for("TypeBox.Optional");z.Hint=Symbol.for("TypeBox.Hint");z.Kind=Symbol.for("TypeBox.Kind");z.PatternBoolean="(true|false)";z.PatternNumber="(0|[1-9][0-9]*)";z.PatternString="(.*)";z.PatternBooleanExact=`^${z.PatternBoolean}$`;z.PatternNumberExact=`^${z.PatternNumber}$`;z.PatternStringExact=`^${z.PatternString}$`;var ZH;(function(t){const e=new Map;function r(){return new Map(e)}o(r,"Entries");t.Entries=r;function n(){return e.clear()}o(n,"Clear");t.Clear=n;function i(l){return e.delete(l)}o(i,"Delete");t.Delete=i;function s(l){return e.has(l)}o(s,"Has");t.Has=s;function a(l,c){e.set(l,c)}o(a,"Set");t.Set=a;function u(l){return e.get(l)}o(u,"Get");t.Get=u})(ZH||(z.TypeRegistry=ZH={}));var pu=class extends Error{static{o(this,"TypeBoxError")}constructor(e){super(e)}};z.TypeBoxError=pu;var a9e;(function(t){const e=new Map;function r(){return new Map(e)}o(r,"Entries");t.Entries=r;function n(){return e.clear()}o(n,"Clear");t.Clear=n;function i(l){return e.delete(l)}o(i,"Delete");t.Delete=i;function s(l){return e.has(l)}o(s,"Has");t.Has=s;function a(l,c){e.set(l,c)}o(a,"Set");t.Set=a;function u(l){return e.get(l)}o(u,"Get");t.Get=u})(a9e||(z.FormatRegistry=a9e={}));var Le;(function(t){function e(c){return Array.isArray(c)}o(e,"IsArray");t.IsArray=e;function r(c){return typeof c==="bigint"}o(r,"IsBigInt");t.IsBigInt=r;function n(c){return typeof c==="boolean"}o(n,"IsBoolean");t.IsBoolean=n;function i(c){return c===null}o(i,"IsNull");t.IsNull=i;function s(c){return typeof c==="number"}o(s,"IsNumber");t.IsNumber=s;function a(c){return typeof c==="object"&&c!==null}o(a,"IsObject");t.IsObject=a;function u(c){return typeof c==="string"}o(u,"IsString");t.IsString=u;function l(c){return c===void 0}o(l,"IsUndefined");t.IsUndefined=l})(Le||(z.ValueGuard=Le={}));var eG=class extends pu{static{o(this,"TypeGuardUnknownTypeError")}};z.TypeGuardUnknownTypeError=eG;var Y;(function(t){function e(A){try{new RegExp(A);return true}catch{return false}}o(e,"IsPattern");function r(A){if(!Le.IsString(A))return false;for(let ie=0;ie<A.length;ie++){const le=A.charCodeAt(ie);if(le>=7&&le<=13||le===27||le===127){return false}}return true}o(r,"IsControlCharacterFree");function n(A){return a(A)||J(A)}o(n,"IsAdditionalProperties");function i(A){return Le.IsUndefined(A)||Le.IsBigInt(A)}o(i,"IsOptionalBigInt");function s(A){return Le.IsUndefined(A)||Le.IsNumber(A)}o(s,"IsOptionalNumber");function a(A){return Le.IsUndefined(A)||Le.IsBoolean(A)}o(a,"IsOptionalBoolean");function u(A){return Le.IsUndefined(A)||Le.IsString(A)}o(u,"IsOptionalString");function l(A){return Le.IsUndefined(A)||Le.IsString(A)&&r(A)&&e(A)}o(l,"IsOptionalPattern");function c(A){return Le.IsUndefined(A)||Le.IsString(A)&&r(A)}o(c,"IsOptionalFormat");function d(A){return Le.IsUndefined(A)||J(A)}o(d,"IsOptionalSchema");function p(A){return T(A,"Any")&&u(A.$id)}o(p,"TAny");t.TAny=p;function f(A){return T(A,"Array")&&A.type==="array"&&u(A.$id)&&J(A.items)&&s(A.minItems)&&s(A.maxItems)&&a(A.uniqueItems)&&d(A.contains)&&s(A.minContains)&&s(A.maxContains)}o(f,"TArray");t.TArray=f;function h(A){return T(A,"AsyncIterator")&&A.type==="AsyncIterator"&&u(A.$id)&&J(A.items)}o(h,"TAsyncIterator");t.TAsyncIterator=h;function m(A){return T(A,"BigInt")&&A.type==="bigint"&&u(A.$id)&&i(A.exclusiveMaximum)&&i(A.exclusiveMinimum)&&i(A.maximum)&&i(A.minimum)&&i(A.multipleOf)}o(m,"TBigInt");t.TBigInt=m;function g(A){return T(A,"Boolean")&&A.type==="boolean"&&u(A.$id)}o(g,"TBoolean");t.TBoolean=g;function y(A){return T(A,"Constructor")&&A.type==="constructor"&&u(A.$id)&&Le.IsArray(A.parameters)&&A.parameters.every(ie=>J(ie))&&J(A.returns)}o(y,"TConstructor");t.TConstructor=y;function v(A){return T(A,"Date")&&A.type==="Date"&&u(A.$id)&&s(A.exclusiveMaximumTimestamp)&&s(A.exclusiveMinimumTimestamp)&&s(A.maximumTimestamp)&&s(A.minimumTimestamp)&&s(A.multipleOfTimestamp)}o(v,"TDate");t.TDate=v;function w(A){return T(A,"Function")&&A.type==="function"&&u(A.$id)&&Le.IsArray(A.parameters)&&A.parameters.every(ie=>J(ie))&&J(A.returns)}o(w,"TFunction");t.TFunction=w;function E(A){return T(A,"Integer")&&A.type==="integer"&&u(A.$id)&&s(A.exclusiveMaximum)&&s(A.exclusiveMinimum)&&s(A.maximum)&&s(A.minimum)&&s(A.multipleOf)}o(E,"TInteger");t.TInteger=E;function b(A){return T(A,"Intersect")&&(Le.IsString(A.type)&&A.type!=="object"?false:true)&&Le.IsArray(A.allOf)&&A.allOf.every(ie=>J(ie)&&!Me(ie))&&u(A.type)&&(a(A.unevaluatedProperties)||d(A.unevaluatedProperties))&&u(A.$id)}o(b,"TIntersect");t.TIntersect=b;function S(A){return T(A,"Iterator")&&A.type==="Iterator"&&u(A.$id)&&J(A.items)}o(S,"TIterator");t.TIterator=S;function T(A,ie){return x(A)&&A[z.Kind]===ie}o(T,"TKindOf");t.TKindOf=T;function x(A){return Le.IsObject(A)&&z.Kind in A&&Le.IsString(A[z.Kind])}o(x,"TKind");t.TKind=x;function D(A){return V(A)&&Le.IsString(A.const)}o(D,"TLiteralString");t.TLiteralString=D;function k(A){return V(A)&&Le.IsNumber(A.const)}o(k,"TLiteralNumber");t.TLiteralNumber=k;function B(A){return V(A)&&Le.IsBoolean(A.const)}o(B,"TLiteralBoolean");t.TLiteralBoolean=B;function V(A){return T(A,"Literal")&&u(A.$id)&&(Le.IsBoolean(A.const)||Le.IsNumber(A.const)||Le.IsString(A.const))}o(V,"TLiteral");t.TLiteral=V;function U(A){return T(A,"Never")&&Le.IsObject(A.not)&&Object.getOwnPropertyNames(A.not).length===0}o(U,"TNever");t.TNever=U;function X(A){return T(A,"Not")&&J(A.not)}o(X,"TNot");t.TNot=X;function oe(A){return T(A,"Null")&&A.type==="null"&&u(A.$id)}o(oe,"TNull");t.TNull=oe;function we(A){return T(A,"Number")&&A.type==="number"&&u(A.$id)&&s(A.exclusiveMaximum)&&s(A.exclusiveMinimum)&&s(A.maximum)&&s(A.minimum)&&s(A.multipleOf)}o(we,"TNumber");t.TNumber=we;function ue(A){return T(A,"Object")&&A.type==="object"&&u(A.$id)&&Le.IsObject(A.properties)&&n(A.additionalProperties)&&s(A.minProperties)&&s(A.maxProperties)&&Object.entries(A.properties).every(([ie,le])=>r(ie)&&J(le))}o(ue,"TObject");t.TObject=ue;function he(A){return T(A,"Promise")&&A.type==="Promise"&&u(A.$id)&&J(A.item)}o(he,"TPromise");t.TPromise=he;function Ge(A){return T(A,"Record")&&A.type==="object"&&u(A.$id)&&n(A.additionalProperties)&&Le.IsObject(A.patternProperties)&&(ie=>{const le=Object.getOwnPropertyNames(ie.patternProperties);return le.length===1&&e(le[0])&&Le.IsObject(ie.patternProperties)&&J(ie.patternProperties[le[0]])})(A)}o(Ge,"TRecord");t.TRecord=Ge;function Se(A){return Le.IsObject(A)&&z.Hint in A&&A[z.Hint]==="Recursive"}o(Se,"TRecursive");t.TRecursive=Se;function Pe(A){return T(A,"Ref")&&u(A.$id)&&Le.IsString(A.$ref)}o(Pe,"TRef");t.TRef=Pe;function Ke(A){return T(A,"String")&&A.type==="string"&&u(A.$id)&&s(A.minLength)&&s(A.maxLength)&&l(A.pattern)&&c(A.format)}o(Ke,"TString");t.TString=Ke;function qe(A){return T(A,"Symbol")&&A.type==="symbol"&&u(A.$id)}o(qe,"TSymbol");t.TSymbol=qe;function ge(A){return T(A,"TemplateLiteral")&&A.type==="string"&&Le.IsString(A.pattern)&&A.pattern[0]==="^"&&A.pattern[A.pattern.length-1]==="$"}o(ge,"TTemplateLiteral");t.TTemplateLiteral=ge;function at(A){return T(A,"This")&&u(A.$id)&&Le.IsString(A.$ref)}o(at,"TThis");t.TThis=at;function Me(A){return Le.IsObject(A)&&z.Transform in A}o(Me,"TTransform");t.TTransform=Me;function Ne(A){return T(A,"Tuple")&&A.type==="array"&&u(A.$id)&&Le.IsNumber(A.minItems)&&Le.IsNumber(A.maxItems)&&A.minItems===A.maxItems&&(Le.IsUndefined(A.items)&&Le.IsUndefined(A.additionalItems)&&A.minItems===0||Le.IsArray(A.items)&&A.items.every(ie=>J(ie)))}o(Ne,"TTuple");t.TTuple=Ne;function Ze(A){return T(A,"Undefined")&&A.type==="undefined"&&u(A.$id)}o(Ze,"TUndefined");t.TUndefined=Ze;function ze(A){return C(A)&&A.anyOf.every(ie=>D(ie)||k(ie))}o(ze,"TUnionLiteral");t.TUnionLiteral=ze;function C(A){return T(A,"Union")&&u(A.$id)&&Le.IsObject(A)&&Le.IsArray(A.anyOf)&&A.anyOf.every(ie=>J(ie))}o(C,"TUnion");t.TUnion=C;function O(A){return T(A,"Uint8Array")&&A.type==="Uint8Array"&&u(A.$id)&&s(A.minByteLength)&&s(A.maxByteLength)}o(O,"TUint8Array");t.TUint8Array=O;function q(A){return T(A,"Unknown")&&u(A.$id)}o(q,"TUnknown");t.TUnknown=q;function G(A){return T(A,"Unsafe")}o(G,"TUnsafe");t.TUnsafe=G;function W(A){return T(A,"Void")&&A.type==="void"&&u(A.$id)}o(W,"TVoid");t.TVoid=W;function K(A){return Le.IsObject(A)&&A[z.Readonly]==="Readonly"}o(K,"TReadonly");t.TReadonly=K;function se(A){return Le.IsObject(A)&&A[z.Optional]==="Optional"}o(se,"TOptional");t.TOptional=se;function J(A){return Le.IsObject(A)&&(p(A)||f(A)||g(A)||m(A)||h(A)||y(A)||v(A)||w(A)||E(A)||b(A)||S(A)||V(A)||U(A)||X(A)||oe(A)||we(A)||ue(A)||he(A)||Ge(A)||Pe(A)||Ke(A)||qe(A)||ge(A)||at(A)||Ne(A)||Ze(A)||C(A)||O(A)||q(A)||G(A)||W(A)||x(A)&&ZH.Has(A[z.Kind]))}o(J,"TSchema");t.TSchema=J})(Y||(z.TypeGuard=Y={}));var o9e;(function(t){function e(r){return r[z.Kind]==="Intersect"?r.allOf.every(n=>e(n)):r[z.Kind]==="Union"?r.anyOf.some(n=>e(n)):r[z.Kind]==="Undefined"?true:r[z.Kind]==="Not"?!e(r.not):false}o(e,"Check");t.Check=e})(o9e||(z.ExtendsUndefined=o9e={}));var H7=class extends pu{static{o(this,"TypeExtendsError")}};z.TypeExtendsError=H7;var _e;(function(t){t[t["Union"]=0]="Union";t[t["True"]=1]="True";t[t["False"]=2]="False"})(_e||(z.TypeExtendsResult=_e={}));var Xh;(function(t){function e(j){return j===_e.False?j:_e.True}o(e,"IntoBooleanResult");function r(j){throw new H7(j)}o(r,"Throw");function n(j){return Y.TNever(j)||Y.TIntersect(j)||Y.TUnion(j)||Y.TUnknown(j)||Y.TAny(j)}o(n,"IsStructuralRight");function i(j,$){return Y.TNever($)?T(j,$):Y.TIntersect($)?w(j,$):Y.TUnion($)?Ye(j,$):Y.TUnknown($)?Qt(j,$):Y.TAny($)?s(j,$):r("StructuralRight")}o(i,"StructuralRight");function s(j,$){return _e.True}o(s,"TAnyRight");function a(j,$){return Y.TIntersect($)?w(j,$):Y.TUnion($)&&$.anyOf.some(He=>Y.TAny(He)||Y.TUnknown(He))?_e.True:Y.TUnion($)?_e.Union:Y.TUnknown($)?_e.True:Y.TAny($)?_e.True:_e.Union}o(a,"TAny");function u(j,$){return Y.TUnknown(j)?_e.False:Y.TAny(j)?_e.Union:Y.TNever(j)?_e.True:_e.False}o(u,"TArrayRight");function l(j,$){return Y.TObject($)&&ge($)?_e.True:n($)?i(j,$):!Y.TArray($)?_e.False:e(ct(j.items,$.items))}o(l,"TArray");function c(j,$){return n($)?i(j,$):!Y.TAsyncIterator($)?_e.False:e(ct(j.items,$.items))}o(c,"TAsyncIterator");function d(j,$){return n($)?i(j,$):Y.TObject($)?Ne(j,$):Y.TRecord($)?q(j,$):Y.TBigInt($)?_e.True:_e.False}o(d,"TBigInt");function p(j,$){return Y.TLiteral(j)&&Le.IsBoolean(j.const)?_e.True:Y.TBoolean(j)?_e.True:_e.False}o(p,"TBooleanRight");function f(j,$){return n($)?i(j,$):Y.TObject($)?Ne(j,$):Y.TRecord($)?q(j,$):Y.TBoolean($)?_e.True:_e.False}o(f,"TBoolean");function h(j,$){return n($)?i(j,$):Y.TObject($)?Ne(j,$):!Y.TConstructor($)?_e.False:j.parameters.length>$.parameters.length?_e.False:!j.parameters.every((He,ar)=>e(ct($.parameters[ar],He))===_e.True)?_e.False:e(ct(j.returns,$.returns))}o(h,"TConstructor");function m(j,$){return n($)?i(j,$):Y.TObject($)?Ne(j,$):Y.TRecord($)?q(j,$):Y.TDate($)?_e.True:_e.False}o(m,"TDate");function g(j,$){return n($)?i(j,$):Y.TObject($)?Ne(j,$):!Y.TFunction($)?_e.False:j.parameters.length>$.parameters.length?_e.False:!j.parameters.every((He,ar)=>e(ct($.parameters[ar],He))===_e.True)?_e.False:e(ct(j.returns,$.returns))}o(g,"TFunction");function y(j,$){return Y.TLiteral(j)&&Le.IsNumber(j.const)?_e.True:Y.TNumber(j)||Y.TInteger(j)?_e.True:_e.False}o(y,"TIntegerRight");function v(j,$){return Y.TInteger($)||Y.TNumber($)?_e.True:n($)?i(j,$):Y.TObject($)?Ne(j,$):Y.TRecord($)?q(j,$):_e.False}o(v,"TInteger");function w(j,$){return $.allOf.every(He=>ct(j,He)===_e.True)?_e.True:_e.False}o(w,"TIntersectRight");function E(j,$){return j.allOf.some(He=>ct(He,$)===_e.True)?_e.True:_e.False}o(E,"TIntersect");function b(j,$){return n($)?i(j,$):!Y.TIterator($)?_e.False:e(ct(j.items,$.items))}o(b,"TIterator");function S(j,$){return Y.TLiteral($)&&$.const===j.const?_e.True:n($)?i(j,$):Y.TObject($)?Ne(j,$):Y.TRecord($)?q(j,$):Y.TString($)?W(j,$):Y.TNumber($)?V(j,$):Y.TInteger($)?y(j,$):Y.TBoolean($)?p(j,$):_e.False}o(S,"TLiteral");function T(j,$){return _e.False}o(T,"TNeverRight");function x(j,$){return _e.True}o(x,"TNever");function D(j){let[$,He]=[j,0];while(true){if(!Y.TNot($))break;$=$.not;He+=1}return He%2===0?$:z.Type.Unknown()}o(D,"UnwrapTNot");function k(j,$){return Y.TNot(j)?ct(D(j),$):Y.TNot($)?ct(j,D($)):r("Invalid fallthrough for Not")}o(k,"TNot");function B(j,$){return n($)?i(j,$):Y.TObject($)?Ne(j,$):Y.TRecord($)?q(j,$):Y.TNull($)?_e.True:_e.False}o(B,"TNull");function V(j,$){return Y.TLiteralNumber(j)?_e.True:Y.TNumber(j)||Y.TInteger(j)?_e.True:_e.False}o(V,"TNumberRight");function U(j,$){return n($)?i(j,$):Y.TObject($)?Ne(j,$):Y.TRecord($)?q(j,$):Y.TInteger($)||Y.TNumber($)?_e.True:_e.False}o(U,"TNumber");function X(j,$){return Object.getOwnPropertyNames(j.properties).length===$}o(X,"IsObjectPropertyCount");function oe(j){return ge(j)}o(oe,"IsObjectStringLike");function we(j){return X(j,0)||X(j,1)&&"description"in j.properties&&Y.TUnion(j.properties.description)&&j.properties.description.anyOf.length===2&&(Y.TString(j.properties.description.anyOf[0])&&Y.TUndefined(j.properties.description.anyOf[1])||Y.TString(j.properties.description.anyOf[1])&&Y.TUndefined(j.properties.description.anyOf[0]))}o(we,"IsObjectSymbolLike");function ue(j){return X(j,0)}o(ue,"IsObjectNumberLike");function he(j){return X(j,0)}o(he,"IsObjectBooleanLike");function Ge(j){return X(j,0)}o(Ge,"IsObjectBigIntLike");function Se(j){return X(j,0)}o(Se,"IsObjectDateLike");function Pe(j){return ge(j)}o(Pe,"IsObjectUint8ArrayLike");function Ke(j){const $=z.Type.Number();return X(j,0)||X(j,1)&&"length"in j.properties&&e(ct(j.properties["length"],$))===_e.True}o(Ke,"IsObjectFunctionLike");function qe(j){return X(j,0)}o(qe,"IsObjectConstructorLike");function ge(j){const $=z.Type.Number();return X(j,0)||X(j,1)&&"length"in j.properties&&e(ct(j.properties["length"],$))===_e.True}o(ge,"IsObjectArrayLike");function at(j){const $=z.Type.Function([z.Type.Any()],z.Type.Any());return X(j,0)||X(j,1)&&"then"in j.properties&&e(ct(j.properties["then"],$))===_e.True}o(at,"IsObjectPromiseLike");function Me(j,$){return ct(j,$)===_e.False?_e.False:Y.TOptional(j)&&!Y.TOptional($)?_e.False:_e.True}o(Me,"Property");function Ne(j,$){return Y.TUnknown(j)?_e.False:Y.TAny(j)?_e.Union:Y.TNever(j)||Y.TLiteralString(j)&&oe($)||Y.TLiteralNumber(j)&&ue($)||Y.TLiteralBoolean(j)&&he($)||Y.TSymbol(j)&&we($)||Y.TBigInt(j)&&Ge($)||Y.TString(j)&&oe($)||Y.TSymbol(j)&&we($)||Y.TNumber(j)&&ue($)||Y.TInteger(j)&&ue($)||Y.TBoolean(j)&&he($)||Y.TUint8Array(j)&&Pe($)||Y.TDate(j)&&Se($)||Y.TConstructor(j)&&qe($)||Y.TFunction(j)&&Ke($)?_e.True:Y.TRecord(j)&&Y.TString(C(j))?(()=>{return $[z.Hint]==="Record"?_e.True:_e.False})():Y.TRecord(j)&&Y.TNumber(C(j))?(()=>{return X($,0)?_e.True:_e.False})():_e.False}o(Ne,"TObjectRight");function Ze(j,$){return n($)?i(j,$):Y.TRecord($)?q(j,$):!Y.TObject($)?_e.False:(()=>{for(const He of Object.getOwnPropertyNames($.properties)){if(!(He in j.properties))return _e.False;if(Me(j.properties[He],$.properties[He])===_e.False){return _e.False}}return _e.True})()}o(Ze,"TObject");function ze(j,$){return n($)?i(j,$):Y.TObject($)&&at($)?_e.True:!Y.TPromise($)?_e.False:e(ct(j.item,$.item))}o(ze,"TPromise");function C(j){return z.PatternNumberExact in j.patternProperties?z.Type.Number():z.PatternStringExact in j.patternProperties?z.Type.String():r("Unknown record key pattern")}o(C,"RecordKey");function O(j){return z.PatternNumberExact in j.patternProperties?j.patternProperties[z.PatternNumberExact]:z.PatternStringExact in j.patternProperties?j.patternProperties[z.PatternStringExact]:r("Unable to get record value schema")}o(O,"RecordValue");function q(j,$){const[He,ar]=[C($),O($)];return Y.TLiteralString(j)&&Y.TNumber(He)&&e(ct(j,ar))===_e.True?_e.True:Y.TUint8Array(j)&&Y.TNumber(He)?ct(j,ar):Y.TString(j)&&Y.TNumber(He)?ct(j,ar):Y.TArray(j)&&Y.TNumber(He)?ct(j,ar):Y.TObject(j)?(()=>{for(const ai of Object.getOwnPropertyNames(j.properties)){if(Me(ar,j.properties[ai])===_e.False){return _e.False}}return _e.True})():_e.False}o(q,"TRecordRight");function G(j,$){return n($)?i(j,$):Y.TObject($)?Ne(j,$):!Y.TRecord($)?_e.False:ct(O(j),O($))}o(G,"TRecord");function W(j,$){return Y.TLiteral(j)&&Le.IsString(j.const)?_e.True:Y.TString(j)?_e.True:_e.False}o(W,"TStringRight");function K(j,$){return n($)?i(j,$):Y.TObject($)?Ne(j,$):Y.TRecord($)?q(j,$):Y.TString($)?_e.True:_e.False}o(K,"TString");function se(j,$){return n($)?i(j,$):Y.TObject($)?Ne(j,$):Y.TRecord($)?q(j,$):Y.TSymbol($)?_e.True:_e.False}o(se,"TSymbol");function J(j,$){return Y.TTemplateLiteral(j)?ct(Pc.Resolve(j),$):Y.TTemplateLiteral($)?ct(j,Pc.Resolve($)):r("Invalid fallthrough for TemplateLiteral")}o(J,"TTemplateLiteral");function A(j,$){return Y.TArray($)&&j.items!==void 0&&j.items.every(He=>ct(He,$.items)===_e.True)}o(A,"IsArrayOfTuple");function ie(j,$){return Y.TNever(j)?_e.True:Y.TUnknown(j)?_e.False:Y.TAny(j)?_e.Union:_e.False}o(ie,"TTupleRight");function le(j,$){return n($)?i(j,$):Y.TObject($)&&ge($)?_e.True:Y.TArray($)&&A(j,$)?_e.True:!Y.TTuple($)?_e.False:Le.IsUndefined(j.items)&&!Le.IsUndefined($.items)||!Le.IsUndefined(j.items)&&Le.IsUndefined($.items)?_e.False:Le.IsUndefined(j.items)&&!Le.IsUndefined($.items)?_e.True:j.items.every((He,ar)=>ct(He,$.items[ar])===_e.True)?_e.True:_e.False}o(le,"TTuple");function ye(j,$){return n($)?i(j,$):Y.TObject($)?Ne(j,$):Y.TRecord($)?q(j,$):Y.TUint8Array($)?_e.True:_e.False}o(ye,"TUint8Array");function De(j,$){return n($)?i(j,$):Y.TObject($)?Ne(j,$):Y.TRecord($)?q(j,$):Y.TVoid($)?yt(j,$):Y.TUndefined($)?_e.True:_e.False}o(De,"TUndefined");function Ye(j,$){return $.anyOf.some(He=>ct(j,He)===_e.True)?_e.True:_e.False}o(Ye,"TUnionRight");function gt(j,$){return j.anyOf.every(He=>ct(He,$)===_e.True)?_e.True:_e.False}o(gt,"TUnion");function Qt(j,$){return _e.True}o(Qt,"TUnknownRight");function sr(j,$){return Y.TNever($)?T(j,$):Y.TIntersect($)?w(j,$):Y.TUnion($)?Ye(j,$):Y.TAny($)?s(j,$):Y.TString($)?W(j,$):Y.TNumber($)?V(j,$):Y.TInteger($)?y(j,$):Y.TBoolean($)?p(j,$):Y.TArray($)?u(j,$):Y.TTuple($)?ie(j,$):Y.TObject($)?Ne(j,$):Y.TUnknown($)?_e.True:_e.False}o(sr,"TUnknown");function yt(j,$){return Y.TUndefined(j)?_e.True:Y.TUndefined(j)?_e.True:_e.False}o(yt,"VoidRight");function St(j,$){return Y.TIntersect($)?w(j,$):Y.TUnion($)?Ye(j,$):Y.TUnknown($)?Qt(j,$):Y.TAny($)?s(j,$):Y.TObject($)?Ne(j,$):Y.TVoid($)?_e.True:_e.False}o(St,"TVoid");function ct(j,$){return Y.TTemplateLiteral(j)||Y.TTemplateLiteral($)?J(j,$):Y.TNot(j)||Y.TNot($)?k(j,$):Y.TAny(j)?a(j,$):Y.TArray(j)?l(j,$):Y.TBigInt(j)?d(j,$):Y.TBoolean(j)?f(j,$):Y.TAsyncIterator(j)?c(j,$):Y.TConstructor(j)?h(j,$):Y.TDate(j)?m(j,$):Y.TFunction(j)?g(j,$):Y.TInteger(j)?v(j,$):Y.TIntersect(j)?E(j,$):Y.TIterator(j)?b(j,$):Y.TLiteral(j)?S(j,$):Y.TNever(j)?x(j,$):Y.TNull(j)?B(j,$):Y.TNumber(j)?U(j,$):Y.TObject(j)?Ze(j,$):Y.TRecord(j)?G(j,$):Y.TString(j)?K(j,$):Y.TSymbol(j)?se(j,$):Y.TTuple(j)?le(j,$):Y.TPromise(j)?ze(j,$):Y.TUint8Array(j)?ye(j,$):Y.TUndefined(j)?De(j,$):Y.TUnion(j)?gt(j,$):Y.TUnknown(j)?sr(j,$):Y.TVoid(j)?St(j,$):r(`Unknown left type operand '${j[z.Kind]}'`)}o(ct,"Visit");function Wr(j,$){return ct(j,$)}o(Wr,"Extends");t.Extends=Wr})(Xh||(z.TypeExtends=Xh={}));var ot;(function(t){function e(a){const u=Object.getOwnPropertyNames(a).reduce((c,d)=>({...c,[d]:n(a[d])}),{});const l=Object.getOwnPropertySymbols(a).reduce((c,d)=>({...c,[d]:n(a[d])}),{});return{...u,...l}}o(e,"ObjectType");function r(a){return a.map(u=>n(u))}o(r,"ArrayType");function n(a){return Le.IsArray(a)?r(a):Le.IsObject(a)?e(a):a}o(n,"Visit");function i(a){return a.map(u=>s(u))}o(i,"Rest");t.Rest=i;function s(a,u={}){return{...n(a),...u}}o(s,"Type");t.Type=s})(ot||(z.TypeClone=ot={}));var tG;(function(t){function e(h){return h.map(m=>{const{[z.Optional]:g,...y}=ot.Type(m);return y})}o(e,"OptionalUnwrap");function r(h){return h.every(m=>Y.TOptional(m))}o(r,"IsIntersectOptional");function n(h){return h.some(m=>Y.TOptional(m))}o(n,"IsUnionOptional");function i(h){return r(h.allOf)?z.Type.Optional(z.Type.Intersect(e(h.allOf))):h}o(i,"ResolveIntersect");function s(h){return n(h.anyOf)?z.Type.Optional(z.Type.Union(e(h.anyOf))):h}o(s,"ResolveUnion");function a(h){return h[z.Kind]==="Intersect"?i(h):h[z.Kind]==="Union"?s(h):h}o(a,"ResolveOptional");function u(h,m){const g=h.allOf.reduce((y,v)=>{const w=p(v,m);return w[z.Kind]==="Never"?y:[...y,w]},[]);return a(z.Type.Intersect(g))}o(u,"TIntersect");function l(h,m){const g=h.anyOf.map(y=>p(y,m));return a(z.Type.Union(g))}o(l,"TUnion");function c(h,m){const g=h.properties[m];return Le.IsUndefined(g)?z.Type.Never():z.Type.Union([g])}o(c,"TObject");function d(h,m){const g=h.items;if(Le.IsUndefined(g))return z.Type.Never();const y=g[m];if(Le.IsUndefined(y))return z.Type.Never();return y}o(d,"TTuple");function p(h,m){return h[z.Kind]==="Intersect"?u(h,m):h[z.Kind]==="Union"?l(h,m):h[z.Kind]==="Object"?c(h,m):h[z.Kind]==="Tuple"?d(h,m):z.Type.Never()}o(p,"Visit");function f(h,m,g={}){const y=m.map(v=>p(h,v.toString()));return a(z.Type.Union(y,g))}o(f,"Resolve");t.Resolve=f})(tG||(z.IndexedAccessor=tG={}));var Zg;(function(t){function e(d){const[p,f]=[d.slice(0,1),d.slice(1)];return`${p.toLowerCase()}${f}`}o(e,"Uncapitalize");function r(d){const[p,f]=[d.slice(0,1),d.slice(1)];return`${p.toUpperCase()}${f}`}o(r,"Capitalize");function n(d){return d.toUpperCase()}o(n,"Uppercase");function i(d){return d.toLowerCase()}o(i,"Lowercase");function s(d,p){const f=ty.ParseExact(d.pattern);const h=ry.Check(f);if(!h)return{...d,pattern:a(d.pattern,p)};const m=[...ny.Generate(f)];const g=m.map(w=>z.Type.Literal(w));const y=u(g,p);const v=z.Type.Union(y);return z.Type.TemplateLiteral([v])}o(s,"IntrinsicTemplateLiteral");function a(d,p){return typeof d==="string"?p==="Uncapitalize"?e(d):p==="Capitalize"?r(d):p==="Uppercase"?n(d):p==="Lowercase"?i(d):d:d.toString()}o(a,"IntrinsicLiteral");function u(d,p){if(d.length===0)return[];const[f,...h]=d;return[c(f,p),...u(h,p)]}o(u,"IntrinsicRest");function l(d,p){return Y.TTemplateLiteral(d)?s(d,p):Y.TUnion(d)?z.Type.Union(u(d.anyOf,p)):Y.TLiteral(d)?z.Type.Literal(a(d.const,p)):d}o(l,"Visit");function c(d,p){return l(d,p)}o(c,"Map");t.Map=c})(Zg||(z.Intrinsic=Zg={}));var ey;(function(t){function e(a,u){return z.Type.Intersect(a.allOf.map(l=>i(l,u)),{...a})}o(e,"TIntersect");function r(a,u){return z.Type.Union(a.anyOf.map(l=>i(l,u)),{...a})}o(r,"TUnion");function n(a,u){return u(a)}o(n,"TObject");function i(a,u){return a[z.Kind]==="Intersect"?e(a,u):a[z.Kind]==="Union"?r(a,u):a[z.Kind]==="Object"?n(a,u):a}o(i,"Visit");function s(a,u,l){return{...i(ot.Type(a),u),...l}}o(s,"Map");t.Map=s})(ey||(z.ObjectMap=ey={}));var G7;(function(t){function e(c){return c[0]==="^"&&c[c.length-1]==="$"?c.slice(1,c.length-1):c}o(e,"UnwrapPattern");function r(c,d){return c.allOf.reduce((p,f)=>[...p,...a(f,d)],[])}o(r,"TIntersect");function n(c,d){const p=c.anyOf.map(f=>a(f,d));return[...p.reduce((f,h)=>h.map(m=>p.every(g=>g.includes(m))?f.add(m):f)[0],new Set)]}o(n,"TUnion");function i(c,d){return Object.getOwnPropertyNames(c.properties)}o(i,"TObject");function s(c,d){return d.includePatterns?Object.getOwnPropertyNames(c.patternProperties):[]}o(s,"TRecord");function a(c,d){return Y.TIntersect(c)?r(c,d):Y.TUnion(c)?n(c,d):Y.TObject(c)?i(c,d):Y.TRecord(c)?s(c,d):[]}o(a,"Visit");function u(c,d){return[...new Set(a(c,d))]}o(u,"ResolveKeys");t.ResolveKeys=u;function l(c){const d=u(c,{includePatterns:true});const p=d.map(f=>`(${e(f)})`);return`^(${p.join("|")})$`}o(l,"ResolvePattern");t.ResolvePattern=l})(G7||(z.KeyResolver=G7={}));var z7=class extends pu{static{o(this,"KeyArrayResolverError")}};z.KeyArrayResolverError=z7;var tE;(function(t){function e(r){return Array.isArray(r)?r:Y.TUnionLiteral(r)?r.anyOf.map(n=>n.const.toString()):Y.TLiteral(r)?[r.const]:Y.TTemplateLiteral(r)?(()=>{const n=ty.ParseExact(r.pattern);if(!ry.Check(n))throw new z7("Cannot resolve keys from infinite template expression");return[...ny.Generate(n)]})():[]}o(e,"Resolve");t.Resolve=e})(tE||(z.KeyArrayResolver=tE={}));var rG;(function(t){function*e(n){for(const i of n.anyOf){if(i[z.Kind]==="Union"){yield*e(i)}else{yield i}}}o(e,"TUnion");function r(n){return z.Type.Union([...e(n)],{...n})}o(r,"Resolve");t.Resolve=r})(rG||(z.UnionResolver=rG={}));var K7=class extends pu{static{o(this,"TemplateLiteralPatternError")}};z.TemplateLiteralPatternError=K7;var Y7;(function(t){function e(s){throw new K7(s)}o(e,"Throw");function r(s){return s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}o(r,"Escape");function n(s,a){return Y.TTemplateLiteral(s)?s.pattern.slice(1,s.pattern.length-1):Y.TUnion(s)?`(${s.anyOf.map(u=>n(u,a)).join("|")})`:Y.TNumber(s)?`${a}${z.PatternNumber}`:Y.TInteger(s)?`${a}${z.PatternNumber}`:Y.TBigInt(s)?`${a}${z.PatternNumber}`:Y.TString(s)?`${a}${z.PatternString}`:Y.TLiteral(s)?`${a}${r(s.const.toString())}`:Y.TBoolean(s)?`${a}${z.PatternBoolean}`:e(`Unexpected Kind '${s[z.Kind]}'`)}o(n,"Visit");function i(s){return`^${s.map(a=>n(a,"")).join("")}$`}o(i,"Create");t.Create=i})(Y7||(z.TemplateLiteralPattern=Y7={}));var Pc;(function(t){function e(r){const n=ty.ParseExact(r.pattern);if(!ry.Check(n))return z.Type.String();const i=[...ny.Generate(n)].map(s=>z.Type.Literal(s));return z.Type.Union(i)}o(e,"Resolve");t.Resolve=e})(Pc||(z.TemplateLiteralResolver=Pc={}));var rE=class extends pu{static{o(this,"TemplateLiteralParserError")}};z.TemplateLiteralParserError=rE;var ty;(function(t){function e(h,m,g){return h[m]===g&&h.charCodeAt(m-1)!==92}o(e,"IsNonEscaped");function r(h,m){return e(h,m,"(")}o(r,"IsOpenParen");function n(h,m){return e(h,m,")")}o(n,"IsCloseParen");function i(h,m){return e(h,m,"|")}o(i,"IsSeparator");function s(h){if(!(r(h,0)&&n(h,h.length-1)))return false;let m=0;for(let g=0;g<h.length;g++){if(r(h,g))m+=1;if(n(h,g))m-=1;if(m===0&&g!==h.length-1)return false}return true}o(s,"IsGroup");function a(h){return h.slice(1,h.length-1)}o(a,"InGroup");function u(h){let m=0;for(let g=0;g<h.length;g++){if(r(h,g))m+=1;if(n(h,g))m-=1;if(i(h,g)&&m===0)return true}return false}o(u,"IsPrecedenceOr");function l(h){for(let m=0;m<h.length;m++){if(r(h,m))return true}return false}o(l,"IsPrecedenceAnd");function c(h){let[m,g]=[0,0];const y=[];for(let w=0;w<h.length;w++){if(r(h,w))m+=1;if(n(h,w))m-=1;if(i(h,w)&&m===0){const E=h.slice(g,w);if(E.length>0)y.push(p(E));g=w+1}}const v=h.slice(g);if(v.length>0)y.push(p(v));if(y.length===0)return{type:"const",const:""};if(y.length===1)return y[0];return{type:"or",expr:y}}o(c,"Or");function d(h){function m(v,w){if(!r(v,w))throw new rE(`TemplateLiteralParser: Index must point to open parens`);let E=0;for(let b=w;b<v.length;b++){if(r(v,b))E+=1;if(n(v,b))E-=1;if(E===0)return[w,b]}throw new rE(`TemplateLiteralParser: Unclosed group parens in expression`)}o(m,"Group");function g(v,w){for(let E=w;E<v.length;E++){if(r(v,E))return[w,E]}return[w,v.length]}o(g,"Range");const y=[];for(let v=0;v<h.length;v++){if(r(h,v)){const[w,E]=m(h,v);const b=h.slice(w,E+1);y.push(p(b));v=E}else{const[w,E]=g(h,v);const b=h.slice(w,E);if(b.length>0)y.push(p(b));v=E-1}}return y.length===0?{type:"const",const:""}:y.length===1?y[0]:{type:"and",expr:y}}o(d,"And");function p(h){return s(h)?p(a(h)):u(h)?c(h):l(h)?d(h):{type:"const",const:h}}o(p,"Parse");t.Parse=p;function f(h){return p(h.slice(1,h.length-1))}o(f,"ParseExact");t.ParseExact=f})(ty||(z.TemplateLiteralParser=ty={}));var W7=class extends pu{static{o(this,"TemplateLiteralFiniteError")}};z.TemplateLiteralFiniteError=W7;var ry;(function(t){function e(a){throw new W7(a)}o(e,"Throw");function r(a){return a.type==="or"&&a.expr.length===2&&a.expr[0].type==="const"&&a.expr[0].const==="0"&&a.expr[1].type==="const"&&a.expr[1].const==="[1-9][0-9]*"}o(r,"IsNumber");function n(a){return a.type==="or"&&a.expr.length===2&&a.expr[0].type==="const"&&a.expr[0].const==="true"&&a.expr[1].type==="const"&&a.expr[1].const==="false"}o(n,"IsBoolean");function i(a){return a.type==="const"&&a.const===".*"}o(i,"IsString");function s(a){return n(a)?true:r(a)||i(a)?false:a.type==="and"?a.expr.every(u=>s(u)):a.type==="or"?a.expr.every(u=>s(u)):a.type==="const"?true:e(`Unknown expression type`)}o(s,"Check");t.Check=s})(ry||(z.TemplateLiteralFinite=ry={}));var J7=class extends pu{static{o(this,"TemplateLiteralGeneratorError")}};z.TemplateLiteralGeneratorError=J7;var ny;(function(t){function*e(a){if(a.length===1)return yield*a[0];for(const u of a[0]){for(const l of e(a.slice(1))){yield`${u}${l}`}}}o(e,"Reduce");function*r(a){return yield*e(a.expr.map(u=>[...s(u)]))}o(r,"And");function*n(a){for(const u of a.expr)yield*s(u)}o(n,"Or");function*i(a){return yield a.const}o(i,"Const");function*s(a){return a.type==="and"?yield*r(a):a.type==="or"?yield*n(a):a.type==="const"?yield*i(a):(()=>{throw new J7("Unknown expression")})()}o(s,"Generate");t.Generate=s})(ny||(z.TemplateLiteralGenerator=ny={}));var nG;(function(t){function*e(s){const a=s.trim().replace(/"|'/g,"");return a==="boolean"?yield z.Type.Boolean():a==="number"?yield z.Type.Number():a==="bigint"?yield z.Type.BigInt():a==="string"?yield z.Type.String():yield(()=>{const u=a.split("|").map(l=>z.Type.Literal(l.trim()));return u.length===0?z.Type.Never():u.length===1?u[0]:z.Type.Union(u)})()}o(e,"ParseUnion");function*r(s){if(s[1]!=="{"){const a=z.Type.Literal("$");const u=n(s.slice(1));return yield*[a,...u]}for(let a=2;a<s.length;a++){if(s[a]==="}"){const u=e(s.slice(2,a));const l=n(s.slice(a+1));return yield*[...u,...l]}}yield z.Type.Literal(s)}o(r,"ParseTerminal");function*n(s){for(let a=0;a<s.length;a++){if(s[a]==="$"){const u=z.Type.Literal(s.slice(0,a));const l=r(s.slice(a));return yield*[u,...l]}}yield z.Type.Literal(s)}o(n,"ParseLiteral");function i(s){return[...n(s)]}o(i,"Parse");t.Parse=i})(nG||(z.TemplateLiteralDslParser=nG={}));var Q7=class{static{o(this,"TransformDecodeBuilder")}constructor(e){this.schema=e}Decode(e){return new X7(this.schema,e)}};z.TransformDecodeBuilder=Q7;var X7=class{static{o(this,"TransformEncodeBuilder")}constructor(e,r){this.schema=e;this.decode=r}Encode(e){const r=ot.Type(this.schema);return Y.TTransform(r)?(()=>{const n=o(a=>r[z.Transform].Encode(e(a)),"Encode");const i=o(a=>this.decode(r[z.Transform].Decode(a)),"Decode");const s={Encode:n,Decode:i};return{...r,[z.Transform]:s}})():(()=>{const n={Decode:this.decode,Encode:e};return{...r,[z.Transform]:n}})()}};z.TransformEncodeBuilder=X7;var jxt=0;var Z7=class extends pu{static{o(this,"TypeBuilderError")}};z.TypeBuilderError=Z7;var eA=class{static{o(this,"TypeBuilder")}Create(e){return e}Throw(e){throw new Z7(e)}Discard(e,r){const{[r]:n,...i}=e;return i}Strict(e){return JSON.parse(JSON.stringify(e))}};z.TypeBuilder=eA;var nE=class extends eA{static{o(this,"JsonTypeBuilder")}ReadonlyOptional(e){return this.Readonly(this.Optional(e))}Readonly(e){return{...ot.Type(e),[z.Readonly]:"Readonly"}}Optional(e){return{...ot.Type(e),[z.Optional]:"Optional"}}Any(e={}){return this.Create({...e,[z.Kind]:"Any"})}Array(e,r={}){return this.Create({...r,[z.Kind]:"Array",type:"array",items:ot.Type(e)})}Boolean(e={}){return this.Create({...e,[z.Kind]:"Boolean",type:"boolean"})}Capitalize(e,r={}){return{...Zg.Map(ot.Type(e),"Capitalize"),...r}}Composite(e,r){const n=z.Type.Intersect(e,{});const i=G7.ResolveKeys(n,{includePatterns:false});const s=i.reduce((a,u)=>({...a,[u]:z.Type.Index(n,[u])}),{});return z.Type.Object(s,r)}Enum(e,r={}){const n=Object.getOwnPropertyNames(e).filter(s=>isNaN(s)).map(s=>e[s]);const i=n.map(s=>Le.IsString(s)?{[z.Kind]:"Literal",type:"string",const:s}:{[z.Kind]:"Literal",type:"number",const:s});return this.Create({...r,[z.Kind]:"Union",anyOf:i})}Extends(e,r,n,i,s={}){switch(Xh.Extends(e,r)){case _e.Union:return this.Union([ot.Type(n,s),ot.Type(i,s)]);case _e.True:return ot.Type(n,s);case _e.False:return ot.Type(i,s)}}Exclude(e,r,n={}){return Y.TTemplateLiteral(e)?this.Exclude(Pc.Resolve(e),r,n):Y.TTemplateLiteral(r)?this.Exclude(e,Pc.Resolve(r),n):Y.TUnion(e)?(()=>{const i=e.anyOf.filter(s=>Xh.Extends(s,r)===_e.False);return i.length===1?ot.Type(i[0],n):this.Union(i,n)})():Xh.Extends(e,r)!==_e.False?this.Never(n):ot.Type(e,n)}Extract(e,r,n={}){return Y.TTemplateLiteral(e)?this.Extract(Pc.Resolve(e),r,n):Y.TTemplateLiteral(r)?this.Extract(e,Pc.Resolve(r),n):Y.TUnion(e)?(()=>{const i=e.anyOf.filter(s=>Xh.Extends(s,r)!==_e.False);return i.length===1?ot.Type(i[0],n):this.Union(i,n)})():Xh.Extends(e,r)!==_e.False?ot.Type(e,n):this.Never(n)}Index(e,r,n={}){return Y.TArray(e)&&Y.TNumber(r)?(()=>{return ot.Type(e.items,n)})():Y.TTuple(e)&&Y.TNumber(r)?(()=>{const i=Le.IsUndefined(e.items)?[]:e.items;const s=i.map(a=>ot.Type(a));return this.Union(s,n)})():(()=>{const i=tE.Resolve(r);const s=ot.Type(e);return tG.Resolve(s,i,n)})()}Integer(e={}){return this.Create({...e,[z.Kind]:"Integer",type:"integer"})}Intersect(e,r={}){if(e.length===0)return z.Type.Never();if(e.length===1)return ot.Type(e[0],r);if(e.some(a=>Y.TTransform(a)))this.Throw("Cannot intersect transform types");const n=e.every(a=>Y.TObject(a));const i=ot.Rest(e);const s=Y.TSchema(r.unevaluatedProperties)?{unevaluatedProperties:ot.Type(r.unevaluatedProperties)}:{};return r.unevaluatedProperties===false||Y.TSchema(r.unevaluatedProperties)||n?this.Create({...r,...s,[z.Kind]:"Intersect",type:"object",allOf:i}):this.Create({...r,...s,[z.Kind]:"Intersect",allOf:i})}KeyOf(e,r={}){return Y.TRecord(e)?(()=>{const n=Object.getOwnPropertyNames(e.patternProperties)[0];return n===z.PatternNumberExact?this.Number(r):n===z.PatternStringExact?this.String(r):this.Throw("Unable to resolve key type from Record key pattern")})():Y.TTuple(e)?(()=>{const n=Le.IsUndefined(e.items)?[]:e.items;const i=n.map((s,a)=>z.Type.Literal(a.toString()));return this.Union(i,r)})():Y.TArray(e)?(()=>{return this.Number(r)})():(()=>{const n=G7.ResolveKeys(e,{includePatterns:false});if(n.length===0)return this.Never(r);const i=n.map(s=>this.Literal(s));return this.Union(i,r)})()}Literal(e,r={}){return this.Create({...r,[z.Kind]:"Literal",const:e,type:typeof e})}Lowercase(e,r={}){return{...Zg.Map(ot.Type(e),"Lowercase"),...r}}Never(e={}){return this.Create({...e,[z.Kind]:"Never",not:{}})}Not(e,r){return this.Create({...r,[z.Kind]:"Not",not:ot.Type(e)})}Null(e={}){return this.Create({...e,[z.Kind]:"Null",type:"null"})}Number(e={}){return this.Create({...e,[z.Kind]:"Number",type:"number"})}Object(e,r={}){const n=Object.getOwnPropertyNames(e);const i=n.filter(l=>Y.TOptional(e[l]));const s=n.filter(l=>!i.includes(l));const a=Y.TSchema(r.additionalProperties)?{additionalProperties:ot.Type(r.additionalProperties)}:{};const u=n.reduce((l,c)=>({...l,[c]:ot.Type(e[c])}),{});return s.length>0?this.Create({...r,...a,[z.Kind]:"Object",type:"object",properties:u,required:s}):this.Create({...r,...a,[z.Kind]:"Object",type:"object",properties:u})}Omit(e,r,n={}){const i=tE.Resolve(r);return ey.Map(this.Discard(ot.Type(e),z.Transform),s=>{if(Le.IsArray(s.required)){s.required=s.required.filter(a=>!i.includes(a));if(s.required.length===0)delete s.required}for(const a of Object.getOwnPropertyNames(s.properties)){if(i.includes(a))delete s.properties[a]}return this.Create(s)},n)}Partial(e,r={}){return ey.Map(this.Discard(ot.Type(e),z.Transform),n=>{const i=Object.getOwnPropertyNames(n.properties).reduce((s,a)=>{return{...s,[a]:this.Optional(n.properties[a])}},{});return this.Object(i,this.Discard(n,"required"))},r)}Pick(e,r,n={}){const i=tE.Resolve(r);return ey.Map(this.Discard(ot.Type(e),z.Transform),s=>{if(Le.IsArray(s.required)){s.required=s.required.filter(a=>i.includes(a));if(s.required.length===0)delete s.required}for(const a of Object.getOwnPropertyNames(s.properties)){if(!i.includes(a))delete s.properties[a]}return this.Create(s)},n)}Record(e,r,n={}){return Y.TTemplateLiteral(e)?(()=>{const i=ty.ParseExact(e.pattern);return ry.Check(i)?this.Object([...ny.Generate(i)].reduce((s,a)=>({...s,[a]:ot.Type(r)}),{}),n):this.Create({...n,[z.Kind]:"Record",type:"object",patternProperties:{[e.pattern]:ot.Type(r)}})})():Y.TUnion(e)?(()=>{const i=rG.Resolve(e);if(Y.TUnionLiteral(i)){const s=i.anyOf.reduce((a,u)=>({...a,[u.const]:ot.Type(r)}),{});return this.Object(s,{...n,[z.Hint]:"Record"})}else this.Throw("Record key of type union contains non-literal types")})():Y.TLiteral(e)?(()=>{return Le.IsString(e.const)||Le.IsNumber(e.const)?this.Object({[e.const]:ot.Type(r)},n):this.Throw("Record key of type literal is not of type string or number")})():Y.TInteger(e)||Y.TNumber(e)?(()=>{return this.Create({...n,[z.Kind]:"Record",type:"object",patternProperties:{[z.PatternNumberExact]:ot.Type(r)}})})():Y.TString(e)?(()=>{const i=Le.IsUndefined(e.pattern)?z.PatternStringExact:e.pattern;return this.Create({...n,[z.Kind]:"Record",type:"object",patternProperties:{[i]:ot.Type(r)}})})():this.Never()}Recursive(e,r={}){if(Le.IsUndefined(r.$id))r.$id=`T${jxt++}`;const n=e({[z.Kind]:"This",$ref:`${r.$id}`});n.$id=r.$id;return this.Create({...r,[z.Hint]:"Recursive",...n})}Ref(e,r={}){if(Le.IsString(e))return this.Create({...r,[z.Kind]:"Ref",$ref:e});if(Le.IsUndefined(e.$id))this.Throw("Reference target type must specify an $id");return this.Create({...r,[z.Kind]:"Ref",$ref:e.$id})}Required(e,r={}){return ey.Map(this.Discard(ot.Type(e),z.Transform),n=>{const i=Object.getOwnPropertyNames(n.properties).reduce((s,a)=>{return{...s,[a]:this.Discard(n.properties[a],z.Optional)}},{});return this.Object(i,n)},r)}Rest(e){return Y.TTuple(e)&&!Le.IsUndefined(e.items)?ot.Rest(e.items):Y.TIntersect(e)?ot.Rest(e.allOf):Y.TUnion(e)?ot.Rest(e.anyOf):[]}String(e={}){return this.Create({...e,[z.Kind]:"String",type:"string"})}TemplateLiteral(e,r={}){const n=Le.IsString(e)?Y7.Create(nG.Parse(e)):Y7.Create(e);return this.Create({...r,[z.Kind]:"TemplateLiteral",type:"string",pattern:n})}Transform(e){return new Q7(e)}Tuple(e,r={}){const[n,i,s]=[false,e.length,e.length];const a=ot.Rest(e);const u=e.length>0?{...r,[z.Kind]:"Tuple",type:"array",items:a,additionalItems:n,minItems:i,maxItems:s}:{...r,[z.Kind]:"Tuple",type:"array",minItems:i,maxItems:s};return this.Create(u)}Uncapitalize(e,r={}){return{...Zg.Map(ot.Type(e),"Uncapitalize"),...r}}Union(e,r={}){return Y.TTemplateLiteral(e)?Pc.Resolve(e):(()=>{const n=e;if(n.length===0)return this.Never(r);if(n.length===1)return this.Create(ot.Type(n[0],r));const i=ot.Rest(n);return this.Create({...r,[z.Kind]:"Union",anyOf:i})})()}Unknown(e={}){return this.Create({...e,[z.Kind]:"Unknown"})}Unsafe(e={}){return this.Create({...e,[z.Kind]:e[z.Kind]||"Unsafe"})}Uppercase(e,r={}){return{...Zg.Map(ot.Type(e),"Uppercase"),...r}}};z.JsonTypeBuilder=nE;var tA=class extends nE{static{o(this,"JavaScriptTypeBuilder")}AsyncIterator(e,r={}){return this.Create({...r,[z.Kind]:"AsyncIterator",type:"AsyncIterator",items:ot.Type(e)})}Awaited(e,r={}){const n=o(i=>i.length>0?(()=>{const[s,...a]=i;return[this.Awaited(s),...n(a)]})():i,"Unwrap");return Y.TIntersect(e)?z.Type.Intersect(n(e.allOf)):Y.TUnion(e)?z.Type.Union(n(e.anyOf)):Y.TPromise(e)?this.Awaited(e.item):ot.Type(e,r)}BigInt(e={}){return this.Create({...e,[z.Kind]:"BigInt",type:"bigint"})}ConstructorParameters(e,r={}){return this.Tuple([...e.parameters],{...r})}Constructor(e,r,n){const[i,s]=[ot.Rest(e),ot.Type(r)];return this.Create({...n,[z.Kind]:"Constructor",type:"constructor",parameters:i,returns:s})}Date(e={}){return this.Create({...e,[z.Kind]:"Date",type:"Date"})}Function(e,r,n){const[i,s]=[ot.Rest(e),ot.Type(r)];return this.Create({...n,[z.Kind]:"Function",type:"function",parameters:i,returns:s})}InstanceType(e,r={}){return ot.Type(e.returns,r)}Iterator(e,r={}){return this.Create({...r,[z.Kind]:"Iterator",type:"Iterator",items:ot.Type(e)})}Parameters(e,r={}){return this.Tuple(e.parameters,{...r})}Promise(e,r={}){return this.Create({...r,[z.Kind]:"Promise",type:"Promise",item:ot.Type(e)})}RegExp(e,r={}){const n=Le.IsString(e)?e:e.source;return this.Create({...r,[z.Kind]:"String",type:"string",pattern:n})}RegEx(e,r={}){return this.RegExp(e,r)}ReturnType(e,r={}){return ot.Type(e.returns,r)}Symbol(e){return this.Create({...e,[z.Kind]:"Symbol",type:"symbol"})}Undefined(e={}){return this.Create({...e,[z.Kind]:"Undefined",type:"undefined"})}Uint8Array(e={}){return this.Create({...e,[z.Kind]:"Uint8Array",type:"Uint8Array"})}Void(e={}){return this.Create({...e,[z.Kind]:"Void",type:"void"})}};z.JavaScriptTypeBuilder=tA;z.JsonType=new nE;z.Type=new tA});var l9e=_(rA=>{"use strict";Object.defineProperty(rA,"__esModule",{value:true});rA.CustomTypeBuilder=void 0;var iE=u9e();var iG=class extends iE.TypeBuilder{static{o(this,"CustomTypeBuilder")}static Date(){return iE.Type.Unsafe({type:"string",format:"date-time"})}static Nullable(e){return iE.Type.Union([e,iE.Type.Null()])}static StringEnum(e){return iE.Type.Unsafe({type:"string",enum:e})}};rA.CustomTypeBuilder=iG});var f9e=_(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:true});st.throwIfNotNumber=st.throwIfNotString=st.throwIfUndefinedOrNull=st.throwIfUndefined=st.ArgumentTypeError=st.ArgumentUndefinedError=st.ValidationError=st.withUndefinedAsNull=st.withNullAsUndefined=st.validateConstraint=st.validateConstraints=st.areFunctions=st.isFunction=st.isEmptyObject=st.assertAllDefined=st.assertIsDefined=st.assertType=st.isUndefinedOrNull=st.isDefined=st.isUndefined=st.isBoolean=st.isIterable=st.isNumber=st.isTypedArray=st.isObject=st.isStringArray=st.isString=void 0;function nA(t){return typeof t==="string"}o(nA,"isString");st.isString=nA;function Uxt(t){return Array.isArray(t)&&t.every(e=>nA(e))}o(Uxt,"isStringArray");st.isStringArray=Uxt;function c9e(t){return typeof t==="object"&&t!==null&&!Array.isArray(t)&&!(t instanceof RegExp)&&!(t instanceof Date)}o(c9e,"isObject");st.isObject=c9e;function Bxt(t){const e=Object.getPrototypeOf(Uint8Array);return typeof t==="object"&&t instanceof e}o(Bxt,"isTypedArray");st.isTypedArray=Bxt;function d9e(t){return typeof t==="number"&&!isNaN(t)}o(d9e,"isNumber");st.isNumber=d9e;function Fxt(t){return!!t&&typeof t[Symbol.iterator]==="function"}o(Fxt,"isIterable");st.isIterable=Fxt;function Mxt(t){return t===true||t===false}o(Mxt,"isBoolean");st.isBoolean=Mxt;function sG(t){return typeof t==="undefined"}o(sG,"isUndefined");st.isUndefined=sG;function Vxt(t){return!iy(t)}o(Vxt,"isDefined");st.isDefined=Vxt;function iy(t){return sG(t)||t===null}o(iy,"isUndefinedOrNull");st.isUndefinedOrNull=iy;function Hxt(t,e){if(!t){throw new Error(e?`Unexpected type, expected '${e}'`:"Unexpected type")}}o(Hxt,"assertType");st.assertType=Hxt;function Gxt(t){if(iy(t)){throw new Error("Assertion Failed: argument is undefined or null")}return t}o(Gxt,"assertIsDefined");st.assertIsDefined=Gxt;function zxt(...t){const e=[];for(let r=0;r<t.length;r++){const n=t[r];if(iy(n)){throw new Error(`Assertion Failed: argument at index ${r} is undefined or null`)}e.push(n)}return e}o(zxt,"assertAllDefined");st.assertAllDefined=zxt;var Kxt=Object.prototype.hasOwnProperty;function Yxt(t){if(!c9e(t)){return false}for(const e in t){if(Kxt.call(t,e)){return false}}return true}o(Yxt,"isEmptyObject");st.isEmptyObject=Yxt;function aG(t){return typeof t==="function"}o(aG,"isFunction");st.isFunction=aG;function Wxt(...t){return t.length>0&&t.every(aG)}o(Wxt,"areFunctions");st.areFunctions=Wxt;function Jxt(t,e){const r=Math.min(t.length,e.length);for(let n=0;n<r;n++){p9e(t[n],e[n])}}o(Jxt,"validateConstraints");st.validateConstraints=Jxt;function p9e(t,e){if(nA(e)){if(typeof t!==e){throw new Error(`argument does not match constraint: typeof ${e}`)}}else if(aG(e)){try{if(t instanceof e){return}}catch{}if(!iy(t)&&t.constructor===e){return}if(e.length===1&&e.call(void 0,t)===true){return}throw new Error(`argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true`)}}o(p9e,"validateConstraint");st.validateConstraint=p9e;function Qxt(t){return t===null?void 0:t}o(Qxt,"withNullAsUndefined");st.withNullAsUndefined=Qxt;function Xxt(t){return typeof t==="undefined"?null:t}o(Xxt,"withUndefinedAsNull");st.withUndefinedAsNull=Xxt;var sE=class extends Error{static{o(this,"ValidationError")}constructor(e){super(e)}};st.ValidationError=sE;var aE=class extends sE{static{o(this,"ArgumentUndefinedError")}constructor(e){super(`The argument '${e}' is undefined.`)}};st.ArgumentUndefinedError=aE;var oE=class extends sE{static{o(this,"ArgumentTypeError")}constructor(e,r){super(`The argument '${e}' must be of type '${r}'.`)}};st.ArgumentTypeError=oE;function Zxt(t,e){if(sG(t)){throw new aE(e)}return true}o(Zxt,"throwIfUndefined");st.throwIfUndefined=Zxt;function oG(t,e){if(iy(t)){throw new aE(e)}}o(oG,"throwIfUndefinedOrNull");st.throwIfUndefinedOrNull=oG;function eCt(t,e){oG(t,e);if(!nA(t)){throw new oE(e,"string")}return true}o(eCt,"throwIfNotString");st.throwIfNotString=eCt;function tCt(t,e){oG(t,e);if(!d9e(t)){throw new oE(e,"number")}return true}o(tCt,"throwIfNotNumber");st.throwIfNotNumber=tCt});var y9e=_(dr=>{"use strict";var uG=dr&&dr.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(dr,"__esModule",{value:true});dr.deleteFolder=dr.untar=dr.tarFolderContent=dr.getParentDirFilename=dr.safePath=dr.UnsafePathError=dr.ensureDirectoryExists=dr.mkdirForFilePathIfNotExits=dr.mkdirIfNotExists=dr.listFolderContents=dr.listFolders=dr.isNotFileOrDirectory=dr.dirExists=dr.deleteFile=dr.fileExists=void 0;var h9e=uG(require("child_process"));var qp=uG(require("fs/promises"));var Lp=uG(require("path"));var m9e=[".git","node_modules",".yarn",".DS_Store"];async function rCt(t){try{const e=await qp.default.stat(t);return e.isFile()}catch(e){return false}}o(rCt,"fileExists");dr.fileExists=rCt;async function nCt(t,e){return await qp.default.rm(t,e)}o(nCt,"deleteFile");dr.deleteFile=nCt;async function sA(t){try{const e=await qp.default.stat(t);return e.isDirectory()}catch(e){return false}}o(sA,"dirExists");dr.dirExists=sA;async function iCt(t){try{await qp.default.stat(t);return false}catch(e){return true}}o(iCt,"isNotFileOrDirectory");dr.isNotFileOrDirectory=iCt;function sCt(t,e){const r=new RegExp(`(.*)(\\/${e})$|(.*)(${e}\\/)`);const n=t.match(r);if(!n){return""}const i=t.split(n[0]);return i[1]===""?"":`/${i[1]}`}o(sCt,"getParentDirectory");async function aCt(t){if(!await sA(t)){return[]}const e=await qp.default.readdir(t,{withFileTypes:true});const r=[];for await(const n of e){if(!m9e.includes(n.name)){if(n.isDirectory()){r.push(n.name)}}}return r}o(aCt,"listFolders");dr.listFolders=aCt;async function g9e(t,e,r=true){const n=sCt(t,e);const i=await qp.default.readdir(t,{withFileTypes:true});const s=[];for await(const a of i){if(!m9e.includes(a.name)||!r){if(a.isDirectory()){const u=await g9e(Lp.default.join(t,a.name),e,r);s.push(...u)}else{s.push(Lp.default.join(n,a.name))}}}return s}o(g9e,"listFolderContents");dr.listFolderContents=g9e;var oCt=o(async t=>{if(await sA(t)){return true}await qp.default.mkdir(t,{recursive:true})},"mkdirIfNotExists");dr.mkdirIfNotExists=oCt;var uCt=o(async t=>{const e=Lp.default.dirname(t);return(0,dr.mkdirIfNotExists)(e)},"mkdirForFilePathIfNotExits");dr.mkdirForFilePathIfNotExits=uCt;dr.ensureDirectoryExists=dr.mkdirForFilePathIfNotExits;var iA=class extends Error{static{o(this,"UnsafePathError")}constructor(e){super(e)}};dr.UnsafePathError=iA;function lCt(t){const e=o(r=>{if(!r.startsWith(t)){throw new iA(`Resolved path is not part of the project.`)}return r},"ensureSafePath");return{resolve:(...r)=>e(Lp.default.resolve(...r))}}o(lCt,"safePath");dr.safePath=lCt;function cCt(t){return`${Lp.default.basename(Lp.default.dirname(t))}/${Lp.default.basename(t)}`}o(cCt,"getParentDirFilename");dr.getParentDirFilename=cCt;function dCt(t,e,r,n){const i=Lp.default.join(n,r);h9e.default.execSync(`tar --exclude='.git/' --exclude='dist/' -czf ${i} ${e}`,{cwd:t});return i}o(dCt,"tarFolderContent");dr.tarFolderContent=dCt;function pCt(t,e,r,n=false){h9e.default.execSync(`tar -xf ${e} ${n?"--strip-components=1 ":""}-C ${r}`,{cwd:t})}o(pCt,"untar");dr.untar=pCt;async function fCt(t){if(await sA(t)){return await qp.default.rm(t,{recursive:true})}}o(fCt,"deleteFolder");dr.deleteFolder=fCt});var tg=_(Re=>{"use strict";var v9e=Re&&Re.__createBinding||(Object.create?function(t,e,r,n){if(n===void 0)n=r;var i=Object.getOwnPropertyDescriptor(e,r);if(!i||("get"in i?!e.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return e[r]}}}Object.defineProperty(t,n,i)}:function(t,e,r,n){if(n===void 0)n=r;t[n]=e[r]});var hCt=Re&&Re.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:true,value:e})}:function(t,e){t["default"]=e});var aA=Re&&Re.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null){for(var r in t)if(r!=="default"&&Object.prototype.hasOwnProperty.call(t,r))v9e(e,t,r)}hCt(e,t);return e};var jp=Re&&Re.__exportStar||function(t,e){for(var r in t)if(r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r))v9e(e,t,r)};Object.defineProperty(Re,"__esModule",{value:true});Re.getRequiredEnvVar=Re.env=Re.EnvironmentalVariableRequiredError=Re.xfs=Re.RouteValidator=Re.JsonValidator=Re.TenantService=Re.DevApiService=Re.getContentApiStorageTarballPath=Re.contentApiTarballFileName=Re.ContentApiService=Re.AuthApiService=Re.getServiceAccountIdToken=Re.createApiKeyServiceClient=Re.ApiKeyService=Re.RouteVersions=Re.startsWithReservedKeyword=Re.logger=Re.createNewLogger=Re.graphQL=Re.CloudStorage=Re.fly=Re.ApiServer=Re.featureFlagsPlugin=Re.ensureZuploUserPlugin=Re.ensureZuploAdminPlugin=Re.ensureServiceAccountPlugin=Re.apiKeyAuthPlugin=Re.errorHandler=Re.DeploymentLogState=Re.signString=Re.FeatureFlags=Re.WARNING_STATUS=Re.WARNING_SEVERITY=Re.GOOD_STATUS=Re.FAILURE_STATUS=Re.ERROR_SEVERITY=Re.getDefaultFlags=Re.getBuildFlagsForDeployment=Re.CommonAuth=void 0;var lG=aA(Ro());Re.env=lG.default;Object.defineProperty(Re,"EnvironmentalVariableRequiredError",{enumerable:true,get:function(){return lG.EnvironmentalVariableRequiredError}});Object.defineProperty(Re,"getRequiredEnvVar",{enumerable:true,get:function(){return lG.getRequiredEnvVar}});jp(Ls(),Re);var mCt=wA();Object.defineProperty(Re,"CommonAuth",{enumerable:true,get:function(){return mCt.CommonAuth}});var _9e=UG();Object.defineProperty(Re,"getBuildFlagsForDeployment",{enumerable:true,get:function(){return _9e.getBuildFlagsForDeployment}});Object.defineProperty(Re,"getDefaultFlags",{enumerable:true,get:function(){return _9e.getDefaultFlags}});var uE=BG();Object.defineProperty(Re,"ERROR_SEVERITY",{enumerable:true,get:function(){return uE.ERROR_SEVERITY}});Object.defineProperty(Re,"FAILURE_STATUS",{enumerable:true,get:function(){return uE.FAILURE_STATUS}});Object.defineProperty(Re,"GOOD_STATUS",{enumerable:true,get:function(){return uE.GOOD_STATUS}});Object.defineProperty(Re,"WARNING_SEVERITY",{enumerable:true,get:function(){return uE.WARNING_SEVERITY}});Object.defineProperty(Re,"WARNING_STATUS",{enumerable:true,get:function(){return uE.WARNING_STATUS}});var gCt=SA();Object.defineProperty(Re,"FeatureFlags",{enumerable:true,get:function(){return gCt.FeatureFlags}});var yCt=FG();Object.defineProperty(Re,"signString",{enumerable:true,get:function(){return yCt.signString}});var vCt=AA();Object.defineProperty(Re,"DeploymentLogState",{enumerable:true,get:function(){return vCt.DeploymentLogState}});jp(WG(),Re);jp(xA(),Re);var _Ct=CA();Object.defineProperty(Re,"errorHandler",{enumerable:true,get:function(){return _Ct.errorHandler}});var lE=PA();Object.defineProperty(Re,"apiKeyAuthPlugin",{enumerable:true,get:function(){return lE.apiKeyAuthPlugin}});Object.defineProperty(Re,"ensureServiceAccountPlugin",{enumerable:true,get:function(){return lE.ensureServiceAccountPlugin}});Object.defineProperty(Re,"ensureZuploAdminPlugin",{enumerable:true,get:function(){return lE.ensureZuploAdminPlugin}});Object.defineProperty(Re,"ensureZuploUserPlugin",{enumerable:true,get:function(){return lE.ensureZuploUserPlugin}});Object.defineProperty(Re,"featureFlagsPlugin",{enumerable:true,get:function(){return lE.featureFlagsPlugin}});var ECt=ame();Object.defineProperty(Re,"ApiServer",{enumerable:true,get:function(){return ECt.ApiServer}});Re.fly=aA(lme());Re.CloudStorage=aA(W_e());var bCt=J_e();Object.defineProperty(Re,"graphQL",{enumerable:true,get:function(){return bCt.graphQL}});jp(E3e(),Re);var E9e=BL();Object.defineProperty(Re,"createNewLogger",{enumerable:true,get:function(){return E9e.createNewLogger}});Object.defineProperty(Re,"logger",{enumerable:true,get:function(){return E9e.logger}});var wCt=CM();Object.defineProperty(Re,"startsWithReservedKeyword",{enumerable:true,get:function(){return wCt.startsWithReservedKeyword}});var SCt=b3e();Object.defineProperty(Re,"RouteVersions",{enumerable:true,get:function(){return SCt.RouteVersions}});var b9e=Gbe();Object.defineProperty(Re,"ApiKeyService",{enumerable:true,get:function(){return b9e.ApiKeyService}});Object.defineProperty(Re,"createApiKeyServiceClient",{enumerable:true,get:function(){return b9e.createApiKeyServiceClient}});var TCt=eE();Object.defineProperty(Re,"getServiceAccountIdToken",{enumerable:true,get:function(){return TCt.getServiceAccountIdToken}});var ACt=Kbe();Object.defineProperty(Re,"AuthApiService",{enumerable:true,get:function(){return ACt.AuthApiService}});var cG=Qbe();Object.defineProperty(Re,"ContentApiService",{enumerable:true,get:function(){return cG.ContentApiService}});Object.defineProperty(Re,"contentApiTarballFileName",{enumerable:true,get:function(){return cG.contentApiTarballFileName}});Object.defineProperty(Re,"getContentApiStorageTarballPath",{enumerable:true,get:function(){return cG.getContentApiStorageTarballPath}});var xCt=e9e();Object.defineProperty(Re,"DevApiService",{enumerable:true,get:function(){return xCt.DevApiService}});var CCt=n9e();Object.defineProperty(Re,"TenantService",{enumerable:true,get:function(){return CCt.TenantService}});jp(i9e(),Re);jp(s9e(),Re);jp(l9e(),Re);jp(f9e(),Re);var RCt=vT();Object.defineProperty(Re,"JsonValidator",{enumerable:true,get:function(){return RCt.JsonValidator}});var NCt=DM();Object.defineProperty(Re,"RouteValidator",{enumerable:true,get:function(){return NCt.RouteValidator}});Re.xfs=aA(y9e())});var cE=_(sy=>{"use strict";Object.defineProperty(sy,"__esModule",{value:true});sy.runPlugins=sy.PluginResult=void 0;var dG=class{static{o(this,"PluginResult")}errors=[];warnings=[];constructor(e){if(e){this.errors.push(e)}}};sy.PluginResult=dG;async function OCt(t,e){const r=[];const n=[];const i=new Map;for await(const s of t){try{const a=await s(e,i);n.push(...a.errors.map(u=>{if(u.pluginName===""){u.pluginName=s.name}return u}));r.push(...a.warnings);if(a.errors.length>0){break}}catch(a){n.push(a);break}}return{errors:n,warnings:r}}o(OCt,"runPlugins");sy.runPlugins=OCt});var S9e=_((tar,w9e)=>{"use strict";function ICt(t){return t>=55296&&t<=56319}o(ICt,"isHighSurrogate");function PCt(t){return t>=56320&&t<=57343}o(PCt,"isLowSurrogate");w9e.exports=o(function t(e,r,n){if(typeof r!=="string"){throw new Error("Input must be string")}var i=r.length;var s=0;var a;var u;for(var l=0;l<i;l+=1){a=r.charCodeAt(l);u=r[l];if(ICt(a)&&PCt(r.charCodeAt(l+1))){l+=1;u+=r[l]}s+=e(u);if(s===n){return r.slice(0,l+1)}else if(s>n){return r.slice(0,l-u.length+1)}}return r},"truncate")});var A9e=_((nar,T9e)=>{"use strict";var DCt=S9e();var kCt=Buffer.byteLength.bind(Buffer);T9e.exports=DCt.bind(null,kCt)});var x9e=_(ay=>{"use strict";var $Ct=ay&&ay.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(ay,"__esModule",{value:true});ay.sanitize=void 0;var LCt=$Ct(A9e());var qCt=/[/?<>\\:*|"]/g;var jCt=/[\x00-\x1f\x80-\x9f]/g;var UCt=/^\.+$/;var BCt=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i;var FCt=/[. ]+$/;function MCt(t,e=""){if(typeof t!=="string"){throw new Error("Input must be string")}const r=t.replace(qCt,e).replace(jCt,e).replace(UCt,e).replace(BCt,e).replace(FCt,e);return(0,LCt.default)(r,255)}o(MCt,"sanitize");ay.sanitize=MCt});var wl=_(ke=>{"use strict";Object.defineProperty(ke,"__esModule",{value:true});ke.NODE_BUILD_OPEN_API_OUTPUT_FILE=ke.NODE_BUILD_OUTPUT_FILE=ke.NODE_ENTRY_NAME=ke.WORKER_BUILD_OUTPUT_SOURCEMAP_FILE=ke.WORKER_BUILD_OUTPUT_FILE=ke.WORKER_ENTRY_NAME=ke.ENV_MODULE_FILE=ke.ZUPLO_SYSTEM_ENV_FILE=ke.ENV_FILE=ke.CACHE_DIRECTORY=ke.BUILD_CACHE_FILE=ke.ZUPLO_FILE_SCHEMA=ke.NON_STANDARD_NODE_ENV=ke.GENERATED_TYPES_DIR_NAME=ke.GENERATED_BUILD_JSON_FILE=ke.GENERATED_SOURCE_DIR_NAME=ke.BUILD_OUTPUT_DIR=ke.DEFAULT_TEST_FILE=ke.DEFAULT_DOCS_MARKDOWN_FILE=ke.DOCS_THEME_FILE=ke.DOCS_SIDEBAR_FILE=ke.ZUPLO_FALLBACK_JSON_FILE=ke.ZUPLO_PREFERRED_JSON_FILE=ke.DEFAULT_MODULE_FILE=ke.OPEN_API_FILE_SUFFIX=ke.OPEN_API_CONFIG_FILE=ke.OPEN_API_UNVERSIONED_DIR_NAME=ke.DEV_PORTAL_OUTPUT_DIR_NAME=ke.DEV_PORTAL_CONFIG_FILE=ke.POLICIES_CONFIG_FILE=ke.ROUTES_OAS_CONFIG_FILE=ke.LOCAL_API_KEYS_CONFIG_FILE=ke.DEV_PORTAL_V4_PATH=ke.USER_DOCS_DIR_NAME=ke.USER_SCHEMAS_DIR_NAME=ke.USER_CONFIG_DIR_NAME=ke.USER_TEST_DIR_NAME=ke.USER_MODULES_DIR_NAME=void 0;ke.USER_MODULES_DIR_NAME="modules";ke.USER_TEST_DIR_NAME="tests";ke.USER_CONFIG_DIR_NAME="config";ke.USER_SCHEMAS_DIR_NAME="schemas";ke.USER_DOCS_DIR_NAME="docs";ke.DEV_PORTAL_V4_PATH="v4";ke.LOCAL_API_KEYS_CONFIG_FILE="api-keys.json";ke.ROUTES_OAS_CONFIG_FILE="routes.oas.json";ke.POLICIES_CONFIG_FILE="policies.json";ke.DEV_PORTAL_CONFIG_FILE="dev-portal.json";ke.DEV_PORTAL_OUTPUT_DIR_NAME="dev-portal";ke.OPEN_API_UNVERSIONED_DIR_NAME="unversioned";ke.OPEN_API_CONFIG_FILE="open-api.json";ke.OPEN_API_FILE_SUFFIX=".oas.json";ke.DEFAULT_MODULE_FILE="hello-world.ts";ke.ZUPLO_PREFERRED_JSON_FILE="zuplo.jsonc";ke.ZUPLO_FALLBACK_JSON_FILE="zuplo.json";ke.DOCS_SIDEBAR_FILE="sidebar.json";ke.DOCS_THEME_FILE="theme.css";ke.DEFAULT_DOCS_MARKDOWN_FILE="index.md";ke.DEFAULT_TEST_FILE="hello-world.json";ke.BUILD_OUTPUT_DIR="dist";ke.GENERATED_SOURCE_DIR_NAME=".zuplo";ke.GENERATED_BUILD_JSON_FILE="build.json";ke.GENERATED_TYPES_DIR_NAME="types";ke.NON_STANDARD_NODE_ENV=`You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against.`;ke.ZUPLO_FILE_SCHEMA="zuplo";ke.BUILD_CACHE_FILE="buildstate.json";ke.CACHE_DIRECTORY=".cache";ke.ENV_FILE=".env";ke.ZUPLO_SYSTEM_ENV_FILE=".env.zuplo";ke.ENV_MODULE_FILE="environment.ts";ke.WORKER_ENTRY_NAME="worker.ts";ke.WORKER_BUILD_OUTPUT_FILE="worker.js";ke.WORKER_BUILD_OUTPUT_SOURCEMAP_FILE="worker.js.map";ke.NODE_ENTRY_NAME="server.ts";ke.NODE_BUILD_OUTPUT_FILE="main.js";ke.NODE_BUILD_OPEN_API_OUTPUT_FILE=ke.OPEN_API_CONFIG_FILE});var O9e=_(oy=>{"use strict";var N9e=oy&&oy.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(oy,"__esModule",{value:true});oy.createProjectDirs=void 0;var C9e=N9e(require("fs/promises"));var VCt=N9e(require("path"));var dE=wl();var R9e=cE();var HCt=o(async function({sourceDirectory:t,logger:e}){e.debug("Creating project directories");const r=[dE.USER_MODULES_DIR_NAME,dE.USER_CONFIG_DIR_NAME,dE.USER_TEST_DIR_NAME,dE.USER_SCHEMAS_DIR_NAME,dE.USER_DOCS_DIR_NAME,".vscode"];try{await C9e.default.mkdir(t);for(const n of r){await C9e.default.mkdir(VCt.default.join(t,n),{recursive:true})}}catch(n){e.error(n);return new R9e.PluginResult({message:`Cannot create project directory tree at ${t}`,pluginName:"create-project-dirs",severity:"error"})}return new R9e.PluginResult},"createProjectDirs");oy.createProjectDirs=HCt});var I9e=_(fG=>{"use strict";Object.defineProperty(fG,"__esModule",{value:true});var oA=require("perf_hooks");var pG=[];async function GCt(t,e){const r=oA.performance.timerify(e);const n=new oA.PerformanceObserver(i=>{const s=i.getEntries()[0];pG.push({name:t,duration:s.duration});n.disconnect()});n.observe({entryTypes:["function"]});return r()}o(GCt,"timeFn");var zCt={mark:t=>{oA.performance.mark(t)},measure:(t,e,r)=>{oA.performance.measure(t,e,r)},timeFn:GCt,report:()=>{if(pG.length>0){console.table(pG)}}};fG.default=zCt});var $9e=_(uy=>{"use strict";var k9e=uy&&uy.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(uy,"__esModule",{value:true});uy.generateFromTemplate=void 0;var KCt=require("fs");var P9e=k9e(require("fs/promises"));var D9e=k9e(require("path"));async function YCt(t){const e=D9e.default.resolve(__dirname,"..","templates",t);if((0,KCt.existsSync)(e)){const r=await P9e.default.readFile(e,"utf-8");return r}else{const r=D9e.default.resolve(__dirname,"templates",t);const n=await P9e.default.readFile(r,"utf-8");return n}}o(YCt,"generateFromTemplate");uy.generateFromTemplate=YCt});var la=_(ly=>{"use strict";var hG=ly&&ly.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(ly,"__esModule",{value:true});ly.generateFileFromTemplate=void 0;var WCt=tg();var JCt=hG(require("fs/promises"));var QCt=hG(require("path"));var XCt=hG(I9e());var ZCt=$9e();var eRt=o(function(t,e){return async({sourceDirectory:r,logger:n})=>{return XCt.default.timeFn(`Generating ${t}`,async()=>{n.debug(`Generating ${t}`);const i=QCt.default.join(r,t);if(await WCt.xfs.fileExists(i)){n.debug({sourceDirectory:r},`${t} already exists, skipping`);return{warnings:[],errors:[]}}return tRt(i,e,n)})}},"generateFileFromTemplate");ly.generateFileFromTemplate=eRt;async function tRt(t,e,r){const n=await(0,ZCt.generateFromTemplate)(e);try{await JCt.default.writeFile(t,n,"utf-8");r.debug(`File written to ${t}`)}catch(i){r.error(i);const s={message:`Error creating file at ${t}`,pluginName:"generate-file",severity:"error"};return{warnings:[],errors:[s]}}return{warnings:[],errors:[]}}o(tRt,"writeTemplate")});var q9e=_(cy=>{"use strict";var rRt=cy&&cy.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(cy,"__esModule",{value:true});cy.generateDefaultDocsMarkdown=void 0;var nRt=rRt(require("path"));var L9e=wl();var iRt=la();cy.generateDefaultDocsMarkdown=(0,iRt.generateFileFromTemplate)(nRt.default.join(L9e.USER_DOCS_DIR_NAME,L9e.DEFAULT_DOCS_MARKDOWN_FILE),"markdown.template.md")});var U9e=_(dy=>{"use strict";var sRt=dy&&dy.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(dy,"__esModule",{value:true});dy.generateDefaultDocsSidebar=void 0;var aRt=sRt(require("path"));var j9e=wl();var oRt=la();dy.generateDefaultDocsSidebar=(0,oRt.generateFileFromTemplate)(aRt.default.join(j9e.USER_DOCS_DIR_NAME,j9e.DOCS_SIDEBAR_FILE),"sidebar.template.json")});var F9e=_(py=>{"use strict";var uRt=py&&py.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(py,"__esModule",{value:true});py.generateDefaultDocsTheme=void 0;var lRt=uRt(require("path"));var B9e=wl();var cRt=la();py.generateDefaultDocsTheme=(0,cRt.generateFileFromTemplate)(lRt.default.join(B9e.USER_DOCS_DIR_NAME,B9e.DOCS_THEME_FILE),"dev-portal.theme.template.css")});var V9e=_(fy=>{"use strict";var dRt=fy&&fy.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(fy,"__esModule",{value:true});fy.generateDefaultModule=void 0;var pRt=dRt(require("path"));var M9e=wl();var fRt=la();fy.generateDefaultModule=(0,fRt.generateFileFromTemplate)(pRt.default.join(M9e.USER_MODULES_DIR_NAME,M9e.DEFAULT_MODULE_FILE),"hello-world.template.ts")});var G9e=_(hy=>{"use strict";var hRt=hy&&hy.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(hy,"__esModule",{value:true});hy.generateDevPortalConfigJson=void 0;var mRt=hRt(require("path"));var H9e=wl();var gRt=la();hy.generateDevPortalConfigJson=(0,gRt.generateFileFromTemplate)(mRt.default.join(H9e.USER_CONFIG_DIR_NAME,H9e.DEV_PORTAL_CONFIG_FILE),"dev-portal.template.json")});var z9e=_(uA=>{"use strict";Object.defineProperty(uA,"__esModule",{value:true});uA.generateEnvironment=void 0;var yRt=la();uA.generateEnvironment=(0,yRt.generateFileFromTemplate)(".env","env.template")});var K9e=_(lA=>{"use strict";Object.defineProperty(lA,"__esModule",{value:true});lA.generateESLint=void 0;var vRt=la();lA.generateESLint=(0,vRt.generateFileFromTemplate)(".eslintrc.js","eslintrc.template.js")});var Y9e=_(cA=>{"use strict";Object.defineProperty(cA,"__esModule",{value:true});cA.generateGitignore=void 0;var _Rt=la();cA.generateGitignore=(0,_Rt.generateFileFromTemplate)(".gitignore","gitignore.template.ignore")});var W9e=_(my=>{"use strict";var ERt=my&&my.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(my,"__esModule",{value:true});my.generateLaunchJson=void 0;var bRt=ERt(require("path"));var wRt=la();my.generateLaunchJson=(0,wRt.generateFileFromTemplate)(bRt.default.join(".vscode","launch.json"),"launch.template.jsonc")});var J9e=_(gy=>{"use strict";var SRt=gy&&gy.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(gy,"__esModule",{value:true});gy.generateSettingsJson=void 0;var TRt=SRt(require("path"));var ARt=la();gy.generateSettingsJson=(0,ARt.generateFileFromTemplate)(TRt.default.join(".vscode","settings.json"),"settings.template.jsonc")});var X9e=_(yy=>{"use strict";var xRt=yy&&yy.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(yy,"__esModule",{value:true});yy.generateRouteOasConfig=void 0;var CRt=xRt(require("path"));var Q9e=wl();var RRt=la();yy.generateRouteOasConfig=(0,RRt.generateFileFromTemplate)(CRt.default.join(Q9e.USER_CONFIG_DIR_NAME,Q9e.ROUTES_OAS_CONFIG_FILE),"routes.oas.template.json")});var rwe=_(So=>{"use strict";var Z9e=So&&So.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(So,"__esModule",{value:true});So.updateProjectPackageJson=So.getProjectPackageJson=So.getPackageOverrides=So.generateDefaultPackageJson=void 0;var NRt=tg();var ewe=Z9e(require("fs/promises"));var mG=Z9e(require("path"));async function ORt(t,e=NRt.env.USE_MONOREPO_PACKAGES){const r={name:t,version:"1.0.0",author:"",copyright:"",scripts:{dev:"zup dev",test:"zup test"},dependencies:{zuplo:"latest"}};if(e){const n=twe();r.overrides=n;r.dependencies["@zuplo/runtime"]=n["@zuplo/runtime"];if(r.devDependencies&&"@zuplo/core"in r.devDependencies){r.devDependencies["@zuplo/core"]=n["@zuplo/core"]}if("@zuplo/core"in r.dependencies){r.dependencies["@zuplo/core"]=n["@zuplo/core"]}}return r}o(ORt,"generateDefaultPackageJson");So.generateDefaultPackageJson=ORt;function twe(){const t=mG.default.resolve(__dirname,"..","..");return{"@zuplo/core":`file:${t}/core`,"@zuplo/runtime":`file:${t}/runtime`,"@zuplo/debug":`file:${t}/debug`,"@zuplo/errors":`file:${t}/errors`}}o(twe,"getPackageOverrides");So.getPackageOverrides=twe;async function IRt(t){const e=mG.default.join(t,"package.json");const r=await ewe.default.readFile(e,"utf-8");const n=JSON.parse(r);return n}o(IRt,"getProjectPackageJson");So.getProjectPackageJson=IRt;async function PRt(t,e){const r=mG.default.join(t,"package.json");const n=JSON.stringify(e,void 0,2);await ewe.default.writeFile(r,n,"utf-8")}o(PRt,"updateProjectPackageJson");So.updateProjectPackageJson=PRt});var swe=_(dA=>{"use strict";Object.defineProperty(dA,"__esModule",{value:true});dA.generatePackageJson=void 0;var nwe=rwe();var iwe=cE();var DRt=o(async function({sourceDirectory:t,name:e,logger:r}){const n=await(0,nwe.generateDefaultPackageJson)(e);try{await(0,nwe.updateProjectPackageJson)(t,n)}catch(i){r.error(i);return new iwe.PluginResult({message:"Error creating package.json",pluginName:"generate-package-json",severity:"error"})}return new iwe.PluginResult},"generatePackageJson");dA.generatePackageJson=DRt});var owe=_(vy=>{"use strict";var kRt=vy&&vy.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(vy,"__esModule",{value:true});vy.generatePoliciesConfig=void 0;var $Rt=kRt(require("path"));var awe=wl();var LRt=la();vy.generatePoliciesConfig=(0,LRt.generateFileFromTemplate)($Rt.default.join(awe.USER_CONFIG_DIR_NAME,awe.POLICIES_CONFIG_FILE),"policies.template.json")});var uwe=_(pA=>{"use strict";Object.defineProperty(pA,"__esModule",{value:true});pA.generateTSConfig=void 0;var qRt=la();pA.generateTSConfig=(0,qRt.generateFileFromTemplate)("tsconfig.json","tsconfig.template.json")});var lwe=_(fA=>{"use strict";Object.defineProperty(fA,"__esModule",{value:true});fA.VALID_COMPATIBILITY_DATES=void 0;fA.VALID_COMPATIBILITY_DATES=Object.freeze(["2023-03-14"])});var cwe=_(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:true});To.sanitizedIdentifierName=To.getIdForRefSchema=To.getIdForRequestBodySchema=To.getIdForParameterSchema=To.getRawOperationDataIdentifierName=void 0;function jRt(t,e,r){return`_${Zh(t+"_"+e+"_"+r)}`}o(jRt,"getRawOperationDataIdentifierName");To.getRawOperationDataIdentifierName=jRt;function URt(t,e,r,n){return`_${Zh(t.toLowerCase())}_`+e.toLowerCase()+"_"+r.toLowerCase()+`_${n.toLowerCase()}`}o(URt,"getIdForParameterSchema");To.getIdForParameterSchema=URt;function BRt(t,e,r){return`_${Zh(t.toLowerCase())}_`+e.toLowerCase()+`_rb_${Zh(r.toLowerCase())}`}o(BRt,"getIdForRequestBodySchema");To.getIdForRequestBodySchema=BRt;function FRt(t,e){return`_${Zh(t)}__${Zh(e)}`}o(FRt,"getIdForRefSchema");To.getIdForRefSchema=FRt;function Zh(t){const e=[];for(let r=0;r<t.length;r++){const n=t.charCodeAt(r);if(n>="0".charCodeAt(0)&&n<="9".charCodeAt(0)||n>="A".charCodeAt(0)&&n<="Z".charCodeAt(0)||n>="a".charCodeAt(0)&&n<="z".charCodeAt(0)){e.push(t.charAt(r))}else{e.push("_")}}return e.join("")}o(Zh,"sanitizedIdentifierName");To.sanitizedIdentifierName=Zh});var dwe=_(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:true});ca.sanitizedIdentifierName=ca.getRawOperationDataIdentifierName=ca.getIdForRequestBodySchema=ca.getIdForRefSchema=ca.getIdForParameterSchema=ca.VALID_COMPATIBILITY_DATES=void 0;var MRt=lwe();Object.defineProperty(ca,"VALID_COMPATIBILITY_DATES",{enumerable:true,get:function(){return MRt.VALID_COMPATIBILITY_DATES}});var pE=cwe();Object.defineProperty(ca,"getIdForParameterSchema",{enumerable:true,get:function(){return pE.getIdForParameterSchema}});Object.defineProperty(ca,"getIdForRefSchema",{enumerable:true,get:function(){return pE.getIdForRefSchema}});Object.defineProperty(ca,"getIdForRequestBodySchema",{enumerable:true,get:function(){return pE.getIdForRequestBodySchema}});Object.defineProperty(ca,"getRawOperationDataIdentifierName",{enumerable:true,get:function(){return pE.getRawOperationDataIdentifierName}});Object.defineProperty(ca,"sanitizedIdentifierName",{enumerable:true,get:function(){return pE.sanitizedIdentifierName}})});var fwe=_((qar,pwe)=>{"use strict";pwe.exports=dwe()});var gwe=_(_y=>{"use strict";var VRt=_y&&_y.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(_y,"__esModule",{value:true});_y.generateZuploJson=void 0;var hwe=fwe();var HRt=require("fs/promises");var GRt=VRt(require("path"));var zRt=wl();var mwe=cE();var KRt=o(async function({name:t,sourceDirectory:e,logger:r}){const n={version:1,project:t,compatibilityDate:hwe.VALID_COMPATIBILITY_DATES[hwe.VALID_COMPATIBILITY_DATES.length-1]};const i=GRt.default.join(e,zRt.ZUPLO_PREFERRED_JSON_FILE);const s=JSON.stringify(n,null,2);try{await(0,HRt.writeFile)(i,s,"utf-8")}catch(a){r.error(a);return new mwe.PluginResult({message:"Error creating zuplo.jsonc",pluginName:"generate-zuplo-json",severity:"error"})}return new mwe.PluginResult},"generateZuploJson");_y.generateZuploJson=KRt});var vwe=_(Ey=>{"use strict";var YRt=Ey&&Ey.__importDefault||function(t){return t&&t.__esModule?t:{"default":t}};Object.defineProperty(Ey,"__esModule",{value:true});Ey.create=void 0;var gG=tg();var WRt=require("fs/promises");var JRt=YRt(require("path"));var QRt=cE();var ywe=x9e();var XRt=O9e();var ZRt=q9e();var eNt=U9e();var tNt=F9e();var rNt=V9e();var nNt=G9e();var iNt=z9e();var sNt=K9e();var aNt=Y9e();var oNt=W9e();var uNt=J9e();var lNt=X9e();var cNt=swe();var dNt=owe();var pNt=uwe();var fNt=gwe();async function hNt({name:t,accountName:e="",rootDirectory:r,logger:n}){const i=(0,ywe.sanitize)(t);const s=(0,ywe.sanitize)(e);const a=JRt.default.join(r,s,i);const u={name:t,sourceDirectory:a,logger:n};const l=[];if(await gG.xfs.dirExists(a)){throw new gG.ApiError({type:"https://zup.fail/project-already-exists-at-directory",title:"The project already exists in the specified directory",status:gG.HttpStatusCode.BAD_REQUEST,detail:`Project already exists at ${a}`})}l.push(...[XRt.createProjectDirs,lNt.generateRouteOasConfig,fNt.generateZuploJson,nNt.generateDevPortalConfigJson,rNt.generateDefaultModule,eNt.generateDefaultDocsSidebar,ZRt.generateDefaultDocsMarkdown,tNt.generateDefaultDocsTheme,dNt.generatePoliciesConfig]);l.push(...[pNt.generateTSConfig,aNt.generateGitignore,cNt.generatePackageJson,iNt.generateEnvironment,sNt.generateESLint,oNt.generateLaunchJson,uNt.generateSettingsJson]);const{errors:c,warnings:d}=await(0,QRt.runPlugins)(l,u);if(d.length>0){d.forEach(f=>{n.warn(f)})}if(c.length>0){await(0,WRt.rm)(a,{recursive:true,force:true});const f=c[0];if(f instanceof Error){throw f}else{throw new Error(f.message)}}const p={sourceDirectory:a,projectName:t};return p}o(hNt,"create");Ey.create=hNt});Object.defineProperty(exports,"__esModule",{value:true});exports.create=void 0;var mNt=vwe();Object.defineProperty(exports,"create",{enumerable:true,get:function(){return mNt.create}});
411
411
  /*! For license information please see create.index.minified.js.LEGAL.txt */